@alfadocs/ui-kit-debug 0.68.0 → 0.70.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/{accordion-9lJSMMsZ.js → accordion-DnIa7OHX.js} +69 -47
- package/dist/_chunks/accordion-DnIa7OHX.js.map +1 -0
- package/dist/_chunks/address-autocomplete-BEX9PXty.js +496 -0
- package/dist/_chunks/address-autocomplete-BEX9PXty.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-card.agent-B_R47-c9.js → agenda-card.agent-mTCrkKSZ.js} +6 -1
- package/dist/_chunks/{agenda-card.agent-B_R47-c9.js.map → agenda-card.agent-mTCrkKSZ.js.map} +1 -1
- package/dist/_chunks/{agenda-tray-T-BumlGZ.js → agenda-tray-CGXRk58j.js} +37 -25
- package/dist/_chunks/agenda-tray-CGXRk58j.js.map +1 -0
- package/dist/_chunks/{ai-consent-banner-Dxtx_WAh.js → ai-consent-banner-Be-h9mRI.js} +5 -5
- package/dist/_chunks/{ai-consent-banner-Dxtx_WAh.js.map → ai-consent-banner-Be-h9mRI.js.map} +1 -1
- package/dist/_chunks/{ai-prompt-input-BwEACCPm.js → ai-prompt-input-CuhTo9mh.js} +80 -61
- package/dist/_chunks/ai-prompt-input-CuhTo9mh.js.map +1 -0
- package/dist/_chunks/ai-tools-rail-B5NEghsp.js +511 -0
- package/dist/_chunks/ai-tools-rail-B5NEghsp.js.map +1 -0
- 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-Ckv0yCKi.js → alia-sidebar-B47qRQb5.js} +5 -5
- package/dist/_chunks/{alia-sidebar-Ckv0yCKi.js.map → alia-sidebar-B47qRQb5.js.map} +1 -1
- package/dist/_chunks/{anamnesis-card-N8pIKWuS.js → anamnesis-card-DvYCa16e.js} +3 -3
- package/dist/_chunks/{anamnesis-card-N8pIKWuS.js.map → anamnesis-card-DvYCa16e.js.map} +1 -1
- package/dist/_chunks/anatomy-scheme-CJB6dI6p.js +2445 -0
- package/dist/_chunks/anatomy-scheme-CJB6dI6p.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/appointment-card-C06aZqA7.js +310 -0
- package/dist/_chunks/appointment-card-C06aZqA7.js.map +1 -0
- package/dist/_chunks/appointment-timeline-BJM0S_Fg.js +386 -0
- package/dist/_chunks/appointment-timeline-BJM0S_Fg.js.map +1 -0
- package/dist/_chunks/appointment-tray-DRRw5ROi.js +193 -0
- package/dist/_chunks/appointment-tray-DRRw5ROi.js.map +1 -0
- package/dist/_chunks/{audio-recorder-DjXLP4aF.js → audio-recorder-Cpdk5qpQ.js} +60 -57
- package/dist/_chunks/audio-recorder-Cpdk5qpQ.js.map +1 -0
- package/dist/_chunks/{autocomplete-CcCFlVf-.js → autocomplete-DOeGouCL.js} +157 -132
- package/dist/_chunks/autocomplete-DOeGouCL.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-DnYWtZa_.js +304 -0
- package/dist/_chunks/bishop-score-DnYWtZa_.js.map +1 -0
- package/dist/_chunks/bmi-calculator-zjeY4E7J.js +434 -0
- package/dist/_chunks/bmi-calculator-zjeY4E7J.js.map +1 -0
- package/dist/_chunks/{booking-L8-YP8BJ.js → booking-DUBI0oqt.js} +422 -399
- package/dist/_chunks/booking-DUBI0oqt.js.map +1 -0
- package/dist/_chunks/{breadcrumb-OTbaY70e.js → breadcrumb-CchdeG7d.js} +42 -28
- package/dist/_chunks/breadcrumb-CchdeG7d.js.map +1 -0
- package/dist/_chunks/{calculator-dialog-CFk4I91b.js → calculator-dialog-BR5iU0kf.js} +2 -2
- package/dist/_chunks/{calculator-dialog-CFk4I91b.js.map → calculator-dialog-BR5iU0kf.js.map} +1 -1
- package/dist/_chunks/{calendar-oYWOCrnf.js → calendar-CZUjL8SZ.js} +258 -201
- package/dist/_chunks/calendar-CZUjL8SZ.js.map +1 -0
- package/dist/_chunks/{care-plan-card-BwVUyUBb.js → care-plan-card-C5sTfY9G.js} +13 -9
- package/dist/_chunks/care-plan-card-C5sTfY9G.js.map +1 -0
- package/dist/_chunks/{care-plan-entry-card-VzdQHcOL.js → care-plan-entry-card-CXnxGCWA.js} +20 -16
- package/dist/_chunks/care-plan-entry-card-CXnxGCWA.js.map +1 -0
- package/dist/_chunks/care-plan-header-BUwqDTtz.js +206 -0
- package/dist/_chunks/care-plan-header-BUwqDTtz.js.map +1 -0
- package/dist/_chunks/{carousel.agent-vt21A_el.js → carousel.agent-4v8Emr9E.js} +219 -198
- package/dist/_chunks/{carousel.agent-vt21A_el.js.map → carousel.agent-4v8Emr9E.js.map} +1 -1
- package/dist/_chunks/{chart-Cg3e9EH9.js → chart-CMr3eW62.js} +150 -109
- package/dist/_chunks/chart-CMr3eW62.js.map +1 -0
- package/dist/_chunks/{chat-container-ogB4OskO.js → chat-container-DWho5hPR.js} +47 -34
- package/dist/_chunks/chat-container-DWho5hPR.js.map +1 -0
- package/dist/_chunks/{chat-input-B5zjNEUN.js → chat-input-BcXTetgM.js} +57 -41
- package/dist/_chunks/chat-input-BcXTetgM.js.map +1 -0
- package/dist/_chunks/{checkbox-DRcOdmXv.js → checkbox-BuZ1u__2.js} +41 -27
- package/dist/_chunks/checkbox-BuZ1u__2.js.map +1 -0
- package/dist/_chunks/{checkbox-group-CpUwlHug.js → checkbox-group-PqNmQ-cE.js} +3 -3
- package/dist/_chunks/{checkbox-group-CpUwlHug.js.map → checkbox-group-PqNmQ-cE.js.map} +1 -1
- package/dist/_chunks/clinical-note-card-BUvNMNGL.js +436 -0
- package/dist/_chunks/clinical-note-card-BUvNMNGL.js.map +1 -0
- package/dist/_chunks/{collapsible-X3oaLPU3.js → collapsible-BrnRiCC6.js} +26 -23
- package/dist/_chunks/collapsible-BrnRiCC6.js.map +1 -0
- package/dist/_chunks/{color-picker-FXpItIaF.js → color-picker-C_fZl6sA.js} +124 -112
- package/dist/_chunks/color-picker-C_fZl6sA.js.map +1 -0
- package/dist/_chunks/{combobox-BC-DFx8G.js → combobox-Clum7gJ1.js} +165 -128
- package/dist/_chunks/combobox-Clum7gJ1.js.map +1 -0
- package/dist/_chunks/{command-palette-BiPAAno-.js → command-palette-CJzmc5pC.js} +87 -64
- package/dist/_chunks/command-palette-CJzmc5pC.js.map +1 -0
- package/dist/_chunks/{contact-profile-card-7BMB85T6.js → contact-profile-card-DDPwRFiP.js} +13 -11
- package/dist/_chunks/contact-profile-card-DDPwRFiP.js.map +1 -0
- package/dist/_chunks/control-room-rail-Y8ryLYsP.js +229 -0
- package/dist/_chunks/control-room-rail-Y8ryLYsP.js.map +1 -0
- package/dist/_chunks/{copy-field-CCq7j6Zc.js → copy-field-Bjw9u2cV.js} +42 -35
- package/dist/_chunks/copy-field-Bjw9u2cV.js.map +1 -0
- package/dist/_chunks/counter-dRlTNC_y.js +55 -0
- package/dist/_chunks/counter-dRlTNC_y.js.map +1 -0
- package/dist/_chunks/{cycle-calculator-BF0ointe.js → cycle-calculator-CCmPwcBl.js} +4 -4
- package/dist/_chunks/{cycle-calculator-BF0ointe.js.map → cycle-calculator-CCmPwcBl.js.map} +1 -1
- package/dist/_chunks/{date-picker-oGg5BnXL.js → date-picker-Dl9RKxaV.js} +76 -57
- package/dist/_chunks/{date-picker-oGg5BnXL.js.map → date-picker-Dl9RKxaV.js.map} +1 -1
- package/dist/_chunks/{date-range-picker-C5BWfH_T.js → date-range-picker-CTUeR6Bj.js} +73 -46
- package/dist/_chunks/date-range-picker-CTUeR6Bj.js.map +1 -0
- package/dist/_chunks/{date-time-picker-Ze1My59T.js → date-time-picker-BhoogS5Q.js} +64 -40
- package/dist/_chunks/date-time-picker-BhoogS5Q.js.map +1 -0
- package/dist/_chunks/{dependent-selector-DpzGtr_J.js → dependent-selector-DUV4thxX.js} +45 -31
- package/dist/_chunks/dependent-selector-DUV4thxX.js.map +1 -0
- package/dist/_chunks/{dialog-DMGnSelc.js → dialog-ZNuboNmy.js} +35 -28
- package/dist/_chunks/dialog-ZNuboNmy.js.map +1 -0
- package/dist/_chunks/{document-scanner-D2qehl3-.js → document-scanner-C_AxLooF.js} +13 -5
- package/dist/_chunks/document-scanner-C_AxLooF.js.map +1 -0
- package/dist/_chunks/{dropdown-menu-DwwPovMZ.js → dropdown-menu-qrxjymfw.js} +94 -93
- package/dist/_chunks/dropdown-menu-qrxjymfw.js.map +1 -0
- package/dist/_chunks/{due-date-calculator-DU9AEWNy.js → due-date-calculator-Brdj-euS.js} +6 -6
- package/dist/_chunks/{due-date-calculator-DU9AEWNy.js.map → due-date-calculator-Brdj-euS.js.map} +1 -1
- package/dist/_chunks/editable-currency-cell-renderer-C9twtALM.js +328 -0
- package/dist/_chunks/editable-currency-cell-renderer-C9twtALM.js.map +1 -0
- package/dist/_chunks/email-input-DJ7EXklP.js +397 -0
- package/dist/_chunks/{email-input-lQivsFrw.js.map → email-input-DJ7EXklP.js.map} +1 -1
- package/dist/_chunks/{entity-card-COhmqHly.js → entity-card-9_62gY7l.js} +38 -20
- package/dist/_chunks/{entity-card-COhmqHly.js.map → entity-card-9_62gY7l.js.map} +1 -1
- package/dist/_chunks/entity-summary-BxRjFh_4.js +138 -0
- package/dist/_chunks/entity-summary-BxRjFh_4.js.map +1 -0
- package/dist/_chunks/{fetal-weight-BVSzOhuR.js → fetal-weight-DNCkyeVo.js} +3 -3
- package/dist/_chunks/{fetal-weight-BVSzOhuR.js.map → fetal-weight-DNCkyeVo.js.map} +1 -1
- package/dist/_chunks/field-value-NXYczdpO.js +415 -0
- package/dist/_chunks/field-value-NXYczdpO.js.map +1 -0
- package/dist/_chunks/{file-upload-BosbPDb1.js → file-upload-DwZcAK8D.js} +119 -100
- package/dist/_chunks/file-upload-DwZcAK8D.js.map +1 -0
- package/dist/_chunks/{fiscal-code-input-DPtqluVb.js → fiscal-code-input-Cf-8O4Fj.js} +76 -63
- package/dist/_chunks/fiscal-code-input-Cf-8O4Fj.js.map +1 -0
- package/dist/_chunks/{freemium-paywall-CkWjv3o6.js → freemium-paywall-WYlNO7yT.js} +78 -71
- package/dist/_chunks/freemium-paywall-WYlNO7yT.js.map +1 -0
- package/dist/_chunks/{gestational-age-calculator-DBlFdoiP.js → gestational-age-calculator-CF2ISaYQ.js} +7 -7
- package/dist/_chunks/{gestational-age-calculator-DBlFdoiP.js.map → gestational-age-calculator-CF2ISaYQ.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-if4Q8aSX.js → hcg-doubling-C7bmuaU3.js} +4 -4
- package/dist/_chunks/{hcg-doubling-if4Q8aSX.js.map → hcg-doubling-C7bmuaU3.js.map} +1 -1
- package/dist/_chunks/{header-settings-CNOqIhoW.js → header-settings-DJqoAl5m.js} +86 -46
- package/dist/_chunks/header-settings-DJqoAl5m.js.map +1 -0
- package/dist/_chunks/{index.modern-D2LGACWg.js → index.modern-Zta-A4Jm.js} +3 -3
- package/dist/_chunks/{index.modern-D2LGACWg.js.map → index.modern-Zta-A4Jm.js.map} +1 -1
- package/dist/_chunks/link-cell-renderer-CTXqtXV-.js +2184 -0
- package/dist/_chunks/link-cell-renderer-CTXqtXV-.js.map +1 -0
- package/dist/_chunks/{list-BOwqwy03.js → list-DgE1xWBM.js} +99 -84
- package/dist/_chunks/list-DgE1xWBM.js.map +1 -0
- package/dist/_chunks/{locale-picker-C9JmBht3.js → locale-picker-ChYYSX2N.js} +47 -35
- package/dist/_chunks/locale-picker-ChYYSX2N.js.map +1 -0
- package/dist/_chunks/lock-CKOIn0IK.js +15 -0
- package/dist/_chunks/lock-CKOIn0IK.js.map +1 -0
- package/dist/_chunks/{map-view-Tb5VfK9Y.js → map-view-BkOoGoX2.js} +160 -115
- package/dist/_chunks/map-view-BkOoGoX2.js.map +1 -0
- package/dist/_chunks/{marketplace-app-shell-D4-T9Qzz.js → marketplace-app-shell-Skhfp6vK.js} +6 -6
- package/dist/_chunks/{marketplace-app-shell-D4-T9Qzz.js.map → marketplace-app-shell-Skhfp6vK.js.map} +1 -1
- package/dist/_chunks/{message-card.agent-4IeIgrnJ.js → message-card.agent-ZLhx3Bs5.js} +6 -1
- package/dist/_chunks/message-card.agent-ZLhx3Bs5.js.map +1 -0
- package/dist/_chunks/{message-tray-CVyJajVJ.js → message-tray-DwrBLJlf.js} +90 -48
- package/dist/_chunks/message-tray-DwrBLJlf.js.map +1 -0
- package/dist/_chunks/{multi-select-BcPylvHR.js → multi-select-BdHHDrRN.js} +196 -153
- package/dist/_chunks/multi-select-BdHHDrRN.js.map +1 -0
- package/dist/_chunks/{navigation-menu-C6lBYVv9.js → navigation-menu-DRUi6sSj.js} +75 -42
- package/dist/_chunks/navigation-menu-DRUi6sSj.js.map +1 -0
- package/dist/_chunks/notes-panel-ay8_lPrA.js +158 -0
- package/dist/_chunks/notes-panel-ay8_lPrA.js.map +1 -0
- package/dist/_chunks/{notification-card-BiESdm8q.js → notification-card-D2jiKSJJ.js} +27 -23
- package/dist/_chunks/notification-card-D2jiKSJJ.js.map +1 -0
- package/dist/_chunks/{notification-card.agent-Rqt3ofk9.js → notification-card.agent-DxGBZb8T.js} +5 -1
- package/dist/_chunks/notification-card.agent-DxGBZb8T.js.map +1 -0
- package/dist/_chunks/{notification-tray-DlgenTEe.js → notification-tray-AEun6DN2.js} +112 -97
- package/dist/_chunks/notification-tray-AEun6DN2.js.map +1 -0
- package/dist/_chunks/{number-input-Dj5L3pXK.js → number-input-DxphVG_A.js} +36 -27
- package/dist/_chunks/number-input-DxphVG_A.js.map +1 -0
- package/dist/_chunks/{operator-hero-f_KaRhw5.js → operator-hero-CR0Rqh4-.js} +14 -10
- package/dist/_chunks/operator-hero-CR0Rqh4-.js.map +1 -0
- package/dist/_chunks/{otp-input-xQ4Ps5VY.js → otp-input-DzBQ-CpE.js} +52 -33
- package/dist/_chunks/otp-input-DzBQ-CpE.js.map +1 -0
- package/dist/_chunks/{pagination-DQOgnxxw.js → pagination-D58kglCr.js} +181 -162
- package/dist/_chunks/pagination-D58kglCr.js.map +1 -0
- package/dist/_chunks/patient-details-Dlhqb5ig.js +675 -0
- package/dist/_chunks/patient-details-Dlhqb5ig.js.map +1 -0
- package/dist/_chunks/{patient-search-DR9XUYRQ.js → patient-search-Be6cLrHR.js} +70 -61
- package/dist/_chunks/patient-search-Be6cLrHR.js.map +1 -0
- package/dist/_chunks/{patient-shell-BfgufL_q.js → patient-shell-DV3XEtIB.js} +3 -3
- package/dist/_chunks/{patient-shell-BfgufL_q.js.map → patient-shell-DV3XEtIB.js.map} +1 -1
- package/dist/_chunks/patient-summary-card-WySCMwwA.js +437 -0
- package/dist/_chunks/patient-summary-card-WySCMwwA.js.map +1 -0
- package/dist/_chunks/patient-table-CHxf3Oqk.js +1110 -0
- package/dist/_chunks/patient-table-CHxf3Oqk.js.map +1 -0
- package/dist/_chunks/{payment-form-nXocS_MX.js → payment-form-CxqIXqw7.js} +57 -45
- package/dist/_chunks/payment-form-CxqIXqw7.js.map +1 -0
- package/dist/_chunks/{payment-request-card-CYE5vhZ0.js → payment-request-card-BcZJwu9z.js} +125 -136
- package/dist/_chunks/payment-request-card-BcZJwu9z.js.map +1 -0
- package/dist/_chunks/{pdf-viewer-GsfNqeeT.js → pdf-viewer-QfebdLOd.js} +317 -291
- package/dist/_chunks/pdf-viewer-QfebdLOd.js.map +1 -0
- package/dist/_chunks/{periodontal-chart-card-Dh3KgvYG.js → periodontal-chart-card-hRRJY1NN.js} +3 -3
- package/dist/_chunks/{periodontal-chart-card-Dh3KgvYG.js.map → periodontal-chart-card-hRRJY1NN.js.map} +1 -1
- package/dist/_chunks/{phone-input-DVXhNlIl.js → phone-input-DjU-XmO_.js} +64 -47
- package/dist/_chunks/phone-input-DjU-XmO_.js.map +1 -0
- package/dist/_chunks/{popover-DTbfAuR0.js → popover-B2qCDhJC.js} +37 -32
- package/dist/_chunks/popover-B2qCDhJC.js.map +1 -0
- package/dist/_chunks/{practice-results-DND2SAt7.js → practice-results-C6qDfxos.js} +280 -244
- package/dist/_chunks/practice-results-C6qDfxos.js.map +1 -0
- package/dist/_chunks/{pregnancy-dating-QY-sqpvj.js → pregnancy-dating-CRVWswD-.js} +8 -8
- package/dist/_chunks/{pregnancy-dating-QY-sqpvj.js.map → pregnancy-dating-CRVWswD-.js.map} +1 -1
- package/dist/_chunks/{pregnancy-weight-gain-DOJXXNYP.js → pregnancy-weight-gain-BUNpTsH-.js} +4 -4
- package/dist/_chunks/{pregnancy-weight-gain-DOJXXNYP.js.map → pregnancy-weight-gain-BUNpTsH-.js.map} +1 -1
- package/dist/_chunks/{privacy-lock-C7JyMf0y.js → privacy-lock-BzMLQu-j.js} +32 -28
- package/dist/_chunks/privacy-lock-BzMLQu-j.js.map +1 -0
- package/dist/_chunks/{product-hub-panel-CAXDFeGP.js → product-hub-panel-e6pW220e.js} +45 -27
- package/dist/_chunks/product-hub-panel-e6pW220e.js.map +1 -0
- package/dist/_chunks/{progress-kzIRcdaq.js → progress-DA413-zn.js} +2 -2
- package/dist/_chunks/{progress-kzIRcdaq.js.map → progress-DA413-zn.js.map} +1 -1
- package/dist/_chunks/{public-footer.agent-CfXuW1x6.js → public-footer.agent-D0cFbjWl.js} +151 -146
- package/dist/_chunks/public-footer.agent-D0cFbjWl.js.map +1 -0
- package/dist/_chunks/{public-header.agent-BOhJgZEU.js → public-header.agent-DqkqA-ca.js} +107 -102
- package/dist/_chunks/{public-header.agent-BOhJgZEU.js.map → public-header.agent-DqkqA-ca.js.map} +1 -1
- package/dist/_chunks/{qr-code-DNXhi6se.js → qr-code-CPkEs5mG.js} +52 -46
- package/dist/_chunks/qr-code-CPkEs5mG.js.map +1 -0
- package/dist/_chunks/{radio-group-CLjK-SlK.js → radio-group-BPt7pKZW.js} +5 -5
- package/dist/_chunks/{radio-group-CLjK-SlK.js.map → radio-group-BPt7pKZW.js.map} +1 -1
- package/dist/_chunks/radiograph-panel.agent-CAX-C3g3.js +558 -0
- package/dist/_chunks/radiograph-panel.agent-CAX-C3g3.js.map +1 -0
- package/dist/_chunks/{recaptcha-widget-BCNHsgqt.js → recaptcha-widget-BC-4To9b.js} +9 -2
- package/dist/_chunks/recaptcha-widget-BC-4To9b.js.map +1 -0
- package/dist/_chunks/registry-DvAUVLHh.js +51 -0
- package/dist/_chunks/registry-DvAUVLHh.js.map +1 -0
- package/dist/_chunks/{resizable-3vzqDlg6.js → resizable-DVGcfOrk.js} +193 -173
- package/dist/_chunks/resizable-DVGcfOrk.js.map +1 -0
- package/dist/_chunks/{reviews-panel-DBktKm7i.js → reviews-panel-Dq7LMDcH.js} +87 -68
- package/dist/_chunks/reviews-panel-Dq7LMDcH.js.map +1 -0
- package/dist/_chunks/{rich-text-editor-VawKN1FI.js → rich-text-editor-DlCqPixb.js} +833 -728
- package/dist/_chunks/rich-text-editor-DlCqPixb.js.map +1 -0
- package/dist/_chunks/{search-bar-SY2BcV2N.js → search-bar-C_T3pBJn.js} +105 -78
- package/dist/_chunks/search-bar-C_T3pBJn.js.map +1 -0
- package/dist/_chunks/{search-input-DbxrnHkW.js → search-input-DQvGxR74.js} +2 -2
- package/dist/_chunks/{search-input-DbxrnHkW.js.map → search-input-DQvGxR74.js.map} +1 -1
- package/dist/_chunks/{search-input.agent-CfZvViOd.js → search-input.agent-DRH54coT.js} +19 -4
- package/dist/_chunks/search-input.agent-DRH54coT.js.map +1 -0
- package/dist/_chunks/{select-CEtRcon5.js → select-DMLG44F5.js} +72 -56
- package/dist/_chunks/select-DMLG44F5.js.map +1 -0
- package/dist/_chunks/{session-countdown-LPnhTHjn.js → session-countdown-X1Ki6i0M.js} +3 -3
- package/dist/_chunks/{session-countdown-LPnhTHjn.js.map → session-countdown-X1Ki6i0M.js.map} +1 -1
- package/dist/_chunks/{sheet-taJer-Ha.js → sheet-BxsE7eQm.js} +59 -45
- package/dist/_chunks/sheet-BxsE7eQm.js.map +1 -0
- package/dist/_chunks/{sidebar-DaB4ulxH.js → sidebar-DY9jGjgt.js} +254 -248
- package/dist/_chunks/sidebar-DY9jGjgt.js.map +1 -0
- package/dist/_chunks/{sign-document-CdAiHiCh.js → sign-document-By6hMOra.js} +75 -49
- package/dist/_chunks/sign-document-By6hMOra.js.map +1 -0
- package/dist/_chunks/{signature-capture-COi0Uiqu.js → signature-capture-Ct_4Md4e.js} +138 -104
- package/dist/_chunks/signature-capture-Ct_4Md4e.js.map +1 -0
- package/dist/_chunks/{slider-BHWzXdjt.js → slider-DN1CWkKB.js} +85 -65
- package/dist/_chunks/slider-DN1CWkKB.js.map +1 -0
- package/dist/_chunks/{sparkline-DGhCSw8M.js → sparkline-iOXYgvJe.js} +75 -53
- package/dist/_chunks/sparkline-iOXYgvJe.js.map +1 -0
- 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/{stepper-accordion.agent-C4quJ-MD.js → stepper-accordion.agent-cmEguIdx.js} +7 -1
- package/dist/_chunks/stepper-accordion.agent-cmEguIdx.js.map +1 -0
- package/dist/_chunks/{stepper-progress-DDjq5nei.js → stepper-progress-Bv0njx4g.js} +30 -24
- package/dist/_chunks/stepper-progress-Bv0njx4g.js.map +1 -0
- package/dist/_chunks/{suggestion-chip.agent-6sNWFj7m.js → suggestion-chip.agent-Brn3CiFE.js} +9 -8
- package/dist/_chunks/{suggestion-chip.agent-6sNWFj7m.js.map → suggestion-chip.agent-Brn3CiFE.js.map} +1 -1
- package/dist/_chunks/{switch-BJ6HD3Mn.js → switch-OILsBLWo.js} +25 -19
- package/dist/_chunks/switch-OILsBLWo.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-BIQ0ew1T.js → tabs-BxcOziCo.js} +67 -58
- package/dist/_chunks/tabs-BxcOziCo.js.map +1 -0
- package/dist/_chunks/{task-card.agent-CUPKYd7w.js → task-card.agent-Bt14CzUd.js} +4 -1
- package/dist/_chunks/task-card.agent-Bt14CzUd.js.map +1 -0
- package/dist/_chunks/{task-tray-CAncV-QQ.js → task-tray-qOEQflu4.js} +74 -57
- package/dist/_chunks/task-tray-qOEQflu4.js.map +1 -0
- package/dist/_chunks/{text-area-BIx0tZ05.js → text-area-Bt3p7Pt0.js} +41 -34
- package/dist/_chunks/text-area-Bt3p7Pt0.js.map +1 -0
- package/dist/_chunks/{text-input-BaClJL8Y.js → text-input-B-OWQ1Je.js} +15 -8
- package/dist/_chunks/text-input-B-OWQ1Je.js.map +1 -0
- package/dist/_chunks/{theme-toggle-DETmSu_h.js → theme-toggle-XB6o_lgs.js} +38 -26
- package/dist/_chunks/theme-toggle-XB6o_lgs.js.map +1 -0
- package/dist/_chunks/{time-picker-B5umYwfv.js → time-picker-BPlJWm8w.js} +41 -31
- package/dist/_chunks/time-picker-BPlJWm8w.js.map +1 -0
- package/dist/_chunks/{timeline-DQa5Tyz4.js → timeline-CqA4nKTI.js} +33 -25
- package/dist/_chunks/timeline-CqA4nKTI.js.map +1 -0
- package/dist/_chunks/{toast.agent-vuLRRn2a.js → toast.agent-57UzyR9U.js} +62 -45
- package/dist/_chunks/{toast.agent-vuLRRn2a.js.map → toast.agent-57UzyR9U.js.map} +1 -1
- package/dist/_chunks/tooth-scheme-BhQoPNBD.js +2131 -0
- package/dist/_chunks/tooth-scheme-BhQoPNBD.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-CLHmv83g.js → transcript-panel-3THQX6nJ.js} +47 -33
- package/dist/_chunks/transcript-panel-3THQX6nJ.js.map +1 -0
- package/dist/_chunks/unit-converter-YEpD9evj.js +337 -0
- package/dist/_chunks/unit-converter-YEpD9evj.js.map +1 -0
- 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-overflow-collapse-BIOzKbni.js +32 -0
- package/dist/_chunks/use-overflow-collapse-BIOzKbni.js.map +1 -0
- package/dist/_chunks/{use-password-requirements-DsgduV1x.js → use-password-requirements-BXvS2MBS.js} +131 -117
- package/dist/_chunks/use-password-requirements-BXvS2MBS.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/users-MBVtUzwd.js +17 -0
- package/dist/_chunks/users-MBVtUzwd.js.map +1 -0
- package/dist/_chunks/warning-stack--sTrrBDA.js +268 -0
- package/dist/_chunks/warning-stack--sTrrBDA.js.map +1 -0
- package/dist/_chunks/{whatsapp-button-DUjlWGKf.js → whatsapp-button-BIy6NaJK.js} +6 -3
- package/dist/_chunks/whatsapp-button-BIy6NaJK.js.map +1 -0
- package/dist/_chunks/{workflow-map-JAZryZJr.js → workflow-map-Dy8mLCqF.js} +101 -90
- package/dist/_chunks/workflow-map-Dy8mLCqF.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.d.ts +4 -4
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +37 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/registry.d.ts +33 -0
- package/dist/agent/registry.d.ts.map +1 -1
- package/dist/agent/types.d.ts +97 -4
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent-catalog.json +8081 -518
- package/dist/agent-i18n/en.json +1277 -0
- 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/patient-fields.d.ts +119 -0
- package/dist/components/_shared/patient-fields.d.ts.map +1 -0
- package/dist/components/accordion/accordion.agent.d.ts.map +1 -1
- package/dist/components/accordion/accordion.d.ts.map +1 -1
- package/dist/components/accordion/index.js +1 -1
- package/dist/components/address-autocomplete/address-autocomplete.agent.d.ts +4 -0
- package/dist/components/address-autocomplete/address-autocomplete.agent.d.ts.map +1 -0
- package/dist/components/address-autocomplete/address-autocomplete.d.ts +18 -0
- package/dist/components/address-autocomplete/address-autocomplete.d.ts.map +1 -1
- package/dist/components/address-autocomplete/index.d.ts +2 -1
- package/dist/components/address-autocomplete/index.d.ts.map +1 -1
- package/dist/components/address-autocomplete/index.js +3 -2
- package/dist/components/agenda-card/agenda-card.agent.d.ts.map +1 -1
- package/dist/components/agenda-card/index.js +2 -2
- package/dist/components/agenda-tray/agenda-tray.agent.d.ts.map +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/ai-prompt-input.agent.d.ts.map +1 -1
- package/dist/components/ai-prompt-input/index.js +1 -1
- package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts.map +1 -1
- package/dist/components/ai-tools-rail/ai-tools-rail.d.ts +75 -0
- package/dist/components/ai-tools-rail/ai-tools-rail.d.ts.map +1 -1
- package/dist/components/ai-tools-rail/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/appointment-card/appointment-card.agent.d.ts.map +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/appointment-tray.agent.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/audio-recorder.agent.d.ts.map +1 -1
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/autocomplete/autocomplete.agent.d.ts.map +1 -1
- 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/bishop-score.agent.d.ts +4 -0
- package/dist/components/bishop-score/bishop-score.agent.d.ts.map +1 -0
- package/dist/components/bishop-score/bishop-score.d.ts +17 -1
- package/dist/components/bishop-score/bishop-score.d.ts.map +1 -1
- package/dist/components/bishop-score/index.js +1 -1
- package/dist/components/bmi-calculator/bmi-calculator.agent.d.ts +4 -0
- package/dist/components/bmi-calculator/bmi-calculator.agent.d.ts.map +1 -0
- package/dist/components/bmi-calculator/bmi-calculator.d.ts +26 -0
- package/dist/components/bmi-calculator/bmi-calculator.d.ts.map +1 -1
- package/dist/components/bmi-calculator/index.js +1 -1
- package/dist/components/booking/booking.agent.d.ts.map +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/breadcrumb/breadcrumb.agent.d.ts.map +1 -1
- package/dist/components/breadcrumb/index.js +1 -1
- package/dist/components/calculator-dialog/index.js +1 -1
- package/dist/components/calendar/calendar.agent.d.ts.map +1 -1
- package/dist/components/calendar/index.js +1 -1
- package/dist/components/care-plan-card/care-plan-card.agent.d.ts.map +1 -1
- package/dist/components/care-plan-card/index.js +1 -1
- package/dist/components/care-plan-entry-card/care-plan-entry-card.agent.d.ts.map +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 +100 -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/carousel/carousel.agent.d.ts.map +1 -1
- package/dist/components/carousel/index.js +1 -1
- package/dist/components/chart/chart.agent.d.ts.map +1 -1
- package/dist/components/chart/index.js +1 -1
- package/dist/components/chat-container/chat-container.agent.d.ts.map +1 -1
- package/dist/components/chat-container/index.js +1 -1
- package/dist/components/chat-input/chat-input.agent.d.ts.map +1 -1
- package/dist/components/chat-input/index.js +1 -1
- package/dist/components/checkbox/checkbox.agent.d.ts.map +1 -1
- package/dist/components/checkbox/index.js +1 -1
- package/dist/components/checkbox-group/index.js +1 -1
- 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/collapsible/collapsible.agent.d.ts.map +1 -1
- package/dist/components/collapsible/index.js +1 -1
- package/dist/components/color-picker/color-picker.agent.d.ts.map +1 -1
- package/dist/components/color-picker/index.js +1 -1
- package/dist/components/combobox/combobox.agent.d.ts.map +1 -1
- package/dist/components/combobox/combobox.d.ts.map +1 -1
- package/dist/components/combobox/index.js +1 -1
- package/dist/components/command-palette/command-palette.agent.d.ts.map +1 -1
- package/dist/components/command-palette/command-palette.d.ts.map +1 -1
- package/dist/components/command-palette/index.js +1 -1
- package/dist/components/contact-profile-card/contact-profile-card.agent.d.ts.map +1 -1
- 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.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 +5 -0
- package/dist/components/control-room-rail/index.d.ts.map +1 -0
- package/dist/components/control-room-rail/index.js +9 -0
- package/dist/components/control-room-rail/index.js.map +1 -0
- package/dist/components/copy-field/copy-field.agent.d.ts.map +1 -1
- package/dist/components/copy-field/index.js +1 -1
- package/dist/components/counter/counter.d.ts +22 -0
- package/dist/components/counter/counter.d.ts.map +1 -0
- package/dist/components/counter/index.d.ts +3 -0
- package/dist/components/counter/index.d.ts.map +1 -0
- package/dist/components/counter/index.js +5 -0
- package/dist/components/counter/index.js.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/data-table.agent.d.ts.map +1 -1
- package/dist/components/data-table/index.d.ts +1 -1
- package/dist/components/data-table/index.d.ts.map +1 -1
- package/dist/components/data-table/index.js +32 -30
- package/dist/components/data-table/index.js.map +1 -1
- package/dist/components/data-table/toolbar.d.ts.map +1 -1
- package/dist/components/date-picker/date-picker.agent.d.ts.map +1 -1
- package/dist/components/date-picker/index.js +1 -1
- package/dist/components/date-range-picker/date-range-picker.agent.d.ts.map +1 -1
- package/dist/components/date-range-picker/index.js +1 -1
- package/dist/components/date-time-picker/date-time-picker.agent.d.ts.map +1 -1
- package/dist/components/date-time-picker/index.js +1 -1
- package/dist/components/dependent-selector/dependent-selector.agent.d.ts.map +1 -1
- package/dist/components/dependent-selector/index.js +1 -1
- package/dist/components/dialog/dialog.agent.d.ts.map +1 -1
- package/dist/components/dialog/index.js +1 -1
- package/dist/components/document-scanner/document-scanner.agent.d.ts.map +1 -1
- package/dist/components/document-scanner/index.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts.map +1 -1
- package/dist/components/dropdown-menu/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.d.ts +43 -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/file-upload/file-upload.agent.d.ts.map +1 -1
- package/dist/components/file-upload/index.js +1 -1
- package/dist/components/fiscal-code-input/fiscal-code-input.agent.d.ts.map +1 -1
- package/dist/components/fiscal-code-input/index.js +1 -1
- package/dist/components/freemium-paywall/freemium-paywall.agent.d.ts.map +1 -1
- package/dist/components/freemium-paywall/freemium-paywall.d.ts +6 -0
- package/dist/components/freemium-paywall/freemium-paywall.d.ts.map +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/header-settings/header-settings.agent.d.ts.map +1 -1
- package/dist/components/header-settings/index.js +1 -1
- package/dist/components/index.d.ts +11 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/list/index.js +1 -1
- package/dist/components/list/list.agent.d.ts.map +1 -1
- package/dist/components/locale-picker/index.js +1 -1
- package/dist/components/locale-picker/locale-picker.agent.d.ts.map +1 -1
- package/dist/components/map-view/index.js +1 -1
- package/dist/components/map-view/map-view.agent.d.ts.map +1 -1
- package/dist/components/message-card/index.js +1 -1
- package/dist/components/message-card/message-card.agent.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/multi-select/index.js +1 -1
- package/dist/components/multi-select/multi-select.agent.d.ts.map +1 -1
- package/dist/components/multi-select/multi-select.d.ts.map +1 -1
- package/dist/components/navigation-menu/index.js +1 -1
- package/dist/components/navigation-menu/navigation-menu.agent.d.ts.map +1 -1
- 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.d.ts +64 -0
- package/dist/components/notes-panel/notes-panel.d.ts.map +1 -0
- package/dist/components/notification-card/index.js +2 -2
- package/dist/components/notification-card/notification-card.agent.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/components/number-input/index.js +1 -1
- package/dist/components/number-input/number-input.agent.d.ts.map +1 -1
- package/dist/components/operator-hero/index.js +1 -1
- package/dist/components/operator-hero/operator-hero.agent.d.ts.map +1 -1
- package/dist/components/otp-input/index.js +1 -1
- package/dist/components/otp-input/otp-input.agent.d.ts.map +1 -1
- package/dist/components/pagination/index.js +1 -1
- package/dist/components/pagination/pagination.agent.d.ts.map +1 -1
- package/dist/components/password-input/index.js +1 -1
- package/dist/components/password-input/password-input.agent.d.ts.map +1 -1
- 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-search/patient-search.agent.d.ts.map +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/cell-renderers/balance-badge-cell.d.ts +13 -0
- package/dist/components/patient-table/cell-renderers/balance-badge-cell.d.ts.map +1 -0
- package/dist/components/patient-table/cell-renderers/care-plan-status-cell.d.ts +43 -0
- package/dist/components/patient-table/cell-renderers/care-plan-status-cell.d.ts.map +1 -0
- package/dist/components/patient-table/cell-renderers/next-appointment-cell.d.ts +24 -0
- package/dist/components/patient-table/cell-renderers/next-appointment-cell.d.ts.map +1 -0
- package/dist/components/patient-table/columns.d.ts +131 -0
- package/dist/components/patient-table/columns.d.ts.map +1 -0
- package/dist/components/patient-table/index.d.ts +20 -0
- package/dist/components/patient-table/index.d.ts.map +1 -0
- package/dist/components/patient-table/index.js +12 -0
- package/dist/components/patient-table/index.js.map +1 -0
- package/dist/components/patient-table/patient-table.d.ts +172 -0
- package/dist/components/patient-table/patient-table.d.ts.map +1 -0
- package/dist/components/patient-table/types.d.ts +222 -0
- package/dist/components/patient-table/types.d.ts.map +1 -0
- package/dist/components/patient-table/use-responsive-columns.d.ts +111 -0
- package/dist/components/patient-table/use-responsive-columns.d.ts.map +1 -0
- package/dist/components/payment-card/index.js +1 -1
- package/dist/components/payment-form/index.js +1 -1
- package/dist/components/payment-form/payment-form.agent.d.ts.map +1 -1
- package/dist/components/pdf-viewer/index.js +1 -1
- package/dist/components/pdf-viewer/pdf-viewer.agent.d.ts.map +1 -1
- package/dist/components/periodontal-chart-card/index.js +1 -1
- package/dist/components/phone-input/index.js +1 -1
- package/dist/components/phone-input/phone-input.agent.d.ts.map +1 -1
- package/dist/components/popover/index.js +1 -1
- package/dist/components/popover/popover.agent.d.ts.map +1 -1
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/practice-results/practice-results.agent.d.ts.map +1 -1
- package/dist/components/pregnancy-dating/index.js +1 -1
- package/dist/components/pregnancy-weight-gain/index.js +1 -1
- package/dist/components/privacy-lock/index.js +1 -1
- package/dist/components/privacy-lock/privacy-lock.agent.d.ts.map +1 -1
- package/dist/components/product-hub-tray/index.js +1 -1
- package/dist/components/product-hub-tray/product-hub-panel.agent.d.ts.map +1 -1
- package/dist/components/product-hub-tray/product-hub-tray.agent.d.ts.map +1 -1
- package/dist/components/progress/index.js +1 -1
- package/dist/components/public-footer/index.js +1 -1
- package/dist/components/public-footer/public-footer.agent.d.ts.map +1 -1
- package/dist/components/public-footer/public-footer.d.ts.map +1 -1
- package/dist/components/public-header/index.js +1 -1
- package/dist/components/public-header/public-header.agent.d.ts.map +1 -1
- package/dist/components/qr-code/index.js +1 -1
- package/dist/components/qr-code/qr-code.agent.d.ts.map +1 -1
- package/dist/components/radio-group/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/recaptcha-widget/index.js +1 -1
- package/dist/components/recaptcha-widget/recaptcha-widget.agent.d.ts.map +1 -1
- package/dist/components/resizable/index.js +1 -1
- package/dist/components/resizable/resizable.agent.d.ts.map +1 -1
- package/dist/components/resizable/resizable.d.ts.map +1 -1
- package/dist/components/reviews-panel/index.js +1 -1
- package/dist/components/reviews-panel/reviews-panel.agent.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/search-bar/index.js +1 -1
- package/dist/components/search-bar/search-bar.agent.d.ts.map +1 -1
- package/dist/components/search-input/index.js +2 -2
- package/dist/components/search-input/search-input.agent.d.ts.map +1 -1
- package/dist/components/select/index.js +1 -1
- package/dist/components/select/select.agent.d.ts.map +1 -1
- package/dist/components/session-countdown/index.js +1 -1
- package/dist/components/sheet/index.js +1 -1
- package/dist/components/sheet/sheet.agent.d.ts.map +1 -1
- package/dist/components/sidebar/index.js +2 -2
- package/dist/components/sidebar/sidebar.agent.d.ts.map +1 -1
- package/dist/components/sidebar/sidebar.d.ts +7 -0
- package/dist/components/sidebar/sidebar.d.ts.map +1 -1
- package/dist/components/sign-document/index.js +1 -1
- package/dist/components/sign-document/sign-document.agent.d.ts.map +1 -1
- package/dist/components/signature-capture/index.js +1 -1
- package/dist/components/signature-capture/signature-capture.agent.d.ts.map +1 -1
- package/dist/components/slider/index.js +1 -1
- package/dist/components/slider/slider.agent.d.ts.map +1 -1
- package/dist/components/sparkline/index.js +1 -1
- package/dist/components/sparkline/sparkline.agent.d.ts.map +1 -1
- package/dist/components/stepper-accordion/index.js +2 -2
- package/dist/components/stepper-accordion/stepper-accordion.agent.d.ts.map +1 -1
- package/dist/components/stepper-progress/index.js +1 -1
- package/dist/components/stepper-progress/stepper-progress.agent.d.ts.map +1 -1
- package/dist/components/suggestion-chip/index.js +1 -1
- package/dist/components/suggestion-chip/suggestion-chip.agent.d.ts.map +1 -1
- package/dist/components/switch/index.js +1 -1
- package/dist/components/switch/switch.agent.d.ts.map +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/tabs/tabs.agent.d.ts.map +1 -1
- package/dist/components/tabs/tabs.d.ts.map +1 -1
- package/dist/components/task-card/index.js +1 -1
- package/dist/components/task-card/task-card.agent.d.ts.map +1 -1
- package/dist/components/task-tray/index.js +1 -1
- package/dist/components/task-tray/task-tray.agent.d.ts.map +1 -1
- package/dist/components/text-area/index.js +1 -1
- package/dist/components/text-area/text-area.agent.d.ts.map +1 -1
- package/dist/components/text-input/index.js +1 -1
- package/dist/components/text-input/text-input.agent.d.ts.map +1 -1
- package/dist/components/theme-toggle/index.js +1 -1
- package/dist/components/theme-toggle/theme-toggle.agent.d.ts.map +1 -1
- package/dist/components/time-picker/index.js +1 -1
- package/dist/components/time-picker/time-picker.agent.d.ts.map +1 -1
- package/dist/components/timeline/index.js +1 -1
- package/dist/components/timeline/timeline.agent.d.ts.map +1 -1
- package/dist/components/toast/index.js +1 -1
- package/dist/components/toast/toast.agent.d.ts.map +1 -1
- package/dist/components/toast/toast.d.ts.map +1 -1
- 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 +75 -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.agent.d.ts.map +1 -1
- package/dist/components/unit-converter/index.js +1 -1
- package/dist/components/unit-converter/unit-converter.agent.d.ts +4 -0
- package/dist/components/unit-converter/unit-converter.agent.d.ts.map +1 -0
- package/dist/components/unit-converter/unit-converter.d.ts +27 -0
- package/dist/components/unit-converter/unit-converter.d.ts.map +1 -1
- package/dist/components/warning-stack/index.js +1 -1
- package/dist/components/warning-stack/warning-stack.d.ts +14 -2
- package/dist/components/warning-stack/warning-stack.d.ts.map +1 -1
- package/dist/components/whatsapp-button/index.d.ts +1 -1
- package/dist/components/whatsapp-button/index.d.ts.map +1 -1
- package/dist/components/whatsapp-button/index.js +3 -2
- package/dist/components/whatsapp-button/whatsapp-button.d.ts +3 -0
- package/dist/components/whatsapp-button/whatsapp-button.d.ts.map +1 -1
- package/dist/components/workflow/index.js +1 -1
- package/dist/components/workflow/workflow.agent.d.ts.map +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-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 +356 -0
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/ar.js +370 -3
- package/dist/i18n/locales/ar.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +356 -0
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +370 -3
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/el.d.ts +356 -0
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/el.js +370 -3
- package/dist/i18n/locales/el.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +367 -0
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +381 -3
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +356 -0
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +370 -3
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +356 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +370 -3
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hi.d.ts +356 -0
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/hi.js +370 -3
- package/dist/i18n/locales/hi.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +356 -0
- package/dist/i18n/locales/it.d.ts.map +1 -1
- package/dist/i18n/locales/it.js +370 -3
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts +356 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +370 -3
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/nl.d.ts +356 -0
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/nl.js +370 -3
- package/dist/i18n/locales/nl.js.map +1 -1
- package/dist/i18n/locales/pl.d.ts +356 -0
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.js +370 -3
- package/dist/i18n/locales/pl.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts +356 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +370 -3
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ro.d.ts +356 -0
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ro.js +370 -3
- package/dist/i18n/locales/ro.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts +356 -0
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +370 -3
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/sq.d.ts +356 -0
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sq.js +370 -3
- package/dist/i18n/locales/sq.js.map +1 -1
- package/dist/i18n/locales/sv.d.ts +356 -0
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/sv.js +370 -3
- package/dist/i18n/locales/sv.js.map +1 -1
- package/dist/i18n/locales/tr.d.ts +356 -0
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/tr.js +370 -3
- package/dist/i18n/locales/tr.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +356 -0
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/locales/zh.js +370 -3
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/index.js +740 -676
- package/dist/index.js.map +1 -1
- package/dist/locales/ar.json +359 -3
- package/dist/locales/de.json +359 -3
- package/dist/locales/el.json +359 -3
- package/dist/locales/en.json +359 -3
- package/dist/locales/es.json +359 -3
- package/dist/locales/fr.json +359 -3
- package/dist/locales/hi.json +359 -3
- package/dist/locales/it.json +359 -3
- package/dist/locales/ja.json +359 -3
- package/dist/locales/nl.json +359 -3
- package/dist/locales/pl.json +359 -3
- package/dist/locales/pt.json +359 -3
- package/dist/locales/ro.json +359 -3
- package/dist/locales/ru.json +359 -3
- package/dist/locales/sq.json +359 -3
- package/dist/locales/sv.json +359 -3
- package/dist/locales/tr.json +359 -3
- package/dist/locales/zh.json +359 -3
- 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 +3 -2
- package/package.json +50 -1
- package/dist/_chunks/accordion-9lJSMMsZ.js.map +0 -1
- package/dist/_chunks/address-autocomplete-CT-9AOli.js +0 -358
- package/dist/_chunks/address-autocomplete-CT-9AOli.js.map +0 -1
- package/dist/_chunks/agenda-tray-T-BumlGZ.js.map +0 -1
- package/dist/_chunks/ai-prompt-input-BwEACCPm.js.map +0 -1
- package/dist/_chunks/ai-tools-rail-CInA_1-E.js +0 -356
- package/dist/_chunks/ai-tools-rail-CInA_1-E.js.map +0 -1
- package/dist/_chunks/alert-_mUKLmwA.js.map +0 -1
- package/dist/_chunks/appointment-tray-BMl89NPW.js +0 -419
- package/dist/_chunks/appointment-tray-BMl89NPW.js.map +0 -1
- package/dist/_chunks/audio-recorder-DjXLP4aF.js.map +0 -1
- package/dist/_chunks/autocomplete-CcCFlVf-.js.map +0 -1
- package/dist/_chunks/badge-CqGsX32l.js.map +0 -1
- package/dist/_chunks/bishop-score-CjsB9bM-.js +0 -185
- package/dist/_chunks/bishop-score-CjsB9bM-.js.map +0 -1
- package/dist/_chunks/bmi-calculator-n-823_1V.js +0 -258
- package/dist/_chunks/bmi-calculator-n-823_1V.js.map +0 -1
- package/dist/_chunks/booking-L8-YP8BJ.js.map +0 -1
- package/dist/_chunks/breadcrumb-OTbaY70e.js.map +0 -1
- package/dist/_chunks/calendar-oYWOCrnf.js.map +0 -1
- package/dist/_chunks/care-plan-card-BwVUyUBb.js.map +0 -1
- package/dist/_chunks/care-plan-entry-card-VzdQHcOL.js.map +0 -1
- package/dist/_chunks/chart-Cg3e9EH9.js.map +0 -1
- package/dist/_chunks/chat-container-ogB4OskO.js.map +0 -1
- package/dist/_chunks/chat-input-B5zjNEUN.js.map +0 -1
- package/dist/_chunks/checkbox-DRcOdmXv.js.map +0 -1
- package/dist/_chunks/clinical-note-card-gtrxv6zn.js +0 -333
- package/dist/_chunks/clinical-note-card-gtrxv6zn.js.map +0 -1
- package/dist/_chunks/collapsible-X3oaLPU3.js.map +0 -1
- package/dist/_chunks/color-picker-FXpItIaF.js.map +0 -1
- package/dist/_chunks/combobox-BC-DFx8G.js.map +0 -1
- package/dist/_chunks/command-palette-BiPAAno-.js.map +0 -1
- package/dist/_chunks/contact-profile-card-7BMB85T6.js.map +0 -1
- package/dist/_chunks/copy-field-CCq7j6Zc.js.map +0 -1
- package/dist/_chunks/date-range-picker-C5BWfH_T.js.map +0 -1
- package/dist/_chunks/date-time-picker-Ze1My59T.js.map +0 -1
- package/dist/_chunks/dependent-selector-DpzGtr_J.js.map +0 -1
- package/dist/_chunks/dialog-DMGnSelc.js.map +0 -1
- package/dist/_chunks/document-scanner-D2qehl3-.js.map +0 -1
- package/dist/_chunks/dropdown-menu-DwwPovMZ.js.map +0 -1
- package/dist/_chunks/editable-currency-cell-renderer-DHOspPee.js +0 -2409
- package/dist/_chunks/editable-currency-cell-renderer-DHOspPee.js.map +0 -1
- package/dist/_chunks/email-input-lQivsFrw.js +0 -396
- package/dist/_chunks/file-upload-BosbPDb1.js.map +0 -1
- package/dist/_chunks/fiscal-code-input-DPtqluVb.js.map +0 -1
- package/dist/_chunks/freemium-paywall-CkWjv3o6.js.map +0 -1
- package/dist/_chunks/header-settings-CNOqIhoW.js.map +0 -1
- package/dist/_chunks/list-BOwqwy03.js.map +0 -1
- package/dist/_chunks/locale-picker-C9JmBht3.js.map +0 -1
- package/dist/_chunks/map-view-Tb5VfK9Y.js.map +0 -1
- package/dist/_chunks/message-card.agent-4IeIgrnJ.js.map +0 -1
- package/dist/_chunks/message-tray-CVyJajVJ.js.map +0 -1
- package/dist/_chunks/multi-select-BcPylvHR.js.map +0 -1
- package/dist/_chunks/navigation-menu-C6lBYVv9.js.map +0 -1
- package/dist/_chunks/notification-card-BiESdm8q.js.map +0 -1
- package/dist/_chunks/notification-card.agent-Rqt3ofk9.js.map +0 -1
- package/dist/_chunks/notification-tray-DlgenTEe.js.map +0 -1
- package/dist/_chunks/number-input-Dj5L3pXK.js.map +0 -1
- package/dist/_chunks/operator-hero-f_KaRhw5.js.map +0 -1
- package/dist/_chunks/otp-input-xQ4Ps5VY.js.map +0 -1
- package/dist/_chunks/pagination-DQOgnxxw.js.map +0 -1
- package/dist/_chunks/patient-search-DR9XUYRQ.js.map +0 -1
- package/dist/_chunks/patient-summary-card-hEmr4eTW.js +0 -443
- package/dist/_chunks/patient-summary-card-hEmr4eTW.js.map +0 -1
- package/dist/_chunks/payment-form-nXocS_MX.js.map +0 -1
- package/dist/_chunks/payment-request-card-CYE5vhZ0.js.map +0 -1
- package/dist/_chunks/pdf-viewer-GsfNqeeT.js.map +0 -1
- package/dist/_chunks/phone-input-DVXhNlIl.js.map +0 -1
- package/dist/_chunks/popover-DTbfAuR0.js.map +0 -1
- package/dist/_chunks/practice-results-DND2SAt7.js.map +0 -1
- package/dist/_chunks/privacy-lock-C7JyMf0y.js.map +0 -1
- package/dist/_chunks/product-hub-panel-CAXDFeGP.js.map +0 -1
- package/dist/_chunks/public-footer.agent-CfXuW1x6.js.map +0 -1
- package/dist/_chunks/qr-code-DNXhi6se.js.map +0 -1
- package/dist/_chunks/recaptcha-widget-BCNHsgqt.js.map +0 -1
- package/dist/_chunks/registry-nPAVE19X.js +0 -21
- package/dist/_chunks/registry-nPAVE19X.js.map +0 -1
- package/dist/_chunks/resizable-3vzqDlg6.js.map +0 -1
- package/dist/_chunks/reviews-panel-DBktKm7i.js.map +0 -1
- package/dist/_chunks/rich-text-editor-VawKN1FI.js.map +0 -1
- package/dist/_chunks/search-bar-SY2BcV2N.js.map +0 -1
- package/dist/_chunks/search-input.agent-CfZvViOd.js.map +0 -1
- package/dist/_chunks/select-CEtRcon5.js.map +0 -1
- package/dist/_chunks/sheet-taJer-Ha.js.map +0 -1
- package/dist/_chunks/sidebar-DaB4ulxH.js.map +0 -1
- package/dist/_chunks/sign-document-CdAiHiCh.js.map +0 -1
- package/dist/_chunks/signature-capture-COi0Uiqu.js.map +0 -1
- package/dist/_chunks/slider-BHWzXdjt.js.map +0 -1
- package/dist/_chunks/sparkline-DGhCSw8M.js.map +0 -1
- package/dist/_chunks/stepper-accordion-Dki6r9ZE.js.map +0 -1
- package/dist/_chunks/stepper-accordion.agent-C4quJ-MD.js.map +0 -1
- package/dist/_chunks/stepper-progress-DDjq5nei.js.map +0 -1
- package/dist/_chunks/switch-BJ6HD3Mn.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/tabs-BIQ0ew1T.js.map +0 -1
- package/dist/_chunks/task-card.agent-CUPKYd7w.js.map +0 -1
- package/dist/_chunks/task-tray-CAncV-QQ.js.map +0 -1
- package/dist/_chunks/text-area-BIx0tZ05.js.map +0 -1
- package/dist/_chunks/text-input-BaClJL8Y.js.map +0 -1
- package/dist/_chunks/theme-toggle-DETmSu_h.js.map +0 -1
- package/dist/_chunks/time-picker-B5umYwfv.js.map +0 -1
- package/dist/_chunks/timeline-DQa5Tyz4.js.map +0 -1
- package/dist/_chunks/tooth-scheme-BIx1O2aJ.js +0 -1257
- package/dist/_chunks/tooth-scheme-BIx1O2aJ.js.map +0 -1
- package/dist/_chunks/transaction-chip-DK84XCBU.js.map +0 -1
- package/dist/_chunks/transcript-panel-CLHmv83g.js.map +0 -1
- package/dist/_chunks/unit-converter-C1V3ACM9.js +0 -196
- package/dist/_chunks/unit-converter-C1V3ACM9.js.map +0 -1
- package/dist/_chunks/use-password-requirements-DsgduV1x.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-Cv4fr5zo.js +0 -220
- package/dist/_chunks/warning-stack-Cv4fr5zo.js.map +0 -1
- package/dist/_chunks/whatsapp-button-DUjlWGKf.js.map +0 -1
- package/dist/_chunks/workflow-map-JAZryZJr.js.map +0 -1
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { jsx as C, jsxs as Q, Fragment as U } from "react/jsx-runtime";
|
|
2
|
+
import { useState as H, useCallback as R, useMemo as x, useRef as L, useContext as F, useId as W, useEffect as X, createContext as Y, forwardRef as Z } from "react";
|
|
3
|
+
import { useTranslation as I } from "react-i18next";
|
|
4
|
+
import { B as oo } from "./button-DD_0Xdmr.js";
|
|
5
|
+
import { A as to } from "./ai-tools-rail-B5NEghsp.js";
|
|
6
|
+
import { u as eo } from "./use-persistent-state-nZwZAnE9.js";
|
|
7
|
+
import { S as no } from "./star-vav0SJ9e.js";
|
|
8
|
+
const w = Y(null);
|
|
9
|
+
function Ro({
|
|
10
|
+
globalTools: e = [],
|
|
11
|
+
children: r
|
|
12
|
+
}) {
|
|
13
|
+
const [c, l] = H(
|
|
14
|
+
() => /* @__PURE__ */ new Map()
|
|
15
|
+
), f = R(
|
|
16
|
+
(s, a) => {
|
|
17
|
+
l((g) => {
|
|
18
|
+
const y = new Map(g);
|
|
19
|
+
return y.set(s, a), y;
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
[]
|
|
23
|
+
), M = R((s) => {
|
|
24
|
+
l((a) => {
|
|
25
|
+
if (!a.has(s)) return a;
|
|
26
|
+
const g = new Map(a);
|
|
27
|
+
return g.delete(s), g;
|
|
28
|
+
});
|
|
29
|
+
}, []), v = x(
|
|
30
|
+
() => Array.from(c.values()).flat(),
|
|
31
|
+
[c]
|
|
32
|
+
), b = L(null), P = R((s) => {
|
|
33
|
+
b.current = s;
|
|
34
|
+
}, []), m = R((s) => {
|
|
35
|
+
var a;
|
|
36
|
+
(a = b.current) == null || a.setActiveTool(s);
|
|
37
|
+
}, []), u = R(() => {
|
|
38
|
+
var s;
|
|
39
|
+
(s = b.current) == null || s.setActiveTool(null);
|
|
40
|
+
}, []), j = x(
|
|
41
|
+
() => ({
|
|
42
|
+
globalTools: e,
|
|
43
|
+
contextualTools: v,
|
|
44
|
+
registerContextualTools: f,
|
|
45
|
+
unregisterContextualTools: M,
|
|
46
|
+
registerRail: P,
|
|
47
|
+
openTool: m,
|
|
48
|
+
closeTool: u
|
|
49
|
+
}),
|
|
50
|
+
[
|
|
51
|
+
e,
|
|
52
|
+
v,
|
|
53
|
+
f,
|
|
54
|
+
M,
|
|
55
|
+
P,
|
|
56
|
+
m,
|
|
57
|
+
u
|
|
58
|
+
]
|
|
59
|
+
);
|
|
60
|
+
return /* @__PURE__ */ C(w.Provider, { value: j, children: r });
|
|
61
|
+
}
|
|
62
|
+
function vo(e) {
|
|
63
|
+
const r = F(w), c = r == null ? void 0 : r.registerContextualTools, l = r == null ? void 0 : r.unregisterContextualTools, f = W();
|
|
64
|
+
X(() => {
|
|
65
|
+
if (!(!c || !l))
|
|
66
|
+
return c(f, e), () => l(f);
|
|
67
|
+
}, [c, l, f, e]);
|
|
68
|
+
}
|
|
69
|
+
function so() {
|
|
70
|
+
const e = F(w);
|
|
71
|
+
return x(() => {
|
|
72
|
+
if (!e) return [];
|
|
73
|
+
const r = e.contextualTools.map((l) => ({
|
|
74
|
+
...l,
|
|
75
|
+
scope: "contextual"
|
|
76
|
+
})), c = e.globalTools.map((l) => ({
|
|
77
|
+
...l,
|
|
78
|
+
scope: "global"
|
|
79
|
+
}));
|
|
80
|
+
return [...r, ...c];
|
|
81
|
+
}, [e]);
|
|
82
|
+
}
|
|
83
|
+
function go() {
|
|
84
|
+
const e = F(w), r = R(() => {
|
|
85
|
+
}, []);
|
|
86
|
+
return {
|
|
87
|
+
openTool: (e == null ? void 0 : e.openTool) ?? r,
|
|
88
|
+
closeTool: (e == null ? void 0 : e.closeTool) ?? r
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function ro() {
|
|
92
|
+
const e = F(w), r = R((c) => {
|
|
93
|
+
}, []);
|
|
94
|
+
return (e == null ? void 0 : e.registerRail) ?? r;
|
|
95
|
+
}
|
|
96
|
+
const To = Z(function({
|
|
97
|
+
tools: r,
|
|
98
|
+
railLabel: c,
|
|
99
|
+
reorderable: l = !0,
|
|
100
|
+
favoriteIds: f,
|
|
101
|
+
defaultFavoriteIds: M,
|
|
102
|
+
onFavoriteIdsChange: v,
|
|
103
|
+
persistFavoritesKey: b = "ui.controlRoom.favorites",
|
|
104
|
+
...P
|
|
105
|
+
}, m) {
|
|
106
|
+
const { t: u } = I(), j = so(), s = r ?? j, a = f !== void 0, [g, y] = eo(
|
|
107
|
+
b,
|
|
108
|
+
() => M ?? s.filter((o) => o.scope === "global").map((o) => o.id),
|
|
109
|
+
{ disabled: a }
|
|
110
|
+
), h = a ? f : g, d = x(() => {
|
|
111
|
+
const o = /* @__PURE__ */ new Map();
|
|
112
|
+
for (const n of s) o.set(n.id, n);
|
|
113
|
+
return o;
|
|
114
|
+
}, [s]), A = x(
|
|
115
|
+
() => new Set(h.filter((o) => d.has(o))),
|
|
116
|
+
[h, d]
|
|
117
|
+
), N = (o) => {
|
|
118
|
+
const n = o(h.filter((t) => d.has(t)));
|
|
119
|
+
a || y((t) => o(t.filter((i) => d.has(i)))), v == null || v(n);
|
|
120
|
+
}, z = x(() => {
|
|
121
|
+
if (!l) return s;
|
|
122
|
+
const o = h.filter((t) => d.has(t)).map((t) => ({
|
|
123
|
+
...d.get(t),
|
|
124
|
+
scope: "global",
|
|
125
|
+
reorderable: !0
|
|
126
|
+
})), n = s.filter((t) => !A.has(t.id)).map((t) => ({
|
|
127
|
+
...t,
|
|
128
|
+
scope: "contextual",
|
|
129
|
+
reorderable: !0
|
|
130
|
+
}));
|
|
131
|
+
return [...o, ...n];
|
|
132
|
+
}, [l, s, h, d, A]), [E, _] = H(""), k = L(!1), $ = (o, n) => {
|
|
133
|
+
const t = n ? u("controlRoom.pinnedAnnounce", {
|
|
134
|
+
tool: o,
|
|
135
|
+
defaultValue: "Pinned {{tool}} to favourites"
|
|
136
|
+
}) : u("controlRoom.unpinnedAnnounce", {
|
|
137
|
+
tool: o,
|
|
138
|
+
defaultValue: "Removed {{tool}} from favourites"
|
|
139
|
+
});
|
|
140
|
+
k.current = !k.current, _(k.current ? t : `${t}`);
|
|
141
|
+
}, q = (o) => {
|
|
142
|
+
var n;
|
|
143
|
+
$(((n = d.get(o)) == null ? void 0 : n.label) ?? o, !A.has(o)), N(
|
|
144
|
+
(t) => t.includes(o) ? t.filter((i) => i !== o) : [...t, o]
|
|
145
|
+
);
|
|
146
|
+
}, D = (o, n) => {
|
|
147
|
+
var i;
|
|
148
|
+
const t = (i = z[o]) == null ? void 0 : i.id;
|
|
149
|
+
t !== void 0 && N((T) => {
|
|
150
|
+
const S = T.filter((p) => d.has(p)), V = S.length;
|
|
151
|
+
if (o < V) {
|
|
152
|
+
if (n >= V) return S.filter((O) => O !== t);
|
|
153
|
+
const p = S.slice();
|
|
154
|
+
return p.splice(o, 1), p.splice(n, 0, t), p;
|
|
155
|
+
}
|
|
156
|
+
if (n <= V) {
|
|
157
|
+
const p = S.slice();
|
|
158
|
+
return p.splice(Math.min(n, V), 0, t), p;
|
|
159
|
+
}
|
|
160
|
+
return T;
|
|
161
|
+
});
|
|
162
|
+
}, G = ({
|
|
163
|
+
tool: o,
|
|
164
|
+
from: n,
|
|
165
|
+
to: t
|
|
166
|
+
}) => {
|
|
167
|
+
const i = A.size, T = n < i;
|
|
168
|
+
return T && t >= i ? u("controlRoom.unpinnedAnnounce", {
|
|
169
|
+
tool: o.label,
|
|
170
|
+
defaultValue: "Removed {{tool}} from favourites"
|
|
171
|
+
}) : !T && t <= i ? u("controlRoom.pinnedAnnounce", {
|
|
172
|
+
tool: o.label,
|
|
173
|
+
defaultValue: "Pinned {{tool}} to favourites"
|
|
174
|
+
}) : T && t < i ? u("aiToolsRail.reorderAnnounce", {
|
|
175
|
+
tool: o.label,
|
|
176
|
+
to: t + 1,
|
|
177
|
+
total: i,
|
|
178
|
+
defaultValue: "{{tool}} moved to position {{to}} of {{total}}"
|
|
179
|
+
}) : "";
|
|
180
|
+
}, J = l ? (o) => {
|
|
181
|
+
const n = A.has(o.id);
|
|
182
|
+
return /* @__PURE__ */ C("div", { className: "ds:flex ds:items-center ds:justify-end ds:px-[var(--spacing-md)] ds:py-[var(--spacing-sm)] ds:border-block-end ds:border-[var(--border)]", children: /* @__PURE__ */ C(
|
|
183
|
+
oo,
|
|
184
|
+
{
|
|
185
|
+
intent: "ghost",
|
|
186
|
+
size: "sm",
|
|
187
|
+
"aria-pressed": n,
|
|
188
|
+
startIcon: /* @__PURE__ */ C(
|
|
189
|
+
no,
|
|
190
|
+
{
|
|
191
|
+
"aria-hidden": "true",
|
|
192
|
+
fill: n ? "currentColor" : "none",
|
|
193
|
+
className: n ? "ds:text-[color:var(--accent)]" : void 0
|
|
194
|
+
}
|
|
195
|
+
),
|
|
196
|
+
onClick: () => q(o.id),
|
|
197
|
+
children: u("controlRoom.favorite", { defaultValue: "Favourite" })
|
|
198
|
+
}
|
|
199
|
+
) });
|
|
200
|
+
} : void 0, B = ro(), K = R(
|
|
201
|
+
(o) => {
|
|
202
|
+
B(o), typeof m == "function" ? m(o) : m && (m.current = o);
|
|
203
|
+
},
|
|
204
|
+
[B, m]
|
|
205
|
+
);
|
|
206
|
+
return /* @__PURE__ */ Q(U, { children: [
|
|
207
|
+
/* @__PURE__ */ C(
|
|
208
|
+
to,
|
|
209
|
+
{
|
|
210
|
+
ref: K,
|
|
211
|
+
tools: z,
|
|
212
|
+
railLabel: c ?? u("controlRoom.railLabel", { defaultValue: "Control room" }),
|
|
213
|
+
onReorder: l ? D : void 0,
|
|
214
|
+
formatReorderAnnouncement: l ? G : void 0,
|
|
215
|
+
renderPanelHeader: J,
|
|
216
|
+
...P
|
|
217
|
+
}
|
|
218
|
+
),
|
|
219
|
+
l ? /* @__PURE__ */ C("span", { role: "status", "aria-live": "polite", className: "ds:sr-only", children: E }) : null
|
|
220
|
+
] });
|
|
221
|
+
});
|
|
222
|
+
export {
|
|
223
|
+
Ro as C,
|
|
224
|
+
To as a,
|
|
225
|
+
so as b,
|
|
226
|
+
vo as c,
|
|
227
|
+
go as u
|
|
228
|
+
};
|
|
229
|
+
//# sourceMappingURL=control-room-rail-Y8ryLYsP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-room-rail-Y8ryLYsP.js","sources":["../../src/components/control-room-rail/control-room-context.tsx","../../src/components/control-room-rail/control-room-rail.tsx"],"sourcesContent":["import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type ReactNode,\n} from 'react';\nimport type { AiToolsRailHandle, AiToolsRailTool } from '../ai-tools-rail';\n\n/* ------------------------------------------------------------------ */\n/* Control Room context — the scope mechanism */\n/* */\n/* The DS provides the plumbing; the CONSUMER declares scope by which */\n/* API it reaches for: */\n/* - <ControlRoomProvider globalTools={…}> → `global` tools, set */\n/* once at the app shell, persist across navigation. */\n/* - useControlRoomTools([…]) → `contextual` tools, */\n/* registered per-page, swap with the open entity. */\n/* `<ControlRoomRail>` reads the merged set; `global` tools seed the */\n/* default favourites (pinned on top), `contextual` tools fall below */\n/* the divider. The rail renders the divider between the two groups. */\n/* ------------------------------------------------------------------ */\n\ninterface ControlRoomContextValue {\n globalTools: AiToolsRailTool[];\n contextualTools: AiToolsRailTool[];\n registerContextualTools: (id: string, tools: AiToolsRailTool[]) => void;\n unregisterContextualTools: (id: string) => void;\n // The rail registers its imperative handle here so pages can drive it\n // (e.g. open the X-ray panel when a tooth is clicked). Null until mounted.\n registerRail: (handle: AiToolsRailHandle | null) => void;\n openTool: (id: string) => void;\n closeTool: () => void;\n}\n\nconst ControlRoomContext = createContext<ControlRoomContextValue | null>(null);\n\nexport interface ControlRoomProviderProps {\n /**\n * Tools valid in every context (Alia, Inbox). Set once at the app shell —\n * they pin to the rail's far end and persist across navigation. Memoise\n * this array so it doesn't re-register every render.\n */\n globalTools?: AiToolsRailTool[];\n children: ReactNode;\n}\n\n/**\n * Holds the Control Room's global tools and the registry of per-context\n * contextual tools. Mount once at the app shell, inside the frame that also\n * renders `<ControlRoomRail>`.\n */\nexport function ControlRoomProvider({\n globalTools = [],\n children,\n}: ControlRoomProviderProps) {\n // id → that registration's contextual tools. Multiple concurrent\n // registrations merge in insertion order (rare, but composes cleanly).\n const [registry, setRegistry] = useState<Map<string, AiToolsRailTool[]>>(\n () => new Map(),\n );\n\n const registerContextualTools = useCallback(\n (id: string, tools: AiToolsRailTool[]) => {\n setRegistry((prev) => {\n const next = new Map(prev);\n next.set(id, tools);\n return next;\n });\n },\n [],\n );\n\n const unregisterContextualTools = useCallback((id: string) => {\n setRegistry((prev) => {\n if (!prev.has(id)) return prev;\n const next = new Map(prev);\n next.delete(id);\n return next;\n });\n }, []);\n\n const contextualTools = useMemo(\n () => Array.from(registry.values()).flat(),\n [registry],\n );\n\n // The rail's imperative handle, registered by <ControlRoomRail> on mount.\n // openTool/closeTool drive it so a page can open a panel (e.g. the X-ray\n // viewer when a tooth is clicked) without holding a ref to the rail itself.\n const railHandleRef = useRef<AiToolsRailHandle | null>(null);\n const registerRail = useCallback((handle: AiToolsRailHandle | null) => {\n railHandleRef.current = handle;\n }, []);\n const openTool = useCallback((id: string) => {\n railHandleRef.current?.setActiveTool(id);\n }, []);\n const closeTool = useCallback(() => {\n railHandleRef.current?.setActiveTool(null);\n }, []);\n\n const value = useMemo<ControlRoomContextValue>(\n () => ({\n globalTools,\n contextualTools,\n registerContextualTools,\n unregisterContextualTools,\n registerRail,\n openTool,\n closeTool,\n }),\n [\n globalTools,\n contextualTools,\n registerContextualTools,\n unregisterContextualTools,\n registerRail,\n openTool,\n closeTool,\n ],\n );\n\n return (\n <ControlRoomContext.Provider value={value}>\n {children}\n </ControlRoomContext.Provider>\n );\n}\n\n/**\n * Register this context's **contextual** tools (Notes, Appointments, the entity\n * summary). They sit below the favourites divider and unregister automatically\n * when the calling component unmounts (i.e. when you leave the context).\n *\n * Pass a **stable / memoised** array — like `useEffect` deps, a fresh array\n * every render re-registers every render. Wrap it in `useMemo`.\n *\n * No-op when rendered outside a `<ControlRoomProvider>`.\n */\nexport function useControlRoomTools(tools: AiToolsRailTool[]): void {\n const ctx = useContext(ControlRoomContext);\n // Depend on the STABLE register/unregister callbacks, never the whole\n // context value: the value object changes every time the registry updates\n // (which this very effect triggers), so depending on `ctx` would re-register\n // on every change — an infinite loop. The callbacks are `useCallback([])`.\n const register = ctx?.registerContextualTools;\n const unregister = ctx?.unregisterContextualTools;\n const id = useId();\n useEffect(() => {\n if (!register || !unregister) return undefined;\n register(id, tools);\n return () => unregister(id);\n }, [register, unregister, id, tools]);\n}\n\n/**\n * The merged tool set the rail consumes: contextual tools (auto-tagged\n * `scope: 'contextual'`) then globals (`scope: 'global'`). Scope is assigned\n * here by which API registered the tool — `global` seeds the Control Room's\n * default favourites (pinned on top); `contextual` falls below the divider.\n * `ControlRoomRail` re-groups by favourite membership for the final order.\n * Returns `[]` outside a provider.\n */\nexport function useControlRoomMergedTools(): AiToolsRailTool[] {\n const ctx = useContext(ControlRoomContext);\n return useMemo(() => {\n if (!ctx) return [];\n const contextual = ctx.contextualTools.map((tool) => ({\n ...tool,\n scope: 'contextual' as const,\n }));\n const global = ctx.globalTools.map((tool) => ({\n ...tool,\n scope: 'global' as const,\n }));\n return [...contextual, ...global];\n }, [ctx]);\n}\n\n/**\n * Imperative actions to drive the rail from a page: open a tool's panel (e.g.\n * the X-ray viewer when a tooth is clicked) or collapse it. No-ops outside a\n * `<ControlRoomProvider>`. The functions are stable across renders.\n */\nexport function useControlRoomActions(): {\n openTool: (id: string) => void;\n closeTool: () => void;\n} {\n const ctx = useContext(ControlRoomContext);\n const noop = useCallback(() => {}, []);\n return {\n openTool: ctx?.openTool ?? noop,\n closeTool: ctx?.closeTool ?? noop,\n };\n}\n\n/**\n * Internal: the rail registers its imperative handle with the provider so\n * `useControlRoomActions().openTool` can drive it. Returns the stable\n * `registerRail` callback (or a no-op outside a provider).\n */\nexport function useControlRoomRailRegister(): (\n handle: AiToolsRailHandle | null,\n) => void {\n const ctx = useContext(ControlRoomContext);\n const noop = useCallback((_handle: AiToolsRailHandle | null) => {}, []);\n return ctx?.registerRail ?? noop;\n}\n","import {\n forwardRef,\n useCallback,\n useMemo,\n useRef,\n useState,\n type ReactNode,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Star } from 'lucide-react';\nimport { Button } from '../button/button';\nimport {\n AiToolsRail,\n type AiToolsRailHandle,\n type AiToolsRailProps,\n type AiToolsRailTool,\n} from '../ai-tools-rail';\nimport { usePersistentState } from '../../hooks/use-persistent-state';\nimport {\n useControlRoomMergedTools,\n useControlRoomRailRegister,\n} from './control-room-context';\n\n/* ------------------------------------------------------------------ */\n/* ControlRoomRail — the unified, contextual workspace rail. */\n/* */\n/* The docked right-hand \"Control Room\": the single home for the */\n/* assistant, inbox, notes, appointments and entity summaries */\n/* alongside the main work surface. One panel open at a time, */\n/* non-modal. */\n/* */\n/* It layers a FAVOURITES model over the proven AiToolsRail (its prior */\n/* name): favourited tools form a pinned group at the TOP of the strip */\n/* above a divider, then everything else below. The default favourites */\n/* are the host's `global` tools (Alia, Inbox) — so the rail opens with */\n/* notifications + Alia on top, the Control Room's default arrangement. */\n/* */\n/* Favouriting is DRAG-FIRST, no per-icon star: drag a tool up across */\n/* the divider to pin it (and drop it where you want in the order), */\n/* drag a favourite back down to unpin. The keyboard equivalent is */\n/* `Alt`+Arrow (crossing the divider pins / unpins, announced). The */\n/* non-drag pointer path — and the discoverable entry point — is an */\n/* add / remove control in each open tool's panel header. */\n/* */\n/* AiToolsRail stays favourite-agnostic: this layer maps favourite */\n/* membership onto the rail's generic `scope` grouping + (whole-strip) */\n/* `reorderable` run, reads cross-divider moves as pin / unpin, and */\n/* supplies the panel-header toggle via `renderPanelHeader`. */\n/* ------------------------------------------------------------------ */\n\n/** A Control Room tool — the rail tool descriptor, `scope`-aware. */\nexport type ControlRoomTool = AiToolsRailTool;\n\n/** Imperative handle — open / collapse a tool panel without the DOM. */\nexport type ControlRoomRailHandle = AiToolsRailHandle;\n\nexport interface ControlRoomRailProps extends Omit<\n AiToolsRailProps,\n | 'tools'\n | 'onReorder'\n | 'formatReorderAnnouncement'\n | 'renderToolAffordance'\n | 'renderPanelHeader'\n> {\n /**\n * Explicit tool set. Omit to read the merged global + contextual tools from\n * the nearest `<ControlRoomProvider>` (+ `useControlRoomTools`).\n */\n tools?: ControlRoomTool[];\n /**\n * Enable the favourites model: a pinned top group, drag / `Alt`+Arrow\n * reordering, and the panel-header add / remove control. Default `true`. Set\n * `false` for the legacy flat strip (tools render in the order / `scope` you\n * pass, no drag, no panel-header control).\n */\n reorderable?: boolean;\n /**\n * Controlled favourite tool ids, in pinned order. When set, the rail does not\n * persist — the host owns the value and is notified via `onFavoriteIdsChange`.\n */\n favoriteIds?: string[];\n /**\n * Uncontrolled initial favourites. Defaults to the ids of the tools the host\n * marked `scope: 'global'` (Alia, Inbox) — pinning them on top by default.\n */\n defaultFavoriteIds?: string[];\n /** Fires with the next favourites order whenever the user pins / reorders. */\n onFavoriteIdsChange?: (next: string[]) => void;\n /** localStorage key for the uncontrolled favourites. */\n persistFavoritesKey?: string;\n}\n\nexport const ControlRoomRail = forwardRef<\n ControlRoomRailHandle,\n ControlRoomRailProps\n>(function ControlRoomRail(\n {\n tools,\n railLabel,\n reorderable = true,\n favoriteIds,\n defaultFavoriteIds,\n onFavoriteIdsChange,\n persistFavoritesKey = 'ui.controlRoom.favorites',\n ...rest\n },\n ref,\n) {\n const { t } = useTranslation();\n // Provider-driven tools when none are passed explicitly. Calling the hook\n // unconditionally is safe — it returns [] outside a provider.\n const merged = useControlRoomMergedTools();\n const resolved = tools ?? merged;\n\n const isControlled = favoriteIds !== undefined;\n // Uncontrolled favourites persist to localStorage; the lazy initial seeds\n // from the host's `global` tools on first mount only (later tool changes\n // don't re-seed — favourites are user-owned once set). When controlled, the\n // hook is disabled so it never reads or writes storage.\n const [storedFavorites, setStoredFavorites] = usePersistentState<string[]>(\n persistFavoritesKey,\n () =>\n defaultFavoriteIds ??\n resolved.filter((tl) => tl.scope === 'global').map((tl) => tl.id),\n { disabled: isControlled },\n );\n const favorites = isControlled ? favoriteIds : storedFavorites;\n\n const byId = useMemo(() => {\n const map = new Map<string, ControlRoomTool>();\n for (const tl of resolved) map.set(tl.id, tl);\n return map;\n }, [resolved]);\n\n // Favourites filtered to currently-present tools — stale ids are ignored\n // (and dropped on the next write).\n const favoriteSet = useMemo(\n () => new Set(favorites.filter((id) => byId.has(id))),\n [favorites, byId],\n );\n\n const updateFavorites = (updater: (prev: string[]) => string[]) => {\n const next = updater(favorites.filter((id) => byId.has(id)));\n // Persist via a functional update so rapid pin/reorder events compose\n // (mirrors the Sidebar's useFavorites); controlled hosts own the value.\n if (!isControlled)\n setStoredFavorites((prev) => updater(prev.filter((id) => byId.has(id))));\n onFavoriteIdsChange?.(next);\n };\n\n // Re-group into the pinned run (favourites order, tagged so AiToolsRail draws\n // the divider) followed by the rest. EVERY tool is `reorderable` so the rail's\n // reorder run spans the whole strip — that's what lets a drag / Alt+Arrow\n // cross the divider; `handleReorder` reads the crossing as pin / unpin.\n const railTools = useMemo<ControlRoomTool[]>(() => {\n if (!reorderable) return resolved;\n const favTools = favorites\n .filter((id) => byId.has(id))\n .map((id) => ({\n ...(byId.get(id) as ControlRoomTool),\n scope: 'global' as const,\n reorderable: true,\n }));\n const rest = resolved\n .filter((tl) => !favoriteSet.has(tl.id))\n .map((tl) => ({\n ...tl,\n scope: 'contextual' as const,\n reorderable: true,\n }));\n return [...favTools, ...rest];\n }, [reorderable, resolved, favorites, byId, favoriteSet]);\n\n // The drag / Alt+Arrow path announces through the rail's own reorder live\n // region; the panel-header button toggles outside it, so it needs its own\n // polite announcement. The zero-width-space toggle forces a re-announce of an\n // identical message (e.g. pin → unpin → pin the same tool).\n const [pinMessage, setPinMessage] = useState('');\n const pinAnnounceToggle = useRef(false);\n const announcePinChange = (label: string, willPin: boolean) => {\n const text = willPin\n ? t('controlRoom.pinnedAnnounce', {\n tool: label,\n defaultValue: 'Pinned {{tool}} to favourites',\n })\n : t('controlRoom.unpinnedAnnounce', {\n tool: label,\n defaultValue: 'Removed {{tool}} from favourites',\n });\n pinAnnounceToggle.current = !pinAnnounceToggle.current;\n setPinMessage(pinAnnounceToggle.current ? text : `${text}\\u200B`);\n };\n\n const togglePin = (id: string) => {\n announcePinChange(byId.get(id)?.label ?? id, !favoriteSet.has(id));\n updateFavorites((prev) =>\n prev.includes(id) ? prev.filter((p) => p !== id) : [...prev, id],\n );\n };\n\n // The rail fires `onReorder` with indices into `railTools` (favourites first,\n // then the rest). The divider sits at `favCount`, so the index either side of\n // it tells us whether a move is a reorder, a pin, an unpin, or a no-op.\n const handleReorder = (from: number, to: number) => {\n const movedId = railTools[from]?.id;\n if (movedId === undefined) return;\n updateFavorites((prev) => {\n const present = prev.filter((id) => byId.has(id));\n const favCount = present.length;\n const wasFav = from < favCount;\n if (wasFav) {\n // Dropped below the divider → unpin.\n if (to >= favCount) return present.filter((id) => id !== movedId);\n // Reorder within favourites (full-strip index == favourites index).\n const next = present.slice();\n next.splice(from, 1);\n next.splice(to, 0, movedId);\n return next;\n }\n // A contextual tool dropped onto / above the divider → pin at that slot.\n if (to <= favCount) {\n const next = present.slice();\n next.splice(Math.min(to, favCount), 0, movedId);\n return next;\n }\n // Contextual → contextual: that group is host-ordered, so nothing to do.\n return prev;\n });\n };\n\n // Membership-aware live-region phrasing for the rail's reorder announcer.\n const formatReorderAnnouncement = ({\n tool,\n from,\n to,\n }: {\n tool: ControlRoomTool;\n from: number;\n to: number;\n }): string => {\n const favCount = favoriteSet.size;\n const wasFav = from < favCount;\n if (wasFav && to >= favCount)\n return t('controlRoom.unpinnedAnnounce', {\n tool: tool.label,\n defaultValue: 'Removed {{tool}} from favourites',\n });\n if (!wasFav && to <= favCount)\n return t('controlRoom.pinnedAnnounce', {\n tool: tool.label,\n defaultValue: 'Pinned {{tool}} to favourites',\n });\n if (wasFav && to < favCount)\n return t('aiToolsRail.reorderAnnounce', {\n tool: tool.label,\n to: to + 1,\n total: favCount,\n defaultValue: '{{tool}} moved to position {{to}} of {{total}}',\n });\n // Contextual → contextual is a no-op; stay silent.\n return '';\n };\n\n // The panel-header add / remove control: the discoverable, single-pointer\n // (non-drag) and keyboard path to (un)favourite the open tool. A changing\n // label carries the toggle state, so it reads as a plain action button.\n const renderPanelHeader = reorderable\n ? (tool: ControlRoomTool): ReactNode => {\n const pinned = favoriteSet.has(tool.id);\n return (\n <div className=\"ds:flex ds:items-center ds:justify-end ds:px-[var(--spacing-md)] ds:py-[var(--spacing-sm)] ds:border-block-end ds:border-[var(--border)]\">\n <Button\n intent=\"ghost\"\n size=\"sm\"\n aria-pressed={pinned}\n startIcon={\n <Star\n aria-hidden=\"true\"\n fill={pinned ? 'currentColor' : 'none'}\n className={\n pinned ? 'ds:text-[color:var(--accent)]' : undefined\n }\n />\n }\n onClick={() => togglePin(tool.id)}\n >\n {t('controlRoom.favorite', { defaultValue: 'Favourite' })}\n </Button>\n </div>\n );\n }\n : undefined;\n\n // Register the rail's imperative handle with the provider (so a page's\n // useControlRoomActions().openTool can drive it) AND forward it to the\n // consumer's ref. A callback ref does both; no-op without a provider.\n const registerRail = useControlRoomRailRegister();\n const setRefs = useCallback(\n (handle: AiToolsRailHandle | null) => {\n registerRail(handle);\n if (typeof ref === 'function') ref(handle);\n else if (ref) ref.current = handle;\n },\n [registerRail, ref],\n );\n return (\n <>\n <AiToolsRail\n ref={setRefs}\n tools={railTools}\n railLabel={\n railLabel ??\n t('controlRoom.railLabel', { defaultValue: 'Control room' })\n }\n onReorder={reorderable ? handleReorder : undefined}\n formatReorderAnnouncement={\n reorderable ? formatReorderAnnouncement : undefined\n }\n renderPanelHeader={renderPanelHeader}\n {...rest}\n />\n {/* Polite announcement for the panel-header pin / unpin button (the\n drag / Alt+Arrow path announces via the rail's own reorder region). */}\n {reorderable ? (\n <span role=\"status\" aria-live=\"polite\" className=\"ds:sr-only\">\n {pinMessage}\n </span>\n ) : null}\n </>\n );\n});\n"],"names":["ControlRoomContext","createContext","ControlRoomProvider","globalTools","children","registry","setRegistry","useState","registerContextualTools","useCallback","id","tools","prev","next","unregisterContextualTools","contextualTools","useMemo","railHandleRef","useRef","registerRail","handle","openTool","_a","closeTool","value","jsx","useControlRoomTools","ctx","useContext","register","unregister","useId","useEffect","useControlRoomMergedTools","contextual","tool","global","useControlRoomActions","noop","useControlRoomRailRegister","_handle","ControlRoomRail","forwardRef","railLabel","reorderable","favoriteIds","defaultFavoriteIds","onFavoriteIdsChange","persistFavoritesKey","rest","ref","t","useTranslation","merged","resolved","isControlled","storedFavorites","setStoredFavorites","usePersistentState","tl","favorites","byId","map","favoriteSet","updateFavorites","updater","railTools","favTools","pinMessage","setPinMessage","pinAnnounceToggle","announcePinChange","label","willPin","text","togglePin","p","handleReorder","from","to","movedId","present","favCount","formatReorderAnnouncement","wasFav","renderPanelHeader","pinned","Button","Star","setRefs","jsxs","Fragment","AiToolsRail"],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { jsxs as M, jsx as
|
|
1
|
+
import { jsxs as M, jsx as o } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef as P, useRef as v, useState as E, useEffect as H, useCallback as z, useMemo as O } from "react";
|
|
3
3
|
import { c as u } from "./index-D2ZczOXr.js";
|
|
4
|
-
import { useTranslation as
|
|
5
|
-
import { B as
|
|
4
|
+
import { useTranslation as W } from "react-i18next";
|
|
5
|
+
import { B as _ } from "./button-DD_0Xdmr.js";
|
|
6
|
+
import { u as q } from "./registry-DvAUVLHh.js";
|
|
6
7
|
import { u as D } from "./use-copy-to-clipboard-Cyfc_dlv.js";
|
|
7
|
-
import {
|
|
8
|
-
import { C as J } from "./
|
|
9
|
-
|
|
10
|
-
const U = {
|
|
8
|
+
import { C as G } from "./check-DPdL_Sm7.js";
|
|
9
|
+
import { C as J } from "./copy-B00HK7tj.js";
|
|
10
|
+
const Q = {
|
|
11
11
|
id: "copy-field",
|
|
12
|
-
capabilities: [],
|
|
12
|
+
capabilities: ["copy"],
|
|
13
13
|
state: {
|
|
14
14
|
value: {
|
|
15
15
|
type: "string",
|
|
@@ -26,7 +26,14 @@ const U = {
|
|
|
26
26
|
},
|
|
27
27
|
actions: {
|
|
28
28
|
copy: {
|
|
29
|
+
// Writes the value to the system clipboard — reaches outside this UI.
|
|
29
30
|
safety: "write",
|
|
31
|
+
openWorld: !0,
|
|
32
|
+
returns: "boolean",
|
|
33
|
+
returnsSchema: {
|
|
34
|
+
type: "boolean",
|
|
35
|
+
description: "True when the clipboard write succeeded."
|
|
36
|
+
},
|
|
30
37
|
descriptionKey: "ui.agent.copyField.actions.copy",
|
|
31
38
|
description: "Programmatically trigger the clipboard write.",
|
|
32
39
|
invoke: (e) => e.copy()
|
|
@@ -45,9 +52,9 @@ const U = {
|
|
|
45
52
|
}
|
|
46
53
|
}
|
|
47
54
|
};
|
|
48
|
-
async function
|
|
49
|
-
var
|
|
50
|
-
if (typeof navigator < "u" && ((
|
|
55
|
+
async function U(e) {
|
|
56
|
+
var a;
|
|
57
|
+
if (typeof navigator < "u" && ((a = navigator.clipboard) != null && a.writeText))
|
|
51
58
|
try {
|
|
52
59
|
return await navigator.clipboard.writeText(e), !0;
|
|
53
60
|
} catch {
|
|
@@ -163,11 +170,11 @@ const X = u(
|
|
|
163
170
|
value: e,
|
|
164
171
|
size: s = "md",
|
|
165
172
|
intent: i = "default",
|
|
166
|
-
startIcon:
|
|
173
|
+
startIcon: a,
|
|
167
174
|
wrap: F = !1,
|
|
168
175
|
copyLabel: T,
|
|
169
|
-
copiedLabel:
|
|
170
|
-
copiedDuration:
|
|
176
|
+
copiedLabel: S,
|
|
177
|
+
copiedDuration: k = 2e3,
|
|
171
178
|
ariaLabel: I,
|
|
172
179
|
onCopy: g,
|
|
173
180
|
disabled: r = !1,
|
|
@@ -175,15 +182,15 @@ const X = u(
|
|
|
175
182
|
id: f,
|
|
176
183
|
...j
|
|
177
184
|
}, N) => {
|
|
178
|
-
const { t } =
|
|
185
|
+
const { t } = W(), d = v(e);
|
|
179
186
|
d.current = e;
|
|
180
187
|
const c = v(g);
|
|
181
188
|
c.current = g;
|
|
182
|
-
const { status: l, copy:
|
|
183
|
-
resetAfterMs:
|
|
184
|
-
writer:
|
|
185
|
-
}), n = l === "copied",
|
|
186
|
-
|
|
189
|
+
const { status: l, copy: b } = D({
|
|
190
|
+
resetAfterMs: k,
|
|
191
|
+
writer: U
|
|
192
|
+
}), n = l === "copied", w = v(!1);
|
|
193
|
+
w.current = n;
|
|
187
194
|
const [A, m] = E("");
|
|
188
195
|
H(() => {
|
|
189
196
|
m(l === "copied" ? t("copyField.copySuccess") : l === "error" ? t("copyField.copyFailed") : "");
|
|
@@ -191,20 +198,20 @@ const X = u(
|
|
|
191
198
|
const p = z(async () => {
|
|
192
199
|
var C;
|
|
193
200
|
if (r) return !1;
|
|
194
|
-
const x = await
|
|
201
|
+
const x = await b(d.current);
|
|
195
202
|
return x && ((C = c.current) == null || C.call(c, d.current)), x;
|
|
196
|
-
}, [r,
|
|
203
|
+
}, [r, b]), R = z(() => {
|
|
197
204
|
p();
|
|
198
205
|
}, [p]), B = O(
|
|
199
206
|
() => ({
|
|
200
207
|
getValue: () => d.current,
|
|
201
208
|
copy: () => p(),
|
|
202
|
-
isCopied: () =>
|
|
209
|
+
isCopied: () => w.current
|
|
203
210
|
}),
|
|
204
211
|
[p]
|
|
205
212
|
);
|
|
206
|
-
|
|
207
|
-
const L = I ?? t("copyField.valueLabel"), y = T ?? t("copyField.copy"), h =
|
|
213
|
+
q(Q, B, f);
|
|
214
|
+
const L = I ?? t("copyField.valueLabel"), y = T ?? t("copyField.copy"), h = S ?? t("copyField.copied"), K = n ? typeof h == "string" ? h : t("copyField.copied") : typeof y == "string" ? y : t("copyField.copy");
|
|
208
215
|
return /* @__PURE__ */ M(
|
|
209
216
|
"div",
|
|
210
217
|
{
|
|
@@ -215,8 +222,8 @@ const X = u(
|
|
|
215
222
|
"data-copied": n ? "true" : void 0,
|
|
216
223
|
...j,
|
|
217
224
|
children: [
|
|
218
|
-
|
|
219
|
-
/* @__PURE__ */
|
|
225
|
+
a ? /* @__PURE__ */ o("span", { "aria-hidden": "true", className: Z({ size: s }), children: a }) : null,
|
|
226
|
+
/* @__PURE__ */ o(
|
|
220
227
|
"input",
|
|
221
228
|
{
|
|
222
229
|
id: f,
|
|
@@ -229,12 +236,12 @@ const X = u(
|
|
|
229
236
|
intent: i,
|
|
230
237
|
size: s,
|
|
231
238
|
wrap: F,
|
|
232
|
-
hasStartIcon: !!
|
|
239
|
+
hasStartIcon: !!a
|
|
233
240
|
})
|
|
234
241
|
}
|
|
235
242
|
),
|
|
236
|
-
/* @__PURE__ */
|
|
237
|
-
|
|
243
|
+
/* @__PURE__ */ o(
|
|
244
|
+
_,
|
|
238
245
|
{
|
|
239
246
|
type: "button",
|
|
240
247
|
intent: "ghost",
|
|
@@ -243,11 +250,11 @@ const X = u(
|
|
|
243
250
|
disabled: r,
|
|
244
251
|
"aria-label": K,
|
|
245
252
|
className: $(),
|
|
246
|
-
startIcon: n ? /* @__PURE__ */
|
|
247
|
-
children: /* @__PURE__ */
|
|
253
|
+
startIcon: n ? /* @__PURE__ */ o(G, { "aria-hidden": "true" }) : /* @__PURE__ */ o(J, { "aria-hidden": "true" }),
|
|
254
|
+
children: /* @__PURE__ */ o("span", { className: "type-label", children: n ? h : y })
|
|
248
255
|
}
|
|
249
256
|
),
|
|
250
|
-
/* @__PURE__ */
|
|
257
|
+
/* @__PURE__ */ o("span", { role: "status", "aria-live": "polite", className: "ds:sr-only", children: A })
|
|
251
258
|
]
|
|
252
259
|
}
|
|
253
260
|
);
|
|
@@ -256,6 +263,6 @@ const X = u(
|
|
|
256
263
|
ee.displayName = "CopyField";
|
|
257
264
|
export {
|
|
258
265
|
ee as C,
|
|
259
|
-
|
|
266
|
+
Q as c
|
|
260
267
|
};
|
|
261
|
-
//# sourceMappingURL=copy-field-
|
|
268
|
+
//# sourceMappingURL=copy-field-Bjw9u2cV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copy-field-Bjw9u2cV.js","sources":["../../src/components/copy-field/copy-field.agent.ts","../../src/components/copy-field/copy-field.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — CopyField. */\n/* */\n/* See `src/docs/26-agent-readiness.mdx` for the contract. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\n\n/**\n * Imperative handle for CopyField — agents can read the value and trigger a\n * programmatic copy. State stays scoped to identifiers + transient UI state;\n * never PHI (per PRS §Security).\n */\nexport interface CopyFieldHandle {\n /** Returns the read-only value currently displayed. */\n getValue: () => string;\n /** Triggers the clipboard write side-effect. */\n copy: () => Promise<boolean>;\n /** Returns true for the brief window after a successful copy. */\n isCopied: () => boolean;\n}\n\nexport const copyFieldAgent: AgentAdapter<CopyFieldHandle> = {\n id: 'copy-field',\n capabilities: ['copy'],\n state: {\n value: {\n type: 'string',\n descriptionKey: 'ui.agent.copyField.state.value',\n description: 'The value displayed in the read-only field.',\n read: (handle) => handle.getValue(),\n },\n copied: {\n type: 'boolean',\n descriptionKey: 'ui.agent.copyField.state.copied',\n description: 'True for the brief window after a successful copy.',\n read: (handle) => handle.isCopied(),\n },\n },\n actions: {\n copy: {\n // Writes the value to the system clipboard — reaches outside this UI.\n safety: 'write',\n openWorld: true,\n returns: 'boolean',\n returnsSchema: {\n type: 'boolean',\n description: 'True when the clipboard write succeeded.',\n },\n descriptionKey: 'ui.agent.copyField.actions.copy',\n description: 'Programmatically trigger the clipboard write.',\n invoke: (handle) => handle.copy(),\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'copy-field',\n description:\n 'Marks the CopyField root. The trailing button uses `aria-label` keyed off the copy / copied state.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop, when provided.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Check, Copy } from 'lucide-react';\nimport { Button } from '../button/button';\nimport { useAgentRegistration } from '../../agent';\nimport { useCopyToClipboard } from '../../hooks/use-copy-to-clipboard';\nimport { copyFieldAgent, type CopyFieldHandle } from './copy-field.agent';\n\n/* ------------------------------------------------------------------ */\n/* Clipboard helper */\n/* */\n/* `navigator.clipboard.writeText` is the modern path. The fallback */\n/* covers older browsers and insecure contexts via a synthesised */\n/* textarea + `document.execCommand('copy')`. The off-screen position */\n/* uses imperative DOM `.style` assignments — those are NOT JSX inline */\n/* styles and don't violate constraint §3. */\n/* ------------------------------------------------------------------ */\n\nasync function copyToClipboard(text: string): Promise<boolean> {\n if (typeof navigator !== 'undefined' && navigator.clipboard?.writeText) {\n try {\n await navigator.clipboard.writeText(text);\n return true;\n } catch {\n // fall through to legacy path\n }\n }\n if (typeof document === 'undefined') return false;\n const textarea = document.createElement('textarea');\n textarea.value = text;\n textarea.setAttribute('readonly', '');\n // Imperative DOM style — not a JSX inline-style violation. We use\n // `setProperty('inset-inline-start', …)` so the hidden textarea stays\n // logically off-screen in both LTR and RTL contexts.\n textarea.style.position = 'absolute';\n textarea.style.setProperty('inset-inline-start', '-9999px');\n document.body.appendChild(textarea);\n textarea.select();\n let ok = false;\n try {\n ok = document.execCommand('copy');\n } catch {\n ok = false;\n }\n document.body.removeChild(textarea);\n return ok;\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA — outer wrapper */\n/* */\n/* Mirrors the shared input-surface chrome (border + halo shadow) so */\n/* CopyField sits inline next to TextInput / Combobox in forms without */\n/* visual drift. Logical paddings only. `ds:focus-within` paints the */\n/* ring when the trailing button or the embedded input receives focus. */\n/* ------------------------------------------------------------------ */\n\nconst fieldVariants = cva(\n [\n 'ds:inline-flex ds:items-stretch ds:w-full',\n 'ds:rounded-[var(--radius-sm)] ds:bg-input ds:text-foreground',\n 'ds:border ds:border-border',\n 'ds:shadow-[var(--shadow-input)]',\n 'ds:focus-within:outline-[length:var(--focus-ring-width)] ds:focus-within:outline-solid',\n 'ds:focus-within:outline-ring ds:focus-within:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-within:outline-[CanvasText]',\n 'ds:transition-[colors,box-shadow] ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:overflow-hidden',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:h-8 ds:text-[var(--font-size-sm)]',\n md: 'ds:h-[var(--min-target-size)] ds:text-[var(--font-size-base)]',\n lg: 'ds:h-12 ds:text-[var(--font-size-lg)]',\n },\n disabled: {\n true: 'ds:opacity-50 ds:cursor-not-allowed',\n false: '',\n },\n },\n defaultVariants: { size: 'md', disabled: false },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* CVA — value <input> styling */\n/* ------------------------------------------------------------------ */\n\nconst valueVariants = cva(\n [\n 'ds:flex-1 ds:min-w-0 ds:bg-transparent ds:border-0 ds:outline-none',\n 'ds:text-foreground',\n 'ds:disabled:cursor-not-allowed',\n ].join(' '),\n {\n variants: {\n intent: {\n default: '',\n // `--primary` is calibrated for foreground use (violet-500 light,\n // magenta-500 dark) — both pass AA against their input backgrounds.\n primary: 'ds:text-primary ds:font-medium',\n },\n size: {\n sm: 'ds:text-[var(--font-size-sm)]',\n md: 'ds:text-[var(--font-size-base)]',\n lg: 'ds:text-[var(--font-size-lg)]',\n },\n wrap: {\n true: 'ds:[overflow-wrap:anywhere] ds:whitespace-normal',\n false: 'ds:overflow-hidden ds:text-ellipsis ds:whitespace-nowrap',\n },\n hasStartIcon: {\n true: '',\n false: '',\n },\n },\n // Explicit pairs decide the leading padding — single ps-* per cell, so\n // there's no fight between size + hasStartIcon under Tailwind's flat\n // utility precedence.\n compoundVariants: [\n { size: 'sm', hasStartIcon: false, class: 'ds:ps-[var(--spacing-sm)]' },\n { size: 'md', hasStartIcon: false, class: 'ds:ps-[var(--spacing-sm)]' },\n { size: 'lg', hasStartIcon: false, class: 'ds:ps-[var(--spacing-md)]' },\n { size: 'sm', hasStartIcon: true, class: 'ds:ps-[var(--spacing-xs)]' },\n { size: 'md', hasStartIcon: true, class: 'ds:ps-[var(--spacing-xs)]' },\n { size: 'lg', hasStartIcon: true, class: 'ds:ps-[var(--spacing-sm)]' },\n ],\n defaultVariants: {\n intent: 'default',\n size: 'md',\n wrap: false,\n hasStartIcon: false,\n },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* Leading icon slot */\n/* ------------------------------------------------------------------ */\n\nconst startIconVariants = cva(\n [\n 'ds:inline-flex ds:items-center ds:justify-center ds:shrink-0',\n 'ds:text-muted-foreground',\n 'ds:[&_svg]:size-4',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:ps-[var(--spacing-sm)]',\n md: 'ds:ps-[var(--spacing-sm)]',\n lg: 'ds:ps-[var(--spacing-md)]',\n },\n },\n defaultVariants: { size: 'md' },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* Trailing button wrapper */\n/* */\n/* The button visually attaches to the field by removing its own focus */\n/* ring (the wrapper paints `focus-within`) and rounding only the */\n/* trailing inline-end corners. */\n/* ------------------------------------------------------------------ */\n\nconst copyButtonVariants = cva(\n [\n 'ds:shrink-0 ds:rounded-none',\n 'ds:focus-visible:outline-none',\n 'ds:h-full',\n 'ds:gap-[var(--spacing-xs)]',\n ].join(' '),\n);\n\n/* ------------------------------------------------------------------ */\n/* Props */\n/* ------------------------------------------------------------------ */\n\ntype FieldSize = NonNullable<VariantProps<typeof fieldVariants>['size']>;\ntype ValueIntent = NonNullable<VariantProps<typeof valueVariants>['intent']>;\n\nexport interface CopyFieldProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n 'children' | 'onCopy'\n> {\n /** The value displayed in the read-only field and copied on click. */\n value: string;\n /** Field height + padding. Mirrors TextInput sizes. */\n size?: FieldSize;\n /**\n * `primary` tints the value text with `--primary` — matches the\n * link-style emphasis used by the telehealth showSession page.\n */\n intent?: ValueIntent;\n /**\n * Leading icon slot, decorative. Use `lucide-react` icons like\n * `<Link2 />` for a URL, `<KeyRound />` for a token.\n */\n startIcon?: ReactNode;\n /**\n * `false` (default) truncates long values with ellipsis on a single\n * line. `true` allows wrap with `overflow-wrap: anywhere`.\n */\n wrap?: boolean;\n /** Override the default 'Copy' button label. */\n copyLabel?: ReactNode;\n /** Override the default 'Copied' success-state label. */\n copiedLabel?: ReactNode;\n /** Milliseconds before the button reverts to its default state. Default 2000. */\n copiedDuration?: number;\n /** ARIA label for the read-only textbox. Defaults to the i18n key. */\n ariaLabel?: string;\n /** Fires once after a successful clipboard write. */\n onCopy?: (value: string) => void;\n /** Greys both the field and the button; the button doesn't fire onCopy. */\n disabled?: boolean;\n}\n\n/* ------------------------------------------------------------------ */\n/* CopyField */\n/* ------------------------------------------------------------------ */\n\nexport const CopyField = forwardRef<HTMLDivElement, CopyFieldProps>(\n (\n {\n value,\n size = 'md',\n intent = 'default',\n startIcon,\n wrap = false,\n copyLabel,\n copiedLabel,\n copiedDuration = 2000,\n ariaLabel,\n onCopy,\n disabled = false,\n className,\n id,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n\n const valueRef = useRef(value);\n valueRef.current = value;\n const onCopyRef = useRef(onCopy);\n onCopyRef.current = onCopy;\n\n // Drive status + auto-reset from the shared hook. The custom `writer`\n // preserves CopyField's legacy `document.execCommand('copy')` fallback\n // for non-HTTPS / older-browser contexts.\n const { status, copy } = useCopyToClipboard({\n resetAfterMs: copiedDuration,\n writer: copyToClipboard,\n });\n const copied = status === 'copied';\n const copiedRef = useRef(false);\n copiedRef.current = copied;\n\n // i18n-aware live-region text mirrors the hook status — `copied` →\n // success message, `error` → failure message, `idle` → clear.\n const [liveRegionText, setLiveRegionText] = useState('');\n useEffect(() => {\n if (status === 'copied') {\n setLiveRegionText(t('copyField.copySuccess'));\n } else if (status === 'error') {\n setLiveRegionText(t('copyField.copyFailed'));\n } else {\n setLiveRegionText('');\n }\n }, [status, t]);\n\n const handleCopy = useCallback(async (): Promise<boolean> => {\n if (disabled) return false;\n const ok = await copy(valueRef.current);\n if (ok) onCopyRef.current?.(valueRef.current);\n return ok;\n }, [disabled, copy]);\n\n const handleButtonClick = useCallback(() => {\n void handleCopy();\n }, [handleCopy]);\n\n /* -------------------------------------------------------------- */\n /* Agent handle — read value + trigger copy + check transient state */\n /* -------------------------------------------------------------- */\n\n const agentHandle = useMemo<CopyFieldHandle>(\n () => ({\n getValue: () => valueRef.current,\n copy: () => handleCopy(),\n isCopied: () => copiedRef.current,\n }),\n [handleCopy],\n );\n useAgentRegistration(copyFieldAgent, agentHandle, id);\n\n const resolvedAriaLabel = ariaLabel ?? t('copyField.valueLabel');\n const resolvedCopyText = copyLabel ?? t('copyField.copy');\n const resolvedCopiedText = copiedLabel ?? t('copyField.copied');\n // `aria-label` must be a string; when the consumer passes a non-string\n // ReactNode for copyLabel / copiedLabel we fall back to the translated\n // default so AT users still hear a coherent name.\n const buttonAccessibleLabel = copied\n ? typeof resolvedCopiedText === 'string'\n ? resolvedCopiedText\n : t('copyField.copied')\n : typeof resolvedCopyText === 'string'\n ? resolvedCopyText\n : t('copyField.copy');\n\n return (\n <div\n ref={ref}\n className={fieldVariants({ size, disabled, className })}\n data-component=\"copy-field\"\n data-component-id={id}\n data-copied={copied ? 'true' : undefined}\n {...rest}\n >\n {startIcon ? (\n <span aria-hidden=\"true\" className={startIconVariants({ size })}>\n {startIcon}\n </span>\n ) : null}\n <input\n id={id}\n type=\"text\"\n readOnly\n value={value}\n disabled={disabled}\n aria-label={resolvedAriaLabel}\n className={valueVariants({\n intent,\n size,\n wrap,\n hasStartIcon: Boolean(startIcon),\n })}\n />\n <Button\n type=\"button\"\n intent=\"ghost\"\n size={size}\n onClick={handleButtonClick}\n disabled={disabled}\n aria-label={buttonAccessibleLabel}\n className={copyButtonVariants()}\n startIcon={\n copied ? <Check aria-hidden=\"true\" /> : <Copy aria-hidden=\"true\" />\n }\n >\n <span className=\"type-label\">\n {copied ? resolvedCopiedText : resolvedCopyText}\n </span>\n </Button>\n <span role=\"status\" aria-live=\"polite\" className=\"ds:sr-only\">\n {liveRegionText}\n </span>\n </div>\n );\n },\n);\n\nCopyField.displayName = 'CopyField';\n"],"names":["copyFieldAgent","handle","copyToClipboard","text","_a","textarea","ok","fieldVariants","cva","valueVariants","startIconVariants","copyButtonVariants","CopyField","forwardRef","value","size","intent","startIcon","wrap","copyLabel","copiedLabel","copiedDuration","ariaLabel","onCopy","disabled","className","id","rest","ref","useTranslation","valueRef","useRef","onCopyRef","status","copy","useCopyToClipboard","copied","copiedRef","liveRegionText","setLiveRegionText","useState","useEffect","handleCopy","useCallback","handleButtonClick","agentHandle","useMemo","useAgentRegistration","resolvedAriaLabel","resolvedCopyText","resolvedCopiedText","buttonAccessibleLabel","jsxs","jsx","Button","Check","Copy"],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as l } from "react";
|
|
3
|
+
import { c as v } from "./index-D2ZczOXr.js";
|
|
4
|
+
const u = v(
|
|
5
|
+
[
|
|
6
|
+
"ds:inline-flex ds:items-center ds:justify-center ds:shrink-0",
|
|
7
|
+
"ds:rounded-[var(--radius-full)] ds:box-border",
|
|
8
|
+
"ds:tabular-nums ds:font-semibold ds:leading-none ds:select-none",
|
|
9
|
+
// Forced-colors (Windows High Contrast): bg + border are stripped, so
|
|
10
|
+
// repaint a hairline outline to keep the shape identifiable.
|
|
11
|
+
"ds:forced-colors:outline ds:forced-colors:outline-1 ds:forced-colors:outline-[CanvasText]"
|
|
12
|
+
].join(" "),
|
|
13
|
+
{
|
|
14
|
+
variants: {
|
|
15
|
+
variant: {
|
|
16
|
+
/* Solid red — the unread / notification overlay count. */
|
|
17
|
+
notification: "ds:bg-[color:var(--destructive)] ds:text-[color:var(--destructive-foreground)]",
|
|
18
|
+
/* Solid accent fill — a prominent count on a light surface. */
|
|
19
|
+
solid: "ds:bg-[color:var(--accent)] ds:text-[color:var(--accent-foreground)]",
|
|
20
|
+
/* Inverted / outlined — accent number on a bordered ring, no fill.
|
|
21
|
+
The quiet in-table roll-up: reads softly, keeps the grid row
|
|
22
|
+
light. `--accent` resolves to magenta-700 in light (AA-safe as
|
|
23
|
+
text/border on white) and magenta-500 in dark. */
|
|
24
|
+
outline: "ds:bg-transparent ds:text-[color:var(--accent)] ds:border ds:border-[color:var(--accent)]",
|
|
25
|
+
/* Neutral plain tally — muted surface, no semantic intent. */
|
|
26
|
+
neutral: "ds:bg-[color:var(--muted)] ds:text-[color:var(--muted-foreground)]"
|
|
27
|
+
},
|
|
28
|
+
size: {
|
|
29
|
+
/* 16px circle, 10px figure — dense, for in-table counts. */
|
|
30
|
+
sm: "ds:h-[var(--spacing-md)] ds:min-w-[var(--spacing-md)] ds:px-[calc(var(--spacing-xs)/1.5)] ds:text-[length:var(--font-size-2xs)]",
|
|
31
|
+
/* 20px circle, 12px figure — for overlays / standalone counts. */
|
|
32
|
+
md: "ds:h-[calc(var(--spacing-md)+var(--spacing-xs))] ds:min-w-[calc(var(--spacing-md)+var(--spacing-xs))] ds:px-[calc(var(--spacing-xs)/1.5)] ds:text-[length:var(--font-size-xs)]"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
defaultVariants: { variant: "neutral", size: "md" }
|
|
36
|
+
}
|
|
37
|
+
), x = l(
|
|
38
|
+
function({ variant: a, size: o, count: r, max: s = 99, children: n, className: e, ...t }, d) {
|
|
39
|
+
const c = r != null ? r > s ? `${s}+` : String(r) : n;
|
|
40
|
+
return /* @__PURE__ */ i(
|
|
41
|
+
"span",
|
|
42
|
+
{
|
|
43
|
+
ref: d,
|
|
44
|
+
"data-component": "counter",
|
|
45
|
+
className: u({ variant: a, size: o, className: e }),
|
|
46
|
+
...t,
|
|
47
|
+
children: c
|
|
48
|
+
}
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
export {
|
|
53
|
+
x as C
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=counter-dRlTNC_y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"counter-dRlTNC_y.js","sources":["../../src/components/counter/counter.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\n/* ------------------------------------------------------------------ */\n/* Counter — a compact numeric count indicator. */\n/* */\n/* The single primitive behind every \"small number in a circle\" in the */\n/* kit: the red unread overlay on a notification bell, a plain tally, */\n/* and the quiet roll-up count that sits in a data-grid tree row. It */\n/* replaces the per-surface hand-rolled spans (the appointments grid */\n/* ball, the NotificationTray badge) so they can never drift in size, */\n/* figure style, or alignment again. */\n/* */\n/* The digit is flex-centred with `leading-none` + `tabular-nums` so a */\n/* single figure sits dead-centre of the circle — fixing the */\n/* baseline-low \"old style\" look of a bare text node in a rounded box. */\n/* A 1-digit count renders a circle (`min-w` == `h`); 2+ digits widen */\n/* it into a short pill. Counts above `max` collapse to `\"{max}+\"`. */\n/* */\n/* The component carries no visible label of its own — the number is */\n/* all it renders. When the digit alone doesn't convey meaning, the */\n/* consumer supplies an accessible name (`role=\"img\"` + `aria-label`, */\n/* a pluralised \"N treatments\" / \"N unread\"), exactly as Badge's */\n/* count usage does. */\n/* ------------------------------------------------------------------ */\n\nconst counterVariants = cva(\n [\n 'ds:inline-flex ds:items-center ds:justify-center ds:shrink-0',\n 'ds:rounded-[var(--radius-full)] ds:box-border',\n 'ds:tabular-nums ds:font-semibold ds:leading-none ds:select-none',\n // Forced-colors (Windows High Contrast): bg + border are stripped, so\n // repaint a hairline outline to keep the shape identifiable.\n 'ds:forced-colors:outline ds:forced-colors:outline-1 ds:forced-colors:outline-[CanvasText]',\n ].join(' '),\n {\n variants: {\n variant: {\n /* Solid red — the unread / notification overlay count. */\n notification:\n 'ds:bg-[color:var(--destructive)] ds:text-[color:var(--destructive-foreground)]',\n /* Solid accent fill — a prominent count on a light surface. */\n solid:\n 'ds:bg-[color:var(--accent)] ds:text-[color:var(--accent-foreground)]',\n /* Inverted / outlined — accent number on a bordered ring, no fill.\n The quiet in-table roll-up: reads softly, keeps the grid row\n light. `--accent` resolves to magenta-700 in light (AA-safe as\n text/border on white) and magenta-500 in dark. */\n outline:\n 'ds:bg-transparent ds:text-[color:var(--accent)] ds:border ds:border-[color:var(--accent)]',\n /* Neutral plain tally — muted surface, no semantic intent. */\n neutral:\n 'ds:bg-[color:var(--muted)] ds:text-[color:var(--muted-foreground)]',\n },\n size: {\n /* 16px circle, 10px figure — dense, for in-table counts. */\n sm: 'ds:h-[var(--spacing-md)] ds:min-w-[var(--spacing-md)] ds:px-[calc(var(--spacing-xs)/1.5)] ds:text-[length:var(--font-size-2xs)]',\n /* 20px circle, 12px figure — for overlays / standalone counts. */\n md: 'ds:h-[calc(var(--spacing-md)+var(--spacing-xs))] ds:min-w-[calc(var(--spacing-md)+var(--spacing-xs))] ds:px-[calc(var(--spacing-xs)/1.5)] ds:text-[length:var(--font-size-xs)]',\n },\n },\n defaultVariants: { variant: 'neutral', size: 'md' },\n },\n);\n\nexport interface CounterProps\n extends\n Omit<HTMLAttributes<HTMLSpanElement>, 'children'>,\n VariantProps<typeof counterVariants> {\n /** Numeric count. Rendered with thousands left as-is; capped by `max`. */\n count?: number;\n /** Above this, the count collapses to `\"{max}+\"`. Default `99`. */\n max?: number;\n /** Pre-formatted content when `count` isn't a plain number. */\n children?: ReactNode;\n}\n\n/**\n * Compact numeric count indicator. Pass either a `count` (formatted +\n * overflow-capped) or `children` (verbatim). Supply an accessible name on\n * the element when the bare digit doesn't carry its own meaning.\n */\nexport const Counter = forwardRef<HTMLSpanElement, CounterProps>(\n function Counter(\n { variant, size, count, max = 99, children, className, ...rest },\n ref,\n ) {\n const display =\n count != null ? (count > max ? `${max}+` : String(count)) : children;\n return (\n <span\n ref={ref}\n data-component=\"counter\"\n className={counterVariants({ variant, size, className })}\n {...rest}\n >\n {display}\n </span>\n );\n },\n);\n"],"names":["counterVariants","cva","Counter","forwardRef","variant","size","count","max","children","className","rest","ref","display","jsx"],"mappings":";;;AA0BA,MAAMA,IAAkBC;AAAA,EACtB;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA;AAAA;AAAA,IAGA;AAAA,EAAA,EACA,KAAK,GAAG;AAAA,EACV;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA;AAAA,QAEP,cACE;AAAA;AAAA,QAEF,OACE;AAAA;AAAA;AAAA;AAAA;AAAA,QAKF,SACE;AAAA;AAAA,QAEF,SACE;AAAA,MAAA;AAAA,MAEJ,MAAM;AAAA;AAAA,QAEJ,IAAI;AAAA;AAAA,QAEJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB,EAAE,SAAS,WAAW,MAAM,KAAA;AAAA,EAAK;AAEtD,GAmBaC,IAAUC;AAAA,EACrB,SACE,EAAE,SAAAC,GAAS,MAAAC,GAAM,OAAAC,GAAO,KAAAC,IAAM,IAAI,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAC1DC,GACA;AACA,UAAMC,IACJN,KAAS,OAAQA,IAAQC,IAAM,GAAGA,CAAG,MAAM,OAAOD,CAAK,IAAKE;AAC9D,WACE,gBAAAK;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAF;AAAA,QACA,kBAAe;AAAA,QACf,WAAWX,EAAgB,EAAE,SAAAI,GAAS,MAAAC,GAAM,WAAAI,GAAW;AAAA,QACtD,GAAGC;AAAA,QAEH,UAAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;"}
|
|
@@ -3,10 +3,10 @@ import { forwardRef as A, useState as C, useMemo as N, useEffect as I } from "re
|
|
|
3
3
|
import { c as S } from "./index-D2ZczOXr.js";
|
|
4
4
|
import { useTranslation as k } from "react-i18next";
|
|
5
5
|
import { F as L } from "./form-field-BOm9hK35.js";
|
|
6
|
-
import { D as z } from "./date-picker-
|
|
7
|
-
import { N as D } from "./number-input-
|
|
6
|
+
import { D as z } from "./date-picker-Dl9RKxaV.js";
|
|
7
|
+
import { N as D } from "./number-input-DxphVG_A.js";
|
|
8
8
|
import { C as E } from "./card-DPmk26CL.js";
|
|
9
|
-
import { B as P } from "./badge-
|
|
9
|
+
import { B as P } from "./badge-DCOqV9mI.js";
|
|
10
10
|
import { I as B } from "./insert-result-njqBthzT.js";
|
|
11
11
|
import { a as i } from "./date-picker-variants-DAcSLTua.js";
|
|
12
12
|
import { C as G } from "./check-DPdL_Sm7.js";
|
|
@@ -249,4 +249,4 @@ export {
|
|
|
249
249
|
U as L,
|
|
250
250
|
O as p
|
|
251
251
|
};
|
|
252
|
-
//# sourceMappingURL=cycle-calculator-
|
|
252
|
+
//# sourceMappingURL=cycle-calculator-CCmPwcBl.js.map
|