@alfadocs/ui-kit 0.0.12

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 (1160) hide show
  1. package/LICENSE +96 -0
  2. package/README.md +152 -0
  3. package/dist/_chunks/accordion-Dgcd38U_.js +117 -0
  4. package/dist/_chunks/accordion-Dgcd38U_.js.map +1 -0
  5. package/dist/_chunks/accordion.agent-Cz-yglRa.js +17 -0
  6. package/dist/_chunks/accordion.agent-Cz-yglRa.js.map +1 -0
  7. package/dist/_chunks/agenda-card-B2gq-gTq.js +130 -0
  8. package/dist/_chunks/agenda-card-B2gq-gTq.js.map +1 -0
  9. package/dist/_chunks/agenda-tray-twa8g_87.js +119 -0
  10. package/dist/_chunks/agenda-tray-twa8g_87.js.map +1 -0
  11. package/dist/_chunks/ai-prompt-input-C6IY_Eds.js +379 -0
  12. package/dist/_chunks/ai-prompt-input-C6IY_Eds.js.map +1 -0
  13. package/dist/_chunks/alert-C5ud6CfE.js +187 -0
  14. package/dist/_chunks/alert-C5ud6CfE.js.map +1 -0
  15. package/dist/_chunks/apexcharts-theme-cpBYmCcr.js +17 -0
  16. package/dist/_chunks/apexcharts-theme-cpBYmCcr.js.map +1 -0
  17. package/dist/_chunks/app-frame-CmIUp9BD.js +129 -0
  18. package/dist/_chunks/app-frame-CmIUp9BD.js.map +1 -0
  19. package/dist/_chunks/aspect-ratio-Bo3cZXmR.js +56 -0
  20. package/dist/_chunks/aspect-ratio-Bo3cZXmR.js.map +1 -0
  21. package/dist/_chunks/audio-recorder-GkGNtW2X.js +375 -0
  22. package/dist/_chunks/audio-recorder-GkGNtW2X.js.map +1 -0
  23. package/dist/_chunks/audio-visualiser-CIO3yy23.js +138 -0
  24. package/dist/_chunks/audio-visualiser-CIO3yy23.js.map +1 -0
  25. package/dist/_chunks/autocomplete.agent-kb0nmr6F.js +371 -0
  26. package/dist/_chunks/autocomplete.agent-kb0nmr6F.js.map +1 -0
  27. package/dist/_chunks/avatar-BsV7vRA6.js +113 -0
  28. package/dist/_chunks/avatar-BsV7vRA6.js.map +1 -0
  29. package/dist/_chunks/badge--CmSr7ok.js +104 -0
  30. package/dist/_chunks/badge--CmSr7ok.js.map +1 -0
  31. package/dist/_chunks/balance-cell-renderer-BQwN51rT.js +997 -0
  32. package/dist/_chunks/balance-cell-renderer-BQwN51rT.js.map +1 -0
  33. package/dist/_chunks/breadcrumb-DnO6eHSS.js +292 -0
  34. package/dist/_chunks/breadcrumb-DnO6eHSS.js.map +1 -0
  35. package/dist/_chunks/button-CXL8bA8G.js +119 -0
  36. package/dist/_chunks/button-CXL8bA8G.js.map +1 -0
  37. package/dist/_chunks/button-group-CI7LFxt3.js +120 -0
  38. package/dist/_chunks/button-group-CI7LFxt3.js.map +1 -0
  39. package/dist/_chunks/button.agent-BuGZBktn.js +17 -0
  40. package/dist/_chunks/button.agent-BuGZBktn.js.map +1 -0
  41. package/dist/_chunks/calendar-BIXVzhkL.js +998 -0
  42. package/dist/_chunks/calendar-BIXVzhkL.js.map +1 -0
  43. package/dist/_chunks/card-n97MNPP2.js +158 -0
  44. package/dist/_chunks/card-n97MNPP2.js.map +1 -0
  45. package/dist/_chunks/chart.agent-DkmVXNsI.js +267 -0
  46. package/dist/_chunks/chart.agent-DkmVXNsI.js.map +1 -0
  47. package/dist/_chunks/chat-container-SR3UWxbL.js +174 -0
  48. package/dist/_chunks/chat-container-SR3UWxbL.js.map +1 -0
  49. package/dist/_chunks/chat-container.agent-Dhw9xCJt.js +22 -0
  50. package/dist/_chunks/chat-container.agent-Dhw9xCJt.js.map +1 -0
  51. package/dist/_chunks/chat-input-aphxDjZL.js +221 -0
  52. package/dist/_chunks/chat-input-aphxDjZL.js.map +1 -0
  53. package/dist/_chunks/chat-message-CdJSD18D.js +228 -0
  54. package/dist/_chunks/chat-message-CdJSD18D.js.map +1 -0
  55. package/dist/_chunks/check-DPdL_Sm7.js +12 -0
  56. package/dist/_chunks/check-DPdL_Sm7.js.map +1 -0
  57. package/dist/_chunks/checkbox-CfiZ0FZc.js +116 -0
  58. package/dist/_chunks/checkbox-CfiZ0FZc.js.map +1 -0
  59. package/dist/_chunks/checkbox-group-D1aqVI0-.js +145 -0
  60. package/dist/_chunks/checkbox-group-D1aqVI0-.js.map +1 -0
  61. package/dist/_chunks/chevron-down-BX_NP2Yh.js +12 -0
  62. package/dist/_chunks/chevron-down-BX_NP2Yh.js.map +1 -0
  63. package/dist/_chunks/chevron-left-CX1jqD2M.js +12 -0
  64. package/dist/_chunks/chevron-left-CX1jqD2M.js.map +1 -0
  65. package/dist/_chunks/chevron-right-BrpYejk0.js +12 -0
  66. package/dist/_chunks/chevron-right-BrpYejk0.js.map +1 -0
  67. package/dist/_chunks/chevron-up-zOEDrmBB.js +12 -0
  68. package/dist/_chunks/chevron-up-zOEDrmBB.js.map +1 -0
  69. package/dist/_chunks/chevrons-right-d9MwesPG.js +26 -0
  70. package/dist/_chunks/chevrons-right-d9MwesPG.js.map +1 -0
  71. package/dist/_chunks/circle-BkqTgYmt.js +12 -0
  72. package/dist/_chunks/circle-BkqTgYmt.js.map +1 -0
  73. package/dist/_chunks/circle-alert-ChA9opNA.js +16 -0
  74. package/dist/_chunks/circle-alert-ChA9opNA.js.map +1 -0
  75. package/dist/_chunks/circle-check-9AeSgJD_.js +15 -0
  76. package/dist/_chunks/circle-check-9AeSgJD_.js.map +1 -0
  77. package/dist/_chunks/circle-x-Du2CmjaU.js +16 -0
  78. package/dist/_chunks/circle-x-Du2CmjaU.js.map +1 -0
  79. package/dist/_chunks/clock-21AGPWJ5.js +15 -0
  80. package/dist/_chunks/clock-21AGPWJ5.js.map +1 -0
  81. package/dist/_chunks/collapsible-jBFm7Ah8.js +66 -0
  82. package/dist/_chunks/collapsible-jBFm7Ah8.js.map +1 -0
  83. package/dist/_chunks/color-picker-CiotzQJF.js +554 -0
  84. package/dist/_chunks/color-picker-CiotzQJF.js.map +1 -0
  85. package/dist/_chunks/combobox.agent-B6RwDSct.js +349 -0
  86. package/dist/_chunks/combobox.agent-B6RwDSct.js.map +1 -0
  87. package/dist/_chunks/command-palette.agent-B87_OkmC.js +350 -0
  88. package/dist/_chunks/command-palette.agent-B87_OkmC.js.map +1 -0
  89. package/dist/_chunks/compose-refs-C0k0tdqF.js +10 -0
  90. package/dist/_chunks/compose-refs-C0k0tdqF.js.map +1 -0
  91. package/dist/_chunks/copy-B00HK7tj.js +15 -0
  92. package/dist/_chunks/copy-B00HK7tj.js.map +1 -0
  93. package/dist/_chunks/createLucideIcon-CrFbzy84.js +117 -0
  94. package/dist/_chunks/createLucideIcon-CrFbzy84.js.map +1 -0
  95. package/dist/_chunks/date-picker-CdPuI3dK.js +1726 -0
  96. package/dist/_chunks/date-picker-CdPuI3dK.js.map +1 -0
  97. package/dist/_chunks/date-range-picker-DfK4cjln.js +183 -0
  98. package/dist/_chunks/date-range-picker-DfK4cjln.js.map +1 -0
  99. package/dist/_chunks/date-time-picker-CX_FMsLG.js +202 -0
  100. package/dist/_chunks/date-time-picker-CX_FMsLG.js.map +1 -0
  101. package/dist/_chunks/description-list-C5UPZgX6.js +187 -0
  102. package/dist/_chunks/description-list-C5UPZgX6.js.map +1 -0
  103. package/dist/_chunks/dialog.agent-B276rAQF.js +147 -0
  104. package/dist/_chunks/dialog.agent-B276rAQF.js.map +1 -0
  105. package/dist/_chunks/dropdown-menu-CJKvK7VG.js +210 -0
  106. package/dist/_chunks/dropdown-menu-CJKvK7VG.js.map +1 -0
  107. package/dist/_chunks/dropdown-menu.agent-Cry4Nmes.js +17 -0
  108. package/dist/_chunks/dropdown-menu.agent-Cry4Nmes.js.map +1 -0
  109. package/dist/_chunks/ellipsis-rgGdiK_9.js +16 -0
  110. package/dist/_chunks/ellipsis-rgGdiK_9.js.map +1 -0
  111. package/dist/_chunks/empty-state-DiG7vYBM.js +303 -0
  112. package/dist/_chunks/empty-state-DiG7vYBM.js.map +1 -0
  113. package/dist/_chunks/eye-off-xEXDAh5z.js +29 -0
  114. package/dist/_chunks/eye-off-xEXDAh5z.js.map +1 -0
  115. package/dist/_chunks/file-text-DSNuv2B8.js +24 -0
  116. package/dist/_chunks/file-text-DSNuv2B8.js.map +1 -0
  117. package/dist/_chunks/file-upload.agent-BMow5yDY.js +649 -0
  118. package/dist/_chunks/file-upload.agent-BMow5yDY.js.map +1 -0
  119. package/dist/_chunks/flag-ChP784EM.js +635 -0
  120. package/dist/_chunks/flag-ChP784EM.js.map +1 -0
  121. package/dist/_chunks/floating-action-button-BM9ib-Wf.js +95 -0
  122. package/dist/_chunks/floating-action-button-BM9ib-Wf.js.map +1 -0
  123. package/dist/_chunks/form-field-B4bwrccN.js +121 -0
  124. package/dist/_chunks/form-field-B4bwrccN.js.map +1 -0
  125. package/dist/_chunks/form-field-context-94LwgYTQ.js +19 -0
  126. package/dist/_chunks/form-field-context-94LwgYTQ.js.map +1 -0
  127. package/dist/_chunks/freemium-paywall-DVyNsQHS.js +197 -0
  128. package/dist/_chunks/freemium-paywall-DVyNsQHS.js.map +1 -0
  129. package/dist/_chunks/globe-BkEFMNSg.js +16 -0
  130. package/dist/_chunks/globe-BkEFMNSg.js.map +1 -0
  131. package/dist/_chunks/group-options-BvKhQ3xb.js +16 -0
  132. package/dist/_chunks/group-options-BvKhQ3xb.js.map +1 -0
  133. package/dist/_chunks/header-BpKaSL_v.js +310 -0
  134. package/dist/_chunks/header-BpKaSL_v.js.map +1 -0
  135. package/dist/_chunks/icon-button-C1vpylg3.js +45 -0
  136. package/dist/_chunks/icon-button-C1vpylg3.js.map +1 -0
  137. package/dist/_chunks/icon-button-group-tERESY-n.js +204 -0
  138. package/dist/_chunks/icon-button-group-tERESY-n.js.map +1 -0
  139. package/dist/_chunks/index-4xgbg-sn.js +317 -0
  140. package/dist/_chunks/index-4xgbg-sn.js.map +1 -0
  141. package/dist/_chunks/index-CJE9uQmb.js +646 -0
  142. package/dist/_chunks/index-CJE9uQmb.js.map +1 -0
  143. package/dist/_chunks/index-CeY1nNvd.js +2853 -0
  144. package/dist/_chunks/index-CeY1nNvd.js.map +1 -0
  145. package/dist/_chunks/index-D2ZczOXr.js +48 -0
  146. package/dist/_chunks/index-D2ZczOXr.js.map +1 -0
  147. package/dist/_chunks/info-B9XNKn05.js +16 -0
  148. package/dist/_chunks/info-B9XNKn05.js.map +1 -0
  149. package/dist/_chunks/input-surface-D5OMCB1W.js +32 -0
  150. package/dist/_chunks/input-surface-D5OMCB1W.js.map +1 -0
  151. package/dist/_chunks/isSameDay-ecuM8PBB.js +39 -0
  152. package/dist/_chunks/isSameDay-ecuM8PBB.js.map +1 -0
  153. package/dist/_chunks/isSameMonth-5wNF2f4I.js +1307 -0
  154. package/dist/_chunks/isSameMonth-5wNF2f4I.js.map +1 -0
  155. package/dist/_chunks/kbd-0iPlQjgC.js +220 -0
  156. package/dist/_chunks/kbd-0iPlQjgC.js.map +1 -0
  157. package/dist/_chunks/key-value-pair--Je59tAF.js +75 -0
  158. package/dist/_chunks/key-value-pair--Je59tAF.js.map +1 -0
  159. package/dist/_chunks/leo-sidebar-9A9AWBxX.js +755 -0
  160. package/dist/_chunks/leo-sidebar-9A9AWBxX.js.map +1 -0
  161. package/dist/_chunks/list-n8vI8Yvn.js +356 -0
  162. package/dist/_chunks/list-n8vI8Yvn.js.map +1 -0
  163. package/dist/_chunks/log-out-616hnn2-.js +16 -0
  164. package/dist/_chunks/log-out-616hnn2-.js.map +1 -0
  165. package/dist/_chunks/logo-BlIdYz3n.js +140 -0
  166. package/dist/_chunks/logo-BlIdYz3n.js.map +1 -0
  167. package/dist/_chunks/mail-C8irm52s.js +15 -0
  168. package/dist/_chunks/mail-C8irm52s.js.map +1 -0
  169. package/dist/_chunks/message-card-g5VS5Q80.js +275 -0
  170. package/dist/_chunks/message-card-g5VS5Q80.js.map +1 -0
  171. package/dist/_chunks/message-tray-CAk-iibU.js +302 -0
  172. package/dist/_chunks/message-tray-CAk-iibU.js.map +1 -0
  173. package/dist/_chunks/multi-select.agent-Cf4pU636.js +449 -0
  174. package/dist/_chunks/multi-select.agent-Cf4pU636.js.map +1 -0
  175. package/dist/_chunks/navigation-menu-DBDsAmXc.js +208 -0
  176. package/dist/_chunks/navigation-menu-DBDsAmXc.js.map +1 -0
  177. package/dist/_chunks/normalize-diacritics-BNGbFNlJ.js +7 -0
  178. package/dist/_chunks/normalize-diacritics-BNGbFNlJ.js.map +1 -0
  179. package/dist/_chunks/notification-card-CQxJporb.js +255 -0
  180. package/dist/_chunks/notification-card-CQxJporb.js.map +1 -0
  181. package/dist/_chunks/notification-tray-CNWPuPZp.js +324 -0
  182. package/dist/_chunks/notification-tray-CNWPuPZp.js.map +1 -0
  183. package/dist/_chunks/number-input-B1Th0DdC.js +248 -0
  184. package/dist/_chunks/number-input-B1Th0DdC.js.map +1 -0
  185. package/dist/_chunks/otp-input-CmoBuZ4K.js +188 -0
  186. package/dist/_chunks/otp-input-CmoBuZ4K.js.map +1 -0
  187. package/dist/_chunks/pagination.agent-B5KLDCMN.js +379 -0
  188. package/dist/_chunks/pagination.agent-B5KLDCMN.js.map +1 -0
  189. package/dist/_chunks/password-input-DnjNh-hQ.js +193 -0
  190. package/dist/_chunks/password-input-DnjNh-hQ.js.map +1 -0
  191. package/dist/_chunks/patient-shell-BNrTtcbu.js +193 -0
  192. package/dist/_chunks/patient-shell-BNrTtcbu.js.map +1 -0
  193. package/dist/_chunks/payment-form-Cf7U6r5L.js +579 -0
  194. package/dist/_chunks/payment-form-Cf7U6r5L.js.map +1 -0
  195. package/dist/_chunks/payment-form.agent-BkEnRerR.js +26 -0
  196. package/dist/_chunks/payment-form.agent-BkEnRerR.js.map +1 -0
  197. package/dist/_chunks/pdf-viewer.agent-DXjgDItg.js +858 -0
  198. package/dist/_chunks/pdf-viewer.agent-DXjgDItg.js.map +1 -0
  199. package/dist/_chunks/phone-input-C2dtIuxW.js +427 -0
  200. package/dist/_chunks/phone-input-C2dtIuxW.js.map +1 -0
  201. package/dist/_chunks/plus-CYKNmfuA.js +15 -0
  202. package/dist/_chunks/plus-CYKNmfuA.js.map +1 -0
  203. package/dist/_chunks/popover-D1woU9mP.js +222 -0
  204. package/dist/_chunks/popover-D1woU9mP.js.map +1 -0
  205. package/dist/_chunks/popover.agent-C0qOx9WT.js +13 -0
  206. package/dist/_chunks/popover.agent-C0qOx9WT.js.map +1 -0
  207. package/dist/_chunks/printer-CeVEWfQq.js +22 -0
  208. package/dist/_chunks/printer-CeVEWfQq.js.map +1 -0
  209. package/dist/_chunks/privacy-lock-Bk5mIqMq.js +130 -0
  210. package/dist/_chunks/privacy-lock-Bk5mIqMq.js.map +1 -0
  211. package/dist/_chunks/progress-DL3-izuO.js +252 -0
  212. package/dist/_chunks/progress-DL3-izuO.js.map +1 -0
  213. package/dist/_chunks/progress.agent-CXkHURjX.js +22 -0
  214. package/dist/_chunks/progress.agent-CXkHURjX.js.map +1 -0
  215. package/dist/_chunks/purify.es-DpIUMBYC.js +561 -0
  216. package/dist/_chunks/purify.es-DpIUMBYC.js.map +1 -0
  217. package/dist/_chunks/radio-group-CXN9qNPe.js +185 -0
  218. package/dist/_chunks/radio-group-CXN9qNPe.js.map +1 -0
  219. package/dist/_chunks/react-day-picker-DQKDiJ37.js +1824 -0
  220. package/dist/_chunks/react-day-picker-DQKDiJ37.js.map +1 -0
  221. package/dist/_chunks/registry-C9nwlNyL.js +21 -0
  222. package/dist/_chunks/registry-C9nwlNyL.js.map +1 -0
  223. package/dist/_chunks/resizable.agent-DVk_jJur.js +435 -0
  224. package/dist/_chunks/resizable.agent-DVk_jJur.js.map +1 -0
  225. package/dist/_chunks/rich-text-editor.agent-BOjF4Xao.js +835 -0
  226. package/dist/_chunks/rich-text-editor.agent-BOjF4Xao.js.map +1 -0
  227. package/dist/_chunks/safe-image-src-DstKgCo7.js +14 -0
  228. package/dist/_chunks/safe-image-src-DstKgCo7.js.map +1 -0
  229. package/dist/_chunks/scroll-area-DXn-YWHY.js +144 -0
  230. package/dist/_chunks/scroll-area-DXn-YWHY.js.map +1 -0
  231. package/dist/_chunks/search-BonnQsHv.js +15 -0
  232. package/dist/_chunks/search-BonnQsHv.js.map +1 -0
  233. package/dist/_chunks/search-bar-DgSOAajC.js +396 -0
  234. package/dist/_chunks/search-bar-DgSOAajC.js.map +1 -0
  235. package/dist/_chunks/search-input-D4tC_Prn.js +197 -0
  236. package/dist/_chunks/search-input-D4tC_Prn.js.map +1 -0
  237. package/dist/_chunks/select-B4m4upMg.js +320 -0
  238. package/dist/_chunks/select-B4m4upMg.js.map +1 -0
  239. package/dist/_chunks/send-CySZIRPJ.js +21 -0
  240. package/dist/_chunks/send-CySZIRPJ.js.map +1 -0
  241. package/dist/_chunks/separator-DExI4amU.js +58 -0
  242. package/dist/_chunks/separator-DExI4amU.js.map +1 -0
  243. package/dist/_chunks/sheet-D6XOx0fK.js +188 -0
  244. package/dist/_chunks/sheet-D6XOx0fK.js.map +1 -0
  245. package/dist/_chunks/sheet.agent-DwQlBqK9.js +13 -0
  246. package/dist/_chunks/sheet.agent-DwQlBqK9.js.map +1 -0
  247. package/dist/_chunks/sidebar-r645O-k9.js +1076 -0
  248. package/dist/_chunks/sidebar-r645O-k9.js.map +1 -0
  249. package/dist/_chunks/sidebar.agent-B0fnH9CC.js +17 -0
  250. package/dist/_chunks/sidebar.agent-B0fnH9CC.js.map +1 -0
  251. package/dist/_chunks/sign-in-with-alfadocs-button-Gu7Qk2gq.js +88 -0
  252. package/dist/_chunks/sign-in-with-alfadocs-button-Gu7Qk2gq.js.map +1 -0
  253. package/dist/_chunks/signature-capture.agent-L_1_-zVR.js +485 -0
  254. package/dist/_chunks/signature-capture.agent-L_1_-zVR.js.map +1 -0
  255. package/dist/_chunks/skeleton-vbTWUntB.js +95 -0
  256. package/dist/_chunks/skeleton-vbTWUntB.js.map +1 -0
  257. package/dist/_chunks/slider-B3DBwmcm.js +273 -0
  258. package/dist/_chunks/slider-B3DBwmcm.js.map +1 -0
  259. package/dist/_chunks/slot-grid-DL_Tuj0p.js +491 -0
  260. package/dist/_chunks/slot-grid-DL_Tuj0p.js.map +1 -0
  261. package/dist/_chunks/sparkline.agent-BDTXzTy9.js +238 -0
  262. package/dist/_chunks/sparkline.agent-BDTXzTy9.js.map +1 -0
  263. package/dist/_chunks/spinner-77xUGpuX.js +163 -0
  264. package/dist/_chunks/spinner-77xUGpuX.js.map +1 -0
  265. package/dist/_chunks/square-CZoGU14v.js +14 -0
  266. package/dist/_chunks/square-CZoGU14v.js.map +1 -0
  267. package/dist/_chunks/square-check-big-Jr-0202D.js +18 -0
  268. package/dist/_chunks/square-check-big-Jr-0202D.js.map +1 -0
  269. package/dist/_chunks/stat-CrumvZWf.js +208 -0
  270. package/dist/_chunks/stat-CrumvZWf.js.map +1 -0
  271. package/dist/_chunks/stepper-C-sIpRRU.js +7 -0
  272. package/dist/_chunks/stepper-C-sIpRRU.js.map +1 -0
  273. package/dist/_chunks/stepper-accordion-BkvqQWPI.js +232 -0
  274. package/dist/_chunks/stepper-accordion-BkvqQWPI.js.map +1 -0
  275. package/dist/_chunks/stepper-calendar-BQMjrwzo.js +569 -0
  276. package/dist/_chunks/stepper-calendar-BQMjrwzo.js.map +1 -0
  277. package/dist/_chunks/stepper-progress-Bwfl-0rV.js +128 -0
  278. package/dist/_chunks/stepper-progress-Bwfl-0rV.js.map +1 -0
  279. package/dist/_chunks/streaming-text-Cu9YQe_1.js +104 -0
  280. package/dist/_chunks/streaming-text-Cu9YQe_1.js.map +1 -0
  281. package/dist/_chunks/suggestion-chip-XkxDJiPW.js +157 -0
  282. package/dist/_chunks/suggestion-chip-XkxDJiPW.js.map +1 -0
  283. package/dist/_chunks/switch-DyC0ThNT.js +137 -0
  284. package/dist/_chunks/switch-DyC0ThNT.js.map +1 -0
  285. package/dist/_chunks/tabs.agent-FsGU3sZL.js +347 -0
  286. package/dist/_chunks/tabs.agent-FsGU3sZL.js.map +1 -0
  287. package/dist/_chunks/tag-BucAvfTX.js +194 -0
  288. package/dist/_chunks/tag-BucAvfTX.js.map +1 -0
  289. package/dist/_chunks/task-card-uxjApfcg.js +112 -0
  290. package/dist/_chunks/task-card-uxjApfcg.js.map +1 -0
  291. package/dist/_chunks/task-tray-BdfM3p8N.js +99 -0
  292. package/dist/_chunks/task-tray-BdfM3p8N.js.map +1 -0
  293. package/dist/_chunks/text-area-CKxZ7cS3.js +152 -0
  294. package/dist/_chunks/text-area-CKxZ7cS3.js.map +1 -0
  295. package/dist/_chunks/text-input-D16CcMlL.js +187 -0
  296. package/dist/_chunks/text-input-D16CcMlL.js.map +1 -0
  297. package/dist/_chunks/theme-root-vapFjsnt.js +18 -0
  298. package/dist/_chunks/theme-root-vapFjsnt.js.map +1 -0
  299. package/dist/_chunks/time-picker-BapZq0OY.js +321 -0
  300. package/dist/_chunks/time-picker-BapZq0OY.js.map +1 -0
  301. package/dist/_chunks/timeline-D3VOf4RT.js +219 -0
  302. package/dist/_chunks/timeline-D3VOf4RT.js.map +1 -0
  303. package/dist/_chunks/timestamp-BLM-jjdw.js +108 -0
  304. package/dist/_chunks/timestamp-BLM-jjdw.js.map +1 -0
  305. package/dist/_chunks/toast-DSCqnDRl.js +884 -0
  306. package/dist/_chunks/toast-DSCqnDRl.js.map +1 -0
  307. package/dist/_chunks/tooltip-DF6WjD1r.js +97 -0
  308. package/dist/_chunks/tooltip-DF6WjD1r.js.map +1 -0
  309. package/dist/_chunks/tooth-scheme.agent-CFKl3iQr.js +762 -0
  310. package/dist/_chunks/tooth-scheme.agent-CFKl3iQr.js.map +1 -0
  311. package/dist/_chunks/transcript-panel-aI14fHYA.js +265 -0
  312. package/dist/_chunks/transcript-panel-aI14fHYA.js.map +1 -0
  313. package/dist/_chunks/triangle-alert-CBPUIzQo.js +22 -0
  314. package/dist/_chunks/triangle-alert-CBPUIzQo.js.map +1 -0
  315. package/dist/_chunks/typing-indicator-BTVDEpnd.js +81 -0
  316. package/dist/_chunks/typing-indicator-BTVDEpnd.js.map +1 -0
  317. package/dist/_chunks/use-debounced-callback-BisrB-Fq.js +28 -0
  318. package/dist/_chunks/use-debounced-callback-BisrB-Fq.js.map +1 -0
  319. package/dist/_chunks/use-direction-D6rvvG9G.js +40 -0
  320. package/dist/_chunks/use-direction-D6rvvG9G.js.map +1 -0
  321. package/dist/_chunks/use-prefers-reduced-motion-BMwIQRjB.js +15 -0
  322. package/dist/_chunks/use-prefers-reduced-motion-BMwIQRjB.js.map +1 -0
  323. package/dist/_chunks/use-theme-BMUhembX.js +148 -0
  324. package/dist/_chunks/use-theme-BMUhembX.js.map +1 -0
  325. package/dist/_chunks/user-CPxpqFjJ.js +15 -0
  326. package/dist/_chunks/user-CPxpqFjJ.js.map +1 -0
  327. package/dist/_chunks/warning-stack-Cyf_81SL.js +179 -0
  328. package/dist/_chunks/warning-stack-Cyf_81SL.js.map +1 -0
  329. package/dist/_chunks/workflow-map-Uf-hHAO3.js +1337 -0
  330. package/dist/_chunks/workflow-map-Uf-hHAO3.js.map +1 -0
  331. package/dist/_chunks/x-CCcI3eJp.js +15 -0
  332. package/dist/_chunks/x-CCcI3eJp.js.map +1 -0
  333. package/dist/agent/index.d.ts +5 -0
  334. package/dist/agent/index.d.ts.map +1 -0
  335. package/dist/agent/registry.d.ts +26 -0
  336. package/dist/agent/registry.d.ts.map +1 -0
  337. package/dist/agent/types.d.ts +148 -0
  338. package/dist/agent/types.d.ts.map +1 -0
  339. package/dist/agent-catalog.json +813 -0
  340. package/dist/brand/logo-asset/Alfadocs_Logo_BW.d.ts +12 -0
  341. package/dist/brand/logo-asset/Alfadocs_Logo_BW.d.ts.map +1 -0
  342. package/dist/brand/logo-asset/Alfadocs_Logo_Main.d.ts +14 -0
  343. package/dist/brand/logo-asset/Alfadocs_Logo_Main.d.ts.map +1 -0
  344. package/dist/brand/logo-asset/Alfadocs_Logo_Mark.d.ts +13 -0
  345. package/dist/brand/logo-asset/Alfadocs_Logo_Mark.d.ts.map +1 -0
  346. package/dist/brand/logo-asset/Alfadocs_Logo_Neg.d.ts +12 -0
  347. package/dist/brand/logo-asset/Alfadocs_Logo_Neg.d.ts.map +1 -0
  348. package/dist/brand/logo-asset/Alfadocs_Logo_Purple.d.ts +12 -0
  349. package/dist/brand/logo-asset/Alfadocs_Logo_Purple.d.ts.map +1 -0
  350. package/dist/brand/logo-asset/index.d.ts +6 -0
  351. package/dist/brand/logo-asset/index.d.ts.map +1 -0
  352. package/dist/components/_shared/calendar-chevron.d.ts +4 -0
  353. package/dist/components/_shared/calendar-chevron.d.ts.map +1 -0
  354. package/dist/components/_shared/compose-refs.d.ts +3 -0
  355. package/dist/components/_shared/compose-refs.d.ts.map +1 -0
  356. package/dist/components/_shared/date-locale.d.ts +5 -0
  357. package/dist/components/_shared/date-locale.d.ts.map +1 -0
  358. package/dist/components/_shared/date-picker-variants.d.ts +10 -0
  359. package/dist/components/_shared/date-picker-variants.d.ts.map +1 -0
  360. package/dist/components/_shared/date-utils.d.ts +3 -0
  361. package/dist/components/_shared/date-utils.d.ts.map +1 -0
  362. package/dist/components/_shared/group-options.d.ts +6 -0
  363. package/dist/components/_shared/group-options.d.ts.map +1 -0
  364. package/dist/components/_shared/index.d.ts +15 -0
  365. package/dist/components/_shared/index.d.ts.map +1 -0
  366. package/dist/components/_shared/input-surface.d.ts +23 -0
  367. package/dist/components/_shared/input-surface.d.ts.map +1 -0
  368. package/dist/components/_shared/normalize-diacritics.d.ts +2 -0
  369. package/dist/components/_shared/normalize-diacritics.d.ts.map +1 -0
  370. package/dist/components/_shared/option.d.ts +8 -0
  371. package/dist/components/_shared/option.d.ts.map +1 -0
  372. package/dist/components/_shared/safe-html.d.ts +30 -0
  373. package/dist/components/_shared/safe-html.d.ts.map +1 -0
  374. package/dist/components/_shared/safe-image-src.d.ts +3 -0
  375. package/dist/components/_shared/safe-image-src.d.ts.map +1 -0
  376. package/dist/components/_shared/stepper.d.ts +17 -0
  377. package/dist/components/_shared/stepper.d.ts.map +1 -0
  378. package/dist/components/_shared/time.d.ts +6 -0
  379. package/dist/components/_shared/time.d.ts.map +1 -0
  380. package/dist/components/_shared/use-debounced-callback.d.ts +6 -0
  381. package/dist/components/_shared/use-debounced-callback.d.ts.map +1 -0
  382. package/dist/components/_shared/use-direction.d.ts +19 -0
  383. package/dist/components/_shared/use-direction.d.ts.map +1 -0
  384. package/dist/components/accordion/accordion.agent.d.ts +3 -0
  385. package/dist/components/accordion/accordion.agent.d.ts.map +1 -0
  386. package/dist/components/accordion/accordion.d.ts +41 -0
  387. package/dist/components/accordion/accordion.d.ts.map +1 -0
  388. package/dist/components/accordion/index.d.ts +4 -0
  389. package/dist/components/accordion/index.d.ts.map +1 -0
  390. package/dist/components/accordion/index.js +10 -0
  391. package/dist/components/accordion/index.js.map +1 -0
  392. package/dist/components/agenda-card/agenda-card.d.ts +36 -0
  393. package/dist/components/agenda-card/agenda-card.d.ts.map +1 -0
  394. package/dist/components/agenda-card/index.d.ts +3 -0
  395. package/dist/components/agenda-card/index.d.ts.map +1 -0
  396. package/dist/components/agenda-card/index.js +6 -0
  397. package/dist/components/agenda-card/index.js.map +1 -0
  398. package/dist/components/agenda-tray/agenda-tray.d.ts +24 -0
  399. package/dist/components/agenda-tray/agenda-tray.d.ts.map +1 -0
  400. package/dist/components/agenda-tray/index.d.ts +3 -0
  401. package/dist/components/agenda-tray/index.d.ts.map +1 -0
  402. package/dist/components/agenda-tray/index.js +5 -0
  403. package/dist/components/agenda-tray/index.js.map +1 -0
  404. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts +49 -0
  405. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -0
  406. package/dist/components/ai-prompt-input/index.d.ts +3 -0
  407. package/dist/components/ai-prompt-input/index.d.ts.map +1 -0
  408. package/dist/components/ai-prompt-input/index.js +5 -0
  409. package/dist/components/ai-prompt-input/index.js.map +1 -0
  410. package/dist/components/alert/alert.d.ts +23 -0
  411. package/dist/components/alert/alert.d.ts.map +1 -0
  412. package/dist/components/alert/index.d.ts +2 -0
  413. package/dist/components/alert/index.d.ts.map +1 -0
  414. package/dist/components/alert/index.js +5 -0
  415. package/dist/components/alert/index.js.map +1 -0
  416. package/dist/components/app-frame/app-frame.d.ts +33 -0
  417. package/dist/components/app-frame/app-frame.d.ts.map +1 -0
  418. package/dist/components/app-frame/index.d.ts +3 -0
  419. package/dist/components/app-frame/index.d.ts.map +1 -0
  420. package/dist/components/app-frame/index.js +5 -0
  421. package/dist/components/app-frame/index.js.map +1 -0
  422. package/dist/components/aspect-ratio/aspect-ratio.d.ts +16 -0
  423. package/dist/components/aspect-ratio/aspect-ratio.d.ts.map +1 -0
  424. package/dist/components/aspect-ratio/index.d.ts +4 -0
  425. package/dist/components/aspect-ratio/index.d.ts.map +1 -0
  426. package/dist/components/aspect-ratio/index.js +7 -0
  427. package/dist/components/aspect-ratio/index.js.map +1 -0
  428. package/dist/components/audio-recorder/audio-recorder.d.ts +26 -0
  429. package/dist/components/audio-recorder/audio-recorder.d.ts.map +1 -0
  430. package/dist/components/audio-recorder/index.d.ts +3 -0
  431. package/dist/components/audio-recorder/index.d.ts.map +1 -0
  432. package/dist/components/audio-recorder/index.js +5 -0
  433. package/dist/components/audio-recorder/index.js.map +1 -0
  434. package/dist/components/audio-visualiser/audio-visualiser.d.ts +18 -0
  435. package/dist/components/audio-visualiser/audio-visualiser.d.ts.map +1 -0
  436. package/dist/components/audio-visualiser/index.d.ts +3 -0
  437. package/dist/components/audio-visualiser/index.d.ts.map +1 -0
  438. package/dist/components/audio-visualiser/index.js +5 -0
  439. package/dist/components/audio-visualiser/index.js.map +1 -0
  440. package/dist/components/autocomplete/autocomplete.agent.d.ts +3 -0
  441. package/dist/components/autocomplete/autocomplete.agent.d.ts.map +1 -0
  442. package/dist/components/autocomplete/autocomplete.d.ts +41 -0
  443. package/dist/components/autocomplete/autocomplete.d.ts.map +1 -0
  444. package/dist/components/autocomplete/index.d.ts +4 -0
  445. package/dist/components/autocomplete/index.d.ts.map +1 -0
  446. package/dist/components/autocomplete/index.js +7 -0
  447. package/dist/components/autocomplete/index.js.map +1 -0
  448. package/dist/components/avatar/avatar.d.ts +29 -0
  449. package/dist/components/avatar/avatar.d.ts.map +1 -0
  450. package/dist/components/avatar/index.d.ts +3 -0
  451. package/dist/components/avatar/index.d.ts.map +1 -0
  452. package/dist/components/avatar/index.js +7 -0
  453. package/dist/components/avatar/index.js.map +1 -0
  454. package/dist/components/badge/badge.d.ts +20 -0
  455. package/dist/components/badge/badge.d.ts.map +1 -0
  456. package/dist/components/badge/index.d.ts +3 -0
  457. package/dist/components/badge/index.d.ts.map +1 -0
  458. package/dist/components/badge/index.js +5 -0
  459. package/dist/components/badge/index.js.map +1 -0
  460. package/dist/components/breadcrumb/breadcrumb.d.ts +51 -0
  461. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
  462. package/dist/components/breadcrumb/index.d.ts +3 -0
  463. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  464. package/dist/components/breadcrumb/index.js +10 -0
  465. package/dist/components/breadcrumb/index.js.map +1 -0
  466. package/dist/components/button/button.agent.d.ts +3 -0
  467. package/dist/components/button/button.agent.d.ts.map +1 -0
  468. package/dist/components/button/button.d.ts +21 -0
  469. package/dist/components/button/button.d.ts.map +1 -0
  470. package/dist/components/button/icon-button.d.ts +29 -0
  471. package/dist/components/button/icon-button.d.ts.map +1 -0
  472. package/dist/components/button/index.d.ts +4 -0
  473. package/dist/components/button/index.d.ts.map +1 -0
  474. package/dist/components/button/index.js +9 -0
  475. package/dist/components/button/index.js.map +1 -0
  476. package/dist/components/button-group/button-group.d.ts +29 -0
  477. package/dist/components/button-group/button-group.d.ts.map +1 -0
  478. package/dist/components/button-group/index.d.ts +2 -0
  479. package/dist/components/button-group/index.d.ts.map +1 -0
  480. package/dist/components/button-group/index.js +5 -0
  481. package/dist/components/button-group/index.js.map +1 -0
  482. package/dist/components/calendar/calendar.agent.d.ts +4 -0
  483. package/dist/components/calendar/calendar.agent.d.ts.map +1 -0
  484. package/dist/components/calendar/calendar.d.ts +226 -0
  485. package/dist/components/calendar/calendar.d.ts.map +1 -0
  486. package/dist/components/calendar/contrast-warning.d.ts +20 -0
  487. package/dist/components/calendar/contrast-warning.d.ts.map +1 -0
  488. package/dist/components/calendar/index.d.ts +4 -0
  489. package/dist/components/calendar/index.d.ts.map +1 -0
  490. package/dist/components/calendar/index.js +7 -0
  491. package/dist/components/calendar/index.js.map +1 -0
  492. package/dist/components/card/card.d.ts +29 -0
  493. package/dist/components/card/card.d.ts.map +1 -0
  494. package/dist/components/card/index.d.ts +3 -0
  495. package/dist/components/card/index.d.ts.map +1 -0
  496. package/dist/components/card/index.js +5 -0
  497. package/dist/components/card/index.js.map +1 -0
  498. package/dist/components/chart/chart.agent.d.ts +4 -0
  499. package/dist/components/chart/chart.agent.d.ts.map +1 -0
  500. package/dist/components/chart/chart.d.ts +45 -0
  501. package/dist/components/chart/chart.d.ts.map +1 -0
  502. package/dist/components/chart/index.d.ts +4 -0
  503. package/dist/components/chart/index.d.ts.map +1 -0
  504. package/dist/components/chart/index.js +7 -0
  505. package/dist/components/chart/index.js.map +1 -0
  506. package/dist/components/chat-container/chat-container.agent.d.ts +4 -0
  507. package/dist/components/chat-container/chat-container.agent.d.ts.map +1 -0
  508. package/dist/components/chat-container/chat-container.d.ts +36 -0
  509. package/dist/components/chat-container/chat-container.d.ts.map +1 -0
  510. package/dist/components/chat-container/index.d.ts +4 -0
  511. package/dist/components/chat-container/index.d.ts.map +1 -0
  512. package/dist/components/chat-container/index.js +7 -0
  513. package/dist/components/chat-container/index.js.map +1 -0
  514. package/dist/components/chat-input/chat-input.d.ts +32 -0
  515. package/dist/components/chat-input/chat-input.d.ts.map +1 -0
  516. package/dist/components/chat-input/index.d.ts +3 -0
  517. package/dist/components/chat-input/index.d.ts.map +1 -0
  518. package/dist/components/chat-input/index.js +5 -0
  519. package/dist/components/chat-input/index.js.map +1 -0
  520. package/dist/components/chat-message/chat-message.d.ts +36 -0
  521. package/dist/components/chat-message/chat-message.d.ts.map +1 -0
  522. package/dist/components/chat-message/index.d.ts +3 -0
  523. package/dist/components/chat-message/index.d.ts.map +1 -0
  524. package/dist/components/chat-message/index.js +5 -0
  525. package/dist/components/chat-message/index.js.map +1 -0
  526. package/dist/components/checkbox/checkbox-group-context.d.ts +9 -0
  527. package/dist/components/checkbox/checkbox-group-context.d.ts.map +1 -0
  528. package/dist/components/checkbox/checkbox.d.ts +18 -0
  529. package/dist/components/checkbox/checkbox.d.ts.map +1 -0
  530. package/dist/components/checkbox/index.d.ts +4 -0
  531. package/dist/components/checkbox/index.d.ts.map +1 -0
  532. package/dist/components/checkbox/index.js +7 -0
  533. package/dist/components/checkbox/index.js.map +1 -0
  534. package/dist/components/checkbox-group/checkbox-group.d.ts +30 -0
  535. package/dist/components/checkbox-group/checkbox-group.d.ts.map +1 -0
  536. package/dist/components/checkbox-group/index.d.ts +3 -0
  537. package/dist/components/checkbox-group/index.d.ts.map +1 -0
  538. package/dist/components/checkbox-group/index.js +5 -0
  539. package/dist/components/checkbox-group/index.js.map +1 -0
  540. package/dist/components/collapsible/collapsible.d.ts +18 -0
  541. package/dist/components/collapsible/collapsible.d.ts.map +1 -0
  542. package/dist/components/collapsible/index.d.ts +3 -0
  543. package/dist/components/collapsible/index.d.ts.map +1 -0
  544. package/dist/components/collapsible/index.js +7 -0
  545. package/dist/components/collapsible/index.js.map +1 -0
  546. package/dist/components/color-picker/color-picker.d.ts +18 -0
  547. package/dist/components/color-picker/color-picker.d.ts.map +1 -0
  548. package/dist/components/color-picker/color-utils.d.ts +32 -0
  549. package/dist/components/color-picker/color-utils.d.ts.map +1 -0
  550. package/dist/components/color-picker/index.d.ts +6 -0
  551. package/dist/components/color-picker/index.d.ts.map +1 -0
  552. package/dist/components/color-picker/index.js +7 -0
  553. package/dist/components/color-picker/index.js.map +1 -0
  554. package/dist/components/color-picker/palettes.d.ts +16 -0
  555. package/dist/components/color-picker/palettes.d.ts.map +1 -0
  556. package/dist/components/combobox/combobox.agent.d.ts +3 -0
  557. package/dist/components/combobox/combobox.agent.d.ts.map +1 -0
  558. package/dist/components/combobox/combobox.d.ts +46 -0
  559. package/dist/components/combobox/combobox.d.ts.map +1 -0
  560. package/dist/components/combobox/index.d.ts +4 -0
  561. package/dist/components/combobox/index.d.ts.map +1 -0
  562. package/dist/components/combobox/index.js +10 -0
  563. package/dist/components/combobox/index.js.map +1 -0
  564. package/dist/components/command-palette/command-palette.agent.d.ts +3 -0
  565. package/dist/components/command-palette/command-palette.agent.d.ts.map +1 -0
  566. package/dist/components/command-palette/command-palette.d.ts +81 -0
  567. package/dist/components/command-palette/command-palette.d.ts.map +1 -0
  568. package/dist/components/command-palette/index.d.ts +4 -0
  569. package/dist/components/command-palette/index.d.ts.map +1 -0
  570. package/dist/components/command-palette/index.js +17 -0
  571. package/dist/components/command-palette/index.js.map +1 -0
  572. package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts +23 -0
  573. package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts.map +1 -0
  574. package/dist/components/data-table/cell-renderers/balance-cell-renderer.d.ts +18 -0
  575. package/dist/components/data-table/cell-renderers/balance-cell-renderer.d.ts.map +1 -0
  576. package/dist/components/data-table/cell-renderers/color-dot-cell-renderer.d.ts +11 -0
  577. package/dist/components/data-table/cell-renderers/color-dot-cell-renderer.d.ts.map +1 -0
  578. package/dist/components/data-table/cell-renderers/currency-cell-renderer.d.ts +13 -0
  579. package/dist/components/data-table/cell-renderers/currency-cell-renderer.d.ts.map +1 -0
  580. package/dist/components/data-table/cell-renderers/date-cell-renderer.d.ts +10 -0
  581. package/dist/components/data-table/cell-renderers/date-cell-renderer.d.ts.map +1 -0
  582. package/dist/components/data-table/cell-renderers/link-cell-renderer.d.ts +13 -0
  583. package/dist/components/data-table/cell-renderers/link-cell-renderer.d.ts.map +1 -0
  584. package/dist/components/data-table/cell-renderers/status-cell-renderer.d.ts +7 -0
  585. package/dist/components/data-table/cell-renderers/status-cell-renderer.d.ts.map +1 -0
  586. package/dist/components/data-table/cell-renderers/tag-list-cell-renderer.d.ts +6 -0
  587. package/dist/components/data-table/cell-renderers/tag-list-cell-renderer.d.ts.map +1 -0
  588. package/dist/components/data-table/cell-renderers/toggle-cell-renderer.d.ts +18 -0
  589. package/dist/components/data-table/cell-renderers/toggle-cell-renderer.d.ts.map +1 -0
  590. package/dist/components/data-table/cell-renderers/user-cell-renderer.d.ts +7 -0
  591. package/dist/components/data-table/cell-renderers/user-cell-renderer.d.ts.map +1 -0
  592. package/dist/components/data-table/data-table.agent.d.ts +4 -0
  593. package/dist/components/data-table/data-table.agent.d.ts.map +1 -0
  594. package/dist/components/data-table/data-table.d.ts +78 -0
  595. package/dist/components/data-table/data-table.d.ts.map +1 -0
  596. package/dist/components/data-table/hooks/use-total-row.d.ts +16 -0
  597. package/dist/components/data-table/hooks/use-total-row.d.ts.map +1 -0
  598. package/dist/components/data-table/index.d.ts +27 -0
  599. package/dist/components/data-table/index.d.ts.map +1 -0
  600. package/dist/components/data-table/index.js +19 -0
  601. package/dist/components/data-table/index.js.map +1 -0
  602. package/dist/components/data-table/toolbar.d.ts +49 -0
  603. package/dist/components/data-table/toolbar.d.ts.map +1 -0
  604. package/dist/components/date-picker/date-picker.d.ts +37 -0
  605. package/dist/components/date-picker/date-picker.d.ts.map +1 -0
  606. package/dist/components/date-picker/index.d.ts +3 -0
  607. package/dist/components/date-picker/index.d.ts.map +1 -0
  608. package/dist/components/date-picker/index.js +5 -0
  609. package/dist/components/date-picker/index.js.map +1 -0
  610. package/dist/components/date-range-picker/date-range-picker.d.ts +42 -0
  611. package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -0
  612. package/dist/components/date-range-picker/index.d.ts +3 -0
  613. package/dist/components/date-range-picker/index.d.ts.map +1 -0
  614. package/dist/components/date-range-picker/index.js +5 -0
  615. package/dist/components/date-range-picker/index.js.map +1 -0
  616. package/dist/components/date-time-picker/date-time-picker.d.ts +35 -0
  617. package/dist/components/date-time-picker/date-time-picker.d.ts.map +1 -0
  618. package/dist/components/date-time-picker/index.d.ts +3 -0
  619. package/dist/components/date-time-picker/index.d.ts.map +1 -0
  620. package/dist/components/date-time-picker/index.js +5 -0
  621. package/dist/components/date-time-picker/index.js.map +1 -0
  622. package/dist/components/description-list/description-list.d.ts +25 -0
  623. package/dist/components/description-list/description-list.d.ts.map +1 -0
  624. package/dist/components/description-list/index.d.ts +3 -0
  625. package/dist/components/description-list/index.d.ts.map +1 -0
  626. package/dist/components/description-list/index.js +5 -0
  627. package/dist/components/description-list/index.js.map +1 -0
  628. package/dist/components/dialog/dialog.agent.d.ts +10 -0
  629. package/dist/components/dialog/dialog.agent.d.ts.map +1 -0
  630. package/dist/components/dialog/dialog.d.ts +34 -0
  631. package/dist/components/dialog/dialog.d.ts.map +1 -0
  632. package/dist/components/dialog/index.d.ts +4 -0
  633. package/dist/components/dialog/index.d.ts.map +1 -0
  634. package/dist/components/dialog/index.js +6 -0
  635. package/dist/components/dialog/index.js.map +1 -0
  636. package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts +3 -0
  637. package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts.map +1 -0
  638. package/dist/components/dropdown-menu/dropdown-menu.d.ts +54 -0
  639. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +1 -0
  640. package/dist/components/dropdown-menu/index.d.ts +4 -0
  641. package/dist/components/dropdown-menu/index.d.ts.map +1 -0
  642. package/dist/components/dropdown-menu/index.js +7 -0
  643. package/dist/components/dropdown-menu/index.js.map +1 -0
  644. package/dist/components/empty-state/empty-state.d.ts +30 -0
  645. package/dist/components/empty-state/empty-state.d.ts.map +1 -0
  646. package/dist/components/empty-state/index.d.ts +3 -0
  647. package/dist/components/empty-state/index.d.ts.map +1 -0
  648. package/dist/components/empty-state/index.js +5 -0
  649. package/dist/components/empty-state/index.js.map +1 -0
  650. package/dist/components/file-upload/file-upload.agent.d.ts +3 -0
  651. package/dist/components/file-upload/file-upload.agent.d.ts.map +1 -0
  652. package/dist/components/file-upload/file-upload.d.ts +33 -0
  653. package/dist/components/file-upload/file-upload.d.ts.map +1 -0
  654. package/dist/components/file-upload/index.d.ts +4 -0
  655. package/dist/components/file-upload/index.d.ts.map +1 -0
  656. package/dist/components/file-upload/index.js +6 -0
  657. package/dist/components/file-upload/index.js.map +1 -0
  658. package/dist/components/flag/flag.d.ts +29 -0
  659. package/dist/components/flag/flag.d.ts.map +1 -0
  660. package/dist/components/flag/index.d.ts +3 -0
  661. package/dist/components/flag/index.d.ts.map +1 -0
  662. package/dist/components/flag/index.js +7 -0
  663. package/dist/components/flag/index.js.map +1 -0
  664. package/dist/components/floating-action-button/floating-action-button.d.ts +24 -0
  665. package/dist/components/floating-action-button/floating-action-button.d.ts.map +1 -0
  666. package/dist/components/floating-action-button/index.d.ts +2 -0
  667. package/dist/components/floating-action-button/index.d.ts.map +1 -0
  668. package/dist/components/floating-action-button/index.js +5 -0
  669. package/dist/components/floating-action-button/index.js.map +1 -0
  670. package/dist/components/form-field/form-field-context.d.ts +12 -0
  671. package/dist/components/form-field/form-field-context.d.ts.map +1 -0
  672. package/dist/components/form-field/form-field.d.ts +24 -0
  673. package/dist/components/form-field/form-field.d.ts.map +1 -0
  674. package/dist/components/form-field/index.d.ts +4 -0
  675. package/dist/components/form-field/index.d.ts.map +1 -0
  676. package/dist/components/form-field/index.js +8 -0
  677. package/dist/components/form-field/index.js.map +1 -0
  678. package/dist/components/freemium-paywall/freemium-paywall.d.ts +45 -0
  679. package/dist/components/freemium-paywall/freemium-paywall.d.ts.map +1 -0
  680. package/dist/components/freemium-paywall/index.d.ts +3 -0
  681. package/dist/components/freemium-paywall/index.d.ts.map +1 -0
  682. package/dist/components/freemium-paywall/index.js +5 -0
  683. package/dist/components/freemium-paywall/index.js.map +1 -0
  684. package/dist/components/header/header.d.ts +39 -0
  685. package/dist/components/header/header.d.ts.map +1 -0
  686. package/dist/components/header/index.d.ts +3 -0
  687. package/dist/components/header/index.d.ts.map +1 -0
  688. package/dist/components/header/index.js +12 -0
  689. package/dist/components/header/index.js.map +1 -0
  690. package/dist/components/icon-button-group/icon-button-group.d.ts +246 -0
  691. package/dist/components/icon-button-group/icon-button-group.d.ts.map +1 -0
  692. package/dist/components/icon-button-group/index.d.ts +3 -0
  693. package/dist/components/icon-button-group/index.d.ts.map +1 -0
  694. package/dist/components/icon-button-group/index.js +5 -0
  695. package/dist/components/icon-button-group/index.js.map +1 -0
  696. package/dist/components/index.d.ts +111 -0
  697. package/dist/components/index.d.ts.map +1 -0
  698. package/dist/components/kbd/index.d.ts +3 -0
  699. package/dist/components/kbd/index.d.ts.map +1 -0
  700. package/dist/components/kbd/index.js +6 -0
  701. package/dist/components/kbd/index.js.map +1 -0
  702. package/dist/components/kbd/kbd.d.ts +38 -0
  703. package/dist/components/kbd/kbd.d.ts.map +1 -0
  704. package/dist/components/key-value-pair/index.d.ts +3 -0
  705. package/dist/components/key-value-pair/index.d.ts.map +1 -0
  706. package/dist/components/key-value-pair/index.js +5 -0
  707. package/dist/components/key-value-pair/index.js.map +1 -0
  708. package/dist/components/key-value-pair/key-value-pair.d.ts +21 -0
  709. package/dist/components/key-value-pair/key-value-pair.d.ts.map +1 -0
  710. package/dist/components/list/index.d.ts +3 -0
  711. package/dist/components/list/index.d.ts.map +1 -0
  712. package/dist/components/list/index.js +5 -0
  713. package/dist/components/list/index.js.map +1 -0
  714. package/dist/components/list/list.d.ts +42 -0
  715. package/dist/components/list/list.d.ts.map +1 -0
  716. package/dist/components/logo/index.d.ts +3 -0
  717. package/dist/components/logo/index.d.ts.map +1 -0
  718. package/dist/components/logo/index.js +5 -0
  719. package/dist/components/logo/index.js.map +1 -0
  720. package/dist/components/logo/logo.d.ts +35 -0
  721. package/dist/components/logo/logo.d.ts.map +1 -0
  722. package/dist/components/message-card/index.d.ts +3 -0
  723. package/dist/components/message-card/index.d.ts.map +1 -0
  724. package/dist/components/message-card/index.js +6 -0
  725. package/dist/components/message-card/index.js.map +1 -0
  726. package/dist/components/message-card/message-card.d.ts +73 -0
  727. package/dist/components/message-card/message-card.d.ts.map +1 -0
  728. package/dist/components/message-tray/index.d.ts +3 -0
  729. package/dist/components/message-tray/index.d.ts.map +1 -0
  730. package/dist/components/message-tray/index.js +5 -0
  731. package/dist/components/message-tray/index.js.map +1 -0
  732. package/dist/components/message-tray/message-tray.d.ts +40 -0
  733. package/dist/components/message-tray/message-tray.d.ts.map +1 -0
  734. package/dist/components/multi-select/index.d.ts +4 -0
  735. package/dist/components/multi-select/index.d.ts.map +1 -0
  736. package/dist/components/multi-select/index.js +7 -0
  737. package/dist/components/multi-select/index.js.map +1 -0
  738. package/dist/components/multi-select/multi-select.agent.d.ts +3 -0
  739. package/dist/components/multi-select/multi-select.agent.d.ts.map +1 -0
  740. package/dist/components/multi-select/multi-select.d.ts +30 -0
  741. package/dist/components/multi-select/multi-select.d.ts.map +1 -0
  742. package/dist/components/navigation-menu/index.d.ts +3 -0
  743. package/dist/components/navigation-menu/index.d.ts.map +1 -0
  744. package/dist/components/navigation-menu/index.js +13 -0
  745. package/dist/components/navigation-menu/index.js.map +1 -0
  746. package/dist/components/navigation-menu/navigation-menu.d.ts +30 -0
  747. package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -0
  748. package/dist/components/notification-card/index.d.ts +3 -0
  749. package/dist/components/notification-card/index.d.ts.map +1 -0
  750. package/dist/components/notification-card/index.js +6 -0
  751. package/dist/components/notification-card/index.js.map +1 -0
  752. package/dist/components/notification-card/notification-card.d.ts +62 -0
  753. package/dist/components/notification-card/notification-card.d.ts.map +1 -0
  754. package/dist/components/notification-tray/index.d.ts +3 -0
  755. package/dist/components/notification-tray/index.d.ts.map +1 -0
  756. package/dist/components/notification-tray/index.js +5 -0
  757. package/dist/components/notification-tray/index.js.map +1 -0
  758. package/dist/components/notification-tray/notification-tray.d.ts +38 -0
  759. package/dist/components/notification-tray/notification-tray.d.ts.map +1 -0
  760. package/dist/components/number-input/index.d.ts +5 -0
  761. package/dist/components/number-input/index.d.ts.map +1 -0
  762. package/dist/components/number-input/index.js +6 -0
  763. package/dist/components/number-input/index.js.map +1 -0
  764. package/dist/components/number-input/number-input.d.ts +34 -0
  765. package/dist/components/number-input/number-input.d.ts.map +1 -0
  766. package/dist/components/number-input/use-locale-number.d.ts +15 -0
  767. package/dist/components/number-input/use-locale-number.d.ts.map +1 -0
  768. package/dist/components/otp-input/index.d.ts +3 -0
  769. package/dist/components/otp-input/index.d.ts.map +1 -0
  770. package/dist/components/otp-input/index.js +5 -0
  771. package/dist/components/otp-input/index.js.map +1 -0
  772. package/dist/components/otp-input/otp-input.d.ts +13 -0
  773. package/dist/components/otp-input/otp-input.d.ts.map +1 -0
  774. package/dist/components/pagination/index.d.ts +4 -0
  775. package/dist/components/pagination/index.d.ts.map +1 -0
  776. package/dist/components/pagination/index.js +13 -0
  777. package/dist/components/pagination/index.js.map +1 -0
  778. package/dist/components/pagination/pagination.agent.d.ts +3 -0
  779. package/dist/components/pagination/pagination.agent.d.ts.map +1 -0
  780. package/dist/components/pagination/pagination.d.ts +64 -0
  781. package/dist/components/pagination/pagination.d.ts.map +1 -0
  782. package/dist/components/password-input/index.d.ts +3 -0
  783. package/dist/components/password-input/index.d.ts.map +1 -0
  784. package/dist/components/password-input/index.js +5 -0
  785. package/dist/components/password-input/index.js.map +1 -0
  786. package/dist/components/password-input/password-input.d.ts +22 -0
  787. package/dist/components/password-input/password-input.d.ts.map +1 -0
  788. package/dist/components/payment-form/index.d.ts +4 -0
  789. package/dist/components/payment-form/index.d.ts.map +1 -0
  790. package/dist/components/payment-form/index.js +12 -0
  791. package/dist/components/payment-form/index.js.map +1 -0
  792. package/dist/components/payment-form/payment-form.agent.d.ts +4 -0
  793. package/dist/components/payment-form/payment-form.agent.d.ts.map +1 -0
  794. package/dist/components/payment-form/payment-form.d.ts +68 -0
  795. package/dist/components/payment-form/payment-form.d.ts.map +1 -0
  796. package/dist/components/pdf-viewer/index.d.ts +4 -0
  797. package/dist/components/pdf-viewer/index.d.ts.map +1 -0
  798. package/dist/components/pdf-viewer/index.js +6 -0
  799. package/dist/components/pdf-viewer/index.js.map +1 -0
  800. package/dist/components/pdf-viewer/pdf-viewer.agent.d.ts +4 -0
  801. package/dist/components/pdf-viewer/pdf-viewer.agent.d.ts.map +1 -0
  802. package/dist/components/pdf-viewer/pdf-viewer.d.ts +36 -0
  803. package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -0
  804. package/dist/components/phone-input/index.d.ts +3 -0
  805. package/dist/components/phone-input/index.d.ts.map +1 -0
  806. package/dist/components/phone-input/index.js +8 -0
  807. package/dist/components/phone-input/index.js.map +1 -0
  808. package/dist/components/phone-input/phone-input.d.ts +50 -0
  809. package/dist/components/phone-input/phone-input.d.ts.map +1 -0
  810. package/dist/components/popover/index.d.ts +4 -0
  811. package/dist/components/popover/index.d.ts.map +1 -0
  812. package/dist/components/popover/index.js +7 -0
  813. package/dist/components/popover/index.js.map +1 -0
  814. package/dist/components/popover/popover.agent.d.ts +3 -0
  815. package/dist/components/popover/popover.agent.d.ts.map +1 -0
  816. package/dist/components/popover/popover.d.ts +37 -0
  817. package/dist/components/popover/popover.d.ts.map +1 -0
  818. package/dist/components/privacy-lock/index.d.ts +3 -0
  819. package/dist/components/privacy-lock/index.d.ts.map +1 -0
  820. package/dist/components/privacy-lock/index.js +5 -0
  821. package/dist/components/privacy-lock/index.js.map +1 -0
  822. package/dist/components/privacy-lock/privacy-lock.d.ts +35 -0
  823. package/dist/components/privacy-lock/privacy-lock.d.ts.map +1 -0
  824. package/dist/components/progress/index.d.ts +4 -0
  825. package/dist/components/progress/index.d.ts.map +1 -0
  826. package/dist/components/progress/index.js +7 -0
  827. package/dist/components/progress/index.js.map +1 -0
  828. package/dist/components/progress/progress.agent.d.ts +4 -0
  829. package/dist/components/progress/progress.agent.d.ts.map +1 -0
  830. package/dist/components/progress/progress.d.ts +20 -0
  831. package/dist/components/progress/progress.d.ts.map +1 -0
  832. package/dist/components/radio-group/index.d.ts +5 -0
  833. package/dist/components/radio-group/index.d.ts.map +1 -0
  834. package/dist/components/radio-group/index.js +6 -0
  835. package/dist/components/radio-group/index.js.map +1 -0
  836. package/dist/components/radio-group/radio-group-context.d.ts +7 -0
  837. package/dist/components/radio-group/radio-group-context.d.ts.map +1 -0
  838. package/dist/components/radio-group/radio-group.d.ts +19 -0
  839. package/dist/components/radio-group/radio-group.d.ts.map +1 -0
  840. package/dist/components/radio-group/radio.d.ts +16 -0
  841. package/dist/components/radio-group/radio.d.ts.map +1 -0
  842. package/dist/components/resizable/index.d.ts +6 -0
  843. package/dist/components/resizable/index.d.ts.map +1 -0
  844. package/dist/components/resizable/index.js +10 -0
  845. package/dist/components/resizable/index.js.map +1 -0
  846. package/dist/components/resizable/resizable-context.d.ts +25 -0
  847. package/dist/components/resizable/resizable-context.d.ts.map +1 -0
  848. package/dist/components/resizable/resizable.agent.d.ts +3 -0
  849. package/dist/components/resizable/resizable.agent.d.ts.map +1 -0
  850. package/dist/components/resizable/resizable.d.ts +32 -0
  851. package/dist/components/resizable/resizable.d.ts.map +1 -0
  852. package/dist/components/rich-text-editor/index.d.ts +4 -0
  853. package/dist/components/rich-text-editor/index.d.ts.map +1 -0
  854. package/dist/components/rich-text-editor/index.js +10 -0
  855. package/dist/components/rich-text-editor/index.js.map +1 -0
  856. package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts +4 -0
  857. package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts.map +1 -0
  858. package/dist/components/rich-text-editor/rich-text-editor.d.ts +45 -0
  859. package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +1 -0
  860. package/dist/components/scroll-area/index.d.ts +4 -0
  861. package/dist/components/scroll-area/index.d.ts.map +1 -0
  862. package/dist/components/scroll-area/index.js +10 -0
  863. package/dist/components/scroll-area/index.js.map +1 -0
  864. package/dist/components/scroll-area/scroll-area.d.ts +29 -0
  865. package/dist/components/scroll-area/scroll-area.d.ts.map +1 -0
  866. package/dist/components/search-bar/index.d.ts +3 -0
  867. package/dist/components/search-bar/index.d.ts.map +1 -0
  868. package/dist/components/search-bar/index.js +6 -0
  869. package/dist/components/search-bar/index.js.map +1 -0
  870. package/dist/components/search-bar/search-bar.d.ts +59 -0
  871. package/dist/components/search-bar/search-bar.d.ts.map +1 -0
  872. package/dist/components/search-input/index.d.ts +3 -0
  873. package/dist/components/search-input/index.d.ts.map +1 -0
  874. package/dist/components/search-input/index.js +5 -0
  875. package/dist/components/search-input/index.js.map +1 -0
  876. package/dist/components/search-input/search-input.d.ts +28 -0
  877. package/dist/components/search-input/search-input.d.ts.map +1 -0
  878. package/dist/components/select/index.d.ts +5 -0
  879. package/dist/components/select/index.d.ts.map +1 -0
  880. package/dist/components/select/index.js +15 -0
  881. package/dist/components/select/index.js.map +1 -0
  882. package/dist/components/select/select.d.ts +78 -0
  883. package/dist/components/select/select.d.ts.map +1 -0
  884. package/dist/components/separator/index.d.ts +3 -0
  885. package/dist/components/separator/index.d.ts.map +1 -0
  886. package/dist/components/separator/index.js +5 -0
  887. package/dist/components/separator/index.js.map +1 -0
  888. package/dist/components/separator/separator.d.ts +26 -0
  889. package/dist/components/separator/separator.d.ts.map +1 -0
  890. package/dist/components/sheet/index.d.ts +4 -0
  891. package/dist/components/sheet/index.d.ts.map +1 -0
  892. package/dist/components/sheet/index.js +7 -0
  893. package/dist/components/sheet/index.js.map +1 -0
  894. package/dist/components/sheet/sheet.agent.d.ts +3 -0
  895. package/dist/components/sheet/sheet.agent.d.ts.map +1 -0
  896. package/dist/components/sheet/sheet.d.ts +34 -0
  897. package/dist/components/sheet/sheet.d.ts.map +1 -0
  898. package/dist/components/sidebar/index.d.ts +4 -0
  899. package/dist/components/sidebar/index.d.ts.map +1 -0
  900. package/dist/components/sidebar/index.js +25 -0
  901. package/dist/components/sidebar/index.js.map +1 -0
  902. package/dist/components/sidebar/sidebar.agent.d.ts +3 -0
  903. package/dist/components/sidebar/sidebar.agent.d.ts.map +1 -0
  904. package/dist/components/sidebar/sidebar.d.ts +174 -0
  905. package/dist/components/sidebar/sidebar.d.ts.map +1 -0
  906. package/dist/components/sign-in-with-alfadocs-button/index.d.ts +3 -0
  907. package/dist/components/sign-in-with-alfadocs-button/index.d.ts.map +1 -0
  908. package/dist/components/sign-in-with-alfadocs-button/index.js +5 -0
  909. package/dist/components/sign-in-with-alfadocs-button/index.js.map +1 -0
  910. package/dist/components/sign-in-with-alfadocs-button/sign-in-with-alfadocs-button.d.ts +23 -0
  911. package/dist/components/sign-in-with-alfadocs-button/sign-in-with-alfadocs-button.d.ts.map +1 -0
  912. package/dist/components/signature-capture/index.d.ts +4 -0
  913. package/dist/components/signature-capture/index.d.ts.map +1 -0
  914. package/dist/components/signature-capture/index.js +6 -0
  915. package/dist/components/signature-capture/index.js.map +1 -0
  916. package/dist/components/signature-capture/signature-capture.agent.d.ts +4 -0
  917. package/dist/components/signature-capture/signature-capture.agent.d.ts.map +1 -0
  918. package/dist/components/signature-capture/signature-capture.d.ts +53 -0
  919. package/dist/components/signature-capture/signature-capture.d.ts.map +1 -0
  920. package/dist/components/skeleton/index.d.ts +3 -0
  921. package/dist/components/skeleton/index.d.ts.map +1 -0
  922. package/dist/components/skeleton/index.js +5 -0
  923. package/dist/components/skeleton/index.js.map +1 -0
  924. package/dist/components/skeleton/skeleton.d.ts +29 -0
  925. package/dist/components/skeleton/skeleton.d.ts.map +1 -0
  926. package/dist/components/slider/index.d.ts +3 -0
  927. package/dist/components/slider/index.d.ts.map +1 -0
  928. package/dist/components/slider/index.js +5 -0
  929. package/dist/components/slider/index.js.map +1 -0
  930. package/dist/components/slider/slider.d.ts +31 -0
  931. package/dist/components/slider/slider.d.ts.map +1 -0
  932. package/dist/components/slot-grid/index.d.ts +3 -0
  933. package/dist/components/slot-grid/index.d.ts.map +1 -0
  934. package/dist/components/slot-grid/index.js +7 -0
  935. package/dist/components/slot-grid/index.js.map +1 -0
  936. package/dist/components/slot-grid/slot-grid.d.ts +82 -0
  937. package/dist/components/slot-grid/slot-grid.d.ts.map +1 -0
  938. package/dist/components/sparkline/index.d.ts +6 -0
  939. package/dist/components/sparkline/index.d.ts.map +1 -0
  940. package/dist/components/sparkline/index.js +7 -0
  941. package/dist/components/sparkline/index.js.map +1 -0
  942. package/dist/components/sparkline/sparkline.agent.d.ts +4 -0
  943. package/dist/components/sparkline/sparkline.agent.d.ts.map +1 -0
  944. package/dist/components/sparkline/sparkline.d.ts +39 -0
  945. package/dist/components/sparkline/sparkline.d.ts.map +1 -0
  946. package/dist/components/sparkline/use-linear-trend.d.ts +7 -0
  947. package/dist/components/sparkline/use-linear-trend.d.ts.map +1 -0
  948. package/dist/components/spinner/index.d.ts +3 -0
  949. package/dist/components/spinner/index.d.ts.map +1 -0
  950. package/dist/components/spinner/index.js +5 -0
  951. package/dist/components/spinner/index.js.map +1 -0
  952. package/dist/components/spinner/spinner.d.ts +18 -0
  953. package/dist/components/spinner/spinner.d.ts.map +1 -0
  954. package/dist/components/stat/index.d.ts +3 -0
  955. package/dist/components/stat/index.d.ts.map +1 -0
  956. package/dist/components/stat/index.js +5 -0
  957. package/dist/components/stat/index.js.map +1 -0
  958. package/dist/components/stat/stat.d.ts +32 -0
  959. package/dist/components/stat/stat.d.ts.map +1 -0
  960. package/dist/components/stepper-accordion/index.d.ts +4 -0
  961. package/dist/components/stepper-accordion/index.d.ts.map +1 -0
  962. package/dist/components/stepper-accordion/index.js +5 -0
  963. package/dist/components/stepper-accordion/index.js.map +1 -0
  964. package/dist/components/stepper-accordion/stepper-accordion.d.ts +32 -0
  965. package/dist/components/stepper-accordion/stepper-accordion.d.ts.map +1 -0
  966. package/dist/components/stepper-calendar/index.d.ts +3 -0
  967. package/dist/components/stepper-calendar/index.d.ts.map +1 -0
  968. package/dist/components/stepper-calendar/index.js +5 -0
  969. package/dist/components/stepper-calendar/index.js.map +1 -0
  970. package/dist/components/stepper-calendar/stepper-calendar.d.ts +44 -0
  971. package/dist/components/stepper-calendar/stepper-calendar.d.ts.map +1 -0
  972. package/dist/components/stepper-progress/index.d.ts +3 -0
  973. package/dist/components/stepper-progress/index.d.ts.map +1 -0
  974. package/dist/components/stepper-progress/index.js +5 -0
  975. package/dist/components/stepper-progress/index.js.map +1 -0
  976. package/dist/components/stepper-progress/stepper-progress.d.ts +28 -0
  977. package/dist/components/stepper-progress/stepper-progress.d.ts.map +1 -0
  978. package/dist/components/streaming-text/index.d.ts +3 -0
  979. package/dist/components/streaming-text/index.d.ts.map +1 -0
  980. package/dist/components/streaming-text/index.js +5 -0
  981. package/dist/components/streaming-text/index.js.map +1 -0
  982. package/dist/components/streaming-text/streaming-text.d.ts +23 -0
  983. package/dist/components/streaming-text/streaming-text.d.ts.map +1 -0
  984. package/dist/components/suggestion-chip/index.d.ts +3 -0
  985. package/dist/components/suggestion-chip/index.d.ts.map +1 -0
  986. package/dist/components/suggestion-chip/index.js +6 -0
  987. package/dist/components/suggestion-chip/index.js.map +1 -0
  988. package/dist/components/suggestion-chip/suggestion-chip.d.ts +28 -0
  989. package/dist/components/suggestion-chip/suggestion-chip.d.ts.map +1 -0
  990. package/dist/components/switch/index.d.ts +2 -0
  991. package/dist/components/switch/index.d.ts.map +1 -0
  992. package/dist/components/switch/index.js +5 -0
  993. package/dist/components/switch/index.js.map +1 -0
  994. package/dist/components/switch/switch.d.ts +21 -0
  995. package/dist/components/switch/switch.d.ts.map +1 -0
  996. package/dist/components/tabs/index.d.ts +4 -0
  997. package/dist/components/tabs/index.d.ts.map +1 -0
  998. package/dist/components/tabs/index.js +9 -0
  999. package/dist/components/tabs/index.js.map +1 -0
  1000. package/dist/components/tabs/tabs.agent.d.ts +3 -0
  1001. package/dist/components/tabs/tabs.agent.d.ts.map +1 -0
  1002. package/dist/components/tabs/tabs.d.ts +63 -0
  1003. package/dist/components/tabs/tabs.d.ts.map +1 -0
  1004. package/dist/components/tag/index.d.ts +3 -0
  1005. package/dist/components/tag/index.d.ts.map +1 -0
  1006. package/dist/components/tag/index.js +5 -0
  1007. package/dist/components/tag/index.js.map +1 -0
  1008. package/dist/components/tag/tag.d.ts +25 -0
  1009. package/dist/components/tag/tag.d.ts.map +1 -0
  1010. package/dist/components/task-card/index.d.ts +3 -0
  1011. package/dist/components/task-card/index.d.ts.map +1 -0
  1012. package/dist/components/task-card/index.js +6 -0
  1013. package/dist/components/task-card/index.js.map +1 -0
  1014. package/dist/components/task-card/task-card.d.ts +40 -0
  1015. package/dist/components/task-card/task-card.d.ts.map +1 -0
  1016. package/dist/components/task-tray/index.d.ts +3 -0
  1017. package/dist/components/task-tray/index.d.ts.map +1 -0
  1018. package/dist/components/task-tray/index.js +5 -0
  1019. package/dist/components/task-tray/index.js.map +1 -0
  1020. package/dist/components/task-tray/task-tray.d.ts +28 -0
  1021. package/dist/components/task-tray/task-tray.d.ts.map +1 -0
  1022. package/dist/components/text-area/index.d.ts +3 -0
  1023. package/dist/components/text-area/index.d.ts.map +1 -0
  1024. package/dist/components/text-area/index.js +5 -0
  1025. package/dist/components/text-area/index.js.map +1 -0
  1026. package/dist/components/text-area/text-area.d.ts +19 -0
  1027. package/dist/components/text-area/text-area.d.ts.map +1 -0
  1028. package/dist/components/text-input/index.d.ts +3 -0
  1029. package/dist/components/text-input/index.d.ts.map +1 -0
  1030. package/dist/components/text-input/index.js +5 -0
  1031. package/dist/components/text-input/index.js.map +1 -0
  1032. package/dist/components/text-input/text-input.d.ts +22 -0
  1033. package/dist/components/text-input/text-input.d.ts.map +1 -0
  1034. package/dist/components/theme-root/index.d.ts +3 -0
  1035. package/dist/components/theme-root/index.d.ts.map +1 -0
  1036. package/dist/components/theme-root/index.js +5 -0
  1037. package/dist/components/theme-root/index.js.map +1 -0
  1038. package/dist/components/theme-root/theme-root.d.ts +16 -0
  1039. package/dist/components/theme-root/theme-root.d.ts.map +1 -0
  1040. package/dist/components/time-picker/index.d.ts +3 -0
  1041. package/dist/components/time-picker/index.d.ts.map +1 -0
  1042. package/dist/components/time-picker/index.js +5 -0
  1043. package/dist/components/time-picker/index.js.map +1 -0
  1044. package/dist/components/time-picker/time-picker.d.ts +38 -0
  1045. package/dist/components/time-picker/time-picker.d.ts.map +1 -0
  1046. package/dist/components/timeline/index.d.ts +3 -0
  1047. package/dist/components/timeline/index.d.ts.map +1 -0
  1048. package/dist/components/timeline/index.js +5 -0
  1049. package/dist/components/timeline/index.js.map +1 -0
  1050. package/dist/components/timeline/timeline.d.ts +47 -0
  1051. package/dist/components/timeline/timeline.d.ts.map +1 -0
  1052. package/dist/components/timestamp/index.d.ts +3 -0
  1053. package/dist/components/timestamp/index.d.ts.map +1 -0
  1054. package/dist/components/timestamp/index.js +5 -0
  1055. package/dist/components/timestamp/index.js.map +1 -0
  1056. package/dist/components/timestamp/timestamp.d.ts +51 -0
  1057. package/dist/components/timestamp/timestamp.d.ts.map +1 -0
  1058. package/dist/components/toast/index.d.ts +3 -0
  1059. package/dist/components/toast/index.d.ts.map +1 -0
  1060. package/dist/components/toast/index.js +9 -0
  1061. package/dist/components/toast/index.js.map +1 -0
  1062. package/dist/components/toast/toast.d.ts +32 -0
  1063. package/dist/components/toast/toast.d.ts.map +1 -0
  1064. package/dist/components/tooltip/index.d.ts +3 -0
  1065. package/dist/components/tooltip/index.d.ts.map +1 -0
  1066. package/dist/components/tooltip/index.js +6 -0
  1067. package/dist/components/tooltip/index.js.map +1 -0
  1068. package/dist/components/tooltip/tooltip.d.ts +31 -0
  1069. package/dist/components/tooltip/tooltip.d.ts.map +1 -0
  1070. package/dist/components/tooth-scheme/index.d.ts +5 -0
  1071. package/dist/components/tooth-scheme/index.d.ts.map +1 -0
  1072. package/dist/components/tooth-scheme/index.js +20 -0
  1073. package/dist/components/tooth-scheme/index.js.map +1 -0
  1074. package/dist/components/tooth-scheme/tooth-data.d.ts +91 -0
  1075. package/dist/components/tooth-scheme/tooth-data.d.ts.map +1 -0
  1076. package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts +4 -0
  1077. package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts.map +1 -0
  1078. package/dist/components/tooth-scheme/tooth-scheme.d.ts +34 -0
  1079. package/dist/components/tooth-scheme/tooth-scheme.d.ts.map +1 -0
  1080. package/dist/components/transcript-panel/index.d.ts +3 -0
  1081. package/dist/components/transcript-panel/index.d.ts.map +1 -0
  1082. package/dist/components/transcript-panel/index.js +5 -0
  1083. package/dist/components/transcript-panel/index.js.map +1 -0
  1084. package/dist/components/transcript-panel/transcript-panel.d.ts +25 -0
  1085. package/dist/components/transcript-panel/transcript-panel.d.ts.map +1 -0
  1086. package/dist/components/typing-indicator/index.d.ts +3 -0
  1087. package/dist/components/typing-indicator/index.d.ts.map +1 -0
  1088. package/dist/components/typing-indicator/index.js +5 -0
  1089. package/dist/components/typing-indicator/index.js.map +1 -0
  1090. package/dist/components/typing-indicator/typing-indicator.d.ts +17 -0
  1091. package/dist/components/typing-indicator/typing-indicator.d.ts.map +1 -0
  1092. package/dist/components/warning-stack/index.d.ts +2 -0
  1093. package/dist/components/warning-stack/index.d.ts.map +1 -0
  1094. package/dist/components/warning-stack/index.js +5 -0
  1095. package/dist/components/warning-stack/index.js.map +1 -0
  1096. package/dist/components/warning-stack/warning-stack.d.ts +42 -0
  1097. package/dist/components/warning-stack/warning-stack.d.ts.map +1 -0
  1098. package/dist/components/workflow/index.d.ts +9 -0
  1099. package/dist/components/workflow/index.d.ts.map +1 -0
  1100. package/dist/components/workflow/index.js +14 -0
  1101. package/dist/components/workflow/index.js.map +1 -0
  1102. package/dist/components/workflow/workflow-card.d.ts +25 -0
  1103. package/dist/components/workflow/workflow-card.d.ts.map +1 -0
  1104. package/dist/components/workflow/workflow-editor.d.ts +29 -0
  1105. package/dist/components/workflow/workflow-editor.d.ts.map +1 -0
  1106. package/dist/components/workflow/workflow-map.d.ts +26 -0
  1107. package/dist/components/workflow/workflow-map.d.ts.map +1 -0
  1108. package/dist/components/workflow/workflow-types.d.ts +128 -0
  1109. package/dist/components/workflow/workflow-types.d.ts.map +1 -0
  1110. package/dist/fonts/SpaceGrotesk-VF.woff2 +0 -0
  1111. package/dist/hooks/index.d.ts +4 -0
  1112. package/dist/hooks/index.d.ts.map +1 -0
  1113. package/dist/hooks/index.js +12 -0
  1114. package/dist/hooks/index.js.map +1 -0
  1115. package/dist/hooks/use-prefers-reduced-motion.d.ts +10 -0
  1116. package/dist/hooks/use-prefers-reduced-motion.d.ts.map +1 -0
  1117. package/dist/hooks/use-theme.d.ts +51 -0
  1118. package/dist/hooks/use-theme.d.ts.map +1 -0
  1119. package/dist/i18n/config.d.ts +4 -0
  1120. package/dist/i18n/config.d.ts.map +1 -0
  1121. package/dist/i18n/config.js +2763 -0
  1122. package/dist/i18n/config.js.map +1 -0
  1123. package/dist/i18n/resources.d.ts +2809 -0
  1124. package/dist/i18n/resources.d.ts.map +1 -0
  1125. package/dist/index.js +434 -0
  1126. package/dist/index.js.map +1 -0
  1127. package/dist/locales/ar.json +1 -0
  1128. package/dist/locales/de.json +921 -0
  1129. package/dist/locales/en.json +945 -0
  1130. package/dist/locales/it.json +921 -0
  1131. package/dist/option/index.js +2 -0
  1132. package/dist/option/index.js.map +1 -0
  1133. package/dist/patterns/leo-assistant/index.d.ts +20 -0
  1134. package/dist/patterns/leo-assistant/index.d.ts.map +1 -0
  1135. package/dist/patterns/leo-assistant/index.js +8 -0
  1136. package/dist/patterns/leo-assistant/index.js.map +1 -0
  1137. package/dist/patterns/leo-assistant/leo-chat-surface.d.ts +3 -0
  1138. package/dist/patterns/leo-assistant/leo-chat-surface.d.ts.map +1 -0
  1139. package/dist/patterns/leo-assistant/leo-embedded.d.ts +13 -0
  1140. package/dist/patterns/leo-assistant/leo-embedded.d.ts.map +1 -0
  1141. package/dist/patterns/leo-assistant/leo-popout.d.ts +13 -0
  1142. package/dist/patterns/leo-assistant/leo-popout.d.ts.map +1 -0
  1143. package/dist/patterns/leo-assistant/leo-sidebar.d.ts +38 -0
  1144. package/dist/patterns/leo-assistant/leo-sidebar.d.ts.map +1 -0
  1145. package/dist/patterns/leo-assistant/leo-types.d.ts +122 -0
  1146. package/dist/patterns/leo-assistant/leo-types.d.ts.map +1 -0
  1147. package/dist/patterns/patient-shell/index.d.ts +12 -0
  1148. package/dist/patterns/patient-shell/index.d.ts.map +1 -0
  1149. package/dist/patterns/patient-shell/index.js +5 -0
  1150. package/dist/patterns/patient-shell/index.js.map +1 -0
  1151. package/dist/patterns/patient-shell/patient-shell.d.ts +62 -0
  1152. package/dist/patterns/patient-shell/patient-shell.d.ts.map +1 -0
  1153. package/dist/safe-html/index.js +66 -0
  1154. package/dist/safe-html/index.js.map +1 -0
  1155. package/dist/tokens/apexcharts-theme.d.ts +3 -0
  1156. package/dist/tokens/apexcharts-theme.d.ts.map +1 -0
  1157. package/dist/tokens/themes/bridges/stripe-appearance.d.ts +10 -0
  1158. package/dist/tokens/themes/bridges/stripe-appearance.d.ts.map +1 -0
  1159. package/dist/tokens.css +3 -0
  1160. package/package.json +330 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-BIXVzhkL.js","sources":["../../node_modules/lucide-react/dist/esm/icons/ban.js","../../node_modules/lucide-react/dist/esm/icons/euro.js","../../node_modules/lucide-react/dist/esm/icons/heart-pulse.js","../../node_modules/lucide-react/dist/esm/icons/stethoscope.js","../../node_modules/lucide-react/dist/esm/icons/thumbs-up.js","../../node_modules/lucide-react/dist/esm/icons/video.js","../../node_modules/lucide-react/dist/esm/icons/zap.js","../../src/components/calendar/calendar.agent.ts","../../src/components/calendar/calendar.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M4.929 4.929 19.07 19.071\", key: \"196cmz\" }]\n];\nconst Ban = createLucideIcon(\"ban\", __iconNode);\n\nexport { __iconNode, Ban as default };\n//# sourceMappingURL=ban.js.map\n","/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M4 10h12\", key: \"1y6xl8\" }],\n [\"path\", { d: \"M4 14h9\", key: \"1loblj\" }],\n [\n \"path\",\n {\n d: \"M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2\",\n key: \"1j6lzo\"\n }\n ]\n];\nconst Euro = createLucideIcon(\"euro\", __iconNode);\n\nexport { __iconNode, Euro as default };\n//# sourceMappingURL=euro.js.map\n","/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5\",\n key: \"mvr1a0\"\n }\n ],\n [\"path\", { d: \"M3.22 13H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27\", key: \"auskq0\" }]\n];\nconst HeartPulse = createLucideIcon(\"heart-pulse\", __iconNode);\n\nexport { __iconNode, HeartPulse as default };\n//# sourceMappingURL=heart-pulse.js.map\n","/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M11 2v2\", key: \"1539x4\" }],\n [\"path\", { d: \"M5 2v2\", key: \"1yf1q8\" }],\n [\"path\", { d: \"M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1\", key: \"rb5t3r\" }],\n [\"path\", { d: \"M8 15a6 6 0 0 0 12 0v-3\", key: \"x18d4x\" }],\n [\"circle\", { cx: \"20\", cy: \"10\", r: \"2\", key: \"ts1r5v\" }]\n];\nconst Stethoscope = createLucideIcon(\"stethoscope\", __iconNode);\n\nexport { __iconNode, Stethoscope as default };\n//# sourceMappingURL=stethoscope.js.map\n","/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z\",\n key: \"emmmcr\"\n }\n ],\n [\"path\", { d: \"M7 10v12\", key: \"1qc93n\" }]\n];\nconst ThumbsUp = createLucideIcon(\"thumbs-up\", __iconNode);\n\nexport { __iconNode, ThumbsUp as default };\n//# sourceMappingURL=thumbs-up.js.map\n","/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5\",\n key: \"ftymec\"\n }\n ],\n [\"rect\", { x: \"2\", y: \"6\", width: \"14\", height: \"12\", rx: \"2\", key: \"158x01\" }]\n];\nconst Video = createLucideIcon(\"video\", __iconNode);\n\nexport { __iconNode, Video as default };\n//# sourceMappingURL=video.js.map\n","/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\",\n key: \"1xq2db\"\n }\n ]\n];\nconst Zap = createLucideIcon(\"zap\", __iconNode);\n\nexport { __iconNode, Zap as default };\n//# sourceMappingURL=zap.js.map\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — Calendar. */\n/* */\n/* Calendar's existing `CalendarHandle` is the canonical shape for an */\n/* agent-friendly third-party wrapper — see `26-agent-readiness.mdx` */\n/* §15. The handle methods translate directly into adapter actions. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { CalendarHandle, CalendarView } from './calendar';\n\nexport const calendarAgent: AgentAdapter<CalendarHandle> = {\n id: 'calendar',\n capabilities: ['view_change', 'range_navigate', 'pick'],\n state: {\n currentView: {\n type: 'CalendarView',\n descriptionKey: 'ui.agent.calendar.state.currentView',\n description: 'Active view name (e.g. dayGridMonth, timeGridWeek).',\n read: (handle) => handle.getCurrentView() ?? null,\n },\n currentDate: {\n type: 'iso-date',\n descriptionKey: 'ui.agent.calendar.state.currentDate',\n description: 'ISO date anchor of the visible range.',\n read: (handle) => handle.getCurrentDate()?.toISOString() ?? null,\n },\n currentTitle: {\n type: 'string',\n descriptionKey: 'ui.agent.calendar.state.currentTitle',\n description: 'Human title of the current range (e.g. \"April 2026\").',\n read: (handle) => handle.getTitle(),\n },\n },\n actions: {\n today: {\n safety: 'read',\n descriptionKey: 'ui.agent.calendar.actions.today',\n description: 'Jump to the current day.',\n invoke: (handle) => {\n handle.today();\n },\n },\n prev: {\n safety: 'read',\n descriptionKey: 'ui.agent.calendar.actions.prev',\n description: 'Move to the previous range.',\n invoke: (handle) => {\n handle.prev();\n },\n },\n next: {\n safety: 'read',\n descriptionKey: 'ui.agent.calendar.actions.next',\n description: 'Move to the next range.',\n invoke: (handle) => {\n handle.next();\n },\n },\n goto_date: {\n safety: 'read',\n argsType: '{ date: string | Date }',\n descriptionKey: 'ui.agent.calendar.actions.gotoDate',\n description: 'Navigate to a specific date.',\n invoke: (handle, args: { date: string | Date }) => {\n handle.gotoDate(args.date);\n },\n },\n change_view: {\n safety: 'read',\n argsType: '{ view: CalendarView }',\n descriptionKey: 'ui.agent.calendar.actions.changeView',\n description: 'Switch the calendar to the given view.',\n invoke: (handle, args: { view: CalendarView }) => {\n handle.changeView(args.view);\n },\n },\n focus_event: {\n safety: 'read',\n argsType: '{ eventId: string }',\n descriptionKey: 'ui.agent.calendar.actions.focusEvent',\n description: 'Scroll an event into view and briefly highlight it.',\n invoke: (handle, args: { eventId: string }) => {\n handle.focusEvent(args.eventId);\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'calendar',\n description: 'Marks the Calendar wrapper.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n item: {\n attr: 'data-event-id',\n description: 'Emitted on every rendered FullCalendar event by the kit event renderer. Used by focusEvent.',\n },\n },\n};\n","/* ------------------------------------------------------------------ */\n/* Calendar — a thin, typed wrapper over FullCalendar. */\n/* */\n/* - Plugins are registered once internally so consumers never import */\n/* `@fullcalendar/core` / plugins directly (08-third-party §Calendar).*/\n/* - Chrome is styled entirely from `fullcalendar-theme.css` via the */\n/* `.fc-theme-alfadocs` root class — no inline styles anywhere. */\n/* - Locale, week-start, date formats, and direction all flow from the */\n/* active i18next language (06-i18n.mdx). */\n/* */\n/* TODO (deferred, per implementation plan): */\n/* - Virtualised resource timeline with @tanstack/react-virtual for */\n/* > 50 resources (performance user story). */\n/* - Protanopia screenshot stories (colour-blind story acceptance). */\n/* - Playwright performance trace for 1000 events / 50 resources. */\n/* ------------------------------------------------------------------ */\n\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { cva } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport FullCalendar from '@fullcalendar/react';\nimport dayGridPlugin from '@fullcalendar/daygrid';\nimport timeGridPlugin from '@fullcalendar/timegrid';\nimport listPlugin from '@fullcalendar/list';\nimport resourcePlugin from '@fullcalendar/resource';\nimport type { ResourceLabelContentArg } from '@fullcalendar/resource';\nimport resourceTimeGridPlugin from '@fullcalendar/resource-timegrid';\nimport resourceTimelinePlugin from '@fullcalendar/resource-timeline';\nimport timelinePlugin from '@fullcalendar/timeline';\nimport interactionPlugin from '@fullcalendar/interaction';\nimport type { EventResizeDoneArg } from '@fullcalendar/interaction';\nimport type {\n DatesSetArg,\n EventClickArg,\n EventContentArg,\n EventDropArg,\n DateSelectArg,\n EventInput,\n} from '@fullcalendar/core';\nimport {\n ThumbsUp,\n Clock,\n Stethoscope,\n Check,\n Ban,\n Zap,\n Globe,\n AlertTriangle,\n HeartPulse,\n Euro,\n Video,\n ChevronLeft,\n ChevronRight,\n type LucideIcon,\n} from 'lucide-react';\nimport '../../tokens/themes/bridges/fullcalendar-theme.css';\n\nimport { usePrefersReducedMotion } from '../../hooks';\nimport { useAgentRegistration } from '../../agent';\nimport { warnLowContrast } from './contrast-warning';\nimport { calendarAgent } from './calendar.agent';\n\n/* ------------------------------------------------------------------ */\n/* Public types */\n/* ------------------------------------------------------------------ */\n\nexport type CalendarView =\n // Standard views\n | 'dayGridMonth'\n | 'timeGridWeek'\n | 'timeGridDay'\n | 'listWeek'\n // Chair resource views\n | 'resourceTimeGridDayChair'\n | 'resourceTimeGridThreeDaysChair'\n | 'resourceTimeGridWeekChair'\n // Operator resource views\n | 'resourceTimeGridDayOperator'\n | 'resourceTimeGridThreeDaysOperator'\n | 'resourceTimeGridWeekOperator';\n\n/**\n * View-name mapping table — maps the DS public view name (with the\n * Chair/Operator semantic suffix stripped) onto the internal FullCalendar\n * view name for each `resourceLayout` orientation. The table is exported\n * via `resolveFullCalendarView`; invalid combinations are caught at\n * compile time because the `CalendarView` union is exhaustive.\n */\nconst RESOURCE_VIEW_MAP = {\n vertical: {\n Day: 'resourceTimeGridDay',\n ThreeDays: 'resourceTimeGridThreeDays',\n Week: 'resourceTimeGridWeek',\n },\n horizontal: {\n Day: 'resourceTimelineDay',\n ThreeDays: 'resourceTimelineThreeDays',\n Week: 'resourceTimelineWeek',\n },\n} as const satisfies Record<\n 'vertical' | 'horizontal',\n Record<'Day' | 'ThreeDays' | 'Week', string>\n>;\n\ntype ResourceViewStem = keyof (typeof RESOURCE_VIEW_MAP)['vertical'];\n\nconst STANDARD_VIEWS = new Set<CalendarView>([\n 'dayGridMonth',\n 'timeGridWeek',\n 'timeGridDay',\n 'listWeek',\n]);\n\n/**\n * Maps a public `CalendarView` name to the internal FullCalendar view\n * name. `resourceLayout` selects between `resourceTimeGrid*` (vertical)\n * and `resourceTimeline*` (horizontal) for the 6 resource views; the\n * 4 standard views are returned as-is.\n */\nexport function resolveFullCalendarView(\n view: CalendarView,\n resourceLayout: 'vertical' | 'horizontal' = 'vertical',\n): string {\n if (STANDARD_VIEWS.has(view)) {\n return view;\n }\n // Strip the trailing Chair / Operator suffix — the DS maps both to the\n // same internal FC view name. The suffix is semantic only.\n const withoutPrefix = view.replace(/^resourceTimeGrid/, '');\n const stem = withoutPrefix.replace(/(Chair|Operator)$/, '') as ResourceViewStem;\n return RESOURCE_VIEW_MAP[resourceLayout][stem];\n}\n\n/**\n * Registered custom FC view shapes — the two 3-day views are defined as\n * durations over the base `resourceTimeGrid` / `resourceTimeline` types.\n * Kept at module scope because the object is a compile-time constant.\n * Typed loosely to match FC's `ViewConfigInputHash` ( `[viewType: string]:\n * ViewConfigInput` ).\n */\nconst CALENDAR_CUSTOM_VIEWS: Record<\n string,\n { type: string; duration: { days: number } }\n> = {\n resourceTimeGridThreeDays: {\n type: 'resourceTimeGrid',\n duration: { days: 3 },\n },\n resourceTimelineThreeDays: {\n type: 'resourceTimeline',\n duration: { days: 3 },\n },\n};\n\nexport type CalendarEventStatus =\n | 'confirmed'\n | 'waiting'\n | 'in_care'\n | 'done'\n | 'cancelled'\n | 'absent';\n\nexport type CalendarMode = 'default' | 'create' | 'move' | 'copy';\n\nexport interface CalendarEvent {\n id: string;\n title: string;\n start: string | Date;\n end?: string | Date;\n resourceId?: string;\n allDay?: boolean;\n\n /* Appointment-specific (all optional) */\n status?: CalendarEventStatus;\n /** Hex colour from a DoctorColor palette — overrides CVA bg. */\n backgroundColor?: string;\n /** Hex colour from a DoctorColor palette — overrides CVA text. */\n textColor?: string;\n /** Extra description rendered after the title in normal weight. */\n suffix?: string;\n /** Masked title shown when `privacyMode` is true. */\n privacyModeTitle?: string;\n /** Shows a Globe icon + zebra overlay. */\n isBookedOnline?: boolean;\n /** Shows an AlertTriangle icon. */\n hasUnassignedPatient?: boolean;\n /** Shows a HeartPulse icon. */\n hasHighlightedAnamnesis?: boolean;\n /** Shows a Euro icon. */\n hasBillableAmount?: boolean;\n /** Shows a Video icon. */\n isTelehealth?: boolean;\n isRecurrenceParent?: boolean;\n /** Rendered as a background event; not clickable. */\n isInternal?: boolean;\n patientId?: string | number;\n operatorId?: string | number;\n}\n\nexport interface CalendarResource {\n id: string;\n title: string;\n /** Initials for the compact \"avatar\" label (e.g. \"MR\"). */\n shortTitle?: string;\n /** Hex background colour for the dot or initials circle. */\n color?: string;\n /** Hex text colour for the initials circle. */\n shortTitleTextColor?: string;\n /** Numeric ordering — passed to FullCalendar's `resourceOrder`. */\n sequenceNumber?: number;\n}\n\nexport interface CalendarEventDropInfo {\n event: CalendarEvent;\n oldStart: Date;\n newStart: Date;\n}\n\nexport interface CalendarEventResizeInfo {\n event: CalendarEvent;\n oldEnd: Date;\n newEnd: Date;\n}\n\nexport interface CalendarDateSelectInfo {\n start: Date;\n end: Date;\n allDay: boolean;\n resourceId?: string;\n}\n\nexport interface CalendarProps {\n /**\n * Stable identifier for this calendar instance. Used for the agent-readiness\n * `data-component-id` attribute and the agent registry. Required only when\n * the consuming app expects an MCP / agent integration to address this\n * specific calendar.\n */\n id?: string;\n /** Events to render on the calendar. */\n events: CalendarEvent[];\n /** Resources for `resourceTimeline` view. */\n resources?: CalendarResource[];\n /** Active view. */\n view?: CalendarView;\n /** Initial date (string or Date). */\n initialDate?: string | Date;\n /** Locale override — defaults to the active i18next language. */\n locale?: string;\n /** Fires when an event is dragged to a new slot. */\n onEventDrop?: (info: CalendarEventDropInfo) => void;\n /** Fires when an event is resized. */\n onEventResize?: (info: CalendarEventResizeInfo) => void;\n /** Fires when an event resize gesture begins. */\n onEventResizeStart?: () => void;\n /** Fires when an event is clicked. */\n onEventClick?: (event: CalendarEvent) => void;\n /** Fires when the user click-drags a range to create a new event. */\n onDateSelect?: (range: CalendarDateSelectInfo) => void;\n /** Allow drag-drop rescheduling. */\n editable?: boolean;\n /** Allow resize gestures on events. Defaults to `editable`. */\n eventDurationEditable?: boolean;\n /** Allow click-drag to create. */\n selectable?: boolean;\n /** Height of the calendar. */\n height?: number | string;\n /** Extra class names on the wrapper. */\n className?: string;\n /** Mask patient titles — announces state changes via aria-live. */\n privacyMode?: boolean;\n /** Interaction mode — renders a sticky banner when not `'default'`. */\n mode?: CalendarMode;\n /** Override text for the mode banner. */\n modeLabel?: string;\n /** Hex background colour for the mode banner (consuming-app supplied). */\n modeBannerColor?: string;\n /** Hex text colour for the mode banner. */\n modeBannerTextColor?: string;\n /** Cancel handler wired to the mode banner button. */\n onModeCancel?: () => void;\n /** Optional alert banner rendered above the mode banner. */\n alertBanner?: ReactNode;\n /** Lower bound of the time axis (e.g. '07:00'). */\n slotMinTime?: string;\n /** Upper bound of the time axis (e.g. '23:00'). */\n slotMaxTime?: string;\n /** Slot duration (e.g. '00:15'). */\n slotDuration?: string;\n /** When false, hides the inline time pill on events. */\n showTime?: boolean;\n /** Place date headers above the resource axis. */\n datesAboveResources?: boolean;\n /** Allow overlapping events in the same slot. */\n slotEventOverlap?: boolean;\n /** Keep date headers pinned during scroll. */\n stickyHeaderDates?: boolean;\n /** Show a now-indicator line on time-grid views. */\n nowIndicator?: boolean;\n /** Collapse overflow events into \"+N more\" links. */\n dayMaxEvents?: boolean | number;\n /**\n * FullCalendar Scheduler premium license key. Required for the\n * `resourceTimeline` view. Defaults to `VITE_FULLCALENDAR_LICENSE_KEY`\n * from the environment; consumers can override per-instance.\n */\n schedulerLicenseKey?: string;\n /**\n * Show the built-in toolbar. Default true. Pass false to hide it\n * entirely (e.g. when the consuming app renders its own\n * `<Calendar.Toolbar ... />` elsewhere on the page).\n */\n toolbar?: boolean;\n /**\n * Extra controls rendered at the inline-end of the default toolbar —\n * commonly a view switcher, a privacy toggle, or an \"add appointment\"\n * button. Ignored when `toolbar` is false.\n */\n toolbarEnd?: ReactNode;\n /**\n * Orientation for resource views. `vertical` (default) uses\n * `resourceTimeGrid` — resources as columns, time as rows.\n * `horizontal` uses `resourceTimeline` — resources as rows, time as columns.\n * Ignored for non-resource views.\n */\n resourceLayout?: 'vertical' | 'horizontal';\n /**\n * When true, render a round initials avatar (using\n * `resource.shortTitle` + `resource.color` + `resource.shortTitleTextColor`)\n * in the resource label. When false (default), a small coloured dot\n * prefixes the title when `resource.color` is set.\n */\n showResourceInitials?: boolean;\n}\n\nexport interface CalendarHandle {\n /** Returns the internal FullCalendar instance for advanced use. */\n getApi: () => unknown;\n /** Jump to today. */\n today: () => void;\n /** Navigate to the previous period. */\n prev: () => void;\n /** Navigate to the next period. */\n next: () => void;\n /** Navigate to an arbitrary date. */\n gotoDate: (date: Date | string) => void;\n /** Switch the active view. */\n changeView: (view: CalendarView) => void;\n /** Current view title (e.g. \"April 2026\") — reflects the FC API getter. */\n getTitle: () => string;\n /** Currently active view name. */\n getCurrentView: () => CalendarView | undefined;\n /** Currently focused date — the anchor of the visible range. */\n getCurrentDate: () => Date | undefined;\n /** Scroll to an event by id and briefly highlight it. */\n focusEvent: (eventId: string) => void;\n}\n\n/* Narrow structural interface for the subset of the FullCalendar API\n we actually invoke. Keeps the handle methods typed without pulling\n `@fullcalendar/core` types across the public boundary. */\ninterface FcApi {\n today: () => void;\n prev: () => void;\n next: () => void;\n gotoDate: (date: Date | string) => void;\n changeView: (view: string) => void;\n render: () => void;\n getDate: () => Date;\n view: { title: string; type: string };\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA — status → event card classes */\n/* ------------------------------------------------------------------ */\n\nconst eventCardVariants = cva(\n [\n 'flex flex-col gap-[var(--spacing-xs)]',\n 'w-full h-full',\n 'ps-[var(--spacing-xs)] pe-[var(--spacing-xs)]',\n 'rounded-[var(--radius-sm)]',\n 'text-[var(--font-size-sm)]',\n 'font-[var(--font-weight-medium)]',\n 'overflow-hidden',\n 'focus-visible:outline-[length:var(--focus-ring-width)]',\n 'focus-visible:outline-[var(--ring)]',\n 'focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n ].join(' '),\n {\n variants: {\n status: {\n confirmed:\n 'bg-[var(--success)] text-[var(--success-solid-foreground)] border border-[var(--success)]',\n waiting:\n 'bg-[var(--info)] text-[var(--info-solid-foreground)] border border-[var(--info)]',\n in_care:\n 'bg-[var(--primary)] text-[var(--primary-foreground)] border border-[var(--primary)]',\n done:\n 'bg-[color-mix(in_srgb,var(--success)_70%,transparent)] text-[var(--success-solid-foreground)] border border-[color-mix(in_srgb,var(--success)_70%,transparent)]',\n cancelled:\n 'bg-[var(--destructive)] text-[var(--destructive-foreground)] border border-[var(--destructive)] line-through',\n absent:\n 'bg-[var(--warning)] text-[var(--warning-solid-foreground)] border border-[var(--warning)]',\n default:\n 'bg-[var(--primary)] text-[var(--primary-foreground)] border border-[var(--primary)]',\n },\n },\n defaultVariants: { status: 'default' },\n },\n);\n\nconst STATUS_ICON: Record<CalendarEventStatus, LucideIcon> = {\n confirmed: ThumbsUp,\n waiting: Clock,\n in_care: Stethoscope,\n done: Check,\n cancelled: Ban,\n absent: Zap,\n};\n\n/* Mode banner → i18n key lookup. Kept as a literal object (not a\n template) so static-analysis extractors can find every key. */\nconst MODE_BANNER_KEYS: Record<Exclude<CalendarMode, 'default'>, string> = {\n create: 'calendar.modeBanner.create',\n move: 'calendar.modeBanner.move',\n copy: 'calendar.modeBanner.copy',\n};\n\n/* ------------------------------------------------------------------ */\n/* Helpers */\n/* ------------------------------------------------------------------ */\n\ninterface LocaleWeekInfo {\n firstDay?: number;\n}\n\ninterface LocaleWithWeekInfo {\n getWeekInfo?: () => LocaleWeekInfo;\n weekInfo?: LocaleWeekInfo;\n}\n\n/**\n * Resolve the first day of the week for a locale using the modern\n * `Intl.Locale.getWeekInfo()` API when available, falling back to Monday\n * for EU-leaning locales and Sunday for en-US / he-IL / ar-SA.\n */\nexport function resolveFirstDay(locale: string): number {\n try {\n const intlLocale = new Intl.Locale(locale) as unknown as LocaleWithWeekInfo;\n const info =\n typeof intlLocale.getWeekInfo === 'function'\n ? intlLocale.getWeekInfo()\n : intlLocale.weekInfo;\n if (info && typeof info.firstDay === 'number') {\n return info.firstDay % 7;\n }\n } catch {\n /* no-op — fall through to heuristic */\n }\n if (\n locale.startsWith('en-US') ||\n locale.startsWith('he') ||\n locale.startsWith('ar-SA')\n ) {\n return 0;\n }\n return 1;\n}\n\n/**\n * Small hook that mirrors the parent Calendar's document-dir observer\n * so sub-components can swap physical icons for logical direction\n * without threading a prop through. Returns true when the effective\n * document direction is RTL.\n */\nfunction useIsRtl(): boolean {\n const { i18n } = useTranslation();\n const [isRtl, setIsRtl] = useState<boolean>(() => {\n if (typeof document === 'undefined') return false;\n const docDir = document.documentElement.getAttribute('dir');\n const i18nDir = typeof i18n.dir === 'function' ? i18n.dir() : 'ltr';\n return docDir === 'rtl' || i18nDir === 'rtl';\n });\n\n useEffect(() => {\n if (typeof document === 'undefined') return undefined;\n const observer = new MutationObserver(() => {\n const docDir = document.documentElement.getAttribute('dir');\n const i18nDir = typeof i18n.dir === 'function' ? i18n.dir() : 'ltr';\n setIsRtl(docDir === 'rtl' || i18nDir === 'rtl');\n });\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['dir', 'lang'],\n });\n return () => observer.disconnect();\n }, [i18n]);\n\n return isRtl;\n}\n\n/* ------------------------------------------------------------------ */\n/* Event content render-prop */\n/* */\n/* Renders the event card with: */\n/* - a status icon (aria-hidden) coloured by status token */\n/* - indicator icons (online, unassigned, anamnesis, billable, tele) */\n/* - a time range pill (when !allDay && showTime) */\n/* - the event title (bold, masked in privacy mode) */\n/* - an optional suffix (regular weight) */\n/* - an aria-label built from title + range + resource + status */\n/* ------------------------------------------------------------------ */\n\ninterface RenderEventContentParams {\n arg: EventContentArg;\n locale: string;\n resources: CalendarResource[];\n statusLabels: Record<CalendarEventStatus, string>;\n privacyMode: boolean;\n showTime: boolean;\n}\n\ntype EventExtendedProps = Omit<CalendarEvent, 'id' | 'title' | 'start' | 'end' | 'allDay'>;\n\nfunction renderEventContent({\n arg,\n locale,\n resources,\n statusLabels,\n privacyMode,\n showTime,\n}: RenderEventContentParams): ReactElement {\n const extended = (arg.event.extendedProps ?? {}) as EventExtendedProps;\n const {\n status,\n backgroundColor,\n textColor,\n suffix,\n privacyModeTitle,\n isBookedOnline,\n hasUnassignedPatient,\n hasHighlightedAnamnesis,\n hasBillableAmount,\n isTelehealth,\n resourceId,\n } = extended;\n\n const StatusIcon = status ? STATUS_ICON[status] : null;\n\n const start = arg.event.start;\n const end = arg.event.end ?? arg.event.start;\n const allDay = arg.event.allDay;\n\n let rangeText = '';\n if (start && end) {\n try {\n const fmt = new Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n minute: '2-digit',\n hour12: false,\n });\n rangeText =\n typeof fmt.formatRange === 'function'\n ? fmt.formatRange(start, end)\n : `${fmt.format(start)} – ${fmt.format(end)}`;\n } catch {\n rangeText = '';\n }\n }\n\n const resourceTitle = resourceId\n ? resources.find((r) => r.id === resourceId)?.title\n : undefined;\n const statusLabel = status ? statusLabels[status] : undefined;\n\n const displayTitle = privacyMode\n ? (privacyModeTitle ?? '•••')\n : arg.event.title;\n\n const ariaLabel = [displayTitle, rangeText, resourceTitle, statusLabel]\n .filter(Boolean)\n .join(', ');\n\n /* Per-event colour override: the consuming app passes a runtime hex\n from a DoctorColor (Material-Design style) palette. 23-constraints\n permits inline `style` only as a CSS custom property setter for\n runtime values that can't be enumerated at build time — the\n consuming `background-color` / `color` references live in the\n className as Tailwind arbitrary values. */\n const colourOverrides: CSSProperties | undefined =\n backgroundColor || textColor\n ? {\n ...(backgroundColor\n ? ({ '--calendar-event-bg': backgroundColor } as CSSProperties)\n : {}),\n ...(textColor\n ? ({ '--calendar-event-text': textColor } as CSSProperties)\n : {}),\n }\n : undefined;\n\n /* DEV-only guardrail: warn when caller-supplied bg/fg hex pair falls\n below WCAG AA. No-op when either half is missing (fg missing falls\n back to the DS foreground token, which isn't a hex we can check). */\n if (backgroundColor || textColor) {\n warnLowContrast(backgroundColor, textColor, `event ${arg.event.id}`);\n }\n\n const className = [\n eventCardVariants({ status: status ?? 'default' }),\n isBookedOnline ? 'event-booked-online' : null,\n backgroundColor ? '[background-color:var(--calendar-event-bg)]' : null,\n textColor ? '[color:var(--calendar-event-text)]' : null,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div\n className={className}\n style={colourOverrides}\n aria-label={ariaLabel}\n data-event-id={arg.event.id}\n >\n <div className=\"flex items-center gap-[var(--spacing-xs)] self-end\">\n {StatusIcon ? (\n <StatusIcon size={14} aria-hidden=\"true\" />\n ) : null}\n {isBookedOnline ? <Globe size={12} aria-hidden=\"true\" /> : null}\n {hasUnassignedPatient ? (\n <AlertTriangle size={12} aria-hidden=\"true\" />\n ) : null}\n {hasHighlightedAnamnesis ? (\n <HeartPulse size={12} aria-hidden=\"true\" />\n ) : null}\n {hasBillableAmount ? <Euro size={12} aria-hidden=\"true\" /> : null}\n {isTelehealth ? <Video size={12} aria-hidden=\"true\" /> : null}\n </div>\n {showTime && !allDay && rangeText ? (\n <span className=\"text-[var(--font-size-xs)] opacity-[var(--opacity-70)]\">\n {rangeText}\n </span>\n ) : null}\n <span className=\"font-[var(--font-weight-semibold)] truncate text-start\">\n {displayTitle}\n </span>\n {suffix ? (\n <span className=\"truncate text-start text-[var(--font-size-xs)]\">\n {suffix}\n </span>\n ) : null}\n </div>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* CalendarToolbar — compound sub-component */\n/* */\n/* Renders the DS-styled prev/today/next controls + a centered <h2> */\n/* title (aria-live so navigation updates announce politely) plus an */\n/* optional inline-end slot. Logical properties only; physical icons */\n/* (ChevronLeft / ChevronRight) are swapped in RTL so the pair always */\n/* points in the expected reading direction. */\n/* ------------------------------------------------------------------ */\n\nexport interface CalendarToolbarProps {\n /** Title shown in the toolbar (e.g. \"April 2026\"). Typically\n * produced by `calendarHandle.getTitle()`. */\n title?: string;\n /** Jump to today. */\n onToday: () => void;\n /** Navigate to the previous period. */\n onPrev: () => void;\n /** Navigate to the next period. */\n onNext: () => void;\n /** Extra controls rendered at the inline-end. */\n end?: ReactNode;\n /** Additional className. */\n className?: string;\n}\n\nconst toolbarButtonBaseClass = [\n 'inline-flex items-center justify-center',\n 'min-h-[var(--min-target-size)]',\n 'bg-[var(--background)] text-[var(--foreground)]',\n 'border border-[var(--border)]',\n 'rounded-[var(--radius-full)]',\n 'font-[var(--font-weight-medium)] text-[var(--font-size-sm)]',\n 'transition-colors duration-[var(--animation-duration)] ease-[var(--ease-out)]',\n 'hover:bg-[var(--muted)]',\n 'focus-visible:outline-[length:var(--focus-ring-width)]',\n 'focus-visible:outline-[var(--ring)]',\n 'focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'motion-reduce:transition-none',\n].join(' ');\n\nconst toolbarTextButtonClass = [\n toolbarButtonBaseClass,\n 'ps-[var(--spacing-md)] pe-[var(--spacing-md)]',\n].join(' ');\n\nconst toolbarIconButtonClass = [\n toolbarButtonBaseClass,\n 'min-w-[var(--min-target-size)]',\n].join(' ');\n\nexport const CalendarToolbar = forwardRef<HTMLDivElement, CalendarToolbarProps>(\n ({ title, onToday, onPrev, onNext, end, className }, ref) => {\n const { t } = useTranslation();\n const isRtl = useIsRtl();\n const PrevIcon = isRtl ? ChevronRight : ChevronLeft;\n const NextIcon = isRtl ? ChevronLeft : ChevronRight;\n\n const rootClassName = [\n 'calendar-toolbar',\n 'sticky top-0 z-20',\n 'flex items-center gap-[var(--spacing-sm)]',\n 'ps-[var(--spacing-md)] pe-[var(--spacing-md)]',\n 'py-[var(--spacing-sm)]',\n 'bg-[var(--background)]',\n 'border-b border-[var(--border)]',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div ref={ref} className={rootClassName}>\n <div className=\"flex items-center gap-[var(--spacing-xs)]\">\n <button\n type=\"button\"\n onClick={onToday}\n className={toolbarTextButtonClass}\n >\n {t('calendar.today')}\n </button>\n <button\n type=\"button\"\n onClick={onPrev}\n aria-label={t('calendar.previousPeriod')}\n className={toolbarIconButtonClass}\n >\n <PrevIcon size={16} aria-hidden=\"true\" />\n </button>\n <button\n type=\"button\"\n onClick={onNext}\n aria-label={t('calendar.nextPeriod')}\n className={toolbarIconButtonClass}\n >\n <NextIcon size={16} aria-hidden=\"true\" />\n </button>\n </div>\n {title ? (\n <h2\n aria-live=\"polite\"\n className=\"flex-1 text-center truncate type-title-card\"\n >\n {title}\n </h2>\n ) : (\n /* Keep the centering slot stable even before the first\n `datesSet` populates the title — an empty <h2> would trip\n axe's `empty-heading` rule, so we substitute a decorative\n spacer that matches the h2's flex sizing. Once `title` is\n non-empty the h2 renders in the same slot. */\n <div\n aria-hidden=\"true\"\n className=\"flex-1 text-center\"\n />\n )}\n {end ? (\n <div className=\"flex items-center gap-[var(--spacing-xs)]\">{end}</div>\n ) : null}\n </div>\n );\n },\n);\nCalendarToolbar.displayName = 'Calendar.Toolbar';\n\n/* ------------------------------------------------------------------ */\n/* Calendar component */\n/* ------------------------------------------------------------------ */\n\nconst CalendarInner = forwardRef<CalendarHandle, CalendarProps>(\n (\n {\n id,\n events,\n resources,\n view = 'dayGridMonth',\n initialDate,\n locale: localeProp,\n onEventDrop,\n onEventResize,\n onEventResizeStart,\n onEventClick,\n onDateSelect,\n editable = false,\n eventDurationEditable,\n selectable = false,\n height,\n className,\n privacyMode = false,\n mode = 'default',\n modeLabel,\n modeBannerColor,\n modeBannerTextColor,\n onModeCancel,\n alertBanner,\n slotMinTime,\n slotMaxTime,\n slotDuration,\n showTime = true,\n datesAboveResources = true,\n slotEventOverlap = false,\n stickyHeaderDates = true,\n nowIndicator = true,\n dayMaxEvents = true,\n schedulerLicenseKey = import.meta.env.VITE_FULLCALENDAR_LICENSE_KEY,\n toolbar = true,\n toolbarEnd,\n resourceLayout = 'vertical',\n showResourceInitials = false,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const fcRef = useRef<FullCalendar | null>(null);\n const rootRef = useRef<HTMLDivElement>(null);\n const liveRegionRef = useRef<HTMLDivElement>(null);\n const focusTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const focusedElRef = useRef<HTMLElement | null>(null);\n\n const locale = localeProp ?? i18n.language ?? 'en';\n\n /* ---- direction reacts to dir attribute changes ----------------- */\n const [direction, setDirection] = useState<'ltr' | 'rtl'>(() => {\n if (typeof document === 'undefined') return 'ltr';\n const docDir = document.documentElement.getAttribute('dir');\n const i18nDir = typeof i18n.dir === 'function' ? i18n.dir() : 'ltr';\n return docDir === 'rtl' || i18nDir === 'rtl' ? 'rtl' : 'ltr';\n });\n\n useEffect(() => {\n if (typeof document === 'undefined') return undefined;\n const observer = new MutationObserver(() => {\n const docDir = document.documentElement.getAttribute('dir');\n const i18nDir = typeof i18n.dir === 'function' ? i18n.dir() : 'ltr';\n setDirection(docDir === 'rtl' || i18nDir === 'rtl' ? 'rtl' : 'ltr');\n });\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['dir', 'lang'],\n });\n return () => observer.disconnect();\n }, [i18n]);\n\n /* ---- theme class-change observer → forces FullCalendar repaint - */\n useEffect(() => {\n if (typeof document === 'undefined') return undefined;\n let timer: ReturnType<typeof setTimeout>;\n const observer = new MutationObserver(() => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n const api = fcRef.current?.getApi() as unknown;\n if (\n api &&\n typeof (api as { render?: () => void }).render === 'function'\n ) {\n (api as { render: () => void }).render();\n }\n }, 50);\n });\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['class'],\n });\n return () => {\n clearTimeout(timer);\n observer.disconnect();\n };\n }, []);\n\n /* ---- reduced-motion gate --------------------------------------- */\n const reducedMotion = usePrefersReducedMotion();\n\n /* ---- current title (synced from FC via datesSet) --------------- */\n const [currentTitle, setCurrentTitle] = useState('');\n\n /* ---- imperative handle ----------------------------------------- */\n const handle = useMemo<CalendarHandle>(() => {\n const getRawApi = (): FcApi | undefined =>\n fcRef.current?.getApi() as FcApi | undefined;\n\n return {\n getApi: () => fcRef.current?.getApi(),\n today: () => {\n getRawApi()?.today();\n },\n prev: () => {\n getRawApi()?.prev();\n },\n next: () => {\n getRawApi()?.next();\n },\n gotoDate: (date: Date | string) => {\n getRawApi()?.gotoDate(date);\n },\n changeView: (nextView: CalendarView) => {\n getRawApi()?.changeView(\n resolveFullCalendarView(nextView, resourceLayout),\n );\n },\n getTitle: () => getRawApi()?.view.title ?? '',\n getCurrentView: () => {\n const type = getRawApi()?.view.type;\n return type as CalendarView | undefined;\n },\n getCurrentDate: () => getRawApi()?.getDate(),\n focusEvent: (eventId: string) => {\n const root = rootRef.current;\n if (!root) return;\n const selector = `[data-event-id=\"${CSS.escape(eventId)}\"]`;\n const element = root.querySelector<HTMLElement>(selector);\n if (!element) {\n if (import.meta.env.DEV) {\n console.warn(\n `[Calendar] focusEvent: no DOM node matches event id \"${eventId}\".`,\n );\n }\n return;\n }\n /* Clear any previous highlight still in-flight before\n starting a new one — prevents overlapping timers from\n removing the className mid-animation. */\n if (focusTimerRef.current) {\n clearTimeout(focusTimerRef.current);\n focusTimerRef.current = null;\n }\n if (\n focusedElRef.current &&\n focusedElRef.current !== element\n ) {\n focusedElRef.current.classList.remove('calendar-event-focused');\n }\n \n element.scrollIntoView({\n behavior: reducedMotion ? 'auto' : 'smooth',\n block: 'center',\n });\n element.classList.add('calendar-event-focused');\n focusedElRef.current = element;\n \n /* Announce via aria-live, masking the title under privacy\n mode the same way drop/resize do. */\n if (liveRegionRef.current) {\n const titleAttr =\n element.getAttribute('aria-label') ?? eventId;\n const announcedTitle = privacyMode ? '•••' : titleAttr;\n liveRegionRef.current.textContent = t('calendar.focusedEvent', {\n title: announcedTitle,\n });\n }\n \n focusTimerRef.current = setTimeout(() => {\n element.classList.remove('calendar-event-focused');\n if (focusedElRef.current === element) {\n focusedElRef.current = null;\n }\n focusTimerRef.current = null;\n }, 3000);\n },\n };\n }, [reducedMotion, privacyMode, t, resourceLayout]);\n\n useImperativeHandle(ref, () => handle, [handle]);\n useAgentRegistration(calendarAgent, handle, id);\n\n /* Clean up any pending focus timer on unmount. */\n useEffect(\n () => () => {\n if (focusTimerRef.current) {\n clearTimeout(focusTimerRef.current);\n focusTimerRef.current = null;\n }\n },\n [],\n );\n\n /* ---- translated toolbar button labels (used by FC internal when\n we opt in to its toolbar — currently always off in the default\n path; retained for noEventsText / allDayText completeness) ---- */\n const statusLabels = useMemo<Record<CalendarEventStatus, string>>(\n () => ({\n confirmed: t('calendar.status.confirmed'),\n waiting: t('calendar.status.waiting'),\n in_care: t('calendar.status.inCare'),\n done: t('calendar.status.done'),\n cancelled: t('calendar.status.cancelled'),\n absent: t('calendar.status.absent'),\n }),\n [t],\n );\n\n /* ---- privacy-mode announcer (skip initial render) --------------- */\n const privacyFirstRun = useRef(true);\n useEffect(() => {\n if (privacyFirstRun.current) {\n privacyFirstRun.current = false;\n return;\n }\n if (liveRegionRef.current) {\n liveRegionRef.current.textContent = privacyMode\n ? t('calendar.privacyModeOn')\n : t('calendar.privacyModeOff');\n }\n }, [privacyMode, t]);\n\n /* ---- adapt events for FullCalendar ----------------------------- */\n const fcEvents = useMemo<EventInput[]>(\n () =>\n events.map((event) => ({\n id: event.id,\n title: event.title,\n start: event.start,\n end: event.end,\n allDay: event.allDay,\n resourceId: event.resourceId,\n display: event.isInternal ? 'background' : undefined,\n extendedProps: {\n status: event.status,\n resourceId: event.resourceId,\n backgroundColor: event.backgroundColor,\n textColor: event.textColor,\n suffix: event.suffix,\n privacyModeTitle: event.privacyModeTitle,\n isBookedOnline: event.isBookedOnline ?? false,\n hasUnassignedPatient: event.hasUnassignedPatient ?? false,\n hasHighlightedAnamnesis: event.hasHighlightedAnamnesis ?? false,\n hasBillableAmount: event.hasBillableAmount ?? false,\n isTelehealth: event.isTelehealth ?? false,\n isRecurrenceParent: event.isRecurrenceParent ?? false,\n isInternal: event.isInternal ?? false,\n patientId: event.patientId,\n operatorId: event.operatorId,\n },\n })),\n [events],\n );\n\n /* ---- formatters (Intl, never literal format strings) ----------- */\n const titleFormat = useMemo(\n () => ({\n year: 'numeric' as const,\n month: 'long' as const,\n }),\n [],\n );\n const dayHeaderFormat = useMemo(\n () => ({\n weekday: 'short' as const,\n }),\n [],\n );\n const eventTimeFormat = useMemo(\n () => ({\n hour: 'numeric' as const,\n minute: '2-digit' as const,\n }),\n [],\n );\n const slotLabelFormat = useMemo(\n () => ({\n hour: 'numeric' as const,\n minute: '2-digit' as const,\n }),\n [],\n );\n\n /* ---- helper: adapt FC event to CalendarEvent -------------------- */\n const adaptEvent = (\n fcEvent: EventDropArg['event'] | EventClickArg['event'],\n ): CalendarEvent => {\n const ext = (fcEvent.extendedProps ?? {}) as EventExtendedProps;\n return {\n id: fcEvent.id,\n title: fcEvent.title,\n start: fcEvent.start ?? new Date(),\n end: fcEvent.end ?? undefined,\n resourceId: ext.resourceId,\n status: ext.status,\n allDay: fcEvent.allDay,\n backgroundColor: ext.backgroundColor,\n textColor: ext.textColor,\n suffix: ext.suffix,\n privacyModeTitle: ext.privacyModeTitle,\n isBookedOnline: ext.isBookedOnline,\n hasUnassignedPatient: ext.hasUnassignedPatient,\n hasHighlightedAnamnesis: ext.hasHighlightedAnamnesis,\n hasBillableAmount: ext.hasBillableAmount,\n isTelehealth: ext.isTelehealth,\n isRecurrenceParent: ext.isRecurrenceParent,\n isInternal: ext.isInternal,\n patientId: ext.patientId,\n operatorId: ext.operatorId,\n };\n };\n\n /* ---- callbacks ------------------------------------------------- */\n const handleEventDrop = useMemo(() => {\n if (!onEventDrop) return undefined;\n return (info: EventDropArg) => {\n if (!info.event.start) return;\n // `info.oldEvent.start` is the only reliable source for the pre-drag\n // time — FullCalendar guarantees it is non-null for a drop on an\n // event that had a start. The `delta` field is unsafe to subtract\n // because it reports calendrical components (years/months/days +\n // sub-day ms), not a single ms offset, and month/year reconstruction\n // is ambiguous across boundaries. If oldStart is somehow missing we\n // bail rather than produce a silently-wrong value.\n const oldStart = info.oldEvent.start;\n if (!oldStart) {\n if (import.meta.env.DEV) {\n console.warn(\n '[Calendar] handleEventDrop: oldEvent.start was null — dropping the event-drop callback rather than emitting wrong oldStart data.',\n );\n }\n return;\n }\n onEventDrop({\n event: adaptEvent(info.event),\n oldStart,\n newStart: info.event.start,\n });\n /* Announce via aria-live. The announced title must honour\n privacyMode — the event card's aria-label already masks, but\n the live-region text is a separate codepath that would leak\n the raw name on drop if not masked here too. */\n if (liveRegionRef.current) {\n const ext = (info.event.extendedProps ?? {}) as EventExtendedProps;\n const announcedTitle = privacyMode\n ? (ext.privacyModeTitle ?? '•••')\n : info.event.title;\n liveRegionRef.current.textContent = t('calendar.eventMoved', {\n title: announcedTitle,\n });\n }\n };\n }, [onEventDrop, privacyMode, t]);\n\n const handleEventResize = useMemo(() => {\n if (!onEventResize) return undefined;\n return (info: EventResizeDoneArg) => {\n if (!info.event.end) return;\n // Mirror the drop path: rely on `info.oldEvent.end` for the pre-resize\n // boundary. Bail on null rather than fabricating a value from deltas.\n const oldEnd = info.oldEvent.end;\n if (!oldEnd) {\n if (import.meta.env.DEV) {\n console.warn(\n '[Calendar] handleEventResize: oldEvent.end was null — dropping the resize callback rather than emitting wrong oldEnd data.',\n );\n }\n return;\n }\n const newEnd = info.event.end;\n const newStart = info.event.start ?? oldEnd;\n onEventResize({\n event: adaptEvent(info.event),\n oldEnd,\n newEnd,\n });\n if (liveRegionRef.current) {\n const duration = Math.round(\n (newEnd.getTime() - newStart.getTime()) / 60000,\n );\n /* Mirror the drop path: mask the title when privacyMode is on. */\n const ext = (info.event.extendedProps ?? {}) as EventExtendedProps;\n const announcedTitle = privacyMode\n ? (ext.privacyModeTitle ?? '•••')\n : info.event.title;\n liveRegionRef.current.textContent = t('calendar.eventResized', {\n title: announcedTitle,\n duration,\n });\n }\n };\n }, [onEventResize, privacyMode, t]);\n\n const handleEventClick = useMemo(() => {\n if (!onEventClick) return undefined;\n return (info: EventClickArg) => {\n if (!info.event.start) return;\n onEventClick(adaptEvent(info.event));\n };\n }, [onEventClick]);\n\n const handleDateSelect = useMemo(() => {\n if (!onDateSelect) return undefined;\n return (info: DateSelectArg) => {\n onDateSelect({\n start: info.start,\n end: info.end,\n allDay: info.allDay,\n resourceId: info.resource?.id,\n });\n };\n }, [onDateSelect]);\n\n const handleDatesSet = useCallback((info: DatesSetArg) => {\n setCurrentTitle(info.view.title);\n }, []);\n\n /* ---- firstDay from locale -------------------------------------- */\n const firstDay = useMemo(() => resolveFirstDay(locale), [locale]);\n\n /* ---- plugins --------------------------------------------------- */\n const plugins = useMemo(\n () => [\n dayGridPlugin,\n timeGridPlugin,\n listPlugin,\n interactionPlugin,\n resourcePlugin,\n resourceTimeGridPlugin,\n resourceTimelinePlugin,\n timelinePlugin,\n ],\n [],\n );\n\n /* ---- resolved internal FC view name ---------------------------- */\n const resolvedView = useMemo(\n () => resolveFullCalendarView(view, resourceLayout),\n [view, resourceLayout],\n );\n\n /* ---- resource label render prop -------------------------------- */\n /* FC's `resourceLabelContent` supplies a `ResourceApi` whose\n `extendedProps` is typed as `{ [k: string]: any }`. We narrow to\n just the fields we pushed through `fcResources` via a local\n interface reached by an `unknown` pivot — keeps the DS body free\n of `any` while accepting FC's runtime shape. */\n interface ResourceExtendedProps {\n shortTitle?: string;\n color?: string;\n shortTitleTextColor?: string;\n }\n\n const renderResourceLabel = useCallback(\n (arg: ResourceLabelContentArg): ReactElement => {\n const ext = arg.resource.extendedProps as unknown as ResourceExtendedProps;\n const title = arg.resource.title;\n const shortTitle = ext.shortTitle;\n const color = ext.color;\n const textColor = ext.shortTitleTextColor;\n\n /* Runtime caller-supplied hex values flow through inline CSS\n custom properties only; the consuming `background-color` /\n `color` references live in the className as Tailwind arbitrary\n values, matching the event/mode-banner pattern (see\n 23-constraints §Runtime-computed dimensions).\n\n Inline style — permitted per 23-constraints §Runtime-computed\n dimensions (CSS custom property setters for --resource-color /\n --resource-initials-text-color). */\n const swatchStyle: CSSProperties | undefined =\n color || textColor\n ? {\n ...(color\n ? ({ '--resource-color': color } as CSSProperties)\n : {}),\n ...(textColor\n ? ({\n '--resource-initials-text-color': textColor,\n } as CSSProperties)\n : {}),\n }\n : undefined;\n\n if (showResourceInitials && shortTitle && color) {\n /* DEV-only guardrail: the initials circle is the one resource\n branch that actually paints text over the caller-supplied\n colour. Warn when the pair falls below WCAG AA. */\n warnLowContrast(color, textColor, `resource ${arg.resource.id}`);\n const initialsClass = [\n 'resource-initials',\n '[background-color:var(--resource-color)]',\n textColor ? '[color:var(--resource-initials-text-color)]' : null,\n ]\n .filter(Boolean)\n .join(' ');\n return (\n <span className=\"flex items-center gap-[var(--spacing-xs)]\">\n <span\n className={initialsClass}\n style={swatchStyle}\n aria-hidden=\"true\"\n >\n {shortTitle}\n </span>\n <span className=\"truncate text-start\">{title}</span>\n </span>\n );\n }\n\n if (color) {\n /* Dot branch has no text, but callers may still pass both halves\n of the pair in anticipation of flipping `showResourceInitials`.\n Only warn when both are defined — otherwise we'd noisily\n suggest a textColor that the dot renderer ignores. */\n if (color && textColor) {\n warnLowContrast(color, textColor, `resource ${arg.resource.id}`);\n }\n return (\n <span className=\"flex items-center gap-[var(--spacing-xs)]\">\n <span\n className=\"resource-dot [background-color:var(--resource-color)]\"\n style={swatchStyle}\n aria-hidden=\"true\"\n />\n <span className=\"truncate text-start\">{title}</span>\n </span>\n );\n }\n\n return (\n <span className=\"flex items-center gap-[var(--spacing-xs)]\">\n <span className=\"truncate text-start\">{title}</span>\n </span>\n );\n },\n [showResourceInitials],\n );\n\n /* ---- resources adapted for FC with extendedProps --------------- */\n const fcResources = useMemo(\n () =>\n resources?.map((resource) => ({\n id: resource.id,\n title: resource.title,\n sequenceNumber: resource.sequenceNumber,\n extendedProps: {\n shortTitle: resource.shortTitle,\n color: resource.color,\n shortTitleTextColor: resource.shortTitleTextColor,\n sequenceNumber: resource.sequenceNumber,\n },\n })),\n [resources],\n );\n\n /* ---- default-toolbar button handlers --------------------------- */\n const handleToolbarToday = useCallback(() => {\n (fcRef.current?.getApi() as FcApi | undefined)?.today();\n }, []);\n const handleToolbarPrev = useCallback(() => {\n (fcRef.current?.getApi() as FcApi | undefined)?.prev();\n }, []);\n const handleToolbarNext = useCallback(() => {\n (fcRef.current?.getApi() as FcApi | undefined)?.next();\n }, []);\n\n const wrapperClassName = [\n 'fc-theme-alfadocs',\n 'bg-background text-foreground',\n 'rounded-[var(--radius-md)]',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n /* Mode banner style — runtime caller-supplied hex values flow through\n inline CSS-variable assignments only. The consuming\n `background-color` / `color` references live in the className as\n Tailwind arbitrary values, same justification as the event\n colour overrides above. */\n const modeBannerStyle: CSSProperties | undefined =\n modeBannerColor || modeBannerTextColor\n ? {\n ...(modeBannerColor\n ? ({ '--calendar-mode-bg': modeBannerColor } as CSSProperties)\n : {}),\n ...(modeBannerTextColor\n ? ({ '--calendar-mode-fg': modeBannerTextColor } as CSSProperties)\n : {}),\n }\n : undefined;\n\n /* DEV-only guardrail: warn when the caller-supplied mode-banner\n bg/fg hex pair falls below WCAG AA. No-op when either half is\n missing — the component falls back to --muted / --muted-foreground\n which are already calibrated to AA. */\n if (mode !== 'default' && (modeBannerColor || modeBannerTextColor)) {\n warnLowContrast(modeBannerColor, modeBannerTextColor, 'mode banner');\n }\n\n /* Static key map — keeps i18n-extraction tools (i18next-parser, etc.)\n happy, since they can't resolve template-literal keys. */\n const resolvedModeLabel =\n mode !== 'default' ? (modeLabel ?? t(MODE_BANNER_KEYS[mode])) : '';\n\n const modeBannerClassName = [\n 'sticky top-0 z-10',\n 'flex items-center gap-[var(--spacing-sm)]',\n 'ps-[var(--spacing-md)] pe-[var(--spacing-md)]',\n 'py-[var(--spacing-sm)]',\n /* Caller-supplied colours flow through CSS custom properties set\n in `modeBannerStyle`; fallback tokens apply when the caller\n doesn't supply a hex. */\n modeBannerColor\n ? '[background-color:var(--calendar-mode-bg)]'\n : 'bg-[var(--muted)]',\n modeBannerTextColor\n ? '[color:var(--calendar-mode-fg)]'\n : 'text-[var(--muted-foreground)]',\n ]\n .filter(Boolean)\n .join(' ');\n\n const modeCancelClassName = [\n 'inline-flex items-center justify-center',\n 'min-h-[var(--min-target-size)]',\n 'ps-[var(--spacing-md)] pe-[var(--spacing-md)]',\n 'rounded-[var(--radius-full)]',\n 'bg-[var(--background)] text-[var(--foreground)]',\n 'border border-[var(--border)]',\n 'font-[var(--font-weight-medium)] text-[var(--font-size-sm)]',\n 'transition-colors duration-[var(--animation-duration)] ease-[var(--ease-out)]',\n 'hover:bg-[var(--muted)]',\n 'focus-visible:outline-[length:var(--focus-ring-width)]',\n 'focus-visible:outline-[var(--ring)]',\n 'focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'motion-reduce:transition-none',\n ].join(' ');\n\n return (\n <div\n ref={rootRef}\n className={wrapperClassName}\n role=\"region\"\n aria-label={t('calendar.ariaLabel')}\n data-component=\"calendar\"\n data-component-id={id}\n data-mode={mode}\n >\n <div\n ref={liveRegionRef}\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className=\"sr-only\"\n />\n {alertBanner}\n {/* role=\"status\" already implies aria-live=\"polite\" +\n aria-atomic=\"true\"; setting the live attributes explicitly\n causes double announcements in some AT combinations. */}\n {mode !== 'default' ? (\n <div\n className={modeBannerClassName}\n style={modeBannerStyle}\n role=\"status\"\n >\n <span className=\"flex-1 text-start\">{resolvedModeLabel}</span>\n {onModeCancel ? (\n <button\n type=\"button\"\n onClick={onModeCancel}\n className={modeCancelClassName}\n >\n {t('calendar.modeBanner.cancel')}\n </button>\n ) : null}\n </div>\n ) : null}\n {toolbar !== false ? (\n <CalendarToolbar\n title={currentTitle}\n onToday={handleToolbarToday}\n onPrev={handleToolbarPrev}\n onNext={handleToolbarNext}\n end={toolbarEnd}\n />\n ) : null}\n <FullCalendar\n ref={fcRef}\n plugins={plugins}\n schedulerLicenseKey={schedulerLicenseKey}\n initialView={resolvedView}\n views={CALENDAR_CUSTOM_VIEWS}\n initialDate={initialDate}\n locale={locale}\n direction={direction}\n firstDay={firstDay}\n editable={editable}\n eventDurationEditable={eventDurationEditable ?? editable}\n selectable={selectable}\n droppable={editable}\n dayMaxEvents={dayMaxEvents}\n height={height}\n events={fcEvents}\n resources={fcResources}\n resourceOrder=\"sequenceNumber\"\n resourceLabelContent={renderResourceLabel}\n headerToolbar={false}\n allDayText={t('calendar.allDay')}\n noEventsText={t('calendar.noEvents')}\n titleFormat={titleFormat}\n dayHeaderFormat={dayHeaderFormat}\n eventTimeFormat={eventTimeFormat}\n slotLabelFormat={slotLabelFormat}\n slotMinTime={slotMinTime}\n slotMaxTime={slotMaxTime}\n slotDuration={slotDuration}\n datesAboveResources={datesAboveResources}\n slotEventOverlap={slotEventOverlap}\n stickyHeaderDates={stickyHeaderDates}\n nowIndicator={nowIndicator}\n eventLongPressDelay={reducedMotion ? 0 : 1000}\n eventDragMinDistance={reducedMotion ? 0 : 5}\n eventContent={(arg) =>\n renderEventContent({\n arg,\n locale,\n resources: resources ?? [],\n statusLabels,\n privacyMode,\n showTime,\n })\n }\n eventClick={handleEventClick}\n eventDrop={handleEventDrop}\n eventResize={handleEventResize}\n eventResizeStart={onEventResizeStart}\n select={handleDateSelect}\n datesSet={handleDatesSet}\n />\n </div>\n );\n },\n);\nCalendarInner.displayName = 'Calendar';\n\n/* Compound attachment — exposes `<Calendar.Toolbar />` so consumers can\n render a standalone toolbar bound to their own handle-driven handlers\n when they hide the built-in toolbar via `toolbar={false}`. The\n `typeof CalendarInner & { Toolbar }` widening is the single acceptable\n cast called out in the implementation plan. */\ntype CalendarComponent = typeof CalendarInner & {\n Toolbar: typeof CalendarToolbar;\n};\nexport const Calendar = CalendarInner as CalendarComponent;\nCalendar.Toolbar = CalendarToolbar;\n"],"names":["__iconNode","Ban","createLucideIcon","Euro","HeartPulse","Stethoscope","ThumbsUp","Video","Zap","calendarAgent","handle","_a","args","RESOURCE_VIEW_MAP","STANDARD_VIEWS","resolveFullCalendarView","view","resourceLayout","stem","CALENDAR_CUSTOM_VIEWS","eventCardVariants","cva","STATUS_ICON","Clock","Check","MODE_BANNER_KEYS","resolveFirstDay","locale","intlLocale","info","useIsRtl","i18n","useTranslation","isRtl","setIsRtl","useState","docDir","i18nDir","useEffect","observer","renderEventContent","arg","resources","statusLabels","privacyMode","showTime","extended","status","backgroundColor","textColor","suffix","privacyModeTitle","isBookedOnline","hasUnassignedPatient","hasHighlightedAnamnesis","hasBillableAmount","isTelehealth","resourceId","StatusIcon","start","end","allDay","rangeText","fmt","resourceTitle","r","statusLabel","displayTitle","ariaLabel","colourOverrides","className","jsxs","Globe","AlertTriangle","toolbarButtonBaseClass","toolbarTextButtonClass","toolbarIconButtonClass","CalendarToolbar","forwardRef","title","onToday","onPrev","onNext","ref","t","PrevIcon","ChevronRight","ChevronLeft","NextIcon","rootClassName","jsx","CalendarInner","id","events","initialDate","localeProp","onEventDrop","onEventResize","onEventResizeStart","onEventClick","onDateSelect","editable","eventDurationEditable","selectable","height","mode","modeLabel","modeBannerColor","modeBannerTextColor","onModeCancel","alertBanner","slotMinTime","slotMaxTime","slotDuration","datesAboveResources","slotEventOverlap","stickyHeaderDates","nowIndicator","dayMaxEvents","schedulerLicenseKey","toolbar","toolbarEnd","showResourceInitials","fcRef","useRef","rootRef","liveRegionRef","focusTimerRef","focusedElRef","direction","setDirection","timer","api","reducedMotion","usePrefersReducedMotion","currentTitle","setCurrentTitle","useMemo","getRawApi","date","nextView","eventId","root","selector","element","titleAttr","announcedTitle","useImperativeHandle","useAgentRegistration","privacyFirstRun","fcEvents","event","titleFormat","dayHeaderFormat","eventTimeFormat","slotLabelFormat","adaptEvent","fcEvent","ext","handleEventDrop","oldStart","handleEventResize","oldEnd","newEnd","newStart","duration","handleEventClick","handleDateSelect","handleDatesSet","useCallback","firstDay","plugins","dayGridPlugin","timeGridPlugin","listPlugin","interactionPlugin","resourcePlugin","resourceTimeGridPlugin","resourceTimelinePlugin","timelinePlugin","resolvedView","renderResourceLabel","shortTitle","color","swatchStyle","initialsClass","fcResources","resource","handleToolbarToday","_b","handleToolbarPrev","handleToolbarNext","wrapperClassName","modeBannerStyle","resolvedModeLabel","modeBannerClassName","modeCancelClassName","FullCalendar","Calendar"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
@@ -0,0 +1,158 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { forwardRef as i, useId as B, useState as _, useCallback as v, useContext as k, createContext as I } from "react";
3
+ import { Slot as F } from "@radix-ui/react-slot";
4
+ import { c as M } from "./index-D2ZczOXr.js";
5
+ const u = I({
6
+ headerId: "",
7
+ interactive: !1,
8
+ registerHeader: () => {
9
+ }
10
+ }), R = M(
11
+ [
12
+ "rounded-[var(--radius-lg)] text-[var(--card-foreground)]",
13
+ "overflow-hidden",
14
+ "flex flex-col"
15
+ ].join(" "),
16
+ {
17
+ variants: {
18
+ variant: {
19
+ default: "bg-[var(--card)] border border-[color:var(--card-border)]",
20
+ outlined: "bg-[var(--card)] border border-[color:var(--border)]",
21
+ elevated: "bg-[var(--card)] shadow-[var(--shadow-card)]"
22
+ },
23
+ interactive: {
24
+ true: [
25
+ "cursor-pointer",
26
+ "transition-shadow duration-[var(--animation-duration)] motion-reduce:transition-none",
27
+ "hover:shadow-[var(--shadow-hover)]",
28
+ "focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-solid",
29
+ "focus-visible:outline-[color:var(--ring)] focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
30
+ "min-h-[var(--min-target-size)]"
31
+ ].join(" "),
32
+ false: ""
33
+ },
34
+ // `stretch: true` fills the parent layout cell (grid / flex) so a
35
+ // row of Cards ends up with matching heights. Combined with the
36
+ // `flex-1` on `Card.Body`, the footer naturally pins to the bottom.
37
+ stretch: {
38
+ true: "h-full self-stretch",
39
+ false: ""
40
+ }
41
+ },
42
+ defaultVariants: {
43
+ variant: "default",
44
+ interactive: !1,
45
+ stretch: !1
46
+ }
47
+ }
48
+ ), m = i(
49
+ ({
50
+ variant: r = "default",
51
+ interactive: a = !1,
52
+ stretch: e = !1,
53
+ asChild: d = !1,
54
+ className: l,
55
+ children: n,
56
+ onClick: t,
57
+ onKeyDown: c,
58
+ ...C
59
+ }, x) => {
60
+ const f = B(), [w, y] = _(!1), N = v(() => y(!0), []), j = a ? {
61
+ ...d ? {} : { role: "button", tabIndex: 0 },
62
+ onKeyDown: (s) => {
63
+ a && (s.key === "Enter" || s.key === " ") && (s.preventDefault(), s.currentTarget.click()), c == null || c(s);
64
+ },
65
+ onClick: t
66
+ } : { onClick: t }, H = d ? F : "article";
67
+ return /* @__PURE__ */ o(u.Provider, { value: { headerId: f, interactive: a ?? !1, registerHeader: N }, children: /* @__PURE__ */ o(
68
+ H,
69
+ {
70
+ ref: x,
71
+ "aria-labelledby": w ? f : void 0,
72
+ className: R({
73
+ variant: r,
74
+ interactive: a ?? !1,
75
+ stretch: e ?? !1,
76
+ className: l
77
+ }),
78
+ ...j,
79
+ ...C,
80
+ children: n
81
+ }
82
+ ) });
83
+ }
84
+ );
85
+ m.displayName = "Card";
86
+ const p = i(
87
+ ({ className: r, ...a }, e) => {
88
+ const { headerId: d, registerHeader: l } = k(u), n = v(
89
+ (t) => {
90
+ t && l(), typeof e == "function" ? e(t) : e && (e.current = t);
91
+ },
92
+ [e, l]
93
+ );
94
+ return /* @__PURE__ */ o(
95
+ "div",
96
+ {
97
+ ref: n,
98
+ id: d,
99
+ className: [
100
+ "flex flex-col gap-[var(--spacing-xs)] p-[var(--spacing-md)] pb-0",
101
+ "[&_*]:break-normal [&_*]:[overflow-wrap:anywhere]",
102
+ r
103
+ ].filter(Boolean).join(" "),
104
+ ...a
105
+ }
106
+ );
107
+ }
108
+ );
109
+ p.displayName = "Card.Header";
110
+ const g = i(
111
+ ({ className: r, ...a }, e) => /* @__PURE__ */ o(
112
+ "div",
113
+ {
114
+ ref: e,
115
+ className: [
116
+ "overflow-hidden [&_img]:w-full [&_img]:h-auto [&_img]:[object-fit:cover] [&_video]:w-full",
117
+ r
118
+ ].filter(Boolean).join(" "),
119
+ ...a
120
+ }
121
+ )
122
+ );
123
+ g.displayName = "Card.Media";
124
+ const h = i(
125
+ ({ className: r, ...a }, e) => /* @__PURE__ */ o(
126
+ "div",
127
+ {
128
+ ref: e,
129
+ className: ["p-[var(--spacing-md)] flex-1 text-start", r].filter(Boolean).join(" "),
130
+ ...a
131
+ }
132
+ )
133
+ );
134
+ h.displayName = "Card.Body";
135
+ const b = i(
136
+ ({ className: r, ...a }, e) => /* @__PURE__ */ o(
137
+ "div",
138
+ {
139
+ ref: e,
140
+ className: [
141
+ "flex items-center gap-[var(--spacing-sm)] p-[var(--spacing-md)] pt-0",
142
+ r
143
+ ].filter(Boolean).join(" "),
144
+ ...a
145
+ }
146
+ )
147
+ );
148
+ b.displayName = "Card.Footer";
149
+ const O = Object.assign(m, {
150
+ Header: p,
151
+ Media: g,
152
+ Body: h,
153
+ Footer: b
154
+ });
155
+ export {
156
+ O as C
157
+ };
158
+ //# sourceMappingURL=card-n97MNPP2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card-n97MNPP2.js","sources":["../../src/components/card/card.tsx"],"sourcesContent":["import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useId,\n useState,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\n/* ------------------------------------------------------------------ */\n/* Context */\n/* ------------------------------------------------------------------ */\n\ninterface CardContextValue {\n headerId: string;\n interactive: boolean;\n registerHeader: () => void;\n}\n\nconst CardContext = createContext<CardContextValue>({\n headerId: '',\n interactive: false,\n registerHeader: () => {},\n});\n\n/* ------------------------------------------------------------------ */\n/* Variants */\n/* ------------------------------------------------------------------ */\n\nconst cardVariants = cva(\n [\n 'rounded-[var(--radius-lg)] text-[var(--card-foreground)]',\n 'overflow-hidden',\n 'flex flex-col',\n ].join(' '),\n {\n variants: {\n variant: {\n default: 'bg-[var(--card)] border border-[color:var(--card-border)]',\n outlined: 'bg-[var(--card)] border border-[color:var(--border)]',\n elevated: 'bg-[var(--card)] shadow-[var(--shadow-card)]',\n },\n interactive: {\n true: [\n 'cursor-pointer',\n 'transition-shadow duration-[var(--animation-duration)] motion-reduce:transition-none',\n 'hover:shadow-[var(--shadow-hover)]',\n 'focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:outline-solid',\n 'focus-visible:outline-[color:var(--ring)] focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'min-h-[var(--min-target-size)]',\n ].join(' '),\n false: '',\n },\n // `stretch: true` fills the parent layout cell (grid / flex) so a\n // row of Cards ends up with matching heights. Combined with the\n // `flex-1` on `Card.Body`, the footer naturally pins to the bottom.\n stretch: {\n true: 'h-full self-stretch',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n interactive: false,\n stretch: false,\n },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* Types */\n/* ------------------------------------------------------------------ */\n\nexport interface CardProps\n extends Omit<HTMLAttributes<HTMLElement>, 'role'>,\n VariantProps<typeof cardVariants> {\n variant?: 'default' | 'outlined' | 'elevated';\n interactive?: boolean;\n /**\n * Stretch the Card to fill its parent layout cell. Use on every Card in\n * a dashboard row so siblings end up with matching heights, and the\n * `Card.Body` + `Card.Footer` flex naturally pin the footer to the\n * bottom. Grid cells already `align-items: stretch` by default, but an\n * explicit `h-full` keeps the behaviour robust under flex parents too.\n */\n stretch?: boolean;\n asChild?: boolean;\n children: ReactNode;\n}\n\n/* ------------------------------------------------------------------ */\n/* Root */\n/* ------------------------------------------------------------------ */\n\nconst CardRoot = forwardRef<HTMLElement, CardProps>(\n (\n {\n variant = 'default',\n interactive = false,\n stretch = false,\n asChild = false,\n className,\n children,\n onClick,\n onKeyDown,\n ...props\n },\n ref,\n ) => {\n const headerId = useId();\n const [hasHeader, setHasHeader] = useState(false);\n const registerHeader = useCallback(() => setHasHeader(true), []);\n\n const handleKeyDown = (e: KeyboardEvent<HTMLElement>) => {\n if (interactive && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n (e.currentTarget as HTMLElement).click();\n }\n onKeyDown?.(e);\n };\n\n // When asChild=true the consumer provides its own element (<a>, <button>)\n // which already carries the correct role and tabIndex — don't override them.\n const interactiveProps = interactive\n ? {\n ...(asChild ? {} : { role: 'button' as const, tabIndex: 0 }),\n onKeyDown: handleKeyDown,\n onClick,\n }\n : { onClick };\n\n const Comp = asChild ? Slot : 'article';\n\n return (\n <CardContext.Provider value={{ headerId, interactive: interactive ?? false, registerHeader }}>\n <Comp\n ref={ref as React.Ref<HTMLElement>}\n aria-labelledby={hasHeader ? headerId : undefined}\n className={cardVariants({\n variant,\n interactive: interactive ?? false,\n stretch: stretch ?? false,\n className,\n })}\n {...interactiveProps}\n {...props}\n >\n {children}\n </Comp>\n </CardContext.Provider>\n );\n },\n);\nCardRoot.displayName = 'Card';\n\n/* ------------------------------------------------------------------ */\n/* Header */\n/* ------------------------------------------------------------------ */\n\nconst CardHeader = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const { headerId, registerHeader } = useContext(CardContext);\n\n // Notify root that a header is present so aria-labelledby is applied.\n const callbackRef = useCallback(\n (node: HTMLDivElement | null) => {\n if (node) registerHeader();\n if (typeof ref === 'function') ref(node);\n else if (ref) (ref as React.MutableRefObject<HTMLDivElement | null>).current = node;\n },\n [ref, registerHeader],\n );\n\n return (\n <div\n ref={callbackRef}\n id={headerId}\n className={[\n 'flex flex-col gap-[var(--spacing-xs)] p-[var(--spacing-md)] pb-0',\n '[&_*]:break-normal [&_*]:[overflow-wrap:anywhere]',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n );\n },\n);\nCardHeader.displayName = 'Card.Header';\n\n/* ------------------------------------------------------------------ */\n/* Media */\n/* ------------------------------------------------------------------ */\n\nconst CardMedia = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={[\n 'overflow-hidden [&_img]:w-full [&_img]:h-auto [&_img]:[object-fit:cover] [&_video]:w-full',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n ),\n);\nCardMedia.displayName = 'Card.Media';\n\n/* ------------------------------------------------------------------ */\n/* Body */\n/* ------------------------------------------------------------------ */\n\nconst CardBody = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={['p-[var(--spacing-md)] flex-1 text-start', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n ),\n);\nCardBody.displayName = 'Card.Body';\n\n/* ------------------------------------------------------------------ */\n/* Footer */\n/* ------------------------------------------------------------------ */\n\nconst CardFooter = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={[\n 'flex items-center gap-[var(--spacing-sm)] p-[var(--spacing-md)] pt-0',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n ),\n);\nCardFooter.displayName = 'Card.Footer';\n\n/* ------------------------------------------------------------------ */\n/* Compound export */\n/* ------------------------------------------------------------------ */\n\nexport const Card = Object.assign(CardRoot, {\n Header: CardHeader,\n Media: CardMedia,\n Body: CardBody,\n Footer: CardFooter,\n});\n\nexport type { VariantProps as CardVariantProps };\n"],"names":["CardContext","createContext","cardVariants","cva","CardRoot","forwardRef","variant","interactive","stretch","asChild","className","children","onClick","onKeyDown","props","ref","headerId","useId","hasHeader","setHasHeader","useState","registerHeader","useCallback","interactiveProps","e","Comp","Slot","jsx","CardHeader","useContext","callbackRef","node","CardMedia","CardBody","CardFooter","Card"],"mappings":"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"}