@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
@@ -1,4 +1,4 @@
1
- import { PERMANENT_TEETH, PRIMARY_TEETH, type ViewMode, type Dentition, type FdiId, type Numbering, type Surface, type ToothChart, type ToothCondition, type ToothMode } from './tooth-data';
1
+ import { PERMANENT_TEETH, PRIMARY_TEETH, type Arch, type ViewMode, type Dentition, type FdiId, type Numbering, type Radiograph, type Surface, type ToothChart, type ToothCondition, type ToothMode } from './tooth-data';
2
2
  export interface ToothSchemeProps {
3
3
  /** Opaque instance id — emitted as `data-component-id` for the agent registry. */
4
4
  id?: string;
@@ -10,21 +10,59 @@ export interface ToothSchemeProps {
10
10
  mode?: ToothMode;
11
11
  /**
12
12
  * `'side'` shows the facial view (whole-tooth findings); `'plan'` shows the
13
- * occlusal view (per-surface caries / fillings); `'both'` stacks the side
14
- * chart above an interactive occlusal companion that shares the chart data.
15
- * Default `'side'`.
13
+ * occlusal view (per-surface caries / fillings); `'both'` lays the two facial
14
+ * rows on the outside with the two occlusal rows between them (upper side
15
+ * upper occlusal → lower occlusal → lower side), bracketed by tooth numbers
16
+ * above and below. Default `'side'`.
16
17
  */
17
18
  projection?: ViewMode;
19
+ /**
20
+ * Show the selectable special-element slots (quadrants, sextants, arches,
21
+ * whole-mouth) to the inline-end of each arch row. When unset, they show in
22
+ * `both` view and hide in the single side / plan views; pass `true` / `false`
23
+ * to force it. They share the chart data and emit `onSelect` like a tooth.
24
+ */
25
+ specialElements?: boolean;
18
26
  /** Controlled chart state — the full `Record<FdiId, ToothState>`. */
19
27
  value?: ToothChart;
20
28
  /** Uncontrolled initial chart state. */
21
29
  defaultValue?: ToothChart;
22
30
  /** Fired whenever the chart changes — always emits FDI ids. */
23
31
  onChange?: (next: ToothChart) => void;
24
- /** Fired when a tooth is focused or clicked. */
32
+ /**
33
+ * Fired when a tooth OR special element is focused / clicked. Special
34
+ * elements emit their id (`Q1`, `S3`, `AS`, `general`, …).
35
+ */
25
36
  onSelect?: (toothId: FdiId) => void;
26
37
  /** Shortcut for pre-populating conditions: `{ '16': ['caries'], '36': ['filled'] }`. */
27
38
  conditions?: Partial<Record<FdiId, ToothCondition[]>>;
39
+ /**
40
+ * Per-tooth radiographs (x-rays / *endorali*), keyed by FDI id — mirrors the
41
+ * `conditions` shape. Teeth carrying at least one radiograph get a corner
42
+ * count badge; in `radiographDisplay="thumbnail"` the most-recent film also
43
+ * fills the slot. Image urls are opaque / consumer-hosted — never bundle real
44
+ * scans (PHI).
45
+ */
46
+ radiographs?: Partial<Record<FdiId, Radiograph[]>>;
47
+ /**
48
+ * How a tooth carrying radiographs is marked. `'badge'` (default) keeps the
49
+ * photoreal tooth render and adds a corner count badge; `'thumbnail'` shows
50
+ * the most-recent radiograph inset in the slot (still badged).
51
+ */
52
+ radiographDisplay?: 'badge' | 'thumbnail';
53
+ /**
54
+ * Fired when a tooth's radiograph archive is opened — i.e. a tooth is
55
+ * activated (click / Enter / Space) in `mode="display"`. Wire this to a
56
+ * Sheet/Dialog that manages the tooth's films. Setting this makes display-mode
57
+ * teeth focusable buttons; it is mutually exclusive with interactive
58
+ * findings-editing (`mode="interactive"` / `activeCondition`).
59
+ *
60
+ * EVERY tooth becomes an open-archive button — including unfilmed teeth, so the
61
+ * user can add the first film to an empty tooth (matching a real imaging hub).
62
+ * Filmed teeth are distinguished by the radiograph count folded into their
63
+ * accessible name and tooltip.
64
+ */
65
+ onOpenRadiographs?: (toothId: FdiId) => void;
28
66
  /**
29
67
  * The finding a tooth-click applies in interactive mode (the selected
30
68
  * tool in a Findings / "Stato dentale" panel). Clicking a tooth toggles
@@ -49,10 +87,10 @@ export interface ToothSchemeProps {
49
87
  legend?: boolean;
50
88
  /**
51
89
  * Render a built-in options affordance: a gear button that opens a popover
52
- * letting the END USER toggle the legend and switch dentition / numbering /
53
- * projection. Opt-in — when on, those four become user-overridable (seeded
54
- * from the props); when off, the props drive the chart directly. Default
55
- * `false`.
90
+ * letting the END USER toggle the legend + special elements and switch
91
+ * dentition / numbering / projection. Opt-in — when on, those become
92
+ * user-overridable (seeded from the props); when off, the props drive the
93
+ * chart directly. Default `false`.
56
94
  */
57
95
  controls?: boolean;
58
96
  /** Accessible label override for the chart region. */
@@ -60,6 +98,26 @@ export interface ToothSchemeProps {
60
98
  /** Extra class names on the wrapper. */
61
99
  className?: string;
62
100
  }
101
+ /** Number-label placement for a sub-chart. */
102
+ type NumbersPosition = 'between' | 'above' | 'below' | 'none';
103
+ /**
104
+ * Internal-only props (prefixed `_`) used when the component composes itself
105
+ * into the four-row `both` view — never part of the public API.
106
+ */
107
+ interface ToothSchemeInternalProps {
108
+ /** Render a single arch (the `both` view stacks one arch per sub-chart). */
109
+ _arch?: Arch;
110
+ /** Number-label placement for this sub-chart. */
111
+ _numbersPosition?: NumbersPosition;
112
+ /** Render only the `<svg>` (no region wrapper, controls, legend, or chrome). */
113
+ _inner?: boolean;
114
+ /**
115
+ * Force the SVG content width (the `both` view shares one width across all
116
+ * four sub-charts so they scale identically and stay column-aligned —
117
+ * otherwise rows with fewer special-element columns would scale up larger).
118
+ */
119
+ _contentWidth?: number;
120
+ }
63
121
  export interface ToothSchemeHandle {
64
122
  /** Programmatically focus a tooth by FDI id. */
65
123
  focusTooth: (id: FdiId) => void;
@@ -75,9 +133,15 @@ export interface ToothSchemeHandle {
75
133
  removeFinding: (id: FdiId, condition: ToothCondition) => void;
76
134
  /** Clear every finding from a tooth. */
77
135
  clearTooth: (id: FdiId) => void;
136
+ /** Read the radiographs attached to one tooth (empty array if none). */
137
+ getRadiographs: (id: FdiId) => Radiograph[];
138
+ /** Read the FDI ids of every tooth carrying at least one radiograph. */
139
+ teethWithRadiographs: () => FdiId[];
140
+ /** Focus a tooth and open its radiograph archive (fires `onOpenRadiographs`). */
141
+ openRadiographs: (id: FdiId) => void;
78
142
  }
79
143
  declare const rootVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
80
- export declare const ToothScheme: import("react").ForwardRefExoticComponent<ToothSchemeProps & import("react").RefAttributes<ToothSchemeHandle>>;
144
+ export declare const ToothScheme: import("react").ForwardRefExoticComponent<ToothSchemeProps & ToothSchemeInternalProps & import("react").RefAttributes<ToothSchemeHandle>>;
81
145
  export { rootVariants as toothSchemeVariants, PERMANENT_TEETH, PRIMARY_TEETH };
82
- export type { Dentition, FdiId, Numbering, ToothChart, ToothCondition, ToothMode, ToothState, } from './tooth-data';
146
+ export type { Dentition, FdiId, Numbering, SpecialElement, ToothChart, ToothCondition, ToothMode, ToothState, } from './tooth-data';
83
147
  //# sourceMappingURL=tooth-scheme.d.ts.map
@@ -1,4 +1,4 @@
1
- import { T as r } from "../../_chunks/transaction-chip-DK84XCBU.js";
1
+ import { T as r } from "../../_chunks/transaction-chip-CscoQbxF.js";
2
2
  export {
3
3
  r as TransactionChip
4
4
  };
@@ -1,8 +1,8 @@
1
1
  import { type HTMLAttributes } from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
- export type TransactionState = 'debt' | 'credit' | 'to-invoice' | 'to-deliver' | 'settled';
3
+ export type TransactionState = 'debt' | 'credit' | 'to-invoice' | 'to-deliver' | 'settled' | 'discount';
4
4
  declare const chipVariants: (props?: ({
5
- state?: "debt" | "credit" | "to-invoice" | "to-deliver" | "settled" | null | undefined;
5
+ state?: "debt" | "credit" | "to-invoice" | "to-deliver" | "settled" | "discount" | null | undefined;
6
6
  size?: "sm" | "md" | "lg" | null | undefined;
7
7
  bold?: boolean | null | undefined;
8
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -1,4 +1,4 @@
1
- import { T as t, t as n } from "../../_chunks/transcript-panel-CLHmv83g.js";
1
+ import { T as t, t as n } from "../../_chunks/transcript-panel-3THQX6nJ.js";
2
2
  export {
3
3
  t as TranscriptPanel,
4
4
  n as transcriptPanelAgent
@@ -1,4 +1,4 @@
1
- import { C as r, U as t, a as U, b as e, c as n } from "../../_chunks/unit-converter-C1V3ACM9.js";
1
+ import { C as r, U as t, a as U, b as e, c as n } from "../../_chunks/unit-converter-YEpD9evj.js";
2
2
  export {
3
3
  r as CATEGORIES,
4
4
  t as UNITS,
@@ -0,0 +1,4 @@
1
+ import type { AgentAdapter } from '../../agent/types';
2
+ import type { UnitConverterHandle } from './unit-converter';
3
+ export declare const unitConverterAgent: AgentAdapter<UnitConverterHandle>;
4
+ //# sourceMappingURL=unit-converter.agent.d.ts.map
@@ -32,6 +32,33 @@ export interface UnitConverterProps extends VariantProps<typeof rootVariants> {
32
32
  /** Extra class names on the wrapper. */
33
33
  className?: string;
34
34
  }
35
+ /**
36
+ * Curated imperative handle for agent / external automation. Reads/writes the
37
+ * structural inputs (category, value, from/to units) and the converted result.
38
+ * No patient identity. Consumed by the `unit-converter.agent.ts` adapter; the
39
+ * public `ref` stays the DOM element.
40
+ */
41
+ export interface UnitConverterHandle {
42
+ /** Active measurement family. */
43
+ getCategory: () => UnitCategory;
44
+ /** Switch the measurement family (resets from/to units to that category). */
45
+ setCategory: (next: UnitCategory) => void;
46
+ /** Source value + from/to unit ids. */
47
+ getInputs: () => {
48
+ value: number | null;
49
+ fromId: string;
50
+ toId: string;
51
+ };
52
+ /** Set the source value to convert. */
53
+ setValue: (value: number | null) => void;
54
+ /** Set from-unit and/or to-unit (ids outside the active category are ignored). */
55
+ setUnits: (next: {
56
+ fromId?: string;
57
+ toId?: string;
58
+ }) => void;
59
+ /** Converted value in the to-unit, or null when no source value is set. */
60
+ getResult: () => number | null;
61
+ }
35
62
  export declare const UnitConverter: import("react").ForwardRefExoticComponent<UnitConverterProps & import("react").RefAttributes<HTMLDivElement>>;
36
63
  export {};
37
64
  //# sourceMappingURL=unit-converter.d.ts.map
@@ -1,4 +1,4 @@
1
- import { W as n } from "../../_chunks/warning-stack-Cv4fr5zo.js";
1
+ import { W as n } from "../../_chunks/warning-stack--sTrrBDA.js";
2
2
  export {
3
3
  n as WarningStack
4
4
  };
@@ -11,7 +11,6 @@ export interface WarningStackItem {
11
11
  dismissible?: boolean;
12
12
  }
13
13
  declare const stackVariants: (props?: ({
14
- size?: "sm" | "md" | null | undefined;
15
14
  stretch?: boolean | null | undefined;
16
15
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
17
16
  export interface WarningStackProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'role' | 'title'>, VariantProps<typeof stackVariants> {
@@ -26,12 +25,25 @@ export interface WarningStackProps extends Omit<HTMLAttributes<HTMLDivElement>,
26
25
  title?: ReactNode;
27
26
  /** Optional short description rendered under the title. */
28
27
  description?: ReactNode;
29
- /** Cap on visible items before a "Show N more" toggle appears. */
28
+ /** Cap on visible items before a "Show N more" toggle appears. Defaults to
29
+ * `2`; pass a larger number (or `Infinity`) to show more before collapsing. */
30
30
  maxVisible?: number;
31
31
  /** Whether the stack starts collapsed when items exceed `maxVisible`. */
32
32
  defaultCollapsed?: boolean;
33
33
  /** Fires when a dismissible item's close control is activated. */
34
34
  onDismiss?: (item: WarningStackItem) => void;
35
+ /** Whether the whole-stack close control is shown at the header's inline-end.
36
+ * Defaults to `true` — the tray is closable. Set `false` for stacks that
37
+ * carry notices which must not be bulk-cleared (e.g. hard compliance blocks). */
38
+ closable?: boolean;
39
+ /** Fires when the whole-stack close control is activated, after every
40
+ * currently-visible notice has been dismissed (folding the region away).
41
+ * Optional — the fold happens internally regardless; supply this only to
42
+ * mirror the bulk dismissal into the consumer's own store. */
43
+ onDismissAll?: () => void;
44
+ /** Accessible label for the whole-stack close control. Defaults to the
45
+ * localised "Dismiss all notices". */
46
+ dismissAllLabel?: string;
35
47
  /** Accessible label for the region when `title` is not set. */
36
48
  ariaLabel?: string;
37
49
  /** Optional node rendered when the stack has zero items. */
@@ -1,3 +1,3 @@
1
- export { WhatsAppButton } from './whatsapp-button';
1
+ export { WhatsAppButton, WhatsAppGlyph } from './whatsapp-button';
2
2
  export type { WhatsAppButtonProps } from './whatsapp-button';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,6 @@
1
- import { W as p } from "../../_chunks/whatsapp-button-DUjlWGKf.js";
1
+ import { W as t, a as s } from "../../_chunks/whatsapp-button-BIy6NaJK.js";
2
2
  export {
3
- p as WhatsAppButton
3
+ t as WhatsAppButton,
4
+ s as WhatsAppGlyph
4
5
  };
5
6
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,8 @@
1
1
  import { type AnchorHTMLAttributes, type ReactNode } from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
+ export declare function WhatsAppGlyph({ className, }: {
4
+ className?: string;
5
+ }): ReactNode;
3
6
  declare const rootVariants: (props?: ({
4
7
  variant?: "pill" | "fab" | null | undefined;
5
8
  size?: "sm" | "md" | "lg" | null | undefined;
@@ -1,4 +1,4 @@
1
- import { C as r, W as e, a as s, b as d, c as w, i as t, l as f, m as l, r as i, w as k, d as n, e as A, f as C } from "../../_chunks/workflow-map-JAZryZJr.js";
1
+ import { C as r, W as e, a as s, b as d, c as w, i as t, l as f, m as l, r as i, w as k, d as n, e as A, f as C } from "../../_chunks/workflow-map-Dy8mLCqF.js";
2
2
  export {
3
3
  r as CORE_PATIENT_FIELDS,
4
4
  e as WorkflowCard,
@@ -16,6 +16,7 @@ export { useFocusTrap, type UseFocusTrapOptions } from './use-focus-trap';
16
16
  export { useDirection, useDocumentDirection, type Direction, } from './use-direction';
17
17
  export { usePersistentState } from './use-persistent-state';
18
18
  export { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect';
19
+ export { useOverflowCollapse, type UseOverflowCollapseReturn, } from './use-overflow-collapse';
19
20
  export { useWebOtp, type UseWebOtpOptions } from './use-web-otp';
20
21
  export { useEdgeResize, type UseEdgeResizeOptions, type UseEdgeResizeReturn, type EdgeResizeSeparatorProps, } from './use-edge-resize';
21
22
  export { useSigningSession, type SigningField, type SigningFieldBase, type UseSigningSessionReturn, } from './use-signing-session';
@@ -1,7 +1,7 @@
1
- import { u as v } from "../_chunks/use-prefers-reduced-motion-BMwIQRjB.js";
1
+ import { u as A } from "../_chunks/use-prefers-reduced-motion-BMwIQRjB.js";
2
2
  import { u as D } from "../_chunks/use-media-query-CcAx5SMM.js";
3
- import { u as g, a as _ } from "../_chunks/use-signing-session-CyOZWinp.js";
4
- import { u as I } from "../_chunks/use-count-up-BLLetaZ8.js";
3
+ import { u as g, a as w } from "../_chunks/use-signing-session-CyOZWinp.js";
4
+ import { u as _ } from "../_chunks/use-count-up-BLLetaZ8.js";
5
5
  import { u as R } from "../_chunks/use-locale-BkCIHujH.js";
6
6
  import { A as K, T as H, a as M, r as Y, t as q, u as B } from "../_chunks/use-theme-CAuo6EYT.js";
7
7
  import { u as P } from "../_chunks/use-controllable-state-BiY4xTzM.js";
@@ -9,12 +9,13 @@ import { u as V } from "../_chunks/use-copy-to-clipboard-Cyfc_dlv.js";
9
9
  import { u as z } from "../_chunks/use-debounced-callback-BisrB-Fq.js";
10
10
  import { useState as x, useRef as b, useEffect as E } from "react";
11
11
  import { u as W, a as J } from "../_chunks/use-direction-Dp8h70PP.js";
12
- import { u as X } from "../_chunks/use-persistent-state-i23OWy6G.js";
12
+ import { u as X } from "../_chunks/use-persistent-state-nZwZAnE9.js";
13
13
  import { u as $ } from "../_chunks/use-isomorphic-layout-effect-BGfaCOP1.js";
14
- import { u as te } from "../_chunks/use-web-otp-D_utzp6S.js";
15
- import { u as oe } from "../_chunks/use-edge-resize-ZnGG7gyO.js";
16
- import { u as ne } from "../_chunks/use-countdown-Yd6ts0_a.js";
17
- function h(e, o) {
14
+ import { u as te } from "../_chunks/use-overflow-collapse-BIOzKbni.js";
15
+ import { u as oe } from "../_chunks/use-web-otp-D_utzp6S.js";
16
+ import { u as ne } from "../_chunks/use-edge-resize-ZnGG7gyO.js";
17
+ import { u as ae } from "../_chunks/use-countdown-Yd6ts0_a.js";
18
+ function C(e, o) {
18
19
  const [t, i] = x(e), u = b(null);
19
20
  return E(() => {
20
21
  if (o <= 0) {
@@ -51,7 +52,7 @@ function p(e) {
51
52
  return !0;
52
53
  });
53
54
  }
54
- function C(e, o = {}) {
55
+ function h(e, o = {}) {
55
56
  const { enabled: t = !0, autoFocus: i = !0, restoreFocus: u = !0 } = o, s = b(null);
56
57
  E(() => {
57
58
  if (!t) return;
@@ -61,7 +62,7 @@ function C(e, o = {}) {
61
62
  const n = p(a)[0] ?? (a.tabIndex >= -1 ? a : null);
62
63
  n == null || n.focus();
63
64
  }
64
- function l(r) {
65
+ function f(r) {
65
66
  if (r.key !== "Tab") return;
66
67
  const n = e.current;
67
68
  if (!n) return;
@@ -70,11 +71,11 @@ function C(e, o = {}) {
70
71
  r.preventDefault();
71
72
  return;
72
73
  }
73
- const d = c[0], m = c[c.length - 1], f = document.activeElement;
74
- r.shiftKey ? (f === d || !n.contains(f)) && (r.preventDefault(), m.focus()) : (f === m || !n.contains(f)) && (r.preventDefault(), d.focus());
74
+ const m = c[0], d = c[c.length - 1], l = document.activeElement;
75
+ r.shiftKey ? (l === m || !n.contains(l)) && (r.preventDefault(), d.focus()) : (l === d || !n.contains(l)) && (r.preventDefault(), m.focus());
75
76
  }
76
- return a.addEventListener("keydown", l), () => {
77
- if (a.removeEventListener("keydown", l), u && s.current) {
77
+ return a.addEventListener("keydown", f), () => {
78
+ if (a.removeEventListener("keydown", f), u && s.current) {
78
79
  const r = s.current;
79
80
  requestAnimationFrame(() => {
80
81
  r.isConnected && r.focus();
@@ -91,22 +92,23 @@ export {
91
92
  q as themeClassList,
92
93
  P as useControllableState,
93
94
  V as useCopyToClipboard,
94
- I as useCountUp,
95
- ne as useCountdown,
95
+ _ as useCountUp,
96
+ ae as useCountdown,
96
97
  z as useDebouncedCallback,
97
- h as useDebouncedValue,
98
+ C as useDebouncedValue,
98
99
  W as useDirection,
99
100
  J as useDocumentDirection,
100
- oe as useEdgeResize,
101
- C as useFocusTrap,
101
+ ne as useEdgeResize,
102
+ h as useFocusTrap,
102
103
  $ as useIsomorphicLayoutEffect,
103
104
  R as useLocale,
104
105
  D as useMediaQuery,
106
+ te as useOverflowCollapse,
105
107
  X as usePersistentState,
106
- v as usePrefersReducedMotion,
108
+ A as usePrefersReducedMotion,
107
109
  g as useScrollToFirstError,
108
- _ as useSigningSession,
110
+ w as useSigningSession,
109
111
  B as useTheme,
110
- te as useWebOtp
112
+ oe as useWebOtp
111
113
  };
112
114
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Reports whether a CSS line-clamped element is actually overflowing — i.e.
3
+ * its content is taller than the clamped box (`scrollHeight > clientHeight`).
4
+ *
5
+ * Used to drive "show the affordance only when the text is really cut":
6
+ * a tooltip on a clamped title, a "Read more" toggle on a clamped body.
7
+ * Because line-clamp keeps the full text in the DOM, this is purely a
8
+ * sighted-user convenience — assistive tech reads the full text regardless.
9
+ *
10
+ * Re-measures on element resize (a narrower column wraps more, so a title
11
+ * that fit at full width may clip in a two-column grid). `enabled` lets the
12
+ * caller switch measurement off — e.g. while a description is expanded, there
13
+ * is nothing to measure.
14
+ */
15
+ export declare function useClampOverflow<T extends HTMLElement>(enabled: boolean): {
16
+ ref: import("react").RefObject<T | null>;
17
+ isOverflowing: boolean;
18
+ };
19
+ //# sourceMappingURL=use-clamp-overflow.d.ts.map
@@ -0,0 +1,46 @@
1
+ import { type RefObject } from 'react';
2
+ export interface UseOverflowCollapseReturn<C extends HTMLElement, N extends HTMLElement> {
3
+ /**
4
+ * Attach to the element whose inner width caps the content — the available
5
+ * space. It must stay mounted in BOTH the expanded and the collapsed render
6
+ * (it is the only thing left to measure once the content is swapped out).
7
+ */
8
+ containerRef: RefObject<C | null>;
9
+ /**
10
+ * Attach (as `ref={contentRef}`) to the natural-width content — its
11
+ * `scrollWidth` is the space it needs. A callback ref, so the hook re-measures
12
+ * the instant the content mounts or unmounts. Present only while expanded; the
13
+ * hook remembers its last width so the collapsed branch keeps a threshold.
14
+ */
15
+ contentRef: (node: N | null) => void;
16
+ /** The content does not fit the container — swap to the compact form. */
17
+ isOverflowing: boolean;
18
+ }
19
+ /**
20
+ * Reports whether a row of content is wider than the box it lives in, so a
21
+ * caller can swap an overflowing strip for a compact form (a horizontal nav for
22
+ * a dropdown, a toolbar for a "more" menu). Unlike a viewport media query, this
23
+ * reacts to the CONTAINER — the same strip collapses in a narrow column on a
24
+ * wide screen (e.g. a page squeezed between two sidebars) as on a small one.
25
+ *
26
+ * The catch with collapse-on-overflow is reversibility: once the content is
27
+ * swapped out there is nothing left to measure, so a naive check can never
28
+ * un-collapse. This remembers the content's width from the last frame it was
29
+ * mounted (`naturalWidthRef`) — captured at the moment it overflowed, that is
30
+ * its true min-content width — and keeps comparing it against the still-mounted
31
+ * container, so the strip restores the instant the container grows back.
32
+ *
33
+ * The content is tracked as STATE via a callback ref (not a plain ref), so the
34
+ * measurement effect re-subscribes whenever the content mounts/unmounts — for
35
+ * ANY reason, not just an overflow-driven flip. A caller may collapse on a
36
+ * second signal this hook can't see (a viewport media query *as well as*
37
+ * overflow); keying re-subscription on the actual content node, rather than on
38
+ * `isOverflowing`, keeps the observer attached across those transitions too.
39
+ * `enabled` switches it off — e.g. when the host never collapses this strip —
40
+ * clearing the flag so it renders expanded.
41
+ *
42
+ * Purely a layout decision; the content swap it drives stays fully in the DOM
43
+ * and keyboard-reachable in either form, so assistive tech is unaffected.
44
+ */
45
+ export declare function useOverflowCollapse<C extends HTMLElement, N extends HTMLElement>(enabled?: boolean): UseOverflowCollapseReturn<C, N>;
46
+ //# sourceMappingURL=use-overflow-collapse.d.ts.map
@@ -11,6 +11,12 @@
11
11
  *
12
12
  * SSR-safe and quota-safe (swallows serialise / storage errors so a
13
13
  * disabled-storage or quota-exceeded write never throws into render).
14
+ *
15
+ * Pass `{ disabled: true }` to make it behave like a plain `useState` seeded
16
+ * from `initial` — no read, no write. Use this when the value is controlled
17
+ * elsewhere (e.g. a controlled prop), so the hook never touches `localStorage`.
14
18
  */
15
- export declare function usePersistentState<T>(storageKey: string, initial: T | (() => T)): [T, (value: T | ((prev: T) => T)) => void];
19
+ export declare function usePersistentState<T>(storageKey: string, initial: T | (() => T), options?: {
20
+ disabled?: boolean;
21
+ }): [T, (value: T | ((prev: T) => T)) => void];
16
22
  //# sourceMappingURL=use-persistent-state.d.ts.map
@@ -0,0 +1,36 @@
1
+ import { type RefObject } from 'react';
2
+ export interface UseScrollOverflowReturn<T extends HTMLElement> {
3
+ /** Attach to the horizontally-scrollable element (the `overflow-x-auto` box). */
4
+ ref: RefObject<T | null>;
5
+ /** Content is hidden past the inline-START edge (scrolled away from the start). */
6
+ canScrollStart: boolean;
7
+ /** Content is hidden past the inline-END edge (more to reveal toward the end). */
8
+ canScrollEnd: boolean;
9
+ /**
10
+ * Scroll by ~one viewport toward the inline start (`-1`) or end (`+1`),
11
+ * smoothly unless the user prefers reduced motion. Direction-agnostic: works
12
+ * in both LTR and RTL.
13
+ */
14
+ scrollByPage: (direction: -1 | 1) => void;
15
+ }
16
+ /**
17
+ * Reports whether a horizontally-scrollable element has hidden content at its
18
+ * inline-start / inline-end edges, and exposes a paged scroll action — the
19
+ * plumbing behind a scroll strip's edge affordances (fade + chevron buttons).
20
+ *
21
+ * Direction-agnostic: distance-from-start is read as `Math.abs(scrollLeft)`,
22
+ * which is correct in both LTR (`0…max`) and modern RTL (`0…-max`), so the two
23
+ * edges are reported on the right logical side without branching. `scrollByPage`
24
+ * flips its physical sign from the element's computed `direction`.
25
+ *
26
+ * Re-measures on element resize AND on content-size change (a tab added past the
27
+ * fold widens the content without changing the container) by observing both the
28
+ * scroll box and its first child. `enabled` switches measurement off — e.g. when
29
+ * the host collapses the strip into a menu and there is nothing to scroll.
30
+ *
31
+ * Because the scrolled content stays in the DOM and is reachable by keyboard
32
+ * (focus scrolls it into view), the affordance this drives is a sighted-pointer
33
+ * convenience; assistive tech is unaffected.
34
+ */
35
+ export declare function useScrollOverflow<T extends HTMLElement>(enabled?: boolean): UseScrollOverflowReturn<T>;
36
+ //# sourceMappingURL=use-scroll-overflow.d.ts.map