@alfadocs/ui-kit-debug 0.47.0 → 0.48.0

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 (341) hide show
  1. package/dist/_chunks/{agenda-card-CFyWSX7Z.js → agenda-card-BaSfVfrL.js} +25 -29
  2. package/dist/_chunks/agenda-card-BaSfVfrL.js.map +1 -0
  3. package/dist/_chunks/{agenda-tray-Dyj9ChHC.js → agenda-tray-DQayYmQ0.js} +50 -67
  4. package/dist/_chunks/agenda-tray-DQayYmQ0.js.map +1 -0
  5. package/dist/_chunks/ai-consent-banner-DO5ingMq.js +169 -0
  6. package/dist/_chunks/ai-consent-banner-DO5ingMq.js.map +1 -0
  7. package/dist/_chunks/ai-tools-rail-CxYG04cw.js +280 -0
  8. package/dist/_chunks/ai-tools-rail-CxYG04cw.js.map +1 -0
  9. package/dist/_chunks/{alia-sidebar-CVIPrdc9.js → alia-sidebar-DlvyXgVC.js} +3 -2
  10. package/dist/_chunks/alia-sidebar-DlvyXgVC.js.map +1 -0
  11. package/dist/_chunks/anamnesis-card-CmkBVAln.js +156 -0
  12. package/dist/_chunks/anamnesis-card-CmkBVAln.js.map +1 -0
  13. package/dist/_chunks/appointment-tray-BwDHhWWC.js +419 -0
  14. package/dist/_chunks/appointment-tray-BwDHhWWC.js.map +1 -0
  15. package/dist/_chunks/{bmi-calculator-CQqXTVNL.js → bmi-calculator-DdylQzT6.js} +2 -2
  16. package/dist/_chunks/{bmi-calculator-CQqXTVNL.js.map → bmi-calculator-DdylQzT6.js.map} +1 -1
  17. package/dist/_chunks/{booking-DlDVuWMd.js → booking-WV2GSru5.js} +291 -303
  18. package/dist/_chunks/booking-WV2GSru5.js.map +1 -0
  19. package/dist/_chunks/{calculator-dialog-D-nfvteH.js → calculator-dialog-CFk4I91b.js} +2 -2
  20. package/dist/_chunks/{calculator-dialog-D-nfvteH.js.map → calculator-dialog-CFk4I91b.js.map} +1 -1
  21. package/dist/_chunks/calendar-days-C4BmpCZg.js +23 -0
  22. package/dist/_chunks/calendar-days-C4BmpCZg.js.map +1 -0
  23. package/dist/_chunks/{calendar-YHFknAGv.js → calendar-oYWOCrnf.js} +195 -210
  24. package/dist/_chunks/calendar-oYWOCrnf.js.map +1 -0
  25. package/dist/_chunks/care-plan-card-QmNpGggC.js +252 -0
  26. package/dist/_chunks/care-plan-card-QmNpGggC.js.map +1 -0
  27. package/dist/_chunks/care-plan-entry-card-Cnra7vUc.js +318 -0
  28. package/dist/_chunks/care-plan-entry-card-Cnra7vUc.js.map +1 -0
  29. package/dist/_chunks/{chat-message-B5JpFj0F.js → chat-message-Dm8U2RY1.js} +36 -35
  30. package/dist/_chunks/chat-message-Dm8U2RY1.js.map +1 -0
  31. package/dist/_chunks/clinical-note-card-BYo437dU.js +333 -0
  32. package/dist/_chunks/clinical-note-card-BYo437dU.js.map +1 -0
  33. package/dist/_chunks/{contact-profile-card-DHyuAPXM.js → contact-profile-card-DvvVfAA2.js} +102 -115
  34. package/dist/_chunks/contact-profile-card-DvvVfAA2.js.map +1 -0
  35. package/dist/_chunks/{cycle-calculator-KxA8dqDf.js → cycle-calculator-DYvGm_m1.js} +2 -2
  36. package/dist/_chunks/{cycle-calculator-KxA8dqDf.js.map → cycle-calculator-DYvGm_m1.js.map} +1 -1
  37. package/dist/_chunks/{dialog-BTpZV6It.js → dialog-DMGnSelc.js} +55 -55
  38. package/dist/_chunks/dialog-DMGnSelc.js.map +1 -0
  39. package/dist/_chunks/{due-date-calculator-mFxpHLml.js → due-date-calculator-BXd3ANj7.js} +2 -2
  40. package/dist/_chunks/{due-date-calculator-mFxpHLml.js.map → due-date-calculator-BXd3ANj7.js.map} +1 -1
  41. package/dist/_chunks/entity-card-COhmqHly.js +69 -0
  42. package/dist/_chunks/entity-card-COhmqHly.js.map +1 -0
  43. package/dist/_chunks/{gestational-age-calculator-gWI_uRA1.js → gestational-age-calculator-Crj6FgZw.js} +2 -2
  44. package/dist/_chunks/{gestational-age-calculator-gWI_uRA1.js.map → gestational-age-calculator-Crj6FgZw.js.map} +1 -1
  45. package/dist/_chunks/{insert-result-C5ABnzDl.js → insert-result-DNdi_JYW.js} +140 -168
  46. package/dist/_chunks/insert-result-DNdi_JYW.js.map +1 -0
  47. package/dist/_chunks/is-safe-url-DkETxeHz.js +7 -0
  48. package/dist/_chunks/is-safe-url-DkETxeHz.js.map +1 -0
  49. package/dist/_chunks/languages-DsVf_WzT.js +19 -0
  50. package/dist/_chunks/languages-DsVf_WzT.js.map +1 -0
  51. package/dist/_chunks/layers-pzGcbLPj.js +34 -0
  52. package/dist/_chunks/layers-pzGcbLPj.js.map +1 -0
  53. package/dist/_chunks/{message-card-DSPw5ghw.js → message-card-Dvl1TgaN.js} +15 -19
  54. package/dist/_chunks/message-card-Dvl1TgaN.js.map +1 -0
  55. package/dist/_chunks/{message-tray-hSQff9u4.js → message-tray-Dl6GQaaV.js} +2 -2
  56. package/dist/_chunks/{message-tray-hSQff9u4.js.map → message-tray-Dl6GQaaV.js.map} +1 -1
  57. package/dist/_chunks/operator-hero-CM8949Hd.js +198 -0
  58. package/dist/_chunks/operator-hero-CM8949Hd.js.map +1 -0
  59. package/dist/_chunks/patient-summary-card-BnTqxcTr.js +443 -0
  60. package/dist/_chunks/patient-summary-card-BnTqxcTr.js.map +1 -0
  61. package/dist/_chunks/payment-request-card-B_lyobd0.js +478 -0
  62. package/dist/_chunks/payment-request-card-B_lyobd0.js.map +1 -0
  63. package/dist/_chunks/{pdf-viewer-CWEXTlwq.js → pdf-viewer-G8SU6Azw.js} +3 -3
  64. package/dist/_chunks/pdf-viewer-G8SU6Azw.js.map +1 -0
  65. package/dist/_chunks/periodontal-chart-card-BYs9hax1.js +455 -0
  66. package/dist/_chunks/periodontal-chart-card-BYs9hax1.js.map +1 -0
  67. package/dist/_chunks/phone-Bi5yUm4I.js +20 -0
  68. package/dist/_chunks/phone-Bi5yUm4I.js.map +1 -0
  69. package/dist/_chunks/{practice-results-DDi-kvaD.js → practice-results-BFL_mcDW.js} +3 -2
  70. package/dist/_chunks/{practice-results-DDi-kvaD.js.map → practice-results-BFL_mcDW.js.map} +1 -1
  71. package/dist/_chunks/{pregnancy-weight-gain-BtEHaSqy.js → pregnancy-weight-gain-C7dK89jE.js} +2 -2
  72. package/dist/_chunks/{pregnancy-weight-gain-BtEHaSqy.js.map → pregnancy-weight-gain-C7dK89jE.js.map} +1 -1
  73. package/dist/_chunks/scan-line-lGioFwLC.js +18 -0
  74. package/dist/_chunks/scan-line-lGioFwLC.js.map +1 -0
  75. package/dist/_chunks/shield-check-BjCGH_Sr.js +21 -0
  76. package/dist/_chunks/shield-check-BjCGH_Sr.js.map +1 -0
  77. package/dist/_chunks/{sign-document-BCyLpFHJ.js → sign-document-DPI2pY9V.js} +2 -2
  78. package/dist/_chunks/{sign-document-BCyLpFHJ.js.map → sign-document-DPI2pY9V.js.map} +1 -1
  79. package/dist/_chunks/{transaction-chip-B8ujzowA.js → transaction-chip-BZCa6XDn.js} +8 -6
  80. package/dist/_chunks/{transaction-chip-B8ujzowA.js.map → transaction-chip-BZCa6XDn.js.map} +1 -1
  81. package/dist/_chunks/{unit-converter-u3CwNDpP.js → unit-converter-jWp3Z85y.js} +2 -2
  82. package/dist/_chunks/{unit-converter-u3CwNDpP.js.map → unit-converter-jWp3Z85y.js.map} +1 -1
  83. package/dist/_chunks/user-cog-BS_qc8nA.js +24 -0
  84. package/dist/_chunks/user-cog-BS_qc8nA.js.map +1 -0
  85. package/dist/_chunks/video-BAeICxCT.js +21 -0
  86. package/dist/_chunks/video-BAeICxCT.js.map +1 -0
  87. package/dist/_chunks/{workflow-map-Djn1QMJc.js → workflow-map-ZXw-zsZ8.js} +138 -156
  88. package/dist/_chunks/workflow-map-ZXw-zsZ8.js.map +1 -0
  89. package/dist/agent-catalog.json +324 -1
  90. package/dist/components/_shared/entity-card/entity-card.d.ts +40 -0
  91. package/dist/components/_shared/entity-card/entity-card.d.ts.map +1 -0
  92. package/dist/components/_shared/entity-card/index.d.ts +3 -0
  93. package/dist/components/_shared/entity-card/index.d.ts.map +1 -0
  94. package/dist/components/_shared/index.d.ts +2 -0
  95. package/dist/components/_shared/index.d.ts.map +1 -1
  96. package/dist/components/_shared/is-safe-url.d.ts +13 -0
  97. package/dist/components/_shared/is-safe-url.d.ts.map +1 -0
  98. package/dist/components/agenda-card/agenda-card.d.ts +1 -2
  99. package/dist/components/agenda-card/agenda-card.d.ts.map +1 -1
  100. package/dist/components/agenda-card/index.d.ts +2 -1
  101. package/dist/components/agenda-card/index.d.ts.map +1 -1
  102. package/dist/components/agenda-card/index.js +6 -5
  103. package/dist/components/agenda-card/index.js.map +1 -1
  104. package/dist/components/agenda-tray/index.js +1 -1
  105. package/dist/components/ai-consent-banner/ai-consent-banner.agent.d.ts +4 -0
  106. package/dist/components/ai-consent-banner/ai-consent-banner.agent.d.ts.map +1 -0
  107. package/dist/components/ai-consent-banner/ai-consent-banner.d.ts +45 -0
  108. package/dist/components/ai-consent-banner/ai-consent-banner.d.ts.map +1 -0
  109. package/dist/components/ai-consent-banner/index.d.ts +4 -0
  110. package/dist/components/ai-consent-banner/index.d.ts.map +1 -0
  111. package/dist/components/ai-consent-banner/index.js +6 -0
  112. package/dist/components/ai-consent-banner/index.js.map +1 -0
  113. package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts +4 -0
  114. package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts.map +1 -0
  115. package/dist/components/ai-tools-rail/ai-tools-rail.d.ts +60 -0
  116. package/dist/components/ai-tools-rail/ai-tools-rail.d.ts.map +1 -0
  117. package/dist/components/ai-tools-rail/index.d.ts +4 -0
  118. package/dist/components/ai-tools-rail/index.d.ts.map +1 -0
  119. package/dist/components/ai-tools-rail/index.js +6 -0
  120. package/dist/components/ai-tools-rail/index.js.map +1 -0
  121. package/dist/components/anamnesis-card/anamnesis-card.d.ts +68 -0
  122. package/dist/components/anamnesis-card/anamnesis-card.d.ts.map +1 -0
  123. package/dist/components/anamnesis-card/index.d.ts +3 -0
  124. package/dist/components/anamnesis-card/index.d.ts.map +1 -0
  125. package/dist/components/anamnesis-card/index.js +5 -0
  126. package/dist/components/anamnesis-card/index.js.map +1 -0
  127. package/dist/components/appointment-card/appointment-card.agent.d.ts +3 -0
  128. package/dist/components/appointment-card/appointment-card.agent.d.ts.map +1 -0
  129. package/dist/components/appointment-card/appointment-card.d.ts +93 -0
  130. package/dist/components/appointment-card/appointment-card.d.ts.map +1 -0
  131. package/dist/components/appointment-card/appointment-tray.agent.d.ts +4 -0
  132. package/dist/components/appointment-card/appointment-tray.agent.d.ts.map +1 -0
  133. package/dist/components/appointment-card/appointment-tray.d.ts +48 -0
  134. package/dist/components/appointment-card/appointment-tray.d.ts.map +1 -0
  135. package/dist/components/appointment-card/index.d.ts +8 -0
  136. package/dist/components/appointment-card/index.d.ts.map +1 -0
  137. package/dist/components/appointment-card/index.js +10 -0
  138. package/dist/components/appointment-card/index.js.map +1 -0
  139. package/dist/components/badge/badge.d.ts +1 -1
  140. package/dist/components/bmi-calculator/index.js +1 -1
  141. package/dist/components/booking/index.js +1 -1
  142. package/dist/components/calculator-dialog/index.js +1 -1
  143. package/dist/components/calendar/index.js +1 -1
  144. package/dist/components/card/card.d.ts +1 -1
  145. package/dist/components/care-plan-card/care-plan-card.agent.d.ts +4 -0
  146. package/dist/components/care-plan-card/care-plan-card.agent.d.ts.map +1 -0
  147. package/dist/components/care-plan-card/care-plan-card.d.ts +102 -0
  148. package/dist/components/care-plan-card/care-plan-card.d.ts.map +1 -0
  149. package/dist/components/care-plan-card/index.d.ts +4 -0
  150. package/dist/components/care-plan-card/index.d.ts.map +1 -0
  151. package/dist/components/care-plan-card/index.js +6 -0
  152. package/dist/components/care-plan-card/index.js.map +1 -0
  153. package/dist/components/care-plan-entry-card/care-plan-entry-card.agent.d.ts +4 -0
  154. package/dist/components/care-plan-entry-card/care-plan-entry-card.agent.d.ts.map +1 -0
  155. package/dist/components/care-plan-entry-card/care-plan-entry-card.d.ts +110 -0
  156. package/dist/components/care-plan-entry-card/care-plan-entry-card.d.ts.map +1 -0
  157. package/dist/components/care-plan-entry-card/index.d.ts +4 -0
  158. package/dist/components/care-plan-entry-card/index.d.ts.map +1 -0
  159. package/dist/components/care-plan-entry-card/index.js +6 -0
  160. package/dist/components/care-plan-entry-card/index.js.map +1 -0
  161. package/dist/components/chat-message/chat-message.d.ts +7 -0
  162. package/dist/components/chat-message/chat-message.d.ts.map +1 -1
  163. package/dist/components/chat-message/index.js +1 -1
  164. package/dist/components/clinical-note-card/clinical-note-card.agent.d.ts +4 -0
  165. package/dist/components/clinical-note-card/clinical-note-card.agent.d.ts.map +1 -0
  166. package/dist/components/clinical-note-card/clinical-note-card.d.ts +98 -0
  167. package/dist/components/clinical-note-card/clinical-note-card.d.ts.map +1 -0
  168. package/dist/components/clinical-note-card/index.d.ts +4 -0
  169. package/dist/components/clinical-note-card/index.d.ts.map +1 -0
  170. package/dist/components/clinical-note-card/index.js +6 -0
  171. package/dist/components/clinical-note-card/index.js.map +1 -0
  172. package/dist/components/contact-profile-card/index.js +1 -1
  173. package/dist/components/cycle-calculator/index.js +1 -1
  174. package/dist/components/dialog/dialog.d.ts +7 -0
  175. package/dist/components/dialog/dialog.d.ts.map +1 -1
  176. package/dist/components/dialog/index.js +1 -1
  177. package/dist/components/due-date-calculator/index.js +1 -1
  178. package/dist/components/gestational-age-calculator/index.js +1 -1
  179. package/dist/components/index.d.ts +10 -0
  180. package/dist/components/index.d.ts.map +1 -1
  181. package/dist/components/message-card/index.js +5 -4
  182. package/dist/components/message-card/index.js.map +1 -1
  183. package/dist/components/message-card/message-card.d.ts +1 -2
  184. package/dist/components/message-card/message-card.d.ts.map +1 -1
  185. package/dist/components/message-tray/index.js +1 -1
  186. package/dist/components/operator-hero/index.js +1 -1
  187. package/dist/components/operator-hero/operator-hero.agent.d.ts.map +1 -1
  188. package/dist/components/operator-hero/operator-hero.d.ts +9 -0
  189. package/dist/components/operator-hero/operator-hero.d.ts.map +1 -1
  190. package/dist/components/patient-summary-card/index.d.ts +4 -0
  191. package/dist/components/patient-summary-card/index.d.ts.map +1 -0
  192. package/dist/components/patient-summary-card/index.js +6 -0
  193. package/dist/components/patient-summary-card/index.js.map +1 -0
  194. package/dist/components/patient-summary-card/patient-summary-card.agent.d.ts +4 -0
  195. package/dist/components/patient-summary-card/patient-summary-card.agent.d.ts.map +1 -0
  196. package/dist/components/patient-summary-card/patient-summary-card.d.ts +120 -0
  197. package/dist/components/patient-summary-card/patient-summary-card.d.ts.map +1 -0
  198. package/dist/components/payment-card/index.d.ts +7 -0
  199. package/dist/components/payment-card/index.d.ts.map +1 -0
  200. package/dist/components/payment-card/index.js +8 -0
  201. package/dist/components/payment-card/index.js.map +1 -0
  202. package/dist/components/payment-card/payment-card.agent.d.ts +4 -0
  203. package/dist/components/payment-card/payment-card.agent.d.ts.map +1 -0
  204. package/dist/components/payment-card/payment-card.d.ts +71 -0
  205. package/dist/components/payment-card/payment-card.d.ts.map +1 -0
  206. package/dist/components/payment-card/payment-request-card.agent.d.ts +4 -0
  207. package/dist/components/payment-card/payment-request-card.agent.d.ts.map +1 -0
  208. package/dist/components/payment-card/payment-request-card.d.ts +43 -0
  209. package/dist/components/payment-card/payment-request-card.d.ts.map +1 -0
  210. package/dist/components/pdf-viewer/index.js +1 -1
  211. package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -1
  212. package/dist/components/periodontal-chart-card/index.d.ts +4 -0
  213. package/dist/components/periodontal-chart-card/index.d.ts.map +1 -0
  214. package/dist/components/periodontal-chart-card/index.js +7 -0
  215. package/dist/components/periodontal-chart-card/index.js.map +1 -0
  216. package/dist/components/periodontal-chart-card/periodontal-chart-card.agent.d.ts +4 -0
  217. package/dist/components/periodontal-chart-card/periodontal-chart-card.agent.d.ts.map +1 -0
  218. package/dist/components/periodontal-chart-card/periodontal-chart-card.d.ts +74 -0
  219. package/dist/components/periodontal-chart-card/periodontal-chart-card.d.ts.map +1 -0
  220. package/dist/components/practice-results/index.js +1 -1
  221. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  222. package/dist/components/public-header/public-header.d.ts +1 -1
  223. package/dist/components/sign-document/index.js +1 -1
  224. package/dist/components/stat/stat.d.ts +1 -1
  225. package/dist/components/transaction-chip/index.js +1 -1
  226. package/dist/components/unit-converter/index.js +1 -1
  227. package/dist/components/workflow/index.js +1 -1
  228. package/dist/i18n/locales/ar.d.ts +351 -0
  229. package/dist/i18n/locales/ar.d.ts.map +1 -1
  230. package/dist/i18n/locales/ar.js +351 -0
  231. package/dist/i18n/locales/ar.js.map +1 -1
  232. package/dist/i18n/locales/de.d.ts +351 -0
  233. package/dist/i18n/locales/de.d.ts.map +1 -1
  234. package/dist/i18n/locales/de.js +351 -0
  235. package/dist/i18n/locales/de.js.map +1 -1
  236. package/dist/i18n/locales/el.d.ts +351 -0
  237. package/dist/i18n/locales/el.d.ts.map +1 -1
  238. package/dist/i18n/locales/el.js +351 -0
  239. package/dist/i18n/locales/el.js.map +1 -1
  240. package/dist/i18n/locales/en.d.ts +351 -0
  241. package/dist/i18n/locales/en.d.ts.map +1 -1
  242. package/dist/i18n/locales/en.js +351 -0
  243. package/dist/i18n/locales/en.js.map +1 -1
  244. package/dist/i18n/locales/es.d.ts +351 -0
  245. package/dist/i18n/locales/es.d.ts.map +1 -1
  246. package/dist/i18n/locales/es.js +351 -0
  247. package/dist/i18n/locales/es.js.map +1 -1
  248. package/dist/i18n/locales/fr.d.ts +351 -0
  249. package/dist/i18n/locales/fr.d.ts.map +1 -1
  250. package/dist/i18n/locales/fr.js +351 -0
  251. package/dist/i18n/locales/fr.js.map +1 -1
  252. package/dist/i18n/locales/hi.d.ts +351 -0
  253. package/dist/i18n/locales/hi.d.ts.map +1 -1
  254. package/dist/i18n/locales/hi.js +351 -0
  255. package/dist/i18n/locales/hi.js.map +1 -1
  256. package/dist/i18n/locales/it.d.ts +351 -0
  257. package/dist/i18n/locales/it.d.ts.map +1 -1
  258. package/dist/i18n/locales/it.js +351 -0
  259. package/dist/i18n/locales/it.js.map +1 -1
  260. package/dist/i18n/locales/ja.d.ts +351 -0
  261. package/dist/i18n/locales/ja.d.ts.map +1 -1
  262. package/dist/i18n/locales/ja.js +351 -0
  263. package/dist/i18n/locales/ja.js.map +1 -1
  264. package/dist/i18n/locales/nl.d.ts +351 -0
  265. package/dist/i18n/locales/nl.d.ts.map +1 -1
  266. package/dist/i18n/locales/nl.js +351 -0
  267. package/dist/i18n/locales/nl.js.map +1 -1
  268. package/dist/i18n/locales/pl.d.ts +351 -0
  269. package/dist/i18n/locales/pl.d.ts.map +1 -1
  270. package/dist/i18n/locales/pl.js +351 -0
  271. package/dist/i18n/locales/pl.js.map +1 -1
  272. package/dist/i18n/locales/pt.d.ts +351 -0
  273. package/dist/i18n/locales/pt.d.ts.map +1 -1
  274. package/dist/i18n/locales/pt.js +351 -0
  275. package/dist/i18n/locales/pt.js.map +1 -1
  276. package/dist/i18n/locales/ro.d.ts +351 -0
  277. package/dist/i18n/locales/ro.d.ts.map +1 -1
  278. package/dist/i18n/locales/ro.js +351 -0
  279. package/dist/i18n/locales/ro.js.map +1 -1
  280. package/dist/i18n/locales/ru.d.ts +351 -0
  281. package/dist/i18n/locales/ru.d.ts.map +1 -1
  282. package/dist/i18n/locales/ru.js +351 -0
  283. package/dist/i18n/locales/ru.js.map +1 -1
  284. package/dist/i18n/locales/sq.d.ts +351 -0
  285. package/dist/i18n/locales/sq.d.ts.map +1 -1
  286. package/dist/i18n/locales/sq.js +351 -0
  287. package/dist/i18n/locales/sq.js.map +1 -1
  288. package/dist/i18n/locales/sv.d.ts +351 -0
  289. package/dist/i18n/locales/sv.d.ts.map +1 -1
  290. package/dist/i18n/locales/sv.js +351 -0
  291. package/dist/i18n/locales/sv.js.map +1 -1
  292. package/dist/i18n/locales/tr.d.ts +351 -0
  293. package/dist/i18n/locales/tr.d.ts.map +1 -1
  294. package/dist/i18n/locales/tr.js +351 -0
  295. package/dist/i18n/locales/tr.js.map +1 -1
  296. package/dist/i18n/locales/zh.d.ts +351 -0
  297. package/dist/i18n/locales/zh.d.ts.map +1 -1
  298. package/dist/i18n/locales/zh.js +351 -0
  299. package/dist/i18n/locales/zh.js.map +1 -1
  300. package/dist/index.js +527 -491
  301. package/dist/index.js.map +1 -1
  302. package/dist/locales/ar.json +351 -0
  303. package/dist/locales/de.json +351 -0
  304. package/dist/locales/el.json +351 -0
  305. package/dist/locales/en.json +351 -0
  306. package/dist/locales/es.json +351 -0
  307. package/dist/locales/fr.json +351 -0
  308. package/dist/locales/hi.json +351 -0
  309. package/dist/locales/it.json +351 -0
  310. package/dist/locales/ja.json +351 -0
  311. package/dist/locales/nl.json +351 -0
  312. package/dist/locales/pl.json +351 -0
  313. package/dist/locales/pt.json +351 -0
  314. package/dist/locales/ro.json +351 -0
  315. package/dist/locales/ru.json +351 -0
  316. package/dist/locales/sq.json +351 -0
  317. package/dist/locales/sv.json +351 -0
  318. package/dist/locales/tr.json +351 -0
  319. package/dist/locales/zh.json +351 -0
  320. package/dist/patterns/alia-assistant/alia-chat-surface.d.ts.map +1 -1
  321. package/dist/patterns/alia-assistant/alia-types.d.ts +15 -0
  322. package/dist/patterns/alia-assistant/alia-types.d.ts.map +1 -1
  323. package/dist/patterns/alia-assistant/index.js +1 -1
  324. package/dist/tokens.css +1 -1
  325. package/package.json +42 -1
  326. package/dist/_chunks/agenda-card-CFyWSX7Z.js.map +0 -1
  327. package/dist/_chunks/agenda-tray-Dyj9ChHC.js.map +0 -1
  328. package/dist/_chunks/alia-sidebar-CVIPrdc9.js.map +0 -1
  329. package/dist/_chunks/booking-DlDVuWMd.js.map +0 -1
  330. package/dist/_chunks/calendar-YHFknAGv.js.map +0 -1
  331. package/dist/_chunks/chat-message-B5JpFj0F.js.map +0 -1
  332. package/dist/_chunks/contact-profile-card-DHyuAPXM.js.map +0 -1
  333. package/dist/_chunks/dialog-BTpZV6It.js.map +0 -1
  334. package/dist/_chunks/insert-result-C5ABnzDl.js.map +0 -1
  335. package/dist/_chunks/message-card-DSPw5ghw.js.map +0 -1
  336. package/dist/_chunks/operator-hero-7LiiP7zi.js +0 -171
  337. package/dist/_chunks/operator-hero-7LiiP7zi.js.map +0 -1
  338. package/dist/_chunks/pdf-viewer-CWEXTlwq.js.map +0 -1
  339. package/dist/_chunks/shield-check-C73ma9Cs.js +0 -36
  340. package/dist/_chunks/shield-check-C73ma9Cs.js.map +0 -1
  341. package/dist/_chunks/workflow-map-Djn1QMJc.js.map +0 -1
