@alfadocs/ui-kit 1.47.1 → 1.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. package/dist/_chunks/{actions-cell-renderer-B5m9lwgC.js → actions-cell-renderer-DMittsR3.js} +4 -4
  2. package/dist/_chunks/{address-autocomplete-Bq-1n1UX.js → address-autocomplete-Dp5uMvKP.js} +61 -60
  3. package/dist/_chunks/{address-fields-jFfjxOQR.js → address-fields-QfC-N3pw.js} +5 -5
  4. package/dist/_chunks/{agenda-card-DyQtHb9z.js → agenda-card-C4h0xMGi.js} +2 -2
  5. package/dist/_chunks/{agenda-tray-CBaJASb5.js → agenda-tray-DNZYW2xt.js} +4 -4
  6. package/dist/_chunks/{ai-credits-notice-xszqOZTC.js → ai-credits-notice-C-kz_RrY.js} +3 -3
  7. package/dist/_chunks/{ai-permission-notice-D7I2U-cz.js → ai-permission-notice-BRZeS3mT.js} +3 -3
  8. package/dist/_chunks/{ai-prompt-input-DXknpQCB.js → ai-prompt-input-CxvnXsAs.js} +82 -82
  9. package/dist/_chunks/{alia-sidebar-CUqaJNPQ.js → alia-sidebar-Crn8OGPF.js} +7 -7
  10. package/dist/_chunks/{anamnesis-card-xtEhyojD.js → anamnesis-card-D8Si-2GV.js} +3 -3
  11. package/dist/_chunks/{anamnesis-summary-card-CclBbiXg.js → anamnesis-summary-card-DPyScUMM.js} +2 -2
  12. package/dist/_chunks/{anamnesis-summary-rows-DI-UX5r6.js → anamnesis-summary-rows-CZirLRuv.js} +12 -12
  13. package/dist/_chunks/{antenatal-schedule-timeline-CXk_tzWG.js → antenatal-schedule-timeline-8fm3vPSV.js} +2 -2
  14. package/dist/_chunks/{appointment-card-DluZy8Iv.js → appointment-card-CvGU0QP6.js} +5 -5
  15. package/dist/_chunks/{appointment-peek-BsfCpiJs.js → appointment-peek--dmWznLZ.js} +5 -5
  16. package/dist/_chunks/{appointment-timeline-Cs5f9viN.js → appointment-timeline-y9uYZMUd.js} +6 -6
  17. package/dist/_chunks/{appointment-tray-CLrGGnKR.js → appointment-tray-BTecNeSb.js} +4 -4
  18. package/dist/_chunks/appointment-workflow-status-CS8ufF1f.js +66 -0
  19. package/dist/_chunks/{audio-recorder-B7dT-Y3v.js → audio-recorder-DZBtAvLH.js} +4 -4
  20. package/dist/_chunks/{autocomplete-MpBhz-fG.js → autocomplete-DSasZUf6.js} +65 -64
  21. package/dist/_chunks/{badge-BudgzTe_.js → badge-BAkd6_Pj.js} +24 -17
  22. package/dist/_chunks/{balance-badge-cell-YGrYdrvR.js → balance-badge-cell-CA0YNJMR.js} +6 -6
  23. package/dist/_chunks/{bishop-score-Cu70iv9C.js → bishop-score-BMLRvXYF.js} +4 -4
  24. package/dist/_chunks/{bmi-calculator-C9N19aLX.js → bmi-calculator-DUhRyyrA.js} +3 -3
  25. package/dist/_chunks/{booking-C4MwImkS.js → booking-BQYFDcrz.js} +10 -10
  26. package/dist/_chunks/{breadcrumb-agut0PwN.js → breadcrumb-D3boYzD4.js} +50 -49
  27. package/dist/_chunks/{button-CaUe1uyd.js → button-18oBsI3n.js} +54 -50
  28. package/dist/_chunks/button-group-BSDqso_C.js +408 -0
  29. package/dist/_chunks/{calendar-OzSeTb4V.js → calendar-DjoJ9ovF.js} +11 -17
  30. package/dist/_chunks/{calendar-event-card-B6N5h1dO.js → calendar-event-card-BUbKBPv_.js} +55 -73
  31. package/dist/_chunks/calendar-workspace-D8zX9JWm.js +10423 -0
  32. package/dist/_chunks/{care-plan-card-BOv0NRle.js → care-plan-card-ciBaaguw.js} +4 -4
  33. package/dist/_chunks/{care-plan-entry-card-d-rZD4li.js → care-plan-entry-card-D7A0whiZ.js} +5 -5
  34. package/dist/_chunks/{care-plan-header-CEmBXn6-.js → care-plan-header-DKV1gLqv.js} +4 -4
  35. package/dist/_chunks/{carousel.agent-z1yLBpyC.js → carousel.agent-DqDGR2yH.js} +2 -2
  36. package/dist/_chunks/{chart-D8ucl8hH.js → chart-VjuXDXOZ.js} +3 -3
  37. package/dist/_chunks/{chat-input-Cj7ZYQr5.js → chat-input-BVho_SqP.js} +2 -2
  38. package/dist/_chunks/{chat-message-BMVxiUIX.js → chat-message-Co_NRGM4.js} +3 -3
  39. package/dist/_chunks/{smartphone-DaPcFw-X.js → circle-dashed-CUj6o2cA.js} +3 -14
  40. package/dist/_chunks/{city-input-DaQc-Hbj.js → city-input-BGYc4lRV.js} +2 -2
  41. package/dist/_chunks/{clinical-note-card-DdsGYMmI.js → clinical-note-card-DYDQ3q2x.js} +89 -74
  42. package/dist/_chunks/{code-block-BB-viuTn.js → code-block-C_eNHWaa.js} +2 -2
  43. package/dist/_chunks/combobox-B_rLwmSv.js +578 -0
  44. package/dist/_chunks/{command-palette-DQl_SNEv.js → command-palette-DhgGo7GJ.js} +82 -80
  45. package/dist/_chunks/{connection-status-BmA9T0UO.js → connection-status-Cfux3TvH.js} +4 -4
  46. package/dist/_chunks/{contact-profile-card-C0WpwpVV.js → contact-profile-card-Dj4NgBL-.js} +3 -3
  47. package/dist/_chunks/control-room-rail-DAO0qfOI.js +379 -0
  48. package/dist/_chunks/{copy-field-B8XRVmQv.js → copy-field-Cm4y5Bff.js} +2 -2
  49. package/dist/_chunks/{country-select-CfDNFG5c.js → country-select-C5jZjO8O.js} +2 -2
  50. package/dist/_chunks/{cycle-calculator-BH2StWoT.js → cycle-calculator-B9lBRNiZ.js} +3 -3
  51. package/dist/_chunks/{dashboard-grid-BcXWL5S9.js → dashboard-grid-uX7x1ePj.js} +2 -2
  52. package/dist/_chunks/{data-table-DnKOmEVw.js → data-table-DWOSxlsy.js} +9 -9
  53. package/dist/_chunks/{data-table-tabs-B9SXA5VP.js → data-table-tabs-CzYYKp2_.js} +3 -3
  54. package/dist/_chunks/{dependent-selector-BHDP0nBB.js → dependent-selector-BR_8D2Qu.js} +2 -2
  55. package/dist/_chunks/{description-list-BsJ_6CQE.js → description-list-1A2DEbE6.js} +2 -2
  56. package/dist/_chunks/{document-preview-COV0BC6n.js → document-preview-Od2Hz4z5.js} +13 -12
  57. package/dist/_chunks/{document-scanner-B1abl-A4.js → document-scanner-p0aGlzCy.js} +3 -3
  58. package/dist/_chunks/{dropdown-menu-DU-Hrf33.js → dropdown-menu-C8PaW3lR.js} +110 -96
  59. package/dist/_chunks/{due-date-calculator-Buh_mVHq.js → due-date-calculator-BVqJaxzd.js} +4 -4
  60. package/dist/_chunks/{editable-currency-cell-renderer-OUkUv7U4.js → editable-currency-cell-renderer-D_G2Ap61.js} +4 -4
  61. package/dist/_chunks/{editable-description-ADMVFPUz.js → editable-description-B4NVdjvd.js} +3 -3
  62. package/dist/_chunks/{editor-overlay-DwNKaI22.js → editor-overlay-BDiBvQmL.js} +2 -2
  63. package/dist/_chunks/{empty-state-BUN_UAWf.js → empty-state-DTBZ1ENT.js} +2 -2
  64. package/dist/_chunks/{entity-card-I-Gio5wo.js → entity-card-D1Yrh9wf.js} +2 -1
  65. package/dist/_chunks/{entity-summary-DXejuQ8i.js → entity-summary-Ckz_U00H.js} +3 -3
  66. package/dist/_chunks/{error-boundary-BNT2iQ1w.js → error-boundary-BxTqEXqj.js} +2 -2
  67. package/dist/_chunks/euro-Dsuz4ixO.js +22 -0
  68. package/dist/_chunks/{face-scheme-mIhwrQXt.js → face-scheme-fku-RShg.js} +71 -71
  69. package/dist/_chunks/{fetal-weight-wx4ycKc6.js → fetal-weight-B69yOS9W.js} +3 -3
  70. package/dist/_chunks/{field-array-BW9KeeXG.js → field-array-lIXrFWS0.js} +3 -3
  71. package/dist/_chunks/file-BuG1VMAy.js +21 -0
  72. package/dist/_chunks/{file-Cwe9VC1A.js → file-image-cDgE-BTy.js} +2 -19
  73. package/dist/_chunks/{file-manager-DOcJGIx2.js → file-manager-CqgxLqoA.js} +15 -14
  74. package/dist/_chunks/{file-upload-BDpb08GM.js → file-upload-B242a_Y1.js} +53 -52
  75. package/dist/_chunks/{finished-terminal-DJd7Z_po.js → finished-terminal-B2oqXO0Y.js} +2 -2
  76. package/dist/_chunks/fiscal-code-input-BEF8eKIG.js +572 -0
  77. package/dist/_chunks/{freemium-paywall-BaW5ODc9.js → freemium-paywall-B6JITu4l.js} +2 -2
  78. package/dist/_chunks/{gestational-age-calculator-CwbecTul.js → gestational-age-calculator-DsGN6_HS.js} +5 -5
  79. package/dist/_chunks/handled-rejection-6gqCf5vt.js +13 -0
  80. package/dist/_chunks/{hcg-doubling-BcXriXJe.js → hcg-doubling-D2SH-e7t.js} +3 -3
  81. package/dist/_chunks/{header-3o9o9v_T.js → header-CCjp5GvE.js} +2 -2
  82. package/dist/_chunks/{header-settings-BEfx_-TF.js → header-settings-ZXa6hXuu.js} +5 -5
  83. package/dist/_chunks/{help-me-write-templates-DHIwa4xR.js → help-me-write-templates-DQtT1qs_.js} +5 -5
  84. package/dist/_chunks/history-CK2JaU2g.js +16 -0
  85. package/dist/_chunks/{hover-card-nUae8NPJ.js → hover-card-BplP5SzQ.js} +2 -2
  86. package/dist/_chunks/{icon-button-CehAeZoP.js → icon-button-CY7GU_Se.js} +2 -2
  87. package/dist/_chunks/icon-button-group-B_426QN_.js +431 -0
  88. package/dist/_chunks/{icon-picker-DMEelg9v.js → icon-picker-ZLebyB0U.js} +3 -3
  89. package/dist/_chunks/{image-cropper-BjPjT7wU.js → image-cropper-_HiNN79d.js} +2 -2
  90. package/dist/_chunks/{info-tip-iP2Pm9dh.js → info-tip-laBxZhKu.js} +2 -2
  91. package/dist/_chunks/{insert-result-DPnOBD85.js → insert-result-CSuPQyKL.js} +2 -2
  92. package/dist/_chunks/{key-value-pair-DaQI_LZB.js → key-value-pair-Dcdl3Gni.js} +2 -2
  93. package/dist/_chunks/{kit-extensions-DuoFF1R3.js → kit-extensions-BTJSnM_H.js} +6 -6
  94. package/dist/_chunks/{link-cell-renderer-s3oHzOwi.js → link-cell-renderer-Tswqf6BT.js} +7 -7
  95. package/dist/_chunks/{locale-picker-CH3kfrIG.js → locale-picker-DGkQmhV9.js} +170 -180
  96. package/dist/_chunks/{map-view-CHw4RL6w.js → map-view-Bb7ClKSF.js} +2 -2
  97. package/dist/_chunks/{marketplace-app-shell-PB89Dkk_.js → marketplace-app-shell-Dehuxbi-.js} +6 -6
  98. package/dist/_chunks/menu-row-BAr8bx1I.js +95 -0
  99. package/dist/_chunks/{message-card-V3sFPiQI.js → message-card-DKOtnBHy.js} +3 -3
  100. package/dist/_chunks/{message-tray-CrRIHfiQ.js → message-tray-COMEtmyr.js} +4 -4
  101. package/dist/_chunks/{multi-select-CtPd7g4x.js → multi-select-N4Smh-gj.js} +114 -113
  102. package/dist/_chunks/{muscle-scheme-UVz_x4iE.js → muscle-scheme-Co0NIgbU.js} +3 -3
  103. package/dist/_chunks/{note-attachment-CwDir3kK.js → note-attachment-CGjNTrAC.js} +2 -2
  104. package/dist/_chunks/{note-timeline-Dn_XTo1s.js → note-timeline-CVnKL0p6.js} +2 -2
  105. package/dist/_chunks/notes-panel-BiOxZL_0.js +1111 -0
  106. package/dist/_chunks/{notification-card-B2gLO6dK.js → notification-card-DDzBCi8l.js} +3 -3
  107. package/dist/_chunks/{notification-tray-BOEKegVV.js → notification-tray-PnH2PBlZ.js} +4 -4
  108. package/dist/_chunks/{operator-hero-XIdwDmN2.js → operator-hero-5061fkY5.js} +3 -3
  109. package/dist/_chunks/{optical-prescription-LGgmtcST.js → optical-prescription-DUufWXfZ.js} +3 -3
  110. package/dist/_chunks/{pagination-EkD5SiCK.js → pagination-B0N2qGy_.js} +83 -82
  111. package/dist/_chunks/panel-subview-CzHutkA8.js +217 -0
  112. package/dist/_chunks/{patient-details-yrgkSeEY.js → patient-details-C23Hdm8v.js} +3 -3
  113. package/dist/_chunks/{patient-field-row-DCMkFGqI.js → patient-field-row-DElFbpKc.js} +12 -12
  114. package/dist/_chunks/{patient-search-5QcmQKJD.js → patient-search-DgXdGkhK.js} +4 -4
  115. package/dist/_chunks/{patient-summary-card-CmEFflGS.js → patient-summary-card-C36L3h7h.js} +7 -7
  116. package/dist/_chunks/{payment-automation-upsell-BKmBXU4i.js → payment-automation-upsell-ugi4np1l.js} +3 -3
  117. package/dist/_chunks/{payment-request-card-Cer6XXCn.js → payment-request-card-DMJB57Tv.js} +5 -5
  118. package/dist/_chunks/{periodontal-chart-DJoZS_o7.js → periodontal-chart-DbGzKDj7.js} +2 -2
  119. package/dist/_chunks/{periodontal-chart-card-Nd1ZoYWb.js → periodontal-chart-card-DvHyP47v.js} +3 -3
  120. package/dist/_chunks/{periodontal-diagnosis-C7pfPOct.js → periodontal-diagnosis-B8WqI0eU.js} +2 -2
  121. package/dist/_chunks/{periodontal-risk-chart-B2tNFa15.js → periodontal-risk-chart-DsFRFFSz.js} +2 -2
  122. package/dist/_chunks/{phone-input-IWrGOCwm.js → phone-input-sQj-zi59.js} +85 -86
  123. package/dist/_chunks/{popover-DO-pssF3.js → popover-Dvb40vPH.js} +2 -2
  124. package/dist/_chunks/{practice-profile-hero-DxoLlQr5.js → practice-profile-hero-CPy5h2yI.js} +2 -2
  125. package/dist/_chunks/{practice-results-D11Zpt27.js → practice-results-t2BHht91.js} +7 -7
  126. package/dist/_chunks/{pregnancy-dating-DcyV9ZRD.js → pregnancy-dating-lfjjZVZH.js} +5 -5
  127. package/dist/_chunks/{pregnancy-weight-gain-Bfq4Kwt5.js → pregnancy-weight-gain-WpNt-S0q.js} +3 -3
  128. package/dist/_chunks/{privacy-lock-CbFCAMM3.js → privacy-lock-D6gq0GDg.js} +3 -3
  129. package/dist/_chunks/privacy-mask-BC5lw2zB.js +81 -0
  130. package/dist/_chunks/{product-hub-panel-w40-_-1s.js → product-hub-panel-CKeSCSeE.js} +3 -3
  131. package/dist/_chunks/{province-select-BaUnkg4S.js → province-select-BiszMRRY.js} +2 -2
  132. package/dist/_chunks/{public-header.agent-D-EBVskf.js → public-header.agent-B9wDmUeB.js} +3 -3
  133. package/dist/_chunks/{radiograph-panel.agent-LrILY2lN.js → radiograph-panel.agent-TmyIvTOa.js} +6 -6
  134. package/dist/_chunks/{reviews-panel-2GVuxGeT.js → reviews-panel-BdwFp_0c.js} +4 -4
  135. package/dist/_chunks/{rich-text-editor-BwDV2XkZ.js → rich-text-editor-y6ML0KeV.js} +12 -11
  136. package/dist/_chunks/{search-bar-CCmViqaa.js → search-bar-6bHatpYJ.js} +69 -67
  137. package/dist/_chunks/{select-CLSUnKjF.js → select-upNAltly.js} +89 -88
  138. package/dist/_chunks/{session-countdown-BqppPrw6.js → session-countdown-ACJyTXH2.js} +2 -2
  139. package/dist/_chunks/{sheet-C8WIDFS8.js → sheet-D0Lh0KR2.js} +2 -2
  140. package/dist/_chunks/{sign-in-with-alfadocs-button-DWwBJtyE.js → sign-in-with-alfadocs-button-CDyJAIzW.js} +2 -2
  141. package/dist/_chunks/{signature-request-D_j2aQu1.js → signature-request-15D363w5.js} +6 -6
  142. package/dist/_chunks/{signature-status-chip-D4NsrdeI.js → signature-status-chip-Dz6sS2oA.js} +2 -2
  143. package/dist/_chunks/{slot-grid-B3eOPkKD.js → slot-grid-4fWH3Euk.js} +4 -4
  144. package/dist/_chunks/smartphone-C0rFF2if.js +15 -0
  145. package/dist/_chunks/{streaming-text-CE1u_oGa.js → streaming-text-eRiizArc.js} +2 -2
  146. package/dist/_chunks/{tab-bar-Cw9UK18Z.js → tab-bar-BHFf6knq.js} +9 -9
  147. package/dist/_chunks/{tabs-BnRaLT0y.js → tabs-CFsuMQ5H.js} +82 -81
  148. package/dist/_chunks/{tag-Ci3xJPcH.js → tag-B65tLWvD.js} +24 -21
  149. package/dist/_chunks/{task-card-qTKD1fIT.js → task-card-CTTQfPS6.js} +72 -55
  150. package/dist/_chunks/task-editor-DlvTwAfv.js +1243 -0
  151. package/dist/_chunks/{task-tray-DIwjAIes.js → task-tray-JA-qp_pB.js} +4 -4
  152. package/dist/_chunks/tasks-panel-C_dVDQKJ.js +1243 -0
  153. package/dist/_chunks/{theme-toggle-BP0XRGMM.js → theme-toggle-LUBxlNDm.js} +4 -4
  154. package/dist/_chunks/{toast-ZZfhA5u0.js → toast-CT8hjr9r.js} +2 -2
  155. package/dist/_chunks/{token-insert-menu-A9B5AJw6.js → token-insert-menu-klwbxVKh.js} +3 -3
  156. package/dist/_chunks/{tool-rail-CCFqDfAn.js → tool-rail-DEeX4PdN.js} +144 -137
  157. package/dist/_chunks/{tooth-scheme-DPAq0vQK.js → tooth-scheme-BkjhkI8g.js} +4 -4
  158. package/dist/_chunks/{treatment-receipt-DU0OewqH.js → treatment-receipt-C-gWZ6uv.js} +3 -3
  159. package/dist/_chunks/{unit-converter-C-LpGzrN.js → unit-converter-Dp_KDxE6.js} +3 -3
  160. package/dist/_chunks/use-appointment-details-read-D2FH-cHF.js +2045 -0
  161. package/dist/_chunks/use-list-reflow-C7O4Uqnl.js +133 -0
  162. package/dist/_chunks/use-priority-overflow-Cdmb5EiR.js +108 -0
  163. package/dist/_chunks/{variables-menu-vXUaSBj4.js → variables-menu-aJLKJ_cu.js} +127 -136
  164. package/dist/_chunks/{warning-stack-C0glSB7p.js → warning-stack-CEgYkI1z.js} +3 -3
  165. package/dist/_chunks/{widget-picker-B1sj6uyf.js → widget-picker-CilQvcNL.js} +2 -2
  166. package/dist/_chunks/{workflow-map-DhR_h5yw.js → workflow-map-qGkQTNvS.js} +30 -29
  167. package/dist/_chunks/{workflow-status-CuJAOuKL.js → workflow-status-ClHfz4Kr.js} +209 -167
  168. package/dist/agent-catalog.json +371 -26
  169. package/dist/agent-i18n/en.json +41 -9
  170. package/dist/components/_shared/appointment-format.d.ts +52 -0
  171. package/dist/{patterns/calendar/calendar-editor-fields.d.ts → components/_shared/compact-editor-fields.d.ts} +6 -5
  172. package/dist/components/_shared/handled-rejection.d.ts +2 -0
  173. package/dist/components/_shared/menu-row.d.ts +17 -0
  174. package/dist/components/_shared/patient-identity.d.ts +7 -0
  175. package/dist/components/_shared/patient-picker.d.ts +24 -0
  176. package/dist/components/_shared/privacy-mask.d.ts +29 -0
  177. package/dist/components/address-autocomplete/index.js +1 -1
  178. package/dist/components/address-fields/index.js +1 -1
  179. package/dist/components/agenda-card/index.js +1 -1
  180. package/dist/components/agenda-tray/index.js +1 -1
  181. package/dist/components/ai-credits-notice/index.js +1 -1
  182. package/dist/components/ai-permission-notice/index.js +1 -1
  183. package/dist/components/ai-prompt-input/index.js +1 -1
  184. package/dist/components/anamnesis-card/index.js +1 -1
  185. package/dist/components/anamnesis-summary-card/index.js +1 -1
  186. package/dist/components/appointment-card/index.js +2 -2
  187. package/dist/components/appointment-details-panel/appointment-details-panel.agent.d.ts +4 -0
  188. package/dist/components/appointment-details-panel/appointment-details-panel.d.ts +134 -0
  189. package/dist/components/appointment-details-panel/appointment-details-panel.focus.d.ts +7 -0
  190. package/dist/components/appointment-details-panel/appointment-details-panel.history.d.ts +12 -0
  191. package/dist/components/appointment-details-panel/appointment-details-panel.identity.d.ts +41 -0
  192. package/dist/{patterns/calendar/calendar-info-hover.d.ts → components/appointment-details-panel/appointment-details-panel.info-hover.d.ts} +1 -1
  193. package/dist/components/appointment-details-panel/appointment-details-panel.sections.d.ts +51 -0
  194. package/dist/components/appointment-details-panel/appointment-details-panel.types.d.ts +326 -0
  195. package/dist/components/appointment-details-panel/index.d.ts +8 -0
  196. package/dist/components/appointment-details-panel/index.js +8 -0
  197. package/dist/components/appointment-details-panel/use-appointment-details-read.d.ts +32 -0
  198. package/dist/components/appointment-peek/index.js +1 -1
  199. package/dist/components/appointment-timeline/index.js +1 -1
  200. package/dist/components/audio-recorder/index.js +1 -1
  201. package/dist/components/autocomplete/index.js +1 -1
  202. package/dist/components/badge/index.js +1 -1
  203. package/dist/components/bishop-score/index.js +1 -1
  204. package/dist/components/bmi-calculator/index.js +1 -1
  205. package/dist/components/booking/index.js +1 -1
  206. package/dist/components/breadcrumb/index.js +1 -1
  207. package/dist/components/button/button.d.ts +2 -1
  208. package/dist/components/button/index.js +2 -2
  209. package/dist/components/button-group/button-group.d.ts +19 -2
  210. package/dist/components/button-group/index.js +1 -1
  211. package/dist/components/calendar/calendar.d.ts +5 -1
  212. package/dist/components/calendar/index.js +1 -1
  213. package/dist/components/calendar-event-card/index.js +1 -1
  214. package/dist/components/care-plan-card/index.js +1 -1
  215. package/dist/components/care-plan-entry-card/index.js +1 -1
  216. package/dist/components/care-plan-header/index.js +1 -1
  217. package/dist/components/carousel/index.js +1 -1
  218. package/dist/components/chart/index.js +1 -1
  219. package/dist/components/chat-input/index.js +1 -1
  220. package/dist/components/chat-message/index.js +1 -1
  221. package/dist/components/city-input/index.js +1 -1
  222. package/dist/components/clinical-note-card/clinical-note-card.d.ts +13 -5
  223. package/dist/components/clinical-note-card/index.js +1 -1
  224. package/dist/components/combobox/combobox.d.ts +9 -4
  225. package/dist/components/combobox/index.js +1 -1
  226. package/dist/components/command-palette/index.js +1 -1
  227. package/dist/components/connection-status/index.js +1 -1
  228. package/dist/components/contact-profile-card/index.js +1 -1
  229. package/dist/components/control-room-rail/control-room-rail.d.ts +14 -3
  230. package/dist/components/control-room-rail/index.js +1 -1
  231. package/dist/components/copy-field/index.js +1 -1
  232. package/dist/components/country-select/index.js +1 -1
  233. package/dist/components/cycle-calculator/index.js +1 -1
  234. package/dist/components/dashboard-grid/index.js +1 -1
  235. package/dist/components/data-table/index.js +4 -4
  236. package/dist/components/data-table-tabs/index.js +1 -1
  237. package/dist/components/dependent-selector/index.js +1 -1
  238. package/dist/components/description-list/index.js +1 -1
  239. package/dist/components/document-preview/index.js +1 -1
  240. package/dist/components/document-scanner/index.js +1 -1
  241. package/dist/components/dropdown-menu/index.js +1 -1
  242. package/dist/components/due-date-calculator/index.js +2 -2
  243. package/dist/components/editable-description/index.js +1 -1
  244. package/dist/components/editor-overlay/index.js +1 -1
  245. package/dist/components/empty-state/index.js +1 -1
  246. package/dist/components/entity-summary/index.js +1 -1
  247. package/dist/components/error-boundary/index.js +1 -1
  248. package/dist/components/face-scheme/index.js +1 -1
  249. package/dist/components/fetal-weight/index.js +1 -1
  250. package/dist/components/field-array/index.js +1 -1
  251. package/dist/components/file-manager/index.js +1 -1
  252. package/dist/components/file-upload/index.js +1 -1
  253. package/dist/components/finished-terminal/index.js +1 -1
  254. package/dist/components/fiscal-code-input/fiscal-code-input.d.ts +7 -0
  255. package/dist/components/fiscal-code-input/index.d.ts +1 -1
  256. package/dist/components/fiscal-code-input/index.js +8 -7
  257. package/dist/components/fiscal-code-input/is-valid-codice-fiscale.d.ts +19 -4
  258. package/dist/components/freemium-paywall/index.js +1 -1
  259. package/dist/components/gestational-age-calculator/index.js +1 -1
  260. package/dist/components/hcg-doubling/index.js +1 -1
  261. package/dist/components/header/index.js +1 -1
  262. package/dist/components/header-settings/index.js +1 -1
  263. package/dist/components/hover-card/index.js +1 -1
  264. package/dist/components/icon-button/index.js +1 -1
  265. package/dist/components/icon-button-group/index.js +1 -1
  266. package/dist/components/icon-picker/index.js +1 -1
  267. package/dist/components/image-cropper/index.js +1 -1
  268. package/dist/components/index.d.ts +2 -0
  269. package/dist/components/info-tip/index.js +1 -1
  270. package/dist/components/key-value-pair/index.js +1 -1
  271. package/dist/components/locale-picker/index.js +1 -1
  272. package/dist/components/map-view/index.js +1 -1
  273. package/dist/components/message-card/index.js +1 -1
  274. package/dist/components/message-tray/index.js +1 -1
  275. package/dist/components/multi-select/index.js +1 -1
  276. package/dist/components/muscle-scheme/index.js +1 -1
  277. package/dist/components/note-timeline/index.js +1 -1
  278. package/dist/components/notes-panel/index.d.ts +1 -1
  279. package/dist/components/notes-panel/index.js +1 -1
  280. package/dist/components/notes-panel/notes-panel.d.ts +102 -26
  281. package/dist/components/notification-card/index.js +1 -1
  282. package/dist/components/notification-tray/index.js +1 -1
  283. package/dist/components/operator-hero/index.js +1 -1
  284. package/dist/components/optical-prescription/index.js +1 -1
  285. package/dist/components/pagination/index.js +1 -1
  286. package/dist/components/panel-subview/index.js +1 -1
  287. package/dist/components/patient-details/index.js +1 -1
  288. package/dist/components/patient-search/index.js +1 -1
  289. package/dist/components/patient-summary-card/index.js +1 -1
  290. package/dist/components/patient-table/index.js +1 -1
  291. package/dist/components/payment-card/index.js +1 -1
  292. package/dist/components/periodontal-chart/index.js +1 -1
  293. package/dist/components/periodontal-chart-card/index.js +1 -1
  294. package/dist/components/periodontal-diagnosis/index.js +1 -1
  295. package/dist/components/periodontal-risk-chart/index.js +1 -1
  296. package/dist/components/phone-input/index.js +1 -1
  297. package/dist/components/popover/index.js +1 -1
  298. package/dist/components/practice-profile-hero/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/province-select/index.js +1 -1
  305. package/dist/components/public-header/index.js +1 -1
  306. package/dist/components/radiograph-panel/index.js +1 -1
  307. package/dist/components/reviews-panel/index.js +1 -1
  308. package/dist/components/rich-text-editor/index.js +2 -2
  309. package/dist/components/search-bar/index.js +1 -1
  310. package/dist/components/select/index.js +1 -1
  311. package/dist/components/session-countdown/index.js +1 -1
  312. package/dist/components/sheet/index.js +1 -1
  313. package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
  314. package/dist/components/signature-field/signature-field.d.ts +1 -1
  315. package/dist/components/signature-status-chip/index.js +1 -1
  316. package/dist/components/skeleton-scheme/index.js +17 -17
  317. package/dist/components/slot-grid/index.js +1 -1
  318. package/dist/components/streaming-text/index.js +1 -1
  319. package/dist/components/tab-bar/index.js +1 -1
  320. package/dist/components/tabs/index.js +1 -1
  321. package/dist/components/tag/index.js +1 -1
  322. package/dist/components/task-card/index.js +1 -1
  323. package/dist/components/task-card/task-card.d.ts +6 -0
  324. package/dist/components/task-editor/index.d.ts +4 -0
  325. package/dist/components/task-editor/index.js +6 -0
  326. package/dist/components/task-editor/task-editor.agent.d.ts +4 -0
  327. package/dist/components/task-editor/task-editor.d.ts +240 -0
  328. package/dist/components/task-editor/use-task-editor-form.d.ts +101 -0
  329. package/dist/components/task-tray/index.js +1 -1
  330. package/dist/components/tasks-panel/index.d.ts +1 -1
  331. package/dist/components/tasks-panel/index.js +1 -1
  332. package/dist/components/tasks-panel/tasks-panel.d.ts +84 -12
  333. package/dist/components/theme-toggle/index.js +1 -1
  334. package/dist/components/toast/index.js +1 -1
  335. package/dist/components/token-insert-menu/index.js +1 -1
  336. package/dist/components/tool-rail/index.js +1 -1
  337. package/dist/components/tooth-scheme/index.js +1 -1
  338. package/dist/components/treatment-receipt/index.js +1 -1
  339. package/dist/components/unit-converter/index.js +1 -1
  340. package/dist/components/variables-menu/index.js +1 -1
  341. package/dist/components/warning-stack/index.js +1 -1
  342. package/dist/components/widget-picker/index.js +1 -1
  343. package/dist/components/workflow/index.js +1 -1
  344. package/dist/components/workflow-status/appointment-workflow-status.d.ts +55 -0
  345. package/dist/components/workflow-status/index.d.ts +2 -0
  346. package/dist/components/workflow-status/index.js +7 -2
  347. package/dist/components/workflow-status/workflow-status.d.ts +35 -0
  348. package/dist/hooks/index.js +2 -2
  349. package/dist/hooks/use-exit-transition.d.ts +5 -0
  350. package/dist/hooks/use-priority-overflow.d.ts +11 -2
  351. package/dist/host-compat.css +7 -1
  352. package/dist/i18n/locales/ar.d.ts +29 -10
  353. package/dist/i18n/locales/ar.js +33 -14
  354. package/dist/i18n/locales/de.d.ts +29 -10
  355. package/dist/i18n/locales/de.js +33 -14
  356. package/dist/i18n/locales/el.d.ts +29 -10
  357. package/dist/i18n/locales/el.js +33 -14
  358. package/dist/i18n/locales/en.d.ts +29 -10
  359. package/dist/i18n/locales/en.js +33 -14
  360. package/dist/i18n/locales/es.d.ts +29 -10
  361. package/dist/i18n/locales/es.js +33 -14
  362. package/dist/i18n/locales/fr.d.ts +29 -10
  363. package/dist/i18n/locales/fr.js +33 -14
  364. package/dist/i18n/locales/hi.d.ts +29 -10
  365. package/dist/i18n/locales/hi.js +33 -14
  366. package/dist/i18n/locales/it.d.ts +29 -10
  367. package/dist/i18n/locales/it.js +33 -14
  368. package/dist/i18n/locales/ja.d.ts +29 -10
  369. package/dist/i18n/locales/ja.js +33 -14
  370. package/dist/i18n/locales/nl.d.ts +29 -10
  371. package/dist/i18n/locales/nl.js +33 -14
  372. package/dist/i18n/locales/pl.d.ts +29 -10
  373. package/dist/i18n/locales/pl.js +33 -14
  374. package/dist/i18n/locales/pt.d.ts +29 -10
  375. package/dist/i18n/locales/pt.js +33 -14
  376. package/dist/i18n/locales/ro.d.ts +29 -10
  377. package/dist/i18n/locales/ro.js +33 -14
  378. package/dist/i18n/locales/ru.d.ts +29 -10
  379. package/dist/i18n/locales/ru.js +33 -14
  380. package/dist/i18n/locales/sq.d.ts +29 -10
  381. package/dist/i18n/locales/sq.js +33 -14
  382. package/dist/i18n/locales/sv.d.ts +29 -10
  383. package/dist/i18n/locales/sv.js +33 -14
  384. package/dist/i18n/locales/tr.d.ts +29 -10
  385. package/dist/i18n/locales/tr.js +33 -14
  386. package/dist/i18n/locales/zh.d.ts +29 -10
  387. package/dist/i18n/locales/zh.js +33 -14
  388. package/dist/i18n/registerUiBundle.d.ts +5 -9
  389. package/dist/index.js +742 -728
  390. package/dist/locales/ar.json +33 -14
  391. package/dist/locales/de.json +33 -14
  392. package/dist/locales/el.json +33 -14
  393. package/dist/locales/en.json +33 -14
  394. package/dist/locales/es.json +33 -14
  395. package/dist/locales/fr.json +33 -14
  396. package/dist/locales/hi.json +33 -14
  397. package/dist/locales/it.json +33 -14
  398. package/dist/locales/ja.json +33 -14
  399. package/dist/locales/nl.json +33 -14
  400. package/dist/locales/pl.json +33 -14
  401. package/dist/locales/pt.json +33 -14
  402. package/dist/locales/ro.json +33 -14
  403. package/dist/locales/ru.json +33 -14
  404. package/dist/locales/sq.json +33 -14
  405. package/dist/locales/sv.json +33 -14
  406. package/dist/locales/tr.json +33 -14
  407. package/dist/locales/zh.json +33 -14
  408. package/dist/patterns/alia-assistant/index.js +1 -1
  409. package/dist/patterns/anamnesis/index.js +1 -1
  410. package/dist/patterns/calendar/calendar-appointment-details.d.ts +25 -95
  411. package/dist/patterns/calendar/calendar-patient-picker.d.ts +4 -3
  412. package/dist/patterns/calendar/calendar-privacy.d.ts +1 -22
  413. package/dist/patterns/calendar/calendar-sticky-offset.d.ts +20 -13
  414. package/dist/patterns/calendar/calendar-task-editor.d.ts +9 -13
  415. package/dist/patterns/calendar/calendar-workspace.d.ts +79 -8
  416. package/dist/patterns/calendar/calendar-workspace.model.d.ts +17 -12
  417. package/dist/patterns/calendar/calendar.journey.d.ts +40 -6
  418. package/dist/patterns/calendar/calendar.model.d.ts +10 -17
  419. package/dist/patterns/calendar/calendar.sheets.d.ts +18 -16
  420. package/dist/patterns/calendar/calendar.types.d.ts +24 -100
  421. package/dist/patterns/calendar/index.d.ts +4 -3
  422. package/dist/patterns/calendar/index.js +1 -1
  423. package/dist/patterns/help-me-write-templates/index.js +1 -1
  424. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  425. package/dist/patterns/payment-automation-upsell/index.js +1 -1
  426. package/dist/patterns/signature-request/index.js +1 -1
  427. package/dist/tokens.css +1 -1
  428. package/package.json +22 -5
  429. package/dist/_chunks/button-group-CA1tmu39.js +0 -325
  430. package/dist/_chunks/calendar-workspace-BmscntRR.js +0 -12528
  431. package/dist/_chunks/combobox-DnSdYssy.js +0 -522
  432. package/dist/_chunks/control-room-rail-CdBOXIqX.js +0 -366
  433. package/dist/_chunks/fiscal-code-input-ODQRd_Sw.js +0 -553
  434. package/dist/_chunks/icon-button-group-DZKC6KGf.js +0 -428
  435. package/dist/_chunks/notes-panel-CHbDDMx8.js +0 -683
  436. package/dist/_chunks/panel-subview-CYnuX-KR.js +0 -171
  437. package/dist/_chunks/tasks-panel-DncuBPIZ.js +0 -844
  438. package/dist/_chunks/use-list-reflow-Cw43nxw5.js +0 -100
  439. package/dist/_chunks/use-priority-overflow-c9SjxZkZ.js +0 -101
  440. package/dist/patterns/calendar/calendar-appointment-details.sections.d.ts +0 -37
