@alfadocs/ui-kit 1.50.1 → 1.52.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 (597) hide show
  1. package/dist/_chunks/{actions-cell-renderer-DMittsR3.js → actions-cell-renderer-DhmUGzRY.js} +5 -5
  2. package/dist/_chunks/{address-autocomplete-Dp5uMvKP.js → address-autocomplete-BVLoHU3E.js} +3 -3
  3. package/dist/_chunks/{address-fields-QfC-N3pw.js → address-fields-UiEXHxEX.js} +9 -9
  4. package/dist/_chunks/{agenda-card-CjjxlA9K.js → agenda-card-CakEvwnM.js} +4 -4
  5. package/dist/_chunks/{agenda-tray-BhZASyJm.js → agenda-tray-C-_iu6Fo.js} +5 -5
  6. package/dist/_chunks/{ai-credits-notice-C-kz_RrY.js → ai-credits-notice-Da0fJPXO.js} +5 -5
  7. package/dist/_chunks/{ai-permission-notice-BRZeS3mT.js → ai-permission-notice-C5q_uHBA.js} +7 -7
  8. package/dist/_chunks/{ai-prompt-input-CxvnXsAs.js → ai-prompt-input-IObcUWqB.js} +5 -5
  9. package/dist/_chunks/{alert-CiQ5Pa3Q.js → alert-BhCstf2h.js} +3 -3
  10. package/dist/_chunks/{alia-sidebar-Dx-oeOV2.js → alia-sidebar-DyQMsyiz.js} +23 -23
  11. package/dist/_chunks/{anamnesis-card-D8Si-2GV.js → anamnesis-card-D4RWzQXP.js} +5 -5
  12. package/dist/_chunks/{anamnesis-summary-card-DPyScUMM.js → anamnesis-summary-card-Bv0CZ-mk.js} +3 -3
  13. package/dist/_chunks/anamnesis-summary-rows-DaSoA80I.js +20926 -0
  14. package/dist/_chunks/{annotation-marker-CsUJGZjQ.js → annotation-marker-D-M7y4R1.js} +2 -2
  15. package/dist/_chunks/{antenatal-schedule-timeline-8fm3vPSV.js → antenatal-schedule-timeline-BZzgjfyd.js} +13 -13
  16. package/dist/_chunks/{app-frame-DIEMIC5V.js → app-frame-Cos-GSfw.js} +5 -5
  17. package/dist/_chunks/{appointment-card-BgLpE6T5.js → appointment-card-CA2ynsmN.js} +8 -8
  18. package/dist/_chunks/{appointment-peek-Dk11UOVW.js → appointment-peek-DpPzeYXm.js} +6 -6
  19. package/dist/_chunks/{appointment-timeline-wQ-PdkFV.js → appointment-timeline-BZErHbD1.js} +7 -7
  20. package/dist/_chunks/{appointment-tray-D7Gt6m8x.js → appointment-tray-DR_Zm4Gw.js} +10 -10
  21. package/dist/_chunks/{appointment-workflow-status-CS8ufF1f.js → appointment-workflow-status-DrWCNLbB.js} +2 -2
  22. package/dist/_chunks/{ar-BR1FGFP2.js → ar-pLopgMbL.js} +12 -12
  23. package/dist/_chunks/{audio-recorder-DZBtAvLH.js → audio-recorder-BafA28cX.js} +7 -7
  24. package/dist/_chunks/{audio-visualiser-l6zPd0AG.js → audio-visualiser-CK2JyQW1.js} +2 -2
  25. package/dist/_chunks/{autocomplete-DSasZUf6.js → autocomplete-IfLaXwyb.js} +3 -3
  26. package/dist/_chunks/{avatar-BVvjKNTp.js → avatar-DYtwj1-R.js} +2 -2
  27. package/dist/_chunks/{badge-BAkd6_Pj.js → badge-hnBt8o7n.js} +6 -6
  28. package/dist/_chunks/{balance-badge-cell-klaxFNL_.js → balance-badge-cell-CS-iKkLM.js} +8 -8
  29. package/dist/_chunks/{bishop-score-BMLRvXYF.js → bishop-score-BfDsm9HH.js} +6 -6
  30. package/dist/_chunks/{bmi-calculator-DUhRyyrA.js → bmi-calculator-BNtmMzQy.js} +6 -6
  31. package/dist/_chunks/{booking-Cdzd8kyY.js → booking-DP543-BT.js} +43 -42
  32. package/dist/_chunks/{breadcrumb-D3boYzD4.js → breadcrumb-xgVpPH2H.js} +4 -4
  33. package/dist/_chunks/{button-18oBsI3n.js → button-CYPx2xFq.js} +38 -36
  34. package/dist/_chunks/{button-group-BSDqso_C.js → button-group-DnSR6eN6.js} +30 -30
  35. package/dist/_chunks/{calculator-dialog-C0ixc3SU.js → calculator-dialog-BRjZMWuE.js} +2 -2
  36. package/dist/_chunks/calendar-BwF5nQuW.js +1469 -0
  37. package/dist/_chunks/{calendar-event-card-DyFSIehr.js → calendar-event-card-DXAYWH6k.js} +2 -2
  38. package/dist/_chunks/calendar-workspace-B9MKJXER.js +10608 -0
  39. package/dist/_chunks/{care-plan-card-ciBaaguw.js → care-plan-card-BanlKJZn.js} +8 -8
  40. package/dist/_chunks/{care-plan-entry-card-D7A0whiZ.js → care-plan-entry-card-ByqT84_P.js} +9 -9
  41. package/dist/_chunks/{care-plan-header-DKV1gLqv.js → care-plan-header-BwfUHMgM.js} +6 -6
  42. package/dist/_chunks/{carousel.agent-DqDGR2yH.js → carousel.agent-WKODAYVw.js} +6 -6
  43. package/dist/_chunks/{chart-VjuXDXOZ.js → chart-CuE30cfr.js} +4 -4
  44. package/dist/_chunks/{chat-container-CYYego1W.js → chat-container-CAfyTxat.js} +3 -3
  45. package/dist/_chunks/{chat-input-BVho_SqP.js → chat-input-DA10w969.js} +3 -3
  46. package/dist/_chunks/{chat-message-B4ihjNy3.js → chat-message-DoMjMa-M.js} +6 -6
  47. package/dist/_chunks/{checkbox-group-DomUzpkF.js → checkbox-group-C7czpHmJ.js} +2 -2
  48. package/dist/_chunks/{city-input-BGYc4lRV.js → city-input-CAnTVgBZ.js} +10 -10
  49. package/dist/_chunks/{clinical-note-card-B7s5BtEl.js → clinical-note-card-kvlUrmP-.js} +6 -6
  50. package/dist/_chunks/{code-block-C_eNHWaa.js → code-block-NtHjtagI.js} +6 -6
  51. package/dist/_chunks/{color-picker-Bl5f0iK1.js → color-picker-Yl99lHuF.js} +3 -3
  52. package/dist/_chunks/{combobox-B_rLwmSv.js → combobox-Iel8y3u6.js} +2 -2
  53. package/dist/_chunks/{command-palette-DhgGo7GJ.js → command-palette-D9TBzmOG.js} +4 -4
  54. package/dist/_chunks/{connection-status-Cfux3TvH.js → connection-status-Dz8o-Fui.js} +5 -5
  55. package/dist/_chunks/{contact-card-0hnFJwrz.js → contact-card-D2gXrxlL.js} +12 -12
  56. package/dist/_chunks/{contact-profile-card-Dj4NgBL-.js → contact-profile-card-B7cXr8g5.js} +5 -5
  57. package/dist/_chunks/{control-room-rail-DAO0qfOI.js → control-room-rail-B446rHSL.js} +4 -4
  58. package/dist/_chunks/{copy-field-Cm4y5Bff.js → copy-field-CiIuVbKe.js} +3 -3
  59. package/dist/_chunks/{country-select-C5jZjO8O.js → country-select-BYa4BrEi.js} +3 -3
  60. package/dist/_chunks/{cycle-calculator-B9lBRNiZ.js → cycle-calculator-D_5f9VSN.js} +10 -10
  61. package/dist/_chunks/{dashboard-grid-uX7x1ePj.js → dashboard-grid-DWNP02Ff.js} +4 -4
  62. package/dist/_chunks/data-table-DJvEwZZx.js +1989 -0
  63. package/dist/_chunks/{data-table-tabs-CzYYKp2_.js → data-table-tabs-Dc6zvoI_.js} +6 -6
  64. package/dist/_chunks/{date-picker-6tFnKFty.js → date-picker-p9yz3pxc.js} +83 -80
  65. package/dist/_chunks/{date-picker-variants-B9NLAfUK.js → date-picker-variants-B3AFKDSu.js} +706 -658
  66. package/dist/_chunks/{date-range-picker-TpmECKRh.js → date-range-picker-DIy8gNY0.js} +153 -150
  67. package/dist/_chunks/{date-time-picker-DijEae25.js → date-time-picker-C3UVzqOm.js} +86 -77
  68. package/dist/_chunks/{de-3iM4rGqo.js → de-lVkJRPnh.js} +5 -5
  69. package/dist/_chunks/{dependent-selector-58hTg5rB.js → dependent-selector-CPiolWiw.js} +4 -4
  70. package/dist/_chunks/{description-list-1A2DEbE6.js → description-list-9rchqp5q.js} +3 -3
  71. package/dist/_chunks/{dialog-BJiLqhx6.js → dialog-D52AI4nF.js} +2 -2
  72. package/dist/_chunks/{document-preview-Od2Hz4z5.js → document-preview-1CZJg6CX.js} +6 -6
  73. package/dist/_chunks/{document-scanner-p0aGlzCy.js → document-scanner-T5jHiraQ.js} +5 -5
  74. package/dist/_chunks/dropdown-menu-B5mgV1kV.js +594 -0
  75. package/dist/_chunks/{due-date-calculator-BVqJaxzd.js → due-date-calculator-iJXm6HOj.js} +11 -11
  76. package/dist/_chunks/{editable-currency-cell-renderer-D_G2Ap61.js → editable-currency-cell-renderer-DdMHme5y.js} +9 -9
  77. package/dist/_chunks/{editable-description-B4NVdjvd.js → editable-description-Cy3AZ5K2.js} +4 -4
  78. package/dist/_chunks/{editor-overlay-BDiBvQmL.js → editor-overlay-C0awV6ba.js} +3 -3
  79. package/dist/_chunks/{el-C96rGJvU.js → el-CHzxNWPj.js} +6 -6
  80. package/dist/_chunks/{email-input-Dpe63k0K.js → email-input-ebdovOmh.js} +3 -3
  81. package/dist/_chunks/{empty-state-DTBZ1ENT.js → empty-state-DActfjdn.js} +3 -3
  82. package/dist/_chunks/en-GB-CwxYmmhU.js +45 -0
  83. package/dist/_chunks/{entity-summary-CFJfBdVP.js → entity-summary-oW3_jFhU.js} +8 -8
  84. package/dist/_chunks/{error-boundary-BxTqEXqj.js → error-boundary--w5hYiQ-.js} +3 -3
  85. package/dist/_chunks/{es-Cxiqjx8r.js → es-Ck-oxbHW.js} +8 -8
  86. package/dist/_chunks/{face-scheme-fku-RShg.js → face-scheme-Dg7KcbW2.js} +11 -11
  87. package/dist/_chunks/{fetal-weight-B69yOS9W.js → fetal-weight-BoIkl2t1.js} +6 -6
  88. package/dist/_chunks/{field-array-lIXrFWS0.js → field-array-BF2nCmvt.js} +4 -4
  89. package/dist/_chunks/{file-manager-C6QQPQV5.js → file-manager-BGHShxn_.js} +21 -21
  90. package/dist/_chunks/{file-upload-B242a_Y1.js → file-upload-OMlGHz70.js} +2 -2
  91. package/dist/_chunks/{finished-terminal-B2oqXO0Y.js → finished-terminal-BguGAUdg.js} +3 -3
  92. package/dist/_chunks/{fiscal-code-input-BEF8eKIG.js → fiscal-code-input-CuuE8_dt.js} +3 -3
  93. package/dist/_chunks/{floating-action-button-pojvb9gG.js → floating-action-button-BesoUmO_.js} +6 -6
  94. package/dist/_chunks/{form-field-CahJzTxp.js → form-field-YUJl_U5l.js} +2 -2
  95. package/dist/_chunks/{format-4HNwNGrN.js → format-D-1gTdHF.js} +47 -43
  96. package/dist/_chunks/{fr-Bhr6SYKj.js → fr-fWRnDcSD.js} +13 -13
  97. package/dist/_chunks/{freemium-paywall-B6JITu4l.js → freemium-paywall-BhxKSEJD.js} +5 -5
  98. package/dist/_chunks/{gestational-age-calculator-DsGN6_HS.js → gestational-age-calculator-CjZ7v-8x.js} +13 -13
  99. package/dist/_chunks/{hcg-doubling-D2SH-e7t.js → hcg-doubling-BYMogA0e.js} +15 -15
  100. package/dist/_chunks/{header-CCjp5GvE.js → header-CzJbtTGQ.js} +5 -5
  101. package/dist/_chunks/header-settings-BqdBe4zk.js +305 -0
  102. package/dist/_chunks/{help-me-write-templates-DQtT1qs_.js → help-me-write-templates-CGCyhAVE.js} +17 -17
  103. package/dist/_chunks/{hi-BxXX26d_.js → hi-B5uX0h3V.js} +14 -14
  104. package/dist/_chunks/{hover-card-BplP5SzQ.js → hover-card-DEMPFs9M.js} +3 -3
  105. package/dist/_chunks/{iban-input-DXIA8Ln_.js → iban-input-D88HRGZo.js} +2 -2
  106. package/dist/_chunks/{icon-button-CY7GU_Se.js → icon-button-JAXAkqWC.js} +2 -2
  107. package/dist/_chunks/{icon-button-group-B_426QN_.js → icon-button-group-DHRz90jY.js} +4 -4
  108. package/dist/_chunks/{icon-picker-ZLebyB0U.js → icon-picker-C5Fhx1-3.js} +5 -5
  109. package/dist/_chunks/{image-cropper-_HiNN79d.js → image-cropper-CNBGkG7P.js} +3 -3
  110. package/dist/_chunks/{info-tip-laBxZhKu.js → info-tip-DfmEvyAF.js} +3 -3
  111. package/dist/_chunks/{insert-result-CSuPQyKL.js → insert-result-BuWQl11Z.js} +3 -3
  112. package/dist/_chunks/intl-locale-CXM-B8EP.js +16 -0
  113. package/dist/_chunks/{isSameWeek-B73MagWB.js → isSameWeek-u81Z-J7h.js} +2 -2
  114. package/dist/_chunks/{it-Xmjomvyj.js → it-DBoNIelY.js} +17 -17
  115. package/dist/_chunks/{ja-mfZvt1ZV.js → ja-Du8gfg8p.js} +6 -6
  116. package/dist/_chunks/{kbd-D855ZXIW.js → kbd-BLovyx1R.js} +2 -2
  117. package/dist/_chunks/{key-value-pair-Dcdl3Gni.js → key-value-pair-DZH8ESsc.js} +3 -3
  118. package/dist/_chunks/{kit-extensions-BTJSnM_H.js → kit-extensions-CF5mDF_Z.js} +6 -6
  119. package/dist/_chunks/{link-CPb_pZPr.js → link-BlVUIKk1.js} +2 -2
  120. package/dist/_chunks/{link-cell-renderer-CkNbUsBM.js → link-cell-renderer-DvcbSHyp.js} +12 -12
  121. package/dist/_chunks/{list-DgE1xWBM.js → list-RRN2TJ_7.js} +2 -2
  122. package/dist/_chunks/{locale-picker-DGkQmhV9.js → locale-picker-DYDppQdZ.js} +218 -213
  123. package/dist/_chunks/{map-view-Bb7ClKSF.js → map-view-CmNGS6Ok.js} +4 -4
  124. package/dist/_chunks/{marketplace-app-shell-1uKqs4gD.js → marketplace-app-shell-rd1bSSm4.js} +137 -128
  125. package/dist/_chunks/{message-card-C2zsvyj0.js → message-card-Dub3790J.js} +6 -6
  126. package/dist/_chunks/{message-tray-CMlmxdH2.js → message-tray-CTd6CsnG.js} +6 -6
  127. package/dist/_chunks/{money-BXLBIRVO.js → money-GypsuFk2.js} +2 -2
  128. package/dist/_chunks/{multi-select-N4Smh-gj.js → multi-select-Bx0_cgPI.js} +2 -2
  129. package/dist/_chunks/{muscle-scheme-Co0NIgbU.js → muscle-scheme-X2bdmsQt.js} +4 -4
  130. package/dist/_chunks/{nav-grid-gRudLsPX.js → nav-grid-BnY0Ilet.js} +2 -2
  131. package/dist/_chunks/{navigation-menu-D3VndouD.js → navigation-menu-DbaSlvdO.js} +25 -25
  132. package/dist/_chunks/{nl-DDs-KEnD.js → nl-BCBwxYi8.js} +9 -9
  133. package/dist/_chunks/{note-attachment-CGjNTrAC.js → note-attachment-CpPRIfSn.js} +4 -4
  134. package/dist/_chunks/{note-timeline-CVnKL0p6.js → note-timeline-CZUmobcn.js} +3 -3
  135. package/dist/_chunks/{notes-panel-xxpFt-I1.js → notes-panel-CPfxz-1j.js} +10 -10
  136. package/dist/_chunks/{notification-card-DDzBCi8l.js → notification-card-B39g86vM.js} +13 -13
  137. package/dist/_chunks/{notification-tray-PnH2PBlZ.js → notification-tray-WsP7c1jf.js} +6 -6
  138. package/dist/_chunks/{number-input-Cgu2TtA8.js → number-input-BLrx3utH.js} +2 -2
  139. package/dist/_chunks/{operator-hero-DyrNLoRO.js → operator-hero-BnBPxwOi.js} +10 -10
  140. package/dist/_chunks/{optical-prescription-DUufWXfZ.js → optical-prescription-x--Rpmmx.js} +6 -6
  141. package/dist/_chunks/{otp-input-DzBQ-CpE.js → otp-input-Dz8WMg4F.js} +2 -2
  142. package/dist/_chunks/{pagination-B0N2qGy_.js → pagination-CzEkpfti.js} +6 -6
  143. package/dist/_chunks/{panel-subview-CzHutkA8.js → panel-subview-DAY-ToM3.js} +2 -2
  144. package/dist/_chunks/{parse-DPqj4JtD.js → parse-DeDYl04y.js} +32 -32
  145. package/dist/_chunks/{parseISO-fOGpHKXm.js → parseISO-y3LncvfO.js} +2 -2
  146. package/dist/_chunks/{patient-details-tTlvrJSU.js → patient-details-BSAMAd3I.js} +6 -6
  147. package/dist/_chunks/{patient-field-row-DElFbpKc.js → patient-field-row-dUF2cW2G.js} +288 -268
  148. package/dist/_chunks/{patient-search-DgXdGkhK.js → patient-search-CXl0FNfN.js} +14 -14
  149. package/dist/_chunks/{patient-summary-card-DQ__6DR-.js → patient-summary-card-DF-Mxcma.js} +10 -10
  150. package/dist/_chunks/{payment-automation-upsell-ugi4np1l.js → payment-automation-upsell-DNiraNhF.js} +6 -6
  151. package/dist/_chunks/{payment-form-DqJFiplX.js → payment-form-DxsjXYHJ.js} +6 -6
  152. package/dist/_chunks/{payment-request-card-DMJB57Tv.js → payment-request-card-BFsmHLtf.js} +8 -8
  153. package/dist/_chunks/{pdf-viewer-DUKdn5iq.js → pdf-viewer-hzfM5pZf.js} +6 -6
  154. package/dist/_chunks/{periodontal-chart-DbGzKDj7.js → periodontal-chart-Bvii6uOg.js} +3 -3
  155. package/dist/_chunks/{periodontal-chart-card-DvHyP47v.js → periodontal-chart-card-DTbvFQO7.js} +4 -4
  156. package/dist/_chunks/{periodontal-diagnosis-B8WqI0eU.js → periodontal-diagnosis-BqEo0usu.js} +3 -3
  157. package/dist/_chunks/{periodontal-risk-chart-DsFRFFSz.js → periodontal-risk-chart-C1Y5f-md.js} +3 -3
  158. package/dist/_chunks/{permission-matrix-VdAXjjHU.js → permission-matrix-DHKECaNW.js} +3 -3
  159. package/dist/_chunks/{phone-input-sQj-zi59.js → phone-input-opMMHkyh.js} +2 -2
  160. package/dist/_chunks/{pl-BYYMnEWP.js → pl-HwLM6gPs.js} +7 -7
  161. package/dist/_chunks/{popover-Dvb40vPH.js → popover-CGYPYIVi.js} +3 -3
  162. package/dist/_chunks/{position-grid-CcvqHaKN.js → position-grid-D2D5_Tze.js} +2 -2
  163. package/dist/_chunks/{postal-code-input-BznBxVxf.js → postal-code-input-Dv02t5MD.js} +3 -3
  164. package/dist/_chunks/{practice-profile-hero-B-WcJYNH.js → practice-profile-hero-Bc3AyBiM.js} +4 -4
  165. package/dist/_chunks/{practice-results-EKRiqWtQ.js → practice-results-DjhcggtZ.js} +29 -29
  166. package/dist/_chunks/{pregnancy-dating-lfjjZVZH.js → pregnancy-dating-CcPxK3S3.js} +14 -14
  167. package/dist/_chunks/{pregnancy-weight-gain-WpNt-S0q.js → pregnancy-weight-gain-tGbbravi.js} +6 -6
  168. package/dist/_chunks/{privacy-lock-D6gq0GDg.js → privacy-lock-Bh4O7Y7g.js} +17 -17
  169. package/dist/_chunks/{privacy-mask-BC5lw2zB.js → privacy-mask-noG15O9q.js} +24 -24
  170. package/dist/_chunks/{product-hub-panel-CKeSCSeE.js → product-hub-panel-BmBzDba9.js} +24 -24
  171. package/dist/_chunks/{progress-CK8otcQ-.js → progress-TIAsNHQW.js} +4 -4
  172. package/dist/_chunks/{province-select-BiszMRRY.js → province-select-BZtM0RSR.js} +3 -3
  173. package/dist/_chunks/{pt-BSPnVrQ7.js → pt-BxhT5ZQH.js} +10 -10
  174. package/dist/_chunks/{public-footer.agent-BKkK3T3V.js → public-footer.agent-CVYmHY94.js} +4 -4
  175. package/dist/_chunks/{public-header.agent-B9wDmUeB.js → public-header.agent-1mcrQqIM.js} +4 -4
  176. package/dist/_chunks/{qr-code-DOJs4suh.js → qr-code-C3m9o7om.js} +2 -2
  177. package/dist/_chunks/{radiograph-panel.agent-TmyIvTOa.js → radiograph-panel.agent-BP71J_VB.js} +14 -14
  178. package/dist/_chunks/{rating-BYbUowdK.js → rating-C1Vrmpsi.js} +2 -2
  179. package/dist/_chunks/{recaptcha-widget-BC-4To9b.js → recaptcha-widget-BNAeSTCo.js} +2 -2
  180. package/dist/_chunks/{resizable-DVGcfOrk.js → resizable-BKkNmZCl.js} +2 -2
  181. package/dist/_chunks/resource-chip-DQeCJzJf.js +143 -0
  182. package/dist/_chunks/{reviews-panel-BdwFp_0c.js → reviews-panel-DDb_t7vy.js} +8 -8
  183. package/dist/_chunks/rich-text-editor-C7N4Cem6.js +4231 -0
  184. package/dist/_chunks/{ro-BbiylGmG.js → ro-Do9W55ae.js} +2 -2
  185. package/dist/_chunks/{ru-BX_qsV67.js → ru-PDBX5gdf.js} +13 -13
  186. package/dist/_chunks/{search-bar-6bHatpYJ.js → search-bar-Blq_QeSe.js} +4 -4
  187. package/dist/_chunks/{search-input-B7GmlPIE.js → search-input-DfsAu3P2.js} +4 -4
  188. package/dist/_chunks/{select-upNAltly.js → select-Br88h070.js} +2 -2
  189. package/dist/_chunks/{session-countdown-ACJyTXH2.js → session-countdown-DWUVDDox.js} +4 -4
  190. package/dist/_chunks/{sheet-D0Lh0KR2.js → sheet-BE6oi30q.js} +3 -3
  191. package/dist/_chunks/{sidebar-DbZXLl8h.js → sidebar-2GBc0ZUa.js} +7 -7
  192. package/dist/_chunks/{sign-document-CRQuAn4W.js → sign-document-Buw-zC_7.js} +4 -4
  193. package/dist/_chunks/{sign-in-with-alfadocs-button-CDyJAIzW.js → sign-in-with-alfadocs-button-Bd4VPGQh.js} +4 -4
  194. package/dist/_chunks/{signature-capture-D6ut9_IR.js → signature-capture-F6KViBF_.js} +2 -2
  195. package/dist/_chunks/{signature-field-0rFODJlW.js → signature-field-DBIGiY-J.js} +3 -3
  196. package/dist/_chunks/{signature-request-BUGeG8oD.js → signature-request-DqZkn-iB.js} +156 -156
  197. package/dist/_chunks/{signature-status-chip-Dz6sS2oA.js → signature-status-chip-DP3qRijv.js} +3 -3
  198. package/dist/_chunks/{skip-link-BaSMtPwB.js → skip-link-BOQzBUVb.js} +2 -2
  199. package/dist/_chunks/{slider-DN1CWkKB.js → slider-BRq2lL-l.js} +2 -2
  200. package/dist/_chunks/{slot-grid-4fWH3Euk.js → slot-grid-Bkg9MVXP.js} +7 -7
  201. package/dist/_chunks/{smart-date-CsPlilQA.js → smart-date-pYK6WmM_.js} +2 -2
  202. package/dist/_chunks/{social-sign-in-button-dlpPI5l7.js → social-sign-in-button-Bb2UQpsA.js} +8 -8
  203. package/dist/_chunks/{sparkline-Dx_sxK3J.js → sparkline-ZOxMBU76.js} +3 -3
  204. package/dist/_chunks/{spinner-hbwuKwMf.js → spinner-DxjSZLD-.js} +2 -2
  205. package/dist/_chunks/{sq-i9UOk4P7.js → sq-DnvsgyIh.js} +6 -6
  206. package/dist/_chunks/{stat-Bs80Z6Yv.js → stat-Ce9ymEKm.js} +3 -3
  207. package/dist/_chunks/{stepper-accordion-jMR8NaOB.js → stepper-accordion-BPNS6J6B.js} +2 -2
  208. package/dist/_chunks/{stepper-progress-Bv0njx4g.js → stepper-progress-D6H8wQiV.js} +2 -2
  209. package/dist/_chunks/{streaming-text-eRiizArc.js → streaming-text-D0IJeRBg.js} +2 -2
  210. package/dist/_chunks/subDays-XBMBTVOO.js +8 -0
  211. package/dist/_chunks/{suggestion-chip-Bk4PmYTg.js → suggestion-chip-BNRWZL51.js} +2 -2
  212. package/dist/_chunks/{sv-CpTdtmDQ.js → sv-CpFSK8xS.js} +4 -4
  213. package/dist/_chunks/{switch-OILsBLWo.js → switch-DXGD2Drz.js} +2 -2
  214. package/dist/_chunks/{tab-bar-BHFf6knq.js → tab-bar-DRKiomgj.js} +4 -4
  215. package/dist/_chunks/tabs-DLXVEDsa.js +413 -0
  216. package/dist/_chunks/{tag-B65tLWvD.js → tag-CS5cXpfx.js} +2 -2
  217. package/dist/_chunks/{task-card-jaOhnj_q.js → task-card-CngF4Zee.js} +3 -3
  218. package/dist/_chunks/{task-editor-DlvTwAfv.js → task-editor-Dz93rRXg.js} +18 -18
  219. package/dist/_chunks/{task-tray-HHyxi9ga.js → task-tray-CB6_BvH9.js} +5 -5
  220. package/dist/_chunks/{tasks-panel-DbSjq_mz.js → tasks-panel-DHAoTQtR.js} +11 -11
  221. package/dist/_chunks/{text-area-Bt3p7Pt0.js → text-area-Cjtw7mna.js} +2 -2
  222. package/dist/_chunks/{text-input-CUvCb6ST.js → text-input-CLaItY93.js} +2 -2
  223. package/dist/_chunks/{theme-toggle-LUBxlNDm.js → theme-toggle-Byg0x2vB.js} +10 -10
  224. package/dist/_chunks/{time-picker-D0RS391l.js → time-picker-BG7G3ujX.js} +2 -2
  225. package/dist/_chunks/{timeline-ChY7iZrs.js → timeline-CVLjybJ3.js} +4 -4
  226. package/dist/_chunks/{timestamp-BV2lC-wV.js → timestamp-DPLDWdxA.js} +2 -2
  227. package/dist/_chunks/{toast-CT8hjr9r.js → toast-6wbpghjF.js} +3 -3
  228. package/dist/_chunks/{token-insert-menu-klwbxVKh.js → token-insert-menu-DgtBIbNu.js} +3 -3
  229. package/dist/_chunks/{tool-rail-DEeX4PdN.js → tool-rail-CXcLzxPb.js} +4 -4
  230. package/dist/_chunks/{tooth-finding-palette-vqC-D2Ye.js → tooth-finding-palette-DNQ3G2Tz.js} +2 -2
  231. package/dist/_chunks/{tooth-scheme-BkjhkI8g.js → tooth-scheme-BLbwUVer.js} +663 -718
  232. package/dist/_chunks/{tr-DXG2QN1K.js → tr-DW4oQYHT.js} +5 -5
  233. package/dist/_chunks/{transaction-chip-CwgcJiqF.js → transaction-chip-CohY6sTA.js} +6 -6
  234. package/dist/_chunks/{transcript-panel-u2HHxZB6.js → transcript-panel-Dve7bsm7.js} +3 -3
  235. package/dist/_chunks/{treatment-receipt-C-gWZ6uv.js → treatment-receipt-DF2Slh-x.js} +5 -5
  236. package/dist/_chunks/{typing-indicator-DHeVN4ob.js → typing-indicator-BmwMQSxw.js} +9 -9
  237. package/dist/_chunks/{unit-converter-Dp_KDxE6.js → unit-converter-D8WnJbZm.js} +6 -6
  238. package/dist/_chunks/use-appointment-details-read-YsuJgYeB.js +2198 -0
  239. package/dist/_chunks/{use-edge-resize-BHesP0kg.js → use-edge-resize-DHbyQwu8.js} +15 -15
  240. package/dist/_chunks/use-locale-BExNy9Dl.js +16 -0
  241. package/dist/_chunks/{use-password-requirements-Bwtqx1qN.js → use-password-requirements-DK4hV1Ik.js} +4 -4
  242. package/dist/_chunks/{variables-menu-aJLKJ_cu.js → variables-menu-DQl8H4Gh.js} +2 -2
  243. package/dist/_chunks/{wallet-pay-button--dnR6NfJ.js → wallet-pay-button-C-GFl7RO.js} +3 -3
  244. package/dist/_chunks/{warning-stack-CEgYkI1z.js → warning-stack-CzKSeB5v.js} +5 -5
  245. package/dist/_chunks/{whatsapp-button-Ai4YAVkl.js → whatsapp-button-DV9JFmtq.js} +2 -2
  246. package/dist/_chunks/{widget-picker-CilQvcNL.js → widget-picker-b5NCHxFe.js} +28 -28
  247. package/dist/_chunks/{workflow-map-qGkQTNvS.js → workflow-map-C7fHKTXL.js} +17 -17
  248. package/dist/_chunks/{workflow-status-ClHfz4Kr.js → workflow-status-DDnsIrLt.js} +4 -4
  249. package/dist/_chunks/{zh-CN-vPkPEK6H.js → zh-CN-QGEs29fQ.js} +7 -7
  250. package/dist/agent-catalog.json +103 -38
  251. package/dist/agent-i18n/en.json +7 -4
  252. package/dist/components/_shared/date-locale.d.ts +2 -2
  253. package/dist/components/_shared/day-picker-labels.d.ts +6 -0
  254. package/dist/components/_shared/entity-card/entity-card.d.ts +1 -1
  255. package/dist/components/_shared/intl-locale.d.ts +10 -0
  256. package/dist/components/address-autocomplete/index.js +1 -1
  257. package/dist/components/address-fields/index.js +1 -1
  258. package/dist/components/agenda-card/index.js +1 -1
  259. package/dist/components/agenda-tray/index.js +1 -1
  260. package/dist/components/ai-credits-notice/index.js +1 -1
  261. package/dist/components/ai-permission-notice/index.js +1 -1
  262. package/dist/components/ai-prompt-input/index.js +1 -1
  263. package/dist/components/alert/index.js +1 -1
  264. package/dist/components/anamnesis-card/index.js +1 -1
  265. package/dist/components/anamnesis-summary-card/anamnesis-summary-card.d.ts +1 -1
  266. package/dist/components/anamnesis-summary-card/index.js +1 -1
  267. package/dist/components/annotation-marker/index.js +1 -1
  268. package/dist/components/app-frame/index.js +1 -1
  269. package/dist/components/appointment-card/index.js +2 -2
  270. package/dist/components/appointment-details-panel/appointment-details-panel.d.ts +3 -0
  271. package/dist/components/appointment-details-panel/appointment-details-panel.history.d.ts +19 -5
  272. package/dist/components/appointment-details-panel/appointment-details-panel.sections.d.ts +6 -2
  273. package/dist/components/appointment-details-panel/appointment-details-panel.types.d.ts +51 -1
  274. package/dist/components/appointment-details-panel/index.d.ts +1 -1
  275. package/dist/components/appointment-details-panel/index.js +1 -1
  276. package/dist/components/appointment-peek/index.js +1 -1
  277. package/dist/components/appointment-timeline/index.js +1 -1
  278. package/dist/components/audio-recorder/index.js +1 -1
  279. package/dist/components/audio-visualiser/index.js +1 -1
  280. package/dist/components/autocomplete/index.js +1 -1
  281. package/dist/components/avatar/index.js +1 -1
  282. package/dist/components/badge/index.js +1 -1
  283. package/dist/components/bishop-score/index.js +1 -1
  284. package/dist/components/bmi-calculator/index.js +1 -1
  285. package/dist/components/booking/index.js +1 -1
  286. package/dist/components/breadcrumb/index.js +1 -1
  287. package/dist/components/button/button.d.ts +11 -0
  288. package/dist/components/button/icon-button.d.ts +4 -0
  289. package/dist/components/button/index.js +2 -2
  290. package/dist/components/button-group/index.js +1 -1
  291. package/dist/components/calculator-dialog/index.js +1 -1
  292. package/dist/components/calendar/calendar-locale.d.ts +5 -0
  293. package/dist/components/calendar/calendar.d.ts +6 -4
  294. package/dist/components/calendar/index.js +1 -1
  295. package/dist/components/calendar-event-card/index.js +1 -1
  296. package/dist/components/care-plan-card/index.js +1 -1
  297. package/dist/components/care-plan-entry-card/index.js +1 -1
  298. package/dist/components/care-plan-header/index.js +1 -1
  299. package/dist/components/carousel/index.js +1 -1
  300. package/dist/components/chart/chart.d.ts +1 -1
  301. package/dist/components/chart/index.js +1 -1
  302. package/dist/components/chat-container/index.js +1 -1
  303. package/dist/components/chat-input/index.js +1 -1
  304. package/dist/components/chat-message/index.js +1 -1
  305. package/dist/components/checkbox-group/index.js +1 -1
  306. package/dist/components/city-input/index.js +1 -1
  307. package/dist/components/clinical-note-card/index.js +1 -1
  308. package/dist/components/color-picker/index.js +1 -1
  309. package/dist/components/combobox/index.js +1 -1
  310. package/dist/components/command-palette/index.js +1 -1
  311. package/dist/components/connection-status/index.js +1 -1
  312. package/dist/components/contact-card/index.js +1 -1
  313. package/dist/components/contact-profile-card/index.js +1 -1
  314. package/dist/components/control-room-rail/index.js +1 -1
  315. package/dist/components/copy-field/index.js +1 -1
  316. package/dist/components/country-select/index.js +1 -1
  317. package/dist/components/cycle-calculator/index.js +1 -1
  318. package/dist/components/dashboard-grid/index.js +1 -1
  319. package/dist/components/data-table/ag-grid-locale.d.ts +5 -0
  320. package/dist/components/data-table/index.js +4 -4
  321. package/dist/components/data-table-tabs/index.js +1 -1
  322. package/dist/components/date-picker/index.js +1 -1
  323. package/dist/components/date-range-picker/index.js +1 -1
  324. package/dist/components/date-time-picker/index.js +1 -1
  325. package/dist/components/dependent-selector/index.js +1 -1
  326. package/dist/components/description-list/index.js +1 -1
  327. package/dist/components/dialog/index.js +1 -1
  328. package/dist/components/document-preview/index.js +1 -1
  329. package/dist/components/document-scanner/index.js +1 -1
  330. package/dist/components/dropdown-menu/dropdown-menu.d.ts +52 -2
  331. package/dist/components/dropdown-menu/index.d.ts +1 -1
  332. package/dist/components/dropdown-menu/index.js +1 -1
  333. package/dist/components/due-date-calculator/index.js +2 -2
  334. package/dist/components/editable-description/index.js +1 -1
  335. package/dist/components/editor-overlay/index.js +1 -1
  336. package/dist/components/email-input/index.js +1 -1
  337. package/dist/components/empty-state/index.js +1 -1
  338. package/dist/components/entity-summary/index.js +1 -1
  339. package/dist/components/error-boundary/index.js +1 -1
  340. package/dist/components/face-scheme/index.js +1 -1
  341. package/dist/components/fetal-weight/index.js +1 -1
  342. package/dist/components/field-array/index.js +1 -1
  343. package/dist/components/file-manager/index.js +1 -1
  344. package/dist/components/file-upload/index.js +1 -1
  345. package/dist/components/finished-terminal/index.js +1 -1
  346. package/dist/components/fiscal-code-input/index.js +1 -1
  347. package/dist/components/floating-action-button/index.js +1 -1
  348. package/dist/components/form-field/index.js +1 -1
  349. package/dist/components/freemium-paywall/index.js +1 -1
  350. package/dist/components/gestational-age-calculator/index.js +1 -1
  351. package/dist/components/hcg-doubling/hcg.d.ts +1 -1
  352. package/dist/components/hcg-doubling/index.js +1 -1
  353. package/dist/components/header/index.js +1 -1
  354. package/dist/components/header-settings/header-settings.d.ts +3 -3
  355. package/dist/components/header-settings/index.js +1 -1
  356. package/dist/components/hover-card/index.js +1 -1
  357. package/dist/components/iban-input/index.js +1 -1
  358. package/dist/components/icon-button/index.js +1 -1
  359. package/dist/components/icon-button-group/index.js +1 -1
  360. package/dist/components/icon-picker/index.js +1 -1
  361. package/dist/components/image-cropper/index.js +1 -1
  362. package/dist/components/info-tip/index.js +1 -1
  363. package/dist/components/kbd/index.js +1 -1
  364. package/dist/components/key-value-pair/index.js +1 -1
  365. package/dist/components/link/index.js +1 -1
  366. package/dist/components/list/index.js +1 -1
  367. package/dist/components/locale-picker/index.js +1 -1
  368. package/dist/components/locale-picker/locale-picker.d.ts +7 -0
  369. package/dist/components/map-view/index.js +1 -1
  370. package/dist/components/message-card/index.js +1 -1
  371. package/dist/components/message-tray/index.js +1 -1
  372. package/dist/components/money/index.js +1 -1
  373. package/dist/components/multi-select/index.js +1 -1
  374. package/dist/components/muscle-scheme/index.js +1 -1
  375. package/dist/components/nav-grid/index.js +1 -1
  376. package/dist/components/navigation-menu/index.js +2 -2
  377. package/dist/components/note-timeline/index.js +1 -1
  378. package/dist/components/notes-panel/index.js +1 -1
  379. package/dist/components/notification-card/index.js +1 -1
  380. package/dist/components/notification-tray/index.js +1 -1
  381. package/dist/components/number-input/index.js +1 -1
  382. package/dist/components/operator-hero/index.js +1 -1
  383. package/dist/components/operator-hero/operator-hero.d.ts +1 -1
  384. package/dist/components/optical-prescription/index.js +1 -1
  385. package/dist/components/otp-input/index.js +1 -1
  386. package/dist/components/pagination/index.js +1 -1
  387. package/dist/components/panel-subview/index.js +1 -1
  388. package/dist/components/password-input/index.js +1 -1
  389. package/dist/components/patient-details/index.js +1 -1
  390. package/dist/components/patient-details/patient-details.d.ts +1 -1
  391. package/dist/components/patient-search/index.js +1 -1
  392. package/dist/components/patient-summary-card/index.js +1 -1
  393. package/dist/components/patient-summary-card/patient-summary-card.d.ts +1 -1
  394. package/dist/components/patient-table/index.js +1 -1
  395. package/dist/components/payment-card/index.js +1 -1
  396. package/dist/components/payment-form/index.js +1 -1
  397. package/dist/components/pdf-viewer/index.js +1 -1
  398. package/dist/components/periodontal-chart/index.js +1 -1
  399. package/dist/components/periodontal-chart-card/index.js +1 -1
  400. package/dist/components/periodontal-diagnosis/index.js +1 -1
  401. package/dist/components/periodontal-risk-chart/index.js +1 -1
  402. package/dist/components/permission-matrix/index.js +1 -1
  403. package/dist/components/phone-input/index.js +1 -1
  404. package/dist/components/popover/index.js +1 -1
  405. package/dist/components/position-grid/index.js +1 -1
  406. package/dist/components/postal-code-input/index.js +1 -1
  407. package/dist/components/practice-profile-hero/index.js +1 -1
  408. package/dist/components/practice-results/index.js +1 -1
  409. package/dist/components/pregnancy-dating/index.js +1 -1
  410. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  411. package/dist/components/privacy-lock/index.js +1 -1
  412. package/dist/components/product-hub-tray/index.js +1 -1
  413. package/dist/components/progress/index.js +1 -1
  414. package/dist/components/province-select/index.js +1 -1
  415. package/dist/components/public-footer/index.js +1 -1
  416. package/dist/components/public-header/index.js +1 -1
  417. package/dist/components/qr-code/index.js +1 -1
  418. package/dist/components/radiograph-panel/index.js +1 -1
  419. package/dist/components/rating/index.js +1 -1
  420. package/dist/components/recaptcha-widget/index.js +1 -1
  421. package/dist/components/resizable/index.js +1 -1
  422. package/dist/components/resource-chip/index.d.ts +1 -1
  423. package/dist/components/resource-chip/index.js +3 -2
  424. package/dist/components/resource-chip/resource-chip.d.ts +20 -0
  425. package/dist/components/reviews-panel/index.js +1 -1
  426. package/dist/components/rich-text-editor/index.js +2 -2
  427. package/dist/components/rich-text-editor/redactor-locale.d.ts +4 -0
  428. package/dist/components/rich-text-editor/rich-text-editor.d.ts +8 -3
  429. package/dist/components/search-bar/index.js +1 -1
  430. package/dist/components/search-input/index.js +1 -1
  431. package/dist/components/select/index.js +1 -1
  432. package/dist/components/session-countdown/index.js +1 -1
  433. package/dist/components/sheet/index.js +1 -1
  434. package/dist/components/sidebar/index.js +1 -1
  435. package/dist/components/sign-document/index.js +1 -1
  436. package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
  437. package/dist/components/signature-capture/index.js +1 -1
  438. package/dist/components/signature-field/index.js +1 -1
  439. package/dist/components/signature-status-chip/index.js +1 -1
  440. package/dist/components/skeleton-scheme/index.js +3 -3
  441. package/dist/components/skip-link/index.js +1 -1
  442. package/dist/components/skip-link/skip-link.d.ts +1 -1
  443. package/dist/components/slider/index.js +1 -1
  444. package/dist/components/slot-grid/index.js +1 -1
  445. package/dist/components/smart-date/index.js +1 -1
  446. package/dist/components/smart-date/smart-date.d.ts +1 -1
  447. package/dist/components/social-sign-in-button/index.js +1 -1
  448. package/dist/components/sparkline/index.js +1 -1
  449. package/dist/components/spinner/index.js +1 -1
  450. package/dist/components/stat/index.js +1 -1
  451. package/dist/components/stepper-accordion/index.js +1 -1
  452. package/dist/components/stepper-progress/index.js +1 -1
  453. package/dist/components/streaming-text/index.js +1 -1
  454. package/dist/components/suggestion-chip/index.js +1 -1
  455. package/dist/components/switch/index.js +1 -1
  456. package/dist/components/tab-bar/index.js +1 -1
  457. package/dist/components/tabs/index.js +1 -1
  458. package/dist/components/tag/index.js +1 -1
  459. package/dist/components/task-card/index.js +1 -1
  460. package/dist/components/task-editor/index.js +1 -1
  461. package/dist/components/task-tray/index.js +1 -1
  462. package/dist/components/tasks-panel/index.js +1 -1
  463. package/dist/components/text-area/index.js +1 -1
  464. package/dist/components/text-input/index.js +1 -1
  465. package/dist/components/theme-toggle/index.js +1 -1
  466. package/dist/components/time-picker/index.js +1 -1
  467. package/dist/components/timeline/index.js +1 -1
  468. package/dist/components/timestamp/index.js +1 -1
  469. package/dist/components/toast/index.js +1 -1
  470. package/dist/components/token-insert-menu/index.js +1 -1
  471. package/dist/components/tool-rail/index.js +1 -1
  472. package/dist/components/tooth-finding-palette/index.js +1 -1
  473. package/dist/components/tooth-scheme/index.js +1 -1
  474. package/dist/components/tooth-scheme/tooth-scheme.d.ts +2 -2
  475. package/dist/components/transaction-chip/index.js +1 -1
  476. package/dist/components/transcript-panel/index.js +1 -1
  477. package/dist/components/treatment-receipt/index.js +1 -1
  478. package/dist/components/typing-indicator/index.js +1 -1
  479. package/dist/components/unit-converter/index.js +1 -1
  480. package/dist/components/variables-menu/index.js +1 -1
  481. package/dist/components/wallet-pay-button/index.js +1 -1
  482. package/dist/components/warning-stack/index.js +1 -1
  483. package/dist/components/whatsapp-button/index.js +1 -1
  484. package/dist/components/widget-picker/index.js +1 -1
  485. package/dist/components/workflow/index.js +1 -1
  486. package/dist/components/workflow/workflow-card.d.ts +1 -1
  487. package/dist/components/workflow-status/index.js +2 -2
  488. package/dist/hooks/index.js +2 -2
  489. package/dist/hooks/use-locale.d.ts +2 -16
  490. package/dist/i18n/config.d.ts +17 -13
  491. package/dist/i18n/config.js +127 -62
  492. package/dist/i18n/locale-meta.d.ts +1 -1
  493. package/dist/i18n/locales/ar.d.ts +915 -660
  494. package/dist/i18n/locales/ar.js +916 -665
  495. package/dist/i18n/locales/de.d.ts +722 -479
  496. package/dist/i18n/locales/de.js +723 -484
  497. package/dist/i18n/locales/el.d.ts +965 -722
  498. package/dist/i18n/locales/el.js +965 -726
  499. package/dist/i18n/locales/en.d.ts +308 -65
  500. package/dist/i18n/locales/en.js +309 -70
  501. package/dist/i18n/locales/es.d.ts +787 -541
  502. package/dist/i18n/locales/es.js +788 -546
  503. package/dist/i18n/locales/fr.d.ts +730 -484
  504. package/dist/i18n/locales/fr.js +731 -489
  505. package/dist/i18n/locales/hi.d.ts +875 -632
  506. package/dist/i18n/locales/hi.js +876 -637
  507. package/dist/i18n/locales/it.d.ts +937 -691
  508. package/dist/i18n/locales/it.js +943 -696
  509. package/dist/i18n/locales/ja.d.ts +698 -455
  510. package/dist/i18n/locales/ja.js +699 -460
  511. package/dist/i18n/locales/nl.d.ts +723 -480
  512. package/dist/i18n/locales/nl.js +724 -485
  513. package/dist/i18n/locales/pl.d.ts +1019 -770
  514. package/dist/i18n/locales/pl.js +1019 -774
  515. package/dist/i18n/locales/pt.d.ts +811 -562
  516. package/dist/i18n/locales/pt.js +812 -567
  517. package/dist/i18n/locales/ro.d.ts +1060 -814
  518. package/dist/i18n/locales/ro.js +1061 -819
  519. package/dist/i18n/locales/ru.d.ts +1037 -788
  520. package/dist/i18n/locales/ru.js +1032 -787
  521. package/dist/i18n/locales/sq.d.ts +1288 -1045
  522. package/dist/i18n/locales/sq.js +1288 -1049
  523. package/dist/i18n/locales/sv.d.ts +809 -566
  524. package/dist/i18n/locales/sv.js +810 -571
  525. package/dist/i18n/locales/tr.d.ts +768 -525
  526. package/dist/i18n/locales/tr.js +769 -530
  527. package/dist/i18n/locales/zh.d.ts +756 -513
  528. package/dist/i18n/locales/zh.js +757 -518
  529. package/dist/i18n/registerUiBundle.d.ts +3 -2
  530. package/dist/i18n/resources.d.ts +2 -7
  531. package/dist/i18n/supported-locales.d.ts +8 -0
  532. package/dist/index.js +552 -551
  533. package/dist/locales/ar.json +920 -665
  534. package/dist/locales/de.json +727 -484
  535. package/dist/locales/el.json +970 -727
  536. package/dist/locales/en.json +313 -70
  537. package/dist/locales/es.json +792 -546
  538. package/dist/locales/fr.json +735 -489
  539. package/dist/locales/hi.json +880 -637
  540. package/dist/locales/it.json +942 -696
  541. package/dist/locales/ja.json +703 -460
  542. package/dist/locales/nl.json +728 -485
  543. package/dist/locales/pl.json +1024 -775
  544. package/dist/locales/pt.json +816 -567
  545. package/dist/locales/ro.json +1065 -819
  546. package/dist/locales/ru.json +1042 -793
  547. package/dist/locales/sq.json +1293 -1050
  548. package/dist/locales/sv.json +814 -571
  549. package/dist/locales/tr.json +773 -530
  550. package/dist/locales/zh.json +761 -518
  551. package/dist/patterns/alia-assistant/index.js +1 -1
  552. package/dist/patterns/anamnesis/anamnesis-format.d.ts +1 -1
  553. package/dist/patterns/anamnesis/anamnesis-i18n.d.ts +3 -2
  554. package/dist/patterns/anamnesis/index.js +1 -1
  555. package/dist/patterns/anamnesis/locales/ar.d.ts +776 -0
  556. package/dist/patterns/anamnesis/locales/de.d.ts +740 -0
  557. package/dist/patterns/anamnesis/locales/el.d.ts +740 -0
  558. package/dist/patterns/anamnesis/locales/en.d.ts +740 -0
  559. package/dist/patterns/anamnesis/locales/es.d.ts +749 -0
  560. package/dist/patterns/anamnesis/locales/fr.d.ts +749 -0
  561. package/dist/patterns/anamnesis/locales/hi.d.ts +740 -0
  562. package/dist/patterns/anamnesis/locales/it.d.ts +749 -0
  563. package/dist/patterns/anamnesis/locales/ja.d.ts +740 -0
  564. package/dist/patterns/anamnesis/locales/nl.d.ts +740 -0
  565. package/dist/patterns/anamnesis/locales/pl.d.ts +758 -0
  566. package/dist/patterns/anamnesis/locales/pt.d.ts +758 -0
  567. package/dist/patterns/anamnesis/locales/ro.d.ts +749 -0
  568. package/dist/patterns/anamnesis/locales/ru.d.ts +758 -0
  569. package/dist/patterns/anamnesis/locales/sq.d.ts +740 -0
  570. package/dist/patterns/anamnesis/locales/sv.d.ts +740 -0
  571. package/dist/patterns/anamnesis/locales/tr.d.ts +740 -0
  572. package/dist/patterns/anamnesis/locales/zh.d.ts +740 -0
  573. package/dist/patterns/calendar/calendar-appointment-details.d.ts +4 -1
  574. package/dist/patterns/calendar/calendar-workspace.d.ts +5 -0
  575. package/dist/patterns/calendar/calendar.sheets.d.ts +4 -1
  576. package/dist/patterns/calendar/calendar.surface.d.ts +4 -1
  577. package/dist/patterns/calendar/calendar.types.d.ts +3 -1
  578. package/dist/patterns/calendar/index.d.ts +1 -1
  579. package/dist/patterns/calendar/index.js +1 -1
  580. package/dist/patterns/help-me-write-templates/index.js +1 -1
  581. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  582. package/dist/patterns/payment-automation-upsell/index.js +1 -1
  583. package/dist/patterns/signature-request/index.js +1 -1
  584. package/dist/tokens.css +6 -2
  585. package/package.json +12 -2
  586. package/dist/_chunks/anamnesis-summary-rows-CZirLRuv.js +0 -9416
  587. package/dist/_chunks/calendar-E6Yu4lzC.js +0 -1381
  588. package/dist/_chunks/calendar-workspace-DjbGFjg1.js +0 -10584
  589. package/dist/_chunks/data-table-CrI3_bjH.js +0 -1824
  590. package/dist/_chunks/dropdown-menu-C8PaW3lR.js +0 -369
  591. package/dist/_chunks/header-settings-ZXa6hXuu.js +0 -335
  592. package/dist/_chunks/resource-chip-DYTG0IQQ.js +0 -83
  593. package/dist/_chunks/rich-text-editor-y6ML0KeV.js +0 -4154
  594. package/dist/_chunks/subDays-HPvBuvq3.js +0 -8
  595. package/dist/_chunks/tabs-CFsuMQ5H.js +0 -409
  596. package/dist/_chunks/use-appointment-details-read-5-hV-2xA.js +0 -2045
  597. package/dist/_chunks/use-locale-BkCIHujH.js +0 -20