@@ -0,0 +1,333 @@
1
+ import { jsx as e, jsxs as m } from "react/jsx-runtime";
2
+ import { forwardRef as K, useId as H, useMemo as I } from "react";
3
+ import { c as _ } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as S } from "react-i18next";
5
+ import { A as V } from "./avatar-BNQNhoyL.js";
6
+ import { B as d } from "./badge-zsf5i5bH.js";
7
+ import { C as k } from "./card-DPmk26CL.js";
8
+ import { L as E } from "./link-DrD_cRUg.js";
9
+ import { T as C } from "./timestamp-BV2lC-wV.js";
10
+ import { SafeHtml as F } from "../safe-html/index.js";
11
+ import { i as M } from "./is-safe-url-DkETxeHz.js";
12
+ import { u as U } from "./registry-nPAVE19X.js";
13
+ import { S as W } from "./scan-line-lGioFwLC.js";
14
+ import { L as q } from "./layers-pzGcbLPj.js";
15
+ import { F as h } from "./file-text-DSNuv2B8.js";
16
+ import { U as B } from "./user-CPxpqFjJ.js";
17
+ import { c as w } from "./createLucideIcon-CrFbzy84.js";
18
+ /**
19
+ * @license lucide-react v1.8.0 - ISC
20
+ *
21
+ * This source code is licensed under the ISC license.
22
+ * See the LICENSE file in the root directory of this source tree.
23
+ */
24
+ const R = [
25
+ [
26
+ "path",
27
+ {
28
+ d: "M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",
29
+ key: "1jaruq"
30
+ }
31
+ ]
32
+ ], O = w("flag", R);
33
+ /**
34
+ * @license lucide-react v1.8.0 - ISC
35
+ *
36
+ * This source code is licensed under the ISC license.
37
+ * See the LICENSE file in the root directory of this source tree.
38
+ */
39
+ const D = [
40
+ ["path", { d: "M12 17v5", key: "bb1du9" }],
41
+ [
42
+ "path",
43
+ {
44
+ d: "M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",
45
+ key: "1nkz8b"
46
+ }
47
+ ]
48
+ ], G = w("pin", D), J = {
49
+ id: "clinical-note-card",
50
+ capabilities: [],
51
+ state: {
52
+ noteId: {
53
+ type: "string | undefined",
54
+ descriptionKey: "ui.agent.clinicalNoteCard.state.noteId",
55
+ description: "Stable identifier of the rendered note, when supplied.",
56
+ read: (n) => n.getNoteId()
57
+ },
58
+ pinned: {
59
+ type: "boolean",
60
+ descriptionKey: "ui.agent.clinicalNoteCard.state.pinned",
61
+ description: "Whether the note is pinned to the top of the timeline.",
62
+ read: (n) => n.isPinned()
63
+ },
64
+ flagged: {
65
+ type: "boolean",
66
+ descriptionKey: "ui.agent.clinicalNoteCard.state.flagged",
67
+ description: "Whether the note is flagged for follow-up.",
68
+ read: (n) => n.isFlagged()
69
+ },
70
+ attachmentKind: {
71
+ type: "'patient' | 'carePlan' | 'carePlanEntry' | 'phase' | 'xray' | undefined",
72
+ descriptionKey: "ui.agent.clinicalNoteCard.state.attachmentKind",
73
+ description: "Structural kind the note is attached to. Never the attachment identity or content.",
74
+ read: (n) => n.getAttachmentKind()
75
+ }
76
+ },
77
+ actions: {},
78
+ domHooks: {
79
+ root: {
80
+ attr: "data-component",
81
+ value: "clinical-note-card",
82
+ description: "Marks the ClinicalNoteCard root. Also emits data-pinned / data-flagged / data-attached-to structural hooks."
83
+ },
84
+ instanceId: {
85
+ attr: "data-component-id",
86
+ sourceProp: "id",
87
+ description: "Sourced from the id prop — addresses a specific note."
88
+ }
89
+ }
90
+ }, Q = _("ds:w-full ds:text-[color:var(--foreground)]", {
91
+ variants: {
92
+ surface: { flat: "", elevated: "" }
93
+ },
94
+ defaultVariants: { surface: "elevated" }
95
+ }), X = _(
96
+ [
97
+ "type-body-sm ds:text-[color:var(--foreground)]",
98
+ "ds:break-words",
99
+ "[&_a]:ds:underline [&_a]:ds:underline-offset-2",
100
+ "[&_code]:ds:rounded-[var(--radius-sm)] [&_code]:ds:bg-muted/30 [&_code]:ds:ps-[var(--spacing-xs)] [&_code]:ds:pe-[var(--spacing-xs)] [&_code]:ds:font-[family-name:var(--font-mono)]",
101
+ "[&_p]:ds:m-0 [&_p+p]:ds:mt-[var(--spacing-sm)]",
102
+ "[&_ul]:ds:m-0 [&_ul]:ds:ps-[var(--spacing-md)] [&_ol]:ds:m-0 [&_ol]:ds:ps-[var(--spacing-md)]"
103
+ ].join(" "),
104
+ {
105
+ variants: {
106
+ truncate: {
107
+ true: "ds:[overflow:hidden] ds:[display:-webkit-box] ds:[-webkit-box-orient:vertical] ds:[-webkit-line-clamp:4]",
108
+ false: ""
109
+ }
110
+ },
111
+ defaultVariants: { truncate: !1 }
112
+ }
113
+ );
114
+ function v(n) {
115
+ return n.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
116
+ }
117
+ function b(n) {
118
+ let r = n;
119
+ return r = r.replace(/`([^`]+)`/g, "<code>$1</code>"), r = r.replace(/\*\*([^*]+)\*\*/g, "<strong>$1</strong>"), r = r.replace(/\*([^*]+)\*/g, "<em>$1</em>"), r = r.replace(
120
+ /\[([^\]]+)\]\(([^)\s]+)\)/g,
121
+ '<a href="$2" target="_blank" rel="noopener noreferrer">$1</a>'
122
+ ), r;
123
+ }
124
+ function Y(n) {
125
+ return n.split(/\n{2,}/).map((o) => {
126
+ const t = o.split(`
127
+ `), p = t.every((l) => /^\s*[-*]\s+/.test(l)), a = t.every((l) => /^\s*\d+\.\s+/.test(l));
128
+ return p && t.length > 0 ? `<ul>${t.map((i) => i.replace(/^\s*[-*]\s+/, "")).map((i) => `<li>${b(v(i))}</li>`).join("")}</ul>` : a && t.length > 0 ? `<ol>${t.map((i) => i.replace(/^\s*\d+\.\s+/, "")).map((i) => `<li>${b(v(i))}</li>`).join("")}</ol>` : `<p>${b(v(o)).replace(
129
+ /\n/g,
130
+ "<br />"
131
+ )}</p>`;
132
+ }).join("");
133
+ }
134
+ const Z = K(
135
+ ({
136
+ id: n,
137
+ dateIso: r,
138
+ createdAtIso: o,
139
+ author: t,
140
+ clinical: p,
141
+ attachedTo: a,
142
+ content: f,
143
+ pinned: l,
144
+ flagged: i,
145
+ truncate: z = !1,
146
+ surface: N = "elevated",
147
+ "aria-label": A,
148
+ className: P,
149
+ ...$
150
+ }, j) => {
151
+ const { t: s } = S(), g = H(), L = I(() => Y(f), [f]), y = A ?? s("clinicalNoteCard.regionLabel");
152
+ U(
153
+ J,
154
+ {
155
+ getNoteId: () => n,
156
+ isPinned: () => !!l,
157
+ isFlagged: () => !!i,
158
+ getAttachmentKind: () => a == null ? void 0 : a.kind
159
+ },
160
+ n
161
+ );
162
+ let c = null;
163
+ if (a)
164
+ switch (a.kind) {
165
+ case "patient":
166
+ c = /* @__PURE__ */ e(
167
+ d,
168
+ {
169
+ variant: "neutral",
170
+ size: "sm",
171
+ leading: /* @__PURE__ */ e(B, { "aria-hidden": "true" }),
172
+ children: s("clinicalNoteCard.attachment.patient")
173
+ }
174
+ );
175
+ break;
176
+ case "carePlan": {
177
+ const u = s("clinicalNoteCard.attachment.carePlan", {
178
+ number: a.number
179
+ });
180
+ c = a.url && M(a.url) ? /* @__PURE__ */ e(
181
+ E,
182
+ {
183
+ href: a.url,
184
+ intent: "default",
185
+ startIcon: /* @__PURE__ */ e(h, { "aria-hidden": "true" }),
186
+ children: u
187
+ }
188
+ ) : /* @__PURE__ */ e(
189
+ d,
190
+ {
191
+ variant: "info",
192
+ size: "sm",
193
+ leading: /* @__PURE__ */ e(h, { "aria-hidden": "true" }),
194
+ children: u
195
+ }
196
+ );
197
+ break;
198
+ }
199
+ case "carePlanEntry": {
200
+ const u = a.elements && a.elements.length > 0 ? s("clinicalNoteCard.attachment.carePlanEntryWithElements", {
201
+ care: a.careName,
202
+ elements: a.elements.join(", ")
203
+ }) : s("clinicalNoteCard.attachment.carePlanEntry", {
204
+ care: a.careName
205
+ });
206
+ c = /* @__PURE__ */ e(
207
+ d,
208
+ {
209
+ variant: "info",
210
+ size: "sm",
211
+ leading: /* @__PURE__ */ e(h, { "aria-hidden": "true" }),
212
+ children: u
213
+ }
214
+ );
215
+ break;
216
+ }
217
+ case "phase":
218
+ c = /* @__PURE__ */ e(
219
+ d,
220
+ {
221
+ variant: "neutral",
222
+ size: "sm",
223
+ leading: /* @__PURE__ */ e(q, { "aria-hidden": "true" }),
224
+ children: s("clinicalNoteCard.attachment.phase", {
225
+ label: a.label
226
+ })
227
+ }
228
+ );
229
+ break;
230
+ case "xray":
231
+ c = /* @__PURE__ */ e(
232
+ d,
233
+ {
234
+ variant: "neutral",
235
+ size: "sm",
236
+ leading: /* @__PURE__ */ e(W, { "aria-hidden": "true" }),
237
+ children: a.label ? s("clinicalNoteCard.attachment.xrayWithLabel", {
238
+ label: a.label
239
+ }) : s("clinicalNoteCard.attachment.xray")
240
+ }
241
+ );
242
+ break;
243
+ }
244
+ const x = /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
245
+ /* @__PURE__ */ m("div", { className: "ds:flex ds:items-start ds:gap-[var(--spacing-sm)]", children: [
246
+ t ? /* @__PURE__ */ e(
247
+ V,
248
+ {
249
+ name: t.name,
250
+ src: t.avatarUrl,
251
+ size: "sm",
252
+ className: "ds:shrink-0",
253
+ "aria-hidden": "true",
254
+ role: "presentation",
255
+ "aria-label": void 0
256
+ }
257
+ ) : null,
258
+ /* @__PURE__ */ m("div", { className: "ds:flex-1 ds:min-w-0 ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
259
+ t ? /* @__PURE__ */ e(
260
+ "span",
261
+ {
262
+ id: g,
263
+ className: "type-title-item ds:text-[color:var(--foreground)] ds:truncate",
264
+ children: t.name
265
+ }
266
+ ) : /* @__PURE__ */ e("span", { id: g, className: "ds:sr-only", children: y }),
267
+ /* @__PURE__ */ m("span", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-x-[var(--spacing-xs)] ds:gap-y-[var(--spacing-2xs)]", children: [
268
+ /* @__PURE__ */ e(C, { value: r, shape: "bare", size: "sm" }),
269
+ o && o !== r ? /* @__PURE__ */ m("span", { className: "type-meta ds:text-[color:var(--muted-foreground)]", children: [
270
+ s("clinicalNoteCard.added"),
271
+ " ",
272
+ /* @__PURE__ */ e(C, { value: o, shape: "bare", size: "sm" })
273
+ ] }) : null
274
+ ] })
275
+ ] }),
276
+ l || i || p ? /* @__PURE__ */ m("span", { className: "ds:ms-auto ds:flex ds:shrink-0 ds:flex-wrap ds:items-center ds:justify-end ds:gap-[var(--spacing-2xs)]", children: [
277
+ p ? /* @__PURE__ */ e(d, { variant: "brand", size: "sm", children: s("clinicalNoteCard.clinical") }) : null,
278
+ l ? /* @__PURE__ */ e(
279
+ d,
280
+ {
281
+ variant: "accent",
282
+ size: "sm",
283
+ leading: /* @__PURE__ */ e(G, { "aria-hidden": "true" }),
284
+ children: s("clinicalNoteCard.pinned")
285
+ }
286
+ ) : null,
287
+ i ? /* @__PURE__ */ e(
288
+ d,
289
+ {
290
+ variant: "warning",
291
+ size: "sm",
292
+ leading: /* @__PURE__ */ e(O, { "aria-hidden": "true" }),
293
+ children: s("clinicalNoteCard.flagged")
294
+ }
295
+ ) : null
296
+ ] }) : null
297
+ ] }),
298
+ /* @__PURE__ */ e(
299
+ F,
300
+ {
301
+ html: L,
302
+ profile: "markdown",
303
+ className: X({ truncate: z })
304
+ }
305
+ ),
306
+ c ? /* @__PURE__ */ e("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: c }) : null
307
+ ] });
308
+ return /* @__PURE__ */ e(
309
+ "div",
310
+ {
311
+ ref: j,
312
+ role: "article",
313
+ "aria-label": y,
314
+ "aria-labelledby": g,
315
+ "data-component": "clinical-note-card",
316
+ "data-component-id": n,
317
+ "data-pinned": l ? "true" : void 0,
318
+ "data-flagged": i ? "true" : void 0,
319
+ "data-attached-to": a == null ? void 0 : a.kind,
320
+ id: n,
321
+ className: Q({ surface: N, className: P }),
322
+ ...$,
323
+ children: N === "elevated" ? /* @__PURE__ */ e(k, { variant: "elevated", children: /* @__PURE__ */ e(k.Body, { children: x }) }) : x
324
+ }
325
+ );
326
+ }
327
+ );
328
+ Z.displayName = "ClinicalNoteCard";
329
+ export {
330
+ Z as C,
331
+ J as c
332
+ };
333
+ //# sourceMappingURL=clinical-note-card-BYo437dU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clinical-note-card-BYo437dU.js","sources":["../../node_modules/lucide-react/dist/esm/icons/flag.js","../../node_modules/lucide-react/dist/esm/icons/pin.js","../../src/components/clinical-note-card/clinical-note-card.agent.ts","../../src/components/clinical-note-card/clinical-note-card.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 [\n \"path\",\n {\n d: \"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528\",\n key: \"1jaruq\"\n }\n ]\n];\nconst Flag = createLucideIcon(\"flag\", __iconNode);\n\nexport { __iconNode, Flag as default };\n//# sourceMappingURL=flag.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: \"M12 17v5\", key: \"bb1du9\" }],\n [\n \"path\",\n {\n d: \"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z\",\n key: \"1nkz8b\"\n }\n ]\n];\nconst Pin = createLucideIcon(\"pin\", __iconNode);\n\nexport { __iconNode, Pin as default };\n//# sourceMappingURL=pin.js.map\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — ClinicalNoteCard. */\n/* */\n/* Read-only presentation surface. Exposes the note's id + structural */\n/* flags (pinned / flagged / attachment kind) so a future MCP UI bridge */\n/* can locate and describe a rendered note. NEVER reads the note body or */\n/* any author identity — those are PHI and stay out of the agent layer. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { ClinicalNoteCardHandle } from './clinical-note-card';\n\nexport const clinicalNoteCardAgent: AgentAdapter<ClinicalNoteCardHandle> = {\n id: 'clinical-note-card',\n capabilities: [],\n state: {\n noteId: {\n type: 'string | undefined',\n descriptionKey: 'ui.agent.clinicalNoteCard.state.noteId',\n description: 'Stable identifier of the rendered note, when supplied.',\n read: (handle) => handle.getNoteId(),\n },\n pinned: {\n type: 'boolean',\n descriptionKey: 'ui.agent.clinicalNoteCard.state.pinned',\n description: 'Whether the note is pinned to the top of the timeline.',\n read: (handle) => handle.isPinned(),\n },\n flagged: {\n type: 'boolean',\n descriptionKey: 'ui.agent.clinicalNoteCard.state.flagged',\n description: 'Whether the note is flagged for follow-up.',\n read: (handle) => handle.isFlagged(),\n },\n attachmentKind: {\n type: \"'patient' | 'carePlan' | 'carePlanEntry' | 'phase' | 'xray' | undefined\",\n descriptionKey: 'ui.agent.clinicalNoteCard.state.attachmentKind',\n description:\n 'Structural kind the note is attached to. Never the attachment identity or content.',\n read: (handle) => handle.getAttachmentKind(),\n },\n },\n actions: {},\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'clinical-note-card',\n description:\n 'Marks the ClinicalNoteCard root. Also emits data-pinned / data-flagged / data-attached-to structural hooks.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop — addresses a specific note.',\n },\n },\n};\n","import {\n forwardRef,\n useId,\n useMemo,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Flag, Pin, FileText, Layers, ScanLine, User } from 'lucide-react';\nimport { Avatar } from '../avatar/avatar';\nimport { Badge } from '../badge/badge';\nimport { Card } from '../card/card';\nimport { Link } from '../link/link';\nimport { Timestamp } from '../timestamp';\nimport { SafeHtml } from '../_shared/safe-html';\nimport { isSafeEntityUrl } from '../_shared/is-safe-url';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { clinicalNoteCardAgent } from './clinical-note-card.agent';\n\n/* -------------------------------------------------------------------- */\n/* ClinicalNoteCard */\n/* */\n/* A single clinical note — the free-text annotation an operator writes */\n/* against a patient, care plan, treatment phase, or x-ray. Replaces the */\n/* bespoke \"nota clinica\" rows scattered across the platform patient */\n/* timeline. Composes Card + Avatar (author) + Timestamp + Badge/Tag */\n/* (clinical / pinned / flagged) + Link (attachment) and renders the */\n/* markdown body through the shared SafeHtml helper — the only sanctioned */\n/* carrier of dangerouslySetInnerHTML (constraint §8). */\n/* */\n/* All visible text flows through useTranslation('ui') against the */\n/* `clinicalNoteCard.*` namespace. No PHI is read by the agent adapter — */\n/* only the note id and structural flags are exposed. */\n/* -------------------------------------------------------------------- */\n\n/* -------------------------------------------------------------------- */\n/* Public types */\n/* -------------------------------------------------------------------- */\n\n/** Author identity — drives the avatar + visible byline. */\nexport interface ClinicalNoteAuthor {\n /** Display name. */\n name: string;\n /** Optional avatar image URL. */\n avatarUrl?: string;\n}\n\n/**\n * What the note is attached to. Discriminated by `kind`:\n * - `patient` — a free-standing note on the patient record.\n * - `carePlan` — attached to a care plan (estimate / treatment plan),\n * identified by its number, with an optional deep link.\n * - `carePlanEntry` — attached to one entry inside a care plan, naming the\n * care and (optionally) the listed elements.\n * - `phase` — attached to a treatment phase, labelled.\n * - `xray` — attached to an x-ray / radiograph, optionally labelled.\n */\nexport type NoteAttachment =\n | { kind: 'patient' }\n | { kind: 'carePlan'; number: string; url?: string }\n | { kind: 'carePlanEntry'; careName: string; elements?: string[] }\n | { kind: 'phase'; label: string }\n | { kind: 'xray'; label?: string };\n\n/** Imperative handle exposed to the agent runtime — identifiers / flags only. */\nexport interface ClinicalNoteCardHandle {\n /** The note's stable id, when supplied. */\n getNoteId: () => string | undefined;\n /** Whether the note is currently pinned. */\n isPinned: () => boolean;\n /** Whether the note is currently flagged. */\n isFlagged: () => boolean;\n /** The attachment kind the note is bound to. */\n getAttachmentKind: () => NoteAttachment['kind'] | undefined;\n}\n\nexport interface ClinicalNoteCardProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n 'aria-label' | 'children' | 'content' | 'title'\n> {\n /** Agent-readiness consumer id, surfaced as `data-component-id`. */\n id?: string;\n /**\n * ISO-8601 timestamp the note refers to (the clinical date). Drives the\n * primary `<Timestamp>`.\n */\n dateIso: string;\n /**\n * ISO-8601 timestamp the note was authored, when it differs from\n * `dateIso`. Rendered as a secondary \"added\" line.\n */\n createdAtIso?: string;\n /** Author identity — avatar + byline. Optional for system notes. */\n author?: ClinicalNoteAuthor;\n /**\n * Whether this is a clinical note (vs. an administrative one). When true a\n * \"Clinical\" badge is shown so the note's nature is unambiguous at a glance.\n */\n clinical?: boolean;\n /** What the note is attached to — drives a contextual chip + optional link. */\n attachedTo?: NoteAttachment;\n /**\n * The note body, authored in a small, safe subset of Markdown (bold,\n * italic, inline code, links, line breaks, simple lists). Rendered through\n * the shared `SafeHtml` helper with the `markdown` sanitiser profile —\n * raw HTML and unsafe link schemes are stripped.\n */\n content: string;\n /** Pin the note to the top of a timeline — shows a \"Pinned\" chip. */\n pinned?: boolean;\n /** Flag the note for follow-up / attention — shows a \"Flagged\" chip. */\n flagged?: boolean;\n /** Clamp the rendered body to a few lines. */\n truncate?: boolean;\n /**\n * `'elevated'` (default) wraps the note in `<Card variant=\"elevated\">`.\n * `'flat'` drops the chrome for use inside an existing Card / timeline rail.\n */\n surface?: 'flat' | 'elevated';\n /** Override the default region aria-label. */\n 'aria-label'?: string;\n}\n\n/* -------------------------------------------------------------------- */\n/* CVA — root */\n/* -------------------------------------------------------------------- */\n\nconst rootVariants = cva('ds:w-full ds:text-[color:var(--foreground)]', {\n variants: {\n surface: { flat: '', elevated: '' },\n },\n defaultVariants: { surface: 'elevated' },\n});\n\n/* Body clamp — applied only when `truncate` is set. Logical-safe. */\nconst bodyVariants = cva(\n [\n 'type-body-sm ds:text-[color:var(--foreground)]',\n 'ds:break-words',\n '[&_a]:ds:underline [&_a]:ds:underline-offset-2',\n '[&_code]:ds:rounded-[var(--radius-sm)] [&_code]:ds:bg-muted/30 [&_code]:ds:ps-[var(--spacing-xs)] [&_code]:ds:pe-[var(--spacing-xs)] [&_code]:ds:font-[family-name:var(--font-mono)]',\n '[&_p]:ds:m-0 [&_p+p]:ds:mt-[var(--spacing-sm)]',\n '[&_ul]:ds:m-0 [&_ul]:ds:ps-[var(--spacing-md)] [&_ol]:ds:m-0 [&_ol]:ds:ps-[var(--spacing-md)]',\n ].join(' '),\n {\n variants: {\n truncate: {\n true: 'ds:[overflow:hidden] ds:[display:-webkit-box] ds:[-webkit-box-orient:vertical] ds:[-webkit-line-clamp:4]',\n false: '',\n },\n },\n defaultVariants: { truncate: false },\n },\n);\n\n/* -------------------------------------------------------------------- */\n/* Markdown → safe HTML */\n/* */\n/* A dependency-free converter for the small Markdown subset the note */\n/* body supports. The output is then passed to `SafeHtml` (markdown */\n/* profile) which strips everything outside the allow-list — so even a */\n/* hostile note can only ever emit the sanitised tag set. We never call */\n/* dangerouslySetInnerHTML ourselves; SafeHtml is the single carrier. */\n/* -------------------------------------------------------------------- */\n\n/** HTML-escape a raw text run before re-inserting our own safe markup. */\nfunction escapeHtml(input: string): string {\n return input\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;');\n}\n\n/** Apply inline markdown (bold, italic, code, links) to an escaped run. */\nfunction renderInlineHtml(escaped: string): string {\n let out = escaped;\n // Inline code first so its contents aren't re-processed.\n out = out.replace(/`([^`]+)`/g, '<code>$1</code>');\n out = out.replace(/\\*\\*([^*]+)\\*\\*/g, '<strong>$1</strong>');\n out = out.replace(/\\*([^*]+)\\*/g, '<em>$1</em>');\n // Links — the href is left as-authored; SafeHtml's markdown profile\n // rejects any scheme outside http(s)/mailto/tel at sanitise time.\n out = out.replace(\n /\\[([^\\]]+)\\]\\(([^)\\s]+)\\)/g,\n '<a href=\"$2\" target=\"_blank\" rel=\"noopener noreferrer\">$1</a>',\n );\n return out;\n}\n\n/** Convert the supported Markdown subset into an HTML string. */\nfunction markdownToHtml(input: string): string {\n const blocks = input.split(/\\n{2,}/);\n return blocks\n .map((block) => {\n const lines = block.split('\\n');\n const isUnordered = lines.every((l) => /^\\s*[-*]\\s+/.test(l));\n const isOrdered = lines.every((l) => /^\\s*\\d+\\.\\s+/.test(l));\n if (isUnordered && lines.length > 0) {\n const items = lines\n .map((l) => l.replace(/^\\s*[-*]\\s+/, ''))\n .map((l) => `<li>${renderInlineHtml(escapeHtml(l))}</li>`)\n .join('');\n return `<ul>${items}</ul>`;\n }\n if (isOrdered && lines.length > 0) {\n const items = lines\n .map((l) => l.replace(/^\\s*\\d+\\.\\s+/, ''))\n .map((l) => `<li>${renderInlineHtml(escapeHtml(l))}</li>`)\n .join('');\n return `<ol>${items}</ol>`;\n }\n const paragraph = renderInlineHtml(escapeHtml(block)).replace(\n /\\n/g,\n '<br />',\n );\n return `<p>${paragraph}</p>`;\n })\n .join('');\n}\n\n/* -------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------- */\n\nexport const ClinicalNoteCard = forwardRef<\n HTMLDivElement,\n ClinicalNoteCardProps\n>(\n (\n {\n id,\n dateIso,\n createdAtIso,\n author,\n clinical,\n attachedTo,\n content,\n pinned,\n flagged,\n truncate = false,\n surface = 'elevated',\n 'aria-label': ariaLabel,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const headingId = useId();\n\n const bodyHtml = useMemo(() => markdownToHtml(content), [content]);\n\n const resolvedAriaLabel = ariaLabel ?? t('clinicalNoteCard.regionLabel');\n\n useAgentRegistration(\n clinicalNoteCardAgent,\n {\n getNoteId: () => id,\n isPinned: () => !!pinned,\n isFlagged: () => !!flagged,\n getAttachmentKind: () => attachedTo?.kind,\n },\n id,\n );\n\n /* ----- Attachment chip / link ----- */\n let attachmentNode: ReactNode = null;\n if (attachedTo) {\n switch (attachedTo.kind) {\n case 'patient':\n attachmentNode = (\n <Badge\n variant=\"neutral\"\n size=\"sm\"\n leading={<User aria-hidden=\"true\" />}\n >\n {t('clinicalNoteCard.attachment.patient')}\n </Badge>\n );\n break;\n case 'carePlan': {\n const label = t('clinicalNoteCard.attachment.carePlan', {\n number: attachedTo.number,\n });\n attachmentNode =\n attachedTo.url && isSafeEntityUrl(attachedTo.url) ? (\n <Link\n href={attachedTo.url}\n intent=\"default\"\n startIcon={<FileText aria-hidden=\"true\" />}\n >\n {label}\n </Link>\n ) : (\n <Badge\n variant=\"info\"\n size=\"sm\"\n leading={<FileText aria-hidden=\"true\" />}\n >\n {label}\n </Badge>\n );\n break;\n }\n case 'carePlanEntry': {\n const label =\n attachedTo.elements && attachedTo.elements.length > 0\n ? t('clinicalNoteCard.attachment.carePlanEntryWithElements', {\n care: attachedTo.careName,\n elements: attachedTo.elements.join(', '),\n })\n : t('clinicalNoteCard.attachment.carePlanEntry', {\n care: attachedTo.careName,\n });\n attachmentNode = (\n <Badge\n variant=\"info\"\n size=\"sm\"\n leading={<FileText aria-hidden=\"true\" />}\n >\n {label}\n </Badge>\n );\n break;\n }\n case 'phase':\n attachmentNode = (\n <Badge\n variant=\"neutral\"\n size=\"sm\"\n leading={<Layers aria-hidden=\"true\" />}\n >\n {t('clinicalNoteCard.attachment.phase', {\n label: attachedTo.label,\n })}\n </Badge>\n );\n break;\n case 'xray':\n attachmentNode = (\n <Badge\n variant=\"neutral\"\n size=\"sm\"\n leading={<ScanLine aria-hidden=\"true\" />}\n >\n {attachedTo.label\n ? t('clinicalNoteCard.attachment.xrayWithLabel', {\n label: attachedTo.label,\n })\n : t('clinicalNoteCard.attachment.xray')}\n </Badge>\n );\n break;\n }\n }\n\n const inner = (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\">\n {/* Header: author + date + status chips */}\n <div className=\"ds:flex ds:items-start ds:gap-[var(--spacing-sm)]\">\n {author ? (\n <Avatar\n name={author.name}\n src={author.avatarUrl}\n size=\"sm\"\n className=\"ds:shrink-0\"\n aria-hidden=\"true\"\n role=\"presentation\"\n aria-label={undefined}\n />\n ) : null}\n <div className=\"ds:flex-1 ds:min-w-0 ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)]\">\n {author ? (\n <span\n id={headingId}\n className=\"type-title-item ds:text-[color:var(--foreground)] ds:truncate\"\n >\n {author.name}\n </span>\n ) : (\n <span id={headingId} className=\"ds:sr-only\">\n {resolvedAriaLabel}\n </span>\n )}\n <span className=\"ds:flex ds:flex-wrap ds:items-center ds:gap-x-[var(--spacing-xs)] ds:gap-y-[var(--spacing-2xs)]\">\n <Timestamp value={dateIso} shape=\"bare\" size=\"sm\" />\n {createdAtIso && createdAtIso !== dateIso ? (\n <span className=\"type-meta ds:text-[color:var(--muted-foreground)]\">\n {t('clinicalNoteCard.added')}{' '}\n <Timestamp value={createdAtIso} shape=\"bare\" size=\"sm\" />\n </span>\n ) : null}\n </span>\n </div>\n {pinned || flagged || clinical ? (\n <span className=\"ds:ms-auto ds:flex ds:shrink-0 ds:flex-wrap ds:items-center ds:justify-end ds:gap-[var(--spacing-2xs)]\">\n {clinical ? (\n <Badge variant=\"brand\" size=\"sm\">\n {t('clinicalNoteCard.clinical')}\n </Badge>\n ) : null}\n {pinned ? (\n <Badge\n variant=\"accent\"\n size=\"sm\"\n leading={<Pin aria-hidden=\"true\" />}\n >\n {t('clinicalNoteCard.pinned')}\n </Badge>\n ) : null}\n {flagged ? (\n <Badge\n variant=\"warning\"\n size=\"sm\"\n leading={<Flag aria-hidden=\"true\" />}\n >\n {t('clinicalNoteCard.flagged')}\n </Badge>\n ) : null}\n </span>\n ) : null}\n </div>\n\n {/* Body — markdown rendered via the sanctioned SafeHtml carrier. */}\n <SafeHtml\n html={bodyHtml}\n profile=\"markdown\"\n className={bodyVariants({ truncate })}\n />\n\n {/* Attachment context */}\n {attachmentNode ? (\n <div className=\"ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]\">\n {attachmentNode}\n </div>\n ) : null}\n </div>\n );\n\n return (\n <div\n ref={ref}\n role=\"article\"\n aria-label={resolvedAriaLabel}\n aria-labelledby={headingId}\n data-component=\"clinical-note-card\"\n data-component-id={id}\n data-pinned={pinned ? 'true' : undefined}\n data-flagged={flagged ? 'true' : undefined}\n data-attached-to={attachedTo?.kind}\n id={id}\n className={rootVariants({ surface, className })}\n {...rest}\n >\n {surface === 'elevated' ? (\n <Card variant=\"elevated\">\n <Card.Body>{inner}</Card.Body>\n </Card>\n ) : (\n inner\n )}\n </div>\n );\n },\n);\n\nClinicalNoteCard.displayName = 'ClinicalNoteCard';\n\n/** Re-export of the surface variant union for downstream typing. */\nexport type ClinicalNoteCardSurface = NonNullable<\n VariantProps<typeof rootVariants>['surface']\n>;\n"],"names":["__iconNode","Flag","createLucideIcon","Pin","clinicalNoteCardAgent","handle","rootVariants","cva","bodyVariants","escapeHtml","input","renderInlineHtml","escaped","out","markdownToHtml","block","lines","isUnordered","isOrdered","l","ClinicalNoteCard","forwardRef","id","dateIso","createdAtIso","author","clinical","attachedTo","content","pinned","flagged","truncate","surface","ariaLabel","className","rest","ref","t","useTranslation","headingId","useId","bodyHtml","useMemo","resolvedAriaLabel","useAgentRegistration","attachmentNode","jsx","Badge","User","label","isSafeEntityUrl","Link","FileText","Layers","ScanLine","inner","jsxs","Avatar","Timestamp","SafeHtml","Card"],"mappings":"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","x_google_ignoreList":[0,1]}