@alfadocs/ui-kit 0.69.0 → 0.71.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 (425) hide show
  1. package/dist/_chunks/address-fields-CPbFJ8e8.js +246 -0
  2. package/dist/_chunks/{agenda-card-BxSFkqgY.js → agenda-card-BQ-IKAru.js} +2 -2
  3. package/dist/_chunks/{agenda-tray-g0kg7HwB.js → agenda-tray-CGXRk58j.js} +2 -2
  4. package/dist/_chunks/{ai-consent-banner-CXlsNX1c.js → ai-consent-banner-Be-h9mRI.js} +3 -3
  5. package/dist/_chunks/{ai-prompt-input-CuhTo9mh.js → ai-prompt-input-V4DdOeqv.js} +2 -2
  6. package/dist/_chunks/{alert-_mUKLmwA.js → alert-CHYZ96tR.js} +150 -96
  7. package/dist/_chunks/{alia-sidebar-B47qRQb5.js → alia-sidebar-DvIUzIX9.js} +107 -106
  8. package/dist/_chunks/{anamnesis-card-DRmE24OQ.js → anamnesis-card-DvYCa16e.js} +2 -2
  9. package/dist/_chunks/anatomy-scheme-CXSk11UJ.js +2445 -0
  10. package/dist/_chunks/annotation-marker-qt5R9WZX.js +120 -0
  11. package/dist/_chunks/{antenatal-schedule-timeline-35ebkcZT.js → antenatal-schedule-timeline-CwXrQRm1.js} +2 -2
  12. package/dist/_chunks/{app-frame-BYx1gcV7.js → app-frame-DIEMIC5V.js} +67 -56
  13. package/dist/_chunks/appointment-card-DVaeJNVB.js +294 -0
  14. package/dist/_chunks/appointment-timeline-PJgnrjFb.js +388 -0
  15. package/dist/_chunks/appointment-tray-B16QPGbm.js +193 -0
  16. package/dist/_chunks/{audio-recorder-DYXXnGug.js → audio-recorder-DNDsOLqO.js} +3 -3
  17. package/dist/_chunks/{autocomplete-DOeGouCL.js → autocomplete-BrONKN8l.js} +168 -146
  18. package/dist/_chunks/{badge-CqGsX32l.js → badge-DCOqV9mI.js} +32 -27
  19. package/dist/_chunks/{bishop-score-PJI3AXzA.js → bishop-score-Cym_TeQY.js} +3 -3
  20. package/dist/_chunks/{bmi-calculator-BZtIJ53x.js → bmi-calculator-zjeY4E7J.js} +2 -2
  21. package/dist/_chunks/{booking-C3VqFReX.js → booking-C7do4vaR.js} +7 -7
  22. package/dist/_chunks/{button-group-Ciq6J4IW.js → button-group-CvEnVzY7.js} +32 -35
  23. package/dist/_chunks/{care-plan-card-CvFGXa2z.js → care-plan-card-DzPDYgtK.js} +5 -5
  24. package/dist/_chunks/{care-plan-entry-card-C3E_gClk.js → care-plan-entry-card-CEnQy7YP.js} +5 -5
  25. package/dist/_chunks/care-plan-header-DcXFXWit.js +198 -0
  26. package/dist/_chunks/{chat-message-3V54YipB.js → chat-message-DzpcJR-q.js} +25 -23
  27. package/dist/_chunks/city-input-Dkgaak7I.js +169 -0
  28. package/dist/_chunks/clinical-note-card-BUvNMNGL.js +436 -0
  29. package/dist/_chunks/clipboard-list-S7s-MXQq.js +25 -0
  30. package/dist/_chunks/{combobox-Clum7gJ1.js → combobox-DnqSF0IH.js} +131 -114
  31. package/dist/_chunks/connection-status-CY1HV8Wg.js +108 -0
  32. package/dist/_chunks/{contact-profile-card-Dramqa9C.js → contact-profile-card-DDPwRFiP.js} +2 -2
  33. package/dist/_chunks/control-room-rail-FAQZrGVL.js +333 -0
  34. package/dist/_chunks/country-select-BwUZQvTa.js +709 -0
  35. package/dist/_chunks/{cycle-calculator-DmRGJNaT.js → cycle-calculator-CCmPwcBl.js} +2 -2
  36. package/dist/_chunks/{dependent-selector-CG_FOHya.js → dependent-selector-DUV4thxX.js} +2 -2
  37. package/dist/_chunks/{document-scanner-CTubA0-N.js → document-scanner-C_AxLooF.js} +3 -3
  38. package/dist/_chunks/{due-date-calculator-BTmsIQqD.js → due-date-calculator-Brdj-euS.js} +3 -3
  39. package/dist/_chunks/editable-currency-cell-renderer-CGELrkIj.js +410 -0
  40. package/dist/_chunks/email-input-DJ7EXklP.js +397 -0
  41. package/dist/_chunks/{entity-card-COhmqHly.js → entity-card-DmrgYSEX.js} +38 -20
  42. package/dist/_chunks/entity-summary-CaM1Y-xE.js +291 -0
  43. package/dist/_chunks/{fetal-weight-CRz7KE2D.js → fetal-weight-DNCkyeVo.js} +2 -2
  44. package/dist/_chunks/field-array-siUZzfYe.js +146 -0
  45. package/dist/_chunks/field-value-3jMM0uDx.js +415 -0
  46. package/dist/_chunks/{file-upload-5ScQd4fE.js → file-upload-DwZcAK8D.js} +2 -1
  47. package/dist/_chunks/{freemium-paywall-DZ2mBS3w.js → freemium-paywall-WYlNO7yT.js} +2 -2
  48. package/dist/_chunks/{gestational-age-calculator-BleUdhbI.js → gestational-age-calculator-DKzEV5Qi.js} +4 -4
  49. package/dist/_chunks/hash-CysBBS_N.js +17 -0
  50. package/dist/_chunks/{hcg-doubling-CnjDXX6U.js → hcg-doubling-C7bmuaU3.js} +2 -2
  51. package/dist/_chunks/iban-input-B0TWzR1R.js +436 -0
  52. package/dist/_chunks/icon-picker-0B7KhrF1.js +272 -0
  53. package/dist/_chunks/image-cropper-D9jqJy19.js +367 -0
  54. package/dist/_chunks/{actions-cell-renderer-DrcaxB0w.js → link-cell-renderer-De_SLjSq.js} +792 -668
  55. package/dist/_chunks/list-checks-BUs75d_o.js +18 -0
  56. package/dist/_chunks/lock-CKOIn0IK.js +15 -0
  57. package/dist/_chunks/{marketplace-app-shell-6T9W4Knl.js → marketplace-app-shell-BGqkywsi.js} +5 -5
  58. package/dist/_chunks/message-card-DsHFFiL1.js +319 -0
  59. package/dist/_chunks/{message-tray-DwrBLJlf.js → message-tray-C0a6CL1_.js} +172 -135
  60. package/dist/_chunks/{multi-select-BdHHDrRN.js → multi-select-WE4S9FIF.js} +75 -63
  61. package/dist/_chunks/nav-grid-9xphY3FM.js +169 -0
  62. package/dist/_chunks/notes-panel-DXiMfuvp.js +320 -0
  63. package/dist/_chunks/notification-card-BMqNzCIt.js +290 -0
  64. package/dist/_chunks/{notification-tray-Btb9oQeZ.js → notification-tray-BmUlCx3g.js} +201 -166
  65. package/dist/_chunks/{operator-hero-CP2Nhupm.js → operator-hero-BO8TqzX2.js} +3 -3
  66. package/dist/_chunks/panel-header-D313n_9-.js +105 -0
  67. package/dist/_chunks/patient-details-DgfTJimE.js +759 -0
  68. package/dist/_chunks/{patient-search-CBC_ySF6.js → patient-search-CSWQKOSP.js} +3 -3
  69. package/dist/_chunks/{patient-shell-DV3XEtIB.js → patient-shell-BMwsIKlW.js} +3 -3
  70. package/dist/_chunks/patient-summary-card-D4NdgYJB.js +452 -0
  71. package/dist/_chunks/patient-table-CERknpd8.js +1110 -0
  72. package/dist/_chunks/{payment-form-DvjwYVIT.js → payment-form-CxqIXqw7.js} +2 -2
  73. package/dist/_chunks/{payment-request-card-DioWKBUq.js → payment-request-card-Blf-MFNY.js} +125 -136
  74. package/dist/_chunks/{pdf-viewer-D6BPfW2D.js → pdf-viewer-QfebdLOd.js} +192 -214
  75. package/dist/_chunks/{periodontal-chart-card-BuDEMbHE.js → periodontal-chart-card-hRRJY1NN.js} +2 -2
  76. package/dist/_chunks/permission-matrix-Bw5oexUt.js +174 -0
  77. package/dist/_chunks/position-grid-CcvqHaKN.js +169 -0
  78. package/dist/_chunks/postal-code-input-UCOYuRY2.js +192 -0
  79. package/dist/_chunks/{practice-results-KrTHqZua.js → practice-results-El5Z-oVp.js} +4 -4
  80. package/dist/_chunks/{pregnancy-dating-DORUAOHB.js → pregnancy-dating-CunHrOpO.js} +4 -4
  81. package/dist/_chunks/{pregnancy-weight-gain-DVz4rr7-.js → pregnancy-weight-gain-BUNpTsH-.js} +2 -2
  82. package/dist/_chunks/{product-hub-panel-e6pW220e.js → product-hub-panel-DtU7KXxm.js} +257 -217
  83. package/dist/_chunks/province-select-D_TZvix3.js +261 -0
  84. package/dist/_chunks/{public-header.agent-DqkqA-ca.js → public-header.agent-TxmC_x1I.js} +2 -2
  85. package/dist/_chunks/radiograph-panel.agent-tWjN2nHX.js +553 -0
  86. package/dist/_chunks/reviews-panel-DxkSrgMl.js +559 -0
  87. package/dist/_chunks/rich-text-editor-C8tyGjfb.js +2621 -0
  88. package/dist/_chunks/{scroll-area-5wNK0Cyz.js → scroll-area-BZOvUhwQ.js} +2 -2
  89. package/dist/_chunks/{select-DMLG44F5.js → select-KsyRr8WH.js} +114 -102
  90. package/dist/_chunks/{sheet-BxsE7eQm.js → sheet-umkfZjF6.js} +53 -42
  91. package/dist/_chunks/{sidebar-DY9jGjgt.js → sidebar-QCp9wHNP.js} +125 -113
  92. package/dist/_chunks/{sign-document-B4DeRhTe.js → sign-document-By6hMOra.js} +2 -2
  93. package/dist/_chunks/{stepper-accordion-Dki6r9ZE.js → stepper-accordion-DC-H-8v4.js} +38 -48
  94. package/dist/_chunks/tab-bar-Bv9nGNdO.js +262 -0
  95. package/dist/_chunks/{tabs-BxcOziCo.js → tabs-CYZVKKDl.js} +2 -2
  96. package/dist/_chunks/task-card-DCdsI0ZT.js +189 -0
  97. package/dist/_chunks/{task-tray-qOEQflu4.js → task-tray-DNVejijD.js} +2 -2
  98. package/dist/_chunks/tasks-panel-C9odmawT.js +757 -0
  99. package/dist/_chunks/token-insert-menu-CFQqTe_n.js +147 -0
  100. package/dist/_chunks/tool-rail-BZx0-yIr.js +524 -0
  101. package/dist/_chunks/tooth-scheme-DJZtzfeY.js +2133 -0
  102. package/dist/_chunks/{transaction-chip-DK84XCBU.js → transaction-chip-CscoQbxF.js} +88 -61
  103. package/dist/_chunks/{transcript-panel-3THQX6nJ.js → transcript-panel-CHGHHHdT.js} +95 -83
  104. package/dist/_chunks/{unit-converter-YEpD9evj.js → unit-converter-CwlZbfdn.js} +2 -2
  105. package/dist/_chunks/use-clamp-overflow-DQE2kwZ9.js +20 -0
  106. package/dist/_chunks/use-overflow-collapse-BIOzKbni.js +32 -0
  107. package/dist/_chunks/use-persistent-state-nZwZAnE9.js +24 -0
  108. package/dist/_chunks/{warning-stack-BsgaEbL8.js → warning-stack--sTrrBDA.js} +86 -101
  109. package/dist/_chunks/{workflow-map-Bdam9pGp.js → workflow-map-M8MBBHQm.js} +107 -119
  110. package/dist/_chunks/zoom-out-CgVtf2Wx.js +29 -0
  111. package/dist/agent/index.js +5 -4
  112. package/dist/agent/types.d.ts +19 -2
  113. package/dist/agent-catalog.json +3325 -322
  114. package/dist/agent-i18n/en.json +314 -14
  115. package/dist/components/_shared/entity-card/entity-card.d.ts +6 -0
  116. package/dist/components/_shared/entity-card/index.d.ts +1 -1
  117. package/dist/components/_shared/field-value.d.ts +21 -0
  118. package/dist/components/_shared/field-visibility-cog.d.ts +20 -0
  119. package/dist/components/_shared/field-visibility.d.ts +36 -0
  120. package/dist/components/_shared/option.d.ts +2 -0
  121. package/dist/components/_shared/patient-fields.d.ts +119 -0
  122. package/dist/components/address-fields/address-fields.agent.d.ts +9 -0
  123. package/dist/components/address-fields/address-fields.d.ts +29 -0
  124. package/dist/components/address-fields/index.d.ts +5 -0
  125. package/dist/components/address-fields/index.js +6 -0
  126. package/dist/components/agenda-card/index.js +1 -1
  127. package/dist/components/agenda-tray/index.js +1 -1
  128. package/dist/components/ai-consent-banner/index.js +1 -1
  129. package/dist/components/ai-prompt-input/index.js +1 -1
  130. package/dist/components/alert/alert.d.ts +5 -0
  131. package/dist/components/alert/index.js +1 -1
  132. package/dist/components/anamnesis-card/index.js +1 -1
  133. package/dist/components/anatomy-scheme/anatomy-face-paths.d.ts +15 -0
  134. package/dist/components/anatomy-scheme/anatomy-muscle-paths.d.ts +20 -0
  135. package/dist/components/anatomy-scheme/anatomy-scheme-data.d.ts +121 -0
  136. package/dist/components/anatomy-scheme/anatomy-scheme.agent.d.ts +6 -0
  137. package/dist/components/anatomy-scheme/anatomy-scheme.d.ts +69 -0
  138. package/dist/components/anatomy-scheme/index.d.ts +6 -0
  139. package/dist/components/anatomy-scheme/index.js +17 -0
  140. package/dist/components/annotation-marker/annotation-marker.d.ts +33 -0
  141. package/dist/components/annotation-marker/index.d.ts +3 -0
  142. package/dist/components/annotation-marker/index.js +7 -0
  143. package/dist/components/app-frame/app-frame.d.ts +2 -2
  144. package/dist/components/app-frame/index.js +1 -1
  145. package/dist/components/appointment-card/appointment-card.d.ts +25 -1
  146. package/dist/components/appointment-card/index.js +6 -5
  147. package/dist/components/appointment-timeline/appointment-timeline.agent.d.ts +4 -0
  148. package/dist/components/appointment-timeline/appointment-timeline.d.ts +66 -0
  149. package/dist/components/appointment-timeline/index.d.ts +4 -0
  150. package/dist/components/appointment-timeline/index.js +6 -0
  151. package/dist/components/audio-recorder/index.js +1 -1
  152. package/dist/components/autocomplete/autocomplete.d.ts +10 -0
  153. package/dist/components/autocomplete/index.js +1 -1
  154. package/dist/components/badge/badge.d.ts +6 -2
  155. package/dist/components/badge/index.js +1 -1
  156. package/dist/components/bishop-score/index.js +1 -1
  157. package/dist/components/bmi-calculator/index.js +1 -1
  158. package/dist/components/booking/index.js +1 -1
  159. package/dist/components/button-group/index.js +1 -1
  160. package/dist/components/care-plan-card/index.js +1 -1
  161. package/dist/components/care-plan-entry-card/index.js +1 -1
  162. package/dist/components/care-plan-header/care-plan-header.agent.d.ts +4 -0
  163. package/dist/components/care-plan-header/care-plan-header.d.ts +111 -0
  164. package/dist/components/care-plan-header/index.d.ts +4 -0
  165. package/dist/components/care-plan-header/index.js +6 -0
  166. package/dist/components/chat-message/index.js +1 -1
  167. package/dist/components/city-input/city-input.agent.d.ts +8 -0
  168. package/dist/components/city-input/city-input.d.ts +57 -0
  169. package/dist/components/city-input/index.d.ts +5 -0
  170. package/dist/components/city-input/index.js +6 -0
  171. package/dist/components/clinical-note-card/clinical-note-card.d.ts +21 -1
  172. package/dist/components/clinical-note-card/index.js +1 -1
  173. package/dist/components/combobox/combobox.d.ts +17 -0
  174. package/dist/components/combobox/index.js +1 -1
  175. package/dist/components/connection-status/connection-status.agent.d.ts +4 -0
  176. package/dist/components/connection-status/connection-status.d.ts +36 -0
  177. package/dist/components/connection-status/index.d.ts +4 -0
  178. package/dist/components/connection-status/index.js +6 -0
  179. package/dist/components/contact-profile-card/index.js +1 -1
  180. package/dist/components/control-room-rail/control-room-context.d.ts +53 -0
  181. package/dist/components/control-room-rail/control-room-rail.agent.d.ts +4 -0
  182. package/dist/components/control-room-rail/control-room-rail.d.ts +35 -0
  183. package/dist/components/control-room-rail/index.d.ts +6 -0
  184. package/dist/components/control-room-rail/index.js +10 -0
  185. package/dist/components/counter/counter.d.ts +1 -1
  186. package/dist/components/country-select/country-select.agent.d.ts +8 -0
  187. package/dist/components/country-select/country-select.d.ts +51 -0
  188. package/dist/components/country-select/index.d.ts +6 -0
  189. package/dist/components/country-select/index.js +9 -0
  190. package/dist/components/country-select/iso-3166.d.ts +15 -0
  191. package/dist/components/cycle-calculator/index.js +1 -1
  192. package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts +18 -0
  193. package/dist/components/data-table/cell-renderers/reorder-cell-renderer.d.ts +34 -0
  194. package/dist/components/data-table/index.d.ts +3 -1
  195. package/dist/components/data-table/index.js +35 -32
  196. package/dist/components/dependent-selector/index.js +1 -1
  197. package/dist/components/document-scanner/index.js +1 -1
  198. package/dist/components/due-date-calculator/index.js +2 -2
  199. package/dist/components/email-input/index.js +1 -1
  200. package/dist/components/entity-summary/entity-summary.agent.d.ts +4 -0
  201. package/dist/components/entity-summary/entity-summary.d.ts +92 -0
  202. package/dist/components/entity-summary/index.d.ts +3 -0
  203. package/dist/components/entity-summary/index.js +5 -0
  204. package/dist/components/fetal-weight/index.js +1 -1
  205. package/dist/components/field-array/field-array.agent.d.ts +4 -0
  206. package/dist/components/field-array/field-array.d.ts +45 -0
  207. package/dist/components/field-array/index.d.ts +4 -0
  208. package/dist/components/field-array/index.js +6 -0
  209. package/dist/components/file-upload/index.js +1 -1
  210. package/dist/components/freemium-paywall/freemium-paywall.d.ts +1 -1
  211. package/dist/components/freemium-paywall/index.js +1 -1
  212. package/dist/components/gestational-age-calculator/index.js +1 -1
  213. package/dist/components/hcg-doubling/index.js +1 -1
  214. package/dist/components/iban-input/iban-input.agent.d.ts +4 -0
  215. package/dist/components/iban-input/iban-input.d.ts +51 -0
  216. package/dist/components/iban-input/index.d.ts +5 -0
  217. package/dist/components/iban-input/index.js +13 -0
  218. package/dist/components/iban-input/is-valid-iban.d.ts +31 -0
  219. package/dist/components/icon-picker/icon-picker.agent.d.ts +4 -0
  220. package/dist/components/icon-picker/icon-picker.d.ts +41 -0
  221. package/dist/components/icon-picker/index.d.ts +4 -0
  222. package/dist/components/icon-picker/index.js +6 -0
  223. package/dist/components/image-cropper/crop-geometry.d.ts +30 -0
  224. package/dist/components/image-cropper/image-cropper.agent.d.ts +4 -0
  225. package/dist/components/image-cropper/image-cropper.d.ts +32 -0
  226. package/dist/components/image-cropper/index.d.ts +5 -0
  227. package/dist/components/image-cropper/index.js +11 -0
  228. package/dist/components/index.d.ts +25 -1
  229. package/dist/components/message-card/index.js +1 -1
  230. package/dist/components/message-card/message-card.d.ts +14 -0
  231. package/dist/components/message-tray/index.js +1 -1
  232. package/dist/components/message-tray/message-tray.d.ts +4 -0
  233. package/dist/components/multi-select/index.js +1 -1
  234. package/dist/components/nav-grid/index.d.ts +4 -0
  235. package/dist/components/nav-grid/index.js +7 -0
  236. package/dist/components/nav-grid/nav-grid.agent.d.ts +4 -0
  237. package/dist/components/nav-grid/nav-grid.d.ts +41 -0
  238. package/dist/components/notes-panel/index.d.ts +3 -0
  239. package/dist/components/notes-panel/index.js +5 -0
  240. package/dist/components/notes-panel/notes-panel.agent.d.ts +4 -0
  241. package/dist/components/notes-panel/notes-panel.d.ts +94 -0
  242. package/dist/components/notification-card/index.js +1 -1
  243. package/dist/components/notification-card/notification-card.d.ts +15 -0
  244. package/dist/components/notification-tray/index.js +1 -1
  245. package/dist/components/notification-tray/notification-tray.d.ts +4 -0
  246. package/dist/components/operator-hero/index.js +1 -1
  247. package/dist/components/panel-header/index.d.ts +3 -0
  248. package/dist/components/panel-header/index.js +7 -0
  249. package/dist/components/panel-header/panel-header.d.ts +41 -0
  250. package/dist/components/patient-details/index.d.ts +5 -0
  251. package/dist/components/patient-details/index.js +6 -0
  252. package/dist/components/patient-details/patient-details.agent.d.ts +4 -0
  253. package/dist/components/patient-details/patient-details.d.ts +96 -0
  254. package/dist/components/patient-search/index.js +1 -1
  255. package/dist/components/patient-summary-card/index.js +1 -1
  256. package/dist/components/patient-summary-card/patient-summary-card.d.ts +40 -1
  257. package/dist/components/patient-table/columns.d.ts +69 -40
  258. package/dist/components/patient-table/index.d.ts +2 -6
  259. package/dist/components/patient-table/index.js +8 -9
  260. package/dist/components/patient-table/patient-table.d.ts +38 -4
  261. package/dist/components/patient-table/types.d.ts +52 -2
  262. package/dist/components/patient-table/use-responsive-columns.d.ts +8 -6
  263. package/dist/components/payment-card/index.js +1 -1
  264. package/dist/components/payment-form/index.js +1 -1
  265. package/dist/components/pdf-viewer/index.js +1 -1
  266. package/dist/components/periodontal-chart-card/index.js +1 -1
  267. package/dist/components/permission-matrix/index.d.ts +4 -0
  268. package/dist/components/permission-matrix/index.js +7 -0
  269. package/dist/components/permission-matrix/permission-matrix.agent.d.ts +4 -0
  270. package/dist/components/permission-matrix/permission-matrix.d.ts +47 -0
  271. package/dist/components/position-grid/index.d.ts +4 -0
  272. package/dist/components/position-grid/index.js +7 -0
  273. package/dist/components/position-grid/position-grid.agent.d.ts +4 -0
  274. package/dist/components/position-grid/position-grid.d.ts +39 -0
  275. package/dist/components/postal-code-input/index.d.ts +5 -0
  276. package/dist/components/postal-code-input/index.js +6 -0
  277. package/dist/components/postal-code-input/postal-code-input.agent.d.ts +8 -0
  278. package/dist/components/postal-code-input/postal-code-input.d.ts +27 -0
  279. package/dist/components/practice-results/index.js +1 -1
  280. package/dist/components/pregnancy-dating/index.js +1 -1
  281. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  282. package/dist/components/product-hub-tray/index.js +1 -1
  283. package/dist/components/product-hub-tray/product-hub-tray.d.ts +13 -1
  284. package/dist/components/province-select/index.d.ts +6 -0
  285. package/dist/components/province-select/index.js +7 -0
  286. package/dist/components/province-select/it-provinces.d.ts +8 -0
  287. package/dist/components/province-select/province-select.agent.d.ts +8 -0
  288. package/dist/components/province-select/province-select.d.ts +38 -0
  289. package/dist/components/public-footer/public-footer.d.ts +1 -1
  290. package/dist/components/public-header/index.js +1 -1
  291. package/dist/components/radiograph-panel/index.d.ts +4 -0
  292. package/dist/components/radiograph-panel/index.js +7 -0
  293. package/dist/components/radiograph-panel/radiograph-panel.agent.d.ts +13 -0
  294. package/dist/components/radiograph-panel/radiograph-panel.d.ts +36 -0
  295. package/dist/components/reviews-panel/index.js +1 -1
  296. package/dist/components/rich-text-editor/editor-toolbar.d.ts +17 -0
  297. package/dist/components/rich-text-editor/index.js +1 -1
  298. package/dist/components/scroll-area/index.js +1 -1
  299. package/dist/components/select/index.js +1 -1
  300. package/dist/components/select/select.d.ts +8 -2
  301. package/dist/components/sheet/index.js +1 -1
  302. package/dist/components/sidebar/index.js +2 -2
  303. package/dist/components/sign-document/index.js +1 -1
  304. package/dist/components/skeleton/skeleton.d.ts +1 -1
  305. package/dist/components/stepper-accordion/index.js +1 -1
  306. package/dist/components/tab-bar/index.js +1 -1
  307. package/dist/components/tab-bar/tab-bar.d.ts +18 -1
  308. package/dist/components/tabs/index.js +1 -1
  309. package/dist/components/task-card/index.js +1 -1
  310. package/dist/components/task-card/task-card.d.ts +14 -6
  311. package/dist/components/task-tray/index.js +1 -1
  312. package/dist/components/tasks-panel/index.d.ts +4 -0
  313. package/dist/components/tasks-panel/index.js +6 -0
  314. package/dist/components/tasks-panel/tasks-panel.agent.d.ts +4 -0
  315. package/dist/components/tasks-panel/tasks-panel.d.ts +152 -0
  316. package/dist/components/token-insert-menu/index.d.ts +4 -0
  317. package/dist/components/token-insert-menu/index.js +6 -0
  318. package/dist/components/token-insert-menu/token-insert-menu.agent.d.ts +4 -0
  319. package/dist/components/token-insert-menu/token-insert-menu.d.ts +33 -0
  320. package/dist/components/tool-rail/index.d.ts +4 -0
  321. package/dist/components/tool-rail/index.js +6 -0
  322. package/dist/components/tool-rail/tool-rail.agent.d.ts +4 -0
  323. package/dist/components/tool-rail/tool-rail.d.ts +160 -0
  324. package/dist/components/tooth-scheme/index.d.ts +2 -2
  325. package/dist/components/tooth-scheme/index.js +30 -23
  326. package/dist/components/tooth-scheme/tooth-data.d.ts +112 -1
  327. package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts +2 -2
  328. package/dist/components/tooth-scheme/tooth-scheme.d.ts +84 -11
  329. package/dist/components/transaction-chip/index.js +1 -1
  330. package/dist/components/transaction-chip/transaction-chip.d.ts +2 -2
  331. package/dist/components/transcript-panel/index.js +1 -1
  332. package/dist/components/transcript-panel/transcript-panel.d.ts +2 -2
  333. package/dist/components/unit-converter/index.js +1 -1
  334. package/dist/components/warning-stack/index.js +1 -1
  335. package/dist/components/warning-stack/warning-stack.d.ts +10 -7
  336. package/dist/components/workflow/index.js +1 -1
  337. package/dist/hooks/index.d.ts +1 -0
  338. package/dist/hooks/index.js +24 -22
  339. package/dist/hooks/use-clamp-overflow.d.ts +19 -0
  340. package/dist/hooks/use-edge-resize.d.ts +2 -2
  341. package/dist/hooks/use-overflow-collapse.d.ts +46 -0
  342. package/dist/hooks/use-persistent-state.d.ts +7 -1
  343. package/dist/hooks/use-scroll-overflow.d.ts +36 -0
  344. package/dist/i18n/locales/ar.d.ts +475 -26
  345. package/dist/i18n/locales/ar.js +478 -31
  346. package/dist/i18n/locales/de.d.ts +475 -26
  347. package/dist/i18n/locales/de.js +480 -31
  348. package/dist/i18n/locales/el.d.ts +475 -26
  349. package/dist/i18n/locales/el.js +485 -31
  350. package/dist/i18n/locales/en.d.ts +476 -34
  351. package/dist/i18n/locales/en.js +492 -39
  352. package/dist/i18n/locales/es.d.ts +475 -26
  353. package/dist/i18n/locales/es.js +477 -31
  354. package/dist/i18n/locales/fr.d.ts +475 -26
  355. package/dist/i18n/locales/fr.js +480 -31
  356. package/dist/i18n/locales/hi.d.ts +475 -26
  357. package/dist/i18n/locales/hi.js +476 -31
  358. package/dist/i18n/locales/it.d.ts +475 -26
  359. package/dist/i18n/locales/it.js +480 -31
  360. package/dist/i18n/locales/ja.d.ts +475 -26
  361. package/dist/i18n/locales/ja.js +481 -31
  362. package/dist/i18n/locales/nl.d.ts +475 -26
  363. package/dist/i18n/locales/nl.js +473 -31
  364. package/dist/i18n/locales/pl.d.ts +475 -26
  365. package/dist/i18n/locales/pl.js +481 -31
  366. package/dist/i18n/locales/pt.d.ts +475 -26
  367. package/dist/i18n/locales/pt.js +485 -31
  368. package/dist/i18n/locales/ro.d.ts +475 -26
  369. package/dist/i18n/locales/ro.js +485 -31
  370. package/dist/i18n/locales/ru.d.ts +475 -26
  371. package/dist/i18n/locales/ru.js +478 -31
  372. package/dist/i18n/locales/sq.d.ts +475 -26
  373. package/dist/i18n/locales/sq.js +482 -31
  374. package/dist/i18n/locales/sv.d.ts +475 -26
  375. package/dist/i18n/locales/sv.js +480 -31
  376. package/dist/i18n/locales/tr.d.ts +475 -26
  377. package/dist/i18n/locales/tr.js +478 -31
  378. package/dist/i18n/locales/zh.d.ts +475 -26
  379. package/dist/i18n/locales/zh.js +473 -31
  380. package/dist/index.js +826 -709
  381. package/dist/locales/ar.json +480 -31
  382. package/dist/locales/de.json +480 -31
  383. package/dist/locales/el.json +480 -31
  384. package/dist/locales/en.json +480 -31
  385. package/dist/locales/es.json +480 -31
  386. package/dist/locales/fr.json +480 -31
  387. package/dist/locales/hi.json +480 -31
  388. package/dist/locales/it.json +480 -31
  389. package/dist/locales/ja.json +480 -31
  390. package/dist/locales/nl.json +480 -31
  391. package/dist/locales/pl.json +480 -31
  392. package/dist/locales/pt.json +480 -31
  393. package/dist/locales/ro.json +480 -31
  394. package/dist/locales/ru.json +480 -31
  395. package/dist/locales/sq.json +480 -31
  396. package/dist/locales/sv.json +480 -31
  397. package/dist/locales/tr.json +480 -31
  398. package/dist/locales/zh.json +480 -31
  399. package/dist/patterns/alia-assistant/alia-types.d.ts +9 -0
  400. package/dist/patterns/alia-assistant/index.js +1 -1
  401. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  402. package/dist/patterns/patient-shell/index.js +1 -1
  403. package/dist/tokens.css +9 -1
  404. package/package.json +101 -5
  405. package/dist/_chunks/ai-tools-rail-BA_sqy1A.js +0 -373
  406. package/dist/_chunks/appointment-tray-CZtvtaH-.js +0 -431
  407. package/dist/_chunks/clinical-note-card-DqQYf_D4.js +0 -333
  408. package/dist/_chunks/editable-currency-cell-renderer-kgqp_mIw.js +0 -448
  409. package/dist/_chunks/email-input-B_Y55f5G.js +0 -396
  410. package/dist/_chunks/message-card-Bx4GmLvf.js +0 -277
  411. package/dist/_chunks/notification-card-BiESdm8q.js +0 -255
  412. package/dist/_chunks/patient-summary-card-B836_fDB.js +0 -435
  413. package/dist/_chunks/patient-table-CDuosVru.js +0 -889
  414. package/dist/_chunks/reviews-panel-Dq7LMDcH.js +0 -555
  415. package/dist/_chunks/rich-text-editor-BsV7zUdg.js +0 -2142
  416. package/dist/_chunks/tab-bar-B1ovILzh.js +0 -105
  417. package/dist/_chunks/task-card-BwY9jaV1.js +0 -124
  418. package/dist/_chunks/tooth-scheme-yBr53cvv.js +0 -1330
  419. package/dist/_chunks/use-persistent-state-i23OWy6G.js +0 -24
  420. package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts +0 -4
  421. package/dist/components/ai-tools-rail/ai-tools-rail.d.ts +0 -68
  422. package/dist/components/ai-tools-rail/index.d.ts +0 -4
  423. package/dist/components/ai-tools-rail/index.js +0 -6
  424. package/dist/components/patient-table/cell-renderers/contact-cell.d.ts +0 -45
  425. package/dist/components/patient-table/cell-renderers/patient-identity-cell.d.ts +0 -26
