@openhands/agent-canvas 1.1.0 → 1.2.1
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/README.md +1 -1
- package/README.windows.md +2 -2
- package/build/assets/Trans-De9RwQhA.js +1 -0
- package/build/assets/__vite-browser-external-4xJsU2-u.js +1 -0
- package/build/assets/{acp-providers-B_ZxlEbx.js → acp-providers-D_D8VUpP.js} +1 -1
- package/build/assets/active-backend-context-u2tdYRgH.js +1 -0
- package/build/assets/add-backend-modal-DIEyAkA4.js +1 -0
- package/build/assets/agent-profiles-settings-BovdV4N8.js +1 -0
- package/build/assets/{agent-server-client-options-CxnCYyIW.js → agent-server-client-options-DVLRd9sw.js} +1 -1
- package/build/assets/agent-server-conversation-service.api-BP73yONA.js +5 -0
- package/build/assets/agent-settings-FGL3Yvkp.js +1 -0
- package/build/assets/agent-settings-Ofbh6UTD.js +2 -0
- package/build/assets/alert-banner-BW0wRYw6.js +1 -0
- package/build/assets/api-key-entry-screen-CZIdRmUJ.js +1 -0
- package/build/assets/app-settings-BHJ9nKti.js +1 -0
- package/build/assets/automation-detail-DwYGzLkp.js +2 -0
- package/build/assets/automations-list-CuAfJmMW.js +1 -0
- package/build/assets/back-nav-button-BYmxFxGt.js +1 -0
- package/build/assets/backend-form-modal-BiaOB2C4.js +1 -0
- package/build/assets/backend-synced-settings-badge-Bs3FSXsS.js +1 -0
- package/build/assets/base-modal-CC5Pp8CF.js +1 -0
- package/build/assets/bot-D7eUAuSB.js +1 -0
- package/build/assets/brand-button-DKPMEKcW.js +1 -0
- package/build/assets/{browser-CCwPzPsD.js → browser-B39N74jU.js} +2 -2
- package/build/assets/browser-store-BI6uklCG.js +1 -0
- package/build/assets/browser-tab-aiDg7aEn.js +1 -0
- package/build/assets/chat-send-button-DxuZIoW8.js +1 -0
- package/build/assets/check-Bvi71siz.js +1 -0
- package/build/assets/checkmark-h7udgXMM.js +1 -0
- package/build/assets/{chevron-down-BxZEAIv4.js → chevron-down-CI8A6tet.js} +1 -1
- package/build/assets/circle-plus-check-toggle-T3eAIuPQ.js +1 -0
- package/build/assets/close-p3Op5lxI.js +1 -0
- package/build/assets/code-tag-DYlAhEQY.js +1 -0
- package/build/assets/{color-themes-CTNRQd1a.js → color-themes-DPBzNtVg.js} +4 -4
- package/build/assets/combobox-caret-CLGvOs32.js +1 -0
- package/build/assets/command-menu-DKrLCRla.js +1 -0
- package/build/assets/{command-store-C-57Heey.js → command-store-D8J5LMW1.js} +1 -1
- package/build/assets/condenser-settings-D_5vY4m3.js +1 -0
- package/build/assets/confirmation-modal-BK1F0A68.js +1 -0
- package/build/assets/context-menu-list-item-DBFzplWW.js +1 -0
- package/build/assets/conversation-DnVC6vRV.js +1 -0
- package/build/assets/conversation-local-storage-F6zVMM--.js +1 -0
- package/build/assets/conversation-panel-ZEz-z3az.js +1 -0
- package/build/assets/conversation-service.api-CqZcHr1c.js +1 -0
- package/build/assets/conversation-state-store-B2Bp32XI.js +1 -0
- package/build/assets/conversation-store-LptbOvKa.js +1 -0
- package/build/assets/conversation-tab-empty-state-m8IUkfMj.js +1 -0
- package/build/assets/conversation-xkBS3AHC.js +19 -0
- package/build/assets/copy-3JCw_XFB.js +1 -0
- package/build/assets/copy-BLmGeJcd.js +1 -0
- package/build/assets/copy-to-clipboard-button-Aj9wFmt2.js +1 -0
- package/build/assets/createLucideIcon-CVAsW2Yo.js +1 -0
- package/build/assets/declaration-B9kpCaYl.js +1 -0
- package/build/assets/device-verify-B5YCrvSu.js +1 -0
- package/build/assets/dist-CodhvuAP.js +1 -0
- package/build/assets/dropdown-classes-CgQ45JmQ.js +1 -0
- package/build/assets/edit-automation-modal-B6U96gVV.js +1 -0
- package/build/assets/ellipsis-button-1BV9Sga8.js +1 -0
- package/build/assets/entry.client-Dy--3GeA.js +2 -0
- package/build/assets/enum-filter-dropdown-DCITiYVi.js +1 -0
- package/build/assets/environment-switch-overlay-DUnKILNH.js +1 -0
- package/build/assets/extensions-hub-CksKNpP9.js +1 -0
- package/build/assets/{extensions-navigation-DfLHdTUC.js → extensions-navigation-Di9rJ-b5.js} +1 -1
- package/build/assets/{external-link-D8njjDTk.js → external-link-D2zJjE9G.js} +1 -1
- package/build/assets/files-tab-61Vaihc6.js +1 -0
- package/build/assets/files-tab-store-DJsPxYdg.js +1 -0
- package/build/assets/folder-mMWFvaw0.js +1 -0
- package/build/assets/form-control-classes-9rkU4usZ.js +1 -0
- package/build/assets/get-language-from-path-CPNnuVhI.js +1 -0
- package/build/assets/git-provider-icon-aQRcUVI-.js +1 -0
- package/build/assets/home-5gOtUe-n.js +1 -0
- package/build/assets/iconBase-DaTRRUjy.js +1 -0
- package/build/assets/index-redirect-CUUJiNki.js +1 -0
- package/build/assets/install-server-modal-BRab9inF.js +1 -0
- package/build/assets/launch-1TJRKkkX.js +1 -0
- package/build/assets/lesson-plan-BtrZUCuj.js +4 -0
- package/build/assets/link-external-DfKQroKX.js +1 -0
- package/build/assets/{list-todo-B_Ts2JmZ.js → list-todo-BfH6yYUK.js} +1 -1
- package/build/assets/llm-not-configured-banner-BrU5uHto.js +27 -0
- package/build/assets/llm-settings-BpdU51Jo.js +1 -0
- package/build/assets/llm-settings-DsInf6yD.js +1 -0
- package/build/assets/{llm-subscription-service-BX_AtNlO.js → llm-subscription-service-CKyaV24y.js} +1 -1
- package/build/assets/loader-circle-BEykUKYG.js +1 -0
- package/build/assets/loading-spinner-DHAIPZkP.js +1 -0
- package/build/assets/manage-backends-modal-BREySP-J.js +1 -0
- package/build/assets/manifest-a5bb7568.js +1 -0
- package/build/assets/{markdown-renderer-DWy7Np7u.js → markdown-renderer-D8mayGjI.js} +1 -1
- package/build/assets/mcp-XXf8k6mb.js +9 -0
- package/build/assets/messages-D2oZb47Z.js +40 -0
- package/build/assets/middleware-DYHYNAnP.js +6 -0
- package/build/assets/modal-backdrop-zVwfOJZr.js +1 -0
- package/build/assets/modal-body-Dcu5McCa.js +1 -0
- package/build/assets/{modal-classes-C4kS6ib_.js → modal-classes-DPqxSyuP.js} +1 -1
- package/build/assets/modal-close-button-CTCX4nCH.js +1 -0
- package/build/assets/model-selector-VDHBytb6.js +1 -0
- package/build/assets/{mouse-pointer-click-CXAx4FyM.js → mouse-pointer-click-PdEQPL6v.js} +1 -1
- package/build/assets/navigation-context-DPs2G0X8.js +1 -0
- package/build/assets/navigation-link-D8hfwvxI.js +1 -0
- package/build/assets/onboarding-D32kiGME.js +1 -0
- package/build/assets/onboarding-modal-C084vkv7.js +1 -0
- package/build/assets/openhands-logo-bcNw5bkY.js +1 -0
- package/build/assets/option-service.api-Cl5VLGyw.js +1 -0
- package/build/assets/organization-service.api-CnynNoT-.js +1 -0
- package/build/assets/path-utils-BeOmjIcE.js +1 -0
- package/build/assets/{pencil-CsL0ns9y.js → pencil-Dj2XjKmI.js} +1 -1
- package/build/assets/plan-components-j9X4AxYM.js +1 -0
- package/build/assets/planner-tab-AZMjJx31.js +1 -0
- package/build/assets/plugins-management-service-BAp70KN7.js +1 -0
- package/build/assets/profiles-service.api-CeYEmSM3.js +1 -0
- package/build/assets/providers-vX9jk9Vy.js +1 -0
- package/build/assets/{proxy-TeteRRW5.js → proxy-CHmFkV16.js} +1 -1
- package/build/assets/react-DPDgL6du.js +1 -0
- package/build/assets/recommended-automations-launcher-Bk8tQ-Cn.js +58 -0
- package/build/assets/{refresh-cw-GkGYXsU-.js → refresh-cw-DM82EIyx.js} +1 -1
- package/build/assets/root-CxWZUXTQ.css +1 -0
- package/build/assets/root-layout-CoWw4kpz.js +2 -0
- package/build/assets/root-tuEPDx-i.js +2 -0
- package/build/assets/runtime-waiting-state-DkzLgvMn.js +1 -0
- package/build/assets/schema-field-nvq_Juo2.js +1 -0
- package/build/assets/sdk-section-page-CgT70FaZ.js +1 -0
- package/build/assets/sdk-settings-schema-BjBkMHzZ.js +1 -0
- package/build/assets/search-4DHskuhE.js +1 -0
- package/build/assets/search-BsjCEFNf.js +1 -0
- package/build/assets/secrets-service-CZYjNxFw.js +1 -0
- package/build/assets/secrets-settings-BCxk9p9s.js +1 -0
- package/build/assets/segmented-toggle-Cen5AMUc.js +1 -0
- package/build/assets/settings-CedTdtb5.js +1 -0
- package/build/assets/settings-dropdown-input-xzoZwgUe.js +1 -0
- package/build/assets/settings-gear-MXCyZW0x.js +1 -0
- package/build/assets/settings-index-Cct3PJSP.js +1 -0
- package/build/assets/settings-input-DYs7t3oK.js +1 -0
- package/build/assets/settings-list-classes-DvQr5jVS.js +1 -0
- package/build/assets/{settings-CN_HaPjH.js → settings-mQUckT0g.js} +1 -1
- package/build/assets/settings-modal-DwLybV_O.js +1 -0
- package/build/assets/settings-section-header-context-COMOIaxV.js +1 -0
- package/build/assets/settings-service.api-DldkFI1x.js +1 -0
- package/build/assets/settings-switch-C2N2xqEb.js +1 -0
- package/build/assets/{settings-utils-9-_6iVIn.js → settings-utils-BMdG65By.js} +1 -1
- package/build/assets/shared-conversation-DnDwfLgg.js +1 -0
- package/build/assets/sidebar-layout-BtpUSN3j.js +1 -0
- package/build/assets/sidebar-mobile-menu-toggle-B8k3qu84.js +1 -0
- package/build/assets/sidebar-nav-link-CIB3NBRW.js +1 -0
- package/build/assets/sidebar-store-CZuE8AH5.js +1 -0
- package/build/assets/skill-card-pill-row-D2bUe2kB.js +1 -0
- package/build/assets/skills-9cDZONKh.js +1 -0
- package/build/assets/skills-plugins-B68ay6Pu.js +1 -0
- package/build/assets/skills-settings-A6sUy0T7.js +2 -0
- package/build/assets/{square-chevron-right-Cfi-SUY0.js → square-chevron-right-Czw3FFWc.js} +1 -1
- package/build/assets/styled-tooltip-DsKsFjuq.js +1 -0
- package/build/assets/suspense-X5dBsJzn.js +1 -0
- package/build/assets/switch-skeleton-DqQwalyu.js +1 -0
- package/build/assets/task-list-tab-BAThr9Ex.js +1 -0
- package/build/assets/{terminal-HakoMrQX.js → terminal-BmT0_gIH.js} +2 -2
- package/build/assets/terminal-BuLtIrb9.js +1 -0
- package/build/assets/toggle-switch-DBlOOzBr.js +1 -0
- package/build/assets/{trash-2-Bq4hqiRH.js → trash-2-Be_7y3Mn.js} +1 -1
- package/build/assets/typography-YGPBGzOG.js +1 -0
- package/build/assets/u-check-circle-BqoIxNz_.js +1 -0
- package/build/assets/u-check-circle-half-LiwZkuFe.js +1 -0
- package/build/assets/u-edit-DJ90xc8Z.js +1 -0
- package/build/assets/use-acp-credential-form-Bs6s0DTU.js +1 -0
- package/build/assets/use-activate-agent-profile-CKtTToSx.js +1 -0
- package/build/assets/use-active-agent-profile-CWLPpOtK.js +1 -0
- package/build/assets/use-active-conversation-DI5S5M1w.js +1 -0
- package/build/assets/use-agent-profiles-DPcaYLpm.js +1 -0
- package/build/assets/use-agent-state-Buh3bQDh.js +1 -0
- package/build/assets/use-backends-health-CxkvJy2N.js +1 -0
- package/build/assets/use-breakpoint-B-O0lQ84.js +1 -0
- package/build/assets/use-can-manage-org-profiles-DeX2Mfje.js +1 -0
- package/build/assets/use-click-outside-element-Bf4Omzot.js +1 -0
- package/build/assets/use-cloud-current-user-id-D_PQGfmT.js +1 -0
- package/build/assets/use-config-ur0RbjCP.js +1 -0
- package/build/assets/use-create-conversation-D9OWYcte.js +1 -0
- package/build/assets/use-create-secret-CVFSlhlR.js +1 -0
- package/build/assets/use-event-store-YSOxy9FC.js +4 -0
- package/build/assets/use-handle-plan-click-Dug8egQl.js +1 -0
- package/build/assets/use-is-authed-_dhQ2Xuj.js +1 -0
- package/build/assets/use-launch-skill-in-chat-BnoDgvAy.js +1 -0
- package/build/assets/use-llm-profiles-DjackuP1.js +1 -0
- package/build/assets/use-onboarding-completion-C_Swglzp.js +1 -0
- package/build/assets/use-plugins-marketplace-BGb-KgfD.js +1 -0
- package/build/assets/use-runtime-is-ready-Diiq65Q-.js +1 -0
- package/build/assets/use-save-agent-profile-aKKLqDJM.js +1 -0
- package/build/assets/{use-save-settings-DErJDIDL.js → use-save-settings-CChDyjOB.js} +1 -1
- package/build/assets/use-settings-dX4fKUPF.js +1 -0
- package/build/assets/use-settings-nav-items-D6pHnvxg.js +16 -0
- package/build/assets/use-skills-Dqo-pDDx.js +1 -0
- package/build/assets/use-task-list-CmWGElgb.js +1 -0
- package/build/assets/use-tracking-GtXCHmTv.js +1 -0
- package/build/assets/use-user-conversation-6uOXFP95.js +1 -0
- package/build/assets/useMutation-DCE9RcgK.js +1 -0
- package/build/assets/useMutationState-BUab8Kxr.js +1 -0
- package/build/assets/useQueries-CRzaAqzH.js +1 -0
- package/build/assets/useQuery-CpjHYtZc.js +1 -0
- package/build/assets/useTranslation-Cgy4JA_g.js +1 -0
- package/build/assets/utils-CE0lDWtb.js +1 -0
- package/build/assets/vendor-styling-CI0PQ3ab.js +22 -0
- package/build/assets/{vendor~browser-BQU4C3CQ.js → vendor~browser-Cvg7jXCP.js} +1 -1
- package/build/assets/{vendor~browser-tab-Cim6xN2k.js → vendor~browser-tab-Di0kh5Zw.js} +1 -1
- package/build/assets/vendor~conversation-panel~conversation~alert-banner-DHDkknt5.js +1 -0
- package/build/assets/vendor~entry.client-9tWQ_Ugw.js +1 -0
- package/build/assets/{vendor~entry.client-lAMyAlBD.js → vendor~entry.client-D6BtSOtn.js} +1 -1
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js +177 -0
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js +1 -0
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js +10 -0
- package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~t35o0b0f-Bss49YXv.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js} +1 -1
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js +1 -0
- package/build/assets/{vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~fpbtwbmk-DDSPtjxR.js → vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js} +1 -1
- package/build/assets/{vendor~files-tab-BvQLon-P.js → vendor~files-tab-B02k3xvx.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation-DBPRU26Z.js → vendor~home~conversation-panel~conversation-CYMF9JYB.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DnEBAp2W.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-9UMeuPV6.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CzI-A-Gz.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BD0GaRGa.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-ByET2Quf.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CqXiHwjU.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DCYBrned.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-D7EUmQ8Y.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DnctfFZL.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DTzw2x50.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-pSG7lnvH.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-d8aETPbZ.js} +1 -1
- package/build/assets/{vendor~launch-DqoOsAhA.js → vendor~launch-CHXA9cJu.js} +1 -1
- package/build/assets/vendor~root-layout~conversation-panel~conversation-CpiTHpHl.js +1 -0
- package/build/assets/{vendor~root-layout~conversation-panel~conversation~shared-conversation-BJl81v7J.js → vendor~root-layout~conversation-panel~conversation~shared-conversation-_TdZcNMD.js} +1 -1
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation-Cn2jwSga.js +1 -0
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~enjl5xdm-mMKDm94D.js +48 -0
- package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~automations-~ki5qnp0d-DRld6s9c.js → vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~automations-~ki5qnp0d-rV6d1Iv_.js} +502 -43
- package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-9d2kA26V.js → vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-CZM4hwUT.js} +1 -1
- package/build/assets/vendor~root-layout~home~mcp~automations-list~onboarding-modal-CXyYYvYh.js +1 -0
- package/build/assets/verification-settings-D_zsNB_c.js +1 -0
- package/build/assets/x-Cb0WAtak.js +1 -0
- package/build/assets/x-mark-Batp6gXa.js +1 -0
- package/build/index.html +4 -4
- package/build/locales/ar/openhands.json +138 -1
- package/build/locales/ca/openhands.json +138 -1
- package/build/locales/de/openhands.json +138 -1
- package/build/locales/en/openhands.json +138 -1
- package/build/locales/es/openhands.json +138 -1
- package/build/locales/fr/openhands.json +138 -1
- package/build/locales/it/openhands.json +138 -1
- package/build/locales/ja/openhands.json +138 -1
- package/build/locales/ko-KR/openhands.json +138 -1
- package/build/locales/no/openhands.json +138 -1
- package/build/locales/pt/openhands.json +138 -1
- package/build/locales/tr/openhands.json +138 -1
- package/build/locales/uk/openhands.json +138 -1
- package/build/locales/zh-CN/openhands.json +138 -1
- package/build/locales/zh-TW/openhands.json +138 -1
- package/config/defaults.json +7 -9
- package/dist/_virtual/__vite-browser-external.cjs +2 -0
- package/dist/_virtual/__vite-browser-external.cjs.map +1 -0
- package/dist/_virtual/__vite-browser-external.js +9 -0
- package/dist/_virtual/__vite-browser-external.js.map +1 -0
- package/dist/api/agent-profiles-service/agent-profiles-service.api.cjs +2 -0
- package/dist/api/agent-profiles-service/agent-profiles-service.api.cjs.map +1 -0
- package/dist/api/agent-profiles-service/agent-profiles-service.api.d.ts +22 -0
- package/dist/api/agent-profiles-service/agent-profiles-service.api.js +35 -0
- package/dist/api/agent-profiles-service/agent-profiles-service.api.js.map +1 -0
- package/dist/api/agent-server-adapter.cjs +2 -2
- package/dist/api/agent-server-adapter.cjs.map +1 -1
- package/dist/api/agent-server-adapter.d.ts +11 -1
- package/dist/api/agent-server-adapter.js +60 -60
- package/dist/api/agent-server-adapter.js.map +1 -1
- package/dist/api/agent-server-compatibility.cjs +1 -1
- package/dist/api/agent-server-compatibility.cjs.map +1 -1
- package/dist/api/agent-server-compatibility.js +1 -0
- package/dist/api/agent-server-compatibility.js.map +1 -1
- package/dist/api/agent-server-home.cjs +1 -1
- package/dist/api/agent-server-home.cjs.map +1 -1
- package/dist/api/agent-server-home.js +1 -0
- package/dist/api/agent-server-home.js.map +1 -1
- package/dist/api/cloud/agent-profiles-service.api.cjs +2 -0
- package/dist/api/cloud/agent-profiles-service.api.cjs.map +1 -0
- package/dist/api/cloud/agent-profiles-service.api.d.ts +7 -0
- package/dist/api/cloud/agent-profiles-service.api.js +58 -0
- package/dist/api/cloud/agent-profiles-service.api.js.map +1 -0
- package/dist/api/cloud/organization-service.api.cjs +1 -1
- package/dist/api/cloud/organization-service.api.cjs.map +1 -1
- package/dist/api/cloud/organization-service.api.d.ts +8 -0
- package/dist/api/cloud/organization-service.api.js +3 -1
- package/dist/api/cloud/organization-service.api.js.map +1 -1
- package/dist/api/cloud/profiles-service.api.cjs +2 -0
- package/dist/api/cloud/profiles-service.api.cjs.map +1 -0
- package/dist/api/cloud/profiles-service.api.d.ts +7 -0
- package/dist/api/cloud/profiles-service.api.js +75 -0
- package/dist/api/cloud/profiles-service.api.js.map +1 -0
- package/dist/api/cloud/settings-service.api.cjs +1 -1
- package/dist/api/cloud/settings-service.api.cjs.map +1 -1
- package/dist/api/cloud/settings-service.api.js +1 -1
- package/dist/api/cloud/settings-service.api.js.map +1 -1
- package/dist/api/config-service/config-service.api.cjs +1 -1
- package/dist/api/config-service/config-service.api.cjs.map +1 -1
- package/dist/api/config-service/config-service.api.js +1 -0
- package/dist/api/config-service/config-service.api.js.map +1 -1
- package/dist/api/conversation-metadata-store.cjs.map +1 -1
- package/dist/api/conversation-metadata-store.d.ts +11 -0
- package/dist/api/conversation-metadata-store.js.map +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.d.ts +20 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.js +134 -105
- package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.types.d.ts +2 -0
- package/dist/api/conversation-service/conversation-service.api.cjs +1 -1
- package/dist/api/conversation-service/conversation-service.api.cjs.map +1 -1
- package/dist/api/conversation-service/conversation-service.api.d.ts +1 -0
- package/dist/api/conversation-service/conversation-service.api.js +4 -0
- package/dist/api/conversation-service/conversation-service.api.js.map +1 -1
- package/dist/api/device-flow-client.cjs +1 -1
- package/dist/api/device-flow-client.cjs.map +1 -1
- package/dist/api/device-flow-client.js +33 -25
- package/dist/api/device-flow-client.js.map +1 -1
- package/dist/api/event-service/event-service.api.cjs +1 -1
- package/dist/api/event-service/event-service.api.cjs.map +1 -1
- package/dist/api/event-service/event-service.api.js +1 -0
- package/dist/api/event-service/event-service.api.js.map +1 -1
- package/dist/api/mcp-service/mcp-redacted-credentials.cjs +1 -1
- package/dist/api/mcp-service/mcp-redacted-credentials.cjs.map +1 -1
- package/dist/api/mcp-service/mcp-redacted-credentials.d.ts +3 -3
- package/dist/api/mcp-service/mcp-redacted-credentials.js +29 -30
- package/dist/api/mcp-service/mcp-redacted-credentials.js.map +1 -1
- package/dist/api/mcp-service/mcp-service.api.cjs +1 -1
- package/dist/api/mcp-service/mcp-service.api.cjs.map +1 -1
- package/dist/api/mcp-service/mcp-service.api.d.ts +8 -1
- package/dist/api/mcp-service/mcp-service.api.js +129 -23
- package/dist/api/mcp-service/mcp-service.api.js.map +1 -1
- package/dist/api/option-service/option-service.api.cjs +1 -1
- package/dist/api/option-service/option-service.api.cjs.map +1 -1
- package/dist/api/option-service/option-service.api.js +1 -0
- package/dist/api/option-service/option-service.api.js.map +1 -1
- package/dist/api/plugins-management-service.cjs +2 -0
- package/dist/api/plugins-management-service.cjs.map +1 -0
- package/dist/api/plugins-management-service.d.ts +50 -0
- package/dist/api/plugins-management-service.js +41 -0
- package/dist/api/plugins-management-service.js.map +1 -0
- package/dist/api/plugins-service.d.ts +49 -0
- package/dist/api/profiles-service/profiles-service.api.cjs +1 -1
- package/dist/api/profiles-service/profiles-service.api.cjs.map +1 -1
- package/dist/api/profiles-service/profiles-service.api.js +21 -14
- package/dist/api/profiles-service/profiles-service.api.js.map +1 -1
- package/dist/api/runtime-service/agent-server-runtime-service.cjs +1 -1
- package/dist/api/runtime-service/agent-server-runtime-service.cjs.map +1 -1
- package/dist/api/runtime-service/agent-server-runtime-service.js +1 -0
- package/dist/api/runtime-service/agent-server-runtime-service.js.map +1 -1
- package/dist/api/secrets-service.cjs +1 -1
- package/dist/api/secrets-service.cjs.map +1 -1
- package/dist/api/secrets-service.js +1 -0
- package/dist/api/secrets-service.js.map +1 -1
- package/dist/api/settings-service/settings-service.api.cjs +1 -1
- package/dist/api/settings-service/settings-service.api.cjs.map +1 -1
- package/dist/api/settings-service/settings-service.api.js +92 -50
- package/dist/api/settings-service/settings-service.api.js.map +1 -1
- package/dist/api/skills-service.cjs +1 -1
- package/dist/api/skills-service.cjs.map +1 -1
- package/dist/api/skills-service.js +1 -0
- package/dist/api/skills-service.js.map +1 -1
- package/dist/api/workspaces-service/workspaces-service.api.cjs +1 -1
- package/dist/api/workspaces-service/workspaces-service.api.cjs.map +1 -1
- package/dist/api/workspaces-service/workspaces-service.api.js +1 -0
- package/dist/api/workspaces-service/workspaces-service.api.js.map +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.cjs +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.js +57 -38
- package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.js.map +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/should-render-event.cjs +2 -1
- package/dist/components/conversation-events/chat/event-content-helpers/should-render-event.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/should-render-event.js +13 -9
- package/dist/components/conversation-events/chat/event-content-helpers/should-render-event.js.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.cjs +1 -1
- package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.js +65 -26
- package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.js.map +1 -1
- package/dist/components/conversation-events/chat/event-message.cjs +2 -2
- package/dist/components/conversation-events/chat/event-message.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-message.js +78 -76
- package/dist/components/conversation-events/chat/event-message.js.map +1 -1
- package/dist/components/features/analytics/telemetry-consent-banner.cjs +1 -1
- package/dist/components/features/analytics/telemetry-consent-banner.cjs.map +1 -1
- package/dist/components/features/analytics/telemetry-consent-banner.js +1 -0
- package/dist/components/features/analytics/telemetry-consent-banner.js.map +1 -1
- package/dist/components/features/automations/detail/activity-log-item.d.ts +3 -2
- package/dist/components/features/automations/detail/activity-log-section.d.ts +3 -2
- package/dist/components/features/automations/detail/debug-automation-button.d.ts +17 -0
- package/dist/components/features/automations/detail/run-logs-modal.d.ts +6 -1
- package/dist/components/features/backends/backend-form-modal.cjs +1 -1
- package/dist/components/features/backends/backend-form-modal.cjs.map +1 -1
- package/dist/components/features/backends/backend-form-modal.d.ts +6 -2
- package/dist/components/features/backends/backend-form-modal.js +198 -161
- package/dist/components/features/backends/backend-form-modal.js.map +1 -1
- package/dist/components/features/backends/backend-row.cjs +1 -1
- package/dist/components/features/backends/backend-row.cjs.map +1 -1
- package/dist/components/features/backends/backend-row.d.ts +2 -1
- package/dist/components/features/backends/backend-row.js +60 -54
- package/dist/components/features/backends/backend-row.js.map +1 -1
- package/dist/components/features/backends/backend-selector.cjs +1 -1
- package/dist/components/features/backends/backend-selector.cjs.map +1 -1
- package/dist/components/features/backends/backend-selector.js +4 -4
- package/dist/components/features/backends/backend-version.cjs +1 -1
- package/dist/components/features/backends/backend-version.cjs.map +1 -1
- package/dist/components/features/backends/backend-version.js +1 -0
- package/dist/components/features/backends/backend-version.js.map +1 -1
- package/dist/components/features/backends/manage-backends-modal.cjs +1 -1
- package/dist/components/features/backends/manage-backends-modal.cjs.map +1 -1
- package/dist/components/features/backends/manage-backends-modal.js +72 -61
- package/dist/components/features/backends/manage-backends-modal.js.map +1 -1
- package/dist/components/features/chat/change-agent-button.cjs +1 -1
- package/dist/components/features/chat/change-agent-button.js +9 -9
- package/dist/components/features/chat/chat-add-file-button.cjs +1 -1
- package/dist/components/features/chat/chat-add-file-button.cjs.map +1 -1
- package/dist/components/features/chat/chat-add-file-button.js +38 -34
- package/dist/components/features/chat/chat-add-file-button.js.map +1 -1
- package/dist/components/features/chat/chat-interface.cjs +2 -2
- package/dist/components/features/chat/chat-interface.cjs.map +1 -1
- package/dist/components/features/chat/chat-interface.js +136 -129
- package/dist/components/features/chat/chat-interface.js.map +1 -1
- package/dist/components/features/chat/components/chat-input-actions.cjs +1 -1
- package/dist/components/features/chat/components/chat-input-actions.cjs.map +1 -1
- package/dist/components/features/chat/components/chat-input-actions.js +100 -87
- package/dist/components/features/chat/components/chat-input-actions.js.map +1 -1
- package/dist/components/features/chat/components/chat-input-llm-profile-picker.cjs +2 -0
- package/dist/components/features/chat/components/chat-input-llm-profile-picker.cjs.map +1 -0
- package/dist/components/features/chat/components/chat-input-llm-profile-picker.d.ts +15 -0
- package/dist/components/features/chat/components/chat-input-llm-profile-picker.js +118 -0
- package/dist/components/features/chat/components/chat-input-llm-profile-picker.js.map +1 -0
- package/dist/components/features/chat/components/chat-input-model.cjs +1 -1
- package/dist/components/features/chat/components/chat-input-model.js +17 -17
- package/dist/components/features/chat/components/chat-input-profile-picker.cjs +2 -0
- package/dist/components/features/chat/components/chat-input-profile-picker.cjs.map +1 -0
- package/dist/components/features/chat/components/chat-input-profile-picker.d.ts +9 -0
- package/dist/components/features/chat/components/chat-input-profile-picker.js +112 -0
- package/dist/components/features/chat/components/chat-input-profile-picker.js.map +1 -0
- package/dist/components/features/chat/components/resolve-picker-kind.cjs +2 -0
- package/dist/components/features/chat/components/resolve-picker-kind.cjs.map +1 -0
- package/dist/components/features/chat/components/resolve-picker-kind.d.ts +29 -0
- package/dist/components/features/chat/components/resolve-picker-kind.js +8 -0
- package/dist/components/features/chat/components/resolve-picker-kind.js.map +1 -0
- package/dist/components/features/chat/goal-status-banner.cjs +2 -0
- package/dist/components/features/chat/goal-status-banner.cjs.map +1 -0
- package/dist/components/features/chat/goal-status-banner.d.ts +11 -0
- package/dist/components/features/chat/goal-status-banner.js +12 -0
- package/dist/components/features/chat/goal-status-banner.js.map +1 -0
- package/dist/components/features/chat/goal-status-content.cjs +2 -0
- package/dist/components/features/chat/goal-status-content.cjs.map +1 -0
- package/dist/components/features/chat/goal-status-content.d.ts +21 -0
- package/dist/components/features/chat/goal-status-content.js +98 -0
- package/dist/components/features/chat/goal-status-content.js.map +1 -0
- package/dist/components/features/chat/interactive-chat-box.cjs +1 -1
- package/dist/components/features/chat/interactive-chat-box.cjs.map +1 -1
- package/dist/components/features/chat/interactive-chat-box.js +20 -19
- package/dist/components/features/chat/interactive-chat-box.js.map +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/code-block.cjs +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/code-block.cjs.map +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/code-block.d.ts +10 -3
- package/dist/components/features/chat/tool-visualizers/primitives/code-block.js +29 -16
- package/dist/components/features/chat/tool-visualizers/primitives/code-block.js.map +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/output-pane.cjs +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/output-pane.cjs.map +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/output-pane.d.ts +2 -2
- package/dist/components/features/chat/tool-visualizers/primitives/output-pane.js +16 -16
- package/dist/components/features/chat/tool-visualizers/primitives/output-pane.js.map +1 -1
- package/dist/components/features/chat/user-message-body.cjs +1 -1
- package/dist/components/features/chat/user-message-body.cjs.map +1 -1
- package/dist/components/features/chat/user-message-body.js +20 -20
- package/dist/components/features/chat/user-message-body.js.map +1 -1
- package/dist/components/features/command-menu/command-menu-items.d.ts +32 -0
- package/dist/components/features/command-menu/command-menu-trigger.cjs +2 -0
- package/dist/components/features/command-menu/command-menu-trigger.cjs.map +1 -0
- package/dist/components/features/command-menu/command-menu-trigger.d.ts +5 -0
- package/dist/components/features/command-menu/command-menu-trigger.js +53 -0
- package/dist/components/features/command-menu/command-menu-trigger.js.map +1 -0
- package/dist/components/features/command-menu/command-menu.d.ts +2 -0
- package/dist/components/features/command-menu/index.d.ts +2 -0
- package/dist/components/features/controls/tools-context-menu.cjs +1 -1
- package/dist/components/features/controls/tools-context-menu.cjs.map +1 -1
- package/dist/components/features/controls/tools-context-menu.d.ts +3 -1
- package/dist/components/features/controls/tools-context-menu.js +94 -77
- package/dist/components/features/controls/tools-context-menu.js.map +1 -1
- package/dist/components/features/conversation-panel/cloud-new-conversation-menu.cjs +1 -1
- package/dist/components/features/conversation-panel/cloud-new-conversation-menu.cjs.map +1 -1
- package/dist/components/features/conversation-panel/cloud-new-conversation-menu.js +8 -5
- package/dist/components/features/conversation-panel/cloud-new-conversation-menu.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.cjs.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-panel.cjs +1 -1
- package/dist/components/features/conversation-panel/conversation-panel.cjs.map +1 -1
- package/dist/components/features/conversation-panel/conversation-panel.js +2 -1
- package/dist/components/features/conversation-panel/conversation-panel.js.map +1 -1
- package/dist/components/features/conversation-panel/local-new-conversation-menu.cjs +1 -1
- package/dist/components/features/conversation-panel/local-new-conversation-menu.cjs.map +1 -1
- package/dist/components/features/conversation-panel/local-new-conversation-menu.js +4 -1
- package/dist/components/features/conversation-panel/local-new-conversation-menu.js.map +1 -1
- package/dist/components/features/conversation-panel/plugins-modal.cjs +2 -0
- package/dist/components/features/conversation-panel/plugins-modal.cjs.map +1 -0
- package/dist/components/features/conversation-panel/plugins-modal.d.ts +12 -0
- package/dist/components/features/conversation-panel/plugins-modal.js +62 -0
- package/dist/components/features/conversation-panel/plugins-modal.js.map +1 -0
- package/dist/components/features/home/git-repo-dropdown/git-repo-dropdown.cjs +1 -1
- package/dist/components/features/home/git-repo-dropdown/git-repo-dropdown.cjs.map +1 -1
- package/dist/components/features/home/git-repo-dropdown/git-repo-dropdown.js +4 -4
- package/dist/components/features/mcp-logo-badge.cjs +1 -1
- package/dist/components/features/mcp-logo-badge.cjs.map +1 -1
- package/dist/components/features/mcp-logo-badge.js +17 -15
- package/dist/components/features/mcp-logo-badge.js.map +1 -1
- package/dist/components/features/mcp-page/custom-server-editor.cjs +1 -1
- package/dist/components/features/mcp-page/custom-server-editor.cjs.map +1 -1
- package/dist/components/features/mcp-page/custom-server-editor.js +102 -59
- package/dist/components/features/mcp-page/custom-server-editor.js.map +1 -1
- package/dist/components/features/mcp-page/install-server-modal.cjs +1 -1
- package/dist/components/features/mcp-page/install-server-modal.cjs.map +1 -1
- package/dist/components/features/mcp-page/install-server-modal.js +284 -169
- package/dist/components/features/mcp-page/install-server-modal.js.map +1 -1
- package/dist/components/features/mcp-page/installed-server-card.cjs +1 -1
- package/dist/components/features/mcp-page/installed-server-card.cjs.map +1 -1
- package/dist/components/features/mcp-page/installed-server-card.js +16 -18
- package/dist/components/features/mcp-page/installed-server-card.js.map +1 -1
- package/dist/components/features/onboarding/onboarding-host.d.ts +3 -13
- package/dist/components/features/plugins/add-plugin-modal.d.ts +6 -0
- package/dist/components/features/plugins/build-plugins-view-model.d.ts +39 -0
- package/dist/components/features/plugins/plugin-card.d.ts +13 -0
- package/dist/components/features/plugins/plugin-detail-modal.d.ts +13 -0
- package/dist/components/features/plugins/plugin-picker-card.d.ts +10 -0
- package/dist/components/features/plugins/plugin-picker-modal.d.ts +9 -0
- package/dist/components/features/plugins/plugin-picker-trigger.d.ts +9 -0
- package/dist/components/features/plugins/plugin-picker.d.ts +18 -0
- package/dist/components/features/plugins/plugin-spec-identity.d.ts +28 -0
- package/dist/components/features/plugins/plugins-toolbar.d.ts +9 -0
- package/dist/components/features/settings/agent-profiles/agent-profile-actions-menu.d.ts +16 -0
- package/dist/components/features/settings/agent-profiles/agent-profile-row.d.ts +13 -0
- package/dist/components/features/settings/agent-profiles/agent-profiles-body.d.ts +15 -0
- package/dist/components/features/settings/agent-profiles/agent-profiles-local-view.d.ts +7 -0
- package/dist/components/features/settings/agent-profiles/agent-profiles-manager.d.ts +7 -0
- package/dist/components/features/settings/agent-profiles/delete-agent-profile-modal.d.ts +7 -0
- package/dist/components/features/settings/agent-profiles/index.d.ts +6 -0
- package/dist/components/features/settings/agent-profiles/merge-agent-profile-save-input.d.ts +18 -0
- package/dist/components/features/settings/llm-profiles/llm-profiles-manager.cjs +1 -1
- package/dist/components/features/settings/llm-profiles/llm-profiles-manager.js +1 -0
- package/dist/components/features/settings/llm-profiles/llm-settings-local-view.cjs +1 -1
- package/dist/components/features/settings/llm-profiles/llm-settings-local-view.js +1 -1
- package/dist/components/features/settings/llm-profiles/profile-row.d.ts +3 -1
- package/dist/components/features/settings/llm-profiles/profiles-body.d.ts +3 -1
- package/dist/components/features/settings/llm-settings/openai-subscription-auth-card.cjs +1 -1
- package/dist/components/features/settings/llm-settings/openai-subscription-auth-card.cjs.map +1 -1
- package/dist/components/features/settings/llm-settings/openai-subscription-auth-card.js +3 -2
- package/dist/components/features/settings/llm-settings/openai-subscription-auth-card.js.map +1 -1
- package/dist/components/features/settings/mcp-settings/mcp-server-form.cjs +7 -7
- package/dist/components/features/settings/mcp-settings/mcp-server-form.cjs.map +1 -1
- package/dist/components/features/settings/mcp-settings/mcp-server-form.js +279 -130
- package/dist/components/features/settings/mcp-settings/mcp-server-form.js.map +1 -1
- package/dist/components/features/settings/mcp-settings/mcp-server-list-item.d.ts +1 -12
- package/dist/components/features/settings/mcp-settings/mcp-server-list.d.ts +1 -11
- package/dist/components/features/settings/settings-dropdown-input.cjs +1 -1
- package/dist/components/features/settings/settings-dropdown-input.js +6 -6
- package/dist/components/features/sidebar/sidebar-rail-body.cjs +1 -1
- package/dist/components/features/sidebar/sidebar-rail-body.cjs.map +1 -1
- package/dist/components/features/sidebar/sidebar-rail-body.d.ts +1 -2
- package/dist/components/features/sidebar/sidebar-rail-body.js +81 -82
- package/dist/components/features/sidebar/sidebar-rail-body.js.map +1 -1
- package/dist/components/features/sidebar/sidebar.cjs +1 -1
- package/dist/components/features/sidebar/sidebar.cjs.map +1 -1
- package/dist/components/features/sidebar/sidebar.js +45 -46
- package/dist/components/features/sidebar/sidebar.js.map +1 -1
- package/dist/components/features/skills/extensions-navigation.cjs +1 -1
- package/dist/components/features/skills/extensions-navigation.cjs.map +1 -1
- package/dist/components/features/skills/extensions-navigation.js +1 -2
- package/dist/components/features/skills/extensions-navigation.js.map +1 -1
- package/dist/components/shared/modals/modal-backdrop.cjs +1 -1
- package/dist/components/shared/modals/modal-backdrop.cjs.map +1 -1
- package/dist/components/shared/modals/modal-backdrop.d.ts +5 -1
- package/dist/components/shared/modals/modal-backdrop.js +3 -3
- package/dist/components/shared/modals/modal-backdrop.js.map +1 -1
- package/dist/components/shared/modals/settings/model-selector.cjs +1 -1
- package/dist/components/shared/modals/settings/model-selector.js +16 -16
- package/dist/config/defaults.cjs +1 -1
- package/dist/config/defaults.cjs.map +1 -1
- package/dist/config/defaults.js +7 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/contexts/conversation-websocket-context.cjs +3 -3
- package/dist/contexts/conversation-websocket-context.cjs.map +1 -1
- package/dist/contexts/conversation-websocket-context.js +200 -197
- package/dist/contexts/conversation-websocket-context.js.map +1 -1
- package/dist/hooks/chat/use-goal-interceptor.cjs +2 -0
- package/dist/hooks/chat/use-goal-interceptor.cjs.map +1 -0
- package/dist/hooks/chat/use-goal-interceptor.d.ts +8 -0
- package/dist/hooks/chat/use-goal-interceptor.js +37 -0
- package/dist/hooks/chat/use-goal-interceptor.js.map +1 -0
- package/dist/hooks/chat/use-grip-resize.cjs +1 -1
- package/dist/hooks/chat/use-grip-resize.cjs.map +1 -1
- package/dist/hooks/chat/use-grip-resize.js +17 -16
- package/dist/hooks/chat/use-grip-resize.js.map +1 -1
- package/dist/hooks/chat/use-model-interceptor.cjs +1 -1
- package/dist/hooks/chat/use-model-interceptor.cjs.map +1 -1
- package/dist/hooks/chat/use-model-interceptor.d.ts +3 -3
- package/dist/hooks/chat/use-model-interceptor.js +8 -9
- package/dist/hooks/chat/use-model-interceptor.js.map +1 -1
- package/dist/hooks/chat/use-slash-command.cjs +1 -1
- package/dist/hooks/chat/use-slash-command.cjs.map +1 -1
- package/dist/hooks/chat/use-slash-command.js +4 -4
- package/dist/hooks/chat/use-slash-command.js.map +1 -1
- package/dist/hooks/mutation/conversation-mutation-utils.cjs +1 -1
- package/dist/hooks/mutation/conversation-mutation-utils.cjs.map +1 -1
- package/dist/hooks/mutation/conversation-mutation-utils.d.ts +17 -0
- package/dist/hooks/mutation/conversation-mutation-utils.js +23 -4
- package/dist/hooks/mutation/conversation-mutation-utils.js.map +1 -1
- package/dist/hooks/mutation/use-activate-agent-profile.cjs +2 -0
- package/dist/hooks/mutation/use-activate-agent-profile.cjs.map +1 -0
- package/dist/hooks/mutation/use-activate-agent-profile.d.ts +23 -0
- package/dist/hooks/mutation/use-activate-agent-profile.js +34 -0
- package/dist/hooks/mutation/use-activate-agent-profile.js.map +1 -0
- package/dist/hooks/mutation/use-activate-llm-profile.cjs +1 -1
- package/dist/hooks/mutation/use-activate-llm-profile.js +1 -1
- package/dist/hooks/mutation/use-add-mcp-server.cjs +1 -1
- package/dist/hooks/mutation/use-add-mcp-server.cjs.map +1 -1
- package/dist/hooks/mutation/use-add-mcp-server.d.ts +1 -12
- package/dist/hooks/mutation/use-add-mcp-server.js +10 -34
- package/dist/hooks/mutation/use-add-mcp-server.js.map +1 -1
- package/dist/hooks/mutation/use-apply-onboarding-agent-profile.d.ts +20 -0
- package/dist/hooks/mutation/use-create-conversation.cjs +1 -1
- package/dist/hooks/mutation/use-create-conversation.cjs.map +1 -1
- package/dist/hooks/mutation/use-create-conversation.d.ts +2 -0
- package/dist/hooks/mutation/use-create-conversation.js +94 -25
- package/dist/hooks/mutation/use-create-conversation.js.map +1 -1
- package/dist/hooks/mutation/use-delete-agent-profile.d.ts +1 -0
- package/dist/hooks/mutation/use-delete-llm-profile.cjs +1 -1
- package/dist/hooks/mutation/use-delete-llm-profile.js +1 -1
- package/dist/hooks/mutation/use-delete-mcp-server.cjs +1 -1
- package/dist/hooks/mutation/use-delete-mcp-server.js +4 -4
- package/dist/hooks/mutation/use-fork-conversation.cjs +2 -0
- package/dist/hooks/mutation/use-fork-conversation.cjs.map +1 -0
- package/dist/hooks/mutation/use-fork-conversation.d.ts +24 -0
- package/dist/hooks/mutation/use-fork-conversation.js +29 -0
- package/dist/hooks/mutation/use-fork-conversation.js.map +1 -0
- package/dist/hooks/mutation/use-install-plugin.d.ts +7 -0
- package/dist/hooks/mutation/use-new-conversation-command.cjs +1 -1
- package/dist/hooks/mutation/use-new-conversation-command.cjs.map +1 -1
- package/dist/hooks/mutation/use-new-conversation-command.d.ts +1 -0
- package/dist/hooks/mutation/use-new-conversation-command.js +20 -10
- package/dist/hooks/mutation/use-new-conversation-command.js.map +1 -1
- package/dist/hooks/mutation/use-rename-agent-profile.d.ts +6 -0
- package/dist/hooks/mutation/use-rename-llm-profile.cjs +1 -1
- package/dist/hooks/mutation/use-rename-llm-profile.js +1 -1
- package/dist/hooks/mutation/use-save-agent-profile.d.ts +5 -0
- package/dist/hooks/mutation/use-save-llm-profile.cjs +1 -1
- package/dist/hooks/mutation/use-save-llm-profile.js +1 -1
- package/dist/hooks/mutation/use-switch-acp-model.cjs.map +1 -1
- package/dist/hooks/mutation/use-switch-acp-model.js.map +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile-and-log.cjs +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile-and-log.cjs.map +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile-and-log.d.ts +3 -4
- package/dist/hooks/mutation/use-switch-llm-profile-and-log.js +10 -35
- package/dist/hooks/mutation/use-switch-llm-profile-and-log.js.map +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile.cjs +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile.cjs.map +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile.d.ts +20 -5
- package/dist/hooks/mutation/use-switch-llm-profile.js +38 -14
- package/dist/hooks/mutation/use-switch-llm-profile.js.map +1 -1
- package/dist/hooks/mutation/use-update-mcp-server.cjs +1 -1
- package/dist/hooks/mutation/use-update-mcp-server.cjs.map +1 -1
- package/dist/hooks/mutation/use-update-mcp-server.js +11 -37
- package/dist/hooks/mutation/use-update-mcp-server.js.map +1 -1
- package/dist/hooks/query/query-keys.cjs +1 -1
- package/dist/hooks/query/query-keys.cjs.map +1 -1
- package/dist/hooks/query/query-keys.d.ts +21 -0
- package/dist/hooks/query/query-keys.js +7 -3
- package/dist/hooks/query/query-keys.js.map +1 -1
- package/dist/hooks/query/use-active-conversation.cjs +1 -1
- package/dist/hooks/query/use-active-conversation.cjs.map +1 -1
- package/dist/hooks/query/use-active-conversation.js +17 -16
- package/dist/hooks/query/use-active-conversation.js.map +1 -1
- package/dist/hooks/query/use-agent-profiles.cjs +2 -0
- package/dist/hooks/query/use-agent-profiles.cjs.map +1 -0
- package/dist/hooks/query/use-agent-profiles.d.ts +13 -0
- package/dist/hooks/query/use-agent-profiles.js +24 -0
- package/dist/hooks/query/use-agent-profiles.js.map +1 -0
- package/dist/hooks/query/use-backends-health.cjs +1 -1
- package/dist/hooks/query/use-backends-health.cjs.map +1 -1
- package/dist/hooks/query/use-backends-health.js +18 -3
- package/dist/hooks/query/use-backends-health.js.map +1 -1
- package/dist/hooks/query/use-conversation-history.cjs +1 -1
- package/dist/hooks/query/use-conversation-history.cjs.map +1 -1
- package/dist/hooks/query/use-conversation-history.js +4 -2
- package/dist/hooks/query/use-conversation-history.js.map +1 -1
- package/dist/hooks/query/use-local-workspaces.cjs +1 -1
- package/dist/hooks/query/use-local-workspaces.cjs.map +1 -1
- package/dist/hooks/query/use-local-workspaces.js +1 -0
- package/dist/hooks/query/use-local-workspaces.js.map +1 -1
- package/dist/hooks/query/use-plugins-marketplace.d.ts +7 -0
- package/dist/hooks/query/use-resolved-workspaces.cjs +1 -1
- package/dist/hooks/query/use-resolved-workspaces.cjs.map +1 -1
- package/dist/hooks/query/use-resolved-workspaces.js +7 -6
- package/dist/hooks/query/use-resolved-workspaces.js.map +1 -1
- package/dist/hooks/query/use-search-subdirs.cjs +1 -1
- package/dist/hooks/query/use-search-subdirs.cjs.map +1 -1
- package/dist/hooks/query/use-search-subdirs.js +1 -0
- package/dist/hooks/query/use-search-subdirs.js.map +1 -1
- package/dist/hooks/query/use-settings.cjs +1 -1
- package/dist/hooks/query/use-settings.cjs.map +1 -1
- package/dist/hooks/query/use-settings.js +11 -11
- package/dist/hooks/query/use-settings.js.map +1 -1
- package/dist/hooks/query/use-verified-models.cjs +1 -1
- package/dist/hooks/query/use-verified-models.cjs.map +1 -1
- package/dist/hooks/query/use-verified-models.js +1 -0
- package/dist/hooks/query/use-verified-models.js.map +1 -1
- package/dist/hooks/use-acp-model-context.cjs +1 -1
- package/dist/hooks/use-acp-model-context.cjs.map +1 -1
- package/dist/hooks/use-acp-model-context.d.ts +1 -1
- package/dist/hooks/use-acp-model-context.js +9 -8
- package/dist/hooks/use-acp-model-context.js.map +1 -1
- package/dist/hooks/use-active-agent-profile.cjs +2 -0
- package/dist/hooks/use-active-agent-profile.cjs.map +1 -0
- package/dist/hooks/use-active-agent-profile.d.ts +20 -0
- package/dist/hooks/use-active-agent-profile.js +17 -0
- package/dist/hooks/use-active-agent-profile.js.map +1 -0
- package/dist/hooks/use-auto-resize.cjs +1 -1
- package/dist/hooks/use-auto-resize.cjs.map +1 -1
- package/dist/hooks/use-auto-resize.d.ts +2 -0
- package/dist/hooks/use-auto-resize.js +49 -45
- package/dist/hooks/use-auto-resize.js.map +1 -1
- package/dist/hooks/use-can-manage-org-profiles.cjs +1 -0
- package/dist/hooks/use-can-manage-org-profiles.d.ts +18 -0
- package/dist/hooks/use-can-manage-org-profiles.js +2 -0
- package/dist/hooks/use-chat-input-llm-profile-state.cjs +2 -0
- package/dist/hooks/use-chat-input-llm-profile-state.cjs.map +1 -0
- package/dist/hooks/use-chat-input-llm-profile-state.d.ts +23 -0
- package/dist/hooks/use-chat-input-llm-profile-state.js +30 -0
- package/dist/hooks/use-chat-input-llm-profile-state.js.map +1 -0
- package/dist/hooks/use-chat-input-model-state.cjs.map +1 -1
- package/dist/hooks/use-chat-input-model-state.d.ts +1 -1
- package/dist/hooks/use-chat-input-model-state.js.map +1 -1
- package/dist/hooks/use-chat-input-profile-state.cjs +2 -0
- package/dist/hooks/use-chat-input-profile-state.cjs.map +1 -0
- package/dist/hooks/use-chat-input-profile-state.d.ts +20 -0
- package/dist/hooks/use-chat-input-profile-state.js +22 -0
- package/dist/hooks/use-chat-input-profile-state.js.map +1 -0
- package/dist/hooks/use-conversation-name-context-menu.cjs +1 -1
- package/dist/hooks/use-conversation-name-context-menu.cjs.map +1 -1
- package/dist/hooks/use-conversation-name-context-menu.d.ts +4 -0
- package/dist/hooks/use-conversation-name-context-menu.js +44 -37
- package/dist/hooks/use-conversation-name-context-menu.js.map +1 -1
- package/dist/hooks/use-conversation-plugins.cjs +2 -0
- package/dist/hooks/use-conversation-plugins.cjs.map +1 -0
- package/dist/hooks/use-conversation-plugins.d.ts +9 -0
- package/dist/hooks/use-conversation-plugins.js +12 -0
- package/dist/hooks/use-conversation-plugins.js.map +1 -0
- package/dist/hooks/use-handle-plan-click.cjs +1 -1
- package/dist/hooks/use-handle-plan-click.cjs.map +1 -1
- package/dist/hooks/use-handle-plan-click.js +2 -1
- package/dist/hooks/use-handle-plan-click.js.map +1 -1
- package/dist/hooks/use-llm-configured.cjs +1 -1
- package/dist/hooks/use-llm-configured.cjs.map +1 -1
- package/dist/hooks/use-llm-configured.js +17 -16
- package/dist/hooks/use-llm-configured.js.map +1 -1
- package/dist/hooks/use-tracking.cjs +1 -1
- package/dist/hooks/use-tracking.cjs.map +1 -1
- package/dist/hooks/use-tracking.d.ts +51 -1
- package/dist/hooks/use-tracking.js +61 -2
- package/dist/hooks/use-tracking.js.map +1 -1
- package/dist/i18n/declaration.cjs +1 -1
- package/dist/i18n/declaration.cjs.map +1 -1
- package/dist/i18n/declaration.d.ts +138 -1
- package/dist/i18n/declaration.js +1 -1
- package/dist/i18n/declaration.js.map +1 -1
- package/dist/i18n/translation.cjs +18 -3
- package/dist/i18n/translation.cjs.map +1 -1
- package/dist/i18n/translation.js +2329 -0
- package/dist/i18n/translation.js.map +1 -1
- package/dist/icons/slack.cjs +2 -0
- package/dist/icons/slack.cjs.map +1 -0
- package/dist/icons/slack.js +19 -0
- package/dist/icons/slack.js.map +1 -0
- package/dist/icons/u-puzzle-piece.cjs +2 -0
- package/dist/icons/u-puzzle-piece.cjs.map +1 -0
- package/dist/icons/u-puzzle-piece.js +19 -0
- package/dist/icons/u-puzzle-piece.js.map +1 -0
- package/dist/icons/x-circle-solid.cjs +2 -0
- package/dist/icons/x-circle-solid.cjs.map +1 -0
- package/dist/icons/x-circle-solid.js +13 -0
- package/dist/icons/x-circle-solid.js.map +1 -0
- package/dist/locales/ar/openhands.json +138 -1
- package/dist/locales/ca/openhands.json +138 -1
- package/dist/locales/de/openhands.json +138 -1
- package/dist/locales/en/openhands.json +138 -1
- package/dist/locales/es/openhands.json +138 -1
- package/dist/locales/fr/openhands.json +138 -1
- package/dist/locales/it/openhands.json +138 -1
- package/dist/locales/ja/openhands.json +138 -1
- package/dist/locales/ko-KR/openhands.json +138 -1
- package/dist/locales/no/openhands.json +138 -1
- package/dist/locales/pt/openhands.json +138 -1
- package/dist/locales/tr/openhands.json +138 -1
- package/dist/locales/uk/openhands.json +138 -1
- package/dist/locales/zh-CN/openhands.json +138 -1
- package/dist/locales/zh-TW/openhands.json +138 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/airtable.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/airtable.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/airtable.js +0 -20
- package/dist/node_modules/@openhands/extensions/integrations/catalog/airtable.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/asana.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/asana.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/asana.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/asana.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.js +70 -3
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/bitbucket.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/bitbucket.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/bitbucket.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/bitbucket.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/box.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/box.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/box.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/box.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/canva.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/canva.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/canva.js +3 -7
- package/dist/node_modules/@openhands/extensions/integrations/catalog/canva.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/confluence.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/confluence.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/confluence.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/confluence.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js +27 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/discord.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/discord.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/discord.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/discord.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/figma.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/figma.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/figma.js +20 -26
- package/dist/node_modules/@openhands/extensions/integrations/catalog/figma.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/github.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/github.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/github.js +0 -9
- package/dist/node_modules/@openhands/extensions/integrations/catalog/github.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gmail.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gmail.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gmail.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gmail.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-calendar.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-calendar.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-calendar.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-calendar.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-docs.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-docs.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-docs.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-docs.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-drive.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-drive.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-drive.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-drive.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-sheets.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-sheets.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-sheets.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-sheets.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/intercom.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/intercom.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/intercom.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/intercom.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/jira.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/jira.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/jira.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/jira.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.js +13 -13
- package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-outlook.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-outlook.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-outlook.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-outlook.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/miro.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/miro.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/miro.js +14 -10
- package/dist/node_modules/@openhands/extensions/integrations/catalog/miro.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/monday.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/monday.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/monday.js +13 -10
- package/dist/node_modules/@openhands/extensions/integrations/catalog/monday.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/netlify.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/netlify.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/netlify.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/netlify.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js +1 -8
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/okta.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/okta.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/okta.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/okta.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/posthog.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/posthog.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/posthog.js +20 -18
- package/dist/node_modules/@openhands/extensions/integrations/catalog/posthog.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/quickbooks.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/quickbooks.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/quickbooks.js +66 -21
- package/dist/node_modules/@openhands/extensions/integrations/catalog/quickbooks.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/salesforce.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/salesforce.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/salesforce.js +17 -11
- package/dist/node_modules/@openhands/extensions/integrations/catalog/salesforce.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sentry.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sentry.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sentry.js +12 -17
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sentry.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sharepoint.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sharepoint.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sharepoint.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sharepoint.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.js +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/stripe.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/stripe.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/stripe.js +14 -19
- package/dist/node_modules/@openhands/extensions/integrations/catalog/stripe.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/supabase.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/supabase.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/supabase.js +15 -20
- package/dist/node_modules/@openhands/extensions/integrations/catalog/supabase.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/superhuman-mail.cjs +2 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/superhuman-mail.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/superhuman-mail.js +33 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/superhuman-mail.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/trello.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/trello.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/trello.js +10 -8
- package/dist/node_modules/@openhands/extensions/integrations/catalog/trello.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/vercel.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/vercel.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/vercel.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/vercel.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/xero.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/xero.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/xero.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/xero.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/zoom.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/zoom.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/zoom.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/zoom.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js +71 -89
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/index.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/index.js +4 -4
- package/dist/node_modules/@openhands/extensions/integrations/index.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/skills/index.cjs +502 -43
- package/dist/node_modules/@openhands/extensions/skills/index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/skills/index.js +58 -33
- package/dist/node_modules/@openhands/extensions/skills/index.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/agent-profiles-client.cjs +2 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/agent-profiles-client.cjs.map +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/agent-profiles-client.js +40 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/agent-profiles-client.js.map +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/agent-server-compatibility.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/agent-server-compatibility.cjs.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/agent-server-compatibility.js +4 -4
- package/dist/node_modules/@openhands/typescript-client/dist/client/agent-server-compatibility.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/bash-client.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/bash-client.cjs.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/bash-client.js +3 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/bash-client.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/conversation-client.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/conversation-client.cjs.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/conversation-client.js +3 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/conversation-client.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/desktop-client.cjs +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/desktop-client.js +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/hooks-client.cjs +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/hooks-client.js +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/http-client.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/http-client.cjs.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/http-client.js +84 -27
- package/dist/node_modules/@openhands/typescript-client/dist/client/http-client.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/mcp-client.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/mcp-client.cjs.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/mcp-client.js +9 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/mcp-client.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/meta-profiles-client.cjs +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/meta-profiles-client.js +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/plugins-client.cjs +2 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/plugins-client.cjs.map +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/plugins-client.js +42 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/plugins-client.js.map +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/shared-client.cjs +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/shared-client.js +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/skills-client.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/skills-client.cjs.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/skills-client.js +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/skills-client.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/sub-agents-client.cjs +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/sub-agents-client.js +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/tool-client.cjs +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/tool-client.js +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/clients.cjs +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/clients.js +20 -0
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/conversation-manager.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/conversation-manager.js +18 -0
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/conversation.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/conversation.js +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-conversation.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-conversation.js +2 -0
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.cjs.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.js +15 -17
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/index.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/index.js +3 -0
- package/dist/node_modules/@openhands/typescript-client/dist/workspace/workspace.cjs +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/workspace/workspace.js +1 -0
- package/dist/package.cjs +1 -1
- package/dist/package.cjs.map +1 -1
- package/dist/package.js +7 -4
- package/dist/package.js.map +1 -1
- package/dist/routes/agent-settings.d.ts +106 -0
- package/dist/routes/files-tab.cjs +1 -1
- package/dist/routes/files-tab.js +23 -23
- package/dist/routes/llm-settings.cjs +1 -1
- package/dist/routes/llm-settings.cjs.map +1 -1
- package/dist/routes/llm-settings.d.ts +6 -4
- package/dist/routes/llm-settings.js +0 -1
- package/dist/routes/llm-settings.js.map +1 -1
- package/dist/routes/mcp.cjs.map +1 -1
- package/dist/routes/mcp.js.map +1 -1
- package/dist/services/settings.cjs +1 -1
- package/dist/services/settings.cjs.map +1 -1
- package/dist/services/settings.js +2 -6
- package/dist/services/settings.js.map +1 -1
- package/dist/stores/command-menu-store.cjs +2 -0
- package/dist/stores/command-menu-store.cjs.map +1 -0
- package/dist/stores/command-menu-store.d.ts +8 -0
- package/dist/stores/command-menu-store.js +12 -0
- package/dist/stores/command-menu-store.js.map +1 -0
- package/dist/stores/conversation-panel-preferences-store.cjs +1 -1
- package/dist/stores/conversation-panel-preferences-store.cjs.map +1 -1
- package/dist/stores/conversation-panel-preferences-store.js +1 -1
- package/dist/stores/conversation-panel-preferences-store.js.map +1 -1
- package/dist/stores/conversation-store.cjs +1 -1
- package/dist/stores/conversation-store.cjs.map +1 -1
- package/dist/stores/conversation-store.d.ts +1 -0
- package/dist/stores/conversation-store.js +1 -0
- package/dist/stores/conversation-store.js.map +1 -1
- package/dist/stores/goal-store.cjs +2 -0
- package/dist/stores/goal-store.cjs.map +1 -0
- package/dist/stores/goal-store.d.ts +28 -0
- package/dist/stores/goal-store.js +14 -0
- package/dist/stores/goal-store.js.map +1 -0
- package/dist/themes/color-themes.cjs +3 -3
- package/dist/themes/color-themes.cjs.map +1 -1
- package/dist/themes/color-themes.d.ts +13 -2
- package/dist/themes/color-themes.js +2 -2
- package/dist/themes/color-themes.js.map +1 -1
- package/dist/types/agent-server/core/events/conversation-state-event.d.ts +39 -3
- package/dist/types/agent-server/type-guards.cjs +1 -1
- package/dist/types/agent-server/type-guards.cjs.map +1 -1
- package/dist/types/agent-server/type-guards.d.ts +2 -1
- package/dist/types/agent-server/type-guards.js +3 -3
- package/dist/types/agent-server/type-guards.js.map +1 -1
- package/dist/types/mcp-auth.cjs +2 -0
- package/dist/types/mcp-auth.cjs.map +1 -0
- package/dist/types/mcp-auth.d.ts +43 -0
- package/dist/types/mcp-auth.js +13 -0
- package/dist/types/mcp-auth.js.map +1 -0
- package/dist/types/mcp-server.d.ts +22 -1
- package/dist/types/settings.d.ts +6 -4
- package/dist/ui/context-menu.d.ts +1 -1
- package/dist/utils/acp-command.d.ts +64 -0
- package/dist/utils/automation-debug-prompt.d.ts +18 -0
- package/dist/utils/constants.cjs +1 -1
- package/dist/utils/constants.cjs.map +1 -1
- package/dist/utils/constants.d.ts +2 -0
- package/dist/utils/constants.js +12 -3
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/dropdown-classes.cjs +1 -1
- package/dist/utils/dropdown-classes.cjs.map +1 -1
- package/dist/utils/dropdown-classes.js +4 -2
- package/dist/utils/dropdown-classes.js.map +1 -1
- package/dist/utils/form-control-classes.cjs +1 -1
- package/dist/utils/form-control-classes.js +1 -1
- package/dist/utils/handle-event-for-ui.cjs +1 -1
- package/dist/utils/handle-event-for-ui.cjs.map +1 -1
- package/dist/utils/handle-event-for-ui.js +72 -37
- package/dist/utils/handle-event-for-ui.js.map +1 -1
- package/dist/utils/mcp-config.cjs +1 -1
- package/dist/utils/mcp-config.cjs.map +1 -1
- package/dist/utils/mcp-config.d.ts +15 -9
- package/dist/utils/mcp-config.js +124 -53
- package/dist/utils/mcp-config.js.map +1 -1
- package/dist/utils/mcp-installed-server-display.cjs +2 -0
- package/dist/utils/mcp-installed-server-display.cjs.map +1 -0
- package/dist/utils/mcp-installed-server-display.d.ts +8 -0
- package/dist/utils/mcp-installed-server-display.js +12 -0
- package/dist/utils/mcp-installed-server-display.js.map +1 -0
- package/dist/utils/mcp-installed-servers.cjs +1 -1
- package/dist/utils/mcp-installed-servers.cjs.map +1 -1
- package/dist/utils/mcp-installed-servers.js +4 -4
- package/dist/utils/mcp-installed-servers.js.map +1 -1
- package/dist/utils/mcp-marketplace-utils.cjs +1 -1
- package/dist/utils/mcp-marketplace-utils.cjs.map +1 -1
- package/dist/utils/mcp-marketplace-utils.d.ts +2 -0
- package/dist/utils/mcp-marketplace-utils.js +31 -16
- package/dist/utils/mcp-marketplace-utils.js.map +1 -1
- package/dist/utils/mcp-server-name.cjs +2 -0
- package/dist/utils/mcp-server-name.cjs.map +1 -0
- package/dist/utils/mcp-server-name.d.ts +3 -0
- package/dist/utils/mcp-server-name.js +12 -0
- package/dist/utils/mcp-server-name.js.map +1 -0
- package/dist/utils/plugin-display.cjs +2 -0
- package/dist/utils/plugin-display.cjs.map +1 -0
- package/dist/utils/plugin-display.d.ts +20 -0
- package/dist/utils/plugin-display.js +29 -0
- package/dist/utils/plugin-display.js.map +1 -0
- package/dist/utils/settings-utils.cjs.map +1 -1
- package/dist/utils/settings-utils.js.map +1 -1
- package/dist/utils/workspaces-compatibility.cjs +1 -1
- package/dist/utils/workspaces-compatibility.cjs.map +1 -1
- package/dist/utils/workspaces-compatibility.js +1 -0
- package/dist/utils/workspaces-compatibility.js.map +1 -1
- package/package.json +7 -4
- package/scripts/check-sdk-version-sync.mjs +6 -6
- package/scripts/check-translation-completeness.cjs +6 -0
- package/scripts/dev-safe.mjs +14 -3
- package/scripts/dev-with-automation.mjs +4 -0
- package/scripts/gen-acp-docker-env.mjs +107 -0
- package/scripts/ingress.mjs +66 -226
- package/scripts/proxy-utils.mjs +171 -0
- package/scripts/static-server.mjs +127 -283
- package/build/assets/Trans-CiZR6eVI.js +0 -1
- package/build/assets/active-backend-context-CEuva6ZJ.js +0 -1
- package/build/assets/add-backend-modal-b_eiVk3A.js +0 -1
- package/build/assets/agent-server-conversation-service.api-D_uJ7BKc.js +0 -5
- package/build/assets/agent-settings-DyfziYyM.js +0 -2
- package/build/assets/alert-banner-BFayS5vM.js +0 -1
- package/build/assets/analytics-consent-form-modal-CQ22qlFF.js +0 -1
- package/build/assets/api-key-entry-screen-KnIwP0vN.js +0 -1
- package/build/assets/app-settings-CBaHJ5vJ.js +0 -1
- package/build/assets/automation-detail-DgQswnXg.js +0 -1
- package/build/assets/automations-list-D99p6CoQ.js +0 -1
- package/build/assets/back-nav-button-Cp9z-wsG.js +0 -1
- package/build/assets/backend-form-modal-BABAz-zH.js +0 -1
- package/build/assets/backend-synced-settings-badge-DzwWQC4T.js +0 -1
- package/build/assets/base-modal-1bHiB5Wf.js +0 -1
- package/build/assets/brand-button-FHWgEb4Q.js +0 -1
- package/build/assets/browser-store-B9h0eW79.js +0 -1
- package/build/assets/browser-tab-JiCXo0Nc.js +0 -1
- package/build/assets/chat-send-button-QtyofqFt.js +0 -1
- package/build/assets/check-6ieIiPhW.js +0 -1
- package/build/assets/checkmark-BfgRVMHK.js +0 -1
- package/build/assets/circle-plus-check-toggle-CmINKfZj.js +0 -1
- package/build/assets/close-DhH0uMa7.js +0 -1
- package/build/assets/code-tag-CnORXDJj.js +0 -1
- package/build/assets/combobox-caret-BB15S7zY.js +0 -1
- package/build/assets/condenser-settings-BOKNShD9.js +0 -1
- package/build/assets/confirmation-modal-CofmThy4.js +0 -1
- package/build/assets/context-menu-list-item-DO12IEaK.js +0 -1
- package/build/assets/conversation-DIzv-jq8.js +0 -1
- package/build/assets/conversation-DV3odvMe.js +0 -19
- package/build/assets/conversation-local-storage-DK7yJr5N.js +0 -1
- package/build/assets/conversation-panel-CgCarTAn.js +0 -1
- package/build/assets/conversation-service.api-RV_bOKNz.js +0 -1
- package/build/assets/conversation-state-store-4obo4ZMf.js +0 -1
- package/build/assets/conversation-store-CXrL0v-X.js +0 -6
- package/build/assets/conversation-tab-empty-state-CqT5ur_H.js +0 -1
- package/build/assets/copy-C5tBqfWu.js +0 -1
- package/build/assets/copy-to-clipboard-button-BVFYcsg_.js +0 -1
- package/build/assets/createLucideIcon-D3nkdIAN.js +0 -1
- package/build/assets/declaration-B0yY_dkQ.js +0 -1
- package/build/assets/device-verify-DRupI_hz.js +0 -1
- package/build/assets/dist-D5d5zm8o.js +0 -1
- package/build/assets/dist-fV7trlfb.js +0 -1
- package/build/assets/dropdown-classes-5IsMjYYw.js +0 -1
- package/build/assets/edit-automation-modal-BG-gd82b.js +0 -1
- package/build/assets/ellipsis-button-DWvVZO_r.js +0 -1
- package/build/assets/entry.client-uhbVfCtd.js +0 -2
- package/build/assets/enum-filter-dropdown-CB2fqz_e.js +0 -1
- package/build/assets/environment-switch-overlay-Oeal5TVq.js +0 -1
- package/build/assets/extensions-hub-DxiE0AZR.js +0 -1
- package/build/assets/files-tab-1F2OlNeH.js +0 -1
- package/build/assets/files-tab-store-C1q5Rbx3.js +0 -1
- package/build/assets/folder-C5tr7xyN.js +0 -1
- package/build/assets/get-language-from-path-E1JKsbeE.js +0 -1
- package/build/assets/git-provider-icon-CKs-22Ts.js +0 -1
- package/build/assets/home-B3E0le0g.js +0 -1
- package/build/assets/iconBase-DMoh3FEg.js +0 -1
- package/build/assets/index-redirect-DhuK5mhS.js +0 -1
- package/build/assets/install-server-modal-DjintV14.js +0 -1
- package/build/assets/is-backend-llm-ready-Bj44pekN.js +0 -1
- package/build/assets/launch-DCU3S84p.js +0 -1
- package/build/assets/lesson-plan-BUUPKVsa.js +0 -3
- package/build/assets/link-external-CF4KHxx-.js +0 -1
- package/build/assets/llm-client-BakM_czF.js +0 -1
- package/build/assets/llm-not-configured-banner-BV-NIjfR.js +0 -27
- package/build/assets/llm-settings-B5d7PHzz.js +0 -1
- package/build/assets/llm-settings-C5whb-0p.js +0 -1
- package/build/assets/loader-circle-DyX8DmLg.js +0 -1
- package/build/assets/loading-spinner-BvOAco8a.js +0 -1
- package/build/assets/manage-backends-modal-D9ClxVpM.js +0 -1
- package/build/assets/manifest-38a873aa.js +0 -1
- package/build/assets/mcp-7rk44GRS.js +0 -9
- package/build/assets/mcp-client-DxHXYNOw.js +0 -1
- package/build/assets/messages-DgBEaXil.js +0 -43
- package/build/assets/modal-backdrop-DjAC2zOZ.js +0 -1
- package/build/assets/modal-body-OJdIUJ68.js +0 -1
- package/build/assets/modal-close-button-BNjGesHc.js +0 -1
- package/build/assets/model-selector-w2uGPM5y.js +0 -1
- package/build/assets/navigation-context-CUJ60pLI.js +0 -1
- package/build/assets/navigation-link-BiPKTOHF.js +0 -1
- package/build/assets/onboarding-Cit87z8g.js +0 -1
- package/build/assets/onboarding-modal-JPrzvr8W.js +0 -1
- package/build/assets/openhands-logo-uNs9g6LY.js +0 -1
- package/build/assets/option-service.api-BLYUhnCF.js +0 -1
- package/build/assets/organization-service.api-DpSSwlZu.js +0 -1
- package/build/assets/path-utils-B4WAVqvK.js +0 -1
- package/build/assets/plan-components-DSOTFW2D.js +0 -1
- package/build/assets/planner-tab-LmoxgKKe.js +0 -1
- package/build/assets/preload-helper-D_sPnjeL.js +0 -1
- package/build/assets/profiles-client-B4SJ4ZAf.js +0 -1
- package/build/assets/providers-BGUAB8kf.js +0 -1
- package/build/assets/react-Dn-iWFF5.js +0 -1
- package/build/assets/react-dom-BBXlXOZX.js +0 -1
- package/build/assets/react-uQK8du1l.js +0 -1
- package/build/assets/recommended-automations-launcher-Df9MXUpX.js +0 -50
- package/build/assets/root-BShAdYGY.css +0 -1
- package/build/assets/root-C99reK-P.js +0 -2
- package/build/assets/root-layout-BtH64XeC.js +0 -2
- package/build/assets/runtime-waiting-state-C7MjXDeW.js +0 -1
- package/build/assets/schema-field-BCDuEMrl.js +0 -1
- package/build/assets/sdk-section-page-XJN9mGju.js +0 -1
- package/build/assets/sdk-settings-schema-B15AE1GH.js +0 -1
- package/build/assets/search-rob4u9f8.js +0 -1
- package/build/assets/secrets-service-CrPyCR8u.js +0 -1
- package/build/assets/secrets-settings-UJn15N7E.js +0 -1
- package/build/assets/settings-C5aUD_sQ.js +0 -1
- package/build/assets/settings-dropdown-input-DQRt2_RA.js +0 -1
- package/build/assets/settings-gear-B7bZDo_8.js +0 -1
- package/build/assets/settings-index-zP_rYIW1.js +0 -1
- package/build/assets/settings-input-n8FzVso3.js +0 -1
- package/build/assets/settings-list-classes-DquY3fwm.js +0 -1
- package/build/assets/settings-modal-szlQ6LpE.js +0 -1
- package/build/assets/settings-section-header-context-DrXgyNC-.js +0 -1
- package/build/assets/settings-service.api-B4G8NzCM.js +0 -1
- package/build/assets/settings-switch-DsbEm3ie.js +0 -1
- package/build/assets/shared-conversation-BrAvqeaI.js +0 -1
- package/build/assets/sidebar-mobile-menu-toggle-BRZGCe-l.js +0 -1
- package/build/assets/sidebar-nav-link-B_EygIce.js +0 -1
- package/build/assets/skill-card-pill-row-Bq9Imkdh.js +0 -1
- package/build/assets/skills-Wg6i0kbu.js +0 -1
- package/build/assets/skills-client-DNd444Bm.js +0 -1
- package/build/assets/skills-plugins-DaGkVI7-.js +0 -1
- package/build/assets/skills-settings-Dlp0WFaT.js +0 -2
- package/build/assets/styled-tooltip-ulgpZDga.js +0 -1
- package/build/assets/suspense-BqBQEuKs.js +0 -1
- package/build/assets/switch-skeleton-C49gVWOQ.js +0 -1
- package/build/assets/task-list-tab-Bz-UlCm2.js +0 -1
- package/build/assets/telemetry-DD3HKMgf.js +0 -2
- package/build/assets/terminal-BwLvVzyJ.js +0 -1
- package/build/assets/toggle-switch-CxW8-lBI.js +0 -1
- package/build/assets/typography-BLf_mRKH.js +0 -1
- package/build/assets/u-check-circle-CxTAJuY9.js +0 -1
- package/build/assets/u-check-circle-half-Bj73jfUG.js +0 -1
- package/build/assets/u-circuit-C-6V9H9C.js +0 -1
- package/build/assets/u-edit-C7OnK2sa.js +0 -1
- package/build/assets/use-acp-credential-form-oehc057O.js +0 -1
- package/build/assets/use-active-conversation-CFXVX2on.js +0 -1
- package/build/assets/use-agent-state-D6xfZA4-.js +0 -1
- package/build/assets/use-backends-health-93yRIOWs.js +0 -1
- package/build/assets/use-breakpoint-Xdy_aZHE.js +0 -1
- package/build/assets/use-click-outside-element-CADb_gCP.js +0 -1
- package/build/assets/use-cloud-current-user-id-CzOXsy04.js +0 -1
- package/build/assets/use-config-oXjEWyb6.js +0 -1
- package/build/assets/use-create-conversation-D-YkgrxS.js +0 -1
- package/build/assets/use-create-secret-CX7Ij7W4.js +0 -1
- package/build/assets/use-event-store-DMRAQQi8.js +0 -1
- package/build/assets/use-handle-plan-click-CwW2Ijc2.js +0 -1
- package/build/assets/use-is-authed-CNbX1KMm.js +0 -1
- package/build/assets/use-launch-skill-in-chat-xI9byRUw.js +0 -1
- package/build/assets/use-llm-profiles-BXRZ2rBh.js +0 -1
- package/build/assets/use-runtime-is-ready-Dwzs9_vp.js +0 -1
- package/build/assets/use-settings-_usWr_qn.js +0 -1
- package/build/assets/use-settings-nav-items-DoB5iH-7.js +0 -16
- package/build/assets/use-skills-BtorhoCN.js +0 -1
- package/build/assets/use-task-list-u46BhYBC.js +0 -1
- package/build/assets/use-tracking-Ca7p71hH.js +0 -1
- package/build/assets/use-user-conversation-U-16WF6G.js +0 -1
- package/build/assets/useMutation-CseCrRRO.js +0 -1
- package/build/assets/useQuery-bowvACed.js +0 -1
- package/build/assets/useTranslation-KhTtKmnv.js +0 -1
- package/build/assets/utils-cRyMoFbz.js +0 -1
- package/build/assets/vendor~conversation-panel~conversation~alert-banner-CjfR7T3x.js +0 -1
- package/build/assets/vendor~entry.client-_zl82x5T.js +0 -1
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~dj9x5fm9-CgCGB-3J.js +0 -177
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~jfvr34cq-BJdsUTJG.js +0 -1
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~m3df9r20-BynFAJ_S.js +0 -1
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~nk00xiud-MfCRtPrK.js +0 -9
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~ghtfhmuy-BHDILMe2.js +0 -1
- package/build/assets/vendor~root-layout~conversation-panel~conversation-BFZmbXpq.js +0 -1
- package/build/assets/vendor~root-layout~conversation-panel~conversation~index-BPY-kNjK.js +0 -1
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation-BhWqQNmF.js +0 -1
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~cfyi58ut-CnnEa0dP.js +0 -1
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~clac83qc-DMX6XUwI.js +0 -2
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~ldu51w4e-Cqp6k3RG.js +0 -1
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~ldu51w4e-DS4GWhCz.js +0 -9
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~ji28rqgb-DVffa9Ks.js +0 -48
- package/build/assets/vendor~root-layout~home~mcp~automations-list~onboarding-modal-BzR6ypP3.js +0 -1
- package/build/assets/vendor~root-layout~home~mcp~llm-settings~agent-settings~condenser-settings~verification-set~hzfcl1q6-BcvHZmEZ.js +0 -2
- package/build/assets/vendor~root-layout~home~mcp~llm-settings~agent-settings~condenser-settings~verification-set~hzfcl1q6-Cuvp6wqR.js +0 -14
- package/build/assets/verification-settings-DKZnUHD6.js +0 -1
- package/build/assets/x-DpnGZyVW.js +0 -1
- package/build/assets/x-mark-x3tvCZzc.js +0 -1
- package/dist/components/features/analytics/analytics-consent-form-modal.d.ts +0 -5
- package/dist/components/features/chat/switch-profile-button.cjs +0 -2
- package/dist/components/features/chat/switch-profile-button.cjs.map +0 -1
- package/dist/components/features/chat/switch-profile-button.d.ts +0 -1
- package/dist/components/features/chat/switch-profile-button.js +0 -48
- package/dist/components/features/chat/switch-profile-button.js.map +0 -1
- package/dist/components/features/chat/switch-profile-context-menu.cjs +0 -2
- package/dist/components/features/chat/switch-profile-context-menu.cjs.map +0 -1
- package/dist/components/features/chat/switch-profile-context-menu.d.ts +0 -9
- package/dist/components/features/chat/switch-profile-context-menu.js +0 -106
- package/dist/components/features/chat/switch-profile-context-menu.js.map +0 -1
- package/dist/components/features/onboarding/is-backend-llm-ready.d.ts +0 -30
- package/dist/icons/u-circuit.cjs +0 -2
- package/dist/icons/u-circuit.cjs.map +0 -1
- package/dist/icons/u-circuit.js +0 -19
- package/dist/icons/u-circuit.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/clickup.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/clickup.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/clickup.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/clickup.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/dropbox.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/dropbox.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/dropbox.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/dropbox.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/freshdesk.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/freshdesk.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/freshdesk.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/freshdesk.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/mailchimp.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/mailchimp.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/mailchimp.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/mailchimp.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/pipedrive.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/pipedrive.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/pipedrive.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/pipedrive.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/plaid.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/plaid.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/plaid.js +0 -28
- package/dist/node_modules/@openhands/extensions/integrations/catalog/plaid.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/servicenow.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/servicenow.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/servicenow.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/servicenow.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/shopify.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/shopify.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/shopify.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/shopify.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/zendesk.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/zendesk.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/zendesk.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/zendesk.js.map +0 -1
- /package/build/assets/{agent-server-ui-style-scope-CIDFDeQb.js → agent-server-ui-style-scope-COnDHTm5.js} +0 -0
- /package/build/assets/{automation-DNgDxqtq.js → automation-BU8zu-FP.js} +0 -0
- /package/build/assets/{common-KeiA2Rod.js → common-Dh7OqABE.js} +0 -0
- /package/build/assets/{environment-switch-store-BpKxp6Xq.js → environment-switch-store-DkjlKWzN.js} +0 -0
- /package/build/assets/{extension-module-card-classes-DvvyImGv.js → extension-module-card-classes-9V3J9J_b.js} +0 -0
- /package/build/assets/{git-status-mapper-B3_HbzUT.js → git-status-mapper-BI8FyUVp.js} +0 -0
- /package/build/assets/{handle-capture-consent-BChvj6mt.js → handle-capture-consent-CPMXU29K.js} +0 -0
- /package/build/assets/{llm-subscription-C1xDoa3K.js → llm-subscription-DtsX5Lhg.js} +0 -0
- /package/build/assets/{map-provider-MonJL5SS.js → map-provider-BM2SJarp.js} +0 -0
- /package/build/assets/{objectWithoutPropertiesLoose-BRYudkUn.js → objectWithoutPropertiesLoose-BgYIAs2y.js} +0 -0
- /package/build/assets/{rolldown-runtime-wFmyQBCi.js → rolldown-runtime-BFRubm34.js} +0 -0
- /package/build/assets/{settings-like-page-layout-classes-DNg2vKSM.js → settings-like-page-layout-classes-DENKlZpD.js} +0 -0
- /package/build/assets/{v4-BMWDcIWQ.js → v4-DbCkTSoU.js} +0 -0
- /package/build/assets/{vendor~browser-yZEspfT9.js → vendor~browser-Dqd33JyP.js} +0 -0
- /package/build/assets/{vendor~terminal-CcUoOdAH.js → vendor~terminal-aeP3PnKf.js} +0 -0
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-wFmyQBCi.js";import{t}from"./react-uQK8du1l.js";import{t as n}from"./react-dom-BBXlXOZX.js";import{$ as r,B as i,F as a,G as o,H as s,I as c,J as l,K as u,L as d,N as f,P as p,Q as m,R as h,S as g,U as _,V as v,W as y,X as b,Y as x,Z as S,_ as C,at as w,b as T,c as E,ct as D,d as O,dt as k,et as A,f as j,g as M,h as N,i as P,it as F,l as I,lt as L,m as R,nt as z,o as B,ot as V,p as H,q as U,rt as W,s as G,st as K,t as q,tt as J,u as ee,ut as Y,v as X,y as te,z as ne}from"./vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~ldu51w4e-DS4GWhCz.js";var re=Symbol.for(`react-aria.i18n.locale`),ie=Symbol.for(`react-aria.i18n.strings`),ae=void 0,oe=class e{constructor(e,t=`en-US`){this.strings=Object.fromEntries(Object.entries(e).filter(([,e])=>e)),this.defaultLocale=t}getStringForLocale(e,t){let n=this.getStringsForLocale(t)[e];if(!n)throw Error(`Could not find intl message ${e} in ${t} locale`);return n}getStringsForLocale(e){let t=this.strings[e];return t||(t=se(e,this.strings,this.defaultLocale),this.strings[e]=t),t}static getGlobalDictionaryForPackage(t){if(typeof window>`u`)return null;let n=window[re];if(ae===void 0){let t=window[ie];if(!t)return null;ae={};for(let r in t)ae[r]=new e({[n]:t[r]},n)}let r=ae?.[t];if(!r)throw Error(`Strings for package "${t}" were not included by LocalizedStringProvider. Please add it to the list passed to createLocalizedStringDictionary.`);return r}};function se(e,t,n=`en-US`){if(t[e])return t[e];let r=ce(e);if(t[r])return t[r];for(let e in t)if(e.startsWith(r+`-`))return t[e];return t[n]}function ce(e){return Intl.Locale?new Intl.Locale(e).language:e.split(`-`)[0]}var le=new Map,ue=new Map,de=class{constructor(e,t){this.locale=e,this.strings=t}format(e,t){let n=this.strings.getStringForLocale(e,this.locale);return typeof n==`function`?n(t,this):n}plural(e,t,n=`cardinal`){let r=t[`=`+e];if(r)return typeof r==`function`?r():r;let i=this.locale+`:`+n,a=le.get(i);return a||(a=new Intl.PluralRules(this.locale,{type:n}),le.set(i,a)),r=t[a.select(e)]||t.other,typeof r==`function`?r():r}number(e){let t=ue.get(this.locale);return t||(t=new Intl.NumberFormat(this.locale),ue.set(this.locale,t)),t.format(e)}select(e,t){let n=e[t]||e.other;return typeof n==`function`?n():n}},Z=e(t(),1),fe=new WeakMap;function pe(e){let t=fe.get(e);return t||(t=new oe(e),fe.set(e,t)),t}function me(e,t){return t&&oe.getGlobalDictionaryForPackage(t)||pe(e)}function he(e,t){let{locale:n}=Y(),r=me(e,t);return(0,Z.useMemo)(()=>new de(n,r),[n,r])}function ge(e,t){if(t.has(e))throw TypeError(`Cannot initialize the same private elements twice on an object`)}function _e(e,t,n){ge(e,t),t.set(e,n)}function ve(e,t){let{id:n,"aria-label":r,"aria-labelledby":i}=e;return n=D(n),i&&r?i=[...new Set([n,...i.trim().split(/\s+/)])].join(` `):i&&=i.trim().split(/\s+/).join(` `),!r&&!i&&t&&(r=t),{id:n,"aria-label":r,"aria-labelledby":i}}function ye(e,t){let n=(0,Z.useRef)(!0),r=(0,Z.useRef)(null),i=h(e);(0,Z.useEffect)(()=>(n.current=!0,()=>{n.current=!1}),[]),(0,Z.useEffect)(()=>{let e=r.current;n.current?n.current=!1:(!e||t.some((t,n)=>!Object.is(t,e[n])))&&i(),r.current=t},t)}function be(e,t){let n=(0,Z.useRef)(!0),r=(0,Z.useRef)(null);L(()=>(n.current=!0,()=>{n.current=!1}),[]),L(()=>{n.current?n.current=!1:(!r.current||t.some((e,t)=>!Object.is(e,r[t])))&&e(),r.current=t},t)}function xe(e,t){if(!e)return!1;let n=window.getComputedStyle(e),r=document.scrollingElement||document.documentElement,i=/(auto|scroll)/.test(n.overflow+n.overflowX+n.overflowY);return e===r&&n.overflow!==`hidden`&&(i=!0),i&&t&&(i=e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth),i}function Se(e,t){let n=e;for(xe(n,t)&&(n=n.parentElement);n&&!xe(n,t);)n=n.parentElement;return n||document.scrollingElement||document.documentElement}function Ce(e,t){let n=[],r=document.scrollingElement||document.documentElement;do xe(e,t)&&n.push(e),e=e.parentElement;while(e&&e!==r);return n}function we(e){return u()?e.metaKey:e.ctrlKey}var Te=new Set([`checkbox`,`radio`,`range`,`color`,`file`,`image`,`button`,`submit`,`reset`]);function Ee(e){return e instanceof HTMLInputElement&&!Te.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}var De=0,Oe=new Map;function ke(e){let[t,n]=(0,Z.useState)();return L(()=>{if(!e)return;let t=Oe.get(e);if(t)n(t.element.id);else{let r=`react-aria-description-${De++}`;n(r);let i=document.createElement(`div`);i.id=r,i.style.display=`none`,i.textContent=e,document.body.appendChild(i),t={refCount:0,element:i},Oe.set(e,t)}return t.refCount++,()=>{t&&--t.refCount===0&&(t.element.remove(),Oe.delete(e))}},[e]),{"aria-describedby":e?t:void 0}}function Ae(e,t,n,r){let i=h(n),a=n==null;(0,Z.useEffect)(()=>{if(a||!e.current)return;let n=e.current;return n.addEventListener(t,i,r),()=>{n.removeEventListener(t,i,r)}},[e,t,r,a])}function je(e,t,n={}){let{block:r=`nearest`,inline:i=`nearest`}=n;if(e===t)return;let a=e.scrollTop,o=e.scrollLeft,s=t.getBoundingClientRect(),c=e.getBoundingClientRect(),u=window.getComputedStyle(t),d=window.getComputedStyle(e),f=document.scrollingElement||document.documentElement,p=e===f?0:c.top,m=e===f?e.clientHeight:c.bottom,h=e===f?0:c.left,g=e===f?e.clientWidth:c.right,_=parseInt(u.scrollMarginTop,10)||0,v=parseInt(u.scrollMarginBottom,10)||0,y=parseInt(u.scrollMarginLeft,10)||0,b=parseInt(u.scrollMarginRight,10)||0,x=parseInt(d.scrollPaddingTop,10)||0,S=parseInt(d.scrollPaddingBottom,10)||0,C=parseInt(d.scrollPaddingLeft,10)||0,w=parseInt(d.scrollPaddingRight,10)||0,T=parseInt(d.borderTopWidth,10)||0,E=parseInt(d.borderBottomWidth,10)||0,D=parseInt(d.borderLeftWidth,10)||0,O=parseInt(d.borderRightWidth,10)||0,k=s.top-_,A=s.bottom+v,j=s.left-y,M=s.right+b,N=e===f?0:D+O,P=e===f?0:T+E,F=e.offsetWidth-e.clientWidth-N,I=e.offsetHeight-e.clientHeight-P,L=p+T+x,R=m-E-S-I,z=h+D+C,B=g-O-w;d.direction===`rtl`&&!l()?z+=F:B-=F;let V=k<L||A>R,H=j<z||M>B;if(V&&r===`start`)a+=k-L;else if(V&&r===`center`)a+=(k+A)/2-(L+R)/2;else if(V&&r===`end`)a+=A-R;else if(V&&r===`nearest`){let e=k-L,t=A-R;a+=Math.abs(e)<=Math.abs(t)?e:t}if(H&&i===`start`)o+=j-z;else if(H&&i===`center`)o+=(j+M)/2-(z+B)/2;else if(H&&i===`end`)o+=M-B;else if(H&&i===`nearest`){let e=j-z,t=M-B;o+=Math.abs(e)<=Math.abs(t)?e:t}e.scrollTo({left:o,top:a})}function Me(e,t={}){let{containingElement:n}=t;if(e&&e.isConnected){let t=document.scrollingElement||document.documentElement;if(window.getComputedStyle(t).overflow!==`hidden`&&!y()){var r;let{left:t,top:o}=e.getBoundingClientRect();e==null||(r=e.scrollIntoView)==null||r.call(e,{block:`nearest`});let{left:s,top:c}=e.getBoundingClientRect();if(Math.abs(t-s)>1||Math.abs(o-c)>1){var i,a;n==null||(i=n.scrollIntoView)==null||i.call(n,{block:`center`,inline:`center`}),(a=e.scrollIntoView)==null||a.call(e,{block:`nearest`})}}else{let{left:t,top:r}=e.getBoundingClientRect(),i=Ce(e,!0);for(let t of i)je(t,e);let{left:a,top:o}=e.getBoundingClientRect();if(Math.abs(t-a)>1||Math.abs(r-o)>1){i=n?Ce(n,!0):[];for(let e of i)je(e,n,{block:`center`,inline:`center`})}}}}function Ne(e,t,n){let r=h(()=>{n&&n(t)});(0,Z.useEffect)(()=>{let t=e?.current?.form;return t?.addEventListener(`reset`,r),()=>{t?.removeEventListener(`reset`,r)}},[e])}var Pe=`react-aria-clear-focus`,Fe=`react-aria-focus`,Ie=new Map;function Le(e){let{locale:t}=Y(),n=t+(e?Object.entries(e).sort((e,t)=>e[0]<t[0]?-1:1).join():``);if(Ie.has(n))return Ie.get(n);let r=new Intl.Collator(t,e);return Ie.set(n,r),r}function Re(e){let t=Le({usage:`search`,...e}),n=(0,Z.useCallback)((e,n)=>n.length===0?!0:(e=e.normalize(`NFC`),n=n.normalize(`NFC`),t.compare(e.slice(0,n.length),n)===0),[t]),r=(0,Z.useCallback)((e,n)=>n.length===0?!0:(e=e.normalize(`NFC`),n=n.normalize(`NFC`),t.compare(e.slice(-n.length),n)===0),[t]),i=(0,Z.useCallback)((e,n)=>{if(n.length===0)return!0;e=e.normalize(`NFC`),n=n.normalize(`NFC`);let r=0,i=n.length;for(;r+i<=e.length;r++){let a=e.slice(r,r+i);if(t.compare(n,a)===0)return!0}return!1},[t]);return(0,Z.useMemo)(()=>({startsWith:n,endsWith:r,contains:i}),[n,r,i])}var ze=`default`,Be=``,Ve=new WeakMap;function He(e){if(l()){if(ze===`default`){let t=F(e);Be=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect=`none`}ze=`disabled`}else if(e instanceof HTMLElement||e instanceof SVGElement){let t=`userSelect`in e.style?`userSelect`:`webkitUserSelect`;Ve.set(e,e.style[t]),e.style[t]=`none`}}function Ue(e){if(l()){if(ze!==`disabled`)return;ze=`restoring`,setTimeout(()=>{i(()=>{if(ze===`restoring`){let t=F(e);t.documentElement.style.webkitUserSelect===`none`&&(t.documentElement.style.webkitUserSelect=Be||``),Be=``,ze=`default`}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&Ve.has(e)){let t=Ve.get(e),n=`userSelect`in e.style?`userSelect`:`webkitUserSelect`;e.style[n]===`none`&&(e.style[n]=t),e.getAttribute(`style`)===``&&e.removeAttribute(`style`),Ve.delete(e)}}var We=Z.createContext({register:()=>{}});We.displayName=`PressResponderContext`;function Ge(e,t){return t.get?t.get.call(e):t.value}function Ke(e,t,n){if(!t.has(e))throw TypeError(`attempted to `+n+` private field on non-instance`);return t.get(e)}function qe(e,t){return Ge(e,Ke(e,t,`get`))}function Je(e,t,n){if(t.set)t.set.call(e,n);else{if(!t.writable)throw TypeError(`attempted to set read only private field`);t.value=n}}function Ye(e,t,n){return Je(e,Ke(e,t,`set`),n),n}var Xe=e(n(),1);function Ze(e){let t=(0,Z.useContext)(We);if(t){let{register:n,ref:r,...i}=t;e=S(i,e),n()}return d(t,e.ref),e}var Qe=new WeakMap,$e=class{continuePropagation(){Ye(this,Qe,!1)}get shouldStopPropagation(){return qe(this,Qe)}constructor(e,t,n,r){_e(this,Qe,{writable:!0,value:void 0}),Ye(this,Qe,!0);let i=(r?.target??n.currentTarget)?.getBoundingClientRect(),a,o=0,s,c=null;n.clientX!=null&&n.clientY!=null&&(s=n.clientX,c=n.clientY),i&&(s!=null&&c!=null?(a=s-i.left,o=c-i.top):(a=i.width/2,o=i.height/2)),this.type=e,this.pointerType=t,this.target=n.currentTarget,this.shiftKey=n.shiftKey,this.metaKey=n.metaKey,this.ctrlKey=n.ctrlKey,this.altKey=n.altKey,this.x=a,this.y=o,this.key=n.key}},et=Symbol(`linkClicked`),tt=`react-aria-pressable-style`,nt=`data-react-aria-pressable`;function rt(e){let{onPress:t,onPressChange:n,onPressStart:i,onPressEnd:o,onPressUp:l,onClick:d,isDisabled:f,isPressed:p,preventFocusOnPress:m,shouldCancelOnPointerExit:g,allowTextSelectionOnPress:_,ref:v,...y}=Ze(e),[b,C]=(0,Z.useState)(!1),w=(0,Z.useRef)({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:E,removeAllGlobalListeners:D,removeGlobalListener:O}=ne(),k=(0,Z.useCallback)((e,t)=>{let r=w.current;if(f||r.didFirePressStart)return!1;let a=!0;if(r.isTriggeringEvent=!0,i){let n=new $e(`pressstart`,t,e);i(n),a=n.shouldStopPropagation}return n&&n(!0),r.isTriggeringEvent=!1,r.didFirePressStart=!0,C(!0),a},[f,i,n]),A=(0,Z.useCallback)((e,r,i=!0)=>{let a=w.current;if(!a.didFirePressStart)return!1;a.didFirePressStart=!1,a.isTriggeringEvent=!0;let s=!0;if(o){let t=new $e(`pressend`,r,e);o(t),s=t.shouldStopPropagation}if(n&&n(!1),C(!1),t&&i&&!f){let n=new $e(`press`,r,e);t(n),s&&=n.shouldStopPropagation}return a.isTriggeringEvent=!1,s},[f,o,n,t]),j=h(A),M=(0,Z.useCallback)((e,t)=>{let n=w.current;if(f)return!1;if(l){n.isTriggeringEvent=!0;let r=new $e(`pressup`,t,e);return l(r),n.isTriggeringEvent=!1,r.shouldStopPropagation}return!0},[f,l]),N=h(M),P=(0,Z.useCallback)(e=>{let t=w.current;if(t.isPressed&&t.target){t.didFirePressStart&&t.pointerType!=null&&A(ot(t.target,e),t.pointerType,!1),t.isPressed=!1,q(null),t.isOverTarget=!1,t.activePointerId=null,t.pointerType=null,D(),_||Ue(t.target);for(let e of t.disposables)e();t.disposables=[]}},[_,D,A]),I=h(P),R=(0,Z.useCallback)(e=>{g&&P(e)},[g,P]),B=(0,Z.useCallback)(e=>{f||d?.(e)},[f,d]),H=(0,Z.useCallback)((e,t)=>{if(!f&&d){let n=new MouseEvent(`click`,e);te(n,t),d(X(n))}},[f,d]),U=h(H),[W,G]=(0,Z.useState)(!1);L(()=>{let e=w.current;if(W){let t=t=>{if(e.isPressed&&e.target&&at(t,e.target)){var n;ct(z(t),t.key)&&t.preventDefault();let i=z(t),a=r(e.target,i);j(ot(e.target,t),`keyboard`,a),a&&U(t,e.target),D(),t.key!==`Enter`&&it(e.target)&&r(e.target,i)&&!t[et]&&(t[et]=!0,s(e.target,t,!1)),e.isPressed=!1,G(!1),(n=e.metaKeyEvents)==null||n.delete(t.key)}else if(t.key===`Meta`&&e.metaKeyEvents?.size){var i;let t=e.metaKeyEvents;e.metaKeyEvents=void 0;for(let n of t.values())(i=e.target)==null||i.dispatchEvent(new KeyboardEvent(`keyup`,n))}},n=e.target,i=V(t=>{n&&at(t,n)&&!t.repeat&&r(n,z(t))&&e.target&&N(ot(e.target,t),`keyboard`)},t);return E(F(e.target),`keyup`,i,!0),()=>{O(F(e.target),`keyup`,i,!0)}}},[W,E,D,O]);let[K,q]=(0,Z.useState)(null);L(()=>{let e=w.current;if(K===`pointer`){let t=t=>{if(t.pointerId===e.activePointerId&&e.isPressed&&t.button===0&&e.target){if(r(e.target,z(t))&&e.pointerType!=null){let n=!1,r=setTimeout(()=>{e.isPressed&&e.target instanceof HTMLElement&&(n?I(t):(x(e.target),e.target.click()))},80);t.currentTarget&&E(t.currentTarget,`click`,()=>n=!0,!0),e.disposables.push(()=>clearTimeout(r))}else I(t);e.isOverTarget=!1}},n=e=>{I(e)};return E(F(e.target),`pointerup`,t,!1),E(F(e.target),`pointercancel`,n,!1),()=>{O(F(e.target),`pointerup`,t,!1),O(F(e.target),`pointercancel`,n,!1)}}},[K,E,O]);let J=(0,Z.useMemo)(()=>{let e=w.current,t={onKeyDown(t){if(at(t.nativeEvent,t.currentTarget)&&r(t.currentTarget,z(t))){var n;ct(z(t),t.key)&&t.preventDefault();let r=!0;!e.isPressed&&!t.repeat&&(e.target=t.currentTarget,e.isPressed=!0,G(!0),e.pointerType=`keyboard`,r=k(t,`keyboard`)),r&&t.stopPropagation(),t.metaKey&&u()&&((n=e.metaKeyEvents)==null||n.set(t.key,t.nativeEvent))}else t.key===`Meta`&&(e.metaKeyEvents=new Map)},onClick(t){if(!(t&&!r(t.currentTarget,z(t)))&&t&&t.button===0&&!e.isTriggeringEvent&&!s.isOpening){let n=!0;if(f&&t.preventDefault(),!e.ignoreEmulatedMouseEvents&&!e.isPressed&&(e.pointerType===`virtual`||c(t.nativeEvent))){let e=k(t,`virtual`),r=M(t,`virtual`),i=A(t,`virtual`);B(t),n=e&&r&&i}else if(e.isPressed&&e.pointerType!==`keyboard`){let r=e.pointerType||t.nativeEvent.pointerType||`virtual`,i=M(ot(t.currentTarget,t),r),a=A(ot(t.currentTarget,t),r,!0);n=i&&a,e.isOverTarget=!1,B(t),P(t)}e.ignoreEmulatedMouseEvents=!1,n&&t.stopPropagation()}}};return typeof PointerEvent<`u`&&(t.onPointerDown=t=>{if(t.button!==0||!r(t.currentTarget,z(t)))return;if(a(t.nativeEvent)){e.pointerType=`virtual`;return}e.pointerType=t.pointerType;let n=!0;if(!e.isPressed){e.isPressed=!0,q(`pointer`),e.isOverTarget=!0,e.activePointerId=t.pointerId,e.target=t.currentTarget,_||He(e.target),n=k(t,e.pointerType);let r=z(t);`releasePointerCapture`in r&&(`hasPointerCapture`in r?r.hasPointerCapture(t.pointerId)&&r.releasePointerCapture(t.pointerId):r.releasePointerCapture(t.pointerId))}n&&t.stopPropagation()},t.onMouseDown=t=>{if(r(t.currentTarget,z(t))&&t.button===0){if(m){let n=T(t.target);n&&e.disposables.push(n)}t.stopPropagation()}},t.onPointerUp=t=>{!r(t.currentTarget,z(t))||e.pointerType===`virtual`||t.button===0&&!e.isPressed&&M(t,e.pointerType||t.pointerType)},t.onPointerEnter=t=>{t.pointerId===e.activePointerId&&e.target&&!e.isOverTarget&&e.pointerType!=null&&(e.isOverTarget=!0,k(ot(e.target,t),e.pointerType))},t.onPointerLeave=t=>{t.pointerId===e.activePointerId&&e.target&&e.isOverTarget&&e.pointerType!=null&&(e.isOverTarget=!1,A(ot(e.target,t),e.pointerType,!1),R(t))},t.onDragStart=e=>{r(e.currentTarget,z(e))&&P(e)}),t},[f,m,D,_,P,R,A,k,M,B,H]);return(0,Z.useEffect)(()=>{if(!v)return;let e=F(v.current);if(!e||!e.head||e.getElementById(tt))return;let t=e.createElement(`style`);t.id=tt,t.textContent=`
|
|
2
|
-
@layer {
|
|
3
|
-
[${nt}] {
|
|
4
|
-
touch-action: pan-x pan-y pinch-zoom;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
`.trim(),e.head.prepend(t)},[v]),(0,Z.useEffect)(()=>{let e=w.current;return()=>{_||Ue(e.target??void 0);for(let t of e.disposables)t();e.disposables=[]}},[_]),{isPressed:p||b,pressProps:S(y,J,{[nt]:!0})}}function it(e){return e.tagName===`A`&&e.hasAttribute(`href`)}function at(e,t){let{key:n,code:r}=e,i=t,a=i.getAttribute(`role`);return(n===`Enter`||n===` `||n===`Spacebar`||r===`Space`)&&!(i instanceof w(i).HTMLInputElement&&!ut(i,n)||i instanceof w(i).HTMLTextAreaElement||i.isContentEditable)&&!((a===`link`||!a&&it(i))&&n!==`Enter`)}function ot(e,t){let n=t.clientX,r=t.clientY;return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:n,clientY:r,key:t.key}}function st(e){return e instanceof HTMLInputElement?!1:e instanceof HTMLButtonElement?e.type!==`submit`&&e.type!==`reset`:!it(e)}function ct(e,t){return e instanceof HTMLInputElement?!ut(e,t):st(e)}var lt=new Set([`checkbox`,`radio`,`range`,`color`,`file`,`image`,`button`,`submit`,`reset`]);function ut(e,t){return e.type===`checkbox`||e.type===`radio`?t===` `:lt.has(e.type)}function dt({children:e}){let t=(0,Z.useMemo)(()=>({register:()=>{}}),[]);return Z.createElement(We.Provider,{value:t},e)}var ft=500;function pt(e){let{isDisabled:t,onLongPressStart:n,onLongPressEnd:r,onLongPress:i,threshold:a=ft,accessibilityDescription:o}=e,s=(0,Z.useRef)(void 0),{addGlobalListener:c,removeGlobalListener:l}=ne(),{pressProps:u}=rt({isDisabled:t,onPressStart(e){if(e.continuePropagation(),(e.pointerType===`mouse`||e.pointerType===`touch`)&&(n&&n({...e,type:`longpressstart`}),s.current=setTimeout(()=>{e.target.dispatchEvent(new PointerEvent(`pointercancel`,{bubbles:!0})),F(e.target).activeElement!==e.target&&x(e.target),i&&i({...e,type:`longpress`}),s.current=void 0},a),e.pointerType===`touch`)){let t=e=>{e.preventDefault()};c(e.target,`contextmenu`,t,{once:!0}),c(window,`pointerup`,()=>{setTimeout(()=>{l(e.target,`contextmenu`,t)},30)},{once:!0})}},onPressEnd(e){s.current&&clearTimeout(s.current),r&&(e.pointerType===`mouse`||e.pointerType===`touch`)&&r({...e,type:`longpressend`})}});return{longPressProps:S(u,ke(i&&!t?o:void 0))}}function mt(e={}){let{autoFocus:t=!1,isTextInput:n,within:r}=e,i=(0,Z.useRef)({isFocused:!1,isFocusVisible:t||M()}),[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(()=>i.current.isFocused&&i.current.isFocusVisible),l=(0,Z.useCallback)(()=>c(i.current.isFocused&&i.current.isFocusVisible),[]),u=(0,Z.useCallback)(e=>{i.current.isFocused=e,i.current.isFocusVisible=M(),o(e),l()},[l]);C(e=>{i.current.isFocusVisible=e,l()},[n,a],{enabled:a,isTextInput:n});let{focusProps:d}=j({isDisabled:r,onFocusChange:u}),{focusWithinProps:f}=ee({isDisabled:!r,onFocusWithinChange:u});return{isFocused:a,isFocusVisible:s,focusProps:r?f:d}}function ht(e){let t=vt(F(e));t!==e&&(t&>(t,e),e&&_t(e,t))}function gt(e,t){e.dispatchEvent(new FocusEvent(`blur`,{relatedTarget:t})),e.dispatchEvent(new FocusEvent(`focusout`,{bubbles:!0,relatedTarget:t}))}function _t(e,t){e.dispatchEvent(new FocusEvent(`focus`,{relatedTarget:t})),e.dispatchEvent(new FocusEvent(`focusin`,{bubbles:!0,relatedTarget:t}))}function vt(e){let t=J(e),n=t?.getAttribute(`aria-activedescendant`);return n&&e.getElementById(n)||t}function yt(e,t,n){let{type:r}=e,{isOpen:i}=t;(0,Z.useEffect)(()=>{n&&n.current&&g.set(n.current,t.close)});let a;r===`menu`?a=!0:r===`listbox`&&(a=`listbox`);let o=D();return{triggerProps:{"aria-haspopup":a,"aria-expanded":i,"aria-controls":i?o:void 0,onPress:t.toggle},overlayProps:{id:o}}}var bt=typeof document<`u`&&window.visualViewport,xt=0,St;function Ct(e={}){let{isDisabled:t}=e;L(()=>{if(!t)return xt++,xt===1&&(St=l()?Tt():wt()),()=>{xt--,xt===0&&St()}},[t])}function wt(){let e=window.innerWidth-document.documentElement.clientWidth;return V(e>0&&(`scrollbarGutter`in document.documentElement.style?Et(document.documentElement,`scrollbarGutter`,`stable`):Et(document.documentElement,`paddingRight`,`${e}px`)),Et(document.documentElement,`overflow`,`hidden`))}function Tt(){let e=Et(document.documentElement,`overflow`,`hidden`),t,n=!1,r=e=>{let r=z(e);t=xe(r)?r:Se(r,!0),n=!1;let i=r.ownerDocument.defaultView.getSelection();i&&!i.isCollapsed&&i.containsNode(r,!0)&&(n=!0),e.composedPath().some(e=>e instanceof HTMLInputElement&&e.type===`range`)&&(n=!0),`selectionStart`in r&&`selectionEnd`in r&&r.selectionStart<r.selectionEnd&&r.ownerDocument.activeElement===r&&(n=!0)},i=document.createElement(`style`);i.textContent=`@layer {
|
|
8
|
-
* {
|
|
9
|
-
overscroll-behavior: contain;
|
|
10
|
-
}
|
|
11
|
-
}`,document.head.prepend(i);let a=e=>{if(!(e.touches.length===2||n)){if(!t||t===document.documentElement||t===document.body){e.preventDefault();return}t.scrollHeight===t.clientHeight&&t.scrollWidth===t.clientWidth&&e.preventDefault()}},o=e=>{let t=z(e),n=e.relatedTarget;n&&Ee(n)?(n.focus({preventScroll:!0}),Ot(n,Ee(t))):n||(t.parentElement?.closest(`[tabindex]`))?.focus({preventScroll:!0})},s=HTMLElement.prototype.focus;HTMLElement.prototype.focus=function(e){let t=J(),n=t!=null&&Ee(t);s.call(this,{...e,preventScroll:!0}),(!e||!e.preventScroll)&&Ot(this,n)};let c=V(Dt(document,`touchstart`,r,{passive:!1,capture:!0}),Dt(document,`touchmove`,a,{passive:!1,capture:!0}),Dt(document,`blur`,o,!0));return()=>{e(),c(),i.remove(),HTMLElement.prototype.focus=s}}function Et(e,t,n){let r=e.style[t];return e.style[t]=n,()=>{e.style[t]=r}}function Dt(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function Ot(e,t){t||!bt?kt(e):bt.addEventListener(`resize`,()=>kt(e),{once:!0})}function kt(e){let t=document.scrollingElement||document.documentElement,n=e;for(;n&&n!==t;){let e=Se(n);if(e!==document.documentElement&&e!==document.body&&e!==n){let t=e.getBoundingClientRect(),r=n.getBoundingClientRect();if(r.top<t.top||r.bottom>t.top+n.clientHeight){let n=t.bottom;bt&&(n=Math.min(n,bt.offsetTop+bt.height));let i=r.top-t.top-((n-t.top)/2-r.height/2);e.scrollTo({top:Math.max(0,Math.min(e.scrollHeight-e.clientHeight,e.scrollTop+i)),behavior:`smooth`})}}n=e.parentElement}}var At={};At={dismiss:`تجاهل`};var jt={};jt={dismiss:`Отхвърляне`};var Mt={};Mt={dismiss:`Odstranit`};var Nt={};Nt={dismiss:`Luk`};var Pt={};Pt={dismiss:`Schließen`};var Ft={};Ft={dismiss:`Απόρριψη`};var It={};It={dismiss:`Dismiss`};var Lt={};Lt={dismiss:`Descartar`};var Rt={};Rt={dismiss:`Lõpeta`};var zt={};zt={dismiss:`Hylkää`};var Bt={};Bt={dismiss:`Rejeter`};var Vt={};Vt={dismiss:`התעלם`};var Ht={};Ht={dismiss:`Odbaci`};var Ut={};Ut={dismiss:`Elutasítás`};var Wt={};Wt={dismiss:`Ignora`};var Gt={};Gt={dismiss:`閉じる`};var Kt={};Kt={dismiss:`무시`};var qt={};qt={dismiss:`Atmesti`};var Jt={};Jt={dismiss:`Nerādīt`};var Yt={};Yt={dismiss:`Lukk`};var Xt={};Xt={dismiss:`Negeren`};var Zt={};Zt={dismiss:`Zignoruj`};var Qt={};Qt={dismiss:`Descartar`};var $t={};$t={dismiss:`Dispensar`};var en={};en={dismiss:`Revocare`};var tn={};tn={dismiss:`Пропустить`};var nn={};nn={dismiss:`Zrušiť`};var rn={};rn={dismiss:`Opusti`};var an={};an={dismiss:`Odbaci`};var on={};on={dismiss:`Avvisa`};var sn={};sn={dismiss:`Kapat`};var cn={};cn={dismiss:`Скасувати`};var ln={};ln={dismiss:`取消`};var un={};un={dismiss:`關閉`};var dn={};dn={"ar-AE":At,"bg-BG":jt,"cs-CZ":Mt,"da-DK":Nt,"de-DE":Pt,"el-GR":Ft,"en-US":It,"es-ES":Lt,"et-EE":Rt,"fi-FI":zt,"fr-FR":Bt,"he-IL":Vt,"hr-HR":Ht,"hu-HU":Ut,"it-IT":Wt,"ja-JP":Gt,"ko-KR":Kt,"lt-LT":qt,"lv-LV":Jt,"nb-NO":Yt,"nl-NL":Xt,"pl-PL":Zt,"pt-BR":Qt,"pt-PT":$t,"ro-RO":en,"ru-RU":tn,"sk-SK":nn,"sl-SI":rn,"sr-SP":an,"sv-SE":on,"tr-TR":sn,"uk-UA":cn,"zh-CN":ln,"zh-TW":un};var fn={border:0,clip:`rect(0 0 0 0)`,clipPath:`inset(50%)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,width:`1px`,whiteSpace:`nowrap`};function pn(e={}){let{style:t,isFocusable:n}=e,[r,i]=(0,Z.useState)(!1),{focusWithinProps:a}=ee({isDisabled:!n,onFocusWithinChange:e=>i(e)}),o=(0,Z.useMemo)(()=>r?t:t?{...fn,...t}:fn,[r]);return{visuallyHiddenProps:{...a,style:o}}}function mn(e){let{children:t,elementType:n=`div`,isFocusable:r,style:i,...a}=e,{visuallyHiddenProps:o}=pn(e);return Z.createElement(n,S(a,o),t)}function hn(e){return e&&e.__esModule?e.default:e}function gn(e){let{onDismiss:t,...n}=e,r=ve(n,he(hn(dn),`@react-aria/overlays`).format(`dismiss`)),i=()=>{t&&t()};return Z.createElement(mn,null,Z.createElement(`button`,{...r,tabIndex:-1,onClick:i,style:{width:1,height:1}}))}var _n=typeof HTMLElement<`u`&&`inert`in HTMLElement.prototype,vn=new WeakMap,Q=[];function yn(e,t){let n=w(e?.[0]),i=t instanceof n.Element?{root:t}:t,a=i?.root??document.body,o=i?.shouldUseInert&&_n,s=new Set(e),c=new Set,l=e=>o&&e instanceof n.HTMLElement?e.inert:e.getAttribute(`aria-hidden`)===`true`,u=(e,t)=>{o&&e instanceof n.HTMLElement?e.inert=t:t?e.setAttribute(`aria-hidden`,`true`):(e.removeAttribute(`aria-hidden`),e instanceof n.HTMLElement&&(e.inert=!1))},d=new Set;if(W())for(let t of e){let e=t;for(;e&&e!==a;){let t=e.getRootNode();`shadowRoot`in t&&d.add(t.shadowRoot),e=t.parentNode}}let f=e=>{for(let t of e.querySelectorAll(`[data-live-announcer], [data-react-aria-top-layer]`))s.add(t);let t=e=>{if(c.has(e)||s.has(e)||e.parentElement&&c.has(e.parentElement)&&e.parentElement.getAttribute(`role`)!==`row`)return NodeFilter.FILTER_REJECT;for(let t of s)if(r(e,t))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},n=m(F(e),e,NodeFilter.SHOW_ELEMENT,{acceptNode:t}),i=t(e);if(i===NodeFilter.FILTER_ACCEPT&&p(e),i!==NodeFilter.FILTER_REJECT){let e=n.nextNode();for(;e!=null;)p(e),e=n.nextNode()}},p=e=>{let t=vn.get(e)??0;l(e)&&t===0||(t===0&&u(e,!0),c.add(e),vn.set(e,t+1))};Q.length&&Q[Q.length-1].disconnect(),f(a);let h=new MutationObserver(e=>{for(let t of e)if(t.type===`childList`){if(t.target.isConnected&&![...s,...c].some(e=>r(e,t.target)))for(let e of t.addedNodes)(e instanceof HTMLElement||e instanceof SVGElement)&&(e.dataset.liveAnnouncer===`true`||e.dataset.reactAriaTopLayer===`true`)?s.add(e):e instanceof Element&&f(e);if(W()){for(let e of d)if(!e.isConnected){h.disconnect();break}}}});h.observe(a,{childList:!0,subtree:!0});let g=new Set;if(W())for(let e of d){let t=new MutationObserver(e=>{for(let t of e)if(t.type===`childList`){if(t.target.isConnected&&![...s,...c].some(e=>r(e,t.target)))for(let e of t.addedNodes)(e instanceof HTMLElement||e instanceof SVGElement)&&(e.dataset.liveAnnouncer===`true`||e.dataset.reactAriaTopLayer===`true`)?s.add(e):e instanceof Element&&f(e);if(W()){for(let e of d)if(!e.isConnected){h.disconnect();break}}}});t.observe(e,{childList:!0,subtree:!0}),g.add(t)}let _={visibleNodes:s,hiddenNodes:c,observe(){h.observe(a,{childList:!0,subtree:!0})},disconnect(){h.disconnect()}};return Q.push(_),()=>{if(h.disconnect(),W())for(let e of g)e.disconnect();for(let e of c){let t=vn.get(e);t!=null&&(t===1?(u(e,!1),vn.delete(e)):vn.set(e,t-1))}_===Q[Q.length-1]?(Q.pop(),Q.length&&Q[Q.length-1].observe()):Q.splice(Q.indexOf(_),1)}}var bn=Z.createContext(null);function xn(e){let t=k(),{portalContainer:n=t?null:document.body,isExiting:r}=e,[i,a]=(0,Z.useState)(!1),o=(0,Z.useMemo)(()=>({contain:i,setContain:a}),[i,a]),{getContainer:s}=P();if(!e.portalContainer&&s&&(n=s()),!n)return null;let c=e.children;return e.disableFocusManagement||(c=Z.createElement(B,{restoreFocus:!0,contain:(e.shouldContainFocus||i)&&!r},c)),c=Z.createElement(bn.Provider,{value:o},Z.createElement(dt,null,c)),Xe.createPortal(c,n)}function Sn(){let e=(0,Z.useContext)(bn)?.setContain;L(()=>{e?.(!0)},[e])}function Cn(e){return U()?e.altKey:e.ctrlKey}function wn(e,t){let n=`[data-key="${CSS.escape(String(t))}"]`,r=e.current?.dataset.collection;return r&&(n=`[data-collection="${CSS.escape(r)}"]${n}`),e.current?.querySelector(n)}var Tn=new WeakMap;function En(e){let t=D();return Tn.set(e,t),t}function Dn(e){return Tn.get(e)}var On=1e3;function kn(e){let{keyboardDelegate:t,selectionManager:n,onTypeSelect:i}=e,a=(0,Z.useRef)({search:``,timeout:void 0}).current;return{typeSelectProps:{onKeyDownCapture:t.getKeyForSearch?e=>{let o=An(e.key);if(!(!o||e.ctrlKey||e.metaKey||!r(e.currentTarget,z(e))||a.search.length===0&&o===` `)){if(o===` `&&a.search.trim().length>0&&(e.preventDefault(),`continuePropagation`in e||e.stopPropagation()),a.search+=o,t.getKeyForSearch!=null){let e=t.getKeyForSearch(a.search,n.focusedKey);e??=t.getKeyForSearch(a.search),e!=null&&(n.setFocusedKey(e),i&&i(e))}clearTimeout(a.timeout),a.timeout=setTimeout(()=>{a.search=``},On)}}:void 0}}}function An(e){return e.length===1||!/^[A-Z]/i.test(e)?e:``}function jn(e){let{selectionManager:t,keyboardDelegate:n,ref:i,autoFocus:a=!1,shouldFocusWrap:o=!1,disallowEmptySelection:s=!1,disallowSelectAll:c=!1,escapeKeyBehavior:l=`clearSelection`,selectOnFocus:u=t.selectionBehavior===`replace`,disallowTypeAhead:d=!1,shouldUseVirtualFocus:f,allowsTabNavigation:m=!1,scrollRef:h=i,linkBehavior:g=`action`}=e,{direction:v}=Y(),y=_(),b=e=>{if(e.altKey&&e.key===`Tab`&&e.preventDefault(),!i.current||!r(i.current,z(e)))return;let a=(n,r)=>{if(n!=null){if(t.isLink(n)&&g===`selection`&&u&&!Cn(e)){(0,Xe.flushSync)(()=>{t.setFocusedKey(n,r)});let a=wn(i,n),o=t.getItemProps(n);a&&y.open(a,e,o.href,o.routerOptions);return}if(t.setFocusedKey(n,r),t.isLink(n)&&g===`override`)return;e.shiftKey&&t.selectionMode===`multiple`?t.extendSelection(n):u&&!Cn(e)&&t.replaceSelection(n)}};switch(e.key){case`ArrowDown`:if(n.getKeyBelow){let r=t.focusedKey==null?n.getFirstKey?.call(n):n.getKeyBelow?.call(n,t.focusedKey);r==null&&o&&(r=n.getFirstKey?.call(n,t.focusedKey)),r!=null&&(e.preventDefault(),a(r))}break;case`ArrowUp`:if(n.getKeyAbove){let r=t.focusedKey==null?n.getLastKey?.call(n):n.getKeyAbove?.call(n,t.focusedKey);r==null&&o&&(r=n.getLastKey?.call(n,t.focusedKey)),r!=null&&(e.preventDefault(),a(r))}break;case`ArrowLeft`:if(n.getKeyLeftOf){let r=t.focusedKey==null?null:n.getKeyLeftOf?.call(n,t.focusedKey);r==null&&o&&(r=v===`rtl`?n.getFirstKey?.call(n,t.focusedKey):n.getLastKey?.call(n,t.focusedKey)),r!=null&&(e.preventDefault(),a(r,v===`rtl`?`first`:`last`))}break;case`ArrowRight`:if(n.getKeyRightOf){let r=t.focusedKey==null?null:n.getKeyRightOf?.call(n,t.focusedKey);r==null&&o&&(r=v===`rtl`?n.getLastKey?.call(n,t.focusedKey):n.getFirstKey?.call(n,t.focusedKey)),r!=null&&(e.preventDefault(),a(r,v===`rtl`?`last`:`first`))}break;case`Home`:if(n.getFirstKey){if(t.focusedKey===null&&e.shiftKey)return;e.preventDefault();let r=n.getFirstKey(t.focusedKey,we(e));t.setFocusedKey(r),r!=null&&(we(e)&&e.shiftKey&&t.selectionMode===`multiple`?t.extendSelection(r):u&&t.replaceSelection(r))}break;case`End`:if(n.getLastKey){if(t.focusedKey===null&&e.shiftKey)return;e.preventDefault();let r=n.getLastKey(t.focusedKey,we(e));t.setFocusedKey(r),r!=null&&(we(e)&&e.shiftKey&&t.selectionMode===`multiple`?t.extendSelection(r):u&&t.replaceSelection(r))}break;case`PageDown`:if(n.getKeyPageBelow&&t.focusedKey!=null){let r=n.getKeyPageBelow(t.focusedKey);r!=null&&(e.preventDefault(),a(r))}break;case`PageUp`:if(n.getKeyPageAbove&&t.focusedKey!=null){let r=n.getKeyPageAbove(t.focusedKey);r!=null&&(e.preventDefault(),a(r))}break;case`a`:we(e)&&t.selectionMode===`multiple`&&c!==!0&&(e.preventDefault(),t.selectAll());break;case`Escape`:l===`clearSelection`&&!s&&t.selectedKeys.size!==0&&(e.stopPropagation(),e.preventDefault(),t.clearSelection());break;case`Tab`:if(!m){if(e.shiftKey)i.current.focus();else{let e=G(i.current,{tabbable:!0}),t,n;do n=e.lastChild(),n&&(t=n);while(n);let r=J();t&&(!A(t)||r&&!p(r))&&x(t)}break}}},C=(0,Z.useRef)({top:0,left:0});Ae(h,`scroll`,()=>{C.current={top:h.current?.scrollTop??0,left:h.current?.scrollLeft??0}});let w=e=>{if(t.isFocused){r(e.currentTarget,z(e))||t.setFocused(!1);return}if(r(e.currentTarget,z(e))){if(t.setFocused(!0),t.focusedKey==null){let r=e=>{e!=null&&(t.setFocusedKey(e),u&&!t.isSelected(e)&&t.replaceSelection(e))},i=e.relatedTarget;i&&e.currentTarget.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_FOLLOWING?r(t.lastSelectedKey??n.getLastKey?.call(n)):r(t.firstSelectedKey??n.getFirstKey?.call(n))}else h.current&&(h.current.scrollTop=C.current.top,h.current.scrollLeft=C.current.left);if(t.focusedKey!=null&&h.current){let e=wn(i,t.focusedKey);e instanceof HTMLElement&&(!A(e)&&!f&&x(e),R()===`keyboard`&&Me(e,{containingElement:i.current}))}}},T=e=>{r(e.currentTarget,e.relatedTarget)||t.setFocused(!1)},E=(0,Z.useRef)(!1);Ae(i,Fe,f?e=>{let{detail:n}=e;e.stopPropagation(),t.setFocused(!0),n?.focusStrategy===`first`&&(E.current=!0)}:void 0),be(()=>{if(E.current){let e=n.getFirstKey?.call(n)??null;if(e==null){let e=J();ht(i.current),_t(e,null),t.collection.size>0&&(E.current=!1)}else t.setFocusedKey(e),E.current=!1}},[t.collection]),be(()=>{t.collection.size>0&&(E.current=!1)},[t.focusedKey]),Ae(i,Pe,f?e=>{e.stopPropagation(),t.setFocused(!1),e.detail?.clearFocusKey&&t.setFocusedKey(null)}:void 0);let D=(0,Z.useRef)(a),O=(0,Z.useRef)(!1);(0,Z.useEffect)(()=>{if(D.current){let e=null;a===`first`&&(e=n.getFirstKey?.call(n)??null),a===`last`&&(e=n.getLastKey?.call(n)??null);let r=t.selectedKeys;if(r.size){for(let n of r)if(t.canSelectItem(n)){e=n;break}}t.setFocused(!0),t.setFocusedKey(e),e==null&&!f&&i.current&&H(i.current),t.collection.size>0&&(D.current=!1,O.current=!0)}});let k=(0,Z.useRef)(t.focusedKey),j=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{if(t.isFocused&&t.focusedKey!=null&&(t.focusedKey!==k.current||O.current)&&h.current&&i.current){let e=R(),n=wn(i,t.focusedKey);if(!(n instanceof HTMLElement))return;(e===`keyboard`||O.current)&&(j.current&&cancelAnimationFrame(j.current),j.current=requestAnimationFrame(()=>{h.current&&(je(h.current,n),e!==`virtual`&&Me(n,{containingElement:i.current}))}))}!f&&t.isFocused&&t.focusedKey==null&&k.current!=null&&i.current&&H(i.current),k.current=t.focusedKey,O.current=!1}),(0,Z.useEffect)(()=>()=>{j.current&&cancelAnimationFrame(j.current)},[]),Ae(i,`react-aria-focus-scope-restore`,e=>{e.preventDefault(),t.setFocused(!0)});let M={onKeyDown:b,onFocus:w,onBlur:T,onMouseDown(e){h.current===z(e)&&e.preventDefault()}},{typeSelectProps:N}=kn({keyboardDelegate:n,selectionManager:t});d||(M=S(N,M));let P;f||(P=t.focusedKey==null?0:-1);let F=En(t.collection);return{collectionProps:S(M,{tabIndex:P,"data-collection":F})}}function Mn(e){let{id:t,selectionManager:n,key:r,ref:i,shouldSelectOnPressUp:a,shouldUseVirtualFocus:o,focus:c,isDisabled:l,onAction:u,allowsDifferentPressOrigin:d,linkBehavior:f=`action`}=e,p=_();t=D(t);let m=e=>{if(e.pointerType===`keyboard`&&Cn(e))n.toggleSelection(r);else{if(n.selectionMode===`none`)return;if(n.isLink(r)){if(f===`selection`&&i.current){let t=n.getItemProps(r);p.open(i.current,e,t.href,t.routerOptions),n.setSelectedKeys(n.selectedKeys);return}else if(f===`override`||f===`none`)return}n.selectionMode===`single`?n.isSelected(r)&&!n.disallowEmptySelection?n.toggleSelection(r):n.replaceSelection(r):e&&e.shiftKey?n.extendSelection(r):n.selectionBehavior===`toggle`||e&&(we(e)||e.pointerType===`touch`||e.pointerType===`virtual`)?n.toggleSelection(r):n.replaceSelection(r)}};(0,Z.useEffect)(()=>{r===n.focusedKey&&n.isFocused&&(o?ht(i.current):c?c():J()!==i.current&&i.current&&H(i.current))},[i,r,n.focusedKey,n.childFocusStrategy,n.isFocused,o]),l||=n.isDisabled(r);let h={};!o&&!l?h={tabIndex:r===n.focusedKey?0:-1,onFocus(e){z(e)===i.current&&n.setFocusedKey(r)}}:l&&(h.onMouseDown=e=>{e.preventDefault()}),(0,Z.useEffect)(()=>{l&&n.focusedKey===r&&n.setFocusedKey(null)},[n,l,r]);let g=n.isLink(r)&&f===`override`,v=u&&e.UNSTABLE_itemBehavior===`action`,y=n.isLink(r)&&f!==`selection`&&f!==`none`,b=!l&&n.canSelectItem(r)&&!g&&!v,x=(u||y)&&!l,C=x&&(n.selectionBehavior===`replace`?!b:!b||n.isEmpty),w=x&&b&&n.selectionBehavior===`replace`,T=C||w,E=(0,Z.useRef)(null),O=T&&b,k=(0,Z.useRef)(!1),A=(0,Z.useRef)(!1),j=n.getItemProps(r),M=e=>{if(u){var t;u(),(t=i.current)==null||t.dispatchEvent(new CustomEvent(`react-aria-item-action`,{bubbles:!0}))}y&&i.current&&p.open(i.current,e,j.href,j.routerOptions)},N={ref:i};if(a?(N.onPressStart=e=>{E.current=e.pointerType,k.current=O,e.pointerType===`keyboard`&&(!T||Pn(e.key))&&m(e)},d?(N.onPressUp=C?void 0:e=>{e.pointerType===`mouse`&&b&&m(e)},N.onPress=C?M:e=>{e.pointerType!==`keyboard`&&e.pointerType!==`mouse`&&b&&m(e)}):N.onPress=e=>{if(C||w&&e.pointerType!==`mouse`){if(e.pointerType===`keyboard`&&!Nn(e.key))return;M(e)}else e.pointerType!==`keyboard`&&b&&m(e)}):(N.onPressStart=e=>{E.current=e.pointerType,k.current=O,A.current=C,b&&(e.pointerType===`mouse`&&!C||e.pointerType===`keyboard`&&(!x||Pn(e.key)))&&m(e)},N.onPress=e=>{(e.pointerType===`touch`||e.pointerType===`pen`||e.pointerType===`virtual`||e.pointerType===`keyboard`&&T&&Nn(e.key)||e.pointerType===`mouse`&&A.current)&&(T?M(e):b&&m(e))}),h[`data-collection`]=Dn(n.collection),h[`data-key`]=r,N.preventFocusOnPress=o,o&&(N=S(N,{onPressStart(e){e.pointerType!==`touch`&&(n.setFocused(!0),n.setFocusedKey(r))},onPress(e){e.pointerType===`touch`&&(n.setFocused(!0),n.setFocusedKey(r))}})),j)for(let e of[`onPressStart`,`onPressEnd`,`onPressChange`,`onPress`,`onPressUp`,`onClick`])j[e]&&(N[e]=V(N[e],j[e]));let{pressProps:P,isPressed:F}=rt(N),I=w?e=>{E.current===`mouse`&&(e.stopPropagation(),e.preventDefault(),M(e))}:void 0,{longPressProps:L}=pt({isDisabled:!O,onLongPress(e){e.pointerType===`touch`&&(m(e),n.setSelectionBehavior(`toggle`))}}),R=e=>{E.current===`touch`&&k.current&&e.preventDefault()},B=f!==`none`&&n.isLink(r)?e=>{s.isOpening||e.preventDefault()}:void 0;return{itemProps:S(h,b||C||o&&!l?P:{},O?L:{},{onDoubleClick:I,onDragStartCapture:R,onClick:B,id:t},o?{onMouseDown:e=>e.preventDefault()}:void 0),isPressed:F,isSelected:n.isSelected(r),isFocused:n.isFocused&&n.focusedKey===r,isDisabled:l,allowsSelection:b,hasAction:T}}function Nn(e){return e===`Enter`}function Pn(e){return e===` `}var Fn=class{getItemRect(e){let t=this.ref.current;if(!t)return null;let n=e==null?null:wn(this.ref,e);if(!n)return null;let r=t.getBoundingClientRect(),i=n.getBoundingClientRect();return{x:i.left-r.left-t.clientLeft+t.scrollLeft,y:i.top-r.top-t.clientTop+t.scrollTop,width:i.width,height:i.height}}getContentSize(){let e=this.ref.current;return{width:e?.scrollWidth??0,height:e?.scrollHeight??0}}getVisibleRect(){let e=this.ref.current;return{x:e?.scrollLeft??0,y:e?.scrollTop??0,width:e?.clientWidth??0,height:e?.clientHeight??0}}constructor(e){this.ref=e}},In=class{isDisabled(e){return this.disabledBehavior===`all`&&(e.props?.isDisabled||this.disabledKeys.has(e.key))}findNextNonDisabled(e,t){let n=e;for(;n!=null;){let e=this.collection.getItem(n);if(e?.type===`item`&&!this.isDisabled(e))return n;n=t(n)}return null}getNextKey(e){let t=e;return t=this.collection.getKeyAfter(t),this.findNextNonDisabled(t,e=>this.collection.getKeyAfter(e))}getPreviousKey(e){let t=e;return t=this.collection.getKeyBefore(t),this.findNextNonDisabled(t,e=>this.collection.getKeyBefore(e))}findKey(e,t,n){let r=e,i=this.layoutDelegate.getItemRect(r);if(!i||r==null)return null;let a=i;do{if(r=t(r),r==null)break;i=this.layoutDelegate.getItemRect(r)}while(i&&n(a,i)&&r!=null);return r}isSameRow(e,t){return e.y===t.y||e.x!==t.x}isSameColumn(e,t){return e.x===t.x||e.y!==t.y}getKeyBelow(e){return this.layout===`grid`&&this.orientation===`vertical`?this.findKey(e,e=>this.getNextKey(e),this.isSameRow):this.getNextKey(e)}getKeyAbove(e){return this.layout===`grid`&&this.orientation===`vertical`?this.findKey(e,e=>this.getPreviousKey(e),this.isSameRow):this.getPreviousKey(e)}getNextColumn(e,t){return t?this.getPreviousKey(e):this.getNextKey(e)}getKeyRightOf(e){let t=this.direction===`ltr`?`getKeyRightOf`:`getKeyLeftOf`;return this.layoutDelegate[t]?(e=this.layoutDelegate[t](e),this.findNextNonDisabled(e,e=>this.layoutDelegate[t](e))):this.layout===`grid`?this.orientation===`vertical`?this.getNextColumn(e,this.direction===`rtl`):this.findKey(e,e=>this.getNextColumn(e,this.direction===`rtl`),this.isSameColumn):this.orientation===`horizontal`?this.getNextColumn(e,this.direction===`rtl`):null}getKeyLeftOf(e){let t=this.direction===`ltr`?`getKeyLeftOf`:`getKeyRightOf`;return this.layoutDelegate[t]?(e=this.layoutDelegate[t](e),this.findNextNonDisabled(e,e=>this.layoutDelegate[t](e))):this.layout===`grid`?this.orientation===`vertical`?this.getNextColumn(e,this.direction===`ltr`):this.findKey(e,e=>this.getNextColumn(e,this.direction===`ltr`),this.isSameColumn):this.orientation===`horizontal`?this.getNextColumn(e,this.direction===`ltr`):null}getFirstKey(){let e=this.collection.getFirstKey();return this.findNextNonDisabled(e,e=>this.collection.getKeyAfter(e))}getLastKey(){let e=this.collection.getLastKey();return this.findNextNonDisabled(e,e=>this.collection.getKeyBefore(e))}getKeyPageAbove(e){let t=this.ref.current,n=this.layoutDelegate.getItemRect(e);if(!n)return null;if(t&&!xe(t))return this.getFirstKey();let r=e;if(this.orientation===`horizontal`){let e=Math.max(0,n.x+n.width-this.layoutDelegate.getVisibleRect().width);for(;n&&n.x>e&&r!=null;)r=this.getKeyAbove(r),n=r==null?null:this.layoutDelegate.getItemRect(r)}else{let e=Math.max(0,n.y+n.height-this.layoutDelegate.getVisibleRect().height);for(;n&&n.y>e&&r!=null;)r=this.getKeyAbove(r),n=r==null?null:this.layoutDelegate.getItemRect(r)}return r??this.getFirstKey()}getKeyPageBelow(e){let t=this.ref.current,n=this.layoutDelegate.getItemRect(e);if(!n)return null;if(t&&!xe(t))return this.getLastKey();let r=e;if(this.orientation===`horizontal`){let e=Math.min(this.layoutDelegate.getContentSize().width,n.y-n.width+this.layoutDelegate.getVisibleRect().width);for(;n&&n.x<e&&r!=null;)r=this.getKeyBelow(r),n=r==null?null:this.layoutDelegate.getItemRect(r)}else{let e=Math.min(this.layoutDelegate.getContentSize().height,n.y-n.height+this.layoutDelegate.getVisibleRect().height);for(;n&&n.y<e&&r!=null;)r=this.getKeyBelow(r),n=r==null?null:this.layoutDelegate.getItemRect(r)}return r??this.getLastKey()}getKeyForSearch(e,t){if(!this.collator)return null;let n=this.collection,r=t||this.getFirstKey();for(;r!=null;){let t=n.getItem(r);if(!t)return null;let i=t.textValue.slice(0,e.length);if(t.textValue&&this.collator.compare(i,e)===0)return r;r=this.getNextKey(r)}return null}constructor(...e){if(e.length===1){let t=e[0];this.collection=t.collection,this.ref=t.ref,this.collator=t.collator,this.disabledKeys=t.disabledKeys||new Set,this.disabledBehavior=t.disabledBehavior||`all`,this.orientation=t.orientation||`vertical`,this.direction=t.direction,this.layout=t.layout||`stack`,this.layoutDelegate=t.layoutDelegate||new Fn(t.ref)}else this.collection=e[0],this.disabledKeys=e[1],this.ref=e[2],this.collator=e[3],this.layout=`stack`,this.orientation=`vertical`,this.disabledBehavior=`all`,this.layoutDelegate=new Fn(this.ref);this.layout===`stack`&&this.orientation===`vertical`&&(this.getKeyLeftOf=void 0,this.getKeyRightOf=void 0)}};function Ln(e){let{selectionManager:t,collection:n,disabledKeys:r,ref:i,keyboardDelegate:a,layoutDelegate:o}=e,s=Le({usage:`search`,sensitivity:`base`}),c=t.disabledBehavior,l=(0,Z.useMemo)(()=>a||new In({collection:n,disabledKeys:r,disabledBehavior:c,ref:i,collator:s,layoutDelegate:o}),[a,o,n,r,i,s,c]),{collectionProps:u}=jn({...e,ref:i,selectionManager:t,keyboardDelegate:l});return{listProps:u}}var $=class e extends Set{constructor(t,n,r){super(t),t instanceof e?(this.anchorKey=n??t.anchorKey,this.currentKey=r??t.currentKey):(this.anchorKey=n??null,this.currentKey=r??null)}},Rn=typeof document<`u`?Z.useInsertionEffect??Z.useLayoutEffect:()=>{};function zn(e,t,n){let[r,i]=(0,Z.useState)(e||t),a=(0,Z.useRef)(r),o=(0,Z.useRef)(e!==void 0),s=e!==void 0;(0,Z.useEffect)(()=>{o.current,o.current=s},[s]);let c=s?e:r;Rn(()=>{a.current=c});let[,l]=(0,Z.useReducer)(()=>({}),{});return[c,(0,Z.useCallback)((e,...t)=>{let r=typeof e==`function`?e(a.current):e;Object.is(a.current,r)||(a.current=r,i(r),l(),n?.(r,...t))},[n])]}function Bn(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Vn(e){let{selectionMode:t=`none`,disallowEmptySelection:n=!1,allowDuplicateSelectionEvents:r,selectionBehavior:i=`toggle`,disabledBehavior:a=`all`}=e,o=(0,Z.useRef)(!1),[,s]=(0,Z.useState)(!1),c=(0,Z.useRef)(null),l=(0,Z.useRef)(null),[,u]=(0,Z.useState)(null),[d,f]=zn((0,Z.useMemo)(()=>Hn(e.selectedKeys),[e.selectedKeys]),(0,Z.useMemo)(()=>Hn(e.defaultSelectedKeys,new $),[e.defaultSelectedKeys]),e.onSelectionChange),p=(0,Z.useMemo)(()=>e.disabledKeys?new Set(e.disabledKeys):new Set,[e.disabledKeys]),[m,h]=(0,Z.useState)(i);i===`replace`&&m===`toggle`&&typeof d==`object`&&d.size===0&&h(`replace`);let g=(0,Z.useRef)(i);return(0,Z.useEffect)(()=>{i!==g.current&&(h(i),g.current=i)},[i]),{selectionMode:t,disallowEmptySelection:n,selectionBehavior:m,setSelectionBehavior:h,get isFocused(){return o.current},setFocused(e){o.current=e,s(e)},get focusedKey(){return c.current},get childFocusStrategy(){return l.current},setFocusedKey(e,t=`first`){c.current=e,l.current=t,u(e)},selectedKeys:d,setSelectedKeys(e){(r||!Bn(e,d))&&f(e)},disabledKeys:p,disabledBehavior:a}}function Hn(e,t){return e?e===`all`?`all`:new $(e):t}function Un(e,t){return typeof t.getChildren==`function`?t.getChildren(e.key):e.childNodes}function Wn(e){return Gn(e,0)}function Gn(e,t){if(t<0)return;let n=0;for(let r of e){if(n===t)return r;n++}}function Kn(e,t,n){if(t.parentKey===n.parentKey)return t.index-n.index;let r=[...qn(e,t),t],i=[...qn(e,n),n],a=r.slice(0,i.length).findIndex((e,t)=>e!==i[t]);return a===-1?r.findIndex(e=>e===n)>=0?1:(i.findIndex(e=>e===t),-1):(t=r[a],n=i[a],t.index-n.index)}function qn(e,t){let n=[],r=t;for(;r?.parentKey!=null;)r=e.getItem(r.parentKey),r&&n.unshift(r);return n}var Jn=class e{constructor(e,t,n){this.collection=e,this.state=t,this.allowsCellSelection=n?.allowsCellSelection??!1,this._isSelectAll=null,this.layoutDelegate=n?.layoutDelegate||null,this.fullCollection=n?.fullCollection||null}get selectionMode(){return this.state.selectionMode}get disallowEmptySelection(){return this.state.disallowEmptySelection}get selectionBehavior(){return this.state.selectionBehavior}setSelectionBehavior(e){this.state.setSelectionBehavior(e)}get isFocused(){return this.state.isFocused}setFocused(e){this.state.setFocused(e)}get focusedKey(){return this.state.focusedKey}get childFocusStrategy(){return this.state.childFocusStrategy}setFocusedKey(e,t){(e==null||this.collection.getItem(e))&&this.state.setFocusedKey(e,t)}get selectedKeys(){return this.state.selectedKeys===`all`?new Set(this.getSelectAllKeys()):this.state.selectedKeys}get rawSelection(){return this.state.selectedKeys}isSelected(e){if(this.state.selectionMode===`none`)return!1;let t=this.getKey(e);return t==null?!1:this.state.selectedKeys===`all`?this.canSelectItem(t):this.state.selectedKeys.has(t)}get isEmpty(){return this.state.selectedKeys!==`all`&&this.state.selectedKeys.size===0}get isSelectAll(){if(this.isEmpty)return!1;if(this.state.selectedKeys===`all`)return!0;if(this._isSelectAll!=null)return this._isSelectAll;let e=this.getSelectAllKeys(),t=this.state.selectedKeys;return this._isSelectAll=e.every(e=>t.has(e)),this._isSelectAll}get firstSelectedKey(){let e=null;for(let t of this.state.selectedKeys){let n=this.collection.getItem(t);(!e||n&&Kn(this.collection,n,e)<0)&&(e=n)}return e?.key??null}get lastSelectedKey(){let e=null;for(let t of this.state.selectedKeys){let n=this.collection.getItem(t);(!e||n&&Kn(this.collection,n,e)>0)&&(e=n)}return e?.key??null}get disabledKeys(){return this.state.disabledKeys}get disabledBehavior(){return this.state.disabledBehavior}extendSelection(e){if(this.selectionMode===`none`)return;if(this.selectionMode===`single`){this.replaceSelection(e);return}let t=this.getKey(e);if(t==null)return;let n;if(this.state.selectedKeys===`all`)n=new $([t],t,t);else{let e=this.state.selectedKeys,r=e.anchorKey??t;n=new $(e,r,t);for(let i of this.getKeyRange(r,e.currentKey??t))n.delete(i);for(let e of this.getKeyRange(t,r))this.canSelectItem(e)&&n.add(e)}this.state.setSelectedKeys(n)}getKeyRange(e,t){let n=this.collection.getItem(e),r=this.collection.getItem(t);return n&&r?Kn(this.collection,n,r)<=0?this.getKeyRangeInternal(e,t):this.getKeyRangeInternal(t,e):[]}getKeyRangeInternal(e,t){if(this.layoutDelegate?.getKeyRange)return this.layoutDelegate.getKeyRange(e,t);let n=[],r=e;for(;r!=null;){let e=this.collection.getItem(r);if(e&&(e.type===`item`||e.type===`cell`&&this.allowsCellSelection)&&n.push(r),r===t)return n;r=this.collection.getKeyAfter(r)}return[]}getKey(e){let t=this.collection.getItem(e);if(!t||t.type===`cell`&&this.allowsCellSelection)return e;for(;t&&t.type!==`item`&&t.parentKey!=null;)t=this.collection.getItem(t.parentKey);return!t||t.type!==`item`?null:t.key}toggleSelection(e){if(this.selectionMode===`none`)return;if(this.selectionMode===`single`&&!this.isSelected(e)){this.replaceSelection(e);return}let t=this.getKey(e);if(t==null)return;let n=new $(this.state.selectedKeys===`all`?this.getSelectAllKeys():this.state.selectedKeys);n.has(t)?n.delete(t):this.canSelectItem(t)&&(n.add(t),n.anchorKey=t,n.currentKey=t),!(this.disallowEmptySelection&&n.size===0)&&this.state.setSelectedKeys(n)}replaceSelection(e){if(this.selectionMode===`none`)return;let t=this.getKey(e);if(t==null)return;let n=this.canSelectItem(t)?new $([t],t,t):new $;this.state.setSelectedKeys(n)}setSelectedKeys(e){if(this.selectionMode===`none`)return;let t=new $;for(let n of e){let e=this.getKey(n);if(e!=null&&(t.add(e),this.selectionMode===`single`))break}this.state.setSelectedKeys(t)}getSelectAllKeys(){let e=this.fullCollection??this.collection,t=[],n=r=>{for(;r!=null;){if(this.canSelectItemIn(r,e)){let i=e.getItem(r);i?.type===`item`&&t.push(r),i?.hasChildNodes&&(this.allowsCellSelection||i.type!==`item`)&&n(Wn(Un(i,e))?.key??null)}r=e.getKeyAfter(r)}};return n(e.getFirstKey()),t}selectAll(){!this.isSelectAll&&this.selectionMode===`multiple`&&this.state.setSelectedKeys(`all`)}clearSelection(){!this.disallowEmptySelection&&(this.state.selectedKeys===`all`||this.state.selectedKeys.size>0)&&this.state.setSelectedKeys(new $)}toggleSelectAll(){this.isSelectAll?this.clearSelection():this.selectAll()}select(e,t){this.selectionMode!==`none`&&(this.selectionMode===`single`?this.isSelected(e)&&!this.disallowEmptySelection?this.toggleSelection(e):this.replaceSelection(e):this.selectionBehavior===`toggle`||t&&(t.pointerType===`touch`||t.pointerType===`virtual`)?this.toggleSelection(e):this.replaceSelection(e))}isSelectionEqual(e){if(e===this.state.selectedKeys)return!0;let t=this.selectedKeys;if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;for(let n of t)if(!e.has(n))return!1;return!0}canSelectItem(e){return this.canSelectItemIn(e,this.collection)}canSelectItemIn(e,t){if(this.state.selectionMode===`none`||this.state.disabledKeys.has(e))return!1;let n=t.getItem(e);return!(!n||n?.props?.isDisabled||n.type===`cell`&&!this.allowsCellSelection)}isDisabled(e){let t=this.collection.getItem(e);return this.state.disabledBehavior===`all`&&(this.state.disabledKeys.has(e)||!!t?.props?.isDisabled)&&t?.props?.disabledBehavior!==`selection`}isLink(e){return!!this.collection.getItem(e)?.props?.href}getItemProps(e){return this.collection.getItem(e)?.props}withCollection(t){return new e(t,this.state,{allowsCellSelection:this.allowsCellSelection,layoutDelegate:this.layoutDelegate||void 0,fullCollection:this.fullCollection??this.collection})}};function Yn(e){return null}Yn.getCollectionNode=function*(e,t){let{childItems:n,title:r,children:i}=e,a=e.title||e.children,o=e.textValue||(typeof a==`string`?a:``)||e[`aria-label`]||``;!o&&t?.suppressTextValueWarning,yield{type:`item`,props:e,rendered:a,textValue:o,"aria-label":e[`aria-label`],hasChildNodes:Xn(e),*childNodes(){if(n)for(let e of n)yield{type:`item`,value:e};else if(r){let e=[];Z.Children.forEach(i,t=>{e.push({type:`item`,element:t})}),yield*e}}}};function Xn(e){return e.hasChildItems==null?!!(e.childItems||e.title&&Z.Children.count(e.children)>0):e.hasChildItems}var Zn=Yn,Qn=class{build(e,t){return this.context=t,$n(()=>this.iterateCollection(e))}*iterateCollection(e){let{children:t,items:n}=e;if(Z.isValidElement(t)&&t.type===Z.Fragment)yield*this.iterateCollection({children:t.props.children,items:n});else if(typeof t==`function`){if(!n)throw Error(`props.children was a function but props.items is missing`);let e=0;for(let r of n)yield*this.getFullNode({value:r,index:e},{renderer:t}),e++}else{let e=[];Z.Children.forEach(t,t=>{t&&e.push(t)});let n=0;for(let t of e){let e=this.getFullNode({element:t,index:n},{});for(let t of e)n++,yield t}}}getKey(e,t,n,r){if(e.key!=null)return e.key;if(t.type===`cell`&&t.key!=null)return`${r}${t.key}`;let i=t.value;if(i!=null){let e=i.key??i.id;if(e==null)throw Error(`No key found for item`);return e}return r?`${r}.${t.index}`:`$.${t.index}`}getChildState(e,t){return{renderer:t.renderer||e.renderer}}*getFullNode(e,t,n,r){if(Z.isValidElement(e.element)&&e.element.type===Z.Fragment){let i=[];Z.Children.forEach(e.element.props.children,e=>{i.push(e)});let a=e.index??0;for(let e of i)yield*this.getFullNode({element:e,index:a++},t,n,r);return}let i=e.element;if(!i&&e.value&&t&&t.renderer){let n=this.cache.get(e.value);if(n&&(!n.shouldInvalidate||!n.shouldInvalidate(this.context))){n.index=e.index,n.parentKey=r?r.key:null,yield n;return}i=t.renderer(e.value)}if(Z.isValidElement(i)){let a=i.type;if(typeof a!=`function`&&typeof a.getCollectionNode!=`function`){let e=i.type;throw Error(`Unknown element <${e}> in collection.`)}let o=a.getCollectionNode(i.props,this.context),s=e.index??0,c=o.next();for(;!c.done&&c.value;){let a=c.value;e.index=s;let l=a.key??null;l??=a.element?null:this.getKey(i,e,t,n);let u=[...this.getFullNode({...a,key:l,index:s,wrapper:er(e.wrapper,a.wrapper)},this.getChildState(t,a),n?`${n}${i.key}`:i.key,r)];for(let t of u){if(t.value=a.value??e.value??null,t.value&&this.cache.set(t.value,t),e.type&&t.type!==e.type)throw Error(`Unsupported type <${tr(t.type)}> in <${tr(r?.type??`unknown parent type`)}>. Only <${tr(e.type)}> is supported.`);s++,yield t}c=o.next(u)}return}if(e.key==null||e.type==null)return;let a=this,o={type:e.type,props:e.props,key:e.key,parentKey:r?r.key:null,value:e.value??null,level:r?r.level+1:0,index:e.index,rendered:e.rendered,textValue:e.textValue??``,"aria-label":e[`aria-label`],wrapper:e.wrapper,shouldInvalidate:e.shouldInvalidate,hasChildNodes:e.hasChildNodes||!1,childNodes:$n(function*(){if(!e.hasChildNodes||!e.childNodes)return;let n=0;for(let r of e.childNodes()){r.key!=null&&(r.key=`${o.key}${r.key}`);let e=a.getFullNode({...r,index:n},a.getChildState(t,r),o.key,o);for(let t of e)n++,yield t}})};yield o}constructor(){this.cache=new WeakMap}};function $n(e){let t=[],n=null;return{*[Symbol.iterator](){for(let e of t)yield e;n||=e();for(let e of n)t.push(e),yield e}}}function er(e,t){if(e&&t)return n=>e(t(n));if(e)return e;if(t)return t}function tr(e){return e[0].toUpperCase()+e.slice(1)}function nr(e,t,n){let r=(0,Z.useMemo)(()=>new Qn,[]),{children:i,items:a,collection:o}=e;return(0,Z.useMemo)(()=>o||t(r.build({children:i,items:a},n)),[r,i,a,o,n,t])}function rr(e,t){return typeof t.getChildren==`function`?t.getChildren(e.key):e.childNodes}var ir=new WeakMap;function ar(e){let t=ir.get(e);if(t!=null)return t;let n=0,r=t=>{for(let i of t)i.type===`section`?r(rr(i,e)):i.type===`item`&&n++};return r(e),ir.set(e,n),n}var or={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valueMissing:!1,valid:!0},sr={...or,customError:!0,valid:!1},cr={isInvalid:!1,validationDetails:or,validationErrors:[]},lr=(0,Z.createContext)({}),ur=`__formValidationState`+Date.now();function dr(e){if(e[ur]){let{realtimeValidation:t,displayValidation:n,updateValidation:r,resetValidation:i,commitValidation:a}=e[ur];return{realtimeValidation:t,displayValidation:n,updateValidation:r,resetValidation:i,commitValidation:a}}return fr(e)}function fr(e){let{isInvalid:t,validationState:n,name:r,value:i,builtinValidation:a,validate:o,validationBehavior:s=`aria`}=e;n&&(t||=n===`invalid`);let c=t===void 0?null:{isInvalid:t,validationErrors:[],validationDetails:sr},l=(0,Z.useMemo)(()=>!o||i==null?null:hr(mr(o,i)),[o,i]);a?.validationDetails.valid&&(a=void 0);let u=(0,Z.useContext)(lr),d=(0,Z.useMemo)(()=>r?Array.isArray(r)?r.flatMap(e=>pr(u[e])):pr(u[r]):[],[u,r]),[f,p]=(0,Z.useState)(u),[m,h]=(0,Z.useState)(!1);u!==f&&(p(u),h(!1));let g=(0,Z.useMemo)(()=>hr(m?[]:d),[m,d]),_=(0,Z.useRef)(cr),[v,y]=(0,Z.useState)(cr),b=(0,Z.useRef)(cr),x=()=>{if(!S)return;C(!1);let e=l||a||_.current;gr(e,b.current)||(b.current=e,y(e))},[S,C]=(0,Z.useState)(!1);return(0,Z.useEffect)(x),{realtimeValidation:c||g||l||a||cr,displayValidation:s===`native`?c||g||v:c||g||l||a||v,updateValidation(e){s===`aria`&&!gr(v,e)?y(e):_.current=e},resetValidation(){let e=cr;gr(e,b.current)||(b.current=e,y(e)),s===`native`&&C(!1),h(!0)},commitValidation(){s===`native`&&C(!0),h(!0)}}}function pr(e){return e?Array.isArray(e)?e:[e]:[]}function mr(e,t){if(typeof e==`function`){let n=e(t);if(n&&typeof n!=`boolean`)return pr(n)}return[]}function hr(e){return e.length?{isInvalid:!0,validationErrors:e,validationDetails:sr}:null}function gr(e,t){return e===t?!0:!!e&&!!t&&e.isInvalid===t.isInvalid&&e.validationErrors.length===t.validationErrors.length&&e.validationErrors.every((e,n)=>e===t.validationErrors[n])&&Object.entries(e.validationDetails).every(([e,n])=>t.validationDetails[e]===n)}function _r(e,t,n){let{validationBehavior:r,focus:i}=e;L(()=>{if(r===`native`&&n?.current&&!n.current.disabled){let e=t.realtimeValidation.isInvalid?t.realtimeValidation.validationErrors.join(` `)||`Invalid value.`:``;n.current.setCustomValidity(e),n.current.hasAttribute(`title`)||(n.current.title=``),t.realtimeValidation.isInvalid||t.updateValidation(yr(n.current))}});let a=(0,Z.useRef)(!1),o=h(()=>{a.current||t.resetValidation()}),s=h(e=>{t.displayValidation.isInvalid||t.commitValidation();let r=n?.current?.form;if(!e.defaultPrevented&&n&&r&&br(r)===n.current){var a;i?i():(a=n.current)==null||a.focus(),N(`keyboard`)}e.preventDefault()}),c=h(()=>{t.commitValidation()});(0,Z.useEffect)(()=>{let e=n?.current;if(!e)return;let t=e.form,r=t?.reset;return t&&(t.reset=()=>{a.current=!window.event||window.event.type===`message`&&z(window.event)instanceof MessagePort,r?.call(t),a.current=!1}),e.addEventListener(`invalid`,s),e.addEventListener(`change`,c),t?.addEventListener(`reset`,o),()=>{e.removeEventListener(`invalid`,s),e.removeEventListener(`change`,c),t?.removeEventListener(`reset`,o),t&&(t.reset=r)}},[n,r])}function vr(e){let t=e.validity;return{badInput:t.badInput,customError:t.customError,patternMismatch:t.patternMismatch,rangeOverflow:t.rangeOverflow,rangeUnderflow:t.rangeUnderflow,stepMismatch:t.stepMismatch,tooLong:t.tooLong,tooShort:t.tooShort,typeMismatch:t.typeMismatch,valueMissing:t.valueMissing,valid:t.valid}}function yr(e){return{isInvalid:!e.validity.valid,validationDetails:vr(e),validationErrors:e.validationMessage?[e.validationMessage]:[]}}function br(e){for(let t=0;t<e.elements.length;t++){let n=e.elements[t];if(n.validity?.valid===!1)return n}return null}function xr(e){let{id:t,label:n,"aria-labelledby":r,"aria-label":i,labelElementType:a=`label`}=e;t=D(t);let o=D(),s={};n&&(r=r?`${o} ${r}`:o,s={id:o,htmlFor:a===`label`?t:void 0});let c=ve({id:t,"aria-label":i,"aria-labelledby":r});return{labelProps:s,fieldProps:c}}function Sr(e){let{description:t,errorMessage:n,isInvalid:r,validationState:i}=e,{labelProps:a,fieldProps:o}=xr(e),s=K([!!t,!!n,r,i]),c=K([!!t,!!n,r,i]);return o=S(o,{"aria-describedby":[s,c,e[`aria-describedby`]].filter(Boolean).join(` `)||void 0}),{labelProps:a,fieldProps:o,descriptionProps:{id:s},errorMessageProps:{id:c}}}function Cr(e,t){let{inputElementType:n=`input`,isDisabled:r=!1,isRequired:i=!1,isReadOnly:a=!1,type:o=`text`,validationBehavior:s=`aria`}=e,[c,l]=f(e.value,e.defaultValue||``,e.onChange),{focusableProps:u}=O(e,t),d=dr({...e,value:c}),{isInvalid:p,validationErrors:m,validationDetails:h}=d.displayValidation,{labelProps:g,fieldProps:_,descriptionProps:v,errorMessageProps:y}=Sr({...e,isInvalid:p,errorMessage:e.errorMessage||m}),x=b(e,{labelable:!0}),C={type:o,pattern:e.pattern},[w]=(0,Z.useState)(c);return Ne(t,e.defaultValue??w,l),_r(e,d,t),{labelProps:g,inputProps:S(x,n===`input`?C:void 0,{disabled:r,readOnly:a,required:i&&s===`native`,"aria-required":i&&s===`aria`||void 0,"aria-invalid":p||void 0,"aria-errormessage":e[`aria-errormessage`],"aria-activedescendant":e[`aria-activedescendant`],"aria-autocomplete":e[`aria-autocomplete`],"aria-haspopup":e[`aria-haspopup`],"aria-controls":e[`aria-controls`],value:c,onChange:e=>l(z(e).value),autoComplete:e.autoComplete,autoCapitalize:e.autoCapitalize,maxLength:e.maxLength,minLength:e.minLength,name:e.name,form:e.form,placeholder:e.placeholder,inputMode:e.inputMode,autoCorrect:e.autoCorrect,spellCheck:e.spellCheck,enterKeyHint:e.enterKeyHint,onCopy:e.onCopy,onCut:e.onCut,onPaste:e.onPaste,onCompositionEnd:e.onCompositionEnd,onCompositionStart:e.onCompositionStart,onCompositionUpdate:e.onCompositionUpdate,onSelect:e.onSelect,onBeforeInput:e.onBeforeInput,onInput:e.onInput,...u,..._}),descriptionProps:v,errorMessageProps:y,isInvalid:p,validationErrors:m,validationDetails:h}}function wr(e,t){let{role:n=`dialog`}=e,r=K();r=e[`aria-label`]?void 0:r;let i=(0,Z.useRef)(!1);return(0,Z.useEffect)(()=>{if(t.current&&!A(t.current)){H(t.current);let e=setTimeout(()=>{(J()===t.current||J()===document.body)&&(i.current=!0,t.current&&(t.current.blur(),H(t.current)),i.current=!1)},500);return()=>{clearTimeout(e)}}},[t]),Sn(),{dialogProps:{...b(e,{labelable:!0}),role:n,tabIndex:-1,"aria-labelledby":e[`aria-labelledby`]||r,onBlur:e=>{i.current&&e.stopPropagation()}},titleProps:{id:r}}}var Tr={};Tr={longPressMessage:`اضغط مطولاً أو اضغط على Alt + السهم لأسفل لفتح القائمة`};var Er={};Er={longPressMessage:`Натиснете продължително или натиснете Alt+ стрелка надолу, за да отворите менюто`};var Dr={};Dr={longPressMessage:`Dlouhým stiskem nebo stisknutím kláves Alt + šipka dolů otevřete nabídku`};var Or={};Or={longPressMessage:`Langt tryk eller tryk på Alt + pil ned for at åbne menuen`};var kr={};kr={longPressMessage:`Drücken Sie lange oder drücken Sie Alt + Nach-unten, um das Menü zu öffnen`};var Ar={};Ar={longPressMessage:`Πιέστε παρατεταμένα ή πατήστε Alt + κάτω βέλος για να ανοίξετε το μενού`};var jr={};jr={longPressMessage:`Long press or press Alt + ArrowDown to open menu`};var Mr={};Mr={longPressMessage:`Mantenga pulsado o pulse Alt + flecha abajo para abrir el menú`};var Nr={};Nr={longPressMessage:`Menüü avamiseks vajutage pikalt või vajutage klahve Alt + allanool`};var Pr={};Pr={longPressMessage:`Avaa valikko painamalla pohjassa tai näppäinyhdistelmällä Alt + Alanuoli`};var Fr={};Fr={longPressMessage:`Appuyez de manière prolongée ou appuyez sur Alt\xA0+\xA0Flèche vers le bas pour ouvrir le menu.`};var Ir={};Ir={longPressMessage:`לחץ לחיצה ארוכה או הקש Alt + ArrowDown כדי לפתוח את התפריט`};var Lr={};Lr={longPressMessage:`Dugo pritisnite ili pritisnite Alt + strelicu prema dolje za otvaranje izbornika`};var Rr={};Rr={longPressMessage:`Nyomja meg hosszan, vagy nyomja meg az Alt + lefele nyíl gombot a menü megnyitásához`};var zr={};zr={longPressMessage:`Premi a lungo o premi Alt + Freccia giù per aprire il menu`};var Br={};Br={longPressMessage:`長押しまたは Alt+下矢印キーでメニューを開く`};var Vr={};Vr={longPressMessage:`길게 누르거나 Alt + 아래쪽 화살표를 눌러 메뉴 열기`};var Hr={};Hr={longPressMessage:`Norėdami atidaryti meniu, nuspaudę palaikykite arba paspauskite „Alt + ArrowDown“.`};var Ur={};Ur={longPressMessage:`Lai atvērtu izvēlni, turiet nospiestu vai nospiediet taustiņu kombināciju Alt + lejupvērstā bultiņa`};var Wr={};Wr={longPressMessage:`Langt trykk eller trykk Alt + PilNed for å åpne menyen`};var Gr={};Gr={longPressMessage:`Druk lang op Alt + pijl-omlaag of druk op Alt om het menu te openen`};var Kr={};Kr={longPressMessage:`Naciśnij i przytrzymaj lub naciśnij klawisze Alt + Strzałka w dół, aby otworzyć menu`};var qr={};qr={longPressMessage:`Pressione e segure ou pressione Alt + Seta para baixo para abrir o menu`};var Jr={};Jr={longPressMessage:`Prima continuamente ou prima Alt + Seta Para Baixo para abrir o menu`};var Yr={};Yr={longPressMessage:`Apăsați lung sau apăsați pe Alt + săgeată în jos pentru a deschide meniul`};var Xr={};Xr={longPressMessage:`Нажмите и удерживайте или нажмите Alt + Стрелка вниз, чтобы открыть меню`};var Zr={};Zr={longPressMessage:`Ponuku otvoríte dlhým stlačením alebo stlačením klávesu Alt + klávesu so šípkou nadol`};var Qr={};Qr={longPressMessage:`Za odprtje menija pritisnite in držite gumb ali pritisnite Alt+puščica navzdol`};var $r={};$r={longPressMessage:`Dugo pritisnite ili pritisnite Alt + strelicu prema dole da otvorite meni`};var ei={};ei={longPressMessage:`Håll nedtryckt eller tryck på Alt + pil nedåt för att öppna menyn`};var ti={};ti={longPressMessage:`Menüyü açmak için uzun basın veya Alt + Aşağı Ok tuşuna basın`};var ni={};ni={longPressMessage:`Довго або звичайно натисніть комбінацію клавіш Alt і стрілка вниз, щоб відкрити меню`};var ri={};ri={longPressMessage:`长按或按 Alt + 向下方向键以打开菜单`};var ii={};ii={longPressMessage:`長按或按 Alt+向下鍵以開啟功能表`};var ai={};ai={"ar-AE":Tr,"bg-BG":Er,"cs-CZ":Dr,"da-DK":Or,"de-DE":kr,"el-GR":Ar,"en-US":jr,"es-ES":Mr,"et-EE":Nr,"fi-FI":Pr,"fr-FR":Fr,"he-IL":Ir,"hr-HR":Lr,"hu-HU":Rr,"it-IT":zr,"ja-JP":Br,"ko-KR":Vr,"lt-LT":Hr,"lv-LV":Ur,"nb-NO":Wr,"nl-NL":Gr,"pl-PL":Kr,"pt-BR":qr,"pt-PT":Jr,"ro-RO":Yr,"ru-RU":Xr,"sk-SK":Zr,"sl-SI":Qr,"sr-SP":$r,"sv-SE":ei,"tr-TR":ti,"uk-UA":ni,"zh-CN":ri,"zh-TW":ii};function oi(e){return e&&e.__esModule?e.default:e}function si(e,t,n){let{type:r=`menu`,isDisabled:i,trigger:a=`press`}=e,o=D(),{triggerProps:s,overlayProps:c}=yt({type:r},t,n),l=e=>{if(!i&&!(a===`longPress`&&!e.altKey)&&n&&n.current)switch(e.key){case`Enter`:case` `:if(a===`longPress`||e.isDefaultPrevented())return;case`ArrowDown`:`continuePropagation`in e||e.stopPropagation(),e.preventDefault(),t.toggle(`first`);break;case`ArrowUp`:`continuePropagation`in e||e.stopPropagation(),e.preventDefault(),t.toggle(`last`);break;default:`continuePropagation`in e&&e.continuePropagation()}},u=he(oi(ai),`@react-aria/menu`),{longPressProps:d}=pt({isDisabled:i||a!==`longPress`,accessibilityDescription:u.format(`longPressMessage`),onLongPressStart(){t.close()},onLongPress(){t.open(`first`)}}),f={preventFocusOnPress:!0,onPressStart(e){e.pointerType!==`touch`&&e.pointerType!==`keyboard`&&!i&&(x(e.target),t.open(e.pointerType===`virtual`?`first`:null))},onPress(e){e.pointerType===`touch`&&!i&&(x(e.target),t.toggle())}};return delete s.onPress,{menuTriggerProps:{...s,...a===`press`?f:d,id:o,onKeyDown:l},menuProps:{...c,"aria-labelledby":o,autoFocus:t.focusStrategy||!0,onClose:t.close}}}var ci=7e3,li=null;function ui(e,t=`assertive`,n=ci){li?li.announce(e,t,n):(li=new di,(typeof IS_REACT_ACT_ENVIRONMENT==`boolean`?IS_REACT_ACT_ENVIRONMENT:typeof jest<`u`)?li.announce(e,t,n):setTimeout(()=>{li?.isAttached()&&li?.announce(e,t,n)},100))}var di=class{constructor(){this.node=null,this.assertiveLog=null,this.politeLog=null,typeof document<`u`&&(this.node=document.createElement(`div`),this.node.dataset.liveAnnouncer=`true`,Object.assign(this.node.style,{border:0,clip:`rect(0 0 0 0)`,clipPath:`inset(50%)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,width:`1px`,whiteSpace:`nowrap`}),this.assertiveLog=this.createLog(`assertive`),this.node.appendChild(this.assertiveLog),this.politeLog=this.createLog(`polite`),this.node.appendChild(this.politeLog),document.body.prepend(this.node))}isAttached(){return this.node?.isConnected}createLog(e){let t=document.createElement(`div`);return t.setAttribute(`role`,`log`),t.setAttribute(`aria-live`,e),t.setAttribute(`aria-relevant`,`additions`),t}destroy(){this.node&&=(document.body.removeChild(this.node),null)}announce(e,t=`assertive`,n=ci){if(!this.node)return;let r=document.createElement(`div`);typeof e==`object`?(r.setAttribute(`role`,`img`),r.setAttribute(`aria-labelledby`,e[`aria-labelledby`])):r.textContent=e,t===`assertive`?this.assertiveLog?.appendChild(r):this.politeLog?.appendChild(r),e!==``&&setTimeout(()=>{r.remove()},n)}clear(e){this.node&&((!e||e===`assertive`)&&this.assertiveLog&&(this.assertiveLog.innerHTML=``),(!e||e===`polite`)&&this.politeLog&&(this.politeLog.innerHTML=``))}};function fi(e,t,n){let r=n.initialDeps??[],i;return()=>{var a;let o;n.key&&n.debug?.call(n)&&(o=Date.now());let s=e();if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug?.call(n)&&(c=Date.now()),i=t(...s),n.key&&n.debug?.call(n)){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length<t;)e=` `+e;return e};console.info(`%c⏱ ${i(t,5)} /${i(e,5)} ms`,`
|
|
12
|
-
font-size: .6rem;
|
|
13
|
-
font-weight: bold;
|
|
14
|
-
color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,n?.key)}return(a=n?.onChange)==null||a.call(n,i),i}}function pi(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var mi=(e,t)=>Math.abs(e-t)<1,hi=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},gi=e=>e,_i=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1),r=[];for(let e=t;e<=n;e++)r.push(e);return r},vi=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(n.getBoundingClientRect()),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(e=>{let t=e[0];if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e){i({width:e.inlineSize,height:e.blockSize});return}}i(n.getBoundingClientRect())});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},yi={passive:!0},bi=typeof window>`u`?!0:`onscrollend`in window,xi=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=0,a=e.options.useScrollendEvent&&bi?()=>void 0:hi(r,()=>{t(i,!1)},e.options.isScrollingResetDelay),o=r=>()=>{let{horizontal:o,isRtl:s}=e.options;i=o?n.scrollLeft*(s&&-1||1):n.scrollTop,a(),t(i,r)},s=o(!0),c=o(!1);return c(),n.addEventListener(`scroll`,s,yi),n.addEventListener(`scrollend`,c,yi),()=>{n.removeEventListener(`scroll`,s),n.removeEventListener(`scrollend`,c)}},Si=(e,t,n)=>{if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}return Math.round(e.getBoundingClientRect()[n.options.horizontal?`width`:`height`])},Ci=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;let o=e+t;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:o,behavior:n})},wi=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollToIndexTimeoutId=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{this._measureElement(e.target,e)})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([t,n])=>{n===void 0&&delete e[t]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:gi,rangeExtractor:_i,onChange:()=>{},measureElement:Si,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!0,...e}},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=fi(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this.maybeNotify()}))}},this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.end<a.end&&n.set(t.lane,!0),n.size===this.options.lanes)break}return r.size===this.options.lanes?Array.from(r.values()).sort((e,t)=>e.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=fi(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled],(e,t,n,r,i)=>(this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i}),{key:!1}),this.getMeasurements=fi(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i},a)=>{if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),[];this.measurementsCache.length===0&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let o=this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];let s=this.measurementsCache.slice(0,o);for(let i=o;i<e;i++){let e=r(i),o=this.options.lanes===1?s[i-1]:this.getFurthestMeasurement(s,i),c=o?o.end+this.options.gap:t+n,l=a.get(e),u=typeof l==`number`?l:this.options.estimateSize(i),d=c+u,f=o?o.lane:i%this.options.lanes;s[i]={index:i,start:c,size:u,end:d,key:e,lane:f}}return this.measurementsCache=s,s},{key:!1,debug:()=>this.options.debug}),this.calculateRange=fi(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset()],(e,t,n)=>this.range=e.length>0&&t>0?Ei({measurements:e,outerSize:t,scrollOffset:n}):null,{key:!1,debug:()=>this.options.debug}),this.getIndexes=fi(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this._measureElement=(e,t)=>{let n=this.indexFromElement(e),r=this.measurementsCache[n];if(!r)return;let i=r.key,a=this.elementsCache.get(i);a!==e&&(a&&this.observer.unobserve(a),this.observer.observe(e),this.elementsCache.set(i,e)),e.isConnected&&this.resizeItem(n,this.options.measureElement(e,t,this))},this.resizeItem=(e,t)=>{let n=this.measurementsCache[e];if(!n)return;let r=t-(this.itemSizeCache.get(n.key)??n.size);r!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange===void 0?n.start<this.getScrollOffset()+this.scrollAdjustments:this.shouldAdjustScrollPositionOnItemSizeChange(n,r,this))&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=r,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(n.index),this.itemSizeCache=new Map(this.itemSizeCache.set(n.key,t)),this.notify(!1))},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}this._measureElement(e,void 0)},this.getVirtualItems=fi(()=>[this.getIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length!==0)return pi(t[Ti(0,t.length-1,e=>pi(t[e]).start,e)])},this.getOffsetForAlignment=(e,t)=>{let n=this.getSize(),r=this.getScrollOffset();t===`auto`&&e>=r+n&&(t=`end`),t===`end`&&(e-=n);let i=this.options.horizontal?`scrollWidth`:`scrollHeight`,a=(this.scrollElement?`document`in this.scrollElement?this.scrollElement.document.documentElement[i]:this.scrollElement[i]:0)-n;return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.measurementsCache[e];if(!n)return;let r=this.getSize(),i=this.getScrollOffset();if(t===`auto`)if(n.end>=i+r-this.options.scrollPaddingEnd)t=`end`;else if(n.start<=i+this.options.scrollPaddingStart)t=`start`;else return[i,t];let a=n.start-this.options.scrollPaddingStart+(n.size-r)/2;switch(t){case`center`:return[this.getOffsetForAlignment(a,t),t];case`end`:return[this.getOffsetForAlignment(n.end+this.options.scrollPaddingEnd,t),t];default:return[this.getOffsetForAlignment(n.start-this.options.scrollPaddingStart,t),t]}},this.isDynamicMode=()=>this.elementsCache.size>0,this.cancelScrollToIndex=()=>{this.scrollToIndexTimeoutId!==null&&this.targetWindow&&(this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId),this.scrollToIndexTimeoutId=null)},this.scrollToOffset=(e,{align:t=`start`,behavior:n}={})=>{this.cancelScrollToIndex(),n===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(e,t),{adjustments:void 0,behavior:n})},this.scrollToIndex=(e,{align:t=`auto`,behavior:n}={})=>{e=Math.max(0,Math.min(e,this.options.count-1)),this.cancelScrollToIndex(),n===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size.");let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r;this._scrollToOffset(i,{adjustments:void 0,behavior:n}),n!==`smooth`&&this.isDynamicMode()&&this.targetWindow&&(this.scrollToIndexTimeoutId=this.targetWindow.setTimeout(()=>{if(this.scrollToIndexTimeoutId=null,this.elementsCache.has(this.options.getItemKey(e))){let[t]=pi(this.getOffsetForIndex(e,a));mi(t,this.getScrollOffset())||this.scrollToIndex(e,{align:a,behavior:n})}else this.scrollToIndex(e,{align:a,behavior:n})}))},this.scrollBy=(e,{behavior:t}={})=>{this.cancelScrollToIndex(),t===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+e,{adjustments:void 0,behavior:t})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;return t=e.length===0?this.options.paddingStart:this.options.lanes===1?e[e.length-1]?.end??0:Math.max(...e.slice(-this.options.lanes).map(e=>e.end)),Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.itemSizeCache=new Map,this.notify(!1)},this.setOptions(e)}},Ti=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function Ei({measurements:e,outerSize:t,scrollOffset:n}){let r=e.length-1,i=Ti(0,r,t=>e[t].start,n),a=i;for(;a<r&&e[a].end<n+t;)a++;return{startIndex:i,endIndex:a}}var Di=typeof document<`u`?Z.useLayoutEffect:Z.useEffect;function Oi(e){let t=Z.useReducer(()=>({}),{})[1],n={...e,onChange:(n,r)=>{var i;r?(0,Xe.flushSync)(t):t(),(i=e.onChange)==null||i.call(e,n,r)}},[r]=Z.useState(()=>new wi(n));return r.setOptions(n),Di(()=>r._didMount(),[]),Di(()=>r._willUpdate()),r}function ki(e){return Oi({observeElementRect:vi,observeElementOffset:xi,scrollToFn:Ci,...e})}var Ai=class{*[Symbol.iterator](){yield*this.iterable}get size(){return this._size}getKeys(){return this.keyMap.keys()}getKeyBefore(e){let t=this.keyMap.get(e);return t?t.prevKey??null:null}getKeyAfter(e){let t=this.keyMap.get(e);return t?t.nextKey??null:null}getFirstKey(){return this.firstKey}getLastKey(){return this.lastKey}getItem(e){return this.keyMap.get(e)??null}at(e){let t=[...this.getKeys()];return this.getItem(t[e])}getChildren(e){return this.keyMap.get(e)?.childNodes||[]}constructor(e){this.keyMap=new Map,this.firstKey=null,this.lastKey=null,this.iterable=e;let t=e=>{if(this.keyMap.set(e.key,e),e.childNodes&&e.type===`section`)for(let n of e.childNodes)t(n)};for(let n of e)t(n);let n=null,r=0,i=0;for(let[e,t]of this.keyMap)n?(n.nextKey=e,t.prevKey=n.key):(this.firstKey=e,t.prevKey=void 0),t.type===`item`&&(t.index=r++),(t.type===`section`||t.type===`item`)&&i++,n=t,n.nextKey=void 0;this._size=i,this.lastKey=n?.key??null}};function ji(e){let{filter:t,layoutDelegate:n}=e,r=Vn(e),i=(0,Z.useMemo)(()=>e.disabledKeys?new Set(e.disabledKeys):new Set,[e.disabledKeys]),a=nr(e,(0,Z.useCallback)(e=>t?new Ai(t(e)):new Ai(e),[t]),(0,Z.useMemo)(()=>({suppressTextValueWarning:e.suppressTextValueWarning}),[e.suppressTextValueWarning])),o=(0,Z.useMemo)(()=>new Jn(a,r,{layoutDelegate:n}),[a,r,n]);return Mi(a,o),{collection:a,disabledKeys:i,selectionManager:o}}function Mi(e,t){let n=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{if(t.focusedKey!=null&&!e.getItem(t.focusedKey)&&n.current){let r=n.current.getItem(t.focusedKey),i=[...n.current.getKeys()].map(e=>{let t=n.current.getItem(e);return t?.type===`item`?t:null}).filter(e=>e!==null),a=[...e.getKeys()].map(t=>{let n=e.getItem(t);return n?.type===`item`?n:null}).filter(e=>e!==null),o=(i?.length??0)-(a?.length??0),s=Math.min(o>1?Math.max((r?.index??0)-o+1,0):r?.index??0,(a?.length??0)-1),c=null,l=!1;for(;s>=0;){if(!t.isDisabled(a[s].key)){c=a[s];break}s<a.length-1&&!l?s++:(l=!0,s>(r?.index??0)&&(s=r?.index??0),s--)}t.setFocusedKey(c?c.key:null)}n.current=e},[e,t])}var Ni=new WeakMap;function Pi(e){return typeof e==`string`?e.replace(/\s*/g,``):``+e}function Fi(e,t){let n=Ni.get(e);if(!n)throw Error(`Unknown list`);return`${n.id}-option-${Pi(t)}`}function Ii(e,t,n){let r=b(e,{labelable:!0}),i=e.selectionBehavior||`toggle`,a=e.linkBehavior||(i===`replace`?`action`:`override`);i===`toggle`&&a===`action`&&(a=`override`);let{listProps:o}=Ln({...e,ref:n,selectionManager:t.selectionManager,collection:t.collection,disabledKeys:t.disabledKeys,linkBehavior:a}),{focusWithinProps:s}=ee({onFocusWithin:e.onFocus,onBlurWithin:e.onBlur,onFocusWithinChange:e.onFocusChange}),c=D(e.id);Ni.set(t,{id:c,shouldUseVirtualFocus:e.shouldUseVirtualFocus,shouldSelectOnPressUp:e.shouldSelectOnPressUp,shouldFocusOnHover:e.shouldFocusOnHover,isVirtualized:e.isVirtualized,onAction:e.onAction,linkBehavior:a,UNSTABLE_itemBehavior:e.UNSTABLE_itemBehavior});let{labelProps:l,fieldProps:u}=xr({...e,id:c,labelElementType:`span`});return{labelProps:l,listBoxProps:S(r,s,t.selectionManager.selectionMode===`multiple`?{"aria-multiselectable":`true`}:{},{role:`listbox`,...S(u,o)})}}function Li(e,t,n){let{key:r}=e,i=Ni.get(t),a=e.isDisabled??t.selectionManager.isDisabled(r),s=e.isSelected??t.selectionManager.isSelected(r),c=e.shouldSelectOnPressUp??i?.shouldSelectOnPressUp,l=e.shouldFocusOnHover??i?.shouldFocusOnHover,d=e.shouldUseVirtualFocus??i?.shouldUseVirtualFocus,f=e.isVirtualized??i?.isVirtualized,p=K(),m=K(),h={role:`option`,"aria-disabled":a||void 0,"aria-selected":t.selectionManager.selectionMode===`none`?void 0:s};u()&&o()||(h[`aria-label`]=e[`aria-label`],h[`aria-labelledby`]=p,h[`aria-describedby`]=m);let g=t.collection.getItem(r);if(f){let e=Number(g?.index);h[`aria-posinset`]=Number.isNaN(e)?void 0:e+1,h[`aria-setsize`]=ar(t.collection)}let _=i?.onAction?()=>i?.onAction?.call(i,r):void 0,y=Fi(t,r),{itemProps:x,isPressed:C,isFocused:w,hasAction:T,allowsSelection:E}=Mn({selectionManager:t.selectionManager,key:r,ref:n,shouldSelectOnPressUp:c,allowsDifferentPressOrigin:c&&l,isVirtualized:f,shouldUseVirtualFocus:d,isDisabled:a,onAction:_||g!=null&&g.props?.onAction?V(g?.props?.onAction,_):void 0,linkBehavior:i?.linkBehavior,UNSTABLE_itemBehavior:i?.UNSTABLE_itemBehavior,id:y}),{hoverProps:D}=I({isDisabled:a||!l,onHoverStart(){M()||(t.selectionManager.setFocused(!0),t.selectionManager.setFocusedKey(r))}}),O=b(g?.props);delete O.id;let k=v(g?.props);return{optionProps:{...h,...S(O,x,D,k),id:y},labelProps:{id:p},descriptionProps:{id:m},isFocused:w,isFocusVisible:w&&t.selectionManager.isFocused&&M(),isSelected:s,isDisabled:a,isPressed:C,allowsSelection:E,hasAction:T}}function Ri(e){let{heading:t,"aria-label":n}=e,r=D();return{itemProps:{role:`presentation`},headingProps:t?{id:r,role:`presentation`,onMouseDown:e=>{e.preventDefault()}}:{},groupProps:{role:`group`,"aria-label":n,"aria-labelledby":t?r:void 0}}}var zi=[];function Bi(e){let{defaultFilter:t,menuTrigger:n=`input`,allowsEmptyCollection:r=!1,allowsCustomValue:i,shouldCloseOnBlur:a=!0,selectionMode:o=`single`}=e,[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(!1),[d,p]=(0,Z.useState)(null),m=(0,Z.useMemo)(()=>e.defaultValue===void 0?o===`single`?e.defaultSelectedKey??null:[]:e.defaultValue,[e.defaultValue,e.defaultSelectedKey,o]),h=(0,Z.useMemo)(()=>e.value===void 0?o===`single`?e.selectedKey:void 0:e.value,[e.value,e.selectedKey,o]),[g,_]=f(h,m,e.onChange),v=o===`single`&&Array.isArray(g)?g[0]:g,y=t=>{if(o===`single`){var n;let r=Array.isArray(t)?t[0]??null:t;_(r),r!==v&&((n=e.onSelectionChange)==null||n.call(e,r))}else{let e=[];Array.isArray(t)?e=t:t!=null&&(e=[t]),_(e)}},{collection:b,selectionManager:x,disabledKeys:S}=ji({...e,items:e.items??e.defaultItems,selectionMode:o,disallowEmptySelection:o===`single`,allowDuplicateSelectionEvents:!0,selectedKeys:(0,Z.useMemo)(()=>Wi(v),[v]),onSelectionChange:t=>{if(t!==`all`)if(o===`single`){let r=t.values().next().value??null;if(r===v){var n;(n=e.onSelectionChange)==null||n.call(e,r),U(),B()}else y(r)}else y([...t])}}),C=o===`single`?x.firstSelectedKey:null,w=(0,Z.useMemo)(()=>[...x.selectedKeys].map(e=>b.getItem(e)).filter(e=>e!=null),[x.selectedKeys,b]),[T,E]=f(e.inputValue,Ui(e.defaultInputValue,C,b)||``,e.onInputChange),[D]=(0,Z.useState)(v),[O]=(0,Z.useState)(T),k=b,A=(0,Z.useMemo)(()=>e.items!=null||!t?b:Vi(b,T,t),[b,T,t,e.items]),[j,M]=(0,Z.useState)(A),N=(0,Z.useRef)(`focus`),P=t=>{e.onOpenChange&&e.onOpenChange(t,t?N.current:void 0),x.setFocused(t),t||x.setFocusedKey(null)},F=q({...e,onOpenChange:P,isOpen:void 0,defaultOpen:void 0}),I=(t=null,i)=>{let a=i===`manual`||i===`focus`&&n===`focus`;(r||A.size>0||a&&k.size>0||e.items)&&(a&&!F.isOpen&&e.items===void 0&&c(!0),N.current=i,p(t),F.open())},L=(t=null,i)=>{let a=i===`manual`||i===`focus`&&n===`focus`;!(r||A.size>0||a&&k.size>0||e.items)&&!F.isOpen||(a&&!F.isOpen&&e.items===void 0&&c(!0),F.isOpen||(N.current=i),z(t))},R=(0,Z.useCallback)(()=>{M(s?k:A)},[s,k,A]),z=(0,Z.useCallback)((e=null)=>{F.isOpen&&R(),p(e),F.toggle()},[F,R]),B=(0,Z.useCallback)(()=>{F.isOpen&&(R(),F.close())},[F,R]),[V,H]=(0,Z.useState)(T),U=()=>{let e=C==null?``:b.getItem(C)?.textValue??``;H(e),E(e)},W=(0,Z.useRef)(v),G=(0,Z.useRef)(C==null?``:b.getItem(C)?.textValue??``);(0,Z.useEffect)(()=>{l&&(A.size>0||r)&&!F.isOpen&&T!==V&&n!==`manual`&&I(null,`input`),!s&&!r&&F.isOpen&&A.size===0&&B(),v!=null&&v!==W.current&&o===`single`&&B(),T!==V&&(x.setFocusedKey(null),c(!1),o===`single`&&T===``&&(e.inputValue===void 0||h===void 0)&&y(null)),v!==W.current&&(e.inputValue===void 0||h===void 0)?U():V!==T&&H(T);let t=C==null?``:b.getItem(C)?.textValue??``;!l&&C!=null&&e.inputValue===void 0&&C===W.current&&G.current!==t&&(H(t),E(t)),W.current=v,G.current=t});let K=dr({...e,value:(0,Z.useMemo)(()=>Array.isArray(v)&&v.length===0?null:{inputValue:T,value:v,selectedKey:C},[T,C,v])}),J=()=>{i&&C==null?ee():Y()},ee=()=>{let e=o===`multiple`?zi:null;W.current=e,y(e),B()},Y=()=>{if(h!==void 0&&e.inputValue!==void 0){var t,n;(t=e.onSelectionChange)==null||t.call(e,C),(n=e.onChange)==null||n.call(e,v),H(C==null?``:b.getItem(C)?.textValue??``),B()}else U(),B()},X=()=>{i?T===(C==null?``:b.getItem(C)?.textValue??``)?Y():ee():Y()},te=()=>{F.isOpen&&x.focusedKey!=null?x.isSelected(x.focusedKey)&&o===`single`?Y():x.select(x.focusedKey):X()},ne=(0,Z.useRef)(T),re=t=>{t?(ne.current=T,n===`focus`&&!e.isReadOnly&&I(null,`focus`)):(a&&X(),T!==ne.current&&K.commitValidation()),u(t)},ie=(0,Z.useMemo)(()=>F.isOpen?s?k:A:j,[F.isOpen,k,A,s,j]),ae=e.defaultSelectedKey??(o===`single`?D:null);return{...K,...F,focusStrategy:d,toggle:L,open:I,close:X,selectionManager:x,value:v,defaultValue:m??D,setValue:y,selectedKey:C,selectedItems:w,defaultSelectedKey:ae,setSelectedKey:y,disabledKeys:S,isFocused:l,setFocused:re,selectedItem:w[0]??null,collection:ie,inputValue:T,defaultInputValue:Ui(e.defaultInputValue,ae,b)??O,setInputValue:E,commit:te,revert:J}}function Vi(e,t,n){return new Ai(Hi(e,e,t,n))}function Hi(e,t,n,r){let i=[];for(let a of t)if(a.type===`section`&&a.hasChildNodes){let t=Hi(e,rr(a,e),n,r);[...t].some(e=>e.type===`item`)&&i.push({...a,childNodes:t})}else (a.type===`item`&&r(a.textValue,n)||a.type!==`item`)&&i.push({...a});return i}function Ui(e,t,n){return e==null&&t!=null?n.getItem(t)?.textValue??``:e}function Wi(e){if(e!==void 0)return e===null?[]:Array.isArray(e)?e:[e]}var Gi={};Gi={buttonLabel:`عرض المقترحات`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} \u{62E}\u{64A}\u{627}\u{631}`,other:()=>`${t.number(e.optionCount)} \u{62E}\u{64A}\u{627}\u{631}\u{627}\u{62A}`})} \u{645}\u{62A}\u{627}\u{62D}\u{629}.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`\u{627}\u{644}\u{645}\u{62C}\u{645}\u{648}\u{639}\u{629} \u{627}\u{644}\u{645}\u{62F}\u{62E}\u{644}\u{629} ${e.groupTitle}, \u{645}\u{639} ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} \u{62E}\u{64A}\u{627}\u{631}`,other:()=>`${t.number(e.groupCount)} \u{62E}\u{64A}\u{627}\u{631}\u{627}\u{62A}`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, محدد`,other:``},e.isSelected)}`,listboxLabel:`مقترحات`,selectedAnnouncement:e=>`${e.optionText}\u{60C} \u{645}\u{62D}\u{62F}\u{62F}`};var Ki={};Ki={buttonLabel:`Покажи предложения`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} \u{43E}\u{43F}\u{446}\u{438}\u{44F}`,other:()=>`${t.number(e.optionCount)} \u{43E}\u{43F}\u{446}\u{438}\u{438}`})} \u{43D}\u{430} \u{440}\u{430}\u{437}\u{43F}\u{43E}\u{43B}\u{43E}\u{436}\u{435}\u{43D}\u{438}\u{435}.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`\u{412}\u{44A}\u{432}\u{435}\u{434}\u{435}\u{43D}\u{430} \u{433}\u{440}\u{443}\u{43F}\u{430} ${e.groupTitle}, \u{441} ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} \u{43E}\u{43F}\u{446}\u{438}\u{44F}`,other:()=>`${t.number(e.groupCount)} \u{43E}\u{43F}\u{446}\u{438}\u{438}`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, избрани`,other:``},e.isSelected)}`,listboxLabel:`Предложения`,selectedAnnouncement:e=>`${e.optionText}, \u{438}\u{437}\u{431}\u{440}\u{430}\u{43D}\u{438}`};var qi={};qi={buttonLabel:`Zobrazit doporučení`,countAnnouncement:(e,t)=>`K dispozici ${t.plural(e.optionCount,{one:()=>`je ${t.number(e.optionCount)} mo\u{17E}nost`,other:()=>`jsou/je ${t.number(e.optionCount)} mo\u{17E}nosti/-\xed`})}.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Zadan\xe1 skupina \u{201E}${e.groupTitle}\u{201C} ${t.plural(e.groupCount,{one:()=>`s ${t.number(e.groupCount)} mo\u{17E}nost\xed`,other:()=>`se ${t.number(e.groupCount)} mo\u{17E}nostmi`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:` (vybráno)`,other:``},e.isSelected)}`,listboxLabel:`Návrhy`,selectedAnnouncement:e=>`${e.optionText}, vybr\xe1no`};var Ji={};Ji={buttonLabel:`Vis forslag`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} mulighed tilg\xe6ngelig`,other:()=>`${t.number(e.optionCount)} muligheder tilg\xe6ngelige`})}.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Angivet gruppe ${e.groupTitle}, med ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} mulighed`,other:()=>`${t.number(e.groupCount)} muligheder`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, valgt`,other:``},e.isSelected)}`,listboxLabel:`Forslag`,selectedAnnouncement:e=>`${e.optionText}, valgt`};var Yi={};Yi={buttonLabel:`Empfehlungen anzeigen`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} Option`,other:()=>`${t.number(e.optionCount)} Optionen`})} verf\xfcgbar.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Eingetretene Gruppe ${e.groupTitle}, mit ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} Option`,other:()=>`${t.number(e.groupCount)} Optionen`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, ausgewählt`,other:``},e.isSelected)}`,listboxLabel:`Empfehlungen`,selectedAnnouncement:e=>`${e.optionText}, ausgew\xe4hlt`};var Xi={};Xi={buttonLabel:`Προβολή προτάσεων`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} \u{3B5}\u{3C0}\u{3B9}\u{3BB}\u{3BF}\u{3B3}\u{3AE}`,other:()=>`${t.number(e.optionCount)} \u{3B5}\u{3C0}\u{3B9}\u{3BB}\u{3BF}\u{3B3}\u{3AD}\u{3C2} `})} \u{3B4}\u{3B9}\u{3B1}\u{3B8}\u{3AD}\u{3C3}\u{3B9}\u{3BC}\u{3B5}\u{3C2}.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`\u{395}\u{3B9}\u{3C3}\u{3B1}\u{3B3}\u{3BC}\u{3AD}\u{3BD}\u{3B7} \u{3BF}\u{3BC}\u{3AC}\u{3B4}\u{3B1} ${e.groupTitle}, \u{3BC}\u{3B5} ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} \u{3B5}\u{3C0}\u{3B9}\u{3BB}\u{3BF}\u{3B3}\u{3AE}`,other:()=>`${t.number(e.groupCount)} \u{3B5}\u{3C0}\u{3B9}\u{3BB}\u{3BF}\u{3B3}\u{3AD}\u{3C2}`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, επιλεγμένο`,other:``},e.isSelected)}`,listboxLabel:`Προτάσεις`,selectedAnnouncement:e=>`${e.optionText}, \u{3B5}\u{3C0}\u{3B9}\u{3BB}\u{3AD}\u{3C7}\u{3B8}\u{3B7}\u{3BA}\u{3B5}`};var Zi={};Zi={focusAnnouncement:(e,t)=>`${t.select({true:()=>`Entered group ${e.groupTitle}, with ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} option`,other:()=>`${t.number(e.groupCount)} options`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, selected`,other:``},e.isSelected)}`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} option`,other:()=>`${t.number(e.optionCount)} options`})} available.`,selectedAnnouncement:e=>`${e.optionText}, selected`,buttonLabel:`Show suggestions`,listboxLabel:`Suggestions`};var Qi={};Qi={buttonLabel:`Mostrar sugerencias`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} opci\xf3n`,other:()=>`${t.number(e.optionCount)} opciones`})} disponible(s).`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Se ha unido al grupo ${e.groupTitle}, con ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} opci\xf3n`,other:()=>`${t.number(e.groupCount)} opciones`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, seleccionado`,other:``},e.isSelected)}`,listboxLabel:`Sugerencias`,selectedAnnouncement:e=>`${e.optionText}, seleccionado`};var $i={};$i={buttonLabel:`Kuva soovitused`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} valik`,other:()=>`${t.number(e.optionCount)} valikud`})} saadaval.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Sisestatud r\xfchm ${e.groupTitle}, valikuga ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} valik`,other:()=>`${t.number(e.groupCount)} valikud`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, valitud`,other:``},e.isSelected)}`,listboxLabel:`Soovitused`,selectedAnnouncement:e=>`${e.optionText}, valitud`};var ea={};ea={buttonLabel:`Näytä ehdotukset`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} vaihtoehto`,other:()=>`${t.number(e.optionCount)} vaihtoehdot`})} saatavilla.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Mentiin ryhm\xe4\xe4n ${e.groupTitle}, ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} vaihtoehdon`,other:()=>`${t.number(e.groupCount)} vaihtoehdon`})} kanssa.`,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, valittu`,other:``},e.isSelected)}`,listboxLabel:`Ehdotukset`,selectedAnnouncement:e=>`${e.optionText}, valittu`};var ta={};ta={buttonLabel:`Afficher les suggestions`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} option`,other:()=>`${t.number(e.optionCount)} options`})} disponible(s).`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Groupe ${e.groupTitle} rejoint, avec ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} option`,other:()=>`${t.number(e.groupCount)} options`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, sélectionné(s)`,other:``},e.isSelected)}`,listboxLabel:`Suggestions`,selectedAnnouncement:e=>`${e.optionText}, s\xe9lectionn\xe9`};var na={};na={buttonLabel:`הצג הצעות`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`\u{5D0}\u{5E4}\u{5E9}\u{5E8}\u{5D5}\u{5EA} ${t.number(e.optionCount)}`,other:()=>`${t.number(e.optionCount)} \u{5D0}\u{5E4}\u{5E9}\u{5E8}\u{5D5}\u{5D9}\u{5D5}\u{5EA}`})} \u{5D1}\u{5DE}\u{5E6}\u{5D1} \u{5D6}\u{5DE}\u{5D9}\u{5DF}.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`\u{5E0}\u{5DB}\u{5E0}\u{5E1} \u{5DC}\u{5E7}\u{5D1}\u{5D5}\u{5E6}\u{5D4} ${e.groupTitle}, \u{5E2}\u{5DD} ${t.plural(e.groupCount,{one:()=>`\u{5D0}\u{5E4}\u{5E9}\u{5E8}\u{5D5}\u{5EA} ${t.number(e.groupCount)}`,other:()=>`${t.number(e.groupCount)} \u{5D0}\u{5E4}\u{5E9}\u{5E8}\u{5D5}\u{5D9}\u{5D5}\u{5EA}`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, נבחר`,other:``},e.isSelected)}`,listboxLabel:`הצעות`,selectedAnnouncement:e=>`${e.optionText}, \u{5E0}\u{5D1}\u{5D7}\u{5E8}`};var ra={};ra={buttonLabel:`Prikaži prijedloge`,countAnnouncement:(e,t)=>`Dostupno jo\u{161}: ${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} opcija`,other:()=>`${t.number(e.optionCount)} opcije/a`})}.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Unesena skupina ${e.groupTitle}, s ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} opcijom`,other:()=>`${t.number(e.groupCount)} opcije/a`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, odabranih`,other:``},e.isSelected)}`,listboxLabel:`Prijedlozi`,selectedAnnouncement:e=>`${e.optionText}, odabrano`};var ia={};ia={buttonLabel:`Javaslatok megjelenítése`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} lehet\u{151}s\xe9g`,other:()=>`${t.number(e.optionCount)} lehet\u{151}s\xe9g`})} \xe1ll rendelkez\xe9sre.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Bel\xe9pett a(z) ${e.groupTitle} csoportba, amely ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} lehet\u{151}s\xe9get`,other:()=>`${t.number(e.groupCount)} lehet\u{151}s\xe9get`})} tartalmaz. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, kijelölve`,other:``},e.isSelected)}`,listboxLabel:`Javaslatok`,selectedAnnouncement:e=>`${e.optionText}, kijel\xf6lve`};var aa={};aa={buttonLabel:`Mostra suggerimenti`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} opzione disponibile`,other:()=>`${t.number(e.optionCount)} opzioni disponibili`})}.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Ingresso nel gruppo ${e.groupTitle}, con ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} opzione`,other:()=>`${t.number(e.groupCount)} opzioni`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, selezionato`,other:``},e.isSelected)}`,listboxLabel:`Suggerimenti`,selectedAnnouncement:e=>`${e.optionText}, selezionato`};var oa={};oa={buttonLabel:`候補を表示`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} \u{500B}\u{306E}\u{30AA}\u{30D7}\u{30B7}\u{30E7}\u{30F3}`,other:()=>`${t.number(e.optionCount)} \u{500B}\u{306E}\u{30AA}\u{30D7}\u{30B7}\u{30E7}\u{30F3}`})}\u{3092}\u{5229}\u{7528}\u{3067}\u{304D}\u{307E}\u{3059}\u{3002}`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`\u{5165}\u{529B}\u{3055}\u{308C}\u{305F}\u{30B0}\u{30EB}\u{30FC}\u{30D7} ${e.groupTitle}\u{3001}${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} \u{500B}\u{306E}\u{30AA}\u{30D7}\u{30B7}\u{30E7}\u{30F3}`,other:()=>`${t.number(e.groupCount)} \u{500B}\u{306E}\u{30AA}\u{30D7}\u{30B7}\u{30E7}\u{30F3}`})}\u{3092}\u{542B}\u{3080}\u{3002}`,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`、選択済み`,other:``},e.isSelected)}`,listboxLabel:`候補`,selectedAnnouncement:e=>`${e.optionText}\u{3001}\u{9078}\u{629E}\u{6E08}\u{307F}`};var sa={};sa={buttonLabel:`제안 사항 표시`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)}\u{AC1C} \u{C635}\u{C158}`,other:()=>`${t.number(e.optionCount)}\u{AC1C} \u{C635}\u{C158}`})}\u{C744} \u{C0AC}\u{C6A9}\u{D560} \u{C218} \u{C788}\u{C2B5}\u{B2C8}\u{B2E4}.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`\u{C785}\u{B825}\u{D55C} \u{ADF8}\u{B8F9} ${e.groupTitle}, ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)}\u{AC1C} \u{C635}\u{C158}`,other:()=>`${t.number(e.groupCount)}\u{AC1C} \u{C635}\u{C158}`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, 선택됨`,other:``},e.isSelected)}`,listboxLabel:`제안`,selectedAnnouncement:e=>`${e.optionText}, \u{C120}\u{D0DD}\u{B428}`};var ca={};ca={buttonLabel:`Rodyti pasiūlymus`,countAnnouncement:(e,t)=>`Yra ${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} parinktis`,other:()=>`${t.number(e.optionCount)} parinktys (-i\u{173})`})}.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`\u{12E}vesta grup\u{117} ${e.groupTitle}, su ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} parinktimi`,other:()=>`${t.number(e.groupCount)} parinktimis (-i\u{173})`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, pasirinkta`,other:``},e.isSelected)}`,listboxLabel:`Pasiūlymai`,selectedAnnouncement:e=>`${e.optionText}, pasirinkta`};var la={};la={buttonLabel:`Rādīt ieteikumus`,countAnnouncement:(e,t)=>`Pieejamo opciju skaits: ${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} opcija`,other:()=>`${t.number(e.optionCount)} opcijas`})}.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Ievad\u{12B}ta grupa ${e.groupTitle}, ar ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} opciju`,other:()=>`${t.number(e.groupCount)} opcij\u{101}m`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, atlasīta`,other:``},e.isSelected)}`,listboxLabel:`Ieteikumi`,selectedAnnouncement:e=>`${e.optionText}, atlas\u{12B}ta`};var ua={};ua={buttonLabel:`Vis forslag`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} alternativ`,other:()=>`${t.number(e.optionCount)} alternativer`})} finnes.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Angitt gruppe ${e.groupTitle}, med ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} alternativ`,other:()=>`${t.number(e.groupCount)} alternativer`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, valgt`,other:``},e.isSelected)}`,listboxLabel:`Forslag`,selectedAnnouncement:e=>`${e.optionText}, valgt`};var da={};da={buttonLabel:`Suggesties weergeven`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} optie`,other:()=>`${t.number(e.optionCount)} opties`})} beschikbaar.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Groep ${e.groupTitle} ingevoerd met ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} optie`,other:()=>`${t.number(e.groupCount)} opties`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, geselecteerd`,other:``},e.isSelected)}`,listboxLabel:`Suggesties`,selectedAnnouncement:e=>`${e.optionText}, geselecteerd`};var fa={};fa={buttonLabel:`Wyświetlaj sugestie`,countAnnouncement:(e,t)=>`dost\u{119}pna/dost\u{119}pne(-nych) ${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} opcja`,other:()=>`${t.number(e.optionCount)} opcje(-i)`})}.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Do\u{142}\u{105}czono do grupy ${e.groupTitle}, z ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} opcj\u{105}`,other:()=>`${t.number(e.groupCount)} opcjami`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, wybrano`,other:``},e.isSelected)}`,listboxLabel:`Sugestie`,selectedAnnouncement:e=>`${e.optionText}, wybrano`};var pa={};pa={buttonLabel:`Mostrar sugestões`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} op\xe7\xe3o`,other:()=>`${t.number(e.optionCount)} op\xe7\xf5es`})} dispon\xedvel.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Grupo inserido ${e.groupTitle}, com ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} op\xe7\xe3o`,other:()=>`${t.number(e.groupCount)} op\xe7\xf5es`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, selecionado`,other:``},e.isSelected)}`,listboxLabel:`Sugestões`,selectedAnnouncement:e=>`${e.optionText}, selecionado`};var ma={};ma={buttonLabel:`Apresentar sugestões`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} op\xe7\xe3o`,other:()=>`${t.number(e.optionCount)} op\xe7\xf5es`})} dispon\xedvel.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Grupo introduzido ${e.groupTitle}, com ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} op\xe7\xe3o`,other:()=>`${t.number(e.groupCount)} op\xe7\xf5es`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, selecionado`,other:``},e.isSelected)}`,listboxLabel:`Sugestões`,selectedAnnouncement:e=>`${e.optionText}, selecionado`};var ha={};ha={buttonLabel:`Afișare sugestii`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} op\u{21B}iune`,other:()=>`${t.number(e.optionCount)} op\u{21B}iuni`})} disponibile.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Grup ${e.groupTitle} introdus, cu ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} op\u{21B}iune`,other:()=>`${t.number(e.groupCount)} op\u{21B}iuni`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, selectat`,other:``},e.isSelected)}`,listboxLabel:`Sugestii`,selectedAnnouncement:e=>`${e.optionText}, selectat`};var ga={};ga={buttonLabel:`Показать предложения`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} \u{43F}\u{430}\u{440}\u{430}\u{43C}\u{435}\u{442}\u{440}`,other:()=>`${t.number(e.optionCount)} \u{43F}\u{430}\u{440}\u{430}\u{43C}\u{435}\u{442}\u{440}\u{43E}\u{432}`})} \u{434}\u{43E}\u{441}\u{442}\u{443}\u{43F}\u{43D}\u{43E}.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`\u{412}\u{432}\u{435}\u{434}\u{435}\u{43D}\u{43D}\u{430}\u{44F} \u{433}\u{440}\u{443}\u{43F}\u{43F}\u{430} ${e.groupTitle}, \u{441} ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} \u{43F}\u{430}\u{440}\u{430}\u{43C}\u{435}\u{442}\u{440}\u{43E}\u{43C}`,other:()=>`${t.number(e.groupCount)} \u{43F}\u{430}\u{440}\u{430}\u{43C}\u{435}\u{442}\u{440}\u{430}\u{43C}\u{438}`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, выбранными`,other:``},e.isSelected)}`,listboxLabel:`Предложения`,selectedAnnouncement:e=>`${e.optionText}, \u{432}\u{44B}\u{431}\u{440}\u{430}\u{43D}\u{43E}`};var _a={};_a={buttonLabel:`Zobraziť návrhy`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} mo\u{17E}nos\u{165}`,other:()=>`${t.number(e.optionCount)} mo\u{17E}nosti/-\xed`})} k dispoz\xedcii.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Zadan\xe1 skupina ${e.groupTitle}, s ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} mo\u{17E}nos\u{165}ou`,other:()=>`${t.number(e.groupCount)} mo\u{17E}nos\u{165}ami`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, vybraté`,other:``},e.isSelected)}`,listboxLabel:`Návrhy`,selectedAnnouncement:e=>`${e.optionText}, vybrat\xe9`};var va={};va={buttonLabel:`Prikaži predloge`,countAnnouncement:(e,t)=>`Na voljo je ${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} opcija`,other:()=>`${t.number(e.optionCount)} opcije`})}.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Vnesena skupina ${e.groupTitle}, z ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} opcija`,other:()=>`${t.number(e.groupCount)} opcije`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, izbrano`,other:``},e.isSelected)}`,listboxLabel:`Predlogi`,selectedAnnouncement:e=>`${e.optionText}, izbrano`};var ya={};ya={buttonLabel:`Prikaži predloge`,countAnnouncement:(e,t)=>`Dostupno jo\u{161}: ${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} opcija`,other:()=>`${t.number(e.optionCount)} opcije/a`})}.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Unesena grupa ${e.groupTitle}, s ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} opcijom`,other:()=>`${t.number(e.groupCount)} optione/a`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, izabranih`,other:``},e.isSelected)}`,listboxLabel:`Predlozi`,selectedAnnouncement:e=>`${e.optionText}, izabrano`};var ba={};ba={buttonLabel:`Visa förslag`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} alternativ`,other:()=>`${t.number(e.optionCount)} alternativ`})} tillg\xe4ngliga.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Ingick i gruppen ${e.groupTitle} med ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} alternativ`,other:()=>`${t.number(e.groupCount)} alternativ`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, valda`,other:``},e.isSelected)}`,listboxLabel:`Förslag`,selectedAnnouncement:e=>`${e.optionText}, valda`};var xa={};xa={buttonLabel:`Önerileri göster`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} se\xe7enek`,other:()=>`${t.number(e.optionCount)} se\xe7enekler`})} kullan\u{131}labilir.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`Girilen grup ${e.groupTitle}, ile ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} se\xe7enek`,other:()=>`${t.number(e.groupCount)} se\xe7enekler`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, seçildi`,other:``},e.isSelected)}`,listboxLabel:`Öneriler`,selectedAnnouncement:e=>`${e.optionText}, se\xe7ildi`};var Sa={};Sa={buttonLabel:`Показати пропозиції`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} \u{43F}\u{430}\u{440}\u{430}\u{43C}\u{435}\u{442}\u{440}`,other:()=>`${t.number(e.optionCount)} \u{43F}\u{430}\u{440}\u{430}\u{43C}\u{435}\u{442}\u{440}\u{438}(-\u{456}\u{432})`})} \u{434}\u{43E}\u{441}\u{442}\u{443}\u{43F}\u{43D}\u{43E}.`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`\u{412}\u{432}\u{435}\u{434}\u{435}\u{43D}\u{430} \u{433}\u{440}\u{443}\u{43F}\u{430} ${e.groupTitle}, \u{437} ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} \u{43F}\u{430}\u{440}\u{430}\u{43C}\u{435}\u{442}\u{440}`,other:()=>`${t.number(e.groupCount)} \u{43F}\u{430}\u{440}\u{430}\u{43C}\u{435}\u{442}\u{440}\u{438}(-\u{456}\u{432})`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, вибрано`,other:``},e.isSelected)}`,listboxLabel:`Пропозиції`,selectedAnnouncement:e=>`${e.optionText}, \u{432}\u{438}\u{431}\u{440}\u{430}\u{43D}\u{43E}`};var Ca={};Ca={buttonLabel:`显示建议`,countAnnouncement:(e,t)=>`\u{6709} ${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} \u{4E2A}\u{9009}\u{9879}`,other:()=>`${t.number(e.optionCount)} \u{4E2A}\u{9009}\u{9879}`})}\u{53EF}\u{7528}\u{3002}`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`\u{8FDB}\u{5165}\u{4E86} ${e.groupTitle} \u{7EC4}\u{FF0C}\u{5176}\u{4E2D}\u{6709} ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} \u{4E2A}\u{9009}\u{9879}`,other:()=>`${t.number(e.groupCount)} \u{4E2A}\u{9009}\u{9879}`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, 已选择`,other:``},e.isSelected)}`,listboxLabel:`建议`,selectedAnnouncement:e=>`${e.optionText}, \u{5DF2}\u{9009}\u{62E9}`};var wa={};wa={buttonLabel:`顯示建議`,countAnnouncement:(e,t)=>`${t.plural(e.optionCount,{one:()=>`${t.number(e.optionCount)} \u{9078}\u{9805}`,other:()=>`${t.number(e.optionCount)} \u{9078}\u{9805}`})} \u{53EF}\u{7528}\u{3002}`,focusAnnouncement:(e,t)=>`${t.select({true:()=>`\u{8F38}\u{5165}\u{7684}\u{7FA4}\u{7D44} ${e.groupTitle}, \u{6709} ${t.plural(e.groupCount,{one:()=>`${t.number(e.groupCount)} \u{9078}\u{9805}`,other:()=>`${t.number(e.groupCount)} \u{9078}\u{9805}`})}. `,other:``},e.isGroupChange)}${e.optionText}${t.select({true:`, 已選取`,other:``},e.isSelected)}`,listboxLabel:`建議`,selectedAnnouncement:e=>`${e.optionText}, \u{5DF2}\u{9078}\u{53D6}`};var Ta={};Ta={"ar-AE":Gi,"bg-BG":Ki,"cs-CZ":qi,"da-DK":Ji,"de-DE":Yi,"el-GR":Xi,"en-US":Zi,"es-ES":Qi,"et-EE":$i,"fi-FI":ea,"fr-FR":ta,"he-IL":na,"hr-HR":ra,"hu-HU":ia,"it-IT":aa,"ja-JP":oa,"ko-KR":sa,"lt-LT":ca,"lv-LV":la,"nb-NO":ua,"nl-NL":da,"pl-PL":fa,"pt-BR":pa,"pt-PT":ma,"ro-RO":ha,"ru-RU":ga,"sk-SK":_a,"sl-SI":va,"sr-SP":ya,"sv-SE":ba,"tr-TR":xa,"uk-UA":Sa,"zh-CN":Ca,"zh-TW":wa};function Ea(e){return e&&e.__esModule?e.default:e}function Da(e,t){let{buttonRef:n,popoverRef:i,inputRef:a,listBoxRef:o,keyboardDelegate:s,layoutDelegate:c,shouldFocusWrap:l,isReadOnly:u,isDisabled:d}=e,f=(0,Z.useRef)(null);n??=f;let p=he(Ea(Ta),`@react-aria/combobox`),{menuTriggerProps:m,menuProps:h}=si({type:`listbox`,isDisabled:d||u},t,n);Ni.set(t,{id:h.id});let{collection:g}=t,{disabledKeys:v}=t.selectionManager,y=(0,Z.useMemo)(()=>s||new In({collection:g,disabledKeys:v,ref:o,layoutDelegate:c}),[s,c,g,v,o]),{collectionProps:b}=jn({selectionManager:t.selectionManager,keyboardDelegate:y,disallowTypeAhead:!0,disallowEmptySelection:!0,shouldFocusWrap:l,ref:a,isVirtualized:!0}),x=_(),C=n=>{if(!n.nativeEvent.isComposing)switch(n.key){case`Enter`:case`Tab`:if(t.isOpen&&n.key===`Enter`&&n.preventDefault(),t.isOpen&&o.current&&t.selectionManager.focusedKey!=null){let e=t.collection.getItem(t.selectionManager.focusedKey);if(e?.props.href){let r=o.current.querySelector(`[data-key="${CSS.escape(t.selectionManager.focusedKey.toString())}"]`);n.key===`Enter`&&r instanceof HTMLAnchorElement&&x.open(r,n,e.props.href,e.props.routerOptions),t.close();break}else if(e?.props.onAction){e.props.onAction(),t.close();break}}t.commit();break;case`Escape`:(!t.selectionManager.isEmpty||t.inputValue===``||e.allowsCustomValue)&&n.continuePropagation(),t.revert();break;case`ArrowDown`:t.open(`first`,`manual`);break;case`ArrowUp`:t.open(`last`,`manual`);break;case`ArrowLeft`:case`ArrowRight`:t.selectionManager.setFocusedKey(null);break}},w=a=>{let o=n?.current&&n.current===a.relatedTarget,s=r(i.current,a.relatedTarget);o||s||(e.onBlur&&e.onBlur(a),t.setFocused(!1))},T=n=>{t.isFocused||(e.onFocus&&e.onFocus(n),t.setFocused(!0))},D=Oa([t.selectedItems,t.selectionManager.selectionMode]),{isInvalid:O,validationErrors:k,validationDetails:A}=t.displayValidation,{labelProps:j,inputProps:M,descriptionProps:N,errorMessageProps:P}=Cr({...e,onChange:t.setInputValue,onKeyDown:u?e.onKeyDown:V(t.isOpen&&b.onKeyDown,C,e.onKeyDown),onBlur:w,value:t.inputValue,defaultValue:t.defaultInputValue,onFocus:T,autoComplete:`off`,validate:void 0,[ur]:t,"aria-describedby":[D,e[`aria-describedby`]].filter(Boolean).join(` `)||void 0},a);Ne(a,t.defaultValue,t.setValue);let I=e=>{if(e.pointerType===`touch`){var n;(n=a.current)==null||n.focus(),t.toggle(null,`manual`)}},L=e=>{if(e.pointerType!==`touch`){var n;(n=a.current)==null||n.focus(),t.toggle(e.pointerType===`keyboard`||e.pointerType===`virtual`?`first`:null,`manual`)}},R=ve({id:m.id,"aria-label":p.format(`buttonLabel`),"aria-labelledby":e[`aria-labelledby`]||j.id}),B=ve({id:h.id,"aria-label":p.format(`listboxLabel`),"aria-labelledby":e[`aria-labelledby`]||j.id}),H=(0,Z.useRef)(0),W=e=>{if(d||u)return;if(e.timeStamp-H.current<500){var n;e.preventDefault(),(n=a.current)==null||n.focus();return}let r=z(e).getBoundingClientRect(),i=e.changedTouches[0],o=Math.ceil(r.left+.5*r.width),s=Math.ceil(r.top+.5*r.height);if(i.clientX===o&&i.clientY===s){var c;e.preventDefault(),(c=a.current)==null||c.focus(),t.toggle(null,`manual`),H.current=e.timeStamp}},G=t.selectionManager.focusedKey!=null&&t.isOpen?t.collection.getItem(t.selectionManager.focusedKey):void 0,K=G?.parentKey??null,q=t.selectionManager.focusedKey??null,ee=(0,Z.useRef)(K),Y=(0,Z.useRef)(q);(0,Z.useEffect)(()=>{if(U()&&G!=null&&q!=null&&q!==Y.current){let e=t.selectionManager.isSelected(q),n=K==null?null:t.collection.getItem(K),r=n?.[`aria-label`]||(typeof n?.rendered==`string`?n.rendered:``)||``;ui(p.format(`focusAnnouncement`,{isGroupChange:(n&&K!==ee.current)??!1,groupTitle:r,groupCount:n?[...rr(n,t.collection)].length:0,optionText:G[`aria-label`]||G.textValue||``,isSelected:e}))}ee.current=K,Y.current=q});let X=ar(t.collection),te=(0,Z.useRef)(X),ne=(0,Z.useRef)(t.isOpen);(0,Z.useEffect)(()=>{let e=t.isOpen!==ne.current&&(t.selectionManager.focusedKey==null||U());t.isOpen&&(e||X!==te.current)&&ui(p.format(`countAnnouncement`,{optionCount:X})),te.current=X,ne.current=t.isOpen});let re=(0,Z.useRef)(t.selectedKey);return(0,Z.useEffect)(()=>{if(U()&&t.isFocused&&t.selectedItem&&t.selectedKey!==re.current){let e=t.selectedItem[`aria-label`]||t.selectedItem.textValue||``;ui(p.format(`selectedAnnouncement`,{optionText:e}))}re.current=t.selectedKey}),(0,Z.useEffect)(()=>{if(t.isOpen)return yn([a.current,i.current].filter(e=>e!=null))},[t.isOpen,a,i]),ye(()=>{!G&&a.current&&J(F(a.current))===a.current&&_t(a.current,null)},[G]),Ae(o,`react-aria-item-action`,t.isOpen?()=>{t.close()}:void 0),E({ref:i,onInteractOutside:e=>{let i=z(e);r(n?.current,i)||r(a.current,i)||t.close()},isDisabled:!t.isOpen}),{labelProps:j,buttonProps:{...m,...R,excludeFromTabOrder:!0,preventFocusOnPress:!0,onPress:I,onPressStart:L,isDisabled:d||u},inputProps:S(M,{role:`combobox`,"aria-expanded":m[`aria-expanded`],"aria-controls":t.isOpen?h.id:void 0,"aria-autocomplete":`list`,"aria-activedescendant":G?Fi(t,G.key):void 0,onTouchEnd:W,autoCorrect:`off`,spellCheck:`false`}),listBoxProps:S(h,B,{autoFocus:t.focusStrategy||!0,shouldUseVirtualFocus:!0,shouldSelectOnPressUp:!0,shouldFocusOnHover:!0,linkBehavior:`selection`,UNSTABLE_itemBehavior:`action`}),valueProps:{id:D},descriptionProps:N,errorMessageProps:P,isInvalid:O,validationErrors:k,validationDetails:A}}function Oa(e=[]){let t=D(),[n,r]=(0,Z.useState)(!0),[i,a]=(0,Z.useState)(e);return i.some((t,n)=>!Object.is(t,e[n]))&&(r(!0),a(e)),(0,Z.useEffect)(()=>{n&&!document.getElementById(t)&&r(!1)},[t,n,i]),n?t:void 0}export{rt as _,Ii as a,wr as c,Zn as d,xn as f,mt as g,yt as h,Li as i,Cr as l,Ct as m,Bi as n,ji as o,gn as p,Ri as r,ki as s,Da as t,lr as u,Re as v};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{L as e}from"./vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~fpbtwbmk-DDSPtjxR.js";import{c as t}from"./declaration-B0yY_dkQ.js";import{t as n}from"./sdk-section-page-XJN9mGju.js";var r=t(),i=new Set([`verification.confirmation_mode`,`verification.security_analyzer`]);function a({scope:e=`personal`,renderTopContent:t,testId:a=`verification-settings-screen`}){return(0,r.jsx)(n,{scope:e,settingsSources:[{settingsSource:`conversation_settings`,sectionKeys:[`verification`]},{settingsSource:`agent_settings`,sectionKeys:[`verification`],excludeKeys:i}],header:t?()=>t():void 0,testId:a})}var o=e(a);export{o as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-D3nkdIAN.js";var t=e(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime-wFmyQBCi.js";import{t as e}from"./react-uQK8du1l.js";import{c as t}from"./declaration-B0yY_dkQ.js";e();var n=t(),r=e=>(0,n.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:2,...e,children:(0,n.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M6 18L18 6M6 6l12 12`})});export{r as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`../../../_virtual/_rolldown/runtime.cjs`),t=require(`../../../node_modules/react-i18next/dist/es/useTranslation.cjs`),n=require(`../../../i18n/declaration.cjs`),r=require(`../../../utils/utils.cjs`),i=require(`../../../hooks/use-conversation-id.cjs`),a=require(`../../../stores/model-store.cjs`),o=require(`../../../hooks/query/use-active-conversation.cjs`),s=require(`../../../hooks/query/use-settings.cjs`),c=require(`../../../hooks/query/use-llm-profiles.cjs`),l=require(`../../../utils/form-control-classes.cjs`),u=require(`../../../ui/combobox-caret.cjs`),d=require(`../../../hooks/mutation/use-switch-llm-profile-and-log.cjs`),f=require(`./switch-profile-context-menu.cjs`);let p=require(`react`);p=e.__toESM(p,1);let m=require(`react/jsx-runtime`);function h(){let{t:e}=t.useTranslation(`openhands`),[h,g]=p.default.useState(!1),{conversationId:_}=i.useOptionalConversationId(),{data:v}=c.useLlmProfiles(),{data:y}=o.useActiveConversation(),{data:b}=s.useSettings(),{switchAndLog:x,isPending:S}=d.useSwitchLlmProfileAndLog(),C=a.useModelStore(e=>_?e.activeProfileByConversation[_]:void 0),w=v?.profiles??[],T=y?.llm_model??null,E=y?.agent_kind===`acp`||!y&&b?.agent_settings?.agent_kind===`acp`,D=y?.active_profile??null,O=D&&w.some(e=>e.name===D)?D:null,k=C??O??(T?w.find(e=>e.model===T)?.name??null:v?.active_profile??null),A=w.find(e=>e.name===k)?.model??T??null;return w.length===0||E?null:(0,m.jsxs)(`div`,{className:`relative`,children:[(0,m.jsxs)(`button`,{type:`button`,onClick:e=>{e.preventDefault(),e.stopPropagation(),g(e=>!e)},disabled:S,"data-testid":`switch-profile-button`,title:A??void 0,"aria-haspopup":`menu`,"aria-expanded":h,className:r.cn(l.chatInputPillButtonClassName,`max-w-[200px]`,`disabled:opacity-50 disabled:cursor-not-allowed`),children:[(0,m.jsx)(`span`,{className:`truncate`,children:k??e(n.I18nKey.LLM$SELECT_MODEL_PLACEHOLDER)}),(0,m.jsx)(u.ComboboxCaretInline,{isOpen:h})]}),h&&(0,m.jsx)(f.SwitchProfileContextMenu,{profiles:w,activeProfileName:k,onSelect:e=>{e!==k&&x(_,e)},onClose:()=>g(!1)})]})}exports.SwitchProfileButton=h;
|
|
2
|
-
//# sourceMappingURL=switch-profile-button.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"switch-profile-button.cjs","names":[],"sources":["../../../../src/components/features/chat/switch-profile-button.tsx"],"sourcesContent":["import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { ComboboxCaretInline } from \"#/ui/combobox-caret\";\nimport { useLlmProfiles } from \"#/hooks/query/use-llm-profiles\";\nimport { useSwitchLlmProfileAndLog } from \"#/hooks/mutation/use-switch-llm-profile-and-log\";\nimport { useActiveConversation } from \"#/hooks/query/use-active-conversation\";\nimport { useSettings } from \"#/hooks/query/use-settings\";\nimport { useOptionalConversationId } from \"#/hooks/use-conversation-id\";\nimport { useModelStore } from \"#/stores/model-store\";\nimport { cn } from \"#/utils/utils\";\nimport { chatInputPillButtonClassName } from \"#/utils/form-control-classes\";\nimport { SwitchProfileContextMenu } from \"./switch-profile-context-menu\";\n\nexport function SwitchProfileButton() {\n const { t } = useTranslation(\"openhands\");\n const [contextMenuOpen, setContextMenuOpen] = React.useState(false);\n // Null on the home page; `useSwitchLlmProfileAndLog` is fine with that\n // because /api/profiles/<name>/activate is a global endpoint.\n const { conversationId } = useOptionalConversationId();\n const { data } = useLlmProfiles();\n const { data: conversation } = useActiveConversation();\n const { data: settings } = useSettings();\n const { switchAndLog, isPending } = useSwitchLlmProfileAndLog();\n // Optimistic value written by recordSwitch on a successful switch — gives\n // instant in-conversation feedback before the conversation refetch lands\n // with the new `llm_model`.\n const optimisticActiveProfile = useModelStore((s) =>\n conversationId ? s.activeProfileByConversation[conversationId] : undefined,\n );\n\n const profiles = data?.profiles ?? [];\n const conversationModel = conversation?.llm_model ?? null;\n // ACPAgent conversations route prompts to a CLI subprocess whose model is\n // controlled by ``acp_model`` (set in Settings → Agent), not by the LLM\n // profile picker. Surfacing the switcher here would let the user \"change\n // the model\" while the running subprocess silently keeps its own — a\n // confusing no-op. Hide the button even when ``llm_model`` carries an ACP\n // display model for chips/headers.\n //\n // On the home screen ``conversation`` is undefined; fall back to\n // ``settings.agent_settings.agent_kind`` so the picker also hides when\n // ACP is the *default* the next-created conversation would inherit.\n // Otherwise an ACP user lands on a home page with an LLM-switch\n // control that contradicts the ACP nav gating everywhere else.\n const isAcpActive =\n conversation?.agent_kind === \"acp\" ||\n (!conversation && settings?.agent_settings?.agent_kind === \"acp\");\n\n // Resolution priority for the active profile name:\n // 1. Optimistic (just-clicked) — instant feedback before the refetch.\n // 2. Profile stamped on the conversation at creation / last switch —\n // exact identity, survives reload, and is unambiguous when several\n // profiles share one underlying model (#1082). Validated against the\n // live list so a since-deleted/renamed profile falls through.\n // 3. Profile whose model matches the running llm_model — legacy fallback.\n // 4. User-level active_profile — home page / before the conversation has\n // sent any messages.\n const stampedProfile = conversation?.active_profile ?? null;\n const conversationProfile =\n stampedProfile && profiles.some((p) => p.name === stampedProfile)\n ? stampedProfile\n : null;\n const activeProfileName =\n optimisticActiveProfile ??\n conversationProfile ??\n (conversationModel\n ? (profiles.find((p) => p.model === conversationModel)?.name ?? null)\n : (data?.active_profile ?? null));\n const activeProfileModel =\n profiles.find((p) => p.name === activeProfileName)?.model ??\n conversationModel ??\n null;\n\n if (profiles.length === 0 || isAcpActive) {\n return null;\n }\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.stopPropagation();\n setContextMenuOpen((open) => !open);\n };\n\n const handleSelect = (profileName: string) => {\n if (profileName === activeProfileName) return;\n switchAndLog(conversationId, profileName);\n };\n\n return (\n <div className=\"relative\">\n <button\n type=\"button\"\n onClick={handleClick}\n disabled={isPending}\n data-testid=\"switch-profile-button\"\n title={activeProfileModel ?? undefined}\n aria-haspopup=\"menu\"\n aria-expanded={contextMenuOpen}\n className={cn(\n chatInputPillButtonClassName,\n \"max-w-[200px]\",\n \"disabled:opacity-50 disabled:cursor-not-allowed\",\n )}\n >\n <span className=\"truncate\">\n {activeProfileName ?? t(I18nKey.LLM$SELECT_MODEL_PLACEHOLDER)}\n </span>\n <ComboboxCaretInline isOpen={contextMenuOpen} />\n </button>\n {contextMenuOpen && (\n <SwitchProfileContextMenu\n profiles={profiles}\n activeProfileName={activeProfileName}\n onSelect={handleSelect}\n onClose={() => setContextMenuOpen(false)}\n />\n )}\n </div>\n );\n}\n"],"mappings":"owBAcA,SAAgB,GAAsB,CACpC,GAAM,CAAE,KAAM,EAAA,eAAe,YAAY,CACnC,CAAC,EAAiB,GAAsB,EAAA,QAAM,SAAS,GAAM,CAG7D,CAAE,kBAAmB,EAAA,2BAA2B,CAChD,CAAE,QAAS,EAAA,gBAAgB,CAC3B,CAAE,KAAM,GAAiB,EAAA,uBAAuB,CAChD,CAAE,KAAM,GAAa,EAAA,aAAa,CAClC,CAAE,eAAc,aAAc,EAAA,2BAA2B,CAIzD,EAA0B,EAAA,cAAe,GAC7C,EAAiB,EAAE,4BAA4B,GAAkB,IAAA,GAClE,CAEK,EAAW,GAAM,UAAY,EAAE,CAC/B,EAAoB,GAAc,WAAa,KAa/C,EACJ,GAAc,aAAe,OAC5B,CAAC,GAAgB,GAAU,gBAAgB,aAAe,MAWvD,EAAiB,GAAc,gBAAkB,KACjD,EACJ,GAAkB,EAAS,KAAM,GAAM,EAAE,OAAS,EAAe,CAC7D,EACA,KACA,EACJ,GACA,IACC,EACI,EAAS,KAAM,GAAM,EAAE,QAAU,EAAkB,EAAE,MAAQ,KAC7D,GAAM,gBAAkB,MACzB,EACJ,EAAS,KAAM,GAAM,EAAE,OAAS,EAAkB,EAAE,OACpD,GACA,KAiBF,OAfI,EAAS,SAAW,GAAK,EACpB,MAeP,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,oBAAf,EACE,EAAA,EAAA,MAAC,SAAD,CACE,KAAK,SACL,QAfe,GAA+C,CAClE,EAAM,gBAAgB,CACtB,EAAM,iBAAiB,CACvB,EAAoB,GAAS,CAAC,EAAK,EAa/B,SAAU,EACV,cAAY,wBACZ,MAAO,GAAsB,IAAA,GAC7B,gBAAc,OACd,gBAAe,EACf,UAAW,EAAA,GACT,EAAA,6BACA,gBACA,kDACD,UAZH,EAcE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,oBACb,GAAqB,EAAE,EAAA,QAAQ,6BAA6B,CACxD,CAAA,EACP,EAAA,EAAA,KAAC,EAAA,oBAAD,CAAqB,OAAQ,EAAmB,CAAA,CACzC,GACR,IACC,EAAA,EAAA,KAAC,EAAA,yBAAD,CACY,WACS,oBACnB,SA9Bc,GAAwB,CACxC,IAAgB,GACpB,EAAa,EAAgB,EAAY,EA6BnC,YAAe,EAAmB,GAAM,CACxC,CAAA,CAEA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function SwitchProfileButton(): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { useTranslation as e } from "../../../node_modules/react-i18next/dist/es/useTranslation.js";
|
|
2
|
-
import { I18nKey as t } from "../../../i18n/declaration.js";
|
|
3
|
-
import { cn as n } from "../../../utils/utils.js";
|
|
4
|
-
import { useOptionalConversationId as r } from "../../../hooks/use-conversation-id.js";
|
|
5
|
-
import { useModelStore as i } from "../../../stores/model-store.js";
|
|
6
|
-
import { useActiveConversation as a } from "../../../hooks/query/use-active-conversation.js";
|
|
7
|
-
import { useSettings as o } from "../../../hooks/query/use-settings.js";
|
|
8
|
-
import { useLlmProfiles as s } from "../../../hooks/query/use-llm-profiles.js";
|
|
9
|
-
import { chatInputPillButtonClassName as c } from "../../../utils/form-control-classes.js";
|
|
10
|
-
import { ComboboxCaretInline as l } from "../../../ui/combobox-caret.js";
|
|
11
|
-
import { useSwitchLlmProfileAndLog as u } from "../../../hooks/mutation/use-switch-llm-profile-and-log.js";
|
|
12
|
-
import { SwitchProfileContextMenu as d } from "./switch-profile-context-menu.js";
|
|
13
|
-
import f from "react";
|
|
14
|
-
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
15
|
-
//#region src/components/features/chat/switch-profile-button.tsx
|
|
16
|
-
function h() {
|
|
17
|
-
let { t: h } = e("openhands"), [g, _] = f.useState(!1), { conversationId: v } = r(), { data: y } = s(), { data: b } = a(), { data: x } = o(), { switchAndLog: S, isPending: C } = u(), w = i((e) => v ? e.activeProfileByConversation[v] : void 0), T = y?.profiles ?? [], E = b?.llm_model ?? null, D = b?.agent_kind === "acp" || !b && x?.agent_settings?.agent_kind === "acp", O = b?.active_profile ?? null, k = O && T.some((e) => e.name === O) ? O : null, A = w ?? k ?? (E ? T.find((e) => e.model === E)?.name ?? null : y?.active_profile ?? null), j = T.find((e) => e.name === A)?.model ?? E ?? null;
|
|
18
|
-
return T.length === 0 || D ? null : /* @__PURE__ */ m("div", {
|
|
19
|
-
className: "relative",
|
|
20
|
-
children: [/* @__PURE__ */ m("button", {
|
|
21
|
-
type: "button",
|
|
22
|
-
onClick: (e) => {
|
|
23
|
-
e.preventDefault(), e.stopPropagation(), _((e) => !e);
|
|
24
|
-
},
|
|
25
|
-
disabled: C,
|
|
26
|
-
"data-testid": "switch-profile-button",
|
|
27
|
-
title: j ?? void 0,
|
|
28
|
-
"aria-haspopup": "menu",
|
|
29
|
-
"aria-expanded": g,
|
|
30
|
-
className: n(c, "max-w-[200px]", "disabled:opacity-50 disabled:cursor-not-allowed"),
|
|
31
|
-
children: [/* @__PURE__ */ p("span", {
|
|
32
|
-
className: "truncate",
|
|
33
|
-
children: A ?? h(t.LLM$SELECT_MODEL_PLACEHOLDER)
|
|
34
|
-
}), /* @__PURE__ */ p(l, { isOpen: g })]
|
|
35
|
-
}), g && /* @__PURE__ */ p(d, {
|
|
36
|
-
profiles: T,
|
|
37
|
-
activeProfileName: A,
|
|
38
|
-
onSelect: (e) => {
|
|
39
|
-
e !== A && S(v, e);
|
|
40
|
-
},
|
|
41
|
-
onClose: () => _(!1)
|
|
42
|
-
})]
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
//#endregion
|
|
46
|
-
export { h as SwitchProfileButton };
|
|
47
|
-
|
|
48
|
-
//# sourceMappingURL=switch-profile-button.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"switch-profile-button.js","names":[],"sources":["../../../../src/components/features/chat/switch-profile-button.tsx"],"sourcesContent":["import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { ComboboxCaretInline } from \"#/ui/combobox-caret\";\nimport { useLlmProfiles } from \"#/hooks/query/use-llm-profiles\";\nimport { useSwitchLlmProfileAndLog } from \"#/hooks/mutation/use-switch-llm-profile-and-log\";\nimport { useActiveConversation } from \"#/hooks/query/use-active-conversation\";\nimport { useSettings } from \"#/hooks/query/use-settings\";\nimport { useOptionalConversationId } from \"#/hooks/use-conversation-id\";\nimport { useModelStore } from \"#/stores/model-store\";\nimport { cn } from \"#/utils/utils\";\nimport { chatInputPillButtonClassName } from \"#/utils/form-control-classes\";\nimport { SwitchProfileContextMenu } from \"./switch-profile-context-menu\";\n\nexport function SwitchProfileButton() {\n const { t } = useTranslation(\"openhands\");\n const [contextMenuOpen, setContextMenuOpen] = React.useState(false);\n // Null on the home page; `useSwitchLlmProfileAndLog` is fine with that\n // because /api/profiles/<name>/activate is a global endpoint.\n const { conversationId } = useOptionalConversationId();\n const { data } = useLlmProfiles();\n const { data: conversation } = useActiveConversation();\n const { data: settings } = useSettings();\n const { switchAndLog, isPending } = useSwitchLlmProfileAndLog();\n // Optimistic value written by recordSwitch on a successful switch — gives\n // instant in-conversation feedback before the conversation refetch lands\n // with the new `llm_model`.\n const optimisticActiveProfile = useModelStore((s) =>\n conversationId ? s.activeProfileByConversation[conversationId] : undefined,\n );\n\n const profiles = data?.profiles ?? [];\n const conversationModel = conversation?.llm_model ?? null;\n // ACPAgent conversations route prompts to a CLI subprocess whose model is\n // controlled by ``acp_model`` (set in Settings → Agent), not by the LLM\n // profile picker. Surfacing the switcher here would let the user \"change\n // the model\" while the running subprocess silently keeps its own — a\n // confusing no-op. Hide the button even when ``llm_model`` carries an ACP\n // display model for chips/headers.\n //\n // On the home screen ``conversation`` is undefined; fall back to\n // ``settings.agent_settings.agent_kind`` so the picker also hides when\n // ACP is the *default* the next-created conversation would inherit.\n // Otherwise an ACP user lands on a home page with an LLM-switch\n // control that contradicts the ACP nav gating everywhere else.\n const isAcpActive =\n conversation?.agent_kind === \"acp\" ||\n (!conversation && settings?.agent_settings?.agent_kind === \"acp\");\n\n // Resolution priority for the active profile name:\n // 1. Optimistic (just-clicked) — instant feedback before the refetch.\n // 2. Profile stamped on the conversation at creation / last switch —\n // exact identity, survives reload, and is unambiguous when several\n // profiles share one underlying model (#1082). Validated against the\n // live list so a since-deleted/renamed profile falls through.\n // 3. Profile whose model matches the running llm_model — legacy fallback.\n // 4. User-level active_profile — home page / before the conversation has\n // sent any messages.\n const stampedProfile = conversation?.active_profile ?? null;\n const conversationProfile =\n stampedProfile && profiles.some((p) => p.name === stampedProfile)\n ? stampedProfile\n : null;\n const activeProfileName =\n optimisticActiveProfile ??\n conversationProfile ??\n (conversationModel\n ? (profiles.find((p) => p.model === conversationModel)?.name ?? null)\n : (data?.active_profile ?? null));\n const activeProfileModel =\n profiles.find((p) => p.name === activeProfileName)?.model ??\n conversationModel ??\n null;\n\n if (profiles.length === 0 || isAcpActive) {\n return null;\n }\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.stopPropagation();\n setContextMenuOpen((open) => !open);\n };\n\n const handleSelect = (profileName: string) => {\n if (profileName === activeProfileName) return;\n switchAndLog(conversationId, profileName);\n };\n\n return (\n <div className=\"relative\">\n <button\n type=\"button\"\n onClick={handleClick}\n disabled={isPending}\n data-testid=\"switch-profile-button\"\n title={activeProfileModel ?? undefined}\n aria-haspopup=\"menu\"\n aria-expanded={contextMenuOpen}\n className={cn(\n chatInputPillButtonClassName,\n \"max-w-[200px]\",\n \"disabled:opacity-50 disabled:cursor-not-allowed\",\n )}\n >\n <span className=\"truncate\">\n {activeProfileName ?? t(I18nKey.LLM$SELECT_MODEL_PLACEHOLDER)}\n </span>\n <ComboboxCaretInline isOpen={contextMenuOpen} />\n </button>\n {contextMenuOpen && (\n <SwitchProfileContextMenu\n profiles={profiles}\n activeProfileName={activeProfileName}\n onSelect={handleSelect}\n onClose={() => setContextMenuOpen(false)}\n />\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;AAcA,SAAgB,IAAsB;CACpC,IAAM,EAAE,SAAM,EAAe,YAAY,EACnC,CAAC,GAAiB,KAAsB,EAAM,SAAS,GAAM,EAG7D,EAAE,sBAAmB,GAA2B,EAChD,EAAE,YAAS,GAAgB,EAC3B,EAAE,MAAM,MAAiB,GAAuB,EAChD,EAAE,MAAM,MAAa,GAAa,EAClC,EAAE,iBAAc,iBAAc,GAA2B,EAIzD,IAA0B,GAAe,MAC7C,IAAiB,EAAE,4BAA4B,KAAkB,KAAA,EAClE,EAEK,IAAW,GAAM,YAAY,EAAE,EAC/B,IAAoB,GAAc,aAAa,MAa/C,IACJ,GAAc,eAAe,SAC5B,CAAC,KAAgB,GAAU,gBAAgB,eAAe,OAWvD,IAAiB,GAAc,kBAAkB,MACjD,IACJ,KAAkB,EAAS,MAAM,MAAM,EAAE,SAAS,EAAe,GAC7D,IACA,MACA,IACJ,KACA,MACC,IACI,EAAS,MAAM,MAAM,EAAE,UAAU,EAAkB,EAAE,QAAQ,OAC7D,GAAM,kBAAkB,OACzB,IACJ,EAAS,MAAM,MAAM,EAAE,SAAS,EAAkB,EAAE,SACpD,KACA;AAiBF,QAfI,EAAS,WAAW,KAAK,IACpB,OAeP,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,UAAD;GACE,MAAK;GACL,UAfe,MAA+C;AAGlE,IAFA,EAAM,gBAAgB,EACtB,EAAM,iBAAiB,EACvB,GAAoB,MAAS,CAAC,EAAK;;GAa/B,UAAU;GACV,eAAY;GACZ,OAAO,KAAsB,KAAA;GAC7B,iBAAc;GACd,iBAAe;GACf,WAAW,EACT,GACA,iBACA,kDACD;aAZH,CAcE,kBAAC,QAAD;IAAM,WAAU;cACb,KAAqB,EAAE,EAAQ,6BAA6B;IACxD,CAAA,EACP,kBAAC,GAAD,EAAqB,QAAQ,GAAmB,CAAA,CACzC;MACR,KACC,kBAAC,GAAD;GACY;GACS;GACnB,WA9Bc,MAAwB;AACxC,UAAgB,KACpB,EAAa,GAAgB,EAAY;;GA6BnC,eAAe,EAAmB,GAAM;GACxC,CAAA,CAEA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require(`../../../_virtual/_rolldown/runtime.cjs`),t=require(`../../../node_modules/react-i18next/dist/es/useTranslation.cjs`),n=require(`../../../i18n/declaration.cjs`),r=require(`../../../utils/utils.cjs`),i=require(`../../../icons/checkmark.cjs`),a=require(`../../../ui/typography.cjs`),o=require(`../../../utils/dropdown-classes.cjs`),s=require(`../../../ui/context-menu.cjs`),c=require(`../context-menu/context-menu-list-item.cjs`),l=require(`../../../hooks/use-click-outside-element.cjs`),u=require(`../../shared/navigation-link.cjs`),d=require(`../../../ui/divider.cjs`),f=require(`../../../icons/u-circuit.cjs`),p=require(`../../../icons/settings.cjs`);let m=require(`react`);m=e.__toESM(m,1);let h=require(`react/jsx-runtime`);var g=r.cn(r.cn(`w-full flex flex-col gap-0.5 p-2 rounded`,`text-start hover:bg-[var(--oh-interactive-hover)] cursor-pointer text-nowrap`),`h-auto items-stretch`),_=r.cn(`group w-full flex items-center p-2 rounded`,o.dropdownMenuRowGapClassName,`text-start hover:bg-[var(--oh-interactive-hover)] cursor-pointer text-nowrap`);function v({profiles:e,activeProfileName:v,onSelect:y,onClose:b}){let{t:x}=t.useTranslation(`openhands`),S=l.useClickOutsideElement(b);m.default.useEffect(()=>{let e=e=>{e.key===`Escape`&&b()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[b]);let C=(e,t)=>{e.preventDefault(),e.stopPropagation(),y(t),b()};return(0,h.jsxs)(s.ContextMenu,{ref:S,testId:`switch-profile-context-menu`,position:`top`,alignment:`left`,className:`z-[60] left-0 mb-2 bottom-full min-w-[280px] pt-0`,children:[(0,h.jsx)(`div`,{className:`px-2 pb-0.5`,children:(0,h.jsx)(a.Typography.Text,{className:`text-[11px] font-medium text-[var(--oh-text-dim)] uppercase tracking-wide leading-4`,children:x(n.I18nKey.SETTINGS$AVAILABLE_PROFILES)})}),(0,h.jsx)(`div`,{"data-testid":`switch-profile-options-list`,className:o.switchProfileMenuListScrollClassName,children:e.map(e=>{let t=e.name===v;return(0,h.jsxs)(c.ContextMenuListItem,{testId:`switch-profile-option-${e.name}`,onClick:t=>C(t,e.name),className:r.cn(g,t&&`bg-[var(--oh-interactive-hover)]`),children:[(0,h.jsxs)(`span`,{className:r.cn(`flex items-center min-w-0`,o.dropdownMenuRowGapClassName),title:e.model??void 0,children:[(0,h.jsx)(`span`,{className:o.dropdownMenuRowIconWrapperClassName,"aria-hidden":!0,children:(0,h.jsx)(f.default,{width:16,height:16})}),(0,h.jsx)(`span`,{className:`flex-1 truncate text-sm leading-5`,children:e.name}),t&&(0,h.jsx)(i.default,{width:14,height:14,className:`shrink-0`,"aria-hidden":!0})]}),e.model&&(0,h.jsx)(`span`,{className:`block truncate text-xs leading-4 text-[var(--oh-muted)] pl-6`,children:e.model})]},e.name)})}),(0,h.jsx)(d.Divider,{}),(0,h.jsxs)(u.NavigationLink,{to:`/settings`,onClick:b,"data-testid":`switch-profile-open-settings`,className:_,children:[(0,h.jsx)(`span`,{className:o.dropdownMenuRowIconWrapperClassName,"aria-hidden":!0,children:(0,h.jsx)(p.default,{width:16,height:16})}),(0,h.jsx)(`span`,{className:`text-sm leading-5`,children:x(n.I18nKey.MODEL$OPEN_SETTINGS)})]})]})}exports.SwitchProfileContextMenu=v;
|
|
2
|
-
//# sourceMappingURL=switch-profile-context-menu.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"switch-profile-context-menu.cjs","names":[],"sources":["../../../../src/components/features/chat/switch-profile-context-menu.tsx"],"sourcesContent":["import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { ContextMenu } from \"#/ui/context-menu\";\nimport { Divider } from \"#/ui/divider\";\nimport { Typography } from \"#/ui/typography\";\nimport { NavigationLink } from \"#/components/shared/navigation-link\";\nimport { ContextMenuListItem } from \"../context-menu/context-menu-list-item\";\nimport { useClickOutsideElement } from \"#/hooks/use-click-outside-element\";\nimport CircuitIcon from \"#/icons/u-circuit.svg?react\";\nimport SettingsIcon from \"#/icons/settings.svg?react\";\nimport CheckIcon from \"#/icons/checkmark.svg?react\";\nimport { cn } from \"#/utils/utils\";\nimport type { ProfileInfo } from \"#/api/profiles-service/profiles-service.api\";\nimport {\n dropdownMenuRowGapClassName,\n dropdownMenuRowIconWrapperClassName,\n switchProfileMenuListScrollClassName,\n} from \"#/utils/dropdown-classes\";\n\nconst rowBaseClassName = cn(\n \"w-full flex flex-col gap-0.5 p-2 rounded\",\n \"text-start hover:bg-[var(--oh-interactive-hover)] cursor-pointer text-nowrap\",\n);\nconst profileRowClassName = cn(rowBaseClassName, \"h-auto items-stretch\");\nconst linkRowClassName = cn(\n \"group w-full flex items-center p-2 rounded\",\n dropdownMenuRowGapClassName,\n \"text-start hover:bg-[var(--oh-interactive-hover)] cursor-pointer text-nowrap\",\n);\n\ninterface SwitchProfileContextMenuProps {\n profiles: ProfileInfo[];\n activeProfileName: string | null;\n onSelect: (profileName: string) => void;\n onClose: () => void;\n}\n\nexport function SwitchProfileContextMenu({\n profiles,\n activeProfileName,\n onSelect,\n onClose,\n}: SwitchProfileContextMenuProps) {\n const { t } = useTranslation(\"openhands\");\n const ref = useClickOutsideElement<HTMLUListElement>(onClose);\n\n React.useEffect(() => {\n const onKey = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") onClose();\n };\n document.addEventListener(\"keydown\", onKey);\n return () => document.removeEventListener(\"keydown\", onKey);\n }, [onClose]);\n\n const handleSelect = (\n event: React.MouseEvent<HTMLButtonElement>,\n name: string,\n ) => {\n event.preventDefault();\n event.stopPropagation();\n onSelect(name);\n onClose();\n };\n\n return (\n <ContextMenu\n ref={ref}\n testId=\"switch-profile-context-menu\"\n position=\"top\"\n alignment=\"left\"\n className=\"z-[60] left-0 mb-2 bottom-full min-w-[280px] pt-0\"\n >\n <div className=\"px-2 pb-0.5\">\n <Typography.Text className=\"text-[11px] font-medium text-[var(--oh-text-dim)] uppercase tracking-wide leading-4\">\n {t(I18nKey.SETTINGS$AVAILABLE_PROFILES)}\n </Typography.Text>\n </div>\n <div\n data-testid=\"switch-profile-options-list\"\n className={switchProfileMenuListScrollClassName}\n >\n {profiles.map((profile) => {\n const isActive = profile.name === activeProfileName;\n return (\n <ContextMenuListItem\n key={profile.name}\n testId={`switch-profile-option-${profile.name}`}\n onClick={(event) => handleSelect(event, profile.name)}\n className={cn(\n profileRowClassName,\n isActive && \"bg-[var(--oh-interactive-hover)]\",\n )}\n >\n <span\n className={cn(\n \"flex items-center min-w-0\",\n dropdownMenuRowGapClassName,\n )}\n title={profile.model ?? undefined}\n >\n <span\n className={dropdownMenuRowIconWrapperClassName}\n aria-hidden\n >\n <CircuitIcon width={16} height={16} />\n </span>\n <span className=\"flex-1 truncate text-sm leading-5\">\n {profile.name}\n </span>\n {isActive && (\n <CheckIcon\n width={14}\n height={14}\n className=\"shrink-0\"\n aria-hidden\n />\n )}\n </span>\n {profile.model && (\n <span className=\"block truncate text-xs leading-4 text-[var(--oh-muted)] pl-6\">\n {profile.model}\n </span>\n )}\n </ContextMenuListItem>\n );\n })}\n </div>\n <Divider />\n <NavigationLink\n to=\"/settings\"\n onClick={onClose}\n data-testid=\"switch-profile-open-settings\"\n className={linkRowClassName}\n >\n <span className={dropdownMenuRowIconWrapperClassName} aria-hidden>\n <SettingsIcon width={16} height={16} />\n </span>\n <span className=\"text-sm leading-5\">\n {t(I18nKey.MODEL$OPEN_SETTINGS)}\n </span>\n </NavigationLink>\n </ContextMenu>\n );\n}\n"],"mappings":"wuBAwBA,IAAM,EAAsB,EAAA,GAJH,EAAA,GACvB,2CACA,+EAE6B,CAAkB,uBAAuB,CAClE,EAAmB,EAAA,GACvB,6CACA,EAAA,4BACA,+EACD,CASD,SAAgB,EAAyB,CACvC,WACA,oBACA,WACA,WACgC,CAChC,GAAM,CAAE,KAAM,EAAA,eAAe,YAAY,CACnC,EAAM,EAAA,uBAAyC,EAAQ,CAE7D,EAAA,QAAM,cAAgB,CACpB,IAAM,EAAS,GAAqB,CAC9B,EAAE,MAAQ,UAAU,GAAS,EAGnC,OADA,SAAS,iBAAiB,UAAW,EAAM,KAC9B,SAAS,oBAAoB,UAAW,EAAM,EAC1D,CAAC,EAAQ,CAAC,CAEb,IAAM,GACJ,EACA,IACG,CACH,EAAM,gBAAgB,CACtB,EAAM,iBAAiB,CACvB,EAAS,EAAK,CACd,GAAS,EAGX,OACE,EAAA,EAAA,MAAC,EAAA,YAAD,CACO,MACL,OAAO,8BACP,SAAS,MACT,UAAU,OACV,UAAU,6DALZ,EAOE,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,wBACb,EAAA,EAAA,KAAC,EAAA,WAAW,KAAZ,CAAiB,UAAU,+FACxB,EAAE,EAAA,QAAQ,4BAA4B,CACvB,CAAA,CACd,CAAA,EACN,EAAA,EAAA,KAAC,MAAD,CACE,cAAY,8BACZ,UAAW,EAAA,8CAEV,EAAS,IAAK,GAAY,CACzB,IAAM,EAAW,EAAQ,OAAS,EAClC,OACE,EAAA,EAAA,MAAC,EAAA,oBAAD,CAEE,OAAQ,yBAAyB,EAAQ,OACzC,QAAU,GAAU,EAAa,EAAO,EAAQ,KAAK,CACrD,UAAW,EAAA,GACT,EACA,GAAY,mCACb,UAPH,EASE,EAAA,EAAA,MAAC,OAAD,CACE,UAAW,EAAA,GACT,4BACA,EAAA,4BACD,CACD,MAAO,EAAQ,OAAS,IAAA,YAL1B,EAOE,EAAA,EAAA,KAAC,OAAD,CACE,UAAW,EAAA,oCACX,cAAA,aAEA,EAAA,EAAA,KAAC,EAAA,QAAD,CAAa,MAAO,GAAI,OAAQ,GAAM,CAAA,CACjC,CAAA,EACP,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,6CACb,EAAQ,KACJ,CAAA,CACN,IACC,EAAA,EAAA,KAAC,EAAA,QAAD,CACE,MAAO,GACP,OAAQ,GACR,UAAU,WACV,cAAA,GACA,CAAA,CAEC,GACN,EAAQ,QACP,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,wEACb,EAAQ,MACJ,CAAA,CAEW,EAtCf,EAAQ,KAsCO,EAExB,CACE,CAAA,EACN,EAAA,EAAA,KAAC,EAAA,QAAD,EAAW,CAAA,EACX,EAAA,EAAA,MAAC,EAAA,eAAD,CACE,GAAG,YACH,QAAS,EACT,cAAY,+BACZ,UAAW,WAJb,EAME,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,oCAAqC,cAAA,aACpD,EAAA,EAAA,KAAC,EAAA,QAAD,CAAc,MAAO,GAAI,OAAQ,GAAM,CAAA,CAClC,CAAA,EACP,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,6BACb,EAAE,EAAA,QAAQ,oBAAoB,CAC1B,CAAA,CACQ,GACL"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ProfileInfo } from "#/api/profiles-service/profiles-service.api";
|
|
2
|
-
interface SwitchProfileContextMenuProps {
|
|
3
|
-
profiles: ProfileInfo[];
|
|
4
|
-
activeProfileName: string | null;
|
|
5
|
-
onSelect: (profileName: string) => void;
|
|
6
|
-
onClose: () => void;
|
|
7
|
-
}
|
|
8
|
-
export declare function SwitchProfileContextMenu({ profiles, activeProfileName, onSelect, onClose, }: SwitchProfileContextMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export {};
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { useTranslation as e } from "../../../node_modules/react-i18next/dist/es/useTranslation.js";
|
|
2
|
-
import { I18nKey as t } from "../../../i18n/declaration.js";
|
|
3
|
-
import { cn as n } from "../../../utils/utils.js";
|
|
4
|
-
import r from "../../../icons/checkmark.js";
|
|
5
|
-
import { Typography as i } from "../../../ui/typography.js";
|
|
6
|
-
import { dropdownMenuRowGapClassName as a, dropdownMenuRowIconWrapperClassName as o, switchProfileMenuListScrollClassName as s } from "../../../utils/dropdown-classes.js";
|
|
7
|
-
import { ContextMenu as c } from "../../../ui/context-menu.js";
|
|
8
|
-
import { ContextMenuListItem as l } from "../context-menu/context-menu-list-item.js";
|
|
9
|
-
import { useClickOutsideElement as u } from "../../../hooks/use-click-outside-element.js";
|
|
10
|
-
import { NavigationLink as d } from "../../shared/navigation-link.js";
|
|
11
|
-
import { Divider as f } from "../../../ui/divider.js";
|
|
12
|
-
import p from "../../../icons/u-circuit.js";
|
|
13
|
-
import m from "../../../icons/settings.js";
|
|
14
|
-
import h from "react";
|
|
15
|
-
import { jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
16
|
-
//#region src/components/features/chat/switch-profile-context-menu.tsx
|
|
17
|
-
var v = n(n("w-full flex flex-col gap-0.5 p-2 rounded", "text-start hover:bg-[var(--oh-interactive-hover)] cursor-pointer text-nowrap"), "h-auto items-stretch"), y = n("group w-full flex items-center p-2 rounded", a, "text-start hover:bg-[var(--oh-interactive-hover)] cursor-pointer text-nowrap");
|
|
18
|
-
function b({ profiles: b, activeProfileName: x, onSelect: S, onClose: C }) {
|
|
19
|
-
let { t: w } = e("openhands"), T = u(C);
|
|
20
|
-
h.useEffect(() => {
|
|
21
|
-
let e = (e) => {
|
|
22
|
-
e.key === "Escape" && C();
|
|
23
|
-
};
|
|
24
|
-
return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
|
|
25
|
-
}, [C]);
|
|
26
|
-
let E = (e, t) => {
|
|
27
|
-
e.preventDefault(), e.stopPropagation(), S(t), C();
|
|
28
|
-
};
|
|
29
|
-
return /* @__PURE__ */ _(c, {
|
|
30
|
-
ref: T,
|
|
31
|
-
testId: "switch-profile-context-menu",
|
|
32
|
-
position: "top",
|
|
33
|
-
alignment: "left",
|
|
34
|
-
className: "z-[60] left-0 mb-2 bottom-full min-w-[280px] pt-0",
|
|
35
|
-
children: [
|
|
36
|
-
/* @__PURE__ */ g("div", {
|
|
37
|
-
className: "px-2 pb-0.5",
|
|
38
|
-
children: /* @__PURE__ */ g(i.Text, {
|
|
39
|
-
className: "text-[11px] font-medium text-[var(--oh-text-dim)] uppercase tracking-wide leading-4",
|
|
40
|
-
children: w(t.SETTINGS$AVAILABLE_PROFILES)
|
|
41
|
-
})
|
|
42
|
-
}),
|
|
43
|
-
/* @__PURE__ */ g("div", {
|
|
44
|
-
"data-testid": "switch-profile-options-list",
|
|
45
|
-
className: s,
|
|
46
|
-
children: b.map((e) => {
|
|
47
|
-
let t = e.name === x;
|
|
48
|
-
return /* @__PURE__ */ _(l, {
|
|
49
|
-
testId: `switch-profile-option-${e.name}`,
|
|
50
|
-
onClick: (t) => E(t, e.name),
|
|
51
|
-
className: n(v, t && "bg-[var(--oh-interactive-hover)]"),
|
|
52
|
-
children: [/* @__PURE__ */ _("span", {
|
|
53
|
-
className: n("flex items-center min-w-0", a),
|
|
54
|
-
title: e.model ?? void 0,
|
|
55
|
-
children: [
|
|
56
|
-
/* @__PURE__ */ g("span", {
|
|
57
|
-
className: o,
|
|
58
|
-
"aria-hidden": !0,
|
|
59
|
-
children: /* @__PURE__ */ g(p, {
|
|
60
|
-
width: 16,
|
|
61
|
-
height: 16
|
|
62
|
-
})
|
|
63
|
-
}),
|
|
64
|
-
/* @__PURE__ */ g("span", {
|
|
65
|
-
className: "flex-1 truncate text-sm leading-5",
|
|
66
|
-
children: e.name
|
|
67
|
-
}),
|
|
68
|
-
t && /* @__PURE__ */ g(r, {
|
|
69
|
-
width: 14,
|
|
70
|
-
height: 14,
|
|
71
|
-
className: "shrink-0",
|
|
72
|
-
"aria-hidden": !0
|
|
73
|
-
})
|
|
74
|
-
]
|
|
75
|
-
}), e.model && /* @__PURE__ */ g("span", {
|
|
76
|
-
className: "block truncate text-xs leading-4 text-[var(--oh-muted)] pl-6",
|
|
77
|
-
children: e.model
|
|
78
|
-
})]
|
|
79
|
-
}, e.name);
|
|
80
|
-
})
|
|
81
|
-
}),
|
|
82
|
-
/* @__PURE__ */ g(f, {}),
|
|
83
|
-
/* @__PURE__ */ _(d, {
|
|
84
|
-
to: "/settings",
|
|
85
|
-
onClick: C,
|
|
86
|
-
"data-testid": "switch-profile-open-settings",
|
|
87
|
-
className: y,
|
|
88
|
-
children: [/* @__PURE__ */ g("span", {
|
|
89
|
-
className: o,
|
|
90
|
-
"aria-hidden": !0,
|
|
91
|
-
children: /* @__PURE__ */ g(m, {
|
|
92
|
-
width: 16,
|
|
93
|
-
height: 16
|
|
94
|
-
})
|
|
95
|
-
}), /* @__PURE__ */ g("span", {
|
|
96
|
-
className: "text-sm leading-5",
|
|
97
|
-
children: w(t.MODEL$OPEN_SETTINGS)
|
|
98
|
-
})]
|
|
99
|
-
})
|
|
100
|
-
]
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
//#endregion
|
|
104
|
-
export { b as SwitchProfileContextMenu };
|
|
105
|
-
|
|
106
|
-
//# sourceMappingURL=switch-profile-context-menu.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"switch-profile-context-menu.js","names":[],"sources":["../../../../src/components/features/chat/switch-profile-context-menu.tsx"],"sourcesContent":["import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { ContextMenu } from \"#/ui/context-menu\";\nimport { Divider } from \"#/ui/divider\";\nimport { Typography } from \"#/ui/typography\";\nimport { NavigationLink } from \"#/components/shared/navigation-link\";\nimport { ContextMenuListItem } from \"../context-menu/context-menu-list-item\";\nimport { useClickOutsideElement } from \"#/hooks/use-click-outside-element\";\nimport CircuitIcon from \"#/icons/u-circuit.svg?react\";\nimport SettingsIcon from \"#/icons/settings.svg?react\";\nimport CheckIcon from \"#/icons/checkmark.svg?react\";\nimport { cn } from \"#/utils/utils\";\nimport type { ProfileInfo } from \"#/api/profiles-service/profiles-service.api\";\nimport {\n dropdownMenuRowGapClassName,\n dropdownMenuRowIconWrapperClassName,\n switchProfileMenuListScrollClassName,\n} from \"#/utils/dropdown-classes\";\n\nconst rowBaseClassName = cn(\n \"w-full flex flex-col gap-0.5 p-2 rounded\",\n \"text-start hover:bg-[var(--oh-interactive-hover)] cursor-pointer text-nowrap\",\n);\nconst profileRowClassName = cn(rowBaseClassName, \"h-auto items-stretch\");\nconst linkRowClassName = cn(\n \"group w-full flex items-center p-2 rounded\",\n dropdownMenuRowGapClassName,\n \"text-start hover:bg-[var(--oh-interactive-hover)] cursor-pointer text-nowrap\",\n);\n\ninterface SwitchProfileContextMenuProps {\n profiles: ProfileInfo[];\n activeProfileName: string | null;\n onSelect: (profileName: string) => void;\n onClose: () => void;\n}\n\nexport function SwitchProfileContextMenu({\n profiles,\n activeProfileName,\n onSelect,\n onClose,\n}: SwitchProfileContextMenuProps) {\n const { t } = useTranslation(\"openhands\");\n const ref = useClickOutsideElement<HTMLUListElement>(onClose);\n\n React.useEffect(() => {\n const onKey = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") onClose();\n };\n document.addEventListener(\"keydown\", onKey);\n return () => document.removeEventListener(\"keydown\", onKey);\n }, [onClose]);\n\n const handleSelect = (\n event: React.MouseEvent<HTMLButtonElement>,\n name: string,\n ) => {\n event.preventDefault();\n event.stopPropagation();\n onSelect(name);\n onClose();\n };\n\n return (\n <ContextMenu\n ref={ref}\n testId=\"switch-profile-context-menu\"\n position=\"top\"\n alignment=\"left\"\n className=\"z-[60] left-0 mb-2 bottom-full min-w-[280px] pt-0\"\n >\n <div className=\"px-2 pb-0.5\">\n <Typography.Text className=\"text-[11px] font-medium text-[var(--oh-text-dim)] uppercase tracking-wide leading-4\">\n {t(I18nKey.SETTINGS$AVAILABLE_PROFILES)}\n </Typography.Text>\n </div>\n <div\n data-testid=\"switch-profile-options-list\"\n className={switchProfileMenuListScrollClassName}\n >\n {profiles.map((profile) => {\n const isActive = profile.name === activeProfileName;\n return (\n <ContextMenuListItem\n key={profile.name}\n testId={`switch-profile-option-${profile.name}`}\n onClick={(event) => handleSelect(event, profile.name)}\n className={cn(\n profileRowClassName,\n isActive && \"bg-[var(--oh-interactive-hover)]\",\n )}\n >\n <span\n className={cn(\n \"flex items-center min-w-0\",\n dropdownMenuRowGapClassName,\n )}\n title={profile.model ?? undefined}\n >\n <span\n className={dropdownMenuRowIconWrapperClassName}\n aria-hidden\n >\n <CircuitIcon width={16} height={16} />\n </span>\n <span className=\"flex-1 truncate text-sm leading-5\">\n {profile.name}\n </span>\n {isActive && (\n <CheckIcon\n width={14}\n height={14}\n className=\"shrink-0\"\n aria-hidden\n />\n )}\n </span>\n {profile.model && (\n <span className=\"block truncate text-xs leading-4 text-[var(--oh-muted)] pl-6\">\n {profile.model}\n </span>\n )}\n </ContextMenuListItem>\n );\n })}\n </div>\n <Divider />\n <NavigationLink\n to=\"/settings\"\n onClick={onClose}\n data-testid=\"switch-profile-open-settings\"\n className={linkRowClassName}\n >\n <span className={dropdownMenuRowIconWrapperClassName} aria-hidden>\n <SettingsIcon width={16} height={16} />\n </span>\n <span className=\"text-sm leading-5\">\n {t(I18nKey.MODEL$OPEN_SETTINGS)}\n </span>\n </NavigationLink>\n </ContextMenu>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAwBA,IAAM,IAAsB,EAJH,EACvB,4CACA,+EAE6B,EAAkB,uBAAuB,EAClE,IAAmB,EACvB,8CACA,GACA,+EACD;AASD,SAAgB,EAAyB,EACvC,aACA,sBACA,aACA,cACgC;CAChC,IAAM,EAAE,SAAM,EAAe,YAAY,EACnC,IAAM,EAAyC,EAAQ;AAE7D,GAAM,gBAAgB;EACpB,IAAM,KAAS,MAAqB;AAClC,GAAI,EAAE,QAAQ,YAAU,GAAS;;AAGnC,SADA,SAAS,iBAAiB,WAAW,EAAM,QAC9B,SAAS,oBAAoB,WAAW,EAAM;IAC1D,CAAC,EAAQ,CAAC;CAEb,IAAM,KACJ,GACA,MACG;AAIH,EAHA,EAAM,gBAAgB,EACtB,EAAM,iBAAiB,EACvB,EAAS,EAAK,EACd,GAAS;;AAGX,QACE,kBAAC,GAAD;EACO;EACL,QAAO;EACP,UAAS;EACT,WAAU;EACV,WAAU;YALZ;GAOE,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,EAAW,MAAZ;KAAiB,WAAU;eACxB,EAAE,EAAQ,4BAA4B;KACvB,CAAA;IACd,CAAA;GACN,kBAAC,OAAD;IACE,eAAY;IACZ,WAAW;cAEV,EAAS,KAAK,MAAY;KACzB,IAAM,IAAW,EAAQ,SAAS;AAClC,YACE,kBAAC,GAAD;MAEE,QAAQ,yBAAyB,EAAQ;MACzC,UAAU,MAAU,EAAa,GAAO,EAAQ,KAAK;MACrD,WAAW,EACT,GACA,KAAY,mCACb;gBAPH,CASE,kBAAC,QAAD;OACE,WAAW,EACT,6BACA,EACD;OACD,OAAO,EAAQ,SAAS,KAAA;iBAL1B;QAOE,kBAAC,QAAD;SACE,WAAW;SACX,eAAA;mBAEA,kBAAC,GAAD;UAAa,OAAO;UAAI,QAAQ;UAAM,CAAA;SACjC,CAAA;QACP,kBAAC,QAAD;SAAM,WAAU;mBACb,EAAQ;SACJ,CAAA;QACN,KACC,kBAAC,GAAD;SACE,OAAO;SACP,QAAQ;SACR,WAAU;SACV,eAAA;SACA,CAAA;QAEC;UACN,EAAQ,SACP,kBAAC,QAAD;OAAM,WAAU;iBACb,EAAQ;OACJ,CAAA,CAEW;QAtCf,EAAQ,KAsCO;MAExB;IACE,CAAA;GACN,kBAAC,GAAD,EAAW,CAAA;GACX,kBAAC,GAAD;IACE,IAAG;IACH,SAAS;IACT,eAAY;IACZ,WAAW;cAJb,CAME,kBAAC,QAAD;KAAM,WAAW;KAAqC,eAAA;eACpD,kBAAC,GAAD;MAAc,OAAO;MAAI,QAAQ;MAAM,CAAA;KAClC,CAAA,EACP,kBAAC,QAAD;KAAM,WAAU;eACb,EAAE,EAAQ,oBAAoB;KAC1B,CAAA,CACQ;;GACL"}
|