@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,21 +1,21 @@
1
- import { jsx as e, jsxs as c, Fragment as S } from "react/jsx-runtime";
1
+ import { jsx as e, jsxs as d, Fragment as S } from "react/jsx-runtime";
2
2
  import { forwardRef as te, useState as I, useCallback as V, useLayoutEffect as ae, useEffect as R, useRef as B } from "react";
3
3
  import * as f from "@radix-ui/react-popover";
4
4
  import { c as y } from "./index-D2ZczOXr.js";
5
5
  import { useTranslation as E } from "react-i18next";
6
- import { I as ie } from "./icon-button-C1vpylg3.js";
7
- import { B as L } from "./button-CXL8bA8G.js";
8
- import { S as P } from "./separator-DExI4amU.js";
9
- import { S as u } from "./skeleton-vbTWUntB.js";
10
- import { N as ne } from "./notification-card-CQxJporb.js";
11
- import { c as oe } from "./createLucideIcon-CrFbzy84.js";
6
+ import { I as se } from "./icon-button-C482ii4y.js";
7
+ import { B as L } from "./button-DmiGFnNA.js";
8
+ import { S as P } from "./separator-BRQHi8s0.js";
9
+ import { S as u } from "./skeleton-ClO1v5GE.js";
10
+ import { N as ie } from "./notification-card-BZ33fq8H.js";
11
+ import { c as ne } from "./createLucideIcon-CrFbzy84.js";
12
12
  /**
13
13
  * @license lucide-react v1.8.0 - ISC
14
14
  *
15
15
  * This source code is licensed under the ISC license.
16
16
  * See the LICENSE file in the root directory of this source tree.
17
17
  */