@@ -0,0 +1,119 @@
1
+ import type { ReactElement, ReactNode } from 'react';
2
+ /**
3
+ * Canonical field TYPE. When set (and no explicit `value` is supplied), the
4
+ * kit renders the field's canonical chip from the shared `<FieldValue>`
5
+ * registry instead of plain text — so the SAME field type looks the same on
6
+ * every surface. Each chip is a high-contrast neutral pill with a glyph:
7
+ *
8
+ * - `sex` → Venus / Mars / User glyph + localised label
9
+ * - `age` → hourglass glyph + localised, pluralised age
10
+ * - `dob` → calendar glyph + locale-formatted date
11
+ * - `fiscalCode` → hash glyph + monospace code (already mono — no `mono` flag
12
+ * needed; copy + PHI lock stay the row-level affordance via
13
+ * `copyable` / `sensitive`)
14
+ * - `discount` → `TransactionChip` `state="discount"` (the canonical monetary
15
+ * discount chip — magnitude + `currency`, sign owned by the chip)
16
+ * - `email` → a `mailto:` `Link` (the address is both display + target)
17
+ * - `phone` → a `tel:` `Link` (formatted display, target normalised to
18
+ * `+` and digits)
19
+ *
20
+ * The raw datum is read from `editValue` (the same scalar that seeds the
21
+ * editor): a number for `age` / `discount`, an ISO string or `Date` for `dob`,
22
+ * a code string for `sex`, the code string for `fiscalCode`. For the contact
23
+ * link kinds the DISPLAY string is read from `value` (or `editValue`) and the
24
+ * href is derived from it — so a plain-string `value` still becomes a link.
25
+ * For every OTHER kind an explicit `value` ALWAYS wins, so a consumer can still
26
+ * override per placement.
27
+ */
28
+ export type PatientFieldKind = 'sex' | 'age' | 'dob' | 'fiscalCode' | 'discount' | 'email' | 'phone';
29
+ /** Editor control rendered when a field enters inline-edit mode. */
30
+ export type PatientFieldEditType = 'text' | 'textarea' | 'select' | 'boolean' | 'date' | 'number' | 'email' | 'phone' | 'fiscalCode' | 'province' | 'country' | 'postalCode' | 'city';
31
+ /** A choice for an `editType: 'select'` field. */
32
+ export interface PatientFieldOption {
33
+ value: string;
34
+ label: string;
35
+ }
36
+ /**
37
+ * Raw value seeded into an editor. The kit never inspects this beyond
38
+ * handing it to the matching control and back through a save callback.
39
+ */
40
+ export type PatientFieldEditValue = string | number | boolean | Date | null | undefined;
41
+ /** One label→value patient field. */
42
+ export interface PatientField {
43
+ /**
44
+ * Stable field key — drives visibility, ordering, the `data-field-id`
45
+ * hook, and agent addressing. MUST NOT be the value (no PHI in keys).
46
+ */
47
+ id: string;
48
+ /** Display label (already localised by the consumer, or a kit label). */
49
+ label: string;
50
+ /**
51
+ * Display node — formatted by the consumer (Badge / Tag / Link / text).
52
+ * Optional: omit it and set `kind` to let the kit render the field's
53
+ * canonical chip from `editValue`. When present, `value` ALWAYS wins.
54
+ */
55
+ value?: ReactNode;
56
+ /**
57
+ * Canonical field type — when set and `value` is omitted, the kit renders
58
+ * the matching canonical chip from the shared registry. Presentation only;
59
+ * NEVER emitted into any `data-*` attribute (same rule as `sensitive`).
60
+ */
61
+ kind?: PatientFieldKind;
62
+ /** Leading icon (a single lucide element). */
63
+ icon?: ReactElement | null;
64
+ /** Render the copy-to-clipboard affordance (fiscal code, ids). */
65
+ copyable?: boolean;
66
+ /** Text written to the clipboard when `copyable`. */
67
+ copyText?: string;
68
+ /** Render the value monospaced (codes, ids). */
69
+ mono?: boolean;
70
+ /**
71
+ * High-sensitivity PHI marker — renders a lock glyph next to the label.
72
+ * Presentation only; NEVER emitted into any `data-*` attribute.
73
+ */
74
+ sensitive?: boolean;
75
+ /** Whether this field can be inline-edited (consumer gates by permission). */
76
+ editable?: boolean;
77
+ /** Control used in edit mode. Defaults to `'text'`. */
78
+ editType?: PatientFieldEditType;
79
+ /** Options for `editType: 'select'`. */
80
+ options?: PatientFieldOption[];
81
+ /** Value seeded into the editor when editing begins. */
82
+ editValue?: PatientFieldEditValue;
83
+ /** Currency code for `editType: 'number'` (renders a currency input). */
84
+ currency?: string;
85
+ }
86
+ /** A labelled, collapsible group of fields. */
87
+ export interface PatientFieldSection {
88
+ /** Stable section key. */
89
+ id: string;
90
+ /** Section heading. */
91
+ heading: string;
92
+ fields: PatientField[];
93
+ /** Wrap the section in a Collapsible (default `true`). Honoured by PatientDetails. */
94
+ collapsible?: boolean;
95
+ /** Initial open state when `collapsible` (default `true`). */
96
+ defaultOpen?: boolean;
97
+ }
98
+ /** The flat declaration-order list of every field id — the "show everything" default. */
99
+ export declare function patientFieldCatalogue(sections: PatientFieldSection[]): string[];
100
+ /** A section paired with its currently-visible fields, in the chosen order. */
101
+ export interface ResolvedPatientSection {
102
+ section: PatientFieldSection;
103
+ fields: PatientField[];
104
+ }
105
+ /**
106
+ * Project `sections` to the visible fields per section, ordered by
107
+ * `visibleFieldOrder`. This is the single piece of visibility logic shared
108
+ * by every patient surface, so the card and the details panel always agree
109
+ * on what is shown and in what order.
110
+ *
111
+ * `visibleFieldOrder` omitted (`undefined`) ⇒ every field visible in
112
+ * declaration order ("show everything by default", design doc D3). An explicit
113
+ * empty array `[]` ⇒ NO fields visible — a surface that starts collapsed and
114
+ * reveals fields via the customize-fields cog. Unknown ids are ignored.
115
+ * Sections stay in declaration order; only intra-section field order follows
116
+ * `visibleFieldOrder`.
117
+ */
118
+ export declare function resolveVisibleFields(sections: PatientFieldSection[], visibleFieldOrder?: string[]): ResolvedPatientSection[];
119
+ //# sourceMappingURL=patient-fields.d.ts.map
@@ -0,0 +1,9 @@
1
+ import type { AgentAdapter } from '../../agent/types';
2
+ import type { StructuredAddress } from '../address-autocomplete';
3
+ export interface AddressFieldsHandle {
4
+ getValue: () => StructuredAddress;
5
+ setValue: (value: StructuredAddress) => void;
6
+ setField: (field: keyof StructuredAddress, value: string) => void;
7
+ }
8
+ export declare const addressFieldsAgent: AgentAdapter<AddressFieldsHandle>;
9
+ //# sourceMappingURL=address-fields.agent.d.ts.map
@@ -0,0 +1,29 @@
1
+ import { type CityLoaderContext } from '../city-input/city-input';
2
+ import { type GetSuggestions, type StructuredAddress } from '../address-autocomplete';
3
+ import type { OptionShape } from '../_shared/option';
4
+ export type AddressFieldKey = 'street' | 'city' | 'postcode' | 'province';
5
+ export interface AddressFieldsProps {
6
+ /** The controlled address value. */
7
+ value?: StructuredAddress;
8
+ /** Fires with the next full address on any field change. */
9
+ onChange?: (next: StructuredAddress) => void;
10
+ /**
11
+ * Which address-line fields to render, in order. The country picker
12
+ * always renders first. Default resolves from the selected country.
13
+ */
14
+ fields?: AddressFieldKey[];
15
+ /** Async city suggestion loader, forwarded to CityInput. */
16
+ loadCities?: (query: string, ctx: CityLoaderContext) => Promise<OptionShape[]>;
17
+ /** Float these countries to the top of the country picker. */
18
+ popularCountries?: string[];
19
+ /** Enable the "find address" bar — provide a Places API key… */
20
+ apiKey?: string;
21
+ /** …or a mock/real suggestion injector (wins over apiKey, like AddressAutocomplete). */
22
+ getSuggestions?: GetSuggestions;
23
+ layout?: 'stacked' | 'grid';
24
+ disabled?: boolean;
25
+ id?: string;
26
+ className?: string;
27
+ }
28
+ export declare const AddressFields: import("react").ForwardRefExoticComponent<AddressFieldsProps & import("react").RefAttributes<HTMLDivElement>>;
29
+ //# sourceMappingURL=address-fields.d.ts.map
@@ -0,0 +1,5 @@
1
+ export { AddressFields } from './address-fields';
2
+ export type { AddressFieldsProps, AddressFieldKey } from './address-fields';
3
+ export { addressFieldsAgent } from './address-fields.agent';
4
+ export type { AddressFieldsHandle } from './address-fields.agent';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { A as e, a } from "../../_chunks/address-fields-CPbFJ8e8.js";
2
+ export {
3
+ e as AddressFields,
4
+ a as addressFieldsAgent
5
+ };
6
+ //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { A as e } from "../../_chunks/agenda-card-BxSFkqgY.js";
1
+ import { A as e } from "../../_chunks/agenda-card-BQ-IKAru.js";
2
2
  import { a as d } from "../../_chunks/agenda-card.agent-mTCrkKSZ.js";
