@alfadocs/ui-kit-debug 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/address-fields-CPbFJ8e8.js.map +1 -0
- package/dist/_chunks/{agenda-card-BxSFkqgY.js → agenda-card-BQ-IKAru.js} +2 -2
- package/dist/_chunks/{agenda-card-BxSFkqgY.js.map → agenda-card-BQ-IKAru.js.map} +1 -1
- package/dist/_chunks/{agenda-tray-g0kg7HwB.js → agenda-tray-CGXRk58j.js} +2 -2
- package/dist/_chunks/{agenda-tray-g0kg7HwB.js.map → agenda-tray-CGXRk58j.js.map} +1 -1
- package/dist/_chunks/{ai-consent-banner-CXlsNX1c.js → ai-consent-banner-Be-h9mRI.js} +3 -3
- package/dist/_chunks/{ai-consent-banner-CXlsNX1c.js.map → ai-consent-banner-Be-h9mRI.js.map} +1 -1
- package/dist/_chunks/{ai-prompt-input-CuhTo9mh.js → ai-prompt-input-V4DdOeqv.js} +2 -2
- package/dist/_chunks/{ai-prompt-input-CuhTo9mh.js.map → ai-prompt-input-V4DdOeqv.js.map} +1 -1
- package/dist/_chunks/{alert-_mUKLmwA.js → alert-CHYZ96tR.js} +150 -96
- package/dist/_chunks/alert-CHYZ96tR.js.map +1 -0
- package/dist/_chunks/{alia-sidebar-B47qRQb5.js → alia-sidebar-DvIUzIX9.js} +107 -106
- package/dist/_chunks/alia-sidebar-DvIUzIX9.js.map +1 -0
- package/dist/_chunks/{anamnesis-card-DRmE24OQ.js → anamnesis-card-DvYCa16e.js} +2 -2
- package/dist/_chunks/{anamnesis-card-DRmE24OQ.js.map → anamnesis-card-DvYCa16e.js.map} +1 -1
- package/dist/_chunks/anatomy-scheme-CXSk11UJ.js +2445 -0
- package/dist/_chunks/anatomy-scheme-CXSk11UJ.js.map +1 -0
- package/dist/_chunks/annotation-marker-qt5R9WZX.js +120 -0
- package/dist/_chunks/annotation-marker-qt5R9WZX.js.map +1 -0
- package/dist/_chunks/{antenatal-schedule-timeline-35ebkcZT.js → antenatal-schedule-timeline-CwXrQRm1.js} +2 -2
- package/dist/_chunks/{antenatal-schedule-timeline-35ebkcZT.js.map → antenatal-schedule-timeline-CwXrQRm1.js.map} +1 -1
- package/dist/_chunks/{app-frame-BYx1gcV7.js → app-frame-DIEMIC5V.js} +67 -56
- package/dist/_chunks/app-frame-DIEMIC5V.js.map +1 -0
- package/dist/_chunks/appointment-card-DVaeJNVB.js +294 -0
- package/dist/_chunks/appointment-card-DVaeJNVB.js.map +1 -0
- package/dist/_chunks/appointment-timeline-PJgnrjFb.js +388 -0
- package/dist/_chunks/appointment-timeline-PJgnrjFb.js.map +1 -0
- package/dist/_chunks/appointment-tray-B16QPGbm.js +193 -0
- package/dist/_chunks/appointment-tray-B16QPGbm.js.map +1 -0
- package/dist/_chunks/{audio-recorder-DYXXnGug.js → audio-recorder-DNDsOLqO.js} +3 -3
- package/dist/_chunks/{audio-recorder-DYXXnGug.js.map → audio-recorder-DNDsOLqO.js.map} +1 -1
- package/dist/_chunks/{autocomplete-DOeGouCL.js → autocomplete-BrONKN8l.js} +168 -146
- package/dist/_chunks/autocomplete-BrONKN8l.js.map +1 -0
- package/dist/_chunks/{badge-CqGsX32l.js → badge-DCOqV9mI.js} +32 -27
- package/dist/_chunks/badge-DCOqV9mI.js.map +1 -0
- package/dist/_chunks/{bishop-score-PJI3AXzA.js → bishop-score-Cym_TeQY.js} +3 -3
- package/dist/_chunks/{bishop-score-PJI3AXzA.js.map → bishop-score-Cym_TeQY.js.map} +1 -1
- package/dist/_chunks/{bmi-calculator-BZtIJ53x.js → bmi-calculator-zjeY4E7J.js} +2 -2
- package/dist/_chunks/{bmi-calculator-BZtIJ53x.js.map → bmi-calculator-zjeY4E7J.js.map} +1 -1
- package/dist/_chunks/{booking-C3VqFReX.js → booking-C7do4vaR.js} +7 -7
- package/dist/_chunks/{booking-C3VqFReX.js.map → booking-C7do4vaR.js.map} +1 -1
- package/dist/_chunks/{button-group-Ciq6J4IW.js → button-group-CvEnVzY7.js} +32 -35
- package/dist/_chunks/{button-group-Ciq6J4IW.js.map → button-group-CvEnVzY7.js.map} +1 -1
- package/dist/_chunks/{care-plan-card-CvFGXa2z.js → care-plan-card-DzPDYgtK.js} +5 -5
- package/dist/_chunks/{care-plan-card-CvFGXa2z.js.map → care-plan-card-DzPDYgtK.js.map} +1 -1
- package/dist/_chunks/{care-plan-entry-card-C3E_gClk.js → care-plan-entry-card-CEnQy7YP.js} +5 -5
- package/dist/_chunks/{care-plan-entry-card-C3E_gClk.js.map → care-plan-entry-card-CEnQy7YP.js.map} +1 -1
- package/dist/_chunks/care-plan-header-DcXFXWit.js +198 -0
- package/dist/_chunks/care-plan-header-DcXFXWit.js.map +1 -0
- package/dist/_chunks/{chat-message-3V54YipB.js → chat-message-DzpcJR-q.js} +25 -23
- package/dist/_chunks/chat-message-DzpcJR-q.js.map +1 -0
- package/dist/_chunks/city-input-Dkgaak7I.js +169 -0
- package/dist/_chunks/city-input-Dkgaak7I.js.map +1 -0
- package/dist/_chunks/clinical-note-card-BUvNMNGL.js +436 -0
- package/dist/_chunks/clinical-note-card-BUvNMNGL.js.map +1 -0
- package/dist/_chunks/clipboard-list-S7s-MXQq.js +25 -0
- package/dist/_chunks/clipboard-list-S7s-MXQq.js.map +1 -0
- package/dist/_chunks/{combobox-Clum7gJ1.js → combobox-DnqSF0IH.js} +131 -114
- package/dist/_chunks/combobox-DnqSF0IH.js.map +1 -0
- package/dist/_chunks/connection-status-CY1HV8Wg.js +108 -0
- package/dist/_chunks/connection-status-CY1HV8Wg.js.map +1 -0
- package/dist/_chunks/{contact-profile-card-Dramqa9C.js → contact-profile-card-DDPwRFiP.js} +2 -2
- package/dist/_chunks/{contact-profile-card-Dramqa9C.js.map → contact-profile-card-DDPwRFiP.js.map} +1 -1
- package/dist/_chunks/control-room-rail-FAQZrGVL.js +333 -0
- package/dist/_chunks/control-room-rail-FAQZrGVL.js.map +1 -0
- package/dist/_chunks/country-select-BwUZQvTa.js +709 -0
- package/dist/_chunks/country-select-BwUZQvTa.js.map +1 -0
- package/dist/_chunks/{cycle-calculator-DmRGJNaT.js → cycle-calculator-CCmPwcBl.js} +2 -2
- package/dist/_chunks/{cycle-calculator-DmRGJNaT.js.map → cycle-calculator-CCmPwcBl.js.map} +1 -1
- package/dist/_chunks/{dependent-selector-CG_FOHya.js → dependent-selector-DUV4thxX.js} +2 -2
- package/dist/_chunks/{dependent-selector-CG_FOHya.js.map → dependent-selector-DUV4thxX.js.map} +1 -1
- package/dist/_chunks/{document-scanner-CTubA0-N.js → document-scanner-C_AxLooF.js} +3 -3
- package/dist/_chunks/{document-scanner-CTubA0-N.js.map → document-scanner-C_AxLooF.js.map} +1 -1
- package/dist/_chunks/{due-date-calculator-BTmsIQqD.js → due-date-calculator-Brdj-euS.js} +3 -3
- package/dist/_chunks/{due-date-calculator-BTmsIQqD.js.map → due-date-calculator-Brdj-euS.js.map} +1 -1
- package/dist/_chunks/editable-currency-cell-renderer-CGELrkIj.js +410 -0
- package/dist/_chunks/editable-currency-cell-renderer-CGELrkIj.js.map +1 -0
- package/dist/_chunks/email-input-DJ7EXklP.js +397 -0
- package/dist/_chunks/{email-input-B_Y55f5G.js.map → email-input-DJ7EXklP.js.map} +1 -1
- package/dist/_chunks/{entity-card-COhmqHly.js → entity-card-DmrgYSEX.js} +38 -20
- package/dist/_chunks/{entity-card-COhmqHly.js.map → entity-card-DmrgYSEX.js.map} +1 -1
- package/dist/_chunks/entity-summary-CaM1Y-xE.js +291 -0
- package/dist/_chunks/entity-summary-CaM1Y-xE.js.map +1 -0
- package/dist/_chunks/{fetal-weight-CRz7KE2D.js → fetal-weight-DNCkyeVo.js} +2 -2
- package/dist/_chunks/{fetal-weight-CRz7KE2D.js.map → fetal-weight-DNCkyeVo.js.map} +1 -1
- package/dist/_chunks/field-array-siUZzfYe.js +146 -0
- package/dist/_chunks/field-array-siUZzfYe.js.map +1 -0
- package/dist/_chunks/field-value-3jMM0uDx.js +415 -0
- package/dist/_chunks/field-value-3jMM0uDx.js.map +1 -0
- package/dist/_chunks/{file-upload-5ScQd4fE.js → file-upload-DwZcAK8D.js} +2 -1
- package/dist/_chunks/{file-upload-5ScQd4fE.js.map → file-upload-DwZcAK8D.js.map} +1 -1
- package/dist/_chunks/{freemium-paywall-DZ2mBS3w.js → freemium-paywall-WYlNO7yT.js} +2 -2
- package/dist/_chunks/{freemium-paywall-DZ2mBS3w.js.map → freemium-paywall-WYlNO7yT.js.map} +1 -1
- package/dist/_chunks/{gestational-age-calculator-BleUdhbI.js → gestational-age-calculator-DKzEV5Qi.js} +4 -4
- package/dist/_chunks/{gestational-age-calculator-BleUdhbI.js.map → gestational-age-calculator-DKzEV5Qi.js.map} +1 -1
- package/dist/_chunks/hash-CysBBS_N.js +17 -0
- package/dist/_chunks/hash-CysBBS_N.js.map +1 -0
- package/dist/_chunks/{hcg-doubling-CnjDXX6U.js → hcg-doubling-C7bmuaU3.js} +2 -2
- package/dist/_chunks/{hcg-doubling-CnjDXX6U.js.map → hcg-doubling-C7bmuaU3.js.map} +1 -1
- package/dist/_chunks/iban-input-B0TWzR1R.js +436 -0
- package/dist/_chunks/iban-input-B0TWzR1R.js.map +1 -0
- package/dist/_chunks/icon-picker-0B7KhrF1.js +272 -0
- package/dist/_chunks/icon-picker-0B7KhrF1.js.map +1 -0
- package/dist/_chunks/image-cropper-D9jqJy19.js +367 -0
- package/dist/_chunks/image-cropper-D9jqJy19.js.map +1 -0
- package/dist/_chunks/{actions-cell-renderer-DrcaxB0w.js → link-cell-renderer-De_SLjSq.js} +792 -668
- package/dist/_chunks/link-cell-renderer-De_SLjSq.js.map +1 -0
- package/dist/_chunks/list-checks-BUs75d_o.js +18 -0
- package/dist/_chunks/list-checks-BUs75d_o.js.map +1 -0
- package/dist/_chunks/lock-CKOIn0IK.js +15 -0
- package/dist/_chunks/lock-CKOIn0IK.js.map +1 -0
- package/dist/_chunks/{marketplace-app-shell-6T9W4Knl.js → marketplace-app-shell-BGqkywsi.js} +5 -5
- package/dist/_chunks/{marketplace-app-shell-6T9W4Knl.js.map → marketplace-app-shell-BGqkywsi.js.map} +1 -1
- package/dist/_chunks/message-card-DsHFFiL1.js +319 -0
- package/dist/_chunks/message-card-DsHFFiL1.js.map +1 -0
- package/dist/_chunks/{message-tray-DwrBLJlf.js → message-tray-C0a6CL1_.js} +172 -135
- package/dist/_chunks/message-tray-C0a6CL1_.js.map +1 -0
- package/dist/_chunks/{multi-select-BdHHDrRN.js → multi-select-WE4S9FIF.js} +75 -63
- package/dist/_chunks/{multi-select-BdHHDrRN.js.map → multi-select-WE4S9FIF.js.map} +1 -1
- package/dist/_chunks/nav-grid-9xphY3FM.js +169 -0
- package/dist/_chunks/nav-grid-9xphY3FM.js.map +1 -0
- package/dist/_chunks/notes-panel-DXiMfuvp.js +320 -0
- package/dist/_chunks/notes-panel-DXiMfuvp.js.map +1 -0
- package/dist/_chunks/notification-card-BMqNzCIt.js +290 -0
- package/dist/_chunks/notification-card-BMqNzCIt.js.map +1 -0
- package/dist/_chunks/{notification-tray-Btb9oQeZ.js → notification-tray-BmUlCx3g.js} +201 -166
- package/dist/_chunks/notification-tray-BmUlCx3g.js.map +1 -0
- package/dist/_chunks/{operator-hero-CP2Nhupm.js → operator-hero-BO8TqzX2.js} +3 -3
- package/dist/_chunks/{operator-hero-CP2Nhupm.js.map → operator-hero-BO8TqzX2.js.map} +1 -1
- package/dist/_chunks/panel-header-D313n_9-.js +105 -0
- package/dist/_chunks/panel-header-D313n_9-.js.map +1 -0
- package/dist/_chunks/patient-details-DgfTJimE.js +759 -0
- package/dist/_chunks/patient-details-DgfTJimE.js.map +1 -0
- package/dist/_chunks/{patient-search-CBC_ySF6.js → patient-search-CSWQKOSP.js} +3 -3
- package/dist/_chunks/{patient-search-CBC_ySF6.js.map → patient-search-CSWQKOSP.js.map} +1 -1
- package/dist/_chunks/{patient-shell-DV3XEtIB.js → patient-shell-BMwsIKlW.js} +3 -3
- package/dist/_chunks/{patient-shell-DV3XEtIB.js.map → patient-shell-BMwsIKlW.js.map} +1 -1
- package/dist/_chunks/patient-summary-card-D4NdgYJB.js +452 -0
- package/dist/_chunks/patient-summary-card-D4NdgYJB.js.map +1 -0
- package/dist/_chunks/patient-table-CERknpd8.js +1110 -0
- package/dist/_chunks/patient-table-CERknpd8.js.map +1 -0
- package/dist/_chunks/{payment-form-DvjwYVIT.js → payment-form-CxqIXqw7.js} +2 -2
- package/dist/_chunks/{payment-form-DvjwYVIT.js.map → payment-form-CxqIXqw7.js.map} +1 -1
- package/dist/_chunks/{payment-request-card-DioWKBUq.js → payment-request-card-Blf-MFNY.js} +125 -136
- package/dist/_chunks/payment-request-card-Blf-MFNY.js.map +1 -0
- package/dist/_chunks/{pdf-viewer-D6BPfW2D.js → pdf-viewer-QfebdLOd.js} +192 -214
- package/dist/_chunks/pdf-viewer-QfebdLOd.js.map +1 -0
- package/dist/_chunks/{periodontal-chart-card-BuDEMbHE.js → periodontal-chart-card-hRRJY1NN.js} +2 -2
- package/dist/_chunks/{periodontal-chart-card-BuDEMbHE.js.map → periodontal-chart-card-hRRJY1NN.js.map} +1 -1
- package/dist/_chunks/permission-matrix-Bw5oexUt.js +174 -0
- package/dist/_chunks/permission-matrix-Bw5oexUt.js.map +1 -0
- package/dist/_chunks/position-grid-CcvqHaKN.js +169 -0
- package/dist/_chunks/position-grid-CcvqHaKN.js.map +1 -0
- package/dist/_chunks/postal-code-input-UCOYuRY2.js +192 -0
- package/dist/_chunks/postal-code-input-UCOYuRY2.js.map +1 -0
- package/dist/_chunks/{practice-results-KrTHqZua.js → practice-results-El5Z-oVp.js} +4 -4
- package/dist/_chunks/{practice-results-KrTHqZua.js.map → practice-results-El5Z-oVp.js.map} +1 -1
- package/dist/_chunks/{pregnancy-dating-DORUAOHB.js → pregnancy-dating-CunHrOpO.js} +4 -4
- package/dist/_chunks/{pregnancy-dating-DORUAOHB.js.map → pregnancy-dating-CunHrOpO.js.map} +1 -1
- package/dist/_chunks/{pregnancy-weight-gain-DVz4rr7-.js → pregnancy-weight-gain-BUNpTsH-.js} +2 -2
- package/dist/_chunks/{pregnancy-weight-gain-DVz4rr7-.js.map → pregnancy-weight-gain-BUNpTsH-.js.map} +1 -1
- package/dist/_chunks/{product-hub-panel-e6pW220e.js → product-hub-panel-DtU7KXxm.js} +257 -217
- package/dist/_chunks/product-hub-panel-DtU7KXxm.js.map +1 -0
- package/dist/_chunks/province-select-D_TZvix3.js +261 -0
- package/dist/_chunks/province-select-D_TZvix3.js.map +1 -0
- package/dist/_chunks/{public-header.agent-DqkqA-ca.js → public-header.agent-TxmC_x1I.js} +2 -2
- package/dist/_chunks/{public-header.agent-DqkqA-ca.js.map → public-header.agent-TxmC_x1I.js.map} +1 -1
- package/dist/_chunks/radiograph-panel.agent-tWjN2nHX.js +553 -0
- package/dist/_chunks/radiograph-panel.agent-tWjN2nHX.js.map +1 -0
- package/dist/_chunks/reviews-panel-DxkSrgMl.js +559 -0
- package/dist/_chunks/reviews-panel-DxkSrgMl.js.map +1 -0
- package/dist/_chunks/rich-text-editor-C8tyGjfb.js +2621 -0
- package/dist/_chunks/rich-text-editor-C8tyGjfb.js.map +1 -0
- package/dist/_chunks/{scroll-area-5wNK0Cyz.js → scroll-area-BZOvUhwQ.js} +2 -2
- package/dist/_chunks/scroll-area-BZOvUhwQ.js.map +1 -0
- package/dist/_chunks/{select-DMLG44F5.js → select-KsyRr8WH.js} +114 -102
- package/dist/_chunks/select-KsyRr8WH.js.map +1 -0
- package/dist/_chunks/{sheet-BxsE7eQm.js → sheet-umkfZjF6.js} +53 -42
- package/dist/_chunks/sheet-umkfZjF6.js.map +1 -0
- package/dist/_chunks/{sidebar-DY9jGjgt.js → sidebar-QCp9wHNP.js} +125 -113
- package/dist/_chunks/sidebar-QCp9wHNP.js.map +1 -0
- package/dist/_chunks/{sign-document-B4DeRhTe.js → sign-document-By6hMOra.js} +2 -2
- package/dist/_chunks/{sign-document-B4DeRhTe.js.map → sign-document-By6hMOra.js.map} +1 -1
- package/dist/_chunks/{stepper-accordion-Dki6r9ZE.js → stepper-accordion-DC-H-8v4.js} +38 -48
- package/dist/_chunks/stepper-accordion-DC-H-8v4.js.map +1 -0
- package/dist/_chunks/tab-bar-Bv9nGNdO.js +262 -0
- package/dist/_chunks/tab-bar-Bv9nGNdO.js.map +1 -0
- package/dist/_chunks/{tabs-BxcOziCo.js → tabs-CYZVKKDl.js} +2 -2
- package/dist/_chunks/{tabs-BxcOziCo.js.map → tabs-CYZVKKDl.js.map} +1 -1
- package/dist/_chunks/task-card-DCdsI0ZT.js +189 -0
- package/dist/_chunks/task-card-DCdsI0ZT.js.map +1 -0
- package/dist/_chunks/{task-tray-qOEQflu4.js → task-tray-DNVejijD.js} +2 -2
- package/dist/_chunks/{task-tray-qOEQflu4.js.map → task-tray-DNVejijD.js.map} +1 -1
- package/dist/_chunks/tasks-panel-C9odmawT.js +757 -0
- package/dist/_chunks/tasks-panel-C9odmawT.js.map +1 -0
- package/dist/_chunks/token-insert-menu-CFQqTe_n.js +147 -0
- package/dist/_chunks/token-insert-menu-CFQqTe_n.js.map +1 -0
- package/dist/_chunks/tool-rail-BZx0-yIr.js +524 -0
- package/dist/_chunks/tool-rail-BZx0-yIr.js.map +1 -0
- package/dist/_chunks/tooth-scheme-DJZtzfeY.js +2133 -0
- package/dist/_chunks/tooth-scheme-DJZtzfeY.js.map +1 -0
- package/dist/_chunks/{transaction-chip-DK84XCBU.js → transaction-chip-CscoQbxF.js} +88 -61
- package/dist/_chunks/transaction-chip-CscoQbxF.js.map +1 -0
- package/dist/_chunks/{transcript-panel-3THQX6nJ.js → transcript-panel-CHGHHHdT.js} +95 -83
- package/dist/_chunks/transcript-panel-CHGHHHdT.js.map +1 -0
- package/dist/_chunks/{unit-converter-YEpD9evj.js → unit-converter-CwlZbfdn.js} +2 -2
- package/dist/_chunks/{unit-converter-YEpD9evj.js.map → unit-converter-CwlZbfdn.js.map} +1 -1
- package/dist/_chunks/use-clamp-overflow-DQE2kwZ9.js +20 -0
- package/dist/_chunks/use-clamp-overflow-DQE2kwZ9.js.map +1 -0
- package/dist/_chunks/use-edge-resize-ZnGG7gyO.js.map +1 -1
- package/dist/_chunks/use-overflow-collapse-BIOzKbni.js +32 -0
- package/dist/_chunks/use-overflow-collapse-BIOzKbni.js.map +1 -0
- package/dist/_chunks/use-persistent-state-nZwZAnE9.js +24 -0
- package/dist/_chunks/use-persistent-state-nZwZAnE9.js.map +1 -0
- package/dist/_chunks/{warning-stack-BsgaEbL8.js → warning-stack--sTrrBDA.js} +86 -101
- package/dist/_chunks/warning-stack--sTrrBDA.js.map +1 -0
- package/dist/_chunks/{workflow-map-Bdam9pGp.js → workflow-map-M8MBBHQm.js} +107 -119
- package/dist/_chunks/workflow-map-M8MBBHQm.js.map +1 -0
- package/dist/_chunks/zoom-out-CgVtf2Wx.js +29 -0
- package/dist/_chunks/zoom-out-CgVtf2Wx.js.map +1 -0
- package/dist/agent/index.js +5 -4
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/types.d.ts +19 -2
- package/dist/agent/types.d.ts.map +1 -1
- 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/entity-card.d.ts.map +1 -1
- package/dist/components/_shared/entity-card/index.d.ts +1 -1
- package/dist/components/_shared/entity-card/index.d.ts.map +1 -1
- package/dist/components/_shared/field-value.d.ts +21 -0
- package/dist/components/_shared/field-value.d.ts.map +1 -0
- package/dist/components/_shared/field-visibility-cog.d.ts +20 -0
- package/dist/components/_shared/field-visibility-cog.d.ts.map +1 -0
- package/dist/components/_shared/field-visibility.d.ts +36 -0
- package/dist/components/_shared/field-visibility.d.ts.map +1 -0
- package/dist/components/_shared/option.d.ts +2 -0
- package/dist/components/_shared/option.d.ts.map +1 -1
- package/dist/components/_shared/patient-fields.d.ts +119 -0
- package/dist/components/_shared/patient-fields.d.ts.map +1 -0
- package/dist/components/address-fields/address-fields.agent.d.ts +9 -0
- package/dist/components/address-fields/address-fields.agent.d.ts.map +1 -0
- package/dist/components/address-fields/address-fields.d.ts +29 -0
- package/dist/components/address-fields/address-fields.d.ts.map +1 -0
- package/dist/components/address-fields/index.d.ts +5 -0
- package/dist/components/address-fields/index.d.ts.map +1 -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/alert.d.ts.map +1 -1
- 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-face-paths.d.ts.map +1 -0
- package/dist/components/anatomy-scheme/anatomy-muscle-paths.d.ts +20 -0
- package/dist/components/anatomy-scheme/anatomy-muscle-paths.d.ts.map +1 -0
- package/dist/components/anatomy-scheme/anatomy-scheme-data.d.ts +121 -0
- package/dist/components/anatomy-scheme/anatomy-scheme-data.d.ts.map +1 -0
- package/dist/components/anatomy-scheme/anatomy-scheme.agent.d.ts +6 -0
- package/dist/components/anatomy-scheme/anatomy-scheme.agent.d.ts.map +1 -0
- package/dist/components/anatomy-scheme/anatomy-scheme.d.ts +69 -0
- package/dist/components/anatomy-scheme/anatomy-scheme.d.ts.map +1 -0
- package/dist/components/anatomy-scheme/index.d.ts +6 -0
- package/dist/components/anatomy-scheme/index.d.ts.map +1 -0
- package/dist/components/anatomy-scheme/index.js +17 -0
- package/dist/components/anatomy-scheme/index.js.map +1 -0
- package/dist/components/annotation-marker/annotation-marker.d.ts +33 -0
- package/dist/components/annotation-marker/annotation-marker.d.ts.map +1 -0
- package/dist/components/annotation-marker/index.d.ts +3 -0
- package/dist/components/annotation-marker/index.d.ts.map +1 -0
- package/dist/components/annotation-marker/index.js +7 -0
- package/dist/components/annotation-marker/index.js.map +1 -0
- package/dist/components/app-frame/app-frame.d.ts +2 -2
- package/dist/components/app-frame/app-frame.d.ts.map +1 -1
- 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/appointment-card.d.ts.map +1 -1
- package/dist/components/appointment-card/index.js +6 -5
- package/dist/components/appointment-card/index.js.map +1 -1
- package/dist/components/appointment-timeline/appointment-timeline.agent.d.ts +4 -0
- package/dist/components/appointment-timeline/appointment-timeline.agent.d.ts.map +1 -0
- package/dist/components/appointment-timeline/appointment-timeline.d.ts +66 -0
- package/dist/components/appointment-timeline/appointment-timeline.d.ts.map +1 -0
- package/dist/components/appointment-timeline/index.d.ts +4 -0
- package/dist/components/appointment-timeline/index.d.ts.map +1 -0
- package/dist/components/appointment-timeline/index.js +6 -0
- package/dist/components/appointment-timeline/index.js.map +1 -0
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/autocomplete/autocomplete.d.ts +10 -0
- package/dist/components/autocomplete/autocomplete.d.ts.map +1 -1
- package/dist/components/autocomplete/index.js +1 -1
- package/dist/components/badge/badge.d.ts +6 -2
- package/dist/components/badge/badge.d.ts.map +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/button-group/button-group.d.ts.map +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.agent.d.ts.map +1 -0
- package/dist/components/care-plan-header/care-plan-header.d.ts +111 -0
- package/dist/components/care-plan-header/care-plan-header.d.ts.map +1 -0
- package/dist/components/care-plan-header/index.d.ts +4 -0
- package/dist/components/care-plan-header/index.d.ts.map +1 -0
- package/dist/components/care-plan-header/index.js +6 -0
- package/dist/components/care-plan-header/index.js.map +1 -0
- package/dist/components/chat-message/chat-message.d.ts.map +1 -1
- 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.agent.d.ts.map +1 -0
- package/dist/components/city-input/city-input.d.ts +57 -0
- package/dist/components/city-input/city-input.d.ts.map +1 -0
- package/dist/components/city-input/index.d.ts +5 -0
- package/dist/components/city-input/index.d.ts.map +1 -0
- package/dist/components/city-input/index.js +6 -0
- package/dist/components/city-input/index.js.map +1 -0
- package/dist/components/clinical-note-card/clinical-note-card.d.ts +21 -1
- package/dist/components/clinical-note-card/clinical-note-card.d.ts.map +1 -1
- package/dist/components/clinical-note-card/index.js +1 -1
- package/dist/components/combobox/combobox.d.ts +17 -0
- package/dist/components/combobox/combobox.d.ts.map +1 -1
- 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.agent.d.ts.map +1 -0
- package/dist/components/connection-status/connection-status.d.ts +36 -0
- package/dist/components/connection-status/connection-status.d.ts.map +1 -0
- package/dist/components/connection-status/index.d.ts +4 -0
- package/dist/components/connection-status/index.d.ts.map +1 -0
- package/dist/components/connection-status/index.js +6 -0
- package/dist/components/connection-status/index.js.map +1 -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-context.d.ts.map +1 -0
- package/dist/components/control-room-rail/control-room-rail.agent.d.ts +4 -0
- package/dist/components/control-room-rail/control-room-rail.agent.d.ts.map +1 -0
- package/dist/components/control-room-rail/control-room-rail.d.ts +35 -0
- package/dist/components/control-room-rail/control-room-rail.d.ts.map +1 -0
- package/dist/components/control-room-rail/index.d.ts +6 -0
- package/dist/components/control-room-rail/index.d.ts.map +1 -0
- package/dist/components/control-room-rail/index.js +10 -0
- package/dist/components/control-room-rail/index.js.map +1 -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.agent.d.ts.map +1 -0
- package/dist/components/country-select/country-select.d.ts +51 -0
- package/dist/components/country-select/country-select.d.ts.map +1 -0
- package/dist/components/country-select/index.d.ts +6 -0
- package/dist/components/country-select/index.d.ts.map +1 -0
- package/dist/components/country-select/index.js +9 -0
- package/dist/components/country-select/index.js.map +1 -0
- package/dist/components/country-select/iso-3166.d.ts +15 -0
- package/dist/components/country-select/iso-3166.d.ts.map +1 -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/actions-cell-renderer.d.ts.map +1 -1
- package/dist/components/data-table/cell-renderers/reorder-cell-renderer.d.ts +34 -0
- package/dist/components/data-table/cell-renderers/reorder-cell-renderer.d.ts.map +1 -0
- package/dist/components/data-table/filters/select-filter.d.ts.map +1 -1
- package/dist/components/data-table/index.d.ts +3 -1
- package/dist/components/data-table/index.d.ts.map +1 -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/email-input.d.ts.map +1 -1
- 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.agent.d.ts.map +1 -0
- package/dist/components/entity-summary/entity-summary.d.ts +92 -0
- package/dist/components/entity-summary/entity-summary.d.ts.map +1 -0
- package/dist/components/entity-summary/index.d.ts +3 -0
- package/dist/components/entity-summary/index.d.ts.map +1 -0
- package/dist/components/entity-summary/index.js +5 -0
- package/dist/components/entity-summary/index.js.map +1 -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.agent.d.ts.map +1 -0
- package/dist/components/field-array/field-array.d.ts +45 -0
- package/dist/components/field-array/field-array.d.ts.map +1 -0
- package/dist/components/field-array/index.d.ts +4 -0
- package/dist/components/field-array/index.d.ts.map +1 -0
- package/dist/components/field-array/index.js +6 -0
- package/dist/components/field-array/index.js.map +1 -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.agent.d.ts.map +1 -0
- package/dist/components/iban-input/iban-input.d.ts +51 -0
- package/dist/components/iban-input/iban-input.d.ts.map +1 -0
- package/dist/components/iban-input/index.d.ts +5 -0
- package/dist/components/iban-input/index.d.ts.map +1 -0
- package/dist/components/iban-input/index.js +13 -0
- package/dist/components/iban-input/index.js.map +1 -0
- package/dist/components/iban-input/is-valid-iban.d.ts +31 -0
- package/dist/components/iban-input/is-valid-iban.d.ts.map +1 -0
- package/dist/components/icon-picker/icon-picker.agent.d.ts +4 -0
- package/dist/components/icon-picker/icon-picker.agent.d.ts.map +1 -0
- package/dist/components/icon-picker/icon-picker.d.ts +41 -0
- package/dist/components/icon-picker/icon-picker.d.ts.map +1 -0
- package/dist/components/icon-picker/index.d.ts +4 -0
- package/dist/components/icon-picker/index.d.ts.map +1 -0
- package/dist/components/icon-picker/index.js +6 -0
- package/dist/components/icon-picker/index.js.map +1 -0
- package/dist/components/image-cropper/crop-geometry.d.ts +30 -0
- package/dist/components/image-cropper/crop-geometry.d.ts.map +1 -0
- package/dist/components/image-cropper/image-cropper.agent.d.ts +4 -0
- package/dist/components/image-cropper/image-cropper.agent.d.ts.map +1 -0
- package/dist/components/image-cropper/image-cropper.d.ts +32 -0
- package/dist/components/image-cropper/image-cropper.d.ts.map +1 -0
- package/dist/components/image-cropper/index.d.ts +5 -0
- package/dist/components/image-cropper/index.d.ts.map +1 -0
- package/dist/components/image-cropper/index.js +11 -0
- package/dist/components/image-cropper/index.js.map +1 -0
- package/dist/components/index.d.ts +25 -1
- package/dist/components/index.d.ts.map +1 -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-card/message-card.d.ts.map +1 -1
- package/dist/components/message-tray/index.js +1 -1
- package/dist/components/message-tray/message-tray.agent.d.ts.map +1 -1
- package/dist/components/message-tray/message-tray.d.ts +4 -0
- package/dist/components/message-tray/message-tray.d.ts.map +1 -1
- package/dist/components/multi-select/index.js +1 -1
- package/dist/components/multi-select/multi-select.d.ts.map +1 -1
- package/dist/components/nav-grid/index.d.ts +4 -0
- package/dist/components/nav-grid/index.d.ts.map +1 -0
- package/dist/components/nav-grid/index.js +7 -0
- package/dist/components/nav-grid/index.js.map +1 -0
- package/dist/components/nav-grid/nav-grid.agent.d.ts +4 -0
- package/dist/components/nav-grid/nav-grid.agent.d.ts.map +1 -0
- package/dist/components/nav-grid/nav-grid.d.ts +41 -0
- package/dist/components/nav-grid/nav-grid.d.ts.map +1 -0
- package/dist/components/notes-panel/index.d.ts +3 -0
- package/dist/components/notes-panel/index.d.ts.map +1 -0
- package/dist/components/notes-panel/index.js +5 -0
- package/dist/components/notes-panel/index.js.map +1 -0
- package/dist/components/notes-panel/notes-panel.agent.d.ts +4 -0
- package/dist/components/notes-panel/notes-panel.agent.d.ts.map +1 -0
- package/dist/components/notes-panel/notes-panel.d.ts +94 -0
- package/dist/components/notes-panel/notes-panel.d.ts.map +1 -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-card/notification-card.d.ts.map +1 -1
- package/dist/components/notification-tray/index.js +1 -1
- package/dist/components/notification-tray/notification-tray.agent.d.ts.map +1 -1
- package/dist/components/notification-tray/notification-tray.d.ts +4 -0
- package/dist/components/notification-tray/notification-tray.d.ts.map +1 -1
- 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.d.ts.map +1 -0
- package/dist/components/panel-header/index.js +7 -0
- package/dist/components/panel-header/index.js.map +1 -0
- package/dist/components/panel-header/panel-header.d.ts +41 -0
- package/dist/components/panel-header/panel-header.d.ts.map +1 -0
- package/dist/components/patient-details/index.d.ts +5 -0
- package/dist/components/patient-details/index.d.ts.map +1 -0
- package/dist/components/patient-details/index.js +6 -0
- package/dist/components/patient-details/index.js.map +1 -0
- package/dist/components/patient-details/patient-details.agent.d.ts +4 -0
- package/dist/components/patient-details/patient-details.agent.d.ts.map +1 -0
- package/dist/components/patient-details/patient-details.d.ts +96 -0
- package/dist/components/patient-details/patient-details.d.ts.map +1 -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.agent.d.ts.map +1 -1
- package/dist/components/patient-summary-card/patient-summary-card.d.ts +40 -1
- package/dist/components/patient-summary-card/patient-summary-card.d.ts.map +1 -1
- package/dist/components/patient-table/columns.d.ts +69 -40
- package/dist/components/patient-table/columns.d.ts.map +1 -1
- package/dist/components/patient-table/index.d.ts +2 -6
- package/dist/components/patient-table/index.d.ts.map +1 -1
- 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/patient-table.d.ts.map +1 -1
- package/dist/components/patient-table/types.d.ts +52 -2
- package/dist/components/patient-table/types.d.ts.map +1 -1
- package/dist/components/patient-table/use-responsive-columns.d.ts +8 -6
- package/dist/components/patient-table/use-responsive-columns.d.ts.map +1 -1
- 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.d.ts.map +1 -0
- package/dist/components/permission-matrix/index.js +7 -0
- package/dist/components/permission-matrix/index.js.map +1 -0
- package/dist/components/permission-matrix/permission-matrix.agent.d.ts +4 -0
- package/dist/components/permission-matrix/permission-matrix.agent.d.ts.map +1 -0
- package/dist/components/permission-matrix/permission-matrix.d.ts +47 -0
- package/dist/components/permission-matrix/permission-matrix.d.ts.map +1 -0
- package/dist/components/position-grid/index.d.ts +4 -0
- package/dist/components/position-grid/index.d.ts.map +1 -0
- package/dist/components/position-grid/index.js +7 -0
- package/dist/components/position-grid/index.js.map +1 -0
- package/dist/components/position-grid/position-grid.agent.d.ts +4 -0
- package/dist/components/position-grid/position-grid.agent.d.ts.map +1 -0
- package/dist/components/position-grid/position-grid.d.ts +39 -0
- package/dist/components/position-grid/position-grid.d.ts.map +1 -0
- package/dist/components/postal-code-input/index.d.ts +5 -0
- package/dist/components/postal-code-input/index.d.ts.map +1 -0
- package/dist/components/postal-code-input/index.js +6 -0
- package/dist/components/postal-code-input/index.js.map +1 -0
- package/dist/components/postal-code-input/postal-code-input.agent.d.ts +8 -0
- package/dist/components/postal-code-input/postal-code-input.agent.d.ts.map +1 -0
- package/dist/components/postal-code-input/postal-code-input.d.ts +27 -0
- package/dist/components/postal-code-input/postal-code-input.d.ts.map +1 -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/product-hub-tray/product-hub-tray.d.ts.map +1 -1
- package/dist/components/province-select/index.d.ts +6 -0
- package/dist/components/province-select/index.d.ts.map +1 -0
- package/dist/components/province-select/index.js +7 -0
- package/dist/components/province-select/index.js.map +1 -0
- package/dist/components/province-select/it-provinces.d.ts +8 -0
- package/dist/components/province-select/it-provinces.d.ts.map +1 -0
- package/dist/components/province-select/province-select.agent.d.ts +8 -0
- package/dist/components/province-select/province-select.agent.d.ts.map +1 -0
- package/dist/components/province-select/province-select.d.ts +38 -0
- package/dist/components/province-select/province-select.d.ts.map +1 -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.d.ts.map +1 -0
- package/dist/components/radiograph-panel/index.js +7 -0
- package/dist/components/radiograph-panel/index.js.map +1 -0
- package/dist/components/radiograph-panel/radiograph-panel.agent.d.ts +13 -0
- package/dist/components/radiograph-panel/radiograph-panel.agent.d.ts.map +1 -0
- package/dist/components/radiograph-panel/radiograph-panel.d.ts +36 -0
- package/dist/components/radiograph-panel/radiograph-panel.d.ts.map +1 -0
- package/dist/components/reviews-panel/index.js +1 -1
- package/dist/components/reviews-panel/reviews-panel.d.ts.map +1 -1
- package/dist/components/rich-text-editor/editor-toolbar.d.ts +17 -0
- package/dist/components/rich-text-editor/editor-toolbar.d.ts.map +1 -1
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts.map +1 -1
- package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +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/select/select.d.ts.map +1 -1
- package/dist/components/sheet/index.js +1 -1
- package/dist/components/sheet/sheet.d.ts.map +1 -1
- package/dist/components/sidebar/index.js +2 -2
- package/dist/components/sidebar/sidebar.d.ts.map +1 -1
- 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/tab-bar/tab-bar.d.ts.map +1 -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-card/task-card.d.ts.map +1 -1
- 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.d.ts.map +1 -0
- package/dist/components/tasks-panel/index.js +6 -0
- package/dist/components/tasks-panel/index.js.map +1 -0
- package/dist/components/tasks-panel/tasks-panel.agent.d.ts +4 -0
- package/dist/components/tasks-panel/tasks-panel.agent.d.ts.map +1 -0
- package/dist/components/tasks-panel/tasks-panel.d.ts +152 -0
- package/dist/components/tasks-panel/tasks-panel.d.ts.map +1 -0
- package/dist/components/token-insert-menu/index.d.ts +4 -0
- package/dist/components/token-insert-menu/index.d.ts.map +1 -0
- package/dist/components/token-insert-menu/index.js +6 -0
- package/dist/components/token-insert-menu/index.js.map +1 -0
- package/dist/components/token-insert-menu/token-insert-menu.agent.d.ts +4 -0
- package/dist/components/token-insert-menu/token-insert-menu.agent.d.ts.map +1 -0
- package/dist/components/token-insert-menu/token-insert-menu.d.ts +33 -0
- package/dist/components/token-insert-menu/token-insert-menu.d.ts.map +1 -0
- package/dist/components/tool-rail/index.d.ts +4 -0
- package/dist/components/tool-rail/index.d.ts.map +1 -0
- package/dist/components/tool-rail/index.js +6 -0
- package/dist/components/tool-rail/index.js.map +1 -0
- package/dist/components/tool-rail/tool-rail.agent.d.ts +4 -0
- package/dist/components/tool-rail/tool-rail.agent.d.ts.map +1 -0
- package/dist/components/tool-rail/tool-rail.d.ts +160 -0
- package/dist/components/tool-rail/tool-rail.d.ts.map +1 -0
- package/dist/components/tooth-scheme/index.d.ts +2 -2
- package/dist/components/tooth-scheme/index.d.ts.map +1 -1
- 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-data.d.ts.map +1 -1
- package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts +2 -2
- package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts.map +1 -1
- package/dist/components/tooth-scheme/tooth-scheme.d.ts +84 -11
- package/dist/components/tooth-scheme/tooth-scheme.d.ts.map +1 -1
- package/dist/components/transaction-chip/index.js +1 -1
- package/dist/components/transaction-chip/transaction-chip.d.ts +2 -2
- package/dist/components/transaction-chip/transaction-chip.d.ts.map +1 -1
- package/dist/components/transcript-panel/index.js +1 -1
- package/dist/components/transcript-panel/transcript-panel.d.ts +2 -2
- package/dist/components/transcript-panel/transcript-panel.d.ts.map +1 -1
- 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/warning-stack/warning-stack.d.ts.map +1 -1
- package/dist/components/workflow/index.js +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +24 -22
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/use-clamp-overflow.d.ts +19 -0
- package/dist/hooks/use-clamp-overflow.d.ts.map +1 -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-overflow-collapse.d.ts.map +1 -0
- package/dist/hooks/use-persistent-state.d.ts +7 -1
- package/dist/hooks/use-persistent-state.d.ts.map +1 -1
- package/dist/hooks/use-scroll-overflow.d.ts +36 -0
- package/dist/hooks/use-scroll-overflow.d.ts.map +1 -0
- package/dist/i18n/locales/ar.d.ts +475 -26
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/ar.js +478 -31
- package/dist/i18n/locales/ar.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +475 -26
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +480 -31
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/el.d.ts +475 -26
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/el.js +485 -31
- package/dist/i18n/locales/el.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +476 -34
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +492 -39
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +475 -26
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +477 -31
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +475 -26
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +480 -31
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hi.d.ts +475 -26
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/hi.js +476 -31
- package/dist/i18n/locales/hi.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +475 -26
- package/dist/i18n/locales/it.d.ts.map +1 -1
- package/dist/i18n/locales/it.js +480 -31
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts +475 -26
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +481 -31
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/nl.d.ts +475 -26
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/nl.js +473 -31
- package/dist/i18n/locales/nl.js.map +1 -1
- package/dist/i18n/locales/pl.d.ts +475 -26
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.js +481 -31
- package/dist/i18n/locales/pl.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts +475 -26
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +485 -31
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ro.d.ts +475 -26
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ro.js +485 -31
- package/dist/i18n/locales/ro.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts +475 -26
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +478 -31
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/sq.d.ts +475 -26
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sq.js +482 -31
- package/dist/i18n/locales/sq.js.map +1 -1
- package/dist/i18n/locales/sv.d.ts +475 -26
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/sv.js +480 -31
- package/dist/i18n/locales/sv.js.map +1 -1
- package/dist/i18n/locales/tr.d.ts +475 -26
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/tr.js +478 -31
- package/dist/i18n/locales/tr.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +475 -26
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/locales/zh.js +473 -31
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/index.js +826 -709
- package/dist/index.js.map +1 -1
- 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-chat-surface.d.ts.map +1 -1
- package/dist/patterns/alia-assistant/alia-types.d.ts +9 -0
- package/dist/patterns/alia-assistant/alia-types.d.ts.map +1 -1
- 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/actions-cell-renderer-DrcaxB0w.js.map +0 -1
- package/dist/_chunks/ai-tools-rail-BA_sqy1A.js +0 -373
- package/dist/_chunks/ai-tools-rail-BA_sqy1A.js.map +0 -1
- package/dist/_chunks/alert-_mUKLmwA.js.map +0 -1
- package/dist/_chunks/alia-sidebar-B47qRQb5.js.map +0 -1
- package/dist/_chunks/app-frame-BYx1gcV7.js.map +0 -1
- package/dist/_chunks/appointment-tray-CZtvtaH-.js +0 -431
- package/dist/_chunks/appointment-tray-CZtvtaH-.js.map +0 -1
- package/dist/_chunks/autocomplete-DOeGouCL.js.map +0 -1
- package/dist/_chunks/badge-CqGsX32l.js.map +0 -1
- package/dist/_chunks/chat-message-3V54YipB.js.map +0 -1
- package/dist/_chunks/clinical-note-card-DqQYf_D4.js +0 -333
- package/dist/_chunks/clinical-note-card-DqQYf_D4.js.map +0 -1
- package/dist/_chunks/combobox-Clum7gJ1.js.map +0 -1
- package/dist/_chunks/editable-currency-cell-renderer-kgqp_mIw.js +0 -448
- package/dist/_chunks/editable-currency-cell-renderer-kgqp_mIw.js.map +0 -1
- package/dist/_chunks/email-input-B_Y55f5G.js +0 -396
- package/dist/_chunks/message-card-Bx4GmLvf.js +0 -277
- package/dist/_chunks/message-card-Bx4GmLvf.js.map +0 -1
- package/dist/_chunks/message-tray-DwrBLJlf.js.map +0 -1
- package/dist/_chunks/notification-card-BiESdm8q.js +0 -255
- package/dist/_chunks/notification-card-BiESdm8q.js.map +0 -1
- package/dist/_chunks/notification-tray-Btb9oQeZ.js.map +0 -1
- package/dist/_chunks/patient-summary-card-B836_fDB.js +0 -435
- package/dist/_chunks/patient-summary-card-B836_fDB.js.map +0 -1
- package/dist/_chunks/patient-table-CDuosVru.js +0 -889
- package/dist/_chunks/patient-table-CDuosVru.js.map +0 -1
- package/dist/_chunks/payment-request-card-DioWKBUq.js.map +0 -1
- package/dist/_chunks/pdf-viewer-D6BPfW2D.js.map +0 -1
- package/dist/_chunks/product-hub-panel-e6pW220e.js.map +0 -1
- package/dist/_chunks/reviews-panel-Dq7LMDcH.js +0 -555
- package/dist/_chunks/reviews-panel-Dq7LMDcH.js.map +0 -1
- package/dist/_chunks/rich-text-editor-BsV7zUdg.js +0 -2142
- package/dist/_chunks/rich-text-editor-BsV7zUdg.js.map +0 -1
- package/dist/_chunks/scroll-area-5wNK0Cyz.js.map +0 -1
- package/dist/_chunks/select-DMLG44F5.js.map +0 -1
- package/dist/_chunks/sheet-BxsE7eQm.js.map +0 -1
- package/dist/_chunks/sidebar-DY9jGjgt.js.map +0 -1
- package/dist/_chunks/stepper-accordion-Dki6r9ZE.js.map +0 -1
- package/dist/_chunks/tab-bar-B1ovILzh.js +0 -105
- package/dist/_chunks/tab-bar-B1ovILzh.js.map +0 -1
- package/dist/_chunks/task-card-BwY9jaV1.js +0 -124
- package/dist/_chunks/task-card-BwY9jaV1.js.map +0 -1
- package/dist/_chunks/tooth-scheme-yBr53cvv.js +0 -1330
- package/dist/_chunks/tooth-scheme-yBr53cvv.js.map +0 -1
- package/dist/_chunks/transaction-chip-DK84XCBU.js.map +0 -1
- package/dist/_chunks/transcript-panel-3THQX6nJ.js.map +0 -1
- package/dist/_chunks/use-persistent-state-i23OWy6G.js +0 -24
- package/dist/_chunks/use-persistent-state-i23OWy6G.js.map +0 -1
- package/dist/_chunks/warning-stack-BsgaEbL8.js.map +0 -1
- package/dist/_chunks/workflow-map-Bdam9pGp.js.map +0 -1
- package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts +0 -4
- package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts.map +0 -1
- package/dist/components/ai-tools-rail/ai-tools-rail.d.ts +0 -68
- package/dist/components/ai-tools-rail/ai-tools-rail.d.ts.map +0 -1
- package/dist/components/ai-tools-rail/index.d.ts +0 -4
- package/dist/components/ai-tools-rail/index.d.ts.map +0 -1
- 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/contact-cell.d.ts.map +0 -1
- package/dist/components/patient-table/cell-renderers/patient-identity-cell.d.ts +0 -26
- package/dist/components/patient-table/cell-renderers/patient-identity-cell.d.ts.map +0 -1
- /package/dist/components/{ai-tools-rail → address-fields}/index.js.map +0 -0
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { jsx as r, jsxs as n, Fragment as N } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as F, useId as M } from "react";
|
|
3
|
+
import { useTranslation as U } from "react-i18next";
|
|
4
|
+
import { B as P } from "./badge-DCOqV9mI.js";
|
|
5
|
+
import { a as G } from "./key-value-pair-BrgbMfbF.js";
|
|
6
|
+
import { L as O } from "./link-DrD_cRUg.js";
|
|
7
|
+
import { S as $ } from "./separator-CYU_bGFn.js";
|
|
8
|
+
import { T as A } from "./timestamp-BV2lC-wV.js";
|
|
9
|
+
import { u as q } from "./registry-DvAUVLHh.js";
|
|
10
|
+
import { C as J, e as Q } from "./entity-card-DmrgYSEX.js";
|
|
11
|
+
import { i as W } from "./is-safe-url-DkETxeHz.js";
|
|
12
|
+
const X = {
|
|
13
|
+
id: "care-plan-header",
|
|
14
|
+
capabilities: [],
|
|
15
|
+
state: {
|
|
16
|
+
state: {
|
|
17
|
+
type: "'estimate' | 'accepted' | 'discarded' | 'closed'",
|
|
18
|
+
descriptionKey: "ui.agent.carePlanHeader.state.state",
|
|
19
|
+
description: "The plan lifecycle state. Enum value only — never the localised label or any PHI.",
|
|
20
|
+
read: (o) => o.getState()
|
|
21
|
+
},
|
|
22
|
+
alertCount: {
|
|
23
|
+
type: "number",
|
|
24
|
+
descriptionKey: "ui.agent.carePlanHeader.state.alertCount",
|
|
25
|
+
description: "How many attention alerts (e.g. missing signature) are showing. Count only — never the alert labels.",
|
|
26
|
+
read: (o) => o.getAlertCount()
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
actions: {},
|
|
30
|
+
domHooks: {
|
|
31
|
+
root: {
|
|
32
|
+
attr: "data-component",
|
|
33
|
+
value: "care-plan-header",
|
|
34
|
+
description: "Marks the CarePlanHeader root region."
|
|
35
|
+
},
|
|
36
|
+
instanceId: {
|
|
37
|
+
attr: "data-component-id",
|
|
38
|
+
sourceProp: "id",
|
|
39
|
+
description: "Sourced from the id prop. Addresses a specific plan header."
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}, Y = {
|
|
43
|
+
estimate: "Estimate",
|
|
44
|
+
accepted: "Accepted",
|
|
45
|
+
discarded: "Discarded",
|
|
46
|
+
closed: "Closed"
|
|
47
|
+
}, Z = {
|
|
48
|
+
warning: "warning",
|
|
49
|
+
error: "error",
|
|
50
|
+
info: "info"
|
|
51
|
+
}, ee = F(
|
|
52
|
+
function({
|
|
53
|
+
id: c,
|
|
54
|
+
number: I,
|
|
55
|
+
numberLabel: w,
|
|
56
|
+
name: t,
|
|
57
|
+
state: s,
|
|
58
|
+
url: p,
|
|
59
|
+
alerts: d,
|
|
60
|
+
meta: m,
|
|
61
|
+
dates: e,
|
|
62
|
+
actions: f,
|
|
63
|
+
headingTag: H = "h3",
|
|
64
|
+
surface: L = "elevated",
|
|
65
|
+
density: T = "comfortable",
|
|
66
|
+
locale: E,
|
|
67
|
+
onActivate: g,
|
|
68
|
+
"aria-label": u,
|
|
69
|
+
className: S,
|
|
70
|
+
...k
|
|
71
|
+
}, D) {
|
|
72
|
+
const { t: l, i18n: K } = U(), h = M(), v = E ?? K.language ?? "en";
|
|
73
|
+
q(
|
|
74
|
+
X,
|
|
75
|
+
{
|
|
76
|
+
getState: () => s,
|
|
77
|
+
getAlertCount: () => (d == null ? void 0 : d.length) ?? 0
|
|
78
|
+
},
|
|
79
|
+
c
|
|
80
|
+
);
|
|
81
|
+
const _ = w ?? l("carePlanCard.number", {
|
|
82
|
+
number: I,
|
|
83
|
+
defaultValue: "Care plan {{number}}"
|
|
84
|
+
}), B = l(`carePlanCard.state.${s}`, {
|
|
85
|
+
defaultValue: Y[s]
|
|
86
|
+
}), R = t != null && t !== "", V = !!p && W(p), z = !!d && d.length > 0, x = !!m && m.length > 0, y = s === "accepted" ? e == null ? void 0 : e.acceptedIso : s === "closed" ? e == null ? void 0 : e.closedIso : s === "discarded" ? e == null ? void 0 : e.discardedIso : void 0, i = [];
|
|
87
|
+
e != null && e.acceptedIso && s !== "accepted" && i.push({
|
|
88
|
+
key: "accepted",
|
|
89
|
+
label: l("carePlanCard.date.accepted", "Accepted on"),
|
|
90
|
+
iso: e.acceptedIso
|
|
91
|
+
}), e != null && e.closedIso && s !== "closed" && i.push({
|
|
92
|
+
key: "closed",
|
|
93
|
+
label: l("carePlanCard.date.closed", "Closed on"),
|
|
94
|
+
iso: e.closedIso
|
|
95
|
+
}), e != null && e.discardedIso && s !== "discarded" && i.push({
|
|
96
|
+
key: "discarded",
|
|
97
|
+
label: l("carePlanCard.date.discarded", "Discarded on"),
|
|
98
|
+
iso: e.discardedIso
|
|
99
|
+
});
|
|
100
|
+
const b = i.length > 0, C = /* @__PURE__ */ r(
|
|
101
|
+
H,
|
|
102
|
+
{
|
|
103
|
+
id: h,
|
|
104
|
+
className: "type-title-card ds:m-0 ds:text-[color:var(--foreground)]",
|
|
105
|
+
children: R ? t : _
|
|
106
|
+
}
|
|
107
|
+
), j = b ? /* @__PURE__ */ r("div", { className: "type-body-sm ds:flex ds:flex-wrap ds:items-center ds:gap-x-[var(--spacing-md)] ds:gap-y-[var(--spacing-2xs)] ds:text-[color:var(--muted-foreground)]", children: i.map((a) => /* @__PURE__ */ n(
|
|
108
|
+
"span",
|
|
109
|
+
{
|
|
110
|
+
className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
|
|
111
|
+
children: [
|
|
112
|
+
/* @__PURE__ */ r("span", { children: a.label }),
|
|
113
|
+
/* @__PURE__ */ r(A, { value: a.iso, format: "absolute", locale: v })
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
a.key
|
|
117
|
+
)) }) : null;
|
|
118
|
+
return /* @__PURE__ */ r(
|
|
119
|
+
"section",
|
|
120
|
+
{
|
|
121
|
+
ref: D,
|
|
122
|
+
"aria-label": u,
|
|
123
|
+
"aria-labelledby": u ? void 0 : h,
|
|
124
|
+
"data-component": "care-plan-header",
|
|
125
|
+
"data-component-id": c,
|
|
126
|
+
"data-state": s,
|
|
127
|
+
id: c,
|
|
128
|
+
className: Q({ surface: L, density: T, className: S }),
|
|
129
|
+
...k,
|
|
130
|
+
children: /* @__PURE__ */ n("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
|
|
131
|
+
/* @__PURE__ */ n("div", { className: "ds:flex ds:items-start ds:gap-[var(--spacing-sm)]", children: [
|
|
132
|
+
/* @__PURE__ */ r("div", { className: "ds:min-w-0 ds:flex-1", children: V ? /* @__PURE__ */ r(
|
|
133
|
+
O,
|
|
134
|
+
{
|
|
135
|
+
href: p,
|
|
136
|
+
weight: "strong",
|
|
137
|
+
onClick: (a) => {
|
|
138
|
+
a.defaultPrevented || a.metaKey || a.ctrlKey || a.shiftKey || g == null || g();
|
|
139
|
+
},
|
|
140
|
+
children: C
|
|
141
|
+
}
|
|
142
|
+
) : C }),
|
|
143
|
+
f ? /* @__PURE__ */ r("div", { className: "ds:flex ds:shrink-0 ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: f }) : null
|
|
144
|
+
] }),
|
|
145
|
+
/* @__PURE__ */ n("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
|
|
146
|
+
/* @__PURE__ */ n(P, { variant: J[s], size: "md", withDot: !0, children: [
|
|
147
|
+
B,
|
|
148
|
+
y ? /* @__PURE__ */ n(N, { children: [
|
|
149
|
+
" · ",
|
|
150
|
+
/* @__PURE__ */ r(
|
|
151
|
+
A,
|
|
152
|
+
{
|
|
153
|
+
value: y,
|
|
154
|
+
format: "absolute",
|
|
155
|
+
locale: v,
|
|
156
|
+
shape: "bare"
|
|
157
|
+
}
|
|
158
|
+
)
|
|
159
|
+
] }) : null
|
|
160
|
+
] }),
|
|
161
|
+
z ? d.map((a) => /* @__PURE__ */ r(
|
|
162
|
+
P,
|
|
163
|
+
{
|
|
164
|
+
variant: Z[a.tone ?? "warning"],
|
|
165
|
+
size: "md",
|
|
166
|
+
leading: a.icon,
|
|
167
|
+
children: a.label
|
|
168
|
+
},
|
|
169
|
+
a.id
|
|
170
|
+
)) : null
|
|
171
|
+
] }),
|
|
172
|
+
x || b ? /* @__PURE__ */ n(N, { children: [
|
|
173
|
+
/* @__PURE__ */ r($, { orientation: "horizontal" }),
|
|
174
|
+
/* @__PURE__ */ n("div", { className: "ds:flex ds:min-w-0 ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
|
|
175
|
+
x ? /* @__PURE__ */ r("div", { className: "ds:flex ds:flex-wrap ds:gap-x-[var(--spacing-lg)] ds:gap-y-[var(--spacing-xs)]", children: m.map((a) => /* @__PURE__ */ r(
|
|
176
|
+
G,
|
|
177
|
+
{
|
|
178
|
+
label: a.label,
|
|
179
|
+
value: a.value,
|
|
180
|
+
icon: a.icon ?? void 0,
|
|
181
|
+
"data-field-id": a.id
|
|
182
|
+
},
|
|
183
|
+
a.id
|
|
184
|
+
)) }) : null,
|
|
185
|
+
j
|
|
186
|
+
] })
|
|
187
|
+
] }) : null
|
|
188
|
+
] })
|
|
189
|
+
}
|
|
190
|
+
);
|
|
191
|
+
}
|
|
192
|
+
);
|
|
193
|
+
ee.displayName = "CarePlanHeader";
|
|
194
|
+
export {
|
|
195
|
+
ee as C,
|
|
196
|
+
X as c
|
|
197
|
+
};
|
|
198
|
+
//# sourceMappingURL=care-plan-header-DcXFXWit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"care-plan-header-DcXFXWit.js","sources":["../../src/components/care-plan-header/care-plan-header.agent.ts","../../src/components/care-plan-header/care-plan-header.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — CarePlanHeader. */\n/* */\n/* Read-only surface: expose the plan's lifecycle state and the count of */\n/* attention alerts so an agent can introspect a plan header's status. */\n/* Enum + count only — never the plan name, the meta values (operator, */\n/* price list, …), or any patient identity. The actions slot is */\n/* consumer-provided, so no backing action is registered. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { CarePlanHeaderHandle } from './care-plan-header';\n\nexport const carePlanHeaderAgent: AgentAdapter<CarePlanHeaderHandle> = {\n id: 'care-plan-header',\n capabilities: [],\n state: {\n state: {\n type: \"'estimate' | 'accepted' | 'discarded' | 'closed'\",\n descriptionKey: 'ui.agent.carePlanHeader.state.state',\n description:\n 'The plan lifecycle state. Enum value only — never the localised label or any PHI.',\n read: (handle) => handle.getState(),\n },\n alertCount: {\n type: 'number',\n descriptionKey: 'ui.agent.carePlanHeader.state.alertCount',\n description:\n 'How many attention alerts (e.g. missing signature) are showing. Count only — never the alert labels.',\n read: (handle) => handle.getAlertCount(),\n },\n },\n actions: {},\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'care-plan-header',\n description: 'Marks the CarePlanHeader root region.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description:\n 'Sourced from the id prop. Addresses a specific plan header.',\n },\n },\n};\n","import {\n forwardRef,\n useId,\n type HTMLAttributes,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Badge, type BadgeProps } from '../badge/badge';\nimport { KeyValuePair } from '../key-value-pair/key-value-pair';\nimport { Link } from '../link/link';\nimport { Separator } from '../separator/separator';\nimport { Timestamp } from '../timestamp/timestamp';\nimport {\n entitySurfaceVariants,\n CARE_PLAN_STATE_BADGE,\n isSafeEntityUrl,\n type CarePlanState,\n} from '../_shared/entity-card';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { carePlanHeaderAgent } from './care-plan-header.agent';\n\n/* -------------------------------------------------------------------- */\n/* CarePlanHeader */\n/* */\n/* The identity + meta BANNER for a care plan / estimate — the header */\n/* that crowns an editor or a detail view. The lighter sibling of */\n/* `CarePlanCard`: where that card is the read-only WHOLE-plan summary */\n/* (financials + a phase-progress bar + an entries accordion), */\n/* CarePlanHeader is just the plan's identity (number, name, lifecycle */\n/* badge), its attention alerts (e.g. a missing signature), a consumer- */\n/* labelled meta strip (operator, price list, …), lifecycle dates, and an */\n/* actions slot. It carries NO entries / financials, so it sits cleanly */\n/* atop an EDITABLE surface (odontogram + treatments table) without */\n/* duplicating it. */\n/* */\n/* Composes: entitySurfaceVariants (the shared entity-card surface) + */\n/* Badge (lifecycle state + alerts) + Timestamp (dates) + Link (deep */\n/* link) + KeyValuePair (meta). Reuses the `carePlanCard.*` lifecycle / */\n/* number / date vocabulary, so the header and the summary card speak the */\n/* SAME localised plan language. Identifiers + structural state only reach */\n/* the agent layer — never patient identity. */\n/* -------------------------------------------------------------------- */\n\n/* -------------------------------------------------------------------- */\n/* Public types */\n/* -------------------------------------------------------------------- */\n\nexport type { CarePlanState } from '../_shared/entity-card';\n\n/** Heading element the plan name / number renders as. */\nexport type CarePlanHeaderHeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\n/** Tone of an attention alert chip → the Badge variant it paints with. */\nexport type CarePlanHeaderAlertTone = 'warning' | 'error' | 'info';\n\n/**\n * One attention alert shown as a chip beneath the heading — e.g. a missing\n * signature, an expired estimate. The kit owns the chip; the consumer owns the\n * (already-localised) label and the meaning.\n */\nexport interface CarePlanHeaderAlert {\n /** Stable key — identifier only, never PHI. Keys the chip + agent count. */\n id: string;\n /** Already-localised label (consumer-provided). */\n label: ReactNode;\n /** Severity tone. Defaults to `warning`. */\n tone?: CarePlanHeaderAlertTone;\n /** Optional leading glyph (a single lucide element). */\n icon?: ReactElement;\n}\n\n/**\n * One meta fact in the footer strip — operator, price list, referrer, …. The\n * label is consumer-localised; the value is any node (text, an Avatar + name,\n * a Link). Rendered through the shared `KeyValuePair`.\n */\nexport interface CarePlanHeaderMetaItem {\n /** Stable key — identifier only, never PHI. */\n id: string;\n /** Already-localised label (consumer-provided). */\n label: string;\n /** Value node. */\n value: ReactNode;\n /** Optional leading glyph for the pair (a single lucide element). */\n icon?: ReactElement | null;\n}\n\n/** Lifecycle dates — each an ISO-8601 string, rendered via `Timestamp`. */\nexport interface CarePlanHeaderDates {\n /** Acceptance date. */\n acceptedIso?: string;\n /** Closure date. */\n closedIso?: string;\n /** Discard date. */\n discardedIso?: string;\n}\n\n/**\n * Imperative handle the agent adapter drives. Reads only structural state —\n * the lifecycle enum and the count of alerts. Never the plan name, the meta\n * values, or any patient identity.\n */\nexport interface CarePlanHeaderHandle {\n /** The plan lifecycle state (enum, never the localised label). */\n getState: () => CarePlanState;\n /** How many attention alerts are showing. */\n getAlertCount: () => number;\n}\n\nexport interface CarePlanHeaderProps extends Omit<\n HTMLAttributes<HTMLElement>,\n 'title'\n> {\n /** Agent-readiness instance id, surfaced as `data-component-id`. */\n id?: string;\n /**\n * Plan number — used as the heading when no `name` is given (matching\n * platform's `getPresentationName()`, which falls back to `Piano #{number}`)\n * and as the plan's structural identity for the agent layer.\n */\n number: string | number;\n /**\n * Override the number-as-heading label (e.g. a consumer's own `Plan #15`),\n * used ONLY when no `name` is given. Defaults to the localised\n * `Care plan {{number}}` shared with `CarePlanCard`, so the two surfaces read\n * alike unless a consumer opts out. With a `name` present the number is not\n * shown — platform draws no separate plan-number eyebrow.\n */\n numberLabel?: ReactNode;\n /** Plan name — the title heading. Omit for a number-only header. */\n name?: ReactNode;\n /** Lifecycle state — drives the badge variant + localised label. */\n state: CarePlanState;\n /** Deep link for the heading. Rendered only when it passes the safe-URL gate. */\n url?: string;\n /** Attention alerts (e.g. signature missing) shown as chips under the heading. */\n alerts?: CarePlanHeaderAlert[];\n /** Consumer-labelled meta facts (operator, price list, …) in the footer. */\n meta?: CarePlanHeaderMetaItem[];\n /**\n * Lifecycle dates. The date matching the current `state` is folded into the\n * lifecycle badge (e.g. \"Accepted · {date}\"), making the badge self-describing;\n * any other date (e.g. the acceptance date of a now-closed plan) renders as a\n * muted `Timestamp` line beneath the meta.\n */\n dates?: CarePlanHeaderDates;\n /** Inline-end actions slot (e.g. Share / Print). */\n actions?: ReactNode;\n /** Heading element the name / number renders as. Defaults to `h3`. */\n headingTag?: CarePlanHeaderHeadingTag;\n /** `elevated` (default) paints the kit card chrome; `flat` drops it. */\n surface?: 'flat' | 'elevated';\n /** Internal padding density. Defaults to `comfortable`. */\n density?: 'comfortable' | 'compact';\n /** BCP-47 locale override for the dates. Defaults to `i18n.language`. */\n locale?: string;\n /** Fires when the plan deep link / heading is activated. */\n onActivate?: () => void;\n /** Accessible name override for the plan region (defaults to the heading). */\n 'aria-label'?: string;\n}\n\n/* -------------------------------------------------------------------- */\n/* Helpers */\n/* -------------------------------------------------------------------- */\n\n/** English fallbacks for the (reused) lifecycle-state labels. */\nconst STATE_LABEL_FALLBACK: Record<CarePlanState, string> = {\n estimate: 'Estimate',\n accepted: 'Accepted',\n discarded: 'Discarded',\n closed: 'Closed',\n};\n\nconst ALERT_TONE_VARIANT: Record<\n CarePlanHeaderAlertTone,\n NonNullable<BadgeProps['variant']>\n> = {\n warning: 'warning',\n error: 'error',\n info: 'info',\n};\n\n/* -------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------- */\n\nexport const CarePlanHeader = forwardRef<HTMLElement, CarePlanHeaderProps>(\n function CarePlanHeader(\n {\n id,\n number,\n numberLabel,\n name,\n state,\n url,\n alerts,\n meta,\n dates,\n actions,\n headingTag = 'h3',\n surface = 'elevated',\n density = 'comfortable',\n locale,\n onActivate,\n 'aria-label': ariaLabel,\n className,\n ...rest\n },\n ref,\n ) {\n const { t, i18n } = useTranslation();\n const headingId = useId();\n const activeLocale = locale ?? i18n.language ?? 'en';\n\n useAgentRegistration(\n carePlanHeaderAgent,\n {\n getState: () => state,\n getAlertCount: () => alerts?.length ?? 0,\n },\n id,\n );\n\n const resolvedNumberLabel =\n numberLabel ??\n t('carePlanCard.number', {\n number,\n defaultValue: 'Care plan {{number}}',\n });\n const stateLabel = t(`carePlanCard.state.${state}`, {\n defaultValue: STATE_LABEL_FALLBACK[state],\n });\n\n const hasName = name != null && name !== '';\n const hasSafeUrl = !!url && isSafeEntityUrl(url);\n const hasAlerts = !!alerts && alerts.length > 0;\n const hasMeta = !!meta && meta.length > 0;\n\n // The date that matches the CURRENT lifecycle state rides INSIDE the state\n // badge (e.g. \"Accepted · {date}\") — the badge becomes self-describing. Any\n // OTHER dates (e.g. the acceptance date of a now-closed plan) remain in the\n // muted footer line below.\n const stateDateIso =\n state === 'accepted'\n ? dates?.acceptedIso\n : state === 'closed'\n ? dates?.closedIso\n : state === 'discarded'\n ? dates?.discardedIso\n : undefined;\n\n const footerDates: Array<{ key: string; label: string; iso: string }> = [];\n if (dates?.acceptedIso && state !== 'accepted') {\n footerDates.push({\n key: 'accepted',\n label: t('carePlanCard.date.accepted', 'Accepted on'),\n iso: dates.acceptedIso,\n });\n }\n if (dates?.closedIso && state !== 'closed') {\n footerDates.push({\n key: 'closed',\n label: t('carePlanCard.date.closed', 'Closed on'),\n iso: dates.closedIso,\n });\n }\n if (dates?.discardedIso && state !== 'discarded') {\n footerDates.push({\n key: 'discarded',\n label: t('carePlanCard.date.discarded', 'Discarded on'),\n iso: dates.discardedIso,\n });\n }\n const hasDates = footerDates.length > 0;\n\n const Heading = headingTag;\n const headingNode = (\n <Heading\n id={headingId}\n className=\"type-title-card ds:m-0 ds:text-[color:var(--foreground)]\"\n >\n {hasName ? name : resolvedNumberLabel}\n </Heading>\n );\n\n const datesLine = hasDates ? (\n <div className=\"type-body-sm ds:flex ds:flex-wrap ds:items-center ds:gap-x-[var(--spacing-md)] ds:gap-y-[var(--spacing-2xs)] ds:text-[color:var(--muted-foreground)]\">\n {footerDates.map((d) => (\n <span\n key={d.key}\n className=\"ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]\"\n >\n <span>{d.label}</span>\n <Timestamp value={d.iso} format=\"absolute\" locale={activeLocale} />\n </span>\n ))}\n </div>\n ) : null;\n\n return (\n <section\n ref={ref}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabel ? undefined : headingId}\n data-component=\"care-plan-header\"\n data-component-id={id}\n data-state={state}\n id={id}\n className={entitySurfaceVariants({ surface, density, className })}\n {...rest}\n >\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\">\n {/* Heading row: the plan's single title (name, or the number label as\n a fallback when unnamed — platform's `getPresentationName()`) on\n the inline-start, the document actions docked inline-end. */}\n <div className=\"ds:flex ds:items-start ds:gap-[var(--spacing-sm)]\">\n <div className=\"ds:min-w-0 ds:flex-1\">\n {hasSafeUrl ? (\n <Link\n href={url as string}\n weight=\"strong\"\n onClick={(event) => {\n if (\n event.defaultPrevented ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey\n ) {\n return;\n }\n onActivate?.();\n }}\n >\n {headingNode}\n </Link>\n ) : (\n headingNode\n )}\n </div>\n {actions ? (\n <div className=\"ds:flex ds:shrink-0 ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]\">\n {actions}\n </div>\n ) : null}\n </div>\n\n {/* Lifecycle state + attention alerts — chips beneath the title. The\n state badge always leads the row; consumer alerts (e.g. a missing\n signature) follow. Size + gap match the shared metadata-chip strip\n (Badge `md` default + `gap-xs`) used by PatientSummaryCard and the\n PatientDetails header, so every card on a patient screen reads with\n one chip rhythm. */}\n <div className=\"ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]\">\n <Badge variant={CARE_PLAN_STATE_BADGE[state]} size=\"md\" withDot>\n {stateLabel}\n {stateDateIso ? (\n <>\n {' · '}\n <Timestamp\n value={stateDateIso}\n format=\"absolute\"\n locale={activeLocale}\n shape=\"bare\"\n />\n </>\n ) : null}\n </Badge>\n {hasAlerts\n ? alerts!.map((alert) => (\n <Badge\n key={alert.id}\n variant={ALERT_TONE_VARIANT[alert.tone ?? 'warning']}\n size=\"md\"\n leading={alert.icon}\n >\n {alert.label}\n </Badge>\n ))\n : null}\n </div>\n\n {/* Footer: meta (operator, price list, …) + lifecycle dates. */}\n {hasMeta || hasDates ? (\n <>\n <Separator orientation=\"horizontal\" />\n <div className=\"ds:flex ds:min-w-0 ds:flex-col ds:gap-[var(--spacing-xs)]\">\n {hasMeta ? (\n <div className=\"ds:flex ds:flex-wrap ds:gap-x-[var(--spacing-lg)] ds:gap-y-[var(--spacing-xs)]\">\n {meta!.map((item) => (\n <KeyValuePair\n key={item.id}\n label={item.label}\n value={item.value}\n icon={item.icon ?? undefined}\n data-field-id={item.id}\n />\n ))}\n </div>\n ) : null}\n {datesLine}\n </div>\n </>\n ) : null}\n </div>\n </section>\n );\n },\n);\n\nCarePlanHeader.displayName = 'CarePlanHeader';\n\n/** Surface variant union re-exported for downstream typing. */\nexport type CarePlanHeaderSurface = NonNullable<\n VariantProps<typeof entitySurfaceVariants>['surface']\n>;\n"],"names":["carePlanHeaderAgent","handle","STATE_LABEL_FALLBACK","ALERT_TONE_VARIANT","CarePlanHeader","forwardRef","id","number","numberLabel","name","state","url","alerts","meta","dates","actions","headingTag","surface","density","locale","onActivate","ariaLabel","className","rest","ref","t","i18n","useTranslation","headingId","useId","activeLocale","useAgentRegistration","resolvedNumberLabel","stateLabel","hasName","hasSafeUrl","isSafeEntityUrl","hasAlerts","hasMeta","stateDateIso","footerDates","hasDates","headingNode","jsx","datesLine","d","jsxs","Timestamp","entitySurfaceVariants","Link","event","Badge","CARE_PLAN_STATE_BADGE","Fragment","alert","Separator","item","KeyValuePair"],"mappings":"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"}
|
|
@@ -48,28 +48,28 @@ const _ = h(
|
|
|
48
48
|
), k = /^(https?:|mailto:)/i;
|
|
49
49
|
function H(n) {
|
|
50
50
|
const e = [];
|
|
51
|
-
let
|
|
51
|
+
let r = n;
|
|
52
52
|
const t = /\*\*([^*]+)\*\*|`([^`]+)`|\[([^\]]+)\]\(([^)]+)\)|\n/;
|
|
53
|
-
for (;
|
|
54
|
-
const
|
|
55
|
-
if (!
|
|
56
|
-
e.push({ type: "text", value:
|
|
53
|
+
for (; r.length > 0; ) {
|
|
54
|
+
const s = t.exec(r);
|
|
55
|
+
if (!s) {
|
|
56
|
+
e.push({ type: "text", value: r });
|
|
57
57
|
break;
|
|
58
58
|
}
|
|
59
|
-
|
|
59
|
+
s.index > 0 && e.push({ type: "text", value: r.slice(0, s.index) }), s[1] !== void 0 ? e.push({ type: "bold", value: s[1] }) : s[2] !== void 0 ? e.push({ type: "code", value: s[2] }) : s[3] !== void 0 && s[4] !== void 0 ? e.push({ type: "link", label: s[3], href: s[4] }) : e.push({ type: "br" }), r = r.slice(s.index + s[0].length);
|
|
60
60
|
}
|
|
61
61
|
return e;
|
|
62
62
|
}
|
|
63
63
|
function q(n) {
|
|
64
|
-
return H(n).map((e,
|
|
64
|
+
return H(n).map((e, r) => e.type === "bold" ? /* @__PURE__ */ a("strong", { children: e.value }, r) : e.type === "code" ? /* @__PURE__ */ a(
|
|
65
65
|
"code",
|
|
66
66
|
{
|
|
67
67
|
dir: "ltr",
|
|
68
68
|
className: "ds:rounded-[var(--radius-sm)] ds:bg-muted/30 ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)] ds:font-[family-name:var(--font-mono)]",
|
|
69
69
|
children: e.value
|
|
70
70
|
},
|
|
71
|
-
|
|
72
|
-
) : e.type === "br" ? /* @__PURE__ */ a("br", {},
|
|
71
|
+
r
|
|
72
|
+
) : e.type === "br" ? /* @__PURE__ */ a("br", {}, r) : e.type === "link" ? k.test(e.href) ? /* @__PURE__ */ a(
|
|
73
73
|
"a",
|
|
74
74
|
{
|
|
75
75
|
href: e.href,
|
|
@@ -78,19 +78,19 @@ function q(n) {
|
|
|
78
78
|
className: "ds:underline ds:underline-offset-2 ds:hover:opacity-80",
|
|
79
79
|
children: e.label
|
|
80
80
|
},
|
|
81
|
-
|
|
82
|
-
) : /* @__PURE__ */ a(l, { children: e.label },
|
|
81
|
+
r
|
|
82
|
+
) : /* @__PURE__ */ a(l, { children: e.label }, r) : /* @__PURE__ */ a(l, { children: e.value }, r));
|
|
83
83
|
}
|
|
84
84
|
function G(n) {
|
|
85
|
-
return M(n).map((e,
|
|
85
|
+
return M(n).map((e, r) => e.type === "code" ? /* @__PURE__ */ a(S, { code: e.value, language: e.lang }, r) : /* @__PURE__ */ a(l, { children: q(e.value) }, r));
|
|
86
86
|
}
|
|
87
87
|
const J = T(
|
|
88
88
|
({
|
|
89
89
|
role: n,
|
|
90
90
|
content: e,
|
|
91
|
-
avatar:
|
|
91
|
+
avatar: r,
|
|
92
92
|
timestamp: t,
|
|
93
|
-
status:
|
|
93
|
+
status: s,
|
|
94
94
|
renderMarkdown: x = !1,
|
|
95
95
|
onRetry: m,
|
|
96
96
|
actions: c,
|
|
@@ -105,19 +105,21 @@ const J = T(
|
|
|
105
105
|
hour: "2-digit",
|
|
106
106
|
minute: "2-digit"
|
|
107
107
|
}).format(v);
|
|
108
|
-
}, [t, u.language]), f = i(`chat.message.role.${n}`), C = o ? i("chat.message.label", { role: f, time: o }) : i("chat.message.labelNoTime", { role: f }), j = b ?? (x ? G(e) : e), p = !
|
|
108
|
+
}, [t, u.language]), f = i(`chat.message.role.${n}`), C = o ? i("chat.message.label", { role: f, time: o }) : i("chat.message.labelNoTime", { role: f }), j = b ?? (x ? G(e) : e), p = !s || s === "edited" ? null : s === "sending" ? /* @__PURE__ */ a(E, { "aria-hidden": "true", className: "ds:size-3.5" }) : s === "sent" ? /* @__PURE__ */ a(L, { "aria-hidden": "true", className: "ds:size-3.5" }) : /* @__PURE__ */ a(
|
|
109
109
|
R,
|
|
110
110
|
{
|
|
111
111
|
"aria-hidden": "true",
|
|
112
112
|
className: "ds:size-3.5 ds:text-[color:var(--destructive)]"
|
|
113
113
|
}
|
|
114
|
-
), g =
|
|
114
|
+
), g = s ? i(`chat.message.status.${s}`) : null;
|
|
115
115
|
return /* @__PURE__ */ d(
|
|
116
116
|
"article",
|
|
117
117
|
{
|
|
118
118
|
ref: w,
|
|
119
119
|
"aria-label": C,
|
|
120
120
|
"data-component": "chat-message",
|
|
121
|
+
"data-role": n,
|
|
122
|
+
"data-status": s,
|
|
121
123
|
className: [
|
|
122
124
|
_({ role: n, className: y }),
|
|
123
125
|
// Entrance: fade + slide up on mount. `--animation-duration` is 0ms
|
|
@@ -128,9 +130,9 @@ const J = T(
|
|
|
128
130
|
].join(" "),
|
|
129
131
|
...N,
|
|
130
132
|
children: [
|
|
131
|
-
n !== "system" &&
|
|
133
|
+
n !== "system" && r ? r.slot ? (
|
|
132
134
|
// Consumer-supplied avatar node (e.g. Alia's Sparkles tile).
|
|
133
|
-
|
|
135
|
+
r.slot
|
|
134
136
|
) : (
|
|
135
137
|
// Allow-list the src: LLM-supplied values can carry
|
|
136
138
|
// `javascript:` / `data:text/html` / `data:image/svg+xml` and so
|
|
@@ -138,8 +140,8 @@ const J = T(
|
|
|
138
140
|
/* @__PURE__ */ a(
|
|
139
141
|
I,
|
|
140
142
|
{
|
|
141
|
-
name:
|
|
142
|
-
src: V(
|
|
143
|
+
name: r.name,
|
|
144
|
+
src: V(r.src),
|
|
143
145
|
size: "sm"
|
|
144
146
|
}
|
|
145
147
|
)
|
|
@@ -205,10 +207,10 @@ const J = T(
|
|
|
205
207
|
/* @__PURE__ */ a("span", { className: "ds:sr-only", children: g })
|
|
206
208
|
]
|
|
207
209
|
},
|
|
208
|
-
|
|
210
|
+
s
|
|
209
211
|
)
|
|
210
212
|
) : null,
|
|
211
|
-
|
|
213
|
+
s === "error" && m ? /* @__PURE__ */ a(
|
|
212
214
|
F,
|
|
213
215
|
{
|
|
214
216
|
intent: "ghost",
|
|
@@ -234,4 +236,4 @@ J.displayName = "ChatMessage";
|
|
|
234
236
|
export {
|
|
235
237
|
J as C
|
|
236
238
|
};
|
|
237
|
-
//# sourceMappingURL=chat-message-
|
|
239
|
+
//# sourceMappingURL=chat-message-DzpcJR-q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-message-DzpcJR-q.js","sources":["../../src/components/chat-message/chat-message.tsx"],"sourcesContent":["import {\n forwardRef,\n Fragment,\n useMemo,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { AlertCircle, Check, Clock, RotateCcw } from 'lucide-react';\nimport { Button } from '../button';\nimport { Avatar } from '../avatar';\nimport { Timestamp } from '../timestamp';\nimport { safeImageSrc } from '../_shared';\nimport { CodeBlock, splitCodeFences } from '../_shared/code-block';\n\n/* ------------------------------------------------------------------ */\n/* Types */\n/* ------------------------------------------------------------------ */\n\nexport type ChatMessageRole = 'user' | 'assistant' | 'system';\nexport type ChatMessageStatus = 'sending' | 'sent' | 'error' | 'edited';\n\nexport interface ChatMessageAvatar {\n name?: string;\n src?: string;\n /**\n * Optional custom avatar node. When provided, it REPLACES the built-in\n * `<Avatar>` (initials / image) for this message. Used by the Alia\n * pattern to render a Sparkles identity tile instead of an avatar, and\n * by consumers that want to swap in a user-icon chip, brand glyph, etc.\n * The caller is responsible for accessible labelling on the custom node\n * — ChatMessage's own `aria-label` already announces the role/time, so\n * purely decorative nodes can be `aria-hidden`.\n */\n slot?: ReactNode;\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst rowVariants = cva(\n 'ds:flex ds:w-full ds:items-start ds:gap-[var(--spacing-sm)]',\n {\n variants: {\n role: {\n user: 'ds:flex-row-reverse',\n assistant: 'ds:flex-row',\n system: 'ds:flex-col ds:items-center ds:text-center',\n },\n },\n defaultVariants: { role: 'assistant' },\n },\n);\n\nconst bubbleVariants = cva(\n [\n // Cap at 42rem on wide surfaces; on narrow docks (Alia sidebar ≈22rem)\n // leave room for the avatar column (size-8 = 32px = --spacing-xl) +\n // `gap-sm` (8px = --spacing-sm) so avatars don't clip off the inline\n // edge when the row is width-constrained.\n 'ds:relative ds:max-w-[min(42rem,calc(100%-var(--spacing-xl)-var(--spacing-sm)))]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n 'ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]',\n 'type-body',\n 'ds:break-words',\n ].join(' '),\n {\n variants: {\n role: {\n user: 'ds:bg-[color:var(--primary)] ds:text-[color:var(--primary-foreground)] ds:rounded-[var(--radius-md)] ds:rounded-ee-[var(--radius-sm)]',\n assistant:\n 'ds:bg-muted/40 ds:text-foreground ds:rounded-[var(--radius-md)] ds:rounded-es-[var(--radius-sm)]',\n system:\n 'ds:bg-transparent ds:text-[color:var(--muted-foreground)] type-body-sm ds:italic',\n },\n },\n defaultVariants: { role: 'assistant' },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* Safe markdown-ish (bold, inline code, line-breaks, links as text) */\n/* No dangerouslySetInnerHTML. */\n/* ------------------------------------------------------------------ */\n\ntype Token =\n | { type: 'text'; value: string }\n | { type: 'bold'; value: string }\n | { type: 'code'; value: string }\n | { type: 'br' }\n | { type: 'link'; label: string; href: string };\n\nconst SAFE_SCHEMES = /^(https?:|mailto:)/i;\n\nfunction tokenize(input: string): Token[] {\n const tokens: Token[] = [];\n let remaining = input;\n const pattern = /\\*\\*([^*]+)\\*\\*|`([^`]+)`|\\[([^\\]]+)\\]\\(([^)]+)\\)|\\n/;\n while (remaining.length > 0) {\n const match = pattern.exec(remaining);\n if (!match) {\n tokens.push({ type: 'text', value: remaining });\n break;\n }\n if (match.index > 0) {\n tokens.push({ type: 'text', value: remaining.slice(0, match.index) });\n }\n if (match[1] !== undefined) {\n tokens.push({ type: 'bold', value: match[1] });\n } else if (match[2] !== undefined) {\n tokens.push({ type: 'code', value: match[2] });\n } else if (match[3] !== undefined && match[4] !== undefined) {\n tokens.push({ type: 'link', label: match[3], href: match[4] });\n } else {\n tokens.push({ type: 'br' });\n }\n remaining = remaining.slice(match.index + match[0].length);\n }\n return tokens;\n}\n\nfunction renderInline(input: string): ReactNode {\n return tokenize(input).map((tok, i) => {\n if (tok.type === 'bold') return <strong key={i}>{tok.value}</strong>;\n if (tok.type === 'code') {\n return (\n <code\n key={i}\n dir=\"ltr\"\n className=\"ds:rounded-[var(--radius-sm)] ds:bg-muted/30 ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)] ds:font-[family-name:var(--font-mono)]\"\n >\n {tok.value}\n </code>\n );\n }\n if (tok.type === 'br') return <br key={i} />;\n if (tok.type === 'link') {\n if (!SAFE_SCHEMES.test(tok.href)) {\n // Unsafe scheme (javascript:, data:) — render as inert text.\n return <Fragment key={i}>{tok.label}</Fragment>;\n }\n return (\n <a\n key={i}\n href={tok.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"ds:underline ds:underline-offset-2 ds:hover:opacity-80\"\n >\n {tok.label}\n </a>\n );\n }\n return <Fragment key={i}>{tok.value}</Fragment>;\n });\n}\n\n/**\n * Render a message body: split fenced code blocks out to `<CodeBlock>` and run\n * the inline tokenizer over the surrounding text runs.\n */\nfunction renderBody(input: string): ReactNode {\n return splitCodeFences(input).map((seg, i) => {\n if (seg.type === 'code') {\n return <CodeBlock key={i} code={seg.value} language={seg.lang} />;\n }\n return <Fragment key={i}>{renderInline(seg.value)}</Fragment>;\n });\n}\n\n/* ------------------------------------------------------------------ */\n/* ChatMessage */\n/* ------------------------------------------------------------------ */\n\ntype NativeProps = Omit<HTMLAttributes<HTMLElement>, 'content' | 'role'>;\n\nexport interface ChatMessageProps\n extends NativeProps, VariantProps<typeof bubbleVariants> {\n role: ChatMessageRole;\n content: string;\n avatar?: ChatMessageAvatar;\n timestamp?: Date | number | string;\n status?: ChatMessageStatus;\n /** Parse a small, safe subset of markdown. Never renders raw HTML. */\n renderMarkdown?: boolean;\n /** Invoked when the retry button is activated (error status only). */\n onRetry?: () => void;\n /**\n * Optional action row rendered beneath the message body + timestamp,\n * aligned with the message (e.g. the Alia pattern's Copy / Download\n * buttons on assistant messages). Default off → renders nothing.\n */\n actions?: ReactNode;\n /**\n * Custom body node rendered verbatim INSTEAD of `content`. When set, the\n * markdown tokenizer (`renderBody`) is skipped and the node is rendered\n * directly inside the bubble. `content` is still required (used for the\n * aria-label context and consumer copy / download). Default off.\n */\n body?: ReactNode;\n}\n\nexport const ChatMessage = forwardRef<HTMLElement, ChatMessageProps>(\n (\n {\n role,\n content,\n avatar,\n timestamp,\n status,\n renderMarkdown = false,\n onRetry,\n actions,\n body,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n\n // Local format — used for the aria-label interpolation only. Visible\n // label is rendered by `<Timestamp>` below, which computes the same\n // locale-aware HH:MM internally.\n const formattedTime = useMemo(() => {\n if (!timestamp) return null;\n const date = timestamp instanceof Date ? timestamp : new Date(timestamp);\n if (Number.isNaN(date.getTime())) return null;\n return new Intl.DateTimeFormat(i18n.language, {\n hour: '2-digit',\n minute: '2-digit',\n }).format(date);\n }, [timestamp, i18n.language]);\n\n const roleLabel = t(`chat.message.role.${role}`);\n const messageLabel = formattedTime\n ? t('chat.message.label', { role: roleLabel, time: formattedTime })\n : t('chat.message.labelNoTime', { role: roleLabel });\n\n const resolvedBody =\n body ?? (renderMarkdown ? renderBody(content) : content);\n\n const statusIcon = (() => {\n if (!status || status === 'edited') return null;\n if (status === 'sending')\n return <Clock aria-hidden=\"true\" className=\"ds:size-3.5\" />;\n if (status === 'sent')\n return <Check aria-hidden=\"true\" className=\"ds:size-3.5\" />;\n return (\n <AlertCircle\n aria-hidden=\"true\"\n className=\"ds:size-3.5 ds:text-[color:var(--destructive)]\"\n />\n );\n })();\n\n const statusText = status ? t(`chat.message.status.${status}`) : null;\n\n return (\n <article\n ref={ref}\n aria-label={messageLabel}\n data-component=\"chat-message\"\n // Structural state surfaced for agent reads (see chat-message.agent.ts).\n // `status` is optional → the attribute is omitted when unset.\n data-role={role}\n data-status={status}\n className={[\n rowVariants({ role, className }),\n // Entrance: fade + slide up on mount. `--animation-duration` is 0ms\n // under `prefers-reduced-motion` and `.theme-accessible`, so both\n // collapse the animation to an instant state change automatically.\n 'ds:motion-safe:animate-in ds:motion-safe:fade-in-0 ds:motion-safe:slide-in-from-bottom-2',\n 'ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]',\n ].join(' ')}\n {...rest}\n >\n {role !== 'system' && avatar ? (\n avatar.slot ? (\n // Consumer-supplied avatar node (e.g. Alia's Sparkles tile).\n avatar.slot\n ) : (\n // Allow-list the src: LLM-supplied values can carry\n // `javascript:` / `data:text/html` / `data:image/svg+xml` and so\n // are scrubbed here before reaching <Avatar>. Fallback to initials.\n <Avatar\n name={avatar.name}\n src={safeImageSrc(avatar.src)}\n size=\"sm\"\n />\n )\n ) : null}\n\n <div\n className={[\n // min-w-0 allows this flex item to shrink below its content's\n // natural width — without it, a single unbreakable token (URL,\n // CJK run, hash) can force the bubble wider than the parent\n // and spill outside narrow containers like the Alia sidebar.\n 'ds:flex ds:flex-col ds:min-w-0',\n role === 'user'\n ? 'ds:items-end'\n : role === 'assistant'\n ? 'ds:items-start'\n : 'ds:items-center',\n ].join(' ')}\n >\n <div\n dir=\"auto\"\n className={[\n bubbleVariants({ role }),\n // `break-words` (from bubbleVariants) handles soft hyphens;\n // `overflow-wrap: anywhere` is the last-resort break for\n // URLs, hashes, or CJK runs that would otherwise push the\n // bubble wider than its parent in narrow docks like Alia.\n 'ds:[overflow-wrap:anywhere]',\n ].join(' ')}\n >\n {resolvedBody}\n </div>\n\n {(formattedTime || statusText) && role !== 'system' ? (\n <div\n className={[\n 'ds:mt-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]',\n 'type-meta ds:text-[color:var(--muted-foreground)]',\n ].join(' ')}\n >\n {timestamp ? (\n <Timestamp\n value={timestamp}\n format=\"absolute\"\n absoluteFormat={{ hour: '2-digit', minute: '2-digit' }}\n dir=\"ltr\"\n />\n ) : null}\n {statusIcon ? (\n // `key={status}` re-mounts the span on every status change so\n // `animate-in` re-runs — gives the sending → sent → error\n // swap a subtle cross-fade instead of an abrupt pop.\n <span\n key={status}\n className={[\n 'ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]',\n 'ds:motion-safe:animate-in ds:motion-safe:fade-in-0',\n 'ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]',\n ].join(' ')}\n >\n {statusIcon}\n <span className=\"ds:sr-only\">{statusText}</span>\n </span>\n ) : null}\n {status === 'error' && onRetry ? (\n <Button\n intent=\"ghost\"\n size=\"sm\"\n onClick={onRetry}\n startIcon={<RotateCcw />}\n >\n {t('chat.message.retry')}\n </Button>\n ) : null}\n </div>\n ) : null}\n {actions ? (\n <div className=\"ds:mt-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]\">\n {actions}\n </div>\n ) : null}\n </div>\n </article>\n );\n },\n);\n\nChatMessage.displayName = 'ChatMessage';\n"],"names":["rowVariants","cva","bubbleVariants","SAFE_SCHEMES","tokenize","input","tokens","remaining","pattern","match","renderInline","tok","i","jsx","Fragment","renderBody","splitCodeFences","seg","CodeBlock","ChatMessage","forwardRef","role","content","avatar","timestamp","status","renderMarkdown","onRetry","actions","body","className","rest","ref","t","i18n","useTranslation","formattedTime","useMemo","date","roleLabel","messageLabel","resolvedBody","statusIcon","Clock","Check","AlertCircle","statusText","jsxs","Avatar","safeImageSrc","Timestamp","Button","RotateCcw"],"mappings":"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"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as H, useRef as N, useEffect as _, useMemo as W, useCallback as q } from "react";
|
|
3
|
+
import { useTranslation as B } from "react-i18next";
|
|
4
|
+
import { A as F } from "./autocomplete-BrONKN8l.js";
|
|
5
|
+
import { T as G } from "./text-input-B-OWQ1Je.js";
|
|
6
|
+
import { u as J } from "./use-controllable-state-BiY4xTzM.js";
|
|
7
|
+
import { u as L } from "./registry-DvAUVLHh.js";
|
|
8
|
+
const O = {
|
|
9
|
+
id: "city-input",
|
|
10
|
+
capabilities: ["set_value"],
|
|
11
|
+
state: {
|
|
12
|
+
value: {
|
|
13
|
+
type: "string",
|
|
14
|
+
descriptionKey: "ui.agent.cityInput.state.value",
|
|
15
|
+
description: "Current city / town value.",
|
|
16
|
+
read: (e) => e.getValue()
|
|
17
|
+
},
|
|
18
|
+
isEmpty: {
|
|
19
|
+
type: "boolean",
|
|
20
|
+
descriptionKey: "ui.agent.cityInput.state.isEmpty",
|
|
21
|
+
description: "Whether the field has no value.",
|
|
22
|
+
read: (e) => e.getValue() === ""
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
actions: {
|
|
26
|
+
set_value: {
|
|
27
|
+
safety: "write",
|
|
28
|
+
argsType: "{ value: string }",
|
|
29
|
+
argsSchema: {
|
|
30
|
+
type: "object",
|
|
31
|
+
properties: { value: { type: "string" } },
|
|
32
|
+
required: ["value"]
|
|
33
|
+
},
|
|
34
|
+
idempotent: !0,
|
|
35
|
+
descriptionKey: "ui.agent.cityInput.actions.setValue",
|
|
36
|
+
description: "Replace the city value.",
|
|
37
|
+
examples: [
|
|
38
|
+
{ args: { value: "Milano" }, note: "Set the city to Milano." }
|
|
39
|
+
],
|
|
40
|
+
invoke: (e, r) => {
|
|
41
|
+
e.setValue(r.value);
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
clear: {
|
|
45
|
+
safety: "destructive",
|
|
46
|
+
idempotent: !0,
|
|
47
|
+
descriptionKey: "ui.agent.cityInput.actions.clear",
|
|
48
|
+
description: "Empty the field. Loses any typed value.",
|
|
49
|
+
invoke: (e) => {
|
|
50
|
+
e.clear();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
domHooks: {
|
|
55
|
+
root: { attr: "data-component", value: "city-input" },
|
|
56
|
+
instanceId: {
|
|
57
|
+
attr: "data-component-id",
|
|
58
|
+
sourceProp: "id",
|
|
59
|
+
description: "Sourced from the id prop."
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}, Q = H(
|
|
63
|
+
function({
|
|
64
|
+
value: r,
|
|
65
|
+
defaultValue: V,
|
|
66
|
+
onValueChange: R,
|
|
67
|
+
loadCities: i,
|
|
68
|
+
onCitySelect: S,
|
|
69
|
+
country: s,
|
|
70
|
+
province: u,
|
|
71
|
+
recents: k,
|
|
72
|
+
debounceMs: w,
|
|
73
|
+
snapOnBlur: x,
|
|
74
|
+
placeholder: A,
|
|
75
|
+
clearable: E,
|
|
76
|
+
disabled: c,
|
|
77
|
+
readOnly: p,
|
|
78
|
+
required: d,
|
|
79
|
+
name: m,
|
|
80
|
+
id: n,
|
|
81
|
+
size: y = "md",
|
|
82
|
+
tone: v = "default",
|
|
83
|
+
"aria-label": f,
|
|
84
|
+
"aria-invalid": g,
|
|
85
|
+
"aria-describedby": h,
|
|
86
|
+
className: K
|
|
87
|
+
}, b) {
|
|
88
|
+
const { t: T } = B(), [a, t] = J({
|
|
89
|
+
value: r,
|
|
90
|
+
defaultValue: V,
|
|
91
|
+
onChange: R
|
|
92
|
+
}), C = N(a);
|
|
93
|
+
_(() => {
|
|
94
|
+
C.current = a;
|
|
95
|
+
}, [a]);
|
|
96
|
+
const j = W(
|
|
97
|
+
() => ({
|
|
98
|
+
getValue: () => C.current ?? "",
|
|
99
|
+
setValue: (o) => t(o),
|
|
100
|
+
clear: () => t("")
|
|
101
|
+
}),
|
|
102
|
+
[t]
|
|
103
|
+
);
|
|
104
|
+
L(O, j, n);
|
|
105
|
+
const M = q(
|
|
106
|
+
(o, P) => i ? i(o, { ...P, country: s, province: u }) : Promise.resolve([]),
|
|
107
|
+
[i, s, u]
|
|
108
|
+
), I = A ?? T("inputs.cityInput.placeholder", "City");
|
|
109
|
+
return /* @__PURE__ */ l(
|
|
110
|
+
"div",
|
|
111
|
+
{
|
|
112
|
+
"data-component": "city-input",
|
|
113
|
+
"data-component-id": n,
|
|
114
|
+
className: ["ds:w-full", K].filter(Boolean).join(" "),
|
|
115
|
+
children: i ? /* @__PURE__ */ l(
|
|
116
|
+
F,
|
|
117
|
+
{
|
|
118
|
+
ref: b,
|
|
119
|
+
loadOptions: M,
|
|
120
|
+
value: a ?? "",
|
|
121
|
+
onChange: t,
|
|
122
|
+
onSelect: S,
|
|
123
|
+
recents: k,
|
|
124
|
+
debounceMs: w,
|
|
125
|
+
snapOnBlur: x,
|
|
126
|
+
placeholder: I,
|
|
127
|
+
disabled: c,
|
|
128
|
+
readOnly: p,
|
|
129
|
+
required: d,
|
|
130
|
+
name: m,
|
|
131
|
+
id: n,
|
|
132
|
+
size: y,
|
|
133
|
+
tone: v,
|
|
134
|
+
"aria-label": f,
|
|
135
|
+
"aria-invalid": g,
|
|
136
|
+
"aria-describedby": h
|
|
137
|
+
}
|
|
138
|
+
) : /* @__PURE__ */ l(
|
|
139
|
+
G,
|
|
140
|
+
{
|
|
141
|
+
ref: b,
|
|
142
|
+
value: a ?? "",
|
|
143
|
+
onChange: (o) => t(o.target.value),
|
|
144
|
+
onClear: () => t(""),
|
|
145
|
+
autoComplete: "address-level2",
|
|
146
|
+
placeholder: I,
|
|
147
|
+
clearable: E,
|
|
148
|
+
disabled: c,
|
|
149
|
+
readOnly: p,
|
|
150
|
+
required: d,
|
|
151
|
+
name: m,
|
|
152
|
+
id: n,
|
|
153
|
+
size: y,
|
|
154
|
+
tone: v,
|
|
155
|
+
"aria-label": f,
|
|
156
|
+
"aria-invalid": g,
|
|
157
|
+
"aria-describedby": h
|
|
158
|
+
}
|
|
159
|
+
)
|
|
160
|
+
}
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
);
|
|
164
|
+
Q.displayName = "CityInput";
|
|
165
|
+
export {
|
|
166
|
+
Q as C,
|
|
167
|
+
O as c
|
|
168
|
+
};
|
|
169
|
+
//# sourceMappingURL=city-input-Dkgaak7I.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"city-input-Dkgaak7I.js","sources":["../../src/components/city-input/city-input.agent.ts","../../src/components/city-input/city-input.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\n\nexport interface CityInputHandle {\n getValue: () => string;\n setValue: (value: string) => void;\n clear: () => void;\n}\n\nexport const cityInputAgent: AgentAdapter<CityInputHandle> = {\n id: 'city-input',\n capabilities: ['set_value'],\n state: {\n value: {\n type: 'string',\n descriptionKey: 'ui.agent.cityInput.state.value',\n description: 'Current city / town value.',\n read: (handle) => handle.getValue(),\n },\n isEmpty: {\n type: 'boolean',\n descriptionKey: 'ui.agent.cityInput.state.isEmpty',\n description: 'Whether the field has no value.',\n read: (handle) => handle.getValue() === '',\n },\n },\n actions: {\n set_value: {\n safety: 'write',\n argsType: '{ value: string }',\n argsSchema: {\n type: 'object',\n properties: { value: { type: 'string' } },\n required: ['value'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.cityInput.actions.setValue',\n description: 'Replace the city value.',\n examples: [\n { args: { value: 'Milano' }, note: 'Set the city to Milano.' },\n ],\n invoke: (handle, args: { value: string }) => {\n handle.setValue(args.value);\n },\n },\n clear: {\n safety: 'destructive',\n idempotent: true,\n descriptionKey: 'ui.agent.cityInput.actions.clear',\n description: 'Empty the field. Loses any typed value.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'city-input' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n type ChangeEvent,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Autocomplete } from '../autocomplete/autocomplete';\nimport { TextInput } from '../text-input';\nimport type { OptionShape } from '../_shared/option';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useAgentRegistration } from '../../agent';\nimport { cityInputAgent, type CityInputHandle } from './city-input.agent';\n\n/* ------------------------------------------------------------------ */\n/* Public API */\n/* */\n/* A city / town field with an OPTIONAL geocoder-agnostic suggestion */\n/* seam. When `loadCities` is supplied the field is an async */\n/* Autocomplete; when it isn't, it degrades to a plain labelled text */\n/* input. The kit imports NO geocoder — the consumer owns the data */\n/* source (Google Places, Mapbox, a server endpoint, …). */\n/* ------------------------------------------------------------------ */\n\nexport interface CityLoaderContext {\n signal: AbortSignal;\n locale: string;\n /** Selected country (lowercase alpha-2), passed through to bias results. */\n country?: string;\n /** Selected province/region code, passed through to bias results. */\n province?: string;\n}\n\nexport interface CityInputProps {\n /** City / town name (free text). */\n value?: string;\n defaultValue?: string;\n onValueChange?: (city: string) => void;\n /**\n * Optional async suggestion source. Omit → the field is a plain text\n * input with no suggestions. The kit never imports a geocoder; wire your\n * own here.\n */\n loadCities?: (\n query: string,\n ctx: CityLoaderContext,\n ) => Promise<OptionShape[]>;\n /** Fires when a suggestion is picked, with the full option. */\n onCitySelect?: (option: OptionShape) => void;\n /** Passed through to `loadCities` to bias suggestions. */\n country?: string;\n /** Passed through to `loadCities` to bias suggestions. */\n province?: string;\n /** Frequently-picked cities surfaced before the user types. */\n recents?: OptionShape[];\n debounceMs?: number;\n /** Snap the value back to the last picked suggestion on blur. */\n snapOnBlur?: boolean;\n placeholder?: string;\n /** Clear button — text-fallback mode only. */\n clearable?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n required?: boolean;\n name?: string;\n id?: string;\n size?: 'sm' | 'md' | 'lg';\n tone?: 'default' | 'error';\n /**\n * Accessible name. In **suggestion mode** (`loadCities` set) this becomes\n * the input's computed name — set it to the visible label text when used\n * inside a `<FormField>`, otherwise the name falls back to a generic\n * \"Search\". In **text-fallback mode** the FormField label associates\n * natively, so this is optional.\n */\n 'aria-label'?: string;\n /** Invalid-state fallback for use outside a `<FormField>` (inline editors). */\n 'aria-invalid'?: boolean;\n /** Error-message id fallback for use outside a `<FormField>`. */\n 'aria-describedby'?: string;\n className?: string;\n}\n\nexport const CityInput = forwardRef<HTMLInputElement, CityInputProps>(\n function CityInput(\n {\n value: valueProp,\n defaultValue,\n onValueChange,\n loadCities,\n onCitySelect,\n country,\n province,\n recents,\n debounceMs,\n snapOnBlur,\n placeholder,\n clearable,\n disabled,\n readOnly,\n required,\n name,\n id,\n size = 'md',\n tone = 'default',\n 'aria-label': ariaLabel,\n 'aria-invalid': ariaInvalid,\n 'aria-describedby': ariaDescribedBy,\n className,\n },\n ref,\n ) {\n const { t } = useTranslation();\n\n const [value, setValue] = useControllableState<string>({\n value: valueProp,\n defaultValue,\n onChange: onValueChange,\n });\n\n const valueRef = useRef(value);\n useEffect(() => {\n valueRef.current = value;\n }, [value]);\n\n const agentHandle = useMemo<CityInputHandle>(\n () => ({\n getValue: () => valueRef.current ?? '',\n setValue: (next) => setValue(next),\n clear: () => setValue(''),\n }),\n [setValue],\n );\n useAgentRegistration(cityInputAgent, agentHandle, id);\n\n const loadOptions = useCallback(\n (query: string, opts: { signal: AbortSignal; locale: string }) =>\n loadCities\n ? loadCities(query, { ...opts, country, province })\n : Promise.resolve<OptionShape[]>([]),\n [loadCities, country, province],\n );\n\n const resolvedPlaceholder =\n placeholder ?? t('inputs.cityInput.placeholder', 'City');\n\n return (\n <div\n data-component=\"city-input\"\n data-component-id={id}\n className={['ds:w-full', className].filter(Boolean).join(' ')}\n >\n {loadCities ? (\n <Autocomplete\n ref={ref}\n loadOptions={loadOptions}\n value={value ?? ''}\n onChange={setValue}\n onSelect={onCitySelect}\n recents={recents}\n debounceMs={debounceMs}\n snapOnBlur={snapOnBlur}\n placeholder={resolvedPlaceholder}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n name={name}\n id={id}\n size={size}\n tone={tone}\n aria-label={ariaLabel}\n aria-invalid={ariaInvalid}\n aria-describedby={ariaDescribedBy}\n />\n ) : (\n <TextInput\n ref={ref}\n value={value ?? ''}\n onChange={(event: ChangeEvent<HTMLInputElement>) =>\n setValue(event.target.value)\n }\n onClear={() => setValue('')}\n autoComplete=\"address-level2\"\n placeholder={resolvedPlaceholder}\n clearable={clearable}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n name={name}\n id={id}\n size={size}\n tone={tone}\n aria-label={ariaLabel}\n aria-invalid={ariaInvalid}\n aria-describedby={ariaDescribedBy}\n />\n )}\n </div>\n );\n },\n);\n\nCityInput.displayName = 'CityInput';\n"],"names":["cityInputAgent","handle","args","CityInput","forwardRef","valueProp","defaultValue","onValueChange","loadCities","onCitySelect","country","province","recents","debounceMs","snapOnBlur","placeholder","clearable","disabled","readOnly","required","name","id","size","tone","ariaLabel","ariaInvalid","ariaDescribedBy","className","ref","t","useTranslation","value","setValue","useControllableState","valueRef","useRef","useEffect","agentHandle","useMemo","next","useAgentRegistration","loadOptions","useCallback","query","opts","resolvedPlaceholder","jsx","Autocomplete","TextInput","event"],"mappings":"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"}
|