@alfadocs/ui-kit-debug 0.68.0 → 0.69.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{accordion-9lJSMMsZ.js → accordion-DnIa7OHX.js} +69 -47
- package/dist/_chunks/accordion-DnIa7OHX.js.map +1 -0
- package/dist/_chunks/actions-cell-renderer-DrcaxB0w.js +2061 -0
- package/dist/_chunks/actions-cell-renderer-DrcaxB0w.js.map +1 -0
- package/dist/_chunks/address-autocomplete-BEX9PXty.js +496 -0
- package/dist/_chunks/address-autocomplete-BEX9PXty.js.map +1 -0
- package/dist/_chunks/{agenda-card.agent-B_R47-c9.js → agenda-card.agent-mTCrkKSZ.js} +6 -1
- package/dist/_chunks/{agenda-card.agent-B_R47-c9.js.map → agenda-card.agent-mTCrkKSZ.js.map} +1 -1
- package/dist/_chunks/{agenda-tray-T-BumlGZ.js → agenda-tray-g0kg7HwB.js} +36 -24
- package/dist/_chunks/agenda-tray-g0kg7HwB.js.map +1 -0
- package/dist/_chunks/{ai-consent-banner-Dxtx_WAh.js → ai-consent-banner-CXlsNX1c.js} +3 -3
- package/dist/_chunks/{ai-consent-banner-Dxtx_WAh.js.map → ai-consent-banner-CXlsNX1c.js.map} +1 -1
- package/dist/_chunks/{ai-prompt-input-BwEACCPm.js → ai-prompt-input-CuhTo9mh.js} +80 -61
- package/dist/_chunks/ai-prompt-input-CuhTo9mh.js.map +1 -0
- package/dist/_chunks/{ai-tools-rail-CInA_1-E.js → ai-tools-rail-BA_sqy1A.js} +87 -70
- package/dist/_chunks/ai-tools-rail-BA_sqy1A.js.map +1 -0
- package/dist/_chunks/{alia-sidebar-Ckv0yCKi.js → alia-sidebar-B47qRQb5.js} +5 -5
- package/dist/_chunks/{alia-sidebar-Ckv0yCKi.js.map → alia-sidebar-B47qRQb5.js.map} +1 -1
- package/dist/_chunks/{anamnesis-card-N8pIKWuS.js → anamnesis-card-DRmE24OQ.js} +2 -2
- package/dist/_chunks/{anamnesis-card-N8pIKWuS.js.map → anamnesis-card-DRmE24OQ.js.map} +1 -1
- package/dist/_chunks/{appointment-tray-BMl89NPW.js → appointment-tray-CZtvtaH-.js} +32 -20
- package/dist/_chunks/appointment-tray-CZtvtaH-.js.map +1 -0
- package/dist/_chunks/{audio-recorder-DjXLP4aF.js → audio-recorder-DYXXnGug.js} +59 -56
- package/dist/_chunks/audio-recorder-DYXXnGug.js.map +1 -0
- package/dist/_chunks/{autocomplete-CcCFlVf-.js → autocomplete-DOeGouCL.js} +157 -132
- package/dist/_chunks/autocomplete-DOeGouCL.js.map +1 -0
- package/dist/_chunks/bishop-score-PJI3AXzA.js +304 -0
- package/dist/_chunks/bishop-score-PJI3AXzA.js.map +1 -0
- package/dist/_chunks/bmi-calculator-BZtIJ53x.js +434 -0
- package/dist/_chunks/bmi-calculator-BZtIJ53x.js.map +1 -0
- package/dist/_chunks/{booking-L8-YP8BJ.js → booking-C3VqFReX.js} +420 -397
- package/dist/_chunks/booking-C3VqFReX.js.map +1 -0
- package/dist/_chunks/{breadcrumb-OTbaY70e.js → breadcrumb-CchdeG7d.js} +42 -28
- package/dist/_chunks/breadcrumb-CchdeG7d.js.map +1 -0
- package/dist/_chunks/{calculator-dialog-CFk4I91b.js → calculator-dialog-BR5iU0kf.js} +2 -2
- package/dist/_chunks/{calculator-dialog-CFk4I91b.js.map → calculator-dialog-BR5iU0kf.js.map} +1 -1
- package/dist/_chunks/{calendar-oYWOCrnf.js → calendar-CZUjL8SZ.js} +258 -201
- package/dist/_chunks/calendar-CZUjL8SZ.js.map +1 -0
- package/dist/_chunks/{care-plan-card-BwVUyUBb.js → care-plan-card-CvFGXa2z.js} +10 -6
- package/dist/_chunks/care-plan-card-CvFGXa2z.js.map +1 -0
- package/dist/_chunks/{care-plan-entry-card-VzdQHcOL.js → care-plan-entry-card-C3E_gClk.js} +17 -13
- package/dist/_chunks/care-plan-entry-card-C3E_gClk.js.map +1 -0
- package/dist/_chunks/{carousel.agent-vt21A_el.js → carousel.agent-4v8Emr9E.js} +219 -198
- package/dist/_chunks/{carousel.agent-vt21A_el.js.map → carousel.agent-4v8Emr9E.js.map} +1 -1
- package/dist/_chunks/{chart-Cg3e9EH9.js → chart-CMr3eW62.js} +150 -109
- package/dist/_chunks/chart-CMr3eW62.js.map +1 -0
- package/dist/_chunks/{chat-container-ogB4OskO.js → chat-container-DWho5hPR.js} +47 -34
- package/dist/_chunks/chat-container-DWho5hPR.js.map +1 -0
- package/dist/_chunks/{chat-input-B5zjNEUN.js → chat-input-BcXTetgM.js} +57 -41
- package/dist/_chunks/chat-input-BcXTetgM.js.map +1 -0
- package/dist/_chunks/{checkbox-DRcOdmXv.js → checkbox-BuZ1u__2.js} +41 -27
- package/dist/_chunks/checkbox-BuZ1u__2.js.map +1 -0
- package/dist/_chunks/{checkbox-group-CpUwlHug.js → checkbox-group-PqNmQ-cE.js} +3 -3
- package/dist/_chunks/{checkbox-group-CpUwlHug.js.map → checkbox-group-PqNmQ-cE.js.map} +1 -1
- package/dist/_chunks/{clinical-note-card-gtrxv6zn.js → clinical-note-card-DqQYf_D4.js} +2 -2
- package/dist/_chunks/{clinical-note-card-gtrxv6zn.js.map → clinical-note-card-DqQYf_D4.js.map} +1 -1
- package/dist/_chunks/{collapsible-X3oaLPU3.js → collapsible-BrnRiCC6.js} +26 -23
- package/dist/_chunks/collapsible-BrnRiCC6.js.map +1 -0
- package/dist/_chunks/{color-picker-FXpItIaF.js → color-picker-C_fZl6sA.js} +124 -112
- package/dist/_chunks/color-picker-C_fZl6sA.js.map +1 -0
- package/dist/_chunks/{combobox-BC-DFx8G.js → combobox-Clum7gJ1.js} +165 -128
- package/dist/_chunks/combobox-Clum7gJ1.js.map +1 -0
- package/dist/_chunks/{command-palette-BiPAAno-.js → command-palette-CJzmc5pC.js} +87 -64
- package/dist/_chunks/command-palette-CJzmc5pC.js.map +1 -0
- package/dist/_chunks/{contact-profile-card-7BMB85T6.js → contact-profile-card-Dramqa9C.js} +13 -11
- package/dist/_chunks/contact-profile-card-Dramqa9C.js.map +1 -0
- package/dist/_chunks/{copy-field-CCq7j6Zc.js → copy-field-Bjw9u2cV.js} +42 -35
- package/dist/_chunks/copy-field-Bjw9u2cV.js.map +1 -0
- package/dist/_chunks/counter-dRlTNC_y.js +55 -0
- package/dist/_chunks/counter-dRlTNC_y.js.map +1 -0
- package/dist/_chunks/{cycle-calculator-BF0ointe.js → cycle-calculator-DmRGJNaT.js} +3 -3
- package/dist/_chunks/{cycle-calculator-BF0ointe.js.map → cycle-calculator-DmRGJNaT.js.map} +1 -1
- package/dist/_chunks/{date-picker-oGg5BnXL.js → date-picker-Dl9RKxaV.js} +76 -57
- package/dist/_chunks/{date-picker-oGg5BnXL.js.map → date-picker-Dl9RKxaV.js.map} +1 -1
- package/dist/_chunks/{date-range-picker-C5BWfH_T.js → date-range-picker-CTUeR6Bj.js} +73 -46
- package/dist/_chunks/date-range-picker-CTUeR6Bj.js.map +1 -0
- package/dist/_chunks/{date-time-picker-Ze1My59T.js → date-time-picker-BhoogS5Q.js} +64 -40
- package/dist/_chunks/date-time-picker-BhoogS5Q.js.map +1 -0
- package/dist/_chunks/{dependent-selector-DpzGtr_J.js → dependent-selector-CG_FOHya.js} +44 -30
- package/dist/_chunks/dependent-selector-CG_FOHya.js.map +1 -0
- package/dist/_chunks/{dialog-DMGnSelc.js → dialog-ZNuboNmy.js} +35 -28
- package/dist/_chunks/dialog-ZNuboNmy.js.map +1 -0
- package/dist/_chunks/{document-scanner-D2qehl3-.js → document-scanner-CTubA0-N.js} +12 -4
- package/dist/_chunks/document-scanner-CTubA0-N.js.map +1 -0
- package/dist/_chunks/{dropdown-menu-DwwPovMZ.js → dropdown-menu-qrxjymfw.js} +94 -93
- package/dist/_chunks/dropdown-menu-qrxjymfw.js.map +1 -0
- package/dist/_chunks/{due-date-calculator-DU9AEWNy.js → due-date-calculator-BTmsIQqD.js} +4 -4
- package/dist/_chunks/{due-date-calculator-DU9AEWNy.js.map → due-date-calculator-BTmsIQqD.js.map} +1 -1
- package/dist/_chunks/editable-currency-cell-renderer-kgqp_mIw.js +448 -0
- package/dist/_chunks/editable-currency-cell-renderer-kgqp_mIw.js.map +1 -0
- package/dist/_chunks/{email-input-lQivsFrw.js → email-input-B_Y55f5G.js} +3 -3
- package/dist/_chunks/{email-input-lQivsFrw.js.map → email-input-B_Y55f5G.js.map} +1 -1
- package/dist/_chunks/{fetal-weight-BVSzOhuR.js → fetal-weight-CRz7KE2D.js} +2 -2
- package/dist/_chunks/{fetal-weight-BVSzOhuR.js.map → fetal-weight-CRz7KE2D.js.map} +1 -1
- package/dist/_chunks/{file-upload-BosbPDb1.js → file-upload-5ScQd4fE.js} +118 -100
- package/dist/_chunks/file-upload-5ScQd4fE.js.map +1 -0
- package/dist/_chunks/{fiscal-code-input-DPtqluVb.js → fiscal-code-input-Cf-8O4Fj.js} +76 -63
- package/dist/_chunks/fiscal-code-input-Cf-8O4Fj.js.map +1 -0
- package/dist/_chunks/{freemium-paywall-CkWjv3o6.js → freemium-paywall-DZ2mBS3w.js} +78 -71
- package/dist/_chunks/freemium-paywall-DZ2mBS3w.js.map +1 -0
- package/dist/_chunks/{gestational-age-calculator-DBlFdoiP.js → gestational-age-calculator-BleUdhbI.js} +5 -5
- package/dist/_chunks/{gestational-age-calculator-DBlFdoiP.js.map → gestational-age-calculator-BleUdhbI.js.map} +1 -1
- package/dist/_chunks/{hcg-doubling-if4Q8aSX.js → hcg-doubling-CnjDXX6U.js} +3 -3
- package/dist/_chunks/{hcg-doubling-if4Q8aSX.js.map → hcg-doubling-CnjDXX6U.js.map} +1 -1
- package/dist/_chunks/{header-settings-CNOqIhoW.js → header-settings-DJqoAl5m.js} +86 -46
- package/dist/_chunks/header-settings-DJqoAl5m.js.map +1 -0
- package/dist/_chunks/{index.modern-D2LGACWg.js → index.modern-Zta-A4Jm.js} +3 -3
- package/dist/_chunks/{index.modern-D2LGACWg.js.map → index.modern-Zta-A4Jm.js.map} +1 -1
- package/dist/_chunks/{list-BOwqwy03.js → list-DgE1xWBM.js} +99 -84
- package/dist/_chunks/list-DgE1xWBM.js.map +1 -0
- package/dist/_chunks/{locale-picker-C9JmBht3.js → locale-picker-ChYYSX2N.js} +47 -35
- package/dist/_chunks/locale-picker-ChYYSX2N.js.map +1 -0
- package/dist/_chunks/{map-view-Tb5VfK9Y.js → map-view-BkOoGoX2.js} +160 -115
- package/dist/_chunks/map-view-BkOoGoX2.js.map +1 -0
- package/dist/_chunks/{marketplace-app-shell-D4-T9Qzz.js → marketplace-app-shell-6T9W4Knl.js} +4 -4
- package/dist/_chunks/{marketplace-app-shell-D4-T9Qzz.js.map → marketplace-app-shell-6T9W4Knl.js.map} +1 -1
- package/dist/_chunks/{message-card.agent-4IeIgrnJ.js → message-card.agent-ZLhx3Bs5.js} +6 -1
- package/dist/_chunks/message-card.agent-ZLhx3Bs5.js.map +1 -0
- package/dist/_chunks/{message-tray-CVyJajVJ.js → message-tray-DwrBLJlf.js} +90 -48
- package/dist/_chunks/message-tray-DwrBLJlf.js.map +1 -0
- package/dist/_chunks/{multi-select-BcPylvHR.js → multi-select-BdHHDrRN.js} +196 -153
- package/dist/_chunks/multi-select-BdHHDrRN.js.map +1 -0
- package/dist/_chunks/{navigation-menu-C6lBYVv9.js → navigation-menu-DRUi6sSj.js} +75 -42
- package/dist/_chunks/navigation-menu-DRUi6sSj.js.map +1 -0
- package/dist/_chunks/{notification-card.agent-Rqt3ofk9.js → notification-card.agent-DxGBZb8T.js} +5 -1
- package/dist/_chunks/notification-card.agent-DxGBZb8T.js.map +1 -0
- package/dist/_chunks/{notification-tray-DlgenTEe.js → notification-tray-Btb9oQeZ.js} +112 -97
- package/dist/_chunks/notification-tray-Btb9oQeZ.js.map +1 -0
- package/dist/_chunks/{number-input-Dj5L3pXK.js → number-input-DxphVG_A.js} +36 -27
- package/dist/_chunks/number-input-DxphVG_A.js.map +1 -0
- package/dist/_chunks/{operator-hero-f_KaRhw5.js → operator-hero-CP2Nhupm.js} +12 -8
- package/dist/_chunks/operator-hero-CP2Nhupm.js.map +1 -0
- package/dist/_chunks/{otp-input-xQ4Ps5VY.js → otp-input-DzBQ-CpE.js} +52 -33
- package/dist/_chunks/otp-input-DzBQ-CpE.js.map +1 -0
- package/dist/_chunks/{pagination-DQOgnxxw.js → pagination-D58kglCr.js} +181 -162
- package/dist/_chunks/pagination-D58kglCr.js.map +1 -0
- package/dist/_chunks/{patient-search-DR9XUYRQ.js → patient-search-CBC_ySF6.js} +69 -60
- package/dist/_chunks/patient-search-CBC_ySF6.js.map +1 -0
- package/dist/_chunks/{patient-shell-BfgufL_q.js → patient-shell-DV3XEtIB.js} +3 -3
- package/dist/_chunks/{patient-shell-BfgufL_q.js.map → patient-shell-DV3XEtIB.js.map} +1 -1
- package/dist/_chunks/{patient-summary-card-hEmr4eTW.js → patient-summary-card-B836_fDB.js} +95 -103
- package/dist/_chunks/patient-summary-card-B836_fDB.js.map +1 -0
- package/dist/_chunks/patient-table-CDuosVru.js +889 -0
- package/dist/_chunks/patient-table-CDuosVru.js.map +1 -0
- package/dist/_chunks/{payment-form-nXocS_MX.js → payment-form-DvjwYVIT.js} +56 -44
- package/dist/_chunks/payment-form-DvjwYVIT.js.map +1 -0
- package/dist/_chunks/{payment-request-card-CYE5vhZ0.js → payment-request-card-DioWKBUq.js} +2 -2
- package/dist/_chunks/{payment-request-card-CYE5vhZ0.js.map → payment-request-card-DioWKBUq.js.map} +1 -1
- package/dist/_chunks/{pdf-viewer-GsfNqeeT.js → pdf-viewer-D6BPfW2D.js} +205 -157
- package/dist/_chunks/pdf-viewer-D6BPfW2D.js.map +1 -0
- package/dist/_chunks/{periodontal-chart-card-Dh3KgvYG.js → periodontal-chart-card-BuDEMbHE.js} +2 -2
- package/dist/_chunks/{periodontal-chart-card-Dh3KgvYG.js.map → periodontal-chart-card-BuDEMbHE.js.map} +1 -1
- package/dist/_chunks/{phone-input-DVXhNlIl.js → phone-input-DjU-XmO_.js} +64 -47
- package/dist/_chunks/phone-input-DjU-XmO_.js.map +1 -0
- package/dist/_chunks/{popover-DTbfAuR0.js → popover-B2qCDhJC.js} +37 -32
- package/dist/_chunks/popover-B2qCDhJC.js.map +1 -0
- package/dist/_chunks/{practice-results-DND2SAt7.js → practice-results-KrTHqZua.js} +278 -242
- package/dist/_chunks/practice-results-KrTHqZua.js.map +1 -0
- package/dist/_chunks/{pregnancy-dating-QY-sqpvj.js → pregnancy-dating-DORUAOHB.js} +6 -6
- package/dist/_chunks/{pregnancy-dating-QY-sqpvj.js.map → pregnancy-dating-DORUAOHB.js.map} +1 -1
- package/dist/_chunks/{pregnancy-weight-gain-DOJXXNYP.js → pregnancy-weight-gain-DVz4rr7-.js} +3 -3
- package/dist/_chunks/{pregnancy-weight-gain-DOJXXNYP.js.map → pregnancy-weight-gain-DVz4rr7-.js.map} +1 -1
- package/dist/_chunks/{privacy-lock-C7JyMf0y.js → privacy-lock-BzMLQu-j.js} +32 -28
- package/dist/_chunks/privacy-lock-BzMLQu-j.js.map +1 -0
- package/dist/_chunks/{product-hub-panel-CAXDFeGP.js → product-hub-panel-e6pW220e.js} +45 -27
- package/dist/_chunks/product-hub-panel-e6pW220e.js.map +1 -0
- package/dist/_chunks/{progress-kzIRcdaq.js → progress-DA413-zn.js} +2 -2
- package/dist/_chunks/{progress-kzIRcdaq.js.map → progress-DA413-zn.js.map} +1 -1
- package/dist/_chunks/{public-footer.agent-CfXuW1x6.js → public-footer.agent-D0cFbjWl.js} +151 -146
- package/dist/_chunks/public-footer.agent-D0cFbjWl.js.map +1 -0
- package/dist/_chunks/{public-header.agent-BOhJgZEU.js → public-header.agent-DqkqA-ca.js} +107 -102
- package/dist/_chunks/{public-header.agent-BOhJgZEU.js.map → public-header.agent-DqkqA-ca.js.map} +1 -1
- package/dist/_chunks/{qr-code-DNXhi6se.js → qr-code-CPkEs5mG.js} +52 -46
- package/dist/_chunks/qr-code-CPkEs5mG.js.map +1 -0
- package/dist/_chunks/{radio-group-CLjK-SlK.js → radio-group-BPt7pKZW.js} +5 -5
- package/dist/_chunks/{radio-group-CLjK-SlK.js.map → radio-group-BPt7pKZW.js.map} +1 -1
- package/dist/_chunks/{recaptcha-widget-BCNHsgqt.js → recaptcha-widget-BC-4To9b.js} +9 -2
- package/dist/_chunks/recaptcha-widget-BC-4To9b.js.map +1 -0
- package/dist/_chunks/registry-DvAUVLHh.js +51 -0
- package/dist/_chunks/registry-DvAUVLHh.js.map +1 -0
- package/dist/_chunks/{resizable-3vzqDlg6.js → resizable-DVGcfOrk.js} +193 -173
- package/dist/_chunks/resizable-DVGcfOrk.js.map +1 -0
- package/dist/_chunks/{reviews-panel-DBktKm7i.js → reviews-panel-Dq7LMDcH.js} +87 -68
- package/dist/_chunks/reviews-panel-Dq7LMDcH.js.map +1 -0
- package/dist/_chunks/{rich-text-editor-VawKN1FI.js → rich-text-editor-BsV7zUdg.js} +736 -647
- package/dist/_chunks/rich-text-editor-BsV7zUdg.js.map +1 -0
- package/dist/_chunks/{search-bar-SY2BcV2N.js → search-bar-C_T3pBJn.js} +105 -78
- package/dist/_chunks/search-bar-C_T3pBJn.js.map +1 -0
- package/dist/_chunks/{search-input-DbxrnHkW.js → search-input-DQvGxR74.js} +2 -2
- package/dist/_chunks/{search-input-DbxrnHkW.js.map → search-input-DQvGxR74.js.map} +1 -1
- package/dist/_chunks/{search-input.agent-CfZvViOd.js → search-input.agent-DRH54coT.js} +19 -4
- package/dist/_chunks/search-input.agent-DRH54coT.js.map +1 -0
- package/dist/_chunks/{select-CEtRcon5.js → select-DMLG44F5.js} +72 -56
- package/dist/_chunks/select-DMLG44F5.js.map +1 -0
- package/dist/_chunks/{session-countdown-LPnhTHjn.js → session-countdown-X1Ki6i0M.js} +3 -3
- package/dist/_chunks/{session-countdown-LPnhTHjn.js.map → session-countdown-X1Ki6i0M.js.map} +1 -1
- package/dist/_chunks/{sheet-taJer-Ha.js → sheet-BxsE7eQm.js} +59 -45
- package/dist/_chunks/sheet-BxsE7eQm.js.map +1 -0
- package/dist/_chunks/{sidebar-DaB4ulxH.js → sidebar-DY9jGjgt.js} +254 -248
- package/dist/_chunks/sidebar-DY9jGjgt.js.map +1 -0
- package/dist/_chunks/{sign-document-CdAiHiCh.js → sign-document-B4DeRhTe.js} +75 -49
- package/dist/_chunks/sign-document-B4DeRhTe.js.map +1 -0
- package/dist/_chunks/{signature-capture-COi0Uiqu.js → signature-capture-Ct_4Md4e.js} +138 -104
- package/dist/_chunks/signature-capture-Ct_4Md4e.js.map +1 -0
- package/dist/_chunks/{slider-BHWzXdjt.js → slider-DN1CWkKB.js} +85 -65
- package/dist/_chunks/slider-DN1CWkKB.js.map +1 -0
- package/dist/_chunks/{sparkline-DGhCSw8M.js → sparkline-iOXYgvJe.js} +75 -53
- package/dist/_chunks/sparkline-iOXYgvJe.js.map +1 -0
- package/dist/_chunks/{stepper-accordion.agent-C4quJ-MD.js → stepper-accordion.agent-cmEguIdx.js} +7 -1
- package/dist/_chunks/stepper-accordion.agent-cmEguIdx.js.map +1 -0
- package/dist/_chunks/{stepper-progress-DDjq5nei.js → stepper-progress-Bv0njx4g.js} +30 -24
- package/dist/_chunks/stepper-progress-Bv0njx4g.js.map +1 -0
- package/dist/_chunks/{suggestion-chip.agent-6sNWFj7m.js → suggestion-chip.agent-Brn3CiFE.js} +9 -8
- package/dist/_chunks/{suggestion-chip.agent-6sNWFj7m.js.map → suggestion-chip.agent-Brn3CiFE.js.map} +1 -1
- package/dist/_chunks/{switch-BJ6HD3Mn.js → switch-OILsBLWo.js} +25 -19
- package/dist/_chunks/switch-OILsBLWo.js.map +1 -0
- package/dist/_chunks/{tabs-BIQ0ew1T.js → tabs-BxcOziCo.js} +67 -58
- package/dist/_chunks/tabs-BxcOziCo.js.map +1 -0
- package/dist/_chunks/{task-card.agent-CUPKYd7w.js → task-card.agent-Bt14CzUd.js} +4 -1
- package/dist/_chunks/task-card.agent-Bt14CzUd.js.map +1 -0
- package/dist/_chunks/{task-tray-CAncV-QQ.js → task-tray-qOEQflu4.js} +74 -57
- package/dist/_chunks/task-tray-qOEQflu4.js.map +1 -0
- package/dist/_chunks/{text-area-BIx0tZ05.js → text-area-Bt3p7Pt0.js} +41 -34
- package/dist/_chunks/text-area-Bt3p7Pt0.js.map +1 -0
- package/dist/_chunks/{text-input-BaClJL8Y.js → text-input-B-OWQ1Je.js} +15 -8
- package/dist/_chunks/text-input-B-OWQ1Je.js.map +1 -0
- package/dist/_chunks/{theme-toggle-DETmSu_h.js → theme-toggle-XB6o_lgs.js} +38 -26
- package/dist/_chunks/theme-toggle-XB6o_lgs.js.map +1 -0
- package/dist/_chunks/{time-picker-B5umYwfv.js → time-picker-BPlJWm8w.js} +41 -31
- package/dist/_chunks/time-picker-BPlJWm8w.js.map +1 -0
- package/dist/_chunks/{timeline-DQa5Tyz4.js → timeline-CqA4nKTI.js} +33 -25
- package/dist/_chunks/timeline-CqA4nKTI.js.map +1 -0
- package/dist/_chunks/{toast.agent-vuLRRn2a.js → toast.agent-57UzyR9U.js} +62 -45
- package/dist/_chunks/{toast.agent-vuLRRn2a.js.map → toast.agent-57UzyR9U.js.map} +1 -1
- package/dist/_chunks/{tooth-scheme-BIx1O2aJ.js → tooth-scheme-yBr53cvv.js} +421 -348
- package/dist/_chunks/tooth-scheme-yBr53cvv.js.map +1 -0
- package/dist/_chunks/{transcript-panel-CLHmv83g.js → transcript-panel-3THQX6nJ.js} +47 -33
- package/dist/_chunks/transcript-panel-3THQX6nJ.js.map +1 -0
- package/dist/_chunks/unit-converter-YEpD9evj.js +337 -0
- package/dist/_chunks/unit-converter-YEpD9evj.js.map +1 -0
- package/dist/_chunks/{use-password-requirements-DsgduV1x.js → use-password-requirements-BXvS2MBS.js} +131 -117
- package/dist/_chunks/use-password-requirements-BXvS2MBS.js.map +1 -0
- package/dist/_chunks/users-MBVtUzwd.js +17 -0
- package/dist/_chunks/users-MBVtUzwd.js.map +1 -0
- package/dist/_chunks/warning-stack-BsgaEbL8.js +283 -0
- package/dist/_chunks/warning-stack-BsgaEbL8.js.map +1 -0
- package/dist/_chunks/{whatsapp-button-DUjlWGKf.js → whatsapp-button-BIy6NaJK.js} +6 -3
- package/dist/_chunks/whatsapp-button-BIy6NaJK.js.map +1 -0
- package/dist/_chunks/{workflow-map-JAZryZJr.js → workflow-map-Bdam9pGp.js} +99 -88
- package/dist/_chunks/workflow-map-Bdam9pGp.js.map +1 -0
- package/dist/agent/index.d.ts +4 -4
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +36 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/registry.d.ts +33 -0
- package/dist/agent/registry.d.ts.map +1 -1
- package/dist/agent/types.d.ts +78 -2
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent-catalog.json +6905 -509
- package/dist/agent-i18n/en.json +1175 -0
- package/dist/components/accordion/accordion.agent.d.ts.map +1 -1
- package/dist/components/accordion/accordion.d.ts.map +1 -1
- package/dist/components/accordion/index.js +1 -1
- package/dist/components/address-autocomplete/address-autocomplete.agent.d.ts +4 -0
- package/dist/components/address-autocomplete/address-autocomplete.agent.d.ts.map +1 -0
- package/dist/components/address-autocomplete/address-autocomplete.d.ts +18 -0
- package/dist/components/address-autocomplete/address-autocomplete.d.ts.map +1 -1
- package/dist/components/address-autocomplete/index.d.ts +2 -1
- package/dist/components/address-autocomplete/index.d.ts.map +1 -1
- package/dist/components/address-autocomplete/index.js +3 -2
- package/dist/components/agenda-card/agenda-card.agent.d.ts.map +1 -1
- package/dist/components/agenda-card/index.js +1 -1
- package/dist/components/agenda-tray/agenda-tray.agent.d.ts.map +1 -1
- package/dist/components/agenda-tray/index.js +1 -1
- package/dist/components/ai-consent-banner/index.js +1 -1
- package/dist/components/ai-prompt-input/ai-prompt-input.agent.d.ts.map +1 -1
- package/dist/components/ai-prompt-input/index.js +1 -1
- package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts.map +1 -1
- package/dist/components/ai-tools-rail/index.js +1 -1
- package/dist/components/anamnesis-card/index.js +1 -1
- package/dist/components/appointment-card/appointment-card.agent.d.ts.map +1 -1
- package/dist/components/appointment-card/appointment-tray.agent.d.ts.map +1 -1
- package/dist/components/appointment-card/index.js +1 -1
- package/dist/components/audio-recorder/audio-recorder.agent.d.ts.map +1 -1
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/autocomplete/autocomplete.agent.d.ts.map +1 -1
- package/dist/components/autocomplete/autocomplete.d.ts.map +1 -1
- package/dist/components/autocomplete/index.js +1 -1
- package/dist/components/bishop-score/bishop-score.agent.d.ts +4 -0
- package/dist/components/bishop-score/bishop-score.agent.d.ts.map +1 -0
- package/dist/components/bishop-score/bishop-score.d.ts +17 -1
- package/dist/components/bishop-score/bishop-score.d.ts.map +1 -1
- package/dist/components/bishop-score/index.js +1 -1
- package/dist/components/bmi-calculator/bmi-calculator.agent.d.ts +4 -0
- package/dist/components/bmi-calculator/bmi-calculator.agent.d.ts.map +1 -0
- package/dist/components/bmi-calculator/bmi-calculator.d.ts +26 -0
- package/dist/components/bmi-calculator/bmi-calculator.d.ts.map +1 -1
- package/dist/components/bmi-calculator/index.js +1 -1
- package/dist/components/booking/booking.agent.d.ts.map +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/breadcrumb/breadcrumb.agent.d.ts.map +1 -1
- package/dist/components/breadcrumb/index.js +1 -1
- package/dist/components/calculator-dialog/index.js +1 -1
- package/dist/components/calendar/calendar.agent.d.ts.map +1 -1
- package/dist/components/calendar/index.js +1 -1
- package/dist/components/care-plan-card/care-plan-card.agent.d.ts.map +1 -1
- package/dist/components/care-plan-card/index.js +1 -1
- package/dist/components/care-plan-entry-card/care-plan-entry-card.agent.d.ts.map +1 -1
- package/dist/components/care-plan-entry-card/index.js +1 -1
- package/dist/components/carousel/carousel.agent.d.ts.map +1 -1
- package/dist/components/carousel/index.js +1 -1
- package/dist/components/chart/chart.agent.d.ts.map +1 -1
- package/dist/components/chart/index.js +1 -1
- package/dist/components/chat-container/chat-container.agent.d.ts.map +1 -1
- package/dist/components/chat-container/index.js +1 -1
- package/dist/components/chat-input/chat-input.agent.d.ts.map +1 -1
- package/dist/components/chat-input/index.js +1 -1
- package/dist/components/checkbox/checkbox.agent.d.ts.map +1 -1
- package/dist/components/checkbox/index.js +1 -1
- package/dist/components/checkbox-group/index.js +1 -1
- package/dist/components/clinical-note-card/index.js +1 -1
- package/dist/components/collapsible/collapsible.agent.d.ts.map +1 -1
- package/dist/components/collapsible/index.js +1 -1
- package/dist/components/color-picker/color-picker.agent.d.ts.map +1 -1
- package/dist/components/color-picker/index.js +1 -1
- package/dist/components/combobox/combobox.agent.d.ts.map +1 -1
- package/dist/components/combobox/combobox.d.ts.map +1 -1
- package/dist/components/combobox/index.js +1 -1
- package/dist/components/command-palette/command-palette.agent.d.ts.map +1 -1
- package/dist/components/command-palette/command-palette.d.ts.map +1 -1
- package/dist/components/command-palette/index.js +1 -1
- package/dist/components/contact-profile-card/contact-profile-card.agent.d.ts.map +1 -1
- package/dist/components/contact-profile-card/index.js +1 -1
- package/dist/components/copy-field/copy-field.agent.d.ts.map +1 -1
- package/dist/components/copy-field/index.js +1 -1
- package/dist/components/counter/counter.d.ts +22 -0
- package/dist/components/counter/counter.d.ts.map +1 -0
- package/dist/components/counter/index.d.ts +3 -0
- package/dist/components/counter/index.d.ts.map +1 -0
- package/dist/components/counter/index.js +5 -0
- package/dist/components/counter/index.js.map +1 -0
- package/dist/components/cycle-calculator/index.js +1 -1
- package/dist/components/data-table/data-table.agent.d.ts.map +1 -1
- package/dist/components/data-table/index.js +31 -30
- package/dist/components/data-table/index.js.map +1 -1
- package/dist/components/data-table/toolbar.d.ts.map +1 -1
- package/dist/components/date-picker/date-picker.agent.d.ts.map +1 -1
- package/dist/components/date-picker/index.js +1 -1
- package/dist/components/date-range-picker/date-range-picker.agent.d.ts.map +1 -1
- package/dist/components/date-range-picker/index.js +1 -1
- package/dist/components/date-time-picker/date-time-picker.agent.d.ts.map +1 -1
- package/dist/components/date-time-picker/index.js +1 -1
- package/dist/components/dependent-selector/dependent-selector.agent.d.ts.map +1 -1
- package/dist/components/dependent-selector/index.js +1 -1
- package/dist/components/dialog/dialog.agent.d.ts.map +1 -1
- package/dist/components/dialog/index.js +1 -1
- package/dist/components/document-scanner/document-scanner.agent.d.ts.map +1 -1
- package/dist/components/document-scanner/index.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts.map +1 -1
- package/dist/components/dropdown-menu/index.js +1 -1
- package/dist/components/due-date-calculator/index.js +1 -1
- package/dist/components/email-input/index.js +1 -1
- package/dist/components/fetal-weight/index.js +1 -1
- package/dist/components/file-upload/file-upload.agent.d.ts.map +1 -1
- package/dist/components/file-upload/index.js +1 -1
- package/dist/components/fiscal-code-input/fiscal-code-input.agent.d.ts.map +1 -1
- package/dist/components/fiscal-code-input/index.js +1 -1
- package/dist/components/freemium-paywall/freemium-paywall.agent.d.ts.map +1 -1
- package/dist/components/freemium-paywall/freemium-paywall.d.ts +6 -0
- package/dist/components/freemium-paywall/freemium-paywall.d.ts.map +1 -1
- package/dist/components/freemium-paywall/index.js +1 -1
- package/dist/components/gestational-age-calculator/index.js +1 -1
- package/dist/components/hcg-doubling/index.js +1 -1
- package/dist/components/header-settings/header-settings.agent.d.ts.map +1 -1
- package/dist/components/header-settings/index.js +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/list/index.js +1 -1
- package/dist/components/list/list.agent.d.ts.map +1 -1
- package/dist/components/locale-picker/index.js +1 -1
- package/dist/components/locale-picker/locale-picker.agent.d.ts.map +1 -1
- package/dist/components/map-view/index.js +1 -1
- package/dist/components/map-view/map-view.agent.d.ts.map +1 -1
- package/dist/components/message-card/index.js +1 -1
- package/dist/components/message-card/message-card.agent.d.ts.map +1 -1
- package/dist/components/message-tray/index.js +1 -1
- package/dist/components/message-tray/message-tray.agent.d.ts.map +1 -1
- package/dist/components/multi-select/index.js +1 -1
- package/dist/components/multi-select/multi-select.agent.d.ts.map +1 -1
- package/dist/components/multi-select/multi-select.d.ts.map +1 -1
- package/dist/components/navigation-menu/index.js +1 -1
- package/dist/components/navigation-menu/navigation-menu.agent.d.ts.map +1 -1
- package/dist/components/notification-card/index.js +1 -1
- package/dist/components/notification-card/notification-card.agent.d.ts.map +1 -1
- package/dist/components/notification-tray/index.js +1 -1
- package/dist/components/notification-tray/notification-tray.agent.d.ts.map +1 -1
- package/dist/components/notification-tray/notification-tray.d.ts.map +1 -1
- package/dist/components/number-input/index.js +1 -1
- package/dist/components/number-input/number-input.agent.d.ts.map +1 -1
- package/dist/components/operator-hero/index.js +1 -1
- package/dist/components/operator-hero/operator-hero.agent.d.ts.map +1 -1
- package/dist/components/otp-input/index.js +1 -1
- package/dist/components/otp-input/otp-input.agent.d.ts.map +1 -1
- package/dist/components/pagination/index.js +1 -1
- package/dist/components/pagination/pagination.agent.d.ts.map +1 -1
- package/dist/components/password-input/index.js +1 -1
- package/dist/components/password-input/password-input.agent.d.ts.map +1 -1
- package/dist/components/patient-search/index.js +1 -1
- package/dist/components/patient-search/patient-search.agent.d.ts.map +1 -1
- package/dist/components/patient-summary-card/index.js +1 -1
- package/dist/components/patient-summary-card/patient-summary-card.agent.d.ts.map +1 -1
- package/dist/components/patient-table/cell-renderers/balance-badge-cell.d.ts +13 -0
- package/dist/components/patient-table/cell-renderers/balance-badge-cell.d.ts.map +1 -0
- package/dist/components/patient-table/cell-renderers/care-plan-status-cell.d.ts +43 -0
- package/dist/components/patient-table/cell-renderers/care-plan-status-cell.d.ts.map +1 -0
- package/dist/components/patient-table/cell-renderers/contact-cell.d.ts +45 -0
- package/dist/components/patient-table/cell-renderers/contact-cell.d.ts.map +1 -0
- package/dist/components/patient-table/cell-renderers/next-appointment-cell.d.ts +24 -0
- package/dist/components/patient-table/cell-renderers/next-appointment-cell.d.ts.map +1 -0
- package/dist/components/patient-table/cell-renderers/patient-identity-cell.d.ts +26 -0
- package/dist/components/patient-table/cell-renderers/patient-identity-cell.d.ts.map +1 -0
- package/dist/components/patient-table/columns.d.ts +102 -0
- package/dist/components/patient-table/columns.d.ts.map +1 -0
- package/dist/components/patient-table/index.d.ts +24 -0
- package/dist/components/patient-table/index.d.ts.map +1 -0
- package/dist/components/patient-table/index.js +13 -0
- package/dist/components/patient-table/index.js.map +1 -0
- package/dist/components/patient-table/patient-table.d.ts +138 -0
- package/dist/components/patient-table/patient-table.d.ts.map +1 -0
- package/dist/components/patient-table/types.d.ts +172 -0
- package/dist/components/patient-table/types.d.ts.map +1 -0
- package/dist/components/patient-table/use-responsive-columns.d.ts +109 -0
- package/dist/components/patient-table/use-responsive-columns.d.ts.map +1 -0
- package/dist/components/payment-card/index.js +1 -1
- package/dist/components/payment-form/index.js +1 -1
- package/dist/components/payment-form/payment-form.agent.d.ts.map +1 -1
- package/dist/components/pdf-viewer/index.js +1 -1
- package/dist/components/pdf-viewer/pdf-viewer.agent.d.ts.map +1 -1
- package/dist/components/periodontal-chart-card/index.js +1 -1
- package/dist/components/phone-input/index.js +1 -1
- package/dist/components/phone-input/phone-input.agent.d.ts.map +1 -1
- package/dist/components/popover/index.js +1 -1
- package/dist/components/popover/popover.agent.d.ts.map +1 -1
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/practice-results/practice-results.agent.d.ts.map +1 -1
- package/dist/components/pregnancy-dating/index.js +1 -1
- package/dist/components/pregnancy-weight-gain/index.js +1 -1
- package/dist/components/privacy-lock/index.js +1 -1
- package/dist/components/privacy-lock/privacy-lock.agent.d.ts.map +1 -1
- package/dist/components/product-hub-tray/index.js +1 -1
- package/dist/components/product-hub-tray/product-hub-panel.agent.d.ts.map +1 -1
- package/dist/components/product-hub-tray/product-hub-tray.agent.d.ts.map +1 -1
- package/dist/components/progress/index.js +1 -1
- package/dist/components/public-footer/index.js +1 -1
- package/dist/components/public-footer/public-footer.agent.d.ts.map +1 -1
- package/dist/components/public-footer/public-footer.d.ts.map +1 -1
- package/dist/components/public-header/index.js +1 -1
- package/dist/components/public-header/public-header.agent.d.ts.map +1 -1
- package/dist/components/qr-code/index.js +1 -1
- package/dist/components/qr-code/qr-code.agent.d.ts.map +1 -1
- package/dist/components/radio-group/index.js +1 -1
- package/dist/components/recaptcha-widget/index.js +1 -1
- package/dist/components/recaptcha-widget/recaptcha-widget.agent.d.ts.map +1 -1
- package/dist/components/resizable/index.js +1 -1
- package/dist/components/resizable/resizable.agent.d.ts.map +1 -1
- package/dist/components/resizable/resizable.d.ts.map +1 -1
- package/dist/components/reviews-panel/index.js +1 -1
- package/dist/components/reviews-panel/reviews-panel.agent.d.ts.map +1 -1
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts.map +1 -1
- package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +1 -1
- package/dist/components/search-bar/index.js +1 -1
- package/dist/components/search-bar/search-bar.agent.d.ts.map +1 -1
- package/dist/components/search-input/index.js +2 -2
- package/dist/components/search-input/search-input.agent.d.ts.map +1 -1
- package/dist/components/select/index.js +1 -1
- package/dist/components/select/select.agent.d.ts.map +1 -1
- package/dist/components/session-countdown/index.js +1 -1
- package/dist/components/sheet/index.js +1 -1
- package/dist/components/sheet/sheet.agent.d.ts.map +1 -1
- package/dist/components/sidebar/index.js +1 -1
- package/dist/components/sidebar/sidebar.agent.d.ts.map +1 -1
- package/dist/components/sidebar/sidebar.d.ts +7 -0
- package/dist/components/sidebar/sidebar.d.ts.map +1 -1
- package/dist/components/sign-document/index.js +1 -1
- package/dist/components/sign-document/sign-document.agent.d.ts.map +1 -1
- package/dist/components/signature-capture/index.js +1 -1
- package/dist/components/signature-capture/signature-capture.agent.d.ts.map +1 -1
- package/dist/components/slider/index.js +1 -1
- package/dist/components/slider/slider.agent.d.ts.map +1 -1
- package/dist/components/sparkline/index.js +1 -1
- package/dist/components/sparkline/sparkline.agent.d.ts.map +1 -1
- package/dist/components/stepper-accordion/index.js +1 -1
- package/dist/components/stepper-accordion/stepper-accordion.agent.d.ts.map +1 -1
- package/dist/components/stepper-progress/index.js +1 -1
- package/dist/components/stepper-progress/stepper-progress.agent.d.ts.map +1 -1
- package/dist/components/suggestion-chip/index.js +1 -1
- package/dist/components/suggestion-chip/suggestion-chip.agent.d.ts.map +1 -1
- package/dist/components/switch/index.js +1 -1
- package/dist/components/switch/switch.agent.d.ts.map +1 -1
- package/dist/components/tabs/index.js +1 -1
- package/dist/components/tabs/tabs.agent.d.ts.map +1 -1
- package/dist/components/tabs/tabs.d.ts.map +1 -1
- package/dist/components/task-card/index.js +1 -1
- package/dist/components/task-card/task-card.agent.d.ts.map +1 -1
- package/dist/components/task-tray/index.js +1 -1
- package/dist/components/task-tray/task-tray.agent.d.ts.map +1 -1
- package/dist/components/text-area/index.js +1 -1
- package/dist/components/text-area/text-area.agent.d.ts.map +1 -1
- package/dist/components/text-input/index.js +1 -1
- package/dist/components/text-input/text-input.agent.d.ts.map +1 -1
- package/dist/components/theme-toggle/index.js +1 -1
- package/dist/components/theme-toggle/theme-toggle.agent.d.ts.map +1 -1
- package/dist/components/time-picker/index.js +1 -1
- package/dist/components/time-picker/time-picker.agent.d.ts.map +1 -1
- package/dist/components/timeline/index.js +1 -1
- package/dist/components/timeline/timeline.agent.d.ts.map +1 -1
- package/dist/components/toast/index.js +1 -1
- package/dist/components/toast/toast.agent.d.ts.map +1 -1
- package/dist/components/toast/toast.d.ts.map +1 -1
- package/dist/components/tooth-scheme/index.js +1 -1
- package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts.map +1 -1
- package/dist/components/transcript-panel/index.js +1 -1
- package/dist/components/transcript-panel/transcript-panel.agent.d.ts.map +1 -1
- package/dist/components/unit-converter/index.js +1 -1
- package/dist/components/unit-converter/unit-converter.agent.d.ts +4 -0
- package/dist/components/unit-converter/unit-converter.agent.d.ts.map +1 -0
- package/dist/components/unit-converter/unit-converter.d.ts +27 -0
- package/dist/components/unit-converter/unit-converter.d.ts.map +1 -1
- package/dist/components/warning-stack/index.js +1 -1
- package/dist/components/warning-stack/warning-stack.d.ts +9 -0
- package/dist/components/warning-stack/warning-stack.d.ts.map +1 -1
- package/dist/components/whatsapp-button/index.d.ts +1 -1
- package/dist/components/whatsapp-button/index.d.ts.map +1 -1
- package/dist/components/whatsapp-button/index.js +3 -2
- package/dist/components/whatsapp-button/whatsapp-button.d.ts +3 -0
- package/dist/components/whatsapp-button/whatsapp-button.d.ts.map +1 -1
- package/dist/components/workflow/index.js +1 -1
- package/dist/components/workflow/workflow.agent.d.ts.map +1 -1
- package/dist/i18n/locales/ar.d.ts +72 -0
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/ar.js +73 -1
- package/dist/i18n/locales/ar.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +72 -0
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +73 -1
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/el.d.ts +72 -0
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/el.js +73 -1
- package/dist/i18n/locales/el.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +90 -0
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +91 -1
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +72 -0
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +73 -1
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +72 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +73 -1
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hi.d.ts +72 -0
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/hi.js +73 -1
- package/dist/i18n/locales/hi.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +72 -0
- package/dist/i18n/locales/it.d.ts.map +1 -1
- package/dist/i18n/locales/it.js +73 -1
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts +72 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +73 -1
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/nl.d.ts +72 -0
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/nl.js +73 -1
- package/dist/i18n/locales/nl.js.map +1 -1
- package/dist/i18n/locales/pl.d.ts +72 -0
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.js +73 -1
- package/dist/i18n/locales/pl.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts +72 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +73 -1
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ro.d.ts +72 -0
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ro.js +73 -1
- package/dist/i18n/locales/ro.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts +72 -0
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +73 -1
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/sq.d.ts +72 -0
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sq.js +73 -1
- package/dist/i18n/locales/sq.js.map +1 -1
- package/dist/i18n/locales/sv.d.ts +72 -0
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/sv.js +73 -1
- package/dist/i18n/locales/sv.js.map +1 -1
- package/dist/i18n/locales/tr.d.ts +72 -0
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/tr.js +73 -1
- package/dist/i18n/locales/tr.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +72 -0
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/locales/zh.js +73 -1
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/index.js +688 -673
- package/dist/index.js.map +1 -1
- package/dist/locales/ar.json +73 -1
- package/dist/locales/de.json +73 -1
- package/dist/locales/el.json +73 -1
- package/dist/locales/en.json +73 -1
- package/dist/locales/es.json +73 -1
- package/dist/locales/fr.json +73 -1
- package/dist/locales/hi.json +73 -1
- package/dist/locales/it.json +73 -1
- package/dist/locales/ja.json +73 -1
- package/dist/locales/nl.json +73 -1
- package/dist/locales/pl.json +73 -1
- package/dist/locales/pt.json +73 -1
- package/dist/locales/ro.json +73 -1
- package/dist/locales/ru.json +73 -1
- package/dist/locales/sq.json +73 -1
- package/dist/locales/sv.json +73 -1
- package/dist/locales/tr.json +73 -1
- package/dist/locales/zh.json +73 -1
- package/dist/patterns/alia-assistant/index.js +1 -1
- package/dist/patterns/marketplace-app-shell/index.js +1 -1
- package/dist/patterns/patient-shell/index.js +1 -1
- package/dist/tokens.css +3 -2
- package/package.json +14 -1
- package/dist/_chunks/accordion-9lJSMMsZ.js.map +0 -1
- package/dist/_chunks/address-autocomplete-CT-9AOli.js +0 -358
- package/dist/_chunks/address-autocomplete-CT-9AOli.js.map +0 -1
- package/dist/_chunks/agenda-tray-T-BumlGZ.js.map +0 -1
- package/dist/_chunks/ai-prompt-input-BwEACCPm.js.map +0 -1
- package/dist/_chunks/ai-tools-rail-CInA_1-E.js.map +0 -1
- package/dist/_chunks/appointment-tray-BMl89NPW.js.map +0 -1
- package/dist/_chunks/audio-recorder-DjXLP4aF.js.map +0 -1
- package/dist/_chunks/autocomplete-CcCFlVf-.js.map +0 -1
- package/dist/_chunks/bishop-score-CjsB9bM-.js +0 -185
- package/dist/_chunks/bishop-score-CjsB9bM-.js.map +0 -1
- package/dist/_chunks/bmi-calculator-n-823_1V.js +0 -258
- package/dist/_chunks/bmi-calculator-n-823_1V.js.map +0 -1
- package/dist/_chunks/booking-L8-YP8BJ.js.map +0 -1
- package/dist/_chunks/breadcrumb-OTbaY70e.js.map +0 -1
- package/dist/_chunks/calendar-oYWOCrnf.js.map +0 -1
- package/dist/_chunks/care-plan-card-BwVUyUBb.js.map +0 -1
- package/dist/_chunks/care-plan-entry-card-VzdQHcOL.js.map +0 -1
- package/dist/_chunks/chart-Cg3e9EH9.js.map +0 -1
- package/dist/_chunks/chat-container-ogB4OskO.js.map +0 -1
- package/dist/_chunks/chat-input-B5zjNEUN.js.map +0 -1
- package/dist/_chunks/checkbox-DRcOdmXv.js.map +0 -1
- package/dist/_chunks/collapsible-X3oaLPU3.js.map +0 -1
- package/dist/_chunks/color-picker-FXpItIaF.js.map +0 -1
- package/dist/_chunks/combobox-BC-DFx8G.js.map +0 -1
- package/dist/_chunks/command-palette-BiPAAno-.js.map +0 -1
- package/dist/_chunks/contact-profile-card-7BMB85T6.js.map +0 -1
- package/dist/_chunks/copy-field-CCq7j6Zc.js.map +0 -1
- package/dist/_chunks/date-range-picker-C5BWfH_T.js.map +0 -1
- package/dist/_chunks/date-time-picker-Ze1My59T.js.map +0 -1
- package/dist/_chunks/dependent-selector-DpzGtr_J.js.map +0 -1
- package/dist/_chunks/dialog-DMGnSelc.js.map +0 -1
- package/dist/_chunks/document-scanner-D2qehl3-.js.map +0 -1
- package/dist/_chunks/dropdown-menu-DwwPovMZ.js.map +0 -1
- package/dist/_chunks/editable-currency-cell-renderer-DHOspPee.js +0 -2409
- package/dist/_chunks/editable-currency-cell-renderer-DHOspPee.js.map +0 -1
- package/dist/_chunks/file-upload-BosbPDb1.js.map +0 -1
- package/dist/_chunks/fiscal-code-input-DPtqluVb.js.map +0 -1
- package/dist/_chunks/freemium-paywall-CkWjv3o6.js.map +0 -1
- package/dist/_chunks/header-settings-CNOqIhoW.js.map +0 -1
- package/dist/_chunks/list-BOwqwy03.js.map +0 -1
- package/dist/_chunks/locale-picker-C9JmBht3.js.map +0 -1
- package/dist/_chunks/map-view-Tb5VfK9Y.js.map +0 -1
- package/dist/_chunks/message-card.agent-4IeIgrnJ.js.map +0 -1
- package/dist/_chunks/message-tray-CVyJajVJ.js.map +0 -1
- package/dist/_chunks/multi-select-BcPylvHR.js.map +0 -1
- package/dist/_chunks/navigation-menu-C6lBYVv9.js.map +0 -1
- package/dist/_chunks/notification-card.agent-Rqt3ofk9.js.map +0 -1
- package/dist/_chunks/notification-tray-DlgenTEe.js.map +0 -1
- package/dist/_chunks/number-input-Dj5L3pXK.js.map +0 -1
- package/dist/_chunks/operator-hero-f_KaRhw5.js.map +0 -1
- package/dist/_chunks/otp-input-xQ4Ps5VY.js.map +0 -1
- package/dist/_chunks/pagination-DQOgnxxw.js.map +0 -1
- package/dist/_chunks/patient-search-DR9XUYRQ.js.map +0 -1
- package/dist/_chunks/patient-summary-card-hEmr4eTW.js.map +0 -1
- package/dist/_chunks/payment-form-nXocS_MX.js.map +0 -1
- package/dist/_chunks/pdf-viewer-GsfNqeeT.js.map +0 -1
- package/dist/_chunks/phone-input-DVXhNlIl.js.map +0 -1
- package/dist/_chunks/popover-DTbfAuR0.js.map +0 -1
- package/dist/_chunks/practice-results-DND2SAt7.js.map +0 -1
- package/dist/_chunks/privacy-lock-C7JyMf0y.js.map +0 -1
- package/dist/_chunks/product-hub-panel-CAXDFeGP.js.map +0 -1
- package/dist/_chunks/public-footer.agent-CfXuW1x6.js.map +0 -1
- package/dist/_chunks/qr-code-DNXhi6se.js.map +0 -1
- package/dist/_chunks/recaptcha-widget-BCNHsgqt.js.map +0 -1
- package/dist/_chunks/registry-nPAVE19X.js +0 -21
- package/dist/_chunks/registry-nPAVE19X.js.map +0 -1
- package/dist/_chunks/resizable-3vzqDlg6.js.map +0 -1
- package/dist/_chunks/reviews-panel-DBktKm7i.js.map +0 -1
- package/dist/_chunks/rich-text-editor-VawKN1FI.js.map +0 -1
- package/dist/_chunks/search-bar-SY2BcV2N.js.map +0 -1
- package/dist/_chunks/search-input.agent-CfZvViOd.js.map +0 -1
- package/dist/_chunks/select-CEtRcon5.js.map +0 -1
- package/dist/_chunks/sheet-taJer-Ha.js.map +0 -1
- package/dist/_chunks/sidebar-DaB4ulxH.js.map +0 -1
- package/dist/_chunks/sign-document-CdAiHiCh.js.map +0 -1
- package/dist/_chunks/signature-capture-COi0Uiqu.js.map +0 -1
- package/dist/_chunks/slider-BHWzXdjt.js.map +0 -1
- package/dist/_chunks/sparkline-DGhCSw8M.js.map +0 -1
- package/dist/_chunks/stepper-accordion.agent-C4quJ-MD.js.map +0 -1
- package/dist/_chunks/stepper-progress-DDjq5nei.js.map +0 -1
- package/dist/_chunks/switch-BJ6HD3Mn.js.map +0 -1
- package/dist/_chunks/tabs-BIQ0ew1T.js.map +0 -1
- package/dist/_chunks/task-card.agent-CUPKYd7w.js.map +0 -1
- package/dist/_chunks/task-tray-CAncV-QQ.js.map +0 -1
- package/dist/_chunks/text-area-BIx0tZ05.js.map +0 -1
- package/dist/_chunks/text-input-BaClJL8Y.js.map +0 -1
- package/dist/_chunks/theme-toggle-DETmSu_h.js.map +0 -1
- package/dist/_chunks/time-picker-B5umYwfv.js.map +0 -1
- package/dist/_chunks/timeline-DQa5Tyz4.js.map +0 -1
- package/dist/_chunks/tooth-scheme-BIx1O2aJ.js.map +0 -1
- package/dist/_chunks/transcript-panel-CLHmv83g.js.map +0 -1
- package/dist/_chunks/unit-converter-C1V3ACM9.js +0 -196
- package/dist/_chunks/unit-converter-C1V3ACM9.js.map +0 -1
- package/dist/_chunks/use-password-requirements-DsgduV1x.js.map +0 -1
- package/dist/_chunks/warning-stack-Cv4fr5zo.js +0 -220
- package/dist/_chunks/warning-stack-Cv4fr5zo.js.map +0 -1
- package/dist/_chunks/whatsapp-button-DUjlWGKf.js.map +0 -1
- package/dist/_chunks/workflow-map-JAZryZJr.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfadocs/ui-kit-debug",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.69.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "AlfaDocs shared design system — tokens, components, patterns, and translations for platform, booking, and alfascribe. (debug build — identical runtime to @alfadocs/ui-kit, ships source maps for symbolication).",
|
|
6
6
|
"license": "BUSL-1.1",
|
|
@@ -47,6 +47,11 @@
|
|
|
47
47
|
"types": "./dist/hooks/index.d.ts",
|
|
48
48
|
"import": "./dist/hooks/index.js"
|
|
49
49
|
},
|
|
50
|
+
"./agent": {
|
|
51
|
+
"types": "./dist/agent/index.d.ts",
|
|
52
|
+
"import": "./dist/agent/index.js"
|
|
53
|
+
},
|
|
54
|
+
"./agent-catalog.json": "./dist/agent-catalog.json",
|
|
50
55
|
"./accordion": {
|
|
51
56
|
"types": "./dist/components/accordion/index.d.ts",
|
|
52
57
|
"import": "./dist/components/accordion/index.js"
|
|
@@ -211,6 +216,10 @@
|
|
|
211
216
|
"types": "./dist/components/copy-field/index.d.ts",
|
|
212
217
|
"import": "./dist/components/copy-field/index.js"
|
|
213
218
|
},
|
|
219
|
+
"./counter": {
|
|
220
|
+
"types": "./dist/components/counter/index.d.ts",
|
|
221
|
+
"import": "./dist/components/counter/index.js"
|
|
222
|
+
},
|
|
214
223
|
"./data-table": {
|
|
215
224
|
"types": "./dist/components/data-table/index.d.ts",
|
|
216
225
|
"import": "./dist/components/data-table/index.js"
|
|
@@ -643,6 +652,10 @@
|
|
|
643
652
|
"types": "./dist/components/patient-summary-card/index.d.ts",
|
|
644
653
|
"import": "./dist/components/patient-summary-card/index.js"
|
|
645
654
|
},
|
|
655
|
+
"./patient-table": {
|
|
656
|
+
"types": "./dist/components/patient-table/index.d.ts",
|
|
657
|
+
"import": "./dist/components/patient-table/index.js"
|
|
658
|
+
},
|
|
646
659
|
"./appointment-card": {
|
|
647
660
|
"types": "./dist/components/appointment-card/index.d.ts",
|
|
648
661
|
"import": "./dist/components/appointment-card/index.js"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"accordion-9lJSMMsZ.js","sources":["../../src/components/accordion/accordion.agent.ts","../../src/components/accordion/accordion.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { AccordionHandle } from './accordion';\n\nexport const accordionAgent: AgentAdapter<AccordionHandle> = {\n id: 'accordion',\n capabilities: ['expand', 'select_single', 'select_multiple'],\n state: {\n openItems: {\n type: 'string[]',\n description:\n 'Ids (values) of currently-expanded items. Single-mode accordions return an array with 0 or 1 entries.',\n read: (handle) => handle.getOpenItems(),\n },\n },\n actions: {\n expand: {\n safety: 'read',\n argsType: '{ itemId: string }',\n description: 'Expand the item with the given value.',\n invoke: (handle, args: { itemId: string }) => {\n handle.expand(args.itemId);\n },\n },\n collapse: {\n safety: 'read',\n argsType: '{ itemId: string }',\n description: 'Collapse the item with the given value.',\n invoke: (handle, args: { itemId: string }) => {\n handle.collapse(args.itemId);\n },\n },\n clear: {\n safety: 'read',\n description:\n 'Collapse all items. Only meaningful for multi-mode accordions; single-mode equivalent to collapsing the active item.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'accordion' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n item: {\n attr: 'data-item-id',\n description: 'Each Accordion.Item emits its value as data-item-id.',\n },\n },\n};\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n} from 'react';\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { ChevronDown } from 'lucide-react';\nimport { useDirection } from '../_shared/use-direction';\nimport { composeRefs } from '../_shared/compose-refs';\nimport { useAgentRegistration } from '../../agent';\nimport { accordionAgent } from './accordion.agent';\n\ntype AccordionVariant = 'default' | 'card' | 'separated';\n\nconst AccordionContext = createContext<{ variant: AccordionVariant }>({\n variant: 'default',\n});\n\nconst accordionVariants = cva('', {\n variants: {\n variant: {\n default: 'ds:divide-y ds:divide-border',\n card: 'ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]',\n separated: 'ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nconst accordionItemVariants = cva('', {\n variants: {\n variant: {\n default: '',\n card: 'ds:bg-[var(--card)] ds:border ds:border-[color:var(--card-border)] ds:rounded-[var(--radius-lg)] ds:overflow-hidden',\n separated:\n 'ds:border ds:border-[color:var(--card-border)] ds:[.theme-accessible_&]:border-2 ds:rounded-[var(--radius-md)] ds:overflow-hidden',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nconst contentVariants = cva(\n [\n 'ds:overflow-hidden',\n 'ds:data-[state=open]:animate-[accordion-down_calc(var(--animation-duration)*1.5)_var(--ease-out)]',\n 'ds:data-[state=closed]:animate-[accordion-up_calc(var(--animation-duration)*1.5)_var(--ease-in)]',\n ].join(' '),\n);\n\nconst chevronVariants = cva(\n 'ds:ms-auto ds:size-4 ds:shrink-0 ds:transition-transform ds:duration-[calc(var(--animation-duration)*1.5)] ds:ease-[var(--ease-out)] ds:motion-reduce:transition-none ds:group-data-[state=open]:rotate-180',\n);\n\nconst triggerVariants = cva(\n [\n 'ds:group ds:flex ds:w-full ds:items-center ds:[min-block-size:var(--min-target-size)]',\n 'ds:py-[var(--spacing-md)] ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n 'ds:text-start ds:font-medium ds:hover:underline',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:disabled:cursor-not-allowed ds:disabled:opacity-50',\n 'ds:transition-all ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n ].join(' '),\n);\n\ntype PrimitiveSingleProps = ComponentPropsWithoutRef<\n typeof AccordionPrimitive.Root\n> & {\n type: 'single';\n};\ntype PrimitiveMultipleProps = ComponentPropsWithoutRef<\n typeof AccordionPrimitive.Root\n> & {\n type: 'multiple';\n};\n\nexport type AccordionProps = (PrimitiveSingleProps | PrimitiveMultipleProps) &\n VariantProps<typeof accordionVariants>;\n\n// Curated agent-readiness handle — see accordion.agent.ts.\nexport interface AccordionHandle {\n getOpenItems: () => string[];\n expand: (itemId: string) => void;\n collapse: (itemId: string) => void;\n clear: () => void;\n}\n\nexport type AccordionItemProps = ComponentPropsWithoutRef<\n typeof AccordionPrimitive.Item\n> &\n VariantProps<typeof accordionItemVariants>;\n\nexport type AccordionTriggerProps = ComponentPropsWithoutRef<\n typeof AccordionPrimitive.Trigger\n>;\n\nexport type AccordionContentProps = ComponentPropsWithoutRef<\n typeof AccordionPrimitive.Content\n>;\n\nconst AccordionRoot = forwardRef<HTMLDivElement, AccordionProps>(\n ({ variant = 'default', className, children, id, ...props }, ref) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const composedRef = composeRefs(ref, rootRef);\n const dir = useDirection(rootRef);\n\n // Mirror Radix's controlled/uncontrolled value into local state so the\n // agent handle can read live state and synthesise updates.\n const accordionProps = props as ComponentPropsWithoutRef<\n typeof AccordionPrimitive.Root\n >;\n const accordionType = (props as { type?: 'single' | 'multiple' }).type;\n const isMultiple = accordionType === 'multiple';\n const isValueControlled =\n (accordionProps as { value?: unknown }).value !== undefined;\n\n const [internalValue, setInternalValue] = useState<string | string[]>(\n () => {\n const dv = (accordionProps as { defaultValue?: string | string[] })\n .defaultValue;\n if (dv !== undefined) return dv;\n return isMultiple ? [] : '';\n },\n );\n\n const controlledValue = (accordionProps as { value?: string | string[] })\n .value;\n const currentValue = isValueControlled\n ? (controlledValue as string | string[])\n : internalValue;\n const valueRef = useRef<string | string[]>(currentValue);\n useEffect(() => {\n valueRef.current = currentValue;\n }, [currentValue]);\n\n const onValueChange = (\n accordionProps as { onValueChange?: (next: string | string[]) => void }\n ).onValueChange;\n const commitValue = useCallback(\n (next: string | string[]) => {\n if (!isValueControlled) setInternalValue(next);\n onValueChange?.(next);\n },\n [isValueControlled, onValueChange],\n );\n\n const handle = useMemo<AccordionHandle>(\n () => ({\n getOpenItems: () => {\n const v = valueRef.current;\n if (Array.isArray(v)) return [...v];\n return v ? [v] : [];\n },\n expand: (itemId: string) => {\n const v = valueRef.current;\n if (Array.isArray(v)) {\n if (v.includes(itemId)) return;\n commitValue([...v, itemId]);\n } else {\n if (v === itemId) return;\n commitValue(itemId);\n }\n },\n collapse: (itemId: string) => {\n const v = valueRef.current;\n if (Array.isArray(v)) {\n if (!v.includes(itemId)) return;\n commitValue(v.filter((x) => x !== itemId));\n } else if (v === itemId) {\n commitValue('');\n }\n },\n clear: () => {\n const v = valueRef.current;\n if (Array.isArray(v)) commitValue([]);\n else commitValue('');\n },\n }),\n [commitValue],\n );\n useAgentRegistration(accordionAgent, handle, id);\n\n // Bridge controlled/uncontrolled into Radix as a controlled root so our\n // internal state drives the primitive. Cast at construction because Radix's\n // Root is a discriminated union on `type` that TS can't narrow from `isMultiple`.\n const radixControlProps = (\n isMultiple\n ? {\n value: Array.isArray(currentValue) ? currentValue : [],\n onValueChange: (next: string[]) => commitValue(next),\n }\n : {\n value: typeof currentValue === 'string' ? currentValue : '',\n onValueChange: (next: string) => commitValue(next),\n }\n ) as ComponentPropsWithoutRef<typeof AccordionPrimitive.Root>;\n\n const {\n value: _omittedValue,\n defaultValue: _omittedDefault,\n onValueChange: _omittedOnChange,\n ...passthrough\n } = accordionProps as ComponentPropsWithoutRef<\n typeof AccordionPrimitive.Root\n > & {\n value?: unknown;\n defaultValue?: unknown;\n onValueChange?: unknown;\n };\n\n return (\n <AccordionContext.Provider value={{ variant: variant ?? 'default' }}>\n <AccordionPrimitive.Root\n ref={composedRef}\n dir={dir}\n id={id}\n data-component=\"accordion\"\n data-component-id={id}\n className={accordionVariants({ variant, className })}\n {...({\n ...passthrough,\n ...radixControlProps,\n } as ComponentPropsWithoutRef<typeof AccordionPrimitive.Root>)}\n >\n {children}\n </AccordionPrimitive.Root>\n </AccordionContext.Provider>\n );\n },\n);\nAccordionRoot.displayName = 'Accordion';\n\nconst AccordionItem = forwardRef<HTMLDivElement, AccordionItemProps>(\n ({ variant: variantProp, className, children, ...props }, ref) => {\n const { variant: ctxVariant } = useContext(AccordionContext);\n const variant = variantProp ?? ctxVariant;\n return (\n <AccordionPrimitive.Item\n ref={ref}\n className={accordionItemVariants({ variant, className })}\n {...props}\n >\n {children}\n </AccordionPrimitive.Item>\n );\n },\n);\nAccordionItem.displayName = 'AccordionItem';\n\nconst AccordionTrigger = forwardRef<HTMLButtonElement, AccordionTriggerProps>(\n ({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"ds:flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={triggerVariants({ className })}\n {...props}\n >\n {children}\n <ChevronDown aria-hidden=\"true\" className={chevronVariants()} />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n ),\n);\nAccordionTrigger.displayName = 'AccordionTrigger';\n\nconst AccordionContent = forwardRef<HTMLDivElement, AccordionContentProps>(\n ({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className={contentVariants({ className })}\n {...props}\n >\n <div className=\"ds:pb-[var(--spacing-md)] ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]\">\n {children}\n </div>\n </AccordionPrimitive.Content>\n ),\n);\nAccordionContent.displayName = 'AccordionContent';\n\nexport const Accordion = Object.assign(AccordionRoot, {\n Item: AccordionItem,\n Trigger: AccordionTrigger,\n Content: AccordionContent,\n});\n\nexport { AccordionItem, AccordionTrigger, AccordionContent };\n"],"names":["accordionAgent","handle","args","AccordionContext","createContext","accordionVariants","cva","accordionItemVariants","contentVariants","chevronVariants","triggerVariants","AccordionRoot","forwardRef","variant","className","children","id","props","ref","rootRef","useRef","composedRef","composeRefs","dir","useDirection","accordionProps","isMultiple","isValueControlled","internalValue","setInternalValue","useState","dv","controlledValue","currentValue","valueRef","useEffect","onValueChange","commitValue","useCallback","next","useMemo","v","itemId","x","useAgentRegistration","radixControlProps","_omittedValue","_omittedDefault","_omittedOnChange","passthrough","jsx","AccordionPrimitive","AccordionItem","variantProp","ctxVariant","useContext","AccordionTrigger","jsxs","ChevronDown","AccordionContent","Accordion"],"mappings":"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"}
|
|
@@ -1,358 +0,0 @@
|
|
|
1
|
-
import { jsx as i, jsxs as S } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as we, useRef as B, useMemo as _e, useId as Ce, useState as z, useCallback as H, useEffect as Ie } from "react";
|
|
3
|
-
import { c as O } from "./index-D2ZczOXr.js";
|
|
4
|
-
import { useTranslation as de } from "react-i18next";
|
|
5
|
-
import { A as Re, u as Ne } from "./index.modern-D2LGACWg.js";
|
|
6
|
-
import { u as Pe } from "./form-field-context-B3APVHKx.js";
|
|
7
|
-
import { c as Ee } from "./compose-refs-C0k0tdqF.js";
|
|
8
|
-
import { u as ke } from "./use-controllable-state-BiY4xTzM.js";
|
|
9
|
-
import { I as De, a as J, b as W, c as Fe } from "./input-surface-xyERuLU_.js";
|
|
10
|
-
import { u as Be } from "./use-debounced-callback-BisrB-Fq.js";
|
|
11
|
-
import { M as Ue } from "./map-pin-B8STOPMJ.js";
|
|
12
|
-
function U(s) {
|
|
13
|
-
return s.longText ?? s.long_name ?? "";
|
|
14
|
-
}
|
|
15
|
-
function ne(s) {
|
|
16
|
-
return s.shortText ?? s.short_name ?? U(s);
|
|
17
|
-
}
|
|
18
|
-
function y(s, u) {
|
|
19
|
-
return s.find((p) => p.types.includes(u));
|
|
20
|
-
}
|
|
21
|
-
function oe(s, u = "") {
|
|
22
|
-
const p = y(s, "route"), f = y(s, "street_number"), t = y(s, "locality"), a = y(s, "postal_town"), m = y(s, "administrative_area_level_3"), I = y(s, "postal_code"), R = y(s, "administrative_area_level_2"), d = y(s, "country"), h = p ? U(p) : "", v = f ? U(f) : "", x = [h, v].filter(Boolean).join(" ").trim(), r = t ?? a ?? m, o = r ? U(r) : "", c = I ? U(I) : "", N = R ? ne(R).toUpperCase() : "", g = d ? ne(d).toLowerCase() : "";
|
|
23
|
-
return {
|
|
24
|
-
street: x,
|
|
25
|
-
city: o,
|
|
26
|
-
postcode: c,
|
|
27
|
-
province: N,
|
|
28
|
-
country: g,
|
|
29
|
-
formatted: u
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
const $e = O(
|
|
33
|
-
["ds:flex ds:w-full ds:items-center", Fe].join(" "),
|
|
34
|
-
{
|
|
35
|
-
variants: {
|
|
36
|
-
size: {
|
|
37
|
-
sm: `${J.sm} ${W.sm}`,
|
|
38
|
-
md: `${J.md} ${W.md}`,
|
|
39
|
-
lg: `${J.lg} ${W.lg}`
|
|
40
|
-
},
|
|
41
|
-
tone: De
|
|
42
|
-
},
|
|
43
|
-
defaultVariants: { size: "md", tone: "default" }
|
|
44
|
-
}
|
|
45
|
-
), Me = O(
|
|
46
|
-
[
|
|
47
|
-
"ds:flex-1 ds:min-w-0 ds:ps-3 ds:pe-3 ds:bg-transparent ds:text-foreground",
|
|
48
|
-
"ds:placeholder:text-muted-foreground",
|
|
49
|
-
"ds:outline-none ds:focus:outline-none ds:focus-visible:outline-none",
|
|
50
|
-
"ds:disabled:cursor-not-allowed ds:read-only:cursor-default"
|
|
51
|
-
].join(" ")
|
|
52
|
-
), Ve = "ds:inline-flex ds:items-center ds:shrink-0 ds:ps-3 ds:text-muted-foreground ds:[&_svg]:size-4", je = O(
|
|
53
|
-
[
|
|
54
|
-
"ds:absolute ds:z-[var(--z-dropdown)] ds:mt-[var(--spacing-2xs)] ds:w-full",
|
|
55
|
-
"ds:overflow-auto ds:max-h-[18rem]",
|
|
56
|
-
"ds:rounded-[var(--radius-sm)] ds:border ds:border-border ds:bg-background",
|
|
57
|
-
"ds:shadow-[var(--shadow-md)] ds:p-[var(--spacing-xs)]"
|
|
58
|
-
].join(" ")
|
|
59
|
-
), Le = O(
|
|
60
|
-
[
|
|
61
|
-
"ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)]",
|
|
62
|
-
"ds:ps-3 ds:pe-3 ds:py-2 ds:rounded-[var(--radius-sm)]",
|
|
63
|
-
"ds:cursor-pointer ds:select-none ds:text-foreground",
|
|
64
|
-
"ds:text-start",
|
|
65
|
-
"ds:data-[active=true]:bg-primary ds:data-[active=true]:text-primary-foreground",
|
|
66
|
-
"ds:hover:bg-muted ds:data-[active=true]:hover:bg-primary"
|
|
67
|
-
].join(" ")
|
|
68
|
-
), ae = "ds:ps-3 ds:pe-3 ds:py-2 type-body-sm ds:text-muted-foreground";
|
|
69
|
-
function Se({
|
|
70
|
-
forwardedRef: s,
|
|
71
|
-
regionCodes: u,
|
|
72
|
-
onSelect: p,
|
|
73
|
-
...f
|
|
74
|
-
}) {
|
|
75
|
-
const t = Ne("places"), a = B(null), m = !!(t && "AutocompleteSuggestion" in t && "Place" in t && "AutocompleteSessionToken" in t), I = H(
|
|
76
|
-
async (d) => {
|
|
77
|
-
if (!t || d.trim().length === 0) return [];
|
|
78
|
-
if (m) {
|
|
79
|
-
a.current || (a.current = new t.AutocompleteSessionToken());
|
|
80
|
-
const { suggestions: r } = await t.AutocompleteSuggestion.fetchAutocompleteSuggestions({
|
|
81
|
-
input: d,
|
|
82
|
-
sessionToken: a.current,
|
|
83
|
-
includedRegionCodes: u
|
|
84
|
-
});
|
|
85
|
-
return r.map((o) => {
|
|
86
|
-
var N, g;
|
|
87
|
-
const c = o.placePrediction;
|
|
88
|
-
return c ? {
|
|
89
|
-
placeId: c.placeId,
|
|
90
|
-
primaryText: ((N = c.mainText) == null ? void 0 : N.text) ?? c.text.text,
|
|
91
|
-
secondaryText: (g = c.secondaryText) == null ? void 0 : g.text
|
|
92
|
-
} : null;
|
|
93
|
-
}).filter((o) => o !== null);
|
|
94
|
-
}
|
|
95
|
-
const h = t.AutocompleteService;
|
|
96
|
-
return h ? (await new h().getPlacePredictions({ input: d })).predictions.map((r) => {
|
|
97
|
-
var o, c;
|
|
98
|
-
return {
|
|
99
|
-
placeId: r.place_id,
|
|
100
|
-
primaryText: ((o = r.structured_formatting) == null ? void 0 : o.main_text) ?? r.description,
|
|
101
|
-
secondaryText: (c = r.structured_formatting) == null ? void 0 : c.secondary_text
|
|
102
|
-
};
|
|
103
|
-
}) : [];
|
|
104
|
-
},
|
|
105
|
-
[t, m, u]
|
|
106
|
-
), R = H(
|
|
107
|
-
async (d) => {
|
|
108
|
-
if (d.address) return d.address;
|
|
109
|
-
if (!t) return null;
|
|
110
|
-
if (m) {
|
|
111
|
-
const x = new t.Place({ id: d.placeId }), { place: r } = await x.fetchFields({
|
|
112
|
-
fields: ["addressComponents", "formattedAddress"]
|
|
113
|
-
});
|
|
114
|
-
a.current = null;
|
|
115
|
-
const o = r.addressComponents ?? [];
|
|
116
|
-
return oe(
|
|
117
|
-
o,
|
|
118
|
-
r.formattedAddress ?? ""
|
|
119
|
-
);
|
|
120
|
-
}
|
|
121
|
-
const h = t.PlacesService;
|
|
122
|
-
if (!h) return null;
|
|
123
|
-
const v = new h(document.createElement("div"));
|
|
124
|
-
return new Promise((x) => {
|
|
125
|
-
v.getDetails(
|
|
126
|
-
{
|
|
127
|
-
placeId: d.placeId,
|
|
128
|
-
fields: ["address_components", "formatted_address"]
|
|
129
|
-
},
|
|
130
|
-
(r) => {
|
|
131
|
-
if (!r) {
|
|
132
|
-
x(null);
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
const o = r.address_components ?? [];
|
|
136
|
-
x(
|
|
137
|
-
oe(
|
|
138
|
-
o,
|
|
139
|
-
r.formatted_address ?? ""
|
|
140
|
-
)
|
|
141
|
-
);
|
|
142
|
-
}
|
|
143
|
-
);
|
|
144
|
-
});
|
|
145
|
-
},
|
|
146
|
-
[t, m]
|
|
147
|
-
);
|
|
148
|
-
return /* @__PURE__ */ i(
|
|
149
|
-
Y,
|
|
150
|
-
{
|
|
151
|
-
...f,
|
|
152
|
-
forwardedRef: s,
|
|
153
|
-
getSuggestions: I,
|
|
154
|
-
resolveSelection: R,
|
|
155
|
-
onSelect: p
|
|
156
|
-
}
|
|
157
|
-
);
|
|
158
|
-
}
|
|
159
|
-
function Y({
|
|
160
|
-
forwardedRef: s,
|
|
161
|
-
value: u,
|
|
162
|
-
defaultValue: p,
|
|
163
|
-
onValueChange: f,
|
|
164
|
-
onSelect: t,
|
|
165
|
-
getSuggestions: a,
|
|
166
|
-
resolveSelection: m,
|
|
167
|
-
placeholder: I,
|
|
168
|
-
debounceMs: R = 250,
|
|
169
|
-
disabled: d,
|
|
170
|
-
required: h,
|
|
171
|
-
readOnly: v,
|
|
172
|
-
name: x,
|
|
173
|
-
id: r,
|
|
174
|
-
size: o = "md",
|
|
175
|
-
tone: c = "default",
|
|
176
|
-
className: N,
|
|
177
|
-
"aria-label": g
|
|
178
|
-
}) {
|
|
179
|
-
const { t: T } = de(), D = Pe(), G = B(null), ie = _e(
|
|
180
|
-
() => Ee(s, G),
|
|
181
|
-
[s]
|
|
182
|
-
), ce = Ce(), $ = r ?? D.id ?? ce, Z = `${$}-listbox`, le = `${$}-live`, q = (e) => `${$}-opt-${e}`, P = !!(D.disabled || d), ue = !!(D.required || h), ee = D.invalid, pe = ee ? "error" : c, fe = D.describedBy || void 0, [me, K] = ke({
|
|
183
|
-
value: u,
|
|
184
|
-
defaultValue: p ?? "",
|
|
185
|
-
onChange: f
|
|
186
|
-
}), A = me ?? "", [w, E] = z(!1), [l, Q] = z([]), [F, X] = z(!1), [b, _] = z(-1), M = B(!1), V = B(""), ve = I ?? T("inputs.addressAutocomplete.placeholder"), he = H(
|
|
187
|
-
(e) => {
|
|
188
|
-
!a || P || v || M.current || (V.current = e, X(!0), Promise.resolve(a(e)).then((n) => {
|
|
189
|
-
V.current === e && (Q(n), _(-1), X(!1));
|
|
190
|
-
}).catch(() => {
|
|
191
|
-
V.current === e && (Q([]), X(!1));
|
|
192
|
-
}));
|
|
193
|
-
},
|
|
194
|
-
[a, P, v]
|
|
195
|
-
), k = Be(he, R);
|
|
196
|
-
Ie(() => () => k.cancel(), [k]);
|
|
197
|
-
const xe = (e) => {
|
|
198
|
-
K(e), !(P || v) && (w || E(!0), !M.current && k(e));
|
|
199
|
-
}, te = H(
|
|
200
|
-
(e) => {
|
|
201
|
-
var n;
|
|
202
|
-
K(e.primaryText), E(!1), _(-1), Q([]), V.current = e.primaryText, m ? Promise.resolve(m(e)).then((C) => {
|
|
203
|
-
C && (t == null || t(C));
|
|
204
|
-
}).catch(() => {
|
|
205
|
-
}) : e.address && (t == null || t(e.address)), (n = G.current) == null || n.focus();
|
|
206
|
-
},
|
|
207
|
-
[K, m, t, G]
|
|
208
|
-
), se = w && !F && A.trim().length > 0 && l.length === 0 && !!a, j = l.length > 0, L = w && (j || se || F), be = (e) => {
|
|
209
|
-
if (!e.nativeEvent.isComposing) {
|
|
210
|
-
if (e.key === "ArrowDown") {
|
|
211
|
-
if (e.preventDefault(), !w) {
|
|
212
|
-
E(!0), A && k(A);
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
if (l.length === 0) return;
|
|
216
|
-
_((n) => (n + 1) % l.length);
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
|
-
if (e.key === "ArrowUp") {
|
|
220
|
-
if (e.preventDefault(), l.length === 0) return;
|
|
221
|
-
_(
|
|
222
|
-
(n) => n <= 0 ? l.length - 1 : n - 1
|
|
223
|
-
);
|
|
224
|
-
return;
|
|
225
|
-
}
|
|
226
|
-
if (e.key === "Enter") {
|
|
227
|
-
L && (e.preventDefault(), b >= 0 && l[b] && te(l[b]));
|
|
228
|
-
return;
|
|
229
|
-
}
|
|
230
|
-
e.key === "Escape" && w && (e.preventDefault(), E(!1), _(-1));
|
|
231
|
-
}
|
|
232
|
-
}, ye = () => {
|
|
233
|
-
P || v || A && (E(!0), k(A));
|
|
234
|
-
}, ge = (e) => {
|
|
235
|
-
var C;
|
|
236
|
-
const n = e.relatedTarget;
|
|
237
|
-
n && ((C = re.current) != null && C.contains(n)) || (E(!1), _(-1));
|
|
238
|
-
}, re = B(null), Te = w && b >= 0 && l[b] ? q(l[b].placeId) : void 0, Ae = F ? T("inputs.addressAutocomplete.loading") : w && A.trim().length > 0 ? T("inputs.addressAutocomplete.results", { count: l.length }) : "";
|
|
239
|
-
return /* @__PURE__ */ S(
|
|
240
|
-
"div",
|
|
241
|
-
{
|
|
242
|
-
className: "ds:relative ds:w-full",
|
|
243
|
-
"data-component": "address-autocomplete",
|
|
244
|
-
"data-component-id": r,
|
|
245
|
-
children: [
|
|
246
|
-
/* @__PURE__ */ S(
|
|
247
|
-
"div",
|
|
248
|
-
{
|
|
249
|
-
className: $e({ size: o, tone: pe, className: N }),
|
|
250
|
-
"data-disabled": P || void 0,
|
|
251
|
-
children: [
|
|
252
|
-
/* @__PURE__ */ i("span", { "aria-hidden": "true", className: Ve, children: /* @__PURE__ */ i(Ue, {}) }),
|
|
253
|
-
/* @__PURE__ */ i(
|
|
254
|
-
"input",
|
|
255
|
-
{
|
|
256
|
-
ref: ie,
|
|
257
|
-
id: $,
|
|
258
|
-
name: x,
|
|
259
|
-
type: "text",
|
|
260
|
-
autoComplete: "off",
|
|
261
|
-
role: "combobox",
|
|
262
|
-
"aria-autocomplete": "list",
|
|
263
|
-
"aria-expanded": L,
|
|
264
|
-
"aria-controls": L ? Z : void 0,
|
|
265
|
-
"aria-activedescendant": Te,
|
|
266
|
-
"aria-describedby": fe,
|
|
267
|
-
"aria-invalid": ee || void 0,
|
|
268
|
-
"aria-label": g ?? T("inputs.addressAutocomplete.ariaLabel"),
|
|
269
|
-
placeholder: ve,
|
|
270
|
-
value: A,
|
|
271
|
-
disabled: P,
|
|
272
|
-
required: ue,
|
|
273
|
-
readOnly: v,
|
|
274
|
-
onChange: (e) => xe(e.target.value),
|
|
275
|
-
onKeyDown: be,
|
|
276
|
-
onFocus: ye,
|
|
277
|
-
onBlur: ge,
|
|
278
|
-
onCompositionStart: () => {
|
|
279
|
-
M.current = !0;
|
|
280
|
-
},
|
|
281
|
-
onCompositionEnd: (e) => {
|
|
282
|
-
M.current = !1, k(e.currentTarget.value);
|
|
283
|
-
},
|
|
284
|
-
className: Me()
|
|
285
|
-
}
|
|
286
|
-
)
|
|
287
|
-
]
|
|
288
|
-
}
|
|
289
|
-
),
|
|
290
|
-
L ? /* @__PURE__ */ S(
|
|
291
|
-
"ul",
|
|
292
|
-
{
|
|
293
|
-
ref: re,
|
|
294
|
-
id: Z,
|
|
295
|
-
role: "listbox",
|
|
296
|
-
"aria-label": g ?? T("inputs.addressAutocomplete.listLabel"),
|
|
297
|
-
className: je(),
|
|
298
|
-
children: [
|
|
299
|
-
j ? l.map((e, n) => /* @__PURE__ */ S(
|
|
300
|
-
"li",
|
|
301
|
-
{
|
|
302
|
-
id: q(e.placeId),
|
|
303
|
-
role: "option",
|
|
304
|
-
"aria-selected": n === b,
|
|
305
|
-
"data-active": n === b || void 0,
|
|
306
|
-
onMouseDown: (C) => {
|
|
307
|
-
C.preventDefault(), te(e);
|
|
308
|
-
},
|
|
309
|
-
onMouseEnter: () => _(n),
|
|
310
|
-
className: Le(),
|
|
311
|
-
children: [
|
|
312
|
-
/* @__PURE__ */ i("span", { className: "ds:truncate", children: e.primaryText }),
|
|
313
|
-
e.secondaryText ? /* @__PURE__ */ i("span", { className: "type-meta ds:text-muted-foreground ds:data-[active=true]:text-primary-foreground ds:truncate", children: e.secondaryText }) : null
|
|
314
|
-
]
|
|
315
|
-
},
|
|
316
|
-
e.placeId
|
|
317
|
-
)) : null,
|
|
318
|
-
!j && F ? /* @__PURE__ */ i("li", { role: "presentation", className: ae, children: T("inputs.addressAutocomplete.loading") }) : null,
|
|
319
|
-
!j && !F && se ? /* @__PURE__ */ i("li", { role: "presentation", className: ae, children: T("inputs.addressAutocomplete.noResults") }) : null
|
|
320
|
-
]
|
|
321
|
-
}
|
|
322
|
-
) : null,
|
|
323
|
-
/* @__PURE__ */ i(
|
|
324
|
-
"span",
|
|
325
|
-
{
|
|
326
|
-
id: le,
|
|
327
|
-
role: "status",
|
|
328
|
-
"aria-live": "polite",
|
|
329
|
-
"aria-atomic": "true",
|
|
330
|
-
className: "ds:sr-only",
|
|
331
|
-
children: Ae
|
|
332
|
-
}
|
|
333
|
-
)
|
|
334
|
-
]
|
|
335
|
-
}
|
|
336
|
-
);
|
|
337
|
-
}
|
|
338
|
-
const ze = we(function({ apiKey: u, getSuggestions: p, ...f }, t) {
|
|
339
|
-
const { i18n: a } = de();
|
|
340
|
-
return p ? /* @__PURE__ */ i(
|
|
341
|
-
Y,
|
|
342
|
-
{
|
|
343
|
-
...f,
|
|
344
|
-
forwardedRef: t,
|
|
345
|
-
getSuggestions: p,
|
|
346
|
-
resolveSelection: He
|
|
347
|
-
}
|
|
348
|
-
) : u ? /* @__PURE__ */ i(Re, { apiKey: u, language: a.language, children: /* @__PURE__ */ i(Se, { ...f, forwardedRef: t }) }) : /* @__PURE__ */ i(Y, { ...f, forwardedRef: t });
|
|
349
|
-
});
|
|
350
|
-
ze.displayName = "AddressAutocomplete";
|
|
351
|
-
async function He(s) {
|
|
352
|
-
return s.address ?? null;
|
|
353
|
-
}
|
|
354
|
-
export {
|
|
355
|
-
ze as A,
|
|
356
|
-
oe as p
|
|
357
|
-
};
|
|
358
|
-
//# sourceMappingURL=address-autocomplete-CT-9AOli.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"address-autocomplete-CT-9AOli.js","sources":["../../src/components/address-autocomplete/parse-address.ts","../../src/components/address-autocomplete/address-autocomplete.tsx"],"sourcesContent":["/* ------------------------------------------------------------------ */\n/* parse-address — pure mapper from Google address components to the */\n/* kit's StructuredAddress shape. */\n/* */\n/* Kept dependency-free and side-effect-free so it can be unit-tested */\n/* in isolation (no Google SDK, no DOM) and reused by the mock-mode */\n/* story/test fixtures. Accepts the loosened component shape produced */\n/* by BOTH the new Places API (`Place.addressComponents` → */\n/* `{ longText, shortText, types }`) and the classic Geocoder/ */\n/* PlacesService shape (`{ long_name, short_name, types }`) so the */\n/* component can fall back without re-shaping upstream. */\n/* ------------------------------------------------------------------ */\n\n/**\n * Structured, app-friendly address. Field semantics match the AlfaDocs\n * Italian patient-address model: `province` is the 2-letter IT province\n * code (UPPERCASED) and `country` is the ISO 3166-1 alpha-2 code\n * (lowercased), matching how the platform stores them.\n */\nexport interface StructuredAddress {\n /** Street line — route, with the street number joined when present. */\n street: string;\n /** Town / city (locality, falling back to postal_town / admin level 3). */\n city: string;\n /** Postal / ZIP code. */\n postcode: string;\n /** Province — admin level 2 short code, UPPERCASED (e.g. \"MI\", \"RM\"). */\n province: string;\n /** Country — ISO alpha-2, lowercased (e.g. \"it\", \"gb\"). */\n country: string;\n /** Google's human-readable formatted address (whole line). */\n formatted: string;\n}\n\n/**\n * Loosened address-component shape accepted by {@link parseAddressComponents}.\n * Mirrors both Places-API (`longText`/`shortText`) and classic Geocoder\n * (`long_name`/`short_name`) field names so either source parses without a\n * pre-pass. `types` is required; the text fields are individually optional.\n */\nexport interface RawAddressComponent {\n types: string[];\n longText?: string | null;\n shortText?: string | null;\n long_name?: string | null;\n short_name?: string | null;\n}\n\nfunction longTextOf(component: RawAddressComponent): string {\n return component.longText ?? component.long_name ?? '';\n}\n\nfunction shortTextOf(component: RawAddressComponent): string {\n return component.shortText ?? component.short_name ?? longTextOf(component);\n}\n\nfunction findByType(\n components: readonly RawAddressComponent[],\n type: string,\n): RawAddressComponent | undefined {\n return components.find((component) => component.types.includes(type));\n}\n\n/**\n * Maps an array of Google address components to a {@link StructuredAddress}.\n *\n * Pure: no SDK calls, no DOM, no I/O. `formatted` is passed through from the\n * caller (Google's `formattedAddress` / `formatted_address`) because it is\n * not derivable from the component list.\n *\n * Mapping rules:\n * - `street` = `route`, prefixed with `street_number` when present\n * (e.g. \"Via Roma 12\"). Either part alone is used if the\n * other is missing.\n * - `city` = `locality`, falling back to `postal_town`, then\n * `administrative_area_level_3`.\n * - `postcode` = `postal_code`.\n * - `province` = `administrative_area_level_2` SHORT text, UPPERCASED.\n * - `country` = `country` SHORT text (ISO alpha-2), lowercased.\n */\nexport function parseAddressComponents(\n components: readonly RawAddressComponent[],\n formatted = '',\n): StructuredAddress {\n const route = findByType(components, 'route');\n const streetNumber = findByType(components, 'street_number');\n const locality = findByType(components, 'locality');\n const postalTown = findByType(components, 'postal_town');\n const adminLevel3 = findByType(components, 'administrative_area_level_3');\n const postalCode = findByType(components, 'postal_code');\n const adminLevel2 = findByType(components, 'administrative_area_level_2');\n const country = findByType(components, 'country');\n\n const routeText = route ? longTextOf(route) : '';\n const numberText = streetNumber ? longTextOf(streetNumber) : '';\n const street = [routeText, numberText].filter(Boolean).join(' ').trim();\n\n const cityComponent = locality ?? postalTown ?? adminLevel3;\n const city = cityComponent ? longTextOf(cityComponent) : '';\n\n const postcode = postalCode ? longTextOf(postalCode) : '';\n\n const province = adminLevel2 ? shortTextOf(adminLevel2).toUpperCase() : '';\n\n const countryCode = country ? shortTextOf(country).toLowerCase() : '';\n\n return {\n street,\n city,\n postcode,\n province,\n country: countryCode,\n formatted,\n };\n}\n","/// <reference types=\"google.maps\" />\n/* ------------------------------------------------------------------ */\n/* AddressAutocomplete — single-line address field with Google Places */\n/* suggestions, surfaced as an accessible combobox + listbox. */\n/* */\n/* - Wraps the Google Maps JS API on demand via the library's */\n/* `APIProvider`; the consumer supplies `apiKey` (never cached by the */\n/* kit, same contract as MapView). NO `<Map>` is rendered — only the */\n/* `places` library is loaded via `useMapsLibrary(\"places\")`. */\n/* - NO consent gate (unlike MapView): the consumer guarantees consent */\n/* upstream before mounting this field. */\n/* - Prefers the NEW Places API */\n/* (`AutocompleteSuggestion.fetchAutocompleteSuggestions` for */\n/* predictions + `Place.fetchFields([\"addressComponents\", …])` for */\n/* details). Falls back to the classic `AutocompleteService` + */\n/* `PlacesService` when the new classes are unavailable in the loaded */\n/* SDK version. */\n/* - NO-KEY / no-library fallback: when `apiKey` is absent (and no */\n/* `getSuggestions` injector is given), renders a plain themed text */\n/* input so the field never hard-fails. */\n/* - MOCK mode: pass `getSuggestions` to drive the listbox from a */\n/* static list (each carrying a pre-parsed `StructuredAddress`) — no */\n/* real Google call. Used by stories/tests. */\n/* ------------------------------------------------------------------ */\n\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type FocusEvent,\n type ForwardedRef,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { cva } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { APIProvider, useMapsLibrary } from '@vis.gl/react-google-maps';\nimport { MapPin } from 'lucide-react';\nimport { useFormField } from '../form-field/form-field-context';\nimport { composeRefs } from '../_shared/compose-refs';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useDebouncedCallback } from '../_shared/use-debounced-callback';\nimport {\n INPUT_SURFACE_CHROME,\n INPUT_SURFACE_HEIGHT,\n INPUT_SURFACE_TEXT,\n INPUT_SURFACE_TONE,\n} from '../_shared/input-surface';\nimport {\n parseAddressComponents,\n type StructuredAddress,\n type RawAddressComponent,\n} from './parse-address';\n\nexport type { StructuredAddress, RawAddressComponent };\n\n/* ------------------------------------------------------------------ */\n/* Suggestion shape */\n/* ------------------------------------------------------------------ */\n\n/**\n * A single address suggestion surfaced in the listbox.\n *\n * `placeId` keys the row and (in real Google mode) is used to fetch full\n * details on selection. In MOCK mode the suggestion carries a pre-parsed\n * `address` so selection resolves without any network call.\n */\nexport interface AddressSuggestion {\n /** Stable id — the Google place id, or any unique string in mock mode. */\n placeId: string;\n /** Primary line shown in the row (e.g. \"Via Roma 12\"). */\n primaryText: string;\n /** Secondary line shown muted under the primary (e.g. \"Milan, Italy\"). */\n secondaryText?: string;\n /**\n * Pre-parsed structured address. Required in MOCK mode (so selection can\n * resolve without Google). In real Google mode this is omitted and the\n * details are fetched on selection.\n */\n address?: StructuredAddress;\n}\n\n/**\n * Test/story injector. Given the current query it returns the suggestions\n * to show. Each returned suggestion MUST carry a pre-parsed `address` so\n * selection resolves without a real Google call.\n */\nexport type GetSuggestions = (\n query: string,\n) => AddressSuggestion[] | Promise<AddressSuggestion[]>;\n\n/* ------------------------------------------------------------------ */\n/* Props */\n/* ------------------------------------------------------------------ */\n\nexport interface AddressAutocompleteProps {\n /**\n * Google Maps JS API key. Consumer-owned; never cached by the kit. When\n * absent (and no `getSuggestions` injector is given) the field degrades\n * to a plain free-text input with no suggestions.\n */\n apiKey?: string;\n /** Controlled text value of the input. */\n value?: string;\n /** Fires on every keystroke with the new input text. */\n onValueChange?: (value: string) => void;\n /** Uncontrolled initial text. Ignored once `value` is set. */\n defaultValue?: string;\n /**\n * Fires when the user picks a suggestion, with the parsed structured\n * address. In real Google mode the details are fetched first, so this\n * is async relative to the click.\n */\n onSelect?: (address: StructuredAddress) => void;\n /**\n * Test-only / mock injector. When provided, the listbox is driven from\n * its return value instead of a real Google call — even when `apiKey` is\n * also set (the injector wins, so stories/tests are deterministic).\n */\n getSuggestions?: GetSuggestions;\n /**\n * Restrict predictions to these CLDR region codes (e.g. `['it']`).\n * Real-Google mode only.\n */\n regionCodes?: string[];\n /** Visible label is owned by a wrapping FormField; this is a fallback name. */\n 'aria-label'?: string;\n /** Placeholder text. Falls back to the translated default. */\n placeholder?: string;\n /** Debounce before firing a suggestion fetch. Default 250ms. */\n debounceMs?: number;\n disabled?: boolean;\n required?: boolean;\n readOnly?: boolean;\n name?: string;\n /** Field id. Falls back to FormField context id. */\n id?: string;\n size?: 'sm' | 'md' | 'lg';\n tone?: 'default' | 'error';\n className?: string;\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst wrapperVariants = 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:ps-3 ds:pe-3 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 ds:read-only:cursor-default',\n ].join(' '),\n);\n\nconst adornmentClasses =\n 'ds:inline-flex ds:items-center ds:shrink-0 ds:ps-3 ds:text-muted-foreground ds:[&_svg]:size-4';\n\nconst listboxVariants = cva(\n [\n 'ds:absolute ds:z-[var(--z-dropdown)] ds:mt-[var(--spacing-2xs)] ds:w-full',\n 'ds:overflow-auto ds:max-h-[18rem]',\n 'ds:rounded-[var(--radius-sm)] ds:border ds:border-border ds:bg-background',\n 'ds:shadow-[var(--shadow-md)] ds:p-[var(--spacing-xs)]',\n ].join(' '),\n);\n\nconst optionVariants = cva(\n [\n 'ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)]',\n 'ds:ps-3 ds:pe-3 ds:py-2 ds:rounded-[var(--radius-sm)]',\n 'ds:cursor-pointer ds:select-none ds:text-foreground',\n 'ds:text-start',\n 'ds:data-[active=true]:bg-primary ds:data-[active=true]:text-primary-foreground',\n 'ds:hover:bg-muted ds:data-[active=true]:hover:bg-primary',\n ].join(' '),\n);\n\nconst messageClasses =\n 'ds:ps-3 ds:pe-3 ds:py-2 type-body-sm ds:text-muted-foreground';\n\n/* ------------------------------------------------------------------ */\n/* Inner: real Google Places engine. */\n/* */\n/* `useMapsLibrary(\"places\")` only resolves inside an APIProvider tree, */\n/* so this inner component is mounted by the outer wrapper only when an */\n/* apiKey is present and no mock injector is supplied. It owns no UI — */\n/* it renders the shared `<AddressCombobox>` with a `getSuggestions` / */\n/* `resolveSelection` pair wired to the loaded SDK. */\n/* ------------------------------------------------------------------ */\n\ninterface GoogleEngineProps extends Omit<AddressAutocompleteProps, 'apiKey'> {\n forwardedRef: ForwardedRef<HTMLInputElement>;\n}\n\nfunction GooglePlacesEngine({\n forwardedRef,\n regionCodes,\n onSelect,\n ...rest\n}: GoogleEngineProps): ReactNode {\n const places = useMapsLibrary('places');\n // A fresh session token groups the query + selection phases for billing.\n // Reset after each selection so the next lookup starts a new session.\n const sessionTokenRef =\n useRef<google.maps.places.AutocompleteSessionToken | null>(null);\n\n const supportsNewApi = Boolean(\n places &&\n 'AutocompleteSuggestion' in places &&\n 'Place' in places &&\n 'AutocompleteSessionToken' in places,\n );\n\n const getSuggestions = useCallback<GetSuggestions>(\n async (query) => {\n if (!places || query.trim().length === 0) return [];\n\n if (supportsNewApi) {\n if (!sessionTokenRef.current) {\n sessionTokenRef.current = new places.AutocompleteSessionToken();\n }\n const { suggestions } =\n await places.AutocompleteSuggestion.fetchAutocompleteSuggestions({\n input: query,\n sessionToken: sessionTokenRef.current,\n includedRegionCodes: regionCodes,\n });\n return suggestions\n .map((suggestion): AddressSuggestion | null => {\n const prediction = suggestion.placePrediction;\n if (!prediction) return null;\n return {\n placeId: prediction.placeId,\n primaryText: prediction.mainText?.text ?? prediction.text.text,\n secondaryText: prediction.secondaryText?.text,\n };\n })\n .filter((value): value is AddressSuggestion => value !== null);\n }\n\n // Classic fallback — AutocompleteService.getPlacePredictions.\n const ServiceCtor = (\n places as unknown as {\n AutocompleteService?: new () => google.maps.places.AutocompleteService;\n }\n ).AutocompleteService;\n if (!ServiceCtor) return [];\n const service = new ServiceCtor();\n const response = await service.getPlacePredictions({ input: query });\n return response.predictions.map((prediction) => ({\n placeId: prediction.place_id,\n primaryText:\n prediction.structured_formatting?.main_text ?? prediction.description,\n secondaryText: prediction.structured_formatting?.secondary_text,\n }));\n },\n [places, supportsNewApi, regionCodes],\n );\n\n const resolveSelection = useCallback(\n async (\n suggestion: AddressSuggestion,\n ): Promise<StructuredAddress | null> => {\n if (suggestion.address) return suggestion.address;\n if (!places) return null;\n\n if (supportsNewApi) {\n const place = new places.Place({ id: suggestion.placeId });\n const { place: filled } = await place.fetchFields({\n fields: ['addressComponents', 'formattedAddress'],\n });\n // End the billing session once details are fetched.\n sessionTokenRef.current = null;\n const components = (filled.addressComponents ??\n []) as unknown as RawAddressComponent[];\n return parseAddressComponents(\n components,\n filled.formattedAddress ?? '',\n );\n }\n\n // Classic fallback — PlacesService.getDetails. Requires a DOM node to\n // host the service (an offscreen div suffices; nothing is rendered).\n const ServiceCtor = (\n places as unknown as {\n PlacesService?: new (\n container: HTMLElement,\n ) => google.maps.places.PlacesService;\n }\n ).PlacesService;\n if (!ServiceCtor) return null;\n const service = new ServiceCtor(document.createElement('div'));\n return new Promise<StructuredAddress | null>((resolve) => {\n service.getDetails(\n {\n placeId: suggestion.placeId,\n fields: ['address_components', 'formatted_address'],\n },\n (result) => {\n if (!result) {\n resolve(null);\n return;\n }\n const components = (result.address_components ??\n []) as unknown as RawAddressComponent[];\n resolve(\n parseAddressComponents(\n components,\n result.formatted_address ?? '',\n ),\n );\n },\n );\n });\n },\n [places, supportsNewApi],\n );\n\n return (\n <AddressCombobox\n {...rest}\n forwardedRef={forwardedRef}\n getSuggestions={getSuggestions}\n resolveSelection={resolveSelection}\n onSelect={onSelect}\n />\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Inner: the accessible combobox itself. */\n/* */\n/* Implements the WAI-ARIA 1.2 combobox pattern (text input + listbox */\n/* popup, `aria-activedescendant`). Shared by mock mode, no-key mode, */\n/* and the Google engine — only the `getSuggestions` / `resolveSelection`*/\n/* pair differs. */\n/* ------------------------------------------------------------------ */\n\ninterface AddressComboboxProps extends Omit<\n AddressAutocompleteProps,\n 'apiKey' | 'getSuggestions'\n> {\n forwardedRef?: ForwardedRef<HTMLInputElement>;\n getSuggestions?: GetSuggestions;\n resolveSelection?: (\n suggestion: AddressSuggestion,\n ) => Promise<StructuredAddress | null>;\n}\n\nfunction AddressCombobox({\n forwardedRef,\n value,\n defaultValue,\n onValueChange,\n onSelect,\n getSuggestions,\n resolveSelection,\n placeholder,\n debounceMs = 250,\n disabled,\n required,\n readOnly,\n name,\n id,\n size = 'md',\n tone = 'default',\n className,\n 'aria-label': ariaLabel,\n}: AddressComboboxProps): ReactNode {\n const { t } = useTranslation();\n const ctx = useFormField();\n\n // Internal node ref — used for focus() after selection and for the\n // listbox-contains check on blur. Composed with the consumer's\n // forwardRef onto the rendered <input>.\n const inputRef = useRef<HTMLInputElement | null>(null);\n const setInputRef = useMemo(\n () => composeRefs(forwardedRef, inputRef),\n [forwardedRef],\n );\n\n const reactId = useId();\n const idPrefix = id ?? ctx.id ?? reactId;\n const listId = `${idPrefix}-listbox`;\n const liveId = `${idPrefix}-live`;\n const optionId = (placeId: string) => `${idPrefix}-opt-${placeId}`;\n\n const effectiveDisabled = Boolean(ctx.disabled || disabled);\n const effectiveRequired = Boolean(ctx.required || required);\n const effectiveInvalid = ctx.invalid;\n const effectiveTone: 'default' | 'error' = effectiveInvalid ? 'error' : tone;\n const describedBy = ctx.describedBy || undefined;\n\n const [currentValueRaw, commitValue] = useControllableState<string>({\n value,\n defaultValue: defaultValue ?? '',\n onChange: onValueChange,\n });\n const currentValue = currentValueRaw ?? '';\n\n const [open, setOpen] = useState(false);\n const [suggestions, setSuggestions] = useState<AddressSuggestion[]>([]);\n const [loading, setLoading] = useState(false);\n const [activeIndex, setActiveIndex] = useState(-1);\n\n const composingRef = useRef(false);\n const latestQueryRef = useRef('');\n\n const resolvedPlaceholder =\n placeholder ?? t('inputs.addressAutocomplete.placeholder');\n\n const runFetch = useCallback(\n (query: string) => {\n if (!getSuggestions || effectiveDisabled || readOnly) return;\n if (composingRef.current) return;\n latestQueryRef.current = query;\n setLoading(true);\n Promise.resolve(getSuggestions(query))\n .then((results) => {\n // Drop stale responses — only the latest query may render.\n if (latestQueryRef.current !== query) return;\n setSuggestions(results);\n setActiveIndex(-1);\n setLoading(false);\n })\n .catch(() => {\n if (latestQueryRef.current !== query) return;\n setSuggestions([]);\n setLoading(false);\n });\n },\n [getSuggestions, effectiveDisabled, readOnly],\n );\n\n const debouncedFetch = useDebouncedCallback(runFetch, debounceMs);\n\n useEffect(() => () => debouncedFetch.cancel(), [debouncedFetch]);\n\n const handleInputChange = (next: string) => {\n commitValue(next);\n if (effectiveDisabled || readOnly) return;\n if (!open) setOpen(true);\n if (composingRef.current) return;\n debouncedFetch(next);\n };\n\n const handleSelect = useCallback(\n (suggestion: AddressSuggestion) => {\n commitValue(suggestion.primaryText);\n setOpen(false);\n setActiveIndex(-1);\n setSuggestions([]);\n latestQueryRef.current = suggestion.primaryText;\n if (resolveSelection) {\n Promise.resolve(resolveSelection(suggestion))\n .then((address) => {\n if (address) onSelect?.(address);\n })\n .catch(() => {\n /* selection details failed — leave the typed text in place */\n });\n } else if (suggestion.address) {\n onSelect?.(suggestion.address);\n }\n inputRef.current?.focus();\n },\n [commitValue, resolveSelection, onSelect, inputRef],\n );\n\n // Whether the listbox popup is actually displayed (mirrors `aria-expanded`\n // on the input). Derived here — above the keyboard handler — so an expanded\n // listbox can swallow Enter instead of letting it submit a surrounding\n // <form>.\n const showEmpty =\n open &&\n !loading &&\n currentValue.trim().length > 0 &&\n suggestions.length === 0 &&\n Boolean(getSuggestions);\n const hasOptions = suggestions.length > 0;\n const listboxOpen = open && (hasOptions || showEmpty || loading);\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.nativeEvent.isComposing) return;\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n if (!open) {\n setOpen(true);\n if (currentValue) debouncedFetch(currentValue);\n return;\n }\n if (suggestions.length === 0) return;\n setActiveIndex((index) => (index + 1) % suggestions.length);\n return;\n }\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n if (suggestions.length === 0) return;\n setActiveIndex((index) =>\n index <= 0 ? suggestions.length - 1 : index - 1,\n );\n return;\n }\n if (event.key === 'Enter') {\n // While the listbox is expanded, swallow Enter so it never submits the\n // surrounding <form>. Accept the highlighted option if there is one;\n // otherwise keep the typed text (blur / Escape dismiss the listbox).\n if (listboxOpen) {\n event.preventDefault();\n if (activeIndex >= 0 && suggestions[activeIndex]) {\n handleSelect(suggestions[activeIndex]);\n }\n }\n return;\n }\n if (event.key === 'Escape') {\n if (open) {\n event.preventDefault();\n setOpen(false);\n setActiveIndex(-1);\n }\n }\n };\n\n const handleFocus = () => {\n if (effectiveDisabled || readOnly) return;\n if (currentValue) {\n setOpen(true);\n debouncedFetch(currentValue);\n }\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n // Keep open when focus moves into the listbox (pointer-down on an option).\n const next = event.relatedTarget as Node | null;\n if (next && listRef.current?.contains(next)) return;\n setOpen(false);\n setActiveIndex(-1);\n };\n\n const listRef = useRef<HTMLUListElement | null>(null);\n\n const activeDescendant =\n open && activeIndex >= 0 && suggestions[activeIndex]\n ? optionId(suggestions[activeIndex].placeId)\n : undefined;\n\n const liveMessage = loading\n ? t('inputs.addressAutocomplete.loading')\n : open && currentValue.trim().length > 0\n ? t('inputs.addressAutocomplete.results', { count: suggestions.length })\n : '';\n\n return (\n <div\n className=\"ds:relative ds:w-full\"\n data-component=\"address-autocomplete\"\n data-component-id={id}\n >\n <div\n className={wrapperVariants({ size, tone: effectiveTone, className })}\n data-disabled={effectiveDisabled || undefined}\n >\n <span aria-hidden=\"true\" className={adornmentClasses}>\n <MapPin />\n </span>\n <input\n ref={setInputRef}\n id={idPrefix}\n name={name}\n type=\"text\"\n autoComplete=\"off\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-expanded={listboxOpen}\n aria-controls={listboxOpen ? listId : undefined}\n aria-activedescendant={activeDescendant}\n aria-describedby={describedBy}\n aria-invalid={effectiveInvalid || undefined}\n aria-label={ariaLabel ?? t('inputs.addressAutocomplete.ariaLabel')}\n placeholder={resolvedPlaceholder}\n value={currentValue}\n disabled={effectiveDisabled}\n required={effectiveRequired}\n readOnly={readOnly}\n onChange={(event) => handleInputChange(event.target.value)}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onCompositionStart={() => {\n composingRef.current = true;\n }}\n onCompositionEnd={(event) => {\n composingRef.current = false;\n debouncedFetch(event.currentTarget.value);\n }}\n className={inputVariants()}\n />\n </div>\n {listboxOpen ? (\n <ul\n ref={listRef}\n id={listId}\n role=\"listbox\"\n aria-label={ariaLabel ?? t('inputs.addressAutocomplete.listLabel')}\n className={listboxVariants()}\n >\n {hasOptions\n ? suggestions.map((suggestion, index) => (\n <li\n key={suggestion.placeId}\n id={optionId(suggestion.placeId)}\n role=\"option\"\n aria-selected={index === activeIndex}\n data-active={index === activeIndex || undefined}\n // Pointer-down (not click) so selection runs before the\n // input's blur closes the listbox.\n onMouseDown={(event) => {\n event.preventDefault();\n handleSelect(suggestion);\n }}\n onMouseEnter={() => setActiveIndex(index)}\n className={optionVariants()}\n >\n <span className=\"ds:truncate\">{suggestion.primaryText}</span>\n {suggestion.secondaryText ? (\n <span className=\"type-meta ds:text-muted-foreground ds:data-[active=true]:text-primary-foreground ds:truncate\">\n {suggestion.secondaryText}\n </span>\n ) : null}\n </li>\n ))\n : null}\n {!hasOptions && loading ? (\n <li role=\"presentation\" className={messageClasses}>\n {t('inputs.addressAutocomplete.loading')}\n </li>\n ) : null}\n {!hasOptions && !loading && showEmpty ? (\n <li role=\"presentation\" className={messageClasses}>\n {t('inputs.addressAutocomplete.noResults')}\n </li>\n ) : null}\n </ul>\n ) : null}\n <span\n id={liveId}\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className=\"ds:sr-only\"\n >\n {liveMessage}\n </span>\n </div>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Public component */\n/* ------------------------------------------------------------------ */\n\nexport const AddressAutocomplete = forwardRef<\n HTMLInputElement,\n AddressAutocompleteProps\n>(function AddressAutocomplete({ apiKey, getSuggestions, ...rest }, ref) {\n const { i18n } = useTranslation();\n\n // MOCK mode wins whenever a `getSuggestions` injector is supplied — even if\n // an apiKey is also present — so stories/tests stay deterministic and never\n // hit the network. The mock injector already carries pre-parsed addresses,\n // so selection resolves straight from the suggestion.\n if (getSuggestions) {\n return (\n <AddressCombobox\n {...rest}\n forwardedRef={ref}\n getSuggestions={getSuggestions}\n resolveSelection={resolveMockSelection}\n />\n );\n }\n\n // NO-KEY fallback — plain free-text input, no suggestions, never fails.\n if (!apiKey) {\n return <AddressCombobox {...rest} forwardedRef={ref} />;\n }\n\n return (\n <APIProvider apiKey={apiKey} language={i18n.language}>\n <GooglePlacesEngine {...rest} forwardedRef={ref} />\n </APIProvider>\n );\n});\nAddressAutocomplete.displayName = 'AddressAutocomplete';\n\n// Module-scoped so the mock branch passes a stable function identity.\nasync function resolveMockSelection(\n suggestion: AddressSuggestion,\n): Promise<StructuredAddress | null> {\n return suggestion.address ?? null;\n}\n"],"names":["longTextOf","component","shortTextOf","findByType","components","type","parseAddressComponents","formatted","route","streetNumber","locality","postalTown","adminLevel3","postalCode","adminLevel2","country","routeText","numberText","street","cityComponent","city","postcode","province","countryCode","wrapperVariants","cva","INPUT_SURFACE_CHROME","INPUT_SURFACE_HEIGHT","INPUT_SURFACE_TEXT","INPUT_SURFACE_TONE","inputVariants","adornmentClasses","listboxVariants","optionVariants","messageClasses","GooglePlacesEngine","forwardedRef","regionCodes","onSelect","rest","places","useMapsLibrary","sessionTokenRef","useRef","supportsNewApi","getSuggestions","useCallback","query","suggestions","suggestion","prediction","_a","_b","value","ServiceCtor","resolveSelection","place","filled","service","resolve","result","jsx","AddressCombobox","defaultValue","onValueChange","placeholder","debounceMs","disabled","required","readOnly","name","id","size","tone","className","ariaLabel","t","useTranslation","ctx","useFormField","inputRef","setInputRef","useMemo","composeRefs","reactId","useId","idPrefix","listId","liveId","optionId","placeId","effectiveDisabled","effectiveRequired","effectiveInvalid","effectiveTone","describedBy","currentValueRaw","commitValue","useControllableState","currentValue","open","setOpen","useState","setSuggestions","loading","setLoading","activeIndex","setActiveIndex","composingRef","latestQueryRef","resolvedPlaceholder","runFetch","results","debouncedFetch","useDebouncedCallback","useEffect","handleInputChange","next","handleSelect","address","showEmpty","hasOptions","listboxOpen","handleKeyDown","event","index","handleFocus","handleBlur","listRef","activeDescendant","liveMessage","jsxs","MapPin","AddressAutocomplete","forwardRef","apiKey","ref","i18n","resolveMockSelection","APIProvider"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agenda-tray-T-BumlGZ.js","sources":["../../src/components/agenda-tray/agenda-tray.agent.ts","../../src/components/agenda-tray/agenda-tray.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — AgendaTray. */\n/* */\n/* Tray-level surface: read appointment ids + lifecycle status (never */\n/* patient names / treatments), and route an activation through the */\n/* curated handle. AgendaTray is in-page (no open/close). */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { AgendaTrayHandle } from './agenda-tray';\n\nexport const agendaTrayAgent: AgentAdapter<AgendaTrayHandle> = {\n id: 'agenda-tray',\n capabilities: ['select_single'],\n state: {\n items: {\n type: 'Array<{ id: string; status: string }>',\n descriptionKey: 'ui.agent.agendaTray.state.items',\n description:\n 'Currently-displayed appointments. Ids + status only — never patient identity.',\n read: (handle) => handle.getItems(),\n },\n },\n actions: {\n select_item: {\n safety: 'read',\n argsType: '{ id: string }',\n descriptionKey: 'ui.agent.agendaTray.actions.selectItem',\n description: 'Activate the appointment with the given id.',\n invoke: (handle, args: { id: string }) => {\n handle.selectItem(args.id);\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'agenda-tray',\n description: 'Marks the AgendaTray wrapper.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description:\n 'Sourced from the id prop. Required to address a specific tray from the agent.',\n },\n item: {\n attr: 'data-appointment-id',\n description:\n 'Stable appointment id emitted on each rendered AgendaCard inside the tray.',\n },\n },\n};\n","import {\n forwardRef,\n useImperativeHandle,\n useMemo,\n useRef,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { CalendarDays, Plus } from 'lucide-react';\nimport { IconButton } from '../button/icon-button';\nimport { Skeleton } from '../skeleton/skeleton';\nimport { EmptyState } from '../empty-state/empty-state';\nimport { AgendaCard, type AgendaItem } from '../agenda-card';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { agendaTrayAgent } from './agenda-tray.agent';\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst agendaTrayVariants = cva(\n [\n 'ds:flex ds:flex-col',\n 'ds:rounded-[var(--radius-md)] ds:shadow-[var(--shadow-card)]',\n 'ds:border ds:border-[color:var(--card-border)] ds:[.theme-accessible_&]:border-2',\n 'ds:bg-[color:var(--card)] ds:text-[color:var(--card-foreground)]',\n 'ds:overflow-hidden',\n ].join(' '),\n {\n variants: {\n size: {\n sm: '',\n md: '',\n },\n },\n defaultVariants: {\n size: 'sm',\n },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* Types */\n/* ------------------------------------------------------------------ */\n\n/**\n * Curated imperative handle for AgendaTray. Exposed as the forwardRef\n * target so a future agent / MCP UI bridge can drive the tray without\n * touching the DOM. See `agenda-tray.agent.ts`.\n */\nexport interface AgendaTrayHandle {\n getItems: () => Array<{ id: string; status: string }>;\n selectItem: (id: string) => void;\n}\n\nexport interface AgendaTrayProps\n extends\n Omit<HTMLAttributes<HTMLElement>, 'onClick' | 'id'>,\n VariantProps<typeof agendaTrayVariants> {\n /**\n * Stable instance id. Surfaced on the root as `data-component-id` so\n * an agent / MCP UI bridge can address this specific tray.\n */\n id?: string;\n items: AgendaItem[];\n /** Section title — rendered in the header. Localised by the consumer. */\n title?: string;\n /** Optional small caption (e.g. localised date) shown next to the title. */\n caption?: string;\n size?: 'sm' | 'md';\n onOpenAppointment?: (item: AgendaItem) => void;\n onAddAppointment?: () => void;\n /** Localised label for the \"Add\" affordance. */\n addLabel?: string;\n loading?: boolean;\n emptyTitle?: string;\n emptyDescription?: string;\n /** Optional CTA wired into the empty state (EmptyState primaryAction). */\n emptyAction?: { label: string; onClick: () => void };\n /**\n * Pinned footer link (e.g. \"All upcoming appointments\"). Localised by\n * the consumer; rendered after the list, before the section closes.\n */\n viewAllLabel?: string;\n /** Fires when the footer link is activated. Required to render it. */\n onViewAll?: () => void;\n /**\n * Per-row trailing action toolbar, forwarded to each AgendaCard's\n * `actions` slot.\n */\n renderItemActions?: (item: AgendaItem) => ReactNode;\n /**\n * Constrain the list to the tray's own height and scroll inside it —\n * pair with a height/max-height on `className`. The scroll region is\n * keyboard-focusable so it stays operable without a pointer.\n */\n scrollable?: boolean;\n}\n\n/* ------------------------------------------------------------------ */\n/* Component */\n/* ------------------------------------------------------------------ */\n\nexport const AgendaTray = forwardRef<HTMLElement, AgendaTrayProps>(\n (\n {\n id,\n items,\n title,\n caption,\n size = 'sm',\n onOpenAppointment,\n onAddAppointment,\n addLabel,\n loading = false,\n emptyTitle,\n emptyDescription,\n emptyAction,\n viewAllLabel,\n onViewAll,\n renderItemActions,\n scrollable = false,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const heading = title ?? t('agendaTray.title', \"Today's appointments\");\n const resolvedAddLabel = addLabel ?? t('agendaTray.add', 'Add appointment');\n const isEmpty = !loading && items.length === 0;\n\n let body: ReactNode;\n if (loading) {\n body = (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-sm)]\">\n {[0, 1, 2].map((i) => (\n <Skeleton key={i} variant=\"rectangular\" height=\"2.5rem\" />\n ))}\n </div>\n );\n } else if (isEmpty) {\n body = (\n <div className=\"ds:p-[var(--spacing-md)]\">\n <EmptyState\n variant=\"first-use\"\n size=\"sm\"\n title={emptyTitle ?? t('agendaTray.empty.title', 'No appointments')}\n description={\n emptyDescription ??\n t(\n 'agendaTray.empty.description',\n 'New appointments will appear here.',\n )\n }\n primaryAction={emptyAction}\n />\n </div>\n );\n } else {\n body = (\n <ul\n className={[\n // flex-1 unconditionally so a footer pins to the tray's\n // bottom edge in equal-height grid rows.\n 'ds:flex ds:list-none ds:flex-col ds:flex-1 ds:min-h-0',\n // Keyboard-focusable when it scrolls (axe\n // scrollable-region-focusable) — pair with a height on the\n // tray's className.\n scrollable ? 'ds:overflow-y-auto' : '',\n ]\n .filter(Boolean)\n .join(' ')}\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex -- scrollable list must be keyboard focusable (axe scrollable-region-focusable)\n tabIndex={scrollable ? 0 : undefined}\n aria-label={scrollable ? heading : undefined}\n >\n {items.map((item) => (\n <AgendaCard\n key={item.id}\n item={item}\n size={size}\n onActivate={onOpenAppointment}\n actions={renderItemActions?.(item)}\n data-appointment-id={item.id}\n />\n ))}\n </ul>\n );\n }\n\n /* Curated imperative handle for agent integration. See\n * agenda-tray.agent.ts. */\n const itemsRef = useRef<AgendaItem[]>(items);\n itemsRef.current = items;\n\n const innerRef = useRef<HTMLElement>(null);\n useImperativeHandle(ref, () => innerRef.current as HTMLElement, []);\n\n const handle = useMemo<AgendaTrayHandle>(\n () => ({\n getItems: () =>\n itemsRef.current.map((i) => ({\n id: i.id,\n status: i.status ?? 'confirmed',\n })),\n selectItem: (targetId: string) => {\n const found = itemsRef.current.find((i) => i.id === targetId);\n if (found) onOpenAppointment?.(found);\n },\n }),\n [onOpenAppointment],\n );\n\n useAgentRegistration(agendaTrayAgent, handle, id);\n\n return (\n <section\n ref={innerRef}\n aria-label={heading}\n data-component=\"agenda-tray\"\n data-component-id={id}\n className={agendaTrayVariants({ size, className })}\n {...rest}\n >\n <header className=\"ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-sm)]\">\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)] ds:min-w-0\">\n <h3 className=\"ds:m-0 ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)] type-title-card\">\n <CalendarDays aria-hidden=\"true\" className=\"ds:size-4\" />\n {heading}\n </h3>\n {caption ? (\n <span className=\"type-eyebrow ds:text-[color:var(--muted-foreground)]\">\n {caption}\n </span>\n ) : null}\n </div>\n {onAddAppointment ? (\n <IconButton\n icon={<Plus />}\n intent=\"outline\"\n size=\"sm\"\n aria-label={resolvedAddLabel}\n onClick={onAddAppointment}\n />\n ) : null}\n </header>\n {body}\n {viewAllLabel && onViewAll && !isEmpty && !loading ? (\n <footer className=\"ds:[border-block-start:var(--border-width-sm)_solid_var(--card-border)] ds:p-[var(--spacing-sm)]\">\n <button\n type=\"button\"\n onClick={onViewAll}\n className={[\n 'type-label ds:text-[color:var(--link)] ds:underline ds:underline-offset-2 ds:hover:no-underline',\n 'ds:rounded-[var(--radius-sm)] ds:min-h-[var(--min-target-size)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n ].join(' ')}\n >\n {viewAllLabel}\n </button>\n </footer>\n ) : null}\n </section>\n );\n },\n);\n\nAgendaTray.displayName = 'AgendaTray';\n"],"names":["agendaTrayAgent","handle","args","agendaTrayVariants","cva","AgendaTray","forwardRef","id","items","title","caption","size","onOpenAppointment","onAddAppointment","addLabel","loading","emptyTitle","emptyDescription","emptyAction","viewAllLabel","onViewAll","renderItemActions","scrollable","className","rest","ref","t","useTranslation","heading","resolvedAddLabel","isEmpty","body","jsx","i","Skeleton","EmptyState","item","AgendaCard","itemsRef","useRef","innerRef","useImperativeHandle","useMemo","targetId","found","useAgentRegistration","jsxs","CalendarDays","IconButton","Plus"],"mappings":"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"}
|