18
- const re = [
18
+ const oe = [
19
19
  ["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }],
20
20
  [
21
21
  "path",
@@ -24,7 +24,7 @@ const re = [
24
24
  key: "11g9vi"
25
25
  }
26
26
  ]
27
- ], A = oe("bell", re), se = y("relative inline-flex items-center", {
27
+ ], A = ne("bell", oe), re = y("ds:relative ds:inline-flex ds:items-center", {
28
28
  variants: {
29
29
  size: {
30
30
  sm: "",
@@ -34,71 +34,71 @@ const re = [
34
34
  defaultVariants: {
35
35
  size: "md"
36
36
  }
37
- }), ce = y(
37
+ }), de = y(
38
38
  [
39
- "flex flex-col",
40
- "bg-[var(--popover)] text-[var(--popover-foreground)]",
41
- "border border-[color:var(--border)]",
42
- "rounded-[var(--radius-md)]",
43
- "shadow-[var(--shadow-lg)]",
44
- "z-[var(--z-popover)]",
39
+ "ds:flex ds:flex-col",
40
+ "ds:bg-[var(--popover)] ds:text-[var(--popover-foreground)]",
41
+ "ds:border ds:border-[color:var(--border)]",
42
+ "ds:rounded-[var(--radius-md)]",
43
+ "ds:shadow-[var(--shadow-lg)]",
44
+ "ds:z-[var(--z-popover)]",
45
45
  // Width: fluid below the design cap so narrow viewports keep a visible
46
46
  // gutter on *both* sides of the panel (shadow included). The legacy
47
47
  // `min-w` approach clamped at 20rem, which flush-mounted the panel
48
48
  // against the inline-start viewport edge on phones.
49
- "w-[min(24rem,calc(100vw-2*var(--spacing-md)))]",
49
+ "ds:w-[min(24rem,calc(100vw-2*var(--spacing-md)))]",
50
50
  // Height: below the `sm` breakpoint the panel takes a near-full-screen
51
51
  // sheet shape so the user gets room to triage messages / notifications
52
52
  // without scrolling a tiny popover. `6rem` reserves space for the
53
53
  // Header (≈4rem) plus the sideOffset + collisionPadding (≈2rem).
54
54
  // Above `sm` it returns to `h-auto` so the list's own
55
55
  // `--*-tray-max-block-size` cap governs the height.
56
- "h-[calc(100dvh-6rem)] sm:h-auto",
57
- "data-[state=open]:animate-in data-[state=closed]:animate-out",
58
- "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
59
- "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
60
- "motion-reduce:transition-none motion-reduce:animate-none",
61
- "focus-visible:outline-none",
62
- "forced-colors:border-[CanvasText]"
56
+ "ds:h-[calc(100dvh-6rem)] ds:sm:h-auto",
57
+ "ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out",
58
+ "ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0",
59
+ "ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95",
60
+ "ds:motion-reduce:transition-none ds:motion-reduce:animate-none",
61
+ "ds:focus-visible:outline-none",
62
+ "ds:forced-colors:border-[CanvasText]"
63
63
  ].join(" "),
64
64
  {
65
65
  variants: {
66
66
  size: {
67
- sm: "p-[var(--spacing-xs)]",
68
- md: "p-[var(--spacing-sm)]"
67
+ sm: "ds:p-[var(--spacing-xs)]",
68
+ md: "ds:p-[var(--spacing-sm)]"
69
69
  }
70
70
  },
71
71
  defaultVariants: {
72
72
  size: "md"
73
73
  }
74
74
  }
75
- ), le = y(
75
+ ), ce = y(
76
76
  [
77
77
  // Anchored to the top-end corner of the trigger, nudged outward so
78
78
  // the bell icon isn't covered.
79
- "absolute -top-[var(--spacing-xs)] -end-[var(--spacing-xs)]",
80
- "inline-flex items-center justify-center",
79
+ "ds:absolute ds:-top-[var(--spacing-xs)] ds:-end-[var(--spacing-xs)]",
80
+ "ds:inline-flex ds:items-center ds:justify-center",
81
81
  // Circle at 1-2 digits; widens into a pill only for "99+".
82
- "min-w-[calc(var(--spacing-md)+var(--spacing-xs))] h-[calc(var(--spacing-md)+var(--spacing-xs))] ps-[calc(var(--spacing-xs)/1.5)] pe-[calc(var(--spacing-xs)/1.5)]",
83
- "rounded-[var(--radius-full)]",
84
- "bg-[color:var(--destructive)] text-[color:var(--destructive-foreground)]",
85
- "text-[length:var(--font-size-xs)] font-semibold leading-none",
86
- "pointer-events-none select-none",
87
- "forced-colors:outline forced-colors:outline-1 forced-colors:outline-[CanvasText]"
82
+ "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)]",
83
+ "ds:rounded-[var(--radius-full)]",
84
+ "ds:bg-[color:var(--destructive)] ds:text-[color:var(--destructive-foreground)]",
85
+ "ds:text-[length:var(--font-size-xs)] ds:font-semibold ds:leading-none",
86
+ "ds:pointer-events-none ds:select-none",
87
+ "ds:forced-colors:outline ds:forced-colors:outline-1 ds:forced-colors:outline-[CanvasText]"
88
88
  ].join(" ")
89
89
  );
90
- function de(a, p) {
90
+ function le(a, p) {
91
91
  return a > 99 ? p : String(a);
92
92
  }
93
93
  function h() {
94
- return /* @__PURE__ */ c(
94
+ return /* @__PURE__ */ d(
95
95
  "div",
96
96
  {
97
97
  "aria-hidden": "true",
98
- className: "flex items-start gap-[var(--spacing-sm)] p-[var(--spacing-sm)]",
98
+ className: "ds:flex ds:items-start ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-sm)]",
99
99
  children: [
100
100
  /* @__PURE__ */ e(u, { variant: "circular", size: "sm" }),
101
- /* @__PURE__ */ c("div", { className: "flex-1 flex flex-col gap-[var(--spacing-xs)]", children: [
101
+ /* @__PURE__ */ d("div", { className: "ds:flex-1 ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
102
102
  /* @__PURE__ */ e(u, { variant: "text", size: "md", width: "70%" }),
103
103
  /* @__PURE__ */ e(u, { variant: "text", size: "sm", width: "90%" }),
104
104
  /* @__PURE__ */ e(u, { variant: "text", size: "sm", width: "30%" })
@@ -109,23 +109,23 @@ function h() {
109
109
  }
110
110
  function me() {
111
111
  const { t: a } = E();
112
- return /* @__PURE__ */ c(
112
+ return /* @__PURE__ */ d(
113
113
  "div",
114
114
  {
115
115
  role: "status",
116
116
  "aria-live": "polite",
117
- className: "flex flex-col items-center justify-center gap-[var(--spacing-xs)] p-[var(--spacing-lg)] text-center",
117
+ 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",
118
118
  children: [
119
119
  /* @__PURE__ */ e(
120
120
  "span",
121
121
  {
122
122
  "aria-hidden": "true",
123
- className: "inline-flex items-center justify-center size-10 rounded-[var(--radius-full)] bg-[color:var(--muted)] text-[color:var(--muted-foreground)] [&>svg]:size-5",
123
+ 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",
124
124
  children: /* @__PURE__ */ e(A, {})
125
125
  }
126
126
  ),
127
- /* @__PURE__ */ e("p", { className: "type-title-item text-[color:var(--foreground)]", children: a("ui.notificationTray.noNotifications", "No notifications") }),
128
- /* @__PURE__ */ e("p", { className: "type-meta text-[color:var(--muted-foreground)]", children: a(
127
+ /* @__PURE__ */ e("p", { className: "type-title-item ds:text-[color:var(--foreground)]", children: a("ui.notificationTray.noNotifications", "No notifications") }),
128
+ /* @__PURE__ */ e("p", { className: "type-meta ds:text-[color:var(--muted-foreground)]", children: a(
129
129
  "ui.notificationTray.noNotificationsDescription",
130
130
  "You're all caught up."
131
131
  ) })
@@ -138,7 +138,7 @@ const fe = te(
138
138
  items: a,
139
139
  unseenCount: p,
140
140
  open: N,
141
- onOpenChange: l,
141
+ onOpenChange: c,
142
142
  onItemClick: D,
143
143
  onDismiss: F,
144
144
  onMarkAllRead: b,
@@ -153,75 +153,75 @@ const fe = te(
153
153
  ...G
154
154
  }, H) => {
155
155
  var k;
156
- const { t: r } = E(), g = N !== void 0, [J, K] = I(!1), Q = g ? N : J, U = V(
156
+ const { t: o } = E(), g = N !== void 0, [J, K] = I(!1), Q = g ? N : J, U = V(
157
157
  (t) => {
158
- g || K(t), l == null || l(t);
158
+ g || K(t), c == null || c(t);
159
159
  },
160
- [g, l]
161
- ), [d, T] = I(
160
+ [g, c]
161
+ ), [l, T] = I(
162
162
  () => a.map((t) => ({ item: t, leaving: !1 }))
163
163
  ), z = V(() => {
164
164
  if (typeof window > "u") return 200;
165
165
  const t = window.getComputedStyle(document.documentElement).getPropertyValue("--animation-duration");
166
166
  if (!t) return 200;
167
- const n = t.trim(), i = parseFloat(n);
168
- return Number.isFinite(i) ? n.endsWith("ms") ? i : i * 1e3 : 200;
167
+ const i = t.trim(), s = parseFloat(i);
168
+ return Number.isFinite(s) ? i.endsWith("ms") ? s : s * 1e3 : 200;
169
169
  }, []);
170
170
  ae(() => {
171
171
  T((t) => {
172
- const n = new Set(a.map((o) => o.id)), i = new Set(t.map((o) => o.item.id)), s = t.map((o) => {
173
- if (n.has(o.item.id)) {
174
- const j = a.find((ee) => ee.id === o.item.id);
175
- return j ? { item: j, leaving: !1 } : { ...o, leaving: !0 };
172
+ const i = new Set(a.map((n) => n.id)), s = new Set(t.map((n) => n.item.id)), r = t.map((n) => {
173
+ if (i.has(n.item.id)) {
174
+ const j = a.find((ee) => ee.id === n.item.id);
175
+ return j ? { item: j, leaving: !1 } : { ...n, leaving: !0 };
176
176
  }
177
- return { ...o, leaving: !0 };
177
+ return { ...n, leaving: !0 };
178
178
  });
179
- for (const o of a)
180
- i.has(o.id) || s.push({ item: o, leaving: !1 });
181
- return s;
179
+ for (const n of a)
180
+ s.has(n.id) || r.push({ item: n, leaving: !1 });
181
+ return r;
182
182
  });
183
183
  }, [a]), R(() => {
184
- if (!d.some((i) => i.leaving)) return;
185
- const t = z(), n = setTimeout(() => {
186
- T((i) => i.filter((s) => !s.leaving));
184
+ if (!l.some((s) => s.leaving)) return;
185
+ const t = z(), i = setTimeout(() => {
186
+ T((s) => s.filter((r) => !r.leaving));
187
187
  }, t);
188
- return () => clearTimeout(n);
189
- }, [d, z]);
188
+ return () => clearTimeout(i);
189
+ }, [l, z]);
190
190
  const x = B(null), C = B((k = a[0]) == null ? void 0 : k.id);
191
191
  R(() => {
192
- var i;
193
- const t = (i = a[0]) == null ? void 0 : i.id, n = C.current;
194
- if (n && t && n !== t && x.current) {
195
- const s = a[0];
196
- s && !s.read && (x.current.textContent = r(
192
+ var s;
193
+ const t = (s = a[0]) == null ? void 0 : s.id, i = C.current;
194
+ if (i && t && i !== t && x.current) {
195
+ const r = a[0];
196
+ r && !r.read && (x.current.textContent = o(
197
197
  "ui.notificationTray.newNotification",
198
198
  {
199
- title: s.title,
199
+ title: r.title,
200
200
  defaultValue: "New notification: {{title}}"
201
201
  }
202
202
  ));
203
203
  }
204
204
  C.current = t;
205
- }, [a, r]);
206
- const m = p ?? 0, X = m > 0 ? r("ui.notificationTray.triggerLabel", {
205
+ }, [a, o]);
206
+ const m = p ?? 0, X = m > 0 ? o("ui.notificationTray.triggerLabel", {
207
207
  count: m,
208
208
  defaultValue: "Notifications, {{count}} unread"
209
- }) : r(
209
+ }) : o(
210
210
  "ui.notificationTray.triggerLabelNone",
211
211
  "Notifications, none unread"
212
- ), Z = de(
212
+ ), Z = le(
213
213
  m,
214
- r("ui.notificationTray.badgeCountOverflow", "99+")
215
- ), $ = ce({ size: v });
214
+ o("ui.notificationTray.badgeCountOverflow", "99+")
215
+ ), $ = de({ size: v });
216
216
  return /* @__PURE__ */ e(
217
217
  "div",
218
218
  {
219
219
  ref: H,
220
- className: [se({ size: v }), q].filter(Boolean).join(" "),
220
+ className: [re({ size: v }), q].filter(Boolean).join(" "),
221
221
  ...G,
222
- children: /* @__PURE__ */ c(f.Root, { open: Q, onOpenChange: U, children: [
222
+ children: /* @__PURE__ */ d(f.Root, { open: Q, onOpenChange: U, children: [
223
223
  /* @__PURE__ */ e(f.Trigger, { asChild: !0, children: /* @__PURE__ */ e(
224
- ie,
224
+ se,
225
225
  {
226
226
  icon: /* @__PURE__ */ e(A, {}),
227
227
  intent: "outline",
@@ -235,7 +235,7 @@ const fe = te(
235
235
  {
236
236
  "aria-hidden": "true",
237
237
  "data-testid": "notification-tray-badge",
238
- className: le(),
238
+ className: ce(),
239
239
  children: Z
240
240
  }
241
241
  ) : null,
@@ -245,30 +245,30 @@ const fe = te(
245
245
  ref: x,
246
246
  "aria-live": "polite",
247
247
  "aria-atomic": "true",
248
- className: "sr-only"
248
+ className: "ds:sr-only"
249
249
  }
250
250
  ),
251
- /* @__PURE__ */ e(f.Portal, { children: /* @__PURE__ */ c(
251
+ /* @__PURE__ */ e(f.Portal, { children: /* @__PURE__ */ d(
252
252
  f.Content,
253
253
  {
254
254
  role: "dialog",
255
- "aria-label": r("ui.notificationTray.panelTitle", "Notifications"),
255
+ "aria-label": o("ui.notificationTray.panelTitle", "Notifications"),
256
256
  side: Y,
257
257
  align: W,
258
258
  sideOffset: 8,
259
259
  collisionPadding: 16,
260
260
  className: $,
261
261
  children: [
262
- /* @__PURE__ */ c("div", { className: "flex items-center justify-between gap-[var(--spacing-sm)] ps-[var(--spacing-sm)] pe-[var(--spacing-sm)] pb-[var(--spacing-xs)]", children: [
263
- /* @__PURE__ */ e("h3", { className: "m-0 type-title-card text-[color:var(--foreground)]", children: r("ui.notificationTray.panelTitle", "Notifications") }),
262
+ /* @__PURE__ */ d("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: [
263
+ /* @__PURE__ */ e("h3", { className: "ds:m-0 type-title-card ds:text-[color:var(--foreground)]", children: o("ui.notificationTray.panelTitle", "Notifications") }),
264
264
  b && a.some((t) => !t.read) ? /* @__PURE__ */ e(
265
265
  L,
266
266
  {
267
267
  intent: "link",
268
268
  size: "sm",
269
269
  onClick: b,
270
- className: "text-[length:var(--font-size-xs)]",
271
- children: r("ui.notificationTray.markAllRead", "Mark all as read")
270
+ className: "ds:text-[length:var(--font-size-xs)]",
271
+ children: o("ui.notificationTray.markAllRead", "Mark all as read")
272
272
  }
273
273
  ) : null
274
274
  ] }),
@@ -278,17 +278,17 @@ const fe = te(
278
278
  {
279
279
  role: "list",
280
280
  "data-max-visible": O,
281
- className: "flex flex-col gap-[var(--spacing-xs)] overflow-y-auto pt-[var(--spacing-xs)] flex-1 sm:flex-none sm:[max-block-size:var(--notification-tray-max-block-size,24rem)]",
282
- children: M ? /* @__PURE__ */ c(S, { children: [
281
+ 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(--notification-tray-max-block-size,24rem)]",
282
+ children: M ? /* @__PURE__ */ d(S, { children: [
283
283
  /* @__PURE__ */ e(h, {}),
284
284
  /* @__PURE__ */ e(h, {}),
285
285
  /* @__PURE__ */ e(h, {})
286
- ] }) : d.length === 0 ? /* @__PURE__ */ e(me, {}) : d.map(({ item: t, leaving: n }) => /* @__PURE__ */ e(
287
- ne,
286
+ ] }) : l.length === 0 ? /* @__PURE__ */ e(me, {}) : l.map(({ item: t, leaving: i }) => /* @__PURE__ */ e(
287
+ ie,
288
288
  {
289
289
  item: t,
290
290
  variant: "compact",
291
- leaving: n,
291
+ leaving: i,
292
292
  onActivate: D,
293
293
  onDismiss: F
294
294
  },
@@ -296,15 +296,15 @@ const fe = te(
296
296
  ))
297
297
  }
298
298
  ),
299
- w ? /* @__PURE__ */ c(S, { children: [
299
+ w ? /* @__PURE__ */ d(S, { children: [
300
300
  /* @__PURE__ */ e(P, {}),
301
- /* @__PURE__ */ e("div", { className: "pt-[var(--spacing-xs)]", children: /* @__PURE__ */ e(
301
+ /* @__PURE__ */ e("div", { className: "ds:pt-[var(--spacing-xs)]", children: /* @__PURE__ */ e(
302
302
  L,
303
303
  {
304
304
  intent: "link",
305
305
  size: "sm",
306
306
  onClick: _,
307
- className: "w-full justify-center",
307
+ className: "ds:w-full ds:justify-center",
308
308
  children: w
309
309
  }
310
310
  ) })
@@ -321,4 +321,4 @@ fe.displayName = "NotificationTray";
321
321
  export {
322
322
  fe as N
323
323
  };
324
- //# sourceMappingURL=notification-tray-CNWPuPZp.js.map
324
+ //# sourceMappingURL=notification-tray-CnEd7B2q.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-tray-CnEd7B2q.js","sources":["../../node_modules/lucide-react/dist/esm/icons/bell.js","../../src/components/notification-tray/notification-tray.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M10.268 21a2 2 0 0 0 3.464 0\", key: \"vwvbt9\" }],\n [\n \"path\",\n {\n d: \"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326\",\n key: \"11g9vi\"\n }\n ]\n];\nconst Bell = createLucideIcon(\"bell\", __iconNode);\n\nexport { __iconNode, Bell as default };\n//# sourceMappingURL=bell.js.map\n","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 { Bell } 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 {\n NotificationCard,\n type NotificationItem,\n} from '../notification-card/notification-card';\n\n/* ------------------------------------------------------------------ */\n/* Types */\n/* ------------------------------------------------------------------ */\n\nexport interface NotificationTrayProps\n extends Omit<\n HTMLAttributes<HTMLDivElement>,\n 'onClick' | 'children' | 'role'\n >,\n VariantProps<typeof notificationTrayVariants> {\n /** Notifications rendered in the dropdown panel. */\n items: NotificationItem[];\n /** Number of unseen notifications. Drives the badge count. */\n unseenCount?: 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: NotificationItem) => void;\n /** Fires when the user dismisses a notification. */\n onDismiss?: (item: NotificationItem) => 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 /** Advisory item count before the list scrolls. Consumers override the cap\n * via the `--notification-tray-max-block-size` custom property. */\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 notificationTrayVariants = 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 of the panel (shadow included). The legacy\n // `min-w` approach clamped at 20rem, which flush-mounted the panel\n // against the inline-start viewport edge on phones.\n 'ds:w-[min(24rem,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 messages / notifications\n // without scrolling a tiny popover. `6rem` reserves space for the\n // Header (≈4rem) plus the sideOffset + collisionPadding (≈2rem).\n // Above `sm` it returns to `h-auto` so the list's own\n // `--*-tray-max-block-size` 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 // Anchored to the top-end corner of the trigger, nudged outward so\n // the bell icon isn't covered.\n 'ds:absolute ds:-top-[var(--spacing-xs)] ds:-end-[var(--spacing-xs)]',\n 'ds:inline-flex ds:items-center ds:justify-center',\n // Circle at 1-2 digits; widens into a pill only for \"99+\".\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=\"70%\" />\n <Skeleton variant=\"text\" size=\"sm\" width=\"90%\" />\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 <Bell />\n </span>\n <p className=\"type-title-item ds:text-[color:var(--foreground)]\">\n {t('ui.notificationTray.noNotifications', 'No notifications')}\n </p>\n <p className=\"type-meta ds:text-[color:var(--muted-foreground)]\">\n {t(\n 'ui.notificationTray.noNotificationsDescription',\n \"You're all caught up.\",\n )}\n </p>\n </div>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Root */\n/* ------------------------------------------------------------------ */\n\nexport const NotificationTray = forwardRef<HTMLDivElement, NotificationTrayProps>(\n (\n {\n items,\n unseenCount,\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 (AnimatePresence-style).\n * `displayed` holds an entry per card that's currently mounted, even\n * briefly after the consumer removes an item from `items`. When the\n * consumer drops an id from `items`, we flip that entry to\n * `leaving: true` for one animation cycle, then prune it. */\n type Displayed = { item: NotificationItem; 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` so the `leaving=true` flip applies in the same paint\n // as the consumer's `items` update. With `useEffect` the browser paints\n // once with the dismissed card still at `leaving=false` (no animation)\n // before the flag flips — a visible lag before the exit animation starts.\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 /* Polite live region — announces when a new unread notification\n floats to the top of the list, even with the panel closed. */\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.notificationTray.newNotification',\n {\n title: newest.title,\n defaultValue: 'New notification: {{title}}',\n },\n );\n }\n }\n lastTopIdRef.current = topId;\n }, [items, t]);\n\n const displayCount = unseenCount ?? 0;\n const triggerAriaLabel =\n displayCount > 0\n ? t('ui.notificationTray.triggerLabel', {\n count: displayCount,\n defaultValue: 'Notifications, {{count}} unread',\n })\n : t(\n 'ui.notificationTray.triggerLabelNone',\n 'Notifications, none unread',\n );\n\n const badgeLabel = formatBadgeCount(\n displayCount,\n t('ui.notificationTray.badgeCountOverflow', '99+'),\n );\n\n const panelClass = panelVariants({ size });\n\n return (\n <div\n ref={ref}\n className={[notificationTrayVariants({ 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={<Bell />}\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=\"notification-tray-badge\"\n className={badgeVariants()}\n >\n {badgeLabel}\n </span>\n ) : null}\n {/* Live region sits outside the popover so it announces even\n while the panel is closed. */}\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.notificationTray.panelTitle', 'Notifications')}\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.notificationTray.panelTitle', 'Notifications')}\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.notificationTray.markAllRead', 'Mark all as read')}\n </Button>\n ) : null}\n </div>\n <Separator />\n {/* Cap at ~24rem so ~5 items fit before the list scrolls.\n Consumers override via the --notification-tray-max-block-size\n custom property on the root element. */}\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 `--notification-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(--notification-tray-max-block-size,24rem)]\"\n >\n {loading ? (\n <>\n <SkeletonRow />\n <SkeletonRow />\n <SkeletonRow />\n </>\n ) : displayed.length === 0 ? (\n <EmptyPanel />\n ) : (\n displayed.map(({ item, leaving }) => (\n <NotificationCard\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\nNotificationTray.displayName = 'NotificationTray';\n"],"names":["__iconNode","Bell","createLucideIcon","notificationTrayVariants","cva","panelVariants","badgeVariants","formatBadgeCount","count","overflowLabel","SkeletonRow","jsxs","jsx","Skeleton","EmptyPanel","t","useTranslation","NotificationTray","forwardRef","items","unseenCount","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","NotificationCard"],"mappings":";;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,gCAAgC,KAAK,SAAQ,CAAE;AAAA,EAC7D;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IACX;AAAA,EACA;AACA,GACMC,IAAOC,GAAiB,QAAQF,EAAU,GC8C1CG,KAA2BC,EAAI,8CAA8C;AAAA,EACjF,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA;AAAA,EACN;AAAA,EAEF,iBAAiB;AAAA,IACf,MAAM;AAAA,EAAA;AAEV,CAAC,GAEKC,KAAgBD;AAAA,EACpB;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AAAA,EACV;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB;AAAA,MACf,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ,GAEME,KAAgBF;AAAA,EACpB;AAAA;AAAA;AAAA,IAGE;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AACZ;AAMA,SAASG,GAAiBC,GAAeC,GAA+B;AACtE,SAAOD,IAAQ,KAAKC,IAAgB,OAAOD,CAAK;AAClD;AAEA,SAASE,IAAc;AACrB,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAY;AAAA,MACZ,WAAU;AAAA,MAEV,UAAA;AAAA,QAAA,gBAAAC,EAACC,GAAA,EAAS,SAAQ,YAAW,MAAK,MAAK;AAAA,QACvC,gBAAAF,EAAC,OAAA,EAAI,WAAU,4DACb,UAAA;AAAA,UAAA,gBAAAC,EAACC,KAAS,SAAQ,QAAO,MAAK,MAAK,OAAM,OAAM;AAAA,4BAC9CA,GAAA,EAAS,SAAQ,QAAO,MAAK,MAAK,OAAM,OAAM;AAAA,4BAC9CA,GAAA,EAAS,SAAQ,QAAO,MAAK,MAAK,OAAM,MAAA,CAAM;AAAA,QAAA,EAAA,CACjD;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,SAASC,KAAa;AACpB,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA;AACd,SACE,gBAAAL;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,aAAU;AAAA,MACV,WAAU;AAAA,MAEV,UAAA;AAAA,QAAA,gBAAAC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAY;AAAA,YACZ,WAAU;AAAA,YAEV,4BAACX,GAAA,CAAA,CAAK;AAAA,UAAA;AAAA,QAAA;AAAA,0BAEP,KAAA,EAAE,WAAU,qDACV,UAAAc,EAAE,uCAAuC,kBAAkB,GAC9D;AAAA,QACA,gBAAAH,EAAC,KAAA,EAAE,WAAU,qDACV,UAAAG;AAAA,UACC;AAAA,UACA;AAAA,QAAA,EACF,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AAMO,MAAME,KAAmBC;AAAA,EAC9B,CACE;AAAA,IACE,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,MAAAC,IAAO;AAAA,IACP,MAAAC,IAAO;AAAA,IACP,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;;AACH,UAAM,EAAE,GAAApB,EAAA,IAAMC,EAAA,GAERoB,IAAef,MAAS,QACxB,CAACgB,GAAcC,CAAe,IAAIC,EAAS,EAAK,GAChDC,IAASJ,IAAef,IAAOgB,GAE/BI,IAAmBC;AAAA,MACvB,CAACC,MAAkB;AACjB,QAAKP,KAAcE,EAAgBK,CAAI,GACvCrB,KAAA,QAAAA,EAAeqB;AAAA,MACjB;AAAA,MACA,CAACP,GAAcd,CAAY;AAAA,IAAA,GASvB,CAACsB,GAAWC,CAAY,IAAIN;AAAA,MAAsB,MACtDpB,EAAM,IAAI,CAAC2B,OAAU,EAAE,MAAAA,GAAM,SAAS,KAAQ;AAAA,IAAA,GAG1CC,IAAsBL,EAAY,MAAc;AACpD,UAAI,OAAO,SAAW,IAAa,QAAO;AAC1C,YAAMM,IAAM,OACT,iBAAiB,SAAS,eAAe,EACzC,iBAAiB,sBAAsB;AAC1C,UAAI,CAACA,EAAK,QAAO;AACjB,YAAMC,IAAUD,EAAI,KAAA,GACdE,IAAI,WAAWD,CAAO;AAC5B,aAAK,OAAO,SAASC,CAAC,IACfD,EAAQ,SAAS,IAAI,IAAIC,IAAIA,IAAI,MADR;AAAA,IAElC,GAAG,CAAA,CAAE;AAML,IAAAC,GAAgB,MAAM;AACpB,MAAAN,EAAa,CAACO,MAAS;AACrB,cAAMC,IAAU,IAAI,IAAIlC,EAAM,IAAI,CAACmC,MAAMA,EAAE,EAAE,CAAC,GACxCC,IAAU,IAAI,IAAIH,EAAK,IAAI,CAACI,MAAMA,EAAE,KAAK,EAAE,CAAC,GAE5CC,IAAsBL,EAAK,IAAI,CAACI,MAAM;AAC1C,cAAIH,EAAQ,IAAIG,EAAE,KAAK,EAAE,GAAG;AAC1B,kBAAME,IAAQvC,EAAM,KAAK,CAACmC,OAAMA,GAAE,OAAOE,EAAE,KAAK,EAAE;AAClD,mBAAOE,IACH,EAAE,MAAMA,GAAO,SAAS,GAAA,IACxB,EAAE,GAAGF,GAAG,SAAS,GAAA;AAAA,UACvB;AACA,iBAAO,EAAE,GAAGA,GAAG,SAAS,GAAA;AAAA,QAC1B,CAAC;AAED,mBAAWF,KAAKnC;AACd,UAAKoC,EAAQ,IAAID,EAAE,EAAE,KAAGG,EAAO,KAAK,EAAE,MAAMH,GAAG,SAAS,IAAO;AAEjE,eAAOG;AAAA,MACT,CAAC;AAAA,IACH,GAAG,CAACtC,CAAK,CAAC,GAEVwC,EAAU,MAAM;AACd,UAAI,CAACf,EAAU,KAAK,CAACY,MAAMA,EAAE,OAAO,EAAG;AACvC,YAAMI,IAAKb,EAAA,GACLc,IAAQ,WAAW,MAAM;AAC7B,QAAAhB,EAAa,CAACO,MAASA,EAAK,OAAO,CAACI,MAAM,CAACA,EAAE,OAAO,CAAC;AAAA,MACvD,GAAGI,CAAE;AACL,aAAO,MAAM,aAAaC,CAAK;AAAA,IACjC,GAAG,CAACjB,GAAWG,CAAmB,CAAC;AAInC,UAAMe,IAAgBC,EAA8B,IAAI,GAClDC,IAAeD,GAA2BE,IAAA9C,EAAM,CAAC,MAAP,gBAAA8C,EAAU,EAAE;AAE5D,IAAAN,EAAU,MAAM;;AACd,YAAMO,KAAQD,IAAA9C,EAAM,CAAC,MAAP,gBAAA8C,EAAU,IAClBb,IAAOY,EAAa;AAC1B,UAAIZ,KAAQc,KAASd,MAASc,KAASJ,EAAc,SAAS;AAC5D,cAAMK,IAAShD,EAAM,CAAC;AACtB,QAAIgD,KAAU,CAACA,EAAO,SACpBL,EAAc,QAAQ,cAAc/C;AAAA,UAClC;AAAA,UACA;AAAA,YACE,OAAOoD,EAAO;AAAA,YACd,cAAc;AAAA,UAAA;AAAA,QAChB;AAAA,MAGN;AACA,MAAAH,EAAa,UAAUE;AAAA,IACzB,GAAG,CAAC/C,GAAOJ,CAAC,CAAC;AAEb,UAAMqD,IAAehD,KAAe,GAC9BiD,IACJD,IAAe,IACXrD,EAAE,oCAAoC;AAAA,MACpC,OAAOqD;AAAA,MACP,cAAc;AAAA,IAAA,CACf,IACDrD;AAAA,MACE;AAAA,MACA;AAAA,IAAA,GAGFuD,IAAa/D;AAAA,MACjB6D;AAAA,MACArD,EAAE,0CAA0C,KAAK;AAAA,IAAA,GAG7CwD,IAAalE,GAAc,EAAE,MAAA2B,GAAM;AAEzC,WACE,gBAAApB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAuB;AAAA,QACA,WAAW,CAAChC,GAAyB,EAAE,MAAA6B,GAAM,GAAGC,CAAS,EACtD,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,QACV,GAAGC;AAAA,QAEJ,4BAACsC,EAAa,MAAb,EAAkB,MAAMhC,GAAQ,cAAcC,GAC7C,UAAA;AAAA,UAAA,gBAAA7B,EAAC4D,EAAa,SAAb,EAAqB,SAAO,IAC3B,UAAA,gBAAA5D;AAAA,YAAC6D;AAAA,YAAA;AAAA,cACC,wBAAOxE,GAAA,EAAK;AAAA,cACZ,QAAO;AAAA,cACP,MAAM+B,MAAS,OAAO,OAAO;AAAA,cAC7B,cAAYqC;AAAA,cACZ,iBAAc;AAAA,YAAA;AAAA,UAAA,GAElB;AAAA,UACCD,IAAe,IACd,gBAAAxD;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,eAAY;AAAA,cACZ,eAAY;AAAA,cACZ,WAAWN,GAAA;AAAA,cAEV,UAAAgE;AAAA,YAAA;AAAA,UAAA,IAED;AAAA,UAGJ,gBAAA1D;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAKkD;AAAA,cACL,aAAU;AAAA,cACV,eAAY;AAAA,cACZ,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,UAEZ,gBAAAlD,EAAC4D,EAAa,QAAb,EACC,UAAA,gBAAA7D;AAAA,YAAC6D,EAAa;AAAA,YAAb;AAAA,cACC,MAAK;AAAA,cACL,cAAYzD,EAAE,kCAAkC,eAAe;AAAA,cAC/D,MAAAgB;AAAA,cACA,OAAAD;AAAA,cACA,YAAY;AAAA,cAIZ,kBAAkB;AAAA,cAClB,WAAWyC;AAAA,cAEX,UAAA;AAAA,gBAAA,gBAAA5D,EAAC,OAAA,EAAI,WAAU,uJACb,UAAA;AAAA,kBAAA,gBAAAC,EAAC,QAAG,WAAU,4DACX,UAAAG,EAAE,kCAAkC,eAAe,GACtD;AAAA,kBACCU,KAAiBN,EAAM,KAAK,CAAC2B,MAAS,CAACA,EAAK,IAAI,IAC/C,gBAAAlC;AAAA,oBAAC8D;AAAA,oBAAA;AAAA,sBACC,QAAO;AAAA,sBACP,MAAK;AAAA,sBACL,SAASjD;AAAA,sBACT,WAAU;AAAA,sBAET,UAAAV,EAAE,mCAAmC,kBAAkB;AAAA,oBAAA;AAAA,kBAAA,IAExD;AAAA,gBAAA,GACN;AAAA,kCACC4D,GAAA,EAAU;AAAA,gBAIX,gBAAA/D;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,MAAK;AAAA,oBACL,oBAAkBe;AAAA,oBAMlB,WAAU;AAAA,oBAET,cACC,gBAAAhB,EAAAiE,GAAA,EACE,UAAA;AAAA,sBAAA,gBAAAhE,EAACF,GAAA,EAAY;AAAA,wCACZA,GAAA,EAAY;AAAA,wCACZA,GAAA,CAAA,CAAY;AAAA,oBAAA,EAAA,CACf,IACEkC,EAAU,WAAW,IACvB,gBAAAhC,EAACE,IAAA,CAAA,CAAW,IAEZ8B,EAAU,IAAI,CAAC,EAAE,MAAAE,GAAM,SAAA+B,QACrB,gBAAAjE;AAAA,sBAACkE;AAAA,sBAAA;AAAA,wBAEC,MAAAhC;AAAA,wBACA,SAAQ;AAAA,wBACR,SAAA+B;AAAA,wBACA,YAAYtD;AAAA,wBACZ,WAAAC;AAAA,sBAAA;AAAA,sBALKsB,EAAK;AAAA,oBAAA,CAOb;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAGJlB,IACC,gBAAAjB,EAAAiE,GAAA,EACE,UAAA;AAAA,kBAAA,gBAAAhE,EAAC+D,GAAA,EAAU;AAAA,kBACX,gBAAA/D,EAAC,OAAA,EAAI,WAAU,6BACb,UAAA,gBAAAA;AAAA,oBAAC8D;AAAA,oBAAA;AAAA,sBACC,QAAO;AAAA,sBACP,MAAK;AAAA,sBACL,SAAS7C;AAAA,sBACT,WAAU;AAAA,sBAET,UAAAD;AAAA,oBAAA;AAAA,kBAAA,EACH,CACF;AAAA,gBAAA,EAAA,CACF,IACE;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,EACN,CACF;AAAA,QAAA,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AAEAX,GAAiB,cAAc;","x_google_ignoreList":[0]}