@@ -0,0 +1,326 @@
1
+ import type { CalendarEventStatus } from '../calendar';
2
+ import type { NotesPanelNote } from '../notes-panel';
3
+ /** A fixed phone-label vocabulary, so the label can be localised. The
4
+ * platform's `DoctorPatientPhoneNumber.label` is free text: the host maps
5
+ * it onto these three. */
6
+ export type AppointmentPhoneLabel = 'mobile' | 'home' | 'work';
7
+ /** One labelled number: platform pop-over `phoneNumbers[]`
8
+ * (`getPrefixAndNumber()`, already masked by `PrivacyMaskedService` when
9
+ * the user hides patient details). */
10
+ export interface AppointmentPhoneNumber {
11
+ label: AppointmentPhoneLabel;
12
+ number: string;
13
+ }
14
+ /** One highlighted anamnesis answer, as the platform's details dialog lists
15
+ * it: the question, yes or no, the free answer and the interview date.
16
+ * Display strings, localised by the host. */
17
+ export interface AppointmentAnamnesisAnswer {
18
+ question: string;
19
+ yes: boolean;
20
+ answer?: string;
21
+ interviewIso: string;
22
+ }
23
+ /**
24
+ * The patient as the details read carries them. Only `id` and `name` are
25
+ * required. An absent field prints no row, never "none on file". Masking is
26
+ * the host's, server-side.
27
+ */
28
+ export interface AppointmentDetailsPatient {
29
+ /** Platform `Patient.patientId`. */
30
+ id: string;
31
+ /** Platform `Patient.name`, the display name. */
32
+ name: string;
33
+ /** Profile photo URL. Without one, the avatar shows initials. */
34
+ avatarSrc?: string;
35
+ /** Date of birth, 'YYYY-MM-DD': a local calendar day, never an instant. */
36
+ dobIso?: string;
37
+ /** The mobile, when `phones` is absent. */
38
+ phone?: string;
39
+ /** Every labelled number (platform pop-over `phoneNumbers`). */
40
+ phones?: AppointmentPhoneNumber[];
41
+ /** Platform pop-over `emailAddress`, masked server-side when the user
42
+ * hides patient details. */
43
+ email?: string;
44
+ /** Street: platform `Patient.street`. */
45
+ address?: string;
46
+ /** Platform `Patient.postcode`. */
47
+ postalCode?: string;
48
+ /** Platform `Patient.city`. */
49
+ city?: string;
50
+ /** Platform pop-over `highlightedAnamnesisAnswers`, a COUNT
51
+ * (`Patient::getNumberOfHighlightedAnamnesisAnswers`). */
52
+ highlightedAnamnesisCount?: number;
53
+ /** Platform pop-over `expiredAnamnesisCount` (`CountExpiredService`). */
54
+ expiredAnamnesisCount?: number;
55
+ /** The highlighted answers themselves. The pop-over only counts them;
56
+ * the platform's details dialog lists them. */
57
+ highlightedAnamnesisAnswers?: AppointmentAnamnesisAnswer[];
58
+ }
59
+ /** The platform's six `recurrence_frequency` values. */
60
+ export type AppointmentRecurrenceFrequency = 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'semiannual' | 'yearly';
61
+ /** How signing was requested: platform
62
+ * `DoctorAppointment.requiredObjectsSignMode` `via_sms` or `via_email`. */
63
+ export type AppointmentSignChannel = 'sms' | 'email';
64
+ /** The form fields an edit can touch (the platform's audit vocabulary). */
65
+ export type AppointmentHistoryField = 'patient' | 'type' | 'care' | 'operator' | 'chair' | 'colour' | 'time' | 'duration';
66
+ /** One history line: who did what to the appointment, and when. `atIso` is
67
+ * an instant, with a zone. */
68
+ export type AppointmentHistoryEntry = {
69
+ id: string;
70
+ atIso: string;
71
+ actor: string;
72
+ } & ({
73
+ kind: 'created';
74
+ } | {
75
+ kind: 'moved';
76
+ fromIso: string;
77
+ toIso: string;
78
+ } | {
79
+ kind: 'resized';
80
+ fromMin: number;
81
+ toMin: number;
82
+ } | {
83
+ kind: 'status';
84
+ from: CalendarEventStatus;
85
+ to: CalendarEventStatus;
86
+ } | {
87
+ kind: 'edited';
88
+ fields: AppointmentHistoryField[];
89
+ } | {
90
+ kind: 'deleted';
91
+ }
92
+ /** The patient confirmed by link; the host sends `actor: ''`. */
93
+ | {
94
+ kind: 'confirmedByPatient';
95
+ });
96
+ export type AppointmentHistoryKind = AppointmentHistoryEntry['kind'];
97
+ /** The create-document menu's kinds, as the platform's
98
+ * AppointmentDocumentDropdownApp offers them. */
99
+ export type AppointmentDocumentKind = 'folder' | 'template' | 'empty' | 'identification' | 'webcam' | 'bill';
100
+ /**
101
+ * One occurrence as the host reads it (platform
102
+ * `getEventPopoverContentAction`, route
103
+ * `ic_dcp_doctor_appointment_calendar_get_event_popover_content`). Pure
104
+ * data, no callbacks.
105
+ */
106
+ export interface AppointmentDetailsRead {
107
+ /** The occurrence id the host was asked for, echoed back. An answer for
108
+ * another id is never shown. */
109
+ eventId: string;
110
+ appointment: {
111
+ /** Local wall clock of THIS occurrence, 'YYYY-MM-DDTHH:mm:ss', no zone:
112
+ * the pop-over route's `{date}` with a T. Not an instant: parse it with
113
+ * `parseAppointmentStartIso`. */
114
+ startIso: string;
115
+ /** Platform `DoctorAppointment.duration`, in minutes. */
116
+ durationMin: number;
117
+ /** Platform `DoctorAppointment.allDay`. */
118
+ allDay: boolean;
119
+ /** A video visit: the appointment has a `telehealthSessionId`. */
120
+ isTelehealth: boolean;
121
+ /** Platform `DoctorAppointment.state`. Absent = no status recorded. */
122
+ status?: CalendarEventStatus;
123
+ /** The free-text description: platform `DoctorAppointment.name`. */
124
+ name?: string;
125
+ /** The host's heading for the appointment, as on the grid card. */
126
+ title: string;
127
+ /** The appointment's colour as a hex. The platform stores a
128
+ * `DoctorAppointment.colorId`; the host resolves it. */
129
+ colorHex?: string;
130
+ /** Platform `DoctorAppointment.operatorId` (a DoctorOperator, not a
131
+ * practice user). Informational: the visible label is the `operator`
132
+ * prop. */
133
+ operatorId?: string;
134
+ /** Platform `DoctorAppointment.chairId`. Informational: the visible
135
+ * label is the `chair` prop. */
136
+ chairId?: string;
137
+ /** The branch's display name, when the practice has branches. */
138
+ branchLabel?: string;
139
+ /** Platform `DoctorAppointment::wasCreatedThroughBooking()`. */
140
+ bookedOnline: boolean;
141
+ /** The series this occurrence belongs to. `requiresScope` is
142
+ * informational: the scope question belongs to the host's editor. */
143
+ recurrence?: {
144
+ frequency: AppointmentRecurrenceFrequency;
145
+ count?: number;
146
+ requiresScope: boolean;
147
+ };
148
+ };
149
+ /** The booked patient, when the host could read them. Absent with a
150
+ * `patientId` prop reads "Patient record not loaded". */
151
+ patient?: AppointmentDetailsPatient;
152
+ /** Absent = not permitted. Each figure is gated on its own, in major
153
+ * currency units. `billableAmount`: platform `GetBillableAmountService`
154
+ * (needs accounting_show and doctor_care_plan_show). `unpaidAmount`:
155
+ * platform `getUnpaidAmountByPatient` (needs accounting_show and
156
+ * doctor_bill_show). Leave out a figure the user may not see, rather
157
+ * than sending 0 as the pop-over does. */
158
+ money?: {
159
+ billableAmount?: number;
160
+ unpaidAmount?: number;
161
+ };
162
+ /** The treatments on this appointment: platform
163
+ * `DoctorAppointment::getDoctorCarePlanEntries()`. */
164
+ care?: {
165
+ /** The linked plan (platform `DoctorAppointment.carePlanId`). Without
166
+ * `number` the card shows the plan name alone. */
167
+ plan?: {
168
+ id: string;
169
+ number?: string;
170
+ name: string;
171
+ };
172
+ lines: Array<{
173
+ /** Platform `carePlanEntryId`. */
174
+ entryId: string;
175
+ /** Platform `careId`. */
176
+ careId: string;
177
+ /** Platform `Care.name`. */
178
+ name: string;
179
+ /** Platform `Care.code`. */
180
+ code?: string;
181
+ /** Platform `care_plan_entry_elements_as_string` (the teeth). */
182
+ elementsLabel?: string;
183
+ /** Platform `CarePlanEntry.done`. */
184
+ done: boolean;
185
+ /** At least one bill row for the entry (pop-over `dto.billed`). */
186
+ billed: boolean;
187
+ /** Platform `scheduledCarePhases` for this appointment. */
188
+ phases: string[];
189
+ /** Absent = prices withheld for this viewer. */
190
+ priceCents?: number;
191
+ }>;
192
+ };
193
+ /** What the online booking recorded (platform
194
+ * `DoctorAppointment.booking*`). */
195
+ booking?: {
196
+ /** Platform `bookingFirstName` and `bookingLastName`. */
197
+ typedName?: string;
198
+ /** Platform `bookingPhoneNumber`. */
199
+ phone?: string;
200
+ email?: string;
201
+ /** Platform `bookingNote`. */
202
+ note?: string;
203
+ /** When the booking was made: an instant, with a zone. */
204
+ bookedAtIso?: string;
205
+ /** Platform pop-over `onlinePaidAmount` (the StripePayment amount), in
206
+ * major currency units. */
207
+ paidOnlineAmount?: number;
208
+ };
209
+ /** Documents to sign for this patient. */
210
+ signing?: {
211
+ /** Platform pop-over `numberOfRequiredObjects`. */
212
+ required: number;
213
+ /** Platform pop-over `numberOfRequiredObjectsToSign`. */
214
+ toComplete: number;
215
+ requestedVia?: AppointmentSignChannel;
216
+ /** Platform pop-over `hasAdvancedElectronicSignatureSetup`. */
217
+ aesSetUp: boolean;
218
+ };
219
+ /** The appointment's history, read with the details. Absent = not sent
220
+ * with this read: the History button then follows the panel's `history`
221
+ * prop, and without that too it is withheld. `[]` = nothing recorded
222
+ * yet. */
223
+ history?: AppointmentHistoryEntry[];
224
+ }
225
+ /**
226
+ * The appointment's history when the host reads it on its own, once the
227
+ * History sub-view opens (`onOpenHistory`). Present = the user may read it,
228
+ * so the header offers History whatever this read has reached.
229
+ */
230
+ export interface AppointmentDetailsHistory {
231
+ /** The occurrence these entries answer for. Set it, and an answer for an
232
+ * earlier appointment shows as loading instead of under this one. */
233
+ eventId?: string;
234
+ /** The entries once read, in any order. `[]` = nothing recorded yet. */
235
+ entries?: readonly AppointmentHistoryEntry[];
236
+ /** Absent: 'ready' when `entries` is set, 'loading' when it is not. */
237
+ status?: 'loading' | 'ready' | 'error';
238
+ /** The failure to show on 'error'. Default: the kit's load error. */
239
+ message?: string;
240
+ /** Read again after 'error'. Without it, the error offers no Retry. */
241
+ onRetry?: () => void;
242
+ }
243
+ /** What the panel shows. `ready` carries the read; the other three render
244
+ * the shell: a skeleton, an error with Retry, or a refusal. */
245
+ export type AppointmentDetailsState<T extends AppointmentDetailsRead = AppointmentDetailsRead> = {
246
+ status: 'loading';
247
+ eventId?: string;
248
+ }
249
+ /** `refreshing`: a re-read of the SAME occurrence is in flight. The body
250
+ * stays on screen and is marked busy. */
251
+ | {
252
+ status: 'ready';
253
+ read: T;
254
+ refreshing?: boolean;
255
+ }
256
+ /** A transient failure. `message` defaults to the kit's load error.
257
+ * `eventId`: the occurrence whose read failed, when known. */
258
+ | {
259
+ status: 'error';
260
+ eventId?: string;
261
+ message?: string;
262
+ }
263
+ /** Not visible to this user. Retry only when `retryable`. `eventId`: the
264
+ * occurrence that was refused, when known. */
265
+ | {
266
+ status: 'refused';
267
+ eventId?: string;
268
+ reason: string;
269
+ retryable?: boolean;
270
+ };
271
+ /** One answer from the host's loader. */
272
+ export type AppointmentDetailsSnapshot<T extends AppointmentDetailsRead = AppointmentDetailsRead> = {
273
+ status: 'ready';
274
+ details: T;
275
+ } | {
276
+ status: 'refused';
277
+ reason: string;
278
+ retryable?: boolean;
279
+ };
280
+ /** Reads one occurrence. A rejected promise is a transient failure (error
281
+ * with Retry); the rejection's message is shown when it has one. */
282
+ export type AppointmentDetailsLoader<T extends AppointmentDetailsRead = AppointmentDetailsRead> = (eventId: string, options: {
283
+ signal: AbortSignal;
284
+ }) => Promise<AppointmentDetailsSnapshot<T>>;
285
+ export interface UseAppointmentDetailsReadOptions<T extends AppointmentDetailsRead = AppointmentDetailsRead> {
286
+ /** The occurrence to read. A new id aborts the previous read and shows
287
+ * the skeleton. `null` = no selection: nothing is read, the read in
288
+ * flight is aborted, and `state` is null, so render no panel. */
289
+ eventId: string | null;
290
+ /** Reads one occurrence. The latest function is always the one called,
291
+ * so an inline loader is fine: a new identity alone never reads again.
292
+ * To read again, change `reloadKey`. */
293
+ load: AppointmentDetailsLoader<T>;
294
+ /** Change it after a write made anywhere in the rail, or when the loader
295
+ * now reads from somewhere else: the same occurrence is read again
296
+ * while the current read stays on screen. */
297
+ reloadKey?: string | number;
298
+ }
299
+ /** The operator's label, resolved by the host from
300
+ * `appointment.operatorId`. */
301
+ export interface AppointmentDetailsOperatorLabel {
302
+ name: string;
303
+ avatarSrc?: string;
304
+ }
305
+ /** The chair's label, resolved by the host from `appointment.chairId`. */
306
+ export interface AppointmentDetailsChairLabel {
307
+ name: string;
308
+ }
309
+ /** The patient's latest notes as the host holds them. The panel reads; it
310
+ * never writes a note. They must be the notes of this appointment's
311
+ * patient only: pass `patientId` so the panel can check. */
312
+ export interface AppointmentDetailsNotesPreview {
313
+ /** The patient these notes belong to. Set it, and notes for another
314
+ * patient show as loading, never under this appointment. */
315
+ patientId?: string;
316
+ /** Newest first. The panel shows the first three, pinned first. */
317
+ notes: readonly NotesPanelNote[];
318
+ /** Absent = 'ready'. */
319
+ status?: 'loading' | 'ready' | 'error';
320
+ /** The full count, for "See more (n more)". Absent or null = unknown, and
321
+ * the list length is used once ready. */
322
+ total?: number | null;
323
+ /** Retry after status 'error'. Without it, the error has no Retry. */
324
+ onRetry?: () => void;
325
+ }
326
+ //# sourceMappingURL=appointment-details-panel.types.d.ts.map
@@ -0,0 +1,8 @@
1
+ export { AppointmentDetailsPanel } from './appointment-details-panel';
2
+ export type { AppointmentDetailsPanelProps, AppointmentDetailsPanelHandle, } from './appointment-details-panel';
3
+ export { useAppointmentDetailsRead } from './use-appointment-details-read';
4
+ export type { AppointmentDetailsReadResult } from './use-appointment-details-read';
5
+ export { parseAppointmentStartIso } from '../_shared/appointment-format';
6
+ export type { AppointmentDetailsRead, AppointmentDetailsHistory, AppointmentDetailsPatient, AppointmentDetailsState, AppointmentDetailsSnapshot, AppointmentDetailsLoader, UseAppointmentDetailsReadOptions, AppointmentDetailsNotesPreview, AppointmentDetailsOperatorLabel, AppointmentDetailsChairLabel, AppointmentHistoryEntry, AppointmentHistoryKind, AppointmentHistoryField, AppointmentRecurrenceFrequency, AppointmentSignChannel, AppointmentDocumentKind, AppointmentPhoneNumber, AppointmentPhoneLabel, AppointmentAnamnesisAnswer, } from './appointment-details-panel.types';
7
+ export { appointmentDetailsPanelAgent } from './appointment-details-panel.agent';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,8 @@
1
+ import { A as e, a as n, p, u as s } from "../../_chunks/use-appointment-details-read-D2FH-cHF.js";
2
+ export {
3
+ e as AppointmentDetailsPanel,
4
+ n as appointmentDetailsPanelAgent,
5
+ p as parseAppointmentStartIso,
6
+ s as useAppointmentDetailsRead
7
+ };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,32 @@
1
+ import type { AppointmentDetailsRead, AppointmentDetailsState, UseAppointmentDetailsReadOptions } from './appointment-details-panel.types';
2
+ export interface AppointmentDetailsReadResult<T extends AppointmentDetailsRead = AppointmentDetailsRead> {
3
+ /** Pass as AppointmentDetailsPanel `state`. Null while `eventId` is null:
4
+ * there is no selection, so render no panel. */
5
+ state: AppointmentDetailsState<T> | null;
6
+ /** Pass as AppointmentDetailsPanel `onRetry`: reads the same occurrence
7
+ * again. */
8
+ retry: () => void;
9
+ }
10
+ /**
11
+ * Reads one occurrence so that the latest selection always wins. A new
12
+ * `eventId` aborts the read in flight and shows the skeleton, even for an
13
+ * id shown before; a late answer for an earlier request is dropped. The
14
+ * error and refused states carry the `eventId` they answer. An answer for
15
+ * another appointment, or with an unreadable `startIso`, becomes an error,
16
+ * so the panel never shows one patient's name with another's appointment.
17
+ * A new `reloadKey` reads
18
+ * the same occurrence again while the current read stays on screen
19
+ * (`refreshing`); if that read fails, the panel shows the error rather than
20
+ * going back to the older read. A null `eventId` reads nothing and returns
21
+ * a null `state`.
22
+ *
23
+ * The latest `load` is the one called, so an inline loader never loops:
24
+ * only `eventId`, `reloadKey` and `retry` start a read.
25
+ */
26
+ export declare function useAppointmentDetailsRead<T extends AppointmentDetailsRead = AppointmentDetailsRead>(options: UseAppointmentDetailsReadOptions<T> & {
27
+ eventId: string;
28
+ }): AppointmentDetailsReadResult<T> & {
29
+ state: AppointmentDetailsState<T>;
30
+ };
31
+ export declare function useAppointmentDetailsRead<T extends AppointmentDetailsRead = AppointmentDetailsRead>(options: UseAppointmentDetailsReadOptions<T>): AppointmentDetailsReadResult<T>;
32
+ //# sourceMappingURL=use-appointment-details-read.d.ts.map
@@ -1,4 +1,4 @@
1
- import { A as o } from "../../_chunks/appointment-peek-BsfCpiJs.js";
1
+ import { A as o } from "../../_chunks/appointment-peek--dmWznLZ.js";
2
2
  import { a as n } from "../../_chunks/appointment-peek.agent-C539tNFM.js";
