@marimo-team/frontend 0.21.2-dev5 → 0.21.2-dev52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{CellStatus-CDSBsjjF.js → CellStatus-DX8MnBMk.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-Buaffg3u.js → ConnectedDataExplorerComponent-7yXYooWG.js} +1 -1
- package/dist/assets/{DeferredRequestRegistry-O6RDJKs0.js → DeferredRequestRegistry-B8jPCuU1.js} +1 -1
- package/dist/assets/{ImperativeModal-qEtcJ95s.js → ImperativeModal-C3CD5-Aq.js} +1 -1
- package/dist/assets/JsonOutput-DqjAyzM8.js +46 -0
- package/dist/assets/{LazyAnyLanguageCodeMirror-m8w66E4s.js → LazyAnyLanguageCodeMirror-CcCHIX38.js} +2 -2
- package/dist/assets/{MarimoErrorOutput-az74f3Mp.js → MarimoErrorOutput-Dat_S09q.js} +5 -5
- package/dist/assets/RenderHTML-C7XM39M2.js +1 -0
- package/dist/assets/{add-cell-with-ai-DUn4LN4W.js → add-cell-with-ai-y2xroEGf.js} +9 -9
- package/dist/assets/{add-connection-dialog-CBz0AUVX.js → add-connection-dialog-QDBOmil3.js} +23 -23
- package/dist/assets/{agent-panel-u83dsDsM.js → agent-panel-DziFrEjJ.js} +6 -6
- package/dist/assets/ai-model-dropdown-CiJpv5wN.js +5 -0
- package/dist/assets/{alert-dialog-9WfvUF7e.js → alert-dialog-ebk_-wsU.js} +1 -1
- package/dist/assets/{any-language-editor-DwQMnAM3.js → any-language-editor-DZYnKlJB.js} +1 -1
- package/dist/assets/{app-config-button-rDu-lCIB.js → app-config-button-CpAv9Tiu.js} +1 -1
- package/dist/assets/{architectureDiagram-VXUJARFQ-DfMHHFZ3.js → architectureDiagram-VXUJARFQ-DKmk99ac.js} +1 -1
- package/dist/assets/{azure-BTXHztTw.js → azure-Dw5gKmUz.js} +1 -1
- package/dist/assets/{blockDiagram-VD42YOAC-CuEDwbg7.js → blockDiagram-VD42YOAC-TpAhP5OQ.js} +1 -1
- package/dist/assets/{c4Diagram-YG6GDRKO-CD9uz7WG.js → c4Diagram-YG6GDRKO-Dg8hCyKf.js} +1 -1
- package/dist/assets/{cache-panel-qIxnndwr.js → cache-panel-D0OsHk_D.js} +1 -1
- package/dist/assets/cell-editor-RbAVpSFb.js +22 -0
- package/dist/assets/{cell-link-Q_UEP94Z.js → cell-link-CNgO3c-T.js} +1 -1
- package/dist/assets/{cells-fq1RMGX_.js → cells-39RE4UzS.js} +77 -76
- package/dist/assets/channel-D1wPYhc9.js +1 -0
- package/dist/assets/{chat-display-D_Fuuy6r.js → chat-display-BPUVrlA6.js} +1 -1
- package/dist/assets/{chat-panel-BO-JoQSp.js → chat-panel-esz5TfF-.js} +2 -2
- package/dist/assets/{chunk-5FQGJX7Z-CM1a_K7I.js → chunk-5FQGJX7Z-sGWxL7Ey.js} +3 -3
- package/dist/assets/{chunk-ABZYJK2D-D_Wumzom.js → chunk-ABZYJK2D-DXJ7hnjx.js} +1 -1
- package/dist/assets/{chunk-ATLVNIR6-BZ0lTgIn.js → chunk-ATLVNIR6-CTEqcLEc.js} +1 -1
- package/dist/assets/{chunk-B4BG7PRW-Dw1S6osV.js → chunk-B4BG7PRW-CkAIqtPf.js} +1 -1
- package/dist/assets/{chunk-DI55MBZ5-Q63FTCPP.js → chunk-DI55MBZ5-C4F9vu8o.js} +1 -1
- package/dist/assets/{chunk-EXTU4WIE-CfkJ_R7W.js → chunk-EXTU4WIE-BT0Py-4P.js} +1 -1
- package/dist/assets/{chunk-JA3XYJ7Z-B41fGeoj.js → chunk-JA3XYJ7Z-CGd7jja_.js} +1 -1
- package/dist/assets/{chunk-JZLCHNYA-D43EJxQw.js → chunk-JZLCHNYA-CqY-RYTj.js} +1 -1
- package/dist/assets/{chunk-N4CR4FBY-DCtw0-ni.js → chunk-N4CR4FBY-aUDjVzN7.js} +2 -2
- package/dist/assets/{chunk-QN33PNHL-CLA2rsaS.js → chunk-QN33PNHL-DHnCb5-U.js} +1 -1
- package/dist/assets/{chunk-QXUST7PY-De1DpbnL.js → chunk-QXUST7PY-CRO5kYCE.js} +1 -1
- package/dist/assets/{chunk-S3R3BYOJ-qrwvlUdq.js → chunk-S3R3BYOJ-CSHQgcuP.js} +1 -1
- package/dist/assets/{chunk-TZMSLE5B-C4KcThb0.js → chunk-TZMSLE5B-CE7o9asH.js} +1 -1
- package/dist/assets/classDiagram-2ON5EDUG-BDIQSKYv.js +1 -0
- package/dist/assets/classDiagram-v2-WZHVMYZB-Cdh4cVOB.js +1 -0
- package/dist/assets/{code-block-37QAKDTI-D4FF4cnN.js → code-block-37QAKDTI-DMpe1jNG.js} +1 -1
- package/dist/assets/{column-preview-WsubyItX.js → column-preview-BUKHsglA.js} +1 -1
- package/dist/assets/{command-rfxSsiHU.js → command-DmzEbs6L.js} +1 -1
- package/dist/assets/{command-palette-Bez4BqJF.js → command-palette-BX5gNpUr.js} +1 -1
- package/dist/assets/{common-BYwO983A.js → common-B4yshY-H.js} +1 -1
- package/dist/assets/{components-Ozq0825a.js → components-DCqJqyys.js} +1 -1
- package/dist/assets/{components-Bpgzv_5_.js → components-oKCjx6cN.js} +1 -1
- package/dist/assets/{config-3Aq84phF.js → config-DqxNMQDN.js} +1 -1
- package/dist/assets/{context-CIAP2NOh.js → context-CRmPPhx9.js} +1 -1
- package/dist/assets/{context-aware-panel-CfsfBlhO.js → context-aware-panel-DC0Te9Hj.js} +2 -2
- package/dist/assets/copy-KjcPgPw9.js +1 -0
- package/dist/assets/{copy-icon-BgmMM9Zg.js → copy-icon-P0kzz1Pr.js} +1 -1
- package/dist/assets/{dagre-6UL2VRFP-BhMnPhuU.js → dagre-6UL2VRFP-XqoNLMQ3.js} +1 -1
- package/dist/assets/{data-grid-overlay-editor-kbv73SQ7.js → data-grid-overlay-editor-Cus1-BFN.js} +1 -1
- package/dist/assets/{datasource-F9sJtuof.js → datasource-DKHG39NV.js} +2 -2
- package/dist/assets/{dates-CHaNfieI.js → dates-CTqMeMGY.js} +1 -1
- package/dist/assets/{dependency-graph-panel-AOBcX2tP.js → dependency-graph-panel-7GKT3dyD.js} +4 -4
- package/dist/assets/{diagram-PSM6KHXK-Cr2t4zul.js → diagram-PSM6KHXK-BuzKNNcN.js} +1 -1
- package/dist/assets/{diagram-QEK2KX5R-DLU_hSO4.js → diagram-QEK2KX5R-A5LBQS11.js} +1 -1
- package/dist/assets/{diagram-S2PKOQOG-C7EkNAO3.js → diagram-S2PKOQOG-dkJE8SA0.js} +1 -1
- package/dist/assets/{dialog-CVN1lcMF.js → dialog-1_jIyAb_.js} +1 -1
- package/dist/assets/{dist-DJBpXGro.js → dist-6P6vjf93.js} +1 -1
- package/dist/assets/dist-BWGxTsTP.js +1 -0
- package/dist/assets/{dist-CblX3KGI.js → dist-B_buFm3B.js} +1 -1
- package/dist/assets/{dist-CXLJUPFl.js → dist-BatEf-0f.js} +1 -1
- package/dist/assets/dist-C3AnARPE.js +1 -0
- package/dist/assets/{dist-BNC_tnlW.js → dist-C6ohaMKU.js} +1 -1
- package/dist/assets/{dist-BoDHthoc.js → dist-CO9Pg2Rc.js} +1 -1
- package/dist/assets/{dist-By6zhkxZ.js → dist-CSV6H5w_.js} +1 -1
- package/dist/assets/{dist-6FIAeDIu.js → dist-CYs1oP7g.js} +1 -1
- package/dist/assets/{dist-DbK_4_qo.js → dist-DD9ZJMK5.js} +1 -1
- package/dist/assets/{dist-DlTbNRBn.js → dist-DReDpc2z.js} +1 -1
- package/dist/assets/dist-DSlq5ZeQ.js +1 -0
- package/dist/assets/{dist-DrceDAhM.js → dist-DXyIIB32.js} +1 -1
- package/dist/assets/{dist-CcGcwrUD.js → dist-DkaderFA.js} +1 -1
- package/dist/assets/{dist-BiZQlfhr.js → dist-Dq3BlK4R.js} +1 -1
- package/dist/assets/{dist-ClzRAVN-.js → dist-Dxov2ltb.js} +1 -1
- package/dist/assets/{dist-BXXPfIam.js → dist-EtGG9C1A.js} +1 -1
- package/dist/assets/{dist-C3MmXcLA.js → dist-NjId5Gdz.js} +1 -1
- package/dist/assets/dist-ZM59OWYL.js +1 -0
- package/dist/assets/dist-_TwZ4tIe.js +1 -0
- package/dist/assets/dist-f9b2H4q_.js +1 -0
- package/dist/assets/{dist-mxGLXOFm.js → dist-feWVQ4dq.js} +1 -1
- package/dist/assets/{documentation-panel-D28MpqbI.js → documentation-panel-D5d_BbHV.js} +1 -1
- package/dist/assets/{download-B9_ToVd4.js → download-B1vXaivj.js} +4 -4
- package/dist/assets/{dropdown-menu-DdPu5Kfu.js → dropdown-menu-BehqiLFL.js} +1 -1
- package/dist/assets/{edit-page-otS-QvnC.js → edit-page-B5cAZdO7.js} +7 -7
- package/dist/assets/{en-US-BO8E69bZ.js → en-US-f8tajDx1.js} +1 -1
- package/dist/assets/{erDiagram-Q2GNP2WA-DqlEo_Us.js → erDiagram-Q2GNP2WA-CgH6udOW.js} +1 -1
- package/dist/assets/{error-banner-BRG6IPhC.js → error-banner-J5F3weEj.js} +1 -1
- package/dist/assets/{error-panel-RRoj_iOR.js → error-panel-DnhKJ5Ou.js} +1 -1
- package/dist/assets/{es-CzkousWe.js → es-DYI7U61K.js} +1 -1
- package/dist/assets/{esm-CBkHtTOV.js → esm-BC1J92im.js} +1 -1
- package/dist/assets/{esm-DhTsVMLM.js → esm-DKLLCu3N.js} +1 -1
- package/dist/assets/{field-B1jGbQlH.js → field-B08lvxnl.js} +1 -1
- package/dist/assets/file-explorer-panel-BUk69TND.js +26 -0
- package/dist/assets/{file-icons-CWLHDa1J.js → file-icons-3DTS8ZM7.js} +1 -1
- package/dist/assets/{floating-outline-BvQKiC0F.js → floating-outline-DmugATcB.js} +1 -1
- package/dist/assets/{flowDiagram-NV44I4VS-CQlIJ12H.js → flowDiagram-NV44I4VS-D85BL4rA.js} +1 -1
- package/dist/assets/{focus-DYwTiH9-.js → focus-DlJH7sfh.js} +1 -1
- package/dist/assets/{form-CrQYrsUC.js → form-760_EqmF.js} +2 -2
- package/dist/assets/{formats-rhOJovGE.js → formats-wYuh1bqp.js} +1 -1
- package/dist/assets/{formatting-B4ZCH3ol.js → formatting-CraOPe94.js} +1 -1
- package/dist/assets/{gallery-page-eRea0yic.js → gallery-page--paiPvYX.js} +1 -1
- package/dist/assets/{ganttDiagram-JELNMOA3-B3EGIuZL.js → ganttDiagram-JELNMOA3-DzCOXWlF.js} +1 -1
- package/dist/assets/{gitGraphDiagram-V2S2FVAM-h5SlguJK.js → gitGraphDiagram-V2S2FVAM-BUHURX6t.js} +1 -1
- package/dist/assets/{glide-data-editor-xt5xNZeV.js → glide-data-editor-DYdoQTO5.js} +4 -4
- package/dist/assets/{globals-BsV5fVR-.js → globals-7M5DRsIb.js} +1 -1
- package/dist/assets/home-page-CxQ1e98h.js +4 -0
- package/dist/assets/{hooks-CHx5dUUq.js → hooks-C3jEff2O.js} +1 -1
- package/dist/assets/html-to-image-DTFXm6_Z.js +2 -0
- package/dist/assets/{index-GjXovVsl.css → index-BmoocKR0.css} +1 -1
- package/dist/assets/index-DNchElHl.js +38 -0
- package/dist/assets/{infoDiagram-HS3SLOUP-pzpClObZ.js → infoDiagram-HS3SLOUP-GG5r0Y5G.js} +1 -1
- package/dist/assets/{input-CUwqpKjd.js → input-CN1ZeRYm.js} +1 -1
- package/dist/assets/{isValid-BGe7pJXT.js → isValid-DY4Mgbr7.js} +1 -1
- package/dist/assets/{journeyDiagram-XKPGCS4Q-BrdRi92v.js → journeyDiagram-XKPGCS4Q-B1dvnV4D.js} +1 -1
- package/dist/assets/{kanban-definition-3W4ZIXB7-B6WqgFqh.js → kanban-definition-3W4ZIXB7-CefbrXQv.js} +1 -1
- package/dist/assets/{kiosk-mode-DNjEnIWb.js → kiosk-mode-CyTnrzwK.js} +1 -1
- package/dist/assets/{layout-CwFtCyW8.js → layout-3b3tzmbb.js} +3 -3
- package/dist/assets/{linear-BP9rwmWK.js → linear-BDnrHGYO.js} +1 -1
- package/dist/assets/{links-CIQwYQ48.js → links-CptYD1FP.js} +1 -1
- package/dist/assets/{logs-panel-BU1tNEVc.js → logs-panel-C4k_2IHW.js} +1 -1
- package/dist/assets/{markdown-renderer-MR9df58W.js → markdown-renderer-DSy5IuAx.js} +1 -1
- package/dist/assets/{menu-items-UxKrm8hS.js → menu-items-BpHXKv51.js} +1 -1
- package/dist/assets/mermaid-4DMBBIKO-g7AL4SLJ.js +1 -0
- package/dist/assets/{mermaid-Djr3jUAB.js → mermaid-C43VbdrM.js} +3 -3
- package/dist/assets/{mermaid-parser.core-DR82IMb2.js → mermaid-parser.core-CdM8D_p_.js} +1 -1
- package/dist/assets/{mindmap-definition-VGOIOE7T-DAmJpbPM.js → mindmap-definition-VGOIOE7T-CcV7D-wF.js} +1 -1
- package/dist/assets/{mode-AcL8c6qH.js → mode-D-iRbN9x.js} +1 -1
- package/dist/assets/{multi-map-Pp1P2DOX.js → multi-map-C8RbwBrw.js} +1 -1
- package/dist/assets/{name-cell-input-DVFEv_aO.js → name-cell-input-Dyb0ZO4X.js} +1 -1
- package/dist/assets/{number-overlay-editor-D__AflXQ.js → number-overlay-editor-BBJO1mf8.js} +1 -1
- package/dist/assets/{outline-panel-CP0oIuiU.js → outline-panel-D7CJwO8u.js} +1 -1
- package/dist/assets/{packages-panel-CzRELimG.js → packages-panel-Bp1SYjgc.js} +1 -1
- package/dist/assets/{panels-wTweRyIv.js → panels-D0aw6jdc.js} +1 -1
- package/dist/assets/{pieDiagram-ADFJNKIX-DbGIFRoq.js → pieDiagram-ADFJNKIX-C1fBf15W.js} +1 -1
- package/dist/assets/{popover-BPGG2gPG.js → popover-Bvoif-Mg.js} +1 -1
- package/dist/assets/{precisionRound-BOmLQIKI.js → precisionRound-CCOoIlcP.js} +1 -1
- package/dist/assets/{process-output-CTVsT--B.js → process-output-BxPWHcIi.js} +1 -1
- package/dist/assets/{quadrantDiagram-AYHSOK5B-CLAtyple.js → quadrantDiagram-AYHSOK5B-RVooN-fX.js} +1 -1
- package/dist/assets/{react-vega-BZav_-2n.js → react-vega-BKRQSy0g.js} +1 -1
- package/dist/assets/react-vega-DXESF7qN.js +1 -0
- package/dist/assets/{readonly-python-code-DH-1xZGq.js → readonly-python-code-D95oshJa.js} +1 -1
- package/dist/assets/{renderShortcut-CnD1Dah5.js → renderShortcut-BYvKm38e.js} +1 -1
- package/dist/assets/{request-registry-B-7cIM_I.js → request-registry-XB2EzJHm.js} +1 -1
- package/dist/assets/{requirementDiagram-UZGBJVZJ-DDDTB1LD.js → requirementDiagram-UZGBJVZJ-DtqOYJpH.js} +1 -1
- package/dist/assets/{run-page-FCvGnICa.js → run-page-B7CASued.js} +1 -1
- package/dist/assets/{sankeyDiagram-TZEHDZUN-DAWPOfBw.js → sankeyDiagram-TZEHDZUN-DmcooLA8.js} +1 -1
- package/dist/assets/{scratchpad-panel-k9lrm-rC.js → scratchpad-panel-BIVRgYOU.js} +1 -1
- package/dist/assets/{secrets-panel-B1Z-6dmz.js → secrets-panel-C24hZEiO.js} +1 -1
- package/dist/assets/{select-CxT2Geqr.js → select-Cnd3vm9n.js} +1 -1
- package/dist/assets/{sequenceDiagram-WL72ISMW-D_qAidD2.js → sequenceDiagram-WL72ISMW-S2qeLb7J.js} +1 -1
- package/dist/assets/{session-panel-WhN0qilM.js → session-panel-CNabBHQm.js} +1 -1
- package/dist/assets/{share-BdH_5I58.js → share-NjpZ54PJ.js} +1 -1
- package/dist/assets/{snippets-panel-BCDHUuku.js → snippets-panel-D1JAeJj1.js} +1 -1
- package/dist/assets/{spec-DbmSqx09.js → spec-DnVBmJUh.js} +1 -1
- package/dist/assets/{state-Ce7CVShi.js → state-BagvlaEz.js} +1 -1
- package/dist/assets/{state-3V5UxC3B.js → state-Cz_wrzCz.js} +1 -1
- package/dist/assets/{state-CBmCYWFH.js → state-DMQXxemS.js} +1 -1
- package/dist/assets/{stateDiagram-FKZM4ZOC-C7qgDrGA.js → stateDiagram-FKZM4ZOC-uuQ60pIl.js} +1 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-D-GWhQTG.js +1 -0
- package/dist/assets/stex-CruVQx-P.js +1 -0
- package/dist/assets/{switch-CVKxYu_0.js → switch-Bwpd2AFq.js} +1 -1
- package/dist/assets/{terminal-Cr7wbEjz.js → terminal-Gl8Fi44y.js} +1 -1
- package/dist/assets/{time-D2GKc0U6.js → time-Bw8f15NM.js} +1 -1
- package/dist/assets/{timeline-definition-IT6M3QCI-hd6uJKGs.js → timeline-definition-IT6M3QCI-TKWeDnSQ.js} +1 -1
- package/dist/assets/{toggle-RCwU-rnE.js → toggle-C_gNjXg8.js} +1 -1
- package/dist/assets/{tooltip-D9723Brr.js → tooltip-CR_izE8Q.js} +1 -1
- package/dist/assets/tracing-DwAC7DWN.js +1 -0
- package/dist/assets/tracing-panel-D1iNgclL.js +2 -0
- package/dist/assets/{tree-Ch2-GuhG.js → tree-WVrWjdwv.js} +3 -3
- package/dist/assets/{useAddCell-YC7rpcmD.js → useAddCell-D6Q7JziZ.js} +1 -1
- package/dist/assets/{useBoolean-m1e6E3Ao.js → useBoolean-CrltYVhE.js} +1 -1
- package/dist/assets/{useCellActionButton-GUb2fXU8.js → useCellActionButton-B2G9OaX9.js} +1 -1
- package/dist/assets/{useDateFormatter-CpE7XQLs.js → useDateFormatter-DOoVZUts.js} +1 -1
- package/dist/assets/{useDeleteCell-DRUDRiy0.js → useDeleteCell-d8veThW7.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-nFVMlEx0.js → useDependencyPanelTab-B3iIj3MO.js} +1 -1
- package/dist/assets/{useInstallPackage-C9V-on2J.js → useInstallPackage-CQEr5429.js} +1 -1
- package/dist/assets/{useNotebookActions-ChLHy-0O.js → useNotebookActions-SAEOWcBo.js} +1 -1
- package/dist/assets/{useNumberFormatter-DbDKSvEd.js → useNumberFormatter-BXZcbTzH.js} +1 -1
- package/dist/assets/{usePress-BHGkpw8X.js → usePress-alQ5Crny.js} +1 -1
- package/dist/assets/{useRunCells-5m6jCnyo.js → useRunCells-Dhl8ZTGh.js} +1 -1
- package/dist/assets/{useSplitCell-DGD9smMq.js → useSplitCell-BSnFazbH.js} +1 -1
- package/dist/assets/{utils-CdjCA1J8.js → utils-C24l2A1T.js} +1 -1
- package/dist/assets/{vega-component-CRbeDmeM.js → vega-component-9Pf4pVZL.js} +1 -1
- package/dist/assets/{vega-loader.browser-CZV6_g2i.js → vega-loader.browser-BJ9oKrvH.js} +1 -1
- package/dist/assets/{write-secret-modal-BCvuRAFb.js → write-secret-modal-BFCsWMoW.js} +1 -1
- package/dist/assets/{xychartDiagram-PRI3JC2R-CXlUBSbQ.js → xychartDiagram-PRI3JC2R-CIp-yeSa.js} +1 -1
- package/dist/index.html +125 -125
- package/package.json +1 -1
- package/src/__mocks__/notebook.ts +9 -9
- package/src/__tests__/branded.ts +20 -0
- package/src/components/app-config/user-config-form.tsx +5 -4
- package/src/components/data-table/__tests__/utils.test.ts +138 -1
- package/src/components/data-table/charts/__tests__/storage.test.ts +7 -7
- package/src/components/data-table/context-menu.tsx +9 -5
- package/src/components/data-table/data-table.tsx +3 -0
- package/src/components/data-table/range-focus/__tests__/atoms.test.ts +8 -2
- package/src/components/data-table/range-focus/__tests__/test-utils.ts +2 -0
- package/src/components/data-table/range-focus/__tests__/utils.test.ts +82 -8
- package/src/components/data-table/range-focus/atoms.ts +2 -2
- package/src/components/data-table/range-focus/utils.ts +50 -12
- package/src/components/data-table/types.ts +7 -0
- package/src/components/data-table/utils.ts +87 -0
- package/src/components/editor/__tests__/data-attributes.test.tsx +8 -8
- package/src/components/editor/ai/__tests__/completion-utils.test.ts +15 -15
- package/src/components/editor/navigation/__tests__/clipboard.test.ts +2 -2
- package/src/components/editor/navigation/__tests__/selection.test.ts +7 -6
- package/src/components/editor/navigation/__tests__/state.test.ts +8 -7
- package/src/components/editor/output/MarimoErrorOutput.tsx +7 -7
- package/src/components/editor/output/__tests__/traceback.test.tsx +4 -4
- package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +4 -4
- package/src/components/editor/renderers/vertical-layout/useFocusFirstEditor.ts +8 -1
- package/src/components/storage/storage-file-viewer.tsx +35 -1
- package/src/components/storage/storage-inspector.tsx +9 -4
- package/src/components/storage/storage-snippets.ts +3 -3
- package/src/components/tracing/tracing.tsx +3 -1
- package/src/components/ui/range-slider.tsx +108 -1
- package/src/core/ai/__tests__/staged-cells.test.ts +9 -8
- package/src/core/ai/context/providers/__tests__/cell-output.test.ts +31 -31
- package/src/core/ai/context/providers/__tests__/datasource.test.ts +3 -3
- package/src/core/ai/context/providers/__tests__/tables.test.ts +3 -2
- package/src/core/ai/context/providers/__tests__/variable.test.ts +84 -63
- package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +10 -9
- package/src/core/ai/tools/__tests__/run-cells-tool.test.ts +6 -6
- package/src/core/ai/tools/edit-notebook-tool.ts +3 -3
- package/src/core/cells/__tests__/add-missing-import.test.ts +3 -3
- package/src/core/cells/__tests__/cells.test.ts +192 -135
- package/src/core/cells/__tests__/focus.test.ts +5 -4
- package/src/core/cells/__tests__/logs.test.ts +13 -12
- package/src/core/cells/__tests__/pending-delete-service.test.tsx +3 -3
- package/src/core/cells/__tests__/runs.test.ts +22 -21
- package/src/core/cells/__tests__/scrollCellIntoView.test.ts +8 -7
- package/src/core/cells/__tests__/session.test.ts +23 -22
- package/src/core/cells/cells.ts +1 -1
- package/src/core/cells/ids.ts +5 -5
- package/src/core/cells/logs.ts +2 -2
- package/src/core/cells/runs.ts +6 -8
- package/src/core/codemirror/__tests__/format.test.ts +34 -36
- package/src/core/codemirror/__tests__/setup.test.ts +2 -2
- package/src/core/codemirror/cells/__tests__/extensions.test.ts +114 -0
- package/src/core/codemirror/cells/__tests__/traceback-decorations.test.ts +33 -32
- package/src/core/codemirror/cells/extensions.ts +66 -23
- package/src/core/codemirror/completion/__tests__/keymap.test.ts +15 -35
- package/src/core/codemirror/completion/keymap.ts +14 -4
- package/src/core/codemirror/copilot/__tests__/getCodes.test.ts +12 -13
- package/src/core/codemirror/language/__tests__/utils.test.ts +3 -3
- package/src/core/codemirror/language/embedded/__tests__/embedded-python.test.ts +7 -8
- package/src/core/codemirror/language/languages/python.ts +4 -0
- package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +4 -3
- package/src/core/codemirror/lsp/notebook-lsp.ts +28 -2
- package/src/core/codemirror/reactive-references/__tests__/analyzer.test.ts +7 -6
- package/src/core/codemirror/reactive-references/analyzer.ts +2 -2
- package/src/core/codemirror/rtc/loro/__tests__/sync.test.ts +52 -0
- package/src/core/codemirror/rtc/loro/sync.ts +1 -0
- package/src/core/datasets/__tests__/data-source.test.ts +5 -6
- package/src/core/datasets/state.ts +1 -1
- package/src/core/errors/__tests__/errors.test.ts +2 -1
- package/src/core/export/__tests__/hooks.test.ts +37 -36
- package/src/core/islands/main.ts +2 -7
- package/src/core/kernel/__tests__/handlers.test.ts +5 -4
- package/src/core/kernel/handlers.ts +7 -4
- package/src/core/network/DeferredRequestRegistry.ts +2 -2
- package/src/core/network/__tests__/CachingRequestRegistry.test.ts +9 -10
- package/src/core/network/__tests__/DeferredRequestRegistry.test.ts +4 -6
- package/src/core/static/__tests__/virtual-file-tracker.test.ts +8 -8
- package/src/core/static/virtual-file-tracker.ts +1 -1
- package/src/core/storage/__tests__/state.test.ts +31 -21
- package/src/core/storage/state.ts +1 -1
- package/src/core/variables/__tests__/state.test.ts +6 -6
- package/src/core/variables/types.ts +2 -2
- package/src/core/wasm/__tests__/state.test.ts +8 -8
- package/src/core/websocket/useMarimoKernelConnection.tsx +12 -15
- package/src/css/md-tooltip.css +4 -39
- package/src/css/md.css +7 -0
- package/src/plugins/core/RenderHTML.tsx +17 -0
- package/src/plugins/core/__test__/RenderHTML.test.ts +45 -0
- package/src/plugins/core/sanitize-html.ts +25 -18
- package/src/plugins/impl/DataTablePlugin.tsx +23 -2
- package/src/plugins/impl/SliderPlugin.tsx +1 -3
- package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +120 -0
- package/src/plugins/impl/anywidget/model.ts +1 -2
- package/src/stories/cell.stories.tsx +8 -8
- package/src/stories/layout/vertical/one-column.stories.tsx +9 -8
- package/src/stories/log-viewer.stories.tsx +8 -8
- package/src/stories/variables.stories.tsx +2 -2
- package/src/utils/__tests__/download.test.tsx +21 -20
- package/src/utils/copy.ts +18 -5
- package/src/utils/download.ts +4 -3
- package/src/utils/html-to-image.ts +6 -0
- package/src/utils/json/base64.ts +3 -3
- package/src/utils/traceback.ts +5 -3
- package/dist/assets/JsonOutput-DKXKGKvX.js +0 -46
- package/dist/assets/RenderHTML-DJ8khuob.js +0 -1
- package/dist/assets/ai-model-dropdown-DPTa_EpU.js +0 -5
- package/dist/assets/cell-editor-DX7IcqNr.js +0 -23
- package/dist/assets/channel-CkT8Qdo2.js +0 -1
- package/dist/assets/classDiagram-2ON5EDUG-BhMT_rTz.js +0 -1
- package/dist/assets/classDiagram-v2-WZHVMYZB-D-F4WEyb.js +0 -1
- package/dist/assets/copy-YwM0Pd7v.js +0 -1
- package/dist/assets/dist-BTqMkf4j.js +0 -1
- package/dist/assets/dist-DHw9sXeN.js +0 -1
- package/dist/assets/dist-Du0qZeXz.js +0 -1
- package/dist/assets/dist-a0FfbvMD.js +0 -1
- package/dist/assets/dist-cfkfP0ni.js +0 -1
- package/dist/assets/dist-pzQ9JG-p.js +0 -1
- package/dist/assets/file-explorer-panel-CB8vF5ob.js +0 -26
- package/dist/assets/home-page-itW0tRmv.js +0 -4
- package/dist/assets/html-to-image-BnSc-Wa0.js +0 -2
- package/dist/assets/index-0n92c_W7.js +0 -38
- package/dist/assets/mermaid-4DMBBIKO-PoHnhmy8.js +0 -1
- package/dist/assets/react-vega-Da-Ps9UW.js +0 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-CEqeIlM0.js +0 -1
- package/dist/assets/stex-BBWVYm-R.js +0 -1
- package/dist/assets/tracing-DUVd0jtl.js +0 -1
- package/dist/assets/tracing-panel-CuTxPn_x.js +0 -2
- /package/dist/assets/{Combination-Cs9nbinQ.js → Combination-CSPK4t6z.js} +0 -0
- /package/dist/assets/{Deferred-BMfCOLaw.js → Deferred-CfyqLOPG.js} +0 -0
- /package/dist/assets/{SSRProvider-DC7ElCZZ.js → SSRProvider-CwqN9FWV.js} +0 -0
- /package/dist/assets/{badge-hTpPIsMT.js → badge-DImLVznf.js} +0 -0
- /package/dist/assets/{blob-CObhN-9g.js → blob-DgooIGjS.js} +0 -0
- /package/dist/assets/{bot-message-square-CK6eoGWy.js → bot-message-square-Dw41U6lL.js} +0 -0
- /package/dist/assets/{chart-no-axes-column-DV8gdCvH.js → chart-no-axes-column-a9XtWmzk.js} +0 -0
- /package/dist/assets/{check-BE0hEwVo.js → check-DZA_bRpw.js} +0 -0
- /package/dist/assets/{chevron-right-D0GQBpTb.js → chevron-right-CvVxySQk.js} +0 -0
- /package/dist/assets/{circle-check-gLIOLu8x.js → circle-check-CbaVeozR.js} +0 -0
- /package/dist/assets/{circle-play-DYGULlKZ.js → circle-play-DYn5nR6N.js} +0 -0
- /package/dist/assets/{circle-plus-CGG-gArM.js → circle-plus-nCze0-py.js} +0 -0
- /package/dist/assets/{clipboard-paste-DoYSN8Sv.js → clipboard-paste-EHXeKq9D.js} +0 -0
- /package/dist/assets/{code-xml-DwHPF_nL.js → code-xml-BlrJCgNZ.js} +0 -0
- /package/dist/assets/{copy-CkudG0Ej.js → copy-D6N1-xc1.js} +0 -0
- /package/dist/assets/{database-zap-DTWCDKdn.js → database-zap-BIGMFOfP.js} +0 -0
- /package/dist/assets/{defaultLocale-DK1MWd7f.js → defaultLocale-CGfP-Ye3.js} +0 -0
- /package/dist/assets/{defaultLocale-OkOxlkkM.js → defaultLocale-CuYNS33t.js} +0 -0
- /package/dist/assets/{dist-8UD0A5sU.js → dist-BF9S272t.js} +0 -0
- /package/dist/assets/{dist-apDpadc4.js → dist-Bk1itfBD.js} +0 -0
- /package/dist/assets/{dist-CQqv2gQL.js → dist-Dm11d0_A.js} +0 -0
- /package/dist/assets/{download-DBW9RXtT.js → download-nLboiTtW.js} +0 -0
- /package/dist/assets/{ellipsis-0_zJdF6H.js → ellipsis-d7eaKIFn.js} +0 -0
- /package/dist/assets/{ellipsis-vertical-CAB7tdza.js → ellipsis-vertical-DBQ5kWTo.js} +0 -0
- /package/dist/assets/{emotion-is-prop-valid.esm-D1keIaYa.js → emotion-is-prop-valid.esm-D7FeWASw.js} +0 -0
- /package/dist/assets/{errors-Bfogio62.js → errors-0IrrdfSG.js} +0 -0
- /package/dist/assets/{extends-DRbCSry7.js → extends-aq1t6BkR.js} +0 -0
- /package/dist/assets/{eye-off-vwi9L975.js → eye-off-CF3GmvXV.js} +0 -0
- /package/dist/assets/{file-DzHkbIdO.js → file-C-yMeaec.js} +0 -0
- /package/dist/assets/{file-headphone-B5q2Ow55.js → file-headphone-CPAP8asn.js} +0 -0
- /package/dist/assets/{file-plus-corner-lLQw9OnR.js → file-plus-corner-ks__N1mr.js} +0 -0
- /package/dist/assets/{github-BVtI-3F1.js → github-CRD4USKm.js} +0 -0
- /package/dist/assets/{image-DXfkah9d.js → image-CfyJzBP9.js} +0 -0
- /package/dist/assets/{link-Cf10mh3t.js → link-_dbp0XNB.js} +0 -0
- /package/dist/assets/{maps-OKerBHH8.js → maps-DQsjfyTy.js} +0 -0
- /package/dist/assets/{numbers-CYnquDho.js → numbers-Cno6K0UF.js} +0 -0
- /package/dist/assets/{objectWithoutPropertiesLoose-DP4vAkvg.js → objectWithoutPropertiesLoose-Dxmp_Bd_.js} +0 -0
- /package/dist/assets/{ordinal-BjO5SoTk.js → ordinal-CMAUv8ku.js} +0 -0
- /package/dist/assets/{paths-D2lG83Oh.js → paths-BVwhPRFT.js} +0 -0
- /package/dist/assets/{play-DKSqmedg.js → play-Bu_0ogGD.js} +0 -0
- /package/dist/assets/{plus-dVmh0yTy.js → plus-DJ99CUbx.js} +0 -0
- /package/dist/assets/{preload-helper-BW0IMuFq.js → preload-helper-y72bE5iF.js} +0 -0
- /package/dist/assets/{prop-types-RrUi-pOT.js → prop-types-DRf51_gT.js} +0 -0
- /package/dist/assets/{purify.es-BBn8CPhf.js → purify.es-Cf8RQecB.js} +0 -0
- /package/dist/assets/{range-DNqFcYmr.js → range-ClqUI25v.js} +0 -0
- /package/dist/assets/{refresh-ccw-DLpfIr8v.js → refresh-ccw-DQ6SJ8UC.js} +0 -0
- /package/dist/assets/{refresh-cw-CHAHPgkx.js → refresh-cw-Dg9tCj4k.js} +0 -0
- /package/dist/assets/{rotate-ccw-hLlF_82X.js → rotate-ccw-BCkZViUZ.js} +0 -0
- /package/dist/assets/{save-8fSvKYJT.js → save-CUdcv5qm.js} +0 -0
- /package/dist/assets/{session-BrEm7qNv.js → session-CByuQ-M-.js} +0 -0
- /package/dist/assets/{settings-CzQUw9rV.js → settings-B7nhfCat.js} +0 -0
- /package/dist/assets/{spinner-C5JoisA7.js → spinner-pCogyRyo.js} +0 -0
- /package/dist/assets/{square-CxAsQQ77.js → square-KVNDGpgy.js} +0 -0
- /package/dist/assets/{square-function-B006EYFX.js → square-function-BMNCw7Qb.js} +0 -0
- /package/dist/assets/{stex-0ac7Aukl.js → stex-C6JeW1YI.js} +0 -0
- /package/dist/assets/{table-BCnp9gKC.js → table-Od8PbuV-.js} +0 -0
- /package/dist/assets/{toDate-BqKH-Jd9.js → toDate-Cfp9W_O9.js} +0 -0
- /package/dist/assets/{trash-2-CAoNMkjq.js → trash-2-Bc_J7TQO.js} +0 -0
- /package/dist/assets/{trash-BZMAQneW.js → trash-Cxd189Vw.js} +0 -0
- /package/dist/assets/{triangle-alert-qZo1ox6x.js → triangle-alert-CzLrbLGN.js} +0 -0
- /package/dist/assets/{types-C1RN112u.js → types-CLOMZuqU.js} +0 -0
- /package/dist/assets/{use-toast-Hc8CXlvz.js → use-toast-BtZldTi5.js} +0 -0
- /package/dist/assets/{useDebounce-B0dx2Gp0.js → useDebounce-DwTO_rGp.js} +0 -0
- /package/dist/assets/{useTheme-BYXBU1of.js → useTheme-KDW4sktg.js} +0 -0
- /package/dist/assets/{uuid-ClFZlR7U.js → uuid-BukULOeS.js} +0 -0
- /package/dist/assets/{workflow-BmeqNuSH.js → workflow-BqHyyStM.js} +0 -0
- /package/dist/assets/{x-BI1M8X_v.js → x-CdLP7-v3.js} +0 -0
- /package/dist/assets/{youtube-DE-Ej6FR.js → youtube-CfU-SnDw.js} +0 -0
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
var Ji=Object.defineProperty;var ea=(t,e,n)=>e in t?Ji(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ze=(t,e,n)=>ea(t,typeof e!="symbol"?e+"":e,n);var gt;import{s as al}from"./chunk-LvLJmgfZ.js";import{d as zt,i as ut,l as xt,n as Bt,o as ta,p as mt,u as ht}from"./useEvent-O0nX5vok.js";import{t as na}from"./react-Bj1aDYRI.js";import{Gn as la,Ir as sa,Kn as ra,Kt as ol,Lr as ia,Nr as aa,Nt as oa,Qn as ca,Rr as da,Sr as cl,Tt as me,Ut as ua,W as ma,Wt as ha,Xt as Lt,Yr as pa,Yt as ye,Zt as fa,cn as ga,en as xa,nr as dn,q as un,ti as ya,tr as va,xr as $t,yn as ba}from"./cells-fq1RMGX_.js";import{t as dl}from"./react-dom-CSu739Rf.js";import{t as Pe}from"./compiler-runtime-B3qBwwSJ.js";import{b as ja}from"./_Uint8Array-C0aUZfE0.js";import{t as ul}from"./get-DBdMgUNq.js";import{n as ka}from"./assertNever-DWSyoPEi.js";import{t as Ca}from"./capitalize-BfkXNxmI.js";import{t as wa}from"./debounce-DS_VtWMt.js";import{m as Y,o as Na,u as ml}from"./useEventListener-Dy81QR4n.js";import{t as mn}from"./invariant-CQUIhlu2.js";import{D as Sa,E as Ia,S as Ka,T as hl,_ as hn,c as Ma,f as Ea,l as Da,n as _a,p as Pa,x as pl,y as fl}from"./utils-tNbLd14P.js";import{S as yt,r as Aa,y as Ta}from"./config-3Aq84phF.js";import{a as pn,c as Fa,l as Ra,n as za,s as Ba,t as La}from"./switch-CVKxYu_0.js";import{t as $a}from"./jsx-runtime-icT_Ltz2.js";import{n as Va,r as gl,t as ue}from"./button-Ej3vmCIF.js";import{t as $e}from"./cn-BoaCR37F.js";import{St as tt,Wt as xl,at as Oa,ct as yl}from"./dist-B_cxg-E4.js";import{O as vl,g as Ha,k as bl,w as Ga}from"./dist-CtXb4bUU.js";import{l as jl,n as rt}from"./once-CJOnx12W.js";import{t as Ua}from"./main-DrBRErTM.js";import{r as kt,t as Wa}from"./requests-Bgjtqo_1.js";import{t as it}from"./createLucideIcon-Cm-Z7dYr.js";import{t as qa}from"./check-BE0hEwVo.js";import{r as Ya,t as fn}from"./x-BI1M8X_v.js";import{t as Za}from"./chevron-right-D0GQBpTb.js";import{u as Qa}from"./toDate-BqKH-Jd9.js";import{a as Xa,c as Vt,d as kl,f as Cl,p as Ja,r as eo,s as to,t as no,u as wl}from"./dropdown-menu-DdPu5Kfu.js";import{t as lo}from"./copy-CkudG0Ej.js";import{n as Ot,t as Nl}from"./spinner-C5JoisA7.js";import{t as so}from"./plus-dVmh0yTy.js";import{t as Sl}from"./refresh-cw-CHAHPgkx.js";import{F as Il,G as Ht,H as ro,J as io,M as gn,N as ao,P as oo,R as Ue,S as co,V as uo,X as mo,Y as Kl,Z as Ct,_ as ho,at as xn,ct as yn,et as po,g as fo,lt as go,o as wt,r as Qe,st as Gt,tt as Ut,ut as Wt,z as vn}from"./input-CUwqpKjd.js";import{a as xo,b as bn,c as W,d as L,f as z,h as yo,l as vo,n as bo,o as jo,p as H,s as $,t as ko,u as B,v as Co,x as Ml}from"./azure-BTXHztTw.js";import{t as El}from"./trash-2-CAoNMkjq.js";import{t as jn}from"./triangle-alert-qZo1ox6x.js";import{t as Nt}from"./badge-hTpPIsMT.js";import{t as We}from"./use-toast-Hc8CXlvz.js";import{t as wo}from"./useTheme-BYXBU1of.js";import{i as kn,l as Be,n as No,r as So,s as Io,t as Ko}from"./select-CxT2Geqr.js";import{t as nt}from"./tooltip-D9723Brr.js";import{a as Mo}from"./mode-AcL8c6qH.js";import{a as Eo,c as Do,n as _o,o as Po,s as Ao,t as To}from"./dialog-CVN1lcMF.js";import{B as St,D as Fo,E as Ro,F as zo,I as we,L as Bo,M as Cn,N as je,O as wn,P as Ne,R as Dl,T as Lo,V as Ae,_ as $o,c as Vo,j as Te,k as Ve,l as _l,m as Oo,p as Pl,t as Al,v as Tl,w as Ho,x as Fl,y as Go,z as Uo}from"./usePress-BHGkpw8X.js";import{t as Rl}from"./SSRProvider-DC7ElCZZ.js";import{t as It}from"./context-CIAP2NOh.js";import{c as qt,d as Wo,i as qo,l as zl,r as Yo,s as Bl,t as Zo,u as Kt}from"./popover-BPGG2gPG.js";import{n as Qo}from"./useDebounce-B0dx2Gp0.js";import{r as Xo}from"./errors-Bfogio62.js";import{n as Jo}from"./copy-YwM0Pd7v.js";import{a as ec,i as tc,n as Ll,r as nc,t as $l}from"./multi-map-Pp1P2DOX.js";import{t as he}from"./kbd-DvKpAc6K.js";import{t as pe}from"./links-DzgPOFJ-.js";import{n as Vl,r as lc,t as Ol}from"./alert-OQZHipbB.js";import{n as sc,t as Mt}from"./error-banner-BRG6IPhC.js";import{n as Hl}from"./useAsyncData-D-4ifFXh.js";import{a as rc,i as Yt,n as ic,o as Gl,r as Nn,t as ac}from"./table-BhH-Mm8O.js";import{t as Sn}from"./renderShortcut-CnD1Dah5.js";import{t as Xe}from"./label-TNNaT1M9.js";import{a as oc,i as cc,n as dc,r as uc,t as mc}from"./card-C-c-4jyF.js";var hc="Expected a function";function pc(t,e,n){var l=!0,r=!0;if(typeof t!="function")throw TypeError(hc);return ja(n)&&(l="leading"in n?!!n.leading:l,r="trailing"in n?!!n.trailing:r),wa(t,e,{leading:l,maxWait:e,trailing:r})}var fc=pc,In=it("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]),Ul=it("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),Wl=it("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]),gc=it("flask-conical",[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]]),ql=it("folder-cog",[["path",{d:"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3",key:"128dxu"}],["path",{d:"m14.305 19.53.923-.382",key:"3m78fa"}],["path",{d:"m15.228 16.852-.923-.383",key:"npixar"}],["path",{d:"m16.852 15.228-.383-.923",key:"5xggr7"}],["path",{d:"m16.852 20.772-.383.924",key:"dpfhf9"}],["path",{d:"m19.148 15.228.383-.923",key:"1reyyz"}],["path",{d:"m19.53 21.696-.382-.924",key:"1goivc"}],["path",{d:"m20.772 16.852.924-.383",key:"htqkph"}],["path",{d:"m20.772 19.148.924.383",key:"9w9pjp"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}]]),xc=it("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),Yl=it("plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]]),yc=it("square-check-big",[["path",{d:"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344",key:"2acyp4"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),h=al(na(),1),vc=(0,h.createContext)(null);(0,h.createContext)(null),(0,h.createContext)(null),(0,h.createContext)(null),(0,h.createContext)(null);var bc=(0,h.createContext)({}),jc=(0,h.createContext)(null);(0,h.createContext)(null);var kc=class{get currentNode(){return this._currentNode}set currentNode(t){if(!Te(this.root,t))throw Error("Cannot set currentNode to a node that is not contained by the root node.");let e=[],n=t,l=t;for(this._currentNode=t;n&&n!==this.root;)if(n.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let i=n,a=this._doc.createTreeWalker(i,this.whatToShow,{acceptNode:this._acceptNode});e.push(a),a.currentNode=l,this._currentSetFor.add(a),n=l=i.host}else n=n.parentNode;let r=this._doc.createTreeWalker(this.root,this.whatToShow,{acceptNode:this._acceptNode});e.push(r),r.currentNode=l,this._currentSetFor.add(r),this._walkerStack=e}get doc(){return this._doc}firstChild(){let t=this.currentNode,e=this.nextNode();return Te(t,e)?(e&&(this.currentNode=e),e):(this.currentNode=t,null)}lastChild(){let t=this._walkerStack[0].lastChild();return t&&(this.currentNode=t),t}nextNode(){var e;let t=this._walkerStack[0].nextNode();if(t){if(t.shadowRoot){let n;if(typeof this.filter=="function"?n=this.filter(t):(e=this.filter)!=null&&e.acceptNode&&(n=this.filter.acceptNode(t)),n===NodeFilter.FILTER_ACCEPT)return this.currentNode=t,t;let l=this.nextNode();return l&&(this.currentNode=l),l}return t&&(this.currentNode=t),t}else if(this._walkerStack.length>1){this._walkerStack.shift();let n=this.nextNode();return n&&(this.currentNode=n),n}else return null}previousNode(){var n;let t=this._walkerStack[0];if(t.currentNode===t.root){if(this._currentSetFor.has(t))if(this._currentSetFor.delete(t),this._walkerStack.length>1){this._walkerStack.shift();let l=this.previousNode();return l&&(this.currentNode=l),l}else return null;return null}let e=t.previousNode();if(e){if(e.shadowRoot){let l;if(typeof this.filter=="function"?l=this.filter(e):(n=this.filter)!=null&&n.acceptNode&&(l=this.filter.acceptNode(e)),l===NodeFilter.FILTER_ACCEPT)return e&&(this.currentNode=e),e;let r=this.lastChild();return r&&(this.currentNode=r),r}return e&&(this.currentNode=e),e}else if(this._walkerStack.length>1){this._walkerStack.shift();let l=this.previousNode();return l&&(this.currentNode=l),l}else return null}nextSibling(){return null}previousSibling(){return null}parentNode(){return null}constructor(t,e,n,l){this._walkerStack=[],this._currentSetFor=new Set,this._acceptNode=i=>{var a;if(i.nodeType===Node.ELEMENT_NODE){let o=i.shadowRoot;if(o){let c=this._doc.createTreeWalker(o,this.whatToShow,{acceptNode:this._acceptNode});return this._walkerStack.unshift(c),NodeFilter.FILTER_ACCEPT}else{if(typeof this.filter=="function")return this.filter(i);if((a=this.filter)!=null&&a.acceptNode)return this.filter.acceptNode(i);if(this.filter===null)return NodeFilter.FILTER_ACCEPT}}return NodeFilter.FILTER_SKIP},this._doc=t,this.root=e,this.filter=l??null,this.whatToShow=n??NodeFilter.SHOW_ALL,this._currentNode=e,this._walkerStack.unshift(t.createTreeWalker(e,n,this._acceptNode));let r=e.shadowRoot;if(r){let i=this._doc.createTreeWalker(r,this.whatToShow,{acceptNode:this._acceptNode});this._walkerStack.unshift(i)}}};function Zl(t,e,n,l){return zo()?new kc(t,e,n,l):t.createTreeWalker(e,n,l)}function Ql(t,e){let n=(0,h.useRef)(!0),l=(0,h.useRef)(null),r=Pl(t);(0,h.useEffect)(()=>(n.current=!0,()=>{n.current=!1}),[]),(0,h.useEffect)(()=>{let i=l.current;n.current?n.current=!1:(!i||e.some((a,o)=>!Object.is(a,i[o])))&&r(),l.current=e},e)}function Xl(t,e){let n=(0,h.useRef)(!0),l=(0,h.useRef)(null);Ae(()=>(n.current=!0,()=>{n.current=!1}),[]),Ae(()=>{n.current?n.current=!1:(!l.current||e.some((r,i)=>!Object.is(r,l[i])))&&t(),l.current=e},e)}function vt(t,e){if(!t)return!1;let n=window.getComputedStyle(t),l=document.scrollingElement||document.documentElement,r=/(auto|scroll)/.test(n.overflow+n.overflowX+n.overflowY);return t===l&&n.overflow!=="hidden"&&(r=!0),r&&e&&(r=t.scrollHeight!==t.clientHeight||t.scrollWidth!==t.clientWidth),r}function at(t,e){let n=t;for(vt(n,e)&&(n=n.parentElement);n&&!vt(n,e);)n=n.parentElement;return n||document.scrollingElement||document.documentElement}function Jl(t,e){let n=[],l=document.scrollingElement||document.documentElement;do vt(t,e)&&n.push(t),t=t.parentElement;while(t&&t!==l);return n}function bt(t){return Ho()?t.metaKey:t.ctrlKey}var Cc=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function wc(t){return t instanceof HTMLInputElement&&!Cc.has(t.type)||t instanceof HTMLTextAreaElement||t instanceof HTMLElement&&t.isContentEditable}var Nc=0,Kn=new Map;function Mn(t){let[e,n]=(0,h.useState)();return Ae(()=>{if(!t)return;let l=Kn.get(t);if(l)n(l.element.id);else{let r=`react-aria-description-${Nc++}`;n(r);let i=document.createElement("div");i.id=r,i.style.display="none",i.textContent=t,document.body.appendChild(i),l={refCount:0,element:i},Kn.set(t,l)}return l.refCount++,()=>{l&&--l.refCount===0&&(l.element.remove(),Kn.delete(t))}},[t]),{"aria-describedby":t?e:void 0}}function En(t,e,n={}){let{block:l="nearest",inline:r="nearest"}=n;if(t===e)return;let i=t.scrollTop,a=t.scrollLeft,o=e.getBoundingClientRect(),c=t.getBoundingClientRect(),d=window.getComputedStyle(e),u=window.getComputedStyle(t),m=document.scrollingElement||document.documentElement,f=t===m?0:c.top,x=t===m?t.clientHeight:c.bottom,y=t===m?0:c.left,j=t===m?t.clientWidth:c.right,v=parseInt(d.scrollMarginTop,10)||0,S=parseInt(d.scrollMarginBottom,10)||0,p=parseInt(d.scrollMarginLeft,10)||0,g=parseInt(d.scrollMarginRight,10)||0,C=parseInt(u.scrollPaddingTop,10)||0,I=parseInt(u.scrollPaddingBottom,10)||0,D=parseInt(u.scrollPaddingLeft,10)||0,_=parseInt(u.scrollPaddingRight,10)||0,T=parseInt(u.borderTopWidth,10)||0,N=parseInt(u.borderBottomWidth,10)||0,P=parseInt(u.borderLeftWidth,10)||0,K=parseInt(u.borderRightWidth,10)||0,k=o.top-v,M=o.bottom+S,b=o.left-p,E=o.right+g,F=t===m?0:P+K,R=t===m?0:T+N,U=t.offsetWidth-t.clientWidth-F,q=t.offsetHeight-t.clientHeight-R,w=f+T+C,G=x-N-I-q,Z=y+P+D,J=j-K-_;u.direction==="rtl"&&!Fo()?Z+=U:J-=U;let le=k<w||M>G,oe=b<Z||E>J;if(le&&l==="start")i+=k-w;else if(le&&l==="center")i+=(k+M)/2-(w+G)/2;else if(le&&l==="end")i+=M-G;else if(le&&l==="nearest"){let se=k-w,re=M-G;i+=Math.abs(se)<=Math.abs(re)?se:re}if(oe&&r==="start")a+=b-Z;else if(oe&&r==="center")a+=(b+E)/2-(Z+J)/2;else if(oe&&r==="end")a+=E-J;else if(oe&&r==="nearest"){let se=b-Z,re=E-J;a+=Math.abs(se)<=Math.abs(re)?se:re}t.scrollTo({left:a,top:i})}function lt(t,e={}){let{containingElement:n}=e;if(t&&t.isConnected){let a=document.scrollingElement||document.documentElement;if(window.getComputedStyle(a).overflow!=="hidden"&&!Fl()){var l;let{left:o,top:c}=t.getBoundingClientRect();t==null||(l=t.scrollIntoView)==null||l.call(t,{block:"nearest"});let{left:d,top:u}=t.getBoundingClientRect();if(Math.abs(o-d)>1||Math.abs(c-u)>1){var r,i;n==null||(r=n.scrollIntoView)==null||r.call(n,{block:"center",inline:"center"}),(i=t.scrollIntoView)==null||i.call(t,{block:"nearest"})}}else{let{left:o,top:c}=t.getBoundingClientRect(),d=Jl(t,!0);for(let f of d)En(f,t);let{left:u,top:m}=t.getBoundingClientRect();if(Math.abs(o-u)>1||Math.abs(c-m)>1){d=n?Jl(n,!0):[];for(let f of d)En(f,n,{block:"center",inline:"center"})}}}}function es(t,e){let{collection:n,onLoadMore:l,scrollOffset:r=1}=t,i=(0,h.useRef)(null),a=Pl(o=>{for(let c of o)c.isIntersecting&&l&&l()});Ae(()=>(e.current&&(i.current=new IntersectionObserver(a,{root:at(e==null?void 0:e.current),rootMargin:`0px ${100*r}% ${100*r}% ${100*r}%`}),i.current.observe(e.current)),()=>{i.current&&i.current.disconnect()}),[n,e,r])}function ts(t){let e=h.version.split(".");return parseInt(e[0],10)>=19?t:t?"true":void 0}var Sc="react-aria-clear-focus",Ic="react-aria-focus",Dn=new Map;function _n(t){let{locale:e}=It(),n=e+(t?Object.entries(t).sort((r,i)=>r[0]<i[0]?-1:1).join():"");if(Dn.has(n))return Dn.get(n);let l=new Intl.Collator(e,t);return Dn.set(n,l),l}var Kc=500;function Mc(t){let{isDisabled:e,onLongPressStart:n,onLongPressEnd:l,onLongPress:r,threshold:i=Kc,accessibilityDescription:a}=t,o=(0,h.useRef)(void 0),{addGlobalListener:c,removeGlobalListener:d}=Oo(),{pressProps:u}=Al({isDisabled:e,onPressStart(m){if(m.continuePropagation(),(m.pointerType==="mouse"||m.pointerType==="touch")&&(n&&n({...m,type:"longpressstart"}),o.current=setTimeout(()=>{m.target.dispatchEvent(new PointerEvent("pointercancel",{bubbles:!0})),we(m.target).activeElement!==m.target&&wn(m.target),r&&r({...m,type:"longpress"}),o.current=void 0},i),m.pointerType==="touch")){let f=x=>{x.preventDefault()};c(m.target,"contextmenu",f,{once:!0}),c(window,"pointerup",()=>{setTimeout(()=>{d(m.target,"contextmenu",f)},30)},{once:!0})}},onPressEnd(m){o.current&&clearTimeout(o.current),l&&(m.pointerType==="mouse"||m.pointerType==="touch")&&l({...m,type:"longpressend"})}});return{longPressProps:Ve(u,Mn(r&&!e?a:void 0))}}var ns=h.createContext(null),Pn="react-aria-focus-scope-restore",ne=null;function ls(t){let{children:e,contain:n,restoreFocus:l,autoFocus:r}=t,i=(0,h.useRef)(null),a=(0,h.useRef)(null),o=(0,h.useRef)([]),{parentNode:c}=(0,h.useContext)(ns)||{},d=(0,h.useMemo)(()=>new Fn({scopeRef:o}),[o]);Ae(()=>{let f=c||fe.root;if(fe.getTreeNode(f.scopeRef)&&ne&&!Zt(ne,f.scopeRef)){let x=fe.getTreeNode(ne);x&&(f=x)}f.addChild(d),fe.addNode(d)},[d,c]),Ae(()=>{let f=fe.getTreeNode(o);f&&(f.contain=!!n)},[n]),Ae(()=>{var j;let f=(j=i.current)==null?void 0:j.nextSibling,x=[],y=v=>v.stopPropagation();for(;f&&f!==a.current;)x.push(f),f.addEventListener(Pn,y),f=f.nextSibling;return o.current=x,()=>{for(let v of x)v.removeEventListener(Pn,y)}},[e]),Fc(o,l,n),Pc(o,n),Rc(o,l,n),Tc(o,r),(0,h.useEffect)(()=>{let f=je(we(o.current?o.current[0]:void 0)),x=null;if(Oe(f,o.current)){for(let y of fe.traverse())y.scopeRef&&Oe(f,y.scopeRef.current)&&(x=y);x===fe.getTreeNode(o)&&(ne=x.scopeRef)}},[o]),Ae(()=>()=>{var x,y;let f=((y=(x=fe.getTreeNode(o))==null?void 0:x.parent)==null?void 0:y.scopeRef)??null;(o===ne||Zt(o,ne))&&(!f||fe.getTreeNode(f))&&(ne=f),fe.removeTreeNode(o)},[o]);let u=(0,h.useMemo)(()=>Ec(o),[]),m=(0,h.useMemo)(()=>({focusManager:u,parentNode:d}),[d,u]);return h.createElement(ns.Provider,{value:m},h.createElement("span",{"data-focus-scope-start":!0,hidden:!0,ref:i}),e,h.createElement("span",{"data-focus-scope-end":!0,hidden:!0,ref:a}))}function Ec(t){return{focusNext(e={}){let n=t.current,{from:l,tabbable:r,wrap:i,accept:a}=e,o=l||je(we(n[0]??void 0)),c=n[0].previousElementSibling,d=ke(pt(n),{tabbable:r,accept:a},n);d.currentNode=Oe(o,n)?o:c;let u=d.nextNode();return!u&&i&&(d.currentNode=c,u=d.nextNode()),u&&Fe(u,!0),u},focusPrevious(e={}){let n=t.current,{from:l,tabbable:r,wrap:i,accept:a}=e,o=l||je(we(n[0]??void 0)),c=n[n.length-1].nextElementSibling,d=ke(pt(n),{tabbable:r,accept:a},n);d.currentNode=Oe(o,n)?o:c;let u=d.previousNode();return!u&&i&&(d.currentNode=c,u=d.previousNode()),u&&Fe(u,!0),u},focusFirst(e={}){let n=t.current,{tabbable:l,accept:r}=e,i=ke(pt(n),{tabbable:l,accept:r},n);i.currentNode=n[0].previousElementSibling;let a=i.nextNode();return a&&Fe(a,!0),a},focusLast(e={}){let n=t.current,{tabbable:l,accept:r}=e,i=ke(pt(n),{tabbable:l,accept:r},n);i.currentNode=n[n.length-1].nextElementSibling;let a=i.previousNode();return a&&Fe(a,!0),a}}}function pt(t){return t[0].parentElement}function Et(t){let e=fe.getTreeNode(ne);for(;e&&e.scopeRef!==t;){if(e.contain)return!1;e=e.parent}return!0}function Dc(t){if(!t.form)return Array.from(we(t).querySelectorAll(`input[type="radio"][name="${CSS.escape(t.name)}"]`)).filter(l=>!l.form);let e=t.form.elements.namedItem(t.name),n=Bo(t);return e instanceof n.RadioNodeList?Array.from(e).filter(l=>l instanceof n.HTMLInputElement):e instanceof n.HTMLInputElement?[e]:[]}function _c(t){if(t.checked)return!0;let e=Dc(t);return e.length>0&&!e.some(n=>n.checked)}function Pc(t,e){let n=(0,h.useRef)(void 0),l=(0,h.useRef)(void 0);Ae(()=>{let r=t.current;if(!e){l.current&&(l.current=(cancelAnimationFrame(l.current),void 0));return}let i=we(r?r[0]:void 0),a=d=>{if(d.key!=="Tab"||d.altKey||d.ctrlKey||d.metaKey||!Et(t)||d.isComposing)return;let u=je(i),m=t.current;if(!m||!Oe(u,m))return;let f=ke(pt(m),{tabbable:!0},m);if(!u)return;f.currentNode=u;let x=d.shiftKey?f.previousNode():f.nextNode();x||(x=(f.currentNode=d.shiftKey?m[m.length-1].nextElementSibling:m[0].previousElementSibling,d.shiftKey?f.previousNode():f.nextNode())),d.preventDefault(),x&&Fe(x,!0)},o=d=>{(!ne||Zt(ne,t))&&Oe(Ne(d),t.current)?(ne=t,n.current=Ne(d)):Et(t)&&!ot(Ne(d),t)?n.current?n.current.focus():ne&&ne.current&&An(ne.current):Et(t)&&(n.current=Ne(d))},c=d=>{l.current&&cancelAnimationFrame(l.current),l.current=requestAnimationFrame(()=>{let u=vn(),m=(u==="virtual"||u===null)&&Lo()&&Fl(),f=je(i);if(!m&&f&&Et(t)&&!ot(f,t)){ne=t;let y=Ne(d);if(y&&y.isConnected){var x;n.current=y,(x=n.current)==null||x.focus()}else ne.current&&An(ne.current)}})};return i.addEventListener("keydown",a,!1),i.addEventListener("focusin",o,!1),r==null||r.forEach(d=>d.addEventListener("focusin",o,!1)),r==null||r.forEach(d=>d.addEventListener("focusout",c,!1)),()=>{i.removeEventListener("keydown",a,!1),i.removeEventListener("focusin",o,!1),r==null||r.forEach(d=>d.removeEventListener("focusin",o,!1)),r==null||r.forEach(d=>d.removeEventListener("focusout",c,!1))}},[t,e]),Ae(()=>()=>{l.current&&cancelAnimationFrame(l.current)},[l])}function ss(t){return ot(t)}function Oe(t,e){return!t||!e?!1:e.some(n=>Te(n,t))}function ot(t,e=null){if(t instanceof Element&&t.closest("[data-react-aria-top-layer]"))return!0;for(let{scopeRef:n}of fe.traverse(fe.getTreeNode(e)))if(n&&Oe(t,n.current))return!0;return!1}function Ac(t){return ot(t,ne)}function Zt(t,e){var l;let n=(l=fe.getTreeNode(e))==null?void 0:l.parent;for(;n;){if(n.scopeRef===t)return!0;n=n.parent}return!1}function Fe(t,e=!1){if(t!=null&&!e)try{Ue(t)}catch{}else if(t!=null)try{t.focus()}catch{}}function rs(t,e=!0){let n=t[0].previousElementSibling,l=pt(t),r=ke(l,{tabbable:e},t);r.currentNode=n;let i=r.nextNode();return e&&!i&&(l=pt(t),r=ke(l,{tabbable:!1},t),r.currentNode=n,i=r.nextNode()),i}function An(t,e=!0){Fe(rs(t,e))}function Tc(t,e){let n=h.useRef(e);(0,h.useEffect)(()=>{n.current&&(ne=t,!Oe(je(we(t.current?t.current[0]:void 0)),ne.current)&&t.current&&An(t.current)),n.current=!1},[t])}function Fc(t,e,n){Ae(()=>{if(e||n)return;let l=t.current,r=we(l?l[0]:void 0),i=a=>{let o=Ne(a);Oe(o,t.current)?ne=t:ss(o)||(ne=null)};return r.addEventListener("focusin",i,!1),l==null||l.forEach(a=>a.addEventListener("focusin",i,!1)),()=>{r.removeEventListener("focusin",i,!1),l==null||l.forEach(a=>a.removeEventListener("focusin",i,!1))}},[t,e,n])}function is(t){let e=fe.getTreeNode(ne);for(;e&&e.scopeRef!==t;){if(e.nodeToRestore)return!1;e=e.parent}return(e==null?void 0:e.scopeRef)===t}function Rc(t,e,n){let l=(0,h.useRef)(typeof document<"u"?je(we(t.current?t.current[0]:void 0)):null);Ae(()=>{let r=t.current,i=we(r?r[0]:void 0);if(!e||n)return;let a=()=>{(!ne||Zt(ne,t))&&Oe(je(i),t.current)&&(ne=t)};return i.addEventListener("focusin",a,!1),r==null||r.forEach(o=>o.addEventListener("focusin",a,!1)),()=>{i.removeEventListener("focusin",a,!1),r==null||r.forEach(o=>o.removeEventListener("focusin",a,!1))}},[t,n]),Ae(()=>{let r=we(t.current?t.current[0]:void 0);if(!e)return;let i=a=>{if(a.key!=="Tab"||a.altKey||a.ctrlKey||a.metaKey||!Et(t)||a.isComposing)return;let o=r.activeElement;if(!ot(o,t)||!is(t))return;let c=fe.getTreeNode(t);if(!c)return;let d=c.nodeToRestore,u=ke(r.body,{tabbable:!0});u.currentNode=o;let m=a.shiftKey?u.previousNode():u.nextNode();if((!d||!d.isConnected||d===r.body)&&(d=void 0,c.nodeToRestore=void 0),(!m||!ot(m,t))&&d){u.currentNode=d;do m=a.shiftKey?u.previousNode():u.nextNode();while(ot(m,t));a.preventDefault(),a.stopPropagation(),m?Fe(m,!0):ss(d)?Fe(d,!0):o.blur()}};return n||r.addEventListener("keydown",i,!0),()=>{n||r.removeEventListener("keydown",i,!0)}},[t,e,n]),Ae(()=>{let r=we(t.current?t.current[0]:void 0);if(!e)return;let i=fe.getTreeNode(t);if(i)return i.nodeToRestore=l.current??void 0,()=>{let a=fe.getTreeNode(t);if(!a)return;let o=a.nodeToRestore,c=je(r);if(e&&o&&(c&&ot(c,t)||c===r.body&&is(t))){let d=fe.clone();requestAnimationFrame(()=>{if(r.activeElement===r.body){let u=d.getTreeNode(t);for(;u;){if(u.nodeToRestore&&u.nodeToRestore.isConnected){as(u.nodeToRestore);return}u=u.parent}for(u=d.getTreeNode(t);u;){if(u.scopeRef&&u.scopeRef.current&&fe.getTreeNode(u.scopeRef)){as(rs(u.scopeRef.current,!0));return}u=u.parent}}})}}},[t,e])}function as(t){t.dispatchEvent(new CustomEvent(Pn,{bubbles:!0,cancelable:!0}))&&Fe(t)}function ke(t,e,n){let l=e!=null&&e.tabbable?_l:Vo,r=we((t==null?void 0:t.nodeType)===Node.ELEMENT_NODE?t:null),i=Zl(r,t||r,NodeFilter.SHOW_ELEMENT,{acceptNode(a){return Te(e==null?void 0:e.from,a)||e!=null&&e.tabbable&&a.tagName==="INPUT"&&a.getAttribute("type")==="radio"&&(!_c(a)||i.currentNode.tagName==="INPUT"&&i.currentNode.type==="radio"&&i.currentNode.name===a.name)?NodeFilter.FILTER_REJECT:l(a)&&(!n||Oe(a,n))&&(!(e!=null&&e.accept)||e.accept(a))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});return e!=null&&e.from&&(i.currentNode=e.from),i}function zc(t,e={}){return{focusNext(n={}){let l=t.current;if(!l)return null;let{from:r,tabbable:i=e.tabbable,wrap:a=e.wrap,accept:o=e.accept}=n,c=r||je(we(l)),d=ke(l,{tabbable:i,accept:o});Te(l,c)&&(d.currentNode=c);let u=d.nextNode();return!u&&a&&(d.currentNode=l,u=d.nextNode()),u&&Fe(u,!0),u},focusPrevious(n=e){let l=t.current;if(!l)return null;let{from:r,tabbable:i=e.tabbable,wrap:a=e.wrap,accept:o=e.accept}=n,c=r||je(we(l)),d=ke(l,{tabbable:i,accept:o});if(Te(l,c))d.currentNode=c;else{let m=Tn(d);return m&&Fe(m,!0),m??null}let u=d.previousNode();if(!u&&a){d.currentNode=l;let m=Tn(d);if(!m)return null;u=m}return u&&Fe(u,!0),u??null},focusFirst(n=e){let l=t.current;if(!l)return null;let{tabbable:r=e.tabbable,accept:i=e.accept}=n,a=ke(l,{tabbable:r,accept:i}).nextNode();return a&&Fe(a,!0),a},focusLast(n=e){let l=t.current;if(!l)return null;let{tabbable:r=e.tabbable,accept:i=e.accept}=n,a=Tn(ke(l,{tabbable:r,accept:i}));return a&&Fe(a,!0),a??null}}}function Tn(t){let e,n;do n=t.lastChild(),n&&(e=n);while(n);return e}var Bc=class Zi{get size(){return this.fastMap.size}getTreeNode(e){return this.fastMap.get(e)}addTreeNode(e,n,l){let r=this.fastMap.get(n??null);if(!r)return;let i=new Fn({scopeRef:e});r.addChild(i),i.parent=r,this.fastMap.set(e,i),l&&(i.nodeToRestore=l)}addNode(e){this.fastMap.set(e.scopeRef,e)}removeTreeNode(e){if(e===null)return;let n=this.fastMap.get(e);if(!n)return;let l=n.parent;for(let i of this.traverse())i!==n&&n.nodeToRestore&&i.nodeToRestore&&n.scopeRef&&n.scopeRef.current&&Oe(i.nodeToRestore,n.scopeRef.current)&&(i.nodeToRestore=n.nodeToRestore);let r=n.children;l&&(l.removeChild(n),r.size>0&&r.forEach(i=>l&&l.addChild(i))),this.fastMap.delete(n.scopeRef)}*traverse(e=this.root){if(e.scopeRef!=null&&(yield e),e.children.size>0)for(let n of e.children)yield*this.traverse(n)}clone(){var n;let e=new Zi;for(let l of this.traverse())e.addTreeNode(l.scopeRef,((n=l.parent)==null?void 0:n.scopeRef)??null,l.nodeToRestore);return e}constructor(){this.fastMap=new Map,this.root=new Fn({scopeRef:null}),this.fastMap.set(null,this.root)}},Fn=class{addChild(t){this.children.add(t),t.parent=this}removeChild(t){this.children.delete(t),t.parent=void 0}constructor(t){this.children=new Set,this.contain=!1,this.scopeRef=t.scopeRef}},fe=new Bc;function Lc(t,e){let n=e==null?void 0:e.isDisabled,[l,r]=(0,h.useState)(!1);return Ae(()=>{if(t!=null&&t.current&&!n){let i=()=>{t.current&&r(!!ke(t.current,{tabbable:!0}).nextNode())};i();let a=new MutationObserver(i);return a.observe(t.current,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["tabIndex","disabled"]}),()=>{a.disconnect()}}}),n?!1:l}function os(t){let e=Vc(we(t));e!==t&&(e&&$c(e,t),t&&cs(t,e))}function $c(t,e){t.dispatchEvent(new FocusEvent("blur",{relatedTarget:e})),t.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:e}))}function cs(t,e){t.dispatchEvent(new FocusEvent("focus",{relatedTarget:e})),t.dispatchEvent(new FocusEvent("focusin",{bubbles:!0,relatedTarget:e}))}function Vc(t){let e=je(t),n=e==null?void 0:e.getAttribute("aria-activedescendant");return n&&t.getElementById(n)||e}var ds={border:0,clip:"rect(0 0 0 0)",clipPath:"inset(50%)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"};function Dt(t={}){let{style:e,isFocusable:n}=t,[l,r]=(0,h.useState)(!1),{focusWithinProps:i}=oo({isDisabled:!n,onFocusWithinChange:o=>r(o)}),a=(0,h.useMemo)(()=>l?e:e?{...ds,...e}:ds,[l]);return{visuallyHiddenProps:{...i,style:a}}}function Oc(t){let{children:e,elementType:n="div",isFocusable:l,style:r,...i}=t,{visuallyHiddenProps:a}=Dt(t);return h.createElement(n,Ve(i,a),e)}function Rn(t){return Ro()?t.altKey:t.ctrlKey}function Qt(t,e){var r,i;let n=`[data-key="${CSS.escape(String(e))}"]`,l=(r=t.current)==null?void 0:r.dataset.collection;return l&&(n=`[data-collection="${CSS.escape(l)}"]${n}`),(i=t.current)==null?void 0:i.querySelector(n)}var us=new WeakMap;function Hc(t){let e=St();return us.set(t,e),e}function Gc(t){return us.get(t)}var Uc=1e3;function Wc(t){let{keyboardDelegate:e,selectionManager:n,onTypeSelect:l}=t,r=(0,h.useRef)({search:"",timeout:void 0}).current;return{typeSelectProps:{onKeyDownCapture:e.getKeyForSearch?i=>{let a=qc(i.key);if(!(!a||i.ctrlKey||i.metaKey||!Te(i.currentTarget,Ne(i))||r.search.length===0&&a===" ")){if(a===" "&&r.search.trim().length>0&&(i.preventDefault(),"continuePropagation"in i||i.stopPropagation()),r.search+=a,e.getKeyForSearch!=null){let o=e.getKeyForSearch(r.search,n.focusedKey);o??(o=e.getKeyForSearch(r.search)),o!=null&&(n.setFocusedKey(o),l&&l(o))}clearTimeout(r.timeout),r.timeout=setTimeout(()=>{r.search=""},Uc)}}:void 0}}}function qc(t){return t.length===1||!/^[A-Z]/i.test(t)?t:""}var Yc=dl();function Zc(t){let{selectionManager:e,keyboardDelegate:n,ref:l,autoFocus:r=!1,shouldFocusWrap:i=!1,disallowEmptySelection:a=!1,disallowSelectAll:o=!1,escapeKeyBehavior:c="clearSelection",selectOnFocus:d=e.selectionBehavior==="replace",disallowTypeAhead:u=!1,shouldUseVirtualFocus:m,allowsTabNavigation:f=!1,scrollRef:x=l,linkBehavior:y="action"}=t,{direction:j}=It(),v=Tl(),S=b=>{var F,R,U,q,w,G,Z,J,le,oe,se,re;if(b.altKey&&b.key==="Tab"&&b.preventDefault(),!l.current||!Te(l.current,Ne(b)))return;let E=(A,ee)=>{if(A!=null){if(e.isLink(A)&&y==="selection"&&d&&!Rn(b)){(0,Yc.flushSync)(()=>{e.setFocusedKey(A,ee)});let X=Qt(l,A),Q=e.getItemProps(A);X&&v.open(X,b,Q.href,Q.routerOptions);return}if(e.setFocusedKey(A,ee),e.isLink(A)&&y==="override")return;b.shiftKey&&e.selectionMode==="multiple"?e.extendSelection(A):d&&!Rn(b)&&e.replaceSelection(A)}};switch(b.key){case"ArrowDown":if(n.getKeyBelow){let A=e.focusedKey==null?(F=n.getFirstKey)==null?void 0:F.call(n):(R=n.getKeyBelow)==null?void 0:R.call(n,e.focusedKey);A==null&&i&&(A=(U=n.getFirstKey)==null?void 0:U.call(n,e.focusedKey)),A!=null&&(b.preventDefault(),E(A))}break;case"ArrowUp":if(n.getKeyAbove){let A=e.focusedKey==null?(q=n.getLastKey)==null?void 0:q.call(n):(w=n.getKeyAbove)==null?void 0:w.call(n,e.focusedKey);A==null&&i&&(A=(G=n.getLastKey)==null?void 0:G.call(n,e.focusedKey)),A!=null&&(b.preventDefault(),E(A))}break;case"ArrowLeft":if(n.getKeyLeftOf){let A=e.focusedKey==null?null:(Z=n.getKeyLeftOf)==null?void 0:Z.call(n,e.focusedKey);A==null&&i&&(A=j==="rtl"?(J=n.getFirstKey)==null?void 0:J.call(n,e.focusedKey):(le=n.getLastKey)==null?void 0:le.call(n,e.focusedKey)),A!=null&&(b.preventDefault(),E(A,j==="rtl"?"first":"last"))}break;case"ArrowRight":if(n.getKeyRightOf){let A=e.focusedKey==null?null:(oe=n.getKeyRightOf)==null?void 0:oe.call(n,e.focusedKey);A==null&&i&&(A=j==="rtl"?(se=n.getLastKey)==null?void 0:se.call(n,e.focusedKey):(re=n.getFirstKey)==null?void 0:re.call(n,e.focusedKey)),A!=null&&(b.preventDefault(),E(A,j==="rtl"?"last":"first"))}break;case"Home":if(n.getFirstKey){if(e.focusedKey===null&&b.shiftKey)return;b.preventDefault();let A=n.getFirstKey(e.focusedKey,bt(b));e.setFocusedKey(A),A!=null&&(bt(b)&&b.shiftKey&&e.selectionMode==="multiple"?e.extendSelection(A):d&&e.replaceSelection(A))}break;case"End":if(n.getLastKey){if(e.focusedKey===null&&b.shiftKey)return;b.preventDefault();let A=n.getLastKey(e.focusedKey,bt(b));e.setFocusedKey(A),A!=null&&(bt(b)&&b.shiftKey&&e.selectionMode==="multiple"?e.extendSelection(A):d&&e.replaceSelection(A))}break;case"PageDown":if(n.getKeyPageBelow&&e.focusedKey!=null){let A=n.getKeyPageBelow(e.focusedKey);A!=null&&(b.preventDefault(),E(A))}break;case"PageUp":if(n.getKeyPageAbove&&e.focusedKey!=null){let A=n.getKeyPageAbove(e.focusedKey);A!=null&&(b.preventDefault(),E(A))}break;case"a":bt(b)&&e.selectionMode==="multiple"&&o!==!0&&(b.preventDefault(),e.selectAll());break;case"Escape":c==="clearSelection"&&!a&&e.selectedKeys.size!==0&&(b.stopPropagation(),b.preventDefault(),e.clearSelection());break;case"Tab":if(!f){if(b.shiftKey)l.current.focus();else{let A=ke(l.current,{tabbable:!0}),ee,X;do X=A.lastChild(),X&&(ee=X);while(X);let Q=je();ee&&(!Cn(ee)||Q&&!_l(Q))&&wn(ee)}break}}},p=(0,h.useRef)({top:0,left:0});Gt(x,"scroll",()=>{var b,E;p.current={top:((b=x.current)==null?void 0:b.scrollTop)??0,left:((E=x.current)==null?void 0:E.scrollLeft)??0}});let g=b=>{var E,F;if(e.isFocused){Te(b.currentTarget,Ne(b))||e.setFocused(!1);return}if(Te(b.currentTarget,Ne(b))){if(e.setFocused(!0),e.focusedKey==null){let R=q=>{q!=null&&(e.setFocusedKey(q),d&&!e.isSelected(q)&&e.replaceSelection(q))},U=b.relatedTarget;U&&b.currentTarget.compareDocumentPosition(U)&Node.DOCUMENT_POSITION_FOLLOWING?R(e.lastSelectedKey??((E=n.getLastKey)==null?void 0:E.call(n))):R(e.firstSelectedKey??((F=n.getFirstKey)==null?void 0:F.call(n)))}else x.current&&(x.current.scrollTop=p.current.top,x.current.scrollLeft=p.current.left);if(e.focusedKey!=null&&x.current){let R=Qt(l,e.focusedKey);R instanceof HTMLElement&&(!Cn(R)&&!m&&wn(R),vn()==="keyboard"&<(R,{containingElement:l.current}))}}},C=b=>{Te(b.currentTarget,b.relatedTarget)||e.setFocused(!1)},I=(0,h.useRef)(!1);Gt(l,Ic,m?b=>{let{detail:E}=b;b.stopPropagation(),e.setFocused(!0),(E==null?void 0:E.focusStrategy)==="first"&&(I.current=!0)}:void 0),Xl(()=>{var b;if(I.current){let E=((b=n.getFirstKey)==null?void 0:b.call(n))??null;if(E==null){let F=je();os(l.current),cs(F,null),e.collection.size>0&&(I.current=!1)}else e.setFocusedKey(E),I.current=!1}},[e.collection]),Xl(()=>{e.collection.size>0&&(I.current=!1)},[e.focusedKey]),Gt(l,Sc,m?b=>{var E;b.stopPropagation(),e.setFocused(!1),(E=b.detail)!=null&&E.clearFocusKey&&e.setFocusedKey(null)}:void 0);let D=(0,h.useRef)(r),_=(0,h.useRef)(!1);(0,h.useEffect)(()=>{var b,E;if(D.current){let F=null;r==="first"&&(F=((b=n.getFirstKey)==null?void 0:b.call(n))??null),r==="last"&&(F=((E=n.getLastKey)==null?void 0:E.call(n))??null);let R=e.selectedKeys;if(R.size){for(let U of R)if(e.canSelectItem(U)){F=U;break}}e.setFocused(!0),e.setFocusedKey(F),F==null&&!m&&l.current&&Ue(l.current),e.collection.size>0&&(D.current=!1,_.current=!0)}});let T=(0,h.useRef)(e.focusedKey),N=(0,h.useRef)(null);(0,h.useEffect)(()=>{if(e.isFocused&&e.focusedKey!=null&&(e.focusedKey!==T.current||_.current)&&x.current&&l.current){let b=vn(),E=Qt(l,e.focusedKey);if(!(E instanceof HTMLElement))return;(b==="keyboard"||_.current)&&(N.current&&cancelAnimationFrame(N.current),N.current=requestAnimationFrame(()=>{x.current&&(En(x.current,E),b!=="virtual"&<(E,{containingElement:l.current}))}))}!m&&e.isFocused&&e.focusedKey==null&&T.current!=null&&l.current&&Ue(l.current),T.current=e.focusedKey,_.current=!1}),(0,h.useEffect)(()=>()=>{N.current&&cancelAnimationFrame(N.current)},[]),Gt(l,"react-aria-focus-scope-restore",b=>{b.preventDefault(),e.setFocused(!0)});let P={onKeyDown:S,onFocus:g,onBlur:C,onMouseDown(b){x.current===Ne(b)&&b.preventDefault()}},{typeSelectProps:K}=Wc({keyboardDelegate:n,selectionManager:e});u||(P=Ve(K,P));let k;m||(k=e.focusedKey==null?0:-1);let M=Hc(e.collection);return{collectionProps:Ve(P,{tabIndex:k,"data-collection":M})}}function ms(t){let{id:e,selectionManager:n,key:l,ref:r,shouldSelectOnPressUp:i,shouldUseVirtualFocus:a,focus:o,isDisabled:c,onAction:d,allowsDifferentPressOrigin:u,linkBehavior:m="action"}=t,f=Tl();e=St(e);let x=w=>{if(w.pointerType==="keyboard"&&Rn(w))n.toggleSelection(l);else{if(n.selectionMode==="none")return;if(n.isLink(l)){if(m==="selection"&&r.current){let G=n.getItemProps(l);f.open(r.current,w,G.href,G.routerOptions),n.setSelectedKeys(n.selectedKeys);return}else if(m==="override"||m==="none")return}n.selectionMode==="single"?n.isSelected(l)&&!n.disallowEmptySelection?n.toggleSelection(l):n.replaceSelection(l):w&&w.shiftKey?n.extendSelection(l):n.selectionBehavior==="toggle"||w&&(bt(w)||w.pointerType==="touch"||w.pointerType==="virtual")?n.toggleSelection(l):n.replaceSelection(l)}};(0,h.useEffect)(()=>{l===n.focusedKey&&n.isFocused&&(a?os(r.current):o?o():je()!==r.current&&r.current&&Ue(r.current))},[r,l,n.focusedKey,n.childFocusStrategy,n.isFocused,a]),c||(c=n.isDisabled(l));let y={};!a&&!c?y={tabIndex:l===n.focusedKey?0:-1,onFocus(w){Ne(w)===r.current&&n.setFocusedKey(l)}}:c&&(y.onMouseDown=w=>{w.preventDefault()}),(0,h.useEffect)(()=>{c&&n.focusedKey===l&&n.setFocusedKey(null)},[n,c,l]);let j=n.isLink(l)&&m==="override",v=d&&t.UNSTABLE_itemBehavior==="action",S=n.isLink(l)&&m!=="selection"&&m!=="none",p=!c&&n.canSelectItem(l)&&!j&&!v,g=(d||S)&&!c,C=g&&(n.selectionBehavior==="replace"?!p:!p||n.isEmpty),I=g&&p&&n.selectionBehavior==="replace",D=C||I,_=(0,h.useRef)(null),T=D&&p,N=(0,h.useRef)(!1),P=(0,h.useRef)(!1),K=n.getItemProps(l),k=w=>{if(d){var G;d(),(G=r.current)==null||G.dispatchEvent(new CustomEvent("react-aria-item-action",{bubbles:!0}))}S&&r.current&&f.open(r.current,w,K.href,K.routerOptions)},M={ref:r};if(i?(M.onPressStart=w=>{_.current=w.pointerType,N.current=T,w.pointerType==="keyboard"&&(!D||ps(w.key))&&x(w)},u?(M.onPressUp=C?void 0:w=>{w.pointerType==="mouse"&&p&&x(w)},M.onPress=C?k:w=>{w.pointerType!=="keyboard"&&w.pointerType!=="mouse"&&p&&x(w)}):M.onPress=w=>{if(C||I&&w.pointerType!=="mouse"){if(w.pointerType==="keyboard"&&!hs(w.key))return;k(w)}else w.pointerType!=="keyboard"&&p&&x(w)}):(M.onPressStart=w=>{_.current=w.pointerType,N.current=T,P.current=C,p&&(w.pointerType==="mouse"&&!C||w.pointerType==="keyboard"&&(!g||ps(w.key)))&&x(w)},M.onPress=w=>{(w.pointerType==="touch"||w.pointerType==="pen"||w.pointerType==="virtual"||w.pointerType==="keyboard"&&D&&hs(w.key)||w.pointerType==="mouse"&&P.current)&&(D?k(w):p&&x(w))}),y["data-collection"]=Gc(n.collection),y["data-key"]=l,M.preventFocusOnPress=a,a&&(M=Ve(M,{onPressStart(w){w.pointerType!=="touch"&&(n.setFocused(!0),n.setFocusedKey(l))},onPress(w){w.pointerType==="touch"&&(n.setFocused(!0),n.setFocusedKey(l))}})),K)for(let w of["onPressStart","onPressEnd","onPressChange","onPress","onPressUp","onClick"])K[w]&&(M[w]=Dl(M[w],K[w]));let{pressProps:b,isPressed:E}=Al(M),F=I?w=>{_.current==="mouse"&&(w.stopPropagation(),w.preventDefault(),k(w))}:void 0,{longPressProps:R}=Mc({isDisabled:!T,onLongPress(w){w.pointerType==="touch"&&(x(w),n.setSelectionBehavior("toggle"))}}),U=w=>{_.current==="touch"&&N.current&&w.preventDefault()},q=m!=="none"&&n.isLink(l)?w=>{$o.isOpening||w.preventDefault()}:void 0;return{itemProps:Ve(y,p||C||a&&!c?b:{},T?R:{},{onDoubleClick:F,onDragStartCapture:U,onClick:q,id:e},a?{onMouseDown:w=>w.preventDefault()}:void 0),isPressed:E,isSelected:n.isSelected(l),isFocused:n.isFocused&&n.focusedKey===l,isDisabled:c,allowsSelection:p,hasAction:D}}function hs(t){return t==="Enter"}function ps(t){return t===" "}var fs=class{getItemRect(t){let e=this.ref.current;if(!e)return null;let n=t==null?null:Qt(this.ref,t);if(!n)return null;let l=e.getBoundingClientRect(),r=n.getBoundingClientRect();return{x:r.left-l.left-e.clientLeft+e.scrollLeft,y:r.top-l.top-e.clientTop+e.scrollTop,width:r.width,height:r.height}}getContentSize(){let t=this.ref.current;return{width:(t==null?void 0:t.scrollWidth)??0,height:(t==null?void 0:t.scrollHeight)??0}}getVisibleRect(){let t=this.ref.current;return{x:(t==null?void 0:t.scrollLeft)??0,y:(t==null?void 0:t.scrollTop)??0,width:(t==null?void 0:t.clientWidth)??0,height:(t==null?void 0:t.clientHeight)??0}}constructor(t){this.ref=t}},zn=class{isDisabled(t){var e;return this.disabledBehavior==="all"&&(((e=t.props)==null?void 0:e.isDisabled)||this.disabledKeys.has(t.key))}findNextNonDisabled(t,e){let n=t;for(;n!=null;){let l=this.collection.getItem(n);if((l==null?void 0:l.type)==="item"&&!this.isDisabled(l))return n;n=e(n)}return null}getNextKey(t){let e=t;return e=this.collection.getKeyAfter(e),this.findNextNonDisabled(e,n=>this.collection.getKeyAfter(n))}getPreviousKey(t){let e=t;return e=this.collection.getKeyBefore(e),this.findNextNonDisabled(e,n=>this.collection.getKeyBefore(n))}findKey(t,e,n){let l=t,r=this.layoutDelegate.getItemRect(l);if(!r||l==null)return null;let i=r;do{if(l=e(l),l==null)break;r=this.layoutDelegate.getItemRect(l)}while(r&&n(i,r)&&l!=null);return l}isSameRow(t,e){return t.y===e.y||t.x!==e.x}isSameColumn(t,e){return t.x===e.x||t.y!==e.y}getKeyBelow(t){return this.layout==="grid"&&this.orientation==="vertical"?this.findKey(t,e=>this.getNextKey(e),this.isSameRow):this.getNextKey(t)}getKeyAbove(t){return this.layout==="grid"&&this.orientation==="vertical"?this.findKey(t,e=>this.getPreviousKey(e),this.isSameRow):this.getPreviousKey(t)}getNextColumn(t,e){return e?this.getPreviousKey(t):this.getNextKey(t)}getKeyRightOf(t){let e=this.direction==="ltr"?"getKeyRightOf":"getKeyLeftOf";return this.layoutDelegate[e]?(t=this.layoutDelegate[e](t),this.findNextNonDisabled(t,n=>this.layoutDelegate[e](n))):this.layout==="grid"?this.orientation==="vertical"?this.getNextColumn(t,this.direction==="rtl"):this.findKey(t,n=>this.getNextColumn(n,this.direction==="rtl"),this.isSameColumn):this.orientation==="horizontal"?this.getNextColumn(t,this.direction==="rtl"):null}getKeyLeftOf(t){let e=this.direction==="ltr"?"getKeyLeftOf":"getKeyRightOf";return this.layoutDelegate[e]?(t=this.layoutDelegate[e](t),this.findNextNonDisabled(t,n=>this.layoutDelegate[e](n))):this.layout==="grid"?this.orientation==="vertical"?this.getNextColumn(t,this.direction==="ltr"):this.findKey(t,n=>this.getNextColumn(n,this.direction==="ltr"),this.isSameColumn):this.orientation==="horizontal"?this.getNextColumn(t,this.direction==="ltr"):null}getFirstKey(){let t=this.collection.getFirstKey();return this.findNextNonDisabled(t,e=>this.collection.getKeyAfter(e))}getLastKey(){let t=this.collection.getLastKey();return this.findNextNonDisabled(t,e=>this.collection.getKeyBefore(e))}getKeyPageAbove(t){let e=this.ref.current,n=this.layoutDelegate.getItemRect(t);if(!n)return null;if(e&&!vt(e))return this.getFirstKey();let l=t;if(this.orientation==="horizontal"){let r=Math.max(0,n.x+n.width-this.layoutDelegate.getVisibleRect().width);for(;n&&n.x>r&&l!=null;)l=this.getKeyAbove(l),n=l==null?null:this.layoutDelegate.getItemRect(l)}else{let r=Math.max(0,n.y+n.height-this.layoutDelegate.getVisibleRect().height);for(;n&&n.y>r&&l!=null;)l=this.getKeyAbove(l),n=l==null?null:this.layoutDelegate.getItemRect(l)}return l??this.getFirstKey()}getKeyPageBelow(t){let e=this.ref.current,n=this.layoutDelegate.getItemRect(t);if(!n)return null;if(e&&!vt(e))return this.getLastKey();let l=t;if(this.orientation==="horizontal"){let r=Math.min(this.layoutDelegate.getContentSize().width,n.y-n.width+this.layoutDelegate.getVisibleRect().width);for(;n&&n.x<r&&l!=null;)l=this.getKeyBelow(l),n=l==null?null:this.layoutDelegate.getItemRect(l)}else{let r=Math.min(this.layoutDelegate.getContentSize().height,n.y-n.height+this.layoutDelegate.getVisibleRect().height);for(;n&&n.y<r&&l!=null;)l=this.getKeyBelow(l),n=l==null?null:this.layoutDelegate.getItemRect(l)}return l??this.getLastKey()}getKeyForSearch(t,e){if(!this.collator)return null;let n=this.collection,l=e||this.getFirstKey();for(;l!=null;){let r=n.getItem(l);if(!r)return null;let i=r.textValue.slice(0,t.length);if(r.textValue&&this.collator.compare(i,t)===0)return l;l=this.getNextKey(l)}return null}constructor(...t){if(t.length===1){let e=t[0];this.collection=e.collection,this.ref=e.ref,this.collator=e.collator,this.disabledKeys=e.disabledKeys||new Set,this.disabledBehavior=e.disabledBehavior||"all",this.orientation=e.orientation||"vertical",this.direction=e.direction,this.layout=e.layout||"stack",this.layoutDelegate=e.layoutDelegate||new fs(e.ref)}else this.collection=t[0],this.disabledKeys=t[1],this.ref=t[2],this.collator=t[3],this.layout="stack",this.orientation="vertical",this.disabledBehavior="all",this.layoutDelegate=new fs(this.ref);this.layout==="stack"&&this.orientation==="vertical"&&(this.getKeyLeftOf=void 0,this.getKeyRightOf=void 0)}};function gs(t){let{selectionManager:e,collection:n,disabledKeys:l,ref:r,keyboardDelegate:i,layoutDelegate:a}=t,o=_n({usage:"search",sensitivity:"base"}),c=e.disabledBehavior,d=(0,h.useMemo)(()=>i||new zn({collection:n,disabledKeys:l,disabledBehavior:c,ref:r,collator:o,layoutDelegate:a}),[i,a,n,l,r,o,c]),{collectionProps:u}=Zc({...t,ref:r,selectionManager:e,keyboardDelegate:d});return{listProps:u}}var Qc=class{build(t,e){return this.context=e,xs(()=>this.iterateCollection(t))}*iterateCollection(t){let{children:e,items:n}=t;if(h.isValidElement(e)&&e.type===h.Fragment)yield*this.iterateCollection({children:e.props.children,items:n});else if(typeof e=="function"){if(!n)throw Error("props.children was a function but props.items is missing");let l=0;for(let r of n)yield*this.getFullNode({value:r,index:l},{renderer:e}),l++}else{let l=[];h.Children.forEach(e,i=>{i&&l.push(i)});let r=0;for(let i of l){let a=this.getFullNode({element:i,index:r},{});for(let o of a)r++,yield o}}}getKey(t,e,n,l){if(t.key!=null)return t.key;if(e.type==="cell"&&e.key!=null)return`${l}${e.key}`;let r=e.value;if(r!=null){let i=r.key??r.id;if(i==null)throw Error("No key found for item");return i}return l?`${l}.${e.index}`:`$.${e.index}`}getChildState(t,e){return{renderer:e.renderer||t.renderer}}*getFullNode(t,e,n,l){if(h.isValidElement(t.element)&&t.element.type===h.Fragment){let o=[];h.Children.forEach(t.element.props.children,d=>{o.push(d)});let c=t.index??0;for(let d of o)yield*this.getFullNode({element:d,index:c++},e,n,l);return}let r=t.element;if(!r&&t.value&&e&&e.renderer){let o=this.cache.get(t.value);if(o&&(!o.shouldInvalidate||!o.shouldInvalidate(this.context))){o.index=t.index,o.parentKey=l?l.key:null,yield o;return}r=e.renderer(t.value)}if(h.isValidElement(r)){let o=r.type;if(typeof o!="function"&&typeof o.getCollectionNode!="function"){let m=r.type;throw Error(`Unknown element <${m}> in collection.`)}let c=o.getCollectionNode(r.props,this.context),d=t.index??0,u=c.next();for(;!u.done&&u.value;){let m=u.value;t.index=d;let f=m.key??null;f??(f=m.element?null:this.getKey(r,t,e,n));let x=[...this.getFullNode({...m,key:f,index:d,wrapper:Xc(t.wrapper,m.wrapper)},this.getChildState(e,m),n?`${n}${r.key}`:r.key,l)];for(let y of x){if(y.value=m.value??t.value??null,y.value&&this.cache.set(y.value,y),t.type&&y.type!==t.type)throw Error(`Unsupported type <${Bn(y.type)}> in <${Bn((l==null?void 0:l.type)??"unknown parent type")}>. Only <${Bn(t.type)}> is supported.`);d++,yield y}u=c.next(x)}return}if(t.key==null||t.type==null)return;let i=this,a={type:t.type,props:t.props,key:t.key,parentKey:l?l.key:null,value:t.value??null,level:l?l.level+1:0,index:t.index,rendered:t.rendered,textValue:t.textValue??"","aria-label":t["aria-label"],wrapper:t.wrapper,shouldInvalidate:t.shouldInvalidate,hasChildNodes:t.hasChildNodes||!1,childNodes:xs(function*(){if(!t.hasChildNodes||!t.childNodes)return;let o=0;for(let c of t.childNodes()){c.key!=null&&(c.key=`${a.key}${c.key}`);let d=i.getFullNode({...c,index:o},i.getChildState(e,c),a.key,a);for(let u of d)o++,yield u}})};yield a}constructor(){this.cache=new WeakMap}};function xs(t){let e=[],n=null;return{*[Symbol.iterator](){for(let l of e)yield l;n||(n=t());for(let l of n)e.push(l),yield l}}}function Xc(t,e){if(t&&e)return n=>t(e(n));if(t)return t;if(e)return e}function Bn(t){return t[0].toUpperCase()+t.slice(1)}function ys(t,e,n){let l=(0,h.useMemo)(()=>new Qc,[]),{children:r,items:i,collection:a}=t;return(0,h.useMemo)(()=>a||e(l.build({children:r,items:i},n)),[l,r,i,a,n,e])}function vs(t,e){return typeof e.getChildren=="function"?e.getChildren(t.key):t.childNodes}function Jc(t){return ed(t,0)}function ed(t,e){if(e<0)return;let n=0;for(let l of t){if(n===e)return l;n++}}function Ln(t,e,n){if(e.parentKey===n.parentKey)return e.index-n.index;let l=[...bs(t,e),e],r=[...bs(t,n),n],i=l.slice(0,r.length).findIndex((a,o)=>a!==r[o]);return i===-1?l.findIndex(a=>a===n)>=0?1:(r.findIndex(a=>a===e),-1):(e=l[i],n=r[i],e.index-n.index)}function bs(t,e){let n=[],l=e;for(;(l==null?void 0:l.parentKey)!=null;)l=t.getItem(l.parentKey),l&&n.unshift(l);return n}var ft=class{get childNodes(){throw Error("childNodes is not supported")}clone(){let t=new this.constructor(this.key);return t.value=this.value,t.level=this.level,t.hasChildNodes=this.hasChildNodes,t.rendered=this.rendered,t.textValue=this.textValue,t["aria-label"]=this["aria-label"],t.index=this.index,t.parentKey=this.parentKey,t.prevKey=this.prevKey,t.nextKey=this.nextKey,t.firstChildKey=this.firstChildKey,t.lastChildKey=this.lastChildKey,t.props=this.props,t.render=this.render,t.colSpan=this.colSpan,t.colIndex=this.colIndex,t}filter(t,e,n){let l=this.clone();return e.addDescendants(l,t),l}constructor(t){this.value=null,this.level=0,this.hasChildNodes=!1,this.rendered=null,this.textValue="",this["aria-label"]=void 0,this.index=0,this.parentKey=null,this.prevKey=null,this.nextKey=null,this.firstChildKey=null,this.lastChildKey=null,this.props={},this.colSpan=null,this.colIndex=null,this.type=this.constructor.type,this.key=t}},js=class extends ft{filter(t,e,n){let[l,r]=ws(t,e,this.firstChildKey,n),i=this.clone();return i.firstChildKey=l,i.lastChildKey=r,i}},td=class extends ft{};td.type="header";var $n=class extends ft{};$n.type="loader";var ks=class extends js{filter(t,e,n){if(n(this.textValue,this)){let l=this.clone();return e.addDescendants(l,t),l}return null}};ks.type="item";var nd=class extends js{filter(t,e,n){let l=super.filter(t,e,n);if(l&&l.lastChildKey!==null){let r=t.getItem(l.lastChildKey);if(r&&r.type!=="header")return l}return null}};nd.type="section";var Cs=class{get size(){return this.itemCount}getKeys(){return this.keyMap.keys()}*[Symbol.iterator](){let t=this.firstKey==null?void 0:this.keyMap.get(this.firstKey);for(;t;)yield t,t=t.nextKey==null?void 0:this.keyMap.get(t.nextKey)}getChildren(t){let e=this.keyMap;return{*[Symbol.iterator](){let n=e.get(t),l=(n==null?void 0:n.firstChildKey)==null?null:e.get(n.firstChildKey);for(;l;)yield l,l=l.nextKey==null?void 0:e.get(l.nextKey)}}}getKeyBefore(t){let e=this.keyMap.get(t);if(!e)return null;if(e.prevKey!=null){for(e=this.keyMap.get(e.prevKey);e&&e.type!=="item"&&e.lastChildKey!=null;)e=this.keyMap.get(e.lastChildKey);return(e==null?void 0:e.key)??null}return e.parentKey}getKeyAfter(t){let e=this.keyMap.get(t);if(!e)return null;if(e.type!=="item"&&e.firstChildKey!=null)return e.firstChildKey;for(;e;){if(e.nextKey!=null)return e.nextKey;if(e.parentKey!=null)e=this.keyMap.get(e.parentKey);else return null}return null}getFirstKey(){return this.firstKey}getLastKey(){let t=this.lastKey==null?null:this.keyMap.get(this.lastKey);for(;(t==null?void 0:t.lastChildKey)!=null;)t=this.keyMap.get(t.lastChildKey);return(t==null?void 0:t.key)??null}getItem(t){return this.keyMap.get(t)??null}at(){throw Error("Not implemented")}clone(){let t=this.constructor,e=new t;return e.keyMap=new Map(this.keyMap),e.firstKey=this.firstKey,e.lastKey=this.lastKey,e.itemCount=this.itemCount,e}addNode(t){if(this.frozen)throw Error("Cannot add a node to a frozen collection");t.type==="item"&&this.keyMap.get(t.key)==null&&this.itemCount++,this.keyMap.set(t.key,t)}addDescendants(t,e){this.addNode(t);let n=e.getChildren(t.key);for(let l of n)this.addDescendants(l,e)}removeNode(t){if(this.frozen)throw Error("Cannot remove a node to a frozen collection");let e=this.keyMap.get(t);e!=null&&e.type==="item"&&this.itemCount--,this.keyMap.delete(t)}commit(t,e,n=!1){if(this.frozen)throw Error("Cannot commit a frozen collection");this.firstKey=t,this.lastKey=e,this.frozen=!n}filter(t){let e=new this.constructor,[n,l]=ws(this,e,this.firstKey,t);return e==null||e.commit(n,l),e}constructor(){this.keyMap=new Map,this.firstKey=null,this.lastKey=null,this.frozen=!1,this.itemCount=0}};function ws(t,e,n,l){if(n==null)return[null,null];let r=null,i=null,a=t.getItem(n);for(;a!=null;){let o=a.filter(t,e,l);o!=null&&(o.nextKey=null,i&&(o.prevKey=i.key,i.nextKey=o.key),r??(r=o),e.addNode(o),i=o),a=a.nextKey?t.getItem(a.nextKey):null}if(i&&i.type==="separator"){let o=i.prevKey;e.removeNode(i.key),o?(i=e.getItem(o),i.nextKey=null):i=null}return[(r==null?void 0:r.key)??null,(i==null?void 0:i.key)??null]}var Ns=class{*[Symbol.iterator](){let t=this.firstChild;for(;t;)yield t,t=t.nextSibling}get firstChild(){return this._firstChild}set firstChild(t){this._firstChild=t,this.ownerDocument.markDirty(this)}get lastChild(){return this._lastChild}set lastChild(t){this._lastChild=t,this.ownerDocument.markDirty(this)}get previousSibling(){return this._previousSibling}set previousSibling(t){this._previousSibling=t,this.ownerDocument.markDirty(this)}get nextSibling(){return this._nextSibling}set nextSibling(t){this._nextSibling=t,this.ownerDocument.markDirty(this)}get parentNode(){return this._parentNode}set parentNode(t){this._parentNode=t,this.ownerDocument.markDirty(this)}get isConnected(){var t;return((t=this.parentNode)==null?void 0:t.isConnected)||!1}invalidateChildIndices(t){(this._minInvalidChildIndex==null||!this._minInvalidChildIndex.isConnected||t.index<this._minInvalidChildIndex.index)&&(this._minInvalidChildIndex=t,this.ownerDocument.markDirty(this))}updateChildIndices(){let t=this._minInvalidChildIndex;for(;t;)t.index=t.previousSibling?t.previousSibling.index+1:0,t=t.nextSibling;this._minInvalidChildIndex=null}appendChild(t){t.parentNode&&t.parentNode.removeChild(t),this.firstChild??(this.firstChild=t),this.lastChild?(this.lastChild.nextSibling=t,t.index=this.lastChild.index+1,t.previousSibling=this.lastChild):(t.previousSibling=null,t.index=0),t.parentNode=this,t.nextSibling=null,this.lastChild=t,this.ownerDocument.markDirty(this),this.isConnected&&this.ownerDocument.queueUpdate()}insertBefore(t,e){if(e==null)return this.appendChild(t);t.parentNode&&t.parentNode.removeChild(t),t.nextSibling=e,t.previousSibling=e.previousSibling,t.index=e.index-1,this.firstChild===e?this.firstChild=t:e.previousSibling&&(e.previousSibling.nextSibling=t),e.previousSibling=t,t.parentNode=e.parentNode,this.invalidateChildIndices(t),this.isConnected&&this.ownerDocument.queueUpdate()}removeChild(t){t.parentNode===this&&(this._minInvalidChildIndex===t&&(this._minInvalidChildIndex=null),t.nextSibling&&(this.invalidateChildIndices(t.nextSibling),t.nextSibling.previousSibling=t.previousSibling),t.previousSibling&&(t.previousSibling.nextSibling=t.nextSibling),this.firstChild===t&&(this.firstChild=t.nextSibling),this.lastChild===t&&(this.lastChild=t.previousSibling),t.parentNode=null,t.nextSibling=null,t.previousSibling=null,t.index=0,this.ownerDocument.markDirty(t),this.isConnected&&this.ownerDocument.queueUpdate())}addEventListener(){}removeEventListener(){}get previousVisibleSibling(){let t=this.previousSibling;for(;t&&t.isHidden;)t=t.previousSibling;return t}get nextVisibleSibling(){let t=this.nextSibling;for(;t&&t.isHidden;)t=t.nextSibling;return t}get firstVisibleChild(){let t=this.firstChild;for(;t&&t.isHidden;)t=t.nextSibling;return t}get lastVisibleChild(){let t=this.lastChild;for(;t&&t.isHidden;)t=t.previousSibling;return t}constructor(t){this._firstChild=null,this._lastChild=null,this._previousSibling=null,this._nextSibling=null,this._parentNode=null,this._minInvalidChildIndex=null,this.ownerDocument=t}},Vn=class sl extends Ns{get index(){return this._index}set index(e){this._index=e,this.ownerDocument.markDirty(this)}get level(){var e;return this.parentNode instanceof sl?this.parentNode.level+(((e=this.parentNode.node)==null?void 0:e.type)==="item"?1:0):0}getMutableNode(){return this.node==null?null:(this.isMutated||(this.isMutated=(this.node=this.node.clone(),!0)),this.ownerDocument.markDirty(this),this.node)}updateNode(){var l,r,i,a,o,c,d,u;let e=this.nextVisibleSibling,n=this.getMutableNode();if(n!=null&&(n.index=this.index,n.level=this.level,n.parentKey=this.parentNode instanceof sl?((l=this.parentNode.node)==null?void 0:l.key)??null:null,n.prevKey=((i=(r=this.previousVisibleSibling)==null?void 0:r.node)==null?void 0:i.key)??null,n.nextKey=((a=e==null?void 0:e.node)==null?void 0:a.key)??null,n.hasChildNodes=!!this.firstChild,n.firstChildKey=((c=(o=this.firstVisibleChild)==null?void 0:o.node)==null?void 0:c.key)??null,n.lastChildKey=((u=(d=this.lastVisibleChild)==null?void 0:d.node)==null?void 0:u.key)??null,(n.colSpan!=null||n.colIndex!=null)&&e)){let m=(n.colIndex??n.index)+(n.colSpan??1);if(e.node!=null&&m!==e.node.colIndex){let f=e.getMutableNode();f.colIndex=m}}}setProps(e,n,l,r,i){let a,{value:o,textValue:c,id:d,...u}=e;if(this.node==null?(a=new l(d??`react-aria-${++this.ownerDocument.nodeId}`),this.node=a):a=this.getMutableNode(),u.ref=n,a.props=u,a.rendered=r,a.render=i,a.value=o,e["aria-label"]&&(a["aria-label"]=e["aria-label"]),a.textValue=c||(typeof u.children=="string"?u.children:"")||e["aria-label"]||"",d!=null&&d!==a.key)throw Error("Cannot change the id of an item");u.colSpan!=null&&(a.colSpan=u.colSpan),this.isConnected&&this.ownerDocument.queueUpdate()}get style(){let e=this;return{get display(){return e.isHidden?"none":""},set display(n){var r,i;let l=n==="none";if(e.isHidden!==l){(((r=e.parentNode)==null?void 0:r.firstVisibleChild)===e||((i=e.parentNode)==null?void 0:i.lastVisibleChild)===e)&&e.ownerDocument.markDirty(e.parentNode);let a=e.previousVisibleSibling,o=e.nextVisibleSibling;a&&e.ownerDocument.markDirty(a),o&&e.ownerDocument.markDirty(o),e.isHidden=l,e.ownerDocument.markDirty(e)}}}}hasAttribute(){}setAttribute(){}setAttributeNS(){}removeAttribute(){}constructor(e,n){super(n),this.nodeType=8,this.isMutated=!0,this._index=0,this.isHidden=!1,this.node=null}},ld=class extends Ns{get isConnected(){return!0}createElement(t){return new Vn(t,this)}getMutableCollection(){return this.nextCollection||(this.nextCollection=this.collection.clone()),this.nextCollection}markDirty(t){this.dirtyNodes.add(t)}addNode(t){if(t.isHidden||t.node==null)return;let e=this.getMutableCollection();if(!e.getItem(t.node.key))for(let n of t)this.addNode(n);e.addNode(t.node)}removeNode(t){for(let e of t)this.removeNode(e);t.node&&this.getMutableCollection().removeNode(t.node.key)}getCollection(){return this.inSubscription?this.collection:(this.queuedRender=!1,this.updateCollection(),this.collection)}updateCollection(){var t,e,n,l;for(let r of this.dirtyNodes)r instanceof Vn&&(!r.isConnected||r.isHidden)?this.removeNode(r):r.updateChildIndices();for(let r of this.dirtyNodes)r instanceof Vn?(r.isConnected&&!r.isHidden&&(r.updateNode(),this.addNode(r)),r.node&&this.dirtyNodes.delete(r),r.isMutated=!1):this.dirtyNodes.delete(r);this.nextCollection&&(this.nextCollection.commit(((e=(t=this.firstVisibleChild)==null?void 0:t.node)==null?void 0:e.key)??null,((l=(n=this.lastVisibleChild)==null?void 0:n.node)==null?void 0:l.key)??null,this.isSSR),this.isSSR||(this.collection=this.nextCollection,this.nextCollection=null))}queueUpdate(){if(!(this.dirtyNodes.size===0||this.queuedRender)){this.queuedRender=!0,this.inSubscription=!0,this.isSSR||(this.collection=this.collection.clone());for(let t of this.subscriptions)t();this.inSubscription=!1}}subscribe(t){return this.subscriptions.add(t),()=>this.subscriptions.delete(t)}resetAfterSSR(){this.isSSR&&(this.isSSR=!1,this.firstChild=null,this.lastChild=null,this.nodeId=0)}constructor(t){super(null),this.nodeType=11,this.ownerDocument=this,this.dirtyNodes=new Set,this.isSSR=!1,this.nodeId=0,this.nodesByProps=new WeakMap,this.nextCollection=null,this.subscriptions=new Set,this.queuedRender=!1,this.inSubscription=!1,this.collection=t,this.nextCollection=t}};function On(t){let{children:e,items:n,idScope:l,addIdAndValue:r,dependencies:i=[]}=t,a=(0,h.useMemo)(()=>new WeakMap,i);return(0,h.useMemo)(()=>{if(n&&typeof e=="function"){let o=[];for(let c of n){let d=a.get(c);if(!d){d=e(c);let u=d.props.id??c.key??c.id;if(u==null)throw Error("Could not determine key for item");l!=null&&(u=l+":"+u),d=(0,h.cloneElement)(d,r?{key:u,id:u,value:c}:{key:u}),a.set(c,d)}o.push(d)}return o}else if(typeof e!="function")return e},[e,n,a,l,r])}var sd=dl(),rd=Wo(),Ss=(0,h.createContext)(!1),_t=(0,h.createContext)(null);function Is(t){if((0,h.useContext)(_t))return t.content;let{collection:e,document:n}=cd(t.createCollection);return h.createElement(h.Fragment,null,h.createElement(co,null,h.createElement(_t.Provider,{value:n},t.content)),h.createElement(id,{render:t.children,collection:e}))}function id({collection:t,render:e}){return e(t)}function ad(t,e,n){let l=Rl(),r=(0,h.useRef)(l);return r.current=l,(0,rd.useSyncExternalStore)(t,(0,h.useCallback)(()=>r.current?n():e(),[e,n]))}var od=typeof h.useSyncExternalStore=="function"?h.useSyncExternalStore:ad;function cd(t){let[e]=(0,h.useState)(()=>new ld((t==null?void 0:t())||new Cs));return{collection:od((0,h.useCallback)(n=>e.subscribe(n),[e]),(0,h.useCallback)(()=>{let n=e.getCollection();return e.isSSR&&e.resetAfterSSR(),n},[e]),(0,h.useCallback)(()=>(e.isSSR=!0,e.getCollection()),[e])),document:e}}var Hn=(0,h.createContext)(null);function dd(t){var e;return e=class extends ft{},e.type=t,e}function Ks(t,e,n,l,r,i){typeof t=="string"&&(t=dd(t));let a=(0,h.useCallback)(c=>{c==null||c.setProps(e,n,t,l,i)},[e,n,l,i,t]),o=(0,h.useContext)(Hn);if(o){let c=o.ownerDocument.nodesByProps.get(e);return c||(c=o.ownerDocument.createElement(t.type),c.setProps(e,n,t,l,i),o.appendChild(c),o.ownerDocument.updateCollection(),o.ownerDocument.nodesByProps.set(e,c)),r?h.createElement(Hn.Provider,{value:c},r):null}return h.createElement(t.type,{ref:a},r)}function Gn(t,e){let n=({node:r})=>e(r.props,r.props.ref,r),l=(0,h.forwardRef)((r,i)=>{let a=(0,h.useContext)(Il);if(!(0,h.useContext)(Ss)){if(e.length>=3)throw Error(e.name+" cannot be rendered outside a collection.");return e(r,i)}return Ks(t,r,i,"children"in r?r.children:null,null,o=>h.createElement(Il.Provider,{value:a},h.createElement(n,{node:o})))});return l.displayName=e.name,l}function ud(t,e,n=Ms){let l=({node:i})=>e(i.props,i.props.ref,i),r=(0,h.forwardRef)((i,a)=>Ks(t,i,a,null,n(i),o=>h.createElement(l,{node:o}))??h.createElement(h.Fragment,null));return r.displayName=e.name,r}function Ms(t){return On({...t,addIdAndValue:!0})}var Es=(0,h.createContext)(null);function Ds(t){let e=(0,h.useContext)(Es),n=((e==null?void 0:e.dependencies)||[]).concat(t.dependencies),l=t.idScope??(e==null?void 0:e.idScope),r=Ms({...t,idScope:l,dependencies:n});return(0,h.useContext)(_t)&&(r=h.createElement(md,null,r)),e=(0,h.useMemo)(()=>({dependencies:n,idScope:l}),[l,...n]),h.createElement(Es.Provider,{value:e},r)}function md({children:t}){let e=(0,h.useContext)(_t),n=(0,h.useMemo)(()=>h.createElement(_t.Provider,{value:null},h.createElement(Ss.Provider,{value:!0},t)),[t]);return Rl()?h.createElement(Hn.Provider,{value:e},n):(0,sd.createPortal)(n,e)}var hd=(0,h.createContext)(null),_s={CollectionRoot({collection:t,renderDropIndicator:e}){return Ps(t,null,e)},CollectionBranch({collection:t,parent:e,renderDropIndicator:n}){return Ps(t,e,n)}};function Ps(t,e,n){return On({items:e?t.getChildren(e.key):t,dependencies:[n],children(l){if(l.type==="content")return h.createElement(h.Fragment,null);let r=l.render(l);return!n||l.type!=="item"?r:h.createElement(h.Fragment,null,n({type:"item",key:l.key,dropPosition:"before"}),r,pd(t,l,n))}})}function pd(t,e,n){let l=e.key,r=t.getKeyAfter(l),i=r==null?null:t.getItem(r);for(;i!=null&&i.type!=="item";)r=t.getKeyAfter(i.key),i=r==null?null:t.getItem(r);let a=e.nextKey==null?null:t.getItem(e.nextKey);for(;a!=null&&a.type!=="item";)a=a.nextKey==null?null:t.getItem(a.nextKey);let o=[];if(a==null){let c=e;for(;(c==null?void 0:c.type)==="item"&&(!i||c.parentKey!==i.parentKey&&i.level<c.level);){let d=n({type:"item",key:c.key,dropPosition:"after"});(0,h.isValidElement)(d)&&o.push((0,h.cloneElement)(d,{key:`${c.key}-after`})),c=c.parentKey==null?null:t.getItem(c.parentKey)}}return o}var Xt=(0,h.createContext)(_s),Un=new WeakMap;function Wn(t,e){let{id:n}=Un.get(t)??{};if(!n)throw Error("Unknown list");return`${n}-${fd(e)}`}function fd(t){return typeof t=="string"?t.replace(/\s*/g,""):""+t}var As={};As={deselectedItem:t=>`${t.item} \u063A\u064A\u0631 \u0627\u0644\u0645\u062D\u062F\u062F`,longPressToSelect:"\u0627\u0636\u063A\u0637 \u0645\u0637\u0648\u0644\u064B\u0627 \u0644\u0644\u062F\u062E\u0648\u0644 \u0625\u0644\u0649 \u0648\u0636\u0639 \u0627\u0644\u062A\u062D\u062F\u064A\u062F.",select:"\u062A\u062D\u062F\u064A\u062F",selectedAll:"\u062C\u0645\u064A\u0639 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0645\u062D\u062F\u062F\u0629.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"\u0644\u0645 \u064A\u062A\u0645 \u062A\u062D\u062F\u064A\u062F \u0639\u0646\u0627\u0635\u0631",one:()=>`${e.number(t.count)} \u0639\u0646\u0635\u0631 \u0645\u062D\u062F\u062F`,other:()=>`${e.number(t.count)} \u0639\u0646\u0635\u0631 \u0645\u062D\u062F\u062F`})}.`,selectedItem:t=>`${t.item} \u0627\u0644\u0645\u062D\u062F\u062F`};var Ts={};Ts={deselectedItem:t=>`${t.item} \u043D\u0435 \u0435 \u0438\u0437\u0431\u0440\u0430\u043D.`,longPressToSelect:"\u041D\u0430\u0442\u0438\u0441\u043D\u0435\u0442\u0435 \u0438 \u0437\u0430\u0434\u0440\u044A\u0436\u0442\u0435 \u0437\u0430 \u0434\u0430 \u0432\u043B\u0435\u0437\u0435\u0442\u0435 \u0432 \u0438\u0437\u0431\u0438\u0440\u0430\u0442\u0435\u043B\u0435\u043D \u0440\u0435\u0436\u0438\u043C.",select:"\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435",selectedAll:"\u0412\u0441\u0438\u0447\u043A\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0441\u0430 \u0438\u0437\u0431\u0440\u0430\u043D\u0438.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"\u041D\u044F\u043C\u0430 \u0438\u0437\u0431\u0440\u0430\u043D\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438",one:()=>`${e.number(t.count)} \u0438\u0437\u0431\u0440\u0430\u043D \u0435\u043B\u0435\u043C\u0435\u043D\u0442`,other:()=>`${e.number(t.count)} \u0438\u0437\u0431\u0440\u0430\u043D\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438`})}.`,selectedItem:t=>`${t.item} \u0438\u0437\u0431\u0440\u0430\u043D.`};var Fs={};Fs={deselectedItem:t=>`Polo\u017Eka ${t.item} nen\xED vybr\xE1na.`,longPressToSelect:"Dlouh\xFDm stisknut\xEDm p\u0159ejdete do re\u017Eimu v\xFDb\u011Bru.",select:"Vybrat",selectedAll:"Vybr\xE1ny v\u0161echny polo\u017Eky.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Nevybr\xE1ny \u017E\xE1dn\xE9 polo\u017Eky",one:()=>`Vybr\xE1na ${e.number(t.count)} polo\u017Eka`,other:()=>`Vybr\xE1no ${e.number(t.count)} polo\u017Eek`})}.`,selectedItem:t=>`Vybr\xE1na polo\u017Eka ${t.item}.`};var Rs={};Rs={deselectedItem:t=>`${t.item} ikke valgt.`,longPressToSelect:"Lav et langt tryk for at aktivere valgtilstand.",select:"V\xE6lg",selectedAll:"Alle elementer valgt.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Ingen elementer valgt",one:()=>`${e.number(t.count)} element valgt`,other:()=>`${e.number(t.count)} elementer valgt`})}.`,selectedItem:t=>`${t.item} valgt.`};var zs={};zs={deselectedItem:t=>`${t.item} nicht ausgew\xE4hlt.`,longPressToSelect:"Gedr\xFCckt halten, um Auswahlmodus zu \xF6ffnen.",select:"Ausw\xE4hlen",selectedAll:"Alle Elemente ausgew\xE4hlt.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Keine Elemente ausgew\xE4hlt",one:()=>`${e.number(t.count)} Element ausgew\xE4hlt`,other:()=>`${e.number(t.count)} Elemente ausgew\xE4hlt`})}.`,selectedItem:t=>`${t.item} ausgew\xE4hlt.`};var Bs={};Bs={deselectedItem:t=>`\u0394\u03B5\u03BD \u03B5\u03C0\u03B9\u03BB\u03AD\u03C7\u03B8\u03B7\u03BA\u03B5 \u03C4\u03BF \u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03BF ${t.item}.`,longPressToSelect:"\u03A0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03C0\u03B1\u03C1\u03B1\u03C4\u03B5\u03C4\u03B1\u03BC\u03AD\u03BD\u03B1 \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03BC\u03C0\u03B5\u03AF\u03C4\u03B5 \u03C3\u03B5 \u03BB\u03B5\u03B9\u03C4\u03BF\u03C5\u03C1\u03B3\u03AF\u03B1 \u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE\u03C2.",select:"\u0395\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE",selectedAll:"\u0395\u03C0\u03B9\u03BB\u03AD\u03C7\u03B8\u03B7\u03BA\u03B1\u03BD \u03CC\u03BB\u03B1 \u03C4\u03B1 \u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"\u0394\u03B5\u03BD \u03B5\u03C0\u03B9\u03BB\u03AD\u03C7\u03B8\u03B7\u03BA\u03B1\u03BD \u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",one:()=>`\u0395\u03C0\u03B9\u03BB\u03AD\u03C7\u03B8\u03B7\u03BA\u03B5 ${e.number(t.count)} \u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03BF`,other:()=>`\u0395\u03C0\u03B9\u03BB\u03AD\u03C7\u03B8\u03B7\u03BA\u03B1\u03BD ${e.number(t.count)} \u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1`})}.`,selectedItem:t=>`\u0395\u03C0\u03B9\u03BB\u03AD\u03C7\u03B8\u03B7\u03BA\u03B5 \u03C4\u03BF \u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03BF ${t.item}.`};var Ls={};Ls={deselectedItem:t=>`${t.item} not selected.`,select:"Select",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"No items selected",one:()=>`${e.number(t.count)} item selected`,other:()=>`${e.number(t.count)} items selected`})}.`,selectedAll:"All items selected.",selectedItem:t=>`${t.item} selected.`,longPressToSelect:"Long press to enter selection mode."};var $s={};$s={deselectedItem:t=>`${t.item} no seleccionado.`,longPressToSelect:"Mantenga pulsado para abrir el modo de selecci\xF3n.",select:"Seleccionar",selectedAll:"Todos los elementos seleccionados.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Ning\xFAn elemento seleccionado",one:()=>`${e.number(t.count)} elemento seleccionado`,other:()=>`${e.number(t.count)} elementos seleccionados`})}.`,selectedItem:t=>`${t.item} seleccionado.`};var Vs={};Vs={deselectedItem:t=>`${t.item} pole valitud.`,longPressToSelect:"Valikure\u017Eiimi sisenemiseks vajutage pikalt.",select:"Vali",selectedAll:"K\xF5ik \xFCksused valitud.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"\xDCksusi pole valitud",one:()=>`${e.number(t.count)} \xFCksus valitud`,other:()=>`${e.number(t.count)} \xFCksust valitud`})}.`,selectedItem:t=>`${t.item} valitud.`};var Os={};Os={deselectedItem:t=>`Kohdetta ${t.item} ei valittu.`,longPressToSelect:"Siirry valintatilaan painamalla pitk\xE4\xE4n.",select:"Valitse",selectedAll:"Kaikki kohteet valittu.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Ei yht\xE4\xE4n kohdetta valittu",one:()=>`${e.number(t.count)} kohde valittu`,other:()=>`${e.number(t.count)} kohdetta valittu`})}.`,selectedItem:t=>`${t.item} valittu.`};var Hs={};Hs={deselectedItem:t=>`${t.item} non s\xE9lectionn\xE9.`,longPressToSelect:"Appuyez de mani\xE8re prolong\xE9e pour passer en mode de s\xE9lection.",select:"S\xE9lectionner",selectedAll:"Tous les \xE9l\xE9ments s\xE9lectionn\xE9s.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Aucun \xE9l\xE9ment s\xE9lectionn\xE9",one:()=>`${e.number(t.count)} \xE9l\xE9ment s\xE9lectionn\xE9`,other:()=>`${e.number(t.count)} \xE9l\xE9ments s\xE9lectionn\xE9s`})}.`,selectedItem:t=>`${t.item} s\xE9lectionn\xE9.`};var Gs={};Gs={deselectedItem:t=>`${t.item} \u05DC\u05D0 \u05E0\u05D1\u05D7\u05E8.`,longPressToSelect:"\u05D4\u05E7\u05E9\u05D4 \u05D0\u05E8\u05D5\u05DB\u05D4 \u05DC\u05DB\u05E0\u05D9\u05E1\u05D4 \u05DC\u05DE\u05E6\u05D1 \u05D1\u05D7\u05D9\u05E8\u05D4.",select:"\u05D1\u05D7\u05E8",selectedAll:"\u05DB\u05DC \u05D4\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD \u05E0\u05D1\u05D7\u05E8\u05D5.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"\u05DC\u05D0 \u05E0\u05D1\u05D7\u05E8\u05D5 \u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",one:()=>`\u05E4\u05E8\u05D9\u05D8 ${e.number(t.count)} \u05E0\u05D1\u05D7\u05E8`,other:()=>`${e.number(t.count)} \u05E4\u05E8\u05D9\u05D8\u05D9\u05DD \u05E0\u05D1\u05D7\u05E8\u05D5`})}.`,selectedItem:t=>`${t.item} \u05E0\u05D1\u05D7\u05E8.`};var Us={};Us={deselectedItem:t=>`Stavka ${t.item} nije odabrana.`,longPressToSelect:"Dugo pritisnite za ulazak u na\u010Din odabira.",select:"Odaberite",selectedAll:"Odabrane su sve stavke.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Nije odabrana nijedna stavka",one:()=>`Odabrana je ${e.number(t.count)} stavka`,other:()=>`Odabrano je ${e.number(t.count)} stavki`})}.`,selectedItem:t=>`Stavka ${t.item} je odabrana.`};var Ws={};Ws={deselectedItem:t=>`${t.item} nincs kijel\xF6lve.`,longPressToSelect:"Nyomja hosszan a kijel\xF6l\xE9shez.",select:"Kijel\xF6l\xE9s",selectedAll:"Az \xF6sszes elem kijel\xF6lve.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Egy elem sincs kijel\xF6lve",one:()=>`${e.number(t.count)} elem kijel\xF6lve`,other:()=>`${e.number(t.count)} elem kijel\xF6lve`})}.`,selectedItem:t=>`${t.item} kijel\xF6lve.`};var qs={};qs={deselectedItem:t=>`${t.item} non selezionato.`,longPressToSelect:"Premi a lungo per passare alla modalit\xE0 di selezione.",select:"Seleziona",selectedAll:"Tutti gli elementi selezionati.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Nessun elemento selezionato",one:()=>`${e.number(t.count)} elemento selezionato`,other:()=>`${e.number(t.count)} elementi selezionati`})}.`,selectedItem:t=>`${t.item} selezionato.`};var Ys={};Ys={deselectedItem:t=>`${t.item} \u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002`,longPressToSelect:"\u9577\u62BC\u3057\u3057\u3066\u9078\u629E\u30E2\u30FC\u30C9\u3092\u958B\u304D\u307E\u3059\u3002",select:"\u9078\u629E",selectedAll:"\u3059\u3079\u3066\u306E\u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F\u3002",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"\u9805\u76EE\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093",one:()=>`${e.number(t.count)} \u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F`,other:()=>`${e.number(t.count)} \u9805\u76EE\u3092\u9078\u629E\u3057\u307E\u3057\u305F`})}\u3002`,selectedItem:t=>`${t.item} \u3092\u9078\u629E\u3057\u307E\u3057\u305F\u3002`};var Zs={};Zs={deselectedItem:t=>`${t.item}\uC774(\uAC00) \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.`,longPressToSelect:"\uC120\uD0DD \uBAA8\uB4DC\uB85C \uB4E4\uC5B4\uAC00\uB824\uBA74 \uAE38\uAC8C \uB204\uB974\uC2ED\uC2DC\uC624.",select:"\uC120\uD0DD",selectedAll:"\uBAA8\uB4E0 \uD56D\uBAA9\uC774 \uC120\uD0DD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"\uC120\uD0DD\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",one:()=>`${e.number(t.count)}\uAC1C \uD56D\uBAA9\uC774 \uC120\uD0DD\uB418\uC5C8\uC2B5\uB2C8\uB2E4`,other:()=>`${e.number(t.count)}\uAC1C \uD56D\uBAA9\uC774 \uC120\uD0DD\uB418\uC5C8\uC2B5\uB2C8\uB2E4`})}.`,selectedItem:t=>`${t.item}\uC774(\uAC00) \uC120\uD0DD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.`};var Qs={};Qs={deselectedItem:t=>`${t.item} nepasirinkta.`,longPressToSelect:"Nor\u0117dami \u012Fjungti pasirinkimo re\u017Eim\u0105, paspauskite ir palaikykite.",select:"Pasirinkti",selectedAll:"Pasirinkti visi elementai.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Nepasirinktas n\u0117 vienas elementas",one:()=>`Pasirinktas ${e.number(t.count)} elementas`,other:()=>`Pasirinkta element\u0173: ${e.number(t.count)}`})}.`,selectedItem:t=>`Pasirinkta: ${t.item}.`};var Xs={};Xs={deselectedItem:t=>`Vienums ${t.item} nav atlas\u012Bts.`,longPressToSelect:"Ilgi turiet nospiestu. lai iesl\u0113gtu atlases re\u017E\u012Bmu.",select:"Atlas\u012Bt",selectedAll:"Atlas\u012Bti visi vienumi.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Nav atlas\u012Bts neviens vienums",one:()=>`Atlas\u012Bto vienumu skaits: ${e.number(t.count)}`,other:()=>`Atlas\u012Bto vienumu skaits: ${e.number(t.count)}`})}.`,selectedItem:t=>`Atlas\u012Bts vienums ${t.item}.`};var Js={};Js={deselectedItem:t=>`${t.item} er ikke valgt.`,longPressToSelect:"Bruk et langt trykk for \xE5 g\xE5 inn i valgmodus.",select:"Velg",selectedAll:"Alle elementer er valgt.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Ingen elementer er valgt",one:()=>`${e.number(t.count)} element er valgt`,other:()=>`${e.number(t.count)} elementer er valgt`})}.`,selectedItem:t=>`${t.item} er valgt.`};var er={};er={deselectedItem:t=>`${t.item} niet geselecteerd.`,longPressToSelect:"Druk lang om de selectiemodus te openen.",select:"Selecteren",selectedAll:"Alle items geselecteerd.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Geen items geselecteerd",one:()=>`${e.number(t.count)} item geselecteerd`,other:()=>`${e.number(t.count)} items geselecteerd`})}.`,selectedItem:t=>`${t.item} geselecteerd.`};var tr={};tr={deselectedItem:t=>`Nie zaznaczono ${t.item}.`,longPressToSelect:"Naci\u015Bnij i przytrzymaj, aby wej\u015B\u0107 do trybu wyboru.",select:"Zaznacz",selectedAll:"Wszystkie zaznaczone elementy.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Nie zaznaczono \u017Cadnych element\xF3w",one:()=>`${e.number(t.count)} zaznaczony element`,other:()=>`${e.number(t.count)} zaznaczonych element\xF3w`})}.`,selectedItem:t=>`Zaznaczono ${t.item}.`};var nr={};nr={deselectedItem:t=>`${t.item} n\xE3o selecionado.`,longPressToSelect:"Mantenha pressionado para entrar no modo de sele\xE7\xE3o.",select:"Selecionar",selectedAll:"Todos os itens selecionados.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Nenhum item selecionado",one:()=>`${e.number(t.count)} item selecionado`,other:()=>`${e.number(t.count)} itens selecionados`})}.`,selectedItem:t=>`${t.item} selecionado.`};var lr={};lr={deselectedItem:t=>`${t.item} n\xE3o selecionado.`,longPressToSelect:"Prima continuamente para entrar no modo de sele\xE7\xE3o.",select:"Selecionar",selectedAll:"Todos os itens selecionados.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Nenhum item selecionado",one:()=>`${e.number(t.count)} item selecionado`,other:()=>`${e.number(t.count)} itens selecionados`})}.`,selectedItem:t=>`${t.item} selecionado.`};var sr={};sr={deselectedItem:t=>`${t.item} neselectat.`,longPressToSelect:"Ap\u0103sa\u021Bi lung pentru a intra \xEEn modul de selectare.",select:"Selectare",selectedAll:"Toate elementele selectate.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Niciun element selectat",one:()=>`${e.number(t.count)} element selectat`,other:()=>`${e.number(t.count)} elemente selectate`})}.`,selectedItem:t=>`${t.item} selectat.`};var rr={};rr={deselectedItem:t=>`${t.item} \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E.`,longPressToSelect:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0438 \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439\u0442\u0435 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0430 \u0432 \u0440\u0435\u0436\u0438\u043C \u0432\u044B\u0431\u043E\u0440\u0430.",select:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C",selectedAll:"\u0412\u044B\u0431\u0440\u0430\u043D\u044B \u0432\u0441\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"\u041D\u0435\u0442 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432",one:()=>`${e.number(t.count)} \u044D\u043B\u0435\u043C\u0435\u043D\u0442 \u0432\u044B\u0431\u0440\u0430\u043D`,other:()=>`${e.number(t.count)} \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0432\u044B\u0431\u0440\u0430\u043D\u043E`})}.`,selectedItem:t=>`${t.item} \u0432\u044B\u0431\u0440\u0430\u043D\u043E.`};var ir={};ir={deselectedItem:t=>`Nevybrat\xE9 polo\u017Eky: ${t.item}.`,longPressToSelect:"Dlh\u0161\xEDm stla\u010Den\xEDm prejdite do re\u017Eimu v\xFDberu.",select:"Vybra\u0165",selectedAll:"V\u0161etky vybrat\xE9 polo\u017Eky.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"\u017Diadne vybrat\xE9 polo\u017Eky",one:()=>`${e.number(t.count)} vybrat\xE1 polo\u017Eka`,other:()=>`Po\u010Det vybrat\xFDch polo\u017Eiek:${e.number(t.count)}`})}.`,selectedItem:t=>`Vybrat\xE9 polo\u017Eky: ${t.item}.`};var ar={};ar={deselectedItem:t=>`Element ${t.item} ni izbran.`,longPressToSelect:"Za izbirni na\u010Din pritisnite in dlje \u010Dasa dr\u017Eite.",select:"Izberite",selectedAll:"Vsi elementi so izbrani.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Noben element ni izbran",one:()=>`${e.number(t.count)} element je izbran`,other:()=>`${e.number(t.count)} elementov je izbranih`})}.`,selectedItem:t=>`Element ${t.item} je izbran.`};var or={};or={deselectedItem:t=>`${t.item} nije izabrano.`,longPressToSelect:"Dugo pritisnite za ulazak u re\u017Eim biranja.",select:"Izaberite",selectedAll:"Izabrane su sve stavke.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Nije izabrana nijedna stavka",one:()=>`Izabrana je ${e.number(t.count)} stavka`,other:()=>`Izabrano je ${e.number(t.count)} stavki`})}.`,selectedItem:t=>`${t.item} je izabrano.`};var cr={};cr={deselectedItem:t=>`${t.item} ej markerat.`,longPressToSelect:"Tryck l\xE4nge n\xE4r du vill \xF6ppna v\xE4ljarl\xE4ge.",select:"Markera",selectedAll:"Alla markerade objekt.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Inga markerade objekt",one:()=>`${e.number(t.count)} markerat objekt`,other:()=>`${e.number(t.count)} markerade objekt`})}.`,selectedItem:t=>`${t.item} markerat.`};var dr={};dr={deselectedItem:t=>`${t.item} se\xE7ilmedi.`,longPressToSelect:"Se\xE7im moduna girmek i\xE7in uzun bas\u0131n.",select:"Se\xE7",selectedAll:"T\xFCm \xF6geler se\xE7ildi.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"Hi\xE7bir \xF6ge se\xE7ilmedi",one:()=>`${e.number(t.count)} \xF6ge se\xE7ildi`,other:()=>`${e.number(t.count)} \xF6ge se\xE7ildi`})}.`,selectedItem:t=>`${t.item} se\xE7ildi.`};var ur={};ur={deselectedItem:t=>`${t.item} \u043D\u0435 \u0432\u0438\u0431\u0440\u0430\u043D\u043E.`,longPressToSelect:"\u0412\u0438\u043A\u043E\u043D\u0430\u0439\u0442\u0435 \u0434\u043E\u0432\u0433\u0435 \u043D\u0430\u0442\u0438\u0441\u043D\u0435\u043D\u043D\u044F, \u0449\u043E\u0431 \u043F\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u0440\u0435\u0436\u0438\u043C \u0432\u0438\u0431\u043E\u0440\u0443.",select:"\u0412\u0438\u0431\u0440\u0430\u0442\u0438",selectedAll:"\u0423\u0441\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0432\u0438\u0431\u0440\u0430\u043D\u043E.",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"\u0416\u043E\u0434\u043D\u0438\u0445 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u043D\u0435 \u0432\u0438\u0431\u0440\u0430\u043D\u043E",one:()=>`${e.number(t.count)} \u0435\u043B\u0435\u043C\u0435\u043D\u0442 \u0432\u0438\u0431\u0440\u0430\u043D\u043E`,other:()=>`\u0412\u0438\u0431\u0440\u0430\u043D\u043E \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432: ${e.number(t.count)}`})}.`,selectedItem:t=>`${t.item} \u0432\u0438\u0431\u0440\u0430\u043D\u043E.`};var mr={};mr={deselectedItem:t=>`\u672A\u9009\u62E9 ${t.item}\u3002`,longPressToSelect:"\u957F\u6309\u4EE5\u8FDB\u5165\u9009\u62E9\u6A21\u5F0F\u3002",select:"\u9009\u62E9",selectedAll:"\u5DF2\u9009\u62E9\u6240\u6709\u9879\u76EE\u3002",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"\u672A\u9009\u62E9\u9879\u76EE",one:()=>`\u5DF2\u9009\u62E9 ${e.number(t.count)} \u4E2A\u9879\u76EE`,other:()=>`\u5DF2\u9009\u62E9 ${e.number(t.count)} \u4E2A\u9879\u76EE`})}\u3002`,selectedItem:t=>`\u5DF2\u9009\u62E9 ${t.item}\u3002`};var hr={};hr={deselectedItem:t=>`\u672A\u9078\u53D6\u300C${t.item}\u300D\u3002`,longPressToSelect:"\u9577\u6309\u4EE5\u9032\u5165\u9078\u64C7\u6A21\u5F0F\u3002",select:"\u9078\u53D6",selectedAll:"\u5DF2\u9078\u53D6\u6240\u6709\u9805\u76EE\u3002",selectedCount:(t,e)=>`${e.plural(t.count,{"=0":"\u672A\u9078\u53D6\u4EFB\u4F55\u9805\u76EE",one:()=>`\u5DF2\u9078\u53D6 ${e.number(t.count)} \u500B\u9805\u76EE`,other:()=>`\u5DF2\u9078\u53D6 ${e.number(t.count)} \u500B\u9805\u76EE`})}\u3002`,selectedItem:t=>`\u5DF2\u9078\u53D6\u300C${t.item}\u300D\u3002`};var Jt={};Jt={"ar-AE":As,"bg-BG":Ts,"cs-CZ":Fs,"da-DK":Rs,"de-DE":zs,"el-GR":Bs,"en-US":Ls,"es-ES":$s,"et-EE":Vs,"fi-FI":Os,"fr-FR":Hs,"he-IL":Gs,"hr-HR":Us,"hu-HU":Ws,"it-IT":qs,"ja-JP":Ys,"ko-KR":Zs,"lt-LT":Qs,"lv-LV":Xs,"nb-NO":Js,"nl-NL":er,"pl-PL":tr,"pt-BR":nr,"pt-PT":lr,"ro-RO":sr,"ru-RU":rr,"sk-SK":ir,"sl-SI":ar,"sr-SP":or,"sv-SE":cr,"tr-TR":dr,"uk-UA":ur,"zh-CN":mr,"zh-TW":hr};function gd(t){return t&&t.__esModule?t.default:t}function xd(t,e){let{getRowText:n=o=>{var d,u;var c;return((d=(c=e.collection).getTextValue)==null?void 0:d.call(c,o))??((u=e.collection.getItem(o))==null?void 0:u.textValue)}}=t,l=Ht(gd(Jt),"@react-aria/grid"),r=e.selectionManager.rawSelection,i=(0,h.useRef)(r),a=(0,h.useCallback)(()=>{var m;if(!e.selectionManager.isFocused||r===i.current){i.current=r;return}let o=pr(r,i.current),c=pr(i.current,r),d=e.selectionManager.selectionBehavior==="replace",u=[];if(e.selectionManager.selectedKeys.size===1&&d){let f=e.selectionManager.selectedKeys.keys().next().value;if(f!=null&&e.collection.getItem(f)){let x=n(f);x&&u.push(l.format("selectedItem",{item:x}))}}else if(o.size===1&&c.size===0){let f=o.keys().next().value;if(f!=null){let x=n(f);x&&u.push(l.format("selectedItem",{item:x}))}}else if(c.size===1&&o.size===0){let f=c.keys().next().value;if(f!=null&&e.collection.getItem(f)){let x=n(f);x&&u.push(l.format("deselectedItem",{item:x}))}}e.selectionManager.selectionMode==="multiple"&&(u.length===0||r==="all"||r.size>1||i.current==="all"||((m=i.current)==null?void 0:m.size)>1)&&u.push(r==="all"?l.format("selectedAll"):l.format("selectedCount",{count:r.size})),u.length>0&&io(u.join(" ")),i.current=r},[r,e.selectionManager.selectedKeys,e.selectionManager.isFocused,e.selectionManager.selectionBehavior,e.selectionManager.selectionMode,e.collection,n,l]);Ql(()=>{if(e.selectionManager.isFocused)a();else{let o=requestAnimationFrame(a);return()=>cancelAnimationFrame(o)}},[r,e.selectionManager.isFocused])}function pr(t,e){let n=new Set;if(t==="all"||e==="all")return n;for(let l of t.keys())e.has(l)||n.add(l);return n}function yd(t){return t&&t.__esModule?t.default:t}function vd(t){let e=Ht(yd(Jt),"@react-aria/grid"),n=uo(),l=(n==="pointer"||n==="virtual"||n==null)&&typeof window<"u"&&"ontouchstart"in window;return Mn((0,h.useMemo)(()=>{let r=t.selectionManager.selectionMode,i=t.selectionManager.selectionBehavior,a;return l&&(a=e.format("longPressToSelect")),i==="replace"&&r!=="none"&&t.hasItemActions?a:void 0},[t.selectionManager.selectionMode,t.selectionManager.selectionBehavior,t.hasItemActions,e,l]))}function bd(t){return t&&t.__esModule?t.default:t}function jd(t,e){let{key:n}=t,l=e.selectionManager,r=St(),i=!e.selectionManager.canSelectItem(n),a=e.selectionManager.isSelected(n),o=()=>l.toggleSelection(n),c=Ht(bd(Jt),"@react-aria/grid");return{checkboxProps:{id:r,"aria-label":c.format("select"),isSelected:a,isDisabled:i,onChange:o}}}function kd(t,e,n){let{isVirtualized:l,keyboardDelegate:r,layoutDelegate:i,onAction:a,disallowTypeAhead:o,linkBehavior:c="action",keyboardNavigationBehavior:d="arrow",escapeKeyBehavior:u="clearSelection",shouldSelectOnPressUp:m}=t;!t["aria-label"]&&!t["aria-labelledby"]&&console.warn("An aria-label or aria-labelledby prop is required for accessibility.");let{listProps:f}=gs({selectionManager:e.selectionManager,collection:e.collection,disabledKeys:e.disabledKeys,ref:n,keyboardDelegate:r,layoutDelegate:i,isVirtualized:l,selectOnFocus:e.selectionManager.selectionBehavior==="replace",shouldFocusWrap:t.shouldFocusWrap,linkBehavior:c,disallowTypeAhead:o,autoFocus:t.autoFocus,escapeKeyBehavior:u}),x=St(t.id);Un.set(e,{id:x,onAction:a,linkBehavior:c,keyboardNavigationBehavior:d,shouldSelectOnPressUp:m});let y=vd({selectionManager:e.selectionManager,hasItemActions:!!a}),j=Lc(n,{isDisabled:e.collection.size!==0}),v=Ve(Wt(t,{labelable:!0}),{role:"grid",id:x,"aria-multiselectable":e.selectionManager.selectionMode==="multiple"?"true":void 0},e.collection.size===0?{tabIndex:j?-1:0}:f,y);return l&&(v["aria-rowcount"]=e.collection.size,v["aria-colcount"]=1),xd({},e),{gridProps:v}}var fr={expand:{ltr:"ArrowRight",rtl:"ArrowLeft"},collapse:{ltr:"ArrowLeft",rtl:"ArrowRight"}};function Cd(t,e,n){var N,P,K;let{node:l,isVirtualized:r}=t,{direction:i}=It(),{onAction:a,linkBehavior:o,keyboardNavigationBehavior:c,shouldSelectOnPressUp:d}=Un.get(e),u=Uo(),m=(0,h.useRef)(null),f=()=>{n.current!==null&&(m.current!=null&&l.key!==m.current||!Cn(n.current))&&Ue(n.current)},x={},y=t.hasChildItems,j=e.selectionManager.isLink(l.key);if(l!=null&&"expandedKeys"in e){var v;let k=(N=(v=e.collection).getChildren)==null?void 0:N.call(v,l.key);y||(y=[...k??[]].length>1),a==null&&!j&&e.selectionManager.selectionMode==="none"&&y&&(a=()=>e.toggleKey(l.key));let M=y?e.expandedKeys.has(l.key):void 0,b=1,E=l.index;if(l.level>=0&&(l==null?void 0:l.parentKey)!=null){let F=e.collection.getItem(l.parentKey);if(F){let R=wd(F,e.collection);b=[...R].filter(U=>U.type==="item").length,E>0&&R[0].type!=="item"&&--E}}else b=[...e.collection].filter(F=>F.level===0&&F.type==="item").length;x={"aria-expanded":M,"aria-level":l.level+1,"aria-posinset":E+1,"aria-setsize":b}}let{itemProps:S,...p}=ms({selectionManager:e.selectionManager,key:l.key,ref:n,isVirtualized:r,shouldSelectOnPressUp:t.shouldSelectOnPressUp||d,onAction:a||(P=l.props)!=null&&P.onAction?Dl((K=l.props)==null?void 0:K.onAction,a?()=>a(l.key):void 0):void 0,focus:f,linkBehavior:o}),g=k=>{let M=je();if(!Te(k.currentTarget,Ne(k))||!n.current||!M)return;let b=ke(n.current);if(b.currentNode=M,"expandedKeys"in e&&M===n.current){if(k.key===fr.expand[i]&&e.selectionManager.focusedKey===l.key&&y&&!e.expandedKeys.has(l.key)){e.toggleKey(l.key),k.stopPropagation();return}else if(k.key===fr.collapse[i]&&e.selectionManager.focusedKey===l.key&&y&&e.expandedKeys.has(l.key)){e.toggleKey(l.key),k.stopPropagation();return}}switch(k.key){case"ArrowLeft":if(c==="arrow"){let F=i==="rtl"?b.nextNode():b.previousNode();if(F)k.preventDefault(),k.stopPropagation(),Ue(F),lt(F,{containingElement:at(n.current)});else if(k.preventDefault(),k.stopPropagation(),i==="rtl")Ue(n.current),lt(n.current,{containingElement:at(n.current)});else{b.currentNode=n.current;let R=gr(b);R&&(Ue(R),lt(R,{containingElement:at(n.current)}))}}break;case"ArrowRight":if(c==="arrow"){let F=i==="rtl"?b.previousNode():b.nextNode();if(F)k.preventDefault(),k.stopPropagation(),Ue(F),lt(F,{containingElement:at(n.current)});else if(k.preventDefault(),k.stopPropagation(),i==="ltr")Ue(n.current),lt(n.current,{containingElement:at(n.current)});else{b.currentNode=n.current;let R=gr(b);R&&(Ue(R),lt(R,{containingElement:at(n.current)}))}}break;case"ArrowUp":case"ArrowDown":if(!k.altKey&&Te(n.current,Ne(k))){var E;k.stopPropagation(),k.preventDefault(),(E=n.current.parentElement)==null||E.dispatchEvent(new KeyboardEvent(k.nativeEvent.type,k.nativeEvent))}break}},C=k=>{if(m.current=l.key,Ne(k)!==n.current){ro()||e.selectionManager.setFocusedKey(l.key);return}},I=k=>{let M=je();if(!(!Te(k.currentTarget,Ne(k))||!n.current||!M))switch(k.key){case"Tab":if(c==="tab"){let b=ke(n.current,{tabbable:!0});b.currentNode=M,(k.shiftKey?b.previousNode():b.nextNode())&&k.stopPropagation()}}},D=Go(l.props),_=Ve(S,p.hasAction?D:{},{role:"row",onKeyDownCapture:g,onKeyDown:I,onFocus:C,"aria-label":l["aria-label"]||l.textValue||void 0,"aria-selected":e.selectionManager.canSelectItem(l.key)?e.selectionManager.isSelected(l.key):void 0,"aria-disabled":e.selectionManager.isDisabled(l.key)||void 0,"aria-labelledby":u&&(l["aria-label"]||l.textValue)?`${Wn(e,l.key)} ${u}`:void 0,id:Wn(e,l.key)});if(r){let{collection:k}=e;_["aria-rowindex"]=[...k].find(M=>M.type==="section")?[...k.getKeys()].filter(M=>{var b;return((b=k.getItem(M))==null?void 0:b.type)!=="section"}).findIndex(M=>M===l.key)+1:l.index+1}let T={role:"gridcell","aria-colindex":1};return{rowProps:{...Ve(_,x)},gridCellProps:T,descriptionProps:{id:u},...p}}function gr(t){let e=null,n=null;do n=t.lastChild(),n&&(e=n);while(n);return e}function wd(t,e){var a;let n=(a=e.getChildren)==null?void 0:a.call(e,t.key),l=n?Array.from(n):[],r=l.length>0?l[0]:null,i=[];for(;r;)i.push(r),r=r.nextKey==null?null:e.getItem(r.nextKey);return i}function Nd(t,e){let{key:n}=t,{checkboxProps:l}=jd(t,e);return{checkboxProps:{...l,"aria-labelledby":`${l.id} ${Wn(e,n)}`}}}function Sd(t,e,n){let{gridProps:l}=kd(t,e,n);return l.role="treegrid",{gridProps:l}}var xr={};xr={collapse:"\u0637\u064A",expand:"\u062A\u0645\u062F\u064A\u062F"};var yr={};yr={collapse:"\u0421\u0432\u0438\u0432\u0430\u043D\u0435",expand:"\u0420\u0430\u0437\u0448\u0438\u0440\u044F\u0432\u0430\u043D\u0435"};var vr={};vr={collapse:"Sbalit",expand:"Rozt\xE1hnout"};var br={};br={collapse:"Skjul",expand:"Udvid"};var jr={};jr={collapse:"Reduzieren",expand:"Erweitern"};var kr={};kr={collapse:"\u03A3\u03CD\u03BC\u03C0\u03C4\u03C5\u03BE\u03B7",expand:"\u0391\u03BD\u03AC\u03C0\u03C4\u03C5\u03BE\u03B7"};var Cr={};Cr={expand:"Expand",collapse:"Collapse"};var wr={};wr={collapse:"Contraer",expand:"Ampliar"};var Nr={};Nr={collapse:"Ahenda",expand:"Laienda"};var Sr={};Sr={collapse:"Pienenn\xE4",expand:"Laajenna"};var Ir={};Ir={collapse:"R\xE9duire",expand:"D\xE9velopper"};var Kr={};Kr={collapse:"\u05DB\u05D5\u05D5\u05E5",expand:"\u05D4\u05E8\u05D7\u05D1"};var Mr={};Mr={collapse:"Sa\u017Emi",expand:"Pro\u0161iri"};var Er={};Er={collapse:"\xD6sszecsuk\xE1s",expand:"Kibont\xE1s"};var Dr={};Dr={collapse:"Comprimi",expand:"Espandi"};var _r={};_r={collapse:"\u6298\u308A\u305F\u305F\u3080",expand:"\u5C55\u958B"};var Pr={};Pr={collapse:"\uC811\uAE30",expand:"\uD3BC\uCE58\uAE30"};var Ar={};Ar={collapse:"Sutraukti",expand:"I\u0161skleisti"};var Tr={};Tr={collapse:"Sak\u013Caut",expand:"Izv\u0113rst"};var Fr={};Fr={collapse:"Skjul",expand:"Utvid"};var Rr={};Rr={collapse:"Samenvouwen",expand:"Uitvouwen"};var zr={};zr={collapse:"Zwi\u0144",expand:"Rozwi\u0144"};var Br={};Br={collapse:"Recolher",expand:"Expandir"};var Lr={};Lr={collapse:"Colapsar",expand:"Expandir"};var $r={};$r={collapse:"Restr\xE2nge\u021Bi",expand:"Extinde\u021Bi"};var Vr={};Vr={collapse:"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C",expand:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C"};var Or={};Or={collapse:"Zbali\u0165",expand:"Rozbali\u0165"};var Hr={};Hr={collapse:"Strni",expand:"Raz\u0161iri"};var Gr={};Gr={collapse:" Skupi",expand:"Pro\u0161iri"};var Ur={};Ur={collapse:"D\xF6lj",expand:"Expandera"};var Wr={};Wr={collapse:"Daralt",expand:"Geni\u015Flet"};var qr={};qr={collapse:"\u0417\u0433\u043E\u0440\u043D\u0443\u0442\u0438",expand:"\u0420\u043E\u0437\u0433\u043E\u0440\u043D\u0443\u0442\u0438"};var Yr={};Yr={collapse:"\u6298\u53E0",expand:"\u6269\u5C55"};var Zr={};Zr={collapse:"\u6536\u5408",expand:"\u5C55\u958B"};var Qr={};Qr={"ar-AE":xr,"bg-BG":yr,"cs-CZ":vr,"da-DK":br,"de-DE":jr,"el-GR":kr,"en-US":Cr,"es-ES":wr,"et-EE":Nr,"fi-FI":Sr,"fr-FR":Ir,"he-IL":Kr,"hr-HR":Mr,"hu-HU":Er,"it-IT":Dr,"ja-JP":_r,"ko-KR":Pr,"lt-LT":Ar,"lv-LV":Tr,"nb-NO":Fr,"nl-NL":Rr,"pl-PL":zr,"pt-BR":Br,"pt-PT":Lr,"ro-RO":$r,"ru-RU":Vr,"sk-SK":Or,"sl-SI":Hr,"sr-SP":Gr,"sv-SE":Ur,"tr-TR":Wr,"uk-UA":qr,"zh-CN":Yr,"zh-TW":Zr};function Id(t){return t&&t.__esModule?t.default:t}function Xr(t,e,n){let{node:l}=t,r=Cd(t,e,n),i=r.rowProps["aria-expanded"]===!0,a=Ht(Id(Qr),"@react-aria/tree"),o=go({"aria-label":i?a.format("collapse"):a.format("expand"),"aria-labelledby":r.rowProps.id}),c={onPress:()=>{r.isDisabled||(e.toggleKey(l.key),e.selectionManager.setFocused(!0),e.selectionManager.setFocusedKey(l.key))},excludeFromTabOrder:!0,preventFocusOnPress:!0,"data-react-aria-prevent-focus":!0,...o};return{...r,expandButtonProps:c}}var st=class Qi extends Set{constructor(e,n,l){super(e),e instanceof Qi?(this.anchorKey=n??e.anchorKey,this.currentKey=l??e.currentKey):(this.anchorKey=n??null,this.currentKey=l??null)}};function Kd(t,e){if(t.size!==e.size)return!1;for(let n of t)if(!e.has(n))return!1;return!0}function Jr(t){let{selectionMode:e="none",disallowEmptySelection:n=!1,allowDuplicateSelectionEvents:l,selectionBehavior:r="toggle",disabledBehavior:i="all"}=t,a=(0,h.useRef)(!1),[,o]=(0,h.useState)(!1),c=(0,h.useRef)(null),d=(0,h.useRef)(null),[,u]=(0,h.useState)(null),[m,f]=xn((0,h.useMemo)(()=>ei(t.selectedKeys),[t.selectedKeys]),(0,h.useMemo)(()=>ei(t.defaultSelectedKeys,new st),[t.defaultSelectedKeys]),t.onSelectionChange),x=(0,h.useMemo)(()=>t.disabledKeys?new Set(t.disabledKeys):new Set,[t.disabledKeys]),[y,j]=(0,h.useState)(r);r==="replace"&&y==="toggle"&&typeof m=="object"&&m.size===0&&j("replace");let v=(0,h.useRef)(r);return(0,h.useEffect)(()=>{r!==v.current&&(j(r),v.current=r)},[r]),{selectionMode:e,disallowEmptySelection:n,selectionBehavior:y,setSelectionBehavior:j,get isFocused(){return a.current},setFocused(S){a.current=S,o(S)},get focusedKey(){return c.current},get childFocusStrategy(){return d.current},setFocusedKey(S,p="first"){c.current=S,d.current=p,u(S)},selectedKeys:m,setSelectedKeys(S){(l||!Kd(S,m))&&f(S)},disabledKeys:x,disabledBehavior:i}}function ei(t,e){return t?t==="all"?"all":new st(t):e}var ti=class Xi{get selectionMode(){return this.state.selectionMode}get disallowEmptySelection(){return this.state.disallowEmptySelection}get selectionBehavior(){return this.state.selectionBehavior}setSelectionBehavior(e){this.state.setSelectionBehavior(e)}get isFocused(){return this.state.isFocused}setFocused(e){this.state.setFocused(e)}get focusedKey(){return this.state.focusedKey}get childFocusStrategy(){return this.state.childFocusStrategy}setFocusedKey(e,n){(e==null||this.collection.getItem(e))&&this.state.setFocusedKey(e,n)}get selectedKeys(){return this.state.selectedKeys==="all"?new Set(this.getSelectAllKeys()):this.state.selectedKeys}get rawSelection(){return this.state.selectedKeys}isSelected(e){if(this.state.selectionMode==="none")return!1;let n=this.getKey(e);return n==null?!1:this.state.selectedKeys==="all"?this.canSelectItem(n):this.state.selectedKeys.has(n)}get isEmpty(){return this.state.selectedKeys!=="all"&&this.state.selectedKeys.size===0}get isSelectAll(){if(this.isEmpty)return!1;if(this.state.selectedKeys==="all")return!0;if(this._isSelectAll!=null)return this._isSelectAll;let e=this.getSelectAllKeys(),n=this.state.selectedKeys;return this._isSelectAll=e.every(l=>n.has(l)),this._isSelectAll}get firstSelectedKey(){let e=null;for(let n of this.state.selectedKeys){let l=this.collection.getItem(n);(!e||l&&Ln(this.collection,l,e)<0)&&(e=l)}return(e==null?void 0:e.key)??null}get lastSelectedKey(){let e=null;for(let n of this.state.selectedKeys){let l=this.collection.getItem(n);(!e||l&&Ln(this.collection,l,e)>0)&&(e=l)}return(e==null?void 0:e.key)??null}get disabledKeys(){return this.state.disabledKeys}get disabledBehavior(){return this.state.disabledBehavior}extendSelection(e){if(this.selectionMode==="none")return;if(this.selectionMode==="single"){this.replaceSelection(e);return}let n=this.getKey(e);if(n==null)return;let l;if(this.state.selectedKeys==="all")l=new st([n],n,n);else{let r=this.state.selectedKeys,i=r.anchorKey??n;l=new st(r,i,n);for(let a of this.getKeyRange(i,r.currentKey??n))l.delete(a);for(let a of this.getKeyRange(n,i))this.canSelectItem(a)&&l.add(a)}this.state.setSelectedKeys(l)}getKeyRange(e,n){let l=this.collection.getItem(e),r=this.collection.getItem(n);return l&&r?Ln(this.collection,l,r)<=0?this.getKeyRangeInternal(e,n):this.getKeyRangeInternal(n,e):[]}getKeyRangeInternal(e,n){var i;if((i=this.layoutDelegate)!=null&&i.getKeyRange)return this.layoutDelegate.getKeyRange(e,n);let l=[],r=e;for(;r!=null;){let a=this.collection.getItem(r);if(a&&(a.type==="item"||a.type==="cell"&&this.allowsCellSelection)&&l.push(r),r===n)return l;r=this.collection.getKeyAfter(r)}return[]}getKey(e){let n=this.collection.getItem(e);if(!n||n.type==="cell"&&this.allowsCellSelection)return e;for(;n&&n.type!=="item"&&n.parentKey!=null;)n=this.collection.getItem(n.parentKey);return!n||n.type!=="item"?null:n.key}toggleSelection(e){if(this.selectionMode==="none")return;if(this.selectionMode==="single"&&!this.isSelected(e)){this.replaceSelection(e);return}let n=this.getKey(e);if(n==null)return;let l=new st(this.state.selectedKeys==="all"?this.getSelectAllKeys():this.state.selectedKeys);l.has(n)?l.delete(n):this.canSelectItem(n)&&(l.add(n),l.anchorKey=n,l.currentKey=n),!(this.disallowEmptySelection&&l.size===0)&&this.state.setSelectedKeys(l)}replaceSelection(e){if(this.selectionMode==="none")return;let n=this.getKey(e);if(n==null)return;let l=this.canSelectItem(n)?new st([n],n,n):new st;this.state.setSelectedKeys(l)}setSelectedKeys(e){if(this.selectionMode==="none")return;let n=new st;for(let l of e){let r=this.getKey(l);if(r!=null&&(n.add(r),this.selectionMode==="single"))break}this.state.setSelectedKeys(n)}getSelectAllKeys(){let e=[],n=l=>{var r;for(;l!=null;){if(this.canSelectItem(l)){let i=this.collection.getItem(l);(i==null?void 0:i.type)==="item"&&e.push(l),i!=null&&i.hasChildNodes&&(this.allowsCellSelection||i.type!=="item")&&n(((r=Jc(vs(i,this.collection)))==null?void 0:r.key)??null)}l=this.collection.getKeyAfter(l)}};return n(this.collection.getFirstKey()),e}selectAll(){!this.isSelectAll&&this.selectionMode==="multiple"&&this.state.setSelectedKeys("all")}clearSelection(){!this.disallowEmptySelection&&(this.state.selectedKeys==="all"||this.state.selectedKeys.size>0)&&this.state.setSelectedKeys(new st)}toggleSelectAll(){this.isSelectAll?this.clearSelection():this.selectAll()}select(e,n){this.selectionMode!=="none"&&(this.selectionMode==="single"?this.isSelected(e)&&!this.disallowEmptySelection?this.toggleSelection(e):this.replaceSelection(e):this.selectionBehavior==="toggle"||n&&(n.pointerType==="touch"||n.pointerType==="virtual")?this.toggleSelection(e):this.replaceSelection(e))}isSelectionEqual(e){if(e===this.state.selectedKeys)return!0;let n=this.selectedKeys;if(e.size!==n.size)return!1;for(let l of e)if(!n.has(l))return!1;for(let l of n)if(!e.has(l))return!1;return!0}canSelectItem(e){var l;if(this.state.selectionMode==="none"||this.state.disabledKeys.has(e))return!1;let n=this.collection.getItem(e);return!(!n||n!=null&&((l=n.props)!=null&&l.isDisabled)||n.type==="cell"&&!this.allowsCellSelection)}isDisabled(e){var l;var n;return this.state.disabledBehavior==="all"&&(this.state.disabledKeys.has(e)||!!((n=this.collection.getItem(e))!=null&&((l=n.props)!=null&&l.isDisabled)))}isLink(e){var l;var n;return!!((n=this.collection.getItem(e))!=null&&((l=n.props)!=null&&l.href))}getItemProps(e){var n;return(n=this.collection.getItem(e))==null?void 0:n.props}withCollection(e){return new Xi(e,this.state,{allowsCellSelection:this.allowsCellSelection,layoutDelegate:this.layoutDelegate||void 0})}constructor(e,n,l){this.collection=e,this.state=n,this.allowsCellSelection=(l==null?void 0:l.allowsCellSelection)??!1,this._isSelectAll=null,this.layoutDelegate=(l==null?void 0:l.layoutDelegate)||null}},Md=class{*[Symbol.iterator](){yield*this.iterable}get size(){return this.keyMap.size}getKeys(){return this.keyMap.keys()}getKeyBefore(t){let e=this.keyMap.get(t);return e?e.prevKey??null:null}getKeyAfter(t){let e=this.keyMap.get(t);return e?e.nextKey??null:null}getFirstKey(){return this.firstKey}getLastKey(){return this.lastKey}getItem(t){return this.keyMap.get(t)??null}at(t){let e=[...this.getKeys()];return this.getItem(e[t])}constructor(t,{expandedKeys:e}={}){this.keyMap=new Map,this.firstKey=null,this.lastKey=null,this.iterable=t,e||(e=new Set);let n=i=>{if(this.keyMap.set(i.key,i),i.childNodes&&(i.type==="section"||e.has(i.key)))for(let a of i.childNodes)n(a)};for(let i of t)n(i);let l=null,r=0;for(let[i,a]of this.keyMap)l?(l.nextKey=i,a.prevKey=l.key):(this.firstKey=i,a.prevKey=void 0),a.type==="item"&&(a.index=r++),l=a,l.nextKey=void 0;this.lastKey=(l==null?void 0:l.key)??null}};function Ed(t){let{onExpandedChange:e}=t,[n,l]=xn(t.expandedKeys?new Set(t.expandedKeys):void 0,t.defaultExpandedKeys?new Set(t.defaultExpandedKeys):new Set,e),r=Jr(t),i=(0,h.useMemo)(()=>t.disabledKeys?new Set(t.disabledKeys):new Set,[t.disabledKeys]),a=ys(t,(0,h.useCallback)(o=>new Md(o,{expandedKeys:n}),[n]),null);return(0,h.useEffect)(()=>{r.focusedKey!=null&&!a.getItem(r.focusedKey)&&r.setFocusedKey(null)},[a,r.focusedKey]),{collection:a,expandedKeys:n,disabledKeys:i,toggleKey:o=>{l(Dd(n,o))},setExpandedKeys:l,selectionManager:new ti(a,r)}}function Dd(t,e){let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}var Pt=(0,h.createContext)({}),qn=(0,h.createContext)(null),_d=(0,h.forwardRef)(function(t,e){let{render:n}=(0,h.useContext)(qn);return h.createElement(h.Fragment,null,n(t,e))});function ni(t,e){var i;let n=t==null?void 0:t.renderDropIndicator,l=(i=t==null?void 0:t.isVirtualDragging)==null?void 0:i.call(t),r=(0,h.useCallback)(a=>{if(l||e!=null&&e.isDropTarget(a))return n?n(a):h.createElement(_d,{target:a})},[e==null?void 0:e.target,l,n]);return t!=null&&t.useDropIndicator?r:void 0}function li(t,e,n){var i,a,o;let l=t.focusedKey,r=null;if(e!=null&&((i=e.isVirtualDragging)!=null&&i.call(e))&&((a=n==null?void 0:n.target)==null?void 0:a.type)==="item"&&(r=n.target.key,n.target.dropPosition==="after")){let c=n.collection.getKeyAfter(r),d=null;if(c!=null){let u=((o=n.collection.getItem(r))==null?void 0:o.level)??0;for(;c;){let m=n.collection.getItem(c);if(!m)break;if(m.type!=="item"){c=n.collection.getKeyAfter(c);continue}if((m.level??0)<=u)break;d=c,c=n.collection.getKeyAfter(c)}}r=c??d??r}return(0,h.useMemo)(()=>new Set([l,r].filter(c=>c!=null)),[l,r])}var si=10,ri=5,Pd=class{setup(t,e,n){this.delegate=t,this.state=e,this.direction=n}getDropTargetFromPoint(t,e,n){let l=this.delegate.getDropTargetFromPoint(t,e,n);return!l||l.type==="root"?l:this.resolveDropTarget(l,t,e,n)}resolveDropTarget(t,e,n,l){let r=this.pointerTracking,i=n-r.lastY,a=e-r.lastX,o=r.yDirection,c=r.xDirection;if(Math.abs(i)>ri&&(o=i>0?"down":"up",r.yDirection=o,r.lastY=n),Math.abs(a)>si&&(c=a>0?"right":"left",r.xDirection=c,r.lastX=e),t.dropPosition==="before"){let m=this.state.collection.getKeyBefore(t.key);if(m!=null){let f={type:"item",key:m,dropPosition:"after"};l(f)&&(t=f)}}let d=this.getPotentialTargets(t,l);if(d.length===0)return{type:"root"};let u;return d.length>1?u=this.selectTarget(d,t,e,n,o,c):(u=d[0],r.boundaryContext=null),u}getPotentialTargets(t,e){if(t.dropPosition==="on")return[t];let n=t,l=this.state.collection,r=l.getItem(n.key);for(;r&&(r==null?void 0:r.type)!=="item"&&r.nextKey!=null;)n.key=r.nextKey,r=l.getItem(r.nextKey);let i=[n];if(r&&r.hasChildNodes&&this.state.expandedKeys.has(r.key)&&l.getChildren&&n.dropPosition==="after"){let c=null;for(let d of l.getChildren(r.key))if(d.type==="item"){c=d;break}if(c){let d={type:"item",key:c.key,dropPosition:"before"};return e(d)?[d]:[]}}if((r==null?void 0:r.nextKey)!=null)return[t];let a=r==null?void 0:r.parentKey,o=[];for(;a;){let c=l.getItem(a),d=c!=null&&c.nextKey?l.getItem(c.nextKey):null;if(!d||d.parentKey!==a){let u={type:"item",key:a,dropPosition:"after"};if(e(u)&&o.push(u),d)break}a=c==null?void 0:c.parentKey}if(o.length>0&&i.push(...o),i.length===1){let c=l.getKeyAfter(n.key),d=c?l.getItem(c):null;if(c!=null&&d&&r&&d.level!=null&&r.level!=null&&d.level>r.level){let u={type:"item",key:c,dropPosition:"before"};if(e(u))return[u]}}return i.filter(e)}selectTarget(t,e,n,l,r,i){var u;if(t.length<2)return t[0];let a=this.pointerTracking,o=(u=this.state.collection.getItem(e.key))==null?void 0:u.parentKey;if(!o)return t[0];(!a.boundaryContext||a.boundaryContext.parentKey!==o)&&(a.boundaryContext={parentKey:o,preferredTargetIndex:a.yDirection==="up"?t.length-1:0,lastSwitchY:l,lastSwitchX:n});let c=a.boundaryContext,d=Math.abs(n-c.lastSwitchX);if(Math.abs(l-c.lastSwitchY)>ri&&r){let m=c.preferredTargetIndex||0;r==="down"&&m===0?c.preferredTargetIndex=t.length-1:r==="up"&&m===t.length-1&&(c.preferredTargetIndex=0),a.xDirection=null}if(d>si&&i){let m=c.preferredTargetIndex||0;i==="left"?this.direction==="ltr"?m<t.length-1&&(c.preferredTargetIndex=m+1,c.lastSwitchX=n):m>0&&(c.preferredTargetIndex=m-1,c.lastSwitchX=n):i==="right"&&(this.direction==="ltr"?m>0&&(c.preferredTargetIndex=m-1,c.lastSwitchX=n):m<t.length-1&&(c.preferredTargetIndex=m+1,c.lastSwitchX=n)),a.yDirection=null}return t[Math.max(0,Math.min(c.preferredTargetIndex||0,t.length-1))]}constructor(){this.delegate=null,this.state=null,this.direction="ltr",this.pointerTracking={lastY:0,lastX:0,yDirection:null,xDirection:null,boundaryContext:null}}},Ad=class rl extends Cs{withExpandedKeys(e,n){let l=this.clone();return l.expandedKeys=n,rl.cloneAncestorSections(n,e,l),rl.cloneAncestorSections(e,n,l),l.frozen=this.frozen,l}static cloneAncestorSections(e,n,l){for(let r of e)if(!n.has(r)){let i=r;for(;i!=null;){let a=l.getItem(i);if((a==null?void 0:a.type)==="section"){l.keyMap.set(i,a.clone());break}else i=(a==null?void 0:a.parentKey)??null}}}*[Symbol.iterator](){let e=this.getFirstKey(),n=e==null?null:this.getItem(e);for(;n;)if(yield n,n.type==="section")n=n.nextKey?this.getItem(n.nextKey):null;else{let l=this.getKeyAfter(n.key);n=l?this.getItem(l):null}}getLastKey(){let e=this.lastKey;if(e==null)return null;let n=this.getItem(e);for(;(n==null?void 0:n.lastChildKey)!=null&&(n.type!=="item"||this.expandedKeys.has(n.key));)n=this.getItem(n.lastChildKey);return n==null?void 0:n.key}getKeyAfter(e){let n=this.getItem(e);if(!n)return null;if((this.expandedKeys.has(n.key)||n.type!=="item")&&n.firstChildKey!=null)return n.firstChildKey;for(;n;){if(n.nextKey!=null)return n.nextKey;if(n.parentKey!=null)n=this.getItem(n.parentKey);else return null}return null}getKeyBefore(e){let n=this.getItem(e);if(!n)return null;if(n.prevKey!=null){for(n=this.getItem(n.prevKey);n&&(n.type!=="item"||this.expandedKeys.has(n.key))&&n.lastChildKey!=null;)n=this.getItem(n.lastChildKey);return(n==null?void 0:n.key)??null}return n.parentKey}getChildren(e){let n=this;return{*[Symbol.iterator](){let l=n.getItem(e),r=(l==null?void 0:l.firstChildKey)==null?null:n.getItem(l.firstChildKey);if(l&&l.type==="section"&&r)for(;r&&r.key!==l.nextKey;){yield n.getItem(r.key);let i=n.getKeyAfter(r.key);r=i==null?null:n.getItem(i)}else for(;r;)yield r,r=r.nextKey==null?null:n.getItem(r.nextKey)}}}getTextValue(e){let n=this.getItem(e);return n?n.textValue:""}constructor(...e){super(...e),this.expandedKeys=new Set}},Td=(0,h.createContext)(null),Yn=(0,h.createContext)(null),Fd=(0,h.forwardRef)(function(t,e){return[t,e]=mo(t,e,Td),h.createElement(Is,{content:h.createElement(Ds,t),createCollection:()=>new Ad},n=>h.createElement(Rd,{props:t,collection:n,treeRef:e}))}),ii={expand:{ltr:"ArrowRight",rtl:"ArrowLeft"},collapse:{ltr:"ArrowLeft",rtl:"ArrowRight"}};function Rd({props:t,collection:e,treeRef:n}){let{dragAndDropHooks:l}=t,{direction:r}=It(),i=_n({usage:"search",sensitivity:"base"}),a=!!(l!=null&&l.useDraggableCollectionState),o=!!(l!=null&&l.useDroppableCollectionState),c=(0,h.useRef)(a),d=(0,h.useRef)(o);(0,h.useEffect)(()=>{c.current!==a&&console.warn("Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior."),d.current!==o&&console.warn("Drop hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.")},[a,o]);let{selectionMode:u="none",expandedKeys:m,defaultExpandedKeys:f,onExpandedChange:x,disabledBehavior:y="all"}=t,{CollectionRoot:j,isVirtualized:v,layoutDelegate:S,dropTargetDelegate:p}=(0,h.useContext)(Xt),[g,C]=xn(m?new Set(m):void 0,f?new Set(f):new Set,x),[I,D]=(0,h.useState)(e),[_,T]=(0,h.useState)(g),[N,P]=(0,h.useState)(()=>e.withExpandedKeys(_,g));(!Vd(_,g)||e!==I)&&(P(e.withExpandedKeys(_,g)),D(e),T(g));let K=Ed({...t,selectionMode:u,expandedKeys:g,onExpandedChange:C,collection:N,children:void 0,disabledBehavior:y}),{gridProps:k}=Sd({...t,isVirtualized:v,layoutDelegate:S},K,n),M,b,E,F=!1,R=null,U=(0,h.useRef)(null);if(a&&l){M=l.useDraggableCollectionState({collection:K.collection,selectionManager:K.selectionManager,preview:l.renderDragPreview?U:void 0}),l.useDraggableCollection({},M,n);let A=l.DragPreview;R=l.renderDragPreview?h.createElement(A,{ref:U},l.renderDragPreview):null}let[q]=(0,h.useState)(()=>new Pd);if(o&&l){b=l.useDroppableCollectionState({collection:K.collection,selectionManager:K.selectionManager});let A=l.dropTargetDelegate||p||new l.ListDropTargetDelegate(K.collection,n,{direction:r});q.setup(A,K,r);let ee=new zn({collection:K.collection,collator:i,ref:n,disabledKeys:K.selectionManager.disabledKeys,disabledBehavior:K.selectionManager.disabledBehavior,direction:r,layoutDelegate:S});E=l.useDroppableCollection({keyboardDelegate:ee,dropTargetDelegate:q,onDropActivate:Q=>{var te;if(Q.target.type==="item"){let ie=Q.target.key,ce=K.collection.getItem(ie),ve=g.has(ie);ce&&ce.hasChildNodes&&(!ve||l!=null&&((te=l.isVirtualDragging)!=null&&te.call(l)))&&K.toggleKey(ie)}},onKeyDown:Q=>{let te=b==null?void 0:b.target;if(te&&te.type==="item"&&te.dropPosition==="on"){let ie=K.collection.getItem(te.key);(Q.key===ii.expand[r]&&(ie!=null&&ie.hasChildNodes)&&!K.expandedKeys.has(te.key)||Q.key===ii.collapse[r]&&(ie!=null&&ie.hasChildNodes)&&K.expandedKeys.has(te.key))&&K.toggleKey(te.key)}}},b,n);let X=b.getDropOperation;b.getDropOperation=Q=>{var ve;let{target:te,isInternal:ie}=Q,ce=(M==null?void 0:M.draggingKeys)??new Set;if(ie&&te.type==="item"&&ce.size>0){if(ce.has(te.key)&&te.dropPosition==="on")return"cancel";let ge=te.key;for(;ge!=null;){let de=(ve=K.collection.getItem(ge))==null?void 0:ve.parentKey;if(de!=null&&ce.has(de))return"cancel";ge=de??null}}return X(Q)},F=b.isDropTarget({type:"root"})}let w=!!(a&&!(M!=null&&M.isDisabled)),{focusProps:G,isFocused:Z,isFocusVisible:J}=gn(),le={isEmpty:K.collection.size===0,isFocused:Z,isFocusVisible:J,isDropTarget:F,selectionMode:K.selectionManager.selectionMode,allowsDragging:!!w,state:K},oe=Ct({...t,children:void 0,defaultClassName:"react-aria-Tree",values:le}),se=null;if(K.collection.size===0&&t.renderEmptyState){let{isEmpty:A,...ee}=le,X=t.renderEmptyState({...ee});se=h.createElement("div",{role:"row",style:{display:"contents"},"aria-level":1},h.createElement("div",{role:"gridcell",style:{display:"contents"}},X))}let re=Wt(t,{global:!0});return h.createElement(h.Fragment,null,h.createElement(ls,null,h.createElement(Ut.div,{...Ve(re,oe,k,G,E==null?void 0:E.collectionProps),ref:n,slot:t.slot||void 0,"data-empty":K.collection.size===0||void 0,"data-focused":Z||void 0,"data-drop-target":F||void 0,"data-focus-visible":J||void 0,"data-selection-mode":K.selectionManager.selectionMode==="none"?void 0:K.selectionManager.selectionMode,"data-allows-dragging":!!w||void 0},h.createElement(Kl,{values:[[Yn,K],[Pt,{dragAndDropHooks:l,dragState:M,dropState:b}],[qn,{render:zd}]]},o&&h.createElement($d,null),h.createElement(Fa,null,h.createElement(j,{collection:K.collection,persistedKeys:li(K.selectionManager,l,b),scrollRef:n,renderDropIndicator:ni(l,b)}))),se)),R)}var ai=class extends ft{};ai.type="content";var oi=Gn(ai,function(t){let e=(0,h.useContext)(ci),n=Ct({children:t.children,values:e});return h.createElement(Xt.Provider,{value:_s},n.children)}),ci=(0,h.createContext)(null),di=class extends ft{};di.type="item";var ui=ud(di,(t,e,n)=>{let l=(0,h.useContext)(Yn);e=yn(e);let{dragAndDropHooks:r,dragState:i,dropState:a}=(0,h.useContext)(Pt),{rowProps:o,gridCellProps:c,expandButtonProps:d,descriptionProps:u,...m}=Xr({node:n,shouldSelectOnPressUp:!!i},l,e),f=o["aria-expanded"]===!0,x=t.hasChildItems||[...l.collection.getChildren(n.key)].length>1,y=o["aria-level"]||1,{hoverProps:j,isHovered:v}=ao({isDisabled:!m.allowsSelection&&!m.hasAction,onHoverStart:t.onHoverStart,onHoverChange:t.onHoverChange,onHoverEnd:t.onHoverEnd}),{isFocusVisible:S,focusProps:p}=gn(),{isFocusVisible:g,focusProps:C}=gn({within:!0}),{checkboxProps:I}=Nd({key:n.key},l),D=null;i&&r&&(D=r.useDraggableItem({key:n.key,hasDragButton:!0},i));let _=null,T=(0,h.useRef)(null),N=(0,h.useRef)(null),P=(0,h.useRef)(null),{visuallyHiddenProps:K}=Dt();a&&r&&(_=r.useDropIndicator({target:{type:"item",key:n.key,dropPosition:"on"},activateButtonRef:P},a,N));let k=i&&i.isDragging(n.key),M=_==null?void 0:_.isDropTarget,b=l.selectionManager.selectionMode,E=l.selectionManager.selectionBehavior,F=h.useMemo(()=>({...m,isHovered:v,isFocusVisible:S,isExpanded:f,hasChildItems:x,level:y,selectionMode:b,selectionBehavior:E,isFocusVisibleWithin:g,state:l,id:n.key,allowsDragging:!!i,isDragging:k,isDropTarget:M}),[m,v,S,f,x,y,g,l,n.key,i,k,M,E,b]),R=Ct({...t,id:void 0,children:n.rendered,defaultClassName:"react-aria-TreeItem",defaultStyle:{"--tree-item-level":y},values:F});(0,h.useEffect)(()=>{n.textValue},[n.textValue]),(0,h.useEffect)(()=>{x&&T.current},[]);let U=(0,h.useRef)(null);(0,h.useEffect)(()=>{i&&U.current},[]);let q=On({items:l.collection.getChildren(n.key),children:Z=>{switch(Z.type){case"content":return Z.render(Z);case"loader":case"item":return h.createElement(h.Fragment,null);default:throw Error("Unsupported element type in TreeRow: "+Z.type)}}}),w=St(),G=Wt(t,{global:!0});return delete G.id,delete G.onClick,h.createElement(h.Fragment,null,_&&!_.isHidden&&h.createElement("div",{role:"row","aria-level":o["aria-level"],"aria-expanded":o["aria-expanded"],"aria-label":_.dropIndicatorProps["aria-label"]},h.createElement("div",{role:"gridcell","aria-colindex":1,style:{display:"contents"}},h.createElement("div",{role:"button",...K,..._.dropIndicatorProps,ref:N}),o["aria-expanded"]==null?null:h.createElement("div",{role:"button",...K,id:w,"aria-label":d["aria-label"],"aria-labelledby":`${w} ${o.id}`,tabIndex:-1,ref:P}))),h.createElement(Ut.div,{...Ve(G,o,p,j,C,D==null?void 0:D.dragProps),...R,ref:e,"data-expanded":x&&f||void 0,"data-has-child-items":x||void 0,"data-level":y,"data-selected":m.isSelected||void 0,"data-disabled":m.isDisabled||void 0,"data-hovered":v||void 0,"data-focused":m.isFocused||void 0,"data-focus-visible":S||void 0,"data-pressed":m.isPressed||void 0,"data-selection-mode":l.selectionManager.selectionMode==="none"?void 0:l.selectionManager.selectionMode,"data-allows-dragging":!!i||void 0,"data-dragging":k||void 0,"data-drop-target":M||void 0},h.createElement("div",{...c,style:{display:"contents"}},h.createElement(Kl,{values:[[vc,{slots:{selection:I}}],[fo,{slots:{[po]:{},chevron:{...d,ref:T},drag:{...D==null?void 0:D.dragButtonProps,ref:U,style:{pointerEvents:"none"}}}}],[ci,{...F}],[Ba,{isSelected:m.isSelected}]]},q))))});Gn($n,function(t,e,n){let{isVirtualized:l}=(0,h.useContext)(Xt),r=(0,h.useContext)(Yn),{isLoading:i,onLoadMore:a,scrollOffset:o,...c}=t,d=(0,h.useRef)(null);es((0,h.useMemo)(()=>({onLoadMore:a,collection:r==null?void 0:r.collection,sentinelRef:d,scrollOffset:o}),[a,o,r==null?void 0:r.collection]),d),e=yn(e);let{rowProps:u,gridCellProps:m}=Xr({node:n},r,e),f=u["aria-level"]||1,x={role:"row","aria-level":u["aria-level"]},y=Ct({...c,id:void 0,children:n.rendered,defaultClassName:"react-aria-TreeLoader",values:{level:f}}),j={};return l&&(j={display:"contents"}),h.createElement(h.Fragment,null,h.createElement("div",{style:{position:"relative",width:0,height:0},inert:ts(!0)},h.createElement("div",{"data-testid":"loadMoreSentinel",ref:d,style:{position:"absolute",height:1,width:1}})),i&&y.children&&h.createElement(Ut.div,{ref:e,...Ve(Wt(t),x),...y,"data-level":f},h.createElement("div",{...m,style:j},y.children)))});function zd(t,e){var d;e=yn(e);let{dragAndDropHooks:n,dropState:l}=(0,h.useContext)(Pt),r=(0,h.useRef)(null),{dropIndicatorProps:i,isHidden:a,isDropTarget:o}=n.useDropIndicator(t,l,r);if(a)return null;let c=l&&t.target.type==="item"?(((d=l.collection.getItem(t.target.key))==null?void 0:d.level)||0)+1:1;return h.createElement(Ld,{...t,dropIndicatorProps:i,isDropTarget:o,ref:e,buttonRef:r,level:c})}function Bd(t,e){let{dropIndicatorProps:n,isDropTarget:l,buttonRef:r,level:i,...a}=t,{visuallyHiddenProps:o}=Dt(),c=Ct({...a,defaultClassName:"react-aria-DropIndicator",defaultStyle:{position:"relative","--tree-item-level":i},values:{isDropTarget:l}});return h.createElement(Ut.div,{...c,role:"row","aria-level":i,ref:e,"data-drop-target":l||void 0},h.createElement("div",{role:"gridcell"},h.createElement("div",{...o,role:"button",...n,ref:r}),c.children))}var Ld=(0,h.forwardRef)(Bd);function $d(){let{dragAndDropHooks:t,dropState:e}=(0,h.useContext)(Pt),n=(0,h.useRef)(null),{dropIndicatorProps:l}=t.useDropIndicator({target:{type:"root"}},e,n),r=e.isDropTarget({type:"root"}),{visuallyHiddenProps:i}=Dt();return!r&&l["aria-hidden"]?null:h.createElement("div",{role:"row","aria-hidden":l["aria-hidden"],style:{position:"absolute"}},h.createElement("div",{role:"gridcell"},h.createElement("div",{role:"button",...i,...l,ref:n})))}function Vd(t,e){if(t.size!==e.size)return!1;for(let n of t)if(!e.has(n))return!1;return!0}var Od=Pe(),Hd=t=>{switch(t){case"chat":return"chat_model";case"autocomplete":return"autocomplete_model";case"edit":return"edit_model"}};const mi=()=>{let t=(0,Od.c)(12),[e,n]=xt(Ka),{saveUserConfig:l}=kt(),r;t[0]!==l||t[1]!==n?(r=async m=>{await l({config:m}).then(()=>{n(f=>({...f,...m}))})},t[0]=l,t[1]=n,t[2]=r):r=t[2];let i=r,a;t[3]!==i||t[4]!==e?(a=async(m,f)=>{var y,j,v,S,p;let x=Hd(f);x&&i({ai:{...e.ai,models:{custom_models:((j=(y=e.ai)==null?void 0:y.models)==null?void 0:j.custom_models)??[],displayed_models:((S=(v=e.ai)==null?void 0:v.models)==null?void 0:S.displayed_models)??[],...(p=e.ai)==null?void 0:p.models,[x]:m}}})},t[3]=i,t[4]=e,t[5]=a):a=t[5];let o=a,c;t[6]!==i||t[7]!==e?(c=async m=>{i({ai:{...e.ai,mode:m}})},t[6]=i,t[7]=e,t[8]=c):c=t[8];let d=c,u;return t[9]!==d||t[10]!==o?(u={saveModelChange:o,saveModeChange:d},t[9]=d,t[10]=o,t[11]=u):u=t[11],u},en=["openai","anthropic","google","ollama","bedrock","deepseek","azure","github","openrouter","wandb","marimo"];var Le=class il{constructor(e,n){this.providerId=e,this.shortModelId=n}get id(){return`${this.providerId}/${this.shortModelId}`}static parse(e){if(!e.includes("/"))return new il(Gd(e),e);let[n,...l]=e.split("/");return new il(n,l.join("/"))}};function Gd(t){return t.startsWith("gpt")||t.startsWith("o3")||t.startsWith("o1")?"openai":t.startsWith("claude")?"anthropic":t.startsWith("gemini")||t.startsWith("google")?"google":t.startsWith("deepseek")?"deepseek":"ollama"}function Zn(t){return en.includes(t)}const Ud=[{name:"Claude Sonnet 4.6",model:"claude-sonnet-4-6",description:"Most capable Sonnet-class model, with frontier performance across coding, agents, and professional work",providers:["anthropic"],roles:["chat","edit"],thinking:!0},{name:"Claude Opus 4.6",model:"claude-opus-4-6",description:"Strongest model for coding and long-running professional tasks",providers:["anthropic"],roles:["chat","edit"],thinking:!0},{name:"Claude Opus 4.5",model:"claude-opus-4-5",description:"Frontier reasoning model optimized for complex software engineering",providers:["anthropic"],roles:["chat","edit"],thinking:!0},{name:"Claude Sonnet 4.5",model:"claude-sonnet-4-5",description:"Advanced Sonnet model optimized for real-world agents and coding workflows",providers:["anthropic"],roles:["chat","edit"],thinking:!0},{name:"Claude Haiku 4.5",model:"claude-haiku-4-5",description:"Most efficient model, delivering near-frontier intelligence at a fraction of the cost",providers:["anthropic"],roles:["chat","edit"],thinking:!0},{name:"Gemini 3.1 Flash Lite Preview",model:"gemini-3.1-flash-lite-preview",description:"High-efficiency model optimized for high-volume use cases",providers:["google"],roles:["chat","edit"],thinking:!1},{name:"Gemini 3.1 Pro Preview",model:"gemini-3.1-pro-preview",description:"Frontier reasoning model with enhanced software engineering and agentic reliability",providers:["google"],roles:["chat","edit"],thinking:!0},{name:"Gemini 3 Flash Preview",model:"gemini-3-flash-preview",description:"High-speed thinking model for agentic workflows, multi-turn chat, and coding assistance",providers:["google"],roles:["chat","edit"],thinking:!0},{name:"Gemini 2.5 Flash",model:"gemini-2.5-flash",description:"State-of-the-art workhorse model with built-in thinking capabilities",providers:["google"],roles:["chat","edit"],thinking:!0},{name:"Gemini 2.5 Flash Lite",model:"gemini-2.5-flash-lite",description:"Most cost-efficient model supporting high throughput",providers:["google"],roles:["chat","edit"],thinking:!1},{name:"GPT-5.4",model:"gpt-5.4",description:"The latest frontier-grade model, unifying the Codex and GPT lines into a single system",providers:["openai"],roles:["chat","edit"],thinking:!1},{name:"GPT-5.3 Chat",model:"gpt-5.3-chat",description:"Most-used model that makes everyday conversations smoother and more useful",providers:["openai","azure"],roles:["chat","edit"],thinking:!1},{name:"GPT-5.3-Codex",model:"gpt-5.3-codex",description:"Most advanced agentic coding model combining frontier software engineering with broad reasoning",providers:["openai"],roles:["chat","edit"],thinking:!1},{name:"GPT-5 Mini",model:"gpt-5-mini",description:"A faster, cost-efficient version of GPT-5 for well-defined tasks",providers:["openai","azure","github"],roles:["chat","edit"],thinking:!1},{name:"GPT-5 Nano",model:"gpt-5-nano",description:"Fastest, most cost-efficient version of GPT-5",providers:["openai","azure"],roles:["chat","edit"],thinking:!1},{name:"o3",model:"o3",description:"Most powerful reasoning model with chain-of-thought capabilities",providers:["openai","azure"],roles:["chat","edit"],thinking:!0},{name:"o4 Mini",model:"o4-mini",description:"Faster, more affordable reasoning model optimized for math, coding, and visual tasks",providers:["openai","azure"],roles:["chat","edit"],thinking:!0},{name:"GPT-3.5-turbo",model:"gpt-3.5-turbo",description:"Fast and efficient model with excellent performance for everyday tasks",providers:["github"],roles:["chat","edit"],thinking:!1},{name:"Claude 4.6 Opus (Bedrock)",model:"global.anthropic.claude-opus-4-6-20260206-v1:0",description:"Strongest model for coding and long-running professional tasks",providers:["bedrock"],roles:["chat","edit"],thinking:!0},{name:"Claude 4.5 Opus (Bedrock)",model:"global.anthropic.claude-opus-4-5-20251120-v1:0",description:"Frontier reasoning model optimized for complex software engineering",providers:["bedrock"],roles:["chat","edit"],thinking:!0},{name:"Claude 4.5 Sonnet (Bedrock)",model:"global.anthropic.claude-sonnet-4-5-20250929-v1:0",description:"Most advanced Sonnet model to date, optimized for real-world agents",providers:["bedrock"],roles:["chat","edit"],thinking:!0},{name:"Claude 4.5 Haiku (Bedrock)",model:"global.anthropic.claude-haiku-4-5-latest-v1:0",description:"Most efficient model, delivering near-frontier intelligence at a fraction of the cost",providers:["bedrock"],roles:["chat","edit"],thinking:!0},{name:"Llama 3.3 70B Instruct",model:"us.meta.llama3-3-70b-instruct-v1:0",description:"Large language model optimized for instruction following and chat",providers:["bedrock"],roles:["chat","edit"],thinking:!1},{name:"Cohere Embed Multilingual v3",model:"cohere.embed-multilingual-v3",description:"Multilingual text embedding model for semantic search and similarity",providers:["bedrock"],roles:["embed"],thinking:!1},{name:"Cohere Rerank 3.5",model:"cohere.rerank-v3-5:0",description:"Advanced reranking model for improving search result relevance",providers:["bedrock"],roles:["rerank"],thinking:!1},{name:"gpt-oss 20b",model:"gpt-oss:20b",description:"OpenAI's open-weight models designed for powerful reasoning, agentic tasks, and versatile developer use cases.",providers:["ollama"],roles:["chat","edit"],thinking:!0},{name:"Qwen3 8b",model:"qwen3:8b",description:"Qwen3 is the latest generation of large language models in Qwen series.",providers:["ollama"],roles:["chat","edit"],thinking:!0},{name:"Gemma3 12b",model:"gemma3:12b",description:"Lightweight gemma models trained by Google, trained to run on a single GPU.",providers:["ollama"],roles:["chat","edit"],thinking:!0},{name:"Meta Llama 3.1 8B (W&B)",model:"meta-llama/Llama-3.1-8B-Instruct",description:"Efficient conversational model optimized for responsive multilingual chatbot interactions",providers:["wandb"],roles:["chat","edit"],thinking:!1},{name:"OpenAI GPT OSS 120B",model:"openai/gpt-oss-120b",description:"Efficient Mixture-of-Experts model designed for high-reasoning, agentic and general-purpose use cases",providers:["wandb"],roles:["chat","edit"],thinking:!0},{name:"OpenAI GPT OSS 20B",model:"openai/gpt-oss-20b",description:"Lower latency Mixture-of-Experts model trained on OpenAI's Harmony response format with reasoning capabilities",providers:["wandb"],roles:["chat","edit"],thinking:!0},{name:"DeepSeek V3-0324",model:"deepseek-ai/DeepSeek-V3-0324",description:"Robust Mixture-of-Experts model tailored for high-complexity language processing and comprehensive document analysis",providers:["wandb"],roles:["chat","edit"],thinking:!1},{name:"Meta Llama 3.3 70B (W&B)",model:"meta-llama/Llama-3.3-70B-Instruct",description:"Multilingual model excelling in conversational tasks, detailed instruction-following, and coding",providers:["wandb"],roles:["chat","edit"],thinking:!1},{name:"DeepSeek R1-0528",model:"deepseek-ai/DeepSeek-R1-0528",description:"Optimized for precise reasoning tasks including complex coding, math, and structured document analysis",providers:["wandb"],roles:["chat","edit"],thinking:!0},{name:"MoonshotAI Kimi K2",model:"moonshotai/Kimi-K2-Instruct",description:"Mixture-of-Experts model optimized for complex tool use, reasoning, and code synthesis",providers:["wandb"],roles:["chat","edit"],thinking:!0},{name:"Z.AI GLM 4.5",model:"zai-org/GLM-4.5",description:"Mixture-of-Experts model with user-controllable thinking/non-thinking modes for strong reasoning, code generation, and agent alignment",providers:["wandb"],roles:["chat","edit"],thinking:!0}],Wd=[{name:"OpenAI",id:"openai",description:"OpenAI's API for GPT models, including GPT-3.5 and GPT-4.",url:"https://platform.openai.com/"},{name:"Amazon Bedrock",id:"bedrock",description:"Amazon Bedrock provides access to foundation models from Amazon and leading AI startups via a unified API.",url:"https://aws.amazon.com/bedrock/"},{name:"Azure",id:"azure",description:"Azure provides access to models via the Azure cloud.",url:"https://azure.microsoft.com/en-us/products/ai-services/"},{name:"Anthropic",id:"anthropic",description:"Anthropic's Claude models for conversational and completion tasks.",url:"https://www.anthropic.com/"},{name:"Google AI",id:"google",description:"Google's Vertex AI and PaLM APIs for generative and conversational models.",url:"https://cloud.google.com/vertex-ai/docs/generative-ai/learn/overview"},{name:"Ollama",id:"ollama",description:"Ollama is a lightweight, open-source model server for running and sharing LLMs.",url:"https://ollama.ai/"},{name:"GitHub",id:"github",description:"GitHub's API for GPT models with GitHub-hosted models.",url:"https://github.com/features/copilot"},{name:"marimo",id:"marimo",description:"marimo's hosted models.",url:"https://docs.marimo.io/guides/editor_features/ai_completion/"},{name:"DeepSeek",id:"deepseek",description:"DeepSeek's API for GPT models.",url:"https://deepseek.com/"},{name:"LM Studio",id:"lmstudio",description:"LM Studio's API for GPT models.",url:"https://lmstudio.ai/"},{name:"OpenRouter",id:"openrouter",description:"OpenRouter's API for GPT models.",url:"https://openrouter.ai/"},{name:"Mistral",id:"mistral",description:"Mistral's API for GPT models.",url:"https://mistral.ai/"},{name:"Vercel v0",id:"vercel",description:"Vercel's API for GPT models.",url:"https://vercel.com/"},{name:"Together AI",id:"together",description:"Together AI's API for GPT models.",url:"https://together.ai/"},{name:"xAI",id:"xai",description:"xAI's API for GPT models.",url:"https://x.ai/"},{name:"Weights & Biases",id:"wandb",description:"Weights & Biases' hosted models for ML development and AI inference.",url:"https://wandb.ai/"}],hi=rt(()=>{let t=new Map,e=new Map;for(let n of Ud){let l=n.model,r={...n,model:n.model,roles:n.roles.map(a=>a),providers:n.providers,custom:!1},i=r.roles.includes("chat")||r.roles.includes("edit");for(let a of r.providers){let o=`${a}/${l}`;t.set(o,r),i&&!e.has(a)&&e.set(a,o)}}return{modelMap:t,defaultModelByProvider:e}});var pi=rt(()=>{let t=new Map,e=new Map;return Wd.forEach((n,l)=>{let r=n.id;t.set(r,n),e.set(r,l)}),{providerMap:t,providerToOrderIdx:e}}),At=class cn{constructor(e,n){ze(this,"modelsByProviderMap",new $l);this.customModels=new Set(e),this.displayedModels=new Set(n),this.modelsMap=new Map,this.buildMaps()}static getProviderInfo(e){let{providerMap:n}=pi();return n.get(e)}static create(e){let{customModels:n=[],displayedModels:l=[]}=e;return new cn(n.map(r=>Le.parse(r).id),l.map(r=>Le.parse(r).id))}buildMaps(){let e=cn.buildMapsFromConfig({displayedModels:this.displayedModels,customModels:this.customModels});e.modelsMap.size===0&&(Y.error("The configured displayed_models have filtered out all registered models. Reverting back to showing all models.",[...this.displayedModels]),e=cn.buildMapsFromConfig({displayedModels:new Set,customModels:this.customModels})),this.modelsByProviderMap=e.modelsByProviderMap,this.modelsMap=e.modelsMap}static buildMapsFromConfig(e){let{displayedModels:n,customModels:l}=e,r=n.size>0,i=hi().modelMap,a=new Map,o=new Map,c=new $l;for(let d of l){if(r&&!n.has(d))continue;let u=Le.parse(d),m={name:u.shortModelId,model:u.shortModelId,description:"Custom model",providers:[u.providerId],roles:[],thinking:!1,custom:!0};a.set(d,m)}if(r)for(let d of n){let u=i.get(d);u&&o.set(d,u)}else o=new Map(i);o=new Map([...a,...o]);for(let[d,u]of o.entries()){let m=Le.parse(d);c.add(m.providerId,u)}return{modelsByProviderMap:c,modelsMap:o}}getDisplayedModels(){return this.displayedModels}getCustomModels(){return this.customModels}getModelsByProvider(e){return this.modelsByProviderMap.get(e)||[]}getGroupedModelsByProvider(){return this.modelsByProviderMap}getListModelsByProvider(){let e=[...this.getGroupedModelsByProvider().entries()],n=pi().providerToOrderIdx;return e.sort((l,r)=>{let i=l[0],a=r[0];return(n.get(i)??0)-(n.get(a)??0)}),e}getModelsMap(){return this.modelsMap}getModel(e){return this.modelsMap.get(e)}};function qd(t){"scheduler"in window?window.scheduler.postTask(t,{priority:"background"}):"requestIdleCallback"in window?requestIdleCallback(t):setTimeout(t,0)}var tn=null,Yd=class{constructor(t){ze(this,"abortController",new AbortController);this.view=t.view,this.view.dom.addEventListener("focus",()=>{tn=new WeakRef(this.view)},{signal:this.abortController.signal,capture:!0}),this.update()}update(){let t=this.view.dom.querySelector(".cm-vimCursorLayer");if(t instanceof HTMLElement)if(ma())t.style.display="none";else{let e=(tn==null?void 0:tn.deref())===this.view;t.style.display=e?"":"none"}}destroy(){this.abortController.abort()}};const fi={map:{args:["lhs","rhs"]},nmap:{mode:"normal",args:["lhs","rhs"]},vmap:{mode:"visual",args:["lhs","rhs"]},imap:{mode:"insert",args:["lhs","rhs"]},noremap:{args:["lhs","rhs"]},nnoremap:{mode:"normal",args:["lhs","rhs"]},vnoremap:{mode:"visual",args:["lhs","rhs"]},inoremap:{mode:"insert",args:["lhs","rhs"]},unmap:{args:["lhs"]},nunmap:{mode:"normal",args:["lhs"]},vunmap:{mode:"visual",args:["lhs"]},iunmap:{mode:"insert",args:["lhs"]},mapclear:{},nmapclear:{mode:"normal"},vmapclear:{mode:"visual"},imapclear:{mode:"insert"}};function Zd(t,e){let n=[];for(let l of t.split(`
|
|
2
|
-
`)){if(l.startsWith('"')||l.trim()==="")continue;let r=Qd(l,e);r&&n.push(r)}return n}function Qd(t,e){let n=t.split(/\s+/),l=n[0],r=0;if(l in fi){let i=fi[l],a={};for(let c of i.args||[])if(r+=1,r<n.length)a[c]=n[r];else{e&&e(`Not enough arguments for "${l}" command: "${t}"`);return}let o={name:l};return"args"in i&&(o.args=a),"mode"in i&&(o.mode=i.mode),o}e&&e(`Unknown vimrc command: "${t}"`)}function Xd(){return Jd(),eu(),[tt.of([{key:"j",run:t=>{if(ua(t,!0)&&ol(t)){let e=t.state.facet($t),n=t.state.facet(cl);return e.moveToNextCell({cellId:n,before:!1,noCreate:!0}),!0}return!1}}]),tt.of([{key:"k",run:t=>{if(ha(t)&&ol(t)){let e=t.state.facet($t),n=t.state.facet(cl);return e.moveToNextCell({cellId:n,before:!0,noCreate:!0}),!0}return!1}}]),tt.of([{linux:"Ctrl-[",win:"Ctrl-[",run:t=>{let e=Lt(t);return e?xi(e)?e.state.vim.insertMode?(ye.exitInsertMode(e,!0),!0):!1:(Y.warn("Expected CodeMirror instance to have Vim state"),!1):(Y.warn("Expected CodeMirror instance to have CodeMirror instance state"),!1)}}]),yl.define(t=>(requestAnimationFrame(()=>{gi.INSTANCES.addInstance(t)}),{destroy(){gi.INSTANCES.removeInstance(t)}})),yl.define(t=>new Yd({view:t})),Oa.domEventHandlers({keydown(t,e){return t.ctrlKey&&t.key==="Escape"?(e.dom.dispatchEvent(new KeyboardEvent(t.type,t)),!0):!1}})]}var Jd=rt(()=>{ye.defineAction("goToDefinition",t=>{let e=t.cm6;return xa(e)}),ye.mapCommand("gd","action","goToDefinition",{},{context:"normal"}),ye.defineEx("write","w",t=>{let e=t.cm6;e&&e.state.facet($t).saveNotebook()})}),eu=rt(async()=>{var e;let t=(e=ut.get(hn).keymap)==null?void 0:e.vimrc;if(t)try{Y.log(`Loading vimrc from ${t}`);let n=(await Wa().sendFileDetails({path:t})).contents;if(!n){Y.error(`Failed to load vimrc from ${t}`);return}tu(Zd(n,Y.warn))}catch(n){Y.error("Failed to load vimrc:",n)}});function tu(t){function e(i){if(!i.args){Y.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}if(!i.args.lhs||!i.args.rhs){Y.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}i.mode?ye.map(i.args.lhs,i.args.rhs,i.mode):ye.map(i.args.lhs,i.args.rhs)}function n(i){if(!i.args){Y.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}if(!i.args.lhs||!i.args.rhs){Y.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}i.mode?ye.noremap(i.args.lhs,i.args.rhs,i.mode):ye.noremap(i.args.lhs,i.args.rhs)}function l(i){if(!i.args){Y.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}if(!i.args.lhs){Y.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}i.mode?ye.unmap(i.args.lhs,i.mode):ye.unmap(i.args.lhs)}function r(i){i.mode?ye.mapclear(i.mode):ye.mapclear()}for(let i of t)"map|nmap|vmap|imap".split("|").includes(i.name)?e(i):"noremap|nnoremap|vnoremap|inoremap".split("|").includes(i.name)?n(i):"unmap|nunmap|vunmap|iunmap".split("|").includes(i.name)?l(i):"mapclear|nmapclear|vmapclear|imapclear".split("|").includes(i.name)?r(i):Y.warn(`Could not execute vimrc command "${i.name}: unknown command"`)}function nu(t){return"getVimGlobalState_"in t&&typeof t.getVimGlobalState_=="function"}function lu(){var e;if(!nu(ye))return!1;let t=(e=ye.getVimGlobalState_())==null?void 0:e.macroModeState;return t?!!(t.isRecording||t.isPlaying):!1}var gi=(gt=class{constructor(){ze(this,"instances",new Set);ze(this,"isBroadcasting",!1)}addInstance(e){this.instances.add(e);let n=Lt(e);if(!n){Y.warn("Expected CodeMirror instance to have CodeMirror instance state");return}n.on("vim-mode-change",l=>{if(this.isBroadcasting)return;mn("mode"in l,'Expected event to have a "mode" property');let r=lu();this.isBroadcasting=!0,qd(()=>{r||this.broadcastModeChange(e,l.mode,l.subMode),this.isBroadcasting=!1})})}removeInstance(e){this.instances.delete(e)}broadcastModeChange(e,n,l){mn("exitInsertMode"in ye,"Vim does not have an exitInsertMode method"),mn("exitVisualMode"in ye,"Vim does not have an exitVisualMode method");for(let r of this.instances)if(r!==e){let i=Lt(r);if(!i){Y.warn("Expected CodeMirror instance to have CodeMirror instance state");continue}let a=i.setSelections.bind(i);if(i.setSelections=()=>[],!xi(i)){Y.warn("Expected CodeMirror instance to have Vim state");continue}let o=i.state.vim;switch(n){case"normal":o.insertMode&&ye.exitInsertMode(i,!0),o.visualMode&&ye.exitVisualMode(i,!0);break;case"insert":o.insertMode||ye.handleKey(i,"i","mapping");break;case"visual":break}i.setSelections=a}}},ze(gt,"INSTANCES",new gt),gt);function xi(t){return t.state.vim!==void 0}const su=["default","vim"];function ru(t,e){switch(t.preset){case"default":return[tt.of(yi()),tt.of(vi(e))];case"vim":return[tt.of(au()),tt.of(vi(e)),tt.of([{key:"Enter",run:n=>{var l,r;return(r=(l=Lt(n))==null?void 0:l.state.vim)!=null&&r.insertMode?Ga(n):!1}}]),xl.high(ou("d",n=>n.state.doc.toString()==="",n=>n.state.doc.toString()===""?(n.state.facet($t).deleteCell(),!0):!1)),fa({status:!1}),xl.high(Xd())];default:return ka(t.preset),[]}}var iu=new Set([bl,vl]),yi=rt(()=>Ha.filter(t=>!iu.has(t.run))),vi=t=>[{key:t.getHotkey("cell.toggleComment").key,run:bl},{key:t.getHotkey("cell.toggleBlockComment").key,run:vl}],au=rt(()=>{let t=new Set(["Enter","Ctrl-v"]);return yi().filter(e=>!t.has(e.key||e.mac||e.linux||e.win||""))});function ou(t,e,n){let l="",r=0;return tt.of([{any:(i,a)=>{let o=a.key,c=a.timeStamp;return o!==t||!e(i)?(l="",r=0,!1):l===t&&c-r<500&&n(i)?(l="",r=0,!0):(l=o,r=c,!1)}}])}function bi(){return["compact","medium","full","columns"]}var cu={openai:t=>{var e;return!!((e=t==null?void 0:t.open_ai)!=null&&e.api_key)},anthropic:t=>{var e;return!!((e=t==null?void 0:t.anthropic)!=null&&e.api_key)},google:t=>{var e;return!!((e=t==null?void 0:t.google)!=null&&e.api_key)},github:t=>{var e;return!!((e=t==null?void 0:t.github)!=null&&e.api_key)},openrouter:t=>{var e;return!!((e=t==null?void 0:t.openrouter)!=null&&e.api_key)},azure:t=>{var e,n;return!!((e=t==null?void 0:t.azure)!=null&&e.api_key&&((n=t==null?void 0:t.azure)!=null&&n.base_url))},wandb:t=>{var e;return!!((e=t==null?void 0:t.wandb)!=null&&e.api_key)},bedrock:t=>{var e;return!!((e=t==null?void 0:t.bedrock)!=null&&e.region_name)},ollama:t=>{var e;return!!((e=t==null?void 0:t.ollama)!=null&&e.base_url)},deepseek:()=>!1,marimo:()=>!1};function du(t){for(let n of en)if(cu[n](t))return n;let e=t==null?void 0:t.custom_providers;if(e){let n=Object.entries(e).find(([l,r])=>r==null?void 0:r.base_url);if(n)return n[0]}}function uu(t){let e=du(t);if(e)return hi().defaultModelByProvider.get(e)}function mu(t){var i,a;let e={chatModel:void 0,editModel:void 0},n=!((i=t==null?void 0:t.models)!=null&&i.chat_model),l=!((a=t==null?void 0:t.models)!=null&&a.edit_model);if(!n&&!l)return e;let r=uu(t);return r&&(n&&(e.chatModel=r),l&&(e.editModel=r)),e}var hu=Pe();function ji(t){return t.toLowerCase().replaceAll("+","-").trim()}function pu(t,e){let n=t.getHotkeyGroups(),l=e?new Set(n[e]||[]):new Set,r=new Map;for(let o of t.iterate()){if(l.has(o))continue;let c=t.getHotkey(o);if(!c.key||c.key.trim()==="")continue;let d=ji(c.key);r.has(d)||r.set(d,[]);let u=r.get(d);u&&u.push({action:o,name:c.name})}let i=[],a=new Set;for(let[o,c]of r.entries())if(c.length>1){i.push({key:o,actions:c});for(let{action:d}of c)a.add(d)}return{duplicates:i,hasDuplicate:o=>a.has(o),getDuplicatesFor:o=>{let c=t.getHotkey(o);if(!c.key||c.key.trim()==="")return[];let d=ji(c.key),u=i.find(m=>m.key===d);return!u||u.actions.length<=1?[]:u.actions.filter(m=>m.action!==o).map(m=>m.action)}}}function fu(t,e){let n=(0,hu.c)(3),l;return n[0]!==t||n[1]!==e?(l=pu(t,e),n[0]=t,n[1]=e,n[2]=l):l=n[2],l}var gu=Pe(),s=al($a(),1);const xu=t=>{let e=(0,gu.c)(7),{duplicates:n}=t;if(n.length===0)return null;let l,r;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=(0,s.jsx)(jn,{className:"h-4 w-4"}),r=(0,s.jsx)(lc,{children:"Duplicate shortcuts"}),e[0]=l,e[1]=r):(l=e[0],r=e[1]);let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)("p",{className:"mb-2",children:"Multiple actions are assigned to the same keyboard shortcut:"}),e[2]=i):i=e[2];let a;e[3]===n?a=e[4]:(a=n.map(vu),e[3]=n,e[4]=a);let o;return e[5]===a?o=e[6]:(o=(0,s.jsxs)(Ol,{variant:"warning",className:"mb-4",children:[l,r,(0,s.jsxs)(Vl,{children:[i,(0,s.jsx)("ul",{className:"space-y-2",children:a})]})]}),e[5]=a,e[6]=o),o};function yu(t){let{action:e,name:n}=t;return(0,s.jsx)("li",{children:n},e)}function vu(t){let{key:e,actions:n}=t;return(0,s.jsxs)("li",{className:"text-xs",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,s.jsx)(Sn,{shortcut:e}),(0,s.jsx)("span",{className:"font-semibold",children:"is used by:"})]}),(0,s.jsx)("ul",{className:"ml-6 list-disc",children:n.map(yu)})]},e)}const Qn=mt(!1),bu=()=>{let[t,e]=xt(Qn),[n,l]=(0,h.useState)(null),[r,i]=(0,h.useState)([]),[a,o]=fl(),c=ht(Pa),{saveUserConfig:d}=kt(),{duplicates:u,hasDuplicate:m,getDuplicatesFor:f}=fu(c,"Markdown");za("global.showHelp",()=>e(C=>!C));let x=async C=>{let I={...a};o(D=>({...D,...C})),await d({config:C}).catch(D=>{throw o(I),D})},y=async C=>{if(!n)return;let I=C.join("-"),D={keymap:{...a.keymap,overrides:{...a.keymap.overrides,[n]:I}}};l(null),i([]),await x(D)},j=async()=>{if(!n)return;let C={keymap:{...a.keymap,overrides:{...a.keymap.overrides}}};delete C.keymap.overrides[n],l(null),i([]),await x(C)},v=async()=>{if(!window.confirm("Are you sure you want to reset all shortcuts to their default values?"))return;let C={keymap:{...a.keymap,overrides:{}}};l(null),i([]),await x(C)};if(!t)return null;let S=C=>{let I=c.getHotkey(C);if(n===C){let T=Na(C);return(0,s.jsxs)("div",{children:[(0,s.jsx)(Qe,{defaultValue:r.join("+"),placeholder:I.name,onKeyDown:N=>{N.preventDefault();let P=[];if(N.key==="Meta"||N.key==="Control"||N.key==="Alt"||N.key==="Shift"||(N.metaKey&&P.push(ml()?"Cmd":"Meta"),N.ctrlKey&&P.push("Ctrl"),N.altKey&&P.push("Alt"),N.shiftKey&&P.push("Shift"),N.key==="-"))return;if(N.key==="Escape"&&P.length===0){l(null),i([]);return}let K=N.key.length===1?N.key.toLowerCase():N.key;N.key===" "&&(K="Space"),P.push(K),y(P)},autoFocus:!0,endAdornment:(0,s.jsx)(ue,{variant:"text",size:"xs",className:"mb-0",onClick:()=>{l(null),i([])},children:(0,s.jsx)(fn,{className:"w-4 h-4"})})}),(0,s.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,s.jsx)("span",{className:"text-muted-foreground text-xs",children:"Press a key combination"}),T.key!==I.key&&(0,s.jsxs)("span",{className:"text-xs cursor-pointer text-primary",onClick:j,children:["Reset to default:"," ",(0,s.jsx)("span",{className:"font-mono",children:T.key})]})]})]},C)}let D=m(C),_=D?f(C):[];return(0,s.jsxs)("div",{className:"grid grid-cols-[auto_2fr_3fr] gap-2 items-center",children:[c.isEditable(C)?(0,s.jsx)(Ml,{className:"cursor-pointer opacity-60 hover:opacity-100 text-muted-foreground w-3 h-3",onClick:()=>{i([]),l(C)}}):(0,s.jsx)("div",{className:"w-3 h-3"}),(0,s.jsx)(Sn,{className:"justify-end",shortcut:I.key}),(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)("span",{children:I.name.toLowerCase()}),D&&(0,s.jsxs)("div",{className:"group relative inline-flex",children:[(0,s.jsx)(jn,{className:"w-3 h-3 text-(--yellow-11)"}),(0,s.jsxs)("div",{className:"invisible group-hover:visible absolute left-0 top-5 z-10 w-max max-w-xs rounded-md bg-(--yellow-2) border border-(--yellow-7) p-2 text-xs text-(--yellow-11) shadow-md",children:["Also used by:"," ",_.map(T=>c.getHotkey(T).name.toLowerCase()).join(", ")]})]})]})]},C)},p=c.getHotkeyGroups(),g=(C,I)=>{let D=p[C];return(0,s.jsxs)("div",{className:"mb-[40px] gap-2 flex flex-col",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-lg font-medium",children:C}),I]}),D.map(S)]})};return(0,s.jsx)(To,{open:t,onOpenChange:C=>e(C),children:(0,s.jsxs)(Ao,{className:"sm:items-center sm:top-0",children:[(0,s.jsx)(Po,{}),(0,s.jsxs)(_o,{usePortal:!1,className:"max-h-screen sm:max-h-[90vh] overflow-y-auto sm:max-w-[850px]",children:[(0,s.jsx)(Eo,{children:(0,s.jsx)(Do,{children:"Shortcuts"})}),(0,s.jsx)(xu,{duplicates:u}),(0,s.jsxs)("div",{className:"flex flex-row gap-3",children:[(0,s.jsxs)("div",{className:"w-1/2",children:[g("Editing"),g("Markdown")]}),(0,s.jsxs)("div",{className:"w-1/2",children:[g("Navigation"),g("Running Cells"),g("Creation and Ordering"),(C=>g(C,(0,s.jsxs)("p",{className:"text-xs text-muted-foreground flex items-center gap-1",children:["Press"," ",a.keymap.preset==="vim"?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(Sn,{shortcut:ml()?"Cmd":"Ctrl"}),(0,s.jsx)(he,{children:"Esc"})]}):(0,s.jsx)(he,{children:"Esc"})," ","in a cell to enter command mode"]})))("Command"),g("Other"),(0,s.jsx)(ue,{className:"mt-4 hover:bg-destructive/10 border-destructive hover:border-destructive",variant:"outline",size:"xs",onClick:v,tabIndex:-1,children:(0,s.jsx)("span",{className:"text-destructive",children:"Reset all to default"})})]})]})]})]})})};var ki="marimo:copilot:signedIn";const Ci=ya(ki,null,ba,{getOnInit:!0}),wi=mt(null),nn=mt(null),Xn=mt({busy:!1,kind:null,message:null});function ju(t){ut.set(nn,t)}function ku(t){ut.get(nn)===t&&ut.set(nn,null)}function Cu(){return pa.getItem(ki)==="true"}function Ni(){let t=Cu(),e=Ea();return t&&e.completion.copilot==="github"}function wu(){return ta(hn,t=>t.completion.copilot==="github")}var Nu=Ua(),Se=Y.get("@github/copilot-language-server"),Su=class extends sa{constructor(e){super(e);ze(this,"documentVersion",0);ze(this,"hasOpenedDocument",!1);ze(this,"copilotSettings",{});ze(this,"getCompletionInternal",async(e,n)=>await this._request("textDocument/inlineCompletion",{...e,textDocument:{...e.textDocument,version:n}}));ze(this,"throttledGetCompletionInternal",fc(this.getCompletionInternal,200));ze(this,"handleNotification",e=>{if(!e.params)return;let n=e;if(n.method==="statusNotification"&&ut.set(Xn,n.params),n.method==="didChangeStatus"&&ut.set(Xn,n.params),n.method==="window/logMessage"){let{type:l,message:r}=n.params;switch(l){case 1:Se.error("[GitHub Copilot]",r);break;case 2:Se.warn("[GitHub Copilot]",r);break;case 3:Se.debug("[GitHub Copilot]",r);break;default:Se.log("[GitHub Copilot]",r);break}}});this.copilotSettings=e.copilotSettings??{},this.onNotification(this.handleNotification),this.attachInitializeListener()}attachInitializeListener(){this.initializePromise.then(()=>{this.sendConfiguration()})}async sendConfiguration(){let e=this.copilotSettings;!e||Object.keys(e).length===0||(await this.notify("workspace/didChangeConfiguration",{settings:e}),Se.debug("#sendConfiguration: Configuration sent",e))}async _request(e,n){return await this.request(e,n)}async notify(e,n){return Se.debug("#notify",e,n),super.notify(e,n)}getInitializationOptions(){let e={name:"marimo",version:"0.1.0"};return{...super.getInitializationOptions(),workspaceFolders:[],capabilities:{workspace:{workspaceFolders:!1}},initializationOptions:{editorInfo:e,editorPluginInfo:e}}}isDisabled(){return!Ni()}async textDocumentDidOpen(e){return this.isDisabled()?e:(this.hasOpenedDocument=!0,super.textDocumentDidOpen(e))}async textDocumentCompletion(e){return[]}async textDocumentDidChange(e){if(this.isDisabled())return e;this.hasOpenedDocument||await this.textDocumentDidOpen({textDocument:{uri:e.textDocument.uri,languageId:"python",version:e.textDocument.version,text:e.contentChanges[0].text}});let n=e.contentChanges;n.length!==1&&Se.warn("#textDocumentDidChange: Multiple changes detected. This is not supported.",n);let l=n[0];"range"in l&&Se.warn("#textDocumentDidChange: Copilot doesn't support range changes.",l);let r=oa(l.text);return super.textDocumentDidChange({...e,contentChanges:[{text:r}],textDocument:Nu.VersionedTextDocumentIdentifier.create(e.textDocument.uri,++this.documentVersion)})}textDocumentHover(e){return Promise.resolve({contents:[]})}signOut(){return this._request("signOut",{})}async signInInitiate(){Se.log("#signInInitiate: Starting sign-in flow");try{let e=await this._request("signIn",{});return Se.log("#signInInitiate: Sign-in flow started successfully"),e}catch(e){throw Se.warn("#signInInitiate: Failed to start sign-in flow",e),e}}async signInConfirm(e){Se.log("#signInConfirm: Confirming sign-in");try{let n=await this._request("signInConfirm",e);return Se.log("#signInConfirm: Sign-in confirmed successfully"),n}catch(n){throw Se.warn("#signInConfirm: Failed to confirm sign-in",n),n}}async signedIn(){try{let{status:e}=await this._request("checkStatus",{});return Se.log("#checkStatus: Status check completed",{status:e}),e==="SignedIn"||e==="AlreadySignedIn"||e==="OK"}catch(e){throw Se.warn("#signedIn: Failed to check sign-in status",e),e}}async getCompletion(e){if(this.isDisabled())return null;let n=this.documentVersion;if(e.textDocument.version=n,n===0)return null;ju(n);let l=await this.throttledGetCompletionInternal(e,n);return ku(n),n===this.documentVersion?l??null:null}},Iu=ia(),Ku=da(),Mu=class extends Ku.Transport{constructor(e){super();ze(this,"pendingSubscriptions",[]);this.delegate=void 0,this.pendingSubscriptions=[],this.options={retries:e.retries??3,retryDelayMs:e.retryDelayMs??1e3,maxTimeoutMs:e.maxTimeoutMs??5e3,getWsUrl:e.getWsUrl,waitForReady:e.waitForReady,showError:e.showError}}subscribe(...e){super.subscribe(...e);let[n,l]=e;this.pendingSubscriptions.push({event:n,handler:l}),this.delegate&&this.delegate.subscribe(n,l)}unsubscribe(...e){let n=super.unsubscribe(...e),[l,r]=e;if(this.delegate&&this.delegate.unsubscribe(l,r),r)if(l){let i=this.pendingSubscriptions.findIndex(a=>a.event===l&&a.handler===r);i>-1&&this.pendingSubscriptions.splice(i,1)}else this.pendingSubscriptions=this.pendingSubscriptions.filter(i=>i.handler!==r);else l?this.pendingSubscriptions=this.pendingSubscriptions.filter(i=>i.event!==l):this.pendingSubscriptions=[];return n}createDelegate(){let e=new Iu.WebSocketTransport(this.options.getWsUrl());for(let{event:n,handler:l}of this.pendingSubscriptions)e.subscribe(n,l);return e}async tryConnect(){for(let e=1;e<=this.options.retries;e++)try{this.delegate||(this.delegate=this.createDelegate()),await this.delegate.connect(),Y.log("Copilot#connect: Connected successfully");return}catch(n){if(Y.warn(`Copilot#connect: Connection attempt ${e}/${this.options.retries} failed`,n),e===this.options.retries)throw this.delegate=void 0,this.options.showError("GitHub Copilot Connection Error",`Failed to connect to GitHub Copilot. Please check your settings and try again.
|
|
3
|
-
|
|
4
|
-
`+Xo(n)),n;await new Promise(l=>setTimeout(l,this.options.retryDelayMs))}}async connect(){return await this.options.waitForReady(),this.tryConnect()}close(){var e;(e=this.delegate)==null||e.close(),this.delegate=void 0}async sendData(e,n){if(!this.delegate){Y.log("Copilot#sendData: Delegate not initialized, reconnecting...");try{await this.options.waitForReady(),await this.tryConnect()}catch(l){throw Y.error("Copilot#sendData: Failed to reconnect transport",l),Error("Unable to connect to GitHub Copilot. Please check your settings and try again.")}}if(!this.delegate)throw Error("Failed to initialize GitHub Copilot connection. Please try again.");return n=Math.min(n??this.options.maxTimeoutMs,this.options.maxTimeoutMs),this.delegate.sendData(e,n)}};const Si="/__marimo_copilot__.py";var Ii=`file://${Si}`;const Eu=rt(()=>{let t=Aa();return new Mu({getWsUrl:()=>t.getLSPURL("copilot").toString(),waitForReady:async()=>{await wu(),await Ta()},showError:(e,n)=>{We({variant:"danger",title:e,description:n})}})}),Tt=rt(()=>{var e,n;let t=((n=(e=ut.get(hn).ai)==null?void 0:e.github)==null?void 0:n.copilot_settings)??{};return new Su({rootUri:Ii,workspaceFolders:null,transport:Eu(),copilotSettings:t})});function Du(){return aa({documentUri:Ii,client:Tt(),languageId:"copilot",hoverEnabled:!1,completionEnabled:!1,definitionEnabled:!1,renameEnabled:!1,codeActionsEnabled:!1,signatureHelpEnabled:!1,diagnosticsEnabled:!1,sendIncrementalChanges:!1})}const Ki=(0,h.memo)(()=>{let[t,e]=xt(Ci),[n,l]=xt(wi),[r,i]=(0,h.useState)(),[a,o]=(0,h.useState)(!1),c=async m=>{m.preventDefault(),o(!0);try{let f=await Pu();if(!(f!=null&&f.verificationUri)||!f.userCode){Y.error("Copilot#trySignIn: Invalid response from sign-in",{result:f}),l("connectionError"),We({title:"GitHub Copilot Connection Error",description:"Unable to connect to GitHub Copilot. Please check your settings and try again.",variant:"danger"});return}let{verificationUri:x,status:y,userCode:j}=f;Di(y)?e(!0):(l("signingIn"),i({url:x,code:j}))}catch(f){Y.error("Copilot#trySignIn: Error during sign-in",f),l("connectionError"),We({title:"GitHub Copilot Connection Error",description:f instanceof Error?f.message:"Unable to connect to GitHub Copilot. Please check your settings and try again.",variant:"danger"})}finally{o(!1)}},d=async m=>{if(m.preventDefault(),r){o(!0);try{let f=await Au(r.code);f.success?(e(!0),l("signedIn")):f.error==="connection"?(l("connectionError"),We({title:"GitHub Copilot Connection Error",description:"Lost connection during sign-in. Please try again.",variant:"danger",action:(0,s.jsx)(ue,{onClick:c,children:"Retry"})})):l("signInFailed")}finally{o(!1)}}},u=async m=>{m.preventDefault(),await Fu(),e(!1),l("signedOut")};return(()=>{switch(n??(t?"signedIn":"connecting")){case"connecting":return(0,s.jsx)(Xe,{className:"font-normal flex",children:"Connecting..."});case"signedOut":return(0,s.jsx)(ue,{onClick:c,size:"xs",variant:"link",children:"Sign in to GitHub Copilot"});case"signingIn":return(0,s.jsxs)("ol",{className:"ml-4 text-sm list-decimal [&>li]:mt-2",children:[(0,s.jsx)("li",{children:(0,s.jsxs)("div",{className:"flex items-center",children:["Copy this code:",(0,s.jsx)("strong",{className:"ml-2",children:r==null?void 0:r.code}),(0,s.jsx)(lo,{className:"ml-2 cursor-pointer opacity-60 hover:opacity-100 h-3 w-3",onClick:async()=>{r&&(await Jo(r.code),We({description:"Copied to clipboard"}))}})]})}),(0,s.jsxs)("li",{children:["Enter the code at this link:",(0,s.jsx)("a",{href:r==null?void 0:r.url,target:"_blank",rel:"noreferrer",className:Va({variant:"link",size:"xs"}),children:r==null?void 0:r.url})]}),(0,s.jsxs)("li",{children:["Click here when done:",(0,s.jsxs)(ue,{size:"xs",onClick:d,className:"ml-1",children:[a&&(0,s.jsx)(Ot,{className:"h-3 w-3 mr-1 animate-spin"}),"Done"]})]})]});case"signInFailed":return(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("div",{className:"text-destructive text-sm",children:"Sign in failed. Please try again."}),a?(0,s.jsx)(Ot,{className:"h-3 w-3 mr-1 animate-spin"}):(0,s.jsx)(ue,{onClick:c,size:"xs",variant:"link",children:"Connect to GitHub Copilot"})]});case"signedIn":return(0,s.jsxs)("div",{className:"flex items-center gap-5",children:[(0,s.jsxs)(Xe,{className:"font-normal flex items-center",children:[(0,s.jsx)("div",{className:"inline-flex items-center justify-center bg-(--grass-7) rounded-full p-1 mr-2",children:(0,s.jsx)(qa,{className:"h-3 w-3 text-white"})}),"Connected"]}),(0,s.jsx)(ue,{onClick:u,size:"xs",variant:"text",children:"Disconnect"})]});case"connectionError":return(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)(Xe,{className:"font-normal flex",children:[(0,s.jsx)(fn,{className:"h-4 w-4 mr-1"}),"Connection Error"]}),(0,s.jsx)("div",{className:"text-sm",children:"Unable to connect to GitHub Copilot."}),(0,s.jsx)(ue,{onClick:c,size:"xs",variant:"link",children:"Retry Connection"})]});case"notConnected":return(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)(Xe,{className:"font-normal flex",children:[(0,s.jsx)(fn,{className:"h-4 w-4 mr-1"}),"Unable to connect"]}),(0,s.jsxs)("div",{className:"text-sm",children:["For troubleshooting, see the"," ",(0,s.jsx)(pe,{href:"https://docs.marimo.io/getting_started/index.html#github-copilot",children:"docs"}),"."]})]})}})()});Ki.displayName="CopilotConfig";var Mi=5,_u=3e3;async function Pu(){return await Tt().signInInitiate()}async function Au(t){let e=Tt();try{Y.log("Copilot#tryFinishSignIn: Attempting to confirm sign-in");let{status:n}=await e.signInConfirm({userCode:t});return Di(n)?(Y.log("Copilot#tryFinishSignIn: Sign-in confirmed successfully"),{success:!0}):(Y.warn("Copilot#tryFinishSignIn: Sign-in confirmation returned unexpected status",{status:n}),{success:!1})}catch(n){return Ei(n)?(Y.error("Copilot#tryFinishSignIn: Connection error during sign-in",n),{success:!1,error:"connection"}):await Tu(e)}}async function Tu(t){for(let e=0;e<Mi;e++)try{if(await new Promise(n=>setTimeout(n,_u)),await t.signedIn())return Y.log("Copilot#tryFinishSignIn: Successfully signed in after retry"),{success:!0}}catch(n){if(Y.warn("Copilot#tryFinishSignIn: Retry attempt failed",{attempt:e+1,maxRetries:Mi}),Ei(n))return{success:!1,error:"connection"}}return Y.error("Copilot#tryFinishSignIn: All sign-in attempts failed"),{success:!1}}async function Fu(){await Tt().signOut()}function Ei(t){return t instanceof Error&&(t.message.includes("ECONNREFUSED")||t.message.includes("WebSocket")||t.message.includes("network"))}function Di(t){return t==="SignedIn"||t==="AlreadySignedIn"||t==="OK"}var _i="data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eAnthropic%3c/title%3e%3cpath%20d='M17.3041%203.541h-3.6718l6.696%2016.918H24Zm-10.6082%200L0%2020.459h3.7442l1.3693-3.5527h7.0052l1.3693%203.5528h3.7442L10.5363%203.5409Zm-.3712%2010.2232%202.2914-5.9456%202.2914%205.9456Z'/%3e%3c/svg%3e",Ru="data:image/svg+xml,%3csvg%20fill='currentColor'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eDeepSeek%3c/title%3e%3cpath%20d='M23.748%204.482c-.254-.124-.364.113-.512.234-.051.039-.094.09-.137.136-.372.397-.806.657-1.373.626-.829-.046-1.537.214-2.163.848-.133-.782-.575-1.248-1.247-1.548-.352-.156-.708-.311-.955-.65-.172-.241-.219-.51-.305-.774-.055-.16-.11-.323-.293-.35-.2-.031-.278.136-.356.276-.313.572-.434%201.202-.422%201.84.027%201.436.633%202.58%201.838%203.393.137.093.172.187.129.323-.082.28-.18.552-.266.833-.055.179-.137.217-.329.14a5.526%205.526%200%2001-1.736-1.18c-.857-.828-1.631-1.742-2.597-2.458a11.365%2011.365%200%2000-.689-.471c-.985-.957.13-1.743.388-1.836.27-.098.093-.432-.779-.428-.872.004-1.67.295-2.687.684a3.055%203.055%200%2001-.465.137%209.597%209.597%200%2000-2.883-.102c-1.885.21-3.39%201.102-4.497%202.623C.082%208.606-.231%2010.684.152%2012.85c.403%202.284%201.569%204.175%203.36%205.653%201.858%201.533%203.997%202.284%206.438%202.14%201.482-.085%203.133-.284%204.994-1.86.47.234.962.327%201.78.397.63.059%201.236-.03%201.705-.128.735-.156.684-.837.419-.961-2.155-1.004-1.682-.595-2.113-.926%201.096-1.296%202.746-2.642%203.392-7.003.05-.347.007-.565%200-.845-.004-.17.035-.237.23-.256a4.173%204.173%200%20001.545-.475c1.396-.763%201.96-2.015%202.093-3.517.02-.23-.004-.467-.247-.588zM11.581%2018c-2.089-1.642-3.102-2.183-3.52-2.16-.392.024-.321.471-.235.763.09.288.207.486.371.739.114.167.192.416-.113.603-.673.416-1.842-.14-1.897-.167-1.361-.802-2.5-1.86-3.301-3.307-.774-1.393-1.224-2.887-1.298-4.482-.02-.386.093-.522.477-.592a4.696%204.696%200%20011.529-.039c2.132.312%203.946%201.265%205.468%202.774.868.86%201.525%201.887%202.202%202.891.72%201.066%201.494%202.082%202.48%202.914.348.292.625.514.891.677-.802.09-2.14.11-3.054-.614zm1-6.44a.306.306%200%2001.415-.287.302.302%200%2001.2.288.306.306%200%2001-.31.307.303.303%200%2001-.304-.308zm3.11%201.596c-.2.081-.399.151-.59.16a1.245%201.245%200%2001-.798-.254c-.274-.23-.47-.358-.552-.758a1.73%201.73%200%2001.016-.588c.07-.327-.008-.537-.239-.727-.187-.156-.426-.199-.688-.199a.559.559%200%2001-.254-.078c-.11-.054-.2-.19-.114-.358.028-.054.16-.186.192-.21.356-.202.767-.136%201.146.016.352.144.618.408%201.001.782.391.451.462.576.685.914.176.265.336.537.445.848.067.195-.019.354-.25.452z'%3e%3c/path%3e%3c/svg%3e",zu="data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eGitHub%3c/title%3e%3cpath%20d='M12%20.297c-6.63%200-12%205.373-12%2012%200%205.303%203.438%209.8%208.205%2011.385.6.113.82-.258.82-.577%200-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422%2018.07%203.633%2017.7%203.633%2017.7c-1.087-.744.084-.729.084-.729%201.205.084%201.838%201.236%201.838%201.236%201.07%201.835%202.809%201.305%203.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93%200-1.31.465-2.38%201.235-3.22-.135-.303-.54-1.523.105-3.176%200%200%201.005-.322%203.3%201.23.96-.267%201.98-.399%203-.405%201.02.006%202.04.138%203%20.405%202.28-1.552%203.285-1.23%203.285-1.23.645%201.653.24%202.873.12%203.176.765.84%201.23%201.91%201.23%203.22%200%204.61-2.805%205.625-5.475%205.92.42.36.81%201.096.81%202.22%200%201.606-.015%202.896-.015%203.286%200%20.315.21.69.825.57C20.565%2022.092%2024%2017.592%2024%2012.297c0-6.627-5.373-12-12-12'/%3e%3c/svg%3e",Pi="data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eGoogle%20Gemini%3c/title%3e%3cpath%20d='M11.04%2019.32Q12%2021.51%2012%2024q0-2.49.93-4.68.96-2.19%202.58-3.81t3.81-2.55Q21.51%2012%2024%2012q-2.49%200-4.68-.93a12.3%2012.3%200%200%201-3.81-2.58%2012.3%2012.3%200%200%201-2.58-3.81Q12%202.49%2012%200q0%202.49-.96%204.68-.93%202.19-2.55%203.81a12.3%2012.3%200%200%201-3.81%202.58Q2.49%2012%200%2012q2.49%200%204.68.96%202.19.93%203.81%202.55t2.55%203.81'/%3e%3c/svg%3e",Bu="data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOllama%3c/title%3e%3cpath%20d='M16.361%2010.26a.894.894%200%200%200-.558.47l-.072.148.001.207c0%20.193.004.217.059.353.076.193.152.312.291.448.24.238.51.3.872.205a.86.86%200%200%200%20.517-.436.752.752%200%200%200%20.08-.498c-.064-.453-.33-.782-.724-.897a1.06%201.06%200%200%200-.466%200zm-9.203.005c-.305.096-.533.32-.65.639a1.187%201.187%200%200%200-.06.52c.057.309.31.59.598.667.362.095.632.033.872-.205.14-.136.215-.255.291-.448.055-.136.059-.16.059-.353l.001-.207-.072-.148a.894.894%200%200%200-.565-.472%201.02%201.02%200%200%200-.474.007Zm4.184%202c-.131.071-.223.25-.195.383.031.143.157.288.353.407.105.063.112.072.117.136.004.038-.01.146-.029.243-.02.094-.036.194-.036.222.002.074.07.195.143.253.064.052.076.054.255.059.164.005.198.001.264-.03.169-.082.212-.234.15-.525-.052-.243-.042-.28.087-.355.137-.08.281-.219.324-.314a.365.365%200%200%200-.175-.48.394.394%200%200%200-.181-.033c-.126%200-.207.03-.355.124l-.085.053-.053-.032c-.219-.13-.259-.145-.391-.143a.396.396%200%200%200-.193.032zm.39-2.195c-.373.036-.475.05-.654.086-.291.06-.68.195-.951.328-.94.46-1.589%201.226-1.787%202.114-.04.176-.045.234-.045.53%200%20.294.005.357.043.524.264%201.16%201.332%202.017%202.714%202.173.3.033%201.596.033%201.896%200%201.11-.125%202.064-.727%202.493-1.571.114-.226.169-.372.22-.602.039-.167.044-.23.044-.523%200-.297-.005-.355-.045-.531-.288-1.29-1.539-2.304-3.072-2.497a6.873%206.873%200%200%200-.855-.031zm.645.937a3.283%203.283%200%200%201%201.44.514c.223.148.537.458.671.662.166.251.26.508.303.82.02.143.01.251-.043.482-.08.345-.332.705-.672.957a3.115%203.115%200%200%201-.689.348c-.382.122-.632.144-1.525.138-.582-.006-.686-.01-.853-.042-.57-.107-1.022-.334-1.35-.68-.264-.28-.385-.535-.45-.946-.03-.192.025-.509.137-.776.136-.326.488-.73.836-.963.403-.269.934-.46%201.422-.512.187-.02.586-.02.773-.002zm-5.503-11a1.653%201.653%200%200%200-.683.298C5.617.74%205.173%201.666%204.985%202.819c-.07.436-.119%201.04-.119%201.503%200%20.544.064%201.24.155%201.721.02.107.031.202.023.208a8.12%208.12%200%200%201-.187.152%205.324%205.324%200%200%200-.949%201.02%205.49%205.49%200%200%200-.94%202.339%206.625%206.625%200%200%200-.023%201.357c.091.78.325%201.438.727%202.04l.13.195-.037.064c-.269.452-.498%201.105-.605%201.732-.084.496-.095.629-.095%201.294%200%20.67.009.803.088%201.266.095.555.288%201.143.503%201.534.071.128.243.393.264.407.007.003-.014.067-.046.141a7.405%207.405%200%200%200-.548%201.873c-.062.417-.071.552-.071.991%200%20.56.031.832.148%201.279L3.42%2024h1.478l-.05-.091c-.297-.552-.325-1.575-.068-2.597.117-.472.25-.819.498-1.296l.148-.29v-.177c0-.165-.003-.184-.057-.293a.915.915%200%200%200-.194-.25%201.74%201.74%200%200%201-.385-.543c-.424-.92-.506-2.286-.208-3.451.124-.486.329-.918.544-1.154a.787.787%200%200%200%20.223-.531c0-.195-.07-.355-.224-.522a3.136%203.136%200%200%201-.817-1.729c-.14-.96.114-2.005.69-2.834.563-.814%201.353-1.336%202.237-1.475.199-.033.57-.028.776.01.226.04.367.028.512-.041.179-.085.268-.19.374-.431.093-.215.165-.333.36-.576.234-.29.46-.489.822-.729.413-.27.884-.467%201.352-.561.17-.035.25-.04.569-.04.319%200%20.398.005.569.04a4.07%204.07%200%200%201%201.914.997c.117.109.398.457.488.602.034.057.095.177.132.267.105.241.195.346.374.43.14.068.286.082.503.045.343-.058.607-.053.943.016%201.144.23%202.14%201.173%202.581%202.437.385%201.108.276%202.267-.296%203.153-.097.15-.193.27-.333.419-.301.322-.301.722-.001%201.053.493.539.801%201.866.708%203.036-.062.772-.26%201.463-.533%201.854a2.096%202.096%200%200%201-.224.258.916.916%200%200%200-.194.25c-.054.109-.057.128-.057.293v.178l.148.29c.248.476.38.823.498%201.295.253%201.008.231%202.01-.059%202.581a.845.845%200%200%200-.044.098c0%20.006.329.009.732.009h.73l.02-.074.036-.134c.019-.076.057-.3.088-.516.029-.217.029-1.016%200-1.258-.11-.875-.295-1.57-.597-2.226-.032-.074-.053-.138-.046-.141.008-.005.057-.074.108-.152.376-.569.607-1.284.724-2.228.031-.26.031-1.378%200-1.628-.083-.645-.182-1.082-.348-1.525a6.083%206.083%200%200%200-.329-.7l-.038-.064.131-.194c.402-.604.636-1.262.727-2.04a6.625%206.625%200%200%200-.024-1.358%205.512%205.512%200%200%200-.939-2.339%205.325%205.325%200%200%200-.95-1.02%208.097%208.097%200%200%201-.186-.152.692.692%200%200%201%20.023-.208c.208-1.087.201-2.443-.017-3.503-.19-.924-.535-1.658-.98-2.082-.354-.338-.716-.482-1.15-.455-.996.059-1.8%201.205-2.116%203.01a6.805%206.805%200%200%200-.097.726c0%20.036-.007.066-.015.066a.96.96%200%200%201-.149-.078A4.857%204.857%200%200%200%2012%203.03c-.832%200-1.687.243-2.456.698a.958.958%200%200%201-.148.078c-.008%200-.015-.03-.015-.066a6.71%206.71%200%200%200-.097-.725C8.997%201.392%208.337.319%207.46.048a2.096%202.096%200%200%200-.585-.041Zm.293%201.402c.248.197.523.759.682%201.388.03.113.06.244.069.292.007.047.026.152.041.233.067.365.098.76.102%201.24l.002.475-.12.175-.118.178h-.278c-.324%200-.646.041-.954.124l-.238.06c-.033.007-.038-.003-.057-.144a8.438%208.438%200%200%201%20.016-2.323c.124-.788.413-1.501.696-1.711.067-.05.079-.049.157.013zm9.825-.012c.17.126.358.46.498.888.28.854.36%202.028.212%203.145-.019.14-.024.151-.057.144l-.238-.06a3.693%203.693%200%200%200-.954-.124h-.278l-.119-.178-.119-.175.002-.474c.004-.669.066-1.19.214-1.772.157-.623.434-1.185.68-1.382.078-.062.09-.063.159-.012z'/%3e%3c/svg%3e",Ai="data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOpenAI%3c/title%3e%3cpath%20d='M22.2819%209.8211a5.9847%205.9847%200%200%200-.5157-4.9108%206.0462%206.0462%200%200%200-6.5098-2.9A6.0651%206.0651%200%200%200%204.9807%204.1818a5.9847%205.9847%200%200%200-3.9977%202.9%206.0462%206.0462%200%200%200%20.7427%207.0966%205.98%205.98%200%200%200%20.511%204.9107%206.051%206.051%200%200%200%206.5146%202.9001A5.9847%205.9847%200%200%200%2013.2599%2024a6.0557%206.0557%200%200%200%205.7718-4.2058%205.9894%205.9894%200%200%200%203.9977-2.9001%206.0557%206.0557%200%200%200-.7475-7.0729zm-9.022%2012.6081a4.4755%204.4755%200%200%201-2.8764-1.0408l.1419-.0804%204.7783-2.7582a.7948.7948%200%200%200%20.3927-.6813v-6.7369l2.02%201.1686a.071.071%200%200%201%20.038.052v5.5826a4.504%204.504%200%200%201-4.4945%204.4944zm-9.6607-4.1254a4.4708%204.4708%200%200%201-.5346-3.0137l.142.0852%204.783%202.7582a.7712.7712%200%200%200%20.7806%200l5.8428-3.3685v2.3324a.0804.0804%200%200%201-.0332.0615L9.74%2019.9502a4.4992%204.4992%200%200%201-6.1408-1.6464zM2.3408%207.8956a4.485%204.485%200%200%201%202.3655-1.9728V11.6a.7664.7664%200%200%200%20.3879.6765l5.8144%203.3543-2.0201%201.1685a.0757.0757%200%200%201-.071%200l-4.8303-2.7865A4.504%204.504%200%200%201%202.3408%207.872zm16.5963%203.8558L13.1038%208.364%2015.1192%207.2a.0757.0757%200%200%201%20.071%200l4.8303%202.7913a4.4944%204.4944%200%200%201-.6765%208.1042v-5.6772a.79.79%200%200%200-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759%200%200%200-.7854%200L9.409%209.2297V6.8974a.0662.0662%200%200%201%20.0284-.0615l4.8303-2.7866a4.4992%204.4992%200%200%201%206.6802%204.66zM8.3065%2012.863l-2.02-1.1638a.0804.0804%200%200%201-.038-.0567V6.0742a4.4992%204.4992%200%200%201%207.3757-3.4537l-.142.0805L8.704%205.459a.7948.7948%200%200%200-.3927.6813zm1.0976-2.3654l2.602-1.4998%202.6069%201.4998v2.9994l-2.5974%201.4997-2.6067-1.4997Z'/%3e%3c/svg%3e",Lu="data:image/svg+xml,%3csvg%20width='240'%20height='300'%20viewBox='0%200%20240%20300'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1401_86274)'%3e%3cmask%20id='mask0_1401_86274'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='0'%20y='0'%20width='240'%20height='300'%3e%3cpath%20d='M240%200H0V300H240V0Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_1401_86274)'%3e%3cpath%20d='M180%20240H60V120H180V240Z'%20fill='%23CFCECD'/%3e%3cpath%20d='M180%2060H60V240H180V60ZM240%20300H0V0H240V300Z'%20fill='%23211E1E'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1401_86274'%3e%3crect%20width='240'%20height='300'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",$u="data:image/svg+xml,%3csvg%20fill='currentColor'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOpenRouter%3c/title%3e%3cpath%20d='M16.804%201.957l7.22%204.105v.087L16.73%2010.21l.017-2.117-.821-.03c-1.059-.028-1.611.002-2.268.11-1.064.175-2.038.577-3.147%201.352L8.345%2011.03c-.284.195-.495.336-.68.455l-.515.322-.397.234.385.23.53.338c.476.314%201.17.796%202.701%201.866%201.11.775%202.083%201.177%203.147%201.352l.3.045c.694.091%201.375.094%202.825.033l.022-2.159%207.22%204.105v.087L16.589%2022l.014-1.862-.635.022c-1.386.042-2.137.002-3.138-.162-1.694-.28-3.26-.926-4.881-2.059l-2.158-1.5a21.997%2021.997%200%2000-.755-.498l-.467-.28a55.927%2055.927%200%2000-.76-.43C2.908%2014.73.563%2014.116%200%2014.116V9.888l.14.004c.564-.007%202.91-.622%203.809-1.124l1.016-.58.438-.274c.428-.28%201.072-.726%202.686-1.853%201.621-1.133%203.186-1.78%204.881-2.059%201.152-.19%201.974-.213%203.814-.138l.02-1.907z'%3e%3c/path%3e%3c/svg%3e",Vu="data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eWeights%20&%20Biases%3c/title%3e%3cpath%20d='M2.48%200a1.55%201.55%200%201%200%200%203.1%201.55%201.55%200%200%200%200-3.1zm19.04%200a1.55%201.55%200%201%200%200%203.101%201.55%201.55%200%200%200%200-3.101zM12%202.295a1.55%201.55%200%201%200%200%203.1%201.55%201.55%200%200%200%200-3.1zM2.48%205.272a2.48%202.48%200%201%200%200%204.96%202.48%202.48%200%200%200%200-4.96zm19.04%200a2.48%202.48%200%201%200%200%204.96%202.48%202.48%200%200%200%200-4.96zM12%208.496a1.55%201.55%200%201%200%200%203.1%201.55%201.55%200%200%200%200-3.1zm-9.52%203.907a1.55%201.55%200%201%200%200%203.1%201.55%201.55%200%200%200%200-3.1zm19.04%200a1.55%201.55%200%201%200%200%203.102%201.55%201.55%200%200%200%200-3.102zM12%2013.767a2.48%202.48%200%201%200%200%204.962%202.48%202.48%200%200%200%200-4.962zm-9.52%203.907a2.48%202.48%200%201%200%20.001%204.962%202.48%202.48%200%200%200%200-4.962zm19.04.93a1.55%201.55%200%201%200%200%203.102%201.55%201.55%200%200%200%200-3.101zM12%2020.9a1.55%201.55%200%201%200%200%203.1%201.55%201.55%200%200%200%200-3.1Z'/%3e%3c/svg%3e",Ou="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAABtlJREFUWEetV21QlNcVfs67y67KV/EjJIRdBIxJrB9BotFqAtERTIKkk8SxNiGt7Ipa46DsxvjR0rVTKuKKJFYTE1SIxmhFbR0Kwc4YNSraqmNswhSFIrBUBD8QVGTZfU/nvrDLroqQ4Pm179nnnvvc5557zr2EXlj05hSfhgvO10AUB/A4AOHEFMCADOJrBFQx0zki+ajkkA9eyslr6kVYBUIPA8ZaLOr/ttQtYJKXgRHSy6B2EBVKwMZqa+6hnsZ0S2DY8jlD2uxSIYDxPQVx/S+CSZIEpyx3rI5wXIZsslm3neouxoMJMEhvNv6JwcvcwYkw8kk9xoZFYOjgYAT2HwBZlnH99i1UNtbj9KVKVDZcho9KhX4+GtgdDrQ52sVwGYQcbduAFRUbNrTdS+R+AhaLpL9Vu4kZ8wTYV6vFrydNxTsTY/Bk0KCHinHxymVsP/E1vjz1jRvXSQIEOqGxO39esWFbo2cQbwIzZ6r0QwPSWUa6APlp++GgyYLgwCB8dqQEs8a/iEF+/j3uSPW1RqTt2orTVRfBHmgCyjQaObZidRcJLwJPL032b3XSEQaixMqTJr6s7GlDcxNOVpZj13wz9IOG9EhAABxOJ5buyUfB6RNeeCKU+vnpYsssFrvXKYhImzvcQfJXDISH/GQg5kyeiqzifYh5eiSss+ZgoK9fryb2BMnMeG/HZhR+e/peEmtqrFuU/OpQwGKRdC21pSLjJZKwMuEtZBbtw6ujx+LDXxohfD/WWu12JH6UgfL6OncIAtpVKh5VlbW1XCGgMxlnA7xT/H4zeiLO26oVCUtMv1cyuq/2na0aMz7KcB/PzjO6rdaam6wQ0JuNx5h5EhFhybQZyD54AJuS5iNhzPN9nds9fsXeHdhRetgz3m2nv+ox6ig4qnqAped04UqWn6utwr/SrVBLKmWAkPHClS4Jw4c8jsbmmzheUYaA/r6YPjJKUcp24yqOlH8PiQgvDv8pQj2Obf3NG5i8erlSH9wmcTyFmQ2vyQxR8ZASE48vTh7BlGdGYWOSUgYU+76uBtPXW9zfyZOnYnvpYbQ7nYovSh+BJXGvY27en13FB1ofH+Qlp2LyUyPc4xZ/uQX7zohUcxmvJJ05OQ1M64TrMf9ANLTcxOK4RKTFJXZLQKxQZLin9ffRoLVdOVluGxsWib8tWun+/uZCGd7+NNsTkk+hJkMOAanCK2S8225HeuIsGF+a1i2B0KDBGB4cgkP/Oe/GaNRqxI14DkcvlqG59Y7iF/Eurv7EjRGKjU5Pxe22uy7fYdKZjflgfteT1gevvIGFU1/tlsCnv1qIV0ZFY8If30dd0zUFN2PMOGxKWoDMogJsPFSk+IRS1Wu3eKky6+O1KK0sV3xEKBdNZzszv+OJSvpZLDLe6HLdmwP5hsWY8uxoxK5ZoTQiYTOfn4TsXxiw/h8HkF3y124JLCv4HDtPHu2YjtBIOpNhI4DfeBKIDovE/kXLu1WgLwQy/74Xm74udsVuIr3JsJSBNZ4EREs9tyoH/v36K+5HqUBG4R5sPlzSqQDZSG8yTmPwQReBwX7+uHqrBetnG5Sq+KgJpO7Mxf6zJztzgI5TsDnJV8PaRoCV5Y4bOkyp2888EYqChR8owLob15TG5LJ5sdMxIkSHjMK/oKH5puIeHzEcb0+IwVffnUXx+TOuCZAz2+iVhFOyfoeKhsudKUAbOkuxoYAZbwqvODqvR43H7n8ew/73liN6aKRXgL58VDbU4+Ws37pDSISEDgL3bIOQvvjfZ/FsSCj2LlymHKdHYaZdW7Gn835AwBU//2a9KzLpTMYTAE8QE4kJxfWr9vpVrEyYiXmx8X2ev+j8GSzY/gm4s4ISsaXGunWVe2mh5pQXiJ3i+uLV/EVD+vjd+YgfGfWjSYjtFN2w3dnZiAg2lZ9z1CVLXpOXtnqzIZMZHZnnYYLEkvhEpMTEQav26TWR/zVdxx8O7IZYvYexxJRQnZ2rlEsvAuIhUtliKwK4qxF4jBStetqIMYgKi0TEkGA8ERiEwf4BGKDRulFCYtHOd586hr1nSt3d0QUgolU11lx3a70vu8TF9I5MxWBM8qT9eEAQ1CoJthsdtd9LIfEWUPsouWN3OnC3XXkP3G+E7FrrFjPQdVl+YHqHWFIGqG/J+cz8lmcUX41WSU5R/12vn17uRxskMtWuzRVl38sedr5It3TuPJI5k5kDe5yIqAqACoyBAHtcoamE4EyrWbet7MGi9BA5PNUY7FDjfYCTAQT1SKQDcAmMQiLKq1mX65WBP0QBL+ywRYu0dk3rSwx+AUAkCEFg8eLCHWJcYeYaSVKXOyT527qsXFsvieL/FjzLIPLjeMUAAAAASUVORK5CYII=",Hu=Pe(),Ti={openai:Ai,anthropic:_i,claude:_i,gemini:Pi,google:Pi,codex:Ai,ollama:Bu,azure:ko,bedrock:bo,deepseek:Ru,github:zu,openrouter:$u,wandb:Vu,marimo:Ou,opencode:Lu};const He=t=>{let e=(0,Hu.c)(15),n,l,r;e[0]===t?(n=e[1],l=e[2],r=e[3]):({provider:l,className:r,...n}=t,e[0]=t,e[1]=n,e[2]=l,e[3]=r);let i=r===void 0?"":r;if(l==="openai-compatible"||!(l in Ti)){let d;e[4]===i?d=e[5]:(d=$e("h-4 w-4",i),e[4]=i,e[5]=d);let u;return e[6]===d?u=e[7]:(u=(0,s.jsx)(dn,{className:d}),e[6]=d,e[7]=u),u}let a=Ti[l],o;e[8]===i?o=e[9]:(o=$e("h-4 w-4 grayscale dark:invert",i),e[8]=i,e[9]=o);let c;return e[10]!==a||e[11]!==n||e[12]!==l||e[13]!==o?(c=(0,s.jsx)("img",{src:a,alt:l,className:o,...n}),e[10]=a,e[11]=n,e[12]=l,e[13]=o,e[14]=c):c=e[14],c};function ln(t){switch(t){case"chat":return"bg-[var(--purple-3)] text-[var(--purple-11)]";case"autocomplete":return"bg-[var(--green-3)] text-[var(--green-11)]";case"edit":return"bg-[var(--blue-3)] text-[var(--blue-11)]";case"thinking":return"bg-[var(--purple-4)] text-[var(--purple-12)]"}return"bg-[var(--mauve-3)] text-[var(--mauve-11)]"}function Fi(t){switch(t){case"chat":return"Current model used for chat conversations";case"autocomplete":return"Current model used for autocomplete autocomplete";case"edit":return"Current model used for code edits";case"rerank":return"Current model used for reranking completions";case"embed":return"Current model used for embedding"}}var sn=Pe();const V="flex flex-row items-center space-x-1 space-y-0",Gu=t=>{let e=(0,sn.c)(2),{children:n}=t,l;return e[0]===n?l=e[1]:(l=(0,s.jsx)("div",{className:"text-md font-semibold text-muted-foreground uppercase tracking-wide mb-1",children:n}),e[0]=n,e[1]=l),l},jt=t=>{let e=(0,sn.c)(10),n,l,r;e[0]===t?(n=e[1],l=e[2],r=e[3]):({children:n,className:l,...r}=t,e[0]=t,e[1]=n,e[2]=l,e[3]=r);let i;e[4]===l?i=e[5]:(i=$e("text-base font-semibold underline-offset-2 text-accent-foreground uppercase tracking-wide",l),e[4]=l,e[5]=i);let a;return e[6]!==n||e[7]!==r||e[8]!==i?(a=(0,s.jsx)("div",{...r,className:i,children:n}),e[6]=n,e[7]=r,e[8]=i,e[9]=a):a=e[9],a},Uu=t=>{let e=(0,sn.c)(2),{children:n}=t,l;return e[0]===n?l=e[1]:(l=(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:n}),e[0]=n,e[1]=l),l},Ge=t=>{let e=(0,sn.c)(5),{title:n,children:l}=t,r;e[0]===n?r=e[1]:(r=(0,s.jsx)(jt,{children:n}),e[0]=n,e[1]=r);let i;return e[2]!==l||e[3]!==r?(i=(0,s.jsxs)("div",{className:"flex flex-col gap-4 pb-4",children:[r,l]}),e[2]=l,e[3]=r,e[4]=i):i=e[4],i},Ri=[{label:"Auto (Default)",value:"auto"},{label:"Native",value:"native"},{label:"Polars",value:"polars"},{label:"Lazy Polars",value:"lazy-polars"},{label:"Pandas",value:"pandas"}],Wu="us-east-1.us-east-2.us-west-1.us-west-2.ap-northeast-1.ap-northeast-2.ap-northeast-3.ap-south-1.ap-south-2.ap-southeast-1.ap-southeast-2.ap-southeast-3.ap-southeast-4.ap-southeast-5.ap-southeast-7.ap-east-2.ca-central-1.eu-central-1.eu-central-2.eu-north-1.eu-south-1.eu-south-2.eu-west-1.eu-west-2.eu-west-3.il-central-1.me-central-1.sa-east-1.us-gov-east-1.us-gov-west-1".split(".");var qu=Pe();const zi=t=>{let e=(0,qu.c)(12),{value:n,includeSuggestion:l}=t,r=l===void 0?!0:l;if(!n||n.includes("/"))return null;let i;e[0]===n?i=e[1]:(i=Le.parse(n),e[0]=n,e[1]=i);let a=i.id,o;e[2]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsx)("code",{className:"font-bold",children:"provider/model"}),e[2]=o):o=e[2];let c;e[3]===n?c=e[4]:(c=(0,s.jsxs)("span",{children:["Model id should be in the form"," ",o,". ",n," is missing a provider."]}),e[3]=n,e[4]=c);let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsx)("br",{}),e[5]=d):d=e[5];let u;e[6]!==r||e[7]!==a?(u=r&&a&&(0,s.jsxs)("span",{children:["Did you mean ",(0,s.jsx)("code",{className:"font-bold",children:a}),"?"]}),e[6]=r,e[7]=a,e[8]=u):u=e[8];let m;return e[9]!==c||e[10]!==u?(m=(0,s.jsxs)(Mt,{kind:"danger",className:"mt-1",children:[c,d,u]}),e[9]=c,e[10]=u,e[11]=m):m=e[11],m};var Jn=Pe();function Bi(t,e){let n=(0,Jn.c)(10),l;n[0]!==e||n[1]!==t?(l=ul(t,e),n[0]=e,n[1]=t,n[2]=l):l=n[2];let r=l,i=ht(Da),a;n[3]!==e||n[4]!==i?(a=ul(i,e),n[3]=e,n[4]=i,n[5]=a):a=n[5];let o=a,c=o!=null&&r!==o,d;return n[6]!==r||n[7]!==c||n[8]!==o?(d={isOverridden:c,currentValue:r,overriddenValue:o},n[6]=r,n[7]=c,n[8]=o,n[9]=d):d=n[9],d}const Yu=t=>{let e=(0,Jn.c)(3),{name:n,children:l}=t,[r]=pl(),{isOverridden:i}=Bi(r,n),a;return e[0]!==l||e[1]!==i?(a=i?(0,s.jsx)(nt,{delayDuration:200,content:(0,s.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,s.jsxs)("p",{children:["This setting is overridden by the"," ",(0,s.jsx)(he,{className:"inline mx-px",children:"pyproject.toml"})," config."]}),(0,s.jsxs)("p",{children:["To change it, edit the project config"," ",(0,s.jsx)(he,{className:"inline mx-px",children:"pyproject.toml"}),"directly."]})]}),children:(0,s.jsx)("div",{className:"text-muted-foreground opacity-80 cursor-not-allowed *:pointer-events-none",children:l})}):l,e[0]=l,e[1]=i,e[2]=a):a=e[2],a},O=t=>{let e=(0,Jn.c)(18),{userConfig:n,name:l}=t,{isOverridden:r,currentValue:i,overriddenValue:a}=Bi(n,l);if(!r)return null;let o,c;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsxs)("span",{children:["This setting is overridden by"," ",(0,s.jsx)(he,{className:"inline",children:"pyproject.toml"}),"."]}),c=(0,s.jsx)("br",{}),e[0]=o,e[1]=c):(o=e[0],c=e[1]);let d,u;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)("span",{children:["Edit the ",(0,s.jsx)(he,{className:"inline",children:"pyproject.toml"})," file directly to change this setting."]}),u=(0,s.jsx)("br",{}),e[2]=d,e[3]=u):(d=e[2],u=e[3]);let m=String(i),f;e[4]===m?f=e[5]:(f=(0,s.jsxs)("span",{children:["User value: ",(0,s.jsx)("strong",{children:m})]}),e[4]=m,e[5]=f);let x;e[6]===Symbol.for("react.memo_cache_sentinel")?(x=(0,s.jsx)("br",{}),e[6]=x):x=e[6];let y=String(a),j;e[7]===y?j=e[8]:(j=(0,s.jsxs)("span",{children:["Project value: ",(0,s.jsx)("strong",{children:y})]}),e[7]=y,e[8]=j);let v;e[9]!==f||e[10]!==j?(v=(0,s.jsxs)(s.Fragment,{children:[o,c,d,u,f,x,j]}),e[9]=f,e[10]=j,e[11]=v):v=e[11];let S;e[12]===Symbol.for("react.memo_cache_sentinel")?(S=(0,s.jsx)(ql,{className:"w-3 h-3"}),e[12]=S):S=e[12];let p=String(a),g;e[13]===p?g=e[14]:(g=(0,s.jsxs)("span",{className:"text-(--amber-12) text-xs flex items-center gap-1 border rounded px-2 py-1 bg-(--amber-2) border-(--amber-6) ml-1",children:[S,"Overridden by pyproject.toml [",p,"]"]}),e[13]=p,e[14]=g);let C;return e[15]!==v||e[16]!==g?(C=(0,s.jsx)(nt,{content:v,children:g}),e[15]=v,e[16]=g,e[17]=C):C=e[17],C};var Zu=Pe();function Li(){let t=(0,Zu.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=[],t[0]=e):e=t[0],Hl(Qu,e)}async function Qu(){return pn.get("/ai/mcp/status")}function Xu(){let[t,e]=(0,h.useState)(!1);return{refresh:async()=>{e(!0);try{await pn.post("/ai/mcp/refresh",{}),We({title:"MCP refreshed",description:"MCP server configuration has been refreshed successfully"})}catch(n){We({title:"Refresh failed",description:n instanceof Error?n.message:"Failed to refresh MCP",variant:"danger"})}finally{e(!1)}},isRefreshing:t}}var $i=Pe();const Ju=()=>{let t=(0,$i.c)(27),{data:e,refetch:n,isFetching:l}=Li(),r;t[0]===n?r=t[1]:(r=async()=>{try{await pn.post("/ai/mcp/refresh",{}),We({title:"MCP refreshed",description:"MCP server configuration has been refreshed"}),n()}catch(C){let I=C;We({title:"Refresh failed",description:I instanceof Error?I.message:"Failed to refresh MCP",variant:"danger"})}},t[0]=n,t[1]=r);let i=r,a;t[2]===(e==null?void 0:e.servers)?a=t[3]:(a=(e==null?void 0:e.servers)||{},t[2]=e==null?void 0:e.servers,t[3]=a);let o=a,c=Object.keys(o).length>0,d=(e==null?void 0:e.status)==="ok"&&"text-green-500",u=(e==null?void 0:e.status)==="partial"&&"text-yellow-500",m=(e==null?void 0:e.status)==="error"&&c&&"text-red-500",f;t[4]!==d||t[5]!==u||t[6]!==m?(f=$e("h-4 w-4",d,u,m),t[4]=d,t[5]=u,t[6]=m,t[7]=f):f=t[7];let x;t[8]===f?x=t[9]:(x=(0,s.jsx)(nt,{content:"MCP Status",children:(0,s.jsx)(qo,{asChild:!0,children:(0,s.jsx)(ue,{variant:"text",size:"icon",children:(0,s.jsx)(Yl,{className:f})})})}),t[8]=f,t[9]=x);let y;t[10]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)("h4",{className:"font-medium text-sm",children:"MCP Server Status"}),t[10]=y):y=t[10];let j;t[11]===l?j=t[12]:(j=l?(0,s.jsx)(Ot,{className:"h-3 w-3 animate-spin"}):(0,s.jsx)(Sl,{className:"h-3 w-3"}),t[11]=l,t[12]=j);let v;t[13]!==i||t[14]!==l||t[15]!==j?(v=(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[y,(0,s.jsx)(ue,{variant:"ghost",size:"xs",onClick:i,disabled:l,children:j})]}),t[13]=i,t[14]=l,t[15]=j,t[16]=v):v=t[16];let S;t[17]!==c||t[18]!==o||t[19]!==e?(S=e&&(0,s.jsxs)("div",{className:"text-xs space-y-2",children:[c&&(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Overall:"}),(0,s.jsx)(rn,{status:e.status})]}),e.error&&(0,s.jsx)("div",{className:"text-xs text-red-500 bg-red-50 dark:bg-red-950/20 p-2 rounded",children:e.error}),c&&(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("div",{className:"text-muted-foreground font-medium",children:"Servers:"}),Object.entries(o).map(e0)]}),!c&&(0,s.jsxs)("div",{className:"text-muted-foreground text-center py-2",children:["No MCP servers configured. ",(0,s.jsx)("br",{})," Configure under"," ",(0,s.jsx)("b",{children:"Settings > AI > MCP"})]})]}),t[17]=c,t[18]=o,t[19]=e,t[20]=S):S=t[20];let p;t[21]!==S||t[22]!==v?(p=(0,s.jsx)(Yo,{className:"w-[320px]",align:"start",side:"right",children:(0,s.jsxs)("div",{className:"space-y-3",children:[v,S]})}),t[21]=S,t[22]=v,t[23]=p):p=t[23];let g;return t[24]!==p||t[25]!==x?(g=(0,s.jsxs)(Zo,{children:[x,p]}),t[24]=p,t[25]=x,t[26]=g):g=t[26],g},rn=t=>{let e=(0,$i.c)(11),{status:n}=t,l=n==="ok"&&"text-green-500",r=n==="partial"&&"text-yellow-500",i=n==="error"&&"text-red-500",a=n==="failed"&&"text-red-500",o=n==="disconnected"&&"text-gray-500",c=n==="pending"&&"text-yellow-500",d=n==="connected"&&"text-green-500",u;e[0]!==l||e[1]!==r||e[2]!==i||e[3]!==a||e[4]!==o||e[5]!==c||e[6]!==d?(u=$e("text-xs font-medium",l,r,i,a,o,c,d),e[0]=l,e[1]=r,e[2]=i,e[3]=a,e[4]=o,e[5]=c,e[6]=d,e[7]=u):u=e[7];let m;return e[8]!==n||e[9]!==u?(m=(0,s.jsx)("span",{className:u,children:n}),e[8]=n,e[9]=u,e[10]=m):m=e[10],m};function e0(t){let[e,n]=t;return(0,s.jsxs)("div",{className:"flex justify-between items-center pl-2",children:[(0,s.jsx)("span",{className:"text-muted-foreground truncate max-w-[180px]",children:e}),(0,s.jsx)(rn,{status:n})]},e)}var t0=Pe(),n0=[{id:"marimo",title:"marimo (docs)",description:"Access marimo documentation"},{id:"context7",title:"Context7",description:"Connect to Context7 MCP server"}];const l0=t=>{let e=(0,t0.c)(36),{form:n,onSubmit:l}=t,{handleClick:r}=ll(),{data:i,refetch:a,isFetching:o}=Li(),{refresh:c,isRefreshing:d}=Xu(),u;e[0]!==a||e[1]!==c?(u=async()=>{await c(),a()},e[0]=a,e[1]=c,e[2]=u):u=e[2];let m=u,f;e[3]===Symbol.for("react.memo_cache_sentinel")?(f=(0,s.jsx)(jt,{children:"MCP Servers"}),e[3]=f):f=e[3];let x;e[4]===i?x=e[5]:(x=i&&(0,s.jsx)(rn,{status:i.status}),e[4]=i,e[5]=x);let y=d||o,j;e[6]!==o||e[7]!==d?(j=d||o?(0,s.jsx)(Ot,{className:"h-3 w-3 animate-spin"}):(0,s.jsx)(Sl,{className:"h-3 w-3"}),e[6]=o,e[7]=d,e[8]=j):j=e[8];let v;e[9]!==m||e[10]!==y||e[11]!==j?(v=(0,s.jsx)(ue,{variant:"outline",size:"xs",onClick:m,disabled:y,children:j}),e[9]=m,e[10]=y,e[11]=j,e[12]=v):v=e[12];let S;e[13]!==x||e[14]!==v?(S=(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[f,(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[x,v]})]}),e[13]=x,e[14]=v,e[15]=S):S=e[15];let p;e[16]===i?p=e[17]:(p=(i==null?void 0:i.error)&&(0,s.jsx)("div",{className:"text-xs text-red-600 dark:text-red-400 bg-red-50 dark:bg-red-950/20 p-2 rounded",children:i.error}),e[16]=i,e[17]=p);let g;e[18]===i?g=e[19]:(g=(i==null?void 0:i.servers)&&(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:Object.entries(i.servers).map(s0)}),e[18]=i,e[19]=g);let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"Enable Model Context Protocol (MCP) servers to provide additional capabilities and data sources for AI features."}),e[20]=C):C=e[20];let I;e[21]===Symbol.for("react.memo_cache_sentinel")?(I=(0,s.jsx)(he,{className:"inline",children:"marimo[mcp]"}),e[21]=I):I=e[21];let D;e[22]===r?D=e[23]:(D=(0,s.jsxs)("p",{className:"text-sm text-muted-foreground",children:["This feature requires the ",I," ","package. See"," ",(0,s.jsx)(ue,{variant:"link",onClick:()=>r("optionalDeps"),size:"xs",children:"Optional Features"})," ","for more details."]}),e[22]=r,e[23]=D);let _;e[24]!==n||e[25]!==l?(_=P=>{let{field:K}=P,k=K.value||[],M=b=>{let E=k.includes(b)?k.filter(F=>F!==b):[...k,b];K.onChange(E),l(n.getValues())};return(0,s.jsx)(L,{children:(0,s.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:n0.map(b=>{let E=k.includes(b.id);return(0,s.jsxs)(mc,{className:`cursor-pointer transition-all ${E?"border-[var(--blue-9)] bg-[var(--blue-2)]":"hover:border-[var(--blue-7)]"}`,onClick:()=>M(b.id),children:[(0,s.jsx)(cc,{children:(0,s.jsxs)("div",{className:"flex items-start justify-between",children:[(0,s.jsx)(oc,{className:"text-base",children:b.title}),(0,s.jsx)("span",{className:`h-5 w-5 flex items-center justify-center rounded border ${E?"border-[var(--blue-7)] bg-[var(--blue-7)] text-foreground":"border-muted bg-background text-muted-foreground"}`,children:E?(0,s.jsx)(yc,{}):null})]})}),(0,s.jsx)(dc,{children:(0,s.jsx)(uc,{children:b.description})})]},b.id)})})})},e[24]=n,e[25]=l,e[26]=_):_=e[26];let T;e[27]!==n.control||e[28]!==_?(T=(0,s.jsx)(B,{control:n.control,name:"mcp.presets",render:_}),e[27]=n.control,e[28]=_,e[29]=T):T=e[29];let N;return e[30]!==D||e[31]!==T||e[32]!==S||e[33]!==p||e[34]!==g?(N=(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[S,p,g,C,D,T]}),e[30]=D,e[31]=T,e[32]=S,e[33]=p,e[34]=g,e[35]=N):N=e[35],N};function s0(t){let[e,n]=t;return(0,s.jsxs)("div",{children:[e,": ",(0,s.jsx)(rn,{status:n})]},e)}var Ie=Pe();const r0=t=>{let e=(0,Ie.c)(5),{provider:n,children:l}=t,r;e[0]===n?r=e[1]:(r=n&&(0,s.jsx)(He,{provider:n,className:"mr-2"}),e[0]=n,e[1]=r);let i;return e[2]!==l||e[3]!==r?(i=(0,s.jsxs)("div",{className:"flex items-center text-base font-semibold",children:[r,l]}),e[2]=l,e[3]=r,e[4]=i):i=e[4],i},Je=t=>{let e=(0,Ie.c)(11),{form:n,config:l,name:r,placeholder:i,testId:a,description:o,onChange:c}=t,d;e[0]!==l||e[1]!==o||e[2]!==r||e[3]!==c||e[4]!==i||e[5]!==a?(d=m=>{let{field:f}=m;return(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"API Key"}),(0,s.jsx)($,{children:(0,s.jsx)(Qe,{"data-testid":a,rootClassName:"flex-1",className:"m-0 inline-flex h-7",placeholder:i,type:"password",...f,value:Ft(f.value),onChange:x=>{let y=x.target.value;y.includes("*")||(f.onChange(y),c==null||c(y))}})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:l,name:r})]}),o&&(0,s.jsx)(W,{children:o})]})},e[0]=l,e[1]=o,e[2]=r,e[3]=c,e[4]=i,e[5]=a,e[6]=d):d=e[6];let u;return e[7]!==n.control||e[8]!==r||e[9]!==d?(u=(0,s.jsx)(B,{control:n.control,name:r,render:d}),e[7]=n.control,e[8]=r,e[9]=d,e[10]=u):u=e[10],u};function Ft(t){return t==null?"":typeof t=="string"?t:String(t)}const ct=t=>{let e=(0,Ie.c)(12),{form:n,config:l,name:r,placeholder:i,testId:a,description:o,disabled:c,onChange:d}=t,u=c===void 0?!1:c,m;e[0]!==l||e[1]!==o||e[2]!==u||e[3]!==r||e[4]!==d||e[5]!==i||e[6]!==a?(m=x=>{let{field:y}=x;return(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Base URL"}),(0,s.jsx)($,{children:(0,s.jsx)(Qe,{"data-testid":a,rootClassName:"flex-1",className:"m-0 inline-flex h-7",placeholder:i,...y,value:Ft(y.value),disabled:u,onChange:j=>{y.onChange(j.target.value),d==null||d(j.target.value)}})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:l,name:r})]}),o&&(0,s.jsx)(W,{children:o})]})},e[0]=l,e[1]=o,e[2]=u,e[3]=r,e[4]=d,e[5]=i,e[6]=a,e[7]=m):m=e[7];let f;return e[8]!==n.control||e[9]!==r||e[10]!==m?(f=(0,s.jsx)(B,{control:n.control,name:r,render:m}),e[8]=n.control,e[9]=r,e[10]=m,e[11]=f):f=e[11],f},el=t=>{let e=(0,Ie.c)(13),{form:n,config:l,name:r,placeholder:i,description:a,label:o,forRole:c,onSubmit:d}=t,u;e[0]!==l||e[1]!==a||e[2]!==c||e[3]!==n||e[4]!==o||e[5]!==r||e[6]!==d||e[7]!==i?(u=f=>{let{field:x}=f,y=Ft(x.value),j=v=>{x.onChange(v),d(n.getValues())};return(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:o}),(0,s.jsx)($,{children:(0,s.jsx)(Yi,{value:y,placeholder:i,onSelect:j,triggerClassName:"text-sm",customDropdownContent:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(Vt,{}),(0,s.jsxs)("p",{className:"px-2 py-1.5 text-sm text-muted-secondary flex items-center gap-1",children:["Enter a custom model",(0,s.jsx)(nt,{content:"Models should include the provider prefix, e.g. 'openai/gpt-4o'",children:(0,s.jsx)(ra,{className:"h-3 w-3"})})]}),(0,s.jsxs)("div",{className:"px-2 py-1",children:[(0,s.jsx)(Qe,{className:"w-full border-border shadow-none focus-visible:shadow-xs",placeholder:i,...x,value:Ft(x.value),onKeyDown:gl.stopPropagation()}),y&&(0,s.jsx)(zi,{value:y,includeSuggestion:!1})]})]}),forRole:c})}),(0,s.jsx)(H,{})]}),(0,s.jsx)(O,{userConfig:l,name:r}),(0,s.jsx)(zi,{value:y}),a&&(0,s.jsx)(W,{children:a})]})},e[0]=l,e[1]=a,e[2]=c,e[3]=n,e[4]=o,e[5]=r,e[6]=d,e[7]=i,e[8]=u):u=e[8];let m;return e[9]!==n.control||e[10]!==r||e[11]!==u?(m=(0,s.jsx)(B,{control:n.control,name:r,render:u}),e[9]=n.control,e[10]=r,e[11]=u,e[12]=m):m=e[12],m},i0=t=>{let e=(0,Ie.c)(10),{form:n,config:l,name:r,options:i,testId:a,disabled:o}=t,c=o===void 0?!1:o,d;e[0]!==l||e[1]!==c||e[2]!==r||e[3]!==i||e[4]!==a?(d=m=>{let{field:f}=m;return(0,s.jsx)("div",{className:"flex flex-col space-y-1",children:(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Provider"}),(0,s.jsx)($,{children:(0,s.jsx)(Be,{"data-testid":a,onChange:x=>{x.target.value==="none"?f.onChange(!1):f.onChange(x.target.value)},value:Ft(f.value===!0?"github":f.value===!1?"none":f.value),disabled:c,className:"inline-flex mr-2",children:i.map(y0)})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:l,name:r})]})})},e[0]=l,e[1]=c,e[2]=r,e[3]=i,e[4]=a,e[5]=d):d=e[5];let u;return e[6]!==n.control||e[7]!==r||e[8]!==d?(u=(0,s.jsx)(B,{control:n.control,name:r,render:d}),e[6]=n.control,e[7]=r,e[8]=d,e[9]=u):u=e[9],u};var a0=({form:t,config:e,onSubmit:n})=>{let l=t.getValues("completion.copilot");if(l===!1)return null;if(l==="codeium")return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("p",{className:"text-sm text-muted-secondary",children:["To get a Windsurf API key, follow"," ",(0,s.jsx)(pe,{href:"https://docs.marimo.io/guides/editor_features/ai_completion.html#windsurf-copilot",children:"these instructions"}),"."]}),(0,s.jsx)(Je,{form:t,config:e,name:"completion.codeium_api_key",placeholder:"key",testId:"codeium-api-key-input"})]});if(l==="github")return(0,s.jsx)(Ki,{});if(l==="custom")return(0,s.jsx)(el,{label:"Autocomplete Model",form:t,config:e,name:"ai.models.autocomplete_model",placeholder:"ollama/qwen2.5-coder:1.5b",description:"Model to use for code completion when using a custom provider.",onSubmit:n,forRole:"autocomplete"})},Rt=t=>{let e=(0,Ie.c)(5),{children:n,className:l}=t,r;e[0]===l?r=e[1]:(r=$e("flex flex-col gap-4 pb-4",l),e[0]=l,e[1]=r);let i;return e[2]!==n||e[3]!==r?(i=(0,s.jsx)("div",{className:r,children:n}),e[2]=n,e[3]=r,e[4]=i):i=e[4],i},o0=t=>{let e=(0,Ie.c)(23),{qualifiedId:n,model:l,isEnabled:r,onToggle:i,onDelete:a}=t,o;e[0]!==i||e[1]!==n?(o=()=>{i(n)},e[0]=i,e[1]=n,e[2]=o):o=e[2];let c=o,d;e[3]!==a||e[4]!==n?(d=v=>{v.stopPropagation(),v.preventDefault(),a(n)},e[3]=a,e[4]=n,e[5]=d):d=e[5];let u=d,m;e[6]===l?m=e[7]:(m=(0,s.jsx)(c0,{model:l}),e[6]=l,e[7]=m);let f;e[8]!==u||e[9]!==l.custom?(f=l.custom&&(0,s.jsx)(ue,{variant:"ghost",size:"icon",onClick:u,className:"mr-2 hover:bg-transparent",children:(0,s.jsx)(El,{className:"h-3.5 w-3.5 text-muted-foreground"})}),e[8]=u,e[9]=l.custom,e[10]=f):f=e[10];let x;e[11]!==c||e[12]!==r?(x=(0,s.jsx)(La,{checked:r,onClick:c,size:"sm"}),e[11]=c,e[12]=r,e[13]=x):x=e[13];let y;e[14]!==m||e[15]!==f||e[16]!==x?(y=(0,s.jsx)(oi,{children:(0,s.jsxs)("div",{className:"flex items-center justify-between px-3 py-2.5 border-b last:border-b-0 cursor-pointer outline-none",children:[m,f,x]})}),e[14]=m,e[15]=f,e[16]=x,e[17]=y):y=e[17];let j;return e[18]!==c||e[19]!==l.name||e[20]!==n||e[21]!==y?(j=(0,s.jsx)(ui,{id:n,textValue:l.name,className:"pl-6 outline-none data-focused:bg-muted/50 hover:bg-muted/50",onAction:c,children:y}),e[18]=c,e[19]=l.name,e[20]=n,e[21]=y,e[22]=j):j=e[22],j},c0=t=>{let e=(0,Ie.c)(18),{model:n}=t,l;e[0]===n.name?l=e[1]:(l=(0,s.jsx)("h3",{className:"font-medium text-sm",children:n.name}),e[0]=n.name,e[1]=l);let r;e[2]===n.custom?r=e[3]:(r=n.custom&&(0,s.jsx)(dn,{className:"h-4 w-4"}),e[2]=n.custom,e[3]=r);let i;e[4]===r?i=e[5]:(i=(0,s.jsx)(nt,{content:"Custom model",children:r}),e[4]=r,e[5]=i);let a;e[6]===n.thinking?a=e[7]:(a=n.thinking&&(0,s.jsxs)("div",{className:$e("flex items-center gap-1 rounded px-1 py-0.5 w-fit",ln("thinking")),children:[(0,s.jsx)(In,{className:"h-3 w-3"}),(0,s.jsx)("span",{className:"text-xs font-medium",children:"Reasoning"})]}),e[6]=n.thinking,e[7]=a);let o;e[8]!==l||e[9]!==i||e[10]!==a?(o=(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[l,i,a]}),e[8]=l,e[9]=i,e[10]=a,e[11]=o):o=e[11];let c;e[12]!==n.custom||e[13]!==n.description?(c=n.description&&!n.custom&&(0,s.jsx)("p",{className:"text-sm text-muted-foreground line-clamp-2",children:n.description}),e[12]=n.custom,e[13]=n.description,e[14]=c):c=e[14];let d;return e[15]!==o||e[16]!==c?(d=(0,s.jsxs)("div",{className:"flex flex-col flex-1 gap-0.5",children:[o,c]}),e[15]=o,e[16]=c,e[17]=d):d=e[17],d};const d0=t=>{let e=(0,Ie.c)(13),{form:n,config:l,onSubmit:r}=t,i,a;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)(jt,{children:"Code Completion"}),a=(0,s.jsx)("p",{className:"text-sm text-muted-secondary",children:"Choose GitHub Copilot, Codeium, or a custom provider (such as Ollama) to enable AI-powered code completion."}),e[0]=i,e[1]=a):(i=e[0],a=e[1]);let o;e[2]===Symbol.for("react.memo_cache_sentinel")?(o=["none","github","codeium","custom"],e[2]=o):o=e[2];let c;e[3]!==l||e[4]!==n?(c=(0,s.jsx)(i0,{form:n,config:l,name:"completion.copilot",options:o,testId:"copilot-select"}),e[3]=l,e[4]=n,e[5]=c):c=e[5];let d;e[6]!==l||e[7]!==n||e[8]!==r?(d=a0({form:n,config:l,onSubmit:r}),e[6]=l,e[7]=n,e[8]=r,e[9]=d):d=e[9];let u;return e[10]!==c||e[11]!==d?(u=(0,s.jsxs)(Rt,{children:[i,a,c,d]}),e[10]=c,e[11]=d,e[12]=u):u=e[12],u};var qe=t=>{let e=(0,Ie.c)(15),{title:n,triggerClassName:l,provider:r,children:i,isConfigured:a,value:o}=t,c=o??r,d;e[0]===a?d=e[1]:(d=a&&(0,s.jsx)("span",{className:"ml-2 px-1 rounded bg-muted text-xs font-medium border",children:"Configured"}),e[0]=a,e[1]=d);let u;e[2]!==r||e[3]!==d||e[4]!==n?(u=(0,s.jsxs)(r0,{provider:r,children:[n,d]}),e[2]=r,e[3]=d,e[4]=n,e[5]=u):u=e[5];let m;e[6]!==u||e[7]!==l?(m=(0,s.jsx)(ec,{className:l,children:u}),e[6]=u,e[7]=l,e[8]=m):m=e[8];let f;e[9]===i?f=e[10]:(f=(0,s.jsx)(nc,{wrapperClassName:"flex flex-col gap-4",children:i}),e[9]=i,e[10]=f);let x;return e[11]!==c||e[12]!==m||e[13]!==f?(x=(0,s.jsxs)(tc,{value:c,children:[m,f]}),e[11]=c,e[12]=m,e[13]=f,e[14]=x):x=e[14],x};const u0=({form:t,config:e,onSubmit:n})=>{let[l,r]=(0,h.useState)(!1),[i,a]=(0,h.useState)(""),[o,c]=(0,h.useState)(""),[d,u]=(0,h.useState)(""),m=(0,h.useId)(),f=(0,h.useId)(),x=(0,h.useId)(),y=i.toLowerCase().replaceAll(/\s+/g,"_"),j=t.watch("ai.custom_providers"),v=en.includes(y)||j&&Object.keys(j).includes(y),S=y.includes("."),p=y.trim()&&d.trim()&&!v&&!S,g=()=>{a(""),c(""),u(""),r(!1)};return(0,s.jsx)(B,{control:t.control,name:"ai.custom_providers",render:({field:C})=>{let I=C.value||{},D=Object.entries(I),_=()=>{p&&(C.onChange({...I,[y]:{api_key:o||void 0,base_url:d}}),n(t.getValues()),g())},T=k=>{let{[k]:M,...b}=I;t.resetField("ai.custom_providers"),t.setValue("ai.custom_providers",b,{shouldDirty:!0}),n(t.getValues())},N=(0,s.jsxs)("div",{className:"flex flex-col gap-3 p-4 border border-border rounded-md bg-muted/20",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,s.jsx)(Xe,{htmlFor:m,children:"Provider Name"}),(0,s.jsx)(Qe,{id:m,placeholder:"e.g., together, groq, mistral",value:i,onChange:k=>a(k.target.value)}),v&&(0,s.jsx)("p",{className:"text-xs text-destructive",children:"A provider with this name already exists."}),S&&(0,s.jsx)("p",{className:"text-xs text-destructive",children:"Provider names cannot contain '.' characters."}),i&&!S&&(0,s.jsxs)("p",{className:"text-xs text-muted-secondary",children:["Use models with prefix:"," ",(0,s.jsxs)(he,{className:"inline text-xs",children:[y,"/"]})]})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,s.jsxs)(Xe,{htmlFor:x,children:["Base URL ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(Qe,{id:x,placeholder:"e.g., https://api.together.xyz/v1",value:d,onChange:k=>u(k.target.value)})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,s.jsx)(Xe,{htmlFor:f,children:"API Key (optional)"}),(0,s.jsx)(Qe,{id:f,placeholder:"sk-...",type:"password",value:o,onChange:k=>c(k.target.value)})]}),(0,s.jsxs)("div",{className:"flex gap-2 mt-1",children:[(0,s.jsx)(ue,{onClick:_,disabled:!p,size:"xs",children:"Add Provider"}),(0,s.jsx)(ue,{variant:"outline",onClick:g,size:"xs",children:"Cancel"})]})]}),P=k=>{C.onChange({...I,[k.providerName]:{...I[k.providerName],[k.fieldName]:k.value||void 0}})},K=({providerName:k,providerConfig:M,onRemove:b})=>{let E=un.startCase(k),F=!!M.api_key||!!M.base_url;return(0,s.jsxs)(qe,{title:E,provider:k,value:`custom-${k}`,isConfigured:F,children:[(0,s.jsx)(Je,{form:t,config:e,name:`ai.custom_providers.${k}.api_key`,placeholder:"sk-...",testId:`custom-provider-${k}-api-key`,onChange:R=>P({providerName:k,fieldName:"api_key",value:R})}),(0,s.jsx)(ct,{form:t,config:e,name:`ai.custom_providers.${k}.base_url`,placeholder:"https://api.example.com/v1",testId:`custom-provider-${k}-base-url`,onChange:R=>P({providerName:k,fieldName:"base_url",value:R})}),(0,s.jsxs)(ue,{variant:"destructive",size:"xs",onClick:R=>{R.stopPropagation(),R.preventDefault(),b(k)},className:"w-fit self-end",children:[(0,s.jsx)(El,{className:"h-4 w-4 mr-2"}),"Remove Provider"]})]},`custom-${k}`)};return(0,s.jsxs)(Rt,{children:[(0,s.jsx)(jt,{children:"Custom Providers"}),(0,s.jsx)("p",{className:"text-sm text-muted-secondary",children:"Add your own OpenAI-compatible provider. Once added, you can configure models in the AI Models tab."}),D.length>0&&(0,s.jsx)(Ll,{type:"multiple",className:"-mt-4",children:D.map(([k,M])=>K({providerName:k,providerConfig:M,onRemove:T}))}),l?N:(0,s.jsx)(Vi,{className:"self-start",isFormOpen:l,setIsFormOpen:r,label:"Add Provider"})]})}})},m0=t=>{let e=(0,Ie.c)(117),{form:n,config:l,onSubmit:r}=t,i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=yt(),e[0]=i):i=e[0];let a=i,o;e[1]===n?o=e[2]:(o=De=>!!n.getValues(De),e[1]=n,e[2]=o);let c=o,d;e[3]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsx)(he,{className:"inline",children:"marimo.toml"}),e[3]=d):d=e[3];let u;e[4]===Symbol.for("react.memo_cache_sentinel")?(u=(0,s.jsxs)("p",{className:"text-sm text-muted-secondary",children:["Add your API keys below or to ",d," ","to set up a provider for the Code Completion and Assistant features; see"," ",(0,s.jsx)(pe,{href:"https://docs.marimo.io/guides/editor_features/ai_completion/#connecting-to-an-llm",children:"docs"})," ","for more info."]}),e[4]=u):u=e[4];let m=c("ai.open_ai.api_key"),f;e[5]===Symbol.for("react.memo_cache_sentinel")?(f=(0,s.jsxs)(s.Fragment,{children:["Your OpenAI API key from"," ",(0,s.jsx)(pe,{href:"https://platform.openai.com/account/api-keys",children:"platform.openai.com"}),"."]}),e[5]=f):f=e[5];let x,y;e[6]!==l||e[7]!==n?(x=(0,s.jsx)(Je,{form:n,config:l,name:"ai.open_ai.api_key",placeholder:"sk-proj...",testId:"ai-openai-api-key-input",description:f}),y=(0,s.jsx)(ct,{form:n,config:l,name:"ai.open_ai.base_url",placeholder:"https://api.openai.com/v1",testId:"ai-base-url-input",disabled:a}),e[6]=l,e[7]=n,e[8]=x,e[9]=y):(x=e[8],y=e[9]);let j;e[10]!==m||e[11]!==x||e[12]!==y?(j=(0,s.jsxs)(qe,{title:"OpenAI",provider:"openai",triggerClassName:"pt-0",isConfigured:m,children:[x,y]}),e[10]=m,e[11]=x,e[12]=y,e[13]=j):j=e[13];let v=c("ai.anthropic.api_key"),S;e[14]===Symbol.for("react.memo_cache_sentinel")?(S=(0,s.jsxs)(s.Fragment,{children:["Your Anthropic API key from"," ",(0,s.jsx)(pe,{href:"https://console.anthropic.com/settings/keys",children:"console.anthropic.com"}),"."]}),e[14]=S):S=e[14];let p;e[15]!==l||e[16]!==n?(p=(0,s.jsx)(Je,{form:n,config:l,name:"ai.anthropic.api_key",placeholder:"sk-ant...",testId:"ai-anthropic-api-key-input",description:S}),e[15]=l,e[16]=n,e[17]=p):p=e[17];let g;e[18]!==v||e[19]!==p?(g=(0,s.jsx)(qe,{title:"Anthropic",provider:"anthropic",isConfigured:v,children:p}),e[18]=v,e[19]=p,e[20]=g):g=e[20];let C=c("ai.google.api_key"),I;e[21]===Symbol.for("react.memo_cache_sentinel")?(I=(0,s.jsxs)(s.Fragment,{children:["Your Google AI API key from"," ",(0,s.jsx)(pe,{href:"https://aistudio.google.com/app/apikey",children:"aistudio.google.com"}),"."]}),e[21]=I):I=e[21];let D;e[22]!==l||e[23]!==n?(D=(0,s.jsx)(Je,{form:n,config:l,name:"ai.google.api_key",placeholder:"AI...",testId:"ai-google-api-key-input",description:I}),e[22]=l,e[23]=n,e[24]=D):D=e[24];let _;e[25]!==C||e[26]!==D?(_=(0,s.jsx)(qe,{title:"Google",provider:"google",isConfigured:C,children:D}),e[25]=C,e[26]=D,e[27]=_):_=e[27];let T=c("ai.ollama.base_url"),N;e[28]!==l||e[29]!==n?(N=(0,s.jsx)(ct,{form:n,config:l,name:"ai.ollama.base_url",placeholder:"http://localhost:11434/v1",testId:"ollama-base-url-input"}),e[28]=l,e[29]=n,e[30]=N):N=e[30];let P;e[31]!==T||e[32]!==N?(P=(0,s.jsx)(qe,{title:"Ollama",provider:"ollama",isConfigured:T,children:N}),e[31]=T,e[32]=N,e[33]=P):P=e[33];let K=c("ai.github.api_key"),k;e[34]===Symbol.for("react.memo_cache_sentinel")?(k=(0,s.jsx)(Ol,{variant:"warning",className:"py-1.5 px-3 text-xs",children:(0,s.jsxs)(Vl,{children:["Free tier models have low token limits which can cause errors with larger prompts."," ",(0,s.jsx)(pe,{href:"https://docs.github.com/en/github-models/prototyping-with-ai-models#rate-limits",children:"Learn more"})]})}),e[34]=k):k=e[34];let M;e[35]===Symbol.for("react.memo_cache_sentinel")?(M=(0,s.jsxs)(s.Fragment,{children:["Your GitHub API token from"," ",(0,s.jsx)(he,{className:"inline",children:"gh auth token"}),"."]}),e[35]=M):M=e[35];let b,E;e[36]!==l||e[37]!==n?(b=(0,s.jsx)(Je,{form:n,config:l,name:"ai.github.api_key",placeholder:"gho_...",testId:"ai-github-api-key-input",description:M}),E=(0,s.jsx)(ct,{form:n,config:l,name:"ai.github.base_url",placeholder:"https://models.github.ai/inference",testId:"ai-github-base-url-input"}),e[36]=l,e[37]=n,e[38]=b,e[39]=E):(b=e[38],E=e[39]);let F;e[40]!==K||e[41]!==b||e[42]!==E?(F=(0,s.jsxs)(qe,{title:"GitHub",provider:"github",isConfigured:K,children:[k,b,E]}),e[40]=K,e[41]=b,e[42]=E,e[43]=F):F=e[43];let R=c("ai.openrouter.api_key"),U;e[44]===Symbol.for("react.memo_cache_sentinel")?(U=(0,s.jsxs)(s.Fragment,{children:["Your OpenRouter API key from ","",(0,s.jsx)(pe,{href:"https://openrouter.ai/keys",children:"openrouter.ai"}),"."]}),e[44]=U):U=e[44];let q,w;e[45]!==l||e[46]!==n?(q=(0,s.jsx)(Je,{form:n,config:l,name:"ai.openrouter.api_key",placeholder:"or-...",testId:"ai-openrouter-api-key-input",description:U}),w=(0,s.jsx)(ct,{form:n,config:l,name:"ai.openrouter.base_url",placeholder:"https://openrouter.ai/api/v1/",testId:"ai-openrouter-base-url-input"}),e[45]=l,e[46]=n,e[47]=q,e[48]=w):(q=e[47],w=e[48]);let G;e[49]!==R||e[50]!==q||e[51]!==w?(G=(0,s.jsxs)(qe,{title:"OpenRouter",provider:"openrouter",isConfigured:R,children:[q,w]}),e[49]=R,e[50]=q,e[51]=w,e[52]=G):G=e[52];let Z=c("ai.wandb.api_key"),J;e[53]===Symbol.for("react.memo_cache_sentinel")?(J=(0,s.jsxs)(s.Fragment,{children:["Your Weights & Biases API key from"," ",(0,s.jsx)(pe,{href:"https://wandb.ai/authorize",children:"wandb.ai"}),"."]}),e[53]=J):J=e[53];let le,oe;e[54]!==l||e[55]!==n?(le=(0,s.jsx)(Je,{form:n,config:l,name:"ai.wandb.api_key",placeholder:"your-wandb-api-key",testId:"ai-wandb-api-key-input",description:J}),oe=(0,s.jsx)(ct,{form:n,config:l,name:"ai.wandb.base_url",placeholder:"https://api.inference.wandb.ai/v1/",testId:"ai-wandb-base-url-input"}),e[54]=l,e[55]=n,e[56]=le,e[57]=oe):(le=e[56],oe=e[57]);let se;e[58]!==Z||e[59]!==le||e[60]!==oe?(se=(0,s.jsxs)(qe,{title:"Weights & Biases",provider:"wandb",isConfigured:Z,children:[le,oe]}),e[58]=Z,e[59]=le,e[60]=oe,e[61]=se):se=e[61];let re=c("ai.azure.api_key")&&c("ai.azure.base_url"),A;e[62]===Symbol.for("react.memo_cache_sentinel")?(A=(0,s.jsxs)(s.Fragment,{children:["Your Azure API key from"," ",(0,s.jsx)(pe,{href:"https://portal.azure.com/",children:"portal.azure.com"}),"."]}),e[62]=A):A=e[62];let ee,X;e[63]!==l||e[64]!==n?(ee=(0,s.jsx)(Je,{form:n,config:l,name:"ai.azure.api_key",placeholder:"sk-proj...",testId:"ai-azure-api-key-input",description:A}),X=(0,s.jsx)(ct,{form:n,config:l,name:"ai.azure.base_url",placeholder:"https://<your-resource-name>.openai.azure.com/openai/deployments/<deployment-name>?api-version=<api-version>",testId:"ai-azure-base-url-input"}),e[63]=l,e[64]=n,e[65]=ee,e[66]=X):(ee=e[65],X=e[66]);let Q;e[67]!==re||e[68]!==ee||e[69]!==X?(Q=(0,s.jsxs)(qe,{title:"Azure",provider:"azure",isConfigured:re,children:[ee,X]}),e[67]=re,e[68]=ee,e[69]=X,e[70]=Q):Q=e[70];let te=c("ai.bedrock.region_name"),ie;e[71]===Symbol.for("react.memo_cache_sentinel")?(ie=(0,s.jsxs)("p",{className:"text-sm text-muted-secondary mb-2",children:["To use AWS Bedrock, you need to configure AWS credentials and region. See the"," ",(0,s.jsx)(pe,{href:"https://docs.marimo.io/guides/editor_features/ai_completion.html#aws-bedrock",children:"documentation"})," ","for more details."]}),e[71]=ie):ie=e[71];let ce;e[72]===l?ce=e[73]:(ce=De=>{let{field:_e}=De;return(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"AWS Region"}),(0,s.jsx)($,{children:(0,s.jsx)(Be,{"data-testid":"bedrock-region-select",onChange:dt=>_e.onChange(dt.target.value),value:typeof _e.value=="string"?_e.value:"us-east-1",disabled:_e.disabled,className:"inline-flex mr-2",children:Wu.map(v0)})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:l,name:"ai.bedrock.region_name"})]}),(0,s.jsx)(W,{children:"The AWS region where Bedrock service is available."})]})},e[72]=l,e[73]=ce);let ve;e[74]!==n.control||e[75]!==ce?(ve=(0,s.jsx)(B,{control:n.control,disabled:a,name:"ai.bedrock.region_name",render:ce}),e[74]=n.control,e[75]=ce,e[76]=ve):ve=e[76];let ge;e[77]===l?ge=e[78]:(ge=De=>{let{field:_e}=De;return(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"AWS Profile Name (Optional)"}),(0,s.jsx)($,{children:(0,s.jsx)(Qe,{"data-testid":"bedrock-profile-input",rootClassName:"flex-1",className:"m-0 inline-flex h-7",placeholder:"default",..._e,value:_e.value||""})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:l,name:"ai.bedrock.profile_name"})]}),(0,s.jsx)(W,{children:"The AWS profile name from your ~/.aws/credentials file. Leave blank to use your default AWS credentials."})]})},e[77]=l,e[78]=ge);let de;e[79]!==n.control||e[80]!==ge?(de=(0,s.jsx)(B,{control:n.control,disabled:a,name:"ai.bedrock.profile_name",render:ge}),e[79]=n.control,e[80]=ge,e[81]=de):de=e[81];let xe;e[82]!==te||e[83]!==ve||e[84]!==de?(xe=(0,s.jsxs)(qe,{title:"AWS Bedrock",provider:"bedrock",isConfigured:te,children:[ie,ve,de]}),e[82]=te,e[83]=ve,e[84]=de,e[85]=xe):xe=e[85];let Ke=c("ai.open_ai_compatible.api_key")&&c("ai.open_ai_compatible.base_url"),Ye;e[86]===Symbol.for("react.memo_cache_sentinel")?(Ye=(0,s.jsx)("p",{className:"text-sm text-amber-600 dark:text-amber-400 mb-2",children:"Consider using Custom Providers instead, which allows you to add multiple providers with distinct names."}),e[86]=Ye):Ye=e[86];let Ce;e[87]===Symbol.for("react.memo_cache_sentinel")?(Ce=(0,s.jsx)(s.Fragment,{children:"API key for any OpenAI-compatible provider (e.g., Together, Groq, Mistral, Perplexity, etc)."}),e[87]=Ce):Ce=e[87];let be;e[88]!==l||e[89]!==n?(be=(0,s.jsx)(Je,{form:n,config:l,name:"ai.open_ai_compatible.api_key",placeholder:"sk-...",testId:"ai-openai-compatible-api-key-input",description:Ce}),e[88]=l,e[89]=n,e[90]=be):be=e[90];let Me;e[91]===Symbol.for("react.memo_cache_sentinel")?(Me=(0,s.jsx)(s.Fragment,{children:"Base URL for your OpenAI-compatible provider."}),e[91]=Me):Me=e[91];let Ee;e[92]!==l||e[93]!==n?(Ee=(0,s.jsx)(ct,{form:n,config:l,name:"ai.open_ai_compatible.base_url",placeholder:"https://api.together.xyz/v1",testId:"ai-openai-compatible-base-url-input",description:Me}),e[92]=l,e[93]=n,e[94]=Ee):Ee=e[94];let ae;e[95]!==Ke||e[96]!==be||e[97]!==Ee?(ae=(0,s.jsxs)(qe,{title:"OpenAI-Compatible (Legacy)",provider:"openai-compatible",isConfigured:Ke,children:[Ye,be,Ee]}),e[95]=Ke,e[96]=be,e[97]=Ee,e[98]=ae):ae=e[98];let Ze;e[99]!==g||e[100]!==_||e[101]!==P||e[102]!==F||e[103]!==G||e[104]!==se||e[105]!==Q||e[106]!==xe||e[107]!==ae||e[108]!==j?(Ze=(0,s.jsxs)(Ll,{type:"multiple",children:[j,g,_,P,F,G,se,Q,xe,ae]}),e[99]=g,e[100]=_,e[101]=P,e[102]=F,e[103]=G,e[104]=se,e[105]=Q,e[106]=xe,e[107]=ae,e[108]=j,e[109]=Ze):Ze=e[109];let Re;e[110]!==l||e[111]!==n||e[112]!==r?(Re=(0,s.jsx)(u0,{form:n,config:l,onSubmit:r}),e[110]=l,e[111]=n,e[112]=r,e[113]=Re):Re=e[113];let et;return e[114]!==Ze||e[115]!==Re?(et=(0,s.jsxs)(Rt,{children:[u,Ze,Re]}),e[114]=Ze,e[115]=Re,e[116]=et):et=e[116],et},h0=t=>{let e=(0,Ie.c)(24),{form:n,config:l,onSubmit:r}=t,i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)(jt,{children:"AI Assistant"}),e[0]=i):i=e[0];let a;e[1]===n.control?a=e[2]:(a=(0,s.jsx)(B,{control:n.control,name:"ai.inline_tooltip",render:b0}),e[1]=n.control,e[2]=a);let o;e[3]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsx)(vo,{}),e[3]=o):o=e[3];let c;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)("span",{children:"Model to use for chat conversations in the Chat panel."}),e[4]=c):c=e[4];let d;e[5]!==l||e[6]!==n||e[7]!==r?(d=(0,s.jsx)(el,{label:"Chat Model",form:n,config:l,name:"ai.models.chat_model",placeholder:hl,description:c,forRole:"chat",onSubmit:r}),e[5]=l,e[6]=n,e[7]=r,e[8]=d):d=e[8];let u;e[9]===Symbol.for("react.memo_cache_sentinel")?(u=(0,s.jsxs)("span",{children:["Model to use for code editing with the"," ",(0,s.jsx)(he,{className:"inline",children:"Generate with AI"})," button."]}),e[9]=u):u=e[9];let m;e[10]!==l||e[11]!==n||e[12]!==r?(m=(0,s.jsx)(el,{label:"Edit Model",form:n,config:l,name:"ai.models.edit_model",placeholder:hl,description:u,forRole:"edit",onSubmit:r}),e[10]=l,e[11]=n,e[12]=r,e[13]=m):m=e[13];let f;e[14]===l?f=e[15]:(f=j=>{let{field:v}=j;return(0,s.jsxs)("div",{className:"flex flex-col",children:[(0,s.jsxs)(L,{children:[(0,s.jsx)(z,{children:"Custom Rules"}),(0,s.jsx)($,{children:(0,s.jsx)(xo,{"data-testid":"ai-rules-input",className:"m-0 inline-flex w-full h-32 p-2 text-sm",placeholder:"e.g. Always use type hints; prefer polars over pandas",...v,value:v.value})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:l,name:"ai.rules"})]}),(0,s.jsx)(W,{children:"Custom rules to include in all AI completion prompts."})]})},e[14]=l,e[15]=f);let x;e[16]!==n.control||e[17]!==f?(x=(0,s.jsx)(B,{control:n.control,name:"ai.rules",render:f}),e[16]=n.control,e[17]=f,e[18]=x):x=e[18];let y;return e[19]!==a||e[20]!==d||e[21]!==m||e[22]!==x?(y=(0,s.jsxs)(Rt,{children:[i,a,o,d,m,x]}),e[19]=a,e[20]=d,e[21]=m,e[22]=x,e[23]=y):y=e[23],y};var p0=t=>{let e=(0,Ie.c)(51),{providerId:n,models:l,enabledModels:r,onToggleModel:i,onToggleProvider:a,onDeleteModel:o}=t,c;if(e[0]!==r||e[1]!==l||e[2]!==n){let k;e[4]!==r||e[5]!==n?(k=M=>r.has(new Le(n,M.model).id),e[4]=r,e[5]=n,e[6]=k):k=e[6],c=l.filter(k),e[0]=r,e[1]=l,e[2]=n,e[3]=c}else c=e[3];let d=c.length,u=l.length,m;e[7]===n?m=e[8]:(m=At.getProviderInfo(n),e[7]=n,e[8]=m);let f=m,x;e[9]!==(f==null?void 0:f.name)||e[10]!==n?(x=(f==null?void 0:f.name)||un.startCase(n),e[9]=f==null?void 0:f.name,e[10]=n,e[11]=x):x=e[11];let y=x,j=d===0?!1:d===u?!0:"indeterminate",v;e[12]!==d||e[13]!==a||e[14]!==n||e[15]!==u?(v=()=>{a(n,d<u/2)},e[12]=d,e[13]=a,e[14]=n,e[15]=u,e[16]=v):v=e[16];let S=Bt(v),p;e[17]===Symbol.for("react.memo_cache_sentinel")?(p=gl.stopPropagation(),e[17]=p):p=e[17];let g;e[18]!==j||e[19]!==S?(g=(0,s.jsx)(me,{checked:j,onCheckedChange:S,onClick:p}),e[18]=j,e[19]=S,e[20]=g):g=e[20];let C;e[21]===n?C=e[22]:(C=(0,s.jsx)(He,{provider:n,className:"h-5 w-5"}),e[21]=n,e[22]=C);let I;e[23]===y?I=e[24]:(I=(0,s.jsx)("h2",{className:"font-semibold",children:y}),e[23]=y,e[24]=I);let D;e[25]!==d||e[26]!==u?(D=(0,s.jsxs)("p",{className:"text-sm text-muted-secondary",children:[d,"/",u," models"]}),e[25]=d,e[26]=u,e[27]=D):D=e[27];let _;e[28]!==I||e[29]!==D?(_=(0,s.jsxs)("div",{className:"flex items-center justify-between w-full",children:[I,D]}),e[28]=I,e[29]=D,e[30]=_):_=e[30];let T;e[31]===Symbol.for("react.memo_cache_sentinel")?(T=(0,s.jsx)(ho,{slot:"chevron",children:(0,s.jsx)(Za,{className:"h-4 w-4 text-muted-foreground shrink-0 transition-transform duration-200 group-data-expanded:rotate-90"})}),e[31]=T):T=e[31];let N;e[32]!==_||e[33]!==g||e[34]!==C?(N=(0,s.jsx)(oi,{children:(0,s.jsxs)("div",{className:"flex items-center gap-3 px-2 py-3 hover:bg-muted/50 cursor-pointer outline-none focus-visible:outline-none border-b group-data-expanded:border-b-0 rounded-sm",children:[g,C,_,T]})}),e[32]=_,e[33]=g,e[34]=C,e[35]=N):N=e[35];let P;if(e[36]!==r||e[37]!==l||e[38]!==o||e[39]!==i||e[40]!==n){let k;e[42]!==r||e[43]!==o||e[44]!==i||e[45]!==n?(k=M=>{let b=new Le(n,M.model).id;return(0,s.jsx)(o0,{qualifiedId:b,model:M,isEnabled:r.has(b),onToggle:i,onDelete:o},b)},e[42]=r,e[43]=o,e[44]=i,e[45]=n,e[46]=k):k=e[46],P=l.map(k),e[36]=r,e[37]=l,e[38]=o,e[39]=i,e[40]=n,e[41]=P}else P=e[41];let K;return e[47]!==n||e[48]!==N||e[49]!==P?(K=(0,s.jsxs)(ui,{id:n,hasChildItems:!0,textValue:n,className:"outline-none data-focused:bg-muted/50 group",children:[N,P]}),e[47]=n,e[48]=N,e[49]=P,e[50]=K):K=e[50],K};const f0=({form:t,onSubmit:e})=>{let n=bn({control:t.control,name:"ai.models.custom_models"}),l=bn({control:t.control,name:"ai.custom_providers"}),r=(0,h.useMemo)(()=>Object.keys(l||{}),[l]),i=(0,h.useMemo)(()=>At.create({displayedModels:[],customModels:n}),[n]),a=bn({control:t.control,name:"ai.models.displayed_models",defaultValue:[]}),o=new Set(a),c=i.getGroupedModelsByProvider(),d=i.getListModelsByProvider(),u=Bt(x=>{let y=o.has(x)?a.filter(j=>j!==x):[...a,x];t.setValue("ai.models.displayed_models",y,{shouldDirty:!0,shouldTouch:!0}),e(t.getValues())}),m=Bt(async(x,y)=>{let j=c.get(x)||[],v=new Set(j.map(p=>new Le(x,p.model).id)),S=y?[...new Set([...a,...v])]:a.filter(p=>!v.has(p));t.setValue("ai.models.displayed_models",S,{shouldDirty:!0,shouldTouch:!0}),e(t.getValues())}),f=Bt(x=>{let y=n.filter(v=>v!==x),j=a.filter(v=>v!==x);t.setValue("ai.models.displayed_models",j,{shouldDirty:!0,shouldTouch:!0}),t.setValue("ai.models.custom_models",y,{shouldDirty:!0,shouldTouch:!0}),e(t.getValues())});return(0,s.jsxs)(Rt,{className:"gap-2",children:[(0,s.jsx)("p",{className:"text-sm text-muted-secondary",children:"Control which AI models are displayed in model selection dropdowns. When no models are selected, all available models will be shown."}),(0,s.jsx)("div",{className:"bg-background",children:(0,s.jsx)(Fd,{"aria-label":"AI Models by Provider",className:"flex-1 overflow-auto outline-none focus-visible:outline-none",selectionMode:"none",children:d.map(([x,y])=>(0,s.jsx)(p0,{providerId:x,models:y,enabledModels:o,onToggleModel:u,onToggleProvider:m,onDeleteModel:f},x))})}),(0,s.jsx)(g0,{form:t,customModels:n,customProviderNames:r,onSubmit:e})]})},g0=t=>{let e=(0,Ie.c)(77),{form:n,customModels:l,customProviderNames:r,onSubmit:i}=t,[a,o]=(0,h.useState)(!1),[c,d]=(0,h.useState)(!1),[u,m]=(0,h.useState)(null),[f,x]=(0,h.useState)(""),[y,j]=(0,h.useState)(""),v=(0,h.useId)(),S=(0,h.useId)(),p=(0,h.useId)(),g=u==="custom",C=g?f:u,I;e[0]!==y||e[1]!==C?(I=(C==null?void 0:C.trim())&&(y==null?void 0:y.trim()),e[0]=y,e[1]=C,e[2]=I):I=e[2];let D=I,_;e[3]===Symbol.for("react.memo_cache_sentinel")?(_=()=>{m(null),x(""),j(""),o(!1)},e[3]=_):_=e[3];let T=_,N;e[4]!==l||e[5]!==n||e[6]!==D||e[7]!==y||e[8]!==i||e[9]!==C?(N=()=>{if(!D)return;let ae=new Le(C,y);n.setValue("ai.models.custom_models",[ae.id,...l],{shouldDirty:!0,shouldTouch:!0}),i(n.getValues()),T(),d(!0),setTimeout(()=>d(!1),2e3)},e[4]=l,e[5]=n,e[6]=D,e[7]=y,e[8]=i,e[9]=C,e[10]=N):N=e[10];let P=N,K;e[11]===v?K=e[12]:(K=(0,s.jsx)(Xe,{htmlFor:v,className:"text-sm font-medium text-muted-foreground min-w-12",children:"Provider"}),e[11]=v,e[12]=K);let k=u||"",M;e[13]===Symbol.for("react.memo_cache_sentinel")?(M=ae=>m(ae),e[13]=M):M=e[13];let b;e[14]===u?b=e[15]:(b=u?(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.jsx)(He,{provider:u,className:"h-3.5 w-3.5"}),(0,s.jsx)("span",{children:on(u)})]}):(0,s.jsx)("span",{className:"text-muted-foreground",children:"Select..."}),e[14]=u,e[15]=b);let E;e[16]!==v||e[17]!==b?(E=(0,s.jsx)(Io,{id:v,className:"w-40 truncate",children:b}),e[16]=v,e[17]=b,e[18]=E):E=e[18];let F;e[19]===r?F=e[20]:(F=r.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("p",{className:"px-2 py-1 text-xs text-muted-secondary font-medium",children:"Custom Providers"}),r.map(j0),(0,s.jsx)("p",{className:"px-2 py-1 text-xs text-muted-secondary font-medium mt-1",children:"Built-in Providers"})]}),e[19]=r,e[20]=F);let R;e[21]===r?R=e[22]:(R=en.filter(ae=>ae!=="marimo"&&!r.includes(ae)).map(k0),e[21]=r,e[22]=R);let U;e[23]===Symbol.for("react.memo_cache_sentinel")?(U=(0,s.jsx)("p",{className:"px-2 py-1 text-xs text-muted-secondary font-medium mt-1",children:"Other"}),e[23]=U):U=e[23];let q;e[24]===Symbol.for("react.memo_cache_sentinel")?(q=(0,s.jsx)(kn,{value:"custom",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(He,{provider:"openai-compatible",className:"h-4 w-4"}),(0,s.jsx)("span",{children:"Enter provider name"})]})}),e[24]=q):q=e[24];let w;e[25]!==R||e[26]!==F?(w=(0,s.jsx)(No,{children:(0,s.jsxs)(So,{children:[F,R,U,q]})}),e[25]=R,e[26]=F,e[27]=w):w=e[27];let G;e[28]!==w||e[29]!==k||e[30]!==E?(G=(0,s.jsxs)(Ko,{value:k,onValueChange:M,children:[E,w]}),e[28]=w,e[29]=k,e[30]=E,e[31]=G):G=e[31];let Z;e[32]!==G||e[33]!==K?(Z=(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[K,G]}),e[32]=G,e[33]=K,e[34]=Z):Z=e[34];let J;e[35]!==S||e[36]!==f||e[37]!==g?(J=g&&(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(Xe,{htmlFor:S,className:"text-sm font-medium text-muted-foreground min-w-12",children:"Name"}),(0,s.jsx)(Qe,{id:S,value:f,onChange:ae=>x(ae.target.value),placeholder:"openrouter",className:"w-40 truncate"})]}),e[35]=S,e[36]=f,e[37]=g,e[38]=J):J=e[38];let le;e[39]!==Z||e[40]!==J?(le=(0,s.jsxs)("div",{className:"flex flex-col gap-2",children:[Z,J]}),e[39]=Z,e[40]=J,e[41]=le):le=e[41];let oe=le,se=g&&"self-start",re;e[42]===se?re=e[43]:(re=$e("flex items-center gap-2",se),e[42]=se,e[43]=re);let A;e[44]===p?A=e[45]:(A=(0,s.jsx)(Xe,{htmlFor:p,className:"text-sm font-medium text-muted-foreground",children:"Model"}),e[44]=p,e[45]=A);let ee;e[46]===Symbol.for("react.memo_cache_sentinel")?(ee=ae=>j(ae.target.value),e[46]=ee):ee=e[46];let X;e[47]!==y||e[48]!==p?(X=(0,s.jsx)(Qe,{id:p,value:y,onChange:ee,placeholder:"gpt-4",className:"text-xs mb-0"}),e[47]=y,e[48]=p,e[49]=X):X=e[49];let Q;e[50]!==re||e[51]!==A||e[52]!==X?(Q=(0,s.jsxs)("div",{className:re,children:[A,X]}),e[50]=re,e[51]=A,e[52]=X,e[53]=Q):Q=e[53];let te=Q,ie=g&&"self-end",ce;e[54]===ie?ce=e[55]:(ce=$e("flex gap-1.5 ml-auto",ie),e[54]=ie,e[55]=ce);let ve=!D,ge;e[56]!==P||e[57]!==ve?(ge=(0,s.jsx)(ue,{onClick:P,disabled:ve,size:"xs",children:"Add"}),e[56]=P,e[57]=ve,e[58]=ge):ge=e[58];let de;e[59]===Symbol.for("react.memo_cache_sentinel")?(de=(0,s.jsx)(ue,{variant:"outline",onClick:T,size:"xs",children:"Cancel"}),e[59]=de):de=e[59];let xe;e[60]!==ce||e[61]!==ge?(xe=(0,s.jsxs)("div",{className:ce,children:[ge,de]}),e[60]=ce,e[61]=ge,e[62]=xe):xe=e[62];let Ke;e[63]!==te||e[64]!==oe||e[65]!==xe?(Ke=(0,s.jsxs)("div",{className:"flex items-center gap-3 p-3 border border-border rounded-md",children:[oe,te,xe]}),e[63]=te,e[64]=oe,e[65]=xe,e[66]=Ke):Ke=e[66];let Ye=a&&Ke,Ce;e[67]===a?Ce=e[68]:(Ce=(0,s.jsx)(Vi,{isFormOpen:a,setIsFormOpen:o,label:"Add Model",className:"pl-2"}),e[67]=a,e[68]=Ce);let be;e[69]===c?be=e[70]:(be=c&&(0,s.jsx)("div",{className:"flex items-center gap-1 text-green-700 bg-green-500/10 px-2 py-1 rounded-md ml-auto",children:"\u2713 Model added"}),e[69]=c,e[70]=be);let Me;e[71]!==Ce||e[72]!==be?(Me=(0,s.jsxs)("div",{className:"flex flex-row text-sm",children:[Ce,be]}),e[71]=Ce,e[72]=be,e[73]=Me):Me=e[73];let Ee;return e[74]!==Ye||e[75]!==Me?(Ee=(0,s.jsxs)("div",{children:[Ye,Me]}),e[74]=Ye,e[75]=Me,e[76]=Ee):Ee=e[76],Ee};var Vi=t=>{let e=(0,Ie.c)(10),{isFormOpen:n,setIsFormOpen:l,label:r,className:i}=t,a;e[0]===l?a=e[1]:(a=u=>{u.stopPropagation(),u.preventDefault(),l(!0)},e[0]=l,e[1]=a);let o;e[2]===i?o=e[3]:(o=$e("px-0",i),e[2]=i,e[3]=o);let c;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=(0,s.jsx)(so,{className:"h-4 w-4 mr-2 mb-0.5"}),e[4]=c):c=e[4];let d;return e[5]!==n||e[6]!==r||e[7]!==a||e[8]!==o?(d=(0,s.jsxs)(ue,{onClick:a,variant:"link",disabled:n,className:o,children:[c,r]}),e[5]=n,e[6]=r,e[7]=a,e[8]=o,e[9]=d):d=e[9],d};const x0=t=>{let e=(0,Ie.c)(26),{form:n,config:l,onSubmit:r}=t,i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=yt(),e[0]=i):i=e[0];let a=i,[o,c]=xt(Wi),d;e[1]===c?d=e[2]:(d=v=>c(v),e[1]=c,e[2]=d);let u;e[3]===Symbol.for("react.memo_cache_sentinel")?(u=(0,s.jsxs)(zl,{className:"mb-2",children:[(0,s.jsx)(Kt,{value:"ai-features",children:"AI Features"}),(0,s.jsx)(Kt,{value:"ai-providers",children:"AI Providers"}),(0,s.jsx)(Kt,{value:"ai-models",children:"AI Models"}),!a&&(0,s.jsx)(Kt,{value:"mcp",children:"MCP"})]}),e[3]=u):u=e[3];let m;e[4]!==l||e[5]!==n||e[6]!==r?(m=(0,s.jsxs)(qt,{value:"ai-features",children:[(0,s.jsx)(d0,{form:n,config:l,onSubmit:r}),(0,s.jsx)(h0,{form:n,config:l,onSubmit:r})]}),e[4]=l,e[5]=n,e[6]=r,e[7]=m):m=e[7];let f;e[8]!==l||e[9]!==n||e[10]!==r?(f=(0,s.jsx)(qt,{value:"ai-providers",children:(0,s.jsx)(m0,{form:n,config:l,onSubmit:r})}),e[8]=l,e[9]=n,e[10]=r,e[11]=f):f=e[11];let x;e[12]!==l||e[13]!==n||e[14]!==r?(x=(0,s.jsx)(qt,{value:"ai-models",children:(0,s.jsx)(f0,{form:n,config:l,onSubmit:r})}),e[12]=l,e[13]=n,e[14]=r,e[15]=x):x=e[15];let y;e[16]!==n||e[17]!==r?(y=!a&&(0,s.jsx)(qt,{value:"mcp",children:(0,s.jsx)(l0,{form:n,onSubmit:r})}),e[16]=n,e[17]=r,e[18]=y):y=e[18];let j;return e[19]!==o||e[20]!==d||e[21]!==m||e[22]!==f||e[23]!==x||e[24]!==y?(j=(0,s.jsxs)(Bl,{value:o,onValueChange:d,className:"flex-1",children:[u,m,f,x,y]}),e[19]=o,e[20]=d,e[21]=m,e[22]=f,e[23]=x,e[24]=y,e[25]=j):j=e[25],j};function y0(t){return(0,s.jsx)("option",{value:t,children:t},t)}function v0(t){return(0,s.jsx)("option",{value:t,children:t},t)}function b0(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{className:"font-normal",children:"AI Edit Tooltip"}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"inline-ai-checkbox",checked:e.value===!0,onCheckedChange:e.onChange})})]}),(0,s.jsx)(W,{children:'Enable "Edit with AI" tooltip when selecting code.'})]})}function j0(t){return(0,s.jsx)(kn,{value:t,children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(He,{provider:t,className:"h-4 w-4"}),(0,s.jsx)("span",{children:un.startCase(t)})]})},t)}function k0(t){return(0,s.jsx)(kn,{value:t,children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(He,{provider:t,className:"h-4 w-4"}),(0,s.jsx)("span",{children:on(t)})]})},t)}var C0=Pe(),w0=["auto","true","false"];const N0=t=>{let e=(0,C0.c)(47),{form:n,config:l,onSubmit:r}=t,i;e[0]!==l||e[1]!==n.control?(i=(T,N)=>(0,s.jsx)(B,{control:n.control,name:T,render:P=>{let{field:K}=P,k=M=>{let b=M.target.value;K.onChange(b==="true"?!0:b==="false"?!1:b)};return(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{className:"text-sm font-normal w-16",children:N}),(0,s.jsx)($,{children:(0,s.jsx)(Be,{"data-testid":"auto-discover-schemas-select",onChange:k,value:K.value===void 0?"auto":K.value.toString(),disabled:K.disabled,className:"w-[100px]",children:w0.map(S0)})}),(0,s.jsx)(O,{userConfig:l,name:T})]})}}),e[0]=l,e[1]=n.control,e[2]=i):i=e[2];let a=i,o;e[3]===l?o=e[4]:(o=T=>{let{field:N}=T;return(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Dataframe viewer"}),(0,s.jsx)($,{children:(0,s.jsx)(Be,{"data-testid":"display-dataframes-select",onChange:P=>N.onChange(P.target.value),value:N.value,disabled:N.disabled,className:"inline-flex mr-2",children:["rich","plain"].map(I0)})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:l,name:"display.dataframes"})]}),(0,s.jsx)(W,{children:"Whether to use marimo's rich dataframe viewer or a plain HTML table. This requires restarting your notebook to take effect."})]})},e[3]=l,e[4]=o);let c;e[5]!==n.control||e[6]!==o?(c=(0,s.jsx)(B,{control:n.control,name:"display.dataframes",render:o}),e[5]=n.control,e[6]=o,e[7]=c):c=e[7];let d;e[8]!==l||e[9]!==n||e[10]!==r?(d=T=>{let{field:N}=T;return(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Default table page size"}),(0,s.jsx)($,{children:(0,s.jsx)(wt,{"aria-label":"Default table page size","data-testid":"default-table-page-size-input",className:"m-0 w-24",...N,value:N.value,minValue:1,step:1,onChange:P=>{N.onChange(P),Number.isNaN(P)||r(n.getValues())}})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:l,name:"display.default_table_page_size"})]}),(0,s.jsx)(W,{children:"The default number of rows displayed in dataframes and SQL results."})]})},e[8]=l,e[9]=n,e[10]=r,e[11]=d):d=e[11];let u;e[12]!==n.control||e[13]!==d?(u=(0,s.jsx)(B,{control:n.control,name:"display.default_table_page_size",render:d}),e[12]=n.control,e[13]=d,e[14]=u):u=e[14];let m;e[15]!==l||e[16]!==n||e[17]!==r?(m=T=>{let{field:N}=T;return(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Default table max columns"}),(0,s.jsx)($,{children:(0,s.jsx)(wt,{"aria-label":"Default table max columns","data-testid":"default-table-max-columns-input",className:"m-0 w-24",...N,value:N.value,minValue:1,step:1,onChange:P=>{N.onChange(P),Number.isNaN(P)||r(n.getValues())}})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:l,name:"display.default_table_max_columns"})]}),(0,s.jsx)(W,{children:"The default maximum number of columns displayed in dataframes and SQL results."})]})},e[15]=l,e[16]=n,e[17]=r,e[18]=m):m=e[18];let f;e[19]!==n.control||e[20]!==m?(f=(0,s.jsx)(B,{control:n.control,name:"display.default_table_max_columns",render:m}),e[19]=n.control,e[20]=m,e[21]=f):f=e[21];let x;e[22]===Symbol.for("react.memo_cache_sentinel")?(x=(0,s.jsx)("div",{className:"text-sm text-foreground",children:"Database Schema Discovery"}),e[22]=x):x=e[22];let y,j;e[23]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsx)("br",{}),y=(0,s.jsx)("span",{className:"font-semibold",children:"Can be expensive for large databases."}),e[23]=y,e[24]=j):(y=e[23],j=e[24]);let v;e[25]===Symbol.for("react.memo_cache_sentinel")?(v=(0,s.jsxs)("div",{className:"text-sm text-muted-foreground mb-2",children:["Whether database schemas, tables, and columns are automatically discovered.",j,y," ","Use 'auto' to determine introspection based on the"," ",(0,s.jsx)("a",{className:"text-link hover:underline",rel:"noopener noreferrer",target:"_blank",href:"https://docs.marimo.io/guides/working_with_data/sql/?h=database#database-schema-and-table-auto-discovery",children:"database"}),"."]}),e[25]=v):v=e[25];let S;e[26]===a?S=e[27]:(S=(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[x,v,a("datasources.auto_discover_schemas","Schemas"),a("datasources.auto_discover_tables","Tables"),a("datasources.auto_discover_columns","Columns")]}),e[26]=a,e[27]=S);let p;e[28]===l?p=e[29]:(p=T=>{let{field:N}=T;return(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"SQL Linter"}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"sql-linter-checkbox",checked:N.value,onCheckedChange:N.onChange})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:l,name:"diagnostics.sql_linter"})]}),(0,s.jsx)(W,{children:"Better linting and autocompletions for SQL cells."})]})},e[28]=l,e[29]=p);let g;e[30]!==n.control||e[31]!==p?(g=(0,s.jsx)(B,{control:n.control,name:"diagnostics.sql_linter",render:p}),e[30]=n.control,e[31]=p,e[32]=g):g=e[32];let C;e[33]===l?C=e[34]:(C=T=>{let{field:N}=T;return(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Default SQL output"}),(0,s.jsx)($,{children:(0,s.jsx)(Be,{"data-testid":"user-config-sql-output-select",onChange:P=>N.onChange(P.target.value),value:N.value,disabled:N.disabled,className:"inline-flex mr-2",children:Ri.map(K0)})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:l,name:"runtime.default_sql_output"})]}),(0,s.jsx)(W,{children:'The default SQL output type for new notebooks; overridden by "sql_output" in the application config.'})]})},e[33]=l,e[34]=C);let I;e[35]!==n.control||e[36]!==C?(I=(0,s.jsx)(B,{control:n.control,name:"runtime.default_sql_output",render:C}),e[35]=n.control,e[36]=C,e[37]=I):I=e[37];let D;e[38]!==S||e[39]!==g||e[40]!==I?(D=(0,s.jsxs)(Ge,{title:"SQL",children:[S,g,I]}),e[38]=S,e[39]=g,e[40]=I,e[41]=D):D=e[41];let _;return e[42]!==D||e[43]!==c||e[44]!==u||e[45]!==f?(_=(0,s.jsxs)(s.Fragment,{children:[c,u,f,D]}),e[42]=D,e[43]=c,e[44]=u,e[45]=f,e[46]=_):_=e[46],_};function S0(t){return(0,s.jsx)("option",{value:t,children:t},t)}function I0(t){return(0,s.jsx)("option",{value:t,children:t},t)}function K0(t){return(0,s.jsx)("option",{value:t.value,children:t.label},t.value)}var M0=Pe(),Oi=[{id:"sql",packagesRequired:[{name:"duckdb"},{name:"sqlglot"}],additionalPackageInstalls:[{name:"polars[pyarrow]"}],description:"SQL cells"},{id:"charts",packagesRequired:[{name:"altair"}],additionalPackageInstalls:[],description:"Charts in datasource viewer"},{id:"fast-charts",packagesRequired:[{name:"vegafusion"},{name:"vl-convert-python"}],additionalPackageInstalls:[],description:"Fast server-side charts"},{id:"formatting",packagesRequired:[yt()?{name:"black"}:{name:"ruff"}],additionalPackageInstalls:[],description:"Formatting"},{id:"ai",packagesRequired:[{name:"openai"}],additionalPackageInstalls:[],description:"AI features"},{id:"mcp",packagesRequired:[{name:"mcp",minVersion:"1"}],additionalPackageInstalls:[{name:"pydantic",minVersion:"2"}],description:"Connect to MCP servers"},{id:"ipy-export",packagesRequired:[{name:"nbformat"}],additionalPackageInstalls:[],description:"Export as IPYNB"},{id:"testing",packagesRequired:[{name:"pytest"}],additionalPackageInstalls:[],description:"Autorun unit tests"}];yt()||Oi.push({id:"lsp",packagesRequired:[{name:"python-lsp-server"},{name:"websockets"}],additionalPackageInstalls:[{name:"python-lsp-ruff"}],description:"Language Server Protocol*"});const E0=()=>{let t=(0,M0.c)(21),[e]=fl(),n=e.package_management.manager,{getPackageList:l}=kt(),r;t[0]===l?r=t[1]:(r=()=>l(),t[0]=l,t[1]=r);let i;t[2]===n?i=t[3]:(i=[n],t[2]=n,t[3]=i);let{data:a,error:o,refetch:c,isPending:d}=Hl(r,i);if(d){let g;return t[4]===Symbol.for("react.memo_cache_sentinel")?(g=(0,s.jsx)(Nl,{size:"medium",centered:!0}),t[4]=g):g=t[4],g}if(o){let g;return t[5]===o?g=t[6]:(g=(0,s.jsx)(sc,{error:o}),t[5]=o,t[6]=g),g}let u;if(t[7]!==(a==null?void 0:a.packages)){let g=(a==null?void 0:a.packages)||[];u=new Set(g.map(_0)),t[7]=a==null?void 0:a.packages,t[8]=u}else u=t[8];let m=u,f;t[9]===Symbol.for("react.memo_cache_sentinel")?(f=(0,s.jsx)(jt,{children:"Optional Features"}),t[9]=f):f=t[9];let x;t[10]===Symbol.for("react.memo_cache_sentinel")?(x=(0,s.jsxs)("p",{className:"text-sm text-muted-foreground",children:["marimo is lightweight, with few dependencies, to maximize compatibility with your own environments.",(0,s.jsx)("br",{}),"To unlock additional features in the marimo editor, you can install these optional dependencies:"]}),t[10]=x):x=t[10];let y;t[11]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(rc,{children:(0,s.jsxs)(Gl,{children:[(0,s.jsx)(Yt,{children:"Dependency"}),(0,s.jsx)(Yt,{children:"Feature"}),(0,s.jsx)(Yt,{children:"Status"}),(0,s.jsx)(Yt,{})]})}),t[11]=y):y=t[11];let j;t[12]!==m||t[13]!==n||t[14]!==c?(j=Oi.map(g=>{let C=g.packagesRequired.every(D=>m.has(D.name.split("[")[0])),I=g.packagesRequired.map(P0).join(", ");return(0,s.jsxs)(Gl,{className:"text-sm",children:[(0,s.jsx)(Nn,{children:g.description}),(0,s.jsx)(Nn,{className:"font-mono text-xs",children:I}),(0,s.jsx)(Nn,{children:C?(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)(Ul,{className:"h-4 w-4 text-(--grass-10) mr-2"}),(0,s.jsx)("span",{children:"Installed"})]}):(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)(ca,{className:"h-4 w-4 text-(--red-10) mr-2"}),(0,s.jsx)(D0,{packageSpecs:[...g.packagesRequired,...g.additionalPackageInstalls],packageManager:n,onSuccess:c})]})})]},g.id)}),t[12]=m,t[13]=n,t[14]=c,t[15]=j):j=t[15];let v;t[16]===j?v=t[17]:(v=(0,s.jsxs)(ac,{children:[y,(0,s.jsx)(ic,{children:j})]}),t[16]=j,t[17]=v);let S;t[18]===Symbol.for("react.memo_cache_sentinel")?(S=(0,s.jsx)("p",{className:"text-muted-foreground mt-2",children:"*Requires server restart"}),t[18]=S):S=t[18];let p;return t[19]===v?p=t[20]:(p=(0,s.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden gap-2",children:[f,x,v,S]}),t[19]=v,t[20]=p),p};var D0=({packageSpecs:t,packageManager:e,onSuccess:n})=>{let[l,r]=h.useState(!1),{addPackage:i}=kt();return(0,s.jsxs)(ue,{size:"xs",variant:"outline",className:$e("text-xs",l&&"opacity-50 cursor-not-allowed"),onClick:async()=>{try{r(!0);let a=await i({package:t.map(o=>o.minVersion?`${o.name}>=${o.minVersion}`:o.name).join(" "),group:"dev"});a.success?(n(),We({title:"Package installed",description:(0,s.jsxs)("span",{children:["The packages"," ",(0,s.jsx)(he,{className:"inline",children:t.map(o=>o.name).join(", ")})," ","have been added to your environment."]})})):We({title:"Failed to install package",description:a.error,variant:"danger"})}finally{r(!1)}},disabled:l,children:[l?(0,s.jsx)(Nl,{size:"small",className:"mr-2 h-3 w-3"}):(0,s.jsx)(va,{className:"mr-2 h-3 w-3"}),"Install with ",e]})};function _0(t){return t.name}function P0(t){return t.name}function tl(t,e){let n={};for(let l of Object.keys(e)){let r=e[l],i=t[l];if(i!==void 0){if(r===!0)n[l]=i;else if(typeof r=="object"&&r){let a=tl(i,r);Object.keys(a).length>0&&(n[l]=a)}}}return n}var Hi=(t,e)=>{var n,l,r,i,a;e.ai={...e.ai,models:{...(n=e.ai)==null?void 0:n.models,displayed_models:((r=(l=t.ai)==null?void 0:l.models)==null?void 0:r.displayed_models)??[],custom_models:((a=(i=t.ai)==null?void 0:i.models)==null?void 0:a.custom_models)??[]}}},A0=[["ai.models.displayed_models",Hi],["ai.models.custom_models",Hi]],T0=new Map(A0),F0=(t,e)=>{if(!t)return!1;let n=t;for(let l of e.split(".")){if(typeof n!="object"||!n)return!1;n=n[l]}return n===!0};const R0=t=>{let{values:e,dirtyValues:n,touchedFields:l}=t;for(let[r,i]of T0)F0(l,r)&&i(e,n)};var Gi=[{id:"editor",label:"Editor",Icon:Ml,className:"bg-(--blue-4)"},{id:"display",label:"Display",Icon:xc,className:"bg-(--grass-4)"},{id:"packageManagementAndData",label:"Packages & Data",Icon:la,className:"bg-(--red-4)"},{id:"runtime",label:"Runtime",Icon:Wl,className:"bg-(--amber-4)"},{id:"ai",label:"AI",Icon:In,className:"bg-[linear-gradient(45deg,var(--purple-5),var(--cyan-5))]"},{id:"optionalDeps",label:"Optional Dependencies",Icon:ql,className:"bg-(--orange-4)"},{id:"labs",label:"Labs",Icon:gc,className:"bg-(--slate-4)"}];const Ui=mt(Gi[0].id);var z0=100,nl="__system__";const B0=()=>{let[t,e]=pl(),n=(0,h.useRef)(null),l=zt(Qn),[r,i]=xt(Ui),a=ht(ga);ht(Mo).mode==="home"&&(a={terminal:!0,pylsp:!0,ty:!0,basedpyright:!0,pyrefly:!0});let o=ht(Ra),{locale:c}=It(),{saveUserConfig:d}=kt(),u=Co({resolver:yo(Sa),defaultValues:t}),m=(p,g)=>{let{chatModel:C,editModel:I}=mu(p);return(C||I)&&(g={...g,models:{...g==null?void 0:g.models,...C&&{chat_model:C},...I&&{edit_model:I}}},C&&u.setValue("ai.models.chat_model",C),I&&u.setValue("ai.models.edit_model",I)),g},f=Qo(async p=>{let g=tl(p,u.formState.dirtyFields);R0({values:p,dirtyValues:g,touchedFields:u.formState.touchedFields}),Object.keys(g).length!==0&&(g.ai&&(g.ai=m(p.ai,g.ai)),await d({config:g}).then(()=>{e(C=>({...C,...p}))}))},z0),x=yt(),y=(0,h.useId)(),j=(0,h.useId)(),v=()=>{switch(r){case"editor":return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(Ge,{title:"Autosave",children:[(0,s.jsx)(B,{control:u.control,name:"save.autosave",render:({field:p})=>(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{className:"font-normal",children:"Autosave enabled"}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"autosave-checkbox",checked:p.value==="after_delay",disabled:p.disabled,onCheckedChange:g=>{p.onChange(g?"after_delay":"off")}})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"save.autosave"})]})}),(0,s.jsx)(B,{control:u.control,name:"save.autosave_delay",render:({field:p})=>(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Autosave delay (seconds)"}),(0,s.jsx)($,{children:(0,s.jsx)(wt,{"aria-label":"Autosave delay","data-testid":"autosave-delay-input",className:"m-0 w-24",isDisabled:u.getValues("save.autosave")!=="after_delay",...p,value:p.value/1e3,minValue:1,onChange:g=>{p.onChange(g*1e3),Number.isNaN(g)||f(u.getValues())}})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"save.autosave_delay"})]})}),(0,s.jsx)(B,{control:u.control,name:"runtime.default_auto_download",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Save cell outputs as"}),(0,s.jsx)($,{children:(0,s.jsxs)("div",{className:"flex gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(me,{id:y,checked:Array.isArray(p.value)&&p.value.includes("html"),onCheckedChange:()=>{let g=Array.isArray(p.value)?p.value:[];p.onChange(jl(g,"html"))}}),(0,s.jsx)(z,{htmlFor:y,children:"HTML"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(me,{id:j,checked:Array.isArray(p.value)&&p.value.includes("ipynb"),onCheckedChange:()=>{let g=Array.isArray(p.value)?p.value:[];p.onChange(jl(g,"ipynb"))}}),(0,s.jsx)(z,{htmlFor:j,children:"IPYNB"})]})]})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"runtime.default_auto_download"})]}),(0,s.jsxs)(W,{children:["When enabled, marimo will periodically save notebooks in your selected formats (HTML, IPYNB) to a folder named"," ",(0,s.jsx)(he,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})})]}),(0,s.jsxs)(Ge,{title:"Formatting",children:[(0,s.jsx)(B,{control:u.control,name:"save.format_on_save",render:({field:p})=>(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{className:"font-normal",children:"Format on save"}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"format-on-save-checkbox",checked:p.value,disabled:p.disabled,onCheckedChange:g=>{p.onChange(g)}})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"save.format_on_save"})]})}),(0,s.jsx)(B,{control:u.control,name:"formatting.line_length",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Line length"}),(0,s.jsx)($,{children:(0,s.jsx)(wt,{"aria-label":"Line length","data-testid":"line-length-input",className:"m-0 w-24",...p,value:p.value,minValue:1,maxValue:1e3,onChange:g=>{p.onChange(g),Number.isNaN(g)||f(u.getValues())}})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"formatting.line_length"})]}),(0,s.jsx)(W,{children:"Maximum line length when formatting code."})]})})]}),(0,s.jsxs)(Ge,{title:"Autocomplete",children:[(0,s.jsx)(B,{control:u.control,name:"completion.activate_on_typing",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{className:"font-normal",children:"Autocomplete"}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"autocomplete-checkbox",checked:p.value,disabled:p.disabled,onCheckedChange:g=>{p.onChange(!!g)}})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"completion.activate_on_typing"})]}),(0,s.jsx)(W,{children:"When unchecked, code completion is still available through a hotkey."}),(0,s.jsx)("div",{children:(0,s.jsx)(ue,{variant:"link",className:"mb-0 px-0",type:"button",onClick:g=>{g.preventDefault(),g.stopPropagation(),i("ai")},children:"Edit AI autocomplete"})})]})}),(0,s.jsx)(B,{control:u.control,name:"completion.signature_hint_on_typing",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{className:"font-normal",children:"Signature hints"}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"signature-hint-on-type-checkbox",checked:p.value??!1,disabled:p.disabled,onCheckedChange:g=>{p.onChange(!!g)}})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"completion.signature_hint_on_typing"})]}),(0,s.jsx)(W,{children:"Display signature hints while typing within function calls."})]})})]}),(0,s.jsxs)(Ge,{title:"Language Servers",children:[(0,s.jsxs)(W,{children:["See the"," ",(0,s.jsx)(pe,{href:"https://docs.marimo.io/guides/editor_features/language_server/",children:"docs"})," ","for more information about language server support."]}),(0,s.jsxs)(W,{children:[(0,s.jsx)("strong",{children:"Note:"})," When using multiple language servers, different features may conflict."]}),(0,s.jsx)(B,{control:u.control,name:"language_servers.pylsp.enabled",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsxs)(z,{children:[(0,s.jsx)(Nt,{variant:"defaultOutline",className:"mr-2",children:"Beta"}),"Python Language Server (",(0,s.jsx)(pe,{href:"https://github.com/python-lsp/python-lsp-server",children:"docs"}),")"]}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"pylsp-checkbox",checked:p.value,disabled:p.disabled,onCheckedChange:g=>{p.onChange(!!g)}})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"language_servers.pylsp.enabled"})]}),p.value&&!a.pylsp&&(0,s.jsxs)(Mt,{kind:"danger",children:["The Python Language Server is not available in your current environment. Please install"," ",(0,s.jsx)(he,{className:"inline",children:"python-lsp-server"})," in your environment."]})]})}),(0,s.jsx)(B,{control:u.control,name:"language_servers.basedpyright.enabled",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsxs)(z,{children:[(0,s.jsx)(Nt,{variant:"defaultOutline",className:"mr-2",children:"Beta"}),"basedpyright (",(0,s.jsx)(pe,{href:"https://github.com/DetachHead/basedpyright",children:"docs"}),")"]}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"basedpyright-checkbox",checked:p.value,disabled:p.disabled,onCheckedChange:g=>{p.onChange(!!g)}})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"language_servers.basedpyright.enabled"})]}),p.value&&!a.basedpyright&&(0,s.jsxs)(Mt,{kind:"danger",children:["basedpyright is not available in your current environment. Please install"," ",(0,s.jsx)(he,{className:"inline",children:"basedpyright"})," in your environment."]})]})}),(0,s.jsx)(B,{control:u.control,name:"language_servers.pyrefly.enabled",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsxs)(z,{children:[(0,s.jsx)(Nt,{variant:"defaultOutline",className:"mr-2",children:"Beta"}),"Pyrefly (",(0,s.jsx)(pe,{href:"https://github.com/facebook/pyrefly",children:"docs"}),")"]}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"pyrefly-checkbox",checked:p.value,disabled:p.disabled,onCheckedChange:g=>{p.onChange(!!g)}})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"language_servers.pyrefly.enabled"})]}),p.value&&!a.pyrefly&&(0,s.jsxs)(Mt,{kind:"danger",children:["Pyrefly is not available in your current environment. Please install ",(0,s.jsx)(he,{className:"inline",children:"pyrefly"})," in your environment."]})]})}),(0,s.jsx)(B,{control:u.control,name:"language_servers.ty.enabled",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsxs)(z,{children:[(0,s.jsx)(Nt,{variant:"defaultOutline",className:"mr-2",children:"Beta"}),"ty (",(0,s.jsx)(pe,{href:"https://github.com/astral-sh/ty",children:"docs"}),")"]}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"ty-checkbox",checked:p.value,disabled:p.disabled,onCheckedChange:g=>{p.onChange(!!g)}})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"language_servers.ty.enabled"})]}),p.value&&!a.ty&&(0,s.jsxs)(Mt,{kind:"danger",children:["ty is not available in your current environment. Please install ",(0,s.jsx)(he,{className:"inline",children:"ty"})," in your environment."]})]})}),(0,s.jsx)(B,{control:u.control,name:"diagnostics.enabled",render:({field:p})=>(0,s.jsxs)(L,{className:V,children:[(0,s.jsxs)(z,{children:[(0,s.jsx)(Nt,{variant:"defaultOutline",className:"mr-2",children:"Beta"}),"Diagnostics"]}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"diagnostics-checkbox",checked:p.value,disabled:p.disabled,onCheckedChange:g=>{p.onChange(!!g)}})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"diagnostics.enabled"})]})})]}),(0,s.jsxs)(Ge,{title:"Keymap",children:[(0,s.jsx)(B,{control:u.control,name:"keymap.preset",render:({field:p})=>(0,s.jsx)("div",{className:"flex flex-col space-y-1",children:(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Keymap"}),(0,s.jsx)($,{children:(0,s.jsx)(Be,{"data-testid":"keymap-select",onChange:g=>p.onChange(g.target.value),value:p.value,disabled:p.disabled,className:"inline-flex mr-2",children:su.map(g=>(0,s.jsx)("option",{value:g,children:g},g))})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"keymap.preset"})]})})}),(0,s.jsx)(B,{control:u.control,name:"keymap.destructive_delete",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{className:"font-normal",children:"Destructive delete"}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"destructive-delete-checkbox",checked:p.value,disabled:p.disabled,onCheckedChange:g=>{p.onChange(!!g)}})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"keymap.destructive_delete"})]}),(0,s.jsxs)(W,{className:"flex items-center gap-1",children:["Allow deleting non-empty cells",(0,s.jsx)(nt,{content:(0,s.jsxs)("div",{className:"max-w-xs",children:[(0,s.jsx)("strong",{children:"Use with caution:"})," Deleting cells with code can lose work and computed results since variables are removed from memory."]}),children:(0,s.jsx)(jn,{className:"w-3 h-3 text-(--amber-11)"})})]}),(0,s.jsx)("div",{children:(0,s.jsx)(ue,{variant:"link",className:"mb-0 px-0",type:"button",onClick:g=>{g.preventDefault(),g.stopPropagation(),l(!0)},children:"Edit Keyboard Shortcuts"})})]})})]})]});case"display":return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(Ge,{title:"Display",children:[(0,s.jsx)(B,{control:u.control,name:"display.default_width",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Default width"}),(0,s.jsx)($,{children:(0,s.jsx)(Be,{"data-testid":"user-config-width-select",onChange:g=>p.onChange(g.target.value),value:p.value,disabled:p.disabled,className:"inline-flex mr-2",children:bi().map(g=>(0,s.jsx)("option",{value:g,children:g},g))})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"display.default_width"})]}),(0,s.jsx)(W,{children:'The default app width for new notebooks; overridden by "width" in the application config.'})]})}),(0,s.jsx)(B,{control:u.control,name:"display.theme",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Theme"}),(0,s.jsx)($,{children:(0,s.jsx)(Be,{"data-testid":"theme-select",onChange:g=>p.onChange(g.target.value),value:p.value,disabled:p.disabled,className:"inline-flex mr-2",children:wo.map(g=>(0,s.jsx)("option",{value:g,children:g},g))})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"display.theme"})]}),(0,s.jsx)(W,{children:"This theme will be applied to the user's configuration; it does not affect theme when sharing the notebook."})]})}),(0,s.jsx)(B,{control:u.control,name:"display.code_editor_font_size",render:({field:p})=>(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Code editor font size (px)"}),(0,s.jsx)($,{children:(0,s.jsx)("span",{className:"inline-flex mr-2",children:(0,s.jsx)(wt,{"aria-label":"Code editor font size","data-testid":"code-editor-font-size-input",className:"m-0 w-24",...p,value:p.value,minValue:8,maxValue:32,onChange:g=>{p.onChange(g),f(u.getValues())}})})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"display.code_editor_font_size"})]})}),(0,s.jsx)(B,{control:u.control,name:"display.locale",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Locale"}),(0,s.jsx)($,{children:(0,s.jsxs)(Be,{"data-testid":"locale-select",onChange:g=>{g.target.value===nl?p.onChange(void 0):p.onChange(g.target.value)},value:p.value||nl,disabled:p.disabled,className:"inline-flex mr-2",children:[(0,s.jsx)("option",{value:nl,children:"System"}),navigator.languages.map(g=>(0,s.jsx)("option",{value:g,children:g},g))]})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"display.locale"})]}),(0,s.jsxs)(W,{children:["The locale to use for the notebook. If your desired locale is not listed, you can change it manually via"," ",(0,s.jsx)(he,{className:"inline",children:"marimo config show"}),"."]})]})}),(0,s.jsx)(B,{control:u.control,name:"display.reference_highlighting",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Reference highlighting"}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"reference-highlighting-checkbox",checked:p.value,onCheckedChange:p.onChange})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"display.reference_highlighting"})]}),(0,s.jsx)(W,{children:"Visually emphasizes variables in a cell that are defined elsewhere in the notebook."})]})})]}),(0,s.jsx)(Ge,{title:"Outputs",children:(0,s.jsx)(B,{control:u.control,name:"display.cell_output",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Cell output area"}),(0,s.jsx)($,{children:(0,s.jsx)(Be,{"data-testid":"cell-output-select",onChange:g=>p.onChange(g.target.value),value:p.value,disabled:p.disabled,className:"inline-flex mr-2",children:["above","below"].map(g=>(0,s.jsx)("option",{value:g,children:g},g))})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"display.cell_output"})]}),(0,s.jsx)(W,{children:"Where to display cell's output."})]})})})]});case"packageManagementAndData":return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(Ge,{title:"Package Management",children:(0,s.jsx)(B,{control:u.control,disabled:x,name:"package_management.manager",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col space-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{children:"Manager"}),(0,s.jsx)($,{children:(0,s.jsx)(Be,{"data-testid":"package-manager-select",onChange:g=>p.onChange(g.target.value),value:p.value,disabled:p.disabled,className:"inline-flex mr-2",children:Ia.map(g=>(0,s.jsx)("option",{value:g,children:g},g))})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"package_management.manager"})]}),(0,s.jsxs)(W,{children:["When marimo comes across a module that is not installed, you will be prompted to install it using your preferred package manager. Learn more in the"," ",(0,s.jsx)(pe,{href:"https://docs.marimo.io/guides/editor_features/package_management.html",children:"docs"}),".",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Running marimo in a"," ",(0,s.jsx)(pe,{href:"https://docs.marimo.io/guides/package_management/inlining_dependencies.html",children:"sandboxed environment"})," ","is only supported by ",(0,s.jsx)(he,{className:"inline",children:"uv"})]})]})})}),(0,s.jsx)(Ge,{title:"Data",children:(0,s.jsx)(N0,{form:u,config:t,onSubmit:f})})]});case"runtime":return(0,s.jsxs)(Ge,{title:"Runtime configuration",children:[(0,s.jsx)(B,{control:u.control,name:"runtime.auto_instantiate",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{className:"font-normal",children:"Autorun on startup"}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"auto-instantiate-checkbox",disabled:p.disabled,checked:p.value,onCheckedChange:p.onChange})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"runtime.auto_instantiate"})]}),(0,s.jsx)(W,{children:"Whether to automatically run all cells on startup."})]})}),(0,s.jsx)(B,{control:u.control,name:"runtime.on_cell_change",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{className:"font-normal",children:"On cell change"}),(0,s.jsx)($,{children:(0,s.jsx)(Be,{"data-testid":"on-cell-change-select",onChange:g=>p.onChange(g.target.value),value:p.value,className:"inline-flex mr-2",children:["lazy","autorun"].map(g=>(0,s.jsx)("option",{value:g,children:g},g))})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"runtime.on_cell_change"})]}),(0,s.jsx)(W,{children:`Whether marimo should automatically run cells or just mark them as stale. If "autorun", marimo will automatically run affected cells when a cell is run or a UI element is interacted with; if "lazy", marimo will mark affected cells as stale but won't re-run them.`})]})}),(0,s.jsx)(B,{control:u.control,name:"runtime.auto_reload",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{className:"font-normal",children:"On module change"}),(0,s.jsx)($,{children:(0,s.jsx)(Be,{"data-testid":"auto-reload-select",onChange:g=>p.onChange(g.target.value),value:p.value,disabled:x,className:"inline-flex mr-2",children:["off","lazy","autorun"].map(g=>(0,s.jsx)("option",{value:g,children:g},g))})}),(0,s.jsx)(H,{}),(0,s.jsx)(O,{userConfig:t,name:"runtime.auto_reload"})]}),(0,s.jsx)(W,{children:'Whether marimo should automatically reload modules before executing cells. If "lazy", marimo will mark cells affected by module modifications as stale; if "autorun", affected cells will be automatically re-run.'})]})}),(0,s.jsx)(B,{control:u.control,name:"runtime.reactive_tests",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{className:"font-normal",children:"Autorun Unit Tests"}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"reactive-test-checkbox",checked:p.value,onCheckedChange:p.onChange})})]}),(0,s.jsx)(O,{userConfig:t,name:"runtime.reactive_tests"}),(0,s.jsx)(H,{}),(0,s.jsx)(W,{children:"Enable reactive pytest tests in notebook. When a cell contains only test functions (test_*) and classes (Test_*), marimo will automatically run them with pytest (requires notebook restart)."})," "]})}),(0,s.jsxs)(W,{children:["Learn more in the"," ",(0,s.jsx)(pe,{href:"https://docs.marimo.io/guides/reactivity/#configuring-how-marimo-runs-cells",children:"docs"}),"."]})]});case"ai":return(0,s.jsx)(x0,{form:u,config:t,onSubmit:f});case"optionalDeps":return(0,s.jsx)(E0,{});case"labs":return(0,s.jsxs)(Ge,{title:"Experimental Features",children:[(0,s.jsx)("p",{className:"text-sm text-muted-secondary mb-4",children:"\u26A0\uFE0F These features are experimental and may require restarting your notebook to take effect."}),(0,s.jsx)(B,{control:u.control,name:"experimental.rtc_v2",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{className:"font-normal",children:"Real-Time Collaboration"}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"rtc-checkbox",checked:p.value===!0,onCheckedChange:p.onChange})})]}),(0,s.jsx)(W,{children:"Enable experimental real-time collaboration. This change requires a page refresh to take effect."})]})}),(0,s.jsx)(B,{control:u.control,name:"experimental.external_agents",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{className:"font-normal",children:"External Agents"}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"external-agents-checkbox",checked:p.value===!0,onCheckedChange:p.onChange})})]}),(0,s.jsx)(O,{userConfig:t,name:"experimental.external_agents"}),(0,s.jsxs)(W,{children:["Enable experimental external agents such as Claude Code and Gemini CLI. Learn more in the"," ",(0,s.jsx)(pe,{href:"https://docs.marimo.io/guides/editor_features/agents/",children:"docs"}),"."]})]})}),(0,s.jsx)(B,{control:u.control,name:"experimental.storage_inspector",render:({field:p})=>(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(L,{className:V,children:[(0,s.jsx)(z,{className:"font-normal",children:"Storage Inspector"}),(0,s.jsx)($,{children:(0,s.jsx)(me,{"data-testid":"storage-inspector-checkbox",checked:p.value===!0,onCheckedChange:p.onChange})})]}),(0,s.jsx)(O,{userConfig:t,name:"experimental.storage_inspector"}),(0,s.jsx)(W,{children:"Enable experimental storage inspector."})]})})]})}},S=(0,s.jsxs)("p",{className:"text-muted-secondary",children:["User configuration is stored in ",(0,s.jsx)(he,{className:"inline",children:"marimo.toml"}),(0,s.jsx)("br",{}),"Run ",(0,s.jsx)(he,{className:"inline",children:"marimo config show"})," in your terminal to show your current configuration and file location."]});return(0,s.jsx)(jo,{...u,children:(0,s.jsxs)("form",{ref:n,onChange:u.handleSubmit(f),className:"flex text-pretty overflow-hidden",children:[(0,s.jsx)(Bl,{value:r,onValueChange:p=>i(p),orientation:"vertical",className:"w-1/3 border-r h-full overflow-auto p-3",children:(0,s.jsxs)(zl,{className:"self-start max-h-none flex flex-col gap-2 shrink-0 bg-background flex-1 min-h-full",children:[Gi.map(p=>(0,s.jsx)(Kt,{value:p.id,className:"w-full text-left p-2 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground justify-start",children:(0,s.jsxs)("div",{className:"flex gap-4 items-center text-lg overflow-hidden",children:[(0,s.jsx)("span",{className:$e(p.className,"w-8 h-8 rounded flex items-center justify-center text-muted-foreground shrink-0"),children:(0,s.jsx)(p.Icon,{className:"w-4 h-4"})}),(0,s.jsx)("span",{className:"truncate",children:p.label})]})},p.id)),(0,s.jsxs)("div",{className:"p-2 text-xs text-muted-foreground self-start flex flex-col gap-1",children:[(0,s.jsxs)("span",{children:["Version: ",o]}),(0,s.jsxs)("span",{children:["Locale: ",c]})]}),(0,s.jsx)("div",{className:"flex-1"}),!yt()&&S]})}),(0,s.jsx)("div",{className:"w-2/3 pl-6 gap-2 flex flex-col overflow-auto p-6",children:v()})]})})};var L0=Pe();const Wi=mt("ai-features"),qi=mt(!1);function ll(){let t=(0,L0.c)(4),e=zt(Ui),n=zt(qi),l=zt(Wi),r;return t[0]!==e||t[1]!==l||t[2]!==n?(r={handleClick:(i,a)=>{e(i),i==="ai"&&l(a??"ai-features"),n(!0)}},t[0]=e,t[1]=l,t[2]=n,t[3]=r):r=t[3],r}var an=Pe();const Yi=t=>{var R,U,q,w,G,Z,J,le,oe,se,re,A,ee,X,Q,te,ie,ce;let e=(0,an.c)(59),{value:n,placeholder:l,onSelect:r,triggerClassName:i,customDropdownContent:a,iconSize:o,showAddCustomModelDocs:c,forRole:d,displayIconOnly:u}=t,m=o===void 0?"medium":o,f=c===void 0?!1:c,x=u===void 0?!1:u,[y,j]=h.useState(!1),v=ht(_a),S=ht(Ma),{saveModelChange:p}=mi(),{handleClick:g}=ll(),C=S.copilot==="custom"?(R=v==null?void 0:v.models)==null?void 0:R.autocomplete_model:void 0,I,D,_,T,N,P,K,k,M;if(e[0]!==((U=v==null?void 0:v.models)==null?void 0:U.autocomplete_model)||e[1]!==((q=v==null?void 0:v.models)==null?void 0:q.chat_model)||e[2]!==((w=v==null?void 0:v.models)==null?void 0:w.custom_models)||e[3]!==((G=v==null?void 0:v.models)==null?void 0:G.displayed_models)||e[4]!==((Z=v==null?void 0:v.models)==null?void 0:Z.edit_model)||e[5]!==C||e[6]!==x||e[7]!==d||e[8]!==m||e[9]!==y||e[10]!==r||e[11]!==l||e[12]!==p||e[13]!==i||e[14]!==n){let ve=At.create({customModels:[...((J=v==null?void 0:v.models)==null?void 0:J.custom_models)??[],(le=v==null?void 0:v.models)==null?void 0:le.chat_model,C,(oe=v==null?void 0:v.models)==null?void 0:oe.edit_model].filter(Boolean),displayedModels:(se=v==null?void 0:v.models)==null?void 0:se.displayed_models}),ge=ve.getListModelsByProvider(),de=d==="autocomplete"?(re=v==null?void 0:v.models)==null?void 0:re.autocomplete_model:d==="chat"?(A=v==null?void 0:v.models)==null?void 0:A.chat_model:d==="edit"?(ee=v==null?void 0:v.models)==null?void 0:ee.edit_model:void 0,xe=n?Le.parse(n):de?Le.parse(de):void 0,Ke=m==="medium"?"h-4 w-4":"h-3 w-3",Ye=(De,_e)=>{let dt=ve.getModel(De.id);return(0,s.jsxs)("div",{className:"flex items-center gap-2 w-full px-2 py-1",children:[(0,s.jsx)(He,{provider:De.providerId,className:Ke}),(0,s.jsxs)("div",{className:"flex flex-col",children:[(0,s.jsx)("span",{children:(dt==null?void 0:dt.name)||De.shortModelId}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:De.id})]}),(0,s.jsx)("div",{className:"ml-auto flex gap-1",children:(0,s.jsx)(nt,{content:Fi(_e),children:(0,s.jsx)("span",{className:`text-xs px-1.5 py-0.5 rounded font-medium ${ln(_e)}`,children:_e},_e)})})]})},Ce;e[24]!==d||e[25]!==r||e[26]!==p?(Ce=De=>{r?r(De):p(De,d),j(!1)},e[24]=d,e[25]=r,e[26]=p,e[27]=Ce):Ce=e[27];let be=Ce;D=no,k=y,M=j;let Me=`flex items-center justify-between px-2 py-0.5 border rounded-md
|
|
5
|
-
hover:bg-accent hover:text-accent-foreground ${i}`,Ee=xe?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(He,{provider:xe.providerId,className:Ke}),x?null:(0,s.jsx)("span",{className:"truncate",children:Zn(xe.providerId)?xe.shortModelId:xe.id})]}):(0,s.jsx)("span",{className:"text-muted-foreground truncate",children:l}),ae;e[28]===Ee?ae=e[29]:(ae=(0,s.jsx)("div",{className:"flex items-center gap-2 truncate",children:Ee}),e[28]=Ee,e[29]=ae);let Ze=`${Ke} ml-1`,Re;e[30]===Ze?Re=e[31]:(Re=(0,s.jsx)(Ya,{className:Ze}),e[30]=Ze,e[31]=Re),e[32]!==Me||e[33]!==ae||e[34]!==Re?(_=(0,s.jsxs)(Ja,{className:Me,children:[ae,Re]}),e[32]=Me,e[33]=ae,e[34]=Re,e[35]=_):_=e[35],I=eo,T="w-[300px]",N=de&&d&&Ye(Le.parse(de),d),e[36]!==de||e[37]!==d?(P=de&&d&&(0,s.jsx)(Vt,{}),e[36]=de,e[37]=d,e[38]=P):P=e[38];let et;e[39]!==be||e[40]!==Ke?(et=De=>{let[_e,dt]=De;return(0,s.jsx)($0,{provider:_e,onSelect:be,models:dt,iconSizeClass:Ke},_e)},e[39]=be,e[40]=Ke,e[41]=et):et=e[41],K=ge.map(et),e[0]=(X=v==null?void 0:v.models)==null?void 0:X.autocomplete_model,e[1]=(Q=v==null?void 0:v.models)==null?void 0:Q.chat_model,e[2]=(te=v==null?void 0:v.models)==null?void 0:te.custom_models,e[3]=(ie=v==null?void 0:v.models)==null?void 0:ie.displayed_models,e[4]=(ce=v==null?void 0:v.models)==null?void 0:ce.edit_model,e[5]=C,e[6]=x,e[7]=d,e[8]=m,e[9]=y,e[10]=r,e[11]=l,e[12]=p,e[13]=i,e[14]=n,e[15]=I,e[16]=D,e[17]=_,e[18]=T,e[19]=N,e[20]=P,e[21]=K,e[22]=k,e[23]=M}else I=e[15],D=e[16],_=e[17],T=e[18],N=e[19],P=e[20],K=e[21],k=e[22],M=e[23];let b;e[42]!==g||e[43]!==f?(b=f&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(Vt,{}),(0,s.jsxs)(Xa,{className:"h-7 flex items-center gap-2",onClick:()=>g("ai","ai-models"),children:[(0,s.jsx)(Qa,{className:"h-3 w-3"}),(0,s.jsx)("span",{className:"cursor-pointer text-link",children:"Add custom model"})]})]}),e[42]=g,e[43]=f,e[44]=b):b=e[44];let E;e[45]!==I||e[46]!==a||e[47]!==b||e[48]!==T||e[49]!==N||e[50]!==P||e[51]!==K?(E=(0,s.jsxs)(I,{className:T,children:[N,P,K,a,b]}),e[45]=I,e[46]=a,e[47]=b,e[48]=T,e[49]=N,e[50]=P,e[51]=K,e[52]=E):E=e[52];let F;return e[53]!==D||e[54]!==_||e[55]!==E||e[56]!==k||e[57]!==M?(F=(0,s.jsxs)(D,{open:k,onOpenChange:M,children:[_,E]}),e[53]=D,e[54]=_,e[55]=E,e[56]=k,e[57]=M,e[58]=F):F=e[58],F};var $0=t=>{let e=(0,an.c)(26),{provider:n,onSelect:l,models:r,iconSizeClass:i}=t,a=Zn(n)?n:"openai-compatible",o;e[0]===n?o=e[1]:(o=At.getProviderInfo(n),e[0]=n,e[1]=o);let c=o;if(r.length===0)return null;let d;e[2]!==a||e[3]!==i?(d=(0,s.jsx)(He,{provider:a,className:i}),e[2]=a,e[3]=i,e[4]=d):d=e[4];let u;e[5]===n?u=e[6]:(u=on(n),e[5]=n,e[6]=u);let m;e[7]!==d||e[8]!==u?(m=(0,s.jsx)(Cl,{children:(0,s.jsxs)("p",{className:"flex items-center gap-2",children:[d,u]})}),e[7]=d,e[8]=u,e[9]=m):m=e[9];let f=c?-90:0,x;e[10]===c?x=e[11]:(x=c&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("p",{className:"text-sm text-muted-foreground p-2 max-w-[300px]",children:[c.description,(0,s.jsx)("br",{})]}),(0,s.jsxs)("p",{className:"text-sm text-muted-foreground p-2 pt-0",children:["For more information, see the"," ",(0,s.jsx)("a",{href:c.url,target:"_blank",className:"underline",rel:"noreferrer","aria-label":"Provider details",children:"provider details"}),"."]}),(0,s.jsx)(Vt,{})]}),e[10]=c,e[11]=x);let y;if(e[12]!==r||e[13]!==l||e[14]!==n){let S;e[16]!==l||e[17]!==n?(S=p=>{let g=`${n}/${p.model}`;return(0,s.jsxs)(wl,{children:[(0,s.jsx)(Cl,{showChevron:!1,className:"py-2",children:(0,s.jsx)("div",{className:"flex items-center gap-2 w-full cursor-pointer",onClick:()=>{l(g)},children:(0,s.jsx)(V0,{model:p,provider:n})})}),(0,s.jsx)(kl,{className:"p-4 w-80",children:(0,s.jsx)(O0,{model:p,provider:n})})]},g)},e[16]=l,e[17]=n,e[18]=S):S=e[18],y=r.map(S),e[12]=r,e[13]=l,e[14]=n,e[15]=y}else y=e[15];let j;e[19]!==f||e[20]!==x||e[21]!==y?(j=(0,s.jsx)(to,{children:(0,s.jsxs)(kl,{className:"max-h-[40vh] overflow-y-auto",alignOffset:f,sideOffset:5,children:[x,y]})}),e[19]=f,e[20]=x,e[21]=y,e[22]=j):j=e[22];let v;return e[23]!==m||e[24]!==j?(v=(0,s.jsxs)(wl,{children:[m,j]}),e[23]=m,e[24]=j,e[25]=v):v=e[25],v},V0=t=>{let e=(0,an.c)(17),{model:n,provider:l}=t,r=Zn(l)?l:"openai-compatible",i;e[0]===r?i=e[1]:(i=(0,s.jsx)(He,{provider:r,className:"h-4 w-4"}),e[0]=r,e[1]=i);let a;e[2]===n.name?a=e[3]:(a=(0,s.jsx)("span",{children:n.name}),e[2]=n.name,e[3]=a);let o;e[4]===n.thinking?o=e[5]:(o=n.thinking&&(0,s.jsx)(nt,{content:"Reasoning model",children:(0,s.jsx)(In,{className:`h-5 w-5 rounded-md p-1 ${ln("thinking")}`})}),e[4]=n.thinking,e[5]=o);let c;e[6]===o?c=e[7]:(c=(0,s.jsx)("div",{className:"ml-auto",children:o}),e[6]=o,e[7]=c);let d;e[8]!==a||e[9]!==c?(d=(0,s.jsxs)("div",{className:"flex flex-row w-full items-center",children:[a,c]}),e[8]=a,e[9]=c,e[10]=d):d=e[10];let u;e[11]===n.custom?u=e[12]:(u=n.custom&&(0,s.jsx)(nt,{content:"Custom model",children:(0,s.jsx)(dn,{className:"h-5 w-5"})}),e[11]=n.custom,e[12]=u);let m;return e[13]!==i||e[14]!==d||e[15]!==u?(m=(0,s.jsxs)(s.Fragment,{children:[i,d,u]}),e[13]=i,e[14]=d,e[15]=u,e[16]=m):m=e[16],m};const O0=t=>{let e=(0,an.c)(28),{model:n,provider:l}=t,r;e[0]===n.name?r=e[1]:(r=(0,s.jsx)("h4",{className:"font-semibold text-base text-foreground",children:n.name}),e[0]=n.name,e[1]=r);let i;e[2]===n.model?i=e[3]:(i=(0,s.jsx)("p",{className:"text-xs text-muted-foreground font-mono",children:n.model}),e[2]=n.model,e[3]=i);let a;e[4]!==r||e[5]!==i?(a=(0,s.jsxs)("div",{children:[r,i]}),e[4]=r,e[5]=i,e[6]=a):a=e[6];let o;e[7]===n.description?o=e[8]:(o=(0,s.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:n.description}),e[7]=n.description,e[8]=o);let c;e[9]===n.roles?c=e[10]:(c=n.roles.length>0&&(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-xs font-medium text-muted-foreground mb-2",children:"Capabilities:"}),(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:n.roles.map(H0)})]}),e[9]=n.roles,e[10]=c);let d;e[11]===n.thinking?d=e[12]:(d=n.thinking&&(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 bg-purple-500 rounded-full animate-pulse"}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Supports thinking mode"})]}),e[11]=n.thinking,e[12]=d);let u;e[13]===l?u=e[14]:(u=(0,s.jsx)(He,{provider:l,className:"h-4 w-4"}),e[13]=l,e[14]=u);let m;e[15]===l?m=e[16]:(m=on(l),e[15]=l,e[16]=m);let f;e[17]===m?f=e[18]:(f=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:m}),e[17]=m,e[18]=f);let x;e[19]!==u||e[20]!==f?(x=(0,s.jsxs)("div",{className:"flex items-center gap-2 pt-2 border-t border-border",children:[u,f]}),e[19]=u,e[20]=f,e[21]=x):x=e[21];let y;return e[22]!==x||e[23]!==a||e[24]!==o||e[25]!==c||e[26]!==d?(y=(0,s.jsxs)("div",{className:"space-y-3",children:[a,o,c,d,x]}),e[22]=x,e[23]=a,e[24]=o,e[25]=c,e[26]=d,e[27]=y):y=e[27],y};function on(t){let e=At.getProviderInfo(t);return e?e.name:Ca(t)}function H0(t){return(0,s.jsx)("span",{className:`px-2 py-1 text-xs rounded-md font-medium ${ln(t)}`,title:Fi(t),children:t},t)}export{es as $,ti as A,vs as B,ru as C,Pt as D,ni as E,Is as F,Oc as G,gs as H,Ds as I,ls as J,Dt as K,$n as L,Xt as M,hd as N,li as O,Gn as P,ts as Q,ft as R,bi as S,mi as T,zn as U,ys as V,ms as W,zc as X,ke as Y,_n as Z,nn as _,tl as a,Ql as at,bu as b,Ri as c,bc as ct,He as d,Ul as dt,lt as et,Si as f,Xn as g,wi as h,B0 as i,vt as it,Jr as j,qn as k,Uu as l,Yl as lt,Tt as m,qi as n,wc as nt,Ju as o,Zl as ot,Du as p,Ac as q,ll as r,at as rt,Yu as s,jc as st,Yi as t,Mn as tt,Gu as u,Wl as ut,Ni as v,Le as w,Qn as x,Ci as y,ks as z};
|