@alfadocs/ui-kit 0.68.0 → 0.70.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 (440) hide show
  1. package/dist/_chunks/{accordion-9lJSMMsZ.js → accordion-DnIa7OHX.js} +69 -47
  2. package/dist/_chunks/address-autocomplete-BEX9PXty.js +496 -0
  3. package/dist/_chunks/{agenda-card-BxSFkqgY.js → agenda-card-BQ-IKAru.js} +2 -2
  4. package/dist/_chunks/{agenda-card.agent-B_R47-c9.js → agenda-card.agent-mTCrkKSZ.js} +6 -1
  5. package/dist/_chunks/{agenda-tray-T-BumlGZ.js → agenda-tray-CGXRk58j.js} +37 -25
  6. package/dist/_chunks/{ai-consent-banner-Dxtx_WAh.js → ai-consent-banner-Be-h9mRI.js} +5 -5
  7. package/dist/_chunks/{ai-prompt-input-BwEACCPm.js → ai-prompt-input-CuhTo9mh.js} +80 -61
  8. package/dist/_chunks/ai-tools-rail-B5NEghsp.js +511 -0
  9. package/dist/_chunks/{alert-_mUKLmwA.js → alert-CHYZ96tR.js} +150 -96
  10. package/dist/_chunks/{alia-sidebar-Ckv0yCKi.js → alia-sidebar-B47qRQb5.js} +5 -5
  11. package/dist/_chunks/{anamnesis-card-N8pIKWuS.js → anamnesis-card-DvYCa16e.js} +3 -3
  12. package/dist/_chunks/anatomy-scheme-CJB6dI6p.js +2445 -0
  13. package/dist/_chunks/annotation-marker-qt5R9WZX.js +120 -0
  14. package/dist/_chunks/{antenatal-schedule-timeline-35ebkcZT.js → antenatal-schedule-timeline-CwXrQRm1.js} +2 -2
  15. package/dist/_chunks/appointment-card-C06aZqA7.js +310 -0
  16. package/dist/_chunks/appointment-timeline-BJM0S_Fg.js +386 -0
  17. package/dist/_chunks/appointment-tray-DRRw5ROi.js +193 -0
  18. package/dist/_chunks/{audio-recorder-DjXLP4aF.js → audio-recorder-Cpdk5qpQ.js} +60 -57
  19. package/dist/_chunks/{autocomplete-CcCFlVf-.js → autocomplete-DOeGouCL.js} +157 -132
  20. package/dist/_chunks/{badge-CqGsX32l.js → badge-DCOqV9mI.js} +32 -27
  21. package/dist/_chunks/bishop-score-DnYWtZa_.js +304 -0
  22. package/dist/_chunks/bmi-calculator-zjeY4E7J.js +434 -0
  23. package/dist/_chunks/{booking-L8-YP8BJ.js → booking-DUBI0oqt.js} +422 -399
  24. package/dist/_chunks/{breadcrumb-OTbaY70e.js → breadcrumb-CchdeG7d.js} +42 -28
  25. package/dist/_chunks/{calculator-dialog-CFk4I91b.js → calculator-dialog-BR5iU0kf.js} +2 -2
  26. package/dist/_chunks/{calendar-oYWOCrnf.js → calendar-CZUjL8SZ.js} +258 -201
  27. package/dist/_chunks/{care-plan-card-BwVUyUBb.js → care-plan-card-C5sTfY9G.js} +13 -9
  28. package/dist/_chunks/{care-plan-entry-card-VzdQHcOL.js → care-plan-entry-card-CXnxGCWA.js} +20 -16
  29. package/dist/_chunks/care-plan-header-BUwqDTtz.js +206 -0
  30. package/dist/_chunks/{carousel.agent-vt21A_el.js → carousel.agent-4v8Emr9E.js} +219 -198
  31. package/dist/_chunks/{chart-Cg3e9EH9.js → chart-CMr3eW62.js} +150 -109
  32. package/dist/_chunks/{chat-container-ogB4OskO.js → chat-container-DWho5hPR.js} +47 -34
  33. package/dist/_chunks/{chat-input-B5zjNEUN.js → chat-input-BcXTetgM.js} +57 -41
  34. package/dist/_chunks/{checkbox-DRcOdmXv.js → checkbox-BuZ1u__2.js} +41 -27
  35. package/dist/_chunks/{checkbox-group-CpUwlHug.js → checkbox-group-PqNmQ-cE.js} +3 -3
  36. package/dist/_chunks/clinical-note-card-BUvNMNGL.js +436 -0
  37. package/dist/_chunks/{collapsible-X3oaLPU3.js → collapsible-BrnRiCC6.js} +26 -23
  38. package/dist/_chunks/{color-picker-FXpItIaF.js → color-picker-C_fZl6sA.js} +124 -112
  39. package/dist/_chunks/{combobox-BC-DFx8G.js → combobox-Clum7gJ1.js} +165 -128
  40. package/dist/_chunks/{command-palette-BiPAAno-.js → command-palette-CJzmc5pC.js} +87 -64
  41. package/dist/_chunks/{contact-profile-card-7BMB85T6.js → contact-profile-card-DDPwRFiP.js} +13 -11
  42. package/dist/_chunks/control-room-rail-Y8ryLYsP.js +229 -0
  43. package/dist/_chunks/{copy-field-CCq7j6Zc.js → copy-field-Bjw9u2cV.js} +42 -35
  44. package/dist/_chunks/counter-dRlTNC_y.js +55 -0
  45. package/dist/_chunks/{cycle-calculator-BF0ointe.js → cycle-calculator-CCmPwcBl.js} +4 -4
  46. package/dist/_chunks/{date-picker-oGg5BnXL.js → date-picker-Dl9RKxaV.js} +76 -57
  47. package/dist/_chunks/{date-range-picker-C5BWfH_T.js → date-range-picker-CTUeR6Bj.js} +73 -46
  48. package/dist/_chunks/{date-time-picker-Ze1My59T.js → date-time-picker-BhoogS5Q.js} +64 -40
  49. package/dist/_chunks/{dependent-selector-DpzGtr_J.js → dependent-selector-DUV4thxX.js} +45 -31
  50. package/dist/_chunks/{dialog-DMGnSelc.js → dialog-ZNuboNmy.js} +35 -28
  51. package/dist/_chunks/{document-scanner-D2qehl3-.js → document-scanner-C_AxLooF.js} +13 -5
  52. package/dist/_chunks/{dropdown-menu-DwwPovMZ.js → dropdown-menu-qrxjymfw.js} +94 -93
  53. package/dist/_chunks/{due-date-calculator-DU9AEWNy.js → due-date-calculator-Brdj-euS.js} +6 -6
  54. package/dist/_chunks/editable-currency-cell-renderer-C9twtALM.js +328 -0
  55. package/dist/_chunks/email-input-DJ7EXklP.js +397 -0
  56. package/dist/_chunks/{entity-card-COhmqHly.js → entity-card-9_62gY7l.js} +38 -20
  57. package/dist/_chunks/entity-summary-BxRjFh_4.js +138 -0
  58. package/dist/_chunks/{fetal-weight-BVSzOhuR.js → fetal-weight-DNCkyeVo.js} +3 -3
  59. package/dist/_chunks/field-value-NXYczdpO.js +415 -0
  60. package/dist/_chunks/{file-upload-BosbPDb1.js → file-upload-DwZcAK8D.js} +119 -100
  61. package/dist/_chunks/{fiscal-code-input-DPtqluVb.js → fiscal-code-input-Cf-8O4Fj.js} +76 -63
  62. package/dist/_chunks/{freemium-paywall-CkWjv3o6.js → freemium-paywall-WYlNO7yT.js} +78 -71
  63. package/dist/_chunks/{gestational-age-calculator-DBlFdoiP.js → gestational-age-calculator-CF2ISaYQ.js} +7 -7
  64. package/dist/_chunks/hash-CysBBS_N.js +17 -0
  65. package/dist/_chunks/{hcg-doubling-if4Q8aSX.js → hcg-doubling-C7bmuaU3.js} +4 -4
  66. package/dist/_chunks/{header-settings-CNOqIhoW.js → header-settings-DJqoAl5m.js} +86 -46
  67. package/dist/_chunks/{index.modern-D2LGACWg.js → index.modern-Zta-A4Jm.js} +3 -3
  68. package/dist/_chunks/link-cell-renderer-CTXqtXV-.js +2184 -0
  69. package/dist/_chunks/{list-BOwqwy03.js → list-DgE1xWBM.js} +99 -84
  70. package/dist/_chunks/{locale-picker-C9JmBht3.js → locale-picker-ChYYSX2N.js} +47 -35
  71. package/dist/_chunks/lock-CKOIn0IK.js +15 -0
  72. package/dist/_chunks/{map-view-Tb5VfK9Y.js → map-view-BkOoGoX2.js} +160 -115
  73. package/dist/_chunks/{marketplace-app-shell-D4-T9Qzz.js → marketplace-app-shell-Skhfp6vK.js} +6 -6
  74. package/dist/_chunks/{message-card.agent-4IeIgrnJ.js → message-card.agent-ZLhx3Bs5.js} +6 -1
  75. package/dist/_chunks/{message-tray-CVyJajVJ.js → message-tray-DwrBLJlf.js} +90 -48
  76. package/dist/_chunks/{multi-select-BcPylvHR.js → multi-select-BdHHDrRN.js} +196 -153
  77. package/dist/_chunks/{navigation-menu-C6lBYVv9.js → navigation-menu-DRUi6sSj.js} +75 -42
  78. package/dist/_chunks/notes-panel-ay8_lPrA.js +158 -0
  79. package/dist/_chunks/{notification-card-BiESdm8q.js → notification-card-D2jiKSJJ.js} +27 -23
  80. package/dist/_chunks/{notification-card.agent-Rqt3ofk9.js → notification-card.agent-DxGBZb8T.js} +5 -1
  81. package/dist/_chunks/{notification-tray-DlgenTEe.js → notification-tray-AEun6DN2.js} +112 -97
  82. package/dist/_chunks/{number-input-Dj5L3pXK.js → number-input-DxphVG_A.js} +36 -27
  83. package/dist/_chunks/{operator-hero-f_KaRhw5.js → operator-hero-CR0Rqh4-.js} +14 -10
  84. package/dist/_chunks/{otp-input-xQ4Ps5VY.js → otp-input-DzBQ-CpE.js} +52 -33
  85. package/dist/_chunks/{pagination-DQOgnxxw.js → pagination-D58kglCr.js} +181 -162
  86. package/dist/_chunks/patient-details-Dlhqb5ig.js +675 -0
  87. package/dist/_chunks/{patient-search-DR9XUYRQ.js → patient-search-Be6cLrHR.js} +70 -61
  88. package/dist/_chunks/{patient-shell-BfgufL_q.js → patient-shell-DV3XEtIB.js} +3 -3
  89. package/dist/_chunks/patient-summary-card-WySCMwwA.js +437 -0
  90. package/dist/_chunks/patient-table-CHxf3Oqk.js +1110 -0
  91. package/dist/_chunks/{payment-form-nXocS_MX.js → payment-form-CxqIXqw7.js} +57 -45
  92. package/dist/_chunks/{payment-request-card-CYE5vhZ0.js → payment-request-card-BcZJwu9z.js} +125 -136
  93. package/dist/_chunks/{pdf-viewer-GsfNqeeT.js → pdf-viewer-QfebdLOd.js} +317 -291
  94. package/dist/_chunks/{periodontal-chart-card-Dh3KgvYG.js → periodontal-chart-card-hRRJY1NN.js} +3 -3
  95. package/dist/_chunks/{phone-input-DVXhNlIl.js → phone-input-DjU-XmO_.js} +64 -47
  96. package/dist/_chunks/{popover-DTbfAuR0.js → popover-B2qCDhJC.js} +37 -32
  97. package/dist/_chunks/{practice-results-DND2SAt7.js → practice-results-C6qDfxos.js} +280 -244
  98. package/dist/_chunks/{pregnancy-dating-QY-sqpvj.js → pregnancy-dating-CRVWswD-.js} +8 -8
  99. package/dist/_chunks/{pregnancy-weight-gain-DOJXXNYP.js → pregnancy-weight-gain-BUNpTsH-.js} +4 -4
  100. package/dist/_chunks/{privacy-lock-C7JyMf0y.js → privacy-lock-BzMLQu-j.js} +32 -28
  101. package/dist/_chunks/{product-hub-panel-CAXDFeGP.js → product-hub-panel-e6pW220e.js} +45 -27
  102. package/dist/_chunks/{progress-kzIRcdaq.js → progress-DA413-zn.js} +2 -2
  103. package/dist/_chunks/{public-footer.agent-CfXuW1x6.js → public-footer.agent-D0cFbjWl.js} +151 -146
  104. package/dist/_chunks/{public-header.agent-BOhJgZEU.js → public-header.agent-DqkqA-ca.js} +107 -102
  105. package/dist/_chunks/{qr-code-DNXhi6se.js → qr-code-CPkEs5mG.js} +52 -46
  106. package/dist/_chunks/{radio-group-CLjK-SlK.js → radio-group-BPt7pKZW.js} +5 -5
  107. package/dist/_chunks/radiograph-panel.agent-CAX-C3g3.js +558 -0
  108. package/dist/_chunks/{recaptcha-widget-BCNHsgqt.js → recaptcha-widget-BC-4To9b.js} +9 -2
  109. package/dist/_chunks/registry-DvAUVLHh.js +51 -0
  110. package/dist/_chunks/{resizable-3vzqDlg6.js → resizable-DVGcfOrk.js} +193 -173
  111. package/dist/_chunks/{reviews-panel-DBktKm7i.js → reviews-panel-Dq7LMDcH.js} +87 -68
  112. package/dist/_chunks/{rich-text-editor-VawKN1FI.js → rich-text-editor-DlCqPixb.js} +833 -728
  113. package/dist/_chunks/{search-bar-SY2BcV2N.js → search-bar-C_T3pBJn.js} +105 -78
  114. package/dist/_chunks/{search-input-DbxrnHkW.js → search-input-DQvGxR74.js} +2 -2
  115. package/dist/_chunks/{search-input.agent-CfZvViOd.js → search-input.agent-DRH54coT.js} +19 -4
  116. package/dist/_chunks/{select-CEtRcon5.js → select-DMLG44F5.js} +72 -56
  117. package/dist/_chunks/{session-countdown-LPnhTHjn.js → session-countdown-X1Ki6i0M.js} +3 -3
  118. package/dist/_chunks/{sheet-taJer-Ha.js → sheet-BxsE7eQm.js} +59 -45
  119. package/dist/_chunks/{sidebar-DaB4ulxH.js → sidebar-DY9jGjgt.js} +254 -248
  120. package/dist/_chunks/{sign-document-CdAiHiCh.js → sign-document-By6hMOra.js} +75 -49
  121. package/dist/_chunks/{signature-capture-COi0Uiqu.js → signature-capture-Ct_4Md4e.js} +138 -104
  122. package/dist/_chunks/{slider-BHWzXdjt.js → slider-DN1CWkKB.js} +85 -65
  123. package/dist/_chunks/{sparkline-DGhCSw8M.js → sparkline-iOXYgvJe.js} +75 -53
  124. package/dist/_chunks/{stepper-accordion-Dki6r9ZE.js → stepper-accordion-DC-H-8v4.js} +38 -48
  125. package/dist/_chunks/{stepper-accordion.agent-C4quJ-MD.js → stepper-accordion.agent-cmEguIdx.js} +7 -1
  126. package/dist/_chunks/{stepper-progress-DDjq5nei.js → stepper-progress-Bv0njx4g.js} +30 -24
  127. package/dist/_chunks/{suggestion-chip.agent-6sNWFj7m.js → suggestion-chip.agent-Brn3CiFE.js} +9 -8
  128. package/dist/_chunks/{switch-BJ6HD3Mn.js → switch-OILsBLWo.js} +25 -19
  129. package/dist/_chunks/tab-bar-Bv9nGNdO.js +262 -0
  130. package/dist/_chunks/{tabs-BIQ0ew1T.js → tabs-BxcOziCo.js} +67 -58
  131. package/dist/_chunks/{task-card.agent-CUPKYd7w.js → task-card.agent-Bt14CzUd.js} +4 -1
  132. package/dist/_chunks/{task-tray-CAncV-QQ.js → task-tray-qOEQflu4.js} +74 -57
  133. package/dist/_chunks/{text-area-BIx0tZ05.js → text-area-Bt3p7Pt0.js} +41 -34
  134. package/dist/_chunks/{text-input-BaClJL8Y.js → text-input-B-OWQ1Je.js} +15 -8
  135. package/dist/_chunks/{theme-toggle-DETmSu_h.js → theme-toggle-XB6o_lgs.js} +38 -26
  136. package/dist/_chunks/{time-picker-B5umYwfv.js → time-picker-BPlJWm8w.js} +41 -31
  137. package/dist/_chunks/{timeline-DQa5Tyz4.js → timeline-CqA4nKTI.js} +33 -25
  138. package/dist/_chunks/{toast.agent-vuLRRn2a.js → toast.agent-57UzyR9U.js} +62 -45
  139. package/dist/_chunks/tooth-scheme-BhQoPNBD.js +2131 -0
  140. package/dist/_chunks/{transaction-chip-DK84XCBU.js → transaction-chip-CscoQbxF.js} +88 -61
  141. package/dist/_chunks/{transcript-panel-CLHmv83g.js → transcript-panel-3THQX6nJ.js} +47 -33
  142. package/dist/_chunks/unit-converter-YEpD9evj.js +337 -0
  143. package/dist/_chunks/use-clamp-overflow-DQE2kwZ9.js +20 -0
  144. package/dist/_chunks/use-overflow-collapse-BIOzKbni.js +32 -0
  145. package/dist/_chunks/{use-password-requirements-DsgduV1x.js → use-password-requirements-BXvS2MBS.js} +131 -117
  146. package/dist/_chunks/use-persistent-state-nZwZAnE9.js +24 -0
  147. package/dist/_chunks/users-MBVtUzwd.js +17 -0
  148. package/dist/_chunks/warning-stack--sTrrBDA.js +268 -0
  149. package/dist/_chunks/{whatsapp-button-DUjlWGKf.js → whatsapp-button-BIy6NaJK.js} +6 -3
  150. package/dist/_chunks/{workflow-map-JAZryZJr.js → workflow-map-Dy8mLCqF.js} +101 -90
  151. package/dist/_chunks/zoom-out-CgVtf2Wx.js +29 -0
  152. package/dist/agent/index.d.ts +4 -4
  153. package/dist/agent/index.js +37 -0
  154. package/dist/agent/registry.d.ts +33 -0
  155. package/dist/agent/types.d.ts +97 -4
  156. package/dist/agent-catalog.json +8081 -518
  157. package/dist/agent-i18n/en.json +1277 -0
  158. package/dist/components/_shared/entity-card/entity-card.d.ts +6 -0
  159. package/dist/components/_shared/entity-card/index.d.ts +1 -1
  160. package/dist/components/_shared/field-value.d.ts +21 -0
  161. package/dist/components/_shared/field-visibility-cog.d.ts +20 -0
  162. package/dist/components/_shared/field-visibility.d.ts +36 -0
  163. package/dist/components/_shared/patient-fields.d.ts +119 -0
  164. package/dist/components/accordion/index.js +1 -1
  165. package/dist/components/address-autocomplete/address-autocomplete.agent.d.ts +4 -0
  166. package/dist/components/address-autocomplete/address-autocomplete.d.ts +18 -0
  167. package/dist/components/address-autocomplete/index.d.ts +2 -1
  168. package/dist/components/address-autocomplete/index.js +3 -2
  169. package/dist/components/agenda-card/index.js +2 -2
  170. package/dist/components/agenda-tray/index.js +1 -1
  171. package/dist/components/ai-consent-banner/index.js +1 -1
  172. package/dist/components/ai-prompt-input/index.js +1 -1
  173. package/dist/components/ai-tools-rail/ai-tools-rail.d.ts +75 -0
  174. package/dist/components/ai-tools-rail/index.js +1 -1
  175. package/dist/components/alert/alert.d.ts +5 -0
  176. package/dist/components/alert/index.js +1 -1
  177. package/dist/components/anamnesis-card/index.js +1 -1
  178. package/dist/components/anatomy-scheme/anatomy-face-paths.d.ts +15 -0
  179. package/dist/components/anatomy-scheme/anatomy-muscle-paths.d.ts +20 -0
  180. package/dist/components/anatomy-scheme/anatomy-scheme-data.d.ts +121 -0
  181. package/dist/components/anatomy-scheme/anatomy-scheme.agent.d.ts +6 -0
  182. package/dist/components/anatomy-scheme/anatomy-scheme.d.ts +69 -0
  183. package/dist/components/anatomy-scheme/index.d.ts +6 -0
  184. package/dist/components/anatomy-scheme/index.js +17 -0
  185. package/dist/components/annotation-marker/annotation-marker.d.ts +33 -0
  186. package/dist/components/annotation-marker/index.d.ts +3 -0
  187. package/dist/components/annotation-marker/index.js +7 -0
  188. package/dist/components/appointment-card/appointment-card.d.ts +25 -1
  189. package/dist/components/appointment-card/index.js +6 -5
  190. package/dist/components/appointment-timeline/appointment-timeline.agent.d.ts +4 -0
  191. package/dist/components/appointment-timeline/appointment-timeline.d.ts +66 -0
  192. package/dist/components/appointment-timeline/index.d.ts +4 -0
  193. package/dist/components/appointment-timeline/index.js +6 -0
  194. package/dist/components/audio-recorder/index.js +1 -1
  195. package/dist/components/autocomplete/index.js +1 -1
  196. package/dist/components/badge/badge.d.ts +6 -2
  197. package/dist/components/badge/index.js +1 -1
  198. package/dist/components/bishop-score/bishop-score.agent.d.ts +4 -0
  199. package/dist/components/bishop-score/bishop-score.d.ts +17 -1
  200. package/dist/components/bishop-score/index.js +1 -1
  201. package/dist/components/bmi-calculator/bmi-calculator.agent.d.ts +4 -0
  202. package/dist/components/bmi-calculator/bmi-calculator.d.ts +26 -0
  203. package/dist/components/bmi-calculator/index.js +1 -1
  204. package/dist/components/booking/index.js +1 -1
  205. package/dist/components/breadcrumb/index.js +1 -1
  206. package/dist/components/calculator-dialog/index.js +1 -1
  207. package/dist/components/calendar/index.js +1 -1
  208. package/dist/components/care-plan-card/index.js +1 -1
  209. package/dist/components/care-plan-entry-card/index.js +1 -1
  210. package/dist/components/care-plan-header/care-plan-header.agent.d.ts +4 -0
  211. package/dist/components/care-plan-header/care-plan-header.d.ts +100 -0
  212. package/dist/components/care-plan-header/index.d.ts +4 -0
  213. package/dist/components/care-plan-header/index.js +6 -0
  214. package/dist/components/carousel/index.js +1 -1
  215. package/dist/components/chart/index.js +1 -1
  216. package/dist/components/chat-container/index.js +1 -1
  217. package/dist/components/chat-input/index.js +1 -1
  218. package/dist/components/checkbox/index.js +1 -1
  219. package/dist/components/checkbox-group/index.js +1 -1
  220. package/dist/components/clinical-note-card/clinical-note-card.d.ts +21 -1
  221. package/dist/components/clinical-note-card/index.js +1 -1
  222. package/dist/components/collapsible/index.js +1 -1
  223. package/dist/components/color-picker/index.js +1 -1
  224. package/dist/components/combobox/index.js +1 -1
  225. package/dist/components/command-palette/index.js +1 -1
  226. package/dist/components/contact-profile-card/index.js +1 -1
  227. package/dist/components/control-room-rail/control-room-context.d.ts +53 -0
  228. package/dist/components/control-room-rail/control-room-rail.d.ts +35 -0
  229. package/dist/components/control-room-rail/index.d.ts +5 -0
  230. package/dist/components/control-room-rail/index.js +9 -0
  231. package/dist/components/copy-field/index.js +1 -1
  232. package/dist/components/counter/counter.d.ts +22 -0
  233. package/dist/components/counter/index.d.ts +3 -0
  234. package/dist/components/counter/index.js +5 -0
  235. package/dist/components/cycle-calculator/index.js +1 -1
  236. package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts +18 -0
  237. package/dist/components/data-table/index.d.ts +1 -1
  238. package/dist/components/data-table/index.js +32 -30
  239. package/dist/components/date-picker/index.js +1 -1
  240. package/dist/components/date-range-picker/index.js +1 -1
  241. package/dist/components/date-time-picker/index.js +1 -1
  242. package/dist/components/dependent-selector/index.js +1 -1
  243. package/dist/components/dialog/index.js +1 -1
  244. package/dist/components/document-scanner/index.js +1 -1
  245. package/dist/components/dropdown-menu/index.js +1 -1
  246. package/dist/components/due-date-calculator/index.js +2 -2
  247. package/dist/components/email-input/index.js +1 -1
  248. package/dist/components/entity-summary/entity-summary.d.ts +43 -0
  249. package/dist/components/entity-summary/index.d.ts +3 -0
  250. package/dist/components/entity-summary/index.js +5 -0
  251. package/dist/components/fetal-weight/index.js +1 -1
  252. package/dist/components/file-upload/index.js +1 -1
  253. package/dist/components/fiscal-code-input/index.js +1 -1
  254. package/dist/components/freemium-paywall/freemium-paywall.d.ts +6 -0
  255. package/dist/components/freemium-paywall/index.js +1 -1
  256. package/dist/components/gestational-age-calculator/index.js +1 -1
  257. package/dist/components/hcg-doubling/index.js +1 -1
  258. package/dist/components/header-settings/index.js +1 -1
  259. package/dist/components/index.d.ts +11 -0
  260. package/dist/components/list/index.js +1 -1
  261. package/dist/components/locale-picker/index.js +1 -1
  262. package/dist/components/map-view/index.js +1 -1
  263. package/dist/components/message-card/index.js +1 -1
  264. package/dist/components/message-tray/index.js +1 -1
  265. package/dist/components/multi-select/index.js +1 -1
  266. package/dist/components/navigation-menu/index.js +1 -1
  267. package/dist/components/notes-panel/index.d.ts +3 -0
  268. package/dist/components/notes-panel/index.js +5 -0
  269. package/dist/components/notes-panel/notes-panel.d.ts +64 -0
  270. package/dist/components/notification-card/index.js +2 -2
  271. package/dist/components/notification-tray/index.js +1 -1
  272. package/dist/components/number-input/index.js +1 -1
  273. package/dist/components/operator-hero/index.js +1 -1
  274. package/dist/components/otp-input/index.js +1 -1
  275. package/dist/components/pagination/index.js +1 -1
  276. package/dist/components/password-input/index.js +1 -1
  277. package/dist/components/patient-details/index.d.ts +5 -0
  278. package/dist/components/patient-details/index.js +6 -0
  279. package/dist/components/patient-details/patient-details.agent.d.ts +4 -0
  280. package/dist/components/patient-details/patient-details.d.ts +96 -0
  281. package/dist/components/patient-search/index.js +1 -1
  282. package/dist/components/patient-summary-card/index.js +1 -1
  283. package/dist/components/patient-summary-card/patient-summary-card.d.ts +40 -1
  284. package/dist/components/patient-table/cell-renderers/balance-badge-cell.d.ts +13 -0
  285. package/dist/components/patient-table/cell-renderers/care-plan-status-cell.d.ts +43 -0
  286. package/dist/components/patient-table/cell-renderers/next-appointment-cell.d.ts +24 -0
  287. package/dist/components/patient-table/columns.d.ts +131 -0
  288. package/dist/components/patient-table/index.d.ts +20 -0
  289. package/dist/components/patient-table/index.js +12 -0
  290. package/dist/components/patient-table/patient-table.d.ts +172 -0
  291. package/dist/components/patient-table/types.d.ts +222 -0
  292. package/dist/components/patient-table/use-responsive-columns.d.ts +111 -0
  293. package/dist/components/payment-card/index.js +1 -1
  294. package/dist/components/payment-form/index.js +1 -1
  295. package/dist/components/pdf-viewer/index.js +1 -1
  296. package/dist/components/periodontal-chart-card/index.js +1 -1
  297. package/dist/components/phone-input/index.js +1 -1
  298. package/dist/components/popover/index.js +1 -1
  299. package/dist/components/practice-results/index.js +1 -1
  300. package/dist/components/pregnancy-dating/index.js +1 -1
  301. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  302. package/dist/components/privacy-lock/index.js +1 -1
  303. package/dist/components/product-hub-tray/index.js +1 -1
  304. package/dist/components/progress/index.js +1 -1
  305. package/dist/components/public-footer/index.js +1 -1
  306. package/dist/components/public-header/index.js +1 -1
  307. package/dist/components/qr-code/index.js +1 -1
  308. package/dist/components/radio-group/index.js +1 -1
  309. package/dist/components/radiograph-panel/index.d.ts +4 -0
  310. package/dist/components/radiograph-panel/index.js +7 -0
  311. package/dist/components/radiograph-panel/radiograph-panel.agent.d.ts +13 -0
  312. package/dist/components/radiograph-panel/radiograph-panel.d.ts +36 -0
  313. package/dist/components/recaptcha-widget/index.js +1 -1
  314. package/dist/components/resizable/index.js +1 -1
  315. package/dist/components/reviews-panel/index.js +1 -1
  316. package/dist/components/rich-text-editor/index.js +1 -1
  317. package/dist/components/search-bar/index.js +1 -1
  318. package/dist/components/search-input/index.js +2 -2
  319. package/dist/components/select/index.js +1 -1
  320. package/dist/components/session-countdown/index.js +1 -1
  321. package/dist/components/sheet/index.js +1 -1
  322. package/dist/components/sidebar/index.js +2 -2
  323. package/dist/components/sidebar/sidebar.d.ts +7 -0
  324. package/dist/components/sign-document/index.js +1 -1
  325. package/dist/components/signature-capture/index.js +1 -1
  326. package/dist/components/slider/index.js +1 -1
  327. package/dist/components/sparkline/index.js +1 -1
  328. package/dist/components/stepper-accordion/index.js +2 -2
  329. package/dist/components/stepper-progress/index.js +1 -1
  330. package/dist/components/suggestion-chip/index.js +1 -1
  331. package/dist/components/switch/index.js +1 -1
  332. package/dist/components/tab-bar/index.js +1 -1
  333. package/dist/components/tab-bar/tab-bar.d.ts +18 -1
  334. package/dist/components/tabs/index.js +1 -1
  335. package/dist/components/task-card/index.js +1 -1
  336. package/dist/components/task-tray/index.js +1 -1
  337. package/dist/components/text-area/index.js +1 -1
  338. package/dist/components/text-input/index.js +1 -1
  339. package/dist/components/theme-toggle/index.js +1 -1
  340. package/dist/components/time-picker/index.js +1 -1
  341. package/dist/components/timeline/index.js +1 -1
  342. package/dist/components/toast/index.js +1 -1
  343. package/dist/components/tooth-scheme/index.d.ts +2 -2
  344. package/dist/components/tooth-scheme/index.js +30 -23
  345. package/dist/components/tooth-scheme/tooth-data.d.ts +112 -1
  346. package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts +2 -2
  347. package/dist/components/tooth-scheme/tooth-scheme.d.ts +75 -11
  348. package/dist/components/transaction-chip/index.js +1 -1
  349. package/dist/components/transaction-chip/transaction-chip.d.ts +2 -2
  350. package/dist/components/transcript-panel/index.js +1 -1
  351. package/dist/components/unit-converter/index.js +1 -1
  352. package/dist/components/unit-converter/unit-converter.agent.d.ts +4 -0
  353. package/dist/components/unit-converter/unit-converter.d.ts +27 -0
  354. package/dist/components/warning-stack/index.js +1 -1
  355. package/dist/components/warning-stack/warning-stack.d.ts +14 -2
  356. package/dist/components/whatsapp-button/index.d.ts +1 -1
  357. package/dist/components/whatsapp-button/index.js +3 -2
  358. package/dist/components/whatsapp-button/whatsapp-button.d.ts +3 -0
  359. package/dist/components/workflow/index.js +1 -1
  360. package/dist/hooks/index.d.ts +1 -0
  361. package/dist/hooks/index.js +24 -22
  362. package/dist/hooks/use-clamp-overflow.d.ts +19 -0
  363. package/dist/hooks/use-overflow-collapse.d.ts +46 -0
  364. package/dist/hooks/use-persistent-state.d.ts +7 -1
  365. package/dist/hooks/use-scroll-overflow.d.ts +36 -0
  366. package/dist/i18n/locales/ar.d.ts +356 -0
  367. package/dist/i18n/locales/ar.js +370 -3
  368. package/dist/i18n/locales/de.d.ts +356 -0
  369. package/dist/i18n/locales/de.js +370 -3
  370. package/dist/i18n/locales/el.d.ts +356 -0
  371. package/dist/i18n/locales/el.js +370 -3
  372. package/dist/i18n/locales/en.d.ts +367 -0
  373. package/dist/i18n/locales/en.js +381 -3
  374. package/dist/i18n/locales/es.d.ts +356 -0
  375. package/dist/i18n/locales/es.js +370 -3
  376. package/dist/i18n/locales/fr.d.ts +356 -0
  377. package/dist/i18n/locales/fr.js +370 -3
  378. package/dist/i18n/locales/hi.d.ts +356 -0
  379. package/dist/i18n/locales/hi.js +370 -3
  380. package/dist/i18n/locales/it.d.ts +356 -0
  381. package/dist/i18n/locales/it.js +370 -3
  382. package/dist/i18n/locales/ja.d.ts +356 -0
  383. package/dist/i18n/locales/ja.js +370 -3
  384. package/dist/i18n/locales/nl.d.ts +356 -0
  385. package/dist/i18n/locales/nl.js +370 -3
  386. package/dist/i18n/locales/pl.d.ts +356 -0
  387. package/dist/i18n/locales/pl.js +370 -3
  388. package/dist/i18n/locales/pt.d.ts +356 -0
  389. package/dist/i18n/locales/pt.js +370 -3
  390. package/dist/i18n/locales/ro.d.ts +356 -0
  391. package/dist/i18n/locales/ro.js +370 -3
  392. package/dist/i18n/locales/ru.d.ts +356 -0
  393. package/dist/i18n/locales/ru.js +370 -3
  394. package/dist/i18n/locales/sq.d.ts +356 -0
  395. package/dist/i18n/locales/sq.js +370 -3
  396. package/dist/i18n/locales/sv.d.ts +356 -0
  397. package/dist/i18n/locales/sv.js +370 -3
  398. package/dist/i18n/locales/tr.d.ts +356 -0
  399. package/dist/i18n/locales/tr.js +370 -3
  400. package/dist/i18n/locales/zh.d.ts +356 -0
  401. package/dist/i18n/locales/zh.js +370 -3
  402. package/dist/index.js +740 -676
  403. package/dist/locales/ar.json +359 -3
  404. package/dist/locales/de.json +359 -3
  405. package/dist/locales/el.json +359 -3
  406. package/dist/locales/en.json +359 -3
  407. package/dist/locales/es.json +359 -3
  408. package/dist/locales/fr.json +359 -3
  409. package/dist/locales/hi.json +359 -3
  410. package/dist/locales/it.json +359 -3
  411. package/dist/locales/ja.json +359 -3
  412. package/dist/locales/nl.json +359 -3
  413. package/dist/locales/pl.json +359 -3
  414. package/dist/locales/pt.json +359 -3
  415. package/dist/locales/ro.json +359 -3
  416. package/dist/locales/ru.json +359 -3
  417. package/dist/locales/sq.json +359 -3
  418. package/dist/locales/sv.json +359 -3
  419. package/dist/locales/tr.json +359 -3
  420. package/dist/locales/zh.json +359 -3
  421. package/dist/patterns/alia-assistant/index.js +1 -1
  422. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  423. package/dist/patterns/patient-shell/index.js +1 -1
  424. package/dist/tokens.css +3 -2
  425. package/package.json +50 -1
  426. package/dist/_chunks/address-autocomplete-CT-9AOli.js +0 -358
  427. package/dist/_chunks/ai-tools-rail-CInA_1-E.js +0 -356
  428. package/dist/_chunks/appointment-tray-BMl89NPW.js +0 -419
  429. package/dist/_chunks/bishop-score-CjsB9bM-.js +0 -185
  430. package/dist/_chunks/bmi-calculator-n-823_1V.js +0 -258
  431. package/dist/_chunks/clinical-note-card-gtrxv6zn.js +0 -333
  432. package/dist/_chunks/editable-currency-cell-renderer-DHOspPee.js +0 -2409
  433. package/dist/_chunks/email-input-lQivsFrw.js +0 -396
  434. package/dist/_chunks/patient-summary-card-hEmr4eTW.js +0 -443
  435. package/dist/_chunks/registry-nPAVE19X.js +0 -21
  436. package/dist/_chunks/tab-bar-B1ovILzh.js +0 -105
  437. package/dist/_chunks/tooth-scheme-BIx1O2aJ.js +0 -1257
  438. package/dist/_chunks/unit-converter-C1V3ACM9.js +0 -196
  439. package/dist/_chunks/use-persistent-state-i23OWy6G.js +0 -24
  440. package/dist/_chunks/warning-stack-Cv4fr5zo.js +0 -220