3
3
  export {
4
4
  o as AppointmentPeek,
@@ -1,4 +1,4 @@
1
- import { A as i, a as t } from "../../_chunks/appointment-timeline-Cs5f9viN.js";
1
+ import { A as i, a as t } from "../../_chunks/appointment-timeline-y9uYZMUd.js";
2
2
  export {
3
3
  i as AppointmentTimeline,
4
4
  t as appointmentTimelineAgent
@@ -1,4 +1,4 @@
1
- import { A as r, a } from "../../_chunks/audio-recorder-B7dT-Y3v.js";
1
+ import { A as r, a } from "../../_chunks/audio-recorder-DZBtAvLH.js";
2
2
  export {
3
3
  r as AudioRecorder,
4
4
  a as audioRecorderAgent
@@ -1,4 +1,4 @@
1
- import { A as e, a as o, b as m } from "../../_chunks/autocomplete-MpBhz-fG.js";
1
+ import { A as e, a as o, b as m } from "../../_chunks/autocomplete-DSasZUf6.js";
2
2
  export {
3
3
  e as Autocomplete,
4
4
  o as autocompleteAgent,
@@ -1,4 +1,4 @@
1
- import { B as o } from "../../_chunks/badge-BudgzTe_.js";
1
+ import { B as o } from "../../_chunks/badge-BAkd6_Pj.js";
2
2
  export {
3
3
  o as Badge
4
4
  };
@@ -1,4 +1,4 @@
1
- import { B as O, a as S, b as o, c as B, d as P, e } from "../../_chunks/bishop-score-Cu70iv9C.js";
1
+ import { B as O, a as S, b as o, c as B, d as P, e } from "../../_chunks/bishop-score-BMLRvXYF.js";
2
2
  export {
3
3
  O as BISHOP_COMPONENTS,
4
4
  S as BISHOP_MAX_SCORE,
@@ -1,4 +1,4 @@
1
- import { B as m } from "../../_chunks/bmi-calculator-C9N19aLX.js";
1
+ import { B as m } from "../../_chunks/bmi-calculator-DUhRyyrA.js";
2
2
  import { b as e, a as t, c as r, d as T, e as c, f as i, i as b, k as n, l as f } from "../../_chunks/bmi-BxD-tFzU.js";
3
3
  export {
4
4
  m as BmiCalculator,
@@ -1,4 +1,4 @@
1
- import { B as A, C as R, O as a, b as s } from "../../_chunks/booking-C4MwImkS.js";
1
+ import { B as A, C as R, O as a, b as s } from "../../_chunks/booking-BQYFDcrz.js";
2
2
  export {
3
3
  A as Booking,
4
4
  R as CONFIRMATION_CHANNEL_ORDER,
@@ -1,4 +1,4 @@
1
- import { B as e, a as s, b, c as m, d as c, e as d, f as u } from "../../_chunks/breadcrumb-agut0PwN.js";
1
+ import { B as e, a as s, b, c as m, d as c, e as d, f as u } from "../../_chunks/breadcrumb-D3boYzD4.js";
2
2
  export {
3
3
  e as Breadcrumb,
4
4
  s as BreadcrumbEllipsis,
@@ -20,7 +20,8 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, Va
20
20
  /**
21
21
  * Visually hide the label, leaving the icon(s) and a square footprint.
22
22
  * The children stay in the DOM screen-reader-only, so the accessible
23
- * name is preserved. Ignored with `asChild` (the label is slotted).
23
+ * name is preserved. With `asChild` the slotted element's own children
24
+ * become the hidden label, so a link folds to its icon too.
24
25
  */
25
26
  hideLabel?: boolean;
26
27
  /**
@@ -1,5 +1,5 @@
1
- import { B as r } from "../../_chunks/button-CaUe1uyd.js";
2
- import { I as e } from "../../_chunks/icon-button-CehAeZoP.js";
1
+ import { B as r } from "../../_chunks/button-18oBsI3n.js";
2
+ import { I as e } from "../../_chunks/icon-button-CY7GU_Se.js";
3
3
  import { b as f } from "../../_chunks/button.agent-BuGZBktn.js";
4
4
  export {
5
5
  r as Button,
@@ -1,4 +1,4 @@
1
- import { type HTMLAttributes } from 'react';
1
+ import { type HTMLAttributes, type ReactNode } from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  import type { ButtonProps } from '../button/button';
4
4
  type ButtonIntent = NonNullable<ButtonProps['intent']>;
@@ -6,6 +6,15 @@ declare const buttonGroupVariants: (props?: ({
6
6
  orientation?: "vertical" | "horizontal" | null | undefined;
7
7
  separator?: boolean | null | undefined;
8
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
+ /** One entry of a child's own menu, as More repeats it in a submenu. */
10
+ export interface ButtonGroupOverflowItem {
11
+ label: string;
12
+ icon?: ReactNode;
13
+ onSelect: () => void;
14
+ disabled?: boolean;
15
+ /** Carried onto the menu item as `data-action`. */
16
+ action?: string;
17
+ }
9
18
  export interface ButtonGroupProps extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof buttonGroupVariants> {
10
19
  /**
11
20
  * Accessible label for the group. Falls back to the translated
@@ -50,7 +59,15 @@ export interface ButtonGroupProps extends HTMLAttributes<HTMLDivElement>, Varian
50
59
  * The group then fills its container's inline size, so give it a bounded
51
60
  * parent. Horizontal only. Children needing to stay in the strip set
52
61
  * `data-overflow-pin`; children without a string label or `aria-label`
53
- * cannot be mirrored into the menu and are pinned automatically.
62
+ * cannot be mirrored into the menu and are pinned automatically. When the
63
+ * pinned children alone no longer fit beside the menu, trailing pins that
64
+ * are plain actions (an `onClick`, a link or `overflowItems`) move into
65
+ * it, so it stays reachable. A pin carrying `aria-expanded`,
66
+ * `aria-pressed` or `aria-haspopup`, a pin with no action, and a child
67
+ * set to `data-overflow-pin="always"` never move. A link child (`asChild`
68
+ * over an `<a href>`) becomes an item that clicks the host's own link, so
69
+ * its handler, target and download apply; a child with `overflowItems`
70
+ * and a string label or `aria-label` becomes a submenu.
54
71
  */
55
72
  overflow?: 'none' | 'menu';
56
73
  /**
@@ -1,4 +1,4 @@
1
- import { B as t } from "../../_chunks/button-group-CA1tmu39.js";
1
+ import { B as t } from "../../_chunks/button-group-BSDqso_C.js";
2
2
  export {
3
3
  t as ButtonGroup
4
4
  };
@@ -458,7 +458,11 @@ export interface CalendarProps {
458
458
  datesAboveResources?: boolean;
459
459
  /** Allow overlapping events in the same slot. */
460
460
  slotEventOverlap?: boolean;
461
- /** Keep date headers pinned during scroll. */
461
+ /**
462
+ * Keep date headers pinned during scroll. The kit overrides a host sheet
463
+ * that clips `.fc-view` or its table, so the header, the list view's day
464
+ * headings and the timeline's footer scrollbar still stick there.
465
+ */
462
466
  stickyHeaderDates?: boolean;
463
467
  /** Show a now-indicator line on time-grid views. */
464
468
  nowIndicator?: boolean;
@@ -1,4 +1,4 @@
1
- import { C as r, c as l, r as n } from "../../_chunks/calendar-OzSeTb4V.js";
1
+ import { C as r, c as l, r as n } from "../../_chunks/calendar-DjoJ9ovF.js";
2
2
  export {
3
3
  r as Calendar,
4
4
  l as calendarAgent,
@@ -1,4 +1,4 @@
1
- import { C as e } from "../../_chunks/calendar-event-card-B6N5h1dO.js";
1
+ import { C as e } from "../../_chunks/calendar-event-card-BUbKBPv_.js";
2
2
  export {
3
3
  e as CalendarEventCard
4
4
  };
@@ -1,4 +1,4 @@
1
- import { C as e, c as C } from "../../_chunks/care-plan-card-BOv0NRle.js";
1
+ import { C as e, c as C } from "../../_chunks/care-plan-card-ciBaaguw.js";
2
2
  export {
3
3
  e as CarePlanCard,
4
4
  C as carePlanCardAgent
@@ -1,4 +1,4 @@
1
- import { C as n, c as e } from "../../_chunks/care-plan-entry-card-d-rZD4li.js";
1
+ import { C as n, c as e } from "../../_chunks/care-plan-entry-card-D7A0whiZ.js";
2
2
  export {
3
3
  n as CarePlanEntryCard,
4
4
  e as carePlanEntryCardAgent
@@ -1,4 +1,4 @@
1
- import { C as r, c as n } from "../../_chunks/care-plan-header-CEmBXn6-.js";
1
+ import { C as r, c as n } from "../../_chunks/care-plan-header-DKV1gLqv.js";
2
2
  export {
3
3
  r as CarePlanHeader,
4
4
  n as carePlanHeaderAgent
@@ -1,4 +1,4 @@
1
- import { C as o, c as r } from "../../_chunks/carousel.agent-z1yLBpyC.js";
1
+ import { C as o, c as r } from "../../_chunks/carousel.agent-DqDGR2yH.js";
2
2
  export {
3
3
  o as Carousel,
4
4
  r as carouselAgent
@@ -1,4 +1,4 @@
1
- import { C as t, c as s, a as c } from "../../_chunks/chart-D8ucl8hH.js";
1
+ import { C as t, c as s, a as c } from "../../_chunks/chart-VjuXDXOZ.js";
2
2
  export {
3
3
  t as Chart,
4
4
  s as chartAgent,
@@ -1,4 +1,4 @@
1
- import { C as n, c as p } from "../../_chunks/chat-input-Cj7ZYQr5.js";
1
+ import { C as n, c as p } from "../../_chunks/chat-input-BVho_SqP.js";
2
2
  export {
3
3
  n as ChatInput,
4
4
  p as chatInputAgent
@@ -1,4 +1,4 @@
1
- import { C as s } from "../../_chunks/chat-message-BMVxiUIX.js";
1
+ import { C as s } from "../../_chunks/chat-message-Co_NRGM4.js";
2
2
  export {
3
3
  s as ChatMessage
4
4
  };
@@ -1,4 +1,4 @@
1
- import { C as p, c as a } from "../../_chunks/city-input-DaQc-Hbj.js";
1
+ import { C as p, c as a } from "../../_chunks/city-input-BGYc4lRV.js";
2
2
  export {
3
3
  p as CityInput,
4
4
  a as cityInputAgent
@@ -69,11 +69,6 @@ export interface ClinicalNoteCardProps extends Omit<HTMLAttributes<HTMLDivElemen
69
69
  pinned?: boolean;
70
70
  /** Flag the note for follow-up / attention — shows a "Flagged" chip. */
71
71
  flagged?: boolean;
72
- /**
73
- * When provided, the pinned chip becomes an `aria-pressed` toggle button so
74
- * the note can be (un)pinned in place — the pin glyph fills and tints to the
75
- * accent when pinned (no button fill). Omit for a static, display-only card.
76
- */
77
72
  /**
78
73
  * Host-owned actions for this note (edit, delete, share …), rendered
79
74
  * beside the pin and flag. They belong in the same cluster: a reader
@@ -81,9 +76,22 @@ export interface ClinicalNoteCardProps extends Omit<HTMLAttributes<HTMLDivElemen
81
76
  * in one place, not some in the card and the rest below it.
82
77
  */
83
78
  headerActions?: ReactNode;
79
+ /**
80
+ * When provided, the pinned chip becomes an `aria-pressed` toggle button so
81
+ * the note can be (un)pinned in place — the pin glyph fills and tints to the
82
+ * accent when pinned (no button fill). Omit for a static, display-only card.
83
+ */
84
84
  onTogglePin?: () => void;
85
85
  /** As `onTogglePin`, for the flagged state (warning-tinted when flagged). */
86
86
  onToggleFlag?: () => void;
87
+ /**
88
+ * A pin write is in flight. The toggle keeps showing `pinned`, is
89
+ * `aria-disabled`, dims and ignores clicks until the host answers. Only
90
+ * with `onTogglePin`.
91
+ */
92
+ pinPending?: boolean;
93
+ /** As `pinPending`, for the flag toggle. */
94
+ flagPending?: boolean;
87
95
  /**
88
96
  * Clamp the rendered body to five lines. When the body is taller than the
89
97
  * clamp, a "Read more" / "Read less" disclosure toggles the full text in
@@ -1,4 +1,4 @@
1
- import { C as e, c as i } from "../../_chunks/clinical-note-card-DdsGYMmI.js";
1
+ import { C as e, c as i } from "../../_chunks/clinical-note-card-DYDQ3q2x.js";
2
2
  export {
3
3
  e as ClinicalNoteCard,
4
4
  i as clinicalNoteCardAgent