3
3
  import { i as g } from "../../_chunks/is-safe-url-DkETxeHz.js";
4
4
  export {
@@ -1,4 +1,4 @@
1
- import { A as r, a as g } from "../../_chunks/agenda-tray-g0kg7HwB.js";
1
+ import { A as r, a as g } from "../../_chunks/agenda-tray-CGXRk58j.js";
2
2
  export {
3
3
  r as AgendaTray,
4
4
  g as agendaTrayAgent
@@ -1,4 +1,4 @@
1
- import { A as e, a as o } from "../../_chunks/ai-consent-banner-CXlsNX1c.js";
1
+ import { A as e, a as o } from "../../_chunks/ai-consent-banner-Be-h9mRI.js";
2
2
  export {
3
3
  e as AiConsentBanner,
4
4
  o as aiConsentBannerAgent
@@ -1,4 +1,4 @@
1
- import { A as a, a as o } from "../../_chunks/ai-prompt-input-CuhTo9mh.js";
1
+ import { A as a, a as o } from "../../_chunks/ai-prompt-input-V4DdOeqv.js";
2
2
  export {
3
3
  a as AIPromptInput,
4
4
  o as aiPromptInputAgent
@@ -13,6 +13,11 @@ export interface AlertProps extends Omit<HTMLAttributes<HTMLDivElement>, 'role'>
13
13
  onOpenChange?: (open: boolean) => void;
14
14
  icon?: ReactNode;
15
15
  live?: 'assertive' | 'polite' | 'off';
16
+ /** Compact mode: clamps `Alert.Title` to 2 lines (with a tooltip when the
17
+ * title is truncated) and `Alert.Description` to 2 lines (with a "Read more"
18
+ * toggle). Opt-in — leave off for standalone alerts whose full message must
19
+ * always be visible. */
20
+ clamp?: boolean;
16
21
  }
17
22
  export type { AlertTitleProps };
18
23
  export declare const Alert: import("react").ForwardRefExoticComponent<AlertProps & import("react").RefAttributes<HTMLDivElement>> & {
@@ -1,4 +1,4 @@
1
- import { A as o } from "../../_chunks/alert-_mUKLmwA.js";
1
+ import { A as o } from "../../_chunks/alert-CHYZ96tR.js";
2
2
  export {
3
3
  o as Alert
4
4
  };
@@ -1,4 +1,4 @@
1
- import { A as s } from "../../_chunks/anamnesis-card-DRmE24OQ.js";
1
+ import { A as s } from "../../_chunks/anamnesis-card-DvYCa16e.js";
2
2
  export {
3
3
  s as AnamnesisCard
4
4
  };
@@ -0,0 +1,15 @@
1
+ export declare const FACE_FRONT_VIEWBOX = "0 0 200 240";
2
+ export declare const FACE_FRONT_SIL = "M100.0 24.0 C104.8 24.0 109.9 23.9 114.4 24.2 C118.9 24.5 122.7 25.0 126.9 25.9 C131.0 26.9 135.6 28.1 139.1 29.9 C142.6 31.7 145.4 33.9 147.8 36.5 C150.3 39.1 152.4 42.4 154.0 45.5 C155.6 48.7 156.7 51.8 157.6 55.7 C158.4 59.6 158.9 64.6 159.0 68.9 C159.1 73.3 158.7 77.5 158.4 81.8 C158.1 86.2 158.0 90.4 157.5 94.9 C157.0 99.5 156.4 104.2 155.4 109.0 C154.4 113.7 152.9 119.2 151.2 123.4 C149.5 127.7 147.3 131.3 145.3 134.4 C143.2 137.4 141.1 139.4 138.7 141.7 C136.4 143.9 133.4 146.1 131.0 147.9 C128.6 149.6 126.7 150.7 124.5 152.0 C122.2 153.2 120.0 154.4 117.6 155.3 C115.2 156.3 112.8 157.2 109.9 157.8 C106.9 158.3 103.3 158.6 100.0 158.6 C96.7 158.6 93.1 158.3 90.1 157.8 C87.2 157.2 84.8 156.3 82.4 155.3 C80.0 154.4 77.8 153.2 75.5 152.0 C73.3 150.7 71.4 149.6 69.0 147.9 C66.6 146.1 63.6 143.9 61.3 141.7 C58.9 139.4 56.8 137.4 54.7 134.4 C52.7 131.3 50.5 127.7 48.8 123.4 C47.1 119.2 45.6 113.7 44.6 109.0 C43.6 104.2 43.0 99.5 42.5 94.9 C42.0 90.4 41.9 86.2 41.6 81.8 C41.3 77.5 40.9 73.3 41.0 68.9 C41.1 64.6 41.6 59.6 42.4 55.7 C43.3 51.8 44.4 48.7 46.0 45.5 C47.6 42.4 49.7 39.1 52.2 36.5 C54.6 33.9 57.4 31.7 60.9 29.9 C64.4 28.1 69.0 26.9 73.1 25.9 C77.3 25.0 81.1 24.5 85.6 24.2 C90.1 23.9 95.2 24.0 100.0 24.0 Z";
3
+ export declare const FACE_FRONT_INK = "M60.0 57.4 C61.4 57.3 63.1 55.0 65.0 54.2 C67.0 53.4 69.1 52.9 71.5 52.6 C74.0 52.3 76.7 52.0 79.8 52.5 C83.0 52.9 89.1 56.0 90.7 55.4 C92.3 54.8 91.3 50.0 89.4 48.8 C87.4 47.5 82.3 48.2 79.0 48.1 C75.7 48.0 72.5 47.6 69.6 48.0 C66.8 48.4 64.2 49.3 62.0 50.4 C59.8 51.4 56.7 53.4 56.4 54.5 C56.1 55.7 58.5 57.4 60.0 57.4 Z M140.0 57.4 C138.6 57.3 136.9 55.0 135.0 54.2 C133.0 53.4 130.9 52.9 128.5 52.6 C126.0 52.3 123.3 52.0 120.2 52.5 C117.0 52.9 110.9 56.0 109.3 55.4 C107.7 54.8 108.7 50.0 110.6 48.8 C112.6 47.5 117.7 48.2 121.0 48.1 C124.3 48.0 127.5 47.6 130.4 48.0 C133.2 48.4 135.8 49.3 138.0 50.4 C140.2 51.4 143.3 53.4 143.6 54.5 C143.9 55.7 141.5 57.4 140.0 57.4 Z M73.5 66.8 a2.4 2.4 0 1 0 4.8 0 a2.4 2.4 0 1 0 -4.8 0 M121.7 66.8 a2.4 2.4 0 1 0 4.8 0 a2.4 2.4 0 1 0 -4.8 0 M81.3 120.0 C81.4 120.7 82.5 121.4 83.3 122.0 C84.1 122.6 84.9 123.1 86.0 123.7 C87.1 124.4 88.5 125.3 89.9 125.9 C91.3 126.5 93.0 126.9 94.7 127.3 C96.4 127.6 98.2 127.8 100.0 127.8 C101.8 127.8 103.6 127.6 105.3 127.3 C107.0 126.9 108.7 126.5 110.1 125.9 C111.5 125.3 112.9 124.4 114.0 123.7 C115.1 123.1 115.9 122.6 116.7 122.0 C117.5 121.4 118.6 120.7 118.7 120.0 C118.8 119.3 118.1 118.5 117.4 117.8 C116.7 117.1 115.7 116.6 114.6 115.9 C113.5 115.2 112.4 114.2 110.9 113.6 C109.4 113.0 107.2 112.4 105.4 112.3 C103.6 112.2 101.8 112.9 100.0 112.9 C98.2 112.9 96.4 112.2 94.6 112.3 C92.8 112.4 90.6 113.0 89.1 113.6 C87.6 114.2 86.5 115.2 85.4 115.9 C84.3 116.6 83.3 117.1 82.6 117.8 C81.9 118.5 81.2 119.3 81.3 120.0 Z M83.6 119.5 C83.6 119.9 85.3 120.3 86.1 120.5 C86.9 120.7 87.4 120.6 88.3 120.7 C89.2 120.7 90.4 120.8 91.6 120.9 C92.8 121.0 94.2 121.3 95.6 121.4 C97.0 121.5 98.5 121.6 100.0 121.6 C101.5 121.6 103.0 121.5 104.4 121.4 C105.8 121.3 107.2 121.0 108.4 120.9 C109.6 120.8 110.8 120.7 111.7 120.7 C112.6 120.6 113.1 120.7 113.9 120.5 C114.7 120.3 116.4 119.9 116.4 119.5 C116.4 119.2 114.9 118.5 114.1 118.2 C113.2 117.9 112.2 117.8 111.2 117.7 C110.2 117.6 109.0 117.4 107.8 117.4 C106.6 117.3 105.4 117.4 104.1 117.4 C102.8 117.4 101.4 117.4 100.0 117.4 C98.6 117.4 97.2 117.4 95.9 117.4 C94.6 117.4 93.4 117.3 92.2 117.4 C91.0 117.4 89.8 117.6 88.8 117.7 C87.8 117.8 86.8 117.9 85.9 118.2 C85.1 118.5 83.6 119.2 83.6 119.5 Z";
4
+ export declare const FACE_FRONT_DETAIL = "M66.1 66.7 C66.4 66.8 67.0 67.1 67.6 67.3 C68.1 67.5 68.6 67.8 69.4 68.0 C70.1 68.3 71.0 68.7 72.0 69.0 C73.1 69.2 74.6 69.4 75.8 69.5 C77.0 69.5 78.1 69.4 79.2 69.3 C80.4 69.2 81.6 68.9 82.6 68.7 C83.5 68.4 84.2 68.2 84.8 67.9 C85.3 67.7 85.9 67.6 85.9 67.3 C85.9 66.9 85.3 66.4 84.8 66.0 C84.2 65.7 83.5 65.2 82.6 65.0 C81.6 64.7 80.4 64.5 79.2 64.4 C78.1 64.3 77.0 64.3 75.8 64.4 C74.6 64.4 73.1 64.5 72.0 64.6 C71.0 64.8 70.1 65.0 69.4 65.2 C68.6 65.4 67.9 65.7 67.6 65.8 M114.1 67.3 C114.3 67.4 114.7 67.7 115.2 67.9 C115.8 68.2 116.5 68.4 117.4 68.7 C118.4 68.9 119.6 69.2 120.8 69.3 C121.9 69.4 123.0 69.5 124.2 69.5 C125.4 69.4 126.9 69.2 128.0 69.0 C129.0 68.7 129.9 68.3 130.6 68.0 C131.4 67.8 131.9 67.5 132.4 67.3 C133.0 67.1 133.9 66.9 133.9 66.7 C133.9 66.4 133.0 66.1 132.4 65.8 C131.9 65.6 131.4 65.4 130.6 65.2 C129.9 65.0 129.0 64.8 128.0 64.6 C126.9 64.5 125.4 64.4 124.2 64.4 C123.0 64.3 121.9 64.3 120.8 64.4 C119.6 64.5 118.4 64.7 117.4 65.0 C116.5 65.2 115.6 65.9 115.2 66.0 M100.0 62.0 C100.0 63.0 100.0 66.1 100.0 68.1 C100.0 70.1 100.0 72.0 100.0 73.8 C100.0 75.6 100.0 77.1 100.0 78.9 C100.0 80.6 100.0 82.2 100.0 84.2 C100.0 86.1 100.0 88.6 100.0 90.5 C100.0 92.4 100.0 94.7 100.0 95.5 M89.3 98.0 C87.3 101.0 88.3 103.0 97.0 102.9 C100.0 104.4 100.0 104.4 103.0 102.9 C111.7 103.0 112.7 101.0 110.7 98.0 M41.6 74.8 C33.2 74.8 32.5 89.8 38.8 90.8 C40.9 90.8 41.6 87.8 41.6 86.8 M158.4 74.8 C166.8 74.8 167.5 89.8 161.2 90.8 C159.1 90.8 158.4 87.8 158.4 86.8";
5
+ export interface FaceZone {
6
+ id: string;
7
+ labelKey: string;
8
+ side: 'left' | 'right' | 'midline';
9
+ cx: number;
10
+ cy: number;
11
+ rx: number;
12
+ ry: number;
13
+ }
14
+ export declare const FACE_FRONT_ZONES: FaceZone[];
15
+ //# sourceMappingURL=anatomy-face-paths.d.ts.map
@@ -0,0 +1,20 @@
1
+ export interface MuscleArt {
2
+ id: string;
3
+ labelKey: string;
4
+ side: 'left' | 'right' | 'midline';
5
+ cx: number;
6
+ cy: number;
7
+ /** Set on the female pectoralis (breast cut out via evenodd). */
8
+ fillRule?: 'evenodd';
9
+ d: string;
10
+ }
11
+ export interface MuscleFigureArt {
12
+ viewBox: string;
13
+ silhouette: string;
14
+ muscles: MuscleArt[];
15
+ }
16
+ export declare const MUSCLE_MALE_FRONT: MuscleFigureArt;
17
+ export declare const MUSCLE_MALE_BACK: MuscleFigureArt;
18
+ export declare const MUSCLE_FEMALE_FRONT: MuscleFigureArt;
19
+ export declare const MUSCLE_FEMALE_BACK: MuscleFigureArt;
20
+ //# sourceMappingURL=anatomy-muscle-paths.d.ts.map
@@ -0,0 +1,121 @@
1
+ import type { MarkerShape, MarkerTone } from '../annotation-marker';
2
+ /** Whole-body silhouette variant a body/muscular/skeletal view is drawn on. */
3
+ export type FigureVariant = 'adult-male' | 'adult-female' | 'child';
4
+ /** Organ / surface system a view belongs to — drives the practice-type fit. */
5
+ export type AnatomySystem = 'body' | 'face' | 'female-reproductive' | 'male-reproductive' | 'urinary' | 'muscular' | 'skeletal';
6
+ export type AnatomyViewId = string;
7
+ export type AnatomyMode = 'interactive' | 'display';
8
+ export type AnatomySide = 'left' | 'right' | 'midline';
9
+ /**
10
+ * Generic, specialty-agnostic finding type. Each maps to a distinct
11
+ * AnnotationMarker SHAPE so the chart never relies on colour alone; the tone is
12
+ * decorative reinforcement. Consumers label these per specialty (a "lesion" is
13
+ * a derm lesion, an ortho fracture site, a gynae cyst, …).
14
+ */
15
+ export type FindingType = 'observation' | 'lesion' | 'pain' | 'treatment' | 'note';
16
+ export declare const FINDING_TYPES: FindingType[];
17
+ export declare const FINDING_MARKER: Record<FindingType, {
18
+ shape: MarkerShape;
19
+ tone: MarkerTone;
20
+ }>;
21
+ export interface AnatomyFinding {
22
+ type: FindingType;
23
+ /** Optional free-text clinical note. PHI — never bundle real notes in stories. */
24
+ note?: string;
25
+ }
26
+ /** Findings keyed by region id. */
27
+ export type AnatomyChart = Record<string, AnatomyFinding[]>;
28
+ export type RegionShape = {
29
+ kind: 'ellipse';
30
+ cx: number;
31
+ cy: number;
32
+ rx: number;
33
+ ry: number;
34
+ } | {
35
+ kind: 'rect';
36
+ x: number;
37
+ y: number;
38
+ w: number;
39
+ h: number;
40
+ r?: number;
41
+ } | {
42
+ kind: 'polygon';
43
+ points: Array<[number, number]>;
44
+ } | {
45
+ kind: 'path';
46
+ d: string;
47
+ fillRule?: 'evenodd';
48
+ };
49
+ export interface AnatomyRegion {
50
+ /** Stable id, unique within a view — the finding key + `data-region`. */
51
+ id: string;
52
+ /** i18n key suffix under `anatomyScheme.region.*`. */
53
+ labelKey: string;
54
+ system: AnatomySystem;
55
+ shape: RegionShape;
56
+ /** Bilateral side, where meaningful (drives "left/right" in the label). */
57
+ side?: AnatomySide;
58
+ /** Optional grouping (e.g. 'upper-limb', 'internal', 'external'). */
59
+ group?: string;
60
+ /** Marker anchor; defaults to the shape centroid. */
61
+ marker?: {
62
+ x: number;
63
+ y: number;
64
+ };
65
+ }
66
+ export interface AnatomyView {
67
+ id: AnatomyViewId;
68
+ system: AnatomySystem;
69
+ /** i18n key suffix under `anatomyScheme.view.*`. */
70
+ labelKey: string;
71
+ /** Body silhouette this view is drawn on, when applicable. */
72
+ figure?: FigureVariant;
73
+ viewBox: string;
74
+ /** Decorative silhouette/outline drawn behind the regions (`aria-hidden`). */
75
+ silhouette?: string;
76
+ /** Optional SVG transform applied to the regions group (and the silhouette,
77
+ * unless `silhouetteTransform` overrides it). */
78
+ transform?: string;
79
+ /** Optional separate transform for the silhouette (head) group — lets the
80
+ * child figure carry a proportionally larger head than its scaled-down body. */
81
+ silhouetteTransform?: string;
82
+ /** Filled feature layer drawn over the silhouette, under the stroke detail
83
+ * (`aria-hidden`): the solid brows / eyelids / irises / lips that give a drawn
84
+ * face its weight. Painted with `--muted-foreground`. Shares the silhouette's
85
+ * transform group. */
86
+ silhouetteInk?: string;
87
+ /** Stroke-only feature layer drawn over the filled silhouette (`aria-hidden`):
88
+ * the line-art hairline / nose / ears / lower-lids of a drawn face. Shares the
89
+ * silhouette's transform group. */
90
+ silhouetteDetail?: string;
91
+ /** When true, the view's regions render as transparent click hotspots (tinting
92
+ * only on hover / focus / finding) rather than filled schematic shapes — used
93
+ * when a detailed `silhouette` already carries the drawing, so the zones don't
94
+ * cover it. Implied when a realistic illustration is loaded. */
95
+ hotspotZones?: boolean;
96
+ regions: AnatomyRegion[];
97
+ }
98
+ export declare function regionCentroid(region: AnatomyRegion): {
99
+ x: number;
100
+ y: number;
101
+ };
102
+ export declare const ANATOMY_VIEWS: Record<AnatomyViewId, AnatomyView>;
103
+ export declare function getView(id: AnatomyViewId): AnatomyView | undefined;
104
+ export declare function viewsForSystem(system: AnatomySystem): AnatomyView[];
105
+ export declare function getRegion(viewId: AnatomyViewId, regionId: string): AnatomyRegion | undefined;
106
+ /** Default view shown when only a `system` is given. */
107
+ export declare const DEFAULT_VIEW_FOR_SYSTEM: Record<AnatomySystem, AnatomyViewId>;
108
+ /**
109
+ * Pick a body figure from patient demographics — mirrors the platform's
110
+ * `getDefaultFigureVariant(gender, age)`. Pure heuristic; the host can override
111
+ * with the explicit `figure` prop.
112
+ */
113
+ export declare function figureFromPatient(sex: 'm' | 'f' | 'x' | undefined, ageYears: number | undefined): FigureVariant;
114
+ /**
115
+ * Practice-branch → the systems whose views that branch typically charts.
116
+ * Mirrors `PracticeBranch.php`; consumed by demos and the (future) preset
117
+ * editor to seed the available views. Not exhaustive — a branch can enable any.
118
+ */
119
+ export declare const SYSTEMS_FOR_BRANCH: Record<string, AnatomySystem[]>;
120
+ export declare function emptyChart(): AnatomyChart;
121
+ //# sourceMappingURL=anatomy-scheme-data.d.ts.map
@@ -0,0 +1,6 @@
1
+ import type { AgentAdapter } from '../../agent/types';
2
+ import type { AnatomySchemeHandle } from './anatomy-scheme';
3
+ import type { FindingType } from './anatomy-scheme-data';
4
+ export declare const anatomySchemeAgent: AgentAdapter<AnatomySchemeHandle>;
5
+ export type { FindingType };
6
+ //# sourceMappingURL=anatomy-scheme.agent.d.ts.map
@@ -0,0 +1,69 @@
1
+ import { type AnatomyChart, type AnatomyFinding, type AnatomyMode, type AnatomySystem, type AnatomyViewId, type FigureVariant, type FindingType } from './anatomy-scheme-data';
2
+ export interface AnatomySchemeProps {
3
+ /** Opaque instance id — emitted as `data-component-id` for the agent registry. */
4
+ id?: string;
5
+ /** Organ / surface system to chart. Default `'body'`. */
6
+ system?: AnatomySystem;
7
+ /** Body silhouette variant (body/muscular/skeletal systems). */
8
+ figure?: FigureVariant;
9
+ /**
10
+ * Explicit view ids to expose. When more than one, they render as tabs.
11
+ * Defaults to every view of `system` (filtered to `figure` for body systems).
12
+ */
13
+ views?: AnatomyViewId[];
14
+ /** `'interactive'` enables region selection + finding edits; `'display'` is read-only. */
15
+ mode?: AnatomyMode;
16
+ /** Controlled findings — `Record<regionId, AnatomyFinding[]>`. */
17
+ value?: AnatomyChart;
18
+ /** Uncontrolled initial findings. */
19
+ defaultValue?: AnatomyChart;
20
+ /** Fired whenever the chart changes. */
21
+ onChange?: (next: AnatomyChart) => void;
22
+ /** Fired when a region is activated (click / Enter / Space / focus-select). */
23
+ onSelectRegion?: (regionId: string, viewId: AnatomyViewId) => void;
24
+ /**
25
+ * The finding type a region-click applies in interactive mode (the selected
26
+ * tool in a finding picker). Clicking a region toggles this finding.
27
+ */
28
+ activeFinding?: FindingType;
29
+ /** Show the finding-type legend below the figure. Default `false`. */
30
+ legend?: boolean;
31
+ /**
32
+ * Base URL for realistic anatomical illustrations, served per-view as
33
+ * `${illustrationBaseUrl}/${viewId}.svg` (e.g. `…/female-reproductive.svg`).
34
+ * When set, each view renders that illustration as the figure and the regions
35
+ * become transparent CLICK HOTSPOTS layered over it; when unset, the kit's
36
+ * built-in schematic silhouette is the fallback. The art is NOT bundled in
37
+ * the kit — host it (CDN) and pass the base here, mirroring `ToothScheme`'s
38
+ * `assetBaseUrl`. Trusted developer-controlled value, interpolated into an SVG
39
+ * `<image href>` (which cannot execute scripts). Sourcing + licensing +
40
+ * attribution live in `ANATOMY-ASSETS.md`.
41
+ */
42
+ illustrationBaseUrl?: string;
43
+ /** Accessible label override for the chart region. */
44
+ ariaLabel?: string;
45
+ /** Extra class names on the wrapper. */
46
+ className?: string;
47
+ }
48
+ export interface AnatomySchemeHandle {
49
+ /** Programmatically focus a region by id (in the active view). */
50
+ focusRegion: (regionId: string) => void;
51
+ /** Read the current chart state. */
52
+ getChart: () => AnatomyChart;
53
+ /** Read the findings recorded on one region (empty array if none). */
54
+ getRegion: (regionId: string) => AnatomyFinding[];
55
+ /** Read the region ids carrying a given finding type. */
56
+ regionsWith: (type: FindingType) => string[];
57
+ /** Add a finding to a region (no-op if already present). */
58
+ setFinding: (regionId: string, type: FindingType, note?: string) => void;
59
+ /** Remove a finding type from a region (no-op if absent). */
60
+ removeFinding: (regionId: string, type: FindingType) => void;
61
+ /** Clear every finding from a region. */
62
+ clearRegion: (regionId: string) => void;
63
+ /** Switch the active view. */
64
+ setView: (viewId: AnatomyViewId) => void;
65
+ /** Read the active view id. */
66
+ getView: () => AnatomyViewId;
67
+ }
68
+ export declare const AnatomyScheme: import("react").ForwardRefExoticComponent<AnatomySchemeProps & import("react").RefAttributes<AnatomySchemeHandle>>;
69
+ //# sourceMappingURL=anatomy-scheme.d.ts.map
@@ -0,0 +1,6 @@
1
+ export { AnatomyScheme } from './anatomy-scheme';
2
+ export type { AnatomySchemeProps, AnatomySchemeHandle } from './anatomy-scheme';
3
+ export { ANATOMY_VIEWS, DEFAULT_VIEW_FOR_SYSTEM, SYSTEMS_FOR_BRANCH, FINDING_TYPES, FINDING_MARKER, getView, viewsForSystem, getRegion, regionCentroid, figureFromPatient, emptyChart as emptyAnatomyChart, } from './anatomy-scheme-data';
4
+ export type { AnatomySystem, AnatomyViewId, AnatomyView, AnatomyRegion, AnatomyChart, AnatomyFinding, AnatomyMode, AnatomySide, FigureVariant, FindingType, RegionShape, } from './anatomy-scheme-data';
5
+ export { anatomySchemeAgent } from './anatomy-scheme.agent';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,17 @@
1
+ import { A as s, a as t, D as S, F as o, b as m, S as r, c as A, e as n, f as F, g as _, d as g, r as i, v as E } from "../../_chunks/anatomy-scheme-CXSk11UJ.js";
2
+ export {
3
+ s as ANATOMY_VIEWS,
4
+ t as AnatomyScheme,
5
+ S as DEFAULT_VIEW_FOR_SYSTEM,
6
+ o as FINDING_MARKER,
7
+ m as FINDING_TYPES,
8
+ r as SYSTEMS_FOR_BRANCH,
9
+ A as anatomySchemeAgent,
10
+ n as emptyAnatomyChart,
11
+ F as figureFromPatient,
12
+ _ as getRegion,
13
+ g as getView,
14
+ i as regionCentroid,
15
+ E as viewsForSystem
16
+ };
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,33 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ export type MarkerShape = 'circle' | 'square' | 'triangle' | 'diamond' | 'cross';
4
+ export type MarkerTone = 'neutral' | 'info' | 'success' | 'warning' | 'error' | 'accent';
5
+ export declare const MARKER_SHAPES: MarkerShape[];
6
+ /**
7
+ * SVG path `d` for a marker shape centred at `(cx, cy)` with radius `r`,
8
+ * in the parent SVG's own user units. Pure — no React, no DOM. AnatomyScheme
9
+ * draws its finding overlay with this exact function so the figure overlay and
10
+ * the standalone glyph stay visually identical.
11
+ */
12
+ export declare function markerPath(shape: MarkerShape, cx: number, cy: number, r: number): string;
13
+ declare const wrapperVariants: (props?: ({
14
+ size?: "sm" | "md" | "lg" | null | undefined;
15
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
16
+ export interface AnnotationMarkerProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'>, VariantProps<typeof wrapperVariants> {
17
+ /** Shape of the marker — the accessible channel (never colour alone). */
18
+ shape: MarkerShape;
19
+ /** Semantic tone. Decorative reinforcement of the shape, not the meaning. */
20
+ tone?: MarkerTone;
21
+ /** Fill the shape (default) or draw it as an outline. */
22
+ filled?: boolean;
23
+ /**
24
+ * Accessible name. Required for an icon-only marker (no `label`); when `label`
25
+ * text is shown, this overrides the visible text for assistive tech.
26
+ */
27
+ 'aria-label'?: string;
28
+ /** Optional visible label rendered after the glyph (e.g. in a legend). */
29
+ label?: ReactNode;
30
+ }
31
+ export declare const AnnotationMarker: import("react").ForwardRefExoticComponent<AnnotationMarkerProps & import("react").RefAttributes<HTMLSpanElement>>;
32
+ export {};
33
+ //# sourceMappingURL=annotation-marker.d.ts.map
@@ -0,0 +1,3 @@
1
+ export { AnnotationMarker, markerPath, MARKER_SHAPES, } from './annotation-marker';
2
+ export type { AnnotationMarkerProps, MarkerShape, MarkerTone, } from './annotation-marker';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,7 @@
1
+ import { A as o, M as t, m as A } from "../../_chunks/annotation-marker-qt5R9WZX.js";
2
+ export {
3
+ o as AnnotationMarker,
4
+ t as MARKER_SHAPES,
5
+ A as markerPath
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -1,9 +1,9 @@
1
1
  import { type HTMLAttributes, type ReactNode } from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
- declare const mainVariants: (props?: ({
3
+ declare const mainContentVariants: (props?: ({
4
4
  padded?: boolean | null | undefined;
5
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
- export interface AppFrameProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'>, VariantProps<typeof mainVariants> {
6
+ export interface AppFrameProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'>, VariantProps<typeof mainContentVariants> {
7
7
  /** `<Header>` instance rendered full-width at the block-start of the shell. */
8
8
  header: ReactNode;
9
9
  /** `<Sidebar>` instance rendered inline-start of the row beneath the header on ≥ md viewports. */
@@ -1,4 +1,4 @@
1
- import { A as a } from "../../_chunks/app-frame-BYx1gcV7.js";
1
+ import { A as a } from "../../_chunks/app-frame-DIEMIC5V.js";
2
2
  export {
3
3
  a as AppFrame
4
4
  };
@@ -60,8 +60,18 @@ export interface AppointmentItem {
60
60
  firstVisit?: AppointmentFirstVisit;
61
61
  /** Assigned operator. */
62
62
  operator?: AppointmentOperator;
63
- /** Chair / room label. */
63
+ /** Chair / room label — surfaced as a chip. */
64
64
  chair?: string;
65
+ /**
66
+ * The care plan this appointment belongs to, when any — surfaced as a chip
67
+ * (`Care plan {number}`). `url` is the deep link the consumer may use for
68
+ * navigation; the chip itself is non-interactive so it never nests an anchor
69
+ * inside the row's own stretched link.
70
+ */
71
+ carePlan?: {
72
+ number: string;
73
+ url?: string;
74
+ };
65
75
  /** Patient identity. */
66
76
  patient?: AppointmentPatient;
67
77
  /** Treatment lines. */
@@ -76,16 +86,30 @@ export interface AppointmentItem {
76
86
  declare const appointmentCardVariants: (props?: ({
77
87
  size?: "sm" | "md" | null | undefined;
78
88
  interactive?: boolean | null | undefined;
89
+ surface?: "flat" | "elevated" | null | undefined;
79
90
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
80
91
  export interface AppointmentCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onClick' | 'role' | 'title'>, VariantProps<typeof appointmentCardVariants> {
81
92
  /** The appointment to render. */
82
93
  item: AppointmentItem;
83
94
  /** Visual density. */
84
95
  size?: 'sm' | 'md';
96
+ /**
97
+ * `'flat'` (default) — chrome-less row for use inside a bordered
98
+ * `AppointmentTray`. `'elevated'` — each row carries its own card chrome
99
+ * (border + shadow), for placing rows directly on a rail (AppointmentTimeline).
100
+ */
101
+ surface?: 'flat' | 'elevated';
85
102
  /** BCP-47 locale override for the timestamp + currency. */
86
103
  locale?: string;
87
104
  /** ISO-4217 currency code for the advance-deposit chip. Defaults to `EUR`. */
88
105
  currency?: string;
106
+ /**
107
+ * Show the patient identity (avatar + name as the row title). Default `true`.
108
+ * Set `false` in single-patient surfaces (e.g. a patient's own
109
+ * `AppointmentTimeline`) where repeating the name is redundant — the row then
110
+ * leads with the operator as its title, falling back to a generic label.
111
+ */
112
+ showPatient?: boolean;
89
113
  /** Fires when the row is activated. */
90
114
  onActivate?: (item: AppointmentItem) => void;
91
115
  }
@@ -1,10 +1,11 @@
1
- import { A as n, a as p, b as e, c as o } from "../../_chunks/appointment-tray-CZtvtaH-.js";
1
+ import { A as p } from "../../_chunks/appointment-card-DVaeJNVB.js";
2
+ import { A as e, a as o, b as r } from "../../_chunks/appointment-tray-B16QPGbm.js";
2
3
  import { i } from "../../_chunks/is-safe-url-DkETxeHz.js";
3
4
  export {
4
- n as AppointmentCard,
5
- p as AppointmentTray,
6
- e as appointmentCardAgent,
7
- o as appointmentTrayAgent,
5
+ p as AppointmentCard,
6
+ e as AppointmentTray,
7
+ o as appointmentCardAgent,
8
+ r as appointmentTrayAgent,
8
9
  i as isSafeAppointmentUrl
9
10
  };
10
11
  //# sourceMappingURL=index.js.map