@@ -36,5 +36,11 @@ export declare const APPOINTMENT_STATE_BADGE_DEFAULT: BadgeVariant;
36
36
  */
37
37
  export declare function appointmentStateBadge(state: string): BadgeVariant;
38
38
  export declare function colorIdToToken(colorId: number | string | null | undefined): string;
39
+ /**
40
+ * Avatar-fill variant of {@link colorIdToToken} — returns the same operator
41
+ * hue at an AA-safe darkness for swatches that carry the Avatar's light
42
+ * initials. Pair it with the bright -500 dot from {@link colorIdToToken}.
43
+ */
44
+ export declare function colorIdToAvatarToken(colorId: number | string | null | undefined): string;
39
45
  export { isSafeEntityUrl } from '../is-safe-url';
40
46
  //# sourceMappingURL=entity-card.d.ts.map
@@ -1,3 +1,3 @@
1
- export { entitySurfaceVariants, CARE_PLAN_STATE_BADGE, APPOINTMENT_STATE_BADGE, APPOINTMENT_STATE_BADGE_DEFAULT, appointmentStateBadge, colorIdToToken, isSafeEntityUrl, } from './entity-card';
1
+ export { entitySurfaceVariants, CARE_PLAN_STATE_BADGE, APPOINTMENT_STATE_BADGE, APPOINTMENT_STATE_BADGE_DEFAULT, appointmentStateBadge, colorIdToToken, colorIdToAvatarToken, isSafeEntityUrl, } from './entity-card';
2
2
  export type { CarePlanState, AppointmentState } from './entity-card';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,21 @@
