@hienlh/ppm 0.23.5 → 0.23.7
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/CHANGELOG.md +89 -0
- package/CLAUDE.md +21 -1
- package/Dockerfile.test +8 -1
- package/assets/skills/ppm/SKILL.md +1 -1
- package/assets/skills/ppm/references/cli-reference.md +4 -4
- package/assets/skills/ppm/references/http-api.md +30 -1
- package/dist/web/assets/accounts-settings-section-BYWnY9hH.js +1 -0
- package/dist/web/assets/accounts-settings-section-BYWnY9hH.js.br +0 -0
- package/dist/web/assets/accounts-settings-section-BYWnY9hH.js.gz +0 -0
- package/dist/web/assets/{ai-resource-editor-DKcsVDle.js → ai-resource-editor-CY4n_Ccv.js} +1 -1
- package/dist/web/assets/ai-resource-editor-CY4n_Ccv.js.br +0 -0
- package/dist/web/assets/ai-resource-editor-CY4n_Ccv.js.gz +0 -0
- package/dist/web/assets/ai-settings-section-Bs3iUW4j.js +1 -0
- package/dist/web/assets/ai-settings-section-Bs3iUW4j.js.br +0 -0
- package/dist/web/assets/ai-settings-section-Bs3iUW4j.js.gz +0 -0
- package/dist/web/assets/ai-settings-section-DDs11XV4.js +1 -0
- package/dist/web/assets/api-client-CJPnCOG-.js +1 -0
- package/dist/web/assets/{api-client-c8YOpTlT.js → api-client-D-SMbdiH.js} +1 -1
- package/dist/web/assets/api-client-D-SMbdiH.js.br +0 -0
- package/dist/web/assets/api-client-D-SMbdiH.js.gz +0 -0
- package/dist/web/assets/api-settings-BDkkhFMq.js +1 -0
- package/dist/web/assets/{api-settings-BmvNoCbn.js → api-settings-Bv9mLCty.js} +1 -1
- package/dist/web/assets/api-settings-Bv9mLCty.js.br +0 -0
- package/dist/web/assets/api-settings-Bv9mLCty.js.gz +0 -0
- package/dist/web/assets/{api-themes-6fOQJgM9.js → api-themes-3wW-zLzU.js} +1 -1
- package/dist/web/assets/appearance-settings-section-C0BoIBmz.js +1 -0
- package/dist/web/assets/appearance-settings-section-C0BoIBmz.js.br +0 -0
- package/dist/web/assets/appearance-settings-section-C0BoIBmz.js.gz +0 -0
- package/dist/web/assets/apps-panel-DXAFsveZ.js +1 -0
- package/dist/web/assets/apps-panel-DXAFsveZ.js.br +0 -0
- package/dist/web/assets/apps-panel-DXAFsveZ.js.gz +0 -0
- package/dist/web/assets/{audio-preview-vaG2cB-k.js → audio-preview-BfES4Cx5.js} +1 -1
- package/dist/web/assets/audio-preview-BfES4Cx5.js.br +0 -0
- package/dist/web/assets/audio-preview-BfES4Cx5.js.gz +0 -0
- package/dist/web/assets/branch-review-tab-CA8hPSX9.js +1 -0
- package/dist/web/assets/branch-review-tab-CA8hPSX9.js.br +0 -0
- package/dist/web/assets/branch-review-tab-CA8hPSX9.js.gz +0 -0
- package/dist/web/assets/{button-Ci9EUgqd.js → button-DeAyLH9U.js} +1 -1
- package/dist/web/assets/button-DeAyLH9U.js.br +0 -0
- package/dist/web/assets/button-DeAyLH9U.js.gz +0 -0
- package/dist/web/assets/{chat-preparation-cache-BSIQGiWx.js → chat-preparation-cache-CcCd2g7A.js} +1 -1
- package/dist/web/assets/chat-preparation-cache-CcCd2g7A.js.br +0 -0
- package/dist/web/assets/chat-preparation-cache-CcCd2g7A.js.gz +0 -0
- package/dist/web/assets/chat-tab-BWi_bUzA.js +1 -0
- package/dist/web/assets/chat-tab-BWi_bUzA.js.br +0 -0
- package/dist/web/assets/chat-tab-BWi_bUzA.js.gz +0 -0
- package/dist/web/assets/chat-tab-BvJhIaVE.js +15 -0
- package/dist/web/assets/chat-tab-BvJhIaVE.js.br +0 -0
- package/dist/web/assets/chat-tab-BvJhIaVE.js.gz +0 -0
- package/dist/web/assets/code-editor-OJUdLVnn.js +7 -0
- package/dist/web/assets/code-editor-OJUdLVnn.js.br +0 -0
- package/dist/web/assets/code-editor-OJUdLVnn.js.gz +0 -0
- package/dist/web/assets/codex-reset-credit-button-Dgxy_VNp.js +1 -0
- package/dist/web/assets/codex-reset-credit-button-Dgxy_VNp.js.br +0 -0
- package/dist/web/assets/codex-reset-credit-button-Dgxy_VNp.js.gz +0 -0
- package/dist/web/assets/{conflict-editor-qMGJH0Bx.js → conflict-editor-BpKW_vbL.js} +1 -1
- package/dist/web/assets/conflict-editor-BpKW_vbL.js.br +0 -0
- package/dist/web/assets/conflict-editor-BpKW_vbL.js.gz +0 -0
- package/dist/web/assets/context-menu-7OX80HDB.js +1 -0
- package/dist/web/assets/context-menu-7OX80HDB.js.br +0 -0
- package/dist/web/assets/context-menu-7OX80HDB.js.gz +0 -0
- package/dist/web/assets/{csv-preview-D2I742dl.js → csv-preview-COYdTABa.js} +1 -1
- package/dist/web/assets/csv-preview-COYdTABa.js.br +0 -0
- package/dist/web/assets/csv-preview-COYdTABa.js.gz +0 -0
- package/dist/web/assets/{data-grid-overlay-editor-CQRVKr7y.js → data-grid-overlay-editor-CeZoduke.js} +1 -1
- package/dist/web/assets/data-grid-overlay-editor-CeZoduke.js.br +0 -0
- package/dist/web/assets/data-grid-overlay-editor-CeZoduke.js.gz +0 -0
- package/dist/web/assets/{database-viewer-Bz4LjgIa.js → database-viewer-BQcBqCKm.js} +1 -1
- package/dist/web/assets/database-viewer-BQcBqCKm.js.br +0 -0
- package/dist/web/assets/database-viewer-BQcBqCKm.js.gz +0 -0
- package/dist/web/assets/{design-export-client-ChMcMoqW.js → design-export-client-OrnGCSwu.js} +1 -1
- package/dist/web/assets/design-export-client-OrnGCSwu.js.br +0 -0
- package/dist/web/assets/design-export-client-OrnGCSwu.js.gz +0 -0
- package/dist/web/assets/{design-responsive-dialog-DNBhJJLf.js → design-responsive-dialog-vJjQrC4n.js} +1 -1
- package/dist/web/assets/design-responsive-dialog-vJjQrC4n.js.br +0 -0
- package/dist/web/assets/design-responsive-dialog-vJjQrC4n.js.gz +0 -0
- package/dist/web/assets/design-tab-BbmFk38H.js +33 -0
- package/dist/web/assets/design-tab-BbmFk38H.js.br +0 -0
- package/dist/web/assets/design-tab-BbmFk38H.js.gz +0 -0
- package/dist/web/assets/{designs-sidebar-panel-CapP1yXq.js → designs-sidebar-panel-D2kXwB8B.js} +1 -1
- package/dist/web/assets/designs-sidebar-panel-D2kXwB8B.js.br +0 -0
- package/dist/web/assets/designs-sidebar-panel-D2kXwB8B.js.gz +0 -0
- package/dist/web/assets/dialog-Bocc0Fgb.js +1 -0
- package/dist/web/assets/dialog-Bocc0Fgb.js.br +0 -0
- package/dist/web/assets/dialog-Bocc0Fgb.js.gz +0 -0
- package/dist/web/assets/{diff-viewer-CdXi7cZN.js → diff-viewer-Bj4DT6Mj.js} +1 -1
- package/dist/web/assets/diff-viewer-Bj4DT6Mj.js.br +0 -0
- package/dist/web/assets/diff-viewer-Bj4DT6Mj.js.gz +0 -0
- package/dist/web/assets/{docx-preview-C9XdKEj1.js → docx-preview-C2QqNGRE.js} +1 -1
- package/dist/web/assets/docx-preview-C2QqNGRE.js.br +0 -0
- package/dist/web/assets/docx-preview-C2QqNGRE.js.gz +0 -0
- package/dist/web/assets/editor-language-service-COqB2tuv.js +1 -0
- package/dist/web/assets/editor-language-service-COqB2tuv.js.br +3 -0
- package/dist/web/assets/editor-language-service-COqB2tuv.js.gz +0 -0
- package/dist/web/assets/explorer-body-DGrYajDN.js +2 -0
- package/dist/web/assets/explorer-body-DGrYajDN.js.br +0 -0
- package/dist/web/assets/explorer-body-DGrYajDN.js.gz +0 -0
- package/dist/web/assets/explorer-window-content-DLzkODTP.js +1 -0
- package/dist/web/assets/explorer-window-content-DLzkODTP.js.br +0 -0
- package/dist/web/assets/explorer-window-content-DLzkODTP.js.gz +0 -0
- package/dist/web/assets/{extension-manager-section-B2nZzJ2b.js → extension-manager-section-Bu0qcB2i.js} +1 -1
- package/dist/web/assets/extension-manager-section-Bu0qcB2i.js.br +0 -0
- package/dist/web/assets/extension-manager-section-Bu0qcB2i.js.gz +0 -0
- package/dist/web/assets/{extension-webview-BGoDxkdF.js → extension-webview-G_WJ0N52.js} +1 -1
- package/dist/web/assets/extension-webview-G_WJ0N52.js.br +0 -0
- package/dist/web/assets/extension-webview-G_WJ0N52.js.gz +0 -0
- package/dist/web/assets/{file-icons-gx_FBOXY.js → file-icons-l7fNOmdS.js} +1 -1
- package/dist/web/assets/file-icons-l7fNOmdS.js.br +0 -0
- package/dist/web/assets/file-icons-l7fNOmdS.js.gz +0 -0
- package/dist/web/assets/{file-store-D9KE0kQC.js → file-store-B0e7sLag.js} +1 -1
- package/dist/web/assets/file-store-B0e7sLag.js.br +0 -0
- package/dist/web/assets/file-store-B0e7sLag.js.gz +0 -0
- package/dist/web/assets/{files-settings-section-DC3OzzOl.js → files-settings-section-ChZ_CynX.js} +1 -1
- package/dist/web/assets/files-settings-section-ChZ_CynX.js.br +0 -0
- package/dist/web/assets/files-settings-section-ChZ_CynX.js.gz +0 -0
- package/dist/web/assets/format-bytes-__396eCN.js +1 -0
- package/dist/web/assets/{format-file-meta-mQwA6SuY.js → format-file-meta-o1XBuoKS.js} +1 -1
- package/dist/web/assets/format-file-meta-o1XBuoKS.js.br +0 -0
- package/dist/web/assets/format-file-meta-o1XBuoKS.js.gz +0 -0
- package/dist/web/assets/{fs-api-DL36slbd.js → fs-api-CeHKwx95.js} +1 -1
- package/dist/web/assets/fs-api-CeHKwx95.js.br +0 -0
- package/dist/web/assets/fs-api-CeHKwx95.js.gz +0 -0
- package/dist/web/assets/{general-settings-section-i41W43ER.js → general-settings-section-MSvDEbFa.js} +1 -1
- package/dist/web/assets/general-settings-section-MSvDEbFa.js.br +0 -0
- package/dist/web/assets/general-settings-section-MSvDEbFa.js.gz +0 -0
- package/dist/web/assets/{git-log-panel-DHzPIkJg.js → git-log-panel-gw5_a6j3.js} +1 -1
- package/dist/web/assets/git-log-panel-gw5_a6j3.js.br +0 -0
- package/dist/web/assets/git-log-panel-gw5_a6j3.js.gz +0 -0
- package/dist/web/assets/{git-repo-store-DSypNj19.js → git-repo-store-BpPnah5l.js} +1 -1
- package/dist/web/assets/git-repo-store-BpPnah5l.js.br +0 -0
- package/dist/web/assets/git-repo-store-BpPnah5l.js.gz +0 -0
- package/dist/web/assets/{glide-data-grid-Dj4vrDvj.js → glide-data-grid-Db2Cl26B.js} +5 -5
- package/dist/web/assets/glide-data-grid-Db2Cl26B.js.br +0 -0
- package/dist/web/assets/glide-data-grid-Db2Cl26B.js.gz +0 -0
- package/dist/web/assets/group-chat-tab-B4etmYTR.js +1 -0
- package/dist/web/assets/group-chat-tab-B4etmYTR.js.br +0 -0
- package/dist/web/assets/group-chat-tab-B4etmYTR.js.gz +0 -0
- package/dist/web/assets/{image-preview-CGdZrmLo.js → image-preview-CjNhpfWw.js} +1 -1
- package/dist/web/assets/index-CtAvmybi.js +52 -0
- package/dist/web/assets/index-CtAvmybi.js.br +0 -0
- package/dist/web/assets/index-CtAvmybi.js.gz +0 -0
- package/dist/web/assets/index-DeCJasyy.css +1 -0
- package/dist/web/assets/index-DeCJasyy.css.br +0 -0
- package/dist/web/assets/index-DeCJasyy.css.gz +0 -0
- package/dist/web/assets/{jira-watcher-section-BJ9edGEP.js → jira-watcher-section-CKSI1Alo.js} +1 -1
- package/dist/web/assets/keybindings-store-C4_yyU4u.js +1 -0
- package/dist/web/assets/{keyboard-shortcuts-section-CxdGSNGr.js → keyboard-shortcuts-section-CEaVUc9a.js} +1 -1
- package/dist/web/assets/keyboard-shortcuts-section-CEaVUc9a.js.br +0 -0
- package/dist/web/assets/keyboard-shortcuts-section-CEaVUc9a.js.gz +0 -0
- package/dist/web/assets/language-servers-section-ePtEpnDc.js +2 -0
- package/dist/web/assets/language-servers-section-ePtEpnDc.js.br +0 -0
- package/dist/web/assets/language-servers-section-ePtEpnDc.js.gz +0 -0
- package/dist/web/assets/lsp-client-XzmR3Brr.js +1 -0
- package/dist/web/assets/lsp-client-XzmR3Brr.js.br +0 -0
- package/dist/web/assets/lsp-client-XzmR3Brr.js.gz +0 -0
- package/dist/web/assets/markdown-renderer-CTtDap-l.js +1 -0
- package/dist/web/assets/{markdown-renderer-ok96IgnS.js → markdown-renderer-D05fAr57.js} +2 -2
- package/dist/web/assets/markdown-renderer-D05fAr57.js.br +0 -0
- package/dist/web/assets/markdown-renderer-D05fAr57.js.gz +0 -0
- package/dist/web/assets/{media-url-CzUJrREv.js → media-url-C6NumuN5.js} +1 -1
- package/dist/web/assets/metric-chart-canvas-DHJe0VER.js +1 -0
- package/dist/web/assets/metric-chart-canvas-DHJe0VER.js.br +0 -0
- package/dist/web/assets/metric-chart-canvas-DHJe0VER.js.gz +0 -0
- package/dist/web/assets/{mobile-bottom-sheet-CuNi2FRv.js → mobile-bottom-sheet-D4UyOatB.js} +1 -1
- package/dist/web/assets/mobile-bottom-sheet-D4UyOatB.js.br +0 -0
- package/dist/web/assets/mobile-bottom-sheet-D4UyOatB.js.gz +0 -0
- package/dist/web/assets/mobile-explorer-sheet-CcfGdGL8.js +1 -0
- package/dist/web/assets/mobile-explorer-sheet-CcfGdGL8.js.br +0 -0
- package/dist/web/assets/mobile-explorer-sheet-CcfGdGL8.js.gz +0 -0
- package/dist/web/assets/{new-design-dialog-Drkjb_LI.js → new-design-dialog-BgmQopJM.js} +1 -1
- package/dist/web/assets/new-design-dialog-BgmQopJM.js.br +0 -0
- package/dist/web/assets/new-design-dialog-BgmQopJM.js.gz +0 -0
- package/dist/web/assets/notification-store-q5QBklKA.js +1 -0
- package/dist/web/assets/{notifications-settings-section-C05WYqcE.js → notifications-settings-section-BBJ0r9OS.js} +1 -1
- package/dist/web/assets/notifications-settings-section-BBJ0r9OS.js.br +0 -0
- package/dist/web/assets/notifications-settings-section-BBJ0r9OS.js.gz +0 -0
- package/dist/web/assets/{onboarding-entry-CmUqv1kl.js → onboarding-entry-BYOYswsi.js} +1 -1
- package/dist/web/assets/onboarding-entry-BYOYswsi.js.br +0 -0
- package/dist/web/assets/onboarding-entry-BYOYswsi.js.gz +0 -0
- package/dist/web/assets/{onboarding-quick-orientation-DIhWv1CN.js → onboarding-quick-orientation-DPHYFMbA.js} +1 -1
- package/dist/web/assets/onboarding-quick-orientation-DPHYFMbA.js.br +0 -0
- package/dist/web/assets/onboarding-quick-orientation-DPHYFMbA.js.gz +0 -0
- package/dist/web/assets/overview-panel-pkPs44Tv.js +1 -0
- package/dist/web/assets/overview-panel-pkPs44Tv.js.br +0 -0
- package/dist/web/assets/overview-panel-pkPs44Tv.js.gz +0 -0
- package/dist/web/assets/{pdf-preview-qdXmMkOR.js → pdf-preview-c-L_kDAs.js} +1 -1
- package/dist/web/assets/pdf-preview-c-L_kDAs.js.br +0 -0
- package/dist/web/assets/pdf-preview-c-L_kDAs.js.gz +0 -0
- package/dist/web/assets/performance-panel-yPrq0DJV.js +3 -0
- package/dist/web/assets/performance-panel-yPrq0DJV.js.br +0 -0
- package/dist/web/assets/performance-panel-yPrq0DJV.js.gz +0 -0
- package/dist/web/assets/{postgres-viewer-Xvlun_n5.js → postgres-viewer-CnwDCMNd.js} +1 -1
- package/dist/web/assets/postgres-viewer-CnwDCMNd.js.br +0 -0
- package/dist/web/assets/postgres-viewer-CnwDCMNd.js.gz +0 -0
- package/dist/web/assets/{ppmbot-settings-section-C8PFlvaq.js → ppmbot-settings-section-BDXoSIDp.js} +1 -1
- package/dist/web/assets/ppmbot-settings-section-BDXoSIDp.js.br +0 -0
- package/dist/web/assets/ppmbot-settings-section-BDXoSIDp.js.gz +0 -0
- package/dist/web/assets/{pptx-export-CG6MRNok.js → pptx-export-D0RDY48h.js} +4 -4
- package/dist/web/assets/pptx-export-D0RDY48h.js.br +0 -0
- package/dist/web/assets/pptx-export-D0RDY48h.js.gz +0 -0
- package/dist/web/assets/{problems-panel-CFYO0Ro3.js → problems-panel-BgY8oyo9.js} +1 -1
- package/dist/web/assets/problems-panel-BgY8oyo9.js.br +0 -0
- package/dist/web/assets/problems-panel-BgY8oyo9.js.gz +0 -0
- package/dist/web/assets/process-row-format-CaaMcHzn.js +1 -0
- package/dist/web/assets/process-table-BOwDtXuG.js +1 -0
- package/dist/web/assets/process-table-BOwDtXuG.js.br +0 -0
- package/dist/web/assets/process-table-BOwDtXuG.js.gz +0 -0
- package/dist/web/assets/{project-framework-store-XxFXcUpb.js → project-framework-store-UDEMu28U.js} +1 -1
- package/dist/web/assets/{project-store-C5gJXkvb.js → project-store-DGa31y5B.js} +1 -1
- package/dist/web/assets/project-store-DGa31y5B.js.br +0 -0
- package/dist/web/assets/project-store-DGa31y5B.js.gz +0 -0
- package/dist/web/assets/{proxy-settings-section-BcHIEANE.js → proxy-settings-section-Db6Kc6xG.js} +1 -1
- package/dist/web/assets/proxy-settings-section-Db6Kc6xG.js.br +0 -0
- package/dist/web/assets/proxy-settings-section-Db6Kc6xG.js.gz +0 -0
- package/dist/web/assets/{query-audit-section-UKG_smyt.js → query-audit-section-C0PAXhfT.js} +1 -1
- package/dist/web/assets/query-audit-section-C0PAXhfT.js.br +0 -0
- package/dist/web/assets/query-audit-section-C0PAXhfT.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-clipboard-notice-BGsp0edA.js → remote-desktop-clipboard-notice-DOVtobj_.js} +1 -1
- package/dist/web/assets/remote-desktop-clipboard-notice-DOVtobj_.js.br +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-DOVtobj_.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-DXlU3msM.js +2 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-DXlU3msM.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-DXlU3msM.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-ClV4YTLU.js +1 -0
- package/dist/web/assets/remote-desktop-mobile-view-ClV4YTLU.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-ClV4YTLU.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-readiness-gate-CsZCCRJI.js → remote-desktop-readiness-gate-BsfoJzdc.js} +1 -1
- package/dist/web/assets/remote-desktop-readiness-gate-BsfoJzdc.js.br +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-BsfoJzdc.js.gz +0 -0
- package/dist/web/assets/remote-desktop-window-content-kDaXl1_Q.js +1 -0
- package/dist/web/assets/remote-desktop-window-content-kDaXl1_Q.js.br +0 -0
- package/dist/web/assets/remote-desktop-window-content-kDaXl1_Q.js.gz +0 -0
- package/dist/web/assets/{schedules-settings-section-Ci0O2Ng6.js → schedules-settings-section-CvbjQM8z.js} +1 -1
- package/dist/web/assets/schedules-settings-section-CvbjQM8z.js.br +0 -0
- package/dist/web/assets/schedules-settings-section-CvbjQM8z.js.gz +0 -0
- package/dist/web/assets/{scroll-area-XonvWYn_.js → scroll-area-sjOeAfoD.js} +1 -1
- package/dist/web/assets/scroll-area-sjOeAfoD.js.br +0 -0
- package/dist/web/assets/scroll-area-sjOeAfoD.js.gz +0 -0
- package/dist/web/assets/{separator-sQj04Ari.js → separator-9A3PCG1t.js} +1 -1
- package/dist/web/assets/services-panel-CimW47P8.js +1 -0
- package/dist/web/assets/services-panel-CimW47P8.js.br +0 -0
- package/dist/web/assets/services-panel-CimW47P8.js.gz +0 -0
- package/dist/web/assets/settings-body-BTXNtpWL.js +2 -0
- package/dist/web/assets/settings-body-BTXNtpWL.js.br +0 -0
- package/dist/web/assets/settings-body-BTXNtpWL.js.gz +0 -0
- package/dist/web/assets/settings-store-DvftLqzy.js +2 -0
- package/dist/web/assets/settings-store-DvftLqzy.js.br +0 -0
- package/dist/web/assets/settings-store-DvftLqzy.js.gz +0 -0
- package/dist/web/assets/settings-tab-CGhaRXjs.js +1 -0
- package/dist/web/assets/settings-window-content--Uyg_Psr.js +1 -0
- package/dist/web/assets/sortable-header-DUW9T1Hz.js +1 -0
- package/dist/web/assets/sortable-header-DUW9T1Hz.js.br +0 -0
- package/dist/web/assets/sortable-header-DUW9T1Hz.js.gz +0 -0
- package/dist/web/assets/{sql-query-editor-4iCGE4h2.js → sql-query-editor-Dn-cgDrW.js} +1 -1
- package/dist/web/assets/sql-query-editor-Dn-cgDrW.js.br +0 -0
- package/dist/web/assets/sql-query-editor-Dn-cgDrW.js.gz +0 -0
- package/dist/web/assets/{sqlite-viewer-CK6DulYk.js → sqlite-viewer-B0NfaMjq.js} +1 -1
- package/dist/web/assets/sqlite-viewer-B0NfaMjq.js.br +0 -0
- package/dist/web/assets/sqlite-viewer-B0NfaMjq.js.gz +0 -0
- package/dist/web/assets/system-monitor-body-CxCfRQFb.js +2 -0
- package/dist/web/assets/system-monitor-body-CxCfRQFb.js.br +0 -0
- package/dist/web/assets/system-monitor-body-CxCfRQFb.js.gz +0 -0
- package/dist/web/assets/system-monitor-tab-Cb3EZUdp.js +1 -0
- package/dist/web/assets/system-monitor-window-content-51CA-2PH.js +1 -0
- package/dist/web/assets/{tab-host-window-content-CWBaWKjA.js → tab-host-window-content-CSrcmKNG.js} +1 -1
- package/dist/web/assets/tab-host-window-content-CSrcmKNG.js.br +0 -0
- package/dist/web/assets/tab-host-window-content-CSrcmKNG.js.gz +0 -0
- package/dist/web/assets/{team-member-sheet-Br6mrxrw.js → team-member-sheet-D4X6nh-x.js} +2 -2
- package/dist/web/assets/team-member-sheet-D4X6nh-x.js.br +0 -0
- package/dist/web/assets/team-member-sheet-D4X6nh-x.js.gz +0 -0
- package/dist/web/assets/{team-member-window-content-CwCy7ZWf.js → team-member-window-content-BxkbGVIL.js} +1 -1
- package/dist/web/assets/team-member-window-content-BxkbGVIL.js.br +0 -0
- package/dist/web/assets/team-member-window-content-BxkbGVIL.js.gz +0 -0
- package/dist/web/assets/{terminal-tab-BW14RpCb.js → terminal-tab-BYo34IqU.js} +3 -3
- package/dist/web/assets/terminal-tab-BYo34IqU.js.br +0 -0
- package/dist/web/assets/terminal-tab-BYo34IqU.js.gz +0 -0
- package/dist/web/assets/{tool-cards-CgOBEUnb.js → tool-cards-DvXjOped.js} +4 -4
- package/dist/web/assets/tool-cards-DvXjOped.js.br +0 -0
- package/dist/web/assets/tool-cards-DvXjOped.js.gz +0 -0
- package/dist/web/assets/{use-blob-url-CmavyEP8.js → use-blob-url-CISBWKG5.js} +1 -1
- package/dist/web/assets/use-inline-blame-Br6mheS4.js +16 -0
- package/dist/web/assets/use-inline-blame-Br6mheS4.js.br +0 -0
- package/dist/web/assets/use-inline-blame-Br6mheS4.js.gz +0 -0
- package/dist/web/assets/use-lsp-BpJmvQ0n.js +6 -0
- package/dist/web/assets/use-lsp-BpJmvQ0n.js.br +0 -0
- package/dist/web/assets/use-lsp-BpJmvQ0n.js.gz +0 -0
- package/dist/web/assets/{use-monaco-theme-rH6epJYA.js → use-monaco-theme-UGOzyIhv.js} +1 -1
- package/dist/web/assets/use-process-kill-CyiiUD1E.js +1 -0
- package/dist/web/assets/use-process-kill-CyiiUD1E.js.br +0 -0
- package/dist/web/assets/use-process-kill-CyiiUD1E.js.gz +0 -0
- package/dist/web/assets/{use-websocket-QwURkjpV.js → use-websocket-Dpl21cHG.js} +1 -1
- package/dist/web/assets/{vendor-ui-BHh12_0v.js → vendor-ui-P9Ym7hCv.js} +1 -1
- package/dist/web/assets/vendor-ui-P9Ym7hCv.js.br +0 -0
- package/dist/web/assets/vendor-ui-P9Ym7hCv.js.gz +0 -0
- package/dist/web/assets/video-preview-D6Jw-IZK.js +1 -0
- package/dist/web/assets/video-preview-D6Jw-IZK.js.br +0 -0
- package/dist/web/assets/video-preview-D6Jw-IZK.js.gz +0 -0
- package/dist/web/assets/voice-settings-section-CcHQDYzN.js +1 -0
- package/dist/web/assets/voice-settings-section-CcHQDYzN.js.br +0 -0
- package/dist/web/assets/voice-settings-section-CcHQDYzN.js.gz +0 -0
- package/dist/web/assets/ws-auth-CqI8-aoA.js +1 -0
- package/dist/web/index.html +20 -20
- package/dist/web/index.html.br +0 -0
- package/dist/web/index.html.gz +0 -0
- package/dist/web/sw.js +1 -1
- package/dist/web/sw.js.br +0 -0
- package/dist/web/sw.js.gz +0 -0
- package/docs/deployment-guide.md +23 -0
- package/package.json +1 -1
- package/release-from-worktree.sh +224 -0
- package/src/cli/commands/config-cmd.ts +12 -0
- package/src/providers/claude-agent-sdk.ts +65 -2
- package/src/providers/codex-app-server/codex-jsonrpc-client.ts +16 -1
- package/src/providers/codex-app-server/codex-provider.ts +39 -7
- package/src/providers/codex-app-server/codex-reset-credit.ts +49 -0
- package/src/providers/provider-probe.ts +63 -0
- package/src/providers/registry.ts +109 -29
- package/src/server/index.ts +9 -0
- package/src/server/middleware/auth.ts +5 -1
- package/src/server/routes/codex-accounts.ts +14 -0
- package/src/server/routes/cross-origin-guard.ts +20 -0
- package/src/server/routes/git.ts +40 -4
- package/src/server/routes/lsp.ts +97 -4
- package/src/server/routes/resources.ts +72 -9
- package/src/server/routes/settings.ts +19 -1
- package/src/server/routes/speech.ts +66 -0
- package/src/server/routes/system-services.ts +76 -0
- package/src/server/routes/tunnel.ts +33 -1
- package/src/server/ws/chat.ts +74 -3
- package/src/services/codex-account-login.ts +26 -2
- package/src/services/codex-reset-credit.service.ts +83 -0
- package/src/services/compaction-savings.ts +127 -0
- package/src/services/db.service.ts +123 -8
- package/src/services/edge-forwarder.ts +191 -191
- package/src/services/fs-ops/fs-ops-trash.service.ts +22 -9
- package/src/services/git-refs/for-each-ref.ts +118 -0
- package/src/services/git.service.ts +25 -2
- package/src/services/host-info/spawn-runner.ts +48 -4
- package/src/services/jsonl-transcript-parser.ts +7 -42
- package/src/services/lsp/lsp-install.ts +289 -0
- package/src/services/lsp/lsp-manager.ts +160 -29
- package/src/services/lsp/server-registry.ts +120 -4
- package/src/services/named-tunnel/named-tunnel-config.ts +8 -2
- package/src/services/named-tunnel/named-tunnel-setup.service.ts +4 -0
- package/src/services/read-lines.ts +54 -0
- package/src/services/speech-to-text/whisper-catalog.ts +142 -0
- package/src/services/speech-to-text/whisper-download.ts +113 -0
- package/src/services/speech-to-text/whisper-hallucinations.ts +51 -0
- package/src/services/speech-to-text/whisper-install.service.ts +247 -0
- package/src/services/speech-to-text/whisper-paths.ts +62 -0
- package/src/services/speech-to-text/whisper-transcribe.service.ts +117 -0
- package/src/services/supervisor.ts +94 -11
- package/src/services/system-metrics/cpu-details-linux.ts +252 -0
- package/src/services/system-metrics/cpu-memory-collector.ts +140 -18
- package/src/services/system-metrics/device-collector-linux.ts +31 -0
- package/src/services/system-metrics/device-collector-types.ts +40 -0
- package/src/services/system-metrics/disk-devices-linux.ts +156 -0
- package/src/services/system-metrics/disk-inventory-linux.ts +150 -0
- package/src/services/system-metrics/fans-linux.ts +51 -0
- package/src/services/system-metrics/gpu-api-versions.ts +120 -0
- package/src/services/system-metrics/gpu-devices-linux.ts +370 -0
- package/src/services/system-metrics/gpu-fdinfo-linux.ts +253 -0
- package/src/services/system-metrics/hardware-inventory.ts +50 -0
- package/src/services/system-metrics/linux-fs.ts +43 -0
- package/src/services/system-metrics/memory-darwin.ts +91 -0
- package/src/services/system-metrics/memory-linux.ts +156 -0
- package/src/services/system-metrics/net-devices-linux.ts +114 -0
- package/src/services/system-metrics/net-inventory-linux.ts +100 -0
- package/src/services/system-metrics/partitions-linux.ts +158 -0
- package/src/services/system-metrics/process-collector-linux.ts +58 -6
- package/src/services/system-metrics/process-collector-types.ts +8 -1
- package/src/services/system-metrics/process-details-darwin.ts +166 -0
- package/src/services/system-metrics/process-details-linux.ts +150 -0
- package/src/services/system-metrics/process-grouping.ts +2 -1
- package/src/services/system-metrics/process-rows-builder.ts +2 -0
- package/src/services/system-metrics/process-swap-linux.ts +37 -0
- package/src/services/system-metrics/signal-executor.ts +84 -0
- package/src/services/system-metrics/signal-request-handler.ts +92 -0
- package/src/services/system-metrics/system-metrics-platform.ts +30 -4
- package/src/services/system-metrics/system-metrics-tick.ts +73 -4
- package/src/services/system-metrics/system-metrics.service.ts +87 -2
- package/src/services/system-metrics/udev-db.ts +40 -0
- package/src/services/system-services/app-cgroup-linux.ts +115 -0
- package/src/services/system-services/app-icon-service.ts +31 -0
- package/src/services/system-services/app-icons-linux.ts +124 -0
- package/src/services/system-services/apps-linux.ts +174 -0
- package/src/services/system-services/desktop-entry.ts +103 -0
- package/src/services/system-services/service-guard.ts +124 -0
- package/src/services/system-services/systemd-collector.ts +203 -0
- package/src/services/system-services/systemd-parse.ts +162 -0
- package/src/services/windows-process-tree.ts +351 -351
- package/src/shared/prompt-cache-idle.ts +197 -0
- package/src/shared/turn-usage.ts +85 -1
- package/src/shared/usage-extra.ts +19 -0
- package/src/types/chat.ts +29 -0
- package/src/types/config.ts +14 -0
- package/src/types/git.ts +41 -0
- package/src/types/system-hardware.ts +137 -0
- package/src/types/system-metrics.ts +231 -2
- package/src/types/system-services.ts +73 -0
- package/src/web/components/branch-review/branch-review-tab.tsx +20 -20
- package/src/web/components/branch-review/branch-review-tree-row.tsx +1 -13
- package/src/web/components/chat/chat-tab.tsx +3 -0
- package/src/web/components/chat/codex-usage-panel.tsx +4 -0
- package/src/web/components/chat/compaction-divider.tsx +48 -0
- package/src/web/components/chat/idle-cache-notice.tsx +67 -0
- package/src/web/components/chat/message-input.tsx +48 -13
- package/src/web/components/chat/message-list.tsx +15 -0
- package/src/web/components/chat/prompt-cache-chip.tsx +74 -0
- package/src/web/components/editor/code-editor.tsx +1 -0
- package/src/web/components/editor/editor-language-service.tsx +11 -3
- package/src/web/components/editor/lsp-status.tsx +115 -13
- package/src/web/components/git/branch-picker.tsx +419 -0
- package/src/web/components/git/branch-select.tsx +34 -0
- package/src/web/components/git/create-worktree-dialog.tsx +17 -16
- package/src/web/components/git/git-repo-picker.tsx +28 -40
- package/src/web/components/layout/status-bar.tsx +42 -19
- package/src/web/components/settings/accounts/account-card.tsx +10 -2
- package/src/web/components/settings/accounts/account-usage-extras.tsx +3 -2
- package/src/web/components/settings/accounts/codex-accounts-section.tsx +3 -1
- package/src/web/components/settings/accounts/codex-reset-credit-button.tsx +120 -0
- package/src/web/components/settings/ai-settings-section.tsx +67 -3
- package/src/web/components/settings/appearance-settings-section.tsx +2 -28
- package/src/web/components/settings/language-servers-section.tsx +362 -0
- package/src/web/components/settings/settings-categories.ts +8 -3
- package/src/web/components/settings/settings-section-content.tsx +2 -0
- package/src/web/components/settings/voice-settings-section.tsx +283 -0
- package/src/web/components/system/apps/app-row.tsx +110 -0
- package/src/web/components/system/apps/app-rows.ts +140 -0
- package/src/web/components/system/apps/apps-panel.tsx +129 -0
- package/src/web/components/system/metric-chart-canvas.tsx +79 -3
- package/src/web/components/system/overview-cards/card-shell.tsx +54 -0
- package/src/web/components/system/overview-cards/cpu-card.tsx +11 -6
- package/src/web/components/system/overview-cards/disk-card.tsx +11 -6
- package/src/web/components/system/overview-cards/gpu-card.tsx +16 -6
- package/src/web/components/system/overview-cards/mem-card.tsx +11 -6
- package/src/web/components/system/overview-cards/net-card.tsx +11 -6
- package/src/web/components/system/overview-device-target.ts +69 -0
- package/src/web/components/system/overview-panel.tsx +15 -1
- package/src/web/components/system/performance/cpu-core-grid.tsx +74 -0
- package/src/web/components/system/performance/cpu-detail.tsx +220 -0
- package/src/web/components/system/performance/detail-parts.tsx +149 -0
- package/src/web/components/system/performance/device-list.ts +139 -0
- package/src/web/components/system/performance/disk-detail.tsx +64 -0
- package/src/web/components/system/performance/fans-detail.tsx +35 -0
- package/src/web/components/system/performance/gpu-detail.tsx +116 -0
- package/src/web/components/system/performance/memory-detail.tsx +109 -0
- package/src/web/components/system/performance/nic-detail.tsx +55 -0
- package/src/web/components/system/performance/partition-list.tsx +79 -0
- package/src/web/components/system/performance/performance-panel.tsx +206 -0
- package/src/web/components/system/performance/use-hardware-inventory.ts +48 -0
- package/src/web/components/system/process-columns-grid.ts +5 -3
- package/src/web/components/system/process-details-dialog.tsx +116 -0
- package/src/web/components/system/process-group-row.tsx +6 -1
- package/src/web/components/system/process-row-format.ts +6 -0
- package/src/web/components/system/process-row-menu.tsx +72 -0
- package/src/web/components/system/process-row.tsx +7 -1
- package/src/web/components/system/process-table-model.ts +1 -1
- package/src/web/components/system/process-table-sort.ts +8 -4
- package/src/web/components/system/process-table-toolbar.tsx +10 -2
- package/src/web/components/system/process-table-totals.ts +3 -0
- package/src/web/components/system/process-table.tsx +25 -2
- package/src/web/components/system/services/service-action-confirm.tsx +100 -0
- package/src/web/components/system/services/service-columns.ts +103 -0
- package/src/web/components/system/services/service-details-sheet.tsx +97 -0
- package/src/web/components/system/services/service-resources.ts +105 -0
- package/src/web/components/system/services/service-row.tsx +146 -0
- package/src/web/components/system/services/service-rows.ts +92 -0
- package/src/web/components/system/services/service-sort.ts +90 -0
- package/src/web/components/system/services/services-header.tsx +51 -0
- package/src/web/components/system/services/services-panel.tsx +207 -0
- package/src/web/components/system/services/use-services.ts +92 -0
- package/src/web/components/system/sortable-header.tsx +13 -8
- package/src/web/components/system/sysmon-preferences.tsx +85 -0
- package/src/web/components/system/system-monitor-body.tsx +101 -43
- package/src/web/components/system/system-monitor-window-content.tsx +2 -3
- package/src/web/components/system/use-process-signal.ts +87 -0
- package/src/web/components/tunnels/public-tunnel-switch.tsx +82 -0
- package/src/web/components/tunnels/tunnel-manager-tab.tsx +4 -0
- package/src/web/components/ui/dialog.tsx +14 -1
- package/src/web/components/ui/search-select.tsx +279 -0
- package/src/web/components/ui/start-ellipsis.tsx +18 -0
- package/src/web/hooks/use-chat.ts +28 -0
- package/src/web/hooks/use-global-keybindings.ts +7 -5
- package/src/web/hooks/use-lsp.ts +23 -2
- package/src/web/hooks/use-minute-clock.ts +20 -0
- package/src/web/hooks/use-whisper-voice-input.ts +113 -0
- package/src/web/lib/api-tunnels.ts +19 -0
- package/src/web/lib/branch-select-items.ts +29 -0
- package/src/web/lib/cpu-graph-mode.ts +90 -0
- package/src/web/lib/format-bytes.ts +14 -0
- package/src/web/lib/git-ref-picker.ts +120 -0
- package/src/web/lib/lsp/lsp-client.ts +32 -0
- package/src/web/lib/search-select-rows.ts +55 -0
- package/src/web/lib/temperature.ts +27 -0
- package/src/web/lib/voice-wav.ts +69 -0
- package/src/web/stores/git-status-store.ts +31 -17
- package/src/web/stores/keybindings-store.ts +14 -1
- package/src/web/stores/settings-store.ts +65 -0
- package/src/web/styles/globals.css +11 -0
- package/dist/web/assets/accounts-settings-section-CgG5P3Jm.js +0 -1
- package/dist/web/assets/accounts-settings-section-CgG5P3Jm.js.br +0 -0
- package/dist/web/assets/accounts-settings-section-CgG5P3Jm.js.gz +0 -0
- package/dist/web/assets/ai-resource-editor-DKcsVDle.js.br +0 -0
- package/dist/web/assets/ai-resource-editor-DKcsVDle.js.gz +0 -0
- package/dist/web/assets/ai-settings-section-D7zJ-hCO.js +0 -1
- package/dist/web/assets/ai-settings-section-D7zJ-hCO.js.br +0 -0
- package/dist/web/assets/ai-settings-section-D7zJ-hCO.js.gz +0 -0
- package/dist/web/assets/ai-settings-section-OPqC2bYG.js +0 -1
- package/dist/web/assets/api-client-BgedDTvo.js +0 -1
- package/dist/web/assets/api-client-c8YOpTlT.js.br +0 -0
- package/dist/web/assets/api-client-c8YOpTlT.js.gz +0 -0
- package/dist/web/assets/api-settings-BmvNoCbn.js.br +0 -0
- package/dist/web/assets/api-settings-BmvNoCbn.js.gz +0 -0
- package/dist/web/assets/api-settings-Bti1-Zn3.js +0 -1
- package/dist/web/assets/appearance-settings-section-DL466x83.js +0 -1
- package/dist/web/assets/appearance-settings-section-DL466x83.js.br +0 -0
- package/dist/web/assets/appearance-settings-section-DL466x83.js.gz +0 -0
- package/dist/web/assets/audio-preview-vaG2cB-k.js.br +0 -0
- package/dist/web/assets/audio-preview-vaG2cB-k.js.gz +0 -0
- package/dist/web/assets/branch-review-tab-Dag86n_R.js +0 -1
- package/dist/web/assets/branch-review-tab-Dag86n_R.js.br +0 -0
- package/dist/web/assets/branch-review-tab-Dag86n_R.js.gz +0 -0
- package/dist/web/assets/button-Ci9EUgqd.js.br +0 -0
- package/dist/web/assets/button-Ci9EUgqd.js.gz +0 -0
- package/dist/web/assets/chat-preparation-cache-BSIQGiWx.js.br +0 -0
- package/dist/web/assets/chat-preparation-cache-BSIQGiWx.js.gz +0 -0
- package/dist/web/assets/chat-tab-CcYZLXls.js +0 -15
- package/dist/web/assets/chat-tab-CcYZLXls.js.br +0 -0
- package/dist/web/assets/chat-tab-CcYZLXls.js.gz +0 -0
- package/dist/web/assets/chat-tab-QFDhzzBZ.js +0 -1
- package/dist/web/assets/chat-tab-QFDhzzBZ.js.br +0 -0
- package/dist/web/assets/chat-tab-QFDhzzBZ.js.gz +0 -0
- package/dist/web/assets/code-editor-K-IN8VwJ.js +0 -7
- package/dist/web/assets/code-editor-K-IN8VwJ.js.br +0 -0
- package/dist/web/assets/code-editor-K-IN8VwJ.js.gz +0 -0
- package/dist/web/assets/codex-sign-in-again-dialog-C8JvblLG.js +0 -1
- package/dist/web/assets/codex-sign-in-again-dialog-C8JvblLG.js.br +0 -0
- package/dist/web/assets/codex-sign-in-again-dialog-C8JvblLG.js.gz +0 -0
- package/dist/web/assets/conflict-editor-qMGJH0Bx.js.br +0 -0
- package/dist/web/assets/conflict-editor-qMGJH0Bx.js.gz +0 -0
- package/dist/web/assets/context-menu-CjYTq8DI.js +0 -1
- package/dist/web/assets/context-menu-CjYTq8DI.js.br +0 -0
- package/dist/web/assets/context-menu-CjYTq8DI.js.gz +0 -0
- package/dist/web/assets/csv-preview-D2I742dl.js.br +0 -0
- package/dist/web/assets/csv-preview-D2I742dl.js.gz +0 -0
- package/dist/web/assets/data-grid-overlay-editor-CQRVKr7y.js.br +0 -0
- package/dist/web/assets/data-grid-overlay-editor-CQRVKr7y.js.gz +0 -0
- package/dist/web/assets/database-viewer-Bz4LjgIa.js.br +0 -0
- package/dist/web/assets/database-viewer-Bz4LjgIa.js.gz +0 -0
- package/dist/web/assets/design-export-client-ChMcMoqW.js.br +0 -0
- package/dist/web/assets/design-export-client-ChMcMoqW.js.gz +0 -0
- package/dist/web/assets/design-responsive-dialog-DNBhJJLf.js.br +0 -0
- package/dist/web/assets/design-responsive-dialog-DNBhJJLf.js.gz +0 -0
- package/dist/web/assets/design-tab-C987MtMR.js +0 -33
- package/dist/web/assets/design-tab-C987MtMR.js.br +0 -0
- package/dist/web/assets/design-tab-C987MtMR.js.gz +0 -0
- package/dist/web/assets/designs-sidebar-panel-CapP1yXq.js.br +0 -0
- package/dist/web/assets/designs-sidebar-panel-CapP1yXq.js.gz +0 -0
- package/dist/web/assets/dialog-B8clVkyi.js +0 -1
- package/dist/web/assets/dialog-B8clVkyi.js.br +0 -0
- package/dist/web/assets/dialog-B8clVkyi.js.gz +0 -0
- package/dist/web/assets/diff-viewer-CdXi7cZN.js.br +0 -0
- package/dist/web/assets/diff-viewer-CdXi7cZN.js.gz +0 -0
- package/dist/web/assets/docx-preview-C9XdKEj1.js.br +0 -0
- package/dist/web/assets/docx-preview-C9XdKEj1.js.gz +0 -0
- package/dist/web/assets/editor-language-service-Zle_PZV8.js +0 -1
- package/dist/web/assets/editor-language-service-Zle_PZV8.js.br +0 -0
- package/dist/web/assets/editor-language-service-Zle_PZV8.js.gz +0 -0
- package/dist/web/assets/explorer-body-DHMQR1Rk.js +0 -2
- package/dist/web/assets/explorer-body-DHMQR1Rk.js.br +0 -0
- package/dist/web/assets/explorer-body-DHMQR1Rk.js.gz +0 -0
- package/dist/web/assets/explorer-window-content-Df40nQBk.js +0 -1
- package/dist/web/assets/explorer-window-content-Df40nQBk.js.br +0 -0
- package/dist/web/assets/explorer-window-content-Df40nQBk.js.gz +0 -0
- package/dist/web/assets/extension-manager-section-B2nZzJ2b.js.br +0 -0
- package/dist/web/assets/extension-manager-section-B2nZzJ2b.js.gz +0 -0
- package/dist/web/assets/extension-webview-BGoDxkdF.js.br +0 -0
- package/dist/web/assets/extension-webview-BGoDxkdF.js.gz +0 -0
- package/dist/web/assets/file-icons-gx_FBOXY.js.br +0 -0
- package/dist/web/assets/file-icons-gx_FBOXY.js.gz +0 -0
- package/dist/web/assets/file-store-D9KE0kQC.js.br +0 -0
- package/dist/web/assets/file-store-D9KE0kQC.js.gz +0 -0
- package/dist/web/assets/files-settings-section-DC3OzzOl.js.br +0 -0
- package/dist/web/assets/files-settings-section-DC3OzzOl.js.gz +0 -0
- package/dist/web/assets/format-bytes-DmSHAKFe.js +0 -1
- package/dist/web/assets/format-file-meta-mQwA6SuY.js.br +0 -0
- package/dist/web/assets/format-file-meta-mQwA6SuY.js.gz +0 -0
- package/dist/web/assets/fs-api-DL36slbd.js.br +0 -0
- package/dist/web/assets/fs-api-DL36slbd.js.gz +0 -0
- package/dist/web/assets/general-settings-section-i41W43ER.js.br +0 -0
- package/dist/web/assets/general-settings-section-i41W43ER.js.gz +0 -0
- package/dist/web/assets/git-log-panel-DHzPIkJg.js.br +0 -0
- package/dist/web/assets/git-log-panel-DHzPIkJg.js.gz +0 -0
- package/dist/web/assets/git-repo-store-DSypNj19.js.br +0 -0
- package/dist/web/assets/git-repo-store-DSypNj19.js.gz +0 -0
- package/dist/web/assets/glide-data-grid-Dj4vrDvj.js.br +0 -0
- package/dist/web/assets/glide-data-grid-Dj4vrDvj.js.gz +0 -0
- package/dist/web/assets/group-chat-tab-DfwZb-fI.js +0 -1
- package/dist/web/assets/group-chat-tab-DfwZb-fI.js.br +0 -0
- package/dist/web/assets/group-chat-tab-DfwZb-fI.js.gz +0 -0
- package/dist/web/assets/index-DMA-So69.css +0 -1
- package/dist/web/assets/index-DMA-So69.css.br +0 -0
- package/dist/web/assets/index-DMA-So69.css.gz +0 -0
- package/dist/web/assets/index-jG9mLs-J.js +0 -52
- package/dist/web/assets/index-jG9mLs-J.js.br +0 -0
- package/dist/web/assets/index-jG9mLs-J.js.gz +0 -0
- package/dist/web/assets/keybindings-store-BlapkC6O.js +0 -1
- package/dist/web/assets/keyboard-shortcuts-section-CxdGSNGr.js.br +0 -0
- package/dist/web/assets/keyboard-shortcuts-section-CxdGSNGr.js.gz +0 -0
- package/dist/web/assets/markdown-renderer-DJ9EVU1B.js +0 -1
- package/dist/web/assets/markdown-renderer-ok96IgnS.js.br +0 -0
- package/dist/web/assets/markdown-renderer-ok96IgnS.js.gz +0 -0
- package/dist/web/assets/mobile-bottom-sheet-CuNi2FRv.js.br +0 -0
- package/dist/web/assets/mobile-bottom-sheet-CuNi2FRv.js.gz +0 -0
- package/dist/web/assets/mobile-explorer-sheet-Cc03LUKy.js +0 -1
- package/dist/web/assets/mobile-explorer-sheet-Cc03LUKy.js.br +0 -0
- package/dist/web/assets/mobile-explorer-sheet-Cc03LUKy.js.gz +0 -0
- package/dist/web/assets/new-design-dialog-Drkjb_LI.js.br +0 -0
- package/dist/web/assets/new-design-dialog-Drkjb_LI.js.gz +0 -0
- package/dist/web/assets/notification-store-DCyxho0O.js +0 -1
- package/dist/web/assets/notifications-settings-section-C05WYqcE.js.br +0 -0
- package/dist/web/assets/notifications-settings-section-C05WYqcE.js.gz +0 -0
- package/dist/web/assets/onboarding-entry-CmUqv1kl.js.br +0 -0
- package/dist/web/assets/onboarding-entry-CmUqv1kl.js.gz +0 -0
- package/dist/web/assets/onboarding-quick-orientation-DIhWv1CN.js.br +0 -0
- package/dist/web/assets/onboarding-quick-orientation-DIhWv1CN.js.gz +0 -0
- package/dist/web/assets/overview-panel-BZAW_nag.js +0 -1
- package/dist/web/assets/overview-panel-BZAW_nag.js.br +0 -0
- package/dist/web/assets/overview-panel-BZAW_nag.js.gz +0 -0
- package/dist/web/assets/pdf-preview-qdXmMkOR.js.br +0 -0
- package/dist/web/assets/pdf-preview-qdXmMkOR.js.gz +0 -0
- package/dist/web/assets/postgres-viewer-Xvlun_n5.js.br +0 -0
- package/dist/web/assets/postgres-viewer-Xvlun_n5.js.gz +0 -0
- package/dist/web/assets/ppmbot-settings-section-C8PFlvaq.js.br +0 -0
- package/dist/web/assets/ppmbot-settings-section-C8PFlvaq.js.gz +0 -0
- package/dist/web/assets/pptx-export-CG6MRNok.js.br +0 -0
- package/dist/web/assets/pptx-export-CG6MRNok.js.gz +0 -0
- package/dist/web/assets/problems-panel-CFYO0Ro3.js.br +0 -0
- package/dist/web/assets/problems-panel-CFYO0Ro3.js.gz +0 -0
- package/dist/web/assets/process-table-BVeRguFg.js +0 -1
- package/dist/web/assets/process-table-BVeRguFg.js.br +0 -0
- package/dist/web/assets/process-table-BVeRguFg.js.gz +0 -0
- package/dist/web/assets/project-store-C5gJXkvb.js.br +0 -0
- package/dist/web/assets/project-store-C5gJXkvb.js.gz +0 -0
- package/dist/web/assets/proxy-settings-section-BcHIEANE.js.br +0 -0
- package/dist/web/assets/proxy-settings-section-BcHIEANE.js.gz +0 -0
- package/dist/web/assets/query-audit-section-UKG_smyt.js.br +0 -0
- package/dist/web/assets/query-audit-section-UKG_smyt.js.gz +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-BGsp0edA.js.br +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-BGsp0edA.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-DxkmF8qb.js +0 -2
- package/dist/web/assets/remote-desktop-mobile-sheet-DxkmF8qb.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-DxkmF8qb.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-DMD0M9Jh.js +0 -1
- package/dist/web/assets/remote-desktop-mobile-view-DMD0M9Jh.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-DMD0M9Jh.js.gz +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-CsZCCRJI.js.br +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-CsZCCRJI.js.gz +0 -0
- package/dist/web/assets/remote-desktop-window-content-DrHw_vwY.js +0 -1
- package/dist/web/assets/remote-desktop-window-content-DrHw_vwY.js.br +0 -0
- package/dist/web/assets/remote-desktop-window-content-DrHw_vwY.js.gz +0 -0
- package/dist/web/assets/schedules-settings-section-Ci0O2Ng6.js.br +0 -0
- package/dist/web/assets/schedules-settings-section-Ci0O2Ng6.js.gz +0 -0
- package/dist/web/assets/scroll-area-XonvWYn_.js.br +0 -0
- package/dist/web/assets/scroll-area-XonvWYn_.js.gz +0 -0
- package/dist/web/assets/settings-body-B6JGOIYb.js +0 -2
- package/dist/web/assets/settings-body-B6JGOIYb.js.br +0 -0
- package/dist/web/assets/settings-body-B6JGOIYb.js.gz +0 -0
- package/dist/web/assets/settings-store-Br5c1efC.js +0 -2
- package/dist/web/assets/settings-store-Br5c1efC.js.br +0 -0
- package/dist/web/assets/settings-store-Br5c1efC.js.gz +0 -0
- package/dist/web/assets/settings-tab-CIQM4fNE.js +0 -1
- package/dist/web/assets/settings-window-content-BGNNz-E5.js +0 -1
- package/dist/web/assets/sql-query-editor-4iCGE4h2.js.br +0 -3
- package/dist/web/assets/sql-query-editor-4iCGE4h2.js.gz +0 -0
- package/dist/web/assets/sqlite-viewer-CK6DulYk.js.br +0 -0
- package/dist/web/assets/sqlite-viewer-CK6DulYk.js.gz +0 -0
- package/dist/web/assets/system-monitor-body-J9JtvAWV.js +0 -2
- package/dist/web/assets/system-monitor-body-J9JtvAWV.js.br +0 -0
- package/dist/web/assets/system-monitor-body-J9JtvAWV.js.gz +0 -0
- package/dist/web/assets/system-monitor-tab-DjBeRE81.js +0 -1
- package/dist/web/assets/system-monitor-window-content-BT7-ugFx.js +0 -1
- package/dist/web/assets/tab-host-window-content-CWBaWKjA.js.br +0 -0
- package/dist/web/assets/tab-host-window-content-CWBaWKjA.js.gz +0 -0
- package/dist/web/assets/team-member-sheet-Br6mrxrw.js.br +0 -0
- package/dist/web/assets/team-member-sheet-Br6mrxrw.js.gz +0 -0
- package/dist/web/assets/team-member-window-content-CwCy7ZWf.js.br +0 -0
- package/dist/web/assets/team-member-window-content-CwCy7ZWf.js.gz +0 -0
- package/dist/web/assets/terminal-tab-BW14RpCb.js.br +0 -0
- package/dist/web/assets/terminal-tab-BW14RpCb.js.gz +0 -0
- package/dist/web/assets/tool-cards-CgOBEUnb.js.br +0 -0
- package/dist/web/assets/tool-cards-CgOBEUnb.js.gz +0 -0
- package/dist/web/assets/use-inline-blame-Bzjfru4n.js +0 -16
- package/dist/web/assets/use-inline-blame-Bzjfru4n.js.br +0 -0
- package/dist/web/assets/use-inline-blame-Bzjfru4n.js.gz +0 -0
- package/dist/web/assets/use-lsp-hGdjL2hV.js +0 -6
- package/dist/web/assets/use-lsp-hGdjL2hV.js.br +0 -0
- package/dist/web/assets/use-lsp-hGdjL2hV.js.gz +0 -0
- package/dist/web/assets/vendor-ui-BHh12_0v.js.br +0 -0
- package/dist/web/assets/vendor-ui-BHh12_0v.js.gz +0 -0
- package/dist/web/assets/video-preview-P9T-ZVdN.js +0 -1
- package/dist/web/assets/video-preview-P9T-ZVdN.js.br +0 -0
- package/dist/web/assets/video-preview-P9T-ZVdN.js.gz +0 -0
- package/dist/web/assets/ws-auth-kXgsX2Js.js +0 -1
- package/packages/vscode-compat/node_modules/.bin/tsc.bunx +0 -0
- package/packages/vscode-compat/node_modules/.bin/tsc.exe +0 -0
- package/packages/vscode-compat/node_modules/.bin/tsserver.bunx +0 -0
- package/packages/vscode-compat/node_modules/.bin/tsserver.exe +0 -0
- /package/dist/web/assets/{__vite-browser-external-BpSQWxcq.js → __vite-browser-external-BILfYaAs.js} +0 -0
- /package/dist/web/assets/{run-in-terminal-HIdNgYim.js → run-in-terminal-2pSiup8e.js} +0 -0
- /package/dist/web/assets/{vendor-xterm-DLDtzLib.js → vendor-xterm-DF1JTfsy.js} +0 -0
- /package/dist/web/assets/{vendor-xterm-DLDtzLib.js.br → vendor-xterm-DF1JTfsy.js.br} +0 -0
- /package/dist/web/assets/{vendor-xterm-DLDtzLib.js.gz → vendor-xterm-DF1JTfsy.js.gz} +0 -0
|
@@ -42,4 +42,4 @@ import{s as e,t}from"./rolldown-runtime-C5c2KzVm.js";import{C as n,S as r}from".
|
|
|
42
42
|
|
|
43
43
|
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
44
44
|
|
|
45
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return o.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},Ln=`DialogDescriptionWarning`,Rn=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Fn(Ln).contentName}}.`;return o.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},zn=un,Bn=fn,Vn=gn,Hn=vn,Un=Sn,Wn=Dn,Gn=kn,Kn=jn;function qn(e){let t=o.useRef({value:e,previous:e});return o.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function Jn(e){let[t,n]=o.useState(void 0);return j(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var Yn=[`top`,`right`,`bottom`,`left`],Xn=Math.min,H=Math.max,Zn=Math.round,Qn=Math.floor,U=e=>({x:e,y:e}),$n={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function er(e,t,n){return H(e,Xn(t,n))}function tr(e,t){return typeof e==`function`?e(t):e}function nr(e){return e.split(`-`)[0]}function rr(e){return e.split(`-`)[1]}function ir(e){return e===`x`?`y`:`x`}function ar(e){return e===`y`?`height`:`width`}function W(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function or(e){return ir(W(e))}function sr(e,t,n){n===void 0&&(n=!1);let r=rr(e),i=or(e),a=ar(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=gr(o)),[o,gr(o)]}function cr(e){let t=gr(e);return[lr(e),t,lr(t)]}function lr(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var ur=[`left`,`right`],dr=[`right`,`left`],fr=[`top`,`bottom`],pr=[`bottom`,`top`];function mr(e,t,n){switch(e){case`top`:case`bottom`:return n?t?dr:ur:t?ur:dr;case`left`:case`right`:return t?fr:pr;default:return[]}}function hr(e,t,n,r){let i=rr(e),a=mr(nr(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(lr)))),a}function gr(e){let t=nr(e);return $n[t]+e.slice(t.length)}function _r(e){return{top:0,right:0,bottom:0,left:0,...e}}function vr(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:_r(e)}function yr(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function br(e,t,n){let{reference:r,floating:i}=e,a=W(t),o=or(t),s=ar(o),c=nr(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(rr(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function xr(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=tr(t,e),p=vr(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=yr(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=yr(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Sr=50,Cr=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:xr},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=br(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Sr&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=br(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},wr=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=tr(e,t)||{};if(l==null)return{};let d=vr(u),f={x:n,y:r},p=or(i),m=ar(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Xn(d[_],T),D=Xn(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=er(O,A,k),M=!c.arrow&&rr(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),Tr=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=tr(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=nr(r),_=W(o),v=nr(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[gr(o)]:cr(o)),x=p!==`none`;!d&&x&&b.push(...hr(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=sr(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==W(t))||T.every(e=>W(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=W(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function Er(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Dr(e){return Yn.some(t=>e[t]>=0)}var Or=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=tr(e,t);switch(i){case`referenceHidden`:{let e=Er(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Dr(e)}}}case`escaped`:{let e=Er(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Dr(e)}}}default:return{}}}}},kr=new Set([`left`,`top`]);async function Ar(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=nr(n),s=rr(n),c=W(n)===`y`,l=kr.has(o)?-1:1,u=a&&c?-1:1,d=tr(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var jr=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Ar(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Mr=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=tr(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=W(nr(i)),p=ir(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=er(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=er(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},Nr=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=tr(e,t),u={x:n,y:r},d=W(i),f=ir(d),p=u[f],m=u[d],h=tr(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=kr.has(nr(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},Pr=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=tr(e,t),u=await o.detectOverflow(t,l),d=nr(i),f=rr(i),p=W(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Xn(h-u[g],v),x=Xn(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=H(u.left,0),t=H(u.right,0),n=H(u.top,0),r=H(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:H(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:H(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function Fr(){return typeof window<`u`}function Ir(e){return Lr(e)?(e.nodeName||``).toLowerCase():`#document`}function G(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function K(e){return((Lr(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Lr(e){return Fr()?e instanceof Node||e instanceof G(e).Node:!1}function q(e){return Fr()?e instanceof Element||e instanceof G(e).Element:!1}function Rr(e){return Fr()?e instanceof HTMLElement||e instanceof G(e).HTMLElement:!1}function zr(e){return!Fr()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof G(e).ShadowRoot}function Br(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=J(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Vr(e){return/^(table|td|th)$/.test(Ir(e))}function Hr(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Ur=/transform|translate|scale|rotate|perspective|filter/,Wr=/paint|layout|strict|content/,Gr=e=>!!e&&e!==`none`,Kr;function qr(e){let t=q(e)?J(e):e;return Gr(t.transform)||Gr(t.translate)||Gr(t.scale)||Gr(t.rotate)||Gr(t.perspective)||!Yr()&&(Gr(t.backdropFilter)||Gr(t.filter))||Ur.test(t.willChange||``)||Wr.test(t.contain||``)}function Jr(e){let t=Qr(e);for(;Rr(t)&&!Xr(t);){if(qr(t))return t;if(Hr(t))return null;t=Qr(t)}return null}function Yr(){return Kr??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Kr}function Xr(e){return/^(html|body|#document)$/.test(Ir(e))}function J(e){return G(e).getComputedStyle(e)}function Zr(e){return q(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Qr(e){if(Ir(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||zr(e)&&e.host||K(e);return zr(t)?t.host:t}function $r(e){let t=Qr(e);return Xr(t)?e.ownerDocument?e.ownerDocument.body:e.body:Rr(t)&&Br(t)?t:$r(t)}function ei(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=$r(e),i=r===e.ownerDocument?.body,a=G(r);if(i){let e=ti(a);return t.concat(a,a.visualViewport||[],Br(r)?r:[],e&&n?ei(e):[])}else return t.concat(r,ei(r,[],n))}function ti(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function ni(e){let t=J(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Rr(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Zn(n)!==a||Zn(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function ri(e){return q(e)?e:e.contextElement}function ii(e){let t=ri(e);if(!Rr(t))return U(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=ni(t),o=(a?Zn(n.width):n.width)/r,s=(a?Zn(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var ai=U(0);function oi(e){let t=G(e);return!Yr()||!t.visualViewport?ai:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function si(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==G(e)?!1:t}function ci(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=ri(e),o=U(1);t&&(r?q(r)&&(o=ii(r)):o=ii(e));let s=si(a,n,r)?oi(a):U(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=G(a),t=r&&q(r)?G(r):r,n=e,i=ti(n);for(;i&&r&&t!==n;){let e=ii(i),t=i.getBoundingClientRect(),r=J(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=G(i),i=ti(n)}}return yr({width:u,height:d,x:c,y:l})}function li(e,t){let n=Zr(e).scrollLeft;return t?t.left+n:ci(K(e)).left+n}function ui(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-li(e,n),y:n.top+t.scrollTop}}function di(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=K(r),s=t?Hr(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=U(1),u=U(0),d=Rr(r);if((d||!d&&!a)&&((Ir(r)!==`body`||Br(o))&&(c=Zr(r)),d)){let e=ci(r);l=ii(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?ui(o,c):U(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function fi(e){return Array.from(e.getClientRects())}function pi(e){let t=K(e),n=Zr(e),r=e.ownerDocument.body,i=H(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=H(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+li(e),s=-n.scrollTop;return J(r).direction===`rtl`&&(o+=H(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var mi=25;function hi(e,t){let n=G(e),r=K(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Yr();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=li(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=mi&&(a-=o)}else l<=mi&&(a+=l);return{width:a,height:o,x:s,y:c}}function gi(e,t){let n=ci(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Rr(e)?ii(e):U(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function _i(e,t,n){let r;if(t===`viewport`)r=hi(e,n);else if(t===`document`)r=pi(K(e));else if(q(t))r=gi(t,n);else{let n=oi(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return yr(r)}function vi(e,t){let n=Qr(e);return n===t||!q(n)||Xr(n)?!1:J(n).position===`fixed`||vi(n,t)}function yi(e,t){let n=t.get(e);if(n)return n;let r=ei(e,[],!1).filter(e=>q(e)&&Ir(e)!==`body`),i=null,a=J(e).position===`fixed`,o=a?Qr(e):e;for(;q(o)&&!Xr(o);){let t=J(o),n=qr(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Br(o)&&!n&&vi(e,o))?r=r.filter(e=>e!==o):i=t,o=Qr(o)}return t.set(e,r),r}function bi(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Hr(t)?[]:yi(t,this._c):[].concat(n),r],o=_i(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=_i(t,a[e],i);s=H(n.top,s),c=Xn(n.right,c),l=Xn(n.bottom,l),u=H(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function xi(e){let{width:t,height:n}=ni(e);return{width:t,height:n}}function Si(e,t,n){let r=Rr(t),i=K(t),a=n===`fixed`,o=ci(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=U(0);function l(){c.x=li(i)}if(r||!r&&!a)if((Ir(t)!==`body`||Br(i))&&(s=Zr(t)),r){let e=ci(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?ui(i,s):U(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Ci(e){return J(e).position===`static`}function wi(e,t){if(!Rr(e)||J(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return K(e)===n&&(n=n.ownerDocument.body),n}function Ti(e,t){let n=G(e);if(Hr(e))return n;if(!Rr(e)){let t=Qr(e);for(;t&&!Xr(t);){if(q(t)&&!Ci(t))return t;t=Qr(t)}return n}let r=wi(e,t);for(;r&&Vr(r)&&Ci(r);)r=wi(r,t);return r&&Xr(r)&&Ci(r)&&!qr(r)?n:r||Jr(e)||n}var Ei=async function(e){let t=this.getOffsetParent||Ti,n=this.getDimensions,r=await n(e.floating);return{reference:Si(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Di(e){return J(e).direction===`rtl`}var Oi={convertOffsetParentRelativeRectToViewportRelativeRect:di,getDocumentElement:K,getClippingRect:bi,getOffsetParent:Ti,getElementRects:Ei,getClientRects:fi,getDimensions:xi,getScale:ii,isElement:q,isRTL:Di};function ki(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Ai(e,t){let n=null,r,i=K(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=Qn(d),h=Qn(i.clientWidth-(u+f)),g=Qn(i.clientHeight-(d+p)),_=Qn(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:H(0,Xn(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!ki(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function ji(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=ri(e),u=i||a?[...l?ei(l):[],...t?ei(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Ai(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?ci(e):null;c&&g();function g(){let t=ci(e);h&&!ki(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Mi=jr,Ni=Mr,Pi=Tr,Fi=Pr,Ii=Or,Li=wr,Ri=Nr,zi=(e,t,n)=>{let r=new Map,i={platform:Oi,...n},a={...i.platform,_c:r};return Cr(e,t,{...i,platform:a})},Bi=typeof document<`u`?o.useLayoutEffect:function(){};function Vi(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Vi(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!Vi(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Hi(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Ui(e,t){let n=Hi(e);return Math.round(t*n)/n}function Wi(e){let t=o.useRef(e);return Bi(()=>{t.current=e}),t}function Gi(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:s}={},transform:c=!0,whileElementsMounted:l,open:u}=e,[d,f]=o.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=o.useState(r);Vi(p,r)||m(r);let[h,g]=o.useState(null),[_,v]=o.useState(null),b=o.useCallback(e=>{e!==w.current&&(w.current=e,g(e))},[]),x=o.useCallback(e=>{e!==T.current&&(T.current=e,v(e))},[]),S=a||h,C=s||_,w=o.useRef(null),T=o.useRef(null),E=o.useRef(d),D=l!=null,O=Wi(l),k=Wi(i),A=Wi(u),j=o.useCallback(()=>{if(!w.current||!T.current)return;let e={placement:t,strategy:n,middleware:p};k.current&&(e.platform=k.current),zi(w.current,T.current,e).then(e=>{let t={...e,isPositioned:A.current!==!1};M.current&&!Vi(E.current,t)&&(E.current=t,y.flushSync(()=>{f(t)}))})},[p,t,n,k,A]);Bi(()=>{u===!1&&E.current.isPositioned&&(E.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[u]);let M=o.useRef(!1);Bi(()=>(M.current=!0,()=>{M.current=!1}),[]),Bi(()=>{if(S&&(w.current=S),C&&(T.current=C),S&&C){if(O.current)return O.current(S,C,j);j()}},[S,C,j,O,D]);let N=o.useMemo(()=>({reference:w,floating:T,setReference:b,setFloating:x}),[b,x]),P=o.useMemo(()=>({reference:S,floating:C}),[S,C]),ee=o.useMemo(()=>{let e={position:n,left:0,top:0};if(!P.floating)return e;let t=Ui(P.floating,d.x),r=Ui(P.floating,d.y);return c?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Hi(P.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,c,P.floating,d.x,d.y]);return o.useMemo(()=>({...d,update:j,refs:N,elements:P,floatingStyles:ee}),[d,j,N,P,ee])}var Ki=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:Li({element:r.current,padding:i}).fn(n):r?Li({element:r,padding:i}).fn(n):{}}}},qi=(e,t)=>{let n=Mi(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ji=(e,t)=>{let n=Ni(e);return{name:n.name,fn:n.fn,options:[e,t]}},Yi=(e,t)=>({fn:Ri(e).fn,options:[e,t]}),Xi=(e,t)=>{let n=Pi(e);return{name:n.name,fn:n.fn,options:[e,t]}},Zi=(e,t)=>{let n=Fi(e);return{name:n.name,fn:n.fn,options:[e,t]}},Qi=(e,t)=>{let n=Ii(e);return{name:n.name,fn:n.fn,options:[e,t]}},$i=(e,t)=>{let n=Ki(e);return{name:n.name,fn:n.fn,options:[e,t]}},ea=`Arrow`,ta=o.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,u.jsx)(b.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,u.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});ta.displayName=ea;var na=ta,ra=`Popper`,[ia,aa]=D(ra),[oa,sa]=ia(ra),ca=e=>{let{__scopePopper:t,children:n}=e,[r,i]=o.useState(null);return(0,u.jsx)(oa,{scope:t,anchor:r,onAnchorChange:i,children:n})};ca.displayName=ra;var la=`PopperAnchor`,ua=o.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=sa(la,n),s=o.useRef(null),c=l(t,s),d=o.useRef(null);return o.useEffect(()=>{let e=d.current;d.current=r?.current||s.current,e!==d.current&&a.onAnchorChange(d.current)}),r?null:(0,u.jsx)(b.div,{...i,ref:c})});ua.displayName=la;var da=`PopperContent`,[fa,pa]=ia(da),ma=o.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:s=0,arrowPadding:c=0,avoidCollisions:d=!0,collisionBoundary:f=[],collisionPadding:p=0,sticky:m=`partial`,hideWhenDetached:h=!1,updatePositionStrategy:g=`optimized`,onPlaced:_,...v}=e,y=sa(da,n),[x,S]=o.useState(null),C=l(t,e=>S(e)),[w,T]=o.useState(null),E=Jn(w),D=E?.width??0,O=E?.height??0,k=r+(a===`center`?``:`-`+a),A=typeof p==`number`?p:{top:0,right:0,bottom:0,left:0,...p},M=Array.isArray(f)?f:[f],N=M.length>0,P={padding:A,boundary:M.filter(va),altBoundary:N},{refs:ee,floatingStyles:te,placement:F,isPositioned:I,middlewareData:L}=Gi({strategy:`fixed`,placement:k,whileElementsMounted:(...e)=>ji(...e,{animationFrame:g===`always`}),elements:{reference:y.anchor},middleware:[qi({mainAxis:i+O,alignmentAxis:s}),d&&Ji({mainAxis:!0,crossAxis:!1,limiter:m===`partial`?Yi():void 0,...P}),d&&Xi({...P}),Zi({...P,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),w&&$i({element:w,padding:c}),ya({arrowWidth:D,arrowHeight:O}),h&&Qi({strategy:`referenceHidden`,...P})]}),[ne,re]=ba(F),ie=z(_);j(()=>{I&&ie?.()},[I,ie]);let R=L.arrow?.x,ae=L.arrow?.y,oe=L.arrow?.centerOffset!==0,[se,ce]=o.useState();return j(()=>{x&&ce(window.getComputedStyle(x).zIndex)},[x]),(0,u.jsx)(`div`,{ref:ee.setFloating,"data-radix-popper-content-wrapper":``,style:{...te,transform:I?te.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:se,"--radix-popper-transform-origin":[L.transformOrigin?.x,L.transformOrigin?.y].join(` `),...L.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,u.jsx)(fa,{scope:n,placedSide:ne,onArrowChange:T,arrowX:R,arrowY:ae,shouldHideArrow:oe,children:(0,u.jsx)(b.div,{"data-side":ne,"data-align":re,...v,ref:C,style:{...v.style,animation:I?void 0:`none`}})})})});ma.displayName=da;var ha=`PopperArrow`,ga={top:`bottom`,right:`left`,bottom:`top`,left:`right`},_a=o.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=pa(ha,n),a=ga[i.placedSide];return(0,u.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,u.jsx)(na,{...r,ref:t,style:{...r.style,display:`block`}})})});_a.displayName=ha;function va(e){return e!==null}var ya=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=ba(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function ba(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var xa=ca,Sa=ua,Ca=ma,wa=_a,Ta=`rovingFocusGroup.onEntryFocus`,Ea={bubbles:!1,cancelable:!0},Da=`RovingFocusGroup`,[Oa,ka,Aa]=k(Da),[ja,Ma]=D(Da,[Aa]),[Na,Pa]=ja(Da),Fa=o.forwardRef((e,t)=>(0,u.jsx)(Oa.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(Oa.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(Ia,{...e,ref:t})})}));Fa.displayName=Da;var Ia=o.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:s,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:d,onEntryFocus:f,preventScrollOnEntryFocus:p=!1,...m}=e,h=o.useRef(null),g=l(t,h),_=oe(a),[v,y]=N({prop:s,defaultProp:c??null,onChange:d,caller:Da}),[x,S]=o.useState(!1),C=z(f),w=ka(n),T=o.useRef(!1),[E,D]=o.useState(0);return o.useEffect(()=>{let e=h.current;if(e)return e.addEventListener(Ta,C),()=>e.removeEventListener(Ta,C)},[C]),(0,u.jsx)(Na,{scope:n,orientation:r,dir:_,loop:i,currentTabStopId:v,onItemFocus:o.useCallback(e=>y(e),[y]),onItemShiftTab:o.useCallback(()=>S(!0),[]),onFocusableItemAdd:o.useCallback(()=>D(e=>e+1),[]),onFocusableItemRemove:o.useCallback(()=>D(e=>e-1),[]),children:(0,u.jsx)(b.div,{tabIndex:x||E===0?-1:0,"data-orientation":r,...m,ref:g,style:{outline:`none`,...e.style},onMouseDown:A(e.onMouseDown,()=>{T.current=!0}),onFocus:A(e.onFocus,e=>{let t=!T.current;if(e.target===e.currentTarget&&t&&!x){let t=new CustomEvent(Ta,Ea);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=w().filter(e=>e.focusable);Ha([e.find(e=>e.active),e.find(e=>e.id===v),...e].filter(Boolean).map(e=>e.ref.current),p)}}T.current=!1}),onBlur:A(e.onBlur,()=>S(!1))})})}),La=`RovingFocusGroupItem`,Ra=o.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:s,...c}=e,l=R(),d=a||l,f=Pa(La,n),p=f.currentTabStopId===d,m=ka(n),{onFocusableItemAdd:h,onFocusableItemRemove:g,currentTabStopId:_}=f;return o.useEffect(()=>{if(r)return h(),()=>g()},[r,h,g]),(0,u.jsx)(Oa.ItemSlot,{scope:n,id:d,focusable:r,active:i,children:(0,u.jsx)(b.span,{tabIndex:p?0:-1,"data-orientation":f.orientation,...c,ref:t,onMouseDown:A(e.onMouseDown,e=>{r?f.onItemFocus(d):e.preventDefault()}),onFocus:A(e.onFocus,()=>f.onItemFocus(d)),onKeyDown:A(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){f.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=Va(e,f.orientation,f.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=m().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=f.loop?Ua(n,r+1):n.slice(r+1)}setTimeout(()=>Ha(n))}}),children:typeof s==`function`?s({isCurrentTabStop:p,hasTabStop:_!=null}):s})})});Ra.displayName=La;var za={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function Ba(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function Va(e,t,n){let r=Ba(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return za[r]}function Ha(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function Ua(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Wa=Fa,Ga=Ra,Ka=[`Enter`,` `],qa=[`ArrowDown`,`PageUp`,`Home`],Ja=[`ArrowUp`,`PageDown`,`End`],Ya=[...qa,...Ja],Xa={ltr:[...Ka,`ArrowRight`],rtl:[...Ka,`ArrowLeft`]},Za={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},Qa=`Menu`,[$a,eo,to]=k(Qa),[no,ro]=D(Qa,[to,aa,Ma]),io=aa(),ao=Ma(),[oo,so]=no(Qa),[co,lo]=no(Qa),uo=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:s=!0}=e,c=io(t),[l,d]=o.useState(null),f=o.useRef(!1),p=z(a),m=oe(i);return o.useEffect(()=>{let e=()=>{f.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>f.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,u.jsx)(xa,{...c,children:(0,u.jsx)(oo,{scope:t,open:n,onOpenChange:p,content:l,onContentChange:d,children:(0,u.jsx)(co,{scope:t,onClose:o.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:f,dir:m,modal:s,children:r})})})};uo.displayName=Qa;var fo=`MenuAnchor`,po=o.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=io(n);return(0,u.jsx)(Sa,{...i,...r,ref:t})});po.displayName=fo;var mo=`MenuPortal`,[ho,go]=no(mo,{forceMount:void 0}),_o=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=so(mo,t);return(0,u.jsx)(ho,{scope:t,forceMount:n,children:(0,u.jsx)(F,{present:n||a.open,children:(0,u.jsx)(Re,{asChild:!0,container:i,children:r})})})};_o.displayName=mo;var Y=`MenuContent`,[vo,yo]=no(Y),bo=o.forwardRef((e,t)=>{let n=go(Y,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=so(Y,e.__scopeMenu),o=lo(Y,e.__scopeMenu);return(0,u.jsx)($a.Provider,{scope:e.__scopeMenu,children:(0,u.jsx)(F,{present:r||a.open,children:(0,u.jsx)($a.Slot,{scope:e.__scopeMenu,children:o.modal?(0,u.jsx)(xo,{...i,ref:t}):(0,u.jsx)(So,{...i,ref:t})})})})}),xo=o.forwardRef((e,t)=>{let n=so(Y,e.__scopeMenu),r=o.useRef(null),i=l(t,r);return o.useEffect(()=>{let e=r.current;if(e)return an(e)},[]),(0,u.jsx)(wo,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:A(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),So=o.forwardRef((e,t)=>{let n=so(Y,e.__scopeMenu);return(0,u.jsx)(wo,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Co=d(`MenuContent.ScrollLock`),wo=o.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:s,disableOutsidePointerEvents:c,onEntryFocus:d,onEscapeKeyDown:f,onPointerDownOutside:p,onFocusOutside:m,onInteractOutside:h,onDismiss:g,disableOutsideScroll:_,...v}=e,y=so(Y,n),b=lo(Y,n),x=io(n),S=ao(n),C=eo(n),[w,T]=o.useState(null),E=o.useRef(null),D=l(t,E,y.onContentChange),O=o.useRef(0),k=o.useRef(``),j=o.useRef(0),M=o.useRef(null),N=o.useRef(`right`),P=o.useRef(0),ee=_?Yt:o.Fragment,te=_?{as:Co,allowPinchZoom:!0}:void 0,F=e=>{let t=k.current+e,n=C().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=cs(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){k.current=t,window.clearTimeout(O.current),t!==``&&(O.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};o.useEffect(()=>()=>window.clearTimeout(O.current),[]),Be();let I=o.useCallback(e=>N.current===M.current?.side&&us(e,M.current?.area),[]);return(0,u.jsx)(vo,{scope:n,searchRef:k,onItemEnter:o.useCallback(e=>{I(e)&&e.preventDefault()},[I]),onItemLeave:o.useCallback(e=>{I(e)||(E.current?.focus(),T(null))},[I]),onTriggerLeave:o.useCallback(e=>{I(e)&&e.preventDefault()},[I]),pointerGraceTimerRef:j,onPointerGraceIntentChange:o.useCallback(e=>{M.current=e},[]),children:(0,u.jsx)(ee,{...te,children:(0,u.jsx)(Te,{asChild:!0,trapped:i,onMountAutoFocus:A(a,e=>{e.preventDefault(),E.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:(0,u.jsx)(me,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:f,onPointerDownOutside:p,onFocusOutside:m,onInteractOutside:h,onDismiss:g,children:(0,u.jsx)(Wa,{asChild:!0,...S,dir:b.dir,orientation:`vertical`,loop:r,currentTabStopId:w,onCurrentTabStopIdChange:T,onEntryFocus:A(d,e=>{b.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,u.jsx)(Ca,{role:`menu`,"aria-orientation":`vertical`,"data-state":rs(y.open),"data-radix-menu-content":``,dir:b.dir,...x,...v,ref:D,style:{outline:`none`,...v.style},onKeyDown:A(v.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&F(e.key));let i=E.current;if(e.target!==i||!Ya.includes(e.key))return;e.preventDefault();let a=C().filter(e=>!e.disabled).map(e=>e.ref.current);Ja.includes(e.key)&&a.reverse(),os(a)}),onBlur:A(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(O.current),k.current=``)}),onPointerMove:A(e.onPointerMove,ds(e=>{let t=e.target,n=P.current!==e.clientX;e.currentTarget.contains(t)&&n&&(N.current=e.clientX>P.current?`right`:`left`,P.current=e.clientX)}))})})})})})})});bo.displayName=Y;var To=`MenuGroup`,Eo=o.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,u.jsx)(b.div,{role:`group`,...r,ref:t})});Eo.displayName=To;var Do=`MenuLabel`,Oo=o.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,u.jsx)(b.div,{...r,ref:t})});Oo.displayName=Do;var ko=`MenuItem`,Ao=`menu.itemSelect`,jo=o.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=o.useRef(null),s=lo(ko,e.__scopeMenu),c=yo(ko,e.__scopeMenu),d=l(t,a),f=o.useRef(!1),p=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Ao,{bubbles:!0,cancelable:!0});e.addEventListener(Ao,e=>r?.(e),{once:!0}),x(e,t),t.defaultPrevented?f.current=!1:s.onClose()}};return(0,u.jsx)(Mo,{...i,ref:d,disabled:n,onClick:A(e.onClick,p),onPointerDown:t=>{e.onPointerDown?.(t),f.current=!0},onPointerUp:A(e.onPointerUp,e=>{f.current||e.currentTarget?.click()}),onKeyDown:A(e.onKeyDown,e=>{let t=c.searchRef.current!==``;n||t&&e.key===` `||Ka.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});jo.displayName=ko;var Mo=o.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,s=yo(ko,n),c=ao(n),d=o.useRef(null),f=l(t,d),[p,m]=o.useState(!1),[h,g]=o.useState(``);return o.useEffect(()=>{let e=d.current;e&&g((e.textContent??``).trim())},[a.children]),(0,u.jsx)($a.ItemSlot,{scope:n,disabled:r,textValue:i??h,children:(0,u.jsx)(Ga,{asChild:!0,...c,focusable:!r,children:(0,u.jsx)(b.div,{role:`menuitem`,"data-highlighted":p?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:f,onPointerMove:A(e.onPointerMove,ds(e=>{r?s.onItemLeave(e):(s.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:A(e.onPointerLeave,ds(e=>s.onItemLeave(e))),onFocus:A(e.onFocus,()=>m(!0)),onBlur:A(e.onBlur,()=>m(!1))})})})}),No=`MenuCheckboxItem`,Po=o.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,u.jsx)(Ho,{scope:e.__scopeMenu,checked:n,children:(0,u.jsx)(jo,{role:`menuitemcheckbox`,"aria-checked":is(n)?`mixed`:n,...i,ref:t,"data-state":as(n),onSelect:A(i.onSelect,()=>r?.(is(n)?!0:!n),{checkForDefaultPrevented:!1})})})});Po.displayName=No;var Fo=`MenuRadioGroup`,[Io,Lo]=no(Fo,{value:void 0,onValueChange:()=>{}}),Ro=o.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=z(r);return(0,u.jsx)(Io,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,u.jsx)(Eo,{...i,ref:t})})});Ro.displayName=Fo;var zo=`MenuRadioItem`,Bo=o.forwardRef((e,t)=>{let{value:n,...r}=e,i=Lo(zo,e.__scopeMenu),a=n===i.value;return(0,u.jsx)(Ho,{scope:e.__scopeMenu,checked:a,children:(0,u.jsx)(jo,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":as(a),onSelect:A(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Bo.displayName=zo;var Vo=`MenuItemIndicator`,[Ho,Uo]=no(Vo,{checked:!1}),Wo=o.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=Uo(Vo,n);return(0,u.jsx)(F,{present:r||is(a.checked)||a.checked===!0,children:(0,u.jsx)(b.span,{...i,ref:t,"data-state":as(a.checked)})})});Wo.displayName=Vo;var Go=`MenuSeparator`,Ko=o.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,u.jsx)(b.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});Ko.displayName=Go;var qo=`MenuArrow`,Jo=o.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=io(n);return(0,u.jsx)(wa,{...i,...r,ref:t})});Jo.displayName=qo;var Yo=`MenuSub`,[Xo,Zo]=no(Yo),Qo=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=so(Yo,t),s=io(t),[c,l]=o.useState(null),[d,f]=o.useState(null),p=z(i);return o.useEffect(()=>(a.open===!1&&p(!1),()=>p(!1)),[a.open,p]),(0,u.jsx)(xa,{...s,children:(0,u.jsx)(oo,{scope:t,open:r,onOpenChange:p,content:d,onContentChange:f,children:(0,u.jsx)(Xo,{scope:t,contentId:R(),triggerId:R(),trigger:c,onTriggerChange:l,children:n})})})};Qo.displayName=Yo;var $o=`MenuSubTrigger`,es=o.forwardRef((e,t)=>{let n=so($o,e.__scopeMenu),r=lo($o,e.__scopeMenu),i=Zo($o,e.__scopeMenu),a=yo($o,e.__scopeMenu),s=o.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:d}=a,f={__scopeMenu:e.__scopeMenu},p=o.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return o.useEffect(()=>p,[p]),o.useEffect(()=>{let e=l.current;return()=>{window.clearTimeout(e),d(null)}},[l,d]),(0,u.jsx)(po,{asChild:!0,...f,children:(0,u.jsx)(Mo,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":i.contentId,"data-state":rs(n.open),...e,ref:c(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:A(e.onPointerMove,ds(t=>{a.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!s.current&&(a.onPointerGraceIntentChange(null),s.current=window.setTimeout(()=>{n.onOpenChange(!0),p()},100))})),onPointerLeave:A(e.onPointerLeave,ds(e=>{p();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,o=i?-5:5,s=t[i?`left`:`right`],c=t[i?`right`:`left`];a.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:s,y:t.top},{x:c,y:t.top},{x:c,y:t.bottom},{x:s,y:t.bottom}],side:r}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:A(e.onKeyDown,t=>{let i=a.searchRef.current!==``;e.disabled||i&&t.key===` `||Xa[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});es.displayName=$o;var ts=`MenuSubContent`,ns=o.forwardRef((e,t)=>{let n=go(Y,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=so(Y,e.__scopeMenu),s=lo(Y,e.__scopeMenu),c=Zo(ts,e.__scopeMenu),d=o.useRef(null),f=l(t,d);return(0,u.jsx)($a.Provider,{scope:e.__scopeMenu,children:(0,u.jsx)(F,{present:r||a.open,children:(0,u.jsx)($a.Slot,{scope:e.__scopeMenu,children:(0,u.jsx)(wo,{id:c.contentId,"aria-labelledby":c.triggerId,...i,ref:f,align:`start`,side:s.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&d.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:A(e.onFocusOutside,e=>{e.target!==c.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:A(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:A(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=Za[s.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});ns.displayName=ts;function rs(e){return e?`open`:`closed`}function is(e){return e===`indeterminate`}function as(e){return is(e)?`indeterminate`:e?`checked`:`unchecked`}function os(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function ss(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function cs(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=ss(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function ls(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function us(e,t){return t?ls({x:e.clientX,y:e.clientY},t):!1}function ds(e){return t=>t.pointerType===`mouse`?e(t):void 0}var fs=uo,ps=po,ms=_o,hs=bo,gs=Eo,_s=Oo,vs=jo,ys=Po,bs=Ro,xs=Bo,Ss=Wo,Cs=Ko,ws=Jo,Ts=Qo,Es=es,Ds=ns,Os=`ContextMenu`,[ks,As]=D(Os,[ro]),X=ro(),[js,Ms]=ks(Os),Ns=e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,dir:i,modal:a=!0}=e,[s,c]=o.useState(!1),l=X(t),d=z(r),f=o.useCallback(e=>{c(e),d(e)},[d]);return(0,u.jsx)(js,{scope:t,open:s,onOpenChange:f,modal:a,children:(0,u.jsx)(fs,{...l,dir:i,open:s,onOpenChange:f,modal:a,children:n})})};Ns.displayName=Os;var Ps=`ContextMenuTrigger`,Fs=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,disabled:r=!1,...i}=e,a=Ms(Ps,n),s=X(n),c=o.useRef({x:0,y:0}),l=o.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...c.current})}),d=o.useRef(0),f=o.useCallback(()=>window.clearTimeout(d.current),[]),p=e=>{c.current={x:e.clientX,y:e.clientY},a.onOpenChange(!0)};return o.useEffect(()=>f,[f]),o.useEffect(()=>void(r&&f()),[r,f]),(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(ps,{...s,virtualRef:l}),(0,u.jsx)(b.span,{"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,...i,ref:t,style:{WebkitTouchCallout:`none`,...e.style},onContextMenu:r?e.onContextMenu:A(e.onContextMenu,e=>{f(),p(e),e.preventDefault()}),onPointerDown:r?e.onPointerDown:A(e.onPointerDown,uc(e=>{f(),d.current=window.setTimeout(()=>p(e),700)})),onPointerMove:r?e.onPointerMove:A(e.onPointerMove,uc(f)),onPointerCancel:r?e.onPointerCancel:A(e.onPointerCancel,uc(f)),onPointerUp:r?e.onPointerUp:A(e.onPointerUp,uc(f))})]})});Fs.displayName=Ps;var Is=`ContextMenuPortal`,Ls=e=>{let{__scopeContextMenu:t,...n}=e,r=X(t);return(0,u.jsx)(ms,{...r,...n})};Ls.displayName=Is;var Rs=`ContextMenuContent`,zs=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=Ms(Rs,n),a=X(n),s=o.useRef(!1);return(0,u.jsx)(hs,{...a,...r,ref:t,side:`right`,sideOffset:2,align:`start`,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),!t.defaultPrevented&&s.current&&t.preventDefault(),s.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),!t.defaultPrevented&&!i.modal&&(s.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});zs.displayName=Rs;var Bs=`ContextMenuGroup`,Vs=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(gs,{...i,...r,ref:t})});Vs.displayName=Bs;var Hs=`ContextMenuLabel`,Us=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(_s,{...i,...r,ref:t})});Us.displayName=Hs;var Ws=`ContextMenuItem`,Gs=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(vs,{...i,...r,ref:t})});Gs.displayName=Ws;var Ks=`ContextMenuCheckboxItem`,qs=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(ys,{...i,...r,ref:t})});qs.displayName=Ks;var Js=`ContextMenuRadioGroup`,Ys=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(bs,{...i,...r,ref:t})});Ys.displayName=Js;var Xs=`ContextMenuRadioItem`,Zs=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(xs,{...i,...r,ref:t})});Zs.displayName=Xs;var Qs=`ContextMenuItemIndicator`,$s=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(Ss,{...i,...r,ref:t})});$s.displayName=Qs;var ec=`ContextMenuSeparator`,tc=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(Cs,{...i,...r,ref:t})});tc.displayName=ec;var nc=`ContextMenuArrow`,rc=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(ws,{...i,...r,ref:t})});rc.displayName=nc;var ic=`ContextMenuSub`,ac=e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,open:i,defaultOpen:a}=e,o=X(t),[s,c]=N({prop:i,defaultProp:a??!1,onChange:r,caller:ic});return(0,u.jsx)(Ts,{...o,open:s,onOpenChange:c,children:n})};ac.displayName=ic;var oc=`ContextMenuSubTrigger`,sc=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(Es,{...i,...r,ref:t})});sc.displayName=oc;var cc=`ContextMenuSubContent`,lc=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(Ds,{...i,...r,ref:t,style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});lc.displayName=cc;function uc(e){return t=>t.pointerType===`mouse`?void 0:e(t)}var dc=Ns,fc=Fs,pc=Ls,mc=zs,hc=Gs,gc=Ys,_c=Zs,vc=$s,yc=tc,bc=ac,xc=sc,Sc=lc,Cc=`DropdownMenu`,[wc,Tc]=D(Cc,[ro]),Z=ro(),[Ec,Dc]=wc(Cc),Oc=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:s,modal:c=!0}=e,l=Z(t),d=o.useRef(null),[f,p]=N({prop:i,defaultProp:a??!1,onChange:s,caller:Cc});return(0,u.jsx)(Ec,{scope:t,triggerId:R(),triggerRef:d,contentId:R(),open:f,onOpenChange:p,onOpenToggle:o.useCallback(()=>p(e=>!e),[p]),modal:c,children:(0,u.jsx)(fs,{...l,open:f,onOpenChange:p,dir:r,modal:c,children:n})})};Oc.displayName=Cc;var kc=`DropdownMenuTrigger`,Ac=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=Dc(kc,n),o=Z(n);return(0,u.jsx)(ps,{asChild:!0,...o,children:(0,u.jsx)(b.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:c(t,a.triggerRef),onPointerDown:A(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:A(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});Ac.displayName=kc;var jc=`DropdownMenuPortal`,Mc=e=>{let{__scopeDropdownMenu:t,...n}=e,r=Z(t);return(0,u.jsx)(ms,{...r,...n})};Mc.displayName=jc;var Nc=`DropdownMenuContent`,Pc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Dc(Nc,n),a=Z(n),s=o.useRef(!1);return(0,u.jsx)(hs,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:A(e.onCloseAutoFocus,e=>{s.current||i.triggerRef.current?.focus(),s.current=!1,e.preventDefault()}),onInteractOutside:A(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(s.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});Pc.displayName=Nc;var Fc=`DropdownMenuGroup`,Ic=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(gs,{...i,...r,ref:t})});Ic.displayName=Fc;var Lc=`DropdownMenuLabel`,Rc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(_s,{...i,...r,ref:t})});Rc.displayName=Lc;var zc=`DropdownMenuItem`,Bc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(vs,{...i,...r,ref:t})});Bc.displayName=zc;var Vc=`DropdownMenuCheckboxItem`,Hc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(ys,{...i,...r,ref:t})});Hc.displayName=Vc;var Uc=`DropdownMenuRadioGroup`,Wc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(bs,{...i,...r,ref:t})});Wc.displayName=Uc;var Gc=`DropdownMenuRadioItem`,Kc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(xs,{...i,...r,ref:t})});Kc.displayName=Gc;var qc=`DropdownMenuItemIndicator`,Jc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(Ss,{...i,...r,ref:t})});Jc.displayName=qc;var Yc=`DropdownMenuSeparator`,Xc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(Cs,{...i,...r,ref:t})});Xc.displayName=Yc;var Zc=`DropdownMenuArrow`,Qc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(ws,{...i,...r,ref:t})});Qc.displayName=Zc;var $c=e=>{let{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:i,defaultOpen:a}=e,o=Z(t),[s,c]=N({prop:r,defaultProp:a??!1,onChange:i,caller:`DropdownMenuSub`});return(0,u.jsx)(Ts,{...o,open:s,onOpenChange:c,children:n})},el=`DropdownMenuSubTrigger`,tl=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(Es,{...i,...r,ref:t})});tl.displayName=el;var nl=`DropdownMenuSubContent`,rl=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(Ds,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});rl.displayName=nl;var il=Oc,al=Ac,ol=Mc,sl=Pc,cl=Rc,ll=Bc,ul=Hc,dl=Wc,fl=Kc,pl=Jc,ml=Xc,hl=$c,gl=tl,_l=rl,vl=`Label`,yl=o.forwardRef((e,t)=>(0,u.jsx)(b.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));yl.displayName=vl;var bl=yl;function xl(e,[t,n]){return Math.min(n,Math.max(t,e))}function Sl(e,t){return o.useReducer((e,n)=>t[e][n]??e,e)}var Cl=`ScrollArea`,[wl,Tl]=D(Cl),[El,Q]=wl(Cl),Dl=o.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...s}=e,[c,d]=o.useState(null),[f,p]=o.useState(null),[m,h]=o.useState(null),[g,_]=o.useState(null),[v,y]=o.useState(null),[x,S]=o.useState(0),[C,w]=o.useState(0),[T,E]=o.useState(!1),[D,O]=o.useState(!1),k=l(t,e=>d(e)),A=oe(i);return(0,u.jsx)(El,{scope:n,type:r,dir:A,scrollHideDelay:a,scrollArea:c,viewport:f,onViewportChange:p,content:m,onContentChange:h,scrollbarX:g,onScrollbarXChange:_,scrollbarXEnabled:T,onScrollbarXEnabledChange:E,scrollbarY:v,onScrollbarYChange:y,scrollbarYEnabled:D,onScrollbarYEnabledChange:O,onCornerWidthChange:S,onCornerHeightChange:w,children:(0,u.jsx)(b.div,{dir:A,...s,ref:k,style:{position:`relative`,"--radix-scroll-area-corner-width":x+`px`,"--radix-scroll-area-corner-height":C+`px`,...e.style}})})});Dl.displayName=Cl;var Ol=`ScrollAreaViewport`,kl=o.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,s=Q(Ol,n),c=l(t,o.useRef(null),s.onViewportChange);return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,u.jsx)(b.div,{"data-radix-scroll-area-viewport":``,...a,ref:c,style:{overflowX:s.scrollbarXEnabled?`scroll`:`hidden`,overflowY:s.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,u.jsx)(`div`,{ref:s.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});kl.displayName=Ol;var Al=`ScrollAreaScrollbar`,jl=o.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Q(Al,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:s}=i,c=e.orientation===`horizontal`;return o.useEffect(()=>(c?a(!0):s(!0),()=>{c?a(!1):s(!1)}),[c,a,s]),i.type===`hover`?(0,u.jsx)(Ml,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,u.jsx)(Nl,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,u.jsx)(Pl,{...r,ref:t,forceMount:n}):i.type===`always`?(0,u.jsx)(Fl,{...r,ref:t}):null});jl.displayName=Al;var Ml=o.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Q(Al,e.__scopeScrollArea),[a,s]=o.useState(!1);return o.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),s(!0)},r=()=>{t=window.setTimeout(()=>s(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,u.jsx)(F,{present:n||a,children:(0,u.jsx)(Pl,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),Nl=o.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Q(Al,e.__scopeScrollArea),a=e.orientation===`horizontal`,s=tu(()=>l(`SCROLL_END`),100),[c,l]=Sl(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return o.useEffect(()=>{if(c===`idle`){let e=window.setTimeout(()=>l(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[c,i.scrollHideDelay,l]),o.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(l(`SCROLL`),s()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,l,s]),(0,u.jsx)(F,{present:n||c!==`hidden`,children:(0,u.jsx)(Fl,{"data-state":c===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:A(e.onPointerEnter,()=>l(`POINTER_ENTER`)),onPointerLeave:A(e.onPointerLeave,()=>l(`POINTER_LEAVE`))})})}),Pl=o.forwardRef((e,t)=>{let n=Q(Al,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,s]=o.useState(!1),c=e.orientation===`horizontal`,l=tu(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;s(c?e:t)}},10);return nu(n.viewport,l),nu(n.content,l),(0,u.jsx)(F,{present:r||a,children:(0,u.jsx)(Fl,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),Fl=o.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=Q(Al,e.__scopeScrollArea),a=o.useRef(null),s=o.useRef(0),[c,l]=o.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=Jl(c.viewport,c.content),f={...r,sizes:c,onSizesChange:l,hasThumb:d>0&&d<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:e=>s.current=e};function p(e,t){return Xl(e,s.current,c,t)}return n===`horizontal`?(0,u.jsx)(Il,{...f,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Zl(e,c,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=p(e,i.dir))}}):n===`vertical`?(0,u.jsx)(Ll,{...f,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Zl(e,c);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=p(e))}}):null}),Il=o.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=Q(Al,e.__scopeScrollArea),[s,c]=o.useState(),d=o.useRef(null),f=l(t,d,a.onScrollbarXChange);return o.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,u.jsx)(Bl,{"data-orientation":`horizontal`,...i,ref:f,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":Yl(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),$l(r,n)&&t.preventDefault()}},onResize:()=>{d.current&&a.viewport&&s&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:ql(s.paddingLeft),paddingEnd:ql(s.paddingRight)}})}})}),Ll=o.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=Q(Al,e.__scopeScrollArea),[s,c]=o.useState(),d=o.useRef(null),f=l(t,d,a.onScrollbarYChange);return o.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,u.jsx)(Bl,{"data-orientation":`vertical`,...i,ref:f,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":Yl(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),$l(r,n)&&t.preventDefault()}},onResize:()=>{d.current&&a.viewport&&s&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:ql(s.paddingTop),paddingEnd:ql(s.paddingBottom)}})}})}),[Rl,zl]=wl(Al),Bl=o.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:s,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:f,onWheelScroll:p,onResize:m,...h}=e,g=Q(Al,n),[_,v]=o.useState(null),y=l(t,e=>v(e)),x=o.useRef(null),S=o.useRef(``),C=g.viewport,w=r.content-r.viewport,T=z(p),E=z(d),D=tu(m,10);function O(e){x.current&&f({x:e.clientX-x.current.left,y:e.clientY-x.current.top})}return o.useEffect(()=>{let e=e=>{let t=e.target;_?.contains(t)&&T(e,w)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[C,_,w,T]),o.useEffect(E,[r,E]),nu(_,D),nu(g.content,D),(0,u.jsx)(Rl,{scope:n,scrollbar:_,hasThumb:i,onThumbChange:z(a),onThumbPointerUp:z(s),onThumbPositionChange:E,onThumbPointerDown:z(c),children:(0,u.jsx)(b.div,{...h,ref:y,style:{position:`absolute`,...h.style},onPointerDown:A(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),x.current=_.getBoundingClientRect(),S.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,g.viewport&&(g.viewport.style.scrollBehavior=`auto`),O(e))}),onPointerMove:A(e.onPointerMove,O),onPointerUp:A(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=S.current,g.viewport&&(g.viewport.style.scrollBehavior=``),x.current=null})})})}),Vl=`ScrollAreaThumb`,Hl=o.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=zl(Vl,e.__scopeScrollArea);return(0,u.jsx)(F,{present:n||i.hasThumb,children:(0,u.jsx)(Ul,{ref:t,...r})})}),Ul=o.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...i}=e,a=Q(Vl,n),s=zl(Vl,n),{onThumbPositionChange:c}=s,d=l(t,e=>s.onThumbChange(e)),f=o.useRef(void 0),p=tu(()=>{f.current&&=(f.current(),void 0)},100);return o.useEffect(()=>{let e=a.viewport;if(e){let t=()=>{p(),f.current||(f.current=eu(e,c),c())};return c(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,p,c]),(0,u.jsx)(b.div,{"data-state":s.hasThumb?`visible`:`hidden`,...i,ref:d,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:A(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;s.onThumbPointerDown({x:n,y:r})}),onPointerUp:A(e.onPointerUp,s.onThumbPointerUp)})});Hl.displayName=Vl;var Wl=`ScrollAreaCorner`,Gl=o.forwardRef((e,t)=>{let n=Q(Wl,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,u.jsx)(Kl,{...e,ref:t}):null});Gl.displayName=Wl;var Kl=o.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=Q(Wl,n),[a,s]=o.useState(0),[c,l]=o.useState(0),d=!!(a&&c);return nu(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),l(e)}),nu(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),s(e)}),d?(0,u.jsx)(b.div,{...r,ref:t,style:{width:a,height:c,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function ql(e){return e?parseInt(e,10):0}function Jl(e,t){let n=e/t;return isNaN(n)?0:n}function Yl(e){let t=Jl(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Xl(e,t,n,r=`ltr`){let i=Yl(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return Ql([c,l],d)(e)}function Zl(e,t,n=`ltr`){let r=Yl(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=xl(e,n===`ltr`?[0,o]:[o*-1,0]);return Ql([0,o],[0,s])(c)}function Ql(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function $l(e,t){return e>0&&e<t}var eu=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function tu(e,t){let n=z(e),r=o.useRef(0);return o.useEffect(()=>()=>window.clearTimeout(r.current),[]),o.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function nu(e,t){let n=z(t);j(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var ru=Dl,iu=kl,au=Gl,ou=[` `,`Enter`,`ArrowUp`,`ArrowDown`],su=[` `,`Enter`],cu=`Select`,[lu,uu,du]=k(cu),[fu,pu]=D(cu,[du,aa]),mu=aa(),[hu,gu]=fu(cu),[_u,vu]=fu(cu),yu=e=>{let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:s,defaultValue:c,onValueChange:l,dir:d,name:f,autoComplete:p,disabled:m,required:h,form:g}=e,_=mu(t),[v,y]=o.useState(null),[b,x]=o.useState(null),[S,C]=o.useState(!1),w=oe(d),[T,E]=N({prop:r,defaultProp:i??!1,onChange:a,caller:cu}),[D,O]=N({prop:s,defaultProp:c,onChange:l,caller:cu}),k=o.useRef(null),A=v?g||!!v.closest(`form`):!0,[j,M]=o.useState(new Set),P=Array.from(j).map(e=>e.props.value).join(`;`);return(0,u.jsx)(xa,{..._,children:(0,u.jsxs)(hu,{required:h,scope:t,trigger:v,onTriggerChange:y,valueNode:b,onValueNodeChange:x,valueNodeHasChildren:S,onValueNodeHasChildrenChange:C,contentId:R(),value:D,onValueChange:O,open:T,onOpenChange:E,dir:w,triggerPointerDownPosRef:k,disabled:m,children:[(0,u.jsx)(lu.Provider,{scope:t,children:(0,u.jsx)(_u,{scope:e.__scopeSelect,onNativeOptionAdd:o.useCallback(e=>{M(t=>new Set(t).add(e))},[]),onNativeOptionRemove:o.useCallback(e=>{M(t=>{let n=new Set(t);return n.delete(e),n})},[]),children:n})}),A?(0,u.jsxs)(pd,{"aria-hidden":!0,required:h,tabIndex:-1,name:f,autoComplete:p,value:D,onChange:e=>O(e.target.value),disabled:m,form:g,children:[D===void 0?(0,u.jsx)(`option`,{value:``}):null,Array.from(j)]},P):null]})})};yu.displayName=cu;var bu=`SelectTrigger`,xu=o.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...i}=e,a=mu(n),s=gu(bu,n),c=s.disabled||r,d=l(t,s.onTriggerChange),f=uu(n),p=o.useRef(`touch`),[m,h,g]=hd(e=>{let t=f().filter(e=>!e.disabled),n=gd(t,e,t.find(e=>e.value===s.value));n!==void 0&&s.onValueChange(n.value)}),_=e=>{c||(s.onOpenChange(!0),g()),e&&(s.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,u.jsx)(Sa,{asChild:!0,...a,children:(0,u.jsx)(b.button,{type:`button`,role:`combobox`,"aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":`none`,dir:s.dir,"data-state":s.open?`open`:`closed`,disabled:c,"data-disabled":c?``:void 0,"data-placeholder":md(s.value)?``:void 0,...i,ref:d,onClick:A(i.onClick,e=>{e.currentTarget.focus(),p.current!==`mouse`&&_(e)}),onPointerDown:A(i.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(_(e),e.preventDefault())}),onKeyDown:A(i.onKeyDown,e=>{let t=m.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&h(e.key),!(t&&e.key===` `)&&ou.includes(e.key)&&(_(),e.preventDefault())})})})});xu.displayName=bu;var Su=`SelectValue`,Cu=o.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,c=gu(Su,n),{onValueNodeHasChildrenChange:d}=c,f=a!==void 0,p=l(t,c.onValueNodeChange);return j(()=>{d(f)},[d,f]),(0,u.jsx)(b.span,{...s,ref:p,style:{pointerEvents:`none`},children:md(c.value)?(0,u.jsx)(u.Fragment,{children:o}):a})});Cu.displayName=Su;var wu=`SelectIcon`,Tu=o.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e;return(0,u.jsx)(b.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})});Tu.displayName=wu;var Eu=`SelectPortal`,Du=e=>(0,u.jsx)(Re,{asChild:!0,...e});Du.displayName=Eu;var Ou=`SelectContent`,ku=o.forwardRef((e,t)=>{let n=gu(Ou,e.__scopeSelect),[r,i]=o.useState();if(j(()=>{i(new DocumentFragment)},[]),!n.open){let t=r;return t?y.createPortal((0,u.jsx)(Au,{scope:e.__scopeSelect,children:(0,u.jsx)(lu.Slot,{scope:e.__scopeSelect,children:(0,u.jsx)(`div`,{children:e.children})})}),t):null}return(0,u.jsx)(Pu,{...e,ref:t})});ku.displayName=Ou;var $=10,[Au,ju]=fu(Ou),Mu=`SelectContentImpl`,Nu=d(`SelectContent.RemoveScroll`),Pu=o.forwardRef((e,t)=>{let{__scopeSelect:n,position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:s,side:c,sideOffset:d,align:f,alignOffset:p,arrowPadding:m,collisionBoundary:h,collisionPadding:g,sticky:_,hideWhenDetached:v,avoidCollisions:y,...b}=e,x=gu(Ou,n),[S,C]=o.useState(null),[w,T]=o.useState(null),E=l(t,e=>C(e)),[D,O]=o.useState(null),[k,j]=o.useState(null),M=uu(n),[N,P]=o.useState(!1),ee=o.useRef(!1);o.useEffect(()=>{if(S)return an(S)},[S]),Be();let te=o.useCallback(e=>{let[t,...n]=M().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&w&&(w.scrollTop=0),n===r&&w&&(w.scrollTop=w.scrollHeight),n?.focus(),document.activeElement!==i))return},[M,w]),F=o.useCallback(()=>te([D,S]),[te,D,S]);o.useEffect(()=>{N&&F()},[N,F]);let{onOpenChange:I,triggerPointerDownPosRef:L}=x;o.useEffect(()=>{if(S){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(L.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(L.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():S.contains(n.target)||I(!1),document.removeEventListener(`pointermove`,t),L.current=null};return L.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[S,I,L]),o.useEffect(()=>{let e=()=>I(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[I]);let[ne,re]=hd(e=>{let t=M().filter(e=>!e.disabled),n=gd(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current.focus())}),ie=o.useCallback((e,t,n)=>{let r=!ee.current&&!n;(x.value!==void 0&&x.value===t||r)&&(O(e),r&&(ee.current=!0))},[x.value]),R=o.useCallback(()=>S?.focus(),[S]),ae=o.useCallback((e,t,n)=>{let r=!ee.current&&!n;(x.value!==void 0&&x.value===t||r)&&j(e)},[x.value]),oe=r===`popper`?Ru:Iu,z=oe===Ru?{side:c,sideOffset:d,align:f,alignOffset:p,arrowPadding:m,collisionBoundary:h,collisionPadding:g,sticky:_,hideWhenDetached:v,avoidCollisions:y}:{};return(0,u.jsx)(Au,{scope:n,content:S,viewport:w,onViewportChange:T,itemRefCallback:ie,selectedItem:D,onItemLeave:R,itemTextRefCallback:ae,focusSelectedItem:F,selectedItemText:k,position:r,isPositioned:N,searchRef:ne,children:(0,u.jsx)(Yt,{as:Nu,allowPinchZoom:!0,children:(0,u.jsx)(Te,{asChild:!0,trapped:x.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:A(i,e=>{x.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,u.jsx)(me,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>x.onOpenChange(!1),children:(0,u.jsx)(oe,{role:`listbox`,id:x.contentId,"data-state":x.open?`open`:`closed`,dir:x.dir,onContextMenu:e=>e.preventDefault(),...b,...z,onPlaced:()=>P(!0),ref:E,style:{display:`flex`,flexDirection:`column`,outline:`none`,...b.style},onKeyDown:A(b.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&re(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=M().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>te(t)),e.preventDefault()}})})})})})})});Pu.displayName=Mu;var Fu=`SelectItemAlignedPosition`,Iu=o.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...i}=e,a=gu(Ou,n),s=ju(Ou,n),[c,d]=o.useState(null),[f,p]=o.useState(null),m=l(t,e=>p(e)),h=uu(n),g=o.useRef(!1),_=o.useRef(!0),{viewport:v,selectedItem:y,selectedItemText:x,focusSelectedItem:S}=s,C=o.useCallback(()=>{if(a.trigger&&a.valueNode&&c&&f&&v&&y&&x){let e=a.trigger.getBoundingClientRect(),t=f.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=x.getBoundingClientRect();if(a.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,s=e.width+o,l=Math.max(s,t.width),u=window.innerWidth-$,d=xl(a,[$,Math.max($,u-l)]);c.style.minWidth=s+`px`,c.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,s=e.width+o,l=Math.max(s,t.width),u=window.innerWidth-$,d=xl(a,[$,Math.max($,u-l)]);c.style.minWidth=s+`px`,c.style.right=d+`px`}let o=h(),s=window.innerHeight-$*2,l=v.scrollHeight,u=window.getComputedStyle(f),d=parseInt(u.borderTopWidth,10),p=parseInt(u.paddingTop,10),m=parseInt(u.borderBottomWidth,10),_=parseInt(u.paddingBottom,10),b=d+p+l+_+m,S=Math.min(y.offsetHeight*5,b),C=window.getComputedStyle(v),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-$,D=s-E,O=y.offsetHeight/2,k=y.offsetTop+O,A=d+p+k,j=b-A;if(A<=E){let e=o.length>0&&y===o[o.length-1].ref.current;c.style.bottom=`0px`;let t=f.clientHeight-v.offsetTop-v.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+m);c.style.height=n+`px`}else{let e=o.length>0&&y===o[0].ref.current;c.style.top=`0px`;let t=Math.max(E,d+v.offsetTop+(e?w:0)+O)+j;c.style.height=t+`px`,v.scrollTop=A-E+v.offsetTop}c.style.margin=`${$}px 0`,c.style.minHeight=S+`px`,c.style.maxHeight=s+`px`,r?.(),requestAnimationFrame(()=>g.current=!0)}},[h,a.trigger,a.valueNode,c,f,v,y,x,a.dir,r]);j(()=>C(),[C]);let[w,T]=o.useState();return j(()=>{f&&T(window.getComputedStyle(f).zIndex)},[f]),(0,u.jsx)(zu,{scope:n,contentWrapper:c,shouldExpandOnScrollRef:g,onScrollButtonChange:o.useCallback(e=>{e&&_.current===!0&&(C(),S?.(),_.current=!1)},[C,S]),children:(0,u.jsx)(`div`,{ref:d,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:w},children:(0,u.jsx)(b.div,{...i,ref:m,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})});Iu.displayName=Fu;var Lu=`SelectPopperPosition`,Ru=o.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=$,...a}=e,o=mu(n);return(0,u.jsx)(Ca,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})});Ru.displayName=Lu;var[zu,Bu]=fu(Ou,{}),Vu=`SelectViewport`,Hu=o.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...i}=e,a=ju(Vu,n),s=Bu(Vu,n),c=l(t,a.onViewportChange),d=o.useRef(0);return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,u.jsx)(lu.Slot,{scope:n,children:(0,u.jsx)(b.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:c,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:A(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=s;if(r?.current&&n){let e=Math.abs(d.current-t.scrollTop);if(e>0){let r=window.innerHeight-$*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}d.current=t.scrollTop})})})]})});Hu.displayName=Vu;var Uu=`SelectGroup`,[Wu,Gu]=fu(Uu),Ku=o.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=R();return(0,u.jsx)(Wu,{scope:n,id:i,children:(0,u.jsx)(b.div,{role:`group`,"aria-labelledby":i,...r,ref:t})})});Ku.displayName=Uu;var qu=`SelectLabel`,Ju=o.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=Gu(qu,n);return(0,u.jsx)(b.div,{id:i.id,...r,ref:t})});Ju.displayName=qu;var Yu=`SelectItem`,[Xu,Zu]=fu(Yu),Qu=o.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...s}=e,c=gu(Yu,n),d=ju(Yu,n),f=c.value===r,[p,m]=o.useState(a??``),[h,g]=o.useState(!1),_=l(t,e=>d.itemRefCallback?.(e,r,i)),v=R(),y=o.useRef(`touch`),x=()=>{i||(c.onValueChange(r),c.onOpenChange(!1))};if(r===``)throw Error(`A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return(0,u.jsx)(Xu,{scope:n,value:r,disabled:i,textId:v,isSelected:f,onItemTextChange:o.useCallback(e=>{m(t=>t||(e?.textContent??``).trim())},[]),children:(0,u.jsx)(lu.ItemSlot,{scope:n,value:r,disabled:i,textValue:p,children:(0,u.jsx)(b.div,{role:`option`,"aria-labelledby":v,"data-highlighted":h?``:void 0,"aria-selected":f&&h,"data-state":f?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...s,ref:_,onFocus:A(s.onFocus,()=>g(!0)),onBlur:A(s.onBlur,()=>g(!1)),onClick:A(s.onClick,()=>{y.current!==`mouse`&&x()}),onPointerUp:A(s.onPointerUp,()=>{y.current===`mouse`&&x()}),onPointerDown:A(s.onPointerDown,e=>{y.current=e.pointerType}),onPointerMove:A(s.onPointerMove,e=>{y.current=e.pointerType,i?d.onItemLeave?.():y.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:A(s.onPointerLeave,e=>{e.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:A(s.onKeyDown,e=>{d.searchRef?.current!==``&&e.key===` `||(su.includes(e.key)&&x(),e.key===` `&&e.preventDefault())})})})})});Qu.displayName=Yu;var $u=`SelectItemText`,ed=o.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,...a}=e,s=gu($u,n),c=ju($u,n),d=Zu($u,n),f=vu($u,n),[p,m]=o.useState(null),h=l(t,e=>m(e),d.onItemTextChange,e=>c.itemTextRefCallback?.(e,d.value,d.disabled)),g=p?.textContent,_=o.useMemo(()=>(0,u.jsx)(`option`,{value:d.value,disabled:d.disabled,children:g},d.value),[d.disabled,d.value,g]),{onNativeOptionAdd:v,onNativeOptionRemove:x}=f;return j(()=>(v(_),()=>x(_)),[v,x,_]),(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(b.span,{id:d.textId,...a,ref:h}),d.isSelected&&s.valueNode&&!s.valueNodeHasChildren?y.createPortal(a.children,s.valueNode):null]})});ed.displayName=$u;var td=`SelectItemIndicator`,nd=o.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return Zu(td,n).isSelected?(0,u.jsx)(b.span,{"aria-hidden":!0,...r,ref:t}):null});nd.displayName=td;var rd=`SelectScrollUpButton`,id=o.forwardRef((e,t)=>{let n=ju(rd,e.__scopeSelect),r=Bu(rd,e.__scopeSelect),[i,a]=o.useState(!1),s=l(t,r.onScrollButtonChange);return j(()=>{if(n.viewport&&n.isPositioned){let e=function(){a(t.scrollTop>0)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,u.jsx)(sd,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});id.displayName=rd;var ad=`SelectScrollDownButton`,od=o.forwardRef((e,t)=>{let n=ju(ad,e.__scopeSelect),r=Bu(ad,e.__scopeSelect),[i,a]=o.useState(!1),s=l(t,r.onScrollButtonChange);return j(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;a(Math.ceil(t.scrollTop)<e)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,u.jsx)(sd,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});od.displayName=ad;var sd=o.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=ju(`SelectScrollButton`,n),s=o.useRef(null),c=uu(n),l=o.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return o.useEffect(()=>()=>l(),[l]),j(()=>{c().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[c]),(0,u.jsx)(b.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:A(i.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(r,50))}),onPointerMove:A(i.onPointerMove,()=>{a.onItemLeave?.(),s.current===null&&(s.current=window.setInterval(r,50))}),onPointerLeave:A(i.onPointerLeave,()=>{l()})})}),cd=`SelectSeparator`,ld=o.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,u.jsx)(b.div,{"aria-hidden":!0,...r,ref:t})});ld.displayName=cd;var ud=`SelectArrow`,dd=o.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=mu(n),a=gu(ud,n),o=ju(ud,n);return a.open&&o.position===`popper`?(0,u.jsx)(wa,{...i,...r,ref:t}):null});dd.displayName=ud;var fd=`SelectBubbleInput`,pd=o.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{let i=o.useRef(null),a=l(r,i),s=qn(t);return o.useEffect(()=>{let e=i.current;if(!e)return;let n=window.HTMLSelectElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(s!==t&&r){let n=new Event(`change`,{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[s,t]),(0,u.jsx)(b.select,{...n,style:{...S,...n.style},ref:a,defaultValue:t})});pd.displayName=fd;function md(e){return e===``||e===void 0}function hd(e){let t=z(e),n=o.useRef(``),r=o.useRef(0),i=o.useCallback(e=>{let i=n.current+e;t(i),(function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))})(i)},[t]),a=o.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return o.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}function gd(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=_d(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function _d(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var vd=yu,yd=xu,bd=Cu,xd=Tu,Sd=Du,Cd=ku,wd=Hu,Td=Qu,Ed=ed,Dd=nd,Od=id,kd=od,Ad=`Separator`,jd=`horizontal`,Md=[`horizontal`,`vertical`],Nd=o.forwardRef((e,t)=>{let{decorative:n,orientation:r=jd,...i}=e,a=Pd(r)?r:jd,o=a===`vertical`?a:void 0,s=n?{role:`none`}:{"aria-orientation":o,role:`separator`};return(0,u.jsx)(b.div,{"data-orientation":a,...s,...i,ref:t})});Nd.displayName=Ad;function Pd(e){return Md.includes(e)}var Fd=Nd,Id=`Switch`,[Ld,Rd]=D(Id),[zd,Bd]=Ld(Id),Vd=o.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:s,disabled:c,value:d=`on`,onCheckedChange:f,form:p,...m}=e,[h,g]=o.useState(null),_=l(t,e=>g(e)),v=o.useRef(!1),y=h?p||!!h.closest(`form`):!0,[x,S]=N({prop:i,defaultProp:a??!1,onChange:f,caller:Id});return(0,u.jsxs)(zd,{scope:n,checked:x,disabled:c,children:[(0,u.jsx)(b.button,{type:`button`,role:`switch`,"aria-checked":x,"aria-required":s,"data-state":Kd(x),"data-disabled":c?``:void 0,disabled:c,value:d,...m,ref:_,onClick:A(e.onClick,e=>{S(e=>!e),y&&(v.current=e.isPropagationStopped(),v.current||e.stopPropagation())})}),y&&(0,u.jsx)(Gd,{control:h,bubbles:!v.current,name:r,value:d,checked:x,required:s,disabled:c,form:p,style:{transform:`translateX(-100%)`}})]})});Vd.displayName=Id;var Hd=`SwitchThumb`,Ud=o.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,i=Bd(Hd,n);return(0,u.jsx)(b.span,{"data-state":Kd(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})});Ud.displayName=Hd;var Wd=`SwitchBubbleInput`,Gd=o.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...i},a)=>{let s=o.useRef(null),c=l(s,a),d=qn(n),f=Jn(t);return o.useEffect(()=>{let e=s.current;if(!e)return;let t=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(t,`checked`).set;if(d!==n&&i){let t=new Event(`click`,{bubbles:r});i.call(e,n),e.dispatchEvent(t)}},[d,n,r]),(0,u.jsx)(`input`,{type:`checkbox`,"aria-hidden":!0,defaultChecked:n,...i,tabIndex:-1,ref:c,style:{...i.style,...f,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});Gd.displayName=Wd;function Kd(e){return e?`checked`:`unchecked`}var qd=Vd,Jd=Ud,Yd=`Tabs`,[Xd,Zd]=D(Yd,[Ma]),Qd=Ma(),[$d,ef]=Xd(Yd),tf=o.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,d=oe(s),[f,p]=N({prop:r,onChange:i,defaultProp:a??``,caller:Yd});return(0,u.jsx)($d,{scope:n,baseId:R(),value:f,onValueChange:p,orientation:o,dir:d,activationMode:c,children:(0,u.jsx)(b.div,{dir:d,"data-orientation":o,...l,ref:t})})});tf.displayName=Yd;var nf=`TabsList`,rf=o.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=ef(nf,n),o=Qd(n);return(0,u.jsx)(Wa,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,u.jsx)(b.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});rf.displayName=nf;var af=`TabsTrigger`,of=o.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=ef(af,n),s=Qd(n),c=lf(o.baseId,r),l=uf(o.baseId,r),d=r===o.value;return(0,u.jsx)(Ga,{asChild:!0,...s,focusable:!i,active:d,children:(0,u.jsx)(b.button,{type:`button`,role:`tab`,"aria-selected":d,"aria-controls":l,"data-state":d?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:A(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:A(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:A(e.onFocus,()=>{let e=o.activationMode!==`manual`;!d&&!i&&e&&o.onValueChange(r)})})})});of.displayName=af;var sf=`TabsContent`,cf=o.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...s}=e,c=ef(sf,n),l=lf(c.baseId,r),d=uf(c.baseId,r),f=r===c.value,p=o.useRef(f);return o.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,u.jsx)(F,{present:i||f,children:({present:n})=>(0,u.jsx)(b.div,{"data-state":f?`active`:`inactive`,"data-orientation":c.orientation,role:`tabpanel`,"aria-labelledby":l,hidden:!n,id:d,tabIndex:0,...s,ref:t,style:{...e.style,animationDuration:p.current?`0s`:void 0},children:n&&a})})});cf.displayName=sf;function lf(e,t){return`${e}-trigger-${t}`}function uf(e,t){return`${e}-content-${t}`}var df=tf,ff=rf,pf=of,mf=cf,[hf,gf]=D(`Tooltip`,[aa]),_f=aa(),vf=`TooltipProvider`,yf=700,bf=`tooltip.open`,[xf,Sf]=hf(vf),Cf=e=>{let{__scopeTooltip:t,delayDuration:n=yf,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,s=o.useRef(!0),c=o.useRef(!1),l=o.useRef(0);return o.useEffect(()=>{let e=l.current;return()=>window.clearTimeout(e)},[]),(0,u.jsx)(xf,{scope:t,isOpenDelayedRef:s,delayDuration:n,onOpen:o.useCallback(()=>{window.clearTimeout(l.current),s.current=!1},[]),onClose:o.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>s.current=!0,r)},[r]),isPointerInTransitRef:c,onPointerInTransitChange:o.useCallback(e=>{c.current=e},[]),disableHoverableContent:i,children:a})};Cf.displayName=vf;var wf=`Tooltip`,[Tf,Ef]=hf(wf),Df=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:s,delayDuration:c}=e,l=Sf(wf,e.__scopeTooltip),d=_f(t),[f,p]=o.useState(null),m=R(),h=o.useRef(0),g=s??l.disableHoverableContent,_=c??l.delayDuration,v=o.useRef(!1),[y,b]=N({prop:r,defaultProp:i??!1,onChange:e=>{e?(l.onOpen(),document.dispatchEvent(new CustomEvent(bf))):l.onClose(),a?.(e)},caller:wf}),x=o.useMemo(()=>y?v.current?`delayed-open`:`instant-open`:`closed`,[y]),S=o.useCallback(()=>{window.clearTimeout(h.current),h.current=0,v.current=!1,b(!0)},[b]),C=o.useCallback(()=>{window.clearTimeout(h.current),h.current=0,b(!1)},[b]),w=o.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{v.current=!0,b(!0),h.current=0},_)},[_,b]);return o.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]),(0,u.jsx)(xa,{...d,children:(0,u.jsx)(Tf,{scope:t,contentId:m,open:y,stateAttribute:x,trigger:f,onTriggerChange:p,onTriggerEnter:o.useCallback(()=>{l.isOpenDelayedRef.current?w():S()},[l.isOpenDelayedRef,w,S]),onTriggerLeave:o.useCallback(()=>{g?C():(window.clearTimeout(h.current),h.current=0)},[C,g]),onOpen:S,onClose:C,disableHoverableContent:g,children:n})})};Df.displayName=wf;var Of=`TooltipTrigger`,kf=o.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Ef(Of,n),a=Sf(Of,n),s=_f(n),c=l(t,o.useRef(null),i.onTriggerChange),d=o.useRef(!1),f=o.useRef(!1),p=o.useCallback(()=>d.current=!1,[]);return o.useEffect(()=>()=>document.removeEventListener(`pointerup`,p),[p]),(0,u.jsx)(Sa,{asChild:!0,...s,children:(0,u.jsx)(b.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:c,onPointerMove:A(e.onPointerMove,e=>{e.pointerType!==`touch`&&!f.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),f.current=!0)}),onPointerLeave:A(e.onPointerLeave,()=>{i.onTriggerLeave(),f.current=!1}),onPointerDown:A(e.onPointerDown,()=>{i.open&&i.onClose(),d.current=!0,document.addEventListener(`pointerup`,p,{once:!0})}),onFocus:A(e.onFocus,()=>{d.current||i.onOpen()}),onBlur:A(e.onBlur,i.onClose),onClick:A(e.onClick,i.onClose)})})});kf.displayName=Of;var Af=`TooltipPortal`,[jf,Mf]=hf(Af,{forceMount:void 0}),Nf=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Ef(Af,t);return(0,u.jsx)(jf,{scope:t,forceMount:n,children:(0,u.jsx)(F,{present:n||a.open,children:(0,u.jsx)(Re,{asChild:!0,container:i,children:r})})})};Nf.displayName=Af;var Pf=`TooltipContent`,Ff=o.forwardRef((e,t)=>{let n=Mf(Pf,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Ef(Pf,e.__scopeTooltip);return(0,u.jsx)(F,{present:r||o.open,children:o.disableHoverableContent?(0,u.jsx)(Bf,{side:i,...a,ref:t}):(0,u.jsx)(If,{side:i,...a,ref:t})})}),If=o.forwardRef((e,t)=>{let n=Ef(Pf,e.__scopeTooltip),r=Sf(Pf,e.__scopeTooltip),i=o.useRef(null),a=l(t,i),[s,c]=o.useState(null),{trigger:d,onClose:f}=n,p=i.current,{onPointerInTransitChange:m}=r,h=o.useCallback(()=>{c(null),m(!1)},[m]),g=o.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=Wf(r,Uf(r,n.getBoundingClientRect())),a=Gf(t.getBoundingClientRect());c(qf([...i,...a])),m(!0)},[m]);return o.useEffect(()=>()=>h(),[h]),o.useEffect(()=>{if(d&&p){let e=e=>g(e,p),t=e=>g(e,d);return d.addEventListener(`pointerleave`,e),p.addEventListener(`pointerleave`,t),()=>{d.removeEventListener(`pointerleave`,e),p.removeEventListener(`pointerleave`,t)}}},[d,p,g,h]),o.useEffect(()=>{if(s){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=d?.contains(t)||p?.contains(t),i=!Kf(n,s);r?h():i&&(h(),f())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[d,p,s,f,h]),(0,u.jsx)(Bf,{...e,ref:a})}),[Lf,Rf]=hf(wf,{isInside:!1}),zf=h(`TooltipContent`),Bf=o.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:s,...c}=e,l=Ef(Pf,n),d=_f(n),{onClose:f}=l;return o.useEffect(()=>(document.addEventListener(bf,f),()=>document.removeEventListener(bf,f)),[f]),o.useEffect(()=>{if(l.trigger){let e=e=>{e.target?.contains(l.trigger)&&f()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[l.trigger,f]),(0,u.jsx)(me,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:f,children:(0,u.jsxs)(Ca,{"data-state":l.stateAttribute,...d,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,u.jsx)(zf,{children:r}),(0,u.jsx)(Lf,{scope:n,isInside:!0,children:(0,u.jsx)(T,{id:l.contentId,role:`tooltip`,children:i||r})})]})})});Ff.displayName=Pf;var Vf=`TooltipArrow`,Hf=o.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=_f(n);return Rf(Vf,n).isInside?null:(0,u.jsx)(wa,{...i,...r,ref:t})});Hf.displayName=Vf;function Uf(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function Wf(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function Gf(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function Kf(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function qf(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),Jf(t)}function Jf(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Yf=Cf,Xf=Df,Zf=kf,Qf=Nf,$f=Ff,ep=Hf;export{yc as $,iu as A,il as B,yd as C,ru as D,au as E,pl as F,al as G,hl as H,cl as I,vc as J,mc as K,ol as L,ul as M,sl as N,jl as O,ll as P,dc as Q,dl as R,Od as S,wd as T,_l as U,ml as V,gl as W,gc as X,pc as Y,_c as Z,Dd as _,Xf as a,Un as at,vd as b,ff as c,Vn as ct,qd as d,Bn as dt,bc as et,Jd as f,f as ft,Td as g,xd as h,Yf as i,Kn as it,bl as j,Hl as k,df as l,zn as lt,Cd as m,$f as n,xc as nt,Zf as o,Gn as ot,Fd as p,a as pt,hc as q,Qf as r,fc as rt,mf as s,Hn as st,ep as t,Sc as tt,pf as u,Wn as ut,Ed as v,bd as w,kd as x,Sd as y,fl as z};
|
|
45
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return o.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},Ln=`DialogDescriptionWarning`,Rn=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Fn(Ln).contentName}}.`;return o.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},zn=un,Bn=fn,Vn=gn,Hn=vn,Un=Sn,Wn=Dn,Gn=kn,Kn=jn;function qn(e){let t=o.useRef({value:e,previous:e});return o.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function Jn(e){let[t,n]=o.useState(void 0);return j(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var Yn=[`top`,`right`,`bottom`,`left`],Xn=Math.min,H=Math.max,Zn=Math.round,Qn=Math.floor,U=e=>({x:e,y:e}),$n={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function er(e,t,n){return H(e,Xn(t,n))}function tr(e,t){return typeof e==`function`?e(t):e}function nr(e){return e.split(`-`)[0]}function rr(e){return e.split(`-`)[1]}function ir(e){return e===`x`?`y`:`x`}function ar(e){return e===`y`?`height`:`width`}function W(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function or(e){return ir(W(e))}function sr(e,t,n){n===void 0&&(n=!1);let r=rr(e),i=or(e),a=ar(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=gr(o)),[o,gr(o)]}function cr(e){let t=gr(e);return[lr(e),t,lr(t)]}function lr(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var ur=[`left`,`right`],dr=[`right`,`left`],fr=[`top`,`bottom`],pr=[`bottom`,`top`];function mr(e,t,n){switch(e){case`top`:case`bottom`:return n?t?dr:ur:t?ur:dr;case`left`:case`right`:return t?fr:pr;default:return[]}}function hr(e,t,n,r){let i=rr(e),a=mr(nr(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(lr)))),a}function gr(e){let t=nr(e);return $n[t]+e.slice(t.length)}function _r(e){return{top:0,right:0,bottom:0,left:0,...e}}function vr(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:_r(e)}function yr(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function br(e,t,n){let{reference:r,floating:i}=e,a=W(t),o=or(t),s=ar(o),c=nr(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(rr(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function xr(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=tr(t,e),p=vr(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=yr(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=yr(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Sr=50,Cr=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:xr},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=br(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Sr&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=br(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},wr=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=tr(e,t)||{};if(l==null)return{};let d=vr(u),f={x:n,y:r},p=or(i),m=ar(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Xn(d[_],T),D=Xn(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=er(O,A,k),M=!c.arrow&&rr(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),Tr=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=tr(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=nr(r),_=W(o),v=nr(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[gr(o)]:cr(o)),x=p!==`none`;!d&&x&&b.push(...hr(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=sr(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==W(t))||T.every(e=>W(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=W(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function Er(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Dr(e){return Yn.some(t=>e[t]>=0)}var Or=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=tr(e,t);switch(i){case`referenceHidden`:{let e=Er(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Dr(e)}}}case`escaped`:{let e=Er(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Dr(e)}}}default:return{}}}}},kr=new Set([`left`,`top`]);async function Ar(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=nr(n),s=rr(n),c=W(n)===`y`,l=kr.has(o)?-1:1,u=a&&c?-1:1,d=tr(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var jr=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Ar(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Mr=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=tr(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=W(nr(i)),p=ir(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=er(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=er(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},Nr=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=tr(e,t),u={x:n,y:r},d=W(i),f=ir(d),p=u[f],m=u[d],h=tr(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=kr.has(nr(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},Pr=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=tr(e,t),u=await o.detectOverflow(t,l),d=nr(i),f=rr(i),p=W(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Xn(h-u[g],v),x=Xn(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=H(u.left,0),t=H(u.right,0),n=H(u.top,0),r=H(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:H(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:H(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function Fr(){return typeof window<`u`}function Ir(e){return Lr(e)?(e.nodeName||``).toLowerCase():`#document`}function G(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function K(e){return((Lr(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Lr(e){return Fr()?e instanceof Node||e instanceof G(e).Node:!1}function q(e){return Fr()?e instanceof Element||e instanceof G(e).Element:!1}function Rr(e){return Fr()?e instanceof HTMLElement||e instanceof G(e).HTMLElement:!1}function zr(e){return!Fr()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof G(e).ShadowRoot}function Br(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=J(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Vr(e){return/^(table|td|th)$/.test(Ir(e))}function Hr(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Ur=/transform|translate|scale|rotate|perspective|filter/,Wr=/paint|layout|strict|content/,Gr=e=>!!e&&e!==`none`,Kr;function qr(e){let t=q(e)?J(e):e;return Gr(t.transform)||Gr(t.translate)||Gr(t.scale)||Gr(t.rotate)||Gr(t.perspective)||!Yr()&&(Gr(t.backdropFilter)||Gr(t.filter))||Ur.test(t.willChange||``)||Wr.test(t.contain||``)}function Jr(e){let t=Qr(e);for(;Rr(t)&&!Xr(t);){if(qr(t))return t;if(Hr(t))return null;t=Qr(t)}return null}function Yr(){return Kr??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Kr}function Xr(e){return/^(html|body|#document)$/.test(Ir(e))}function J(e){return G(e).getComputedStyle(e)}function Zr(e){return q(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Qr(e){if(Ir(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||zr(e)&&e.host||K(e);return zr(t)?t.host:t}function $r(e){let t=Qr(e);return Xr(t)?e.ownerDocument?e.ownerDocument.body:e.body:Rr(t)&&Br(t)?t:$r(t)}function ei(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=$r(e),i=r===e.ownerDocument?.body,a=G(r);if(i){let e=ti(a);return t.concat(a,a.visualViewport||[],Br(r)?r:[],e&&n?ei(e):[])}else return t.concat(r,ei(r,[],n))}function ti(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function ni(e){let t=J(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Rr(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Zn(n)!==a||Zn(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function ri(e){return q(e)?e:e.contextElement}function ii(e){let t=ri(e);if(!Rr(t))return U(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=ni(t),o=(a?Zn(n.width):n.width)/r,s=(a?Zn(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var ai=U(0);function oi(e){let t=G(e);return!Yr()||!t.visualViewport?ai:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function si(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==G(e)?!1:t}function ci(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=ri(e),o=U(1);t&&(r?q(r)&&(o=ii(r)):o=ii(e));let s=si(a,n,r)?oi(a):U(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=G(a),t=r&&q(r)?G(r):r,n=e,i=ti(n);for(;i&&r&&t!==n;){let e=ii(i),t=i.getBoundingClientRect(),r=J(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=G(i),i=ti(n)}}return yr({width:u,height:d,x:c,y:l})}function li(e,t){let n=Zr(e).scrollLeft;return t?t.left+n:ci(K(e)).left+n}function ui(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-li(e,n),y:n.top+t.scrollTop}}function di(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=K(r),s=t?Hr(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=U(1),u=U(0),d=Rr(r);if((d||!d&&!a)&&((Ir(r)!==`body`||Br(o))&&(c=Zr(r)),d)){let e=ci(r);l=ii(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?ui(o,c):U(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function fi(e){return Array.from(e.getClientRects())}function pi(e){let t=K(e),n=Zr(e),r=e.ownerDocument.body,i=H(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=H(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+li(e),s=-n.scrollTop;return J(r).direction===`rtl`&&(o+=H(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var mi=25;function hi(e,t){let n=G(e),r=K(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Yr();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=li(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=mi&&(a-=o)}else l<=mi&&(a+=l);return{width:a,height:o,x:s,y:c}}function gi(e,t){let n=ci(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Rr(e)?ii(e):U(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function _i(e,t,n){let r;if(t===`viewport`)r=hi(e,n);else if(t===`document`)r=pi(K(e));else if(q(t))r=gi(t,n);else{let n=oi(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return yr(r)}function vi(e,t){let n=Qr(e);return n===t||!q(n)||Xr(n)?!1:J(n).position===`fixed`||vi(n,t)}function yi(e,t){let n=t.get(e);if(n)return n;let r=ei(e,[],!1).filter(e=>q(e)&&Ir(e)!==`body`),i=null,a=J(e).position===`fixed`,o=a?Qr(e):e;for(;q(o)&&!Xr(o);){let t=J(o),n=qr(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Br(o)&&!n&&vi(e,o))?r=r.filter(e=>e!==o):i=t,o=Qr(o)}return t.set(e,r),r}function bi(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Hr(t)?[]:yi(t,this._c):[].concat(n),r],o=_i(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=_i(t,a[e],i);s=H(n.top,s),c=Xn(n.right,c),l=Xn(n.bottom,l),u=H(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function xi(e){let{width:t,height:n}=ni(e);return{width:t,height:n}}function Si(e,t,n){let r=Rr(t),i=K(t),a=n===`fixed`,o=ci(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=U(0);function l(){c.x=li(i)}if(r||!r&&!a)if((Ir(t)!==`body`||Br(i))&&(s=Zr(t)),r){let e=ci(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?ui(i,s):U(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Ci(e){return J(e).position===`static`}function wi(e,t){if(!Rr(e)||J(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return K(e)===n&&(n=n.ownerDocument.body),n}function Ti(e,t){let n=G(e);if(Hr(e))return n;if(!Rr(e)){let t=Qr(e);for(;t&&!Xr(t);){if(q(t)&&!Ci(t))return t;t=Qr(t)}return n}let r=wi(e,t);for(;r&&Vr(r)&&Ci(r);)r=wi(r,t);return r&&Xr(r)&&Ci(r)&&!qr(r)?n:r||Jr(e)||n}var Ei=async function(e){let t=this.getOffsetParent||Ti,n=this.getDimensions,r=await n(e.floating);return{reference:Si(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Di(e){return J(e).direction===`rtl`}var Oi={convertOffsetParentRelativeRectToViewportRelativeRect:di,getDocumentElement:K,getClippingRect:bi,getOffsetParent:Ti,getElementRects:Ei,getClientRects:fi,getDimensions:xi,getScale:ii,isElement:q,isRTL:Di};function ki(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Ai(e,t){let n=null,r,i=K(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=Qn(d),h=Qn(i.clientWidth-(u+f)),g=Qn(i.clientHeight-(d+p)),_=Qn(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:H(0,Xn(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!ki(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function ji(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=ri(e),u=i||a?[...l?ei(l):[],...t?ei(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Ai(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?ci(e):null;c&&g();function g(){let t=ci(e);h&&!ki(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Mi=jr,Ni=Mr,Pi=Tr,Fi=Pr,Ii=Or,Li=wr,Ri=Nr,zi=(e,t,n)=>{let r=new Map,i={platform:Oi,...n},a={...i.platform,_c:r};return Cr(e,t,{...i,platform:a})},Bi=typeof document<`u`?o.useLayoutEffect:function(){};function Vi(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Vi(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!Vi(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Hi(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Ui(e,t){let n=Hi(e);return Math.round(t*n)/n}function Wi(e){let t=o.useRef(e);return Bi(()=>{t.current=e}),t}function Gi(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:s}={},transform:c=!0,whileElementsMounted:l,open:u}=e,[d,f]=o.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=o.useState(r);Vi(p,r)||m(r);let[h,g]=o.useState(null),[_,v]=o.useState(null),b=o.useCallback(e=>{e!==w.current&&(w.current=e,g(e))},[]),x=o.useCallback(e=>{e!==T.current&&(T.current=e,v(e))},[]),S=a||h,C=s||_,w=o.useRef(null),T=o.useRef(null),E=o.useRef(d),D=l!=null,O=Wi(l),k=Wi(i),A=Wi(u),j=o.useCallback(()=>{if(!w.current||!T.current)return;let e={placement:t,strategy:n,middleware:p};k.current&&(e.platform=k.current),zi(w.current,T.current,e).then(e=>{let t={...e,isPositioned:A.current!==!1};M.current&&!Vi(E.current,t)&&(E.current=t,y.flushSync(()=>{f(t)}))})},[p,t,n,k,A]);Bi(()=>{u===!1&&E.current.isPositioned&&(E.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[u]);let M=o.useRef(!1);Bi(()=>(M.current=!0,()=>{M.current=!1}),[]),Bi(()=>{if(S&&(w.current=S),C&&(T.current=C),S&&C){if(O.current)return O.current(S,C,j);j()}},[S,C,j,O,D]);let N=o.useMemo(()=>({reference:w,floating:T,setReference:b,setFloating:x}),[b,x]),P=o.useMemo(()=>({reference:S,floating:C}),[S,C]),ee=o.useMemo(()=>{let e={position:n,left:0,top:0};if(!P.floating)return e;let t=Ui(P.floating,d.x),r=Ui(P.floating,d.y);return c?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Hi(P.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,c,P.floating,d.x,d.y]);return o.useMemo(()=>({...d,update:j,refs:N,elements:P,floatingStyles:ee}),[d,j,N,P,ee])}var Ki=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:Li({element:r.current,padding:i}).fn(n):r?Li({element:r,padding:i}).fn(n):{}}}},qi=(e,t)=>{let n=Mi(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ji=(e,t)=>{let n=Ni(e);return{name:n.name,fn:n.fn,options:[e,t]}},Yi=(e,t)=>({fn:Ri(e).fn,options:[e,t]}),Xi=(e,t)=>{let n=Pi(e);return{name:n.name,fn:n.fn,options:[e,t]}},Zi=(e,t)=>{let n=Fi(e);return{name:n.name,fn:n.fn,options:[e,t]}},Qi=(e,t)=>{let n=Ii(e);return{name:n.name,fn:n.fn,options:[e,t]}},$i=(e,t)=>{let n=Ki(e);return{name:n.name,fn:n.fn,options:[e,t]}},ea=`Arrow`,ta=o.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,u.jsx)(b.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,u.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});ta.displayName=ea;var na=ta,ra=`Popper`,[ia,aa]=D(ra),[oa,sa]=ia(ra),ca=e=>{let{__scopePopper:t,children:n}=e,[r,i]=o.useState(null);return(0,u.jsx)(oa,{scope:t,anchor:r,onAnchorChange:i,children:n})};ca.displayName=ra;var la=`PopperAnchor`,ua=o.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=sa(la,n),s=o.useRef(null),c=l(t,s),d=o.useRef(null);return o.useEffect(()=>{let e=d.current;d.current=r?.current||s.current,e!==d.current&&a.onAnchorChange(d.current)}),r?null:(0,u.jsx)(b.div,{...i,ref:c})});ua.displayName=la;var da=`PopperContent`,[fa,pa]=ia(da),ma=o.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:s=0,arrowPadding:c=0,avoidCollisions:d=!0,collisionBoundary:f=[],collisionPadding:p=0,sticky:m=`partial`,hideWhenDetached:h=!1,updatePositionStrategy:g=`optimized`,onPlaced:_,...v}=e,y=sa(da,n),[x,S]=o.useState(null),C=l(t,e=>S(e)),[w,T]=o.useState(null),E=Jn(w),D=E?.width??0,O=E?.height??0,k=r+(a===`center`?``:`-`+a),A=typeof p==`number`?p:{top:0,right:0,bottom:0,left:0,...p},M=Array.isArray(f)?f:[f],N=M.length>0,P={padding:A,boundary:M.filter(va),altBoundary:N},{refs:ee,floatingStyles:te,placement:F,isPositioned:I,middlewareData:L}=Gi({strategy:`fixed`,placement:k,whileElementsMounted:(...e)=>ji(...e,{animationFrame:g===`always`}),elements:{reference:y.anchor},middleware:[qi({mainAxis:i+O,alignmentAxis:s}),d&&Ji({mainAxis:!0,crossAxis:!1,limiter:m===`partial`?Yi():void 0,...P}),d&&Xi({...P}),Zi({...P,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),w&&$i({element:w,padding:c}),ya({arrowWidth:D,arrowHeight:O}),h&&Qi({strategy:`referenceHidden`,...P})]}),[ne,re]=ba(F),ie=z(_);j(()=>{I&&ie?.()},[I,ie]);let R=L.arrow?.x,ae=L.arrow?.y,oe=L.arrow?.centerOffset!==0,[se,ce]=o.useState();return j(()=>{x&&ce(window.getComputedStyle(x).zIndex)},[x]),(0,u.jsx)(`div`,{ref:ee.setFloating,"data-radix-popper-content-wrapper":``,style:{...te,transform:I?te.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:se,"--radix-popper-transform-origin":[L.transformOrigin?.x,L.transformOrigin?.y].join(` `),...L.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,u.jsx)(fa,{scope:n,placedSide:ne,onArrowChange:T,arrowX:R,arrowY:ae,shouldHideArrow:oe,children:(0,u.jsx)(b.div,{"data-side":ne,"data-align":re,...v,ref:C,style:{...v.style,animation:I?void 0:`none`}})})})});ma.displayName=da;var ha=`PopperArrow`,ga={top:`bottom`,right:`left`,bottom:`top`,left:`right`},_a=o.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=pa(ha,n),a=ga[i.placedSide];return(0,u.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,u.jsx)(na,{...r,ref:t,style:{...r.style,display:`block`}})})});_a.displayName=ha;function va(e){return e!==null}var ya=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=ba(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function ba(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var xa=ca,Sa=ua,Ca=ma,wa=_a,Ta=`rovingFocusGroup.onEntryFocus`,Ea={bubbles:!1,cancelable:!0},Da=`RovingFocusGroup`,[Oa,ka,Aa]=k(Da),[ja,Ma]=D(Da,[Aa]),[Na,Pa]=ja(Da),Fa=o.forwardRef((e,t)=>(0,u.jsx)(Oa.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(Oa.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(Ia,{...e,ref:t})})}));Fa.displayName=Da;var Ia=o.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:s,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:d,onEntryFocus:f,preventScrollOnEntryFocus:p=!1,...m}=e,h=o.useRef(null),g=l(t,h),_=oe(a),[v,y]=N({prop:s,defaultProp:c??null,onChange:d,caller:Da}),[x,S]=o.useState(!1),C=z(f),w=ka(n),T=o.useRef(!1),[E,D]=o.useState(0);return o.useEffect(()=>{let e=h.current;if(e)return e.addEventListener(Ta,C),()=>e.removeEventListener(Ta,C)},[C]),(0,u.jsx)(Na,{scope:n,orientation:r,dir:_,loop:i,currentTabStopId:v,onItemFocus:o.useCallback(e=>y(e),[y]),onItemShiftTab:o.useCallback(()=>S(!0),[]),onFocusableItemAdd:o.useCallback(()=>D(e=>e+1),[]),onFocusableItemRemove:o.useCallback(()=>D(e=>e-1),[]),children:(0,u.jsx)(b.div,{tabIndex:x||E===0?-1:0,"data-orientation":r,...m,ref:g,style:{outline:`none`,...e.style},onMouseDown:A(e.onMouseDown,()=>{T.current=!0}),onFocus:A(e.onFocus,e=>{let t=!T.current;if(e.target===e.currentTarget&&t&&!x){let t=new CustomEvent(Ta,Ea);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=w().filter(e=>e.focusable);Ha([e.find(e=>e.active),e.find(e=>e.id===v),...e].filter(Boolean).map(e=>e.ref.current),p)}}T.current=!1}),onBlur:A(e.onBlur,()=>S(!1))})})}),La=`RovingFocusGroupItem`,Ra=o.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:s,...c}=e,l=R(),d=a||l,f=Pa(La,n),p=f.currentTabStopId===d,m=ka(n),{onFocusableItemAdd:h,onFocusableItemRemove:g,currentTabStopId:_}=f;return o.useEffect(()=>{if(r)return h(),()=>g()},[r,h,g]),(0,u.jsx)(Oa.ItemSlot,{scope:n,id:d,focusable:r,active:i,children:(0,u.jsx)(b.span,{tabIndex:p?0:-1,"data-orientation":f.orientation,...c,ref:t,onMouseDown:A(e.onMouseDown,e=>{r?f.onItemFocus(d):e.preventDefault()}),onFocus:A(e.onFocus,()=>f.onItemFocus(d)),onKeyDown:A(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){f.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=Va(e,f.orientation,f.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=m().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=f.loop?Ua(n,r+1):n.slice(r+1)}setTimeout(()=>Ha(n))}}),children:typeof s==`function`?s({isCurrentTabStop:p,hasTabStop:_!=null}):s})})});Ra.displayName=La;var za={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function Ba(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function Va(e,t,n){let r=Ba(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return za[r]}function Ha(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function Ua(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Wa=Fa,Ga=Ra,Ka=[`Enter`,` `],qa=[`ArrowDown`,`PageUp`,`Home`],Ja=[`ArrowUp`,`PageDown`,`End`],Ya=[...qa,...Ja],Xa={ltr:[...Ka,`ArrowRight`],rtl:[...Ka,`ArrowLeft`]},Za={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},Qa=`Menu`,[$a,eo,to]=k(Qa),[no,ro]=D(Qa,[to,aa,Ma]),io=aa(),ao=Ma(),[oo,so]=no(Qa),[co,lo]=no(Qa),uo=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:s=!0}=e,c=io(t),[l,d]=o.useState(null),f=o.useRef(!1),p=z(a),m=oe(i);return o.useEffect(()=>{let e=()=>{f.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>f.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,u.jsx)(xa,{...c,children:(0,u.jsx)(oo,{scope:t,open:n,onOpenChange:p,content:l,onContentChange:d,children:(0,u.jsx)(co,{scope:t,onClose:o.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:f,dir:m,modal:s,children:r})})})};uo.displayName=Qa;var fo=`MenuAnchor`,po=o.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=io(n);return(0,u.jsx)(Sa,{...i,...r,ref:t})});po.displayName=fo;var mo=`MenuPortal`,[ho,go]=no(mo,{forceMount:void 0}),_o=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=so(mo,t);return(0,u.jsx)(ho,{scope:t,forceMount:n,children:(0,u.jsx)(F,{present:n||a.open,children:(0,u.jsx)(Re,{asChild:!0,container:i,children:r})})})};_o.displayName=mo;var Y=`MenuContent`,[vo,yo]=no(Y),bo=o.forwardRef((e,t)=>{let n=go(Y,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=so(Y,e.__scopeMenu),o=lo(Y,e.__scopeMenu);return(0,u.jsx)($a.Provider,{scope:e.__scopeMenu,children:(0,u.jsx)(F,{present:r||a.open,children:(0,u.jsx)($a.Slot,{scope:e.__scopeMenu,children:o.modal?(0,u.jsx)(xo,{...i,ref:t}):(0,u.jsx)(So,{...i,ref:t})})})})}),xo=o.forwardRef((e,t)=>{let n=so(Y,e.__scopeMenu),r=o.useRef(null),i=l(t,r);return o.useEffect(()=>{let e=r.current;if(e)return an(e)},[]),(0,u.jsx)(wo,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:A(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),So=o.forwardRef((e,t)=>{let n=so(Y,e.__scopeMenu);return(0,u.jsx)(wo,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Co=d(`MenuContent.ScrollLock`),wo=o.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:s,disableOutsidePointerEvents:c,onEntryFocus:d,onEscapeKeyDown:f,onPointerDownOutside:p,onFocusOutside:m,onInteractOutside:h,onDismiss:g,disableOutsideScroll:_,...v}=e,y=so(Y,n),b=lo(Y,n),x=io(n),S=ao(n),C=eo(n),[w,T]=o.useState(null),E=o.useRef(null),D=l(t,E,y.onContentChange),O=o.useRef(0),k=o.useRef(``),j=o.useRef(0),M=o.useRef(null),N=o.useRef(`right`),P=o.useRef(0),ee=_?Yt:o.Fragment,te=_?{as:Co,allowPinchZoom:!0}:void 0,F=e=>{let t=k.current+e,n=C().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=cs(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){k.current=t,window.clearTimeout(O.current),t!==``&&(O.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};o.useEffect(()=>()=>window.clearTimeout(O.current),[]),Be();let I=o.useCallback(e=>N.current===M.current?.side&&us(e,M.current?.area),[]);return(0,u.jsx)(vo,{scope:n,searchRef:k,onItemEnter:o.useCallback(e=>{I(e)&&e.preventDefault()},[I]),onItemLeave:o.useCallback(e=>{I(e)||(E.current?.focus(),T(null))},[I]),onTriggerLeave:o.useCallback(e=>{I(e)&&e.preventDefault()},[I]),pointerGraceTimerRef:j,onPointerGraceIntentChange:o.useCallback(e=>{M.current=e},[]),children:(0,u.jsx)(ee,{...te,children:(0,u.jsx)(Te,{asChild:!0,trapped:i,onMountAutoFocus:A(a,e=>{e.preventDefault(),E.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:(0,u.jsx)(me,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:f,onPointerDownOutside:p,onFocusOutside:m,onInteractOutside:h,onDismiss:g,children:(0,u.jsx)(Wa,{asChild:!0,...S,dir:b.dir,orientation:`vertical`,loop:r,currentTabStopId:w,onCurrentTabStopIdChange:T,onEntryFocus:A(d,e=>{b.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,u.jsx)(Ca,{role:`menu`,"aria-orientation":`vertical`,"data-state":rs(y.open),"data-radix-menu-content":``,dir:b.dir,...x,...v,ref:D,style:{outline:`none`,...v.style},onKeyDown:A(v.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&F(e.key));let i=E.current;if(e.target!==i||!Ya.includes(e.key))return;e.preventDefault();let a=C().filter(e=>!e.disabled).map(e=>e.ref.current);Ja.includes(e.key)&&a.reverse(),os(a)}),onBlur:A(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(O.current),k.current=``)}),onPointerMove:A(e.onPointerMove,ds(e=>{let t=e.target,n=P.current!==e.clientX;e.currentTarget.contains(t)&&n&&(N.current=e.clientX>P.current?`right`:`left`,P.current=e.clientX)}))})})})})})})});bo.displayName=Y;var To=`MenuGroup`,Eo=o.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,u.jsx)(b.div,{role:`group`,...r,ref:t})});Eo.displayName=To;var Do=`MenuLabel`,Oo=o.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,u.jsx)(b.div,{...r,ref:t})});Oo.displayName=Do;var ko=`MenuItem`,Ao=`menu.itemSelect`,jo=o.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=o.useRef(null),s=lo(ko,e.__scopeMenu),c=yo(ko,e.__scopeMenu),d=l(t,a),f=o.useRef(!1),p=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Ao,{bubbles:!0,cancelable:!0});e.addEventListener(Ao,e=>r?.(e),{once:!0}),x(e,t),t.defaultPrevented?f.current=!1:s.onClose()}};return(0,u.jsx)(Mo,{...i,ref:d,disabled:n,onClick:A(e.onClick,p),onPointerDown:t=>{e.onPointerDown?.(t),f.current=!0},onPointerUp:A(e.onPointerUp,e=>{f.current||e.currentTarget?.click()}),onKeyDown:A(e.onKeyDown,e=>{let t=c.searchRef.current!==``;n||t&&e.key===` `||Ka.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});jo.displayName=ko;var Mo=o.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,s=yo(ko,n),c=ao(n),d=o.useRef(null),f=l(t,d),[p,m]=o.useState(!1),[h,g]=o.useState(``);return o.useEffect(()=>{let e=d.current;e&&g((e.textContent??``).trim())},[a.children]),(0,u.jsx)($a.ItemSlot,{scope:n,disabled:r,textValue:i??h,children:(0,u.jsx)(Ga,{asChild:!0,...c,focusable:!r,children:(0,u.jsx)(b.div,{role:`menuitem`,"data-highlighted":p?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:f,onPointerMove:A(e.onPointerMove,ds(e=>{r?s.onItemLeave(e):(s.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:A(e.onPointerLeave,ds(e=>s.onItemLeave(e))),onFocus:A(e.onFocus,()=>m(!0)),onBlur:A(e.onBlur,()=>m(!1))})})})}),No=`MenuCheckboxItem`,Po=o.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,u.jsx)(Ho,{scope:e.__scopeMenu,checked:n,children:(0,u.jsx)(jo,{role:`menuitemcheckbox`,"aria-checked":is(n)?`mixed`:n,...i,ref:t,"data-state":as(n),onSelect:A(i.onSelect,()=>r?.(is(n)?!0:!n),{checkForDefaultPrevented:!1})})})});Po.displayName=No;var Fo=`MenuRadioGroup`,[Io,Lo]=no(Fo,{value:void 0,onValueChange:()=>{}}),Ro=o.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=z(r);return(0,u.jsx)(Io,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,u.jsx)(Eo,{...i,ref:t})})});Ro.displayName=Fo;var zo=`MenuRadioItem`,Bo=o.forwardRef((e,t)=>{let{value:n,...r}=e,i=Lo(zo,e.__scopeMenu),a=n===i.value;return(0,u.jsx)(Ho,{scope:e.__scopeMenu,checked:a,children:(0,u.jsx)(jo,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":as(a),onSelect:A(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Bo.displayName=zo;var Vo=`MenuItemIndicator`,[Ho,Uo]=no(Vo,{checked:!1}),Wo=o.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=Uo(Vo,n);return(0,u.jsx)(F,{present:r||is(a.checked)||a.checked===!0,children:(0,u.jsx)(b.span,{...i,ref:t,"data-state":as(a.checked)})})});Wo.displayName=Vo;var Go=`MenuSeparator`,Ko=o.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,u.jsx)(b.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});Ko.displayName=Go;var qo=`MenuArrow`,Jo=o.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=io(n);return(0,u.jsx)(wa,{...i,...r,ref:t})});Jo.displayName=qo;var Yo=`MenuSub`,[Xo,Zo]=no(Yo),Qo=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=so(Yo,t),s=io(t),[c,l]=o.useState(null),[d,f]=o.useState(null),p=z(i);return o.useEffect(()=>(a.open===!1&&p(!1),()=>p(!1)),[a.open,p]),(0,u.jsx)(xa,{...s,children:(0,u.jsx)(oo,{scope:t,open:r,onOpenChange:p,content:d,onContentChange:f,children:(0,u.jsx)(Xo,{scope:t,contentId:R(),triggerId:R(),trigger:c,onTriggerChange:l,children:n})})})};Qo.displayName=Yo;var $o=`MenuSubTrigger`,es=o.forwardRef((e,t)=>{let n=so($o,e.__scopeMenu),r=lo($o,e.__scopeMenu),i=Zo($o,e.__scopeMenu),a=yo($o,e.__scopeMenu),s=o.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:d}=a,f={__scopeMenu:e.__scopeMenu},p=o.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return o.useEffect(()=>p,[p]),o.useEffect(()=>{let e=l.current;return()=>{window.clearTimeout(e),d(null)}},[l,d]),(0,u.jsx)(po,{asChild:!0,...f,children:(0,u.jsx)(Mo,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":i.contentId,"data-state":rs(n.open),...e,ref:c(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:A(e.onPointerMove,ds(t=>{a.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!s.current&&(a.onPointerGraceIntentChange(null),s.current=window.setTimeout(()=>{n.onOpenChange(!0),p()},100))})),onPointerLeave:A(e.onPointerLeave,ds(e=>{p();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,o=i?-5:5,s=t[i?`left`:`right`],c=t[i?`right`:`left`];a.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:s,y:t.top},{x:c,y:t.top},{x:c,y:t.bottom},{x:s,y:t.bottom}],side:r}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:A(e.onKeyDown,t=>{let i=a.searchRef.current!==``;e.disabled||i&&t.key===` `||Xa[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});es.displayName=$o;var ts=`MenuSubContent`,ns=o.forwardRef((e,t)=>{let n=go(Y,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=so(Y,e.__scopeMenu),s=lo(Y,e.__scopeMenu),c=Zo(ts,e.__scopeMenu),d=o.useRef(null),f=l(t,d);return(0,u.jsx)($a.Provider,{scope:e.__scopeMenu,children:(0,u.jsx)(F,{present:r||a.open,children:(0,u.jsx)($a.Slot,{scope:e.__scopeMenu,children:(0,u.jsx)(wo,{id:c.contentId,"aria-labelledby":c.triggerId,...i,ref:f,align:`start`,side:s.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&d.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:A(e.onFocusOutside,e=>{e.target!==c.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:A(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:A(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=Za[s.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});ns.displayName=ts;function rs(e){return e?`open`:`closed`}function is(e){return e===`indeterminate`}function as(e){return is(e)?`indeterminate`:e?`checked`:`unchecked`}function os(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function ss(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function cs(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=ss(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function ls(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function us(e,t){return t?ls({x:e.clientX,y:e.clientY},t):!1}function ds(e){return t=>t.pointerType===`mouse`?e(t):void 0}var fs=uo,ps=po,ms=_o,hs=bo,gs=Eo,_s=Oo,vs=jo,ys=Po,bs=Ro,xs=Bo,Ss=Wo,Cs=Ko,ws=Jo,Ts=Qo,Es=es,Ds=ns,Os=`ContextMenu`,[ks,As]=D(Os,[ro]),X=ro(),[js,Ms]=ks(Os),Ns=e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,dir:i,modal:a=!0}=e,[s,c]=o.useState(!1),l=X(t),d=z(r),f=o.useCallback(e=>{c(e),d(e)},[d]);return(0,u.jsx)(js,{scope:t,open:s,onOpenChange:f,modal:a,children:(0,u.jsx)(fs,{...l,dir:i,open:s,onOpenChange:f,modal:a,children:n})})};Ns.displayName=Os;var Ps=`ContextMenuTrigger`,Fs=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,disabled:r=!1,...i}=e,a=Ms(Ps,n),s=X(n),c=o.useRef({x:0,y:0}),l=o.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...c.current})}),d=o.useRef(0),f=o.useCallback(()=>window.clearTimeout(d.current),[]),p=e=>{c.current={x:e.clientX,y:e.clientY},a.onOpenChange(!0)};return o.useEffect(()=>f,[f]),o.useEffect(()=>void(r&&f()),[r,f]),(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(ps,{...s,virtualRef:l}),(0,u.jsx)(b.span,{"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,...i,ref:t,style:{WebkitTouchCallout:`none`,...e.style},onContextMenu:r?e.onContextMenu:A(e.onContextMenu,e=>{f(),p(e),e.preventDefault()}),onPointerDown:r?e.onPointerDown:A(e.onPointerDown,uc(e=>{f(),d.current=window.setTimeout(()=>p(e),700)})),onPointerMove:r?e.onPointerMove:A(e.onPointerMove,uc(f)),onPointerCancel:r?e.onPointerCancel:A(e.onPointerCancel,uc(f)),onPointerUp:r?e.onPointerUp:A(e.onPointerUp,uc(f))})]})});Fs.displayName=Ps;var Is=`ContextMenuPortal`,Ls=e=>{let{__scopeContextMenu:t,...n}=e,r=X(t);return(0,u.jsx)(ms,{...r,...n})};Ls.displayName=Is;var Rs=`ContextMenuContent`,zs=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=Ms(Rs,n),a=X(n),s=o.useRef(!1);return(0,u.jsx)(hs,{...a,...r,ref:t,side:`right`,sideOffset:2,align:`start`,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),!t.defaultPrevented&&s.current&&t.preventDefault(),s.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),!t.defaultPrevented&&!i.modal&&(s.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});zs.displayName=Rs;var Bs=`ContextMenuGroup`,Vs=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(gs,{...i,...r,ref:t})});Vs.displayName=Bs;var Hs=`ContextMenuLabel`,Us=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(_s,{...i,...r,ref:t})});Us.displayName=Hs;var Ws=`ContextMenuItem`,Gs=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(vs,{...i,...r,ref:t})});Gs.displayName=Ws;var Ks=`ContextMenuCheckboxItem`,qs=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(ys,{...i,...r,ref:t})});qs.displayName=Ks;var Js=`ContextMenuRadioGroup`,Ys=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(bs,{...i,...r,ref:t})});Ys.displayName=Js;var Xs=`ContextMenuRadioItem`,Zs=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(xs,{...i,...r,ref:t})});Zs.displayName=Xs;var Qs=`ContextMenuItemIndicator`,$s=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(Ss,{...i,...r,ref:t})});$s.displayName=Qs;var ec=`ContextMenuSeparator`,tc=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(Cs,{...i,...r,ref:t})});tc.displayName=ec;var nc=`ContextMenuArrow`,rc=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(ws,{...i,...r,ref:t})});rc.displayName=nc;var ic=`ContextMenuSub`,ac=e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,open:i,defaultOpen:a}=e,o=X(t),[s,c]=N({prop:i,defaultProp:a??!1,onChange:r,caller:ic});return(0,u.jsx)(Ts,{...o,open:s,onOpenChange:c,children:n})};ac.displayName=ic;var oc=`ContextMenuSubTrigger`,sc=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(Es,{...i,...r,ref:t})});sc.displayName=oc;var cc=`ContextMenuSubContent`,lc=o.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=X(n);return(0,u.jsx)(Ds,{...i,...r,ref:t,style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});lc.displayName=cc;function uc(e){return t=>t.pointerType===`mouse`?void 0:e(t)}var dc=Ns,fc=Fs,pc=Ls,mc=zs,hc=Gs,gc=Ys,_c=Zs,vc=$s,yc=tc,bc=ac,xc=sc,Sc=lc,Cc=`DropdownMenu`,[wc,Tc]=D(Cc,[ro]),Z=ro(),[Ec,Dc]=wc(Cc),Oc=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:s,modal:c=!0}=e,l=Z(t),d=o.useRef(null),[f,p]=N({prop:i,defaultProp:a??!1,onChange:s,caller:Cc});return(0,u.jsx)(Ec,{scope:t,triggerId:R(),triggerRef:d,contentId:R(),open:f,onOpenChange:p,onOpenToggle:o.useCallback(()=>p(e=>!e),[p]),modal:c,children:(0,u.jsx)(fs,{...l,open:f,onOpenChange:p,dir:r,modal:c,children:n})})};Oc.displayName=Cc;var kc=`DropdownMenuTrigger`,Ac=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=Dc(kc,n),o=Z(n);return(0,u.jsx)(ps,{asChild:!0,...o,children:(0,u.jsx)(b.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:c(t,a.triggerRef),onPointerDown:A(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:A(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});Ac.displayName=kc;var jc=`DropdownMenuPortal`,Mc=e=>{let{__scopeDropdownMenu:t,...n}=e,r=Z(t);return(0,u.jsx)(ms,{...r,...n})};Mc.displayName=jc;var Nc=`DropdownMenuContent`,Pc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Dc(Nc,n),a=Z(n),s=o.useRef(!1);return(0,u.jsx)(hs,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:A(e.onCloseAutoFocus,e=>{s.current||i.triggerRef.current?.focus(),s.current=!1,e.preventDefault()}),onInteractOutside:A(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(s.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});Pc.displayName=Nc;var Fc=`DropdownMenuGroup`,Ic=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(gs,{...i,...r,ref:t})});Ic.displayName=Fc;var Lc=`DropdownMenuLabel`,Rc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(_s,{...i,...r,ref:t})});Rc.displayName=Lc;var zc=`DropdownMenuItem`,Bc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(vs,{...i,...r,ref:t})});Bc.displayName=zc;var Vc=`DropdownMenuCheckboxItem`,Hc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(ys,{...i,...r,ref:t})});Hc.displayName=Vc;var Uc=`DropdownMenuRadioGroup`,Wc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(bs,{...i,...r,ref:t})});Wc.displayName=Uc;var Gc=`DropdownMenuRadioItem`,Kc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(xs,{...i,...r,ref:t})});Kc.displayName=Gc;var qc=`DropdownMenuItemIndicator`,Jc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(Ss,{...i,...r,ref:t})});Jc.displayName=qc;var Yc=`DropdownMenuSeparator`,Xc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(Cs,{...i,...r,ref:t})});Xc.displayName=Yc;var Zc=`DropdownMenuArrow`,Qc=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(ws,{...i,...r,ref:t})});Qc.displayName=Zc;var $c=e=>{let{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:i,defaultOpen:a}=e,o=Z(t),[s,c]=N({prop:r,defaultProp:a??!1,onChange:i,caller:`DropdownMenuSub`});return(0,u.jsx)(Ts,{...o,open:s,onOpenChange:c,children:n})},el=`DropdownMenuSubTrigger`,tl=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(Es,{...i,...r,ref:t})});tl.displayName=el;var nl=`DropdownMenuSubContent`,rl=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Z(n);return(0,u.jsx)(Ds,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});rl.displayName=nl;var il=Oc,al=Ac,ol=Mc,sl=Pc,cl=Rc,ll=Bc,ul=Hc,dl=Wc,fl=Kc,pl=Jc,ml=Xc,hl=$c,gl=tl,_l=rl,vl=`Label`,yl=o.forwardRef((e,t)=>(0,u.jsx)(b.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));yl.displayName=vl;var bl=yl;function xl(e,[t,n]){return Math.min(n,Math.max(t,e))}var Sl=`Popover`,[Cl,wl]=D(Sl,[aa]),Tl=aa(),[El,Dl]=Cl(Sl),Ol=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:s=!1}=e,c=Tl(t),l=o.useRef(null),[d,f]=o.useState(!1),[p,m]=N({prop:r,defaultProp:i??!1,onChange:a,caller:Sl});return(0,u.jsx)(xa,{...c,children:(0,u.jsx)(El,{scope:t,contentId:R(),triggerRef:l,open:p,onOpenChange:m,onOpenToggle:o.useCallback(()=>m(e=>!e),[m]),hasCustomAnchor:d,onCustomAnchorAdd:o.useCallback(()=>f(!0),[]),onCustomAnchorRemove:o.useCallback(()=>f(!1),[]),modal:s,children:n})})};Ol.displayName=Sl;var kl=`PopoverAnchor`,Al=o.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=Dl(kl,n),a=Tl(n),{onCustomAnchorAdd:s,onCustomAnchorRemove:c}=i;return o.useEffect(()=>(s(),()=>c()),[s,c]),(0,u.jsx)(Sa,{...a,...r,ref:t})});Al.displayName=kl;var jl=`PopoverTrigger`,Ml=o.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=Dl(jl,n),a=Tl(n),o=l(t,i.triggerRef),s=(0,u.jsx)(b.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":ql(i.open),...r,ref:o,onClick:A(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,u.jsx)(Sa,{asChild:!0,...a,children:s})});Ml.displayName=jl;var Nl=`PopoverPortal`,[Pl,Fl]=Cl(Nl,{forceMount:void 0}),Il=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=Dl(Nl,t);return(0,u.jsx)(Pl,{scope:t,forceMount:n,children:(0,u.jsx)(F,{present:n||a.open,children:(0,u.jsx)(Re,{asChild:!0,container:i,children:r})})})};Il.displayName=Nl;var Ll=`PopoverContent`,Rl=o.forwardRef((e,t)=>{let n=Fl(Ll,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=Dl(Ll,e.__scopePopover);return(0,u.jsx)(F,{present:r||a.open,children:a.modal?(0,u.jsx)(Bl,{...i,ref:t}):(0,u.jsx)(Vl,{...i,ref:t})})});Rl.displayName=Ll;var zl=d(`PopoverContent.RemoveScroll`),Bl=o.forwardRef((e,t)=>{let n=Dl(Ll,e.__scopePopover),r=o.useRef(null),i=l(t,r),a=o.useRef(!1);return o.useEffect(()=>{let e=r.current;if(e)return an(e)},[]),(0,u.jsx)(Yt,{as:zl,allowPinchZoom:!0,children:(0,u.jsx)(Hl,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:A(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:A(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;a.current=t.button===2||n},{checkForDefaultPrevented:!1}),onFocusOutside:A(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),Vl=o.forwardRef((e,t)=>{let n=Dl(Ll,e.__scopePopover),r=o.useRef(!1),i=o.useRef(!1);return(0,u.jsx)(Hl,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),Hl=o.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:d,...f}=e,p=Dl(Ll,n),m=Tl(n);return Be(),(0,u.jsx)(Te,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,u.jsx)(me,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:d,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>p.onOpenChange(!1),children:(0,u.jsx)(Ca,{"data-state":ql(p.open),role:`dialog`,id:p.contentId,...m,...f,ref:t,style:{...f.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),Ul=`PopoverClose`,Wl=o.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=Dl(Ul,n);return(0,u.jsx)(b.button,{type:`button`,...r,ref:t,onClick:A(e.onClick,()=>i.onOpenChange(!1))})});Wl.displayName=Ul;var Gl=`PopoverArrow`,Kl=o.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=Tl(n);return(0,u.jsx)(wa,{...i,...r,ref:t})});Kl.displayName=Gl;function ql(e){return e?`open`:`closed`}var Jl=Ol,Yl=Ml,Xl=Il,Zl=Rl;function Ql(e,t){return o.useReducer((e,n)=>t[e][n]??e,e)}var $l=`ScrollArea`,[eu,tu]=D($l),[nu,Q]=eu($l),ru=o.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...s}=e,[c,d]=o.useState(null),[f,p]=o.useState(null),[m,h]=o.useState(null),[g,_]=o.useState(null),[v,y]=o.useState(null),[x,S]=o.useState(0),[C,w]=o.useState(0),[T,E]=o.useState(!1),[D,O]=o.useState(!1),k=l(t,e=>d(e)),A=oe(i);return(0,u.jsx)(nu,{scope:n,type:r,dir:A,scrollHideDelay:a,scrollArea:c,viewport:f,onViewportChange:p,content:m,onContentChange:h,scrollbarX:g,onScrollbarXChange:_,scrollbarXEnabled:T,onScrollbarXEnabledChange:E,scrollbarY:v,onScrollbarYChange:y,scrollbarYEnabled:D,onScrollbarYEnabledChange:O,onCornerWidthChange:S,onCornerHeightChange:w,children:(0,u.jsx)(b.div,{dir:A,...s,ref:k,style:{position:`relative`,"--radix-scroll-area-corner-width":x+`px`,"--radix-scroll-area-corner-height":C+`px`,...e.style}})})});ru.displayName=$l;var iu=`ScrollAreaViewport`,au=o.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,s=Q(iu,n),c=l(t,o.useRef(null),s.onViewportChange);return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,u.jsx)(b.div,{"data-radix-scroll-area-viewport":``,...a,ref:c,style:{overflowX:s.scrollbarXEnabled?`scroll`:`hidden`,overflowY:s.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,u.jsx)(`div`,{ref:s.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});au.displayName=iu;var ou=`ScrollAreaScrollbar`,su=o.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Q(ou,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:s}=i,c=e.orientation===`horizontal`;return o.useEffect(()=>(c?a(!0):s(!0),()=>{c?a(!1):s(!1)}),[c,a,s]),i.type===`hover`?(0,u.jsx)(cu,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,u.jsx)(lu,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,u.jsx)(uu,{...r,ref:t,forceMount:n}):i.type===`always`?(0,u.jsx)(du,{...r,ref:t}):null});su.displayName=ou;var cu=o.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Q(ou,e.__scopeScrollArea),[a,s]=o.useState(!1);return o.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),s(!0)},r=()=>{t=window.setTimeout(()=>s(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,u.jsx)(F,{present:n||a,children:(0,u.jsx)(uu,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),lu=o.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Q(ou,e.__scopeScrollArea),a=e.orientation===`horizontal`,s=ju(()=>l(`SCROLL_END`),100),[c,l]=Ql(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return o.useEffect(()=>{if(c===`idle`){let e=window.setTimeout(()=>l(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[c,i.scrollHideDelay,l]),o.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(l(`SCROLL`),s()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,l,s]),(0,u.jsx)(F,{present:n||c!==`hidden`,children:(0,u.jsx)(du,{"data-state":c===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:A(e.onPointerEnter,()=>l(`POINTER_ENTER`)),onPointerLeave:A(e.onPointerLeave,()=>l(`POINTER_LEAVE`))})})}),uu=o.forwardRef((e,t)=>{let n=Q(ou,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,s]=o.useState(!1),c=e.orientation===`horizontal`,l=ju(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;s(c?e:t)}},10);return Mu(n.viewport,l),Mu(n.content,l),(0,u.jsx)(F,{present:r||a,children:(0,u.jsx)(du,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),du=o.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=Q(ou,e.__scopeScrollArea),a=o.useRef(null),s=o.useRef(0),[c,l]=o.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=wu(c.viewport,c.content),f={...r,sizes:c,onSizesChange:l,hasThumb:d>0&&d<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:e=>s.current=e};function p(e,t){return Eu(e,s.current,c,t)}return n===`horizontal`?(0,u.jsx)(fu,{...f,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Du(e,c,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=p(e,i.dir))}}):n===`vertical`?(0,u.jsx)(pu,{...f,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Du(e,c);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=p(e))}}):null}),fu=o.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=Q(ou,e.__scopeScrollArea),[s,c]=o.useState(),d=o.useRef(null),f=l(t,d,a.onScrollbarXChange);return o.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,u.jsx)(gu,{"data-orientation":`horizontal`,...i,ref:f,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":Tu(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),ku(r,n)&&t.preventDefault()}},onResize:()=>{d.current&&a.viewport&&s&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:Cu(s.paddingLeft),paddingEnd:Cu(s.paddingRight)}})}})}),pu=o.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=Q(ou,e.__scopeScrollArea),[s,c]=o.useState(),d=o.useRef(null),f=l(t,d,a.onScrollbarYChange);return o.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,u.jsx)(gu,{"data-orientation":`vertical`,...i,ref:f,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":Tu(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),ku(r,n)&&t.preventDefault()}},onResize:()=>{d.current&&a.viewport&&s&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:Cu(s.paddingTop),paddingEnd:Cu(s.paddingBottom)}})}})}),[mu,hu]=eu(ou),gu=o.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:s,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:f,onWheelScroll:p,onResize:m,...h}=e,g=Q(ou,n),[_,v]=o.useState(null),y=l(t,e=>v(e)),x=o.useRef(null),S=o.useRef(``),C=g.viewport,w=r.content-r.viewport,T=z(p),E=z(d),D=ju(m,10);function O(e){x.current&&f({x:e.clientX-x.current.left,y:e.clientY-x.current.top})}return o.useEffect(()=>{let e=e=>{let t=e.target;_?.contains(t)&&T(e,w)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[C,_,w,T]),o.useEffect(E,[r,E]),Mu(_,D),Mu(g.content,D),(0,u.jsx)(mu,{scope:n,scrollbar:_,hasThumb:i,onThumbChange:z(a),onThumbPointerUp:z(s),onThumbPositionChange:E,onThumbPointerDown:z(c),children:(0,u.jsx)(b.div,{...h,ref:y,style:{position:`absolute`,...h.style},onPointerDown:A(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),x.current=_.getBoundingClientRect(),S.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,g.viewport&&(g.viewport.style.scrollBehavior=`auto`),O(e))}),onPointerMove:A(e.onPointerMove,O),onPointerUp:A(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=S.current,g.viewport&&(g.viewport.style.scrollBehavior=``),x.current=null})})})}),_u=`ScrollAreaThumb`,vu=o.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=hu(_u,e.__scopeScrollArea);return(0,u.jsx)(F,{present:n||i.hasThumb,children:(0,u.jsx)(yu,{ref:t,...r})})}),yu=o.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...i}=e,a=Q(_u,n),s=hu(_u,n),{onThumbPositionChange:c}=s,d=l(t,e=>s.onThumbChange(e)),f=o.useRef(void 0),p=ju(()=>{f.current&&=(f.current(),void 0)},100);return o.useEffect(()=>{let e=a.viewport;if(e){let t=()=>{p(),f.current||(f.current=Au(e,c),c())};return c(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,p,c]),(0,u.jsx)(b.div,{"data-state":s.hasThumb?`visible`:`hidden`,...i,ref:d,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:A(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;s.onThumbPointerDown({x:n,y:r})}),onPointerUp:A(e.onPointerUp,s.onThumbPointerUp)})});vu.displayName=_u;var bu=`ScrollAreaCorner`,xu=o.forwardRef((e,t)=>{let n=Q(bu,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,u.jsx)(Su,{...e,ref:t}):null});xu.displayName=bu;var Su=o.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=Q(bu,n),[a,s]=o.useState(0),[c,l]=o.useState(0),d=!!(a&&c);return Mu(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),l(e)}),Mu(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),s(e)}),d?(0,u.jsx)(b.div,{...r,ref:t,style:{width:a,height:c,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function Cu(e){return e?parseInt(e,10):0}function wu(e,t){let n=e/t;return isNaN(n)?0:n}function Tu(e){let t=wu(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Eu(e,t,n,r=`ltr`){let i=Tu(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return Ou([c,l],d)(e)}function Du(e,t,n=`ltr`){let r=Tu(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=xl(e,n===`ltr`?[0,o]:[o*-1,0]);return Ou([0,o],[0,s])(c)}function Ou(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function ku(e,t){return e>0&&e<t}var Au=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function ju(e,t){let n=z(e),r=o.useRef(0);return o.useEffect(()=>()=>window.clearTimeout(r.current),[]),o.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Mu(e,t){let n=z(t);j(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var Nu=ru,Pu=au,Fu=xu,Iu=[` `,`Enter`,`ArrowUp`,`ArrowDown`],Lu=[` `,`Enter`],Ru=`Select`,[zu,Bu,Vu]=k(Ru),[Hu,Uu]=D(Ru,[Vu,aa]),Wu=aa(),[Gu,Ku]=Hu(Ru),[qu,Ju]=Hu(Ru),Yu=e=>{let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:s,defaultValue:c,onValueChange:l,dir:d,name:f,autoComplete:p,disabled:m,required:h,form:g}=e,_=Wu(t),[v,y]=o.useState(null),[b,x]=o.useState(null),[S,C]=o.useState(!1),w=oe(d),[T,E]=N({prop:r,defaultProp:i??!1,onChange:a,caller:Ru}),[D,O]=N({prop:s,defaultProp:c,onChange:l,caller:Ru}),k=o.useRef(null),A=v?g||!!v.closest(`form`):!0,[j,M]=o.useState(new Set),P=Array.from(j).map(e=>e.props.value).join(`;`);return(0,u.jsx)(xa,{..._,children:(0,u.jsxs)(Gu,{required:h,scope:t,trigger:v,onTriggerChange:y,valueNode:b,onValueNodeChange:x,valueNodeHasChildren:S,onValueNodeHasChildrenChange:C,contentId:R(),value:D,onValueChange:O,open:T,onOpenChange:E,dir:w,triggerPointerDownPosRef:k,disabled:m,children:[(0,u.jsx)(zu.Provider,{scope:t,children:(0,u.jsx)(qu,{scope:e.__scopeSelect,onNativeOptionAdd:o.useCallback(e=>{M(t=>new Set(t).add(e))},[]),onNativeOptionRemove:o.useCallback(e=>{M(t=>{let n=new Set(t);return n.delete(e),n})},[]),children:n})}),A?(0,u.jsxs)(Ud,{"aria-hidden":!0,required:h,tabIndex:-1,name:f,autoComplete:p,value:D,onChange:e=>O(e.target.value),disabled:m,form:g,children:[D===void 0?(0,u.jsx)(`option`,{value:``}):null,Array.from(j)]},P):null]})})};Yu.displayName=Ru;var Xu=`SelectTrigger`,Zu=o.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...i}=e,a=Wu(n),s=Ku(Xu,n),c=s.disabled||r,d=l(t,s.onTriggerChange),f=Bu(n),p=o.useRef(`touch`),[m,h,g]=Gd(e=>{let t=f().filter(e=>!e.disabled),n=Kd(t,e,t.find(e=>e.value===s.value));n!==void 0&&s.onValueChange(n.value)}),_=e=>{c||(s.onOpenChange(!0),g()),e&&(s.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,u.jsx)(Sa,{asChild:!0,...a,children:(0,u.jsx)(b.button,{type:`button`,role:`combobox`,"aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":`none`,dir:s.dir,"data-state":s.open?`open`:`closed`,disabled:c,"data-disabled":c?``:void 0,"data-placeholder":Wd(s.value)?``:void 0,...i,ref:d,onClick:A(i.onClick,e=>{e.currentTarget.focus(),p.current!==`mouse`&&_(e)}),onPointerDown:A(i.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(_(e),e.preventDefault())}),onKeyDown:A(i.onKeyDown,e=>{let t=m.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&h(e.key),!(t&&e.key===` `)&&Iu.includes(e.key)&&(_(),e.preventDefault())})})})});Zu.displayName=Xu;var Qu=`SelectValue`,$u=o.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,c=Ku(Qu,n),{onValueNodeHasChildrenChange:d}=c,f=a!==void 0,p=l(t,c.onValueNodeChange);return j(()=>{d(f)},[d,f]),(0,u.jsx)(b.span,{...s,ref:p,style:{pointerEvents:`none`},children:Wd(c.value)?(0,u.jsx)(u.Fragment,{children:o}):a})});$u.displayName=Qu;var ed=`SelectIcon`,td=o.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e;return(0,u.jsx)(b.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})});td.displayName=ed;var nd=`SelectPortal`,rd=e=>(0,u.jsx)(Re,{asChild:!0,...e});rd.displayName=nd;var id=`SelectContent`,ad=o.forwardRef((e,t)=>{let n=Ku(id,e.__scopeSelect),[r,i]=o.useState();if(j(()=>{i(new DocumentFragment)},[]),!n.open){let t=r;return t?y.createPortal((0,u.jsx)(od,{scope:e.__scopeSelect,children:(0,u.jsx)(zu.Slot,{scope:e.__scopeSelect,children:(0,u.jsx)(`div`,{children:e.children})})}),t):null}return(0,u.jsx)(ud,{...e,ref:t})});ad.displayName=id;var $=10,[od,sd]=Hu(id),cd=`SelectContentImpl`,ld=d(`SelectContent.RemoveScroll`),ud=o.forwardRef((e,t)=>{let{__scopeSelect:n,position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:s,side:c,sideOffset:d,align:f,alignOffset:p,arrowPadding:m,collisionBoundary:h,collisionPadding:g,sticky:_,hideWhenDetached:v,avoidCollisions:y,...b}=e,x=Ku(id,n),[S,C]=o.useState(null),[w,T]=o.useState(null),E=l(t,e=>C(e)),[D,O]=o.useState(null),[k,j]=o.useState(null),M=Bu(n),[N,P]=o.useState(!1),ee=o.useRef(!1);o.useEffect(()=>{if(S)return an(S)},[S]),Be();let te=o.useCallback(e=>{let[t,...n]=M().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&w&&(w.scrollTop=0),n===r&&w&&(w.scrollTop=w.scrollHeight),n?.focus(),document.activeElement!==i))return},[M,w]),F=o.useCallback(()=>te([D,S]),[te,D,S]);o.useEffect(()=>{N&&F()},[N,F]);let{onOpenChange:I,triggerPointerDownPosRef:L}=x;o.useEffect(()=>{if(S){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(L.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(L.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():S.contains(n.target)||I(!1),document.removeEventListener(`pointermove`,t),L.current=null};return L.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[S,I,L]),o.useEffect(()=>{let e=()=>I(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[I]);let[ne,re]=Gd(e=>{let t=M().filter(e=>!e.disabled),n=Kd(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current.focus())}),ie=o.useCallback((e,t,n)=>{let r=!ee.current&&!n;(x.value!==void 0&&x.value===t||r)&&(O(e),r&&(ee.current=!0))},[x.value]),R=o.useCallback(()=>S?.focus(),[S]),ae=o.useCallback((e,t,n)=>{let r=!ee.current&&!n;(x.value!==void 0&&x.value===t||r)&&j(e)},[x.value]),oe=r===`popper`?md:fd,z=oe===md?{side:c,sideOffset:d,align:f,alignOffset:p,arrowPadding:m,collisionBoundary:h,collisionPadding:g,sticky:_,hideWhenDetached:v,avoidCollisions:y}:{};return(0,u.jsx)(od,{scope:n,content:S,viewport:w,onViewportChange:T,itemRefCallback:ie,selectedItem:D,onItemLeave:R,itemTextRefCallback:ae,focusSelectedItem:F,selectedItemText:k,position:r,isPositioned:N,searchRef:ne,children:(0,u.jsx)(Yt,{as:ld,allowPinchZoom:!0,children:(0,u.jsx)(Te,{asChild:!0,trapped:x.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:A(i,e=>{x.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,u.jsx)(me,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>x.onOpenChange(!1),children:(0,u.jsx)(oe,{role:`listbox`,id:x.contentId,"data-state":x.open?`open`:`closed`,dir:x.dir,onContextMenu:e=>e.preventDefault(),...b,...z,onPlaced:()=>P(!0),ref:E,style:{display:`flex`,flexDirection:`column`,outline:`none`,...b.style},onKeyDown:A(b.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&re(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=M().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>te(t)),e.preventDefault()}})})})})})})});ud.displayName=cd;var dd=`SelectItemAlignedPosition`,fd=o.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...i}=e,a=Ku(id,n),s=sd(id,n),[c,d]=o.useState(null),[f,p]=o.useState(null),m=l(t,e=>p(e)),h=Bu(n),g=o.useRef(!1),_=o.useRef(!0),{viewport:v,selectedItem:y,selectedItemText:x,focusSelectedItem:S}=s,C=o.useCallback(()=>{if(a.trigger&&a.valueNode&&c&&f&&v&&y&&x){let e=a.trigger.getBoundingClientRect(),t=f.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=x.getBoundingClientRect();if(a.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,s=e.width+o,l=Math.max(s,t.width),u=window.innerWidth-$,d=xl(a,[$,Math.max($,u-l)]);c.style.minWidth=s+`px`,c.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,s=e.width+o,l=Math.max(s,t.width),u=window.innerWidth-$,d=xl(a,[$,Math.max($,u-l)]);c.style.minWidth=s+`px`,c.style.right=d+`px`}let o=h(),s=window.innerHeight-$*2,l=v.scrollHeight,u=window.getComputedStyle(f),d=parseInt(u.borderTopWidth,10),p=parseInt(u.paddingTop,10),m=parseInt(u.borderBottomWidth,10),_=parseInt(u.paddingBottom,10),b=d+p+l+_+m,S=Math.min(y.offsetHeight*5,b),C=window.getComputedStyle(v),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-$,D=s-E,O=y.offsetHeight/2,k=y.offsetTop+O,A=d+p+k,j=b-A;if(A<=E){let e=o.length>0&&y===o[o.length-1].ref.current;c.style.bottom=`0px`;let t=f.clientHeight-v.offsetTop-v.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+m);c.style.height=n+`px`}else{let e=o.length>0&&y===o[0].ref.current;c.style.top=`0px`;let t=Math.max(E,d+v.offsetTop+(e?w:0)+O)+j;c.style.height=t+`px`,v.scrollTop=A-E+v.offsetTop}c.style.margin=`${$}px 0`,c.style.minHeight=S+`px`,c.style.maxHeight=s+`px`,r?.(),requestAnimationFrame(()=>g.current=!0)}},[h,a.trigger,a.valueNode,c,f,v,y,x,a.dir,r]);j(()=>C(),[C]);let[w,T]=o.useState();return j(()=>{f&&T(window.getComputedStyle(f).zIndex)},[f]),(0,u.jsx)(hd,{scope:n,contentWrapper:c,shouldExpandOnScrollRef:g,onScrollButtonChange:o.useCallback(e=>{e&&_.current===!0&&(C(),S?.(),_.current=!1)},[C,S]),children:(0,u.jsx)(`div`,{ref:d,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:w},children:(0,u.jsx)(b.div,{...i,ref:m,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})});fd.displayName=dd;var pd=`SelectPopperPosition`,md=o.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=$,...a}=e,o=Wu(n);return(0,u.jsx)(Ca,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})});md.displayName=pd;var[hd,gd]=Hu(id,{}),_d=`SelectViewport`,vd=o.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...i}=e,a=sd(_d,n),s=gd(_d,n),c=l(t,a.onViewportChange),d=o.useRef(0);return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,u.jsx)(zu.Slot,{scope:n,children:(0,u.jsx)(b.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:c,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:A(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=s;if(r?.current&&n){let e=Math.abs(d.current-t.scrollTop);if(e>0){let r=window.innerHeight-$*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}d.current=t.scrollTop})})})]})});vd.displayName=_d;var yd=`SelectGroup`,[bd,xd]=Hu(yd),Sd=o.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=R();return(0,u.jsx)(bd,{scope:n,id:i,children:(0,u.jsx)(b.div,{role:`group`,"aria-labelledby":i,...r,ref:t})})});Sd.displayName=yd;var Cd=`SelectLabel`,wd=o.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=xd(Cd,n);return(0,u.jsx)(b.div,{id:i.id,...r,ref:t})});wd.displayName=Cd;var Td=`SelectItem`,[Ed,Dd]=Hu(Td),Od=o.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...s}=e,c=Ku(Td,n),d=sd(Td,n),f=c.value===r,[p,m]=o.useState(a??``),[h,g]=o.useState(!1),_=l(t,e=>d.itemRefCallback?.(e,r,i)),v=R(),y=o.useRef(`touch`),x=()=>{i||(c.onValueChange(r),c.onOpenChange(!1))};if(r===``)throw Error(`A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return(0,u.jsx)(Ed,{scope:n,value:r,disabled:i,textId:v,isSelected:f,onItemTextChange:o.useCallback(e=>{m(t=>t||(e?.textContent??``).trim())},[]),children:(0,u.jsx)(zu.ItemSlot,{scope:n,value:r,disabled:i,textValue:p,children:(0,u.jsx)(b.div,{role:`option`,"aria-labelledby":v,"data-highlighted":h?``:void 0,"aria-selected":f&&h,"data-state":f?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...s,ref:_,onFocus:A(s.onFocus,()=>g(!0)),onBlur:A(s.onBlur,()=>g(!1)),onClick:A(s.onClick,()=>{y.current!==`mouse`&&x()}),onPointerUp:A(s.onPointerUp,()=>{y.current===`mouse`&&x()}),onPointerDown:A(s.onPointerDown,e=>{y.current=e.pointerType}),onPointerMove:A(s.onPointerMove,e=>{y.current=e.pointerType,i?d.onItemLeave?.():y.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:A(s.onPointerLeave,e=>{e.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:A(s.onKeyDown,e=>{d.searchRef?.current!==``&&e.key===` `||(Lu.includes(e.key)&&x(),e.key===` `&&e.preventDefault())})})})})});Od.displayName=Td;var kd=`SelectItemText`,Ad=o.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,...a}=e,s=Ku(kd,n),c=sd(kd,n),d=Dd(kd,n),f=Ju(kd,n),[p,m]=o.useState(null),h=l(t,e=>m(e),d.onItemTextChange,e=>c.itemTextRefCallback?.(e,d.value,d.disabled)),g=p?.textContent,_=o.useMemo(()=>(0,u.jsx)(`option`,{value:d.value,disabled:d.disabled,children:g},d.value),[d.disabled,d.value,g]),{onNativeOptionAdd:v,onNativeOptionRemove:x}=f;return j(()=>(v(_),()=>x(_)),[v,x,_]),(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(b.span,{id:d.textId,...a,ref:h}),d.isSelected&&s.valueNode&&!s.valueNodeHasChildren?y.createPortal(a.children,s.valueNode):null]})});Ad.displayName=kd;var jd=`SelectItemIndicator`,Md=o.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return Dd(jd,n).isSelected?(0,u.jsx)(b.span,{"aria-hidden":!0,...r,ref:t}):null});Md.displayName=jd;var Nd=`SelectScrollUpButton`,Pd=o.forwardRef((e,t)=>{let n=sd(Nd,e.__scopeSelect),r=gd(Nd,e.__scopeSelect),[i,a]=o.useState(!1),s=l(t,r.onScrollButtonChange);return j(()=>{if(n.viewport&&n.isPositioned){let e=function(){a(t.scrollTop>0)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,u.jsx)(Ld,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});Pd.displayName=Nd;var Fd=`SelectScrollDownButton`,Id=o.forwardRef((e,t)=>{let n=sd(Fd,e.__scopeSelect),r=gd(Fd,e.__scopeSelect),[i,a]=o.useState(!1),s=l(t,r.onScrollButtonChange);return j(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;a(Math.ceil(t.scrollTop)<e)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,u.jsx)(Ld,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});Id.displayName=Fd;var Ld=o.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=sd(`SelectScrollButton`,n),s=o.useRef(null),c=Bu(n),l=o.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return o.useEffect(()=>()=>l(),[l]),j(()=>{c().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[c]),(0,u.jsx)(b.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:A(i.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(r,50))}),onPointerMove:A(i.onPointerMove,()=>{a.onItemLeave?.(),s.current===null&&(s.current=window.setInterval(r,50))}),onPointerLeave:A(i.onPointerLeave,()=>{l()})})}),Rd=`SelectSeparator`,zd=o.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,u.jsx)(b.div,{"aria-hidden":!0,...r,ref:t})});zd.displayName=Rd;var Bd=`SelectArrow`,Vd=o.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=Wu(n),a=Ku(Bd,n),o=sd(Bd,n);return a.open&&o.position===`popper`?(0,u.jsx)(wa,{...i,...r,ref:t}):null});Vd.displayName=Bd;var Hd=`SelectBubbleInput`,Ud=o.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{let i=o.useRef(null),a=l(r,i),s=qn(t);return o.useEffect(()=>{let e=i.current;if(!e)return;let n=window.HTMLSelectElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(s!==t&&r){let n=new Event(`change`,{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[s,t]),(0,u.jsx)(b.select,{...n,style:{...S,...n.style},ref:a,defaultValue:t})});Ud.displayName=Hd;function Wd(e){return e===``||e===void 0}function Gd(e){let t=z(e),n=o.useRef(``),r=o.useRef(0),i=o.useCallback(e=>{let i=n.current+e;t(i),(function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))})(i)},[t]),a=o.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return o.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}function Kd(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=qd(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function qd(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Jd=Yu,Yd=Zu,Xd=$u,Zd=td,Qd=rd,$d=ad,ef=vd,tf=Od,nf=Ad,rf=Md,af=Pd,of=Id,sf=`Separator`,cf=`horizontal`,lf=[`horizontal`,`vertical`],uf=o.forwardRef((e,t)=>{let{decorative:n,orientation:r=cf,...i}=e,a=df(r)?r:cf,o=a===`vertical`?a:void 0,s=n?{role:`none`}:{"aria-orientation":o,role:`separator`};return(0,u.jsx)(b.div,{"data-orientation":a,...s,...i,ref:t})});uf.displayName=sf;function df(e){return lf.includes(e)}var ff=uf,pf=`Switch`,[mf,hf]=D(pf),[gf,_f]=mf(pf),vf=o.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:s,disabled:c,value:d=`on`,onCheckedChange:f,form:p,...m}=e,[h,g]=o.useState(null),_=l(t,e=>g(e)),v=o.useRef(!1),y=h?p||!!h.closest(`form`):!0,[x,S]=N({prop:i,defaultProp:a??!1,onChange:f,caller:pf});return(0,u.jsxs)(gf,{scope:n,checked:x,disabled:c,children:[(0,u.jsx)(b.button,{type:`button`,role:`switch`,"aria-checked":x,"aria-required":s,"data-state":Cf(x),"data-disabled":c?``:void 0,disabled:c,value:d,...m,ref:_,onClick:A(e.onClick,e=>{S(e=>!e),y&&(v.current=e.isPropagationStopped(),v.current||e.stopPropagation())})}),y&&(0,u.jsx)(Sf,{control:h,bubbles:!v.current,name:r,value:d,checked:x,required:s,disabled:c,form:p,style:{transform:`translateX(-100%)`}})]})});vf.displayName=pf;var yf=`SwitchThumb`,bf=o.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,i=_f(yf,n);return(0,u.jsx)(b.span,{"data-state":Cf(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})});bf.displayName=yf;var xf=`SwitchBubbleInput`,Sf=o.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...i},a)=>{let s=o.useRef(null),c=l(s,a),d=qn(n),f=Jn(t);return o.useEffect(()=>{let e=s.current;if(!e)return;let t=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(t,`checked`).set;if(d!==n&&i){let t=new Event(`click`,{bubbles:r});i.call(e,n),e.dispatchEvent(t)}},[d,n,r]),(0,u.jsx)(`input`,{type:`checkbox`,"aria-hidden":!0,defaultChecked:n,...i,tabIndex:-1,ref:c,style:{...i.style,...f,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});Sf.displayName=xf;function Cf(e){return e?`checked`:`unchecked`}var wf=vf,Tf=bf,Ef=`Tabs`,[Df,Of]=D(Ef,[Ma]),kf=Ma(),[Af,jf]=Df(Ef),Mf=o.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,d=oe(s),[f,p]=N({prop:r,onChange:i,defaultProp:a??``,caller:Ef});return(0,u.jsx)(Af,{scope:n,baseId:R(),value:f,onValueChange:p,orientation:o,dir:d,activationMode:c,children:(0,u.jsx)(b.div,{dir:d,"data-orientation":o,...l,ref:t})})});Mf.displayName=Ef;var Nf=`TabsList`,Pf=o.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=jf(Nf,n),o=kf(n);return(0,u.jsx)(Wa,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,u.jsx)(b.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});Pf.displayName=Nf;var Ff=`TabsTrigger`,If=o.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=jf(Ff,n),s=kf(n),c=zf(o.baseId,r),l=Bf(o.baseId,r),d=r===o.value;return(0,u.jsx)(Ga,{asChild:!0,...s,focusable:!i,active:d,children:(0,u.jsx)(b.button,{type:`button`,role:`tab`,"aria-selected":d,"aria-controls":l,"data-state":d?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:A(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:A(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:A(e.onFocus,()=>{let e=o.activationMode!==`manual`;!d&&!i&&e&&o.onValueChange(r)})})})});If.displayName=Ff;var Lf=`TabsContent`,Rf=o.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...s}=e,c=jf(Lf,n),l=zf(c.baseId,r),d=Bf(c.baseId,r),f=r===c.value,p=o.useRef(f);return o.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,u.jsx)(F,{present:i||f,children:({present:n})=>(0,u.jsx)(b.div,{"data-state":f?`active`:`inactive`,"data-orientation":c.orientation,role:`tabpanel`,"aria-labelledby":l,hidden:!n,id:d,tabIndex:0,...s,ref:t,style:{...e.style,animationDuration:p.current?`0s`:void 0},children:n&&a})})});Rf.displayName=Lf;function zf(e,t){return`${e}-trigger-${t}`}function Bf(e,t){return`${e}-content-${t}`}var Vf=Mf,Hf=Pf,Uf=If,Wf=Rf,[Gf,Kf]=D(`Tooltip`,[aa]),qf=aa(),Jf=`TooltipProvider`,Yf=700,Xf=`tooltip.open`,[Zf,Qf]=Gf(Jf),$f=e=>{let{__scopeTooltip:t,delayDuration:n=Yf,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,s=o.useRef(!0),c=o.useRef(!1),l=o.useRef(0);return o.useEffect(()=>{let e=l.current;return()=>window.clearTimeout(e)},[]),(0,u.jsx)(Zf,{scope:t,isOpenDelayedRef:s,delayDuration:n,onOpen:o.useCallback(()=>{window.clearTimeout(l.current),s.current=!1},[]),onClose:o.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>s.current=!0,r)},[r]),isPointerInTransitRef:c,onPointerInTransitChange:o.useCallback(e=>{c.current=e},[]),disableHoverableContent:i,children:a})};$f.displayName=Jf;var ep=`Tooltip`,[tp,np]=Gf(ep),rp=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:s,delayDuration:c}=e,l=Qf(ep,e.__scopeTooltip),d=qf(t),[f,p]=o.useState(null),m=R(),h=o.useRef(0),g=s??l.disableHoverableContent,_=c??l.delayDuration,v=o.useRef(!1),[y,b]=N({prop:r,defaultProp:i??!1,onChange:e=>{e?(l.onOpen(),document.dispatchEvent(new CustomEvent(Xf))):l.onClose(),a?.(e)},caller:ep}),x=o.useMemo(()=>y?v.current?`delayed-open`:`instant-open`:`closed`,[y]),S=o.useCallback(()=>{window.clearTimeout(h.current),h.current=0,v.current=!1,b(!0)},[b]),C=o.useCallback(()=>{window.clearTimeout(h.current),h.current=0,b(!1)},[b]),w=o.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{v.current=!0,b(!0),h.current=0},_)},[_,b]);return o.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]),(0,u.jsx)(xa,{...d,children:(0,u.jsx)(tp,{scope:t,contentId:m,open:y,stateAttribute:x,trigger:f,onTriggerChange:p,onTriggerEnter:o.useCallback(()=>{l.isOpenDelayedRef.current?w():S()},[l.isOpenDelayedRef,w,S]),onTriggerLeave:o.useCallback(()=>{g?C():(window.clearTimeout(h.current),h.current=0)},[C,g]),onOpen:S,onClose:C,disableHoverableContent:g,children:n})})};rp.displayName=ep;var ip=`TooltipTrigger`,ap=o.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=np(ip,n),a=Qf(ip,n),s=qf(n),c=l(t,o.useRef(null),i.onTriggerChange),d=o.useRef(!1),f=o.useRef(!1),p=o.useCallback(()=>d.current=!1,[]);return o.useEffect(()=>()=>document.removeEventListener(`pointerup`,p),[p]),(0,u.jsx)(Sa,{asChild:!0,...s,children:(0,u.jsx)(b.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:c,onPointerMove:A(e.onPointerMove,e=>{e.pointerType!==`touch`&&!f.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),f.current=!0)}),onPointerLeave:A(e.onPointerLeave,()=>{i.onTriggerLeave(),f.current=!1}),onPointerDown:A(e.onPointerDown,()=>{i.open&&i.onClose(),d.current=!0,document.addEventListener(`pointerup`,p,{once:!0})}),onFocus:A(e.onFocus,()=>{d.current||i.onOpen()}),onBlur:A(e.onBlur,i.onClose),onClick:A(e.onClick,i.onClose)})})});ap.displayName=ip;var op=`TooltipPortal`,[sp,cp]=Gf(op,{forceMount:void 0}),lp=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=np(op,t);return(0,u.jsx)(sp,{scope:t,forceMount:n,children:(0,u.jsx)(F,{present:n||a.open,children:(0,u.jsx)(Re,{asChild:!0,container:i,children:r})})})};lp.displayName=op;var up=`TooltipContent`,dp=o.forwardRef((e,t)=>{let n=cp(up,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=np(up,e.__scopeTooltip);return(0,u.jsx)(F,{present:r||o.open,children:o.disableHoverableContent?(0,u.jsx)(gp,{side:i,...a,ref:t}):(0,u.jsx)(fp,{side:i,...a,ref:t})})}),fp=o.forwardRef((e,t)=>{let n=np(up,e.__scopeTooltip),r=Qf(up,e.__scopeTooltip),i=o.useRef(null),a=l(t,i),[s,c]=o.useState(null),{trigger:d,onClose:f}=n,p=i.current,{onPointerInTransitChange:m}=r,h=o.useCallback(()=>{c(null),m(!1)},[m]),g=o.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=bp(r,yp(r,n.getBoundingClientRect())),a=xp(t.getBoundingClientRect());c(Cp([...i,...a])),m(!0)},[m]);return o.useEffect(()=>()=>h(),[h]),o.useEffect(()=>{if(d&&p){let e=e=>g(e,p),t=e=>g(e,d);return d.addEventListener(`pointerleave`,e),p.addEventListener(`pointerleave`,t),()=>{d.removeEventListener(`pointerleave`,e),p.removeEventListener(`pointerleave`,t)}}},[d,p,g,h]),o.useEffect(()=>{if(s){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=d?.contains(t)||p?.contains(t),i=!Sp(n,s);r?h():i&&(h(),f())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[d,p,s,f,h]),(0,u.jsx)(gp,{...e,ref:a})}),[pp,mp]=Gf(ep,{isInside:!1}),hp=h(`TooltipContent`),gp=o.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:s,...c}=e,l=np(up,n),d=qf(n),{onClose:f}=l;return o.useEffect(()=>(document.addEventListener(Xf,f),()=>document.removeEventListener(Xf,f)),[f]),o.useEffect(()=>{if(l.trigger){let e=e=>{e.target?.contains(l.trigger)&&f()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[l.trigger,f]),(0,u.jsx)(me,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:f,children:(0,u.jsxs)(Ca,{"data-state":l.stateAttribute,...d,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,u.jsx)(hp,{children:r}),(0,u.jsx)(pp,{scope:n,isInside:!0,children:(0,u.jsx)(T,{id:l.contentId,role:`tooltip`,children:i||r})})]})})});dp.displayName=up;var _p=`TooltipArrow`,vp=o.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=qf(n);return mp(_p,n).isInside?null:(0,u.jsx)(wa,{...i,...r,ref:t})});vp.displayName=_p;function yp(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function bp(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function xp(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function Sp(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function Cp(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),wp(t)}function wp(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Tp=$f,Ep=rp,Dp=ap,Op=lp,kp=dp,Ap=vp;export{pc as $,Pu as A,cl as B,Yd as C,Nu as D,Fu as E,bl as F,ml as G,dl as H,ul as I,gl as J,hl as K,sl as L,Xl as M,Jl as N,su as O,Yl as P,vc as Q,ll as R,af as S,ef as T,fl as U,ol as V,il as W,mc as X,al as Y,hc as Z,rf as _,a as _t,Ep as a,Sc as at,Jd as b,Hf as c,Kn as ct,wf as d,Hn as dt,gc as et,Tf as f,Vn as ft,tf as g,f as gt,Zd as h,Bn as ht,Tp as i,bc as it,Zl as j,vu as k,Vf as l,Un as lt,$d as m,Wn as mt,kp as n,dc as nt,Dp as o,xc as ot,ff as p,zn as pt,_l as q,Op as r,yc as rt,Wf as s,fc as st,Ap as t,_c as tt,Uf as u,Gn as ut,nf as v,Xd as w,of as x,Qd as y,pl as z};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e}from"./rolldown-runtime-C5c2KzVm.js";import{C as t,S as n}from"./vendor-markdown-QKPNiWEd.js";import"./vendor-ui-P9Ym7hCv.js";import{Cn as r,Et as i,Fr as a,Hr as o,Un as s,Ur as c,Wr as l,Yn as u,ar as d,bt as f,fr as p,hn as m,or as h,st as g,un as _,wt as v}from"./icons-CO_II6D-.js";import"./api-client-D-SMbdiH.js";import"./portal-container-context-NFSuymMu.js";import{t as y}from"./button-DeAyLH9U.js";import{_n as b,fn as x,gn as S,hn as C,mn as w,pn as T,un as E,xn as D}from"./index-CtAvmybi.js";import{o as O}from"./can-open-in-ppm-Bw_xiOXX.js";import{a as ee,i as te,n as k,r as A,t as j}from"./media-url-C6NumuN5.js";var M=e(t(),1),N={rotation:0,flipH:!1,flipV:!1};function P(e){return{...e,rotation:(e.rotation+90)%360}}function F(e){return{...e,rotation:(e.rotation+270)%360}}function I(e){return e.rotation===0&&!e.flipH&&!e.flipV}function L(e){let t=[];return e.rotation&&t.push(`rotate(${e.rotation}deg)`),e.flipH&&t.push(`scaleX(-1)`),e.flipV&&t.push(`scaleY(-1)`),t.length?t.join(` `):`none`}function R(e,t){return e.rotation===90||e.rotation===270?{maxWidth:t.height,maxHeight:t.width}:{maxWidth:t.width,maxHeight:t.height}}var z=[[`Space / K`,`Play / pause`],[`← / →`,`Seek 5s`],[`J / L or Shift+← / →`,`Seek 10s`],[`↑ / ↓`,`Volume`],[`M`,`Mute`],[`F`,`Fullscreen`],[`< / >`,`Speed`],[`R / Shift+R`,`Rotate`]];function ne(e){return(0,M.useCallback)(t=>{let n=t.target;if(n.tagName===`INPUT`||n.tagName===`TEXTAREA`||n.isContentEditable||t.ctrlKey||t.metaKey||t.altKey)return;let r=!0;switch(t.key){case` `:case`k`:case`K`:e.togglePlay();break;case`ArrowLeft`:e.seekBy(t.shiftKey?-10:-5);break;case`ArrowRight`:e.seekBy(t.shiftKey?10:5);break;case`j`:case`J`:e.seekBy(-10);break;case`l`:case`L`:e.seekBy(10);break;case`ArrowUp`:e.volumeBy(.1);break;case`ArrowDown`:e.volumeBy(-.1);break;case`m`:case`M`:e.toggleMute();break;case`f`:case`F`:e.toggleFullscreen();break;case`<`:case`,`:e.speedStep(-1);break;case`>`:case`.`:e.speedStep(1);break;case`r`:e.rotate(1);break;case`R`:e.rotate(-1);break;default:r=!1}r&&t.preventDefault()},[e])}var B=n(),V=[.25,.5,.75,1,1.25,1.5,2,3];function H({speed:e,onSpeed:t,transform:n,onRotate:r,onFlipH:o,onFlipV:s,onResetTransform:c}){return(0,B.jsxs)(E,{children:[(0,B.jsx)(D,{asChild:!0,children:(0,B.jsxs)(y,{variant:`ghost`,size:`icon`,className:`size-11 shrink-0 relative`,"aria-label":`Playback settings`,children:[(0,B.jsx)(p,{className:`size-5`}),e!==1&&(0,B.jsxs)(`span`,{className:`absolute -top-0.5 -right-0.5 text-[10px] leading-none px-1 rounded bg-primary text-primary-foreground tabular-nums`,children:[e,`x`]})]})}),(0,B.jsxs)(x,{align:`end`,className:`w-60 max-h-[70vh] overflow-y-auto`,children:[(0,B.jsx)(w,{children:`Speed`}),(0,B.jsx)(C,{value:String(e),onValueChange:e=>t(Number(e)),children:(0,B.jsx)(`div`,{className:`grid grid-cols-4 gap-1 px-1 pb-1`,children:V.map(e=>(0,B.jsxs)(S,{value:String(e),className:`justify-center pl-2 min-h-11 text-xs tabular-nums data-[state=checked]:bg-accent [&>span:first-child]:hidden`,children:[e,`x`]},e))})}),(0,B.jsx)(b,{}),(0,B.jsx)(w,{children:`Orientation`}),(0,B.jsxs)(T,{className:`min-h-11`,onSelect:e=>{e.preventDefault(),r(1)},children:[(0,B.jsx)(h,{className:`size-4`}),` Rotate right `,(0,B.jsx)(`span`,{className:`ml-auto text-xs text-text-subtle`,children:`R`})]}),(0,B.jsxs)(T,{className:`min-h-11`,onSelect:e=>{e.preventDefault(),r(-1)},children:[(0,B.jsx)(d,{className:`size-4`}),` Rotate left `,(0,B.jsx)(`span`,{className:`ml-auto text-xs text-text-subtle`,children:`⇧R`})]}),(0,B.jsxs)(T,{className:`min-h-11`,onSelect:e=>{e.preventDefault(),o()},children:[(0,B.jsx)(v,{className:`size-4`}),` Flip horizontal `,n.flipH&&(0,B.jsx)(`span`,{className:`ml-auto text-xs`,children:`✓`})]}),(0,B.jsxs)(T,{className:`min-h-11`,onSelect:e=>{e.preventDefault(),s()},children:[(0,B.jsx)(i,{className:`size-4`}),` Flip vertical `,n.flipV&&(0,B.jsx)(`span`,{className:`ml-auto text-xs`,children:`✓`})]}),!I(n)&&(0,B.jsxs)(T,{className:`min-h-11`,onSelect:c,children:[(0,B.jsx)(a,{className:`size-4`}),` Reset orientation`]}),(0,B.jsx)(b,{}),(0,B.jsx)(w,{children:`Keyboard`}),(0,B.jsx)(`div`,{className:`px-2 pb-2 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs text-text-secondary`,children:z.map(([e,t])=>(0,B.jsxs)(`div`,{className:`contents`,children:[(0,B.jsx)(`kbd`,{className:`font-mono text-text-subtle whitespace-nowrap`,children:e}),(0,B.jsx)(`span`,{children:t})]},e))})]})]})}function re(e){let t=e.muted||e.volume===0?l:e.volume<.5?o:c,n=t=>e.onSeek(Number(t.target.value));return(0,B.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 bg-surface border-t border-border`,children:[(0,B.jsx)(y,{variant:`ghost`,size:`icon`,className:`size-11 shrink-0`,onClick:e.onTogglePlay,"aria-label":e.playing?`Pause`:`Play`,children:e.playing?(0,B.jsx)(s,{className:`size-5`}):(0,B.jsx)(u,{className:`size-5`})}),(0,B.jsxs)(`span`,{className:`text-xs tabular-nums text-text-secondary shrink-0 min-w-[4.5rem] text-center`,children:[U(e.position),e.duration?` / ${U(e.duration)}`:``]}),e.duration?(0,B.jsx)(`input`,{type:`range`,min:0,max:e.duration,step:.1,value:Math.min(e.position,e.duration),"aria-label":`Seek`,className:`flex-1 h-11 accent-primary cursor-pointer min-w-0`,onChange:t=>e.onScrub(Number(t.target.value)),onPointerUp:n,onKeyUp:n,onTouchEnd:n}):(0,B.jsx)(`div`,{className:`flex-1`}),(0,B.jsxs)(`div`,{className:`flex items-center shrink-0`,children:[(0,B.jsx)(y,{variant:`ghost`,size:`icon`,className:`size-11`,onClick:e.onToggleMute,"aria-label":e.muted?`Unmute`:`Mute`,children:(0,B.jsx)(t,{className:`size-5`})}),(0,B.jsx)(`input`,{type:`range`,min:0,max:1,step:.05,value:e.muted?0:e.volume,"aria-label":`Volume`,className:`hidden sm:block w-20 h-11 accent-primary cursor-pointer`,onChange:t=>e.onVolume(Number(t.target.value))})]}),(0,B.jsx)(H,{speed:e.speed,onSpeed:e.onSpeed,transform:e.transform,onRotate:e.onRotate,onFlipH:e.onFlipH,onFlipV:e.onFlipV,onResetTransform:e.onResetTransform}),(0,B.jsx)(y,{variant:`ghost`,size:`icon`,className:`size-11 shrink-0`,onClick:e.onToggleFullscreen,"aria-label":e.fullscreen?`Exit fullscreen`:`Fullscreen`,children:e.fullscreen?(0,B.jsx)(r,{className:`size-5`}):(0,B.jsx)(m,{className:`size-5`})})]})}function U(e){let t=Math.max(0,Math.floor(Number.isFinite(e)?e:0)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=n?String(r).padStart(2,`0`):String(r);return`${n?`${n}:`:``}${a}:${String(i).padStart(2,`0`)}`}function W({filePath:e,projectName:t,mode:n,probeDuration:r=null,onNativeError:i}){let a=(0,M.useRef)(null),o=(0,M.useRef)(null),s=(0,M.useRef)(null),c=(0,M.useRef)(!0),[l]=(0,M.useState)(j),[u,d]=(0,M.useState)(0),[f,p]=(0,M.useState)(0),[m,h]=(0,M.useState)(null),[g,v]=(0,M.useState)(!1),[b,x]=(0,M.useState)(!0),[S,C]=(0,M.useState)(null),[w,T]=(0,M.useState)(1),[E,D]=(0,M.useState)(!1),[O,k]=(0,M.useState)(1),[I,z]=(0,M.useState)(N),[H,U]=(0,M.useState)(!1),[W,G]=(0,M.useState)({width:0,height:0}),[K,q]=(0,M.useState)(null),J=n===`transcode`,Y=J?ee(e,t,u,l):A(e,t),X=J?r:m,ie=S??(J?u+f:f);(0,M.useEffect)(()=>{p(0),x(!0),q(null)},[Y]),(0,M.useEffect)(()=>{d(0),h(null),z(N)},[e,n]),(0,M.useEffect)(()=>{let e=s.current;e&&(e.volume=w,e.muted=E)},[w,E]),(0,M.useEffect)(()=>{let e=s.current;e&&(e.playbackRate=O)},[O,Y]),(0,M.useEffect)(()=>{let n=s.current,r=()=>{J&&te(e,t,l)};return window.addEventListener(`pagehide`,r),()=>{window.removeEventListener(`pagehide`,r),n&&!n.isConnected&&(n.pause(),n.removeAttribute(`src`),n.load(),r())}},[e,t,J,l]),(0,M.useEffect)(()=>{let e=()=>U(document.fullscreenElement===a.current);return document.addEventListener(`fullscreenchange`,e),()=>document.removeEventListener(`fullscreenchange`,e)},[]),(0,M.useEffect)(()=>{let e=o.current;if(!e)return;let t=new ResizeObserver(()=>G({width:e.clientWidth,height:e.clientHeight}));return t.observe(e),()=>t.disconnect()},[]);let Z=(0,M.useCallback)(e=>{let t=s.current,n=Math.max(0,X?Math.min(e,X-.5):e);if(C(null),!J){t&&(t.currentTime=n);return}Math.abs(n-(u+(t?.currentTime??0)))<.5||d(n)},[X,J,u]),Q=(0,M.useMemo)(()=>({togglePlay:()=>{let e=s.current;e&&(c.current=e.paused,e.paused?e.play().catch(()=>{}):e.pause())},seekBy:e=>Z((J?u:0)+(s.current?.currentTime??0)+e),toggleFullscreen:()=>{document.fullscreenElement?document.exitFullscreen():a.current?.requestFullscreen?.()},toggleMute:()=>D(e=>!e),volumeBy:e=>{D(!1),T(t=>Math.min(1,Math.max(0,Math.round((t+e)*100)/100)))},speedStep:e=>k(t=>{let n=V.indexOf(t);return V[Math.min(V.length-1,Math.max(0,(n===-1?3:n)+e))]??1}),rotate:e=>z(t=>e===1?P(t):F(t))}),[Z,J,u]),ae=ne(Q),$=R(I,W),oe=()=>{q(null),d(e=>e+.001)};return(0,B.jsxs)(`div`,{ref:a,"data-testid":`video-player`,tabIndex:0,onKeyDown:ae,className:`flex flex-col h-full bg-black outline-none focus-visible:ring-1 focus-visible:ring-primary/60`,children:[(0,B.jsxs)(`div`,{ref:o,className:`relative flex-1 min-h-0 flex items-center justify-center overflow-hidden`,onClick:e=>{a.current?.focus(),e.detail===1&&Q.togglePlay()},onDoubleClick:Q.toggleFullscreen,children:[(0,B.jsx)(`video`,{ref:s,src:Y,autoPlay:!0,playsInline:!0,preload:J?`auto`:`metadata`,style:{transform:L(I),maxWidth:$.maxWidth||void 0,maxHeight:$.maxHeight||void 0},onLoadedMetadata:e=>{let t=e.currentTarget;t.playbackRate=O,t.volume=w,t.muted=E,!J&&Number.isFinite(t.duration)&&h(t.duration),J&&!c.current&&t.pause()},onPlay:()=>v(!0),onPause:()=>v(!1),onWaiting:()=>x(!0),onPlaying:()=>x(!1),onCanPlay:()=>x(!1),onTimeUpdate:e=>p(e.currentTarget.currentTime),onEnded:()=>{v(!1),c.current=!1},onError:()=>{J?q(`Transcoding failed. ffmpeg may have stopped or the file is corrupt.`):i?.()}}),b&&!K&&(0,B.jsx)(_,{className:`absolute size-8 animate-spin text-white/80 pointer-events-none`}),K&&(0,B.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-3 bg-black/85 text-text-secondary p-4 text-center`,onClick:e=>e.stopPropagation(),onDoubleClick:e=>e.stopPropagation(),children:[(0,B.jsx)(`p`,{className:`text-sm`,children:K}),(0,B.jsx)(y,{variant:`outline`,size:`sm`,className:`h-11 px-4`,onClick:oe,children:`Retry`})]})]}),(0,B.jsx)(re,{playing:g,position:ie,duration:X,volume:w,muted:E,speed:O,transform:I,fullscreen:H,onTogglePlay:Q.togglePlay,onScrub:C,onSeek:Z,onVolume:e=>{T(e),D(e===0)},onToggleMute:Q.toggleMute,onSpeed:k,onRotate:Q.rotate,onFlipH:()=>z(e=>({...e,flipH:!e.flipH})),onFlipV:()=>z(e=>({...e,flipV:!e.flipV})),onResetTransform:()=>z(N),onToggleFullscreen:Q.toggleFullscreen})]})}var G=new Set([`mp4`,`m4v`,`webm`,`ogg`,`ogv`,`mov`]);function K({filePath:e,projectName:t}){let n=O(e),[r,i]=(0,M.useState)(()=>G.has(n)?{kind:`native`}:{kind:`probing`});return(0,M.useEffect)(()=>{i(G.has(O(e))?{kind:`native`}:{kind:`probing`})},[e]),(0,M.useEffect)(()=>{if(r.kind!==`probing`)return;let n=!1;return k(e,t).then(e=>{n||i(e.transcodable?{kind:`transcode`,probe:e}:{kind:`unsupported`,probe:e})}).catch(()=>{n||i({kind:`unsupported`,probe:null})}),()=>{n=!0}},[r.kind,e,t]),r.kind===`probing`?(0,B.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,B.jsx)(_,{className:`size-5 animate-spin text-text-subtle`})}):r.kind===`transcode`?(0,B.jsx)(W,{filePath:e,projectName:t,mode:`transcode`,probeDuration:r.probe.duration}):r.kind===`unsupported`?(0,B.jsx)(q,{filePath:e,projectName:t,probe:r.probe}):(0,B.jsx)(W,{filePath:e,projectName:t,mode:`native`,onNativeError:()=>i({kind:`probing`})})}function q({filePath:e,projectName:t,probe:n}){let r=[n?.video?.codec,n?.audio?.codec].filter(Boolean).join(` + `);return(0,B.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-text-secondary p-6 text-center`,children:[(0,B.jsx)(f,{className:`size-10 text-text-subtle`}),(0,B.jsxs)(`p`,{className:`text-sm`,children:[`This video cannot be played in the browser`,r?` (${r})`:``,`.`]}),(0,B.jsxs)(`p`,{className:`text-xs text-text-subtle max-w-sm`,children:[`Install `,(0,B.jsx)(`code`,{children:`ffmpeg`}),` on the PPM server (e.g. `,(0,B.jsx)(`code`,{children:`winget install ffmpeg`}),`, `,(0,B.jsx)(`code`,{children:`brew install ffmpeg`}),`,`,` `,(0,B.jsx)(`code`,{children:`apt install ffmpeg`}),`) and restart PPM to transcode it on the fly.`]}),(0,B.jsx)(y,{asChild:!0,variant:`outline`,size:`sm`,className:`h-11 px-4`,children:(0,B.jsxs)(`a`,{href:`${A(e,t)}&download=true`,download:!0,children:[(0,B.jsx)(g,{className:`size-4 mr-2`}),` Download file`]})})]})}export{K as VideoPreview};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e}from"./rolldown-runtime-C5c2KzVm.js";import{C as t,S as n}from"./vendor-markdown-QKPNiWEd.js";import"./vendor-ui-P9Ym7hCv.js";import{Mr as r,st as i,un as a,w as o,xn as s}from"./icons-CO_II6D-.js";import{n as c,s as l}from"./api-client-D-SMbdiH.js";import{t as u}from"./settings-store-DvftLqzy.js";import{n as d}from"./utils-btZ8C8-R.js";import{t as f}from"./button-DeAyLH9U.js";import{t as p}from"./separator-9A3PCG1t.js";var m=e(t(),1),h=n(),g={binary:`Downloading whisper.cpp`,model:`Downloading the model`,vad:`Downloading the voice detector`,verify:`Checking it runs here`},_=e=>`${Math.round(e/1e6)} MB`;function v(){let e=u(e=>e.voiceEngine),t=u(e=>e.setVoiceEngine),[n,s]=(0,m.useState)(null),[v,b]=(0,m.useState)(null),[x,S]=(0,m.useState)(!1),C=(0,m.useRef)(null),w=(0,m.useCallback)(async()=>{try{let e=await c.get(`/api/speech/status`);s(e),b(t=>t??e.model?.id??e.models.at(-1)?.id??null)}catch{}},[]);(0,m.useEffect)(()=>{w()},[w]);let T=!!n?.install&&!n.install.done;(0,m.useEffect)(()=>{if(T)return C.current=setTimeout(()=>void w(),700),()=>{C.current&&clearTimeout(C.current)}},[T,n,w]),(0,m.useEffect)(()=>{n&&!n.ready&&e===`whisper`&&t(`browser`)},[n,e,t]);let E=async()=>{if(v){S(!0);try{await c.post(`/api/speech/install`,{model:v}),await w()}catch(e){l.error(`Could not start the install`,{description:e instanceof Error?e.message:String(e)})}finally{S(!1)}}},D=async()=>{S(!0);try{await c.post(`/api/speech/uninstall`),t(`browser`),await w()}catch(e){l.error(`Could not remove Whisper`,{description:e instanceof Error?e.message:String(e)})}finally{S(!1)}},O=n?.install??null,k=O&&O.totalBytes>0?Math.round(O.receivedBytes/O.totalBytes*100):null,A=typeof window<`u`&&!window.isSecureContext;return(0,h.jsxs)(`div`,{className:`space-y-6`,children:[(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`h3`,{className:`text-sm font-medium`,children:`Speech to text`}),(0,h.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`What the mic button in the chat box uses. This device only.`})]}),(0,h.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-2`,children:[(0,h.jsx)(y,{label:`Browser`,note:`Text appears as you speak. Chrome, Edge and Safari only — the audio goes to their servers.`,value:`browser`,current:e,onChange:t}),n?.ready&&(0,h.jsx)(y,{label:`Whisper on this host`,note:`Works in any browser and the audio never leaves your machine. Text arrives when you stop talking.`,value:`whisper`,current:e,onChange:t})]}),A&&(0,h.jsx)(`p`,{className:`text-xs text-warning`,children:`This page is on plain HTTP, where browsers block the microphone entirely. Open PPM over HTTPS or on localhost to use either engine.`})]}),(0,h.jsx)(p,{}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`h3`,{className:`text-sm font-medium`,children:`Whisper on this host`}),(0,h.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n?.ready?`Installed — whisper.cpp ${n.version}, model ${n.model?.label}.`:`Runs speech to text on the machine PPM is installed on. Nothing is sent to a cloud service.`})]}),n&&!n.installable&&(0,h.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`There is no prebuilt whisper.cpp for this platform. Install it yourself and PPM will find it:`,` `,(0,h.jsx)(`code`,{className:`rounded bg-muted px-1 py-0.5`,children:n.installHint??`whisper-cli on PATH`})]}),O&&!O.done&&(0,h.jsxs)(`div`,{className:`space-y-2`,children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,h.jsx)(a,{className:`size-3.5 animate-spin`}),(0,h.jsxs)(`span`,{children:[g[O.phase],k===null?`…`:` — ${k}%`]})]}),(0,h.jsx)(`div`,{className:`h-1.5 w-full overflow-hidden rounded-full bg-muted`,children:(0,h.jsx)(`div`,{className:`h-full bg-primary transition-[width]`,style:{width:`${k??0}%`}})})]}),O?.error&&(0,h.jsx)(`p`,{className:`text-xs text-error`,children:O.error}),n?.installable&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`div`,{className:`space-y-2`,children:n.models.map(e=>{let t=v===e.id,r=n.model?.id===e.id;return(0,h.jsxs)(`button`,{type:`button`,onClick:()=>b(e.id),className:d(`w-full rounded-lg border px-4 py-3 text-left transition-colors`,t?`border-primary ring-2 ring-primary`:`border-border hover:bg-muted/50`),children:[(0,h.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,h.jsx)(`span`,{className:`text-sm font-medium`,children:e.label}),(0,h.jsxs)(`span`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[r&&(0,h.jsx)(o,{className:`size-3.5 text-success`}),_(e.bytes)]})]}),(0,h.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.note})]},e.id)})}),(0,h.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-2`,children:[(0,h.jsxs)(f,{onClick:E,disabled:x||T||!v||n.model?.id===v,className:`flex-1 gap-2 cursor-pointer`,children:[(0,h.jsx)(i,{className:`size-4`}),n.model?n.model.id===v?`Installed`:`Switch to ${n.models.find(e=>e.id===v)?.label}`:`Install`]}),(n.model||n.binary?.source===`bundled`)&&(0,h.jsxs)(f,{variant:`outline`,onClick:D,disabled:x||T,className:`gap-2 cursor-pointer text-error`,children:[(0,h.jsx)(r,{className:`size-4`}),`Remove`]})]})]})]})]})}function y({label:e,note:t,value:n,current:r,onChange:i}){return(0,h.jsxs)(`button`,{type:`button`,onClick:()=>i(n),className:d(`flex-1 rounded-lg border px-4 py-3 text-left transition-colors`,r===n?`border-primary ring-2 ring-primary`:`border-border hover:bg-muted/50`),children:[(0,h.jsxs)(`span`,{className:`flex items-center gap-2 text-sm font-medium`,children:[(0,h.jsx)(s,{className:`size-4`}),e]}),(0,h.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:t})]})}export{v as VoiceSettingsSection};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./api-client-D-SMbdiH.js";function t(t){let n=e();return!n||/[?&]token=/.test(t)?t:`${t}${t.includes(`?`)?`&`:`?`}token=${encodeURIComponent(n)}`}export{t};
|