@alfadocs/ui-kit 0.69.0 → 0.71.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/address-fields-CPbFJ8e8.js +246 -0
- package/dist/_chunks/{agenda-card-BxSFkqgY.js → agenda-card-BQ-IKAru.js} +2 -2
- package/dist/_chunks/{agenda-tray-g0kg7HwB.js → agenda-tray-CGXRk58j.js} +2 -2
- package/dist/_chunks/{ai-consent-banner-CXlsNX1c.js → ai-consent-banner-Be-h9mRI.js} +3 -3
- package/dist/_chunks/{ai-prompt-input-CuhTo9mh.js → ai-prompt-input-V4DdOeqv.js} +2 -2
- package/dist/_chunks/{alert-_mUKLmwA.js → alert-CHYZ96tR.js} +150 -96
- package/dist/_chunks/{alia-sidebar-B47qRQb5.js → alia-sidebar-DvIUzIX9.js} +107 -106
- package/dist/_chunks/{anamnesis-card-DRmE24OQ.js → anamnesis-card-DvYCa16e.js} +2 -2
- package/dist/_chunks/anatomy-scheme-CXSk11UJ.js +2445 -0
- package/dist/_chunks/annotation-marker-qt5R9WZX.js +120 -0
- package/dist/_chunks/{antenatal-schedule-timeline-35ebkcZT.js → antenatal-schedule-timeline-CwXrQRm1.js} +2 -2
- package/dist/_chunks/{app-frame-BYx1gcV7.js → app-frame-DIEMIC5V.js} +67 -56
- package/dist/_chunks/appointment-card-DVaeJNVB.js +294 -0
- package/dist/_chunks/appointment-timeline-PJgnrjFb.js +388 -0
- package/dist/_chunks/appointment-tray-B16QPGbm.js +193 -0
- package/dist/_chunks/{audio-recorder-DYXXnGug.js → audio-recorder-DNDsOLqO.js} +3 -3
- package/dist/_chunks/{autocomplete-DOeGouCL.js → autocomplete-BrONKN8l.js} +168 -146
- package/dist/_chunks/{badge-CqGsX32l.js → badge-DCOqV9mI.js} +32 -27
- package/dist/_chunks/{bishop-score-PJI3AXzA.js → bishop-score-Cym_TeQY.js} +3 -3
- package/dist/_chunks/{bmi-calculator-BZtIJ53x.js → bmi-calculator-zjeY4E7J.js} +2 -2
- package/dist/_chunks/{booking-C3VqFReX.js → booking-C7do4vaR.js} +7 -7
- package/dist/_chunks/{button-group-Ciq6J4IW.js → button-group-CvEnVzY7.js} +32 -35
- package/dist/_chunks/{care-plan-card-CvFGXa2z.js → care-plan-card-DzPDYgtK.js} +5 -5
- package/dist/_chunks/{care-plan-entry-card-C3E_gClk.js → care-plan-entry-card-CEnQy7YP.js} +5 -5
- package/dist/_chunks/care-plan-header-DcXFXWit.js +198 -0
- package/dist/_chunks/{chat-message-3V54YipB.js → chat-message-DzpcJR-q.js} +25 -23
- package/dist/_chunks/city-input-Dkgaak7I.js +169 -0
- package/dist/_chunks/clinical-note-card-BUvNMNGL.js +436 -0
- package/dist/_chunks/clipboard-list-S7s-MXQq.js +25 -0
- package/dist/_chunks/{combobox-Clum7gJ1.js → combobox-DnqSF0IH.js} +131 -114
- package/dist/_chunks/connection-status-CY1HV8Wg.js +108 -0
- package/dist/_chunks/{contact-profile-card-Dramqa9C.js → contact-profile-card-DDPwRFiP.js} +2 -2
- package/dist/_chunks/control-room-rail-FAQZrGVL.js +333 -0
- package/dist/_chunks/country-select-BwUZQvTa.js +709 -0
- package/dist/_chunks/{cycle-calculator-DmRGJNaT.js → cycle-calculator-CCmPwcBl.js} +2 -2
- package/dist/_chunks/{dependent-selector-CG_FOHya.js → dependent-selector-DUV4thxX.js} +2 -2
- package/dist/_chunks/{document-scanner-CTubA0-N.js → document-scanner-C_AxLooF.js} +3 -3
- package/dist/_chunks/{due-date-calculator-BTmsIQqD.js → due-date-calculator-Brdj-euS.js} +3 -3
- package/dist/_chunks/editable-currency-cell-renderer-CGELrkIj.js +410 -0
- package/dist/_chunks/email-input-DJ7EXklP.js +397 -0
- package/dist/_chunks/{entity-card-COhmqHly.js → entity-card-DmrgYSEX.js} +38 -20
- package/dist/_chunks/entity-summary-CaM1Y-xE.js +291 -0
- package/dist/_chunks/{fetal-weight-CRz7KE2D.js → fetal-weight-DNCkyeVo.js} +2 -2
- package/dist/_chunks/field-array-siUZzfYe.js +146 -0
- package/dist/_chunks/field-value-3jMM0uDx.js +415 -0
- package/dist/_chunks/{file-upload-5ScQd4fE.js → file-upload-DwZcAK8D.js} +2 -1
- package/dist/_chunks/{freemium-paywall-DZ2mBS3w.js → freemium-paywall-WYlNO7yT.js} +2 -2
- package/dist/_chunks/{gestational-age-calculator-BleUdhbI.js → gestational-age-calculator-DKzEV5Qi.js} +4 -4
- package/dist/_chunks/hash-CysBBS_N.js +17 -0
- package/dist/_chunks/{hcg-doubling-CnjDXX6U.js → hcg-doubling-C7bmuaU3.js} +2 -2
- package/dist/_chunks/iban-input-B0TWzR1R.js +436 -0
- package/dist/_chunks/icon-picker-0B7KhrF1.js +272 -0
- package/dist/_chunks/image-cropper-D9jqJy19.js +367 -0
- package/dist/_chunks/{actions-cell-renderer-DrcaxB0w.js → link-cell-renderer-De_SLjSq.js} +792 -668
- package/dist/_chunks/list-checks-BUs75d_o.js +18 -0
- package/dist/_chunks/lock-CKOIn0IK.js +15 -0
- package/dist/_chunks/{marketplace-app-shell-6T9W4Knl.js → marketplace-app-shell-BGqkywsi.js} +5 -5
- package/dist/_chunks/message-card-DsHFFiL1.js +319 -0
- package/dist/_chunks/{message-tray-DwrBLJlf.js → message-tray-C0a6CL1_.js} +172 -135
- package/dist/_chunks/{multi-select-BdHHDrRN.js → multi-select-WE4S9FIF.js} +75 -63
- package/dist/_chunks/nav-grid-9xphY3FM.js +169 -0
- package/dist/_chunks/notes-panel-DXiMfuvp.js +320 -0
- package/dist/_chunks/notification-card-BMqNzCIt.js +290 -0
- package/dist/_chunks/{notification-tray-Btb9oQeZ.js → notification-tray-BmUlCx3g.js} +201 -166
- package/dist/_chunks/{operator-hero-CP2Nhupm.js → operator-hero-BO8TqzX2.js} +3 -3
- package/dist/_chunks/panel-header-D313n_9-.js +105 -0
- package/dist/_chunks/patient-details-DgfTJimE.js +759 -0
- package/dist/_chunks/{patient-search-CBC_ySF6.js → patient-search-CSWQKOSP.js} +3 -3
- package/dist/_chunks/{patient-shell-DV3XEtIB.js → patient-shell-BMwsIKlW.js} +3 -3
- package/dist/_chunks/patient-summary-card-D4NdgYJB.js +452 -0
- package/dist/_chunks/patient-table-CERknpd8.js +1110 -0
- package/dist/_chunks/{payment-form-DvjwYVIT.js → payment-form-CxqIXqw7.js} +2 -2
- package/dist/_chunks/{payment-request-card-DioWKBUq.js → payment-request-card-Blf-MFNY.js} +125 -136
- package/dist/_chunks/{pdf-viewer-D6BPfW2D.js → pdf-viewer-QfebdLOd.js} +192 -214
- package/dist/_chunks/{periodontal-chart-card-BuDEMbHE.js → periodontal-chart-card-hRRJY1NN.js} +2 -2
- package/dist/_chunks/permission-matrix-Bw5oexUt.js +174 -0
- package/dist/_chunks/position-grid-CcvqHaKN.js +169 -0
- package/dist/_chunks/postal-code-input-UCOYuRY2.js +192 -0
- package/dist/_chunks/{practice-results-KrTHqZua.js → practice-results-El5Z-oVp.js} +4 -4
- package/dist/_chunks/{pregnancy-dating-DORUAOHB.js → pregnancy-dating-CunHrOpO.js} +4 -4
- package/dist/_chunks/{pregnancy-weight-gain-DVz4rr7-.js → pregnancy-weight-gain-BUNpTsH-.js} +2 -2
- package/dist/_chunks/{product-hub-panel-e6pW220e.js → product-hub-panel-DtU7KXxm.js} +257 -217
- package/dist/_chunks/province-select-D_TZvix3.js +261 -0
- package/dist/_chunks/{public-header.agent-DqkqA-ca.js → public-header.agent-TxmC_x1I.js} +2 -2
- package/dist/_chunks/radiograph-panel.agent-tWjN2nHX.js +553 -0
- package/dist/_chunks/reviews-panel-DxkSrgMl.js +559 -0
- package/dist/_chunks/rich-text-editor-C8tyGjfb.js +2621 -0
- package/dist/_chunks/{scroll-area-5wNK0Cyz.js → scroll-area-BZOvUhwQ.js} +2 -2
- package/dist/_chunks/{select-DMLG44F5.js → select-KsyRr8WH.js} +114 -102
- package/dist/_chunks/{sheet-BxsE7eQm.js → sheet-umkfZjF6.js} +53 -42
- package/dist/_chunks/{sidebar-DY9jGjgt.js → sidebar-QCp9wHNP.js} +125 -113
- package/dist/_chunks/{sign-document-B4DeRhTe.js → sign-document-By6hMOra.js} +2 -2
- package/dist/_chunks/{stepper-accordion-Dki6r9ZE.js → stepper-accordion-DC-H-8v4.js} +38 -48
- package/dist/_chunks/tab-bar-Bv9nGNdO.js +262 -0
- package/dist/_chunks/{tabs-BxcOziCo.js → tabs-CYZVKKDl.js} +2 -2
- package/dist/_chunks/task-card-DCdsI0ZT.js +189 -0
- package/dist/_chunks/{task-tray-qOEQflu4.js → task-tray-DNVejijD.js} +2 -2
- package/dist/_chunks/tasks-panel-C9odmawT.js +757 -0
- package/dist/_chunks/token-insert-menu-CFQqTe_n.js +147 -0
- package/dist/_chunks/tool-rail-BZx0-yIr.js +524 -0
- package/dist/_chunks/tooth-scheme-DJZtzfeY.js +2133 -0
- package/dist/_chunks/{transaction-chip-DK84XCBU.js → transaction-chip-CscoQbxF.js} +88 -61
- package/dist/_chunks/{transcript-panel-3THQX6nJ.js → transcript-panel-CHGHHHdT.js} +95 -83
- package/dist/_chunks/{unit-converter-YEpD9evj.js → unit-converter-CwlZbfdn.js} +2 -2
- package/dist/_chunks/use-clamp-overflow-DQE2kwZ9.js +20 -0
- package/dist/_chunks/use-overflow-collapse-BIOzKbni.js +32 -0
- package/dist/_chunks/use-persistent-state-nZwZAnE9.js +24 -0
- package/dist/_chunks/{warning-stack-BsgaEbL8.js → warning-stack--sTrrBDA.js} +86 -101
- package/dist/_chunks/{workflow-map-Bdam9pGp.js → workflow-map-M8MBBHQm.js} +107 -119
- package/dist/_chunks/zoom-out-CgVtf2Wx.js +29 -0
- package/dist/agent/index.js +5 -4
- package/dist/agent/types.d.ts +19 -2
- package/dist/agent-catalog.json +3325 -322
- package/dist/agent-i18n/en.json +314 -14
- package/dist/components/_shared/entity-card/entity-card.d.ts +6 -0
- package/dist/components/_shared/entity-card/index.d.ts +1 -1
- package/dist/components/_shared/field-value.d.ts +21 -0
- package/dist/components/_shared/field-visibility-cog.d.ts +20 -0
- package/dist/components/_shared/field-visibility.d.ts +36 -0
- package/dist/components/_shared/option.d.ts +2 -0
- package/dist/components/_shared/patient-fields.d.ts +119 -0
- package/dist/components/address-fields/address-fields.agent.d.ts +9 -0
- package/dist/components/address-fields/address-fields.d.ts +29 -0
- package/dist/components/address-fields/index.d.ts +5 -0
- package/dist/components/address-fields/index.js +6 -0
- package/dist/components/agenda-card/index.js +1 -1
- package/dist/components/agenda-tray/index.js +1 -1
- package/dist/components/ai-consent-banner/index.js +1 -1
- package/dist/components/ai-prompt-input/index.js +1 -1
- package/dist/components/alert/alert.d.ts +5 -0
- package/dist/components/alert/index.js +1 -1
- package/dist/components/anamnesis-card/index.js +1 -1
- package/dist/components/anatomy-scheme/anatomy-face-paths.d.ts +15 -0
- package/dist/components/anatomy-scheme/anatomy-muscle-paths.d.ts +20 -0
- package/dist/components/anatomy-scheme/anatomy-scheme-data.d.ts +121 -0
- package/dist/components/anatomy-scheme/anatomy-scheme.agent.d.ts +6 -0
- package/dist/components/anatomy-scheme/anatomy-scheme.d.ts +69 -0
- package/dist/components/anatomy-scheme/index.d.ts +6 -0
- package/dist/components/anatomy-scheme/index.js +17 -0
- package/dist/components/annotation-marker/annotation-marker.d.ts +33 -0
- package/dist/components/annotation-marker/index.d.ts +3 -0
- package/dist/components/annotation-marker/index.js +7 -0
- package/dist/components/app-frame/app-frame.d.ts +2 -2
- package/dist/components/app-frame/index.js +1 -1
- package/dist/components/appointment-card/appointment-card.d.ts +25 -1
- package/dist/components/appointment-card/index.js +6 -5
- package/dist/components/appointment-timeline/appointment-timeline.agent.d.ts +4 -0
- package/dist/components/appointment-timeline/appointment-timeline.d.ts +66 -0
- package/dist/components/appointment-timeline/index.d.ts +4 -0
- package/dist/components/appointment-timeline/index.js +6 -0
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/autocomplete/autocomplete.d.ts +10 -0
- package/dist/components/autocomplete/index.js +1 -1
- package/dist/components/badge/badge.d.ts +6 -2
- 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/button-group/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/care-plan-header.agent.d.ts +4 -0
- package/dist/components/care-plan-header/care-plan-header.d.ts +111 -0
- package/dist/components/care-plan-header/index.d.ts +4 -0
- package/dist/components/care-plan-header/index.js +6 -0
- package/dist/components/chat-message/index.js +1 -1
- package/dist/components/city-input/city-input.agent.d.ts +8 -0
- package/dist/components/city-input/city-input.d.ts +57 -0
- package/dist/components/city-input/index.d.ts +5 -0
- package/dist/components/city-input/index.js +6 -0
- package/dist/components/clinical-note-card/clinical-note-card.d.ts +21 -1
- package/dist/components/clinical-note-card/index.js +1 -1
- package/dist/components/combobox/combobox.d.ts +17 -0
- package/dist/components/combobox/index.js +1 -1
- package/dist/components/connection-status/connection-status.agent.d.ts +4 -0
- package/dist/components/connection-status/connection-status.d.ts +36 -0
- package/dist/components/connection-status/index.d.ts +4 -0
- package/dist/components/connection-status/index.js +6 -0
- package/dist/components/contact-profile-card/index.js +1 -1
- package/dist/components/control-room-rail/control-room-context.d.ts +53 -0
- package/dist/components/control-room-rail/control-room-rail.agent.d.ts +4 -0
- package/dist/components/control-room-rail/control-room-rail.d.ts +35 -0
- package/dist/components/control-room-rail/index.d.ts +6 -0
- package/dist/components/control-room-rail/index.js +10 -0
- package/dist/components/counter/counter.d.ts +1 -1
- package/dist/components/country-select/country-select.agent.d.ts +8 -0
- package/dist/components/country-select/country-select.d.ts +51 -0
- package/dist/components/country-select/index.d.ts +6 -0
- package/dist/components/country-select/index.js +9 -0
- package/dist/components/country-select/iso-3166.d.ts +15 -0
- package/dist/components/cycle-calculator/index.js +1 -1
- package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts +18 -0
- package/dist/components/data-table/cell-renderers/reorder-cell-renderer.d.ts +34 -0
- package/dist/components/data-table/index.d.ts +3 -1
- package/dist/components/data-table/index.js +35 -32
- package/dist/components/dependent-selector/index.js +1 -1
- package/dist/components/document-scanner/index.js +1 -1
- package/dist/components/due-date-calculator/index.js +2 -2
- package/dist/components/email-input/index.js +1 -1
- package/dist/components/entity-summary/entity-summary.agent.d.ts +4 -0
- package/dist/components/entity-summary/entity-summary.d.ts +92 -0
- package/dist/components/entity-summary/index.d.ts +3 -0
- package/dist/components/entity-summary/index.js +5 -0
- package/dist/components/fetal-weight/index.js +1 -1
- package/dist/components/field-array/field-array.agent.d.ts +4 -0
- package/dist/components/field-array/field-array.d.ts +45 -0
- package/dist/components/field-array/index.d.ts +4 -0
- package/dist/components/field-array/index.js +6 -0
- package/dist/components/file-upload/index.js +1 -1
- package/dist/components/freemium-paywall/freemium-paywall.d.ts +1 -1
- 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/iban-input/iban-input.agent.d.ts +4 -0
- package/dist/components/iban-input/iban-input.d.ts +51 -0
- package/dist/components/iban-input/index.d.ts +5 -0
- package/dist/components/iban-input/index.js +13 -0
- package/dist/components/iban-input/is-valid-iban.d.ts +31 -0
- package/dist/components/icon-picker/icon-picker.agent.d.ts +4 -0
- package/dist/components/icon-picker/icon-picker.d.ts +41 -0
- package/dist/components/icon-picker/index.d.ts +4 -0
- package/dist/components/icon-picker/index.js +6 -0
- package/dist/components/image-cropper/crop-geometry.d.ts +30 -0
- package/dist/components/image-cropper/image-cropper.agent.d.ts +4 -0
- package/dist/components/image-cropper/image-cropper.d.ts +32 -0
- package/dist/components/image-cropper/index.d.ts +5 -0
- package/dist/components/image-cropper/index.js +11 -0
- package/dist/components/index.d.ts +25 -1
- package/dist/components/message-card/index.js +1 -1
- package/dist/components/message-card/message-card.d.ts +14 -0
- package/dist/components/message-tray/index.js +1 -1
- package/dist/components/message-tray/message-tray.d.ts +4 -0
- package/dist/components/multi-select/index.js +1 -1
- package/dist/components/nav-grid/index.d.ts +4 -0
- package/dist/components/nav-grid/index.js +7 -0
- package/dist/components/nav-grid/nav-grid.agent.d.ts +4 -0
- package/dist/components/nav-grid/nav-grid.d.ts +41 -0
- package/dist/components/notes-panel/index.d.ts +3 -0
- package/dist/components/notes-panel/index.js +5 -0
- package/dist/components/notes-panel/notes-panel.agent.d.ts +4 -0
- package/dist/components/notes-panel/notes-panel.d.ts +94 -0
- package/dist/components/notification-card/index.js +1 -1
- package/dist/components/notification-card/notification-card.d.ts +15 -0
- package/dist/components/notification-tray/index.js +1 -1
- package/dist/components/notification-tray/notification-tray.d.ts +4 -0
- package/dist/components/operator-hero/index.js +1 -1
- package/dist/components/panel-header/index.d.ts +3 -0
- package/dist/components/panel-header/index.js +7 -0
- package/dist/components/panel-header/panel-header.d.ts +41 -0
- package/dist/components/patient-details/index.d.ts +5 -0
- package/dist/components/patient-details/index.js +6 -0
- package/dist/components/patient-details/patient-details.agent.d.ts +4 -0
- package/dist/components/patient-details/patient-details.d.ts +96 -0
- package/dist/components/patient-search/index.js +1 -1
- package/dist/components/patient-summary-card/index.js +1 -1
- package/dist/components/patient-summary-card/patient-summary-card.d.ts +40 -1
- package/dist/components/patient-table/columns.d.ts +69 -40
- package/dist/components/patient-table/index.d.ts +2 -6
- package/dist/components/patient-table/index.js +8 -9
- package/dist/components/patient-table/patient-table.d.ts +38 -4
- package/dist/components/patient-table/types.d.ts +52 -2
- package/dist/components/patient-table/use-responsive-columns.d.ts +8 -6
- package/dist/components/payment-card/index.js +1 -1
- package/dist/components/payment-form/index.js +1 -1
- package/dist/components/pdf-viewer/index.js +1 -1
- package/dist/components/periodontal-chart-card/index.js +1 -1
- package/dist/components/permission-matrix/index.d.ts +4 -0
- package/dist/components/permission-matrix/index.js +7 -0
- package/dist/components/permission-matrix/permission-matrix.agent.d.ts +4 -0
- package/dist/components/permission-matrix/permission-matrix.d.ts +47 -0
- package/dist/components/position-grid/index.d.ts +4 -0
- package/dist/components/position-grid/index.js +7 -0
- package/dist/components/position-grid/position-grid.agent.d.ts +4 -0
- package/dist/components/position-grid/position-grid.d.ts +39 -0
- package/dist/components/postal-code-input/index.d.ts +5 -0
- package/dist/components/postal-code-input/index.js +6 -0
- package/dist/components/postal-code-input/postal-code-input.agent.d.ts +8 -0
- package/dist/components/postal-code-input/postal-code-input.d.ts +27 -0
- 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/product-hub-tray/index.js +1 -1
- package/dist/components/product-hub-tray/product-hub-tray.d.ts +13 -1
- package/dist/components/province-select/index.d.ts +6 -0
- package/dist/components/province-select/index.js +7 -0
- package/dist/components/province-select/it-provinces.d.ts +8 -0
- package/dist/components/province-select/province-select.agent.d.ts +8 -0
- package/dist/components/province-select/province-select.d.ts +38 -0
- package/dist/components/public-footer/public-footer.d.ts +1 -1
- package/dist/components/public-header/index.js +1 -1
- package/dist/components/radiograph-panel/index.d.ts +4 -0
- package/dist/components/radiograph-panel/index.js +7 -0
- package/dist/components/radiograph-panel/radiograph-panel.agent.d.ts +13 -0
- package/dist/components/radiograph-panel/radiograph-panel.d.ts +36 -0
- package/dist/components/reviews-panel/index.js +1 -1
- package/dist/components/rich-text-editor/editor-toolbar.d.ts +17 -0
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/scroll-area/index.js +1 -1
- package/dist/components/select/index.js +1 -1
- package/dist/components/select/select.d.ts +8 -2
- package/dist/components/sheet/index.js +1 -1
- package/dist/components/sidebar/index.js +2 -2
- package/dist/components/sign-document/index.js +1 -1
- package/dist/components/skeleton/skeleton.d.ts +1 -1
- package/dist/components/stepper-accordion/index.js +1 -1
- package/dist/components/tab-bar/index.js +1 -1
- package/dist/components/tab-bar/tab-bar.d.ts +18 -1
- package/dist/components/tabs/index.js +1 -1
- package/dist/components/task-card/index.js +1 -1
- package/dist/components/task-card/task-card.d.ts +14 -6
- package/dist/components/task-tray/index.js +1 -1
- package/dist/components/tasks-panel/index.d.ts +4 -0
- package/dist/components/tasks-panel/index.js +6 -0
- package/dist/components/tasks-panel/tasks-panel.agent.d.ts +4 -0
- package/dist/components/tasks-panel/tasks-panel.d.ts +152 -0
- package/dist/components/token-insert-menu/index.d.ts +4 -0
- package/dist/components/token-insert-menu/index.js +6 -0
- package/dist/components/token-insert-menu/token-insert-menu.agent.d.ts +4 -0
- package/dist/components/token-insert-menu/token-insert-menu.d.ts +33 -0
- package/dist/components/tool-rail/index.d.ts +4 -0
- package/dist/components/tool-rail/index.js +6 -0
- package/dist/components/tool-rail/tool-rail.agent.d.ts +4 -0
- package/dist/components/tool-rail/tool-rail.d.ts +160 -0
- package/dist/components/tooth-scheme/index.d.ts +2 -2
- package/dist/components/tooth-scheme/index.js +30 -23
- package/dist/components/tooth-scheme/tooth-data.d.ts +112 -1
- package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts +2 -2
- package/dist/components/tooth-scheme/tooth-scheme.d.ts +84 -11
- package/dist/components/transaction-chip/index.js +1 -1
- package/dist/components/transaction-chip/transaction-chip.d.ts +2 -2
- package/dist/components/transcript-panel/index.js +1 -1
- package/dist/components/transcript-panel/transcript-panel.d.ts +2 -2
- package/dist/components/unit-converter/index.js +1 -1
- package/dist/components/warning-stack/index.js +1 -1
- package/dist/components/warning-stack/warning-stack.d.ts +10 -7
- package/dist/components/workflow/index.js +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +24 -22
- package/dist/hooks/use-clamp-overflow.d.ts +19 -0
- package/dist/hooks/use-edge-resize.d.ts +2 -2
- package/dist/hooks/use-overflow-collapse.d.ts +46 -0
- package/dist/hooks/use-persistent-state.d.ts +7 -1
- package/dist/hooks/use-scroll-overflow.d.ts +36 -0
- package/dist/i18n/locales/ar.d.ts +475 -26
- package/dist/i18n/locales/ar.js +478 -31
- package/dist/i18n/locales/de.d.ts +475 -26
- package/dist/i18n/locales/de.js +480 -31
- package/dist/i18n/locales/el.d.ts +475 -26
- package/dist/i18n/locales/el.js +485 -31
- package/dist/i18n/locales/en.d.ts +476 -34
- package/dist/i18n/locales/en.js +492 -39
- package/dist/i18n/locales/es.d.ts +475 -26
- package/dist/i18n/locales/es.js +477 -31
- package/dist/i18n/locales/fr.d.ts +475 -26
- package/dist/i18n/locales/fr.js +480 -31
- package/dist/i18n/locales/hi.d.ts +475 -26
- package/dist/i18n/locales/hi.js +476 -31
- package/dist/i18n/locales/it.d.ts +475 -26
- package/dist/i18n/locales/it.js +480 -31
- package/dist/i18n/locales/ja.d.ts +475 -26
- package/dist/i18n/locales/ja.js +481 -31
- package/dist/i18n/locales/nl.d.ts +475 -26
- package/dist/i18n/locales/nl.js +473 -31
- package/dist/i18n/locales/pl.d.ts +475 -26
- package/dist/i18n/locales/pl.js +481 -31
- package/dist/i18n/locales/pt.d.ts +475 -26
- package/dist/i18n/locales/pt.js +485 -31
- package/dist/i18n/locales/ro.d.ts +475 -26
- package/dist/i18n/locales/ro.js +485 -31
- package/dist/i18n/locales/ru.d.ts +475 -26
- package/dist/i18n/locales/ru.js +478 -31
- package/dist/i18n/locales/sq.d.ts +475 -26
- package/dist/i18n/locales/sq.js +482 -31
- package/dist/i18n/locales/sv.d.ts +475 -26
- package/dist/i18n/locales/sv.js +480 -31
- package/dist/i18n/locales/tr.d.ts +475 -26
- package/dist/i18n/locales/tr.js +478 -31
- package/dist/i18n/locales/zh.d.ts +475 -26
- package/dist/i18n/locales/zh.js +473 -31
- package/dist/index.js +826 -709
- package/dist/locales/ar.json +480 -31
- package/dist/locales/de.json +480 -31
- package/dist/locales/el.json +480 -31
- package/dist/locales/en.json +480 -31
- package/dist/locales/es.json +480 -31
- package/dist/locales/fr.json +480 -31
- package/dist/locales/hi.json +480 -31
- package/dist/locales/it.json +480 -31
- package/dist/locales/ja.json +480 -31
- package/dist/locales/nl.json +480 -31
- package/dist/locales/pl.json +480 -31
- package/dist/locales/pt.json +480 -31
- package/dist/locales/ro.json +480 -31
- package/dist/locales/ru.json +480 -31
- package/dist/locales/sq.json +480 -31
- package/dist/locales/sv.json +480 -31
- package/dist/locales/tr.json +480 -31
- package/dist/locales/zh.json +480 -31
- package/dist/patterns/alia-assistant/alia-types.d.ts +9 -0
- package/dist/patterns/alia-assistant/index.js +1 -1
- package/dist/patterns/marketplace-app-shell/index.js +1 -1
- package/dist/patterns/patient-shell/index.js +1 -1
- package/dist/tokens.css +9 -1
- package/package.json +101 -5
- package/dist/_chunks/ai-tools-rail-BA_sqy1A.js +0 -373
- package/dist/_chunks/appointment-tray-CZtvtaH-.js +0 -431
- package/dist/_chunks/clinical-note-card-DqQYf_D4.js +0 -333
- package/dist/_chunks/editable-currency-cell-renderer-kgqp_mIw.js +0 -448
- package/dist/_chunks/email-input-B_Y55f5G.js +0 -396
- package/dist/_chunks/message-card-Bx4GmLvf.js +0 -277
- package/dist/_chunks/notification-card-BiESdm8q.js +0 -255
- package/dist/_chunks/patient-summary-card-B836_fDB.js +0 -435
- package/dist/_chunks/patient-table-CDuosVru.js +0 -889
- package/dist/_chunks/reviews-panel-Dq7LMDcH.js +0 -555
- package/dist/_chunks/rich-text-editor-BsV7zUdg.js +0 -2142
- package/dist/_chunks/tab-bar-B1ovILzh.js +0 -105
- package/dist/_chunks/task-card-BwY9jaV1.js +0 -124
- package/dist/_chunks/tooth-scheme-yBr53cvv.js +0 -1330
- package/dist/_chunks/use-persistent-state-i23OWy6G.js +0 -24
- package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts +0 -4
- package/dist/components/ai-tools-rail/ai-tools-rail.d.ts +0 -68
- package/dist/components/ai-tools-rail/index.d.ts +0 -4
- package/dist/components/ai-tools-rail/index.js +0 -6
- package/dist/components/patient-table/cell-renderers/contact-cell.d.ts +0 -45
- package/dist/components/patient-table/cell-renderers/patient-identity-cell.d.ts +0 -26
|
@@ -2,6 +2,8 @@ import { type HTMLAttributes, type ReactNode } from 'react';
|
|
|
2
2
|
import { type VariantProps } from 'class-variance-authority';
|
|
3
3
|
export type TaskStatus = 'open' | 'in-progress' | 'done';
|
|
4
4
|
export type TaskPriority = 'low' | 'normal' | 'high';
|
|
5
|
+
/** Which entity the task links to. The platform `DoctorReminder` links to exactly one of these (or none). */
|
|
6
|
+
export type TaskLinkType = 'patient' | 'company' | 'operator';
|
|
5
7
|
export interface TaskItem {
|
|
6
8
|
/** Unique identifier for the task. */
|
|
7
9
|
id: string;
|
|
@@ -16,11 +18,17 @@ export interface TaskItem {
|
|
|
16
18
|
*/
|
|
17
19
|
dueLabel?: string;
|
|
18
20
|
/**
|
|
19
|
-
* Linked-entity
|
|
20
|
-
*
|
|
21
|
-
*
|
|
21
|
+
* Linked-entity NAME (the patient / company / operator the task points at) —
|
|
22
|
+
* e.g. "Mario Rossi". When `linkType` is set the card renders it as a typed
|
|
23
|
+
* chip (a per-type glyph + an accessible "Patient/Company/Operator:" prefix);
|
|
24
|
+
* otherwise it renders as a plain eyebrow line. The consumer composes the
|
|
25
|
+
* name only — no prefix.
|
|
22
26
|
*/
|
|
23
27
|
linkedLabel?: string;
|
|
28
|
+
/** Type of the linked entity — drives the leading glyph + the accessible prefix on the linked chip. */
|
|
29
|
+
linkType?: TaskLinkType;
|
|
30
|
+
/** Localised assignee display name (host-composed, e.g. "Dr. Alfa"). Renders an assignee chip on the meta line. */
|
|
31
|
+
assigneeLabel?: string;
|
|
24
32
|
/** Free-text note attached to the task — muted body line, clamped. */
|
|
25
33
|
note?: string;
|
|
26
34
|
/** Lifecycle state — drives the leading icon. */
|
|
@@ -33,8 +41,8 @@ export interface TaskItem {
|
|
|
33
41
|
export interface TaskCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onClick' | 'role' | 'title'>, VariantProps<typeof taskCardVariants> {
|
|
34
42
|
/** The task to render. */
|
|
35
43
|
item: TaskItem;
|
|
36
|
-
/** Visual density. */
|
|
37
|
-
size?: 'sm' | 'md';
|
|
44
|
+
/** Visual density. `xs` is the compact rail row (Control Room); `sm`/`md` for in-page lists. */
|
|
45
|
+
size?: 'xs' | 'sm' | 'md';
|
|
38
46
|
/** Fires when the row is activated (click / Enter / Space). */
|
|
39
47
|
onActivate?: (item: TaskItem) => void;
|
|
40
48
|
/**
|
|
@@ -45,7 +53,7 @@ export interface TaskCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onC
|
|
|
45
53
|
actions?: ReactNode;
|
|
46
54
|
}
|
|
47
55
|
declare const taskCardVariants: (props?: ({
|
|
48
|
-
size?: "sm" | "md" | null | undefined;
|
|
56
|
+
size?: "sm" | "md" | "xs" | null | undefined;
|
|
49
57
|
interactive?: boolean | null | undefined;
|
|
50
58
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
51
59
|
export declare function isSafeTaskUrl(url: string): boolean;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { TasksPanel } from './tasks-panel';
|
|
2
|
+
export type { TasksPanelProps, TasksPanelHandle, TasksPanelItem, TasksPanelSize, TasksPanelScope, TasksPanelStatusFilter, } from './tasks-panel';
|
|
3
|
+
export { tasksPanelAgent } from './tasks-panel.agent';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
import { type TaskItem } from '../task-card';
|
|
4
|
+
/** Which set of tasks the panel shows — the host owns the actual feed. */
|
|
5
|
+
export type TasksPanelScope = 'patient' | 'mine';
|
|
6
|
+
/** Status segment value. Mirrors the platform `done` filter (default `todo`). */
|
|
7
|
+
export type TasksPanelStatusFilter = 'todo' | 'done' | 'all';
|
|
8
|
+
/**
|
|
9
|
+
* Panel-local extension of the card's `TaskItem`. The extra fields here drive
|
|
10
|
+
* bucketing + filtering; the row's display fields (the typed link via
|
|
11
|
+
* `linkType` + `linkedLabel`, the `assigneeLabel`, `dueLabel`) live on
|
|
12
|
+
* `TaskItem` and are rendered by `TaskCard` itself. The host maps the platform
|
|
13
|
+
* `DoctorReminder` → this shape — composing `title` (a summary, NOT the bare
|
|
14
|
+
* type), `note`, the linked entity, the assignee, and `dueLabel`.
|
|
15
|
+
*/
|
|
16
|
+
export interface TasksPanelItem extends TaskItem {
|
|
17
|
+
/** ISO-8601 due/scheduled instant (platform `DoctorReminder.date`). Buckets + orders the list. */
|
|
18
|
+
dueIso: string;
|
|
19
|
+
/** System or custom task-type key (`recall` | `payment` | `collection` | `other` | `custom-*`). Drives the type filter + badge. */
|
|
20
|
+
type?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Localised type label, required for CUSTOM types (the panel resolves system
|
|
23
|
+
* keys itself). Falls back to the system label for the four known keys.
|
|
24
|
+
*/
|
|
25
|
+
typeLabel?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Assignee id (the platform `practiceUser`). Omit ⇒ unassigned; give pool
|
|
28
|
+
* tasks a shared sentinel value (e.g. `'unassigned'`) if you want the pool
|
|
29
|
+
* itself filterable. Drives the assignee FILTER (exact match); the displayed
|
|
30
|
+
* name is `TaskItem.assigneeLabel`.
|
|
31
|
+
*/
|
|
32
|
+
assignee?: string;
|
|
33
|
+
/** Provenance — manual vs workflow-created. Filter only. */
|
|
34
|
+
createdBy?: 'user' | 'workflow';
|
|
35
|
+
}
|
|
36
|
+
/** Curated imperative handle — identifiers + structural state only, no PHI. */
|
|
37
|
+
export interface TasksPanelHandle {
|
|
38
|
+
getItems: () => Array<{
|
|
39
|
+
id: string;
|
|
40
|
+
status: string;
|
|
41
|
+
}>;
|
|
42
|
+
selectItem: (id: string) => void;
|
|
43
|
+
toggleDone: (id: string) => void;
|
|
44
|
+
dismiss: (id: string) => void;
|
|
45
|
+
jumpToOverdue: () => void;
|
|
46
|
+
setFilter: (next: {
|
|
47
|
+
status?: TasksPanelStatusFilter;
|
|
48
|
+
type?: string | null;
|
|
49
|
+
assignee?: string | null;
|
|
50
|
+
overdueOnly?: boolean;
|
|
51
|
+
}) => void;
|
|
52
|
+
/** Switch the task scope segment (patient ↔ mine). The host re-feeds items. */
|
|
53
|
+
changeScope: (next: TasksPanelScope) => void;
|
|
54
|
+
/** Request the host to append the next page of tasks (mirrors onLoadMore). */
|
|
55
|
+
loadMore: () => void;
|
|
56
|
+
}
|
|
57
|
+
interface FilterOption {
|
|
58
|
+
/** Stable value passed back through the matching `on…Change`. */
|
|
59
|
+
value: string;
|
|
60
|
+
/** Localised label. */
|
|
61
|
+
label: string;
|
|
62
|
+
}
|
|
63
|
+
export interface TasksPanelProps extends Omit<HTMLAttributes<HTMLElement>, 'onClick' | 'id' | 'title'> {
|
|
64
|
+
/** Stable instance id, surfaced as `data-component-id`. */
|
|
65
|
+
id?: string;
|
|
66
|
+
/** Tasks to render — any order; bucketed + sorted internally (due ASC, Done last). */
|
|
67
|
+
items: TasksPanelItem[];
|
|
68
|
+
/** ISO-8601 "now" anchor — buckets + overdue compute against it. Defaults to the current instant; stories pass a fixed value. */
|
|
69
|
+
nowIso?: string;
|
|
70
|
+
/** Panel heading. Defaults to the localised "Tasks". */
|
|
71
|
+
title?: string;
|
|
72
|
+
/** Visual density forwarded to each TaskCard. Defaults to `xs` — the compact rail row. */
|
|
73
|
+
size?: 'xs' | 'sm' | 'md';
|
|
74
|
+
/** Fires when a row is activated. */
|
|
75
|
+
onOpenTask?: (item: TasksPanelItem) => void;
|
|
76
|
+
/** Fires when the host should toggle a task's done state. */
|
|
77
|
+
onToggleDone?: (item: TasksPanelItem) => void;
|
|
78
|
+
/** Fires when the host should open the task editor. Omit to hide the per-row edit action. */
|
|
79
|
+
onEditTask?: (item: TasksPanelItem) => void;
|
|
80
|
+
/** Fires when the host should dismiss / remove a task. Omit to hide the per-row dismiss action. */
|
|
81
|
+
onDismissTask?: (item: TasksPanelItem) => void;
|
|
82
|
+
/** Fires when the header "Add" affordance is activated. Omit to hide it. */
|
|
83
|
+
onAddTask?: () => void;
|
|
84
|
+
/**
|
|
85
|
+
* Read-only mode — hides every write affordance (toggle / edit / dismiss /
|
|
86
|
+
* add). Mirrors the platform gating writes behind `practice_task_edit`.
|
|
87
|
+
*/
|
|
88
|
+
readOnly?: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Per-row trailing action toolbar, forwarded to each TaskCard's `actions`
|
|
91
|
+
* slot. Overrides the default toggle / edit / dismiss buttons (the type Badge
|
|
92
|
+
* is always prepended by the panel). Ignored when `readOnly`.
|
|
93
|
+
*/
|
|
94
|
+
renderItemActions?: (item: TasksPanelItem) => ReactNode;
|
|
95
|
+
/** Controlled scope segment. */
|
|
96
|
+
scope?: TasksPanelScope;
|
|
97
|
+
/** Uncontrolled initial scope. Default `'patient'` when both scopes are available, else the only one. */
|
|
98
|
+
defaultScope?: TasksPanelScope;
|
|
99
|
+
/** Fires when the user switches scope — the host re-feeds `items`. */
|
|
100
|
+
onScopeChange?: (next: TasksPanelScope) => void;
|
|
101
|
+
/** Which scopes the segment offers. Omit ⇒ no scope segment (single-scope panel). */
|
|
102
|
+
availableScopes?: TasksPanelScope[];
|
|
103
|
+
/** Load the next page — fired when the bottom edge is reached and via the footer button. */
|
|
104
|
+
onLoadMore?: () => void;
|
|
105
|
+
/** Whether more tasks exist. Defaults to `true` when `onLoadMore` is set. */
|
|
106
|
+
hasMore?: boolean;
|
|
107
|
+
/** Show the bottom loading row while the next page is fetched. */
|
|
108
|
+
loadingMore?: boolean;
|
|
109
|
+
/** Full-panel initial loading state (skeleton rows in the body). */
|
|
110
|
+
loading?: boolean;
|
|
111
|
+
/** Error surface — `true` for the default error EmptyState, or a custom node. */
|
|
112
|
+
error?: boolean | ReactNode;
|
|
113
|
+
/** Show the filter header (status segment + type / assignee selects + overdue toggle). Default `true`. */
|
|
114
|
+
showFilters?: boolean;
|
|
115
|
+
/** Controlled status segment. */
|
|
116
|
+
statusFilter?: TasksPanelStatusFilter;
|
|
117
|
+
/** Uncontrolled initial status segment. Default `'todo'` (the platform default). */
|
|
118
|
+
defaultStatusFilter?: TasksPanelStatusFilter;
|
|
119
|
+
onStatusFilterChange?: (next: TasksPanelStatusFilter) => void;
|
|
120
|
+
/** Task types for the type filter. Omit ⇒ no type filter. */
|
|
121
|
+
typeOptions?: FilterOption[];
|
|
122
|
+
/** Controlled type filter (`null`/empty ⇒ all). */
|
|
123
|
+
typeFilter?: string | null;
|
|
124
|
+
onTypeFilterChange?: (next: string | null) => void;
|
|
125
|
+
/** Assignees for the assignee filter. Pass an explicit Unassigned option if wanted. Omit ⇒ no assignee filter. */
|
|
126
|
+
assigneeOptions?: FilterOption[];
|
|
127
|
+
/** Controlled assignee filter (`null`/empty ⇒ anyone). */
|
|
128
|
+
assigneeFilter?: string | null;
|
|
129
|
+
onAssigneeFilterChange?: (next: string | null) => void;
|
|
130
|
+
/** Controlled overdue-only toggle. */
|
|
131
|
+
overdueOnly?: boolean;
|
|
132
|
+
/** Uncontrolled initial overdue-only state. Default `false`. */
|
|
133
|
+
defaultOverdueOnly?: boolean;
|
|
134
|
+
onOverdueOnlyChange?: (next: boolean) => void;
|
|
135
|
+
emptyTitle?: string;
|
|
136
|
+
emptyDescription?: string;
|
|
137
|
+
/** CTA wired into the first-use empty state (e.g. Create task). */
|
|
138
|
+
emptyAction?: {
|
|
139
|
+
label: string;
|
|
140
|
+
onClick: () => void;
|
|
141
|
+
};
|
|
142
|
+
/** Accessible name for the panel region (defaults to `title`). */
|
|
143
|
+
'aria-label'?: string;
|
|
144
|
+
}
|
|
145
|
+
declare const rootVariants: (props?: ({
|
|
146
|
+
size?: "sm" | "md" | "xs" | null | undefined;
|
|
147
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
148
|
+
export declare const TasksPanel: import("react").ForwardRefExoticComponent<TasksPanelProps & import("react").RefAttributes<HTMLElement>>;
|
|
149
|
+
/** Re-export of the size variant union for downstream typing. */
|
|
150
|
+
export type TasksPanelSize = NonNullable<VariantProps<typeof rootVariants>['size']>;
|
|
151
|
+
export {};
|
|
152
|
+
//# sourceMappingURL=tasks-panel.d.ts.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** One selectable merge-token. */
|
|
2
|
+
export interface TokenInsertMenuToken {
|
|
3
|
+
/** Raw token text inserted verbatim (e.g. `"{{patient.name}}"`). */
|
|
4
|
+
value: string;
|
|
5
|
+
/** Human-readable label shown in the menu. Already localised by the consumer. */
|
|
6
|
+
label: string;
|
|
7
|
+
/** Optional section heading — when ANY token has one, the menu renders grouped. */
|
|
8
|
+
group?: string;
|
|
9
|
+
}
|
|
10
|
+
/** Agent-readiness curated handle for TokenInsertMenu. */
|
|
11
|
+
export interface TokenInsertMenuHandle {
|
|
12
|
+
isOpen: () => boolean;
|
|
13
|
+
open: () => void;
|
|
14
|
+
close: () => void;
|
|
15
|
+
/** Emit a token to the consumer (mirrors a user selecting it). */
|
|
16
|
+
insert: (token: string) => void;
|
|
17
|
+
}
|
|
18
|
+
export interface TokenInsertMenuProps {
|
|
19
|
+
/** The merge-tokens to offer. `value` is inserted; `label` is shown. */
|
|
20
|
+
tokens: TokenInsertMenuToken[];
|
|
21
|
+
/** Called with the chosen token's raw `value`. The consumer inserts it at
|
|
22
|
+
* the caret of their target field — this component never owns the field. */
|
|
23
|
+
onInsert: (token: string) => void;
|
|
24
|
+
/** The trigger button's visible text (already localised by the consumer). */
|
|
25
|
+
triggerLabel: string;
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
/** Opaque instance id — surfaced as `data-component-id` + agent instance id. */
|
|
28
|
+
id?: string;
|
|
29
|
+
/** Extra classes for the trigger button. */
|
|
30
|
+
className?: string;
|
|
31
|
+
}
|
|
32
|
+
export declare const TokenInsertMenu: import("react").ForwardRefExoticComponent<TokenInsertMenuProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
33
|
+
//# sourceMappingURL=token-insert-menu.d.ts.map
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
import type { AgentAdapter } from '../../agent/types';
|
|
4
|
+
export interface ToolRailTool {
|
|
5
|
+
/** Stable tool id — used in `data-active`, the imperative handle, and
|
|
6
|
+
* to label the open panel region. */
|
|
7
|
+
id: string;
|
|
8
|
+
/** Accessible name for the strip icon + tooltip, and the open panel's
|
|
9
|
+
* region label. Never rendered as visible body text. */
|
|
10
|
+
label: string;
|
|
11
|
+
/** lucide-react glyph (rendered `aria-hidden` inside the IconButton). */
|
|
12
|
+
icon: ReactNode;
|
|
13
|
+
/** Panel body for this tool. Rendered inline-start of the strip when
|
|
14
|
+
* `side='end'` (mirrored for `'start'`). The consumer composes it. */
|
|
15
|
+
panel: ReactNode;
|
|
16
|
+
/**
|
|
17
|
+
* Optional non-scrolling header for this tool's panel. Rendered pinned at
|
|
18
|
+
* the top of the open panel — above the scroll region — so a tool's title /
|
|
19
|
+
* filters stay visible as the body scrolls. This is the rail-level home for
|
|
20
|
+
* a sticky tool header; every tool gets it for free.
|
|
21
|
+
*/
|
|
22
|
+
header?: ReactNode;
|
|
23
|
+
/**
|
|
24
|
+
* When true the panel body is NOT wrapped in the rail's `ScrollArea` — the
|
|
25
|
+
* tool fills the (height-bounded) panel and owns its own scroll/layout.
|
|
26
|
+
* Use for self-scrolling tools (e.g. `AppointmentTimeline`, whose infinite
|
|
27
|
+
* scroll + today-anchoring + edge fades require it to be the scroll
|
|
28
|
+
* container). Default `false` (the rail scrolls the body).
|
|
29
|
+
*/
|
|
30
|
+
fill?: boolean;
|
|
31
|
+
/** Optional unseen / notification count shown on the strip icon. */
|
|
32
|
+
badgeCount?: number;
|
|
33
|
+
/** When true the icon is non-interactive and skipped by roving focus. */
|
|
34
|
+
disabled?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Scope tier (drives the two-group divider). The two scope values render in
|
|
37
|
+
* array order with a divider at the boundary between them — order the array
|
|
38
|
+
* so the groups stay contiguous. A divider only appears when BOTH groups are
|
|
39
|
+
* present; omit `scope` on every tool for an ungrouped strip (legacy). The
|
|
40
|
+
* rail attaches no meaning beyond grouping — the host decides which value
|
|
41
|
+
* leads (e.g. the Control Room pins favourites first).
|
|
42
|
+
*/
|
|
43
|
+
scope?: 'global' | 'contextual';
|
|
44
|
+
/**
|
|
45
|
+
* When true this icon joins the drag-and-drop / `Alt`+Arrow reorder run.
|
|
46
|
+
* The host supplies `onReorder` and owns the resulting order. Moves are
|
|
47
|
+
* confined to the contiguous run of `reorderable` tools — so if EVERY tool
|
|
48
|
+
* is `reorderable` the run is the whole strip and a tool can be dragged
|
|
49
|
+
* across the scope divider; the host's `onReorder` decides what crossing it
|
|
50
|
+
* means (e.g. the Control Room reads it as pin / unpin). Reordering never
|
|
51
|
+
* changes focus roving — focus follows the moved tool to its new slot.
|
|
52
|
+
*/
|
|
53
|
+
reorderable?: boolean;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Curated imperative handle for ToolRail. Exposed as the forwardRef
|
|
57
|
+
* target so a future agent / MCP UI bridge can drive the rail without
|
|
58
|
+
* touching the DOM. See `tool-rail.agent.ts`.
|
|
59
|
+
*
|
|
60
|
+
* State surfaced here is strictly identifiers + counts — never any
|
|
61
|
+
* tool's panel content (which may carry PHI).
|
|
62
|
+
*/
|
|
63
|
+
export interface ToolRailHandle {
|
|
64
|
+
/** Currently-active tool id, or null when collapsed to strip-only. */
|
|
65
|
+
getActiveToolId: () => string | null;
|
|
66
|
+
/** Activate a tool by id (opens its panel), or null to collapse. */
|
|
67
|
+
setActiveTool: (id: string | null) => void;
|
|
68
|
+
/** Activate a tool by id (opens its panel). */
|
|
69
|
+
open: (id: string) => void;
|
|
70
|
+
/** Collapse to strip-only (no active tool). */
|
|
71
|
+
close: () => void;
|
|
72
|
+
}
|
|
73
|
+
declare const railVariants: (props?: ({
|
|
74
|
+
side?: "end" | "start" | null | undefined;
|
|
75
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
76
|
+
export interface ToolRailProps extends VariantProps<typeof railVariants> {
|
|
77
|
+
/** Stable instance id, surfaced on the root as `data-component-id`. */
|
|
78
|
+
id?: string;
|
|
79
|
+
/** The tools shown as icons on the strip. */
|
|
80
|
+
tools: ToolRailTool[];
|
|
81
|
+
/** Controlled active tool id (null = collapsed / strip-only). */
|
|
82
|
+
activeToolId?: string | null;
|
|
83
|
+
/** Uncontrolled initial active tool id (default null). */
|
|
84
|
+
defaultActiveToolId?: string | null;
|
|
85
|
+
/** Fires whenever the active tool changes (incl. → null on collapse). */
|
|
86
|
+
onActiveToolChange?: (id: string | null) => void;
|
|
87
|
+
/** Which edge the rail docks to. Default `'end'` (inline-end). */
|
|
88
|
+
side?: 'start' | 'end';
|
|
89
|
+
/** Accessible label for the toolbar strip. */
|
|
90
|
+
railLabel?: string;
|
|
91
|
+
/**
|
|
92
|
+
* Opt-in resize affordance for the open tool panel. Renders a
|
|
93
|
+
* `role="separator"` drag handle on the panel's inner edge (the edge
|
|
94
|
+
* facing the main content). The committed width is written to
|
|
95
|
+
* `--tool-rail-panel-inline-size` on the panel element (288–640px);
|
|
96
|
+
* Enter / double-click resets to the token-driven default. Default `false`.
|
|
97
|
+
*/
|
|
98
|
+
resizablePanel?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Fires when the user reorders the `reorderable` run (drag-drop or
|
|
101
|
+
* `Alt`+Arrow). `from` / `to` are indices into `tools`; the host applies the
|
|
102
|
+
* move to the array it passes back. Reordering is enabled when this callback
|
|
103
|
+
* is supplied AND at least one tool is `reorderable`. When the whole strip is
|
|
104
|
+
* reorderable, `to` may land in the other scope group — the host interprets
|
|
105
|
+
* the crossing (and may treat it as a no-op, e.g. reordering within a
|
|
106
|
+
* host-ordered group).
|
|
107
|
+
*/
|
|
108
|
+
onReorder?: (from: number, to: number) => void;
|
|
109
|
+
/**
|
|
110
|
+
* Optional override for the polite live-region message announced after a
|
|
111
|
+
* reorder. Lets the host phrase membership-aware moves (e.g. "Pinned X to
|
|
112
|
+
* favourites") instead of the generic "moved to position N". Return an empty
|
|
113
|
+
* string to stay silent (e.g. for a move the host treats as a no-op). When
|
|
114
|
+
* omitted, the rail announces the generic run-relative position.
|
|
115
|
+
*/
|
|
116
|
+
formatReorderAnnouncement?: (args: {
|
|
117
|
+
tool: ToolRailTool;
|
|
118
|
+
from: number;
|
|
119
|
+
to: number;
|
|
120
|
+
}) => string;
|
|
121
|
+
/**
|
|
122
|
+
* Optional per-icon overlay control, rendered as a sibling of each strip
|
|
123
|
+
* IconButton (the same positioned box the notification badge uses). Use for
|
|
124
|
+
* a small affordance such as a pin toggle — the rail attaches no meaning to
|
|
125
|
+
* what it renders. Receives the tool and its index / active state.
|
|
126
|
+
*/
|
|
127
|
+
renderToolAffordance?: (tool: ToolRailTool, context: {
|
|
128
|
+
index: number;
|
|
129
|
+
isActive: boolean;
|
|
130
|
+
isRovingTarget: boolean;
|
|
131
|
+
}) => ReactNode;
|
|
132
|
+
/**
|
|
133
|
+
* Optional non-scrolling header rendered at the top of the OPEN tool panel,
|
|
134
|
+
* above its scroll region. Host-owned content (e.g. a pin / unpin control) —
|
|
135
|
+
* the rail attaches no meaning. Receives the active tool.
|
|
136
|
+
*/
|
|
137
|
+
renderPanelHeader?: (tool: ToolRailTool, context: {
|
|
138
|
+
isActive: boolean;
|
|
139
|
+
}) => ReactNode;
|
|
140
|
+
/**
|
|
141
|
+
* Identity override for the root's `data-component` attribute. Defaults to
|
|
142
|
+
* `'tool-rail'`. A product wrapper (e.g. ControlRoomRail) passes its own
|
|
143
|
+
* kebab id so the DOM / cascade boundary — and an agent's `domHooks.root` —
|
|
144
|
+
* can tell its surface apart from a bare ToolRail, without the engine ever
|
|
145
|
+
* importing the wrapper.
|
|
146
|
+
*/
|
|
147
|
+
dataComponent?: string;
|
|
148
|
+
/**
|
|
149
|
+
* Agent adapter registered for this rail instance. Defaults to
|
|
150
|
+
* `toolRailAgent`. A wrapper passes its own adapter (matching
|
|
151
|
+
* `dataComponent`) so the rail registers under the wrapper's identity. The
|
|
152
|
+
* instance id is sourced from the `id` prop (also stamped as
|
|
153
|
+
* `data-component-id`).
|
|
154
|
+
*/
|
|
155
|
+
agentAdapter?: AgentAdapter<ToolRailHandle>;
|
|
156
|
+
className?: string;
|
|
157
|
+
}
|
|
158
|
+
export declare const ToolRail: import("react").ForwardRefExoticComponent<ToolRailProps & import("react").RefAttributes<ToolRailHandle>>;
|
|
159
|
+
export {};
|
|
160
|
+
//# sourceMappingURL=tool-rail.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from './tooth-scheme';
|
|
2
|
-
export { FDI_TO_META, FDI_TO_UNIVERSAL, FDI_TO_PALMER, CONDITION_COLORS, CONDITION_TOKENS, CONDITION_SIDE_SYMBOL, CONDITION_PLAN_FOLDER, SURFACE_ASSET_NAME, toothImageUrl, conditionSymbolUrl, surfaceSymbolUrl, zonesForTooth, zoneSurface, zonePath, chartFromConditions, emptyChart, labelFor, layoutTeeth, } from './tooth-data';
|
|
3
|
-
export type { Anatomy, Arch, Quadrant, Side, Surface, SurfaceZone, Projection, SideSymbolSpec, ToothMeta, PositionedTooth, } from './tooth-data';
|
|
2
|
+
export { FDI_TO_META, FDI_TO_UNIVERSAL, FDI_TO_PALMER, CONDITION_COLORS, CONDITION_TOKENS, CONDITION_SIDE_SYMBOL, CONDITION_PLAN_FOLDER, SURFACE_ASSET_NAME, toothImageUrl, conditionSymbolUrl, surfaceSymbolUrl, zonesForTooth, zoneSurface, zonePath, chartFromConditions, emptyChart, labelFor, layoutTeeth, layoutSpecials, specialsForRow, specialIconUrl, generalElement, isSpecialElement, SPECIAL_ELEMENTS, SPECIAL_BY_ID, } from './tooth-data';
|
|
3
|
+
export type { Anatomy, Arch, Quadrant, Side, Surface, SurfaceZone, Projection, Radiograph, RadiographKind, SideSymbolSpec, SpecialElement, SpecialElementKind, PositionedSpecial, ToothMeta, PositionedTooth, } from './tooth-data';
|
|
4
4
|
export { toothSchemeAgent } from './tooth-scheme.agent';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,27 +1,34 @@
|
|
|
1
|
-
import { C as o, a as
|
|
1
|
+
import { C as o, a as e, b as t, c as E, F as S, d as T, e as I, P as _, f as l, S as r, g as O, h as N, T as n, i as c, j as h, k as m, l as A, m as i, n as C, o as D, p as F, s as L, q as R, r as P, t as p, u as M, v as U, z as u, w as y, x as b } from "../../_chunks/tooth-scheme-DJZtzfeY.js";
|
|
2
2
|
export {
|
|
3
3
|
o as CONDITION_COLORS,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
r as
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
4
|
+
e as CONDITION_PLAN_FOLDER,
|
|
5
|
+
t as CONDITION_SIDE_SYMBOL,
|
|
6
|
+
E as CONDITION_TOKENS,
|
|
7
|
+
S as FDI_TO_META,
|
|
8
|
+
T as FDI_TO_PALMER,
|
|
9
|
+
I as FDI_TO_UNIVERSAL,
|
|
10
|
+
_ as PERMANENT_TEETH,
|
|
11
|
+
l as PRIMARY_TEETH,
|
|
12
|
+
r as SPECIAL_BY_ID,
|
|
13
|
+
O as SPECIAL_ELEMENTS,
|
|
14
|
+
N as SURFACE_ASSET_NAME,
|
|
15
|
+
n as ToothScheme,
|
|
16
|
+
c as chartFromConditions,
|
|
17
|
+
h as conditionSymbolUrl,
|
|
18
|
+
m as emptyChart,
|
|
19
|
+
A as generalElement,
|
|
20
|
+
i as isSpecialElement,
|
|
21
|
+
C as labelFor,
|
|
22
|
+
D as layoutSpecials,
|
|
23
|
+
F as layoutTeeth,
|
|
24
|
+
L as specialIconUrl,
|
|
25
|
+
R as specialsForRow,
|
|
26
|
+
P as surfaceSymbolUrl,
|
|
27
|
+
p as toothImageUrl,
|
|
28
|
+
M as toothSchemeAgent,
|
|
29
|
+
U as toothSchemeVariants,
|
|
30
|
+
u as zonePath,
|
|
31
|
+
y as zoneSurface,
|
|
32
|
+
b as zonesForTooth
|
|
26
33
|
};
|
|
27
34
|
//# sourceMappingURL=index.js.map
|