1
+ import { type ReactElement, type ReactNode } from 'react';
2
+ import type { PatientField } from './patient-fields';
3
+ /** A neutral pill with high-contrast text + an optional leading glyph. */
4
+ export declare function NeutralChip({ icon, mono, children, }: {
5
+ icon?: ReactElement;
6
+ mono?: boolean;
7
+ children: ReactNode;
8
+ }): ReactNode;
9
+ /** Sex chip — Venus / Mars / User glyph + localised label. Female / male carry a
10
+ * tonal pink / blue FILL; unspecified stays the neutral pill. */
11
+ export declare function SexChip({ code }: {
12
+ code: string;
13
+ }): ReactNode;
14
+ /** Age chip — hourglass glyph + localised, pluralised age. */
15
+ export declare function AgeChip({ years }: {
16
+ years: number;
17
+ }): ReactNode;
18
+ export declare function FieldValue({ field }: {
19
+ field: PatientField;
20
+ }): ReactNode;
21
+ //# sourceMappingURL=field-value.d.ts.map
@@ -0,0 +1,20 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { PatientFieldSection } from './patient-fields';
3
+ export interface FieldVisibilityCogProps {
4
+ /** The sectioned field catalogue. */
5
+ sections: PatientFieldSection[];
6
+ /** Current ordered visible field ids. */
7
+ visible: string[];
8
+ /** Show / hide a single field. */
9
+ onToggleField: (fieldId: string) => void;
10
+ /** Show / hide every field in a section. */
11
+ onToggleSection: (sectionId: string, show: boolean) => void;
12
+ /** Move a field onto another field's slot within its section. */
13
+ onMoveFieldOnto: (fromId: string, toId: string) => void;
14
+ /** Reset to the default field set / order. */
15
+ onReset: () => void;
16
+ /** Override the cog trigger's accessible name. */
17
+ label?: string;
18
+ }
19
+ export declare function FieldVisibilityCog({ sections, visible, onToggleField, onToggleSection, onMoveFieldOnto, onReset, label, }: FieldVisibilityCogProps): ReactNode;
20
+ //# sourceMappingURL=field-visibility-cog.d.ts.map
@@ -0,0 +1,36 @@
1
+ import { type PatientField, type PatientFieldSection } from './patient-fields';
2
+ export interface UsePatientFieldVisibilityOptions {
3
+ /** Controlled ordered list of visible field ids. */
4
+ value?: string[];
5
+ /** Uncontrolled initial order. Omit both ⇒ every field, declaration order. */
6
+ defaultValue?: string[];
7
+ /** Fired on any show / hide / reorder, with the next ordered visible set. */
8
+ onChange?: (orderedIds: string[]) => void;
9
+ }
10
+ export interface PatientFieldVisibility {
11
+ /** Current ordered list of visible field ids (filtered to known fields). */
12
+ visible: string[];
13
+ /** Flat declaration-order catalogue of every field id ("show everything"). */
14
+ catalogueIds: string[];
15
+ /** field id → its field + owning section id. */
16
+ fieldById: Map<string, {
17
+ field: PatientField;
18
+ sectionId: string;
19
+ }>;
20
+ /** Replace the visible set / order (filtered to known fields). */
21
+ setOrder: (orderedIds: string[]) => void;
22
+ /** Show or hide a single field. */
23
+ toggleField: (fieldId: string) => void;
24
+ /** Show or hide every field in a section. */
25
+ toggleSection: (sectionId: string, show: boolean) => void;
26
+ /**
27
+ * Move a field to land at another field's slot, WITHIN its section's
28
+ * visible subsequence. Cross-section moves are ignored — sections stay in
29
+ * declaration order. Drives both pointer drops and keyboard (Alt+Arrow).
30
+ */
31
+ moveFieldOnto: (fromId: string, toId: string) => void;
32
+ /** Reset to `defaultValue` (or the full catalogue when none was given). */
33
+ reset: () => void;
34
+ }
35
+ export declare function usePatientFieldVisibility(sections: PatientFieldSection[], { value, defaultValue, onChange }?: UsePatientFieldVisibilityOptions): PatientFieldVisibility;
36
+ //# sourceMappingURL=field-visibility.d.ts.map
@@ -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';
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
@@ -1,4 +1,4 @@
1
- import { A as r, a as n, b as a, c as d, d as i } from "../../_chunks/accordion-9lJSMMsZ.js";
1
+ import { A as r, a as n, b as a, c as d, d as i } from "../../_chunks/accordion-DnIa7OHX.js";
2
2
  export {
3
3
  r as Accordion,
4
4
  n as AccordionContent,
@@ -0,0 +1,4 @@
1
+ import type { AgentAdapter } from '../../agent/types';
2
+ import type { AddressAutocompleteHandle } from './address-autocomplete';
3
+ export declare const addressAutocompleteAgent: AgentAdapter<AddressAutocompleteHandle>;
4
+ //# sourceMappingURL=address-autocomplete.agent.d.ts.map
@@ -27,6 +27,24 @@ export interface AddressSuggestion {
27
27
  * selection resolves without a real Google call.
28
28
  */
29
29
  export type GetSuggestions = (query: string) => AddressSuggestion[] | Promise<AddressSuggestion[]>;
30
+ export interface AddressAutocompleteHandle {
31
+ /** Current free-text value of the input. */
32
+ getValue: () => string;
33
+ /** Current query (same as the input value) used to drive suggestions. */
34
+ getQuery: () => string;
35
+ /** True when the suggestion listbox is visible. */
36
+ getIsOpen: () => boolean;
37
+ /** Set the input text programmatically (also drives a suggestion fetch). */
38
+ setValue: (value: string) => void;
39
+ /** Set the query text — alias of `setValue`. */
40
+ setQuery: (query: string) => void;
41
+ /** Clear the typed text and dismiss the listbox. */
42
+ clear: () => void;
43
+ /** Open the suggestion listbox. */
44
+ open: () => void;
45
+ /** Close the suggestion listbox. */
46
+ close: () => void;
47
+ }
30
48
  export interface AddressAutocompleteProps {
31
49
  /**
32
50
  * Google Maps JS API key. Consumer-owned; never cached by the kit. When
@@ -1,4 +1,5 @@
1
1
  export { AddressAutocomplete } from './address-autocomplete';
2
- export type { AddressAutocompleteProps, AddressSuggestion, GetSuggestions, } from './address-autocomplete';
2
+ export type { AddressAutocompleteProps, AddressAutocompleteHandle, AddressSuggestion, GetSuggestions, } from './address-autocomplete';
3
+ export { addressAutocompleteAgent } from './address-autocomplete.agent';
3
4
  export { parseAddressComponents, type StructuredAddress, type RawAddressComponent, } from './parse-address';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,7 @@
1
- import { A as o, p } from "../../_chunks/address-autocomplete-CT-9AOli.js";
1
+ import { A as o, a as t, p as a } from "../../_chunks/address-autocomplete-BEX9PXty.js";
2
2
  export {
3
3
  o as AddressAutocomplete,
4
- p as parseAddressComponents
4
+ t as addressAutocompleteAgent,
5
+ a as parseAddressComponents
5
6
  };
6
7
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- import { A as e } from "../../_chunks/agenda-card-BxSFkqgY.js";
2
- import { a as d } from "../../_chunks/agenda-card.agent-B_R47-c9.js";
1
+ import { A as e } from "../../_chunks/agenda-card-BQ-IKAru.js";
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 {
5
5
  e as AgendaCard,
@@ -1,4 +1,4 @@
1
- import { A as r, a as g } from "../../_chunks/agenda-tray-T-BumlGZ.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-Dxtx_WAh.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-BwEACCPm.js";
1
+ import { A as a, a as o } from "../../_chunks/ai-prompt-input-CuhTo9mh.js";
2
2
  export {
3
3
  a as AIPromptInput,
4
4
  o as aiPromptInputAgent
@@ -12,10 +12,44 @@ export interface AiToolsRailTool {
12
12
  /** Panel body for this tool. Rendered inline-start of the strip when
13
13
  * `side='end'` (mirrored for `'start'`). The consumer composes it. */
14
14
  panel: ReactNode;
15
+ /**
16
+ * Optional non-scrolling header for this tool's panel. Rendered pinned at
17
+ * the top of the open panel — above the scroll region — so a tool's title /
18
+ * filters stay visible as the body scrolls. This is the rail-level home for
19
+ * a sticky tool header; every tool gets it for free.
20
+ */
21
+ header?: ReactNode;
22
+ /**
23
+ * When true the panel body is NOT wrapped in the rail's `ScrollArea` — the
24
+ * tool fills the (height-bounded) panel and owns its own scroll/layout.
25
+ * Use for self-scrolling tools (e.g. `AppointmentTimeline`, whose infinite
26
+ * scroll + today-anchoring + edge fades require it to be the scroll
27
+ * container). Default `false` (the rail scrolls the body).
28
+ */
29
+ fill?: boolean;
15
30
  /** Optional unseen / notification count shown on the strip icon. */
16
31
  badgeCount?: number;
17
32
  /** When true the icon is non-interactive and skipped by roving focus. */
18
33
  disabled?: boolean;
34
+ /**
35
+ * Scope tier (drives the two-group divider). The two scope values render in
36
+ * array order with a divider at the boundary between them — order the array
37
+ * so the groups stay contiguous. A divider only appears when BOTH groups are
38
+ * present; omit `scope` on every tool for an ungrouped strip (legacy). The
39
+ * rail attaches no meaning beyond grouping — the host decides which value
40
+ * leads (e.g. the Control Room pins favourites first).
41
+ */
42
+ scope?: 'global' | 'contextual';
43
+ /**
44
+ * When true this icon joins the drag-and-drop / `Alt`+Arrow reorder run.
45
+ * The host supplies `onReorder` and owns the resulting order. Moves are
46
+ * confined to the contiguous run of `reorderable` tools — so if EVERY tool
47
+ * is `reorderable` the run is the whole strip and a tool can be dragged
48
+ * across the scope divider; the host's `onReorder` decides what crossing it
49
+ * means (e.g. the Control Room reads it as pin / unpin). Reordering never
50
+ * changes focus roving — focus follows the moved tool to its new slot.
51
+ */
52
+ reorderable?: boolean;
19
53
  }
20
54
  /**
21
55
  * Curated imperative handle for AiToolsRail. Exposed as the forwardRef
@@ -61,6 +95,47 @@ export interface AiToolsRailProps extends VariantProps<typeof railVariants> {
61
95
  * Enter / double-click resets to the token-driven default. Default `false`.
62
96
  */
63
97
  resizablePanel?: boolean;
98
+ /**
99
+ * Fires when the user reorders the `reorderable` run (drag-drop or
100
+ * `Alt`+Arrow). `from` / `to` are indices into `tools`; the host applies the
101
+ * move to the array it passes back. Reordering is enabled when this callback
102
+ * is supplied AND at least one tool is `reorderable`. When the whole strip is
103
+ * reorderable, `to` may land in the other scope group — the host interprets
104
+ * the crossing (and may treat it as a no-op, e.g. reordering within a
105
+ * host-ordered group).
106
+ */
107
+ onReorder?: (from: number, to: number) => void;
108
+ /**
109
+ * Optional override for the polite live-region message announced after a
110
+ * reorder. Lets the host phrase membership-aware moves (e.g. "Pinned X to
111
+ * favourites") instead of the generic "moved to position N". Return an empty
112
+ * string to stay silent (e.g. for a move the host treats as a no-op). When
113
+ * omitted, the rail announces the generic run-relative position.
114
+ */
115
+ formatReorderAnnouncement?: (args: {
116
+ tool: AiToolsRailTool;
117
+ from: number;
118
+ to: number;
119
+ }) => string;
120
+ /**
121
+ * Optional per-icon overlay control, rendered as a sibling of each strip
122
+ * IconButton (the same positioned box the notification badge uses). Use for
123
+ * a small affordance such as a pin toggle — the rail attaches no meaning to
124
+ * what it renders. Receives the tool and its index / active state.
125
+ */
126
+ renderToolAffordance?: (tool: AiToolsRailTool, context: {
127
+ index: number;
128
+ isActive: boolean;
129
+ isRovingTarget: boolean;
130
+ }) => ReactNode;
131
+ /**
132
+ * Optional non-scrolling header rendered at the top of the OPEN tool panel,
133
+ * above its scroll region. Host-owned content (e.g. a pin / unpin control) —
134
+ * the rail attaches no meaning. Receives the active tool.
135
+ */
136
+ renderPanelHeader?: (tool: AiToolsRailTool, context: {
137
+ isActive: boolean;
138
+ }) => ReactNode;
64
139
  className?: string;
65
140
  }
66
141
  export declare const AiToolsRail: import("react").ForwardRefExoticComponent<AiToolsRailProps & import("react").RefAttributes<AiToolsRailHandle>>;
@@ -1,4 +1,4 @@
1
- import { A as i, a as l } from "../../_chunks/ai-tools-rail-CInA_1-E.js";
1
+ import { A as i, a as l } from "../../_chunks/ai-tools-rail-B5NEghsp.js";
2
2
  export {
3
3
  i as AiToolsRail,
4
4
  l as aiToolsRailAgent
@@ -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-N8pIKWuS.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