@@ -1,2045 +0,0 @@
1
- import { jsx as e, jsxs as m, Fragment as Y } from "react/jsx-runtime";
2
- import { c as et } from "./index-D2ZczOXr.js";
3
- import { useId as Ue, useRef as C, forwardRef as Gt, useEffect as pe, useMemo as gt, useState as _, useCallback as Vt } from "react";
4
- import { useTranslation as O } from "react-i18next";
5
- import { u as Yt } from "./registry-DvAUVLHh.js";
6
- import { u as te } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
7
- import { c as Qt } from "./compose-refs-C0k0tdqF.js";
8
- import { h as qe, g as Ge } from "./handled-rejection-6gqCf5vt.js";
9
- import { a as Jt, b as vt } from "./privacy-mask-BC5lw2zB.js";
10
- import { A as z } from "./alert-CiQ5Pa3Q.js";
11
- import { B as L } from "./button-18oBsI3n.js";
12
- import { I as Dt } from "./icon-button-CY7GU_Se.js";
13
- import { B as Xt } from "./button-group-BSDqso_C.js";
14
- import { D as Me } from "./dropdown-menu-C8PaW3lR.js";
15
- import { E as Et } from "./editable-description-B4NVdjvd.js";
16
- import { N as Ve } from "./note-timeline-CVnKL0p6.js";
17
- import { P as Ct } from "./panel-header-D_mTdhUp.js";
18
- import { P as Ke } from "./panel-subview-CzHutkA8.js";
19
- import { P as Rt } from "./patient-summary-card-DQ__6DR-.js";
20
- import { S as ne } from "./section-card-XR2bW1Ie.js";
21
- import { C as Zt, S as ue } from "./skeleton-B1KTdJ4N.js";
22
- import { T as en } from "./text-area-Bt3p7Pt0.js";
23
- import { T as tn } from "./tooltip-Cp-PLePW.js";
24
- import { T as Pt } from "./treatment-receipt-C-gWZ6uv.js";
25
- import { a as yt } from "./whatsapp-button-Ai4YAVkl.js";
26
- import { a as Ye, W as nn } from "./workflow-status-ClHfz4Kr.js";
27
- import { u as tt, a as bt, i as an } from "./appointment-workflow-status-CS8ufF1f.js";
28
- import { E as sn } from "./empty-state-DTBZ1ENT.js";
29
- import { T as Ne } from "./timeline-ChY7iZrs.js";
30
- import { C as nt } from "./calendar-clock-hbObjfGY.js";
31
- import { T as Lt } from "./trash-2-uumy3fy1.js";
32
- import { A as kt } from "./entity-card-D1Yrh9wf.js";
33
- import { P as Qe } from "./pencil-B1sKKyuT.js";
34
- import { A as on } from "./arrow-right-KsIrLdt0.js";
35
- import { C as Mt } from "./clock-Drd4Wtis.js";
36
- import { c as Oe } from "./createLucideIcon-DhHxpK9K.js";
37
- import { C as rn } from "./calendar-plus-BFrIRE4r.js";
38
- import { A as _t } from "./avatar-BVvjKNTp.js";
39
- import { B as He } from "./badge-BAkd6_Pj.js";
40
- import { H as at } from "./heart-pulse-BCppJyN2.js";
41
- import { G as ln } from "./globe-sHBW1JN5.js";
42
- import { T as dn } from "./triangle-alert-CBnO6nq_.js";
43
- import { E as cn } from "./euro-Dsuz4ixO.js";
44
- import { V as it } from "./video-BheNGvsu.js";
45
- import { R as zt } from "./repeat-CvQa5rZt.js";
46
- import { C as un } from "./counter-WsvRuum1.js";
47
- import { D as _e } from "./description-list-1A2DEbE6.js";
48
- import { T as pn } from "./timestamp-BV2lC-wV.js";
49
- import { T as mn } from "./transaction-chip-CwgcJiqF.js";
50
- import { H as me } from "./hover-card-BplP5SzQ.js";
51
- import { S as hn } from "./smartphone-C0rFF2if.js";
52
- import { P as fn } from "./phone-FceYcIFQ.js";
53
- import { M as gn } from "./mail-BqXVF2zH.js";
54
- import { M as vn } from "./map-pin-BaY37-Km.js";
55
- import { C as yn } from "./calendar-days-BGWklvE-.js";
56
- import { H as bn } from "./patient-field-row-DElFbpKc.js";
57
- import { A as wt } from "./armchair-BaLDW6Hz.js";
58
- import { B as kn } from "./building-2-D33bLCWL.js";
59
- import { N as wn } from "./notebook-pen-CO7HoM-W.js";
60
- import { C as Ot } from "./clipboard-list-rSzfIYZB.js";
61
- import { C as xn } from "./copy-vRpqqHtY.js";
62
- import { P as Nn } from "./plus-DzMQ_c6b.js";
63
- import { S as An } from "./square-check-big-dj0o8yA3.js";
64
- import { H as xt } from "./history-CK2JaU2g.js";
65
- import { C as Tn } from "./chevron-down-DWE7GSq9.js";
66
- import { C as Sn } from "./camera-VSklPDCv.js";
67
- import { F as In } from "./file-BuG1VMAy.js";
68
- import { F as Dn } from "./file-text-5yv6r2ls.js";
69
- import { F as En } from "./folder-BghC8_S2.js";
70
- import { R as Cn } from "./receipt-euro-B1cLM_TN.js";
71
- /**
72
- * @license lucide-react v1.22.0 - ISC
73
- *
74
- * This source code is licensed under the ISC license.
75
- * See the LICENSE file in the root directory of this source tree.
76
- */
77
- const Rn = [
78
- ["path", { d: "M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8", key: "1w3rig" }],
79
- ["path", { d: "M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1", key: "n2jgmb" }],
80
- ["path", { d: "M2 21h20", key: "1nyx9w" }],
81
- ["path", { d: "M7 8v3", key: "1qtyvj" }],
82
- ["path", { d: "M12 8v3", key: "hwp4zt" }],
83
- ["path", { d: "M17 8v3", key: "1i6e5u" }],
84
- ["path", { d: "M7 4h.01", key: "1bh4kh" }],
85
- ["path", { d: "M12 4h.01", key: "1ujb9j" }],
86
- ["path", { d: "M17 4h.01", key: "1upcoc" }]
87
- ], Pn = Oe("cake", Rn);
88
- /**
89
- * @license lucide-react v1.22.0 - ISC
90
- *
91
- * This source code is licensed under the ISC license.
92
- * See the LICENSE file in the root directory of this source tree.
93
- */
94
- const Ln = [
95
- ["path", { d: "M11 14h10", key: "1w8e9d" }],
96
- ["path", { d: "M16 4h2a2 2 0 0 1 2 2v1.344", key: "1e62lh" }],
97
- ["path", { d: "m17 18 4-4-4-4", key: "z2g111" }],
98
- ["path", { d: "M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113", key: "bjbb7m" }],
99
- ["rect", { x: "8", y: "2", width: "8", height: "4", rx: "1", key: "ublpy" }]
100
- ], Nt = Oe("clipboard-paste", Ln);
101
- /**
102
- * @license lucide-react v1.22.0 - ISC
103
- *
104
- * This source code is licensed under the ISC license.
105
- * See the LICENSE file in the root directory of this source tree.
106
- */
107
- const Mn = [
108
- ["path", { d: "M16 10h2", key: "8sgtl7" }],
109
- ["path", { d: "M16 14h2", key: "epxaof" }],
110
- ["path", { d: "M6.17 15a3 3 0 0 1 5.66 0", key: "n6f512" }],
111
- ["circle", { cx: "9", cy: "11", r: "2", key: "yxgjnd" }],
112
- ["rect", { x: "2", y: "5", width: "20", height: "14", rx: "2", key: "qneu4z" }]
113
- ], _n = Oe("id-card", Mn);
114
- /**
115
- * @license lucide-react v1.22.0 - ISC
116
- *
117
- * This source code is licensed under the ISC license.
118
- * See the LICENSE file in the root directory of this source tree.
119
- */
120
- const zn = [
121
- ["path", { d: "M12 2v20", key: "t6zp3m" }],
122
- ["path", { d: "m15 19-3 3-3-3", key: "11eu04" }],
123
- ["path", { d: "m19 9 3 3-3 3", key: "1mg7y2" }],
124
- ["path", { d: "M2 12h20", key: "9i4pu4" }],
125
- ["path", { d: "m5 9-3 3 3 3", key: "j64kie" }],
126
- ["path", { d: "m9 5 3-3 3 3", key: "l8vdw6" }]
127
- ], Ht = Oe("move", zn), On = '[data-component="button-group"] [data-component="icon-button"][aria-haspopup="menu"]', Hn = {
128
- id: "appointment-details-panel",
129
- // open and close back open_history and close_history; set_value backs
130
- // set_status.
131
- capabilities: ["open", "close", "set_value"],
132
- state: {
133
- eventId: {
134
- type: "string | null",
135
- descriptionKey: "ui.agent.appointmentDetailsPanel.state.eventId",
136
- description: "The occurrence on screen or being read, as the host identifies it. After a failed or refused read, the occurrence it was for when the host says so. Null when there is none, or the host did not say.",
137
- read: (t) => t.getEventId()
138
- },
139
- loadStatus: {
140
- type: "'loading' | 'ready' | 'error' | 'refused'",
141
- descriptionKey: "ui.agent.appointmentDetailsPanel.state.loadStatus",
142
- description: "Where the read is: loading, ready, failed (with Retry) or refused. Actions need ready.",
143
- read: (t) => t.getLoadStatus()
144
- },
145
- appointmentStatus: {
146
- type: "'confirmed' | 'waiting' | 'in_care' | 'done' | 'cancelled' | 'absent' | null",
147
- descriptionKey: "ui.agent.appointmentDetailsPanel.state.appointmentStatus",
148
- description: "The appointment status as last saved here or read. Null when none is recorded or nothing is on screen.",
149
- read: (t) => t.getAppointmentStatus()
150
- },
151
- allowedStatuses: {
152
- type: "string[]",
153
- descriptionKey: "ui.agent.appointmentDetailsPanel.state.allowedStatuses",
154
- description: "The statuses set_status accepts now, in menu order. Empty when the status is read-only.",
155
- read: (t) => t.getAllowedStatuses()
156
- },
157
- offeredActions: {
158
- type: "string[]",
159
- descriptionKey: "ui.agent.appointmentDetailsPanel.state.offeredActions",
160
- description: "The footer actions on offer, as their data-action values (for example edit-appointment, delete-appointment), in footer order, including any folded into More.",
161
- read: (t) => t.getOfferedActions()
162
- },
163
- historyOpen: {
164
- type: "boolean",
165
- descriptionKey: "ui.agent.appointmentDetailsPanel.state.historyOpen",
166
- description: "Whether the History sub-view covers the details.",
167
- read: (t) => t.isHistoryOpen()
168
- },
169
- privacy: {
170
- type: "boolean",
171
- descriptionKey: "ui.agent.appointmentDetailsPanel.state.privacy",
172
- description: "Whether privacy mode is on. The patient identity and personal fields are then masked on screen.",
173
- read: (t) => t.isPrivacy()
174
- }
175
- },
176
- actions: {
177
- open_history: {
178
- safety: "read",
179
- openWorld: !0,
180
- idempotent: !0,
181
- errors: ["No appointment is on screen, or History is not offered."],
182
- descriptionKey: "ui.agent.appointmentDetailsPanel.actions.openHistory",
183
- description: "Slide the appointment's history over the details, as its header button does; the host reads it then if it did not send it with the details. It lists who changed what, and when.",
184
- invoke: (t) => t.openHistory()
185
- },
186
- close_history: {
187
- safety: "read",
188
- idempotent: !0,
189
- descriptionKey: "ui.agent.appointmentDetailsPanel.actions.closeHistory",
190
- description: "Return from History to the details.",
191
- invoke: (t) => t.closeHistory()
192
- },
193
- set_status: {
194
- safety: "phi",
195
- openWorld: !0,
196
- idempotent: !0,
197
- argsType: "{ status: string }",
198
- argsSchema: {
199
- type: "object",
200
- properties: {
201
- status: {
202
- type: "string",
203
- enum: [
204
- "confirmed",
205
- "waiting",
206
- "in_care",
207
- "done",
208
- "cancelled",
209
- "absent"
210
- ]
211
- }
212
- },
213
- required: ["status"]
214
- },
215
- errors: [
216
- "The status is read-only: no appointment on screen, no host save, readOnly, or no allowed statuses.",
217
- "The status is not in allowedStatuses.",
218
- "A status save is already in flight.",
219
- "The host refused the change. The previous status stays and the panel shows the message."
220
- ],
221
- examples: [{ args: { status: "waiting" } }],
222
- descriptionKey: "ui.agent.appointmentDetailsPanel.actions.setStatus",
223
- description: "Save a new appointment status through the host, as the footer control does. Resolves once the host has saved it.",
224
- invoke: (t, n) => t.setAppointmentStatus(
225
- n.status
226
- )
227
- },
228
- retry: {
229
- safety: "read",
230
- openWorld: !0,
231
- errors: [
232
- "Retry is not offered: the read has not failed or been refused as retryable, or the host offers no Retry."
233
- ],
234
- descriptionKey: "ui.agent.appointmentDetailsPanel.actions.retry",
235
- description: "Ask the host to read the appointment again, after a failed read or a refusal it marked retryable.",
236
- invoke: (t) => t.retry()
237
- }
238
- },
239
- domHooks: {
240
- root: {
241
- attr: "data-component",
242
- value: "appointment-details-panel",
243
- description: `Marks the panel. It also carries data-event-id and data-status. Inside, cards carry data-card (patient, appointment, notes, treatments), footer actions data-action, and the History and description sub-views data-details-subview. An action in offeredActions with no data-action in the footer strip is folded into More: click the panel's ${On}, and its menu item carries the same data-action.`
244
- },
245
- instanceId: {
246
- attr: "data-component-id",
247
- sourceProp: "id",
248
- description: "Sourced from the id prop, or generated."
249
- }
250
- }
251
- };
252
- function Je(t) {
253
- const n = document.activeElement;
254
- n && n !== document.body || t == null || t.focus({ preventScroll: !0 });
255
- }
256
- function Ae(t) {
257
- const n = document.getElementById(t);
258
- n && !n.hasAttribute("tabindex") && (n.tabIndex = -1), Je(n);
259
- }
260
- function Xe(t) {
261
- return typeof t == "string" && /^\d{4}-\d{2}-\d{2}$/.test(t) ? /* @__PURE__ */ new Date(`${t}T00:00:00`) : new Date(t);
262
- }
263
- function ze(t, n) {
264
- try {
265
- return new Intl.DateTimeFormat(t, {
266
- weekday: "long",
267
- day: "numeric",
268
- month: "long",
269
- year: "numeric"
270
- }).format(Xe(n));
271
- } catch {
272
- return "";
273
- }
274
- }
275
- function $n(t, n, i) {
276
- const o = new Date(n), r = i ? new Date(i) : o;
277
- try {
278
- const a = new Intl.DateTimeFormat(t, {
279
- hour: "2-digit",
280
- minute: "2-digit",
281
- hour12: !1
282
- });
283
- return typeof a.formatRange == "function" ? a.formatRange(o, r) : `${a.format(o)} – ${a.format(r)}`;
284
- } catch {
285
- return "";
286
- }
287
- }
288
- const $t = {
289
- weekday: "short",
290
- day: "numeric",
291
- month: "short",
292
- hour: "2-digit",
293
- minute: "2-digit"
294
- };
295
- function Bn(t, n) {
296
- const i = Xe(t), o = Xe(n);
297
- let r = o.getFullYear() - i.getFullYear();
298
- const a = o.getMonth() - i.getMonth();
299
- return (a < 0 || a === 0 && o.getDate() < i.getDate()) && (r -= 1), Math.max(0, r);
300
- }
301
- const Fn = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})$/;
302
- function Wn(t) {
303
- const n = typeof t == "string" ? Fn.exec(t) : null;
304
- if (!n) return;
305
- const [i, o, r, a, d, u] = n.slice(1).map(Number), s = /* @__PURE__ */ new Date(0);
306
- if (s.setFullYear(i, o, 0), o < 1 || o > 12 || r < 1 || r > s.getDate() || a > 23 || d > 59 || u > 59)
307
- return;
308
- const l = /* @__PURE__ */ new Date(0);
309
- return l.setFullYear(i, o - 1, r), l.setHours(a, d, u, 0), l;
310
- }
311
- function jn(t) {
312
- return t.map((n) => {
313
- const i = Date.parse(n.atIso);
314
- return { entry: n, time: Number.isFinite(i) ? i : -1 / 0 };
315
- }).sort((n, i) => n.time === i.time ? 0 : i.time - n.time).map(({ entry: n }) => n);
316
- }
317
- const qn = {
318
- daily: "recurrenceDaily",
319
- weekly: "recurrenceWeekly",
320
- monthly: "recurrenceMonthly",
321
- quarterly: "recurrenceQuarterly",
322
- semiannual: "recurrenceSemiannual",
323
- yearly: "recurrenceYearly"
324
- };
325
- function Kn(t) {
326
- return t.phones ? t.phones : t.phone ? [{ label: "mobile", number: t.phone }] : [];
327
- }
328
- function Bt(t) {
329
- return [t.address, t.postalCode, t.city].filter((n) => !!n).join(", ");
330
- }
331
- function Un(t) {
332
- return [t.address, t.city].filter((n) => !!n).join(", ");
333
- }
334
- function Gn(t) {
335
- const n = Bt(t);
336
- return `https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(n)}`;
337
- }
338
- const V = (t) => `calendarWorkspace.details.${t}`;
339
- function Vn({
340
- history: t,
341
- locale: n
342
- }) {
343
- const { t: i, i18n: o } = O(), { optionFor: r } = tt(null), a = n ?? o.language, d = (s) => {
344
- try {
345
- return new Intl.DateTimeFormat(a, $t).format(
346
- new Date(s)
347
- );
348
- } catch {
349
- return s;
350
- }
351
- }, u = (s) => {
352
- switch (s.kind) {
353
- case "created":
354
- return {
355
- type: "success",
356
- icon: /* @__PURE__ */ e(rn, { size: 16, "aria-hidden": "true" })
357
- };
358
- case "moved":
359
- return {
360
- type: "info",
361
- icon: /* @__PURE__ */ e(Ht, { size: 16, "aria-hidden": "true" }),
362
- detail: i(V("history.movedDetail"), {
363
- from: d(s.fromIso),
364
- to: d(s.toIso)
365
- })
366
- };
367
- case "resized":
368
- return {
369
- type: "info",
370
- icon: /* @__PURE__ */ e(Mt, { size: 16, "aria-hidden": "true" }),
371
- detail: i(V("history.resizedDetail"), {
372
- from: s.fromMin,
373
- to: s.toMin
374
- })
375
- };
376
- case "status": {
377
- const l = kt[s.to].Icon, p = r(s.from), g = r(s.to), I = i(V("history.statusDetail"), {
378
- from: p.label,
379
- to: g.label
380
- });
381
- return {
382
- type: s.to === "cancelled" || s.to === "absent" ? "warning" : "neutral",
383
- icon: /* @__PURE__ */ e(l, { size: 16, "aria-hidden": "true" }),
384
- detail: /* @__PURE__ */ e("div", { role: "group", "aria-label": I, children: /* @__PURE__ */ m(
385
- "div",
386
- {
387
- "aria-hidden": "true",
388
- className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]",
389
- children: [
390
- /* @__PURE__ */ e(
391
- Ye,
392
- {
393
- value: s.from,
394
- option: p,
395
- size: "sm"
396
- }
397
- ),
398
- /* @__PURE__ */ e(
399
- on,
400
- {
401
- className: "ds:size-4 ds:shrink-0 ds:rtl:rotate-180",
402
- "aria-hidden": "true"
403
- }
404
- ),
405
- /* @__PURE__ */ e(
406
- Ye,
407
- {
408
- value: s.to,
409
- option: g,
410
- size: "sm"
411
- }
412
- )
413
- ]
414
- }
415
- ) })
416
- };
417
- }
418
- case "edited":
419
- return {
420
- type: "neutral",
421
- icon: /* @__PURE__ */ e(Qe, { size: 16, "aria-hidden": "true" }),
422
- /* The platform log carries no field list: no "Changed" line. */
423
- detail: s.fields.length > 0 ? i(V("history.editedDetail"), {
424
- fields: s.fields.map((l) => i(V(`history.fields.${l}`))).join(", ")
425
- }) : void 0
426
- };
427
- case "confirmedByPatient": {
428
- const l = kt.confirmed.Icon;
429
- return {
430
- type: "success",
431
- icon: /* @__PURE__ */ e(l, { size: 16, "aria-hidden": "true" })
432
- };
433
- }
434
- case "deleted":
435
- return {
436
- type: "error",
437
- icon: /* @__PURE__ */ e(Lt, { size: 16, "aria-hidden": "true" })
438
- };
439
- }
440
- };
441
- return t.length === 0 ? /* @__PURE__ */ e(
442
- sn,
443
- {
444
- variant: "first-use",
445
- size: "sm",
446
- title: i(V("historyEmpty"))
447
- }
448
- ) : /* @__PURE__ */ e(Ne, { order: "newest-first", "aria-label": i(V("historyTitle")), children: jn(t).map((s) => {
449
- const l = u(s);
450
- return /* @__PURE__ */ m(
451
- Ne.Event,
452
- {
453
- eventId: s.id,
454
- type: l.type,
455
- className: "ds:[column-gap:var(--spacing-sm)] ds:[padding-block-end:var(--spacing-lg)] ds:before:bg-[var(--primary)]",
456
- children: [
457
- /* @__PURE__ */ e(Ne.Dot, { icon: l.icon }),
458
- /* @__PURE__ */ e(
459
- Ne.Content,
460
- {
461
- title: i(V(`history.${s.kind}`)),
462
- description: l.detail,
463
- className: "ds:[padding-block-end:0] ds:[&>[data-component=card]]:border-[color:var(--card-border)] ds:[&>[data-component=card]]:shadow-[var(--shadow-card)]",
464
- actor: s.actor.trim() ? { name: s.actor } : void 0,
465
- children: /* @__PURE__ */ m("span", { className: "ds:mt-[var(--spacing-sm)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
466
- /* @__PURE__ */ e(
467
- nt,
468
- {
469
- "aria-hidden": "true",
470
- className: "ds:size-4 ds:shrink-0 ds:text-[color:var(--muted-foreground)]"
471
- }
472
- ),
473
- /* @__PURE__ */ e(
474
- Ne.Timestamp,
475
- {
476
- date: s.atIso,
477
- relative: !1,
478
- locale: a
479
- }
480
- )
481
- ] })
482
- }
483
- )
484
- ]
485
- },
486
- s.id
487
- );
488
- }) });
489
- }
490
- const Yn = {
491
- confirmed: "success",
492
- waiting: "info",
493
- in_care: "accentSoft",
494
- done: "success",
495
- cancelled: "error",
496
- absent: "warning"
497
- };
498
- function Qn({ event: t }) {
499
- const { t: n } = O(), i = (r) => `calendarWorkspace.details.indicators.${r}`, o = [];
500
- return t.isBookedOnline && o.push({
501
- id: "online",
502
- icon: /* @__PURE__ */ e(ln, { "aria-hidden": "true" }),
503
- label: n(i("bookedOnline")),
504
- variant: "info"
505
- }), t.hasUnassignedPatient && o.push({
506
- id: "unassigned",
507
- icon: /* @__PURE__ */ e(dn, { "aria-hidden": "true" }),
508
- label: n(i("unassignedPatient")),
509
- variant: "warning"
510
- }), t.hasHighlightedAnamnesis && o.push({
511
- id: "anamnesis",
512
- icon: /* @__PURE__ */ e(at, { "aria-hidden": "true" }),
513
- label: n(i("anamnesis")),
514
- variant: "accentSoft"
515
- }), t.hasBillableAmount && o.push({
516
- id: "billable",
517
- icon: /* @__PURE__ */ e(cn, { "aria-hidden": "true" }),
518
- label: n(i("billable")),
519
- variant: "warning"
520
- }), t.isTelehealth && o.push({
521
- id: "telehealth",
522
- icon: /* @__PURE__ */ e(it, { "aria-hidden": "true" }),
523
- label: n(i("telehealth")),
524
- variant: "info"
525
- }), t.isRecurring && o.push({
526
- id: "recurring",
527
- icon: /* @__PURE__ */ e(zt, { "aria-hidden": "true" }),
528
- label: n(i("recurring")),
529
- variant: "info"
530
- }), o.length === 0 ? null : /* @__PURE__ */ e("span", { className: "ds:flex ds:flex-wrap ds:gap-[var(--spacing-2xs)]", children: o.map((r) => /* @__PURE__ */ e(
531
- He,
532
- {
533
- variant: r.variant,
534
- size: "sm",
535
- leading: r.icon,
536
- children: r.label
537
- },
538
- r.id
539
- )) });
540
- }
541
- function Jn({
542
- name: t,
543
- avatarSrc: n,
544
- unresolved: i = !1,
545
- status: o,
546
- flags: r,
547
- age: a,
548
- onOpenPatient: d,
549
- highlightedAnamnesisCount: u = 0,
550
- expiredAnamnesisCount: s = 0,
551
- anamnesisAnswers: l = [],
552
- locale: p
553
- }) {
554
- const { t: g, i18n: I } = O(), v = (y) => `calendarWorkspace.details.${y}`, { optionFor: R } = tt(o), w = o ? R(o) : void 0, T = u, S = s;
555
- return /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-md)] ds:pb-0", children: [
556
- /* @__PURE__ */ m("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]", children: [
557
- /* @__PURE__ */ e(_t, { name: t, src: n }),
558
- /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)] ds:[min-inline-size:0]", children: [
559
- /* @__PURE__ */ m("span", { className: "ds:flex ds:flex-wrap ds:items-baseline ds:gap-[var(--spacing-2xs)] ds:text-start", children: [
560
- d ? /* @__PURE__ */ e(L, { size: "sm", intent: "link", onClick: () => d(), children: t }) : /* @__PURE__ */ e("span", { className: "ds:font-[var(--font-weight-semibold)] ds:truncate", children: t }),
561
- a !== void 0 ? /* @__PURE__ */ e("span", { className: "type-body-sm ds:text-[color:var(--muted-foreground)]", children: g(v("patientAge"), { n: a }) }) : null
562
- ] }),
563
- i ? /* @__PURE__ */ e("span", { className: "type-body-sm ds:text-start ds:text-[color:var(--muted-foreground)]", children: g(v("patientNotLoaded")) }) : null,
564
- o && w ? /* @__PURE__ */ e("span", { children: /* @__PURE__ */ e(
565
- He,
566
- {
567
- variant: Yn[o],
568
- size: "sm",
569
- leading: w.icon,
570
- children: w.label
571
- }
572
- ) }) : null,
573
- /* @__PURE__ */ e(Qn, { event: r })
574
- ] })
575
- ] }),
576
- T + S > 0 ? /* @__PURE__ */ m(
577
- z,
578
- {
579
- variant: "warning",
580
- announce: "off",
581
- icon: /* @__PURE__ */ e(at, { "aria-hidden": "true" }),
582
- children: [
583
- /* @__PURE__ */ e(z.Title, { as: "p", children: g(v("anamnesisTitle")) }),
584
- /* @__PURE__ */ e(z.Description, { children: [
585
- T > 0 ? g(v("anamnesisHighlighted"), { n: T }) : null,
586
- S > 0 ? g(v("anamnesisExpired"), { n: S }) : null
587
- ].filter((y) => y !== null).join(" · ") }),
588
- l.length > 0 ? (
589
- /* Question · yes or no · answer · interview date, as the
590
- platform's details dialog lists them. A list, not a
591
- Description, which renders a <p>. */
592
- /* @__PURE__ */ e("ul", { className: "type-body-sm ds:m-0 ds:mt-[var(--spacing-xs)] ds:flex ds:list-none ds:flex-col ds:gap-[var(--spacing-2xs)] ds:p-0", children: l.map((y) => /* @__PURE__ */ m("li", { className: "ds:text-start", children: [
593
- /* @__PURE__ */ e("span", { className: "ds:font-[var(--font-weight-semibold)]", children: y.question }),
594
- ` · ${g(v(y.yes ? "anamnesisYes" : "anamnesisNo"))}`,
595
- y.answer ? ` · ${y.answer}` : "",
596
- ` · ${ze(p ?? I.language, y.interviewIso)}`
597
- ] }, y.question)) })
598
- ) : null
599
- ]
600
- }
601
- ) : null
602
- ] });
603
- }
604
- function Ze({
605
- eyebrow: t,
606
- heading: n,
607
- facts: i
608
- }) {
609
- return /* @__PURE__ */ m(Y, { children: [
610
- /* @__PURE__ */ e(me.Eyebrow, { children: t }),
611
- /* @__PURE__ */ e(me.Heading, { children: n }),
612
- i && i.length > 0 ? /* @__PURE__ */ e(me.Body, { children: /* @__PURE__ */ e("ul", { className: "ds:m-0 ds:flex ds:list-none ds:flex-col ds:gap-[var(--spacing-2xs)] ds:p-0 type-body-sm", children: i.map((o, r) => /* @__PURE__ */ e(
613
- "li",
614
- {
615
- className: o.muted ? "ds:text-[color:var(--muted-foreground)]" : void 0,
616
- children: o.text
617
- },
618
- r
619
- )) }) }) : null
620
- ] });
621
- }
622
- const Xn = "ds:inline-flex ds:cursor-pointer ds:rounded-[var(--radius-full)] ds:p-0 ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]";
623
- function At({
624
- id: t,
625
- eyebrow: n,
626
- heading: i,
627
- facts: o,
628
- children: r
629
- }) {
630
- return /* @__PURE__ */ m(me, { children: [
631
- /* @__PURE__ */ e(me.Trigger, { asChild: !0, children: /* @__PURE__ */ e("button", { type: "button", "data-chip-hover": t, className: Xn, children: r }) }),
632
- /* @__PURE__ */ e(me.Content, { side: "bottom", align: "start", size: "sm", children: /* @__PURE__ */ e(Ze, { eyebrow: n, heading: i, facts: o }) })
633
- ] });
634
- }
635
- const c = (t) => `calendarWorkspace.details.${t}`, Zn = "type-body-sm ds:text-[color:var(--muted-foreground)]", Ft = (t) => /* @__PURE__ */ e("a", { href: `tel:${t.replace(/\s/g, "")}`, dir: "ltr", children: t }), Wt = (t) => /* @__PURE__ */ e("a", { href: `mailto:${t}`, dir: "ltr", children: t }), jt = (t, n, i) => new Intl.NumberFormat(t, { style: "currency", currency: i }).format(n);
636
- function Tt({ rows: t }) {
637
- const n = t.filter((i) => !!i);
638
- return n.length === 0 ? null : /* @__PURE__ */ e(_e, { layout: "inline", density: "compact", children: n.map((i) => /* @__PURE__ */ m(
639
- _e.Row,
640
- {
641
- "data-row": i.id,
642
- icon: i.icon,
643
- children: [
644
- /* @__PURE__ */ e(_e.Term, { children: i.label }),
645
- /* @__PURE__ */ e(_e.Detail, { children: i.value })
646
- ]
647
- },
648
- i.id
649
- )) });
650
- }
651
- function ea({
652
- details: t,
653
- locale: n,
654
- currency: i,
655
- now: o,
656
- mapsLink: r = !1
657
- }) {
658
- const { t: a } = O(), { patient: d, signing: u, money: s, booking: l } = t;
659
- if (!d) return null;
660
- const p = u && u.required > 0 ? u : void 0, g = ((p == null ? void 0 : p.toComplete) ?? 0) > 0, I = p ? [
661
- {
662
- text: g ? p.requestedVia === "sms" ? a(c("signingRequestedSms")) : p.requestedVia === "email" ? a(c("signingRequestedEmail")) : a(c("signingNotRequested")) : a(c("signingAllSigned"))
663
- },
664
- ...p.aesSetUp ? [] : [{ text: a(c("aesMissing")), muted: !0 }]
665
- ] : [], v = d.highlightedAnamnesisCount ?? 0, R = d.expiredAnamnesisCount ?? 0, w = (d.highlightedAnamnesisAnswers ?? []).map((N) => ({
666
- text: [
667
- N.question,
668
- a(c(N.yes ? "anamnesisYes" : "anamnesisNo")),
669
- N.answer,
670
- ze(n, N.interviewIso)
671
- ].filter(Boolean).join(" · ")
672
- })), T = Bt(d), S = Un(d) || T, y = [
673
- ...d.dobIso ? [
674
- {
675
- id: "dob",
676
- label: a(c("dob")),
677
- icon: /* @__PURE__ */ e(Pn, {}),
678
- value: `${ze(n, d.dobIso)} ${a(
679
- c("patientAge"),
680
- {
681
- n: Bn(d.dobIso, o)
682
- }
683
- )}`
684
- }
685
- ] : [],
686
- ...Kn(d).map((N, W) => {
687
- const j = N.label === "mobile" || N.label === "home" || N.label === "work";
688
- return {
689
- id: `phone-${W}`,
690
- label: a(j ? `calendarWorkspace.print.phoneLabels.${N.label}` : c("phone")),
691
- icon: N.label === "mobile" ? /* @__PURE__ */ e(hn, {}) : /* @__PURE__ */ e(fn, {}),
692
- value: Ft(N.number)
693
- };
694
- }),
695
- ...d.email ? [
696
- {
697
- id: "email",
698
- label: a(c("email")),
699
- icon: /* @__PURE__ */ e(gn, {}),
700
- value: Wt(d.email)
701
- }
702
- ] : [],
703
- ...r ? [
704
- {
705
- id: "address",
706
- label: a(c("address")),
707
- icon: /* @__PURE__ */ e(vn, {}),
708
- value: T ? /* @__PURE__ */ e(
709
- "a",
710
- {
711
- href: Gn(d),
712
- target: "_blank",
713
- rel: "noopener noreferrer",
714
- "aria-label": `${a(c("mapsLink"))}: ${S}`,
715
- children: S
716
- }
717
- ) : /* @__PURE__ */ e("span", { className: Zn, children: a(c("noAddress")) })
718
- }
719
- ] : []
720
- ], x = (s == null ? void 0 : s.unpaidAmount) ?? 0, D = (s == null ? void 0 : s.billableAmount) ?? 0, E = (l == null ? void 0 : l.paidOnlineAmount) ?? 0, Q = (N, W, j, U, ae, ie) => /* @__PURE__ */ e(
721
- At,
722
- {
723
- id: j,
724
- eyebrow: a(c("hoverBilling")),
725
- heading: a(c(U), {
726
- amount: jt(n, W, i)
727
- }),
728
- facts: [{ text: a(c(ae)) }],
729
- children: /* @__PURE__ */ e(
730
- mn,
731
- {
732
- "data-chip": j,
733
- state: N,
734
- amount: W,
735
- currency: i,
736
- locale: n,
737
- size: "md",
738
- showLabel: !0,
739
- label: ie,
740
- showIcon: !1
741
- }
742
- )
743
- }
744
- );
745
- return /* @__PURE__ */ e(
746
- Rt,
747
- {
748
- "data-card": "patient",
749
- name: d.name,
750
- avatarUrl: d.avatarSrc,
751
- locale: n,
752
- surface: "elevated",
753
- density: "compact",
754
- flags: {
755
- unsignedDocumentsCount: (p == null ? void 0 : p.toComplete) ?? 0,
756
- highlightedAnamnesisCount: v
757
- },
758
- flagHover: {
759
- ...p ? {
760
- unsignedDocuments: /* @__PURE__ */ e(
761
- Ze,
762
- {
763
- eyebrow: a(c("sectionSigning")),
764
- heading: p.toComplete === 1 ? a(c("signingToSignOne")) : a(c("signingToSignMany"), {
765
- n: p.toComplete
766
- }),
767
- facts: I
768
- }
769
- )
770
- } : {},
771
- highlightedAnamnesis: /* @__PURE__ */ e(
772
- Ze,
773
- {
774
- eyebrow: a(c("anamnesisTitle")),
775
- heading: a(c("anamnesisHighlighted"), { n: v }),
776
- facts: w
777
- }
778
- )
779
- },
780
- extraChips: x > 0 || D > 0 || E > 0 || R > 0 ? /* @__PURE__ */ m(Y, { children: [
781
- /* @__PURE__ */ m("span", { className: "ds:inline-flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
782
- x > 0 ? Q(
783
- "debt",
784
- x,
785
- "unpaid",
786
- "hoverUnpaidHeading",
787
- "hoverUnpaidFact"
788
- ) : null,
789
- D > 0 ? Q(
790
- "to-invoice",
791
- D,
792
- "billable",
793
- "hoverBillableHeading",
794
- "hoverBillableFact"
795
- ) : null,
796
- E > 0 ? Q(
797
- "settled",
798
- E,
799
- "paidOnline",
800
- "hoverPaidOnlineHeading",
801
- "hoverPaidOnlineFact",
802
- /* A deposit is settled money, but "Settled" hides where
803
- it came from: the chip says what its hover card says. */
804
- a(c("paidOnline"))
805
- ) : null
806
- ] }),
807
- R > 0 ? /* @__PURE__ */ e(
808
- At,
809
- {
810
- id: "anamnesisExpired",
811
- eyebrow: a(c("anamnesisTitle")),
812
- heading: a(c("anamnesisExpired"), { n: R }),
813
- facts: [{ text: a(c("hoverAnamnesisExpiredFact")) }],
814
- children: /* @__PURE__ */ e(
815
- He,
816
- {
817
- "data-chip": "anamnesisExpired",
818
- variant: "warning",
819
- size: "md",
820
- leading: /* @__PURE__ */ e(at, {}),
821
- children: a(c("anamnesisExpired"), { n: R })
822
- }
823
- )
824
- }
825
- ) : null
826
- ] }) : void 0,
827
- visibleFieldOrder: y.map((N) => N.id),
828
- sections: y.length > 0 ? [{ id: "contact", heading: a(c("sectionPatient")), fields: y }] : void 0
829
- }
830
- );
831
- }
832
- function ta({
833
- details: t,
834
- locale: n,
835
- currency: i,
836
- operator: o,
837
- chair: r,
838
- description: a,
839
- privacy: d = !1
840
- }) {
841
- const { t: u } = O(), { appointment: s, booking: l, patient: p } = t, g = (E) => u(`calendarWorkspace.editor.${E}`), I = new Date(s.startIso), v = new Date(I.getTime() + s.durationMin * 6e4), R = Number.isFinite(I.getTime()), { recurrence: w } = s, T = w && qn[w.frequency], S = T ? u(`calendarWorkspace.editor.${T}`) : void 0, y = l ? [
842
- l.bookedAtIso && {
843
- id: "bookedAt",
844
- label: u(c("bookedAt")),
845
- value: /* @__PURE__ */ e(
846
- pn,
847
- {
848
- value: l.bookedAtIso,
849
- format: "absolute",
850
- shape: "bare",
851
- locale: n,
852
- absoluteFormat: $t
853
- }
854
- )
855
- },
856
- l.typedName && {
857
- id: "bookingName",
858
- label: u(c("bookingName")),
859
- value: l.typedName
860
- },
861
- l.phone && {
862
- id: "bookingPhone",
863
- label: u(c("bookingPhone")),
864
- value: Ft(l.phone)
865
- },
866
- l.email && {
867
- id: "bookingEmail",
868
- label: u(c("bookingEmail")),
869
- value: Wt(l.email)
870
- },
871
- l.note && {
872
- id: "bookingNote",
873
- label: u(c("bookingNote")),
874
- value: l.note
875
- },
876
- /* With a patient the amount is a chip on the patient card. */
877
- !p && l.paidOnlineAmount !== void 0 && {
878
- id: "paidOnline",
879
- label: u(c("paidOnline")),
880
- value: jt(n, l.paidOnlineAmount, i)
881
- }
882
- ] : [], x = d ? y.filter((E) => E && E.id === "bookedAt") : y, D = x.some(Boolean);
883
- return /* @__PURE__ */ m(
884
- ne,
885
- {
886
- "data-card": "appointment",
887
- title: u(c("sectionAppointment")),
888
- headingLevel: 3,
889
- children: [
890
- a,
891
- /* @__PURE__ */ e(
892
- Tt,
893
- {
894
- rows: [
895
- R && {
896
- id: "date",
897
- label: g("date"),
898
- icon: /* @__PURE__ */ e(yn, {}),
899
- value: ze(n, I)
900
- },
901
- R && {
902
- id: "time",
903
- label: u(c("time")),
904
- icon: /* @__PURE__ */ e(Mt, {}),
905
- value: s.allDay ? g("allDay") : $n(n, I, v)
906
- },
907
- !s.allDay && {
908
- id: "duration",
909
- label: g("duration"),
910
- icon: /* @__PURE__ */ e(bn, {}),
911
- value: `${s.durationMin} ${g("durationUnit")}`
912
- },
913
- s.isTelehealth && {
914
- id: "type",
915
- label: g("type"),
916
- icon: /* @__PURE__ */ e(it, {}),
917
- value: g("typeTelehealth")
918
- },
919
- o && {
920
- id: "operator",
921
- label: u(c("operator")),
922
- /* A person, as on the grid: the avatar fills the icon slot. */
923
- icon: /* @__PURE__ */ e(_t, { name: o.name, src: o.avatarSrc, size: "xs" }),
924
- value: o.name
925
- },
926
- r && {
927
- id: "chair",
928
- label: u(c("chair")),
929
- icon: /* @__PURE__ */ e(wt, {}),
930
- value: /* @__PURE__ */ e(He, { variant: "neutral", size: "sm", leading: /* @__PURE__ */ e(wt, {}), children: r.name })
931
- },
932
- s.branchLabel && {
933
- id: "branch",
934
- label: g("branch"),
935
- icon: /* @__PURE__ */ e(kn, {}),
936
- value: s.branchLabel
937
- },
938
- S && w && {
939
- id: "series",
940
- label: u(c("seriesLabel")),
941
- icon: /* @__PURE__ */ e(zt, {}),
942
- value: w.count === void 0 ? S : u(c("seriesRule"), {
943
- frequency: S,
944
- count: w.count
945
- })
946
- }
947
- ]
948
- }
949
- ),
950
- D ? /* @__PURE__ */ m(
951
- "div",
952
- {
953
- "data-block": "booking",
954
- className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]",
955
- children: [
956
- /* @__PURE__ */ e("h4", { className: "ds:m-0 type-label ds:text-[color:var(--muted-foreground)]", children: u(c("sectionBooking")) }),
957
- /* @__PURE__ */ e(Tt, { rows: x })
958
- ]
959
- }
960
- ) : null
961
- ]
962
- }
963
- );
964
- }
965
- function na({
966
- details: t,
967
- locale: n,
968
- currency: i,
969
- privacy: o = !1
970
- }) {
971
- const { t: r } = O(), { care: a } = t, d = o || a == null ? void 0 : a.plan;
972
- return !a || !d && a.lines.length === 0 ? null : /* @__PURE__ */ m(
973
- ne,
974
- {
975
- "data-card": "treatments",
976
- title: r(c("sectionTreatments")),
977
- headingLevel: 3,
978
- children: [
979
- d ? /* @__PURE__ */ m("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)] type-title-item", children: [
980
- /* @__PURE__ */ e(
981
- Ot,
982
- {
983
- "aria-hidden": "true",
984
- className: "ds:size-4 ds:shrink-0 ds:text-[color:var(--muted-foreground)]"
985
- }
986
- ),
987
- d.number ? r(c("planLine"), { number: d.number, name: d.name }) : d.name
988
- ] }) : null,
989
- a.lines.length > 0 ? /* @__PURE__ */ e(
990
- Pt,
991
- {
992
- lines: a.lines.map(({ entryId: u, careId: s, ...l }) => ({
993
- id: u,
994
- ...l
995
- })),
996
- locale: n,
997
- currency: i
998
- }
999
- ) : null
1000
- ]
1001
- }
1002
- );
1003
- }
1004
- const St = 3;
1005
- function aa({
1006
- preview: t,
1007
- onOpenNotes: n,
1008
- locale: i
1009
- }) {
1010
- const { t: o } = O(), r = Ue(), a = t.status ?? "ready", d = C(!1);
1011
- te(() => {
1012
- d.current && (a !== "loading" && (d.current = !1), Ae(r));
1013
- }, [a, r]);
1014
- const u = t.total ?? (a === "ready" ? t.notes.length : null), s = Math.max(0, (u ?? 0) - St), l = s > 0 ? o(c("notesMore"), { n: s }) : o(c("notesPreviewOpen"));
1015
- return /* @__PURE__ */ m(
1016
- ne,
1017
- {
1018
- "data-card": "notes",
1019
- headingId: r,
1020
- headingLevel: 3,
1021
- title: u === null ? o("notesPanel.title") : o(c("notesPreviewTitle"), { count: u }),
1022
- headerAction: n && (u ?? 0) > 0 ? /* @__PURE__ */ m("span", { className: "ds:relative ds:inline-flex", children: [
1023
- /* @__PURE__ */ e(
1024
- Dt,
1025
- {
1026
- icon: /* @__PURE__ */ e(wn, { "aria-hidden": "true" }),
1027
- intent: "outline",
1028
- size: "sm",
1029
- "data-action": "open-patient-notes",
1030
- "aria-label": l,
1031
- tooltip: l,
1032
- onClick: () => n()
1033
- }
1034
- ),
1035
- s > 0 ? (
1036
- /* Decorative: the button's name already says the count. */
1037
- /* @__PURE__ */ e(
1038
- un,
1039
- {
1040
- variant: "outline",
1041
- size: "sm",
1042
- background: "surface",
1043
- count: s,
1044
- "aria-hidden": "true",
1045
- className: "ds:pointer-events-none ds:absolute ds:-top-[var(--spacing-2xs)] ds:-end-[var(--spacing-2xs)]"
1046
- }
1047
- )
1048
- ) : null
1049
- ] }) : void 0,
1050
- children: [
1051
- a === "error" ? /* @__PURE__ */ m(z, { variant: "error", children: [
1052
- /* @__PURE__ */ e(z.Description, { children: o("notesPanel.loadError") }),
1053
- t.onRetry ? /* @__PURE__ */ e(z.Action, { children: /* @__PURE__ */ e(
1054
- L,
1055
- {
1056
- intent: "secondary",
1057
- size: "sm",
1058
- onClick: () => {
1059
- var p;
1060
- d.current = !0, (p = t.onRetry) == null || p.call(t);
1061
- },
1062
- children: o("notesPanel.retry")
1063
- }
1064
- ) }) : null
1065
- ] }) : null,
1066
- t.notes.length === 0 && a === "loading" ? /* @__PURE__ */ m(Y, { children: [
1067
- /* @__PURE__ */ e("span", { role: "status", className: "ds:sr-only", children: o("notesPanel.loading") }),
1068
- /* @__PURE__ */ e(Ve, { notes: [], loading: !0, loadingRows: 2 })
1069
- ] }) : a !== "error" || t.notes.length > 0 ? (
1070
- /* A note click, or Enter or Space on it, goes straight to that note
1071
- in the Notes tool; the header button opens the tool at the top. */
1072
- /* @__PURE__ */ e(
1073
- Ve,
1074
- {
1075
- notes: t.notes,
1076
- maxItems: St,
1077
- locale: i,
1078
- "aria-labelledby": r,
1079
- onNoteActivate: n,
1080
- emptyState: /* @__PURE__ */ e("p", { className: "ds:m-0 type-body-sm ds:text-[color:var(--muted-foreground)]", children: o(c("notesPreviewEmpty")) })
1081
- }
1082
- )
1083
- ) : null
1084
- ]
1085
- }
1086
- );
1087
- }
1088
- const ia = et("ds:flex ds:h-full ds:min-h-0 ds:flex-col"), sa = et(
1089
- "ds:flex ds:shrink-0 ds:items-center ds:justify-end ds:gap-[var(--spacing-xs)] ds:border-t ds:border-[color:var(--border)] ds:p-[var(--spacing-sm)]"
1090
- ), oa = et(
1091
- "ds:shrink-0 ds:rounded-[var(--radius-md)] ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]"
1092
- ), K = "ds:[.theme-accessible_&]:[min-block-size:var(--min-target-size)]", ra = "ds:[.theme-accessible_&>button]:[min-block-size:var(--min-target-size)]", la = [
1093
- "ds:[.theme-accessible_&_button:has(svg.lucide-ellipsis)]:[min-block-size:var(--min-target-size)]",
1094
- "ds:[.theme-accessible_&_button:has(svg.lucide-ellipsis)]:[min-inline-size:var(--min-target-size)]"
1095
- ].join(" "), qt = ["40%", "33%", "50%", "25%"], da = [
1096
- "bill",
1097
- "folder",
1098
- "template",
1099
- "empty",
1100
- "identification",
1101
- "webcam"
1102
- ], ca = {
1103
- bill: /* @__PURE__ */ e(Cn, { "aria-hidden": "true" }),
1104
- folder: /* @__PURE__ */ e(En, { "aria-hidden": "true" }),
1105
- template: /* @__PURE__ */ e(Dn, { "aria-hidden": "true" }),
1106
- empty: /* @__PURE__ */ e(In, { "aria-hidden": "true" }),
1107
- identification: /* @__PURE__ */ e(_n, { "aria-hidden": "true" }),
1108
- webcam: /* @__PURE__ */ e(Sn, { "aria-hidden": "true" })
1109
- }, k = (t) => `calendarWorkspace.details.${t}`;
1110
- function It({
1111
- children: t,
1112
- startIcon: n,
1113
- overflowItems: i,
1114
- "data-action": o,
1115
- intent: r,
1116
- background: a,
1117
- size: d,
1118
- hideLabel: u
1119
- }) {
1120
- return /* @__PURE__ */ m(Me.Root, { children: [
1121
- /* @__PURE__ */ e(tn, { label: t, side: "top", children: /* @__PURE__ */ e(Me.Trigger, { asChild: !0, children: /* @__PURE__ */ e(
1122
- L,
1123
- {
1124
- intent: r,
1125
- background: a,
1126
- size: d,
1127
- "data-action": o,
1128
- className: K,
1129
- startIcon: n,
1130
- "aria-haspopup": "menu",
1131
- endIcon: /* @__PURE__ */ e(Tn, { "aria-hidden": "true" }),
1132
- children: u ? /* @__PURE__ */ e("span", { className: "ds:sr-only", children: t }) : t
1133
- }
1134
- ) }) }),
1135
- /* @__PURE__ */ e(Me.Content, { align: "end", children: i.map((s) => /* @__PURE__ */ e(
1136
- Me.Item,
1137
- {
1138
- "data-action": s.action,
1139
- startIcon: s.icon,
1140
- onSelect: s.onSelect,
1141
- children: s.label
1142
- },
1143
- s.label
1144
- )) })
1145
- ] });
1146
- }
1147
- function ua() {
1148
- const { t } = O();
1149
- return /* @__PURE__ */ m(Y, { children: [
1150
- /* @__PURE__ */ e("span", { role: "status", className: "ds:sr-only", children: t("common.loading") }),
1151
- /* @__PURE__ */ m(
1152
- "div",
1153
- {
1154
- "aria-hidden": "true",
1155
- className: "ds:flex ds:min-h-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-sm)] ds:overflow-hidden ds:p-[var(--spacing-md)] ds:[&>*]:shrink-0",
1156
- children: [
1157
- /* @__PURE__ */ e(
1158
- Rt,
1159
- {
1160
- name: "",
1161
- loading: !0,
1162
- surface: "elevated",
1163
- density: "compact"
1164
- }
1165
- ),
1166
- /* @__PURE__ */ m(ne, { title: t(k("sectionAppointment")), headingLevel: 3, children: [
1167
- /* @__PURE__ */ e(Et, { loading: !0, maxLines: 2 }),
1168
- /* @__PURE__ */ e("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: qt.map((n, i) => /* @__PURE__ */ m(
1169
- "div",
1170
- {
1171
- className: "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]",
1172
- children: [
1173
- /* @__PURE__ */ e(
1174
- ue,
1175
- {
1176
- variant: "rounded",
1177
- stagger: i + 2,
1178
- width: "var(--spacing-md)",
1179
- height: "var(--spacing-md)",
1180
- className: "ds:shrink-0"
1181
- }
1182
- ),
1183
- /* @__PURE__ */ e(
1184
- ue,
1185
- {
1186
- variant: "text",
1187
- size: "sm",
1188
- stagger: i + 2,
1189
- width: n
1190
- }
1191
- )
1192
- ]
1193
- },
1194
- n
1195
- )) })
1196
- ] }),
1197
- /* @__PURE__ */ e(ne, { title: t("notesPanel.title"), headingLevel: 3, children: /* @__PURE__ */ e(Ve, { notes: [], loading: !0, loadingRows: 2 }) }),
1198
- /* @__PURE__ */ e(ne, { title: t(k("sectionTreatments")), headingLevel: 3, children: /* @__PURE__ */ e(Pt, { lines: [], loading: !0 }) })
1199
- ]
1200
- }
1201
- ),
1202
- /* @__PURE__ */ m(
1203
- "div",
1204
- {
1205
- "aria-hidden": "true",
1206
- className: "ds:flex ds:shrink-0 ds:items-center ds:gap-[var(--spacing-sm)] ds:border-t ds:border-[color:var(--border)] ds:p-[var(--spacing-md)]",
1207
- children: [
1208
- /* @__PURE__ */ e(ue, { variant: "rounded", width: "33%", height: "var(--spacing-xl)" }),
1209
- /* @__PURE__ */ e(
1210
- ue,
1211
- {
1212
- variant: "rounded",
1213
- stagger: 1,
1214
- height: "var(--spacing-xl)",
1215
- className: "ds:flex-1"
1216
- }
1217
- )
1218
- ]
1219
- }
1220
- )
1221
- ] });
1222
- }
1223
- function pa({
1224
- history: t,
1225
- locale: n,
1226
- onRetry: i
1227
- }) {
1228
- var g;
1229
- const { t: o } = O(), r = t.status ?? (t.entries ? "ready" : "loading"), a = r === "error" ? void 0 : t.entries, d = r === "loading" || r !== "error" && !a, [u, s] = _(!1);
1230
- pe(() => s(!0), []);
1231
- let l = "";
1232
- d ? l = o("common.loading") : a && (l = a.length === 0 ? o(k("historyEmpty")) : o(k("historyLoaded"), { n: a.length }));
1233
- let p;
1234
- return r === "error" ? p = /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
1235
- /* @__PURE__ */ e(z, { variant: "error", children: /* @__PURE__ */ e(z.Description, { children: ((g = t.message) == null ? void 0 : g.trim()) || o("emptyState.error.description") }) }),
1236
- i ? /* @__PURE__ */ e(
1237
- L,
1238
- {
1239
- intent: "outline",
1240
- "data-action": "retry-history",
1241
- onClick: () => i(),
1242
- children: o("emptyState.error.cta")
1243
- }
1244
- ) : null
1245
- ] }) : d || !a ? p = /* @__PURE__ */ e(
1246
- "div",
1247
- {
1248
- "aria-hidden": "true",
1249
- className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]",
1250
- children: qt.slice(0, 3).map((I, v) => /* @__PURE__ */ m(
1251
- "div",
1252
- {
1253
- className: "ds:flex ds:items-start ds:gap-[var(--spacing-sm)]",
1254
- children: [
1255
- /* @__PURE__ */ e(
1256
- ue,
1257
- {
1258
- variant: "circular",
1259
- stagger: v,
1260
- width: "var(--spacing-xl)",
1261
- height: "var(--spacing-xl)",
1262
- className: "ds:shrink-0"
1263
- }
1264
- ),
1265
- /* @__PURE__ */ e(
1266
- ue,
1267
- {
1268
- variant: "rounded",
1269
- stagger: v,
1270
- width: I,
1271
- height: "var(--spacing-2xl)"
1272
- }
1273
- )
1274
- ]
1275
- },
1276
- I
1277
- ))
1278
- }
1279
- ) : p = /* @__PURE__ */ e(Vn, { history: a, locale: n }), /* @__PURE__ */ m(Y, { children: [
1280
- /* @__PURE__ */ e("span", { role: "status", className: "ds:sr-only", children: u ? l : "" }),
1281
- p
1282
- ] });
1283
- }
1284
- function ma({
1285
- read: t,
1286
- refreshing: n,
1287
- currency: i,
1288
- now: o,
1289
- locale: r,
1290
- shownTitle: a,
1291
- headingId: d,
1292
- enter: u,
1293
- live: s,
1294
- statusControl: l,
1295
- patientId: p = ((De) => (De = t.patient) == null ? void 0 : De.id)(),
1296
- operator: g,
1297
- chair: I,
1298
- privacy: v = !1,
1299
- privacyTitle: R,
1300
- mapsLink: w,
1301
- notesPreview: T,
1302
- onOpenNotes: S,
1303
- history: y,
1304
- onOpenHistory: x,
1305
- readOnly: D = !1,
1306
- onStatusChange: E,
1307
- allowedStatuses: Q = bt,
1308
- onDescriptionChange: N,
1309
- onEdit: W,
1310
- onMove: j,
1311
- onCopy: U,
1312
- onDelete: ae,
1313
- onJoinTelehealth: ie,
1314
- onWhatsApp: Te,
1315
- whatsappUrl: Se,
1316
- createTaskUrl: Ie,
1317
- documents: J
1318
- }) {
1319
- var mt, ht;
1320
- const { t: h } = O(), { eventId: P } = t, [$e] = _(u), se = { details: t, locale: r, currency: i }, A = y ? y.eventId !== void 0 && y.eventId !== P ? { status: "loading" } : y : t.history ? { entries: t.history } : void 0, Ee = (T == null ? void 0 : T.patientId) === void 0 || T.patientId === p, oe = T ? Ee ? T : p ? { notes: [], status: "loading", total: null } : void 0 : void 0, X = !!N && !D && !v, [he, G] = _(!1), [fe, q] = _(!1), Z = he && A !== void 0, Ce = fe && X, ge = () => {
1321
- Z || !A || (G(!0), x == null || x(P));
1322
- }, Re = C({ history: !1, editor: !1 });
1323
- te(() => {
1324
- const f = Re.current;
1325
- Re.current = { history: Z, editor: Ce };
1326
- const ce = f.history && A === void 0, ft = f.editor && !X;
1327
- ce && G(!1), ft && q(!1), (ce || ft) && Ae(d);
1328
- });
1329
- const re = C(null), M = C(!1), ve = (A == null ? void 0 : A.status) ?? (A != null && A.entries ? "ready" : "loading");
1330
- te(() => {
1331
- M.current && (ve !== "loading" && (M.current = !1), Je(re.current));
1332
- }, [ve]);
1333
- const [F, ye] = _(t.appointment.name ?? "");
1334
- pe(() => {
1335
- ye(t.appointment.name ?? "");
1336
- }, [t.appointment.name]);
1337
- const [be, ee] = _(""), [le, ke] = _(!1), [b, H] = _(), de = C(null);
1338
- pe(() => {
1339
- fe && (ee(F), H(void 0));
1340
- }, [fe]);
1341
- const Pe = async () => {
1342
- if (!N) return;
1343
- const f = be.trim();
1344
- ke(!0), H(void 0);
1345
- try {
1346
- await N(f, P), ye(f), q(!1);
1347
- } catch (ce) {
1348
- H(
1349
- Ge(ce, h(k("descriptionSaveFailed")))
1350
- );
1351
- } finally {
1352
- ke(!1);
1353
- }
1354
- }, [$, Be] = _(t.appointment.status);
1355
- pe(() => {
1356
- Be(t.appointment.status);
1357
- }, [t.appointment.status]);
1358
- const st = C(n);
1359
- te(() => {
1360
- const f = st.current && !n;
1361
- st.current = n, f && (Be(t.appointment.status), ye(t.appointment.name ?? ""));
1362
- }, [n]);
1363
- const Le = bt.filter(
1364
- (f) => Q.includes(f)
1365
- ), we = tt($, {
1366
- statuses: Le,
1367
- /* Shown so the control can say it, but not a choice. */
1368
- disabledStatuses: $ && !Le.includes($) ? [$] : []
1369
- }), xe = !!E && !D && Le.some((f) => f !== $), Kt = async (f) => {
1370
- if (!(!E || !an(f))) {
1371
- try {
1372
- await E(f, P);
1373
- } catch (ce) {
1374
- throw new Error(Ge(ce, h(k("statusSaveFailed"))));
1375
- }
1376
- Be(f);
1377
- }
1378
- }, ot = v ? void 0 : Se, rt = da.filter(
1379
- (f) => J == null ? void 0 : J.kinds.includes(f)
1380
- ), Ut = (((mt = t.care) == null ? void 0 : mt.lines.length) ?? 0) > 0, lt = p !== void 0 && p !== "", Fe = h(k("status")), dt = `${Fe}: ${we.option.label}`, We = C(null), ct = C(xe);
1381
- te(() => {
1382
- const f = ct.current && !xe;
1383
- ct.current = xe, f && (We.current ? Je(We.current) : Ae(d));
1384
- });
1385
- const ut = xe ? /* @__PURE__ */ e(
1386
- nn,
1387
- {
1388
- ref: l,
1389
- value: we.value,
1390
- options: we.options,
1391
- size: "sm",
1392
- workflowLabel: Fe,
1393
- className: `ds:[&>button]:bg-[color:var(--background)] ${ra}`,
1394
- "aria-label": dt,
1395
- onValueChange: Kt
1396
- }
1397
- ) : $ ? (
1398
- /* Named as the control is, "Status: Confirmed": the small display
1399
- prints the value alone. */
1400
- /* @__PURE__ */ e(
1401
- "div",
1402
- {
1403
- ref: We,
1404
- role: "group",
1405
- "aria-label": dt,
1406
- tabIndex: -1,
1407
- "data-status-display": "",
1408
- className: oa(),
1409
- children: /* @__PURE__ */ e(
1410
- Ye,
1411
- {
1412
- value: we.value,
1413
- size: "sm",
1414
- workflowLabel: Fe,
1415
- option: we.option
1416
- }
1417
- )
1418
- }
1419
- )
1420
- ) : null, B = [];
1421
- ie && B.push([
1422
- "join-telehealth",
1423
- /* @__PURE__ */ e(
1424
- L,
1425
- {
1426
- intent: "primary",
1427
- "data-action": "join-telehealth",
1428
- className: K,
1429
- startIcon: /* @__PURE__ */ e(it, { "aria-hidden": "true" }),
1430
- onClick: () => ie(P),
1431
- children: h(k("joinTelehealth"))
1432
- },
1433
- "join"
1434
- )
1435
- ]), !D && W && B.push([
1436
- "edit-appointment",
1437
- /* @__PURE__ */ e(
1438
- L,
1439
- {
1440
- "data-action": "edit-appointment",
1441
- className: K,
1442
- startIcon: /* @__PURE__ */ e(Qe, { "aria-hidden": "true" }),
1443
- onClick: () => W(P),
1444
- children: h("calendarWorkspace.editor.editTitle")
1445
- },
1446
- "edit"
1447
- )
1448
- ]), !D && j && B.push([
1449
- "move-appointment",
1450
- /* @__PURE__ */ e(
1451
- L,
1452
- {
1453
- "data-action": "move-appointment",
1454
- className: K,
1455
- startIcon: /* @__PURE__ */ e(Ht, { "aria-hidden": "true" }),
1456
- onClick: () => j(P),
1457
- children: h(k("move"))
1458
- },
1459
- "move"
1460
- )
1461
- ]), !D && U && B.push([
1462
- "copy-appointment",
1463
- Ut ? /* @__PURE__ */ e(
1464
- It,
1465
- {
1466
- "data-action": "copy-appointment",
1467
- "data-overflow-tip": !1,
1468
- startIcon: /* @__PURE__ */ e(Nt, { "aria-hidden": "true" }),
1469
- overflowItems: [
1470
- {
1471
- label: h("calendarWorkspace.editor.duplicateAppointmentOnly"),
1472
- icon: /* @__PURE__ */ e(xn, { "aria-hidden": "true" }),
1473
- action: "copy-appointment-only",
1474
- onSelect: () => U(!1, P)
1475
- },
1476
- {
1477
- label: h("calendarWorkspace.editor.duplicateWithTreatments"),
1478
- icon: /* @__PURE__ */ e(Ot, { "aria-hidden": "true" }),
1479
- action: "copy-appointment-with-treatments",
1480
- onSelect: () => U(!0, P)
1481
- }
1482
- ],
1483
- children: h(k("copy"))
1484
- },
1485
- "copy"
1486
- ) : /* @__PURE__ */ e(
1487
- L,
1488
- {
1489
- "data-action": "copy-appointment",
1490
- className: K,
1491
- startIcon: /* @__PURE__ */ e(Nt, { "aria-hidden": "true" }),
1492
- onClick: () => U(!1, P),
1493
- children: h(k("copy"))
1494
- },
1495
- "copy"
1496
- )
1497
- ]), J && rt.length > 0 && B.push([
1498
- "open-create-document",
1499
- /* @__PURE__ */ e(
1500
- It,
1501
- {
1502
- "data-action": "open-create-document",
1503
- "data-overflow-tip": !1,
1504
- startIcon: /* @__PURE__ */ e(Nn, { "aria-hidden": "true" }),
1505
- overflowItems: rt.map((f) => ({
1506
- label: h(k(`documents.${f}`)),
1507
- icon: ca[f],
1508
- action: `create-document-${f}`,
1509
- onSelect: () => J.onCreate(f, P)
1510
- })),
1511
- children: h(k("documents.label"))
1512
- },
1513
- "documents"
1514
- )
1515
- ]), Te ? B.push([
1516
- "open-whatsapp",
1517
- /* @__PURE__ */ e(
1518
- L,
1519
- {
1520
- "data-action": "open-whatsapp",
1521
- className: K,
1522
- startIcon: /* @__PURE__ */ e(yt, { "aria-hidden": "true" }),
1523
- onClick: () => Te(P),
1524
- children: h(k("remindWhatsApp"))
1525
- },
1526
- "whatsapp"
1527
- )
1528
- ]) : ot && B.push([
1529
- "open-whatsapp",
1530
- /* @__PURE__ */ e(
1531
- L,
1532
- {
1533
- asChild: !0,
1534
- "data-action": "open-whatsapp",
1535
- className: K,
1536
- startIcon: /* @__PURE__ */ e(yt, { "aria-hidden": "true" }),
1537
- children: /* @__PURE__ */ e("a", { href: ot, target: "_blank", rel: "noopener noreferrer", children: h(k("remindWhatsApp")) })
1538
- },
1539
- "whatsapp"
1540
- )
1541
- ]), Ie && B.push([
1542
- "create-task",
1543
- /* @__PURE__ */ e(
1544
- L,
1545
- {
1546
- asChild: !0,
1547
- "data-action": "create-task",
1548
- className: K,
1549
- startIcon: /* @__PURE__ */ e(An, { "aria-hidden": "true" }),
1550
- children: /* @__PURE__ */ e("a", { href: Ie, children: h(k("createTask")) })
1551
- },
1552
- "task"
1553
- )
1554
- ]), !D && ae && B.push([
1555
- "delete-appointment",
1556
- /* @__PURE__ */ e(
1557
- L,
1558
- {
1559
- intent: "destructiveOutline",
1560
- "data-action": "delete-appointment",
1561
- className: K,
1562
- startIcon: /* @__PURE__ */ e(Lt, { "aria-hidden": "true" }),
1563
- onClick: () => ae(P),
1564
- children: h("calendarWorkspace.editor.delete")
1565
- },
1566
- "delete"
1567
- )
1568
- ]);
1569
- const je = B.map(([, f]) => f);
1570
- s.current = {
1571
- status: $ ?? null,
1572
- allowed: xe ? Le : [],
1573
- offered: B.map(([f]) => f),
1574
- historyAvailable: A !== void 0,
1575
- historyOpen: Z,
1576
- openHistory: ge,
1577
- closeHistory: () => G(!1)
1578
- };
1579
- const pt = h(k("historyBack"));
1580
- return /* @__PURE__ */ e(
1581
- "div",
1582
- {
1583
- className: `ds:flex ds:min-h-0 ds:flex-1 ds:flex-col ${$e ? Zt : ""}`,
1584
- children: /* @__PURE__ */ m(Ke.Host, { children: [
1585
- /* @__PURE__ */ e(
1586
- Ct,
1587
- {
1588
- title: a,
1589
- headingId: d,
1590
- icon: /* @__PURE__ */ e(nt, { "aria-hidden": "true" }),
1591
- sticky: !0,
1592
- divider: !0,
1593
- actions: A ? /* @__PURE__ */ e(
1594
- Dt,
1595
- {
1596
- size: "sm",
1597
- intent: "ghost",
1598
- icon: /* @__PURE__ */ e(xt, { "aria-hidden": "true" }),
1599
- "aria-label": h(k("historyAction")),
1600
- tooltip: h(k("historyAction")),
1601
- "data-action": "open-history",
1602
- onClick: ge
1603
- }
1604
- ) : void 0
1605
- }
1606
- ),
1607
- /* @__PURE__ */ e(
1608
- "div",
1609
- {
1610
- tabIndex: 0,
1611
- "aria-busy": n || void 0,
1612
- className: "ds:[min-block-size:0] ds:flex-1 ds:overflow-y-auto",
1613
- children: /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-md)]", children: [
1614
- v ? /* @__PURE__ */ e(Jt, { mask: R }) : t.patient ? /* @__PURE__ */ e(ea, { ...se, now: o, mapsLink: w }) : (
1615
- /* No patient card to carry the identity: a patient-less, an
1616
- unassigned or an unresolved booking keeps the strip. */
1617
- /* @__PURE__ */ e(
1618
- Jn,
1619
- {
1620
- name: t.appointment.title.trim() ? t.appointment.title : h(k("patientNotLoaded")),
1621
- unresolved: lt,
1622
- status: $,
1623
- flags: {
1624
- isTelehealth: t.appointment.isTelehealth,
1625
- isBookedOnline: t.appointment.bookedOnline,
1626
- isRecurring: t.appointment.recurrence !== void 0,
1627
- hasUnassignedPatient: t.appointment.bookedOnline && !lt,
1628
- hasHighlightedAnamnesis: !1,
1629
- hasBillableAmount: (((ht = t.money) == null ? void 0 : ht.billableAmount) ?? 0) > 0
1630
- },
1631
- locale: r
1632
- }
1633
- )
1634
- ),
1635
- /* @__PURE__ */ e(
1636
- ta,
1637
- {
1638
- ...se,
1639
- operator: g,
1640
- chair: I,
1641
- privacy: v,
1642
- description: (
1643
- /* Not keyed on the text: the pencil must survive a save,
1644
- so the sub-view can hand focus back to it. An empty
1645
- read-only description prints nothing. Privacy hides the
1646
- text and the pencil. */
1647
- v ? F ? /* @__PURE__ */ e(vt, { block: "description" }) : void 0 : F || N && !D ? /* @__PURE__ */ e(
1648
- Et,
1649
- {
1650
- "data-block": "description",
1651
- role: "group",
1652
- "aria-label": h("calendarWorkspace.editor.description"),
1653
- value: F,
1654
- editLabel: h(k("editDescription")),
1655
- onEdit: N && !D ? () => q(!0) : void 0
1656
- }
1657
- ) : void 0
1658
- )
1659
- }
1660
- ),
1661
- oe && v ? /* @__PURE__ */ e(
1662
- ne,
1663
- {
1664
- "data-card": "notes",
1665
- title: h("notesPanel.title"),
1666
- headingLevel: 3,
1667
- children: /* @__PURE__ */ e(vt, {})
1668
- }
1669
- ) : oe ? /* @__PURE__ */ e(
1670
- aa,
1671
- {
1672
- preview: oe,
1673
- onOpenNotes: Ee ? S : void 0,
1674
- locale: r
1675
- }
1676
- ) : null,
1677
- /* @__PURE__ */ e(na, { ...se, privacy: v })
1678
- ] })
1679
- }
1680
- ),
1681
- ut || je.length > 0 ? (
1682
- /* The body scrolls; the status and the actions stay put. The
1683
- status keeps its own segment and never folds. The actions fold
1684
- to icons, then into More, never onto a second line. */
1685
- /* @__PURE__ */ m("div", { className: sa(), children: [
1686
- ut,
1687
- je.length > 0 ? /* @__PURE__ */ e(
1688
- Xt,
1689
- {
1690
- label: h(k("actionsLabel")),
1691
- overflow: "menu",
1692
- collapseToIcons: !0,
1693
- background: "surface",
1694
- size: "sm",
1695
- className: `ds:min-w-0 ds:flex-1 ds:text-end ${la}`,
1696
- children: je
1697
- }
1698
- ) : null
1699
- ] })
1700
- ) : null,
1701
- A ? /* @__PURE__ */ e(
1702
- Ke,
1703
- {
1704
- ref: re,
1705
- open: Z,
1706
- icon: /* @__PURE__ */ e(xt, { "aria-hidden": "true" }),
1707
- title: h(k("historyTitle")),
1708
- backLabel: pt,
1709
- headingLevel: 3,
1710
- onBack: () => G(!1),
1711
- "data-details-subview": "history",
1712
- children: /* @__PURE__ */ e("div", { className: "ds:p-[var(--spacing-md)]", children: /* @__PURE__ */ e(
1713
- pa,
1714
- {
1715
- history: A,
1716
- locale: r,
1717
- onRetry: A.onRetry ? () => {
1718
- var f;
1719
- M.current = !0, (f = A.onRetry) == null || f.call(A);
1720
- } : void 0
1721
- }
1722
- ) })
1723
- }
1724
- ) : null,
1725
- X ? /* @__PURE__ */ e(
1726
- Ke,
1727
- {
1728
- open: Ce,
1729
- icon: /* @__PURE__ */ e(Qe, { "aria-hidden": "true" }),
1730
- title: h(k("editDescription")),
1731
- backLabel: pt,
1732
- headingLevel: 3,
1733
- initialFocusRef: de,
1734
- onBack: () => {
1735
- le || q(!1);
1736
- },
1737
- "data-details-subview": "description",
1738
- footer: /* @__PURE__ */ m(Y, { children: [
1739
- /* @__PURE__ */ e(
1740
- L,
1741
- {
1742
- intent: "secondary",
1743
- disabled: le,
1744
- onClick: () => q(!1),
1745
- children: h(k("noteCancel"))
1746
- }
1747
- ),
1748
- /* @__PURE__ */ e(
1749
- L,
1750
- {
1751
- intent: "primary",
1752
- "data-action": "save-description",
1753
- loading: le,
1754
- onClick: () => void Pe(),
1755
- children: h(k("descriptionSave"))
1756
- }
1757
- )
1758
- ] }),
1759
- children: /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-md)]", children: [
1760
- b ? /* @__PURE__ */ e(z, { variant: "error", children: /* @__PURE__ */ e(z.Description, { children: b }) }) : null,
1761
- /* @__PURE__ */ e(
1762
- en,
1763
- {
1764
- ref: de,
1765
- value: be,
1766
- minRows: 6,
1767
- autoResize: !0,
1768
- "aria-label": h("calendarWorkspace.editor.description"),
1769
- onChange: (f) => ee(f.target.value)
1770
- }
1771
- )
1772
- ] })
1773
- }
1774
- ) : null
1775
- ] })
1776
- }
1777
- );
1778
- }
1779
- const ha = Gt(function({
1780
- state: n,
1781
- onRetry: i,
1782
- patientId: o,
1783
- operator: r,
1784
- chair: a,
1785
- currency: d = "EUR",
1786
- now: u,
1787
- locale: s,
1788
- title: l,
1789
- privacy: p = !1,
1790
- privacyTitle: g,
1791
- mapsLink: I,
1792
- notesPreview: v,
1793
- onOpenNotes: R,
1794
- history: w,
1795
- onOpenHistory: T,
1796
- readOnly: S = !1,
1797
- onStatusChange: y,
1798
- allowedStatuses: x,
1799
- onDescriptionChange: D,
1800
- onEdit: E,
1801
- onMove: Q,
1802
- onCopy: N,
1803
- onDelete: W,
1804
- onJoinTelehealth: j,
1805
- onWhatsApp: U,
1806
- whatsappUrl: ae,
1807
- createTaskUrl: ie,
1808
- documents: Te,
1809
- id: Se,
1810
- className: Ie,
1811
- ...J
1812
- }, De) {
1813
- var le, ke;
1814
- const { t: h, i18n: P } = O(), $e = Ue(), se = Se ?? $e, A = Ue(), Ee = s ?? P.language, oe = !p && (l != null && l.trim()) ? l : h(k("region")), X = n.status === "ready" ? n.read : void 0, he = n.status === "ready" ? n.read.eventId : n.eventId, G = C(
1815
- void 0
1816
- ), fe = G.current !== void 0 && G.current !== "ready";
1817
- pe(() => {
1818
- G.current = n.status;
1819
- }, [n.status]);
1820
- const q = !!i && (n.status === "error" || n.status === "refused" && n.retryable === !0), Z = C(null), Ce = gt(() => Qt(De, Z), [De]), ge = C(!1);
1821
- typeof document < "u" && (ge.current = ((le = Z.current) == null ? void 0 : le.contains(document.activeElement)) ?? !1);
1822
- const Re = X ? `ready:${X.eventId}` : n.status, re = C(!1);
1823
- te(() => {
1824
- re.current ? (n.status !== "loading" && (re.current = !1), Ae(A)) : ge.current && Ae(A);
1825
- }, [Re, A]);
1826
- const M = C(null);
1827
- X || (M.current = null);
1828
- const ve = C(null), F = C({ state: n, eventId: he, privacy: p, retryOffered: q, onRetry: i });
1829
- F.current = { state: n, eventId: he, privacy: p, retryOffered: q, onRetry: i };
1830
- const ye = gt(
1831
- () => ({
1832
- getEventId: () => F.current.eventId ?? null,
1833
- getLoadStatus: () => F.current.state.status,
1834
- getAppointmentStatus: () => {
1835
- var b;
1836
- return ((b = M.current) == null ? void 0 : b.status) ?? null;
1837
- },
1838
- getAllowedStatuses: () => {
1839
- var b;
1840
- return [...((b = M.current) == null ? void 0 : b.allowed) ?? []];
1841
- },
1842
- getOfferedActions: () => {
1843
- var b;
1844
- return [...((b = M.current) == null ? void 0 : b.offered) ?? []];
1845
- },
1846
- isHistoryOpen: () => {
1847
- var b;
1848
- return ((b = M.current) == null ? void 0 : b.historyOpen) ?? !1;
1849
- },
1850
- isPrivacy: () => F.current.privacy,
1851
- openHistory: () => {
1852
- var b;
1853
- if (!((b = M.current) != null && b.historyAvailable))
1854
- throw new Error("AppointmentDetailsPanel: History is not offered.");
1855
- M.current.openHistory();
1856
- },
1857
- closeHistory: () => {
1858
- var b;
1859
- (b = M.current) == null || b.closeHistory();
1860
- },
1861
- setAppointmentStatus: (b) => {
1862
- const H = M.current, de = ve.current;
1863
- if (!H || !de || H.allowed.length === 0)
1864
- return qe(
1865
- new Error("AppointmentDetailsPanel: the status is read-only.")
1866
- );
1867
- if (b === H.status) return Promise.resolve();
1868
- if (!H.allowed.includes(b))
1869
- return qe(
1870
- new Error(`AppointmentDetailsPanel: "${b}" is not allowed.`)
1871
- );
1872
- const Pe = () => qe(
1873
- new Error("AppointmentDetailsPanel: a status save is in flight.")
1874
- );
1875
- if (de.getIsSaving()) return Pe();
1876
- const $ = de.setValue(b);
1877
- return $ === void 0 ? Pe() : $;
1878
- },
1879
- retry: () => {
1880
- const { retryOffered: b, onRetry: H } = F.current;
1881
- if (!b || !H)
1882
- throw new Error("AppointmentDetailsPanel: Retry is not offered.");
1883
- H();
1884
- }
1885
- }),
1886
- []
1887
- );
1888
- Yt(Hn, ye, se);
1889
- const be = /* @__PURE__ */ e(
1890
- Ct,
1891
- {
1892
- title: oe,
1893
- headingId: A,
1894
- icon: /* @__PURE__ */ e(nt, { "aria-hidden": "true" }),
1895
- sticky: !0,
1896
- divider: !0
1897
- }
1898
- );
1899
- let ee;
1900
- return n.status === "ready" ? ee = /* @__PURE__ */ e(
1901
- ma,
1902
- {
1903
- read: n.read,
1904
- refreshing: n.refreshing === !0,
1905
- currency: d,
1906
- now: u ?? /* @__PURE__ */ new Date(),
1907
- locale: Ee,
1908
- shownTitle: oe,
1909
- headingId: A,
1910
- enter: fe,
1911
- live: M,
1912
- statusControl: ve,
1913
- patientId: o,
1914
- operator: r,
1915
- chair: a,
1916
- privacy: p,
1917
- privacyTitle: g,
1918
- mapsLink: I,
1919
- notesPreview: v,
1920
- onOpenNotes: R,
1921
- history: w,
1922
- onOpenHistory: T,
1923
- readOnly: S,
1924
- onStatusChange: y,
1925
- allowedStatuses: x,
1926
- onDescriptionChange: D,
1927
- onEdit: E,
1928
- onMove: Q,
1929
- onCopy: N,
1930
- onDelete: W,
1931
- onJoinTelehealth: j,
1932
- onWhatsApp: U,
1933
- whatsappUrl: ae,
1934
- createTaskUrl: ie,
1935
- documents: Te
1936
- },
1937
- n.read.eventId
1938
- ) : n.status === "loading" ? ee = /* @__PURE__ */ m(Y, { children: [
1939
- be,
1940
- /* @__PURE__ */ e(ua, {})
1941
- ] }) : ee = /* @__PURE__ */ m(Y, { children: [
1942
- be,
1943
- /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-md)]", children: [
1944
- /* @__PURE__ */ e(z, { variant: n.status === "error" ? "error" : "warning", children: /* @__PURE__ */ e(z.Description, { children: n.status === "error" ? ((ke = n.message) == null ? void 0 : ke.trim()) || h("emptyState.error.description") : n.reason }) }),
1945
- q ? /* @__PURE__ */ e(
1946
- L,
1947
- {
1948
- intent: "outline",
1949
- "data-action": "retry-load",
1950
- onClick: () => {
1951
- re.current = !0, i == null || i();
1952
- },
1953
- children: h("emptyState.error.cta")
1954
- }
1955
- ) : null
1956
- ] })
1957
- ] }), /* @__PURE__ */ e(
1958
- "div",
1959
- {
1960
- ref: Ce,
1961
- id: Se,
1962
- "data-component": "appointment-details-panel",
1963
- "data-component-id": se,
1964
- "data-event-id": he,
1965
- "data-status": n.status,
1966
- "aria-busy": n.status === "loading" || void 0,
1967
- className: ia({ className: Ie }),
1968
- ...J,
1969
- children: ee
1970
- }
1971
- );
1972
- });
1973
- ha.displayName = "AppointmentDetailsPanel";
1974
- function Ri({
1975
- eventId: t,
1976
- load: n,
1977
- reloadKey: i
1978
- }) {
1979
- const { t: o } = O(), r = C("");
1980
- r.current = o("emptyState.error.description");
1981
- const a = C(n);
1982
- te(() => {
1983
- a.current = n;
1984
- });
1985
- const [d, u] = _(0), [s, l] = _(), p = JSON.stringify([i ?? null, d]), [g, I] = _({ eventId: t, count: 0 }), v = g.eventId === t ? g.count : g.count + 1;
1986
- g.eventId !== t && I({ eventId: t, count: v }), pe(() => {
1987
- if (t === null) {
1988
- l(void 0);
1989
- return;
1990
- }
1991
- const S = new AbortController(), y = (x) => {
1992
- S.signal.aborted || l({ eventId: t, selection: v, request: p, value: x });
1993
- };
1994
- return Promise.resolve().then(() => a.current(t, { signal: S.signal })).then((x) => {
1995
- var D, E;
1996
- if (x.status !== "ready") {
1997
- y({
1998
- status: "refused",
1999
- eventId: t,
2000
- reason: x.reason,
2001
- retryable: x.retryable
2002
- });
2003
- return;
2004
- }
2005
- if (((D = x.details) == null ? void 0 : D.eventId) !== t || !Wn((E = x.details.appointment) == null ? void 0 : E.startIso))
2006
- throw new Error(r.current);
2007
- y({ status: "ready", read: x.details });
2008
- }).catch((x) => {
2009
- y({
2010
- status: "error",
2011
- eventId: t,
2012
- message: Ge(x, r.current)
2013
- });
2014
- }), () => S.abort();
2015
- }, [t, v, p]);
2016
- const R = Vt(() => u((S) => S + 1), []);
2017
- if (t === null) return { state: null, retry: R };
2018
- const w = (s == null ? void 0 : s.eventId) === t && s.selection === v ? s : void 0;
2019
- let T = { status: "loading", eventId: t };
2020
- return (w == null ? void 0 : w.request) === p ? T = w.value : (w == null ? void 0 : w.value.status) === "ready" && (T = { status: "ready", read: w.value.read, refreshing: !0 }), { state: T, retry: R };
2021
- }
2022
- export {
2023
- ha as A,
2024
- Nt as C,
2025
- $t as D,
2026
- Qn as I,
2027
- Ht as M,
2028
- qn as R,
2029
- Hn as a,
2030
- Xe as b,
2031
- Bn as c,
2032
- Kn as d,
2033
- Yn as e,
2034
- ze as f,
2035
- Vn as g,
2036
- Bt as h,
2037
- Un as i,
2038
- Gn as j,
2039
- Jn as k,
2040
- $n as l,
2041
- Wn as p,
2042
- jn as s,
2043
- Ri as u
2044
- };
2045
- //# sourceMappingURL=use-appointment-details-read-5-hV-2xA.js.map