@alfadocs/ui-kit-debug 1.38.0 → 1.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{actions-cell-renderer-CUn1pqEq.js → actions-cell-renderer-BXBy9c0f.js} +3 -3
- package/dist/_chunks/{actions-cell-renderer-CUn1pqEq.js.map → actions-cell-renderer-BXBy9c0f.js.map} +1 -1
- package/dist/_chunks/{agenda-tray-CG6jUjKc.js → agenda-tray-CBaJASb5.js} +3 -3
- package/dist/_chunks/{agenda-tray-CG6jUjKc.js.map → agenda-tray-CBaJASb5.js.map} +1 -1
- package/dist/_chunks/{ai-consent-banner-De4gzSBZ.js → ai-consent-banner-DvtaM3yg.js} +2 -2
- package/dist/_chunks/{ai-consent-banner-De4gzSBZ.js.map → ai-consent-banner-DvtaM3yg.js.map} +1 -1
- package/dist/_chunks/{ai-prompt-input-DdxlaI7q.js → ai-prompt-input-DXknpQCB.js} +2 -2
- package/dist/_chunks/{ai-prompt-input-DdxlaI7q.js.map → ai-prompt-input-DXknpQCB.js.map} +1 -1
- package/dist/_chunks/{alia-sidebar-B6bXlZZk.js → alia-sidebar-CUqaJNPQ.js} +7 -7
- package/dist/_chunks/{alia-sidebar-B6bXlZZk.js.map → alia-sidebar-CUqaJNPQ.js.map} +1 -1
- package/dist/_chunks/{anamnesis-card-DGwINeNn.js → anamnesis-card-xtEhyojD.js} +2 -2
- package/dist/_chunks/{anamnesis-card-DGwINeNn.js.map → anamnesis-card-xtEhyojD.js.map} +1 -1
- package/dist/_chunks/{anamnesis-summary-rows-Cxtgo2ok.js → anamnesis-summary-rows-DQUqwWc1.js} +7 -7
- package/dist/_chunks/{anamnesis-summary-rows-Cxtgo2ok.js.map → anamnesis-summary-rows-DQUqwWc1.js.map} +1 -1
- package/dist/_chunks/{appointment-card-WsDGBBut.js → appointment-card-TgR_2GKS.js} +134 -102
- package/dist/_chunks/appointment-card-TgR_2GKS.js.map +1 -0
- package/dist/_chunks/{appointment-peek-5S4O1VQP.js → appointment-peek-abiR0T9e.js} +3 -3
- package/dist/_chunks/{appointment-peek-5S4O1VQP.js.map → appointment-peek-abiR0T9e.js.map} +1 -1
- package/dist/_chunks/{appointment-timeline-D-rNwKpS.js → appointment-timeline-CCnyUYKz.js} +67 -63
- package/dist/_chunks/appointment-timeline-CCnyUYKz.js.map +1 -0
- package/dist/_chunks/{appointment-tray-CK2CULg_.js → appointment-tray-N0yEI8UF.js} +4 -4
- package/dist/_chunks/{appointment-tray-CK2CULg_.js.map → appointment-tray-N0yEI8UF.js.map} +1 -1
- package/dist/_chunks/{audio-recorder-BlQBC7N_.js → audio-recorder-B7dT-Y3v.js} +3 -3
- package/dist/_chunks/{audio-recorder-BlQBC7N_.js.map → audio-recorder-B7dT-Y3v.js.map} +1 -1
- package/dist/_chunks/{balance-badge-cell-DHs5p0bA.js → balance-badge-cell-o6LldMUA.js} +5 -5
- package/dist/_chunks/{balance-badge-cell-DHs5p0bA.js.map → balance-badge-cell-o6LldMUA.js.map} +1 -1
- package/dist/_chunks/{bishop-score-D5b8tktp.js → bishop-score-Cu70iv9C.js} +2 -2
- package/dist/_chunks/{bishop-score-D5b8tktp.js.map → bishop-score-Cu70iv9C.js.map} +1 -1
- package/dist/_chunks/{bmi-calculator-dOKP-vW4.js → bmi-calculator-C9N19aLX.js} +2 -2
- package/dist/_chunks/{bmi-calculator-dOKP-vW4.js.map → bmi-calculator-C9N19aLX.js.map} +1 -1
- package/dist/_chunks/{booking-x3J7sS2G.js → booking-Dn3jvv3K.js} +5 -5
- package/dist/_chunks/{booking-x3J7sS2G.js.map → booking-Dn3jvv3K.js.map} +1 -1
- package/dist/_chunks/{button-nJaPh_HC.js → button-CaUe1uyd.js} +11 -7
- package/dist/_chunks/button-CaUe1uyd.js.map +1 -0
- package/dist/_chunks/{button-group-QmN1VdUW.js → button-group-R32U7SyV.js} +2 -2
- package/dist/_chunks/{button-group-QmN1VdUW.js.map → button-group-R32U7SyV.js.map} +1 -1
- package/dist/_chunks/{calendar-7GAUlsNO.js → calendar-ChJQzRw-.js} +2 -2
- package/dist/_chunks/{calendar-7GAUlsNO.js.map → calendar-ChJQzRw-.js.map} +1 -1
- package/dist/_chunks/calendar-workspace-B-fUbm62.js +11372 -0
- package/dist/_chunks/calendar-workspace-B-fUbm62.js.map +1 -0
- package/dist/_chunks/{care-plan-card-COFOI-fI.js → care-plan-card-BOv0NRle.js} +3 -3
- package/dist/_chunks/{care-plan-card-COFOI-fI.js.map → care-plan-card-BOv0NRle.js.map} +1 -1
- package/dist/_chunks/{care-plan-entry-card-BOKn0KW-.js → care-plan-entry-card-d-rZD4li.js} +3 -3
- package/dist/_chunks/{care-plan-entry-card-BOKn0KW-.js.map → care-plan-entry-card-d-rZD4li.js.map} +1 -1
- package/dist/_chunks/{care-plan-header-CbuOuVBw.js → care-plan-header-CEmBXn6-.js} +2 -2
- package/dist/_chunks/{care-plan-header-CbuOuVBw.js.map → care-plan-header-CEmBXn6-.js.map} +1 -1
- package/dist/_chunks/{carousel.agent-Dv4a4M8L.js → carousel.agent-z1yLBpyC.js} +2 -2
- package/dist/_chunks/{carousel.agent-Dv4a4M8L.js.map → carousel.agent-z1yLBpyC.js.map} +1 -1
- package/dist/_chunks/{chart-iWl76PXv.js → chart-PF2krCZC.js} +3 -3
- package/dist/_chunks/{chart-iWl76PXv.js.map → chart-PF2krCZC.js.map} +1 -1
- package/dist/_chunks/{chat-input-qM5QpUSq.js → chat-input-Cj7ZYQr5.js} +2 -2
- package/dist/_chunks/{chat-input-qM5QpUSq.js.map → chat-input-Cj7ZYQr5.js.map} +1 -1
- package/dist/_chunks/{chat-message-RniXtrCH.js → chat-message-BMVxiUIX.js} +3 -3
- package/dist/_chunks/{chat-message-RniXtrCH.js.map → chat-message-BMVxiUIX.js.map} +1 -1
- package/dist/_chunks/{code-block-uVjNSI9g.js → code-block-BB-viuTn.js} +2 -2
- package/dist/_chunks/{code-block-uVjNSI9g.js.map → code-block-BB-viuTn.js.map} +1 -1
- package/dist/_chunks/{connection-status-OEsWjmRk.js → connection-status-BmA9T0UO.js} +3 -3
- package/dist/_chunks/{connection-status-OEsWjmRk.js.map → connection-status-BmA9T0UO.js.map} +1 -1
- package/dist/_chunks/{contact-profile-card--My1H2UD.js → contact-profile-card-Zt6WNg1u.js} +2 -2
- package/dist/_chunks/{contact-profile-card--My1H2UD.js.map → contact-profile-card-Zt6WNg1u.js.map} +1 -1
- package/dist/_chunks/{control-room-rail-DQoHdE1U.js → control-room-rail-CnNZusR5.js} +3 -3
- package/dist/_chunks/{control-room-rail-DQoHdE1U.js.map → control-room-rail-CnNZusR5.js.map} +1 -1
- package/dist/_chunks/{copy-field-fYKpl6aN.js → copy-field-B8XRVmQv.js} +2 -2
- package/dist/_chunks/{copy-field-fYKpl6aN.js.map → copy-field-B8XRVmQv.js.map} +1 -1
- package/dist/_chunks/credit-card-D9XZsHGA.js +15 -0
- package/dist/_chunks/credit-card-D9XZsHGA.js.map +1 -0
- package/dist/_chunks/{cycle-calculator-BJeaXiZv.js → cycle-calculator-BH2StWoT.js} +2 -2
- package/dist/_chunks/{cycle-calculator-BJeaXiZv.js.map → cycle-calculator-BH2StWoT.js.map} +1 -1
- package/dist/_chunks/{dashboard-grid-B23BFzRl.js → dashboard-grid-BcXWL5S9.js} +2 -2
- package/dist/_chunks/{dashboard-grid-B23BFzRl.js.map → dashboard-grid-BcXWL5S9.js.map} +1 -1
- package/dist/_chunks/{data-table-Dy1lyumT.js → data-table-CcAx_I1w.js} +6 -6
- package/dist/_chunks/{data-table-Dy1lyumT.js.map → data-table-CcAx_I1w.js.map} +1 -1
- package/dist/_chunks/{data-table-tabs-BMR0zsVQ.js → data-table-tabs-B9SXA5VP.js} +3 -3
- package/dist/_chunks/{data-table-tabs-BMR0zsVQ.js.map → data-table-tabs-B9SXA5VP.js.map} +1 -1
- package/dist/_chunks/{description-list-C1RXMDZ_.js → description-list-BsJ_6CQE.js} +2 -2
- package/dist/_chunks/{description-list-C1RXMDZ_.js.map → description-list-BsJ_6CQE.js.map} +1 -1
- package/dist/_chunks/{document-preview-DsEyRcNd.js → document-preview-COV0BC6n.js} +2 -2
- package/dist/_chunks/{document-preview-DsEyRcNd.js.map → document-preview-COV0BC6n.js.map} +1 -1
- package/dist/_chunks/{document-scanner-CbWVtm7u.js → document-scanner-B1abl-A4.js} +2 -2
- package/dist/_chunks/{document-scanner-CbWVtm7u.js.map → document-scanner-B1abl-A4.js.map} +1 -1
- package/dist/_chunks/{due-date-calculator-Dhc9Ljkb.js → due-date-calculator-Buh_mVHq.js} +2 -2
- package/dist/_chunks/{due-date-calculator-Dhc9Ljkb.js.map → due-date-calculator-Buh_mVHq.js.map} +1 -1
- package/dist/_chunks/{editable-currency-cell-renderer-D7blbDFY.js → editable-currency-cell-renderer-Psb6XKHR.js} +3 -3
- package/dist/_chunks/{editable-currency-cell-renderer-D7blbDFY.js.map → editable-currency-cell-renderer-Psb6XKHR.js.map} +1 -1
- package/dist/_chunks/{editable-description-7ptNpJEg.js → editable-description-ADMVFPUz.js} +3 -3
- package/dist/_chunks/{editable-description-7ptNpJEg.js.map → editable-description-ADMVFPUz.js.map} +1 -1
- package/dist/_chunks/{editor-overlay-8fKAcRsm.js → editor-overlay-9tcPXNWt.js} +2 -2
- package/dist/_chunks/{editor-overlay-8fKAcRsm.js.map → editor-overlay-9tcPXNWt.js.map} +1 -1
- package/dist/_chunks/{empty-state-X0sVPfVo.js → empty-state-BUN_UAWf.js} +2 -2
- package/dist/_chunks/{empty-state-X0sVPfVo.js.map → empty-state-BUN_UAWf.js.map} +1 -1
- package/dist/_chunks/{entity-summary-BbW0mIzU.js → entity-summary-DXejuQ8i.js} +3 -3
- package/dist/_chunks/{entity-summary-BbW0mIzU.js.map → entity-summary-DXejuQ8i.js.map} +1 -1
- package/dist/_chunks/{error-boundary-ayXFCcq4.js → error-boundary-BNT2iQ1w.js} +2 -2
- package/dist/_chunks/{error-boundary-ayXFCcq4.js.map → error-boundary-BNT2iQ1w.js.map} +1 -1
- package/dist/_chunks/{face-scheme-uFvhqz6h.js → face-scheme-Dg6ZyLKb.js} +5 -5
- package/dist/_chunks/{face-scheme-uFvhqz6h.js.map → face-scheme-Dg6ZyLKb.js.map} +1 -1
- package/dist/_chunks/{fetal-weight-C6SxchOv.js → fetal-weight-wx4ycKc6.js} +2 -2
- package/dist/_chunks/{fetal-weight-C6SxchOv.js.map → fetal-weight-wx4ycKc6.js.map} +1 -1
- package/dist/_chunks/{field-array-C9dmRaIM.js → field-array-BW9KeeXG.js} +3 -3
- package/dist/_chunks/{field-array-C9dmRaIM.js.map → field-array-BW9KeeXG.js.map} +1 -1
- package/dist/_chunks/{file-manager-UlcYQv8n.js → file-manager-BfLQxF5t.js} +136 -150
- package/dist/_chunks/file-manager-BfLQxF5t.js.map +1 -0
- package/dist/_chunks/{finished-terminal-Br61Ip4e.js → finished-terminal-DJd7Z_po.js} +2 -2
- package/dist/_chunks/{finished-terminal-Br61Ip4e.js.map → finished-terminal-DJd7Z_po.js.map} +1 -1
- package/dist/_chunks/{fiscal-code-input-CkwIdB1y.js → fiscal-code-input-ODQRd_Sw.js} +2 -2
- package/dist/_chunks/{fiscal-code-input-CkwIdB1y.js.map → fiscal-code-input-ODQRd_Sw.js.map} +1 -1
- package/dist/_chunks/folder-BghC8_S2.js +20 -0
- package/dist/_chunks/folder-BghC8_S2.js.map +1 -0
- package/dist/_chunks/{freemium-paywall-BqGk_SBU.js → freemium-paywall-Cz-O9lQD.js} +2 -2
- package/dist/_chunks/{freemium-paywall-BqGk_SBU.js.map → freemium-paywall-Cz-O9lQD.js.map} +1 -1
- package/dist/_chunks/{gestational-age-calculator-DDOGaPvg.js → gestational-age-calculator-CwbecTul.js} +2 -2
- package/dist/_chunks/{gestational-age-calculator-DDOGaPvg.js.map → gestational-age-calculator-CwbecTul.js.map} +1 -1
- package/dist/_chunks/{hcg-doubling-Bb_n6tEa.js → hcg-doubling-BcXriXJe.js} +2 -2
- package/dist/_chunks/{hcg-doubling-Bb_n6tEa.js.map → hcg-doubling-BcXriXJe.js.map} +1 -1
- package/dist/_chunks/{header-BZ4pZlJV.js → header-3o9o9v_T.js} +2 -2
- package/dist/_chunks/{header-BZ4pZlJV.js.map → header-3o9o9v_T.js.map} +1 -1
- package/dist/_chunks/{header-settings-B8mLc03Q.js → header-settings-CTe45iDy.js} +4 -4
- package/dist/_chunks/{header-settings-B8mLc03Q.js.map → header-settings-CTe45iDy.js.map} +1 -1
- package/dist/_chunks/{hover-card-Bcku1GQu.js → hover-card-BMJBVqIf.js} +2 -2
- package/dist/_chunks/{hover-card-Bcku1GQu.js.map → hover-card-BMJBVqIf.js.map} +1 -1
- package/dist/_chunks/{icon-button-8xqRnkdG.js → icon-button-CehAeZoP.js} +2 -2
- package/dist/_chunks/{icon-button-8xqRnkdG.js.map → icon-button-CehAeZoP.js.map} +1 -1
- package/dist/_chunks/{icon-button-group-Dj6CRoYR.js → icon-button-group-DkkdIygu.js} +2 -2
- package/dist/_chunks/{icon-button-group-Dj6CRoYR.js.map → icon-button-group-DkkdIygu.js.map} +1 -1
- package/dist/_chunks/{icon-picker-CTWzlHJr.js → icon-picker-DMEelg9v.js} +3 -3
- package/dist/_chunks/{icon-picker-CTWzlHJr.js.map → icon-picker-DMEelg9v.js.map} +1 -1
- package/dist/_chunks/{image-cropper-C84NDTB7.js → image-cropper-BjPjT7wU.js} +2 -2
- package/dist/_chunks/{image-cropper-C84NDTB7.js.map → image-cropper-BjPjT7wU.js.map} +1 -1
- package/dist/_chunks/{info-tip-ey_Pon2y.js → info-tip-iP2Pm9dh.js} +2 -2
- package/dist/_chunks/{info-tip-ey_Pon2y.js.map → info-tip-iP2Pm9dh.js.map} +1 -1
- package/dist/_chunks/{insert-result-LCNTskNJ.js → insert-result-DPnOBD85.js} +2 -2
- package/dist/_chunks/{insert-result-LCNTskNJ.js.map → insert-result-DPnOBD85.js.map} +1 -1
- package/dist/_chunks/{key-value-pair-DczGb4yz.js → key-value-pair-DaQI_LZB.js} +2 -2
- package/dist/_chunks/{key-value-pair-DczGb4yz.js.map → key-value-pair-DaQI_LZB.js.map} +1 -1
- package/dist/_chunks/{link-cell-renderer-BNa8x6oJ.js → link-cell-renderer-s3oHzOwi.js} +2 -2
- package/dist/_chunks/{link-cell-renderer-BNa8x6oJ.js.map → link-cell-renderer-s3oHzOwi.js.map} +1 -1
- package/dist/_chunks/{locale-picker-BLeHbFSc.js → locale-picker-CH3kfrIG.js} +3 -3
- package/dist/_chunks/{locale-picker-BLeHbFSc.js.map → locale-picker-CH3kfrIG.js.map} +1 -1
- package/dist/_chunks/{map-view-CCAlC9IL.js → map-view-CHw4RL6w.js} +2 -2
- package/dist/_chunks/{map-view-CCAlC9IL.js.map → map-view-CHw4RL6w.js.map} +1 -1
- package/dist/_chunks/{marketplace-app-shell-BwH6Aruw.js → marketplace-app-shell-d2EtcUbe.js} +4 -4
- package/dist/_chunks/{marketplace-app-shell-BwH6Aruw.js.map → marketplace-app-shell-d2EtcUbe.js.map} +1 -1
- package/dist/_chunks/{message-card-Dm5Xshup.js → message-card-V3sFPiQI.js} +3 -3
- package/dist/_chunks/{message-card-Dm5Xshup.js.map → message-card-V3sFPiQI.js.map} +1 -1
- package/dist/_chunks/{message-tray-CXjVsKqp.js → message-tray-CrRIHfiQ.js} +4 -4
- package/dist/_chunks/{message-tray-CXjVsKqp.js.map → message-tray-CrRIHfiQ.js.map} +1 -1
- package/dist/_chunks/{note-timeline-D2oPuQP6.js → note-timeline-Dn_XTo1s.js} +131 -90
- package/dist/_chunks/note-timeline-Dn_XTo1s.js.map +1 -0
- package/dist/_chunks/{notes-panel-CkbfDDzj.js → notes-panel-CAD1Ytcj.js} +276 -243
- package/dist/_chunks/notes-panel-CAD1Ytcj.js.map +1 -0
- package/dist/_chunks/{notification-card-ChcK9Wat.js → notification-card-B2gLO6dK.js} +3 -3
- package/dist/_chunks/{notification-card-ChcK9Wat.js.map → notification-card-B2gLO6dK.js.map} +1 -1
- package/dist/_chunks/{notification-tray-_NoChRKi.js → notification-tray-BOEKegVV.js} +4 -4
- package/dist/_chunks/{notification-tray-_NoChRKi.js.map → notification-tray-BOEKegVV.js.map} +1 -1
- package/dist/_chunks/{optical-prescription-cphK41eP.js → optical-prescription-LGgmtcST.js} +2 -2
- package/dist/_chunks/{optical-prescription-cphK41eP.js.map → optical-prescription-LGgmtcST.js.map} +1 -1
- package/dist/_chunks/{panel-subview-BNXN8OEL.js → panel-subview-Cc2Wtt7D.js} +52 -52
- package/dist/_chunks/panel-subview-Cc2Wtt7D.js.map +1 -0
- package/dist/_chunks/{patient-details-2cIaL-Zb.js → patient-details-C8ImUrVg.js} +3 -3
- package/dist/_chunks/{patient-details-2cIaL-Zb.js.map → patient-details-C8ImUrVg.js.map} +1 -1
- package/dist/_chunks/{patient-field-row-IHb2VFc2.js → patient-field-row-BRSOKvme.js} +7 -7
- package/dist/_chunks/{patient-field-row-IHb2VFc2.js.map → patient-field-row-BRSOKvme.js.map} +1 -1
- package/dist/_chunks/{patient-search-D08b6jgj.js → patient-search-5QcmQKJD.js} +2 -2
- package/dist/_chunks/{patient-search-D08b6jgj.js.map → patient-search-5QcmQKJD.js.map} +1 -1
- package/dist/_chunks/{patient-summary-card-B131Q7Bp.js → patient-summary-card-BhmKB2KR.js} +7 -7
- package/dist/_chunks/patient-summary-card-BhmKB2KR.js.map +1 -0
- package/dist/_chunks/{payment-automation-upsell-BLTdE2em.js → payment-automation-upsell-BKmBXU4i.js} +17 -16
- package/dist/_chunks/{payment-automation-upsell-BLTdE2em.js.map → payment-automation-upsell-BKmBXU4i.js.map} +1 -1
- package/dist/_chunks/{payment-request-card-BxcdvxKR.js → payment-request-card-Cer6XXCn.js} +6 -5
- package/dist/_chunks/{payment-request-card-BxcdvxKR.js.map → payment-request-card-Cer6XXCn.js.map} +1 -1
- package/dist/_chunks/{periodontal-chart-BF_e3wZp.js → periodontal-chart-DJoZS_o7.js} +2 -2
- package/dist/_chunks/{periodontal-chart-BF_e3wZp.js.map → periodontal-chart-DJoZS_o7.js.map} +1 -1
- package/dist/_chunks/{periodontal-chart-card-BJEuJuzh.js → periodontal-chart-card-Nd1ZoYWb.js} +2 -2
- package/dist/_chunks/{periodontal-chart-card-BJEuJuzh.js.map → periodontal-chart-card-Nd1ZoYWb.js.map} +1 -1
- package/dist/_chunks/{popover-DzR5QYxp.js → popover-DO-pssF3.js} +2 -2
- package/dist/_chunks/{popover-DzR5QYxp.js.map → popover-DO-pssF3.js.map} +1 -1
- package/dist/_chunks/{practice-results-CBNRJNnY.js → practice-results-D_jjzwgf.js} +5 -5
- package/dist/_chunks/{practice-results-CBNRJNnY.js.map → practice-results-D_jjzwgf.js.map} +1 -1
- package/dist/_chunks/{pregnancy-dating-nV1_S6w0.js → pregnancy-dating-DcyV9ZRD.js} +2 -2
- package/dist/_chunks/{pregnancy-dating-nV1_S6w0.js.map → pregnancy-dating-DcyV9ZRD.js.map} +1 -1
- package/dist/_chunks/{pregnancy-weight-gain-tRecShAD.js → pregnancy-weight-gain-Bfq4Kwt5.js} +2 -2
- package/dist/_chunks/{pregnancy-weight-gain-tRecShAD.js.map → pregnancy-weight-gain-Bfq4Kwt5.js.map} +1 -1
- package/dist/_chunks/{privacy-lock-Be39vQUN.js → privacy-lock-CbFCAMM3.js} +3 -3
- package/dist/_chunks/{privacy-lock-Be39vQUN.js.map → privacy-lock-CbFCAMM3.js.map} +1 -1
- package/dist/_chunks/{product-hub-panel-C3bMjscm.js → product-hub-panel-w40-_-1s.js} +3 -3
- package/dist/_chunks/{product-hub-panel-C3bMjscm.js.map → product-hub-panel-w40-_-1s.js.map} +1 -1
- package/dist/_chunks/{public-header.agent-Bl1KFwSE.js → public-header.agent-D-EBVskf.js} +3 -3
- package/dist/_chunks/{public-header.agent-Bl1KFwSE.js.map → public-header.agent-D-EBVskf.js.map} +1 -1
- package/dist/_chunks/{radiograph-panel.agent-k0G7JuoM.js → radiograph-panel.agent-LrILY2lN.js} +4 -4
- package/dist/_chunks/{radiograph-panel.agent-k0G7JuoM.js.map → radiograph-panel.agent-LrILY2lN.js.map} +1 -1
- package/dist/_chunks/{receipt-euro-C6k4Gzhr.js → receipt-euro-B1cLM_TN.js} +3 -14
- package/dist/_chunks/receipt-euro-B1cLM_TN.js.map +1 -0
- package/dist/_chunks/{reviews-panel-Cy969x7q.js → reviews-panel-2GVuxGeT.js} +4 -4
- package/dist/_chunks/{reviews-panel-Cy969x7q.js.map → reviews-panel-2GVuxGeT.js.map} +1 -1
- package/dist/_chunks/{rich-text-editor-BTXlorm5.js → rich-text-editor-C6fE-uP4.js} +5 -5
- package/dist/_chunks/{rich-text-editor-BTXlorm5.js.map → rich-text-editor-C6fE-uP4.js.map} +1 -1
- package/dist/_chunks/{session-countdown-QMsnRa1x.js → session-countdown-BqppPrw6.js} +2 -2
- package/dist/_chunks/{session-countdown-QMsnRa1x.js.map → session-countdown-BqppPrw6.js.map} +1 -1
- package/dist/_chunks/{sheet-hm04DGFd.js → sheet-C8WIDFS8.js} +2 -2
- package/dist/_chunks/{sheet-hm04DGFd.js.map → sheet-C8WIDFS8.js.map} +1 -1
- package/dist/_chunks/{sign-in-with-alfadocs-button-BLe_quy5.js → sign-in-with-alfadocs-button-DWwBJtyE.js} +2 -2
- package/dist/_chunks/{sign-in-with-alfadocs-button-BLe_quy5.js.map → sign-in-with-alfadocs-button-DWwBJtyE.js.map} +1 -1
- package/dist/_chunks/{signature-request-b-86AGlT.js → signature-request-D_j2aQu1.js} +359 -370
- package/dist/_chunks/signature-request-D_j2aQu1.js.map +1 -0
- package/dist/_chunks/{slot-grid-Bk3GZL1p.js → slot-grid-B3eOPkKD.js} +4 -4
- package/dist/_chunks/{slot-grid-Bk3GZL1p.js.map → slot-grid-B3eOPkKD.js.map} +1 -1
- package/dist/_chunks/{streaming-text-DjFqLSt_.js → streaming-text-CE1u_oGa.js} +2 -2
- package/dist/_chunks/{streaming-text-DjFqLSt_.js.map → streaming-text-CE1u_oGa.js.map} +1 -1
- package/dist/_chunks/{task-tray-5co9Jr2L.js → task-tray-DIwjAIes.js} +3 -3
- package/dist/_chunks/{task-tray-5co9Jr2L.js.map → task-tray-DIwjAIes.js.map} +1 -1
- package/dist/_chunks/{tasks-panel-BpH-x7U3.js → tasks-panel-CpcikOeY.js} +5 -5
- package/dist/_chunks/{tasks-panel-BpH-x7U3.js.map → tasks-panel-CpcikOeY.js.map} +1 -1
- package/dist/_chunks/{theme-toggle-CMz8YfC1.js → theme-toggle-bI0pgDDv.js} +3 -3
- package/dist/_chunks/{theme-toggle-CMz8YfC1.js.map → theme-toggle-bI0pgDDv.js.map} +1 -1
- package/dist/_chunks/{toast-8jqtbfAB.js → toast-ZZfhA5u0.js} +2 -2
- package/dist/_chunks/{toast-8jqtbfAB.js.map → toast-ZZfhA5u0.js.map} +1 -1
- package/dist/_chunks/{token-insert-menu-9Um0JinI.js → token-insert-menu-A9B5AJw6.js} +2 -2
- package/dist/_chunks/{token-insert-menu-9Um0JinI.js.map → token-insert-menu-A9B5AJw6.js.map} +1 -1
- package/dist/_chunks/tool-rail-D89USYE6.js +799 -0
- package/dist/_chunks/tool-rail-D89USYE6.js.map +1 -0
- package/dist/_chunks/{tooth-scheme-BWkYxxjR.js → tooth-scheme-DPAq0vQK.js} +3 -3
- package/dist/_chunks/{tooth-scheme-BWkYxxjR.js.map → tooth-scheme-DPAq0vQK.js.map} +1 -1
- package/dist/_chunks/{transaction-chip-Dth1nThY.js → transaction-chip-CwgcJiqF.js} +47 -46
- package/dist/_chunks/{transaction-chip-Dth1nThY.js.map → transaction-chip-CwgcJiqF.js.map} +1 -1
- package/dist/_chunks/{unit-converter-BTgU50gk.js → unit-converter-C-LpGzrN.js} +2 -2
- package/dist/_chunks/{unit-converter-BTgU50gk.js.map → unit-converter-C-LpGzrN.js.map} +1 -1
- package/dist/_chunks/user-plus-BtcOLgNU.js +17 -0
- package/dist/_chunks/user-plus-BtcOLgNU.js.map +1 -0
- package/dist/_chunks/{warning-stack-BW5Dwb3z.js → warning-stack-C0glSB7p.js} +3 -3
- package/dist/_chunks/{warning-stack-BW5Dwb3z.js.map → warning-stack-C0glSB7p.js.map} +1 -1
- package/dist/_chunks/{workflow-map-CXdsxvUj.js → workflow-map-DhR_h5yw.js} +5 -5
- package/dist/_chunks/{workflow-map-CXdsxvUj.js.map → workflow-map-DhR_h5yw.js.map} +1 -1
- package/dist/agent-catalog.json +3 -418
- package/dist/agent-i18n/en.json +2 -18
- package/dist/components/agenda-tray/index.js +1 -1
- package/dist/components/ai-consent-banner/index.js +1 -1
- package/dist/components/ai-prompt-input/index.js +1 -1
- package/dist/components/anamnesis-card/index.js +1 -1
- package/dist/components/appointment-card/appointment-card.d.ts +24 -0
- package/dist/components/appointment-card/appointment-card.d.ts.map +1 -1
- package/dist/components/appointment-card/index.js +2 -2
- package/dist/components/appointment-peek/index.js +1 -1
- package/dist/components/appointment-timeline/appointment-timeline.d.ts +15 -1
- package/dist/components/appointment-timeline/appointment-timeline.d.ts.map +1 -1
- package/dist/components/appointment-timeline/index.js +1 -1
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/bishop-score/index.js +1 -1
- package/dist/components/bmi-calculator/index.js +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/button/button.d.ts +1 -1
- package/dist/components/button/button.d.ts.map +1 -1
- package/dist/components/button/index.js +2 -2
- package/dist/components/button-group/index.js +1 -1
- package/dist/components/calendar/index.js +1 -1
- package/dist/components/care-plan-card/index.js +1 -1
- package/dist/components/care-plan-entry-card/index.js +1 -1
- package/dist/components/care-plan-header/index.js +1 -1
- package/dist/components/carousel/index.js +1 -1
- package/dist/components/chart/index.js +1 -1
- package/dist/components/chat-input/index.js +1 -1
- package/dist/components/chat-message/index.js +1 -1
- package/dist/components/connection-status/index.js +1 -1
- package/dist/components/contact-profile-card/index.js +1 -1
- package/dist/components/control-room-rail/index.js +1 -1
- package/dist/components/copy-field/index.js +1 -1
- package/dist/components/cycle-calculator/index.js +1 -1
- package/dist/components/dashboard-grid/index.js +1 -1
- package/dist/components/data-table/index.js +4 -4
- package/dist/components/data-table-tabs/index.js +1 -1
- package/dist/components/description-list/index.js +1 -1
- package/dist/components/document-preview/index.js +1 -1
- package/dist/components/document-scanner/index.js +1 -1
- package/dist/components/due-date-calculator/index.js +1 -1
- package/dist/components/editable-description/index.js +1 -1
- package/dist/components/editor-overlay/index.js +1 -1
- package/dist/components/empty-state/index.js +1 -1
- package/dist/components/entity-summary/index.js +1 -1
- package/dist/components/error-boundary/index.js +1 -1
- package/dist/components/face-scheme/index.js +1 -1
- package/dist/components/fetal-weight/index.js +1 -1
- package/dist/components/field-array/index.js +1 -1
- package/dist/components/file-manager/index.js +1 -1
- package/dist/components/finished-terminal/index.js +1 -1
- package/dist/components/fiscal-code-input/index.js +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/index.js +1 -1
- package/dist/components/header-settings/index.js +1 -1
- package/dist/components/hover-card/index.js +1 -1
- package/dist/components/icon-button/index.js +1 -1
- package/dist/components/icon-button-group/index.js +1 -1
- package/dist/components/icon-picker/index.js +1 -1
- package/dist/components/image-cropper/index.js +1 -1
- package/dist/components/info-tip/index.js +1 -1
- package/dist/components/key-value-pair/index.js +1 -1
- package/dist/components/locale-picker/index.js +1 -1
- package/dist/components/map-view/index.js +1 -1
- package/dist/components/message-card/index.js +1 -1
- package/dist/components/message-tray/index.js +1 -1
- package/dist/components/note-timeline/index.js +1 -1
- package/dist/components/note-timeline/note-timeline.d.ts +9 -0
- package/dist/components/note-timeline/note-timeline.d.ts.map +1 -1
- package/dist/components/notes-panel/index.js +1 -1
- package/dist/components/notes-panel/notes-panel.d.ts +5 -4
- package/dist/components/notes-panel/notes-panel.d.ts.map +1 -1
- package/dist/components/notification-card/index.js +1 -1
- package/dist/components/notification-tray/index.js +1 -1
- package/dist/components/optical-prescription/index.js +1 -1
- package/dist/components/panel-subview/index.js +1 -1
- package/dist/components/panel-subview/panel-subview.d.ts.map +1 -1
- package/dist/components/patient-details/index.js +1 -1
- package/dist/components/patient-search/index.js +1 -1
- package/dist/components/patient-summary-card/index.js +1 -1
- package/dist/components/patient-summary-card/patient-summary-card.d.ts.map +1 -1
- package/dist/components/patient-table/index.js +1 -1
- package/dist/components/payment-card/index.js +1 -1
- package/dist/components/periodontal-chart/index.js +1 -1
- package/dist/components/periodontal-chart-card/index.js +1 -1
- package/dist/components/popover/index.js +1 -1
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/pregnancy-dating/index.js +1 -1
- package/dist/components/pregnancy-weight-gain/index.js +1 -1
- package/dist/components/privacy-lock/index.js +1 -1
- package/dist/components/product-hub-tray/index.js +1 -1
- package/dist/components/public-header/index.js +1 -1
- package/dist/components/radiograph-panel/index.js +1 -1
- package/dist/components/reviews-panel/index.js +1 -1
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/session-countdown/index.js +1 -1
- package/dist/components/sheet/index.js +1 -1
- package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
- package/dist/components/slot-grid/index.js +1 -1
- package/dist/components/streaming-text/index.js +1 -1
- package/dist/components/task-tray/index.js +1 -1
- package/dist/components/tasks-panel/index.js +1 -1
- package/dist/components/theme-toggle/index.js +1 -1
- package/dist/components/toast/index.js +1 -1
- package/dist/components/token-insert-menu/index.js +1 -1
- package/dist/components/tool-rail/index.js +1 -1
- package/dist/components/tool-rail/tool-rail.d.ts.map +1 -1
- package/dist/components/tooth-scheme/index.js +1 -1
- package/dist/components/transaction-chip/index.js +1 -1
- package/dist/components/transaction-chip/transaction-chip.d.ts +7 -0
- package/dist/components/transaction-chip/transaction-chip.d.ts.map +1 -1
- package/dist/components/unit-converter/index.js +1 -1
- package/dist/components/warning-stack/index.js +1 -1
- package/dist/components/workflow/index.js +1 -1
- package/dist/host-compat.css +13 -4
- package/dist/i18n/locales/ar.d.ts +235 -183
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/ar.js +239 -187
- package/dist/i18n/locales/ar.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +219 -167
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +223 -171
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/el.d.ts +234 -182
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/el.js +238 -186
- package/dist/i18n/locales/el.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +52 -0
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +56 -4
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +227 -175
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +231 -179
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +221 -169
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +225 -173
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hi.d.ts +235 -183
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/hi.js +243 -187
- package/dist/i18n/locales/hi.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +179 -127
- package/dist/i18n/locales/it.d.ts.map +1 -1
- package/dist/i18n/locales/it.js +183 -131
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts +233 -181
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +237 -185
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/nl.d.ts +224 -172
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/nl.js +228 -176
- package/dist/i18n/locales/nl.js.map +1 -1
- package/dist/i18n/locales/pl.d.ts +229 -177
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.js +233 -181
- package/dist/i18n/locales/pl.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts +229 -177
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +233 -181
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ro.d.ts +228 -176
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ro.js +232 -180
- package/dist/i18n/locales/ro.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts +234 -182
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +238 -186
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/sq.d.ts +228 -176
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sq.js +232 -180
- package/dist/i18n/locales/sq.js.map +1 -1
- package/dist/i18n/locales/sv.d.ts +229 -177
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/sv.js +233 -181
- package/dist/i18n/locales/sv.js.map +1 -1
- package/dist/i18n/locales/tr.d.ts +235 -183
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/tr.js +239 -187
- package/dist/i18n/locales/tr.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +228 -176
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/locales/zh.js +232 -180
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/index.js +107 -107
- package/dist/locales/ar.json +239 -187
- package/dist/locales/de.json +223 -171
- package/dist/locales/el.json +238 -186
- package/dist/locales/en.json +56 -4
- package/dist/locales/es.json +231 -179
- package/dist/locales/fr.json +225 -173
- package/dist/locales/hi.json +239 -187
- package/dist/locales/it.json +183 -131
- package/dist/locales/ja.json +237 -185
- package/dist/locales/nl.json +228 -176
- package/dist/locales/pl.json +233 -181
- package/dist/locales/pt.json +233 -181
- package/dist/locales/ro.json +232 -180
- package/dist/locales/ru.json +238 -186
- package/dist/locales/sq.json +232 -180
- package/dist/locales/sv.json +233 -181
- package/dist/locales/tr.json +239 -187
- package/dist/locales/zh.json +232 -180
- package/dist/patterns/alia-assistant/index.js +1 -1
- package/dist/patterns/anamnesis/index.js +1 -1
- package/dist/patterns/calendar/calendar-appointment-details.d.ts +7 -0
- package/dist/patterns/calendar/calendar-appointment-details.d.ts.map +1 -1
- package/dist/patterns/calendar/calendar-appointment-details.sections.d.ts +10 -5
- package/dist/patterns/calendar/calendar-appointment-details.sections.d.ts.map +1 -1
- package/dist/patterns/calendar/calendar-bookings-panel.d.ts +31 -0
- package/dist/patterns/calendar/calendar-bookings-panel.d.ts.map +1 -0
- package/dist/patterns/calendar/calendar-info-hover.d.ts +15 -1
- package/dist/patterns/calendar/calendar-info-hover.d.ts.map +1 -1
- package/dist/patterns/calendar/calendar-privacy.d.ts +23 -0
- package/dist/patterns/calendar/calendar-privacy.d.ts.map +1 -0
- package/dist/patterns/calendar/calendar-rail-settle.d.ts +14 -0
- package/dist/patterns/calendar/calendar-rail-settle.d.ts.map +1 -0
- package/dist/patterns/calendar/calendar-upcoming-panel.d.ts +32 -0
- package/dist/patterns/calendar/calendar-upcoming-panel.d.ts.map +1 -0
- package/dist/patterns/calendar/calendar-waiting-list-panel.d.ts +62 -0
- package/dist/patterns/calendar/calendar-waiting-list-panel.d.ts.map +1 -0
- package/dist/patterns/calendar/calendar-workspace.d.ts +14 -1
- package/dist/patterns/calendar/calendar-workspace.d.ts.map +1 -1
- package/dist/patterns/calendar/calendar-workspace.model.d.ts +37 -1
- package/dist/patterns/calendar/calendar-workspace.model.d.ts.map +1 -1
- package/dist/patterns/calendar/calendar.model.d.ts +8 -2
- package/dist/patterns/calendar/calendar.model.d.ts.map +1 -1
- package/dist/patterns/calendar/calendar.sheets.d.ts +43 -27
- package/dist/patterns/calendar/calendar.sheets.d.ts.map +1 -1
- package/dist/patterns/calendar/calendar.surface.d.ts.map +1 -1
- package/dist/patterns/calendar/calendar.types.d.ts +6 -0
- package/dist/patterns/calendar/calendar.types.d.ts.map +1 -1
- package/dist/patterns/calendar/index.d.ts +2 -2
- package/dist/patterns/calendar/index.d.ts.map +1 -1
- package/dist/patterns/calendar/index.js +1 -1
- package/dist/patterns/marketplace-app-shell/index.js +1 -1
- package/dist/patterns/payment-automation-upsell/index.js +1 -1
- package/dist/patterns/signature-request/index.js +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +3 -1
- package/dist/_chunks/appointment-card-WsDGBBut.js.map +0 -1
- package/dist/_chunks/appointment-timeline-D-rNwKpS.js.map +0 -1
- package/dist/_chunks/button-nJaPh_HC.js.map +0 -1
- package/dist/_chunks/calendar-workspace-Cc1LRVWY.js +0 -9900
- package/dist/_chunks/calendar-workspace-Cc1LRVWY.js.map +0 -1
- package/dist/_chunks/file-manager-UlcYQv8n.js.map +0 -1
- package/dist/_chunks/note-timeline-D2oPuQP6.js.map +0 -1
- package/dist/_chunks/notes-panel-CkbfDDzj.js.map +0 -1
- package/dist/_chunks/panel-subview-BNXN8OEL.js.map +0 -1
- package/dist/_chunks/patient-summary-card-B131Q7Bp.js.map +0 -1
- package/dist/_chunks/receipt-euro-C6k4Gzhr.js.map +0 -1
- package/dist/_chunks/signature-request-b-86AGlT.js.map +0 -1
- package/dist/_chunks/tool-rail-BP8sjxCw.js +0 -667
- package/dist/_chunks/tool-rail-BP8sjxCw.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as v, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef as z, useEffect as N } from "react";
|
|
3
3
|
import { Slot as B, Slottable as L } from "@radix-ui/react-slot";
|
|
4
4
|
import { c as C } from "./index-D2ZczOXr.js";
|
|
@@ -35,7 +35,11 @@ const O = C(
|
|
|
35
35
|
// `error`, etc.). Outside such a container the button falls back to
|
|
36
36
|
// the primary palette so a loose `<Button intent="tonal">` is never
|
|
37
37
|
// invisible.
|
|
38
|
-
tonal: "ds:bg-primary ds:text-primary-foreground ds:hover:opacity-90 ds:active:opacity-80 ds:shadow-sm"
|
|
38
|
+
tonal: "ds:bg-primary ds:text-primary-foreground ds:hover:opacity-90 ds:active:opacity-80 ds:shadow-sm",
|
|
39
|
+
// `soft` is the recommended secondary action: a primary-tinted
|
|
40
|
+
// surface under deep brand ink, quieter than `primary`, warmer than
|
|
41
|
+
// `outline`. Tokens re-point per theme (see `--primary-soft`).
|
|
42
|
+
soft: "ds:bg-[var(--primary-soft)] ds:text-[color:var(--primary-soft-foreground)] ds:hover:bg-[var(--primary-soft-hover)] ds:active:opacity-90"
|
|
39
43
|
},
|
|
40
44
|
size: {
|
|
41
45
|
sm: 'ds:h-8 ds:ps-3 ds:pe-3 ds:text-[length:var(--font-size-sm)] ds:min-h-[var(--min-target-size)] ds:sm:min-h-0 ds:before:absolute ds:before:inset-x-[calc((var(--min-target-size)-100%)/-2)] ds:before:inset-y-[calc((var(--min-target-size)-100%)/-2)] ds:before:content-[""] ds:sm:before:hidden',
|
|
@@ -84,7 +88,7 @@ const O = C(
|
|
|
84
88
|
intent: i,
|
|
85
89
|
size: t,
|
|
86
90
|
background: f,
|
|
87
|
-
className:
|
|
91
|
+
className: m,
|
|
88
92
|
asChild: r = !1,
|
|
89
93
|
loading: s = !1,
|
|
90
94
|
startIcon: d,
|
|
@@ -99,7 +103,7 @@ const O = C(
|
|
|
99
103
|
N(() => {
|
|
100
104
|
}, [k, w]);
|
|
101
105
|
const l = t === "sm" ? 16 : t === "lg" ? 20 : 18, u = t === "sm" ? "ds:size-4" : t === "lg" ? "ds:size-5" : "ds:size-[18px]", b = p ? "ds:rtl:rotate-180" : "";
|
|
102
|
-
return /* @__PURE__ */
|
|
106
|
+
return /* @__PURE__ */ v(
|
|
103
107
|
x,
|
|
104
108
|
{
|
|
105
109
|
ref: y,
|
|
@@ -108,7 +112,7 @@ const O = C(
|
|
|
108
112
|
size: t,
|
|
109
113
|
background: f,
|
|
110
114
|
hideLabel: c,
|
|
111
|
-
className:
|
|
115
|
+
className: m
|
|
112
116
|
}),
|
|
113
117
|
disabled: h || s,
|
|
114
118
|
"aria-busy": s || void 0,
|
|
@@ -116,7 +120,7 @@ const O = C(
|
|
|
116
120
|
"data-intent": i ?? void 0,
|
|
117
121
|
...n,
|
|
118
122
|
children: [
|
|
119
|
-
s && /* @__PURE__ */
|
|
123
|
+
s && /* @__PURE__ */ v(
|
|
120
124
|
"svg",
|
|
121
125
|
{
|
|
122
126
|
"aria-hidden": "true",
|
|
@@ -181,4 +185,4 @@ S.displayName = "Button";
|
|
|
181
185
|
export {
|
|
182
186
|
S as B
|
|
183
187
|
};
|
|
184
|
-
//# sourceMappingURL=button-
|
|
188
|
+
//# sourceMappingURL=button-CaUe1uyd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-CaUe1uyd.js","sources":["../../src/components/button/button.tsx"],"sourcesContent":["import { forwardRef, type ButtonHTMLAttributes, useEffect } from 'react';\nimport { Slot, Slottable } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst buttonVariants = cva(\n // `forced-colors:*` — under Windows High Contrast Mode the OS strips our\n // bg/text tokens, so `ghost` / `outline` / `link` would lose their shape.\n // We repaint a `ButtonBorder` edge + swap the focus ring to `CanvasText`\n // so the control and its focused state both survive HCM.\n 'ds:inline-flex ds:items-center ds:justify-center ds:gap-[var(--spacing-xs)] ds:font-medium ds:transition-colors ds:rounded-[var(--radius-md)] ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)] ds:forced-colors:border ds:forced-colors:border-[ButtonBorder] ds:forced-colors:focus-visible:outline-[CanvasText] ds:disabled:opacity-50 ds:disabled:cursor-not-allowed ds:aria-disabled:opacity-50 ds:aria-disabled:cursor-not-allowed ds:aria-busy:cursor-wait ds:relative',\n {\n variants: {\n intent: {\n primary:\n 'ds:bg-primary ds:text-primary-foreground ds:hover:bg-primary-hover ds:active:opacity-90 ds:shadow-sm',\n secondary:\n 'ds:bg-secondary ds:text-secondary-foreground ds:hover:bg-secondary-hover ds:active:opacity-90',\n // Background paint is owned by the `background` variant (compound\n // rules below) — see-through by default so outline chrome works on\n // tinted toolbars and shells; `background=\"surface\"` opts into the\n // painted `--background` fill for host pages where a transparent\n // outline reads grey on grey.\n outline:\n 'ds:text-foreground ds:border ds:border-border ds:hover:bg-muted/10 ds:active:bg-muted/20',\n ghost:\n 'ds:bg-transparent ds:text-foreground ds:hover:bg-muted/10 ds:active:bg-muted/20',\n destructive:\n 'ds:bg-destructive ds:text-destructive-foreground ds:hover:bg-destructive-hover ds:active:opacity-90 ds:shadow-sm',\n // Outline chrome in the destructive palette — for dangerous secondary\n // actions (cancel appointment, remove item) that must read as risky\n // without the solid fill's weight. Background paint comes from the\n // `background` variant, same as `outline`.\n destructiveOutline:\n 'ds:text-destructive ds:border ds:border-destructive ds:hover:bg-destructive/10 ds:active:bg-destructive/20',\n link: 'ds:bg-transparent ds:text-primary ds:underline-offset-4 ds:hover:underline ds:active:opacity-80 ds:p-0 ds:h-auto ds:rounded-none',\n // `tonal` is a container-contextual intent. The button carries a\n // `data-intent=\"tonal\"` hook + baseline chrome (hover/active/shadow).\n // The ambient container (e.g. `Alert`) paints the colour via a\n // descendant selector — `[&_[data-intent=tonal]]:bg-…` — so the\n // button picks up the surrounding tint (amber on `warning`, red on\n // `error`, etc.). Outside such a container the button falls back to\n // the primary palette so a loose `<Button intent=\"tonal\">` is never\n // invisible.\n tonal:\n 'ds:bg-primary ds:text-primary-foreground ds:hover:opacity-90 ds:active:opacity-80 ds:shadow-sm',\n // `soft` is the recommended secondary action: a primary-tinted\n // surface under deep brand ink, quieter than `primary`, warmer than\n // `outline`. Tokens re-point per theme (see `--primary-soft`).\n soft: 'ds:bg-[var(--primary-soft)] ds:text-[color:var(--primary-soft-foreground)] ds:hover:bg-[var(--primary-soft-hover)] ds:active:opacity-90',\n },\n size: {\n sm: 'ds:h-8 ds:ps-3 ds:pe-3 ds:text-[length:var(--font-size-sm)] ds:min-h-[var(--min-target-size)] ds:sm:min-h-0 ds:before:absolute ds:before:inset-x-[calc((var(--min-target-size)-100%)/-2)] ds:before:inset-y-[calc((var(--min-target-size)-100%)/-2)] ds:before:content-[\"\"] ds:sm:before:hidden',\n md: 'ds:h-10 ds:ps-4 ds:pe-4 ds:text-[length:var(--font-size-base)]',\n lg: 'ds:h-12 ds:ps-6 ds:pe-6 ds:text-[length:var(--font-size-lg)]',\n },\n hideLabel: {\n true: 'ds:aspect-square ds:ps-0 ds:pe-0',\n false: '',\n },\n // Backing paint behind the outline intents. Only meaningful for\n // `outline` / `destructiveOutline` (the compound rules below);\n // ignored by the filled and deliberately see-through intents.\n background: {\n transparent: '',\n surface: '',\n },\n },\n // The outline intents carry NO bg utility of their own — the compound\n // rules below are the single source of the paint, so `transparent` vs\n // `surface` never depends on CSS order between competing bg-* classes.\n compoundVariants: [\n {\n intent: ['outline', 'destructiveOutline'],\n background: 'transparent',\n className: 'ds:bg-transparent',\n },\n {\n // 1.6.1 — the painted fill 1.4.6 baked into `outline` is now this\n // opt-in: it kept host pages legible but turned every toolbar\n // icon button on a tinted shell into a solid white square.\n intent: ['outline', 'destructiveOutline'],\n background: 'surface',\n className: 'ds:bg-[var(--background)]',\n },\n ],\n defaultVariants: {\n intent: 'primary',\n size: 'md',\n hideLabel: false,\n background: 'transparent',\n },\n },\n);\n\nexport interface ButtonProps\n extends\n ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n loading?: boolean;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n /**\n * Mirror directional icons (arrows, chevrons) horizontally when the\n * interface renders in RTL. Default `false` — most icons (trash, calendar,\n * plus) must NOT flip. Opt in per call-site for arrow / chevron glyphs.\n */\n flipIconInRtl?: boolean;\n /**\n * Visually hide the label, leaving the icon(s) and a square footprint.\n * The children stay in the DOM screen-reader-only, so the accessible\n * name is preserved. Ignored with `asChild` (the label is slotted).\n */\n hideLabel?: boolean;\n /**\n * Backing paint behind `intent=\"outline\"` / `\"destructiveOutline\"`.\n * `'transparent'` (default) shows the surface behind the button —\n * correct on toolbars and tinted shells (app header, coloured bars).\n * `'surface'` paints `--background` behind the outline — for host\n * pages and split-button segments where a see-through outline reads\n * grey on grey. Ignored by the other intents.\n */\n background?: 'transparent' | 'surface';\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n intent,\n size,\n background,\n className,\n asChild = false,\n loading = false,\n startIcon,\n endIcon,\n flipIconInRtl = false,\n hideLabel = false,\n disabled,\n children,\n ...props\n },\n ref,\n ) => {\n const Comp = asChild ? Slot : 'button';\n const labelHidden = hideLabel && !asChild;\n const isIconButton = !children && (startIcon || endIcon);\n\n const ariaLabel = props['aria-label'];\n useEffect(() => {\n if (import.meta.env.DEV && isIconButton && !ariaLabel) {\n console.warn(\n 'Button: Use IconButton for icon-only triggers to ensure accessibility and proper square sizing.',\n );\n }\n }, [isIconButton, ariaLabel]);\n\n const iconSize = size === 'sm' ? 16 : size === 'lg' ? 20 : 18;\n const iconSizeClass =\n size === 'sm'\n ? 'ds:size-4'\n : size === 'lg'\n ? 'ds:size-5'\n : 'ds:size-[18px]';\n const iconFlipClass = flipIconInRtl ? 'ds:rtl:rotate-180' : '';\n\n return (\n <Comp\n ref={ref}\n className={buttonVariants({\n intent,\n size,\n background,\n hideLabel: labelHidden,\n className,\n })}\n disabled={disabled || loading}\n aria-busy={loading || undefined}\n data-component=\"button\"\n data-intent={intent ?? undefined}\n {...props}\n >\n {loading && (\n <svg\n aria-hidden=\"true\"\n className=\"ds:animate-spin\"\n width={iconSize}\n height={iconSize}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeOpacity=\"0.25\"\n strokeWidth=\"3\"\n />\n <path\n d=\"M22 12a10 10 0 0 1-10 10\"\n stroke=\"currentColor\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n />\n </svg>\n )}\n {!loading && startIcon && (\n <span\n aria-hidden=\"true\"\n className={`ds:inline-flex ds:items-center ${iconSizeClass} ${iconFlipClass}`.trim()}\n >\n {startIcon}\n </span>\n )}\n {asChild ? (\n <Slottable>{children}</Slottable>\n ) : (\n <span\n className={loading || labelHidden ? 'ds:sr-only' : 'ds:inline-flex'}\n >\n {children}\n </span>\n )}\n {!loading && endIcon && (\n <span\n aria-hidden=\"true\"\n className={`ds:inline-flex ds:items-center ${iconSizeClass} ${iconFlipClass}`.trim()}\n >\n {endIcon}\n </span>\n )}\n </Comp>\n );\n },\n);\n\nButton.displayName = 'Button';\n"],"names":["buttonVariants","cva","Button","forwardRef","intent","size","background","className","asChild","loading","startIcon","endIcon","flipIconInRtl","hideLabel","disabled","children","props","ref","Comp","Slot","labelHidden","isIconButton","ariaLabel","useEffect","iconSize","iconSizeClass","iconFlipClass","jsxs","jsx","Slottable"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { jsx as s, jsxs as z } from "react/jsx-runtime";
|
|
|
2
2
|
import { forwardRef as be, useRef as L, useState as ee, useCallback as ge, Children as T, isValidElement as re, useEffect as we, cloneElement as G } from "react";
|
|
3
3
|
import { c as ve } from "./index-D2ZczOXr.js";
|
|
4
4
|
import { useTranslation as ye } from "react-i18next";
|
|
5
|
-
import { I as te } from "./icon-button-
|
|
5
|
+
import { I as te } from "./icon-button-CehAeZoP.js";
|
|
6
6
|
import { D as C } from "./dropdown-menu-DU-Hrf33.js";
|
|
7
7
|
import { T as he } from "./tooltip-Cp-PLePW.js";
|
|
8
8
|
import { u as Re } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
|
|
@@ -304,4 +304,4 @@ Ie.displayName = "ButtonGroup";
|
|
|
304
304
|
export {
|
|
305
305
|
Ie as B
|
|
306
306
|
};
|
|
307
|
-
//# sourceMappingURL=button-group-
|
|
307
|
+
//# sourceMappingURL=button-group-R32U7SyV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-group-QmN1VdUW.js","sources":["../../src/components/button-group/button-group.tsx"],"sourcesContent":["import {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n type HTMLAttributes,\n type KeyboardEvent as ReactKeyboardEvent,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Ellipsis } from 'lucide-react';\nimport type { ButtonProps } from '../button/button';\nimport { IconButton } from '../button/icon-button';\nimport { DropdownMenu } from '../dropdown-menu';\nimport { Tooltip } from '../tooltip';\nimport { useIsomorphicLayoutEffect } from '../../hooks/use-isomorphic-layout-effect';\nimport { usePriorityOverflow } from '../../hooks/use-priority-overflow';\n\ntype ButtonIntent = NonNullable<ButtonProps['intent']>;\n\nconst buttonGroupVariants = cva(\n 'ds:inline-flex ds:isolate ds:[&>*]:relative ds:[&>*:focus-visible]:z-10',\n {\n variants: {\n orientation: {\n horizontal: [\n 'ds:flex-row',\n 'ds:[&>*:not(:first-child)]:rounded-s-none',\n 'ds:[&>*:not(:last-child)]:rounded-e-none',\n 'ds:[&>*:not(:first-child)]:-ms-px',\n ].join(' '),\n vertical: [\n 'ds:flex-col',\n 'ds:[&>*:not(:first-child)]:rounded-t-none',\n 'ds:[&>*:not(:last-child)]:rounded-b-none',\n 'ds:[&>*:not(:first-child)]:-mt-px',\n ].join(' '),\n },\n separator: {\n true: '',\n false: '',\n },\n },\n compoundVariants: [\n {\n orientation: 'horizontal',\n separator: true,\n class:\n 'ds:[&>*:not(:last-child)]:border-e ds:[&>*:not(:last-child)]:border-border',\n },\n {\n orientation: 'vertical',\n separator: true,\n class:\n 'ds:[&>*:not(:last-child)]:border-b ds:[&>*:not(:last-child)]:border-border',\n },\n ],\n defaultVariants: {\n orientation: 'horizontal',\n separator: false,\n },\n },\n);\n\n// Hidden measurement rows: laid out (so widths are real) but invisible,\n// non-interactive and out of the a11y tree. Never display:none.\nconst MEASURE_ROW_CLASSES =\n 'ds:absolute ds:start-0 ds:top-0 ds:invisible ds:pointer-events-none';\n\ntype GroupChildProps = {\n intent?: ButtonIntent;\n background?: 'transparent' | 'surface';\n tabIndex?: number;\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n ref?: React.Ref<HTMLButtonElement>;\n children?: ReactNode;\n disabled?: boolean;\n loading?: boolean;\n startIcon?: ReactNode;\n endIcon?: ReactNode;\n hideLabel?: boolean;\n 'aria-label'?: string;\n 'data-overflow-pin'?: boolean | 'true' | '';\n 'data-overflow-tip'?: boolean | 'false';\n size?: ButtonProps['size'];\n};\n\nexport interface ButtonGroupProps\n extends\n HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof buttonGroupVariants> {\n /**\n * Accessible label for the group. Falls back to the translated\n * `ui.buttonGroup.label` string when not provided.\n */\n label?: string;\n /**\n * When the children are interactive toolbar-style controls (e.g. toggles),\n * set this to render `role=\"toolbar\"` instead of `role=\"group\"`.\n */\n toolbar?: boolean;\n /**\n * Intent applied to every Button / IconButton child that does not set\n * its own `intent`. Defaults to `outline` — grouped buttons are peers,\n * not three solid-primary CTAs.\n */\n intent?: ButtonIntent;\n /**\n * Backing paint behind the outline intents, applied to every child that\n * does not set its own `background` AND to the group's own overflow\n * trigger. `'transparent'` (default) lets the surface behind show through\n * — right on a toolbar or a tinted shell. `'surface'` paints\n * `--background` behind the whole strip, so it reads as one solid control\n * on a host page or a panel footer. A child's explicit `background` wins.\n *\n * Set this rather than passing `background` to each child: the ellipsis\n * trigger is the group's own, so no per-child prop can reach it and the\n * strip would collapse to a mismatched see-through button.\n */\n background?: 'transparent' | 'surface';\n /**\n * Size applied to every child that does not set its own `size` AND to the\n * group's own overflow trigger. Set it here rather than per child: the\n * ellipsis trigger is the group's, so a per-child `size` leaves it at the\n * default `md` and the strip ends on a button taller than the rest.\n */\n size?: ButtonProps['size'];\n /**\n * `'menu'` keeps the strip on one line whatever the container width:\n * once the buttons stop fitting (after the optional `collapseToIcons`\n * stage) trailing ones move into a dropdown behind an ellipsis trigger.\n * The group then fills its container's inline size, so give it a bounded\n * parent. Horizontal only. Children needing to stay in the strip set\n * `data-overflow-pin`; children without a string label or `aria-label`\n * cannot be mirrored into the menu and are pinned automatically.\n */\n overflow?: 'none' | 'menu';\n /**\n * With `overflow=\"menu\"`: before spilling into the menu, hide every\n * child's label (`hideLabel`) and keep only its `startIcon` — buttons\n * without an icon shrink to their padding, so give each child one.\n */\n collapseToIcons?: boolean;\n}\n\nexport const ButtonGroup = forwardRef<HTMLDivElement, ButtonGroupProps>(\n (\n {\n className,\n orientation = 'horizontal',\n separator = false,\n toolbar = false,\n intent = 'outline',\n background = 'transparent',\n size,\n label,\n overflow = 'none',\n collapseToIcons = false,\n children,\n ...props\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const accessibleLabel = label ?? t('buttonGroup.label', 'Button group');\n const moreLabel = t('buttonGroup.more', 'More options');\n\n if (\n import.meta.env.DEV &&\n overflow === 'menu' &&\n orientation === 'vertical'\n ) {\n console.warn(\n 'ButtonGroup: overflow=\"menu\" is horizontal-only; falling back to overflow=\"none\".',\n );\n }\n const overflowEnabled = overflow === 'menu' && orientation !== 'vertical';\n\n // Roving tabindex — required by the WAI-ARIA toolbar pattern.\n // When `toolbar` is true, one child owns `tabIndex=0` and the rest are\n // `-1`. Arrow keys / Home / End move focus between children, respecting\n // orientation and RTL. Plain `group` mode keeps every child natively\n // tabbable.\n const rovingTabindex = toolbar;\n const buttonsRef = useRef<Array<HTMLButtonElement | null>>([]);\n const [focusIndex, setFocusIndex] = useState(0);\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const [isRTL, setIsRTL] = useState(false);\n useIsomorphicLayoutEffect(() => {\n if (typeof window === 'undefined') return;\n const node = rootRef.current;\n if (!node) return;\n setIsRTL(window.getComputedStyle(node).direction === 'rtl');\n }, []);\n\n const handleRootKeyDown = useCallback(\n (event: ReactKeyboardEvent<HTMLDivElement>) => {\n if (!rovingTabindex) return;\n const count = buttonsRef.current.filter(Boolean).length;\n if (count === 0) return;\n\n const forwardKey =\n orientation === 'vertical'\n ? 'ArrowDown'\n : isRTL\n ? 'ArrowLeft'\n : 'ArrowRight';\n const backwardKey =\n orientation === 'vertical'\n ? 'ArrowUp'\n : isRTL\n ? 'ArrowRight'\n : 'ArrowLeft';\n\n let next: number | null = null;\n if (event.key === forwardKey) next = (focusIndex + 1) % count;\n else if (event.key === backwardKey)\n next = (focusIndex - 1 + count) % count;\n else if (event.key === 'Home') next = 0;\n else if (event.key === 'End') next = count - 1;\n if (next === null) return;\n\n // Skip over disabled children.\n const maxAttempts = count;\n let attempts = 0;\n let candidate = next;\n while (attempts < maxAttempts) {\n const el = buttonsRef.current[candidate];\n if (\n el &&\n el.getAttribute('aria-disabled') !== 'true' &&\n !el.disabled\n ) {\n break;\n }\n candidate =\n event.key === backwardKey || event.key === 'End'\n ? (candidate - 1 + count) % count\n : (candidate + 1) % count;\n attempts += 1;\n }\n event.preventDefault();\n setFocusIndex(candidate);\n buttonsRef.current[candidate]?.focus();\n },\n [rovingTabindex, orientation, isRTL, focusIndex],\n );\n\n /* ---- Overflow bookkeeping (menu mode only) --------------------- */\n const childElements = overflowEnabled\n ? (Children.toArray(children).filter(isValidElement) as Array<\n ReactElement<GroupChildProps>\n >)\n : [];\n\n const mirrorLabel = (child: ReactElement<GroupChildProps>) => {\n if (typeof child.props.children === 'string') return child.props.children;\n const aria = child.props['aria-label'];\n return typeof aria === 'string' ? aria : null;\n };\n const warnedRef = useRef(false);\n const pinnedFlags = childElements.map((child) => {\n const explicit = child.props['data-overflow-pin'] !== undefined;\n const mirrorable = mirrorLabel(child) !== null;\n if (\n import.meta.env.DEV &&\n !explicit &&\n !mirrorable &&\n !warnedRef.current\n ) {\n warnedRef.current = true;\n console.warn(\n 'ButtonGroup: a child without a string label or aria-label cannot move into the overflow menu — it stays pinned in the strip.',\n );\n }\n return explicit || !mirrorable;\n });\n\n const {\n containerRef,\n fullRowRef,\n iconRowRef,\n triggerProbeRef,\n stage,\n visible,\n overflowing,\n } = usePriorityOverflow({\n enabled: overflowEnabled,\n count: childElements.length,\n twoStage: collapseToIcons,\n pinned: pinnedFlags,\n });\n\n const triggerNodeRef = useRef<HTMLButtonElement | null>(null);\n const visibleCount = overflowEnabled\n ? visible.filter(Boolean).length\n : Children.count(children);\n\n // Clamp the roving focus when items move into the menu; hand real focus\n // to the trigger only when the focused node was the one that left.\n useEffect(() => {\n if (!rovingTabindex || !overflowEnabled) return;\n const total = visibleCount + (overflowing ? 1 : 0);\n if (total > 0 && focusIndex >= total) {\n setFocusIndex(total - 1);\n if (document.activeElement === document.body) {\n triggerNodeRef.current?.focus();\n }\n }\n }, [\n rovingTabindex,\n overflowEnabled,\n visibleCount,\n overflowing,\n focusIndex,\n ]);\n\n const mergeChildRef = (\n childEl: ReactElement<GroupChildProps>,\n index: number,\n ) => {\n return (node: HTMLButtonElement | null) => {\n buttonsRef.current[index] = node;\n const originalRef = (\n childEl as unknown as { ref?: React.Ref<HTMLButtonElement> }\n ).ref;\n if (typeof originalRef === 'function') originalRef(node);\n else if (\n originalRef !== null &&\n originalRef !== undefined &&\n typeof originalRef === 'object'\n ) {\n (\n originalRef as React.MutableRefObject<HTMLButtonElement | null>\n ).current = node;\n }\n };\n };\n\n /* ---- Legacy path: overflow=\"none\" keeps today's exact DOM ------ */\n const enhanced = overflowEnabled\n ? null\n : Children.map(children, (child, index) => {\n if (!isValidElement(child)) return child;\n const childEl = child as ReactElement<GroupChildProps>;\n\n // Roving-tabindex wiring (ref / tabIndex / onFocus) is only needed in\n // `toolbar` mode. In plain `group` mode inject ONLY `intent`, so the group\n // composes with members that don't forward a ref — e.g. each wrapped in a\n // `DropdownMenu.Root` for a split-button strip — without React's \"function\n // components cannot be given refs\" warning. The joined styling is DOM-level\n // (`[&>*]`), so it still applies to the rendered buttons either way.\n const overrides: Record<string, unknown> = {\n intent: childEl.props.intent ?? intent,\n background: childEl.props.background ?? background,\n ...(size ? { size: childEl.props.size ?? size } : null),\n };\n if (rovingTabindex) {\n overrides.tabIndex = index === focusIndex ? 0 : -1;\n overrides.onFocus = (ev: React.FocusEvent<HTMLButtonElement>) => {\n setFocusIndex(index);\n childEl.props.onFocus?.(ev);\n };\n overrides.ref = mergeChildRef(childEl, index);\n }\n\n return cloneElement(\n childEl,\n overrides as Partial<typeof childEl.props>,\n );\n });\n\n /* ---- Menu path: strip of visible children + ellipsis trigger --- */\n let stripChildren: ReactNode = null;\n let menuItems: ReactNode = null;\n if (overflowEnabled) {\n buttonsRef.current.length = visibleCount + (overflowing ? 1 : 0);\n let stripIndex = -1;\n stripChildren = childElements.map((childEl, i) => {\n if (!visible[i]) return null;\n stripIndex += 1;\n const index = stripIndex;\n const overrides: Record<string, unknown> = {\n intent: childEl.props.intent ?? intent,\n background: childEl.props.background ?? background,\n ...(size ? { size: childEl.props.size ?? size } : null),\n };\n // Only children with an icon AND a text label collapse; icon-only\n // children (their children ARE the icon) would go blank.\n if (\n collapseToIcons &&\n stage === 'icons' &&\n childEl.props.children &&\n (childEl.props.startIcon || childEl.props.endIcon)\n )\n overrides.hideLabel = true;\n if (rovingTabindex) {\n overrides.tabIndex = index === focusIndex ? 0 : -1;\n overrides.onFocus = (ev: React.FocusEvent<HTMLButtonElement>) => {\n setFocusIndex(index);\n childEl.props.onFocus?.(ev);\n };\n overrides.ref = mergeChildRef(childEl, index);\n }\n const collapsed = overrides.hideLabel === true;\n const cloned = cloneElement(\n childEl,\n overrides as Partial<GroupChildProps>,\n );\n // A collapsed child keeps its label screen-reader-only, so assistive\n // tech is fine — but a sighted user is left with a bare glyph and no\n // way to learn what it does. Give the collapsed stage a Tooltip.\n // `Tooltip` renders its trigger `asChild`, so the button stays the\n // group's DIRECT child and the joined-border `[&>*]` rules still hit.\n // A child that is itself a hover trigger (a HoverCard preview, say)\n // opts out with `data-overflow-tip={false}` — two overlays racing on\n // one pointer is worse than none.\n const ownsItsTip =\n childEl.props['data-overflow-tip'] === false ||\n childEl.props['data-overflow-tip'] === 'false';\n const tip = collapsed && !ownsItsTip ? mirrorLabel(childEl) : null;\n return tip ? (\n <Tooltip key={childEl.key ?? i} label={tip}>\n {cloned}\n </Tooltip>\n ) : (\n cloned\n );\n });\n\n menuItems = childElements.map((childEl, i) => {\n if (visible[i]) return null;\n const itemLabel = mirrorLabel(childEl);\n if (itemLabel === null) return null;\n return (\n <DropdownMenu.Item\n key={childEl.key ?? i}\n startIcon={childEl.props.startIcon}\n disabled={\n childEl.props.disabled === true || childEl.props.loading === true\n }\n onSelect={(event) => {\n childEl.props.onClick?.(\n event as unknown as React.MouseEvent<HTMLButtonElement>,\n );\n }}\n >\n {itemLabel}\n </DropdownMenu.Item>\n );\n });\n }\n\n const mergedRootRef = (node: HTMLDivElement | null) => {\n rootRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref && typeof ref === 'object') {\n (ref as React.MutableRefObject<HTMLDivElement | null>).current = node;\n }\n };\n\n if (!overflowEnabled) {\n return (\n <div\n ref={mergedRootRef}\n role={toolbar ? 'toolbar' : 'group'}\n aria-label={accessibleLabel}\n aria-orientation={toolbar ? (orientation ?? 'horizontal') : undefined}\n data-component=\"button-group\"\n onKeyDown={handleRootKeyDown}\n className={buttonGroupVariants({ orientation, separator, className })}\n {...props}\n >\n {enhanced}\n </div>\n );\n }\n\n const stripClasses = buttonGroupVariants({ orientation, separator });\n const triggerIndex = visibleCount;\n const measureClone = (\n childEl: ReactElement<GroupChildProps>,\n i: number,\n icons: boolean,\n ) =>\n cloneElement(childEl, {\n key: childEl.key ?? i,\n intent: childEl.props.intent ?? intent,\n background: childEl.props.background ?? background,\n ...(size ? { size: childEl.props.size ?? size } : null),\n tabIndex: -1,\n // Same rule as the live strip: icon-only children never hideLabel.\n ...(icons &&\n childEl.props.children &&\n (childEl.props.startIcon || childEl.props.endIcon)\n ? { hideLabel: true }\n : null),\n ref: null,\n } as Partial<GroupChildProps>);\n\n return (\n <div\n ref={mergedRootRef}\n data-component=\"button-group\"\n className={[\n 'ds:relative ds:block ds:w-full ds:min-w-0 ds:overflow-x-clip',\n className ?? '',\n ]\n .join(' ')\n .trim()}\n {...props}\n >\n <div ref={containerRef} className=\"ds:block ds:w-full ds:min-w-0\">\n {/* Measurement rows: every item at natural width, both stages. */}\n <div\n ref={fullRowRef}\n aria-hidden=\"true\"\n inert\n className={`${MEASURE_ROW_CLASSES} ${stripClasses}`}\n >\n {childElements.map((c, i) => measureClone(c, i, false))}\n </div>\n {collapseToIcons ? (\n <div\n ref={iconRowRef}\n aria-hidden=\"true\"\n inert\n className={`${MEASURE_ROW_CLASSES} ${stripClasses}`}\n >\n {childElements.map((c, i) => measureClone(c, i, true))}\n </div>\n ) : null}\n <span\n ref={triggerProbeRef}\n aria-hidden=\"true\"\n inert\n className={MEASURE_ROW_CLASSES}\n >\n <IconButton\n icon={<Ellipsis />}\n intent={intent}\n background={background}\n size={size}\n aria-label={moreLabel}\n tabIndex={-1}\n />\n </span>\n\n <div\n role={toolbar ? 'toolbar' : 'group'}\n aria-label={accessibleLabel}\n aria-orientation={toolbar ? 'horizontal' : undefined}\n onKeyDown={handleRootKeyDown}\n /* `align-top` kills the baseline descender gap under an\n inline-level strip: without it the group measures ~3px taller\n than its own buttons, so it never lines up with a sibling\n control (a status pill, a select) in a shared `items-center`\n row. */\n className={`${stripClasses} ds:max-w-full ds:align-top`}\n >\n {stripChildren}\n {overflowing ? (\n <DropdownMenu.Root>\n <DropdownMenu.Trigger asChild>\n <IconButton\n icon={<Ellipsis />}\n intent={intent}\n background={background}\n size={size}\n aria-label={moreLabel}\n ref={(node: HTMLButtonElement | null) => {\n triggerNodeRef.current = node;\n buttonsRef.current[triggerIndex] = node;\n }}\n tabIndex={\n rovingTabindex\n ? focusIndex === triggerIndex\n ? 0\n : -1\n : undefined\n }\n onFocus={\n rovingTabindex\n ? () => setFocusIndex(triggerIndex)\n : undefined\n }\n />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content align=\"end\">\n {menuItems}\n </DropdownMenu.Content>\n </DropdownMenu.Root>\n ) : null}\n </div>\n </div>\n </div>\n );\n },\n);\n\nButtonGroup.displayName = 'ButtonGroup';\n"],"names":["buttonGroupVariants","cva","MEASURE_ROW_CLASSES","ButtonGroup","forwardRef","className","orientation","separator","toolbar","intent","background","size","label","overflow","collapseToIcons","children","props","ref","t","useTranslation","accessibleLabel","moreLabel","overflowEnabled","rovingTabindex","buttonsRef","useRef","focusIndex","setFocusIndex","useState","rootRef","isRTL","setIsRTL","useIsomorphicLayoutEffect","node","handleRootKeyDown","useCallback","event","count","forwardKey","backwardKey","next","maxAttempts","attempts","candidate","el","_a","childElements","Children","isValidElement","mirrorLabel","child","aria","pinnedFlags","explicit","mirrorable","containerRef","fullRowRef","iconRowRef","triggerProbeRef","stage","visible","overflowing","usePriorityOverflow","triggerNodeRef","visibleCount","useEffect","total","mergeChildRef","childEl","index","originalRef","enhanced","overrides","ev","_b","cloneElement","stripChildren","menuItems","stripIndex","i","collapsed","cloned","ownsItsTip","tip","Tooltip","itemLabel","jsx","DropdownMenu","mergedRootRef","stripClasses","triggerIndex","measureClone","icons","c","IconButton","Ellipsis","jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"button-group-R32U7SyV.js","sources":["../../src/components/button-group/button-group.tsx"],"sourcesContent":["import {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n type HTMLAttributes,\n type KeyboardEvent as ReactKeyboardEvent,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Ellipsis } from 'lucide-react';\nimport type { ButtonProps } from '../button/button';\nimport { IconButton } from '../button/icon-button';\nimport { DropdownMenu } from '../dropdown-menu';\nimport { Tooltip } from '../tooltip';\nimport { useIsomorphicLayoutEffect } from '../../hooks/use-isomorphic-layout-effect';\nimport { usePriorityOverflow } from '../../hooks/use-priority-overflow';\n\ntype ButtonIntent = NonNullable<ButtonProps['intent']>;\n\nconst buttonGroupVariants = cva(\n 'ds:inline-flex ds:isolate ds:[&>*]:relative ds:[&>*:focus-visible]:z-10',\n {\n variants: {\n orientation: {\n horizontal: [\n 'ds:flex-row',\n 'ds:[&>*:not(:first-child)]:rounded-s-none',\n 'ds:[&>*:not(:last-child)]:rounded-e-none',\n 'ds:[&>*:not(:first-child)]:-ms-px',\n ].join(' '),\n vertical: [\n 'ds:flex-col',\n 'ds:[&>*:not(:first-child)]:rounded-t-none',\n 'ds:[&>*:not(:last-child)]:rounded-b-none',\n 'ds:[&>*:not(:first-child)]:-mt-px',\n ].join(' '),\n },\n separator: {\n true: '',\n false: '',\n },\n },\n compoundVariants: [\n {\n orientation: 'horizontal',\n separator: true,\n class:\n 'ds:[&>*:not(:last-child)]:border-e ds:[&>*:not(:last-child)]:border-border',\n },\n {\n orientation: 'vertical',\n separator: true,\n class:\n 'ds:[&>*:not(:last-child)]:border-b ds:[&>*:not(:last-child)]:border-border',\n },\n ],\n defaultVariants: {\n orientation: 'horizontal',\n separator: false,\n },\n },\n);\n\n// Hidden measurement rows: laid out (so widths are real) but invisible,\n// non-interactive and out of the a11y tree. Never display:none.\nconst MEASURE_ROW_CLASSES =\n 'ds:absolute ds:start-0 ds:top-0 ds:invisible ds:pointer-events-none';\n\ntype GroupChildProps = {\n intent?: ButtonIntent;\n background?: 'transparent' | 'surface';\n tabIndex?: number;\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n ref?: React.Ref<HTMLButtonElement>;\n children?: ReactNode;\n disabled?: boolean;\n loading?: boolean;\n startIcon?: ReactNode;\n endIcon?: ReactNode;\n hideLabel?: boolean;\n 'aria-label'?: string;\n 'data-overflow-pin'?: boolean | 'true' | '';\n 'data-overflow-tip'?: boolean | 'false';\n size?: ButtonProps['size'];\n};\n\nexport interface ButtonGroupProps\n extends\n HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof buttonGroupVariants> {\n /**\n * Accessible label for the group. Falls back to the translated\n * `ui.buttonGroup.label` string when not provided.\n */\n label?: string;\n /**\n * When the children are interactive toolbar-style controls (e.g. toggles),\n * set this to render `role=\"toolbar\"` instead of `role=\"group\"`.\n */\n toolbar?: boolean;\n /**\n * Intent applied to every Button / IconButton child that does not set\n * its own `intent`. Defaults to `outline` — grouped buttons are peers,\n * not three solid-primary CTAs.\n */\n intent?: ButtonIntent;\n /**\n * Backing paint behind the outline intents, applied to every child that\n * does not set its own `background` AND to the group's own overflow\n * trigger. `'transparent'` (default) lets the surface behind show through\n * — right on a toolbar or a tinted shell. `'surface'` paints\n * `--background` behind the whole strip, so it reads as one solid control\n * on a host page or a panel footer. A child's explicit `background` wins.\n *\n * Set this rather than passing `background` to each child: the ellipsis\n * trigger is the group's own, so no per-child prop can reach it and the\n * strip would collapse to a mismatched see-through button.\n */\n background?: 'transparent' | 'surface';\n /**\n * Size applied to every child that does not set its own `size` AND to the\n * group's own overflow trigger. Set it here rather than per child: the\n * ellipsis trigger is the group's, so a per-child `size` leaves it at the\n * default `md` and the strip ends on a button taller than the rest.\n */\n size?: ButtonProps['size'];\n /**\n * `'menu'` keeps the strip on one line whatever the container width:\n * once the buttons stop fitting (after the optional `collapseToIcons`\n * stage) trailing ones move into a dropdown behind an ellipsis trigger.\n * The group then fills its container's inline size, so give it a bounded\n * parent. Horizontal only. Children needing to stay in the strip set\n * `data-overflow-pin`; children without a string label or `aria-label`\n * cannot be mirrored into the menu and are pinned automatically.\n */\n overflow?: 'none' | 'menu';\n /**\n * With `overflow=\"menu\"`: before spilling into the menu, hide every\n * child's label (`hideLabel`) and keep only its `startIcon` — buttons\n * without an icon shrink to their padding, so give each child one.\n */\n collapseToIcons?: boolean;\n}\n\nexport const ButtonGroup = forwardRef<HTMLDivElement, ButtonGroupProps>(\n (\n {\n className,\n orientation = 'horizontal',\n separator = false,\n toolbar = false,\n intent = 'outline',\n background = 'transparent',\n size,\n label,\n overflow = 'none',\n collapseToIcons = false,\n children,\n ...props\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const accessibleLabel = label ?? t('buttonGroup.label', 'Button group');\n const moreLabel = t('buttonGroup.more', 'More options');\n\n if (\n import.meta.env.DEV &&\n overflow === 'menu' &&\n orientation === 'vertical'\n ) {\n console.warn(\n 'ButtonGroup: overflow=\"menu\" is horizontal-only; falling back to overflow=\"none\".',\n );\n }\n const overflowEnabled = overflow === 'menu' && orientation !== 'vertical';\n\n // Roving tabindex — required by the WAI-ARIA toolbar pattern.\n // When `toolbar` is true, one child owns `tabIndex=0` and the rest are\n // `-1`. Arrow keys / Home / End move focus between children, respecting\n // orientation and RTL. Plain `group` mode keeps every child natively\n // tabbable.\n const rovingTabindex = toolbar;\n const buttonsRef = useRef<Array<HTMLButtonElement | null>>([]);\n const [focusIndex, setFocusIndex] = useState(0);\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const [isRTL, setIsRTL] = useState(false);\n useIsomorphicLayoutEffect(() => {\n if (typeof window === 'undefined') return;\n const node = rootRef.current;\n if (!node) return;\n setIsRTL(window.getComputedStyle(node).direction === 'rtl');\n }, []);\n\n const handleRootKeyDown = useCallback(\n (event: ReactKeyboardEvent<HTMLDivElement>) => {\n if (!rovingTabindex) return;\n const count = buttonsRef.current.filter(Boolean).length;\n if (count === 0) return;\n\n const forwardKey =\n orientation === 'vertical'\n ? 'ArrowDown'\n : isRTL\n ? 'ArrowLeft'\n : 'ArrowRight';\n const backwardKey =\n orientation === 'vertical'\n ? 'ArrowUp'\n : isRTL\n ? 'ArrowRight'\n : 'ArrowLeft';\n\n let next: number | null = null;\n if (event.key === forwardKey) next = (focusIndex + 1) % count;\n else if (event.key === backwardKey)\n next = (focusIndex - 1 + count) % count;\n else if (event.key === 'Home') next = 0;\n else if (event.key === 'End') next = count - 1;\n if (next === null) return;\n\n // Skip over disabled children.\n const maxAttempts = count;\n let attempts = 0;\n let candidate = next;\n while (attempts < maxAttempts) {\n const el = buttonsRef.current[candidate];\n if (\n el &&\n el.getAttribute('aria-disabled') !== 'true' &&\n !el.disabled\n ) {\n break;\n }\n candidate =\n event.key === backwardKey || event.key === 'End'\n ? (candidate - 1 + count) % count\n : (candidate + 1) % count;\n attempts += 1;\n }\n event.preventDefault();\n setFocusIndex(candidate);\n buttonsRef.current[candidate]?.focus();\n },\n [rovingTabindex, orientation, isRTL, focusIndex],\n );\n\n /* ---- Overflow bookkeeping (menu mode only) --------------------- */\n const childElements = overflowEnabled\n ? (Children.toArray(children).filter(isValidElement) as Array<\n ReactElement<GroupChildProps>\n >)\n : [];\n\n const mirrorLabel = (child: ReactElement<GroupChildProps>) => {\n if (typeof child.props.children === 'string') return child.props.children;\n const aria = child.props['aria-label'];\n return typeof aria === 'string' ? aria : null;\n };\n const warnedRef = useRef(false);\n const pinnedFlags = childElements.map((child) => {\n const explicit = child.props['data-overflow-pin'] !== undefined;\n const mirrorable = mirrorLabel(child) !== null;\n if (\n import.meta.env.DEV &&\n !explicit &&\n !mirrorable &&\n !warnedRef.current\n ) {\n warnedRef.current = true;\n console.warn(\n 'ButtonGroup: a child without a string label or aria-label cannot move into the overflow menu — it stays pinned in the strip.',\n );\n }\n return explicit || !mirrorable;\n });\n\n const {\n containerRef,\n fullRowRef,\n iconRowRef,\n triggerProbeRef,\n stage,\n visible,\n overflowing,\n } = usePriorityOverflow({\n enabled: overflowEnabled,\n count: childElements.length,\n twoStage: collapseToIcons,\n pinned: pinnedFlags,\n });\n\n const triggerNodeRef = useRef<HTMLButtonElement | null>(null);\n const visibleCount = overflowEnabled\n ? visible.filter(Boolean).length\n : Children.count(children);\n\n // Clamp the roving focus when items move into the menu; hand real focus\n // to the trigger only when the focused node was the one that left.\n useEffect(() => {\n if (!rovingTabindex || !overflowEnabled) return;\n const total = visibleCount + (overflowing ? 1 : 0);\n if (total > 0 && focusIndex >= total) {\n setFocusIndex(total - 1);\n if (document.activeElement === document.body) {\n triggerNodeRef.current?.focus();\n }\n }\n }, [\n rovingTabindex,\n overflowEnabled,\n visibleCount,\n overflowing,\n focusIndex,\n ]);\n\n const mergeChildRef = (\n childEl: ReactElement<GroupChildProps>,\n index: number,\n ) => {\n return (node: HTMLButtonElement | null) => {\n buttonsRef.current[index] = node;\n const originalRef = (\n childEl as unknown as { ref?: React.Ref<HTMLButtonElement> }\n ).ref;\n if (typeof originalRef === 'function') originalRef(node);\n else if (\n originalRef !== null &&\n originalRef !== undefined &&\n typeof originalRef === 'object'\n ) {\n (\n originalRef as React.MutableRefObject<HTMLButtonElement | null>\n ).current = node;\n }\n };\n };\n\n /* ---- Legacy path: overflow=\"none\" keeps today's exact DOM ------ */\n const enhanced = overflowEnabled\n ? null\n : Children.map(children, (child, index) => {\n if (!isValidElement(child)) return child;\n const childEl = child as ReactElement<GroupChildProps>;\n\n // Roving-tabindex wiring (ref / tabIndex / onFocus) is only needed in\n // `toolbar` mode. In plain `group` mode inject ONLY `intent`, so the group\n // composes with members that don't forward a ref — e.g. each wrapped in a\n // `DropdownMenu.Root` for a split-button strip — without React's \"function\n // components cannot be given refs\" warning. The joined styling is DOM-level\n // (`[&>*]`), so it still applies to the rendered buttons either way.\n const overrides: Record<string, unknown> = {\n intent: childEl.props.intent ?? intent,\n background: childEl.props.background ?? background,\n ...(size ? { size: childEl.props.size ?? size } : null),\n };\n if (rovingTabindex) {\n overrides.tabIndex = index === focusIndex ? 0 : -1;\n overrides.onFocus = (ev: React.FocusEvent<HTMLButtonElement>) => {\n setFocusIndex(index);\n childEl.props.onFocus?.(ev);\n };\n overrides.ref = mergeChildRef(childEl, index);\n }\n\n return cloneElement(\n childEl,\n overrides as Partial<typeof childEl.props>,\n );\n });\n\n /* ---- Menu path: strip of visible children + ellipsis trigger --- */\n let stripChildren: ReactNode = null;\n let menuItems: ReactNode = null;\n if (overflowEnabled) {\n buttonsRef.current.length = visibleCount + (overflowing ? 1 : 0);\n let stripIndex = -1;\n stripChildren = childElements.map((childEl, i) => {\n if (!visible[i]) return null;\n stripIndex += 1;\n const index = stripIndex;\n const overrides: Record<string, unknown> = {\n intent: childEl.props.intent ?? intent,\n background: childEl.props.background ?? background,\n ...(size ? { size: childEl.props.size ?? size } : null),\n };\n // Only children with an icon AND a text label collapse; icon-only\n // children (their children ARE the icon) would go blank.\n if (\n collapseToIcons &&\n stage === 'icons' &&\n childEl.props.children &&\n (childEl.props.startIcon || childEl.props.endIcon)\n )\n overrides.hideLabel = true;\n if (rovingTabindex) {\n overrides.tabIndex = index === focusIndex ? 0 : -1;\n overrides.onFocus = (ev: React.FocusEvent<HTMLButtonElement>) => {\n setFocusIndex(index);\n childEl.props.onFocus?.(ev);\n };\n overrides.ref = mergeChildRef(childEl, index);\n }\n const collapsed = overrides.hideLabel === true;\n const cloned = cloneElement(\n childEl,\n overrides as Partial<GroupChildProps>,\n );\n // A collapsed child keeps its label screen-reader-only, so assistive\n // tech is fine — but a sighted user is left with a bare glyph and no\n // way to learn what it does. Give the collapsed stage a Tooltip.\n // `Tooltip` renders its trigger `asChild`, so the button stays the\n // group's DIRECT child and the joined-border `[&>*]` rules still hit.\n // A child that is itself a hover trigger (a HoverCard preview, say)\n // opts out with `data-overflow-tip={false}` — two overlays racing on\n // one pointer is worse than none.\n const ownsItsTip =\n childEl.props['data-overflow-tip'] === false ||\n childEl.props['data-overflow-tip'] === 'false';\n const tip = collapsed && !ownsItsTip ? mirrorLabel(childEl) : null;\n return tip ? (\n <Tooltip key={childEl.key ?? i} label={tip}>\n {cloned}\n </Tooltip>\n ) : (\n cloned\n );\n });\n\n menuItems = childElements.map((childEl, i) => {\n if (visible[i]) return null;\n const itemLabel = mirrorLabel(childEl);\n if (itemLabel === null) return null;\n return (\n <DropdownMenu.Item\n key={childEl.key ?? i}\n startIcon={childEl.props.startIcon}\n disabled={\n childEl.props.disabled === true || childEl.props.loading === true\n }\n onSelect={(event) => {\n childEl.props.onClick?.(\n event as unknown as React.MouseEvent<HTMLButtonElement>,\n );\n }}\n >\n {itemLabel}\n </DropdownMenu.Item>\n );\n });\n }\n\n const mergedRootRef = (node: HTMLDivElement | null) => {\n rootRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref && typeof ref === 'object') {\n (ref as React.MutableRefObject<HTMLDivElement | null>).current = node;\n }\n };\n\n if (!overflowEnabled) {\n return (\n <div\n ref={mergedRootRef}\n role={toolbar ? 'toolbar' : 'group'}\n aria-label={accessibleLabel}\n aria-orientation={toolbar ? (orientation ?? 'horizontal') : undefined}\n data-component=\"button-group\"\n onKeyDown={handleRootKeyDown}\n className={buttonGroupVariants({ orientation, separator, className })}\n {...props}\n >\n {enhanced}\n </div>\n );\n }\n\n const stripClasses = buttonGroupVariants({ orientation, separator });\n const triggerIndex = visibleCount;\n const measureClone = (\n childEl: ReactElement<GroupChildProps>,\n i: number,\n icons: boolean,\n ) =>\n cloneElement(childEl, {\n key: childEl.key ?? i,\n intent: childEl.props.intent ?? intent,\n background: childEl.props.background ?? background,\n ...(size ? { size: childEl.props.size ?? size } : null),\n tabIndex: -1,\n // Same rule as the live strip: icon-only children never hideLabel.\n ...(icons &&\n childEl.props.children &&\n (childEl.props.startIcon || childEl.props.endIcon)\n ? { hideLabel: true }\n : null),\n ref: null,\n } as Partial<GroupChildProps>);\n\n return (\n <div\n ref={mergedRootRef}\n data-component=\"button-group\"\n className={[\n 'ds:relative ds:block ds:w-full ds:min-w-0 ds:overflow-x-clip',\n className ?? '',\n ]\n .join(' ')\n .trim()}\n {...props}\n >\n <div ref={containerRef} className=\"ds:block ds:w-full ds:min-w-0\">\n {/* Measurement rows: every item at natural width, both stages. */}\n <div\n ref={fullRowRef}\n aria-hidden=\"true\"\n inert\n className={`${MEASURE_ROW_CLASSES} ${stripClasses}`}\n >\n {childElements.map((c, i) => measureClone(c, i, false))}\n </div>\n {collapseToIcons ? (\n <div\n ref={iconRowRef}\n aria-hidden=\"true\"\n inert\n className={`${MEASURE_ROW_CLASSES} ${stripClasses}`}\n >\n {childElements.map((c, i) => measureClone(c, i, true))}\n </div>\n ) : null}\n <span\n ref={triggerProbeRef}\n aria-hidden=\"true\"\n inert\n className={MEASURE_ROW_CLASSES}\n >\n <IconButton\n icon={<Ellipsis />}\n intent={intent}\n background={background}\n size={size}\n aria-label={moreLabel}\n tabIndex={-1}\n />\n </span>\n\n <div\n role={toolbar ? 'toolbar' : 'group'}\n aria-label={accessibleLabel}\n aria-orientation={toolbar ? 'horizontal' : undefined}\n onKeyDown={handleRootKeyDown}\n /* `align-top` kills the baseline descender gap under an\n inline-level strip: without it the group measures ~3px taller\n than its own buttons, so it never lines up with a sibling\n control (a status pill, a select) in a shared `items-center`\n row. */\n className={`${stripClasses} ds:max-w-full ds:align-top`}\n >\n {stripChildren}\n {overflowing ? (\n <DropdownMenu.Root>\n <DropdownMenu.Trigger asChild>\n <IconButton\n icon={<Ellipsis />}\n intent={intent}\n background={background}\n size={size}\n aria-label={moreLabel}\n ref={(node: HTMLButtonElement | null) => {\n triggerNodeRef.current = node;\n buttonsRef.current[triggerIndex] = node;\n }}\n tabIndex={\n rovingTabindex\n ? focusIndex === triggerIndex\n ? 0\n : -1\n : undefined\n }\n onFocus={\n rovingTabindex\n ? () => setFocusIndex(triggerIndex)\n : undefined\n }\n />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content align=\"end\">\n {menuItems}\n </DropdownMenu.Content>\n </DropdownMenu.Root>\n ) : null}\n </div>\n </div>\n </div>\n );\n },\n);\n\nButtonGroup.displayName = 'ButtonGroup';\n"],"names":["buttonGroupVariants","cva","MEASURE_ROW_CLASSES","ButtonGroup","forwardRef","className","orientation","separator","toolbar","intent","background","size","label","overflow","collapseToIcons","children","props","ref","t","useTranslation","accessibleLabel","moreLabel","overflowEnabled","rovingTabindex","buttonsRef","useRef","focusIndex","setFocusIndex","useState","rootRef","isRTL","setIsRTL","useIsomorphicLayoutEffect","node","handleRootKeyDown","useCallback","event","count","forwardKey","backwardKey","next","maxAttempts","attempts","candidate","el","_a","childElements","Children","isValidElement","mirrorLabel","child","aria","pinnedFlags","explicit","mirrorable","containerRef","fullRowRef","iconRowRef","triggerProbeRef","stage","visible","overflowing","usePriorityOverflow","triggerNodeRef","visibleCount","useEffect","total","mergeChildRef","childEl","index","originalRef","enhanced","overrides","ev","_b","cloneElement","stripChildren","menuItems","stripIndex","i","collapsed","cloned","ownsItsTip","tip","Tooltip","itemLabel","jsx","DropdownMenu","mergedRootRef","stripClasses","triggerIndex","measureClone","icons","c","IconButton","Ellipsis","jsxs"],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ import { u as cr } from "./use-prefers-reduced-motion-BMwIQRjB.js";
|
|
|
14
14
|
import { u as ur } from "./registry-DvAUVLHh.js";
|
|
15
15
|
import { w as mr, C as fr } from "./calendar-event-card-DKUnT9Be.js";
|
|
16
16
|
import { A as pr } from "./avatar-CkDeQOSI.js";
|
|
17
|
-
import { B as vr } from "./button-
|
|
17
|
+
import { B as vr } from "./button-CaUe1uyd.js";
|
|
18
18
|
import { R as hr } from "./resource-chip-DYTG0IQQ.js";
|
|
19
19
|
import { T as gr } from "./tooltip-Cp-PLePW.js";
|
|
20
20
|
import { V as yr } from "./visually-hidden-BHxEUGyT.js";
|
|
@@ -1318,4 +1318,4 @@ export {
|
|
|
1318
1318
|
br as c,
|
|
1319
1319
|
be as r
|
|
1320
1320
|
};
|
|
1321
|
-
//# sourceMappingURL=calendar-
|
|
1321
|
+
//# sourceMappingURL=calendar-ChJQzRw-.js.map
|