@alfadocs/ui-kit-debug 1.90.1 → 1.91.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/address-autocomplete-DR4Xn23Z.js +519 -0
- package/dist/_chunks/address-autocomplete-DR4Xn23Z.js.map +1 -0
- package/dist/_chunks/{address-fields-CfnXK8RT.js → address-fields-qxQkGwPf.js} +5 -5
- package/dist/_chunks/{address-fields-CfnXK8RT.js.map → address-fields-qxQkGwPf.js.map} +1 -1
- package/dist/_chunks/{agenda-card-BDuvreCe.js → agenda-card-BhY342MA.js} +2 -2
- package/dist/_chunks/{agenda-card-BDuvreCe.js.map → agenda-card-BhY342MA.js.map} +1 -1
- package/dist/_chunks/{agenda-tray-D-jvptdo.js → agenda-tray-BmxBGEci.js} +2 -2
- package/dist/_chunks/{agenda-tray-D-jvptdo.js.map → agenda-tray-BmxBGEci.js.map} +1 -1
- package/dist/_chunks/{ai-permission-notice-CoW22jx1.js → ai-permission-notice-VNh3W57L.js} +2 -2
- package/dist/_chunks/{ai-permission-notice-CoW22jx1.js.map → ai-permission-notice-VNh3W57L.js.map} +1 -1
- package/dist/_chunks/{alia-sidebar-CsTRAxC8.js → alia-sidebar-ovRX_oti.js} +3 -3
- package/dist/_chunks/{alia-sidebar-CsTRAxC8.js.map → alia-sidebar-ovRX_oti.js.map} +1 -1
- package/dist/_chunks/{anamnesis-summary-rows-fbEQwcuW.js → anamnesis-summary-rows-EKPfVCmh.js} +2 -2
- package/dist/_chunks/{anamnesis-summary-rows-fbEQwcuW.js.map → anamnesis-summary-rows-EKPfVCmh.js.map} +1 -1
- package/dist/_chunks/{appointment-card-5JMWi9_f.js → appointment-card-Bstc1p7a.js} +2 -2
- package/dist/_chunks/{appointment-card-5JMWi9_f.js.map → appointment-card-Bstc1p7a.js.map} +1 -1
- package/dist/_chunks/{appointment-peek-39BwVMUf.js → appointment-peek-C0kKqnFk.js} +2 -2
- package/dist/_chunks/{appointment-peek-39BwVMUf.js.map → appointment-peek-C0kKqnFk.js.map} +1 -1
- package/dist/_chunks/{appointment-timeline-1-Za2miy.js → appointment-timeline-rbt9AwHO.js} +2 -2
- package/dist/_chunks/{appointment-timeline-1-Za2miy.js.map → appointment-timeline-rbt9AwHO.js.map} +1 -1
- package/dist/_chunks/{appointment-tray-Dwc8MSIQ.js → appointment-tray-6zd8RLIL.js} +2 -2
- package/dist/_chunks/{appointment-tray-Dwc8MSIQ.js.map → appointment-tray-6zd8RLIL.js.map} +1 -1
- package/dist/_chunks/autocomplete-BXMcNoa3.js +562 -0
- package/dist/_chunks/autocomplete-BXMcNoa3.js.map +1 -0
- package/dist/_chunks/{avatar-BPiPL7ND.js → avatar-a6042Ox2.js} +52 -52
- package/dist/_chunks/avatar-a6042Ox2.js.map +1 -0
- package/dist/_chunks/{balance-badge-cell-C4FYwmrZ.js → balance-badge-cell-BtJvre1-.js} +3 -3
- package/dist/_chunks/{balance-badge-cell-C4FYwmrZ.js.map → balance-badge-cell-BtJvre1-.js.map} +1 -1
- package/dist/_chunks/booking-opt_h7Uc.js +4590 -0
- package/dist/_chunks/booking-opt_h7Uc.js.map +1 -0
- package/dist/_chunks/{calendar-ClB-jWH1.js → calendar-CmiMS4FJ.js} +2 -2
- package/dist/_chunks/{calendar-ClB-jWH1.js.map → calendar-CmiMS4FJ.js.map} +1 -1
- package/dist/_chunks/{calendar-appointment-editor-dialog-C1v2MNE4.js → calendar-appointment-editor-dialog-sJKLoVJ2.js} +11 -11
- package/dist/_chunks/{calendar-appointment-editor-dialog-C1v2MNE4.js.map → calendar-appointment-editor-dialog-sJKLoVJ2.js.map} +1 -1
- package/dist/_chunks/{care-plan-card-BYCPNDvA.js → care-plan-card-DD9rEWYN.js} +2 -2
- package/dist/_chunks/{care-plan-card-BYCPNDvA.js.map → care-plan-card-DD9rEWYN.js.map} +1 -1
- package/dist/_chunks/{care-plan-header-BzsAg6oY.js → care-plan-header-CXUJQt8Q.js} +2 -2
- package/dist/_chunks/{care-plan-header-BzsAg6oY.js.map → care-plan-header-CXUJQt8Q.js.map} +1 -1
- package/dist/_chunks/{chat-message-CmFJdEre.js → chat-message-LRO_6Ee3.js} +2 -2
- package/dist/_chunks/{chat-message-CmFJdEre.js.map → chat-message-LRO_6Ee3.js.map} +1 -1
- package/dist/_chunks/{checkbox-BjDv-r3o.js → checkbox-a7Sh-dXb.js} +32 -31
- package/dist/_chunks/checkbox-a7Sh-dXb.js.map +1 -0
- package/dist/_chunks/{checkbox-group-Cw2H5qaq.js → checkbox-group-eGdv9fZc.js} +2 -2
- package/dist/_chunks/{checkbox-group-Cw2H5qaq.js.map → checkbox-group-eGdv9fZc.js.map} +1 -1
- package/dist/_chunks/{city-input-CJVGswxp.js → city-input-CA59CjnV.js} +2 -2
- package/dist/_chunks/{city-input-CJVGswxp.js.map → city-input-CA59CjnV.js.map} +1 -1
- package/dist/_chunks/{clinical-note-card-Caidqcwa.js → clinical-note-card-Cut2lNmu.js} +3 -3
- package/dist/_chunks/{clinical-note-card-Caidqcwa.js.map → clinical-note-card-Cut2lNmu.js.map} +1 -1
- package/dist/_chunks/{combobox-CDPm_n0p.js → combobox-D-gpgEDy.js} +314 -294
- package/dist/_chunks/combobox-D-gpgEDy.js.map +1 -0
- package/dist/_chunks/{contact-card-Czu60UvU.js → contact-card-ClvEDM9e.js} +2 -2
- package/dist/_chunks/{contact-card-Czu60UvU.js.map → contact-card-ClvEDM9e.js.map} +1 -1
- package/dist/_chunks/{contact-profile-card-Da1vmJQI.js → contact-profile-card-CX45mZA3.js} +106 -95
- package/dist/_chunks/contact-profile-card-CX45mZA3.js.map +1 -0
- package/dist/_chunks/{country-select-DQ8q7ypA.js → country-select-BfmX9y5i.js} +2 -2
- package/dist/_chunks/{country-select-DQ8q7ypA.js.map → country-select-BfmX9y5i.js.map} +1 -1
- package/dist/_chunks/{data-table-B_IcS0Ke.js → data-table-CqQgoNsU.js} +2 -2
- package/dist/_chunks/{data-table-B_IcS0Ke.js.map → data-table-CqQgoNsU.js.map} +1 -1
- package/dist/_chunks/{dependent-selector-C4kOgO8b.js → dependent-selector-CyNi7M_f.js} +2 -2
- package/dist/_chunks/{dependent-selector-C4kOgO8b.js.map → dependent-selector-CyNi7M_f.js.map} +1 -1
- package/dist/_chunks/{entity-summary-BLxzSSXK.js → entity-summary-B_bOloqP.js} +3 -3
- package/dist/_chunks/{entity-summary-BLxzSSXK.js.map → entity-summary-B_bOloqP.js.map} +1 -1
- package/dist/_chunks/error-page-B0fGNTRB.js +419 -0
- package/dist/_chunks/error-page-B0fGNTRB.js.map +1 -0
- package/dist/_chunks/{face-scheme-BgJGFDTa.js → face-scheme-BKSE98bo.js} +2 -2
- package/dist/_chunks/{face-scheme-BgJGFDTa.js.map → face-scheme-BKSE98bo.js.map} +1 -1
- package/dist/_chunks/{file-manager-C9YOT-Dn.js → file-manager-BnI1ZWZu.js} +2 -2
- package/dist/_chunks/{file-manager-C9YOT-Dn.js.map → file-manager-BnI1ZWZu.js.map} +1 -1
- package/dist/_chunks/{header-settings-BVhjndtV.js → header-settings-BeA2fnol.js} +24 -23
- package/dist/_chunks/header-settings-BeA2fnol.js.map +1 -0
- package/dist/_chunks/{heatmap-HTz3Jvzy.js → heatmap-fCxwNz2o.js} +2 -2
- package/dist/_chunks/{heatmap-HTz3Jvzy.js.map → heatmap-fCxwNz2o.js.map} +1 -1
- package/dist/_chunks/{languages-CZqBaPwI.js → languages-CGLX6Qpe.js} +3 -15
- package/dist/_chunks/languages-CGLX6Qpe.js.map +1 -0
- package/dist/_chunks/link-DtCfnLnF.js +332 -0
- package/dist/_chunks/link-DtCfnLnF.js.map +1 -0
- package/dist/_chunks/{link-cell-renderer-C0ynDik7.js → link-cell-renderer-BS3V4LA6.js} +4 -4
- package/dist/_chunks/{link-cell-renderer-C0ynDik7.js.map → link-cell-renderer-BS3V4LA6.js.map} +1 -1
- package/dist/_chunks/{login-dev-card-DYwbL5sD.js → login-dev-card-BZBR58mu.js} +2 -2
- package/dist/_chunks/{login-dev-card-DYwbL5sD.js.map → login-dev-card-BZBR58mu.js.map} +1 -1
- package/dist/_chunks/{map-view-Bvi06RVh.js → map-view-UrNgxBy3.js} +260 -237
- package/dist/_chunks/map-view-UrNgxBy3.js.map +1 -0
- package/dist/_chunks/{index.modern-BeRXQVdc.js → maps-core-gate-DkNqGkm3.js} +360 -319
- package/dist/_chunks/maps-core-gate-DkNqGkm3.js.map +1 -0
- package/dist/_chunks/{marketplace-app-shell-x_abo_ye.js → marketplace-app-shell-CJQtx3sv.js} +3 -3
- package/dist/_chunks/{marketplace-app-shell-x_abo_ye.js.map → marketplace-app-shell-CJQtx3sv.js.map} +1 -1
- package/dist/_chunks/{message-card-CvCnCssc.js → message-card-B6SduXJv.js} +2 -2
- package/dist/_chunks/{message-card-CvCnCssc.js.map → message-card-B6SduXJv.js.map} +1 -1
- package/dist/_chunks/{message-tray-IJYvy6Cf.js → message-tray-Cllf-v0G.js} +2 -2
- package/dist/_chunks/{message-tray-IJYvy6Cf.js.map → message-tray-Cllf-v0G.js.map} +1 -1
- package/dist/_chunks/{nav-grid-Oc4aCPrg.js → nav-grid-D2xVcHTO.js} +2 -2
- package/dist/_chunks/{nav-grid-Oc4aCPrg.js.map → nav-grid-D2xVcHTO.js.map} +1 -1
- package/dist/_chunks/{note-attachment-DIlIQ7JF.js → note-attachment-cnj2JRrg.js} +2 -2
- package/dist/_chunks/{note-attachment-DIlIQ7JF.js.map → note-attachment-cnj2JRrg.js.map} +1 -1
- package/dist/_chunks/{note-timeline-KzL52MmB.js → note-timeline-BrjHBQfx.js} +2 -2
- package/dist/_chunks/{note-timeline-KzL52MmB.js.map → note-timeline-BrjHBQfx.js.map} +1 -1
- package/dist/_chunks/{notes-panel-CZO1qsD-.js → notes-panel-ib7I3aNf.js} +3 -3
- package/dist/_chunks/{notes-panel-CZO1qsD-.js.map → notes-panel-ib7I3aNf.js.map} +1 -1
- package/dist/_chunks/{operator-hero-6aAIQaFZ.js → operator-hero-C_5B-8Qp.js} +43 -41
- package/dist/_chunks/operator-hero-C_5B-8Qp.js.map +1 -0
- package/dist/_chunks/{patient-details-D0P5eog5.js → patient-details-BjcUpD9S.js} +3 -3
- package/dist/_chunks/{patient-details-D0P5eog5.js.map → patient-details-BjcUpD9S.js.map} +1 -1
- package/dist/_chunks/{patient-field-row-R73dZJY6.js → patient-field-row-B0tdiaWi.js} +6 -6
- package/dist/_chunks/{patient-field-row-R73dZJY6.js.map → patient-field-row-B0tdiaWi.js.map} +1 -1
- package/dist/_chunks/patient-search-Ca9j5cWb.js +1306 -0
- package/dist/_chunks/patient-search-Ca9j5cWb.js.map +1 -0
- package/dist/_chunks/{patient-summary-card-6U74-ivO.js → patient-summary-card-Cvv6_Ugk.js} +4 -4
- package/dist/_chunks/{patient-summary-card-6U74-ivO.js.map → patient-summary-card-Cvv6_Ugk.js.map} +1 -1
- package/dist/_chunks/{payment-request-card-MndSlVoK.js → payment-request-card-BfGauFY0.js} +2 -2
- package/dist/_chunks/{payment-request-card-MndSlVoK.js.map → payment-request-card-BfGauFY0.js.map} +1 -1
- package/dist/_chunks/{periodontal-diagnosis-B9YmmVmM.js → periodontal-diagnosis-DD3hrg9X.js} +2 -2
- package/dist/_chunks/{periodontal-diagnosis-B9YmmVmM.js.map → periodontal-diagnosis-DD3hrg9X.js.map} +1 -1
- package/dist/_chunks/{permission-matrix-BoQjENGV.js → permission-matrix-BJ6sg3Zp.js} +3 -3
- package/dist/_chunks/{permission-matrix-BoQjENGV.js.map → permission-matrix-BJ6sg3Zp.js.map} +1 -1
- package/dist/_chunks/{practice-profile-hero-qfrsFQI_.js → practice-profile-hero-ClzE-4CB.js} +76 -73
- package/dist/_chunks/practice-profile-hero-ClzE-4CB.js.map +1 -0
- package/dist/_chunks/{practice-results-B61krlwu.js → practice-results-CQ_KvEXK.js} +517 -514
- package/dist/_chunks/practice-results-CQ_KvEXK.js.map +1 -0
- package/dist/_chunks/{product-hub-panel-Blag8t8f.js → product-hub-panel-bHi7lkVD.js} +2 -2
- package/dist/_chunks/{product-hub-panel-Blag8t8f.js.map → product-hub-panel-bHi7lkVD.js.map} +1 -1
- package/dist/_chunks/{province-select-CPdTwEob.js → province-select-D64whw0m.js} +2 -2
- package/dist/_chunks/{province-select-CPdTwEob.js.map → province-select-D64whw0m.js.map} +1 -1
- package/dist/_chunks/public-footer-IoRWoAMz.js +596 -0
- package/dist/_chunks/public-footer-IoRWoAMz.js.map +1 -0
- package/dist/_chunks/{registration-form-DmP3YUfp.js → registration-form-CRm6DaB9.js} +2 -2
- package/dist/_chunks/{registration-form-DmP3YUfp.js.map → registration-form-CRm6DaB9.js.map} +1 -1
- package/dist/_chunks/{reviews-panel-UzQQLb-z.js → reviews-panel-B7InBORU.js} +42 -41
- package/dist/_chunks/reviews-panel-B7InBORU.js.map +1 -0
- package/dist/_chunks/{rich-text-editor-BZTyxQBd.js → rich-text-editor-BfEu57dk.js} +3 -3
- package/dist/_chunks/{rich-text-editor-BZTyxQBd.js.map → rich-text-editor-BfEu57dk.js.map} +1 -1
- package/dist/_chunks/{signature-request-DjY-X62H.js → signature-request-DvhyrRpn.js} +3 -3
- package/dist/_chunks/{signature-request-DjY-X62H.js.map → signature-request-DvhyrRpn.js.map} +1 -1
- package/dist/_chunks/{signed-out-frame-G-3ATOdu.js → signed-out-frame-CgRXOUzi.js} +2 -2
- package/dist/_chunks/{signed-out-frame-G-3ATOdu.js.map → signed-out-frame-CgRXOUzi.js.map} +1 -1
- package/dist/_chunks/{slot-grid-Bb13H9Rl.js → slot-grid-B-IAFX3C.js} +183 -170
- package/dist/_chunks/slot-grid-B-IAFX3C.js.map +1 -0
- package/dist/_chunks/{task-editor-BOETWbjU.js → task-editor-CI1SKUNc.js} +2 -2
- package/dist/_chunks/{task-editor-BOETWbjU.js.map → task-editor-CI1SKUNc.js.map} +1 -1
- package/dist/_chunks/{timeline-wUuTDFY_.js → timeline-BcYHdP56.js} +2 -2
- package/dist/_chunks/{timeline-wUuTDFY_.js.map → timeline-BcYHdP56.js.map} +1 -1
- package/dist/_chunks/{use-appointment-details-read-CWN-nJCZ.js → use-appointment-details-read-D8vDg0sg.js} +5 -5
- package/dist/_chunks/{use-appointment-details-read-CWN-nJCZ.js.map → use-appointment-details-read-D8vDg0sg.js.map} +1 -1
- package/dist/_chunks/{voice-control-panel-BziKE-KK.js → voice-control-panel-BP0otrID.js} +2 -2
- package/dist/_chunks/{voice-control-panel-BziKE-KK.js.map → voice-control-panel-BP0otrID.js.map} +1 -1
- package/dist/_chunks/{workflow-webhook-action-DulCpCRz.js → workflow-webhook-action-B_nBJ_ht.js} +2 -2
- package/dist/_chunks/{workflow-webhook-action-DulCpCRz.js.map → workflow-webhook-action-B_nBJ_ht.js.map} +1 -1
- package/dist/agent-catalog.json +3 -3
- package/dist/agent-i18n/en.json +1 -1
- package/dist/components/_shared/maps-core-gate.d.ts +18 -0
- package/dist/components/_shared/maps-core-gate.d.ts.map +1 -0
- package/dist/components/_shared/social-brand-icons.d.ts +29 -0
- package/dist/components/_shared/social-brand-icons.d.ts.map +1 -0
- package/dist/components/address-autocomplete/address-autocomplete.d.ts.map +1 -1
- package/dist/components/address-autocomplete/index.js +1 -1
- package/dist/components/address-fields/index.js +1 -1
- package/dist/components/agenda-card/index.js +1 -1
- package/dist/components/agenda-tray/index.js +1 -1
- package/dist/components/ai-permission-notice/index.js +1 -1
- package/dist/components/appointment-card/index.js +2 -2
- package/dist/components/appointment-details-panel/index.js +1 -1
- package/dist/components/appointment-peek/index.js +1 -1
- package/dist/components/appointment-timeline/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/avatar/avatar.d.ts +14 -0
- package/dist/components/avatar/avatar.d.ts.map +1 -1
- package/dist/components/avatar/index.js +1 -1
- package/dist/components/booking/booking-types.d.ts +26 -0
- package/dist/components/booking/booking-types.d.ts.map +1 -1
- package/dist/components/booking/booking.d.ts.map +1 -1
- package/dist/components/booking/details-form.d.ts.map +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/booking/slot-load-state.d.ts +11 -0
- package/dist/components/booking/slot-load-state.d.ts.map +1 -0
- package/dist/components/calendar/index.js +1 -1
- package/dist/components/care-plan-card/index.js +1 -1
- package/dist/components/care-plan-header/index.js +1 -1
- package/dist/components/chat-message/index.js +1 -1
- package/dist/components/checkbox/checkbox.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/city-input/index.js +1 -1
- package/dist/components/clinical-note-card/index.js +1 -1
- package/dist/components/combobox/combobox.d.ts.map +1 -1
- package/dist/components/combobox/index.js +1 -1
- package/dist/components/contact-card/index.js +1 -1
- package/dist/components/contact-profile-card/index.js +1 -1
- package/dist/components/country-select/index.js +1 -1
- package/dist/components/data-table/index.js +2 -2
- package/dist/components/dependent-selector/index.js +1 -1
- package/dist/components/entity-summary/index.js +1 -1
- package/dist/components/face-scheme/index.js +1 -1
- package/dist/components/file-manager/index.js +1 -1
- package/dist/components/header-settings/header-settings.d.ts +2 -1
- package/dist/components/header-settings/header-settings.d.ts.map +1 -1
- package/dist/components/header-settings/index.js +1 -1
- package/dist/components/heatmap/index.js +1 -1
- package/dist/components/link/index.js +1 -1
- package/dist/components/link/link.d.ts +10 -1
- package/dist/components/link/link.d.ts.map +1 -1
- package/dist/components/link/social-url.d.ts +71 -0
- package/dist/components/link/social-url.d.ts.map +1 -0
- package/dist/components/map-view/index.js +1 -1
- package/dist/components/map-view/map-view.d.ts.map +1 -1
- package/dist/components/message-card/index.js +1 -1
- package/dist/components/message-tray/index.js +1 -1
- package/dist/components/nav-grid/index.js +1 -1
- package/dist/components/note-timeline/index.js +1 -1
- package/dist/components/notes-panel/index.js +1 -1
- package/dist/components/operator-hero/index.js +1 -1
- package/dist/components/operator-hero/operator-hero.d.ts +6 -0
- package/dist/components/operator-hero/operator-hero.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-search/patient-search.d.ts.map +1 -1
- package/dist/components/patient-summary-card/index.js +1 -1
- package/dist/components/patient-table/index.js +1 -1
- package/dist/components/payment-card/index.js +1 -1
- package/dist/components/periodontal-diagnosis/index.js +1 -1
- package/dist/components/permission-matrix/index.js +1 -1
- package/dist/components/practice-profile-hero/index.js +1 -1
- package/dist/components/practice-profile-hero/practice-profile-hero.d.ts +6 -0
- package/dist/components/practice-profile-hero/practice-profile-hero.d.ts.map +1 -1
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/practice-results/practice-results.d.ts +8 -2
- package/dist/components/practice-results/practice-results.d.ts.map +1 -1
- package/dist/components/product-hub-tray/index.js +1 -1
- package/dist/components/province-select/index.js +1 -1
- package/dist/components/public-footer/index.js +1 -1
- package/dist/components/public-footer/public-footer.d.ts +13 -1
- package/dist/components/public-footer/public-footer.d.ts.map +1 -1
- package/dist/components/public-footer/socials.d.ts +6 -5
- package/dist/components/public-footer/socials.d.ts.map +1 -1
- package/dist/components/reviews-panel/index.js +1 -1
- package/dist/components/reviews-panel/reviews-panel.d.ts.map +1 -1
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/slot-grid/index.js +1 -1
- package/dist/components/slot-grid/slot-grid.d.ts +2 -0
- package/dist/components/slot-grid/slot-grid.d.ts.map +1 -1
- package/dist/components/task-editor/index.js +1 -1
- package/dist/components/timeline/index.js +1 -1
- package/dist/components/voice-control-panel/index.js +1 -1
- package/dist/host-compat.css +1 -10
- package/dist/i18n/config.d.ts.map +1 -1
- package/dist/i18n/config.js +224 -96
- package/dist/i18n/config.js.map +1 -1
- package/dist/i18n/locales/ar.d.ts +3 -0
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/ar.js +4 -1
- package/dist/i18n/locales/ar.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +3 -0
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +4 -1
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/el.d.ts +3 -0
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/el.js +4 -1
- package/dist/i18n/locales/el.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +3 -0
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +3 -0
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +3 -0
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +4 -1
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +3 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +4 -1
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hi.d.ts +3 -0
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/hi.js +4 -1
- package/dist/i18n/locales/hi.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +3 -0
- package/dist/i18n/locales/it.d.ts.map +1 -1
- package/dist/i18n/locales/it.js +4 -1
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts +3 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +4 -1
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/nl.d.ts +3 -0
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/nl.js +4 -1
- package/dist/i18n/locales/nl.js.map +1 -1
- package/dist/i18n/locales/pl.d.ts +3 -0
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.js +4 -1
- package/dist/i18n/locales/pl.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts +3 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +4 -1
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ro.d.ts +3 -0
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ro.js +4 -1
- package/dist/i18n/locales/ro.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts +3 -0
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +4 -1
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/sq.d.ts +3 -0
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sq.js +4 -1
- package/dist/i18n/locales/sq.js.map +1 -1
- package/dist/i18n/locales/sv.d.ts +3 -0
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/sv.js +4 -1
- package/dist/i18n/locales/sv.js.map +1 -1
- package/dist/i18n/locales/tr.d.ts +3 -0
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/tr.js +4 -1
- package/dist/i18n/locales/tr.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +3 -0
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/locales/zh.js +4 -1
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/index.js +68 -68
- package/dist/locales/ar.json +4 -1
- package/dist/locales/de.json +4 -1
- package/dist/locales/el.json +4 -1
- package/dist/locales/en.json +3 -0
- package/dist/locales/es.json +4 -1
- package/dist/locales/fr.json +4 -1
- package/dist/locales/hi.json +4 -1
- package/dist/locales/it.json +4 -1
- package/dist/locales/ja.json +4 -1
- package/dist/locales/nl.json +4 -1
- package/dist/locales/pl.json +4 -1
- package/dist/locales/pt.json +4 -1
- package/dist/locales/ro.json +4 -1
- package/dist/locales/ru.json +4 -1
- package/dist/locales/sq.json +4 -1
- package/dist/locales/sv.json +4 -1
- package/dist/locales/tr.json +4 -1
- package/dist/locales/zh.json +4 -1
- package/dist/patterns/alia-assistant/index.js +1 -1
- package/dist/patterns/anamnesis/index.js +1 -1
- package/dist/patterns/calendar/index.js +1 -1
- package/dist/patterns/error-page/error-page-english.d.ts +71 -0
- package/dist/patterns/error-page/error-page-english.d.ts.map +1 -0
- package/dist/patterns/error-page/error-page.d.ts.map +1 -1
- package/dist/patterns/error-page/index.js +1 -1
- package/dist/patterns/login-form/index.js +1 -1
- package/dist/patterns/marketplace-app-shell/index.js +1 -1
- package/dist/patterns/registration-form/index.js +1 -1
- package/dist/patterns/signature-request/index.js +1 -1
- package/dist/patterns/signed-out-frame/index.js +1 -1
- package/dist/patterns/workflow-webhook-action/index.js +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +1 -1
- package/dist/_chunks/address-autocomplete-bPR2mNBt.js +0 -498
- package/dist/_chunks/address-autocomplete-bPR2mNBt.js.map +0 -1
- package/dist/_chunks/autocomplete-CnB1mHGc.js +0 -539
- package/dist/_chunks/autocomplete-CnB1mHGc.js.map +0 -1
- package/dist/_chunks/avatar-BPiPL7ND.js.map +0 -1
- package/dist/_chunks/booking-C0FoW8Yx.js +0 -4336
- package/dist/_chunks/booking-C0FoW8Yx.js.map +0 -1
- package/dist/_chunks/checkbox-BjDv-r3o.js.map +0 -1
- package/dist/_chunks/combobox-CDPm_n0p.js.map +0 -1
- package/dist/_chunks/contact-profile-card-Da1vmJQI.js.map +0 -1
- package/dist/_chunks/error-page-Bhai-spN.js +0 -344
- package/dist/_chunks/error-page-Bhai-spN.js.map +0 -1
- package/dist/_chunks/header-settings-BVhjndtV.js.map +0 -1
- package/dist/_chunks/index.modern-BeRXQVdc.js.map +0 -1
- package/dist/_chunks/languages-CZqBaPwI.js.map +0 -1
- package/dist/_chunks/link-N5_YpLtm.js +0 -138
- package/dist/_chunks/link-N5_YpLtm.js.map +0 -1
- package/dist/_chunks/map-view-Bvi06RVh.js.map +0 -1
- package/dist/_chunks/operator-hero-6aAIQaFZ.js.map +0 -1
- package/dist/_chunks/patient-search-CCOUZABE.js +0 -1196
- package/dist/_chunks/patient-search-CCOUZABE.js.map +0 -1
- package/dist/_chunks/practice-profile-hero-qfrsFQI_.js.map +0 -1
- package/dist/_chunks/practice-results-B61krlwu.js.map +0 -1
- package/dist/_chunks/public-footer-CXOrdAaS.js +0 -568
- package/dist/_chunks/public-footer-CXOrdAaS.js.map +0 -1
- package/dist/_chunks/reviews-panel-UzQQLb-z.js.map +0 -1
- package/dist/_chunks/slot-grid-Bb13H9Rl.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete-BXMcNoa3.js","sources":["../../src/components/autocomplete/autocomplete.agent.ts","../../src/components/autocomplete/autocomplete.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — Autocomplete. */\n/* */\n/* Single-choice combobox with a free-text filter. The committed value */\n/* persists (value state slot + set_value) so the choice is `select_single`*/\n/* rather than a non-persisting `pick`. Filtering, open, and close are */\n/* pure view state. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { AutocompleteHandle } from './autocomplete';\n\nexport const autocompleteAgent: AgentAdapter<AutocompleteHandle> = {\n id: 'autocomplete',\n capabilities: ['select_single', 'filter', 'open', 'close'],\n state: {\n value: {\n type: 'string | null',\n descriptionKey: 'ui.agent.autocomplete.state.value',\n description:\n 'Currently-selected option value, or null when nothing is committed.',\n read: (handle) => handle.getValue(),\n },\n query: {\n type: 'string',\n descriptionKey: 'ui.agent.autocomplete.state.query',\n description: 'Current free-text query in the input.',\n read: (handle) => handle.getQuery(),\n },\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.autocomplete.state.isOpen',\n description:\n 'True when the suggestion popup is visible. Open with no suggestions to show reads false.',\n read: (handle) => handle.getIsOpen(),\n },\n },\n actions: {\n set_value: {\n safety: 'write',\n argsType: '{ value: string | null }',\n argsSchema: {\n type: 'object',\n properties: { value: { type: ['string', 'null'] } },\n required: ['value'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.autocomplete.actions.setValue',\n description: 'Set the committed value programmatically.',\n invoke: (handle, args: { value: string | null }) => {\n handle.setValue(args.value);\n },\n },\n apply_filter: {\n safety: 'read',\n argsType: '{ query: string }',\n argsSchema: {\n type: 'object',\n properties: { query: { type: 'string' } },\n required: ['query'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.autocomplete.actions.applyFilter',\n description: 'Set the input query, which filters the suggestion list.',\n invoke: (handle, args: { query: string }) => {\n handle.setQuery(args.query);\n },\n },\n clear: {\n safety: 'destructive',\n idempotent: true,\n descriptionKey: 'ui.agent.autocomplete.actions.clear',\n description:\n 'Clear the committed value and the query. Discards the typed input.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n open: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.autocomplete.actions.open',\n description: 'Open the suggestion list.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.autocomplete.actions.close',\n description: 'Close the suggestion list.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'autocomplete' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n item: {\n attr: 'data-option-id',\n description: 'Each suggestion emits its value as data-option-id.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type CompositionEvent,\n type FocusEvent,\n type KeyboardEvent,\n type MouseEvent,\n type Ref,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { Command } from 'cmdk';\nimport * as Popover from '@radix-ui/react-popover';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Spinner } from '../spinner/spinner';\nimport {\n useFormField,\n useFormFieldControlRef,\n} from '../form-field/form-field-context';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useIsomorphicLayoutEffect } from '../../hooks/use-isomorphic-layout-effect';\nimport { useDebouncedCallback } from '../_shared/use-debounced-callback';\nimport type { OptionShape } from '../_shared/option';\nimport { groupOptions } from '../_shared/group-options';\nimport { MENU_ROW_HIGHLIGHT } from '../_shared/menu-row';\nimport {\n INPUT_SURFACE_CHROME,\n INPUT_SURFACE_HEIGHT,\n INPUT_SURFACE_TEXT,\n INPUT_SURFACE_TONE,\n} from '../_shared/input-surface';\nimport { useAgentRegistration } from '../../agent';\nimport { autocompleteAgent } from './autocomplete.agent';\n\n// ---------------------------------------------------------------------------\n// CVA — sizing / chrome tokens come from _shared/input-surface so the four\n// input surfaces (TextInput, Autocomplete, Combobox, MultiSelect) cannot drift.\n// ---------------------------------------------------------------------------\n\nconst autocompleteVariants = cva(\n ['ds:flex ds:w-full ds:items-center', INPUT_SURFACE_CHROME].join(' '),\n {\n variants: {\n size: {\n sm: `${INPUT_SURFACE_HEIGHT.sm} ${INPUT_SURFACE_TEXT.sm}`,\n md: `${INPUT_SURFACE_HEIGHT.md} ${INPUT_SURFACE_TEXT.md}`,\n lg: `${INPUT_SURFACE_HEIGHT.lg} ${INPUT_SURFACE_TEXT.lg}`,\n },\n tone: INPUT_SURFACE_TONE,\n },\n defaultVariants: { size: 'md', tone: 'default' },\n },\n);\n\nconst inputVariants = cva(\n [\n 'ds:flex-1 ds:min-w-0 ds:bg-transparent ds:text-foreground',\n 'ds:placeholder:text-muted-foreground',\n 'ds:outline-none ds:focus:outline-none ds:focus-visible:outline-none',\n 'ds:disabled:cursor-not-allowed',\n 'ds:read-only:cursor-default',\n ].join(' '),\n {\n variants: {\n hasStart: { true: 'ds:ps-2', false: 'ds:ps-3' },\n hasEnd: { true: 'ds:pe-2', false: 'ds:pe-3' },\n },\n defaultVariants: { hasStart: false, hasEnd: false },\n },\n);\n\nconst contentVariants = cva(\n [\n 'ds:z-[var(--z-dropdown)] ds:overflow-hidden',\n 'ds:rounded-[var(--radius-sm)] ds:border ds:border-border ds:bg-background',\n 'ds:shadow-[var(--shadow-md)]',\n 'ds:w-[var(--radix-popover-trigger-width)]',\n 'ds:animate-in ds:fade-in ds:zoom-in-95',\n 'ds:motion-reduce:animate-none',\n ].join(' '),\n);\n\nconst itemVariants = cva(\n [\n 'ds:relative ds:flex ds:items-center ds:gap-[var(--spacing-sm)]',\n 'ds:ps-3 ds:pe-3 ds:py-2 ds:text-[length:var(--font-size-sm)] ds:text-foreground',\n 'ds:rounded-[var(--radius-sm)] ds:select-none ds:cursor-pointer',\n 'ds:data-[disabled=true]:pointer-events-none ds:data-[disabled=true]:opacity-50',\n // cmdk moves the selection on pointer move, so hover needs no tint.\n MENU_ROW_HIGHLIGHT.selected,\n ].join(' '),\n);\n\nconst groupClasses = [\n 'ds:[&_[cmdk-group-heading]]:ps-3',\n 'ds:[&_[cmdk-group-heading]]:pe-3',\n 'ds:[&_[cmdk-group-heading]]:py-1.5',\n 'ds:[&_[cmdk-group-heading]]:type-eyebrow',\n 'ds:[&_[cmdk-group-heading]]:text-muted-foreground',\n].join(' ');\n\nconst adornmentBase =\n 'ds:inline-flex ds:items-center ds:shrink-0 ds:text-muted-foreground ds:[&_svg]:size-4';\n\n// ---------------------------------------------------------------------------\n// Agent handle — curated surface for agent-readiness adapter.\n//\n// The autocomplete `forwardRef` exposes the underlying `HTMLInputElement` for\n// form integration; the agent handle is a separate, structural contract\n// referenced by `autocomplete.agent.ts`. Consumers wire it via the platform\n// registry — it is not the component's React ref.\n// ---------------------------------------------------------------------------\n\nexport interface AutocompleteHandle {\n getValue: () => string | null;\n getQuery: () => string;\n getIsOpen: () => boolean;\n setValue: (value: string | null) => void;\n setQuery: (query: string) => void;\n clear: () => void;\n open: () => void;\n close: () => void;\n}\n\n// ---------------------------------------------------------------------------\n// Props\n// ---------------------------------------------------------------------------\n\ntype CVAProps = VariantProps<typeof autocompleteVariants>;\n\nexport interface AutocompleteProps<T extends string = string> extends Pick<\n CVAProps,\n 'size' | 'tone'\n> {\n loadOptions: (\n query: string,\n opts: { signal: AbortSignal; locale: string },\n ) => Promise<OptionShape<T>[]>;\n debounceMs?: number;\n\n value?: string;\n defaultValue?: string;\n onChange?: (value: string) => void;\n onSelect?: (option: OptionShape<T>) => void;\n\n recents?: OptionShape<T>[];\n onRecentSelect?: (option: OptionShape<T>) => void;\n\n snapOnBlur?: boolean;\n\n startAdornment?: ReactNode;\n endAdornment?: ReactNode;\n placeholder?: string;\n\n disabled?: boolean;\n readOnly?: boolean;\n required?: boolean;\n name?: string;\n id?: string;\n className?: string;\n 'aria-label'?: string;\n /**\n * Invalid-state fallback for use OUTSIDE a `<FormField>` (e.g. an inline\n * editor). Inside a FormField the context wins.\n */\n 'aria-invalid'?: boolean;\n /**\n * Error-message id fallback for use OUTSIDE a `<FormField>`. Inside a\n * FormField the context's `describedBy` wins.\n */\n 'aria-describedby'?: string;\n /**\n * The input's HTML `autocomplete` token (e.g. `address-level2`), so the\n * browser can fill the field from a saved address. Text filled in while\n * the user is in another field is taken as the value without opening\n * the list or asking for suggestions. Default: `off`.\n */\n autoComplete?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Implementation\n// ---------------------------------------------------------------------------\n\nfunction itemIdFor(idPrefix: string, kind: 'recent' | 'option', value: string) {\n return `${idPrefix}-${kind}-${value}`;\n}\n\nfunction cmdkValueFor(kind: 'recent' | 'option', value: string) {\n return `${kind}:${value}`;\n}\n\nconst AutocompleteImpl = forwardRef<HTMLInputElement, AutocompleteProps>(\n function Autocomplete(\n {\n loadOptions,\n debounceMs = 250,\n value,\n defaultValue,\n onChange,\n onSelect,\n recents,\n onRecentSelect,\n snapOnBlur = false,\n size = 'md',\n tone = 'default',\n startAdornment,\n endAdornment,\n placeholder,\n disabled,\n readOnly,\n required,\n name,\n id,\n className,\n 'aria-label': ariaLabel,\n 'aria-invalid': ariaInvalid,\n 'aria-describedby': ariaDescribedBy,\n autoComplete,\n },\n ref,\n ) {\n const { t, i18n } = useTranslation('ui');\n const ctx = useFormField();\n\n const reactId = useId();\n const idPrefix = id ?? ctx.id ?? reactId;\n const listId = `${idPrefix}-listbox`;\n const liveRegionId = `${idPrefix}-live`;\n\n const effectiveDisabled = Boolean(ctx.disabled || disabled);\n const effectiveRequired = Boolean(ctx.required || required);\n const effectiveInvalid = ctx.invalid || Boolean(ariaInvalid);\n const effectiveTone: 'default' | 'error' = effectiveInvalid\n ? 'error'\n : (tone ?? 'default');\n const describedBy = ctx.describedBy || ariaDescribedBy || undefined;\n\n const [currentValueRaw, commitValueRaw] = useControllableState<string>({\n value,\n defaultValue: defaultValue ?? '',\n onChange,\n });\n const currentValue = currentValueRaw ?? '';\n\n const [open, setOpen] = useState(false);\n const [suggestions, setSuggestions] = useState<OptionShape[]>([]);\n const [loading, setLoading] = useState(false);\n const [cmdkValue, setCmdkValue] = useState<string>('');\n\n const composingRef = useRef(false);\n const abortRef = useRef<AbortController | null>(null);\n const latestQueryRef = useRef<string>(currentValue);\n const suggestionsByValueRef = useRef<Map<string, OptionShape>>(new Map());\n const recentsByValueRef = useRef<Map<string, OptionShape>>(new Map());\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n /* cmdk writes its own id on the input, so the field's label follows\n that id. */\n useFormFieldControlRef(ctx, inputRef);\n const autofillToken =\n autoComplete && autoComplete !== 'off' ? autoComplete : undefined;\n /* cmdk writes autocomplete=\"off\" over the prop on every render. */\n useIsomorphicLayoutEffect(() => {\n if (autofillToken)\n inputRef.current?.setAttribute('autocomplete', autofillToken);\n });\n const setRefs = useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n },\n [ref],\n );\n\n const locale = i18n.language;\n\n useEffect(() => {\n const map = new Map<string, OptionShape>();\n for (const option of suggestions) map.set(option.value, option);\n suggestionsByValueRef.current = map;\n }, [suggestions]);\n\n useEffect(() => {\n const map = new Map<string, OptionShape>();\n if (recents) for (const option of recents) map.set(option.value, option);\n recentsByValueRef.current = map;\n }, [recents]);\n\n const runFetch = useCallback(\n (query: string) => {\n if (effectiveDisabled || readOnly) return;\n if (composingRef.current) return;\n abortRef.current?.abort();\n const controller = new AbortController();\n abortRef.current = controller;\n latestQueryRef.current = query;\n setLoading(true);\n loadOptions(query, { signal: controller.signal, locale })\n .then((results) => {\n if (controller.signal.aborted) return;\n if (latestQueryRef.current !== query) return;\n setSuggestions(results);\n setLoading(false);\n })\n .catch((error: unknown) => {\n if (controller.signal.aborted) return;\n if (\n error &&\n typeof error === 'object' &&\n 'name' in error &&\n (error as { name?: string }).name === 'AbortError'\n ) {\n return;\n }\n if (latestQueryRef.current !== query) return;\n setSuggestions([]);\n setLoading(false);\n });\n },\n [effectiveDisabled, readOnly, loadOptions, locale],\n );\n\n const debouncedFetch = useDebouncedCallback(runFetch, debounceMs);\n\n useEffect(() => {\n return () => {\n debouncedFetch.cancel();\n abortRef.current?.abort();\n };\n }, [debouncedFetch]);\n\n const commitValue = useCallback(\n (next: string) => {\n commitValueRaw(next);\n },\n [commitValueRaw],\n );\n\n const resolveCmdkValue = useCallback(\n (\n raw: string,\n ): { kind: 'recent' | 'option'; option: OptionShape } | null => {\n const [kind, val] = raw.split(':');\n if (!val || (kind !== 'recent' && kind !== 'option')) return null;\n const lookup =\n kind === 'recent'\n ? recentsByValueRef.current\n : suggestionsByValueRef.current;\n const option = lookup.get(val);\n return option ? { kind, option } : null;\n },\n [],\n );\n\n const handleInputValueChange = (next: string) => {\n commitValue(next);\n if (effectiveDisabled || readOnly) return;\n /* Filled in by the browser from another field: the text is the\n value, and no list opens over a field the user is not in. */\n if (autofillToken && document.activeElement !== inputRef.current) return;\n if (!open) setOpen(true);\n if (composingRef.current) return;\n debouncedFetch(next);\n };\n\n const handleCompositionStart = (\n _event: CompositionEvent<HTMLInputElement>,\n ) => {\n composingRef.current = true;\n };\n\n const handleCompositionEnd = (\n event: CompositionEvent<HTMLInputElement>,\n ) => {\n composingRef.current = false;\n const next = event.currentTarget.value;\n debouncedFetch(next);\n };\n\n const handleFocus = (_event: FocusEvent<HTMLInputElement>) => {\n if (effectiveDisabled || readOnly) return;\n setOpen(true);\n if (currentValue) debouncedFetch(currentValue);\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n const next = event.relatedTarget as Node | null;\n // Focus moved into the popover — keep listbox open (pointer-down on item\n // moves focus into the portal but we treat that as \"still interacting\").\n if (next && contentRef.current && contentRef.current.contains(next)) {\n return;\n }\n if (snapOnBlur && cmdkValue) {\n const resolved = resolveCmdkValue(cmdkValue);\n if (resolved) {\n commitValue(resolved.option.label);\n onSelect?.(resolved.option);\n }\n }\n setOpen(false);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.nativeEvent.isComposing) return;\n if (event.key === 'Escape') {\n if (open) {\n event.preventDefault();\n event.stopPropagation();\n setOpen(false);\n }\n return;\n }\n if (event.key === 'ArrowDown' && !open) {\n event.preventDefault();\n setOpen(true);\n if (currentValue) debouncedFetch(currentValue);\n return;\n }\n if (event.key === 'Tab' && open && cmdkValue) {\n const resolved = resolveCmdkValue(cmdkValue);\n if (resolved) {\n commitValue(resolved.option.label);\n onSelect?.(resolved.option);\n setOpen(false);\n }\n }\n };\n\n const handleItemSelect = (\n kind: 'recent' | 'option',\n option: OptionShape,\n ) => {\n commitValue(option.label);\n if (kind === 'recent') onRecentSelect?.(option);\n else onSelect?.(option);\n setOpen(false);\n inputRef.current?.focus();\n };\n\n // Prevent input blur when clicking an item — keeps focus management predictable.\n const preventBlur = (event: MouseEvent<HTMLElement>) => {\n event.preventDefault();\n };\n\n const showRecents =\n Boolean(recents && recents.length > 0) && currentValue.length === 0;\n const groupedSuggestions = useMemo(\n () => groupOptions(suggestions),\n [suggestions],\n );\n\n const hasStart = Boolean(startAdornment);\n const hasEnd = Boolean(endAdornment) || loading;\n\n const wrapperClass = autocompleteVariants({\n size,\n tone: effectiveTone,\n className,\n });\n\n const activeDescendant = useMemo(() => {\n if (!cmdkValue) return undefined;\n const [kind, val] = cmdkValue.split(':');\n if (!val || (kind !== 'recent' && kind !== 'option')) return undefined;\n return itemIdFor(idPrefix, kind, val);\n }, [cmdkValue, idPrefix]);\n\n const hasSuggestions = suggestions.length > 0;\n const showEmpty =\n !showRecents && !hasSuggestions && !loading && currentValue.length > 0;\n const showLoadingRow = loading && !hasSuggestions;\n // Suppress the popover when there is nothing to render — prevents an empty\n // 1-line strip appearing under the input on focus with no query + no recents.\n const hasPopoverContent =\n showRecents || hasSuggestions || showEmpty || showLoadingRow;\n const popoverOpen =\n open && !effectiveDisabled && !readOnly && hasPopoverContent;\n\n // cmdk assumes its list is always mounted and overwrites these props.\n // Match the actual popup before paint, using cmdk's generated list id.\n const syncPopoverAria = useCallback(() => {\n const input = inputRef.current;\n if (!input) return;\n input.setAttribute('aria-expanded', String(popoverOpen));\n const list = contentRef.current?.querySelector('[cmdk-list]');\n if (popoverOpen && list?.id) {\n input.setAttribute('aria-controls', list.id);\n } else if (!popoverOpen) {\n input.removeAttribute('aria-controls');\n input.removeAttribute('aria-activedescendant');\n }\n }, [popoverOpen]);\n useIsomorphicLayoutEffect(syncPopoverAria);\n // The portal mounts after its parent layout effect. Synchronise again\n // when its list is attached, including when opening cached recents.\n const setContentRef = useCallback(\n (node: HTMLDivElement | null) => {\n contentRef.current = node;\n syncPopoverAria();\n },\n [syncPopoverAria],\n );\n\n // Agent handle — refs mirror state for fresh reads from the memoized handle.\n const valueRefAgent = useRef<string>(currentValue);\n useEffect(() => {\n valueRefAgent.current = currentValue;\n }, [currentValue]);\n const openRefAgent = useRef<boolean>(popoverOpen);\n useEffect(() => {\n openRefAgent.current = popoverOpen;\n }, [popoverOpen]);\n\n const agentHandle = useMemo<AutocompleteHandle>(\n () => ({\n getValue: () => valueRefAgent.current || null,\n getQuery: () => valueRefAgent.current,\n getIsOpen: () => openRefAgent.current,\n setValue: (next) => {\n commitValue(next ?? '');\n },\n setQuery: (query) => {\n commitValue(query);\n },\n clear: () => {\n commitValue('');\n },\n open: () => {\n setOpen(true);\n },\n close: () => {\n setOpen(false);\n },\n }),\n [commitValue],\n );\n useAgentRegistration(autocompleteAgent, agentHandle, id);\n\n const resultCount = suggestions.length;\n const liveMessage = loading\n ? t('common.loading', 'Loading…')\n : open && currentValue.length > 0\n ? t('inputs.autocomplete.results', {\n count: resultCount,\n defaultValue: '{{count}} results',\n })\n : '';\n\n return (\n <Command\n shouldFilter={false}\n value={cmdkValue}\n onValueChange={setCmdkValue}\n // cmdk's hidden label names the input: the caller's `aria-label`,\n // else the FormField's label, else the placeholder.\n label={ariaLabel ?? (ctx.label || placeholder)}\n className=\"ds:w-full\"\n >\n <Popover.Root open={popoverOpen}>\n <Popover.Anchor asChild>\n <div\n className={wrapperClass}\n data-component=\"autocomplete\"\n data-component-id={id}\n data-disabled={effectiveDisabled || undefined}\n >\n {startAdornment ? (\n <span aria-hidden=\"true\" className={`${adornmentBase} ds:ps-3`}>\n {startAdornment}\n </span>\n ) : null}\n <Command.Input\n ref={setRefs}\n id={idPrefix}\n name={name}\n placeholder={placeholder}\n value={currentValue}\n onValueChange={handleInputValueChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n disabled={effectiveDisabled}\n readOnly={readOnly}\n required={effectiveRequired}\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-expanded={popoverOpen}\n // Only advertise aria-controls while the listbox is mounted\n // — Command.List lives inside the Popover.Content and only\n // renders when `open` is true. Pointing aria-controls at a\n // non-existent id fails axe's aria-valid-attr-value rule.\n aria-controls={popoverOpen ? listId : undefined}\n aria-activedescendant={activeDescendant}\n aria-describedby={describedBy}\n aria-invalid={effectiveInvalid || undefined}\n // The fallback when cmdk's hidden label is empty: no\n // `aria-label`, no FormField label and no placeholder.\n aria-label={\n ariaLabel ?? (ctx.label || t('inputs.autocomplete.ariaLabel'))\n }\n autoComplete=\"off\"\n className={inputVariants({ hasStart, hasEnd })}\n />\n {loading ? (\n <span className={`${adornmentBase} ds:pe-3`} aria-hidden=\"true\">\n <Spinner variant=\"pulse\" size=\"sm\" />\n </span>\n ) : endAdornment ? (\n <span aria-hidden=\"true\" className={`${adornmentBase} ds:pe-3`}>\n {endAdornment}\n </span>\n ) : null}\n <span\n id={liveRegionId}\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className=\"ds:sr-only\"\n >\n {liveMessage}\n </span>\n </div>\n </Popover.Anchor>\n {popoverOpen ? (\n <Popover.Portal>\n <Popover.Content\n ref={setContentRef}\n role=\"presentation\"\n side=\"bottom\"\n align=\"start\"\n sideOffset={4}\n onOpenAutoFocus={(event) => event.preventDefault()}\n onCloseAutoFocus={(event) => event.preventDefault()}\n onPointerDownOutside={(event) => {\n const target = event.target as Node | null;\n if (target && inputRef.current?.contains(target)) {\n event.preventDefault();\n return;\n }\n setOpen(false);\n }}\n onEscapeKeyDown={() => setOpen(false)}\n onMouseDown={preventBlur}\n className={contentVariants()}\n >\n <Command.List\n id={listId}\n // cmdk names the listbox \"Suggestions\" in English otherwise.\n label={\n ariaLabel ??\n (ctx.label ||\n placeholder ||\n t('inputs.autocomplete.ariaLabel'))\n }\n className=\"ds:max-h-[min(24rem,var(--radix-popover-content-available-height))] ds:overflow-auto ds:p-1\"\n >\n {showRecents ? (\n <Command.Group\n heading={t('inputs.autocomplete.recent', 'Recent')}\n className={groupClasses}\n >\n {(recents ?? []).map((option) => (\n <Command.Item\n key={`recent-${option.value}`}\n id={itemIdFor(idPrefix, 'recent', option.value)}\n data-option-id={option.value}\n value={cmdkValueFor('recent', option.value)}\n disabled={option.disabled}\n onSelect={() => handleItemSelect('recent', option)}\n onMouseDown={preventBlur}\n className={itemVariants()}\n >\n {option.startAdornment ? (\n <span\n aria-hidden=\"true\"\n className=\"ds:inline-flex ds:items-center ds:shrink-0\"\n >\n {option.startAdornment}\n </span>\n ) : null}\n <span className=\"ds:flex-1 ds:truncate\">\n {option.label}\n </span>\n {option.endContent ? (\n // Deliberately NOT aria-hidden — unlike\n // `startAdornment`, this slot carries meaning\n // and must reach the option's accessible name.\n <span className=\"ds:inline-flex ds:items-center ds:ms-auto ds:shrink-0\">\n {option.endContent}\n </span>\n ) : null}\n </Command.Item>\n ))}\n </Command.Group>\n ) : null}\n {showEmpty ? (\n <div\n role=\"option\"\n aria-disabled=\"true\"\n aria-selected=\"false\"\n className=\"ds:ps-3 ds:pe-3 ds:py-2 type-body-sm ds:text-muted-foreground\"\n >\n {t('inputs.autocomplete.noResults', 'No results')}\n </div>\n ) : null}\n {showLoadingRow ? (\n <div\n role=\"option\"\n aria-disabled=\"true\"\n aria-selected=\"false\"\n className=\"ds:flex ds:items-center ds:gap-[var(--spacing-sm)] ds:ps-3 ds:pe-3 ds:py-2 type-body-sm ds:text-muted-foreground\"\n >\n <Spinner variant=\"pulse\" size=\"sm\" />\n <span>{t('common.loading', 'Loading…')}</span>\n </div>\n ) : null}\n {!showRecents && hasSuggestions\n ? groupedSuggestions.map((group, index) => {\n const body = group.items.map((option) => (\n <Command.Item\n key={`option-${option.value}`}\n id={itemIdFor(idPrefix, 'option', option.value)}\n data-option-id={option.value}\n value={cmdkValueFor('option', option.value)}\n disabled={option.disabled}\n onSelect={() => handleItemSelect('option', option)}\n onMouseDown={preventBlur}\n className={itemVariants()}\n >\n {option.startAdornment ? (\n <span\n aria-hidden=\"true\"\n className=\"ds:inline-flex ds:items-center ds:shrink-0\"\n >\n {option.startAdornment}\n </span>\n ) : null}\n <span className=\"ds:flex-1 ds:truncate\">\n {option.label}\n </span>\n {option.endContent ? (\n // Deliberately NOT aria-hidden — unlike\n // `startAdornment`, this slot carries meaning\n // and must reach the option's accessible name.\n <span className=\"ds:inline-flex ds:items-center ds:ms-auto ds:shrink-0\">\n {option.endContent}\n </span>\n ) : null}\n </Command.Item>\n ));\n if (!group.group) {\n return (\n <Command.Group key={`group-${index}`}>\n {body}\n </Command.Group>\n );\n }\n return (\n <Command.Group\n key={`group-${group.group}`}\n heading={group.group}\n className={groupClasses}\n >\n {body}\n </Command.Group>\n );\n })\n : null}\n </Command.List>\n </Popover.Content>\n </Popover.Portal>\n ) : null}\n </Popover.Root>\n </Command>\n );\n },\n);\n\ninterface AutocompleteComponent {\n <T extends string = string>(\n props: AutocompleteProps<T> & { ref?: Ref<HTMLInputElement> },\n ): ReactElement | null;\n displayName?: string;\n}\n\nexport const Autocomplete =\n AutocompleteImpl as unknown as AutocompleteComponent;\n(Autocomplete as { displayName?: string }).displayName = 'Autocomplete';\n\nexport { autocompleteVariants };\n"],"names":["autocompleteAgent","handle","args","autocompleteVariants","cva","INPUT_SURFACE_CHROME","INPUT_SURFACE_HEIGHT","INPUT_SURFACE_TEXT","INPUT_SURFACE_TONE","inputVariants","contentVariants","itemVariants","MENU_ROW_HIGHLIGHT","groupClasses","adornmentBase","itemIdFor","idPrefix","kind","value","cmdkValueFor","AutocompleteImpl","forwardRef","loadOptions","debounceMs","defaultValue","onChange","onSelect","recents","onRecentSelect","snapOnBlur","size","tone","startAdornment","endAdornment","placeholder","disabled","readOnly","required","name","id","className","ariaLabel","ariaInvalid","ariaDescribedBy","autoComplete","ref","t","i18n","useTranslation","ctx","useFormField","reactId","useId","listId","liveRegionId","effectiveDisabled","effectiveRequired","effectiveInvalid","effectiveTone","describedBy","currentValueRaw","commitValueRaw","useControllableState","currentValue","open","setOpen","useState","suggestions","setSuggestions","loading","setLoading","cmdkValue","setCmdkValue","composingRef","useRef","abortRef","latestQueryRef","suggestionsByValueRef","recentsByValueRef","inputRef","contentRef","useFormFieldControlRef","autofillToken","useIsomorphicLayoutEffect","_a","setRefs","useCallback","node","locale","useEffect","map","option","runFetch","query","controller","results","error","debouncedFetch","useDebouncedCallback","commitValue","next","resolveCmdkValue","raw","val","handleInputValueChange","handleCompositionStart","_event","handleCompositionEnd","event","handleFocus","handleBlur","resolved","handleKeyDown","handleItemSelect","preventBlur","showRecents","groupedSuggestions","useMemo","groupOptions","hasStart","hasEnd","wrapperClass","activeDescendant","hasSuggestions","showEmpty","showLoadingRow","popoverOpen","syncPopoverAria","input","list","setContentRef","valueRefAgent","openRefAgent","agentHandle","useAgentRegistration","resultCount","liveMessage","jsx","Command","jsxs","Popover","Spinner","target","group","index","body","Autocomplete"],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { c as
|
|
4
|
-
import { useTranslation as
|
|
5
|
-
import { c as
|
|
6
|
-
import { u as
|
|
7
|
-
function
|
|
8
|
-
let
|
|
9
|
-
for (let
|
|
10
|
-
|
|
11
|
-
return
|
|
1
|
+
import { jsxs as I, jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as A, useRef as L, useState as E, useEffect as R } from "react";
|
|
3
|
+
import { c as f } from "./index-D2ZczOXr.js";
|
|
4
|
+
import { useTranslation as S } from "react-i18next";
|
|
5
|
+
import { c as V } from "./compose-refs-C0k0tdqF.js";
|
|
6
|
+
import { u as B } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
|
|
7
|
+
function P(t) {
|
|
8
|
+
let e = 5381;
|
|
9
|
+
for (let s = 0; s < t.length; s++)
|
|
10
|
+
e = (e << 5) + e ^ t.charCodeAt(s), e = e >>> 0;
|
|
11
|
+
return e;
|
|
12
12
|
}
|
|
13
|
-
const
|
|
13
|
+
const g = [
|
|
14
14
|
"ds:bg-[var(--color-violet-500)]",
|
|
15
15
|
"ds:bg-[var(--color-violet-600)]",
|
|
16
16
|
"ds:bg-[var(--color-violet-700)]",
|
|
@@ -28,14 +28,14 @@ const v = [
|
|
|
28
28
|
"ds:bg-[var(--color-blue-700)]",
|
|
29
29
|
"ds:bg-[var(--color-grey-900)]"
|
|
30
30
|
];
|
|
31
|
-
function
|
|
32
|
-
return
|
|
31
|
+
function T(t) {
|
|
32
|
+
return g[P(t) % g.length];
|
|
33
33
|
}
|
|
34
|
-
function
|
|
35
|
-
const
|
|
36
|
-
return
|
|
34
|
+
function U(t) {
|
|
35
|
+
const e = (i) => i.trim().split(/\s+/).map((r) => r.replace(/^[^\p{L}\p{N}]+|[^\p{L}\p{N}]+$/gu, "")).filter((r) => new RegExp("\\p{L}", "u").test(r)), s = e(t.replace(/\([^)]*\)|\[[^\]]*\]/g, " ")), a = s.length > 0 ? s : e(t);
|
|
36
|
+
return a.length === 0 ? "" : a.length === 1 ? a[0].slice(0, 2).toUpperCase() : (a[0][0] + a[a.length - 1][0]).toUpperCase();
|
|
37
37
|
}
|
|
38
|
-
const
|
|
38
|
+
const _ = f(
|
|
39
39
|
[
|
|
40
40
|
"ds:relative ds:inline-flex ds:shrink-0 ds:select-none ds:items-center ds:justify-center ds:overflow-hidden",
|
|
41
41
|
// Focus ring — uses design-system tokens so theme overrides (accessible: 3px) apply automatically.
|
|
@@ -128,7 +128,7 @@ const U = u(
|
|
|
128
128
|
],
|
|
129
129
|
defaultVariants: { size: "md", shape: "circle", ratio: "1:1" }
|
|
130
130
|
}
|
|
131
|
-
),
|
|
131
|
+
), k = f(
|
|
132
132
|
"ds:absolute ds:inset-0 ds:size-full ds:object-cover",
|
|
133
133
|
{
|
|
134
134
|
variants: {
|
|
@@ -140,33 +140,33 @@ const U = u(
|
|
|
140
140
|
},
|
|
141
141
|
defaultVariants: { ratio: "1:1" }
|
|
142
142
|
}
|
|
143
|
-
),
|
|
144
|
-
({ src:
|
|
145
|
-
const { t:
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
}, [
|
|
149
|
-
const d =
|
|
150
|
-
d && (
|
|
151
|
-
}, [
|
|
152
|
-
const o = !!
|
|
153
|
-
size:
|
|
154
|
-
shape:
|
|
155
|
-
ratio:
|
|
156
|
-
className: [
|
|
157
|
-
}),
|
|
158
|
-
return /* @__PURE__ */
|
|
143
|
+
), G = A(
|
|
144
|
+
({ src: t, alt: e, name: s, color: a, size: i, shape: r, ratio: n, className: m, ...p }, b) => {
|
|
145
|
+
const { t: h } = S("ui"), c = L(null), x = V(b, c), [z, v] = E(!1);
|
|
146
|
+
R(() => {
|
|
147
|
+
v(!1);
|
|
148
|
+
}, [t]), B(() => {
|
|
149
|
+
const d = c.current;
|
|
150
|
+
d && (a ? d.style.setProperty("--avatar-color-override", a) : d.style.removeProperty("--avatar-color-override"));
|
|
151
|
+
}, [a]);
|
|
152
|
+
const o = !!t && !z, N = !o && !!s, C = !o && !s, w = a ? "ds:bg-[var(--avatar-color-override)]" : s ? T(s) : "ds:bg-muted", y = _({
|
|
153
|
+
size: i,
|
|
154
|
+
shape: r,
|
|
155
|
+
ratio: n,
|
|
156
|
+
className: [w, a || s ? "ds:text-[var(--avatar-initials-foreground,var(--primary-foreground))]" : "ds:text-muted-foreground", m].filter(Boolean).join(" ")
|
|
157
|
+
}), j = s ?? h("avatar.placeholder", "User avatar"), u = o && !!e;
|
|
158
|
+
return /* @__PURE__ */ I(
|
|
159
159
|
"span",
|
|
160
160
|
{
|
|
161
|
-
ref:
|
|
162
|
-
role: "img",
|
|
163
|
-
"aria-label":
|
|
161
|
+
ref: x,
|
|
162
|
+
role: u ? void 0 : "img",
|
|
163
|
+
"aria-label": u ? void 0 : j,
|
|
164
164
|
"data-component": "avatar",
|
|
165
|
-
className:
|
|
166
|
-
...
|
|
165
|
+
className: y,
|
|
166
|
+
...p,
|
|
167
167
|
children: [
|
|
168
|
-
(
|
|
169
|
-
|
|
168
|
+
(N || o) && !!s && /* @__PURE__ */ l("span", { "aria-hidden": "true", children: U(s) }),
|
|
169
|
+
C && /* @__PURE__ */ l(
|
|
170
170
|
"svg",
|
|
171
171
|
{
|
|
172
172
|
"aria-hidden": "true",
|
|
@@ -178,11 +178,11 @@ const U = u(
|
|
|
178
178
|
o && /* @__PURE__ */ l(
|
|
179
179
|
"img",
|
|
180
180
|
{
|
|
181
|
-
src:
|
|
182
|
-
alt: "",
|
|
183
|
-
"aria-hidden": "true",
|
|
184
|
-
className:
|
|
185
|
-
onError: () =>
|
|
181
|
+
src: t,
|
|
182
|
+
alt: e ?? "",
|
|
183
|
+
"aria-hidden": e ? void 0 : "true",
|
|
184
|
+
className: k({ ratio: n }),
|
|
185
|
+
onError: () => v(!0)
|
|
186
186
|
}
|
|
187
187
|
)
|
|
188
188
|
]
|
|
@@ -190,10 +190,10 @@ const U = u(
|
|
|
190
190
|
);
|
|
191
191
|
}
|
|
192
192
|
);
|
|
193
|
-
|
|
193
|
+
G.displayName = "Avatar";
|
|
194
194
|
export {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
195
|
+
G as A,
|
|
196
|
+
U as g,
|
|
197
|
+
T as n
|
|
198
198
|
};
|
|
199
|
-
//# sourceMappingURL=avatar-
|
|
199
|
+
//# sourceMappingURL=avatar-a6042Ox2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-a6042Ox2.js","sources":["../../src/components/avatar/avatar.tsx"],"sourcesContent":["import {\n forwardRef,\n useEffect,\n useRef,\n useState,\n type HTMLAttributes,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { composeRefs } from '../_shared/compose-refs';\nimport { useIsomorphicLayoutEffect } from '../../hooks/use-isomorphic-layout-effect';\n\n// ── Hash ──────────────────────────────────────────────────────────────────────\n\n/** djb2 hash — fast, unsigned 32-bit, stable across calls. */\nfunction djb2(str: string): number {\n let hash = 5381;\n for (let i = 0; i < str.length; i++) {\n hash = ((hash << 5) + hash) ^ str.charCodeAt(i);\n hash = hash >>> 0; // coerce to unsigned 32-bit integer\n }\n return hash;\n}\n\n/**\n * 16 brand hues. All reach ≥ 4.5 : 1 against the initials text: white\n * (var(--primary-foreground)) in the light themes and --color-grey-50 in\n * both dark themes, which pin --primary-foreground to navy. The lowest pair\n * is blue-300 with grey-50, at 4.60 : 1. Spans four distinct hue families\n * for good visual distribution.\n *\n * Index | Token | Contrast | Visual character\n * 0 | --color-violet-500 | 4.74 : 1 | bright violet\n * 1 | --color-violet-600 | 5.53 : 1 | medium violet\n * 2 | --color-violet-700 | 7.29 : 1 | dark violet\n * 3 | --color-violet-800 | 9.57 : 1 | deep violet\n * 4 | --color-violet-900 | 12.06 : 1 | midnight violet\n * 5 | --color-purple-700 | 5.21 : 1 | medium purple\n * 6 | --color-purple-800 | 7.52 : 1 | dark purple\n * 7 | --color-purple-900 | 10.40 : 1 | deep purple\n * 8 | --color-magenta-700 | 6.01 : 1 | vivid magenta\n * 9 | --color-magenta-800 | 8.05 : 1 | dark magenta\n * 10 | --color-magenta-900 | 11.20 : 1 | deep magenta\n * 11 | --color-blue-300 | 4.64 : 1 | slate / steel blue\n * 12 | --color-blue-400 | 6.95 : 1 | medium slate\n * 13 | --color-blue-500 | 13.00 : 1 | deep navy\n * 14 | --color-blue-700 | 17.82 : 1 | midnight navy\n * 15 | --color-grey-900 | 5.78 : 1 | warm charcoal\n */\nconst INITIALS_BG_CLASSES = [\n 'ds:bg-[var(--color-violet-500)]',\n 'ds:bg-[var(--color-violet-600)]',\n 'ds:bg-[var(--color-violet-700)]',\n 'ds:bg-[var(--color-violet-800)]',\n 'ds:bg-[var(--color-violet-900)]',\n 'ds:bg-[var(--color-purple-700)]',\n 'ds:bg-[var(--color-purple-800)]',\n 'ds:bg-[var(--color-purple-900)]',\n 'ds:bg-[var(--color-magenta-700)]',\n 'ds:bg-[var(--color-magenta-800)]',\n 'ds:bg-[var(--color-magenta-900)]',\n 'ds:bg-[var(--color-blue-300)]',\n 'ds:bg-[var(--color-blue-400)]',\n 'ds:bg-[var(--color-blue-500)]',\n 'ds:bg-[var(--color-blue-700)]',\n 'ds:bg-[var(--color-grey-900)]',\n] as const;\n\n/** Deterministically maps a name string to one of 16 brand-hue Tailwind classes. Same name always produces the same class. */\nexport function nameToColorClass(name: string): string {\n return INITIALS_BG_CLASSES[djb2(name) % INITIALS_BG_CLASSES.length];\n}\n\n/**\n * Extracts 1–2 uppercase initials:\n * - Single-word name: first two characters (\"John\" → \"JO\")\n * - Multi-word name: first char of first word + first char of last word (\"John Doe\" → \"JD\")\n * - Parenthesised or bracketed parts and words with no letter are skipped\n * (\"Lucy Danvers (daughter)\" → \"LD\"), unless nothing else is left.\n */\nexport function getInitials(name: string): string {\n const toWords = (text: string) =>\n text\n .trim()\n .split(/\\s+/)\n .map((word) => word.replace(/^[^\\p{L}\\p{N}]+|[^\\p{L}\\p{N}]+$/gu, ''))\n .filter((word) => /\\p{L}/u.test(word));\n const outside = toWords(name.replace(/\\([^)]*\\)|\\[[^\\]]*\\]/g, ' '));\n const words = outside.length > 0 ? outside : toWords(name);\n if (words.length === 0) return '';\n if (words.length === 1) return words[0].slice(0, 2).toUpperCase();\n return (words[0][0] + words[words.length - 1][0]).toUpperCase();\n}\n\n// ── CVA ───────────────────────────────────────────────────────────────────────\n\nconst avatarVariants = cva(\n [\n 'ds:relative ds:inline-flex ds:shrink-0 ds:select-none ds:items-center ds:justify-center ds:overflow-hidden',\n // Focus ring — uses design-system tokens so theme overrides (accessible: 3px) apply automatically.\n // The ring renders when Avatar is placed inside a focusable ancestor (e.g. a <button>).\n 'ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)]',\n 'ds:focus-visible:outline-ring',\n 'ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n ].join(' '),\n {\n variants: {\n size: {\n // text-[var(--font-size-xs)] = 0.75rem (12px) — smallest available token\n xs: 'ds:size-6 ds:text-[length:var(--font-size-xs)] ds:font-semibold ds:leading-none',\n sm: 'ds:size-8 ds:text-[length:var(--font-size-xs)] ds:font-semibold ds:leading-none',\n md: 'ds:size-10 ds:text-[length:var(--font-size-xs)] ds:font-semibold ds:leading-none',\n lg: 'ds:size-12 ds:text-[length:var(--font-size-sm)] ds:font-semibold ds:leading-none',\n xl: 'ds:size-16 ds:text-[length:var(--font-size-base)] ds:font-semibold ds:leading-none',\n // 2xl / 3xl are hero / display crops (operator cards, practice-\n // profile pages). They token-reference `--avatar-size-*` so\n // consumer themes can override the dimensions per-context, and\n // `--avatar-text-size-*` so initials scale proportionally to\n // the circle (otherwise --font-size-base at 192px reads as a\n // tiny letter in a vast disc).\n // Their initials size is a compound variant below: it depends on\n // the ratio, and two text-size classes on one element would leave\n // the winner to stylesheet order.\n '2xl':\n 'ds:size-[var(--avatar-size-2xl)] ds:font-semibold ds:leading-none',\n '3xl':\n 'ds:size-[var(--avatar-size-3xl)] ds:font-semibold ds:leading-none',\n },\n // HTP-6712. `rounded` is the photo shape for practices and\n // professionals: a rounded rectangle whose corner scales with the\n // size (compound variants below), so a 40px photo does not read as\n // a circle and a 192px one matches the card corners.\n shape: {\n circle: 'ds:rounded-[var(--radius-full)]',\n rounded: '',\n },\n // The size sets the height; a non-square ratio derives the width\n // from it. A 192px practice photo becomes 256 x 192, a 128px\n // professional one 96 x 128, so a hero keeps its height. Pair a\n // non-square ratio with `shape=\"rounded\"`: a circle stretched to 4:3\n // is a pill.\n ratio: {\n '1:1': '',\n '4:3': 'ds:w-auto ds:aspect-[4/3]',\n '3:4': 'ds:w-auto ds:aspect-[3/4]',\n },\n },\n compoundVariants: [\n {\n shape: 'rounded',\n size: ['xs', 'sm'],\n className: 'ds:rounded-[var(--radius-sm)]',\n },\n {\n shape: 'rounded',\n size: ['md', 'lg', 'xl'],\n className: 'ds:rounded-[var(--radius-md)]',\n },\n {\n // The card radius, as on the white boxes the big photos sit in.\n shape: 'rounded',\n size: ['2xl', '3xl'],\n className: 'ds:rounded-[var(--radius-lg)]',\n },\n // Display initials. A 3:4 box is a quarter narrower than its\n // height, so they scale down with it: two wide or CJK initials\n // still fit.\n {\n size: '2xl',\n ratio: ['1:1', '4:3'],\n className: 'ds:text-[length:var(--avatar-text-size-2xl)]',\n },\n {\n size: '3xl',\n ratio: ['1:1', '4:3'],\n className: 'ds:text-[length:var(--avatar-text-size-3xl)]',\n },\n {\n size: '2xl',\n ratio: '3:4',\n className: 'ds:text-[length:calc(var(--avatar-text-size-2xl)*0.75)]',\n },\n {\n size: '3xl',\n ratio: '3:4',\n className: 'ds:text-[length:calc(var(--avatar-text-size-3xl)*0.75)]',\n },\n ],\n defaultVariants: { size: 'md', shape: 'circle', ratio: '1:1' },\n },\n);\n\n// The photo always fills and crops (object-fit: cover). A portrait (3:4)\n// crops towards the top so a face is not cut; a 216 x 360 photo in a 3:4\n// box loses 14px at the top and 58px at the bottom. Everything else crops\n// from the centre: square logos lose their top and bottom in 4:3.\nconst imageVariants = cva(\n 'ds:absolute ds:inset-0 ds:size-full ds:object-cover',\n {\n variants: {\n ratio: {\n '1:1': '',\n '4:3': '',\n '3:4': 'ds:object-[50%_20%]',\n },\n },\n defaultVariants: { ratio: '1:1' },\n },\n);\n\n// ── Props ─────────────────────────────────────────────────────────────────────\n\nexport interface AvatarProps\n extends\n Omit<HTMLAttributes<HTMLSpanElement>, 'color'>,\n VariantProps<typeof avatarVariants> {\n /** Image source URL. When provided and loads successfully, the image is displayed. */\n src?: string;\n /**\n * Text alternative written on the photo's `<img>`, so it is there in the\n * first HTML and for image search and crawlers that do not read ARIA. Pass\n * the name of the person or place in the photo. While the photo shows, this\n * text is the accessible name: the `<img>` is the one image assistive\n * technology meets, and the wrapper drops its own `role=\"img\"` and\n * `aria-label` so nothing is announced twice. If the photo fails to load, or\n * while only initials show, the wrapper keeps `role=\"img\"` labelled with\n * `name`.\n *\n * Leave it out and the `<img>` stays decorative (`alt=\"\"`), as before.\n * An empty string means the same. Added in 1.91.0.\n */\n alt?: string;\n /** Display name — drives initials extraction and deterministic background colour. */\n name?: string;\n /**\n * Override the auto-generated background with any CSS colour string\n * (e.g. `\"var(--color-violet-700)\"`).\n * Applied via a CSS custom property so no `style` attribute is added to the JSX element.\n * Caller is responsible for WCAG AA contrast (≥4.5:1) against white text.\n */\n color?: string;\n}\n\n// ── Component ─────────────────────────────────────────────────────────────────\n\nexport const Avatar = forwardRef<HTMLSpanElement, AvatarProps>(\n ({ src, alt, name, color, size, shape, ratio, className, ...props }, ref) => {\n const { t } = useTranslation('ui');\n\n const innerRef = useRef<HTMLSpanElement>(null);\n const composedRef = composeRefs(ref, innerRef);\n\n // Track only image errors. The image renders immediately as an overlay;\n // before it loads the browser paints nothing (transparent), showing the\n // background colour + initials behind it. On error we remove the img and\n // the initials/fallback remain permanently visible.\n const [imgError, setImgError] = useState(false);\n\n // Reset error flag whenever src changes\n useEffect(() => {\n setImgError(false);\n }, [src]);\n\n // Apply color override via CSS custom property — avoids style={{…}} on JSX.\n // Mirrors the pattern used by the Progress component for imperative CSS property injection.\n useIsomorphicLayoutEffect(() => {\n const el = innerRef.current;\n if (!el) return;\n if (color) {\n el.style.setProperty('--avatar-color-override', color);\n } else {\n el.style.removeProperty('--avatar-color-override');\n }\n }, [color]);\n\n // Image is \"active\" when provided and not errored\n const imgActive = !!src && !imgError;\n\n // Initials and fallback icon are shown when no usable image\n const showInitials = !imgActive && !!name;\n const showIcon = !imgActive && !name;\n\n // Background — always rendered (serves as loading placeholder when image is fetching)\n const fallbackBgClass = color\n ? 'ds:bg-[var(--avatar-color-override)]'\n : name\n ? nameToColorClass(name)\n : 'ds:bg-muted';\n\n // Always light text against brand hues / color override; muted-foreground\n // for icon. Both dark themes pin `--primary-foreground` to navy, which is\n // illegible on the swatches, so `--avatar-initials-foreground` re-points\n // to near-white `--color-grey-50` there.\n const contentColorClass =\n color || name\n ? 'ds:text-[var(--avatar-initials-foreground,var(--primary-foreground))]'\n : 'ds:text-muted-foreground';\n\n const rootClassName = avatarVariants({\n size,\n shape,\n ratio,\n className: [fallbackBgClass, contentColorClass, className]\n .filter(Boolean)\n .join(' '),\n });\n\n // Accessible label — name takes priority, then the localised placeholder\n const ariaLabel = name ?? t('avatar.placeholder', 'User avatar');\n\n // A photo with its own alt text is the image; the wrapper steps back.\n const altOnPhoto = imgActive && !!alt;\n\n return (\n <span\n ref={composedRef}\n role={altOnPhoto ? undefined : 'img'}\n aria-label={altOnPhoto ? undefined : ariaLabel}\n data-component=\"avatar\"\n className={rootClassName}\n {...props}\n >\n {/* Initials — rendered behind the image; visible while image is loading\n or permanently when no src / src errors */}\n {(showInitials || imgActive) && !!name && (\n <span aria-hidden=\"true\">{getInitials(name)}</span>\n )}\n\n {/* Fallback icon — shown when neither image nor name is available */}\n {showIcon && (\n <svg\n aria-hidden=\"true\"\n viewBox=\"0 0 24 24\"\n className=\"ds:size-[58%] ds:fill-current\"\n >\n <path d=\"M12 12c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm0 2c-3.33 0-10 1.67-10 5v2h20v-2c0-3.33-6.67-5-10-5z\" />\n </svg>\n )}\n\n {/* Image — absolutely positioned overlay. Renders transparently until the\n browser paints the decoded pixels, then covers the initials behind it.\n Removed from DOM on error so initials remain permanently visible. */}\n {imgActive && (\n <img\n src={src}\n alt={alt ?? ''}\n aria-hidden={alt ? undefined : 'true'}\n className={imageVariants({ ratio })}\n onError={() => setImgError(true)}\n />\n )}\n </span>\n );\n },\n);\n\nAvatar.displayName = 'Avatar';\n"],"names":["djb2","str","hash","i","INITIALS_BG_CLASSES","nameToColorClass","name","getInitials","toWords","text","word","outside","words","avatarVariants","cva","imageVariants","Avatar","forwardRef","src","alt","color","size","shape","ratio","className","props","ref","t","useTranslation","innerRef","useRef","composedRef","composeRefs","imgError","setImgError","useState","useEffect","useIsomorphicLayoutEffect","el","imgActive","showInitials","showIcon","fallbackBgClass","rootClassName","ariaLabel","altOnPhoto","jsxs","jsx"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as C, jsxs as M } from "react/jsx-runtime";
|
|
2
2
|
import { createElement as G, useRef as k, useEffect as ae, useCallback as K, forwardRef as be, useState as ie, useImperativeHandle as ge, useMemo as X } from "react";
|
|
3
3
|
import { useTranslation as Y } from "react-i18next";
|
|
4
|
-
import { a as b, T as g, D as S, d as Ce } from "./data-table-
|
|
4
|
+
import { a as b, T as g, D as S, d as Ce } from "./data-table-CqQgoNsU.js";
|
|
5
5
|
import { A as ve, a as re } from "./actions-cell-renderer-B1yaOfQM.js";
|
|
6
6
|
import { S as Te } from "./select-4S-eYZUf.js";
|
|
7
7
|
import { u as we } from "./registry-DvAUVLHh.js";
|
|
8
|
-
import { I as Ne, L as Fe, b as z, a as H, c as $, N as j, d as w, S as N, T as le, D as Q, g as Re, f as Ie, U as ye, e as Pe, h as Se } from "./link-cell-renderer-
|
|
8
|
+
import { I as Ne, L as Fe, b as z, a as H, c as $, N as j, d as w, S as N, T as le, D as Q, g as Re, f as Ie, U as ye, e as Pe, h as Se } from "./link-cell-renderer-BS3V4LA6.js";
|
|
9
9
|
import { T as We } from "./transaction-chip-CohY6sTA.js";
|
|
10
10
|
import { B as oe } from "./badge-BUk4RjTS.js";
|
|
11
11
|
import { c as Ae } from "./index-D2ZczOXr.js";
|
|
@@ -1179,4 +1179,4 @@ export {
|
|
|
1179
1179
|
se as g,
|
|
1180
1180
|
nt as u
|
|
1181
1181
|
};
|
|
1182
|
-
//# sourceMappingURL=balance-badge-cell-
|
|
1182
|
+
//# sourceMappingURL=balance-badge-cell-BtJvre1-.js.map
|