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