dorkos 0.133.0 → 0.134.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +371 -82
- package/dist/browser/native/package-manifest.json +1 -1
- package/dist/browser/source-manifest.json +1 -1
- package/dist/client/assets/{AboutPage-D-EHHVPa.js → AboutPage-zOZ0j1a0.js} +1 -1
- package/dist/client/assets/{ActivityErrorState-BTHnE1vP.js → ActivityErrorState-BlHkTJeC.js} +1 -1
- package/dist/client/assets/{ActivityPage-BfSLPIdR.js → ActivityPage-LCOV7KDT.js} +1 -1
- package/dist/client/assets/{ActivityRow-PwUBjQw8.js → ActivityRow-CvDae84E.js} +1 -1
- package/dist/client/assets/{AdapterIcon-DgkNN6bi.js → AdapterIcon-Dm5QP8_9.js} +1 -1
- package/dist/client/assets/{AdapterSetupWizard-DX0dzp7q.js → AdapterSetupWizard-CNga-lEN.js} +1 -1
- package/dist/client/assets/{AgentOptionRow-ApuDEKqq.js → AgentOptionRow-CHb4ifHN.js} +1 -1
- package/dist/client/assets/{AgentPicker-BDci-9aL.js → AgentPicker-B8WFWr7p.js} +1 -1
- package/dist/client/assets/{AgentRequestCard-B2gxCMGi.js → AgentRequestCard-Cnhi_1sr.js} +3 -3
- package/dist/client/assets/{AppearancePage-8SVnFe0k.js → AppearancePage-BI5qdQoW.js} +1 -1
- package/dist/client/assets/{ApplyToOverridesDialog-CnL1ubxL.js → ApplyToOverridesDialog-gSHV8ggp.js} +1 -1
- package/dist/client/assets/{AttentionSignalRow-CCKhUtil.js → AttentionSignalRow-QgzOBKxa.js} +1 -1
- package/dist/client/assets/{BaseTanStackRouterDevtoolsPanel-B-iktbLX-B7wFPzG4.js → BaseTanStackRouterDevtoolsPanel-B-iktbLX-Ck8dc5X4.js} +3 -3
- package/dist/client/assets/{BindingDialog-C4BHVXno.js → BindingDialog-DX1N_tTX.js} +1 -1
- package/dist/client/assets/{BlintzCanvas-7E5uwVms.js → BlintzCanvas-FqS5vfnA.js} +3 -3
- package/dist/client/assets/{CanvasCsvContent-l7lfyDGn.js → CanvasCsvContent-B9h8JQsV.js} +4 -4
- package/dist/client/assets/CanvasFileContent-BXo8hS_n.js +2 -0
- package/dist/client/assets/CanvasModel3dContent-BhAho9NF.js +2 -0
- package/dist/client/assets/{ChannelComposer-CAYvz_ZB.js → ChannelComposer-DUKyoCYz.js} +5 -5
- package/dist/client/assets/{ChatAppsOff-CNeKBVNz.js → ChatAppsOff-hxeSExhA.js} +1 -1
- package/dist/client/assets/{CodeMirrorDiff-BZRcNFsS.js → CodeMirrorDiff-BoDEtyYj.js} +1 -1
- package/dist/client/assets/{CodeMirrorEditor-DD5tArRn.js → CodeMirrorEditor-CU7h0emU.js} +1 -1
- package/dist/client/assets/{ComputerResourceView-BUmsVssG.js → ComputerResourceView-Dd4Kedxf.js} +1 -1
- package/dist/client/assets/{ComputerViewer-BKMR5LkF.js → ComputerViewer-CssfoCBB.js} +1 -1
- package/dist/client/assets/{ConnectionAccessLists-DYUiFmPY.js → ConnectionAccessLists-2qFBRKpv.js} +1 -1
- package/dist/client/assets/{ConnectionsPage-DR2Kfm9Q.js → ConnectionsPage-CPyrw58B.js} +1 -1
- package/dist/client/assets/{ConventionPage-Do6q8873.js → ConventionPage-B2MERyNx.js} +2 -2
- package/dist/client/assets/{ExtensionPageRoute-CP7NM7fw.js → ExtensionPageRoute-7x-7Ad0_.js} +1 -1
- package/dist/client/assets/{FeatureDisabledState-Bi23k3rg.js → FeatureDisabledState-DsbRcnZ6.js} +1 -1
- package/dist/client/assets/{FloatingTanStackRouterDevtools-CqogiFob-lRlmDXYz.js → FloatingTanStackRouterDevtools-CqogiFob-BReszru7.js} +1 -1
- package/dist/client/assets/{ForwardConsentHost-DSR1pEEK.js → ForwardConsentHost-DOwU-xQ9.js} +1 -1
- package/dist/client/assets/HandlePage-B7fNgSTl.js +1 -0
- package/dist/client/assets/{HeartbeatPage-BTNVcHOI.js → HeartbeatPage-0qi56iQb.js} +1 -1
- package/dist/client/assets/{KeyEntry-67acsEG2.js → KeyEntry-uKZG5d2z.js} +1 -1
- package/dist/client/assets/{LexicalField-Cb68LIar.js → LexicalField-CKc8eUK3.js} +2 -2
- package/dist/client/assets/{ManagesPage-ChPlBF42.js → ManagesPage-DWVLpjw2.js} +1 -1
- package/dist/client/assets/{Marketplace-CzPhJEE1.js → Marketplace-VBnmDEQE.js} +4 -4
- package/dist/client/assets/{MarketplaceSourcesView-CmQgxQmU.js → MarketplaceSourcesView-BRuo8wIH.js} +1 -1
- package/dist/client/assets/{McpAppFrame-z5JUaCSA.js → McpAppFrame-IfamHBcy.js} +1 -1
- package/dist/client/assets/{McpSigninBody-ZrnzwrOH.js → McpSigninBody-VmuxAjoo.js} +1 -1
- package/dist/client/assets/{Model3dViewer-HJpWK-JI.js → Model3dViewer-CT4aYUpn.js} +1 -1
- package/dist/client/assets/NamePage-CFRvBLJ8.js +1 -0
- package/dist/client/assets/NewDirectMessageMenu-BZFyclIS.js +1 -0
- package/dist/client/assets/{NotificationsPage-DwNUI0Z3.js → NotificationsPage-DMJf-hq3.js} +1 -1
- package/dist/client/assets/{OpenMeshSwitch-RNAZY1vn.js → OpenMeshSwitch-DltP6-54.js} +1 -1
- package/dist/client/assets/{OperatorIdentityForm-B7S2C_eT.js → OperatorIdentityForm-C8oS_fQG.js} +1 -1
- package/dist/client/assets/PermissionHistory-BAe31Nl3.js +1 -0
- package/dist/client/assets/{PermissionsPage-ToK0DZVV.js → PermissionsPage-CqvpcXTJ.js} +1 -1
- package/dist/client/assets/{PersonalityPopover-BvMtUQRM.js → PersonalityPopover-D8l_Hfc1.js} +1 -1
- package/dist/client/assets/PhotoPage-DTl81tTW.js +1 -0
- package/dist/client/assets/{PreviewRefusedNotice-DzbkMrUo.js → PreviewRefusedNotice-DZh7zTEt.js} +1 -1
- package/dist/client/assets/{ProfileFields-DU8dTGHT.js → ProfileFields-T1f833SK.js} +1 -1
- package/dist/client/assets/{ProfilePanelContainer-BfT-ufV7.js → ProfilePanelContainer-BSbE5rqM.js} +1 -1
- package/dist/client/assets/{ProfileRolePicker-DrOtV-0N.js → ProfileRolePicker-CpAhjq-e.js} +1 -1
- package/dist/client/assets/{PromptSuggestionChips-CEnhme_V.js → PromptSuggestionChips-BGZ3HP31.js} +1 -1
- package/dist/client/assets/{ReportsToPopover-CwjpR1Tw.js → ReportsToPopover-DfmvDL7E.js} +1 -1
- package/dist/client/assets/{RoomSurface-CChzNJKw.js → RoomSurface-DCYXQ79N.js} +1 -1
- package/dist/client/assets/{RoomsPage-Dbf6ijKr.js → RoomsPage-DTMTTWEf.js} +1 -1
- package/dist/client/assets/{RunsOnPopover-Bh5sSsSC.js → RunsOnPopover-CjJiJgly.js} +1 -1
- package/dist/client/assets/{RuntimeConnectFlow-BYQnY5vv.js → RuntimeConnectFlow-Dinsb9em.js} +1 -1
- package/dist/client/assets/{RuntimeSetupDialog-DTO5v0dP.js → RuntimeSetupDialog-UhsfZRye.js} +1 -1
- package/dist/client/assets/{SeenDevices-cuY7ASEy.js → SeenDevices-CuXXI7Jv.js} +3 -3
- package/dist/client/assets/{SessionsPage-BrqpVx-t.js → SessionsPage-Cn4rUeyL.js} +1 -1
- package/dist/client/assets/{SettingsDialog-DCAZX_1d.js → SettingsDialog-CZrhYejc.js} +3 -3
- package/dist/client/assets/{SkillsPage-D5who_ZH.js → SkillsPage-CoanF7Jz.js} +1 -1
- package/dist/client/assets/{TaskDialogWrapper-BJ6XtOC5.js → TaskDialogWrapper-CU4PkcGk.js} +1 -1
- package/dist/client/assets/{TasksEmptyState-B3SjsxQa.js → TasksEmptyState-lWVZXYPS.js} +2 -2
- package/dist/client/assets/{TasksPage-B72w7J87.js → TasksPage-BPmiut-D.js} +1 -1
- package/dist/client/assets/{TeamComputerEntry-B9ma5j-X.js → TeamComputerEntry-2RKJhINy.js} +1 -1
- package/dist/client/assets/{TodoPromiseList-DDKWAfmv.js → TodoPromiseList-iODTn1_b.js} +1 -1
- package/dist/client/assets/{TodoPromisesPage-BNXpvXzS.js → TodoPromisesPage-BCm38YVu.js} +1 -1
- package/dist/client/assets/{ToolsPage-DbJykCG3.js → ToolsPage-Bboa9crU.js} +1 -1
- package/dist/client/assets/{TopologyGraph-DKZS3nlr.js → TopologyGraph-Dw_sLFBL.js} +1 -1
- package/dist/client/assets/{TourHost-Bw3Uoea5.js → TourHost-BUV9rMNn.js} +1 -1
- package/dist/client/assets/{UnlinkDialog-B-XCFNSd.js → UnlinkDialog-B7lL7sxN.js} +1 -1
- package/dist/client/assets/{UnreadDivider-1aPVzwd7.js → UnreadDivider-DCB47jhk.js} +1 -1
- package/dist/client/assets/{WidgetErrorCard-C5ieVv_9.js → WidgetErrorCard-D14BNvfm.js} +2 -2
- package/dist/client/assets/{WithheldExtensionsNotice-CCO4ClRZ.js → WithheldExtensionsNotice-I0VwWxDY.js} +1 -1
- package/dist/client/assets/{WorkQueuePage-BbPKNwDg.js → WorkQueuePage-wVj3wlat.js} +1 -1
- package/dist/client/assets/{WorkView-BRcytACJ.js → WorkView-MSsuFZVO.js} +1 -1
- package/dist/client/assets/{_shell-EwFeSIGp.js → _shell-Bp1Mn6YU.js} +4 -4
- package/dist/client/assets/{_shell._home-DD2mg-iK.js → _shell._home-CylH7Gjr.js} +1 -1
- package/dist/client/assets/{_shell._home.activity-Z1QuU2M4.js → _shell._home.activity-BABzsE_Y.js} +1 -1
- package/dist/client/assets/_shell._home.index-BWXNHCGe.js +3 -0
- package/dist/client/assets/{_shell._home.tasks-BtC85Iut.js → _shell._home.tasks-BJg6t5SW.js} +1 -1
- package/dist/client/assets/{_shell._home.workspaces-qMG5OJYR.js → _shell._home.workspaces-B3LBf9vr.js} +1 -1
- package/dist/client/assets/{_shell.channels-BE4EK-iM.js → _shell.channels-C0xYFINv.js} +2 -2
- package/dist/client/assets/_shell.connections-73FPamLr.js +6 -0
- package/dist/client/assets/{_shell.feedback-requests-CwKSkkuD.js → _shell.feedback-requests-BYYmQE_b.js} +1 -1
- package/dist/client/assets/_shell.marketplace-CiBixBHr.js +1 -0
- package/dist/client/assets/_shell.marketplace_.sources-DPUWEdt6.js +1 -0
- package/dist/client/assets/_shell.session-CJhLuYyA.js +1 -0
- package/dist/client/assets/{_shell.team-Dm5a4f8_.js → _shell.team-BbulfYAQ.js} +3 -3
- package/dist/client/assets/_shell.threads-CRFlslhF.js +1 -0
- package/dist/client/assets/_shell.todos-CmwRh6jX.js +6 -0
- package/dist/client/assets/_shell.x._extensionId-DdKU91-V.js +1 -0
- package/dist/client/assets/_shell.x._extensionId_._-DdKU91-V.js +1 -0
- package/dist/client/assets/{abnfDiagram-WEYOIA3C-Bu2T3jVw.js → abnfDiagram-WEYOIA3C-CF3eRhtw.js} +1 -1
- package/dist/client/assets/{access-copy-tkiFMhRf.js → access-copy-EuKlRWLG.js} +1 -1
- package/dist/client/assets/{arc-5q4SfXO9.js → arc-BqnZif1q.js} +1 -1
- package/dist/client/assets/{architectureDiagram-ZHVYKT53-BnDMOBhV.js → architectureDiagram-ZHVYKT53-CQytXLkh.js} +1 -1
- package/dist/client/assets/{banner-CSKUrrI0.js → banner-nfkn2OLZ.js} +1 -1
- package/dist/client/assets/{blockDiagram-RJAE7QA3-CtushlEs.js → blockDiagram-RJAE7QA3-CXieJU3q.js} +1 -1
- package/dist/client/assets/{c4Diagram-XDPPPE54-7L-qYwKH.js → c4Diagram-XDPPPE54-BPmgfFrI.js} +1 -1
- package/dist/client/assets/channel-BOMQJ9aR.js +1 -0
- package/dist/client/assets/{chunk-2E7WHVMD-ksBVyqQ3.js → chunk-2E7WHVMD-BtumkVCk.js} +1 -1
- package/dist/client/assets/{chunk-2Q5K7J3B-Bfqdkihb.js → chunk-2Q5K7J3B-BUsPKn6-.js} +1 -1
- package/dist/client/assets/{chunk-4EMNKR2T-Brf2dH9x.js → chunk-4EMNKR2T-CuRou8Oa.js} +1 -1
- package/dist/client/assets/{chunk-55XCU76K-BlE7Cq40.js → chunk-55XCU76K-CafKfo9G.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-Bkgg3j7L.js → chunk-5VM5RSS4-BdemtVRg.js} +1 -1
- package/dist/client/assets/{chunk-JWPE2WC7-B9TRpN4O.js → chunk-JWPE2WC7-C1pKIt5Q.js} +1 -1
- package/dist/client/assets/{chunk-VQ5W62QI-ZoILnIYi.js → chunk-VQ5W62QI-DPIQcwQZ.js} +1 -1
- package/dist/client/assets/{chunk-XXDRQBXY-r2xNhaKz.js → chunk-XXDRQBXY-CDtiCG5n.js} +1 -1
- package/dist/client/assets/{chunk-ZCHMQSOR-DfV3cF7d.js → chunk-ZCHMQSOR-DsHVvsHO.js} +2 -2
- package/dist/client/assets/{classDiagram-v2-4MYWR3UA-VOVqMNNP.js → classDiagram-v2-4MYWR3UA-CNKi62Mk.js} +1 -1
- package/dist/client/assets/{command-CaUEAy3b.js → command-D1cWVheG.js} +1 -1
- package/dist/client/assets/{copy-button-BOznikwM.js → copy-button-BHHQAtAH.js} +1 -1
- package/dist/client/assets/{cose-bilkent-JH36ORCC-CAdBvyLz.js → cose-bilkent-JH36ORCC-CqK8lNYm.js} +1 -1
- package/dist/client/assets/{cpu-j9vX9Wfk.js → cpu-BhPT23rn.js} +1 -1
- package/dist/client/assets/{cynefin-EF2NZ3EQ-DcH1A9Oo.js → cynefin-EF2NZ3EQ-DUFv7wAT.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-WF24UDRP-DJuKBXHi.js → cynefinDiagram-WF24UDRP-DprACurA.js} +1 -1
- package/dist/client/assets/{dagre-NK4GIZVX-D099H_0S.js → dagre-NK4GIZVX-CFCbvrTm.js} +1 -1
- package/dist/client/assets/{detail-row-Crl89jnh.js → detail-row-DBa1uo_y.js} +1 -1
- package/dist/client/assets/{diagram-CBK3MWTC-Cd_4W9XO.js → diagram-CBK3MWTC-BgRgWBNs.js} +1 -1
- package/dist/client/assets/{diagram-I5XIIV2D-Bc7aQKt3.js → diagram-I5XIIV2D-Bvmxrku7.js} +1 -1
- package/dist/client/assets/{diagram-ODIL2UCW-awVJZ4Bg.js → diagram-ODIL2UCW-CqzUdcUW.js} +1 -1
- package/dist/client/assets/{diagram-PFBEJUXE-dhsj9aeU.js → diagram-PFBEJUXE-DwXryVWl.js} +1 -1
- package/dist/client/assets/{diagram-RJA3I4VV-Dm59CbiV.js → diagram-RJA3I4VV-DqGvHPAI.js} +1 -1
- package/dist/client/assets/{diagram-TYUNFSNR-BhvcIjA9.js → diagram-TYUNFSNR-GOfZ43Y3.js} +1 -1
- package/dist/client/assets/{ebnfDiagram-V4P3TTPT-C4wT_MTC.js → ebnfDiagram-V4P3TTPT-lF7-sW99.js} +1 -1
- package/dist/client/assets/{elk-QONTBCTQ-CPI0zjmW.js → elk-QONTBCTQ-Cd5kFMK6.js} +1 -1
- package/dist/client/assets/{empty-state-BHcmkSzu.js → empty-state-CHse95jw.js} +1 -1
- package/dist/client/assets/{erDiagram-KYQIGQAA-C_vGcbOB.js → erDiagram-KYQIGQAA-BqXJlTJO.js} +1 -1
- package/dist/client/assets/{execution-config-BS5rtvTZ.js → execution-config-U_R_H28y.js} +1 -1
- package/dist/client/assets/{file-CQGljfDT.js → file-DZ6-r1A3.js} +1 -1
- package/dist/client/assets/{file-exclamation-point-B0a55VME.js → file-exclamation-point-CR6qeV6m.js} +1 -1
- package/dist/client/assets/{file-text-Cycq_S0e.js → file-text-4-Vc22J-.js} +1 -1
- package/dist/client/assets/{find-latest-widget-fence-B6sJdG3Q.js → find-latest-widget-fence-D61kyRv5.js} +2 -2
- package/dist/client/assets/{flowDiagram-IUGLLWBU-_VNfmnxx.js → flowDiagram-IUGLLWBU-C18poulN.js} +1 -1
- package/dist/client/assets/{form-BL14vwyB.js → form-B51NLChW.js} +1 -1
- package/dist/client/assets/{format-cron-meJMgYNe.js → format-cron-CrDI8dcD.js} +1 -1
- package/dist/client/assets/{ganttDiagram-R7GPNTJY-o0gGU7X_.js → ganttDiagram-R7GPNTJY-BHa77y_O.js} +1 -1
- package/dist/client/assets/{git-branch-CsLE6G0Y.js → git-branch-CzV_Mp0H.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PDYL7XHY-DjXjUpJo.js → gitGraphDiagram-PDYL7XHY-DdfDaaK5.js} +1 -1
- package/dist/client/assets/{graph-BMYee_VK.js → graph-stVQph_6.js} +1 -1
- package/dist/client/assets/{heart-Cn3a-UQI.js → heart-B7rSSNjF.js} +1 -1
- package/dist/client/assets/{highlighted-body-KPVGNVTW-DsX5yCC0.js → highlighted-body-KPVGNVTW-BDppiTvx.js} +1 -1
- package/dist/client/assets/{image-lightbox-BZ_eBZgA.js → image-lightbox-DwZmxmRU.js} +1 -1
- package/dist/client/assets/{image-off-DjR7LI5G.js → image-off-B65OAyEw.js} +1 -1
- package/dist/client/assets/{index-BR1m9FON.js → index-B2JoVHek.js} +231 -231
- package/dist/client/assets/{index-Cb_p_ynP.js → index-BC7vn8oJ.js} +1 -1
- package/dist/client/assets/{index-DARchye_.js → index-BD0bxxdG.js} +1 -1
- package/dist/client/assets/{index-BxWr8Mrf.js → index-BJE7FpeW.js} +1 -1
- package/dist/client/assets/{index-CczLBUKI.js → index-BLepK8Tm.js} +1 -1
- package/dist/client/assets/{index-Z2ApBQt4.js → index-BNMepjWi.js} +1 -1
- package/dist/client/assets/{index-H4e5Wpmi.js → index-B_7AgsWu.js} +1 -1
- package/dist/client/assets/{index-Cgjq7a-8.js → index-BchQNMCW.js} +1 -1
- package/dist/client/assets/{index-DFb4kOjm.js → index-BgKo-iME.js} +2 -2
- package/dist/client/assets/{index-Kt6r3DQg.js → index-BncKYCzR.js} +1 -1
- package/dist/client/assets/{index-CpWxcN5D.js → index-Bocv39Dy.js} +1 -1
- package/dist/client/assets/{index-BcnwvTnt.js → index-Bx9vkvgI.js} +1 -1
- package/dist/client/assets/{index-o6kGmVGx.js → index-ByKStnc0.js} +1 -1
- package/dist/client/assets/index-C2FXv0W1.js +1 -0
- package/dist/client/assets/index-CCRFURxg.js +1 -0
- package/dist/client/assets/{index-DLN0kcME.js → index-CNXWcd0h.js} +1 -1
- package/dist/client/assets/index-CT9qR-37.js +1 -0
- package/dist/client/assets/{index-vHKVYcH7.js → index-CXbvnAWk.js} +1 -1
- package/dist/client/assets/{index-Cv67OXfk.js → index-CaWtXSTG.js} +1 -1
- package/dist/client/assets/{index-DQ8uADJF.js → index-CayDBSDe.js} +1 -1
- package/dist/client/assets/{index-4rSR8lau.js → index-Ci17H_nH.js} +1 -1
- package/dist/client/assets/{index-DqZmnJED.js → index-CpCaGGh0.js} +1 -1
- package/dist/client/assets/{index-CfKSlYjb.js → index-CvLTkguu.js} +1 -1
- package/dist/client/assets/{index-dY7IFpet.js → index-CyTJNCti.js} +1 -1
- package/dist/client/assets/{index-Joav7LQU.js → index-CzDpDW1S.js} +1 -1
- package/dist/client/assets/{index-B4TxpTKD.js → index-D1FZurLO.js} +1 -1
- package/dist/client/assets/{index-BmKHO-FD.js → index-D5HU9MN-.js} +1 -1
- package/dist/client/assets/index-DBjkg_lo.css +1 -0
- package/dist/client/assets/{index-gmyiXkmr.js → index-DCymAWyX.js} +1 -1
- package/dist/client/assets/{index-faSyUc2q.js → index-DDPQZJQz.js} +1 -1
- package/dist/client/assets/{index-Cf4Gtxf9.js → index-DK-qQXH4.js} +1 -1
- package/dist/client/assets/{index-DrlB9RSk.js → index-DTJV1dBd.js} +1 -1
- package/dist/client/assets/{index-DiM3QX-4.js → index-Dhj4iWHB.js} +3 -3
- package/dist/client/assets/index-DxqA8BnM.js +1 -0
- package/dist/client/assets/{index-DlvUENo4.js → index-DzVJOMZm.js} +1 -1
- package/dist/client/assets/{index-47--OGKJ.js → index-FRNKkajP.js} +1 -1
- package/dist/client/assets/{index-Dfko0tSp.js → index-L1Tsd-wn.js} +1 -1
- package/dist/client/assets/{index-KganLhU1.js → index-QaablvAu.js} +2 -2
- package/dist/client/assets/{index-DMSSN08i.js → index-SawUg2NU.js} +1 -1
- package/dist/client/assets/{index-B8LqLhq7.js → index-YObNtFmj.js} +1 -1
- package/dist/client/assets/{index-1MwES_vb.js → index-iRuOpaV9.js} +1 -1
- package/dist/client/assets/{index-BOCclWF3.js → index-ulrRTPa9.js} +1 -1
- package/dist/client/assets/{index-BsZkXHsH.js → index-wcSHU-xr.js} +1 -1
- package/dist/client/assets/{index-D5Qmx1JR.js → index-yZEr0YWk.js} +3 -3
- package/dist/client/assets/{index.esm-CJIDYBqd.js → index.esm-gt8tvZ7J.js} +1 -1
- package/dist/client/assets/{infoDiagram-MVDRKAX5-B1mMyUlp.js → infoDiagram-MVDRKAX5-DzhnMotD.js} +1 -1
- package/dist/client/assets/{inline-code-mh48Uhbi.js → inline-code-rYW-kJLB.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-HPEHV2GE-efEMQ0_X.js → ishikawaDiagram-HPEHV2GE-CfEX5E3R.js} +1 -1
- package/dist/client/assets/{journeyDiagram-BOSHW7O7-DSAywiVk.js → journeyDiagram-BOSHW7O7-oPrRia7f.js} +1 -1
- package/dist/client/assets/{kanban-definition-FNSA4HC5-B9pbU4zK.js → kanban-definition-FNSA4HC5-c4CFmcMa.js} +1 -1
- package/dist/client/assets/{layers-B0Z5Od3N.js → layers-D9XZggr2.js} +1 -1
- package/dist/client/assets/{lightbulb-Cfb5ecEd.js → lightbulb-DQBO5jSg.js} +1 -1
- package/dist/client/assets/{link-2-Dzy5BUL3.js → link-2-CZiWX9vI.js} +1 -1
- package/dist/client/assets/{list-runtime-types-DLmjtBMq.js → list-runtime-types-Dry1muZ1.js} +1 -1
- package/dist/client/assets/{markdown-content-DhAtZOfj.js → markdown-content-FcvkqTTS.js} +1 -1
- package/dist/client/assets/{mention-pill-DmA8FxL4.js → mention-pill-BxASQ-6w.js} +1 -1
- package/dist/client/assets/{mermaid.core-DUIkdbeL.js → mermaid.core-BqACpHu4.js} +4 -4
- package/dist/client/assets/{message-square-off-BowIzJUV.js → message-square-off-SMiCYjYr.js} +1 -1
- package/dist/client/assets/{mindmap-definition-6OY57UG3-Dz7ZOR4C.js → mindmap-definition-6OY57UG3-BSYcYnyL.js} +1 -1
- package/dist/client/assets/{more-details-DV7LmY0E.js → more-details-D9_Bn2GL.js} +1 -1
- package/dist/client/assets/{owner-notice-DdFc2P8z.js → owner-notice-DO2xE-1L.js} +1 -1
- package/dist/client/assets/{package-BhKXbvU_.js → package-DpqGENzU.js} +1 -1
- package/dist/client/assets/{page-container-0sWZ3xh9.js → page-container-Cta3RqHd.js} +1 -1
- package/dist/client/assets/{pane-resize-handle-Bjy4udre.js → pane-resize-handle-BJ0XV-Zg.js} +1 -1
- package/dist/client/assets/{paperclip-C-7LhBfl.js → paperclip-CItlLyje.js} +1 -1
- package/dist/client/assets/{path-input-BPVyI72G.js → path-input-CAkVS5XR.js} +1 -1
- package/dist/client/assets/{pegDiagram-ECIUJNBX-C4EOP-Fa.js → pegDiagram-ECIUJNBX-Bnc4eqtF.js} +1 -1
- package/dist/client/assets/{pieDiagram-GNMPY74T-CQ1OxRkv.js → pieDiagram-GNMPY74T-7gG33sSR.js} +1 -1
- package/dist/client/assets/{plug-CIZ-wWL8.js → plug-Cb8qsOxJ.js} +1 -1
- package/dist/client/assets/{primer-trigger-XA5fLzR5.js → primer-trigger-BG3lb31_.js} +2 -2
- package/dist/client/assets/{profile-errors-C1XACbc9.js → profile-errors-T-3VgU7E.js} +1 -1
- package/dist/client/assets/progress-CwpnobNW.js +1 -0
- package/dist/client/assets/{quadrantDiagram-D57K4MC3-Cw4BdkpS.js → quadrantDiagram-D57K4MC3-Dr2Z6GbA.js} +1 -1
- package/dist/client/assets/{query-error-state-Cm-Lozlb.js → query-error-state-BV8fyXBe.js} +1 -1
- package/dist/client/assets/{radio-DQ29H26H.js → radio-SApjvqfy.js} +1 -1
- package/dist/client/assets/{railroadDiagram-Y72NRBL7-CSKtYLmm.js → railroadDiagram-Y72NRBL7-7kfKSzWs.js} +1 -1
- package/dist/client/assets/{registry-Tbt9pcZl.js → registry-BcpatPes.js} +4 -4
- package/dist/client/assets/registry-BuTvvFn6.js +1 -0
- package/dist/client/assets/{relay-trace-schemas-4AAUf-Zl.js → relay-trace-schemas-eOfnfe4X.js} +2 -2
- package/dist/client/assets/{repeat-B8g-x-Sc.js → repeat-BB0attnO.js} +1 -1
- package/dist/client/assets/{requirementDiagram-EQYSW5RA-BPSBZr7X.js → requirementDiagram-EQYSW5RA-CmOVPT7N.js} +1 -1
- package/dist/client/assets/{room-files-source-BkiK4-ZI.js → room-files-source-C32w3dXr.js} +1 -1
- package/dist/client/assets/{rotate-ccw-clock-DRtL-2nr.js → rotate-ccw-clock-C1SBdbZP.js} +1 -1
- package/dist/client/assets/{rotate-cw-BbHkWN-J.js → rotate-cw-BTqPAMgP.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-SY24JHO5-DVlHablQ.js → sankeyDiagram-SY24JHO5-DFcTUSd1.js} +1 -1
- package/dist/client/assets/{scroll-area-DAC7NrVU.js → scroll-area-rEyYMbHG.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-BLEHNHQU--wZkN8xk.js → sequenceDiagram-BLEHNHQU-BNY4ALqc.js} +1 -1
- package/dist/client/assets/server-BCFl_ur3.js +6 -0
- package/dist/client/assets/{shield-x-CEWfkzDN.js → shield-x-B2nLbkhR.js} +1 -1
- package/dist/client/assets/{signed-in-CMhCR-m8.js → signed-in-BcxH99a5.js} +1 -1
- package/dist/client/assets/{sizeCapture-INFHLROL-CLXc7d3S.js → sizeCapture-INFHLROL-CuNPY5HV.js} +1 -1
- package/dist/client/assets/{soul-file-CbX7rNqz.js → soul-file-ITCKiDY9.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-A6IESKWZ-5xa1FM_X.js → stateDiagram-v2-A6IESKWZ-CmUdZZJs.js} +1 -1
- package/dist/client/assets/{swimlanes-B3ENRKFQ-DKgxJxjE.js → swimlanes-B3ENRKFQ-BmNmFgsZ.js} +1 -1
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-Cd_Magxj.js +8 -0
- package/dist/client/assets/{table-D0EJT0uP.js → table-COZ3E1UU.js} +1 -1
- package/dist/client/assets/{tabs-Ctjzrm8t.js → tabs-CDr3zS_2.js} +1 -1
- package/dist/client/assets/{timeline-definition-JXYKGLGB-B9P7ituI.js → timeline-definition-JXYKGLGB-Cq7UTNkh.js} +1 -1
- package/dist/client/assets/{trust-dial-D__tIhzt.js → trust-dial-BsEooNiu.js} +2 -2
- package/dist/client/assets/{trust-posture-DaHHtOZn.js → trust-posture-Dk5ctS0Q.js} +1 -1
- package/dist/client/assets/{unplug-B-ipHefz.js → unplug-DB0xx2bf.js} +1 -1
- package/dist/client/assets/{unverified-catalog-notice-C8swqaTn.js → unverified-catalog-notice-CQoKhOjQ.js} +1 -1
- package/dist/client/assets/{use-bindings-gLHRNAFU.js → use-bindings-CEhDyZoj.js} +1 -1
- package/dist/client/assets/{use-composer-prefs-CjpxcBIe.js → use-composer-prefs-uC9mUd0f.js} +1 -1
- package/dist/client/assets/{use-connector-management-BLiCJMgU.js → use-connector-management-54m5ZcyP.js} +1 -1
- package/dist/client/assets/{use-deep-link-scroll-r2nKjzA-.js → use-deep-link-scroll-C4DQRnGX.js} +1 -1
- package/dist/client/assets/{use-delete-binding-BSiOik_K.js → use-delete-binding-Cr9soEn-.js} +1 -1
- package/dist/client/assets/{use-dev-links-DXcIlMf-.js → use-dev-links-CXGFC-N0.js} +1 -1
- package/dist/client/assets/{use-direct-message-panel-BbH8N4mE.js → use-direct-message-panel-BxwiNzks.js} +1 -1
- package/dist/client/assets/{use-external-adapter-catalog-mmKni5ui.js → use-external-adapter-catalog-D3xkw3mY.js} +1 -1
- package/dist/client/assets/{use-filter-state-CiPZ0AIH.js → use-filter-state-N0pdU49v.js} +1 -1
- package/dist/client/assets/{use-full-activity-feed-DXroUzfN.js → use-full-activity-feed-COuRZq_w.js} +1 -1
- package/dist/client/assets/use-is-below-desktop-CgAcZ8iA.js +1 -0
- package/dist/client/assets/{use-mesh-topology-upehQ5Cv.js → use-mesh-topology-BSRzCO1U.js} +1 -1
- package/dist/client/assets/{use-mounted-ref-IHwyriaF.js → use-mounted-ref-pxDiCOyS.js} +1 -1
- package/dist/client/assets/{use-notification-prefs-BHOK2P2l.js → use-notification-prefs-6N6Y4rqG.js} +1 -1
- package/dist/client/assets/use-pending-read-HbJdwxw1.js +1 -0
- package/dist/client/assets/{use-personality-commit-Chf3UX8P.js → use-personality-commit-Dl3YK7Qd.js} +1 -1
- package/dist/client/assets/{use-promo-activation-Dlw6bg7G.js → use-promo-activation-DXRrwLes.js} +2 -2
- package/dist/client/assets/{use-promo-dismissals-Dx_fli7I.js → use-promo-dismissals-DnqiKhqW.js} +1 -1
- package/dist/client/assets/{use-pulse-freshness-CG_I6a-O.js → use-pulse-freshness-D9uzSgz_.js} +1 -1
- package/dist/client/assets/{use-room-follow-claim-Bgrpr3bO.js → use-room-follow-claim-Ch6ZoOAv.js} +1 -1
- package/dist/client/assets/{use-room-sessions-DecGrP3E.js → use-room-sessions-C3NpXFWY.js} +1 -1
- package/dist/client/assets/{use-roving-tab-list-CDkh-Ujm.js → use-roving-tab-list-LZku4K5R.js} +1 -1
- package/dist/client/assets/{use-session-canvas-tvLLPQcm.js → use-session-canvas-Bub7vCaj.js} +6 -6
- package/dist/client/assets/{use-status-budget-BBl2yxLR.js → use-status-budget-DrAROrOw.js} +2 -2
- package/dist/client/assets/{use-todos-BzRauzdQ.js → use-todos-COW66MhB.js} +1 -1
- package/dist/client/assets/{use-transform-DzJeHpxm.js → use-transform-CXFCVk8z.js} +1 -1
- package/dist/client/assets/{use-unclaimed-chats--HZdmq4F.js → use-unclaimed-chats-T3kskM3T.js} +1 -1
- package/dist/client/assets/use-update-config-BhLEnZe5.js +1 -0
- package/dist/client/assets/{useMutationState-DIywUTDG.js → useMutationState-6Zu1xBsZ.js} +1 -1
- package/dist/client/assets/{usecaseDiagram-WPOLBNNX-C9aLJ03F.js → usecaseDiagram-WPOLBNNX-CUu-YUIY.js} +1 -1
- package/dist/client/assets/{vennDiagram-Q3Y3IDCW-ChBIWbL0.js → vennDiagram-Q3Y3IDCW-CfA29THe.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-IVAIDKWA-DvQDOaTm.js → wardleyDiagram-IVAIDKWA-CrARcH-W.js} +1 -1
- package/dist/client/assets/{xychartDiagram-4URNHDU4-8FxLPP2c.js → xychartDiagram-4URNHDU4-BCVaXTG3.js} +1 -1
- package/dist/client/assets/{zap-DSllMMHe.js → zap-C-pr1sst.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/drizzle/20261108035027_dor3547_extension_grant_subject.sql +30 -0
- package/dist/drizzle/meta/20261108035027_snapshot.json +15121 -0
- package/dist/drizzle/meta/_journal.json +7 -0
- package/dist/server/extension-child.cjs +19 -3
- package/dist/server/index.js +13162 -12123
- package/dist/server/index.js.map +2 -2
- package/package.json +2 -2
- package/dist/client/assets/CanvasFileContent-Bqd0IEfK.js +0 -2
- package/dist/client/assets/CanvasModel3dContent-DqL0Sy4r.js +0 -2
- package/dist/client/assets/HandlePage-aHId3bYX.js +0 -1
- package/dist/client/assets/NamePage-C7F-SotG.js +0 -1
- package/dist/client/assets/NewDirectMessageMenu-CjBjzsDe.js +0 -1
- package/dist/client/assets/PermissionHistory-D0chstxf.js +0 -1
- package/dist/client/assets/PhotoPage-Cqo3PNO_.js +0 -1
- package/dist/client/assets/_shell._home.index-BzTYr8Bw.js +0 -3
- package/dist/client/assets/_shell.connections-CBx0ogzx.js +0 -1
- package/dist/client/assets/_shell.marketplace-CgWBUKSA.js +0 -1
- package/dist/client/assets/_shell.marketplace_.sources-8HZpKFDI.js +0 -1
- package/dist/client/assets/_shell.session-D6HcVbnm.js +0 -1
- package/dist/client/assets/_shell.threads-BavVtQOE.js +0 -1
- package/dist/client/assets/_shell.todos-B6uWr0zA.js +0 -6
- package/dist/client/assets/_shell.x._extensionId-DaELdkCH.js +0 -1
- package/dist/client/assets/_shell.x._extensionId_._-DaELdkCH.js +0 -1
- package/dist/client/assets/channel-A3XT7_2L.js +0 -1
- package/dist/client/assets/index-BJRgbiEd.js +0 -1
- package/dist/client/assets/index-BcFn_S6b.js +0 -1
- package/dist/client/assets/index-BdVQOlVQ.css +0 -1
- package/dist/client/assets/index-C5EvpXcq.js +0 -1
- package/dist/client/assets/index-DZhMvc9m.js +0 -1
- package/dist/client/assets/progress-BA2JPtb6.js +0 -6
- package/dist/client/assets/registry-jD9zw538.js +0 -1
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-f6MOc3pl.js +0 -8
- package/dist/client/assets/use-is-below-desktop-LUZL5z5t.js +0 -1
- package/dist/client/assets/use-pending-read-mVsOBTzn.js +0 -1
- package/dist/client/assets/use-update-config-DjL7-nUR.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{O as De,
|
|
1
|
+
import{O as De,aW as Me,a5 as ne,r as a,j$ as He,k0 as Q,k1 as Y,k2 as U,gu as ie,k3 as Ce,dR as J,k4 as ee,aP as dt,Y as ut,a7 as oe,k5 as ft,k6 as ht,k7 as pt,k8 as mt,a_ as Te,k9 as xt,j as e,x as Fe,U as gt,C as Ue,as as yt,eB as be,ka as vt,G as Oe,kb as Ct,kc as bt,kd as kt,ke as Z,kf as ve,bO as de,bP as ue,bQ as fe,bR as he,bS as pe,bT as me,bU as xe,bW as ge,B as W,ba as jt,eQ as Ae,kg as wt,kh as Et,a6 as ce,ki as qe,ff as Rt,kj as Nt,kk as St,kl as Dt,km as Tt,aR as ke,kn as Qe,a8 as Be,gs as Pe,a4 as Ft,h0 as Ot,ei as Le,ko as Pt,gH as _t,kp as Mt,d2 as At,d3 as Lt,d5 as zt,d6 as $t,d7 as It,e_ as Kt,I as Ht,d$ as Ut}from"./index-B2JoVHek.js";import{t as ae,g as qt,C as Qt,n as Ge,r as We,a as Bt,p as Gt,F as Wt,w as Yt,c as Ye,b as Vt}from"./room-files-source-C32w3dXr.js";import{N as ls,R as cs}from"./room-files-source-C32w3dXr.js";import{d as Xt}from"./query-keys-DeYqUDia.js";import{r as Zt,c as Jt}from"./composer-insert-BpyATrmR.js";import{u as en}from"./index-BchQNMCW.js";import{r as Ve,h as Xe,F as tn}from"./file-drag-GDx2qhdk.js";import{R as Ze}from"./rotate-cw-BTqPAMgP.js";import{L as nn}from"./link-2-CZiWX9vI.js";import{F as Je}from"./file-DZ6-r1A3.js";import{G as et}from"./git-branch-CzV_Mp0H.js";import{M as sn}from"./more-details-D9_Bn2GL.js";import"./markdown-content-FcvkqTTS.js";import"./file-exclamation-point-CR6qeV6m.js";/**
|
|
2
2
|
* @license lucide-react v1.48.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -13,5 +13,5 @@ import{O as De,aV as Me,a5 as ne,r as a,k0 as He,k1 as Q,k2 as W,k3 as U,gu as i
|
|
|
13
13
|
*
|
|
14
14
|
* This source code is licensed under the ISC license.
|
|
15
15
|
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
-
*/const at={name:"upload",size:24,node:[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]};at.node;const rn=De(at);function le(t,n,r){return["file-explorer","tree",t.scopeKey,n,t.filtersHidden?r:null]}function we(t,n,r,m){return{queryKey:le(t,n,r),queryFn:()=>t.list(n,{showHidden:r}),staleTime:Me.FILE_TREE_STALE_TIME_MS,gcTime:Me.FILE_TREE_GC_TIME_MS,refetchOnWindowFocus:!0,placeholderData:f=>f??m.getQueryData(le(t,n,!r))}}const on=[".git",".dork",".claude",".agents","node_modules"];function ln(t){return t.startsWith(".")||on.includes(t)}const Ne=["ROOM.md","README.md"];function Se(t){return Ne.some(n=>n.toLowerCase()===t.toLowerCase())}function rt(t){return t.filter(n=>!ln(n.name))}function cn(t){if(t.reduce((f,g)=>g.type==="file"&&Se(g.name)?f+1:f,0)===0)return t;const r=[],m=[];for(const f of t)f.type==="file"&&Se(f.name)?r.push(f):m.push(f);return r.sort((f,g)=>Ne.findIndex(s=>s.toLowerCase()===f.name.toLowerCase())-Ne.findIndex(s=>s.toLowerCase()===g.name.toLowerCase())),[...r,...m]}const dn=/ copy(?: \d+)?$/;function _e({name:t,isDir:n,taken:r}){const m=new Set(r);if(!m.has(t))return t;const f=n?-1:t.lastIndexOf("."),g=f>0,s=g?t.slice(f):"",p=(g?t.slice(0,f):t).replace(dn,"");for(let o=1;;o+=1){const i=o===1?`${p} copy${s}`:`${p} copy ${o}${s}`;if(!m.has(i))return i}}function ze(t,n,r){return{name:n,path:t,type:r,size:0,mtime:Date.now(),isSymlink:!1}}function un(t){const n=ne(),{source:r,showHidden:m,queryClient:f,inFlightRef:g}=t,s=r.cwd??"",[p,o]=a.useState(null),i=a.useCallback(async u=>{g.current+=1;try{return await u()}finally{g.current-=1}},[g]),d=a.useMemo(()=>{const u=x=>le(r,x,m);return{getChildren:x=>{var w;return((w=f.getQueryData(u(x)))==null?void 0:w.entries)??[]},isLoaded:x=>f.getQueryData(u(x))!==void 0,takenNames:async x=>(await n.readFileTree(s,{path:x===Q?void 0:x,showHidden:!0})).entries.map(k=>k.name),snapshot:x=>f.getQueryData(u(x)),setChildren:(x,w)=>{f.setQueryData(u(x),k=>({entries:He(w((k==null?void 0:k.entries)??[]))}))},restore:(x,w)=>{f.setQueryData(u(x),w)},invalidate:x=>{f.invalidateQueries({queryKey:u(x),exact:!0}),f.invalidateQueries({queryKey:Xt.index(s)})}}},[f,n,s,r,m]),N=a.useCallback((u,x,w)=>i(async()=>{const k=ee(u,x),D=!d.getChildren(u).some(L=>L.path===k),H=d.snapshot(u);D&&d.setChildren(u,L=>[...L,ze(k,x,w)]);try{return await n.createEntry(s,k,w),!0}catch(L){return D&&d.restore(u,H),ae(L,`Couldn’t create ${w==="dir"?"folder":"file"}`),!1}finally{d.invalidate(u)}}),[n,s,d,i]),F=a.useCallback((u,x)=>i(async()=>{if(x===u.name||x.length===0)return!0;const w=W(u.path),k=ee(w,x),D=d.getChildren(w).some(A=>A.path===k),H=d.snapshot(w),L={...u,name:x,path:k};D||d.setChildren(w,A=>A.map(K=>K.path===u.path?L:K));try{return await n.renameEntry(s,u.path,k),U.getState().remapExpandedPaths(u.path,k),!0}catch(A){return D||d.restore(w,H),ae(A,"Couldn’t rename"),!1}finally{d.invalidate(w)}}),[n,s,d,i]),E=a.useCallback(u=>i(async()=>{const x=W(u.path),w=d.snapshot(x);d.setChildren(x,k=>k.filter(D=>D.path!==u.path));try{await n.deleteEntry(s,u.path,{recursive:!0}),U.getState().dropExpandedPaths(u.path)}catch(k){d.restore(x,w),ae(k,"Couldn’t delete")}finally{d.invalidate(x)}}),[n,s,d,i]),M=a.useCallback(u=>i(async()=>{const x=W(u.path);if(u.type==="file"){const w=d.snapshot(x);d.setChildren(x,k=>k.filter(D=>D.path!==u.path));try{await n.deleteEntry(s,u.path),U.getState().dropExpandedPaths(u.path)}catch(k){d.restore(x,w),ae(k,"Couldn’t delete")}finally{d.invalidate(x)}return}try{await n.deleteEntry(s,u.path),d.setChildren(x,w=>w.filter(k=>k.path!==u.path)),U.getState().dropExpandedPaths(u.path),d.invalidate(x)}catch(w){if(qt(w)==="DIR_NOT_EMPTY"){o(u);return}ae(w,"Couldn’t delete")}}),[n,s,d,i]),b=a.useCallback(async()=>{const u=p;o(null),u&&await E(u)},[p,E]),$=a.useCallback(()=>o(null),[]),I=a.useCallback((u,x)=>i(async()=>{const w=W(u),k=ie(u),D=ee(x,k);if(x===w||D===u||Ce(x,u))return;const H=d.getChildren(w).find(C=>C.path===u);if(!H)return;const L=d.isLoaded(x),A=L&&d.getChildren(x).some(C=>C.path===D),K={...H,name:k,path:D},G=d.snapshot(w),O=L?d.snapshot(x):void 0;d.setChildren(w,C=>C.filter(z=>z.path!==u)),L&&!A&&d.setChildren(x,C=>[...C,K]);try{await n.renameEntry(s,u,D),U.getState().remapExpandedPaths(u,D)}catch(C){d.restore(w,G),L&&!A&&d.restore(x,O),ae(C,"Couldn’t move")}finally{d.invalidate(w),L&&d.invalidate(x)}}),[n,s,d,i]),v=a.useCallback((u,x)=>i(async()=>{if(u.isDir&&Ce(x,u.path)){J.error(Qt);return}let w;try{w=await d.takenNames(x)}catch(A){ae(A,"Couldn’t copy");return}const k=_e({name:ie(u.path),isDir:u.isDir,taken:w}),D=ee(x,k),H=d.isLoaded(x),L=H?d.snapshot(x):void 0;if(H){const A=d.getChildren(W(u.path)).find(G=>G.path===u.path),K=A?{...A,name:k,path:D}:ze(D,k,u.isDir?"dir":"file");d.setChildren(x,G=>[...G,K])}try{await n.copyEntry(s,u.path,D)}catch(A){H&&d.restore(x,L),ae(A,"Couldn’t copy")}finally{d.invalidate(x)}}),[n,s,d,i]);return{createEntry:N,renameEntry:F,removeEntry:M,moveEntry:I,copyEntry:v,pendingRecursiveDelete:p,confirmRecursiveDelete:b,cancelRecursiveDelete:$}}function fn(t){return t!=null&&t.startsWith("darwin")?"Reveal in Finder":t!=null&&t.startsWith("win32")?"Reveal in File Explorer":"Show in file manager"}function hn(t,n){const r=t.includes("\\")&&!t.includes("/"),m=t.replace(/[\\/]+$/,""),f=r?n.split("/").join("\\"):n;return`${m}${r?"\\":"/"}${f}`}function pn(t){const n=ne(),{data:r}=dt(),m=a.useMemo(()=>n.supportsReveal?fn(r==null?void 0:r.platform):null,[n.supportsReveal,r==null?void 0:r.platform]),f=a.useCallback(async i=>{if(t)try{await n.revealEntry(t,i.path)}catch(d){ae(d,"Couldn’t open the file manager")}},[n,t]),{copy:g}=ut(),s=a.useCallback(async(i,d)=>{const N=d==="absolute"&&t?hn(t,i.path):i.path;await g(N)||J.error("Couldn’t copy to the clipboard")},[t,g]),p=a.useCallback(i=>{Zt(Jt(i.path))||J.error("Open a chat to add this file")},[]),o=a.useCallback(i=>{U.getState().setClipboard({path:i.path,isDir:i.type==="dir"});try{navigator.clipboard.writeText(i.path).catch(()=>{})}catch{}},[]);return{revealLabel:m,reveal:f,copyPath:s,addToChat:p,copyToClipboard:o}}const mn=1e3;function xn(t){const{source:n,showHidden:r,queryClient:m,inFlightRef:f}=t,g=n.changes,[s,p]=a.useState(null),[o,i]=a.useState(null),[d,N]=a.useState(null),[F,E]=a.useState(0),M=a.useCallback(async c=>{f.current+=1,E(h=>h+1);try{return await c()}finally{f.current-=1,E(h=>h-1)}},[f]),b=a.useMemo(()=>{const c=h=>le(n,h,r);return{listing:h=>m.getQueryData(c(h)),isLoaded:h=>m.getQueryData(c(h))!==void 0,entries:h=>{var T;return((T=m.getQueryData(c(h)))==null?void 0:T.entries)??[]},setEntries:(h,T)=>m.setQueryData(c(h),y=>({...y,entries:He(T((y==null?void 0:y.entries)??[]))})),restore:(h,T)=>m.setQueryData(c(h),T),fetch:h=>n.list(h,{showHidden:!0}),refreshAll:()=>{m.invalidateQueries({queryKey:["file-explorer","tree",n.scopeKey]}),m.invalidateQueries({queryKey:["file-explorer","preview",n.scopeKey]})}}},[m,n,r]),$=a.useCallback(async c=>{const h=b.listing(c);return(h==null?void 0:h.commit)!==void 0?h.commit:(await b.fetch(c)).commit??null},[b]),I=a.useCallback((c,h,T,y)=>{switch(c.status){case"changed":return!0;case"conflict":return N({kind:h,path:c.path,lastCommit:c.lastCommit,retry:()=>T(c.commit)}),!1;case"exists":return J.error(y===void 0?c.reason:Ge(y)),!1;case"refused":return J.error(c.reason),!1}},[]),v=a.useCallback((c,h)=>{J.error(Ye(c)??h)},[]),u=a.useCallback((c,h,T)=>{const y=P=>M(async()=>{if(g===void 0)return!1;const R=W(c.path),S=W(h),j=ie(h),q=b.isLoaded(S),te=q&&b.entries(S).some(X=>X.path===h),V=b.listing(R),ye=S===R?void 0:b.listing(S),l={...c,name:j,path:h};te||(S===R?b.setEntries(R,X=>X.map(se=>se.path===c.path?l:se)):(b.setEntries(R,X=>X.filter(se=>se.path!==c.path)),q&&b.setEntries(S,X=>[...X,l])));const _=()=>{b.restore(R,V),S!==R&&q&&b.restore(S,ye)};try{const X=P??await $(R);if(X===null)return _(),J.error("This room has no files to change yet."),!1;const se=await g.move({from:c.path,to:h,baseCommit:X}),Ee=I(se,T,async re=>{await y(re)},j);return Ee?U.getState().remapExpandedPaths(c.path,h):_(),Ee}catch(X){return _(),v(X,T==="rename"?"Couldn’t rename":"Couldn’t move"),!1}finally{b.refreshAll()}});return y(null)},[g,b,M,$,I,v]),x=a.useCallback(async(c,h)=>h===c.name||h.length===0?!0:u(c,ee(W(c.path),h),"rename"),[u]),w=a.useCallback(async(c,h)=>{const T=W(c),y=ee(h,ie(c));if(h===T||y===c||Ce(h,c))return;const P=b.entries(T).find(R=>R.path===c);P&&await u(P,y,"move")},[b,u]),k=a.useCallback(async c=>{let h=0;const T=[c];for(;T.length>0;){const y=T.shift(),P=await b.fetch(y);for(const R of P.entries)if(R.type==="dir"?T.push(R.path):h+=1,h>=mn)return{count:h,moreThan:!0}}return{count:h,moreThan:!1}},[b]),D=a.useCallback(c=>{if(c.type!=="dir"){p({entry:c,fileCount:1,moreThan:!1});return}p({entry:c,fileCount:null,moreThan:!1}),k(c.path).then(({count:h,moreThan:T})=>p(y=>(y==null?void 0:y.entry.path)===c.path?{entry:c,fileCount:h,moreThan:T}:y),()=>{})},[k]),H=a.useCallback(c=>{const h=T=>M(async()=>{if(g===void 0)return;const y=W(c.path),P=b.listing(y);b.setEntries(y,R=>R.filter(S=>S.path!==c.path));try{const R=T??await $(y);if(R===null){b.restore(y,P);return}const S=await g.remove({path:c.path,baseCommit:R});I(S,"delete",q=>h(q))?U.getState().dropExpandedPaths(c.path):b.restore(y,P)}catch(R){b.restore(y,P),v(R,"Couldn’t delete")}finally{b.refreshAll()}});return h(null)},[g,b,M,$,I,v]),L=a.useCallback(async()=>{const c=s;p(null),c&&await H(c.entry)},[s,H]),A=a.useCallback(()=>p(null),[]),K=a.useCallback((c,h,T,y)=>{const P=R=>M(async()=>{if(g===void 0)return;const S=b.isLoaded(c),j=S?b.listing(c):void 0;if(S){const q=new Set(b.entries(c).map(V=>V.name)),te=h.filter(V=>!q.has(V.name)).map(V=>({name:V.name,path:ee(c,V.name),type:"file",size:V.size}));te.length>0&&b.setEntries(c,V=>[...V,...te])}try{const q=await g.upload({dir:c,baseCommit:R,replace:T,files:h});!I(q,"upload",V=>P(V))&&S&&b.restore(c,j)}catch(q){S&&b.restore(c,j),v(q,"Couldn’t upload")}finally{b.refreshAll()}});return P(y)},[g,b,M,I,v]),G=a.useCallback(async(c,h)=>{if(g===void 0||h.length===0)return;if(h.length>g.maxUploadFiles){J.error(`Nothing was uploaded. One upload takes up to ${g.maxUploadFiles} files.`);return}let T;try{T=await b.fetch(c)}catch(j){v(j,"Couldn’t upload");return}const y=T.entries.map(j=>j.name),P=new Set(y),R=h.map(j=>j.name).filter(j=>P.has(j)),S=T.commit??null;if(R.length===0){await K(c,h,[],S);return}i({dir:c,files:h,names:R,taken:y,baseCommit:S})},[g,b,v,K]),O=a.useCallback(async c=>{const h=o;if(i(null),h===null)return;if(c==="replace"){await K(h.dir,h.files,h.names,h.baseCommit);return}const T=new Set([...h.taken,...h.files.map(R=>R.name)]),y=new Set(h.names),P=h.files.map(R=>{if(!y.has(R.name))return R;const S=_e({name:R.name,isDir:!1,taken:T});return T.add(S),new File([R],S,{type:R.type,lastModified:R.lastModified})});await K(h.dir,P,[],h.baseCommit)},[o,K]),C=a.useCallback(()=>i(null),[]),z=a.useCallback(()=>N(null),[]),B=a.useMemo(()=>o===null?null:{dir:o.dir,names:o.names},[o]);return{renameEntry:x,moveEntry:w,requestDelete:D,pendingDelete:s,confirmDelete:L,cancelDelete:A,upload:G,pendingClash:B,resolveClash:O,cancelClash:C,conflict:d,dismissConflict:z,busy:F>0}}const $e={scopeKey:"",cwd:null,writable:!1,provenance:!1,filtersHidden:!0,preview:"canvas",editable:!1,list:()=>Promise.resolve({entries:[]})};function gn(t){var c,h,T;const n=ne(),r=oe(),{setTheme:m}=ft(),f=U(y=>y.showHidden),g=U(y=>y.expanded),s=U(y=>y.loadExplorerForCwd),p=U(y=>y.pruneMissing),o=(t==null?void 0:t.scopeKey)??null,i=(t==null?void 0:t.cwd)??null;a.useEffect(()=>{s(o)},[o,s]);const d=a.useMemo(()=>[Q,...ht(g)],[g]),N=pt({queries:t?d.map(y=>we(t,y,f,r)):[]}),F=(t==null?void 0:t.filtersHidden)??!0,E=a.useMemo(()=>{const y={};return d.forEach((P,R)=>{var q;const S=N[R];let j=((q=S==null?void 0:S.data)==null?void 0:q.entries)??[];!f&&!F&&(j=rt(j)),P===Q&&(j=cn(j)),y[P]={entries:j,loading:(S==null?void 0:S.isLoading)??!1,error:(S==null?void 0:S.isError)??!1}}),y},[d,N,f,F]),M=a.useRef(0),b=a.useRef({});a.useEffect(()=>{M.current>0||d.forEach((y,P)=>{var S,j,q;const R=(j=(S=N[P])==null?void 0:S.data)==null?void 0:j.entries;!R||(q=N[P])!=null&&q.isError||b.current[y]!==R&&(b.current[y]=R,p(y,R.map(te=>te.name)))})},[d,N,p]);const $=a.useMemo(()=>mt(g,E),[g,E]),I=!!t&&!!((c=E[Q])!=null&&c.loading),v=!!t&&!!((h=E[Q])!=null&&h.error),u=(T=N[0])==null?void 0:T.error,x=v&&u?Bt(u):void 0,w=(x==null?void 0:x.message)??null,k=(x==null?void 0:x.command)??null,D=a.useMemo(()=>{var P;const y=new Set;for(const R of d)R!==Q&&((P=E[R])!=null&&P.error)&&y.add(R);return y},[d,E]),H=a.useCallback(y=>{if(y.type!=="dir")return;const P=U.getState();P.setDirExpanded(y.path,!P.expanded[y.path])},[]),L=a.useCallback(y=>{if(y===Q)return;const P=U.getState();P.expanded[y]||P.setDirExpanded(y,!0)},[]),A=(t==null?void 0:t.preview)==="canvas",K=a.useCallback(y=>{if(y.type!=="file"||!A)return;const P={getStore:Te.getState,setTheme:m,supportsTerminal:n.supportsTerminal};xt(P,{action:"open_file",sourcePath:y.path},"user")},[A,m,n]),G=a.useCallback(()=>{o!==null&&r.invalidateQueries({queryKey:["file-explorer","tree",o]})},[r,o]),O=a.useCallback(y=>{t!==null&&r.invalidateQueries({queryKey:le(t,y,f),exact:!0})},[r,t,f]);a.useEffect(()=>{if(t!=null&&t.events)return t.events(G)},[t,G]);const C=un({source:t??$e,showHidden:f,queryClient:r,inFlightRef:M}),z=xn({source:t??$e,showHidden:f,queryClient:r,inFlightRef:M}),B=pn(i);return{rows:$,rootLoading:I,rootError:v,rootErrorMessage:w,rootErrorCommand:k,errorPaths:D,toggleExpand:H,ensureExpanded:L,openFile:K,reload:G,retryDir:O,changes:t!=null&&t.changes?z:null,...C,...B}}function yn(t){const{transport:n,cwd:r}=t;return{scopeKey:r,cwd:r,writable:!0,provenance:!1,filtersHidden:!0,preview:"canvas",editable:!1,list(m,f){return n.readFileTree(r,{path:m===""?void 0:m,showHidden:f.showHidden})}}}function je(t){return Array.from(t).includes("Files")}function ot(t){const n=Array.from(t.items??[]);if(!(n.length>0&&n.every(g=>"webkitGetAsEntry"in g)))return{files:Array.from(t.files??[]),folders:0};const m=[];let f=0;for(const g of n){if(g.kind!=="file")continue;const s=g.webkitGetAsEntry();if(s!=null&&s.isDirectory){f+=1;continue}const p=g.getAsFile();p&&m.push(p)}return{files:m,folders:f}}const vn=12;function Cn({row:t,selected:n,renaming:r,error:m,onSelect:f,onActivate:g,onRetry:s,onSubmitRename:p,onCancelRename:o,onNewFile:i,onNewFolder:d,onStartRename:N,onDelete:F,onMove:E,onCopyInto:M,onCopy:b,onPaste:$,onDuplicate:I,canPasteInto:v,revealLabel:u,onReveal:x,onAddToChat:w,onCopyPath:k,readOnly:D=!1,provenance:H=!1,copyable:L=!0,onDisk:A=!0,onUpload:K,onPickUpload:G}){const{entry:O,depth:C,expanded:z,loading:B}=t,c=O.type==="dir",h=c?O.path:W(O.path),[T,y]=a.useState(!1),P=!c&&C===0&&Se(O.name),R=Gt(O.lastCommit),S=e.jsxs("div",{role:"treeitem","aria-label":O.name,"aria-expanded":c?z:void 0,"aria-selected":n,tabIndex:-1,onKeyDown:j=>{(j.key==="Enter"||j.key===" ")&&(j.preventDefault(),f(O),g(O))},draggable:!r&&!D,onDragStart:j=>{D||(j.dataTransfer.setData("text/plain",O.path),j.dataTransfer.setData(tn,O.path),j.dataTransfer.effectAllowed="copyMove")},onDragOver:j=>{if(j.stopPropagation(),!D&&K&&je(j.dataTransfer.types)){j.preventDefault(),j.dataTransfer.dropEffect="copy",y(!0);return}D||!c||!Xe(j.dataTransfer.types)||(j.preventDefault(),j.dataTransfer.dropEffect=j.altKey&&L?"copy":"move",y(!0))},onDragLeave:()=>y(!1),onDrop:j=>{if(j.stopPropagation(),D)return;if(y(!1),K&&je(j.dataTransfer.types)){j.preventDefault();const{files:te}=ot(j.dataTransfer);K(h,te);return}if(!c)return;const q=Ve(j.dataTransfer);q!==null&&(j.preventDefault(),j.altKey&&L?M(q,O.path):E(q,O.path))},onClick:()=>{f(O),g(O)},className:Oe("flex w-full cursor-pointer items-center gap-1 py-1 pr-2 text-sm transition-colors",n?"bg-accent text-foreground":"hover:bg-accent/50",T&&"ring-ring/60 bg-accent ring-1"),style:{paddingLeft:C*vn+8},children:[e.jsx("span",{className:"flex size-4 flex-shrink-0 items-center justify-center",children:c&&(B?e.jsx(Fe,{size:"xs",className:"text-muted-foreground"}):m?e.jsx("button",{type:"button","aria-label":"Retry loading",title:"Couldn’t load. Retry",onClick:j=>{j.stopPropagation(),s()},className:"flex items-center justify-center",children:e.jsx(Ze,{className:"text-destructive size-3.5"})}):z?e.jsx(gt,{className:"text-muted-foreground size-3.5"}):e.jsx(Ue,{className:"text-muted-foreground size-3.5"}))}),c?z?e.jsx(yt,{className:"size-(--size-icon-sm) flex-shrink-0 text-sky-500"}):e.jsx(be,{className:"size-(--size-icon-sm) flex-shrink-0 text-sky-500"}):O.isSymlink===!0?e.jsx(nn,{className:"text-muted-foreground size-(--size-icon-sm) flex-shrink-0"}):e.jsx(Je,{className:"text-muted-foreground size-(--size-icon-sm) flex-shrink-0"}),r?e.jsx(bn,{initialName:O.name,onSubmit:j=>p(O,j),onCancel:o}):e.jsx("span",{className:"min-w-0 flex-1 truncate",children:O.name}),P&&!r&&e.jsx(vt,{"aria-label":"Pinned to the top",className:"text-muted-foreground/60 size-3 flex-shrink-0"}),H&&!r&&e.jsx("span",{className:"text-muted-foreground/70 text-2xs max-w-[45%] flex-shrink-0 truncate tabular-nums",title:R.title??void 0,children:R.label})]});return D?S:e.jsxs(Ct,{children:[e.jsx(bt,{asChild:!0,children:S}),e.jsxs(kt,{className:"w-52",children:[e.jsx(Z,{movesFocus:!0,onClick:()=>i(h),children:"New file"}),e.jsx(Z,{movesFocus:!0,onClick:()=>d(h),children:"New folder"}),G&&e.jsx(Z,{onClick:()=>G(h),children:"Upload files…"}),A&&e.jsxs(e.Fragment,{children:[e.jsx(ve,{}),u&&e.jsx(Z,{onClick:()=>x(O),children:u}),e.jsx(Z,{movesFocus:!0,onClick:()=>w(O),children:"Add to chat"})]}),L&&e.jsxs(e.Fragment,{children:[e.jsx(ve,{}),e.jsx(Z,{onClick:()=>b(O),children:"Copy"}),e.jsx(Z,{disabled:!v(h),onClick:()=>$(h),children:"Paste"}),e.jsx(Z,{onClick:()=>I(O),children:"Duplicate"})]}),e.jsx(ve,{}),A?e.jsxs(e.Fragment,{children:[e.jsx(Z,{onClick:()=>k(O,"absolute"),children:"Copy path"}),e.jsx(Z,{onClick:()=>k(O,"relative"),children:"Copy relative path"})]}):e.jsx(Z,{onClick:()=>k(O,"relative"),children:"Copy path"}),e.jsx(ve,{}),e.jsx(Z,{movesFocus:!0,onClick:()=>N(O),children:"Rename"}),e.jsx(Z,{variant:"destructive",onClick:()=>F(O),children:"Delete"})]})]})}function bn({initialName:t,onSubmit:n,onCancel:r}){const m=a.useRef(null),[f,g]=a.useState(t);a.useEffect(()=>{const p=m.current;if(!p)return;p.focus();const o=t.lastIndexOf(".");p.setSelectionRange(0,o>0?o:t.length)},[t]);const s=()=>{const p=f.trim();p&&p!==t?n(p):r()};return e.jsx("input",{ref:m,type:"text",value:f,"aria-label":"New name",onChange:p=>g(p.target.value),onClick:p=>p.stopPropagation(),onBlur:s,onKeyDown:p=>{p.stopPropagation(),p.key==="Enter"?s():p.key==="Escape"&&r()},className:"border-border bg-background focus-ring min-w-0 flex-1 rounded border px-1 py-0 text-sm outline-none"})}const kn=100,jn=28,wn=250;function En(t){const{rows:n,selectedPath:r,renamingPath:m,errorPaths:f,onSelectPath:g,onRetryDir:s}=t,p=a.useRef(null),o=U(C=>C.setScrollTop),i=U(C=>C.scopeKey),d=a.useCallback(C=>C.type==="dir"?t.onToggle(C):t.onOpen(C),[t]),N=Nn(t,d),F=n.length>kn,E=en({count:n.length,getScrollElement:()=>p.current,estimateSize:()=>jn,overscan:12,enabled:F}),M=a.useRef({scope:void 0,done:!1}),b=a.useRef(null);a.useLayoutEffect(()=>{const C=M.current;if(C.scope!==i&&(C.scope=i,C.done=!1),C.done||n.length===0)return;const z=p.current;if(!z)return;const B=U.getState().scrollTop;if(B<=0){C.done=!0;return}F?E.scrollToOffset(B):z.scrollTop=B,b.current=z.scrollTop,z.scrollTop>=B&&(C.done=!0)},[n.length,i,F,E]);const $=a.useRef(null),I=a.useRef(null),v=a.useCallback(()=>{const C=p.current;C&&C.scrollTop!==b.current&&(M.current.done=!0,$.current=C.scrollTop,I.current&&clearTimeout(I.current),I.current=setTimeout(()=>{I.current=null,$.current!==null&&o($.current)},wn))},[o]);a.useEffect(()=>()=>{I.current&&clearTimeout(I.current),$.current!==null&&o($.current)},[o]);const u=a.useRef(void 0);a.useEffect(()=>{var c,h;const C=u.current;if(u.current=r,C===void 0||r===C||r===null)return;const z=n.findIndex(T=>T.entry.path===r);if(z<0)return;const B=p.current;B&&(F?E.scrollToIndex(z,{align:"auto"}):(h=(c=B.querySelector(`[data-row-index="${z}"]`))==null?void 0:c.scrollIntoView)==null||h.call(c,{block:"nearest"}),b.current=B.scrollTop)},[r,n,F,E]);const[x,w]=a.useState(!1),{onCopyInto:k,onMove:D}=t,H=t.readOnly===!0,L=t.copyable!==!1,A=a.useCallback(C=>{H||!Xe(C.dataTransfer.types)||(C.preventDefault(),C.dataTransfer.dropEffect=C.altKey&&L?"copy":"move",w(!0))},[H,L]),K=a.useCallback((C,z)=>{const B=n.find(c=>c.entry.path===C);B&&k({path:C,isDir:B.entry.type==="dir"},z)},[n,k]),G=a.useCallback(C=>{if(w(!1),H)return;const z=Ve(C.dataTransfer);z!==null&&(C.preventDefault(),C.altKey&&L?K(z,Q):D(z,Q))},[K,D,H,L]),O=C=>e.jsx(Cn,{row:C,selected:C.entry.path===r,renaming:C.entry.path===m,error:C.entry.type==="dir"&&C.expanded&&f.has(C.entry.path),onSelect:z=>g(z.path),onActivate:d,onRetry:()=>s(C.entry.path),onSubmitRename:t.onSubmitRename,onCancelRename:t.onCancelRename,onStartRename:t.onStartRename,onNewFile:t.onNewFile,onNewFolder:t.onNewFolder,onDelete:t.onDelete,onMove:t.onMove,onCopyInto:K,onCopy:t.onCopy,onPaste:t.onPaste,onDuplicate:t.onDuplicate,canPasteInto:t.canPasteInto,revealLabel:t.revealLabel,onReveal:t.onReveal,onAddToChat:t.onAddToChat,onCopyPath:t.onCopyPath,readOnly:t.readOnly,provenance:t.provenance,copyable:t.copyable,onDisk:t.onDisk,onUpload:t.onUpload,onPickUpload:t.onPickUpload});return e.jsx("div",{ref:p,role:"tree","aria-label":"File explorer",tabIndex:0,onKeyDown:N,onScroll:v,onDragOver:A,onDragLeave:()=>w(!1),onDrop:G,className:Oe("focus-visible:ring-ring h-full overflow-auto outline-none focus-visible:ring-1 focus-visible:ring-inset",x&&"ring-ring/60 bg-accent/30 ring-1 ring-inset"),children:F?e.jsx("div",{style:{height:E.getTotalSize()},className:"relative w-full",children:E.getVirtualItems().map(C=>e.jsx("div",{"data-row-index":C.index,className:"absolute top-0 left-0 w-full",style:{transform:`translateY(${C.start}px)`},children:O(n[C.index])},n[C.index].entry.path))}):n.map((C,z)=>e.jsx("div",{"data-row-index":z,children:O(C)},C.entry.path))})}function Rn(t){return t?t.type==="dir"?t.path:W(t.path):Q}function Nn(t,n){const{rows:r,selectedPath:m,renamingPath:f,onSelectPath:g}=t;return a.useCallback(s=>{var i,d,N,F;if(f!==null)return;const p=r.findIndex(E=>E.entry.path===m),o=p>=0?r[p]:void 0;if(s.metaKey||s.ctrlKey){if(t.readOnly===!0||t.copyable===!1)return;const E=s.key.toLowerCase();if(E==="c"&&o){s.preventDefault(),t.onCopy(o.entry);return}if(E==="v"){s.preventDefault(),t.onPaste(Rn(o==null?void 0:o.entry));return}return}switch(s.key){case"ArrowDown":s.preventDefault(),g(((i=r[Math.min(p+1,r.length-1)])==null?void 0:i.entry.path)??((d=r[0])==null?void 0:d.entry.path));break;case"ArrowUp":s.preventDefault(),g(((N=r[Math.max(p-1,0)])==null?void 0:N.entry.path)??((F=r[0])==null?void 0:F.entry.path));break;case"ArrowRight":(o==null?void 0:o.entry.type)==="dir"&&!o.expanded&&(s.preventDefault(),t.onToggle(o.entry));break;case"ArrowLeft":if(!o)break;if(s.preventDefault(),o.entry.type==="dir"&&o.expanded)t.onToggle(o.entry);else{const E=W(o.entry.path);E&&g(E)}break;case"Enter":o&&(s.preventDefault(),n(o.entry));break;case"F2":o&&t.readOnly!==!0&&(s.preventDefault(),t.onStartRename(o.entry));break;case"Delete":case"Backspace":o&&t.readOnly!==!0&&(s.preventDefault(),t.onDelete(o.entry));break}},[r,m,f,g,t,n])}const Sn={rename:"Rename it anyway",move:"Move it anyway",delete:"Delete it anyway",upload:"Upload mine over it"},Dn={rename:"nothing was renamed",move:"nothing was moved",delete:"nothing was deleted",upload:"nothing was uploaded"};function Tn(t){const{entry:n,fileCount:r,moreThan:m}=t;if(n.type!=="dir")return`“${n.name}” leaves the room’s files.`;const f=r===null?"everything in it":m?`the more than ${r.toLocaleString()} files in it`:r===1?"the 1 file in it":`the ${r.toLocaleString()} files in it`;return`“${n.name}” and ${f} leave the room’s files.`}const Fn="The room’s history keeps a copy. An agent can restore it.";function On({changes:t,onOpenTheirs:n,onReturnFocus:r}){var E;const m=M=>{M.preventDefault();const b=document.activeElement;b!==null&&b!==document.body||r()},{pendingDelete:f,pendingClash:g,conflict:s}=t,[p,o]=a.useState(f);f!==null&&f!==p&&o(f);const[i,d]=a.useState(g);g!==null&&g!==i&&d(g);const N=i===null?"":i.dir===Q?"The top folder":`“${i.dir}”`,F=(i==null?void 0:i.names.length)===1;return e.jsxs(e.Fragment,{children:[e.jsx(de,{open:f!==null,onOpenChange:M=>!M&&t.cancelDelete(),children:e.jsxs(ue,{onCloseAutoFocus:m,children:[e.jsxs(fe,{children:[e.jsx(he,{children:p===null?"":`Delete “${p.entry.name}”?`}),e.jsx(pe,{asChild:!0,children:e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{children:p===null?"":Tn(p)}),e.jsx("p",{children:Fn})]})})]}),e.jsxs(me,{children:[e.jsx(xe,{onClick:t.cancelDelete,children:"Cancel"}),e.jsx(ge,{onClick:()=>void t.confirmDelete(),variant:"destructive",children:(p==null?void 0:p.entry.type)==="dir"?"Delete folder":"Delete file"})]})]})}),e.jsx(de,{open:g!==null,onOpenChange:M=>!M&&t.cancelClash(),children:e.jsxs(ue,{onCloseAutoFocus:m,children:[e.jsxs(fe,{children:[e.jsx(he,{children:F?`Replace “${i==null?void 0:i.names[0]}”?`:`Replace ${(i==null?void 0:i.names.length)??0} files?`}),e.jsx(pe,{children:F?`${N} already has a file with this name. Replace it, or keep both.`:`${N} already has files named ${(i==null?void 0:i.names.join(", "))??""}. Replace them, or keep both.`})]}),e.jsxs(me,{children:[e.jsx(xe,{onClick:t.cancelClash,children:"Cancel"}),e.jsx(Y,{variant:"outline",onClick:()=>void t.resolveClash("keep-both"),children:"Keep both"}),e.jsx(ge,{onClick:()=>void t.resolveClash("replace"),children:"Replace"})]})]})}),e.jsx(de,{open:s!==null,onOpenChange:M=>!M&&t.dismissConflict(),children:e.jsxs(ue,{onCloseAutoFocus:m,children:[e.jsxs(fe,{children:[e.jsx(he,{children:"Somebody changed this first"}),e.jsx(pe,{children:s===null?"":`${((E=s.lastCommit)==null?void 0:E.author)??"Somebody"} changed “${s.path}” after you opened it, so ${Dn[s.kind]}.`})]}),(s==null?void 0:s.lastCommit)&&e.jsxs("p",{className:"text-muted-foreground text-xs",children:[s.lastCommit.subject," · ",jt(s.lastCommit.at)]}),e.jsxs(me,{children:[e.jsx(xe,{onClick:t.dismissConflict,children:"Cancel"}),e.jsx(Y,{variant:"outline",onClick:()=>{s!==null&&(t.dismissConflict(),n(s.path))},children:"Open their version"}),e.jsx(ge,{onClick:()=>{s!==null&&(t.dismissConflict(),s.retry())},variant:"destructive",children:s===null?"":Sn[s.kind]})]})]})})]})}function Ie(t,n){return n.name===t?Ge(t):`“${n.name}” is already there. Some computers ignore capital letters in names. Pick another name.`}const Pn="Folders can’t be uploaded. Drop the files inside instead.";function _n({source:t,className:n,onCommands:r}={}){var ye;const m=ne(),f=Te(l=>l.selectedCwd),g=a.useMemo(()=>f?yn({transport:m,cwd:f}):null,[m,f]),s=t===void 0?g:t,p=s!==null&&!s.writable,o=gn(s),i=o.changes,d=oe(),N=U(l=>l.showHidden),{rows:F,rootLoading:E,rootError:M,rootErrorMessage:b,rootErrorCommand:$,errorPaths:I}=o,v=U(l=>l.setCommands),u=U(l=>l.selectedPath),x=U(l=>l.setSelectedPath),w=U(l=>l.clipboard),[k,D]=a.useState(null),[H,L]=a.useState(null),[A,K]=a.useState(null),G=a.useCallback(l=>K(l===null?null:{path:l,isNew:!1}),[]),O=a.useRef(null),C=a.useRef(Q),[z,B]=a.useState(!1),c=a.useCallback((l,_)=>{if(i!==null){if(_.length===0){J.error(Pn);return}o.ensureExpanded(l),i.upload(l,_)}},[i,o]),h=a.useRef(null),T=a.useCallback(()=>{var l,_;(_=(l=h.current)==null?void 0:l.querySelector('[role="tree"]'))==null||_.focus()},[]),y=a.useCallback(l=>{var _;C.current=l,(_=O.current)==null||_.click()},[]),P=a.useCallback(l=>w!==null&&!(w.isDir&&Ce(l,w.path)),[w]),R=a.useCallback((l,_)=>{o.ensureExpanded(l),Ae.flushSync(()=>{L(null),D({parent:l,type:_})})},[o]),S=a.useCallback(l=>{Ae.flushSync(()=>L(l.path))},[]),j=a.useRef({startCreate:R,reload:o.reload,pickUpload:y});a.useEffect(()=>{j.current={startCreate:R,reload:o.reload,pickUpload:y}});const q=i!==null;a.useEffect(()=>{if(p||r===void 0&&q)return;const l=r??v;return l({newFile:()=>j.current.startCreate(Q,"file"),newFolder:()=>j.current.startCreate(Q,"dir"),refresh:()=>j.current.reload(),...q&&{upload:()=>j.current.pickUpload(Q)}}),()=>l(null)},[v,r,p,q]);const te=a.useCallback(async l=>{var se;if(!k||s===null)return;const _=k;if(D(null),i!==null){const re=(((se=d.getQueryData(le(s,_.parent,N)))==null?void 0:se.entries)??[]).find(ct=>ct.name.toLowerCase()===l.toLowerCase());if(_.type==="dir"){if(re!==void 0&&!(re.type==="dir"&&re.name===l)){J.error(Ie(l,re));return}D({parent:ee(_.parent,l),type:"file",firstInFolder:l});return}if(re!==void 0){J.error(Ie(l,re));return}const lt=ee(_.parent,l);K({path:lt,isNew:!0});return}await o.createEntry(_.parent,l,_.type)&&x(ee(_.parent,l))},[k,s,i,d,N,o,x]),V=a.useCallback(async(l,_)=>{L(null),(i?await i.renameEntry(l,_):await o.renameEntry(l,_))&&x(ee(W(l.path),_))},[i,o,x]);return s===null?t!==void 0?null:e.jsx("div",{className:"text-muted-foreground flex h-full items-center justify-center p-6 text-center text-sm",children:"Pick a folder to see its files."}):e.jsxs("div",{ref:h,className:Oe("flex h-full flex-col",z&&"ring-ring/60 bg-accent/30 ring-1 ring-inset",n),onDragOver:l=>{i===null||!je(l.dataTransfer.types)||(l.preventDefault(),l.dataTransfer.dropEffect="copy",B(!0))},onDragLeave:l=>{l.currentTarget.contains(l.relatedTarget)||B(!1)},onDrop:l=>{B(!1),!(i===null||!je(l.dataTransfer.types))&&(l.preventDefault(),c(Q,ot(l.dataTransfer).files))},children:[i!==null&&e.jsx("input",{ref:O,type:"file",multiple:!0,hidden:!0,"aria-hidden":!0,tabIndex:-1,"data-testid":"room-files-upload-input",onChange:l=>{const _=Array.from(l.target.files??[]);l.target.value="",c(C.current,_)}}),e.jsxs("div",{className:"min-h-0 flex-1",children:[k&&e.jsx(Mn,{type:k.type,firstInFolder:k.firstInFolder,onSubmit:l=>void te(l),onCancel:()=>D(null)},`${k.parent}:${k.type}:${k.firstInFolder??""}`),E&&F.length===0?e.jsx("div",{className:"flex h-20 items-center justify-center",children:e.jsx(Fe,{size:"md",className:"text-muted-foreground",label:"Loading files"})}):M&&F.length===0?e.jsxs("div",{className:"text-muted-foreground flex min-h-20 flex-col items-center justify-center gap-2 px-4 py-3 text-center text-xs [overflow-wrap:anywhere]",children:[e.jsx("span",{children:b??"Couldn’t load files."}),$!==null&&e.jsx("code",{"aria-label":"Command that removes the settings",className:"bg-muted text-foreground block w-full rounded px-2 py-1.5 text-left font-mono select-all",children:$}),e.jsxs(Y,{variant:"outline",size:"xs",onClick:o.reload,children:[e.jsx(Ze,{}),"Retry"]})]}):F.length===0&&!k?e.jsx("div",{className:"text-muted-foreground/60 flex h-20 items-center justify-center px-4 text-center text-xs",children:i!==null?"No files yet. Drop files here, or use Upload.":"Empty folder"}):e.jsx(En,{rows:F,selectedPath:u,renamingPath:H,errorPaths:I,onSelectPath:x,onToggle:o.toggleExpand,onOpen:l=>{s.preview==="inline"?G(l.path):o.openFile(l)},onRetryDir:o.retryDir,onSubmitRename:(l,_)=>void V(l,_),onCancelRename:()=>L(null),onStartRename:S,onNewFile:l=>R(l,"file"),onNewFolder:l=>R(l,"dir"),onDelete:l=>i?i.requestDelete(l):void o.removeEntry(l),onMove:(l,_)=>void(i?i.moveEntry(l,_):o.moveEntry(l,_)),onCopyInto:(l,_)=>void o.copyEntry(l,_),onCopy:o.copyToClipboard,onPaste:l=>{w&&o.copyEntry(w,l)},onDuplicate:l=>void o.copyEntry({path:l.path,isDir:l.type==="dir"},W(l.path)),canPasteInto:P,readOnly:p,provenance:s.provenance,copyable:i===null,onDisk:s.cwd!==null,onUpload:i?c:void 0,onPickUpload:i?y:void 0,revealLabel:o.revealLabel,onReveal:l=>void o.reveal(l),onAddToChat:o.addToChat,onCopyPath:(l,_)=>void o.copyPath(l,_)})]}),s.preview==="inline"&&e.jsx(Yt,{source:s,path:(A==null?void 0:A.path)??null,isNew:(A==null?void 0:A.isNew)??!1,onCreated:()=>{A!==null&&(K({path:A.path,isNew:!1}),x(A.path))},onClose:()=>K(null)}),i!==null&&e.jsx(On,{changes:i,onOpenTheirs:l=>G(l),onReturnFocus:T}),e.jsx(de,{open:o.pendingRecursiveDelete!==null,onOpenChange:l=>!l&&o.cancelRecursiveDelete(),children:e.jsxs(ue,{children:[e.jsxs(fe,{children:[e.jsxs(he,{children:["Delete “",(ye=o.pendingRecursiveDelete)==null?void 0:ye.name,"”?"]}),e.jsx(pe,{children:"This folder isn’t empty. Everything inside is deleted. This can’t be undone."})]}),e.jsxs(me,{children:[e.jsx(xe,{onClick:o.cancelRecursiveDelete,children:"Cancel"}),e.jsx(ge,{onClick:()=>void o.confirmRecursiveDelete(),variant:"destructive",children:"Delete folder"})]})]})})]})}function Mn({type:t,firstInFolder:n,onSubmit:r,onCancel:m}){const f=a.useRef(null),[g,s]=a.useState("");a.useEffect(()=>{var i;(i=f.current)==null||i.focus()},[]);const p=()=>{const i=g.trim();i?r(i):m()},o=e.jsxs("div",{className:"flex items-center gap-1",children:[t==="dir"?e.jsx(be,{className:"size-(--size-icon-sm) flex-shrink-0 text-sky-500"}):e.jsx(Je,{className:"text-muted-foreground size-(--size-icon-sm) flex-shrink-0"}),e.jsx("input",{ref:f,type:"text",value:g,"aria-label":n!==void 0?`First file in ${n}`:t==="dir"?"New folder name":"New file name",placeholder:t==="dir"?"folder-name":"file-name",onChange:i=>s(i.target.value),onBlur:p,onKeyDown:i=>{i.key==="Enter"?p():i.key==="Escape"&&m()},className:"border-border bg-background focus-ring min-w-0 flex-1 rounded border px-1 py-0 text-sm outline-none"})]});return n===void 0?e.jsx("div",{className:"px-3 py-1",children:o}):e.jsxs("div",{className:"space-y-1 px-3 py-1",children:[e.jsxs("p",{className:"text-muted-foreground flex min-w-0 items-center gap-1 text-xs",children:[e.jsx(be,{className:"size-(--size-icon-xs) flex-shrink-0 text-sky-500"}),e.jsx("span",{className:"truncate",children:n})]}),o,e.jsx("p",{className:"text-muted-foreground text-2xs",children:"Name its first file. The folder appears on save."})]})}function it(){const t=U(m=>m.showHidden),n=U(m=>m.setShowHidden),r=t?"Hide hidden files":"Show hidden files";return e.jsx(Y,{variant:"ghost",size:"icon-xs","aria-label":r,title:r,onClick:()=>n(!t),children:t?e.jsx(wt,{className:"text-muted-foreground"}):e.jsx(Et,{className:"text-muted-foreground"})})}function An({cwd:t}){const n=ne(),{data:r}=ce({queryKey:["file-explorer","workspace",t],queryFn:()=>n.resolveWorkspace(t),staleTime:6e4});return r!=null&&r.branch?e.jsxs("span",{className:"text-muted-foreground bg-muted/50 text-2xs inline-flex min-w-0 items-center gap-1 rounded px-1.5 py-0.5",title:`Workspace ${r.key} on ${r.branch}`,children:[e.jsx(et,{className:"size-3 flex-shrink-0"}),e.jsx("span",{className:"truncate",children:r.branch})]}):null}function ss(){const t=Te(r=>r.selectedCwd),n=U(r=>r.commands);return t?e.jsxs(e.Fragment,{children:[e.jsx(An,{cwd:t}),e.jsx(Y,{variant:"ghost",size:"icon-xs","aria-label":"New file",title:"New file",onClick:()=>n==null?void 0:n.newFile(),children:e.jsx(st,{className:"text-muted-foreground"})}),e.jsx(Y,{variant:"ghost",size:"icon-xs","aria-label":"New folder",title:"New folder",onClick:()=>n==null?void 0:n.newFolder(),children:e.jsx(qe,{className:"text-muted-foreground"})}),e.jsx(it,{}),e.jsx(Y,{variant:"ghost",size:"icon-xs","aria-label":"Refresh",title:"Refresh",onClick:()=>n==null?void 0:n.refresh(),children:e.jsx(Rt,{className:"text-muted-foreground"})})]}):null}function Ln({roomId:t}){const n=ne(),r=oe(),m=ce(Qe(n,t));a.useEffect(()=>Wt(r,t,()=>{r.invalidateQueries({queryKey:ke.repoStatus(t)})}),[r,t]);const f=a.useMemo(()=>{var o;return((o=m.data)==null?void 0:o.kind)==="ok"?Nt(m.data.status):[]},[m.data]),g=St(f),s=Dt(f);if(!s)return null;const p=f.map((o,i)=>`${g[i]}: ${Tt(o)}`);return e.jsxs("span",{"data-slot":"pending-work-badge",title:p.join(`
|
|
17
|
-
`),className:"text-muted-foreground bg-muted/50 text-2xs inline-flex min-w-0 items-center gap-1 rounded px-1.5 py-0.5",children:[e.jsx(et,{className:"size-3 flex-shrink-0"}),e.jsxs("span",{className:"sr-only",children:["Not merged into the room yet. ",p.join(". "),"."]}),e.jsx("span",{"aria-hidden":"true",className:"truncate",children:s})]})}const zn={added:"added",modified:"changed",deleted:"deleted",untracked:"new"},$n=new Map([["OPERATOR_ONLY","Only the owner of this DorkOS can keep or discard these."],["ROOM_FILE_NOT_FOUND","One of those changes is gone, so nothing was discarded. The list is refreshed."],["MERGE_IN_FLIGHT","Something else is writing to these files. Nothing changed. Try again in a moment."],["MAIN_CHECKOUT_DIRTY","These files are on another branch. Switch them back to main yourself."],["ROOM_REPO_GIT_UNAVAILABLE","Room files need git, and git isn’t installed on this computer."],["ROOM_HAS_NO_REPO","This room no longer has its own files."],["ROOM_REPOS_DISABLED","Room files are turned off on this install."]]);function In({roomId:t}){var $,I;const n=ne(),r=oe(),m=ce(Qe(n,t)),[f,g]=a.useState([]),[s,p]=a.useState(!1),[o,i]=a.useState(null),d=Be({mutationFn:v=>n.repairRoomMain(t,v),onSuccess:()=>{g([]),p(!1),i(null),r.invalidateQueries({queryKey:ke.repoStatus(t)})},onError:v=>{p(!1);const u=$n.get(Pe(v)??"");i(u??"Couldn’t update the files. Try again in a moment."),r.invalidateQueries({queryKey:ke.repoStatus(t)})}});if((($=m.data)==null?void 0:$.kind)==="unavailable")return e.jsx("p",{role:"alert","data-slot":"room-main-warning",className:"border-border/60 text-muted-foreground rounded-lg border px-3 py-2.5 text-xs",children:"Couldn’t check this room’s files. Saves may not work. Try again soon."});const N=((I=m.data)==null?void 0:I.kind)==="ok"?m.data.status.main:void 0;if(N===void 0||!N.dirty)return null;const F=N.branch!=="main",E=f.filter(v=>N.strays.some(u=>u.path===v)),M=s&&E.length>0,b=v=>g(u=>u.includes(v)?u.filter(x=>x!==v):[...u,v]);return e.jsxs("div",{"data-slot":"room-main-warning",className:"border-border/60 bg-muted/40 space-y-3 rounded-lg border px-3 py-2.5 text-sm",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(Ft,{className:"text-muted-foreground mt-0.5 size-(--size-icon-sm) flex-shrink-0"}),e.jsxs("div",{className:"min-w-0 space-y-1",children:[e.jsxs("div",{role:"alert",className:"space-y-1",children:[e.jsx("p",{className:"font-medium",children:"Somebody changed this room’s files outside DorkOS"}),F?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-muted-foreground text-xs",children:`This room’s files are on ${N.branch??"no branch"}, not main.`}),e.jsx("p",{className:"text-muted-foreground text-xs",children:"Saves and agent merges wait until they’re back on main."})]}):e.jsx("p",{className:"text-muted-foreground text-xs",children:"Saves and agent merges wait until you keep or discard these."})]}),F&&e.jsx(sn,{className:"text-xs",children:e.jsx("p",{children:"DorkOS won’t switch the branch for you. There may be work on it."})})]})]}),!F&&e.jsxs(e.Fragment,{children:[e.jsx("ul",{className:"space-y-1.5",children:N.strays.map(v=>e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx(Ot,{id:`stray-${t}-${v.path}`,checked:E.includes(v.path),onCheckedChange:()=>b(v.path),disabled:d.isPending}),e.jsx("label",{htmlFor:`stray-${t}-${v.path}`,className:"min-w-0 flex-1 cursor-pointer truncate font-mono text-xs",title:v.path,children:v.path}),e.jsx("span",{className:"text-muted-foreground flex-shrink-0 text-xs",children:zn[v.kind]})]},v.path))}),N.strayCount>N.strays.length&&e.jsxs("p",{className:"text-muted-foreground text-xs",children:["…and ",N.strayCount-N.strays.length," more not shown. “Keep them all” keeps these too."]}),M?e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-xs",children:E.length===1?"Discard this change? It can’t be undone.":`Discard these ${E.length} changes? They can’t be undone.`}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx(Y,{type:"button",variant:"ghost",size:"sm",disabled:d.isPending,onClick:()=>p(!1),children:"Cancel"}),e.jsx(Y,{type:"button",variant:"destructive",size:"sm",disabled:d.isPending,onClick:()=>d.mutate({action:"discard",paths:[...E]}),children:E.length===1?"Discard change":`Discard ${E.length} changes`})]})]}):e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx(Y,{type:"button",variant:"outline",size:"sm",disabled:d.isPending,onClick:()=>d.mutate({action:"commit"}),children:"Keep them all"}),e.jsx(Y,{type:"button",variant:"ghost",size:"sm",disabled:d.isPending||E.length===0,onClick:()=>p(!0),children:E.length===0?"Discard…":`Discard ${E.length}`})]})]}),o!==null&&e.jsx("p",{role:"alert",className:"text-destructive text-xs",children:o})]})}const Re="pointer-coarse:size-11",Kn=new Map([["ROOM_REPOS_DISABLED","Room files are turned off for this DorkOS."],["ROOM_REPO_GIT_UNAVAILABLE","Git isn’t available on this computer."],["MERGE_IN_FLIGHT","This room’s files are busy. Try again."],["ROOM_ARCHIVED","Bring this room back before setting up files."]]);function Hn(t){const n=Kn.get(Pe(t)??"");return n||(t instanceof TypeError||t instanceof Error&&/fetch|offline|network/i.test(t.message)?"You’re offline. Try again when this computer reconnects.":"Couldn’t set up files. Try again.")}function as({roomId:t,canChange:n,canSetUp:r=!1}){const m=ne(),f=oe(),g=U(v=>v.showHidden),[s,p]=a.useState(null),[o,i]=a.useState(!1),d=a.useMemo(()=>We({transport:m,queryClient:f,roomId:t,canChange:n}),[m,f,t,n]),N=we(d,Q,g,f),F=ce(N),E=Be({mutationFn:async()=>{try{return await m.enableRoomRepo(t)}catch(v){if(Pe(v)==="ROOM_REPO_EXISTS")return null;throw v}},onSuccess:async()=>{i(!1),await Promise.all([f.invalidateQueries({queryKey:N.queryKey}),f.invalidateQueries({queryKey:ke.repoStatus(t)})])}}),M=F.isSuccess&&F.data.absent===!0,b=F.isSuccess&&!M||F.isError,[$,I]=a.useState(null);if(b&&$!==t&&I(t),!b&&$!==t&&!M)return null;if(M){if(!r)return null;const v=E.isError?Hn(E.error):null;return e.jsxs("section",{"aria-label":"Room files",className:"space-y-2",children:[e.jsxs("header",{className:"flex items-center gap-2",children:[e.jsx(Le,{className:"text-muted-foreground size-(--size-icon-sm) shrink-0"}),e.jsx("h3",{className:"text-muted-foreground text-xs font-medium tracking-wide uppercase",children:"Files"})]}),e.jsxs("div",{className:"border-border/60 flex items-center justify-between gap-3 rounded-lg border px-3 py-2.5",children:[e.jsx("p",{className:"text-muted-foreground text-sm",children:"This room has no shared files."}),e.jsx(Y,{type:"button",size:"sm",variant:"outline",className:"shrink-0 pointer-coarse:min-h-11",onClick:()=>{E.reset(),i(!0)},children:"Set up files…"})]}),v!==null&&e.jsx("p",{role:"alert",className:"text-status-danger text-xs",children:v}),e.jsx(de,{open:o,onOpenChange:i,children:e.jsxs(ue,{className:"max-sm:top-auto max-sm:bottom-0 max-sm:translate-y-0 max-sm:rounded-b-none",children:[e.jsxs(fe,{children:[e.jsx(he,{children:"Set up files for this room?"}),e.jsx(pe,{children:"This creates shared files and ROOM.md for everyone here. It can’t be undone."})]}),v!==null&&e.jsx("p",{role:"alert",className:"text-status-danger text-sm",children:v}),e.jsxs(me,{children:[e.jsx(xe,{className:"pointer-coarse:min-h-11",children:"Cancel"}),e.jsxs(ge,{className:"pointer-coarse:min-h-11",disabled:E.isPending,onClick:u=>{u.preventDefault(),E.mutate()},children:[E.isPending&&e.jsx(Pt,{className:"animate-spin"}),E.isPending?"Setting up…":"Set up files"]})]})]})})]})}return e.jsxs("section",{"aria-label":"Room files",className:"space-y-2",children:[e.jsxs("header",{className:"flex items-center gap-2",children:[e.jsx(Le,{className:"text-muted-foreground size-(--size-icon-sm) flex-shrink-0"}),e.jsx("h3",{className:"text-muted-foreground text-xs font-medium tracking-wide uppercase",children:"Files"}),e.jsx("div",{className:"min-w-0 flex-1",children:e.jsx(Ln,{roomId:t})}),n&&e.jsxs(e.Fragment,{children:[e.jsx(Y,{variant:"ghost",size:"icon-xs",className:Re,"aria-label":"New file",title:"New file",disabled:s===null,onClick:()=>s==null?void 0:s.newFile(),children:e.jsx(st,{className:"text-muted-foreground"})}),e.jsx(Y,{variant:"ghost",size:"icon-xs",className:Re,"aria-label":"New folder",title:"New folder",disabled:s===null,onClick:()=>s==null?void 0:s.newFolder(),children:e.jsx(qe,{className:"text-muted-foreground"})}),e.jsx(Y,{variant:"ghost",size:"icon-xs",className:Re,"aria-label":"Upload files",title:"Upload files",disabled:(s==null?void 0:s.upload)===void 0,onClick:()=>{var v;return(v=s==null?void 0:s.upload)==null?void 0:v.call(s)},children:e.jsx(rn,{className:"text-muted-foreground"})})]}),e.jsx(it,{})]}),e.jsx(In,{roomId:t}),e.jsx("div",{"data-slot":"room-files-body",className:"border-border/60 h-72 overflow-hidden rounded-lg border",children:e.jsx(_n,{source:d,onCommands:p})})]})}function rs({roomId:t,attachment:n}){var i;const r=ne(),m=oe(),f=a.useMemo(()=>We({transport:r,queryClient:m,roomId:t}),[r,m,t]),g=ce(we(f,Q,!1,m)),[s,p]=a.useState(!1),o=_t(t);return!g.isSuccess||g.data.absent===!0||((i=o.data)==null?void 0:i.archived)!==!1?null:e.jsxs(e.Fragment,{children:[e.jsx(Y,{type:"button",variant:"ghost",size:"icon-xs","aria-label":`Save ${n.name} to the room’s files`,title:"Save to room files",className:"text-muted-foreground hover:text-foreground mt-0.5 pointer-coarse:size-11",onClick:()=>p(!0),children:e.jsx(Mt,{})}),s&&e.jsx(Un,{roomId:t,source:f,attachment:n,onClose:()=>p(!1)})]})}function Un({roomId:t,source:n,attachment:r,onClose:m}){const f=ne(),g=oe(),[s,p]=a.useState(Q),[o,i]=a.useState(r.name),[d,N]=a.useState(null),[F,E]=a.useState(!1),M=a.useId(),b=ce(we(n,s,!1,g)),$=a.useMemo(()=>{var v;return rt(((v=b.data)==null?void 0:v.entries)??[]).filter(u=>u.type==="dir")},[b.data]),I=async()=>{var u,x;const v=o.trim();if(v!==""){E(!0),N(null);try{await f.saveAttachmentToRoomFiles(t,{attachmentId:r.id,dir:s,name:v,baseCommit:((u=b.data)==null?void 0:u.commit)??null}),g.invalidateQueries({queryKey:["file-explorer","tree",n.scopeKey]}),J.success(`Saved ${v} to the room’s files`),m()}catch(w){let k;try{k=Vt(w,g,t)}catch{k={status:"refused",reason:Ye(w)??"Couldn’t save. Try again in a moment."}}if(k.status==="exists"){const D=(((x=b.data)==null?void 0:x.entries)??[]).map(H=>H.name);N({reason:`This folder already has a file called “${v}”. Pick another name.`,suggestion:_e({name:v,isDir:!1,taken:[...D,v]})})}else k.status==="conflict"?(N({reason:"This folder changed while you chose, so nothing was saved. Try again."}),b.refetch()):k.status==="refused"&&N({reason:k.reason})}finally{E(!1)}}};return e.jsx(At,{open:!0,onOpenChange:v=>!v&&m(),children:e.jsxs(Lt,{className:"sm:max-w-md",children:[e.jsxs(zt,{children:[e.jsx($t,{children:"Save to room files"}),e.jsx(It,{children:"Everyone in the room, and their agents, can find it there."})]}),e.jsxs(Kt,{className:"space-y-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-muted-foreground text-xs font-medium",children:"Folder"}),e.jsxs("div",{role:"group","aria-label":"Folders",className:"border-border/60 max-h-56 overflow-auto rounded-md border",children:[e.jsx("p",{className:"bg-muted/40 truncate px-3 py-1.5 font-mono text-xs",children:s===Q?"Top folder":`${s}/`}),s!==Q&&e.jsx(Ke,{label:"Up one folder",icon:e.jsx(an,{className:"text-muted-foreground size-(--size-icon-sm)"}),onClick:()=>p(W(s))}),b.isPending?e.jsx("div",{className:"flex h-12 items-center justify-center",children:e.jsx(Fe,{size:"sm",className:"text-muted-foreground",label:"Loading folders"})}):$.length===0?e.jsx("p",{className:"text-muted-foreground px-3 py-2 text-xs",children:"No folders in here."}):$.map(v=>e.jsx(Ke,{label:v.name,icon:e.jsx(be,{className:"size-(--size-icon-sm) text-sky-500"}),chevron:!0,onClick:()=>p(ee(s,ie(v.path)))},v.path))]})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{htmlFor:M,className:"text-muted-foreground text-xs font-medium",children:"Name"}),e.jsx(Ht,{id:M,value:o,onChange:v=>{i(v.target.value),N(null)},spellCheck:!1,autoComplete:"off"})]}),d!==null&&e.jsxs("div",{role:"alert",className:"text-destructive space-y-1 text-xs",children:[e.jsx("p",{children:d.reason}),d.suggestion!==void 0&&e.jsxs(Y,{type:"button",variant:"outline",size:"xs",onClick:()=>{i(d.suggestion),N(null)},children:["Use “",d.suggestion,"”"]})]})]}),e.jsxs(Ut,{className:"gap-2",children:[e.jsx(Y,{type:"button",variant:"ghost",onClick:m,children:"Cancel"}),e.jsx(Y,{type:"button",disabled:F||o.trim()===""||b.isPending,onClick:()=>void I(),children:F?"Saving…":s===Q?"Save to the top folder":`Save to ${ie(s)}`})]})]})})}function Ke({label:t,icon:n,chevron:r=!1,onClick:m}){return e.jsxs("button",{type:"button",onClick:m,className:"hover:bg-accent/50 focus-visible:bg-accent flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm outline-none",children:[n,e.jsx("span",{className:"min-w-0 flex-1 truncate",children:t}),r&&e.jsx(Ue,{className:"text-muted-foreground size-3.5"})]})}export{_n as FileExplorer,ss as FileExplorerActions,Yt as FilePreviewDialog,on as HIDDEN_ENTRY_NAMES,it as HiddenEntriesToggle,ls as NO_PROVENANCE,Ne as PINNED_ENTRY_NAMES,cs as ROOM_FILES_REFRESH_INTERVAL_MS,as as RoomFilesSection,rs as SaveToRoomFilesButton,We as createRoomFilesSource,yn as createSessionCwdSource,le as explorerDirQueryKey,we as explorerDirQueryOptions,ln as isHiddenEntryName,Se as isPinnedEntryName,cn as pinnedFirst,Gt as provenanceLine,Qe as roomRepoStatusQueryOptions,rt as withoutHidden};
|
|
16
|
+
*/const at={name:"upload",size:24,node:[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]};at.node;const rn=De(at);function le(t,n,r){return["file-explorer","tree",t.scopeKey,n,t.filtersHidden?r:null]}function we(t,n,r,m){return{queryKey:le(t,n,r),queryFn:()=>t.list(n,{showHidden:r}),staleTime:Me.FILE_TREE_STALE_TIME_MS,gcTime:Me.FILE_TREE_GC_TIME_MS,refetchOnWindowFocus:!0,placeholderData:f=>f??m.getQueryData(le(t,n,!r))}}const on=[".git",".dork",".claude",".agents","node_modules"];function ln(t){return t.startsWith(".")||on.includes(t)}const Ne=["ROOM.md","README.md"];function Se(t){return Ne.some(n=>n.toLowerCase()===t.toLowerCase())}function rt(t){return t.filter(n=>!ln(n.name))}function cn(t){if(t.reduce((f,g)=>g.type==="file"&&Se(g.name)?f+1:f,0)===0)return t;const r=[],m=[];for(const f of t)f.type==="file"&&Se(f.name)?r.push(f):m.push(f);return r.sort((f,g)=>Ne.findIndex(s=>s.toLowerCase()===f.name.toLowerCase())-Ne.findIndex(s=>s.toLowerCase()===g.name.toLowerCase())),[...r,...m]}const dn=/ copy(?: \d+)?$/;function _e({name:t,isDir:n,taken:r}){const m=new Set(r);if(!m.has(t))return t;const f=n?-1:t.lastIndexOf("."),g=f>0,s=g?t.slice(f):"",p=(g?t.slice(0,f):t).replace(dn,"");for(let o=1;;o+=1){const i=o===1?`${p} copy${s}`:`${p} copy ${o}${s}`;if(!m.has(i))return i}}function ze(t,n,r){return{name:n,path:t,type:r,size:0,mtime:Date.now(),isSymlink:!1}}function un(t){const n=ne(),{source:r,showHidden:m,queryClient:f,inFlightRef:g}=t,s=r.cwd??"",[p,o]=a.useState(null),i=a.useCallback(async u=>{g.current+=1;try{return await u()}finally{g.current-=1}},[g]),d=a.useMemo(()=>{const u=x=>le(r,x,m);return{getChildren:x=>{var w;return((w=f.getQueryData(u(x)))==null?void 0:w.entries)??[]},isLoaded:x=>f.getQueryData(u(x))!==void 0,takenNames:async x=>(await n.readFileTree(s,{path:x===Q?void 0:x,showHidden:!0})).entries.map(k=>k.name),snapshot:x=>f.getQueryData(u(x)),setChildren:(x,w)=>{f.setQueryData(u(x),k=>({entries:He(w((k==null?void 0:k.entries)??[]))}))},restore:(x,w)=>{f.setQueryData(u(x),w)},invalidate:x=>{f.invalidateQueries({queryKey:u(x),exact:!0}),f.invalidateQueries({queryKey:Xt.index(s)})}}},[f,n,s,r,m]),N=a.useCallback((u,x,w)=>i(async()=>{const k=ee(u,x),D=!d.getChildren(u).some(L=>L.path===k),H=d.snapshot(u);D&&d.setChildren(u,L=>[...L,ze(k,x,w)]);try{return await n.createEntry(s,k,w),!0}catch(L){return D&&d.restore(u,H),ae(L,`Couldn’t create ${w==="dir"?"folder":"file"}`),!1}finally{d.invalidate(u)}}),[n,s,d,i]),F=a.useCallback((u,x)=>i(async()=>{if(x===u.name||x.length===0)return!0;const w=Y(u.path),k=ee(w,x),D=d.getChildren(w).some(A=>A.path===k),H=d.snapshot(w),L={...u,name:x,path:k};D||d.setChildren(w,A=>A.map(K=>K.path===u.path?L:K));try{return await n.renameEntry(s,u.path,k),U.getState().remapExpandedPaths(u.path,k),!0}catch(A){return D||d.restore(w,H),ae(A,"Couldn’t rename"),!1}finally{d.invalidate(w)}}),[n,s,d,i]),E=a.useCallback(u=>i(async()=>{const x=Y(u.path),w=d.snapshot(x);d.setChildren(x,k=>k.filter(D=>D.path!==u.path));try{await n.deleteEntry(s,u.path,{recursive:!0}),U.getState().dropExpandedPaths(u.path)}catch(k){d.restore(x,w),ae(k,"Couldn’t delete")}finally{d.invalidate(x)}}),[n,s,d,i]),M=a.useCallback(u=>i(async()=>{const x=Y(u.path);if(u.type==="file"){const w=d.snapshot(x);d.setChildren(x,k=>k.filter(D=>D.path!==u.path));try{await n.deleteEntry(s,u.path),U.getState().dropExpandedPaths(u.path)}catch(k){d.restore(x,w),ae(k,"Couldn’t delete")}finally{d.invalidate(x)}return}try{await n.deleteEntry(s,u.path),d.setChildren(x,w=>w.filter(k=>k.path!==u.path)),U.getState().dropExpandedPaths(u.path),d.invalidate(x)}catch(w){if(qt(w)==="DIR_NOT_EMPTY"){o(u);return}ae(w,"Couldn’t delete")}}),[n,s,d,i]),b=a.useCallback(async()=>{const u=p;o(null),u&&await E(u)},[p,E]),$=a.useCallback(()=>o(null),[]),I=a.useCallback((u,x)=>i(async()=>{const w=Y(u),k=ie(u),D=ee(x,k);if(x===w||D===u||Ce(x,u))return;const H=d.getChildren(w).find(C=>C.path===u);if(!H)return;const L=d.isLoaded(x),A=L&&d.getChildren(x).some(C=>C.path===D),K={...H,name:k,path:D},G=d.snapshot(w),O=L?d.snapshot(x):void 0;d.setChildren(w,C=>C.filter(z=>z.path!==u)),L&&!A&&d.setChildren(x,C=>[...C,K]);try{await n.renameEntry(s,u,D),U.getState().remapExpandedPaths(u,D)}catch(C){d.restore(w,G),L&&!A&&d.restore(x,O),ae(C,"Couldn’t move")}finally{d.invalidate(w),L&&d.invalidate(x)}}),[n,s,d,i]),v=a.useCallback((u,x)=>i(async()=>{if(u.isDir&&Ce(x,u.path)){J.error(Qt);return}let w;try{w=await d.takenNames(x)}catch(A){ae(A,"Couldn’t copy");return}const k=_e({name:ie(u.path),isDir:u.isDir,taken:w}),D=ee(x,k),H=d.isLoaded(x),L=H?d.snapshot(x):void 0;if(H){const A=d.getChildren(Y(u.path)).find(G=>G.path===u.path),K=A?{...A,name:k,path:D}:ze(D,k,u.isDir?"dir":"file");d.setChildren(x,G=>[...G,K])}try{await n.copyEntry(s,u.path,D)}catch(A){H&&d.restore(x,L),ae(A,"Couldn’t copy")}finally{d.invalidate(x)}}),[n,s,d,i]);return{createEntry:N,renameEntry:F,removeEntry:M,moveEntry:I,copyEntry:v,pendingRecursiveDelete:p,confirmRecursiveDelete:b,cancelRecursiveDelete:$}}function fn(t){return t!=null&&t.startsWith("darwin")?"Reveal in Finder":t!=null&&t.startsWith("win32")?"Reveal in File Explorer":"Show in file manager"}function hn(t,n){const r=t.includes("\\")&&!t.includes("/"),m=t.replace(/[\\/]+$/,""),f=r?n.split("/").join("\\"):n;return`${m}${r?"\\":"/"}${f}`}function pn(t){const n=ne(),{data:r}=dt(),m=a.useMemo(()=>n.supportsReveal?fn(r==null?void 0:r.platform):null,[n.supportsReveal,r==null?void 0:r.platform]),f=a.useCallback(async i=>{if(t)try{await n.revealEntry(t,i.path)}catch(d){ae(d,"Couldn’t open the file manager")}},[n,t]),{copy:g}=ut(),s=a.useCallback(async(i,d)=>{const N=d==="absolute"&&t?hn(t,i.path):i.path;await g(N)||J.error("Couldn’t copy to the clipboard")},[t,g]),p=a.useCallback(i=>{Zt(Jt(i.path))||J.error("Open a chat to add this file")},[]),o=a.useCallback(i=>{U.getState().setClipboard({path:i.path,isDir:i.type==="dir"});try{navigator.clipboard.writeText(i.path).catch(()=>{})}catch{}},[]);return{revealLabel:m,reveal:f,copyPath:s,addToChat:p,copyToClipboard:o}}const mn=1e3;function xn(t){const{source:n,showHidden:r,queryClient:m,inFlightRef:f}=t,g=n.changes,[s,p]=a.useState(null),[o,i]=a.useState(null),[d,N]=a.useState(null),[F,E]=a.useState(0),M=a.useCallback(async c=>{f.current+=1,E(h=>h+1);try{return await c()}finally{f.current-=1,E(h=>h-1)}},[f]),b=a.useMemo(()=>{const c=h=>le(n,h,r);return{listing:h=>m.getQueryData(c(h)),isLoaded:h=>m.getQueryData(c(h))!==void 0,entries:h=>{var T;return((T=m.getQueryData(c(h)))==null?void 0:T.entries)??[]},setEntries:(h,T)=>m.setQueryData(c(h),y=>({...y,entries:He(T((y==null?void 0:y.entries)??[]))})),restore:(h,T)=>m.setQueryData(c(h),T),fetch:h=>n.list(h,{showHidden:!0}),refreshAll:()=>{m.invalidateQueries({queryKey:["file-explorer","tree",n.scopeKey]}),m.invalidateQueries({queryKey:["file-explorer","preview",n.scopeKey]})}}},[m,n,r]),$=a.useCallback(async c=>{const h=b.listing(c);return(h==null?void 0:h.commit)!==void 0?h.commit:(await b.fetch(c)).commit??null},[b]),I=a.useCallback((c,h,T,y)=>{switch(c.status){case"changed":return!0;case"conflict":return N({kind:h,path:c.path,lastCommit:c.lastCommit,retry:()=>T(c.commit)}),!1;case"exists":return J.error(y===void 0?c.reason:Ge(y)),!1;case"refused":return J.error(c.reason),!1}},[]),v=a.useCallback((c,h)=>{J.error(We(c)??h)},[]),u=a.useCallback((c,h,T)=>{const y=P=>M(async()=>{if(g===void 0)return!1;const R=Y(c.path),S=Y(h),j=ie(h),q=b.isLoaded(S),te=q&&b.entries(S).some(X=>X.path===h),V=b.listing(R),ye=S===R?void 0:b.listing(S),l={...c,name:j,path:h};te||(S===R?b.setEntries(R,X=>X.map(se=>se.path===c.path?l:se)):(b.setEntries(R,X=>X.filter(se=>se.path!==c.path)),q&&b.setEntries(S,X=>[...X,l])));const _=()=>{b.restore(R,V),S!==R&&q&&b.restore(S,ye)};try{const X=P??await $(R);if(X===null)return _(),J.error("This room has no files to change yet."),!1;const se=await g.move({from:c.path,to:h,baseCommit:X}),Ee=I(se,T,async re=>{await y(re)},j);return Ee?U.getState().remapExpandedPaths(c.path,h):_(),Ee}catch(X){return _(),v(X,T==="rename"?"Couldn’t rename":"Couldn’t move"),!1}finally{b.refreshAll()}});return y(null)},[g,b,M,$,I,v]),x=a.useCallback(async(c,h)=>h===c.name||h.length===0?!0:u(c,ee(Y(c.path),h),"rename"),[u]),w=a.useCallback(async(c,h)=>{const T=Y(c),y=ee(h,ie(c));if(h===T||y===c||Ce(h,c))return;const P=b.entries(T).find(R=>R.path===c);P&&await u(P,y,"move")},[b,u]),k=a.useCallback(async c=>{let h=0;const T=[c];for(;T.length>0;){const y=T.shift(),P=await b.fetch(y);for(const R of P.entries)if(R.type==="dir"?T.push(R.path):h+=1,h>=mn)return{count:h,moreThan:!0}}return{count:h,moreThan:!1}},[b]),D=a.useCallback(c=>{if(c.type!=="dir"){p({entry:c,fileCount:1,moreThan:!1});return}p({entry:c,fileCount:null,moreThan:!1}),k(c.path).then(({count:h,moreThan:T})=>p(y=>(y==null?void 0:y.entry.path)===c.path?{entry:c,fileCount:h,moreThan:T}:y),()=>{})},[k]),H=a.useCallback(c=>{const h=T=>M(async()=>{if(g===void 0)return;const y=Y(c.path),P=b.listing(y);b.setEntries(y,R=>R.filter(S=>S.path!==c.path));try{const R=T??await $(y);if(R===null){b.restore(y,P);return}const S=await g.remove({path:c.path,baseCommit:R});I(S,"delete",q=>h(q))?U.getState().dropExpandedPaths(c.path):b.restore(y,P)}catch(R){b.restore(y,P),v(R,"Couldn’t delete")}finally{b.refreshAll()}});return h(null)},[g,b,M,$,I,v]),L=a.useCallback(async()=>{const c=s;p(null),c&&await H(c.entry)},[s,H]),A=a.useCallback(()=>p(null),[]),K=a.useCallback((c,h,T,y)=>{const P=R=>M(async()=>{if(g===void 0)return;const S=b.isLoaded(c),j=S?b.listing(c):void 0;if(S){const q=new Set(b.entries(c).map(V=>V.name)),te=h.filter(V=>!q.has(V.name)).map(V=>({name:V.name,path:ee(c,V.name),type:"file",size:V.size}));te.length>0&&b.setEntries(c,V=>[...V,...te])}try{const q=await g.upload({dir:c,baseCommit:R,replace:T,files:h});!I(q,"upload",V=>P(V))&&S&&b.restore(c,j)}catch(q){S&&b.restore(c,j),v(q,"Couldn’t upload")}finally{b.refreshAll()}});return P(y)},[g,b,M,I,v]),G=a.useCallback(async(c,h)=>{if(g===void 0||h.length===0)return;if(h.length>g.maxUploadFiles){J.error(`Nothing was uploaded. One upload takes up to ${g.maxUploadFiles} files.`);return}let T;try{T=await b.fetch(c)}catch(j){v(j,"Couldn’t upload");return}const y=T.entries.map(j=>j.name),P=new Set(y),R=h.map(j=>j.name).filter(j=>P.has(j)),S=T.commit??null;if(R.length===0){await K(c,h,[],S);return}i({dir:c,files:h,names:R,taken:y,baseCommit:S})},[g,b,v,K]),O=a.useCallback(async c=>{const h=o;if(i(null),h===null)return;if(c==="replace"){await K(h.dir,h.files,h.names,h.baseCommit);return}const T=new Set([...h.taken,...h.files.map(R=>R.name)]),y=new Set(h.names),P=h.files.map(R=>{if(!y.has(R.name))return R;const S=_e({name:R.name,isDir:!1,taken:T});return T.add(S),new File([R],S,{type:R.type,lastModified:R.lastModified})});await K(h.dir,P,[],h.baseCommit)},[o,K]),C=a.useCallback(()=>i(null),[]),z=a.useCallback(()=>N(null),[]),B=a.useMemo(()=>o===null?null:{dir:o.dir,names:o.names},[o]);return{renameEntry:x,moveEntry:w,requestDelete:D,pendingDelete:s,confirmDelete:L,cancelDelete:A,upload:G,pendingClash:B,resolveClash:O,cancelClash:C,conflict:d,dismissConflict:z,busy:F>0}}const $e={scopeKey:"",cwd:null,writable:!1,provenance:!1,filtersHidden:!0,preview:"canvas",editable:!1,list:()=>Promise.resolve({entries:[]})};function gn(t){var c,h,T;const n=ne(),r=oe(),{setTheme:m}=ft(),f=U(y=>y.showHidden),g=U(y=>y.expanded),s=U(y=>y.loadExplorerForCwd),p=U(y=>y.pruneMissing),o=(t==null?void 0:t.scopeKey)??null,i=(t==null?void 0:t.cwd)??null;a.useEffect(()=>{s(o)},[o,s]);const d=a.useMemo(()=>[Q,...ht(g)],[g]),N=pt({queries:t?d.map(y=>we(t,y,f,r)):[]}),F=(t==null?void 0:t.filtersHidden)??!0,E=a.useMemo(()=>{const y={};return d.forEach((P,R)=>{var q;const S=N[R];let j=((q=S==null?void 0:S.data)==null?void 0:q.entries)??[];!f&&!F&&(j=rt(j)),P===Q&&(j=cn(j)),y[P]={entries:j,loading:(S==null?void 0:S.isLoading)??!1,error:(S==null?void 0:S.isError)??!1}}),y},[d,N,f,F]),M=a.useRef(0),b=a.useRef({});a.useEffect(()=>{M.current>0||d.forEach((y,P)=>{var S,j,q;const R=(j=(S=N[P])==null?void 0:S.data)==null?void 0:j.entries;!R||(q=N[P])!=null&&q.isError||b.current[y]!==R&&(b.current[y]=R,p(y,R.map(te=>te.name)))})},[d,N,p]);const $=a.useMemo(()=>mt(g,E),[g,E]),I=!!t&&!!((c=E[Q])!=null&&c.loading),v=!!t&&!!((h=E[Q])!=null&&h.error),u=(T=N[0])==null?void 0:T.error,x=v&&u?Bt(u):void 0,w=(x==null?void 0:x.message)??null,k=(x==null?void 0:x.command)??null,D=a.useMemo(()=>{var P;const y=new Set;for(const R of d)R!==Q&&((P=E[R])!=null&&P.error)&&y.add(R);return y},[d,E]),H=a.useCallback(y=>{if(y.type!=="dir")return;const P=U.getState();P.setDirExpanded(y.path,!P.expanded[y.path])},[]),L=a.useCallback(y=>{if(y===Q)return;const P=U.getState();P.expanded[y]||P.setDirExpanded(y,!0)},[]),A=(t==null?void 0:t.preview)==="canvas",K=a.useCallback(y=>{if(y.type!=="file"||!A)return;const P={getStore:Te.getState,setTheme:m,supportsTerminal:n.supportsTerminal};xt(P,{action:"open_file",sourcePath:y.path},"user")},[A,m,n]),G=a.useCallback(()=>{o!==null&&r.invalidateQueries({queryKey:["file-explorer","tree",o]})},[r,o]),O=a.useCallback(y=>{t!==null&&r.invalidateQueries({queryKey:le(t,y,f),exact:!0})},[r,t,f]);a.useEffect(()=>{if(t!=null&&t.events)return t.events(G)},[t,G]);const C=un({source:t??$e,showHidden:f,queryClient:r,inFlightRef:M}),z=xn({source:t??$e,showHidden:f,queryClient:r,inFlightRef:M}),B=pn(i);return{rows:$,rootLoading:I,rootError:v,rootErrorMessage:w,rootErrorCommand:k,errorPaths:D,toggleExpand:H,ensureExpanded:L,openFile:K,reload:G,retryDir:O,changes:t!=null&&t.changes?z:null,...C,...B}}function yn(t){const{transport:n,cwd:r}=t;return{scopeKey:r,cwd:r,writable:!0,provenance:!1,filtersHidden:!0,preview:"canvas",editable:!1,list(m,f){return n.readFileTree(r,{path:m===""?void 0:m,showHidden:f.showHidden})}}}function je(t){return Array.from(t).includes("Files")}function ot(t){const n=Array.from(t.items??[]);if(!(n.length>0&&n.every(g=>"webkitGetAsEntry"in g)))return{files:Array.from(t.files??[]),folders:0};const m=[];let f=0;for(const g of n){if(g.kind!=="file")continue;const s=g.webkitGetAsEntry();if(s!=null&&s.isDirectory){f+=1;continue}const p=g.getAsFile();p&&m.push(p)}return{files:m,folders:f}}const vn=12;function Cn({row:t,selected:n,renaming:r,error:m,onSelect:f,onActivate:g,onRetry:s,onSubmitRename:p,onCancelRename:o,onNewFile:i,onNewFolder:d,onStartRename:N,onDelete:F,onMove:E,onCopyInto:M,onCopy:b,onPaste:$,onDuplicate:I,canPasteInto:v,revealLabel:u,onReveal:x,onAddToChat:w,onCopyPath:k,readOnly:D=!1,provenance:H=!1,copyable:L=!0,onDisk:A=!0,onUpload:K,onPickUpload:G}){const{entry:O,depth:C,expanded:z,loading:B}=t,c=O.type==="dir",h=c?O.path:Y(O.path),[T,y]=a.useState(!1),P=!c&&C===0&&Se(O.name),R=Gt(O.lastCommit),S=e.jsxs("div",{role:"treeitem","aria-label":O.name,"aria-expanded":c?z:void 0,"aria-selected":n,tabIndex:-1,onKeyDown:j=>{(j.key==="Enter"||j.key===" ")&&(j.preventDefault(),f(O),g(O))},draggable:!r&&!D,onDragStart:j=>{D||(j.dataTransfer.setData("text/plain",O.path),j.dataTransfer.setData(tn,O.path),j.dataTransfer.effectAllowed="copyMove")},onDragOver:j=>{if(j.stopPropagation(),!D&&K&&je(j.dataTransfer.types)){j.preventDefault(),j.dataTransfer.dropEffect="copy",y(!0);return}D||!c||!Xe(j.dataTransfer.types)||(j.preventDefault(),j.dataTransfer.dropEffect=j.altKey&&L?"copy":"move",y(!0))},onDragLeave:()=>y(!1),onDrop:j=>{if(j.stopPropagation(),D)return;if(y(!1),K&&je(j.dataTransfer.types)){j.preventDefault();const{files:te}=ot(j.dataTransfer);K(h,te);return}if(!c)return;const q=Ve(j.dataTransfer);q!==null&&(j.preventDefault(),j.altKey&&L?M(q,O.path):E(q,O.path))},onClick:()=>{f(O),g(O)},className:Oe("flex w-full cursor-pointer items-center gap-1 py-1 pr-2 text-sm transition-colors",n?"bg-accent text-foreground":"hover:bg-accent/50",T&&"ring-ring/60 bg-accent ring-1"),style:{paddingLeft:C*vn+8},children:[e.jsx("span",{className:"flex size-4 flex-shrink-0 items-center justify-center",children:c&&(B?e.jsx(Fe,{size:"xs",className:"text-muted-foreground"}):m?e.jsx("button",{type:"button","aria-label":"Retry loading",title:"Couldn’t load. Retry",onClick:j=>{j.stopPropagation(),s()},className:"flex items-center justify-center",children:e.jsx(Ze,{className:"text-destructive size-3.5"})}):z?e.jsx(gt,{className:"text-muted-foreground size-3.5"}):e.jsx(Ue,{className:"text-muted-foreground size-3.5"}))}),c?z?e.jsx(yt,{className:"size-(--size-icon-sm) flex-shrink-0 text-sky-500"}):e.jsx(be,{className:"size-(--size-icon-sm) flex-shrink-0 text-sky-500"}):O.isSymlink===!0?e.jsx(nn,{className:"text-muted-foreground size-(--size-icon-sm) flex-shrink-0"}):e.jsx(Je,{className:"text-muted-foreground size-(--size-icon-sm) flex-shrink-0"}),r?e.jsx(bn,{initialName:O.name,onSubmit:j=>p(O,j),onCancel:o}):e.jsx("span",{className:"min-w-0 flex-1 truncate",children:O.name}),P&&!r&&e.jsx(vt,{"aria-label":"Pinned to the top",className:"text-muted-foreground/60 size-3 flex-shrink-0"}),H&&!r&&e.jsx("span",{className:"text-muted-foreground/70 text-2xs max-w-[45%] flex-shrink-0 truncate tabular-nums",title:R.title??void 0,children:R.label})]});return D?S:e.jsxs(Ct,{children:[e.jsx(bt,{asChild:!0,children:S}),e.jsxs(kt,{className:"w-52",children:[e.jsx(Z,{movesFocus:!0,onClick:()=>i(h),children:"New file"}),e.jsx(Z,{movesFocus:!0,onClick:()=>d(h),children:"New folder"}),G&&e.jsx(Z,{onClick:()=>G(h),children:"Upload files…"}),A&&e.jsxs(e.Fragment,{children:[e.jsx(ve,{}),u&&e.jsx(Z,{onClick:()=>x(O),children:u}),e.jsx(Z,{movesFocus:!0,onClick:()=>w(O),children:"Add to chat"})]}),L&&e.jsxs(e.Fragment,{children:[e.jsx(ve,{}),e.jsx(Z,{onClick:()=>b(O),children:"Copy"}),e.jsx(Z,{disabled:!v(h),onClick:()=>$(h),children:"Paste"}),e.jsx(Z,{onClick:()=>I(O),children:"Duplicate"})]}),e.jsx(ve,{}),A?e.jsxs(e.Fragment,{children:[e.jsx(Z,{onClick:()=>k(O,"absolute"),children:"Copy path"}),e.jsx(Z,{onClick:()=>k(O,"relative"),children:"Copy relative path"})]}):e.jsx(Z,{onClick:()=>k(O,"relative"),children:"Copy path"}),e.jsx(ve,{}),e.jsx(Z,{movesFocus:!0,onClick:()=>N(O),children:"Rename"}),e.jsx(Z,{variant:"destructive",onClick:()=>F(O),children:"Delete"})]})]})}function bn({initialName:t,onSubmit:n,onCancel:r}){const m=a.useRef(null),[f,g]=a.useState(t);a.useEffect(()=>{const p=m.current;if(!p)return;p.focus();const o=t.lastIndexOf(".");p.setSelectionRange(0,o>0?o:t.length)},[t]);const s=()=>{const p=f.trim();p&&p!==t?n(p):r()};return e.jsx("input",{ref:m,type:"text",value:f,"aria-label":"New name",onChange:p=>g(p.target.value),onClick:p=>p.stopPropagation(),onBlur:s,onKeyDown:p=>{p.stopPropagation(),p.key==="Enter"?s():p.key==="Escape"&&r()},className:"border-border bg-background focus-ring min-w-0 flex-1 rounded border px-1 py-0 text-sm outline-none"})}const kn=100,jn=28,wn=250;function En(t){const{rows:n,selectedPath:r,renamingPath:m,errorPaths:f,onSelectPath:g,onRetryDir:s}=t,p=a.useRef(null),o=U(C=>C.setScrollTop),i=U(C=>C.scopeKey),d=a.useCallback(C=>C.type==="dir"?t.onToggle(C):t.onOpen(C),[t]),N=Nn(t,d),F=n.length>kn,E=en({count:n.length,getScrollElement:()=>p.current,estimateSize:()=>jn,overscan:12,enabled:F}),M=a.useRef({scope:void 0,done:!1}),b=a.useRef(null);a.useLayoutEffect(()=>{const C=M.current;if(C.scope!==i&&(C.scope=i,C.done=!1),C.done||n.length===0)return;const z=p.current;if(!z)return;const B=U.getState().scrollTop;if(B<=0){C.done=!0;return}F?E.scrollToOffset(B):z.scrollTop=B,b.current=z.scrollTop,z.scrollTop>=B&&(C.done=!0)},[n.length,i,F,E]);const $=a.useRef(null),I=a.useRef(null),v=a.useCallback(()=>{const C=p.current;C&&C.scrollTop!==b.current&&(M.current.done=!0,$.current=C.scrollTop,I.current&&clearTimeout(I.current),I.current=setTimeout(()=>{I.current=null,$.current!==null&&o($.current)},wn))},[o]);a.useEffect(()=>()=>{I.current&&clearTimeout(I.current),$.current!==null&&o($.current)},[o]);const u=a.useRef(void 0);a.useEffect(()=>{var c,h;const C=u.current;if(u.current=r,C===void 0||r===C||r===null)return;const z=n.findIndex(T=>T.entry.path===r);if(z<0)return;const B=p.current;B&&(F?E.scrollToIndex(z,{align:"auto"}):(h=(c=B.querySelector(`[data-row-index="${z}"]`))==null?void 0:c.scrollIntoView)==null||h.call(c,{block:"nearest"}),b.current=B.scrollTop)},[r,n,F,E]);const[x,w]=a.useState(!1),{onCopyInto:k,onMove:D}=t,H=t.readOnly===!0,L=t.copyable!==!1,A=a.useCallback(C=>{H||!Xe(C.dataTransfer.types)||(C.preventDefault(),C.dataTransfer.dropEffect=C.altKey&&L?"copy":"move",w(!0))},[H,L]),K=a.useCallback((C,z)=>{const B=n.find(c=>c.entry.path===C);B&&k({path:C,isDir:B.entry.type==="dir"},z)},[n,k]),G=a.useCallback(C=>{if(w(!1),H)return;const z=Ve(C.dataTransfer);z!==null&&(C.preventDefault(),C.altKey&&L?K(z,Q):D(z,Q))},[K,D,H,L]),O=C=>e.jsx(Cn,{row:C,selected:C.entry.path===r,renaming:C.entry.path===m,error:C.entry.type==="dir"&&C.expanded&&f.has(C.entry.path),onSelect:z=>g(z.path),onActivate:d,onRetry:()=>s(C.entry.path),onSubmitRename:t.onSubmitRename,onCancelRename:t.onCancelRename,onStartRename:t.onStartRename,onNewFile:t.onNewFile,onNewFolder:t.onNewFolder,onDelete:t.onDelete,onMove:t.onMove,onCopyInto:K,onCopy:t.onCopy,onPaste:t.onPaste,onDuplicate:t.onDuplicate,canPasteInto:t.canPasteInto,revealLabel:t.revealLabel,onReveal:t.onReveal,onAddToChat:t.onAddToChat,onCopyPath:t.onCopyPath,readOnly:t.readOnly,provenance:t.provenance,copyable:t.copyable,onDisk:t.onDisk,onUpload:t.onUpload,onPickUpload:t.onPickUpload});return e.jsx("div",{ref:p,role:"tree","aria-label":"File explorer",tabIndex:0,onKeyDown:N,onScroll:v,onDragOver:A,onDragLeave:()=>w(!1),onDrop:G,className:Oe("focus-visible:ring-ring h-full overflow-auto outline-none focus-visible:ring-1 focus-visible:ring-inset",x&&"ring-ring/60 bg-accent/30 ring-1 ring-inset"),children:F?e.jsx("div",{style:{height:E.getTotalSize()},className:"relative w-full",children:E.getVirtualItems().map(C=>e.jsx("div",{"data-row-index":C.index,className:"absolute top-0 left-0 w-full",style:{transform:`translateY(${C.start}px)`},children:O(n[C.index])},n[C.index].entry.path))}):n.map((C,z)=>e.jsx("div",{"data-row-index":z,children:O(C)},C.entry.path))})}function Rn(t){return t?t.type==="dir"?t.path:Y(t.path):Q}function Nn(t,n){const{rows:r,selectedPath:m,renamingPath:f,onSelectPath:g}=t;return a.useCallback(s=>{var i,d,N,F;if(f!==null)return;const p=r.findIndex(E=>E.entry.path===m),o=p>=0?r[p]:void 0;if(s.metaKey||s.ctrlKey){if(t.readOnly===!0||t.copyable===!1)return;const E=s.key.toLowerCase();if(E==="c"&&o){s.preventDefault(),t.onCopy(o.entry);return}if(E==="v"){s.preventDefault(),t.onPaste(Rn(o==null?void 0:o.entry));return}return}switch(s.key){case"ArrowDown":s.preventDefault(),g(((i=r[Math.min(p+1,r.length-1)])==null?void 0:i.entry.path)??((d=r[0])==null?void 0:d.entry.path));break;case"ArrowUp":s.preventDefault(),g(((N=r[Math.max(p-1,0)])==null?void 0:N.entry.path)??((F=r[0])==null?void 0:F.entry.path));break;case"ArrowRight":(o==null?void 0:o.entry.type)==="dir"&&!o.expanded&&(s.preventDefault(),t.onToggle(o.entry));break;case"ArrowLeft":if(!o)break;if(s.preventDefault(),o.entry.type==="dir"&&o.expanded)t.onToggle(o.entry);else{const E=Y(o.entry.path);E&&g(E)}break;case"Enter":o&&(s.preventDefault(),n(o.entry));break;case"F2":o&&t.readOnly!==!0&&(s.preventDefault(),t.onStartRename(o.entry));break;case"Delete":case"Backspace":o&&t.readOnly!==!0&&(s.preventDefault(),t.onDelete(o.entry));break}},[r,m,f,g,t,n])}const Sn={rename:"Rename it anyway",move:"Move it anyway",delete:"Delete it anyway",upload:"Upload mine over it"},Dn={rename:"nothing was renamed",move:"nothing was moved",delete:"nothing was deleted",upload:"nothing was uploaded"};function Tn(t){const{entry:n,fileCount:r,moreThan:m}=t;if(n.type!=="dir")return`“${n.name}” leaves the room’s files.`;const f=r===null?"everything in it":m?`the more than ${r.toLocaleString()} files in it`:r===1?"the 1 file in it":`the ${r.toLocaleString()} files in it`;return`“${n.name}” and ${f} leave the room’s files.`}const Fn="The room’s history keeps a copy. An agent can restore it.";function On({changes:t,onOpenTheirs:n,onReturnFocus:r}){var E;const m=M=>{M.preventDefault();const b=document.activeElement;b!==null&&b!==document.body||r()},{pendingDelete:f,pendingClash:g,conflict:s}=t,[p,o]=a.useState(f);f!==null&&f!==p&&o(f);const[i,d]=a.useState(g);g!==null&&g!==i&&d(g);const N=i===null?"":i.dir===Q?"The top folder":`“${i.dir}”`,F=(i==null?void 0:i.names.length)===1;return e.jsxs(e.Fragment,{children:[e.jsx(de,{open:f!==null,onOpenChange:M=>!M&&t.cancelDelete(),children:e.jsxs(ue,{onCloseAutoFocus:m,children:[e.jsxs(fe,{children:[e.jsx(he,{children:p===null?"":`Delete “${p.entry.name}”?`}),e.jsx(pe,{asChild:!0,children:e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{children:p===null?"":Tn(p)}),e.jsx("p",{children:Fn})]})})]}),e.jsxs(me,{children:[e.jsx(xe,{onClick:t.cancelDelete,children:"Cancel"}),e.jsx(ge,{onClick:()=>void t.confirmDelete(),variant:"destructive",children:(p==null?void 0:p.entry.type)==="dir"?"Delete folder":"Delete file"})]})]})}),e.jsx(de,{open:g!==null,onOpenChange:M=>!M&&t.cancelClash(),children:e.jsxs(ue,{onCloseAutoFocus:m,children:[e.jsxs(fe,{children:[e.jsx(he,{children:F?`Replace “${i==null?void 0:i.names[0]}”?`:`Replace ${(i==null?void 0:i.names.length)??0} files?`}),e.jsx(pe,{children:F?`${N} already has a file with this name. Replace it, or keep both.`:`${N} already has files named ${(i==null?void 0:i.names.join(", "))??""}. Replace them, or keep both.`})]}),e.jsxs(me,{children:[e.jsx(xe,{onClick:t.cancelClash,children:"Cancel"}),e.jsx(W,{variant:"outline",onClick:()=>void t.resolveClash("keep-both"),children:"Keep both"}),e.jsx(ge,{onClick:()=>void t.resolveClash("replace"),children:"Replace"})]})]})}),e.jsx(de,{open:s!==null,onOpenChange:M=>!M&&t.dismissConflict(),children:e.jsxs(ue,{onCloseAutoFocus:m,children:[e.jsxs(fe,{children:[e.jsx(he,{children:"Somebody changed this first"}),e.jsx(pe,{children:s===null?"":`${((E=s.lastCommit)==null?void 0:E.author)??"Somebody"} changed “${s.path}” after you opened it, so ${Dn[s.kind]}.`})]}),(s==null?void 0:s.lastCommit)&&e.jsxs("p",{className:"text-muted-foreground text-xs",children:[s.lastCommit.subject," · ",jt(s.lastCommit.at)]}),e.jsxs(me,{children:[e.jsx(xe,{onClick:t.dismissConflict,children:"Cancel"}),e.jsx(W,{variant:"outline",onClick:()=>{s!==null&&(t.dismissConflict(),n(s.path))},children:"Open their version"}),e.jsx(ge,{onClick:()=>{s!==null&&(t.dismissConflict(),s.retry())},variant:"destructive",children:s===null?"":Sn[s.kind]})]})]})})]})}function Ie(t,n){return n.name===t?Ge(t):`“${n.name}” is already there. Some computers ignore capital letters in names. Pick another name.`}const Pn="Folders can’t be uploaded. Drop the files inside instead.";function _n({source:t,className:n,onCommands:r}={}){var ye;const m=ne(),f=Te(l=>l.selectedCwd),g=a.useMemo(()=>f?yn({transport:m,cwd:f}):null,[m,f]),s=t===void 0?g:t,p=s!==null&&!s.writable,o=gn(s),i=o.changes,d=oe(),N=U(l=>l.showHidden),{rows:F,rootLoading:E,rootError:M,rootErrorMessage:b,rootErrorCommand:$,errorPaths:I}=o,v=U(l=>l.setCommands),u=U(l=>l.selectedPath),x=U(l=>l.setSelectedPath),w=U(l=>l.clipboard),[k,D]=a.useState(null),[H,L]=a.useState(null),[A,K]=a.useState(null),G=a.useCallback(l=>K(l===null?null:{path:l,isNew:!1}),[]),O=a.useRef(null),C=a.useRef(Q),[z,B]=a.useState(!1),c=a.useCallback((l,_)=>{if(i!==null){if(_.length===0){J.error(Pn);return}o.ensureExpanded(l),i.upload(l,_)}},[i,o]),h=a.useRef(null),T=a.useCallback(()=>{var l,_;(_=(l=h.current)==null?void 0:l.querySelector('[role="tree"]'))==null||_.focus()},[]),y=a.useCallback(l=>{var _;C.current=l,(_=O.current)==null||_.click()},[]),P=a.useCallback(l=>w!==null&&!(w.isDir&&Ce(l,w.path)),[w]),R=a.useCallback((l,_)=>{o.ensureExpanded(l),Ae.flushSync(()=>{L(null),D({parent:l,type:_})})},[o]),S=a.useCallback(l=>{Ae.flushSync(()=>L(l.path))},[]),j=a.useRef({startCreate:R,reload:o.reload,pickUpload:y});a.useEffect(()=>{j.current={startCreate:R,reload:o.reload,pickUpload:y}});const q=i!==null;a.useEffect(()=>{if(p||r===void 0&&q)return;const l=r??v;return l({newFile:()=>j.current.startCreate(Q,"file"),newFolder:()=>j.current.startCreate(Q,"dir"),refresh:()=>j.current.reload(),...q&&{upload:()=>j.current.pickUpload(Q)}}),()=>l(null)},[v,r,p,q]);const te=a.useCallback(async l=>{var se;if(!k||s===null)return;const _=k;if(D(null),i!==null){const re=(((se=d.getQueryData(le(s,_.parent,N)))==null?void 0:se.entries)??[]).find(ct=>ct.name.toLowerCase()===l.toLowerCase());if(_.type==="dir"){if(re!==void 0&&!(re.type==="dir"&&re.name===l)){J.error(Ie(l,re));return}D({parent:ee(_.parent,l),type:"file",firstInFolder:l});return}if(re!==void 0){J.error(Ie(l,re));return}const lt=ee(_.parent,l);K({path:lt,isNew:!0});return}await o.createEntry(_.parent,l,_.type)&&x(ee(_.parent,l))},[k,s,i,d,N,o,x]),V=a.useCallback(async(l,_)=>{L(null),(i?await i.renameEntry(l,_):await o.renameEntry(l,_))&&x(ee(Y(l.path),_))},[i,o,x]);return s===null?t!==void 0?null:e.jsx("div",{className:"text-muted-foreground flex h-full items-center justify-center p-6 text-center text-sm",children:"Pick a folder to see its files."}):e.jsxs("div",{ref:h,className:Oe("flex h-full flex-col",z&&"ring-ring/60 bg-accent/30 ring-1 ring-inset",n),onDragOver:l=>{i===null||!je(l.dataTransfer.types)||(l.preventDefault(),l.dataTransfer.dropEffect="copy",B(!0))},onDragLeave:l=>{l.currentTarget.contains(l.relatedTarget)||B(!1)},onDrop:l=>{B(!1),!(i===null||!je(l.dataTransfer.types))&&(l.preventDefault(),c(Q,ot(l.dataTransfer).files))},children:[i!==null&&e.jsx("input",{ref:O,type:"file",multiple:!0,hidden:!0,"aria-hidden":!0,tabIndex:-1,"data-testid":"room-files-upload-input",onChange:l=>{const _=Array.from(l.target.files??[]);l.target.value="",c(C.current,_)}}),e.jsxs("div",{className:"min-h-0 flex-1",children:[k&&e.jsx(Mn,{type:k.type,firstInFolder:k.firstInFolder,onSubmit:l=>void te(l),onCancel:()=>D(null)},`${k.parent}:${k.type}:${k.firstInFolder??""}`),E&&F.length===0?e.jsx("div",{className:"flex h-20 items-center justify-center",children:e.jsx(Fe,{size:"md",className:"text-muted-foreground",label:"Loading files"})}):M&&F.length===0?e.jsxs("div",{className:"text-muted-foreground flex min-h-20 flex-col items-center justify-center gap-2 px-4 py-3 text-center text-xs [overflow-wrap:anywhere]",children:[e.jsx("span",{children:b??"Couldn’t load files."}),$!==null&&e.jsx("code",{"aria-label":"Command that removes the settings",className:"bg-muted text-foreground block w-full rounded px-2 py-1.5 text-left font-mono select-all",children:$}),e.jsxs(W,{variant:"outline",size:"xs",onClick:o.reload,children:[e.jsx(Ze,{}),"Retry"]})]}):F.length===0&&!k?e.jsx("div",{className:"text-muted-foreground/60 flex h-20 items-center justify-center px-4 text-center text-xs",children:i!==null?"No files yet. Drop files here, or use Upload.":"Empty folder"}):e.jsx(En,{rows:F,selectedPath:u,renamingPath:H,errorPaths:I,onSelectPath:x,onToggle:o.toggleExpand,onOpen:l=>{s.preview==="inline"?G(l.path):o.openFile(l)},onRetryDir:o.retryDir,onSubmitRename:(l,_)=>void V(l,_),onCancelRename:()=>L(null),onStartRename:S,onNewFile:l=>R(l,"file"),onNewFolder:l=>R(l,"dir"),onDelete:l=>i?i.requestDelete(l):void o.removeEntry(l),onMove:(l,_)=>void(i?i.moveEntry(l,_):o.moveEntry(l,_)),onCopyInto:(l,_)=>void o.copyEntry(l,_),onCopy:o.copyToClipboard,onPaste:l=>{w&&o.copyEntry(w,l)},onDuplicate:l=>void o.copyEntry({path:l.path,isDir:l.type==="dir"},Y(l.path)),canPasteInto:P,readOnly:p,provenance:s.provenance,copyable:i===null,onDisk:s.cwd!==null,onUpload:i?c:void 0,onPickUpload:i?y:void 0,revealLabel:o.revealLabel,onReveal:l=>void o.reveal(l),onAddToChat:o.addToChat,onCopyPath:(l,_)=>void o.copyPath(l,_)})]}),s.preview==="inline"&&e.jsx(Wt,{source:s,path:(A==null?void 0:A.path)??null,isNew:(A==null?void 0:A.isNew)??!1,onCreated:()=>{A!==null&&(K({path:A.path,isNew:!1}),x(A.path))},onClose:()=>K(null)}),i!==null&&e.jsx(On,{changes:i,onOpenTheirs:l=>G(l),onReturnFocus:T}),e.jsx(de,{open:o.pendingRecursiveDelete!==null,onOpenChange:l=>!l&&o.cancelRecursiveDelete(),children:e.jsxs(ue,{children:[e.jsxs(fe,{children:[e.jsxs(he,{children:["Delete “",(ye=o.pendingRecursiveDelete)==null?void 0:ye.name,"”?"]}),e.jsx(pe,{children:"This folder isn’t empty. Everything inside is deleted. This can’t be undone."})]}),e.jsxs(me,{children:[e.jsx(xe,{onClick:o.cancelRecursiveDelete,children:"Cancel"}),e.jsx(ge,{onClick:()=>void o.confirmRecursiveDelete(),variant:"destructive",children:"Delete folder"})]})]})})]})}function Mn({type:t,firstInFolder:n,onSubmit:r,onCancel:m}){const f=a.useRef(null),[g,s]=a.useState("");a.useEffect(()=>{var i;(i=f.current)==null||i.focus()},[]);const p=()=>{const i=g.trim();i?r(i):m()},o=e.jsxs("div",{className:"flex items-center gap-1",children:[t==="dir"?e.jsx(be,{className:"size-(--size-icon-sm) flex-shrink-0 text-sky-500"}):e.jsx(Je,{className:"text-muted-foreground size-(--size-icon-sm) flex-shrink-0"}),e.jsx("input",{ref:f,type:"text",value:g,"aria-label":n!==void 0?`First file in ${n}`:t==="dir"?"New folder name":"New file name",placeholder:t==="dir"?"folder-name":"file-name",onChange:i=>s(i.target.value),onBlur:p,onKeyDown:i=>{i.key==="Enter"?p():i.key==="Escape"&&m()},className:"border-border bg-background focus-ring min-w-0 flex-1 rounded border px-1 py-0 text-sm outline-none"})]});return n===void 0?e.jsx("div",{className:"px-3 py-1",children:o}):e.jsxs("div",{className:"space-y-1 px-3 py-1",children:[e.jsxs("p",{className:"text-muted-foreground flex min-w-0 items-center gap-1 text-xs",children:[e.jsx(be,{className:"size-(--size-icon-xs) flex-shrink-0 text-sky-500"}),e.jsx("span",{className:"truncate",children:n})]}),o,e.jsx("p",{className:"text-muted-foreground text-2xs",children:"Name its first file. The folder appears on save."})]})}function it(){const t=U(m=>m.showHidden),n=U(m=>m.setShowHidden),r=t?"Hide hidden files":"Show hidden files";return e.jsx(W,{variant:"ghost",size:"icon-xs","aria-label":r,title:r,onClick:()=>n(!t),children:t?e.jsx(wt,{className:"text-muted-foreground"}):e.jsx(Et,{className:"text-muted-foreground"})})}function An({cwd:t}){const n=ne(),{data:r}=ce({queryKey:["file-explorer","workspace",t],queryFn:()=>n.resolveWorkspace(t),staleTime:6e4});return r!=null&&r.branch?e.jsxs("span",{className:"text-muted-foreground bg-muted/50 text-2xs inline-flex min-w-0 items-center gap-1 rounded px-1.5 py-0.5",title:`Workspace ${r.key} on ${r.branch}`,children:[e.jsx(et,{className:"size-3 flex-shrink-0"}),e.jsx("span",{className:"truncate",children:r.branch})]}):null}function ss(){const t=Te(r=>r.selectedCwd),n=U(r=>r.commands);return t?e.jsxs(e.Fragment,{children:[e.jsx(An,{cwd:t}),e.jsx(W,{variant:"ghost",size:"icon-xs","aria-label":"New file",title:"New file",onClick:()=>n==null?void 0:n.newFile(),children:e.jsx(st,{className:"text-muted-foreground"})}),e.jsx(W,{variant:"ghost",size:"icon-xs","aria-label":"New folder",title:"New folder",onClick:()=>n==null?void 0:n.newFolder(),children:e.jsx(qe,{className:"text-muted-foreground"})}),e.jsx(it,{}),e.jsx(W,{variant:"ghost",size:"icon-xs","aria-label":"Refresh",title:"Refresh",onClick:()=>n==null?void 0:n.refresh(),children:e.jsx(Rt,{className:"text-muted-foreground"})})]}):null}function Ln({roomId:t}){const n=ne(),r=oe(),m=ce(Qe(n,t));a.useEffect(()=>Yt(r,t,()=>{r.invalidateQueries({queryKey:ke.repoStatus(t)})}),[r,t]);const f=a.useMemo(()=>{var o;return((o=m.data)==null?void 0:o.kind)==="ok"?Nt(m.data.status):[]},[m.data]),g=St(f),s=Dt(f);if(!s)return null;const p=f.map((o,i)=>`${g[i]}: ${Tt(o)}`);return e.jsxs("span",{"data-slot":"pending-work-badge",title:p.join(`
|
|
17
|
+
`),className:"text-muted-foreground bg-muted/50 text-2xs inline-flex min-w-0 items-center gap-1 rounded px-1.5 py-0.5",children:[e.jsx(et,{className:"size-3 flex-shrink-0"}),e.jsxs("span",{className:"sr-only",children:["Not merged into the room yet. ",p.join(". "),"."]}),e.jsx("span",{"aria-hidden":"true",className:"truncate",children:s})]})}const zn={added:"added",modified:"changed",deleted:"deleted",untracked:"new"},$n=new Map([["OPERATOR_ONLY","Only the owner of this DorkOS can keep or discard these."],["ROOM_FILE_NOT_FOUND","One of those changes is gone, so nothing was discarded. The list is refreshed."],["MERGE_IN_FLIGHT","Something else is writing to these files. Nothing changed. Try again in a moment."],["MAIN_CHECKOUT_DIRTY","These files are on another branch. Switch them back to main yourself."],["ROOM_REPO_GIT_UNAVAILABLE","Room files need git, and git isn’t installed on this computer."],["ROOM_HAS_NO_REPO","This room no longer has its own files."],["ROOM_REPOS_DISABLED","Room files are turned off on this install."]]);function In({roomId:t}){var $,I;const n=ne(),r=oe(),m=ce(Qe(n,t)),[f,g]=a.useState([]),[s,p]=a.useState(!1),[o,i]=a.useState(null),d=Be({mutationFn:v=>n.repairRoomMain(t,v),onSuccess:()=>{g([]),p(!1),i(null),r.invalidateQueries({queryKey:ke.repoStatus(t)})},onError:v=>{p(!1);const u=$n.get(Pe(v)??"");i(u??"Couldn’t update the files. Try again in a moment."),r.invalidateQueries({queryKey:ke.repoStatus(t)})}});if((($=m.data)==null?void 0:$.kind)==="unavailable")return e.jsx("p",{role:"alert","data-slot":"room-main-warning",className:"border-border/60 text-muted-foreground rounded-lg border px-3 py-2.5 text-xs",children:"Couldn’t check this room’s files. Saves may not work. Try again soon."});const N=((I=m.data)==null?void 0:I.kind)==="ok"?m.data.status.main:void 0;if(N===void 0||!N.dirty)return null;const F=N.branch!=="main",E=f.filter(v=>N.strays.some(u=>u.path===v)),M=s&&E.length>0,b=v=>g(u=>u.includes(v)?u.filter(x=>x!==v):[...u,v]);return e.jsxs("div",{"data-slot":"room-main-warning",className:"border-border/60 bg-muted/40 space-y-3 rounded-lg border px-3 py-2.5 text-sm",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(Ft,{className:"text-muted-foreground mt-0.5 size-(--size-icon-sm) flex-shrink-0"}),e.jsxs("div",{className:"min-w-0 space-y-1",children:[e.jsxs("div",{role:"alert",className:"space-y-1",children:[e.jsx("p",{className:"font-medium",children:"Somebody changed this room’s files outside DorkOS"}),F?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-muted-foreground text-xs",children:`This room’s files are on ${N.branch??"no branch"}, not main.`}),e.jsx("p",{className:"text-muted-foreground text-xs",children:"Saves and agent merges wait until they’re back on main."})]}):e.jsx("p",{className:"text-muted-foreground text-xs",children:"Saves and agent merges wait until you keep or discard these."})]}),F&&e.jsx(sn,{className:"text-xs",children:e.jsx("p",{children:"DorkOS won’t switch the branch for you. There may be work on it."})})]})]}),!F&&e.jsxs(e.Fragment,{children:[e.jsx("ul",{className:"space-y-1.5",children:N.strays.map(v=>e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx(Ot,{id:`stray-${t}-${v.path}`,checked:E.includes(v.path),onCheckedChange:()=>b(v.path),disabled:d.isPending}),e.jsx("label",{htmlFor:`stray-${t}-${v.path}`,className:"min-w-0 flex-1 cursor-pointer truncate font-mono text-xs",title:v.path,children:v.path}),e.jsx("span",{className:"text-muted-foreground flex-shrink-0 text-xs",children:zn[v.kind]})]},v.path))}),N.strayCount>N.strays.length&&e.jsxs("p",{className:"text-muted-foreground text-xs",children:["…and ",N.strayCount-N.strays.length," more not shown. “Keep them all” keeps these too."]}),M?e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-xs",children:E.length===1?"Discard this change? It can’t be undone.":`Discard these ${E.length} changes? They can’t be undone.`}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx(W,{type:"button",variant:"ghost",size:"sm",disabled:d.isPending,onClick:()=>p(!1),children:"Cancel"}),e.jsx(W,{type:"button",variant:"destructive",size:"sm",disabled:d.isPending,onClick:()=>d.mutate({action:"discard",paths:[...E]}),children:E.length===1?"Discard change":`Discard ${E.length} changes`})]})]}):e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx(W,{type:"button",variant:"outline",size:"sm",disabled:d.isPending,onClick:()=>d.mutate({action:"commit"}),children:"Keep them all"}),e.jsx(W,{type:"button",variant:"ghost",size:"sm",disabled:d.isPending||E.length===0,onClick:()=>p(!0),children:E.length===0?"Discard…":`Discard ${E.length}`})]})]}),o!==null&&e.jsx("p",{role:"alert",className:"text-destructive text-xs",children:o})]})}const Re="pointer-coarse:size-11",Kn=new Map([["ROOM_REPOS_DISABLED","Room files are turned off for this DorkOS."],["ROOM_REPO_GIT_UNAVAILABLE","Git isn’t available on this computer."],["MERGE_IN_FLIGHT","This room’s files are busy. Try again."],["ROOM_ARCHIVED","Bring this room back before setting up files."]]);function Hn(t){const n=Kn.get(Pe(t)??"");return n||(t instanceof TypeError||t instanceof Error&&/fetch|offline|network/i.test(t.message)?"You’re offline. Try again when this computer reconnects.":"Couldn’t set up files. Try again.")}function as({roomId:t,canChange:n,canSetUp:r=!1}){const m=ne(),f=oe(),g=U(v=>v.showHidden),[s,p]=a.useState(null),[o,i]=a.useState(!1),d=a.useMemo(()=>Ye({transport:m,queryClient:f,roomId:t,canChange:n}),[m,f,t,n]),N=we(d,Q,g,f),F=ce(N),E=Be({mutationFn:async()=>{try{return await m.enableRoomRepo(t)}catch(v){if(Pe(v)==="ROOM_REPO_EXISTS")return null;throw v}},onSuccess:async()=>{i(!1),await Promise.all([f.invalidateQueries({queryKey:N.queryKey}),f.invalidateQueries({queryKey:ke.repoStatus(t)})])}}),M=F.isSuccess&&F.data.absent===!0,b=F.isSuccess&&!M||F.isError,[$,I]=a.useState(null);if(b&&$!==t&&I(t),!b&&$!==t&&!M)return null;if(M){if(!r)return null;const v=E.isError?Hn(E.error):null;return e.jsxs("section",{"aria-label":"Room files",className:"space-y-2",children:[e.jsxs("header",{className:"flex items-center gap-2",children:[e.jsx(Le,{className:"text-muted-foreground size-(--size-icon-sm) shrink-0"}),e.jsx("h3",{className:"text-muted-foreground text-xs font-medium tracking-wide uppercase",children:"Files"})]}),e.jsxs("div",{className:"border-border/60 flex items-center justify-between gap-3 rounded-lg border px-3 py-2.5",children:[e.jsx("p",{className:"text-muted-foreground text-sm",children:"This room has no shared files."}),e.jsx(W,{type:"button",size:"sm",variant:"outline",className:"shrink-0 pointer-coarse:min-h-11",onClick:()=>{E.reset(),i(!0)},children:"Set up files…"})]}),v!==null&&e.jsx("p",{role:"alert",className:"text-status-danger text-xs",children:v}),e.jsx(de,{open:o,onOpenChange:i,children:e.jsxs(ue,{className:"max-sm:top-auto max-sm:bottom-0 max-sm:translate-y-0 max-sm:rounded-b-none",children:[e.jsxs(fe,{children:[e.jsx(he,{children:"Set up files for this room?"}),e.jsx(pe,{children:"This creates shared files and ROOM.md for everyone here. It can’t be undone."})]}),v!==null&&e.jsx("p",{role:"alert",className:"text-status-danger text-sm",children:v}),e.jsxs(me,{children:[e.jsx(xe,{className:"pointer-coarse:min-h-11",children:"Cancel"}),e.jsxs(ge,{className:"pointer-coarse:min-h-11",disabled:E.isPending,onClick:u=>{u.preventDefault(),E.mutate()},children:[E.isPending&&e.jsx(Pt,{className:"animate-spin"}),E.isPending?"Setting up…":"Set up files"]})]})]})})]})}return e.jsxs("section",{"aria-label":"Room files",className:"space-y-2",children:[e.jsxs("header",{className:"flex items-center gap-2",children:[e.jsx(Le,{className:"text-muted-foreground size-(--size-icon-sm) flex-shrink-0"}),e.jsx("h3",{className:"text-muted-foreground text-xs font-medium tracking-wide uppercase",children:"Files"}),e.jsx("div",{className:"min-w-0 flex-1",children:e.jsx(Ln,{roomId:t})}),n&&e.jsxs(e.Fragment,{children:[e.jsx(W,{variant:"ghost",size:"icon-xs",className:Re,"aria-label":"New file",title:"New file",disabled:s===null,onClick:()=>s==null?void 0:s.newFile(),children:e.jsx(st,{className:"text-muted-foreground"})}),e.jsx(W,{variant:"ghost",size:"icon-xs",className:Re,"aria-label":"New folder",title:"New folder",disabled:s===null,onClick:()=>s==null?void 0:s.newFolder(),children:e.jsx(qe,{className:"text-muted-foreground"})}),e.jsx(W,{variant:"ghost",size:"icon-xs",className:Re,"aria-label":"Upload files",title:"Upload files",disabled:(s==null?void 0:s.upload)===void 0,onClick:()=>{var v;return(v=s==null?void 0:s.upload)==null?void 0:v.call(s)},children:e.jsx(rn,{className:"text-muted-foreground"})})]}),e.jsx(it,{})]}),e.jsx(In,{roomId:t}),e.jsx("div",{"data-slot":"room-files-body",className:"border-border/60 h-72 overflow-hidden rounded-lg border",children:e.jsx(_n,{source:d,onCommands:p})})]})}function rs({roomId:t,attachment:n}){var i;const r=ne(),m=oe(),f=a.useMemo(()=>Ye({transport:r,queryClient:m,roomId:t}),[r,m,t]),g=ce(we(f,Q,!1,m)),[s,p]=a.useState(!1),o=_t(t);return!g.isSuccess||g.data.absent===!0||((i=o.data)==null?void 0:i.archived)!==!1?null:e.jsxs(e.Fragment,{children:[e.jsx(W,{type:"button",variant:"ghost",size:"icon-xs","aria-label":`Save ${n.name} to the room’s files`,title:"Save to room files",className:"text-muted-foreground hover:text-foreground mt-0.5 pointer-coarse:size-11",onClick:()=>p(!0),children:e.jsx(Mt,{})}),s&&e.jsx(Un,{roomId:t,source:f,attachment:n,onClose:()=>p(!1)})]})}function Un({roomId:t,source:n,attachment:r,onClose:m}){const f=ne(),g=oe(),[s,p]=a.useState(Q),[o,i]=a.useState(r.name),[d,N]=a.useState(null),[F,E]=a.useState(!1),M=a.useId(),b=ce(we(n,s,!1,g)),$=a.useMemo(()=>{var v;return rt(((v=b.data)==null?void 0:v.entries)??[]).filter(u=>u.type==="dir")},[b.data]),I=async()=>{var u,x;const v=o.trim();if(v!==""){E(!0),N(null);try{await f.saveAttachmentToRoomFiles(t,{attachmentId:r.id,dir:s,name:v,baseCommit:((u=b.data)==null?void 0:u.commit)??null}),g.invalidateQueries({queryKey:["file-explorer","tree",n.scopeKey]}),J.success(`Saved ${v} to the room’s files`),m()}catch(w){let k;try{k=Vt(w,g,t)}catch{k={status:"refused",reason:We(w)??"Couldn’t save. Try again in a moment."}}if(k.status==="exists"){const D=(((x=b.data)==null?void 0:x.entries)??[]).map(H=>H.name);N({reason:`This folder already has a file called “${v}”. Pick another name.`,suggestion:_e({name:v,isDir:!1,taken:[...D,v]})})}else k.status==="conflict"?(N({reason:"This folder changed while you chose, so nothing was saved. Try again."}),b.refetch()):k.status==="refused"&&N({reason:k.reason})}finally{E(!1)}}};return e.jsx(At,{open:!0,onOpenChange:v=>!v&&m(),children:e.jsxs(Lt,{className:"sm:max-w-md",children:[e.jsxs(zt,{children:[e.jsx($t,{children:"Save to room files"}),e.jsx(It,{children:"Everyone in the room, and their agents, can find it there."})]}),e.jsxs(Kt,{className:"space-y-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-muted-foreground text-xs font-medium",children:"Folder"}),e.jsxs("div",{role:"group","aria-label":"Folders",className:"border-border/60 max-h-56 overflow-auto rounded-md border",children:[e.jsx("p",{className:"bg-muted/40 truncate px-3 py-1.5 font-mono text-xs",children:s===Q?"Top folder":`${s}/`}),s!==Q&&e.jsx(Ke,{label:"Up one folder",icon:e.jsx(an,{className:"text-muted-foreground size-(--size-icon-sm)"}),onClick:()=>p(Y(s))}),b.isPending?e.jsx("div",{className:"flex h-12 items-center justify-center",children:e.jsx(Fe,{size:"sm",className:"text-muted-foreground",label:"Loading folders"})}):$.length===0?e.jsx("p",{className:"text-muted-foreground px-3 py-2 text-xs",children:"No folders in here."}):$.map(v=>e.jsx(Ke,{label:v.name,icon:e.jsx(be,{className:"size-(--size-icon-sm) text-sky-500"}),chevron:!0,onClick:()=>p(ee(s,ie(v.path)))},v.path))]})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{htmlFor:M,className:"text-muted-foreground text-xs font-medium",children:"Name"}),e.jsx(Ht,{id:M,value:o,onChange:v=>{i(v.target.value),N(null)},spellCheck:!1,autoComplete:"off"})]}),d!==null&&e.jsxs("div",{role:"alert",className:"text-destructive space-y-1 text-xs",children:[e.jsx("p",{children:d.reason}),d.suggestion!==void 0&&e.jsxs(W,{type:"button",variant:"outline",size:"xs",onClick:()=>{i(d.suggestion),N(null)},children:["Use “",d.suggestion,"”"]})]})]}),e.jsxs(Ut,{className:"gap-2",children:[e.jsx(W,{type:"button",variant:"ghost",onClick:m,children:"Cancel"}),e.jsx(W,{type:"button",disabled:F||o.trim()===""||b.isPending,onClick:()=>void I(),children:F?"Saving…":s===Q?"Save to the top folder":`Save to ${ie(s)}`})]})]})})}function Ke({label:t,icon:n,chevron:r=!1,onClick:m}){return e.jsxs("button",{type:"button",onClick:m,className:"hover:bg-accent/50 focus-visible:bg-accent flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm outline-none",children:[n,e.jsx("span",{className:"min-w-0 flex-1 truncate",children:t}),r&&e.jsx(Ue,{className:"text-muted-foreground size-3.5"})]})}export{_n as FileExplorer,ss as FileExplorerActions,Wt as FilePreviewDialog,on as HIDDEN_ENTRY_NAMES,it as HiddenEntriesToggle,ls as NO_PROVENANCE,Ne as PINNED_ENTRY_NAMES,cs as ROOM_FILES_REFRESH_INTERVAL_MS,as as RoomFilesSection,rs as SaveToRoomFilesButton,Ye as createRoomFilesSource,yn as createSessionCwdSource,le as explorerDirQueryKey,we as explorerDirQueryOptions,ln as isHiddenEntryName,Se as isPinnedEntryName,cn as pinnedFirst,Gt as provenanceLine,Qe as roomRepoStatusQueryOptions,rt as withoutHidden};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as p,T as a}from"./TeamComputerEntry-2RKJhINy.js";import{C,a as n}from"./ComputerResourceView-Dd4Kedxf.js";import"./index-B2JoVHek.js";import"./ComputerViewer-CssfoCBB.js";import"./use-is-below-desktop-CgAcZ8iA.js";export{p as AgentComputerPanel,C as ComputerPanelView,n as ComputerPipView,a as TeamComputerEntry};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/arduino-BI0Wlt2c.js","assets/cpp-C11qDRMm.js","assets/c-XQKAasRE.js","assets/clike-BF_vhPOR.js","assets/csharp-BSdrTNSA.js","assets/go-xWYv4r-F.js","assets/java-CUQYWvAL.js","assets/javascript-CEvf9hWA.js","assets/kotlin-DlLEZihb.js","assets/less-DRLW25Ni.js","assets/css-B-uKvPiS.js","assets/markdown-DidFTSvt.js","assets/markup-BHKKUsMC.js","assets/markup-templating-C-XwH7hP.js","assets/objectivec-C86xFqEx.js","assets/php-D30FZ8S0.js","assets/ruby-Bwg0ofHw.js","assets/sass-B4vMtMwp.js","assets/scss-B7E2Cygf.js","assets/typescript-DsefBs7O.js","assets/vbnet-DfXcBIcZ.js","assets/basic-Dv_zySWb.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var hr=Object.defineProperty;var pr=(e,n,t)=>n in e?hr(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var K=(e,n,t)=>pr(e,typeof n!="symbol"?n+"":n,t);import{ft as gr,
|
|
2
|
+
var hr=Object.defineProperty;var pr=(e,n,t)=>n in e?hr(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var K=(e,n,t)=>pr(e,typeof n!="symbol"?n+"":n,t);import{ft as gr,a$ as z,j as L,nP as mr,r as Te}from"./index-B2JoVHek.js";import{p as yr}from"./index-CvLTkguu.js";var Wn={exports:{}};/*!
|
|
3
3
|
Copyright (c) 2018 Jed Watson.
|
|
4
4
|
Licensed under the MIT License (MIT), see
|
|
5
5
|
http://jedwatson.github.io/classnames
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{L as G,E as A,C as N}from"./index-DqZmnJED.js";import{s as I,t as p,E as Y,e as k,j,a as U,L as Z,i as B,f as D,O as M}from"./index-D5Qmx1JR.js";import"./index-BR1m9FON.js";const h=1,F=2,L=3,K=4,H=5,J=36,ee=37,te=38,Oe=11,oe=13;function re(e){return e==45||e==46||e==58||e>=65&&e<=90||e==95||e>=97&&e<=122||e>=161}function ne(e){return e==9||e==10||e==13||e==32}let Q=null,V=null,X=0;function W(e,t){let o=e.pos+t;if(V==e&&X==o)return Q;for(;ne(e.peek(t));)t++;let O="";for(;;){let r=e.peek(t);if(!re(r))break;O+=String.fromCharCode(r),t++}return V=e,X=o,Q=O||null}function _(e,t){this.name=e,this.parent=t}const ae=new N({start:null,shift(e,t,o,O){return t==h?new _(W(O,1)||"",e):e},reduce(e,t){return t==Oe&&e?e.parent:e},reuse(e,t,o,O){let r=t.type.id;return r==h||r==oe?new _(W(O,1)||"",e):e},strict:!1}),le=new A((e,t)=>{if(e.next==60){if(e.advance(),e.next==47){e.advance();let o=W(e,0);if(!o)return e.acceptToken(H);if(t.context&&o==t.context.name)return e.acceptToken(F);for(let O=t.context;O;O=O.parent)if(O.name==o)return e.acceptToken(L,-2);e.acceptToken(K)}else if(e.next!=33&&e.next!=63)return e.acceptToken(h)}},{contextual:!0});function y(e,t){return new A(o=>{let O=0,r=t.charCodeAt(0);e:for(;!(o.next<0);o.advance(),O++)if(o.next==r){for(let a=1;a<t.length;a++)if(o.peek(a)!=t.charCodeAt(a))continue e;break}O&&o.acceptToken(e)})}const se=y(J,"-->"),ie=y(ee,"?>"),ce=y(te,"]]>"),me=I({Text:p.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":p.angleBracket,TagName:p.tagName,"MismatchedCloseTag/TagName":[p.tagName,p.invalid],AttributeName:p.attributeName,AttributeValue:p.attributeValue,Is:p.definitionOperator,"EntityReference CharacterReference":p.character,Comment:p.blockComment,ProcessingInst:p.processingInstruction,DoctypeDecl:p.documentMeta,Cdata:p.special(p.string)}),$e=G.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(hO#tO'#CnO(vO&jO'#CnOOOO1G.q1G.qO)UOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO)^O#tO,59YOOOO,59Y,59YOOOO'#C{'#C{O)lO&jO,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.tOOOO-E6y-E6y",stateData:")z~OPQOSVOTWOVWOWWOXWOiXOyPO!QTO!SUO~OvZOx]O~O^`Oz^O~OPQOQcOSVOTWOVWOWWOXWOyPO!QTO!SUO~ORdO~P!SOteO!PgO~OuhO!RjO~O^lOz^O~OvZOxoO~O^qOz^O~O[vO`sOdwOz^O~ORyO~P!SO^{Oz^O~OteO!P}O~OuhO!R!PO~O^!QOz^O~O[!SOz^O~O[!VO`sOd!WOz^O~Oa!YOz^O~Oz^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oz^O~O[!_Oz^O~O[!aOz^O~O[!cO`sOd!dOz^O~O[!cO`sOd!dO~Oa!eOz^O~Oz^O{!gO}!hO~Oz^O[ma`madma~O[!kOz^O~O[!lOz^O~O[!mO`sOd!nO~OW!qOX!qO{!sO|!qO~OW!tOX!tO}!sO!O!tO~O[!vOz^O~OW!qOX!qO{!yO|!qO~OW!tOX!tO}!yO!O!tO~O",goto:"%cxPPPPPPPPPPyyP!PP!VPP!`!jP!pyyyP!v!|#S$[$k$q$w$}%TPPPP%ZXWORYbXRORYb_t`qru!T!U!bQ!i!YS!p!e!fR!w!oQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!j!oQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!j!]R!o!eQu`S!UqrU![u!U!bR!b!TQ!r!gR!x!rQ!u!hR!z!uQbRRxbQfTR|fQiUR!OiSXOYTaRb",nodeNames:"⚠ StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl",maxTerm:50,context:ae,nodeProps:[["closedBy",1,"SelfCloseEndTag EndTag",13,"CloseTag MissingCloseTag"],["openedBy",12,"StartTag StartCloseTag",19,"OpenTag",20,"StartTag"],["isolate",-6,13,18,19,21,22,24,""]],propSources:[me],skippedNodes:[0],repeatNodeCount:9,tokenData:"!)v~R!YOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs*vsv$qvw+fwx/ix}$q}!O0[!O!P$q!P!Q2z!Q![$q![!]4n!]!^$q!^!_8U!_!`!#t!`!a!$l!a!b!%d!b!c$q!c!}4n!}#P$q#P#Q!'W#Q#R$q#R#S4n#S#T$q#T#o4n#o%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U$q4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qi$zXVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qa%nVVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%gP&YTVPOv&Tw!^&T!_;'S&T;'S;=`&i<%lO&TP&lP;=`<%l&T`&tS!O`Ov&ox;'S&o;'S;=`'Q<%lO&o`'TP;=`<%l&oa'ZP;=`<%l%gX'eWVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^W(ST|WOr'}sv'}w;'S'};'S;=`(c<%lO'}W(fP;=`<%l'}X(lP;=`<%l'^h(vV|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oh)`P;=`<%l(oi)fP;=`<%l$qo)t`VP|W!O`zUOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk+PV{YVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%g~+iast,n![!]-r!c!}-r#R#S-r#T#o-r%W%o-r%p&a-r&b1p-r4U4d-r4e$IS-r$I`$Ib-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~,qQ!Q![,w#l#m-V~,zQ!Q![,w!]!^-Q~-VOX~~-YR!Q![-c!c!i-c#T#Z-c~-fS!Q![-c!]!^-Q!c!i-c#T#Z-c~-ug}!O-r!O!P-r!Q![-r![!]-r!]!^/^!c!}-r#R#S-r#T#o-r$}%O-r%W%o-r%p&a-r&b1p-r1p4U-r4U4d-r4e$IS-r$I`$Ib-r$Je$Jg-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~/cOW~~/fP;=`<%l-rk/rW}bVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^k0eZVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O1W!O!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk1aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a2S!a;'S$q;'S;=`)c<%lO$qk2_X!PQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qm3TZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a3v!a;'S$q;'S;=`)c<%lO$qm4RXdSVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo4{!P`S^QVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O4n!O!P4n!P!Q$q!Q![4n![!]4n!]!^$q!^!_(o!_!c$q!c!}4n!}#R$q#R#S4n#S#T$q#T#o4n#o$}$q$}%O4n%O%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U4n4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Je$q$Je$Jg4n$Jg$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qo8RP;=`<%l4ni8]Y|W!O`Oq(oqr8{rs&osv(owx'}x!a(o!a!b!#U!b;'S(o;'S;=`)]<%lO(oi9S_|W!O`Or(ors&osv(owx'}x}(o}!O:R!O!f(o!f!g;e!g!}(o!}#ODh#O#W(o#W#XLp#X;'S(o;'S;=`)]<%lO(oi:YX|W!O`Or(ors&osv(owx'}x}(o}!O:u!O;'S(o;'S;=`)]<%lO(oi;OV!QP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oi;lX|W!O`Or(ors&osv(owx'}x!q(o!q!r<X!r;'S(o;'S;=`)]<%lO(oi<`X|W!O`Or(ors&osv(owx'}x!e(o!e!f<{!f;'S(o;'S;=`)]<%lO(oi=SX|W!O`Or(ors&osv(owx'}x!v(o!v!w=o!w;'S(o;'S;=`)]<%lO(oi=vX|W!O`Or(ors&osv(owx'}x!{(o!{!|>c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[le,se,ie,ce,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function T(e,t){let o=t&&t.getChild("TagName");return o?e.sliceString(o.from,o.to):""}function P(e,t){let o=t&&t.firstChild;return!o||o.name!="OpenTag"?"":T(e,o)}function Se(e,t,o){let O=t&&t.getChildren("Attribute").find(a=>a.from<=o&&a.to>=o),r=O&&O.getChild("AttributeName");return r?e.sliceString(r.from,r.to):""}function C(e){for(let t=e&&e.parent;t;t=t.parent)if(t.name=="Element")return t;return null}function ge(e,t){var o;let O=k(e).resolveInner(t,-1),r=null;for(let a=O;!r&&a.parent;a=a.parent)(a.name=="OpenTag"||a.name=="CloseTag"||a.name=="SelfClosingTag"||a.name=="MismatchedCloseTag")&&(r=a);if(r&&(r.to>t||r.lastChild.type.isError)){let a=r.parent;if(O.name=="TagName")return r.name=="CloseTag"||r.name=="MismatchedCloseTag"?{type:"closeTag",from:O.from,context:a}:{type:"openTag",from:O.from,context:C(a)};if(O.name=="AttributeName")return{type:"attrName",from:O.from,context:r};if(O.name=="AttributeValue")return{type:"attrValue",from:O.from,context:r};let s=O==r||O.name=="Attribute"?O.childBefore(t):O;return(s==null?void 0:s.name)=="StartTag"?{type:"openTag",from:t,context:C(a)}:(s==null?void 0:s.name)=="StartCloseTag"&&s.to<=t?{type:"closeTag",from:t,context:a}:(s==null?void 0:s.name)=="Is"?{type:"attrValue",from:t,context:r}:s?{type:"attrName",from:t,context:r}:null}else if(O.name=="StartCloseTag")return{type:"closeTag",from:t,context:O.parent};for(;O.parent&&O.to==t&&!(!((o=O.lastChild)===null||o===void 0)&&o.type.isError);)O=O.parent;return O.name=="Element"||O.name=="Text"||O.name=="Document"?{type:"tag",from:t,context:O.name=="Element"?O:C(O)}:null}class ue{constructor(t,o,O){this.attrs=o,this.attrValues=O,this.children=[],this.name=t.name,this.completion=Object.assign(Object.assign({type:"type"},t.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"</"+this.name+">",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=t.textContent?t.textContent.map(r=>({label:r,type:"text"})):[]}}const b=/^[:\-\.\w\u00b7-\uffff]*$/;function E(e){return Object.assign(Object.assign({type:"property"},e.completion||{}),{label:e.name})}function R(e){return typeof e=="string"?{label:`"${e}"`,type:"constant"}:/^"/.test(e.label)?e:Object.assign(Object.assign({},e),{label:`"${e.label}"`})}function pe(e,t){let o=[],O=[],r=Object.create(null);for(let n of t){let $=E(n);o.push($),n.global&&O.push($),n.values&&(r[n.name]=n.values.map(R))}let a=[],s=[],f=Object.create(null);for(let n of e){let $=O,c=r;n.attributes&&($=$.concat(n.attributes.map(l=>typeof l=="string"?o.find(d=>d.label==l)||{label:l,type:"property"}:(l.values&&(c==r&&(c=Object.create(c)),c[l.name]=l.values.map(R)),E(l)))));let u=new ue(n,$,c);f[u.name]=u,a.push(u),n.top&&s.push(u)}s.length||(s=a);for(let n=0;n<a.length;n++){let $=e[n],c=a[n];if($.children)for(let u of $.children)f[u]&&c.children.push(f[u]);else c.children=a}return n=>{var $;let{doc:c}=n.state,u=ge(n.state,n.pos);if(!u||u.type=="tag"&&!n.explicit)return null;let{type:l,from:d,context:S}=u;if(l=="openTag"){let i=s,m=P(c,S);if(m){let g=f[m];i=(g==null?void 0:g.children)||a}return{from:d,options:i.map(g=>g.completion),validFor:b}}else if(l=="closeTag"){let i=P(c,S);return i?{from:d,to:n.pos+(c.sliceString(n.pos,n.pos+1)==">"?1:0),options:[(($=f[i])===null||$===void 0?void 0:$.closeNameCompletion)||{label:i+">",type:"type"}],validFor:b}:null}else if(l=="attrName"){let i=f[T(c,S)];return{from:d,options:(i==null?void 0:i.attrs)||O,validFor:b}}else if(l=="attrValue"){let i=Se(c,S,d);if(!i)return null;let m=f[T(c,S)],g=((m==null?void 0:m.attrValues)||r)[i];return!g||!g.length?null:{from:d,to:n.pos+(c.sliceString(n.pos,n.pos+1)=='"'?1:0),options:g,validFor:/^"[^"]*"?$/}}else if(l=="tag"){let i=P(c,S),m=f[i],g=[],q=S&&S.lastChild;i&&(!q||q.name!="CloseTag"||T(c,q)!=i)&&g.push(m?m.closeCompletion:{label:"</"+i+">",type:"type",boost:2});let v=g.concat(((m==null?void 0:m.children)||(S?a:s)).map(x=>x.openCompletion));if(S&&(m!=null&&m.text.length)){let x=S.firstChild;x.to>n.pos-20&&!/\S/.test(n.state.sliceDoc(x.to,n.pos))&&(v=v.concat(m.text))}return{from:d,options:v,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}else return null}}const w=Z.define({name:"xml",parser:$e.configure({props:[B.add({Element(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"OpenTag CloseTag SelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),D.add({Element(e){let t=e.firstChild,o=e.lastChild;return!t||t.name!="OpenTag"?null:{from:t.to,to:o.name=="CloseTag"?o.from:e.to}}}),M.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/$/}});function Te(e={}){let t=[w.data.of({autocomplete:pe(e.elements||[],e.attributes||[])})];return e.autoCloseTags!==!1&&t.push(fe),new U(w,t)}function z(e,t,o=e.length){if(!t)return"";let O=t.firstChild,r=O&&O.getChild("TagName");return r?e.sliceString(r.from,Math.min(r.to,o)):""}const fe=Y.inputHandler.of((e,t,o,O,r)=>{if(e.composing||e.state.readOnly||t!=o||O!=">"&&O!="/"||!w.isActiveAt(e.state,t,-1))return!1;let a=r(),{state:s}=a,f=s.changeByRange(n=>{var $,c,u;let{head:l}=n,d=s.doc.sliceString(l-1,l)==O,S=k(s).resolveInner(l,-1),i;if(d&&O==">"&&S.name=="EndTag"){let m=S.parent;if(((c=($=m.parent)===null||$===void 0?void 0:$.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(i=z(s.doc,m.parent,l))){let g=l+(s.doc.sliceString(l,l+1)===">"?1:0),q=`</${i}>`;return{range:n,changes:{from:l,to:g,insert:q}}}}else if(d&&O=="/"&&S.name=="StartCloseTag"){let m=S.parent;if(S.from==l-2&&((u=m.lastChild)===null||u===void 0?void 0:u.name)!="CloseTag"&&(i=z(s.doc,m,l))){let g=l+(s.doc.sliceString(l,l+1)===">"?1:0),q=`${i}>`;return{range:j.cursor(l+q.length,-1),changes:{from:l,to:g,insert:q}}}}return{range:n}});return f.changes.empty?!1:(e.dispatch([a,s.update(f,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});export{fe as autoCloseTags,pe as completeFromSchema,Te as xml,w as xmlLanguage};
|
|
1
|
+
import{L as G,E as A,C as N}from"./index-CpCaGGh0.js";import{s as I,t as p,E as Y,e as k,j,a as U,L as Z,i as B,f as D,O as M}from"./index-yZEr0YWk.js";import"./index-B2JoVHek.js";const h=1,F=2,L=3,K=4,H=5,J=36,ee=37,te=38,Oe=11,oe=13;function re(e){return e==45||e==46||e==58||e>=65&&e<=90||e==95||e>=97&&e<=122||e>=161}function ne(e){return e==9||e==10||e==13||e==32}let Q=null,V=null,X=0;function W(e,t){let o=e.pos+t;if(V==e&&X==o)return Q;for(;ne(e.peek(t));)t++;let O="";for(;;){let r=e.peek(t);if(!re(r))break;O+=String.fromCharCode(r),t++}return V=e,X=o,Q=O||null}function _(e,t){this.name=e,this.parent=t}const ae=new N({start:null,shift(e,t,o,O){return t==h?new _(W(O,1)||"",e):e},reduce(e,t){return t==Oe&&e?e.parent:e},reuse(e,t,o,O){let r=t.type.id;return r==h||r==oe?new _(W(O,1)||"",e):e},strict:!1}),le=new A((e,t)=>{if(e.next==60){if(e.advance(),e.next==47){e.advance();let o=W(e,0);if(!o)return e.acceptToken(H);if(t.context&&o==t.context.name)return e.acceptToken(F);for(let O=t.context;O;O=O.parent)if(O.name==o)return e.acceptToken(L,-2);e.acceptToken(K)}else if(e.next!=33&&e.next!=63)return e.acceptToken(h)}},{contextual:!0});function y(e,t){return new A(o=>{let O=0,r=t.charCodeAt(0);e:for(;!(o.next<0);o.advance(),O++)if(o.next==r){for(let a=1;a<t.length;a++)if(o.peek(a)!=t.charCodeAt(a))continue e;break}O&&o.acceptToken(e)})}const se=y(J,"-->"),ie=y(ee,"?>"),ce=y(te,"]]>"),me=I({Text:p.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":p.angleBracket,TagName:p.tagName,"MismatchedCloseTag/TagName":[p.tagName,p.invalid],AttributeName:p.attributeName,AttributeValue:p.attributeValue,Is:p.definitionOperator,"EntityReference CharacterReference":p.character,Comment:p.blockComment,ProcessingInst:p.processingInstruction,DoctypeDecl:p.documentMeta,Cdata:p.special(p.string)}),$e=G.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(hO#tO'#CnO(vO&jO'#CnOOOO1G.q1G.qO)UOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO)^O#tO,59YOOOO,59Y,59YOOOO'#C{'#C{O)lO&jO,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.tOOOO-E6y-E6y",stateData:")z~OPQOSVOTWOVWOWWOXWOiXOyPO!QTO!SUO~OvZOx]O~O^`Oz^O~OPQOQcOSVOTWOVWOWWOXWOyPO!QTO!SUO~ORdO~P!SOteO!PgO~OuhO!RjO~O^lOz^O~OvZOxoO~O^qOz^O~O[vO`sOdwOz^O~ORyO~P!SO^{Oz^O~OteO!P}O~OuhO!R!PO~O^!QOz^O~O[!SOz^O~O[!VO`sOd!WOz^O~Oa!YOz^O~Oz^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oz^O~O[!_Oz^O~O[!aOz^O~O[!cO`sOd!dOz^O~O[!cO`sOd!dO~Oa!eOz^O~Oz^O{!gO}!hO~Oz^O[ma`madma~O[!kOz^O~O[!lOz^O~O[!mO`sOd!nO~OW!qOX!qO{!sO|!qO~OW!tOX!tO}!sO!O!tO~O[!vOz^O~OW!qOX!qO{!yO|!qO~OW!tOX!tO}!yO!O!tO~O",goto:"%cxPPPPPPPPPPyyP!PP!VPP!`!jP!pyyyP!v!|#S$[$k$q$w$}%TPPPP%ZXWORYbXRORYb_t`qru!T!U!bQ!i!YS!p!e!fR!w!oQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!j!oQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!j!]R!o!eQu`S!UqrU![u!U!bR!b!TQ!r!gR!x!rQ!u!hR!z!uQbRRxbQfTR|fQiUR!OiSXOYTaRb",nodeNames:"⚠ StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl",maxTerm:50,context:ae,nodeProps:[["closedBy",1,"SelfCloseEndTag EndTag",13,"CloseTag MissingCloseTag"],["openedBy",12,"StartTag StartCloseTag",19,"OpenTag",20,"StartTag"],["isolate",-6,13,18,19,21,22,24,""]],propSources:[me],skippedNodes:[0],repeatNodeCount:9,tokenData:"!)v~R!YOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs*vsv$qvw+fwx/ix}$q}!O0[!O!P$q!P!Q2z!Q![$q![!]4n!]!^$q!^!_8U!_!`!#t!`!a!$l!a!b!%d!b!c$q!c!}4n!}#P$q#P#Q!'W#Q#R$q#R#S4n#S#T$q#T#o4n#o%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U$q4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qi$zXVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qa%nVVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%gP&YTVPOv&Tw!^&T!_;'S&T;'S;=`&i<%lO&TP&lP;=`<%l&T`&tS!O`Ov&ox;'S&o;'S;=`'Q<%lO&o`'TP;=`<%l&oa'ZP;=`<%l%gX'eWVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^W(ST|WOr'}sv'}w;'S'};'S;=`(c<%lO'}W(fP;=`<%l'}X(lP;=`<%l'^h(vV|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oh)`P;=`<%l(oi)fP;=`<%l$qo)t`VP|W!O`zUOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk+PV{YVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%g~+iast,n![!]-r!c!}-r#R#S-r#T#o-r%W%o-r%p&a-r&b1p-r4U4d-r4e$IS-r$I`$Ib-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~,qQ!Q![,w#l#m-V~,zQ!Q![,w!]!^-Q~-VOX~~-YR!Q![-c!c!i-c#T#Z-c~-fS!Q![-c!]!^-Q!c!i-c#T#Z-c~-ug}!O-r!O!P-r!Q![-r![!]-r!]!^/^!c!}-r#R#S-r#T#o-r$}%O-r%W%o-r%p&a-r&b1p-r1p4U-r4U4d-r4e$IS-r$I`$Ib-r$Je$Jg-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~/cOW~~/fP;=`<%l-rk/rW}bVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^k0eZVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O1W!O!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk1aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a2S!a;'S$q;'S;=`)c<%lO$qk2_X!PQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qm3TZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a3v!a;'S$q;'S;=`)c<%lO$qm4RXdSVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo4{!P`S^QVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O4n!O!P4n!P!Q$q!Q![4n![!]4n!]!^$q!^!_(o!_!c$q!c!}4n!}#R$q#R#S4n#S#T$q#T#o4n#o$}$q$}%O4n%O%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U4n4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Je$q$Je$Jg4n$Jg$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qo8RP;=`<%l4ni8]Y|W!O`Oq(oqr8{rs&osv(owx'}x!a(o!a!b!#U!b;'S(o;'S;=`)]<%lO(oi9S_|W!O`Or(ors&osv(owx'}x}(o}!O:R!O!f(o!f!g;e!g!}(o!}#ODh#O#W(o#W#XLp#X;'S(o;'S;=`)]<%lO(oi:YX|W!O`Or(ors&osv(owx'}x}(o}!O:u!O;'S(o;'S;=`)]<%lO(oi;OV!QP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oi;lX|W!O`Or(ors&osv(owx'}x!q(o!q!r<X!r;'S(o;'S;=`)]<%lO(oi<`X|W!O`Or(ors&osv(owx'}x!e(o!e!f<{!f;'S(o;'S;=`)]<%lO(oi=SX|W!O`Or(ors&osv(owx'}x!v(o!v!w=o!w;'S(o;'S;=`)]<%lO(oi=vX|W!O`Or(ors&osv(owx'}x!{(o!{!|>c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[le,se,ie,ce,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function T(e,t){let o=t&&t.getChild("TagName");return o?e.sliceString(o.from,o.to):""}function P(e,t){let o=t&&t.firstChild;return!o||o.name!="OpenTag"?"":T(e,o)}function Se(e,t,o){let O=t&&t.getChildren("Attribute").find(a=>a.from<=o&&a.to>=o),r=O&&O.getChild("AttributeName");return r?e.sliceString(r.from,r.to):""}function C(e){for(let t=e&&e.parent;t;t=t.parent)if(t.name=="Element")return t;return null}function ge(e,t){var o;let O=k(e).resolveInner(t,-1),r=null;for(let a=O;!r&&a.parent;a=a.parent)(a.name=="OpenTag"||a.name=="CloseTag"||a.name=="SelfClosingTag"||a.name=="MismatchedCloseTag")&&(r=a);if(r&&(r.to>t||r.lastChild.type.isError)){let a=r.parent;if(O.name=="TagName")return r.name=="CloseTag"||r.name=="MismatchedCloseTag"?{type:"closeTag",from:O.from,context:a}:{type:"openTag",from:O.from,context:C(a)};if(O.name=="AttributeName")return{type:"attrName",from:O.from,context:r};if(O.name=="AttributeValue")return{type:"attrValue",from:O.from,context:r};let s=O==r||O.name=="Attribute"?O.childBefore(t):O;return(s==null?void 0:s.name)=="StartTag"?{type:"openTag",from:t,context:C(a)}:(s==null?void 0:s.name)=="StartCloseTag"&&s.to<=t?{type:"closeTag",from:t,context:a}:(s==null?void 0:s.name)=="Is"?{type:"attrValue",from:t,context:r}:s?{type:"attrName",from:t,context:r}:null}else if(O.name=="StartCloseTag")return{type:"closeTag",from:t,context:O.parent};for(;O.parent&&O.to==t&&!(!((o=O.lastChild)===null||o===void 0)&&o.type.isError);)O=O.parent;return O.name=="Element"||O.name=="Text"||O.name=="Document"?{type:"tag",from:t,context:O.name=="Element"?O:C(O)}:null}class ue{constructor(t,o,O){this.attrs=o,this.attrValues=O,this.children=[],this.name=t.name,this.completion=Object.assign(Object.assign({type:"type"},t.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"</"+this.name+">",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=t.textContent?t.textContent.map(r=>({label:r,type:"text"})):[]}}const b=/^[:\-\.\w\u00b7-\uffff]*$/;function E(e){return Object.assign(Object.assign({type:"property"},e.completion||{}),{label:e.name})}function R(e){return typeof e=="string"?{label:`"${e}"`,type:"constant"}:/^"/.test(e.label)?e:Object.assign(Object.assign({},e),{label:`"${e.label}"`})}function pe(e,t){let o=[],O=[],r=Object.create(null);for(let n of t){let $=E(n);o.push($),n.global&&O.push($),n.values&&(r[n.name]=n.values.map(R))}let a=[],s=[],f=Object.create(null);for(let n of e){let $=O,c=r;n.attributes&&($=$.concat(n.attributes.map(l=>typeof l=="string"?o.find(d=>d.label==l)||{label:l,type:"property"}:(l.values&&(c==r&&(c=Object.create(c)),c[l.name]=l.values.map(R)),E(l)))));let u=new ue(n,$,c);f[u.name]=u,a.push(u),n.top&&s.push(u)}s.length||(s=a);for(let n=0;n<a.length;n++){let $=e[n],c=a[n];if($.children)for(let u of $.children)f[u]&&c.children.push(f[u]);else c.children=a}return n=>{var $;let{doc:c}=n.state,u=ge(n.state,n.pos);if(!u||u.type=="tag"&&!n.explicit)return null;let{type:l,from:d,context:S}=u;if(l=="openTag"){let i=s,m=P(c,S);if(m){let g=f[m];i=(g==null?void 0:g.children)||a}return{from:d,options:i.map(g=>g.completion),validFor:b}}else if(l=="closeTag"){let i=P(c,S);return i?{from:d,to:n.pos+(c.sliceString(n.pos,n.pos+1)==">"?1:0),options:[(($=f[i])===null||$===void 0?void 0:$.closeNameCompletion)||{label:i+">",type:"type"}],validFor:b}:null}else if(l=="attrName"){let i=f[T(c,S)];return{from:d,options:(i==null?void 0:i.attrs)||O,validFor:b}}else if(l=="attrValue"){let i=Se(c,S,d);if(!i)return null;let m=f[T(c,S)],g=((m==null?void 0:m.attrValues)||r)[i];return!g||!g.length?null:{from:d,to:n.pos+(c.sliceString(n.pos,n.pos+1)=='"'?1:0),options:g,validFor:/^"[^"]*"?$/}}else if(l=="tag"){let i=P(c,S),m=f[i],g=[],q=S&&S.lastChild;i&&(!q||q.name!="CloseTag"||T(c,q)!=i)&&g.push(m?m.closeCompletion:{label:"</"+i+">",type:"type",boost:2});let v=g.concat(((m==null?void 0:m.children)||(S?a:s)).map(x=>x.openCompletion));if(S&&(m!=null&&m.text.length)){let x=S.firstChild;x.to>n.pos-20&&!/\S/.test(n.state.sliceDoc(x.to,n.pos))&&(v=v.concat(m.text))}return{from:d,options:v,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}else return null}}const w=Z.define({name:"xml",parser:$e.configure({props:[B.add({Element(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"OpenTag CloseTag SelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),D.add({Element(e){let t=e.firstChild,o=e.lastChild;return!t||t.name!="OpenTag"?null:{from:t.to,to:o.name=="CloseTag"?o.from:e.to}}}),M.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/$/}});function Te(e={}){let t=[w.data.of({autocomplete:pe(e.elements||[],e.attributes||[])})];return e.autoCloseTags!==!1&&t.push(fe),new U(w,t)}function z(e,t,o=e.length){if(!t)return"";let O=t.firstChild,r=O&&O.getChild("TagName");return r?e.sliceString(r.from,Math.min(r.to,o)):""}const fe=Y.inputHandler.of((e,t,o,O,r)=>{if(e.composing||e.state.readOnly||t!=o||O!=">"&&O!="/"||!w.isActiveAt(e.state,t,-1))return!1;let a=r(),{state:s}=a,f=s.changeByRange(n=>{var $,c,u;let{head:l}=n,d=s.doc.sliceString(l-1,l)==O,S=k(s).resolveInner(l,-1),i;if(d&&O==">"&&S.name=="EndTag"){let m=S.parent;if(((c=($=m.parent)===null||$===void 0?void 0:$.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(i=z(s.doc,m.parent,l))){let g=l+(s.doc.sliceString(l,l+1)===">"?1:0),q=`</${i}>`;return{range:n,changes:{from:l,to:g,insert:q}}}}else if(d&&O=="/"&&S.name=="StartCloseTag"){let m=S.parent;if(S.from==l-2&&((u=m.lastChild)===null||u===void 0?void 0:u.name)!="CloseTag"&&(i=z(s.doc,m,l))){let g=l+(s.doc.sliceString(l,l+1)===">"?1:0),q=`${i}>`;return{range:j.cursor(l+q.length,-1),changes:{from:l,to:g,insert:q}}}}return{range:n}});return f.changes.empty?!1:(e.dispatch([a,s.update(f,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});export{fe as autoCloseTags,pe as completeFromSchema,Te as xml,w as xmlLanguage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{L as v,E as i,C as _}from"./index-DqZmnJED.js";import{s as W,t as e,a as g,L as x,f as k,l as V,i as U,c as E}from"./index-D5Qmx1JR.js";import{defineCSSCompletionSource as N}from"./index-4rSR8lau.js";import"./index-BR1m9FON.js";const j=168,X=169,C=170,I=1,D=2,w=3,L=171,F=172,Y=4,z=173,K=5,A=174,T=175,Z=176,s=177,G=6,p=7,B=8,H=9,c=0,R=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],M=58,J=40,m=95,OO=91,l=45,$O=46,f=35,eO=37,u=123,QO=125,d=47,S=42,r=10,q=61,tO=43,aO=38;function o(O){return O>=65&&O<=90||O>=97&&O<=122||O>=161}function y(O){return O>=48&&O<=57}function h(O){let $;return O.next==d&&(($=O.peek(1))==d||$==S)}const nO=new i((O,$)=>{if($.dialectEnabled(c)){let Q;if(O.next<0&&$.canShift(Z))O.acceptToken(Z);else if(((Q=O.peek(-1))==r||Q<0)&&$.canShift(T)){let t=0;for(;O.next!=r&&R.includes(O.next);)O.advance(),t++;O.next==r||h(O)?O.acceptToken(T,-t):t&&O.acceptToken(s)}else if(O.next==r)O.acceptToken(A,1);else if(R.includes(O.next)){for(O.advance();O.next!=r&&R.includes(O.next);)O.advance();O.acceptToken(s)}}else{let Q=0;for(;R.includes(O.next);)O.advance(),Q++;Q&&O.acceptToken(s)}},{contextual:!0}),rO=new i((O,$)=>{if(h(O)){if(O.advance(),$.dialectEnabled(c)){let Q=-1;for(let t=1;;t++){let a=O.peek(-t-1);if(a==r||a<0){Q=t+1;break}else if(!R.includes(a))break}if(Q>-1){let t=O.next==S,a=0;for(O.advance();O.next>=0;)if(O.next==r){O.advance();let n=0;for(;O.next!=r&&R.includes(O.next);)n++,O.advance();if(n<Q){a=-n-1;break}}else if(t&&O.next==S&&O.peek(1)==d){a=2;break}else O.advance();O.acceptToken(t?p:G,a);return}}if(O.next==d){for(;O.next!=r&&O.next>=0;)O.advance();O.acceptToken(G)}else{for(O.advance();O.next>=0;){let{next:Q}=O;if(O.advance(),Q==S&&O.next==d){O.advance();break}}O.acceptToken(p)}}}),RO=new i((O,$)=>{(O.next==tO||O.next==q)&&$.dialectEnabled(c)&&O.acceptToken(O.next==q?B:H,1)}),iO=new i((O,$)=>{if(!$.dialectEnabled(c))return;let Q=$.context.depth;if(O.next<0&&Q){O.acceptToken(X);return}if(O.peek(-1)==r){let a=0;for(;O.next!=r&&R.includes(O.next);)O.advance(),a++;a!=Q&&O.next!=r&&!h(O)&&(a<Q?O.acceptToken(X,-a):O.acceptToken(j))}}),oO=new i((O,$)=>{for(let Q=!1,t=0,a=0;;a++){let{next:n}=O;if(o(n)||n==l||n==m||Q&&y(n))!Q&&(n!=l||a>0)&&(Q=!0),t===a&&n==l&&t++,O.advance();else if(n==f&&O.peek(1)==u){O.acceptToken(K,2);break}else{Q&&O.acceptToken(t==2&&$.canShift(Y)?Y:$.canShift(z)?z:n==J?L:F);break}}}),lO=new i(O=>{if(O.next==QO){for(O.advance();o(O.next)||O.next==l||O.next==m||y(O.next);)O.advance();O.next==f&&O.peek(1)==u?O.acceptToken(D,2):O.acceptToken(I)}}),dO=new i(O=>{if(R.includes(O.peek(-1))){let{next:$}=O;(o($)||$==m||$==f||$==$O||$==OO||$==M&&o(O.peek(1))||$==l||$==aO||$==S)&&O.acceptToken(C)}}),SO=new i(O=>{if(!R.includes(O.peek(-1))){let{next:$}=O;if($==eO&&(O.advance(),O.acceptToken(w)),o($)){do O.advance();while(o(O.next)||y(O.next));O.acceptToken(w)}}});function b(O,$){this.parent=O,this.depth=$,this.hash=(O?O.hash+O.hash<<8:0)+$+($<<4)}const cO=new b(null,0),sO=new _({start:cO,shift(O,$,Q,t){return $==j?new b(O,Q.pos-t.pos):$==X?O.parent:O},hash(O){return O.hash}}),XO=W({"AtKeyword import charset namespace keyframes media supports include mixin use forward extend at-root":e.definitionKeyword,"Keyword selector":e.keyword,ControlKeyword:e.controlKeyword,NamespaceName:e.namespace,KeyframeName:e.labelName,KeyframeRangeName:e.operatorKeyword,TagName:e.tagName,"ClassName Suffix":e.className,PseudoClassName:e.constant(e.className),IdName:e.labelName,"FeatureName PropertyName":e.propertyName,AttributeName:e.attributeName,NumberLiteral:e.number,KeywordQuery:e.keyword,UnaryQueryOp:e.operatorKeyword,"CallTag ValueName":e.atom,VariableName:e.variableName,SassVariableName:e.special(e.variableName),Callee:e.operatorKeyword,Unit:e.unit,"UniversalSelector NestingSelector IndentedMixin IndentedInclude":e.definitionOperator,MatchOp:e.compareOperator,"ChildOp SiblingOp, LogicOp":e.logicOperator,BinOp:e.arithmeticOperator,"Important Global Default":e.modifier,Comment:e.blockComment,LineComment:e.lineComment,ColorLiteral:e.color,"ParenthesizedContent StringLiteral":e.string,"InterpolationStart InterpolationContinue InterpolationEnd":e.meta,': "..."':e.punctuation,"PseudoOp #":e.derefOperator,"; ,":e.separator,"( )":e.paren,"[ ]":e.squareBracket,"{ }":e.brace}),PO={__proto__:null,not:62,using:197,as:207,with:211,without:211,hide:225,show:225,if:263,from:269,to:271,through:273,in:279},mO={__proto__:null,url:82,"url-prefix":82,domain:82,regexp:82,lang:104,"nth-child":104,"nth-last-child":104,"nth-of-type":104,"nth-last-of-type":104,dir:104,"host-context":104},fO={__proto__:null,"@import":162,"@include":194,"@mixin":200,"@function":200,"@use":204,"@extend":214,"@at-root":218,"@forward":222,"@media":228,"@charset":232,"@namespace":236,"@keyframes":242,"@supports":254,"@if":258,"@else":260,"@for":266,"@each":276,"@while":282,"@debug":286,"@warn":286,"@error":286,"@return":286},yO={__proto__:null,layer:166,not:184,only:184,selector:190},hO=v.deserialize({version:14,states:"!$WQ`Q+tOOO#fQ+tOOP#mOpOOOOQ#U'#Ch'#ChO#rQ(pO'#CjOOQ#U'#Ci'#CiO%_Q)QO'#GXO%rQ.jO'#CnO&mQ#dO'#D]O'dQ(pO'#CgO'kQ)OO'#D_O'vQ#dO'#DfO'{Q#dO'#DiO(QQ#dO'#DqOOQ#U'#GX'#GXO(VQ(pO'#GXO(^Q(nO'#DuO%rQ.jO'#D}O%rQ.jO'#E`O%rQ.jO'#EcO%rQ.jO'#EeO(cQ)OO'#EjO)TQ)OO'#ElO%rQ.jO'#EnO)bQ)OO'#EqO%rQ.jO'#EsO)|Q)OO'#EuO*XQ)OO'#ExO*aQ)OO'#FOO*uQ)OO'#FbOOQ&Z'#GW'#GWOOQ&Y'#Fe'#FeO+PQ(nO'#FeQ`Q+tOOO%rQ.jO'#FQO+[Q(nO'#FUO+aQ)OO'#FZO%rQ.jO'#F^O%rQ.jO'#F`OOQ&Z'#Fm'#FmO+iQ+uO'#GaO+vQ(oO'#GaQOQ#SOOP,XO#SO'#GVPOOO)CAz)CAzOOQ#U'#Cm'#CmOOQ#U,59W,59WOOQ#i'#Cp'#CpO%rQ.jO'#CsO,xQ.wO'#CuO/dQ.^O,59YO%rQ.jO'#CzOOQ#S'#DP'#DPO/uQ(nO'#DUO/zQ)OO'#DZOOQ#i'#GZ'#GZO0SQ(nO'#DOOOQ#U'#D^'#D^OOQ#U,59w,59wO&mQ#dO,59wO0XQ)OO,59yO'vQ#dO,5:QO'{Q#dO,5:TO(cQ)OO,5:WO(cQ)OO,5:YO(cQ)OO,5:ZO(cQ)OO'#FlO0dQ(nO,59RO0oQ+tO'#DsO0vQ#TO'#DsOOQ&Z,59R,59ROOQ#U'#Da'#DaOOQ#S'#Dd'#DdOOQ#U,59y,59yO0{Q(nO,59yO1QQ(nO,59yOOQ#U'#Dh'#DhOOQ#U,5:Q,5:QOOQ#S'#Dj'#DjO1VQ9`O,5:TOOQ#U'#Dr'#DrOOQ#U,5:],5:]O2YQ.jO,5:aO2dQ.jO,5:iO3`Q.jO,5:zO3mQ.YO,5:}O4OQ.jO,5;POOQ#U'#Cj'#CjO4wQ(pO,5;UO5UQ(pO,5;WOOQ&Z,5;W,5;WO5]Q)OO,5;WO5bQ.jO,5;YOOQ#S'#ET'#ETO6TQ.jO'#E]O6kQ(nO'#GcO*aQ)OO'#EZO7PQ(nO'#E^OOQ#S'#Gd'#GdO0gQ(nO,5;]O4UQ.YO,5;_OOQ#d'#Ew'#EwO+PQ(nO,5;aO7UQ)OO,5;aOOQ#S'#Ez'#EzO7^Q(nO,5;dO7cQ(nO,5;jO7nQ(nO,5;|OOQ&Z'#Gf'#GfOOQ&Y,5<P,5<POOQ&Y-E9c-E9cO3mQ.YO,5;lO7|Q)OO,5;pO8RQ)OO'#GhO8ZQ)OO,5;uO3mQ.YO,5;xO4UQ.YO,5;zOOQ&Z-E9k-E9kO8`Q(oO,5<{OOQ&Z'#Gb'#GbO8qQ+uO'#FpO8`Q(oO,5<{POO#S'#Fd'#FdP9UO#SO,5<qPOOO,5<q,5<qO9dQ.YO,59_OOQ#i,59a,59aO%rQ.jO,59cO%rQ.jO,59hO%rQ.jO'#FiO9rQ#WO1G.tOOQ#k1G.t1G.tO9zQ.oO,59fO<pQ! lO,59pOOQ#d'#D['#D[OOQ#d'#Fh'#FhO<{Q)OO,59uOOQ#i,59u,59uO={Q.jO'#DQOOQ#i,59j,59jOOQ#U1G/c1G/cOOQ#U1G/e1G/eO0{Q(nO1G/eO1QQ(nO1G/eOOQ#U1G/l1G/lO>VQ9`O1G/oO>pQ(pO1G/rO?dQ(pO1G/tO@WQ(pO1G/uO@zQ(pO,5<WOOQ#S-E9j-E9jOOQ&Z1G.m1G.mOAXQ(nO,5:_OA^Q+uO,5:_OAeQ)OO'#DeOAlQ.jO'#DcOOQ#U1G/o1G/oO%rQ.jO1G/oOBkQ.jO'#DwOBuQ.kO1G/{OOQ#T1G/{1G/{OCrQ)OO'#EQO+PQ(nO1G0TO2pQ)OO1G0TODaQ+uO'#GfOOQ&Z1G0f1G0fO0SQ(nO1G0fOOQ&Z1G0i1G0iOOQ&Z1G0k1G0kO0SQ(nO1G0kOFyQ)OO1G0kOOQ&Z1G0p1G0pOOQ&Z1G0r1G0rOGRQ)OO1G0rOGWQ(nO1G0rOG]Q)OO1G0tOOQ&Z1G0t1G0tOGkQ.jO'#FsOG{Q#dO1G0tOHQQ!N^O'#CuOH]Q!NUO'#ETOHkQ!NUO,5:pOHsQ(nO,5:wOOQ#S'#Ge'#GeOHnQ!NUO,5:sO*aQ)OO,5:rOH{Q)OO'#FrOI`Q(nO,5<}OIqQ(nO,5:uO(cQ)OO,5:xOOQ&Z1G0w1G0wOOQ&Z1G0y1G0yOOQ&Z1G0{1G0{O+PQ(nO1G0{OJYQ)OO'#E{OOQ&Z1G1O1G1OOOQ&Z1G1U1G1UOOQ&Z1G1h1G1hOJeQ+uO1G1WO%rQ.jO1G1[OL}Q)OO'#FxOMYQ)OO,5=SO%rQ.jO1G1aOOQ&Z1G1d1G1dOOQ&Z1G1f1G1fOMbQ(oO1G2gOMsQ+uO,5<[OOQ#T,5<[,5<[OOQ#T-E9n-E9nPOO#S-E9b-E9bPOOO1G2]1G2]OOQ#i1G.y1G.yONWQ.oO1G.}OOQ#i1G/S1G/SO!!|Q.^O,5<TOOQ#W-E9g-E9gOOQ#k7+$`7+$`OOQ#i1G/[1G/[O!#_Q(nO1G/[OOQ#d-E9f-E9fOOQ#i1G/a1G/aO!#dQ.jO'#FfO!$qQ.jO'#G]O!&]Q.jO'#GZO!&dQ(nO,59lOOQ#U7+%P7+%POOQ#U7+%Z7+%ZO%rQ.jO7+%ZOOQ&Z1G/y1G/yO!&iQ#TO1G/yO!&nQ(pO'#G_O!&xQ(nO,5:PO!&}Q.jO'#G^O!'XQ(nO,59}O!'^Q.YO7+%ZO!'lQ.YO'#GZO!'}Q(nO,5:cOOQ#T,5:c,5:cO!(VQ.kO'#FoO%rQ.jO'#FoO!)yQ.kO7+%gOOQ#T7+%g7+%gO!*mQ#dO,5:lOOQ&Z7+%o7+%oO+PQ(nO7+%oO7nQ(nO7+&QO+PQ(nO7+&VOOQ#d'#Eh'#EhO!*rQ)OO7+&VO!+QQ(nO7+&^O*aQ)OO7+&^OOQ#d-E9q-E9qOOQ&Z7+&`7+&`O!+VQ.jO'#GgOOQ#d,5<_,5<_OF|Q(nO7+&`O%rQ.jO1G0[O!+qQ.jO1G0_OOQ#S1G0c1G0cOOQ#S1G0^1G0^O!+xQ(nO,5<^OOQ#S-E9p-E9pO!,^Q(pO1G0dOOQ&Z7+&g7+&gO,gQ(vO'#CuOOQ#S'#E}'#E}O!,eQ(nO'#E|OOQ#S'#E|'#E|O!,sQ(nO'#FuO!-OQ)OO,5;gOOQ&Z,5;g,5;gO!-ZQ+uO7+&rO!/sQ)OO7+&rO!0OQ.jO7+&vOOQ#d,5<d,5<dOOQ#d-E9v-E9vO3mQ.YO7+&{OOQ#T1G1v1G1vOOQ#i7+$v7+$vOOQ#d-E9d-E9dO!0aQ.jO'#FgO!0nQ(nO,5<wO!0nQ(nO,5<wO%rQ.jO,5<wOOQ#i1G/W1G/WO!0vQ.YO<<HuOOQ&Z7+%e7+%eO!1UQ)OO'#FkO!1`Q(nO,5<yOOQ#U1G/k1G/kO!1hQ.jO'#FjO!1rQ(nO,5<xOOQ#U1G/i1G/iOOQ#U<<Hu<<HuO1_Q.jO,5<YO!1zQ(nO'#FnOOQ#S-E9l-E9lOOQ#T1G/}1G/}O!2PQ.kO,5<ZOOQ#e-E9m-E9mOOQ#T<<IR<<IROOQ#S'#ES'#ESO!3sQ(nO1G0WOOQ&Z<<IZ<<IZOOQ&Z<<Il<<IlOOQ&Z<<Iq<<IqO0SQ(nO<<IqO*aQ)OO<<IxO!3{Q(nO<<IxO!4TQ.jO'#FtO!4hQ)OO,5=ROG]Q)OO<<IzO!4yQ.jO7+%vOOQ#S'#EV'#EVO!5QQ!NUO7+%yOOQ#S7+&O7+&OOOQ#S,5;h,5;hOJ]Q)OO'#FvO!,sQ(nO,5<aOOQ#d,5<a,5<aOOQ#d-E9s-E9sOOQ&Z1G1R1G1ROOQ&Z-E9u-E9uO!/sQ)OO<<J^O%rQ.jO,5<cOOQ&Z<<J^<<J^O%rQ.jO<<JbOOQ&Z<<Jg<<JgO!5YQ.jO,5<RO!5gQ.jO,5<ROOQ#S-E9e-E9eO!5nQ(nO1G2cO!5vQ.jO1G2cOOQ#UAN>aAN>aO!6QQ(pO,5<VOOQ#S-E9i-E9iO!6[Q.jO,5<UOOQ#S-E9h-E9hO!6fQ.YO1G1tO!6oQ(nO1G1tO!*mQ#dO'#FqO!6zQ(nO7+%rOOQ#d7+%r7+%rO+PQ(nOAN?]O!7SQ(nOAN?dO0gQ(nOAN?dO!7[Q.jO,5<`OOQ#d-E9r-E9rOG]Q)OOAN?fOOQ&ZAN?fAN?fOOQ#S<<Ib<<IbOOQ#S<<Ie<<IeO!7vQ.jO<<IeOOQ#S,5<b,5<bOOQ#S-E9t-E9tOOQ#d1G1{1G1{P!8_Q)OO'#FwOOQ&ZAN?xAN?xO3mQ.YO1G1}O3mQ.YOAN?|OOQ#S1G1m1G1mO%rQ.jO1G1mO!8dQ(nO7+'}OOQ#S7+'`7+'`OOQ#S,5<],5<]OOQ#S-E9o-E9oOOQ#d<<I^<<I^OOQ&ZG24wG24wO0gQ(nOG25OOOQ&ZG25OG25OOOQ&ZG25QG25QO!8lQ(nOAN?POOQ&Z7+'i7+'iOOQ&ZG25hG25hO!8qQ.jO7+'XOOQ&ZLD*jLD*jOOQ#SG24kG24k",stateData:"!9R~O$wOSVOSUOS$uQQ~OS`OTVOWcOXbO_UOc`OqWOuYO|[O!SYO!ZZO!rmO!saO#TbO#WcO#YdO#_eO#afO#cgO#fhO#hiO#jjO#mkO#slO#urO#ysO$OtO$RuO$TvO$rSO$|RO%S]O~O$m%TP~P`O$u{O~Oq^Xu^Xu!jXw^X|^X!S^X!Z^X!a^X!d^X!h^X$p^X$t^X~Oq${Xu${Xw${X|${X!S${X!Z${X!a${X!d${X!h${X$p${X$t${X~O$r}O!o${X$v${Xf${Xe${X~P$jOS!XOTVO_!XOc!XOf!QOh!XOj!XOo!TOy!VO|!WO$q!UO$r!PO%O!RO~O$r!ZO~Oq!]Ou!^O|!`O!S!^O!Z!_O!a!aO!d!cO!h!fO$p!bO$t!gO~Ow!dO~P&rO!U!mO$q!jO$r!iO~O$r!nO~O$r!pO~O$r!rO~Ou!tO~P$jOu!tO~OTVO_UOqWOuYO|[O!SYO!ZZO$r!yO$|RO%S]O~Of!}O!h!fO$t!gO~P(cOTVOc#UOf#QO#O#SO#R#TO$s#PO!h%VP$t%VP~Oj#YOy!VO$r#XO~Oj#[O$r#[O~OTVOc#UOf#QO#O#SO#R#TO$s#PO~O!o%VP$v%VP~P)bO!o#`O$t#`O$v#`O~Oc#dO~Oc#eO$P%[P~O$m%TX!p%TX$o%TX~P`O!o#kO$t#kO$m%TX!p%TX$o%TX~OU#nOV#nO$t#pO$w#nO~OR#rO$tiX!hiXeiXwiX~OPiXQiXliXmiXqiXTiXciXfiX!oiX!uiX#OiX#RiX$siX$viX#UiX#ZiX#]iX#diXSiX_iXhiXjiXoiXyiX|iX!liX!miX!niX$qiX$riX%OiX$miXviX{iX#{iX#|iX!piX$oiX~P,gOP#wOQ#uOl#sOm#sOq#tO~Of#yO~O{#}O$r#zO~Of$OO~O!U$TO$q!jO$r!iO~Ow!dO!h!fO$t!gO~O!p%TP~P`O$n$_O~Of$`O~Of$aO~O{$bO!_$cO~OS!XOTVO_!XOc!XOf$dOh!XOj!XOo!TOy!VO|!WO$q!UO$r!PO%O!RO~O!h!fO$t!gO~P1_Ol#sOm#sOq#tO!u$gO!o%VP$t%VP$v%VP~P*aOl#sOm#sOq#tO!o#`O$v#`O~O!h!fO#U$lO$t$jO~P2}Ol#sOm#sOq#tO!h!fO$t!gO~O#Z$pO#]$oO$t#`O~P2}Oq!]Ou!^O|!`O!S!^O!Z!_O!a!aO!d!cO$p!bO~O!o#`O$t#`O$v#`O~P4]Of$sO~P&rO#]$tO~O#Z$xO#d$wO$t#`O~P2}OS$}Oh$}Oj$}Oy!VO$q!UO%O$yO~OTVOc#UOf#QO#O#SO#R#TO$s$zO~P5oOm%POw%QO!h%VX$t%VX!o%VX$v%VX~Of%TO~Oj%XOy!VO~O!h%YO~Om%PO!h!fO$t!gO~O!h!fO!o#`O$t$jO$v#`O~O#z%_O~Ow%`O$P%[X~O$P%bO~O!o#kO$t#kO$m%Ta!p%Ta$o%Ta~O!o$dX$m$dX$t$dX!p$dX$o$dX~P`OU#nOV#nO$t%jO$w#nO~Oe%kOl#sOm#sOq#tO~OP%pOQ#uO~Ol#sOm#sOq#tOPnaQnaTnacnafna!ona!una#Ona#Rna$sna$tna$vna!hna#Una#Zna#]na#dnaenaSna_nahnajnaonawnayna|na!lna!mna!nna$qna$rna%Ona$mnavna{na#{na#|na!pna$ona~Oe%qOj%rOz%rO~O{%tO$r#zO~OS!XOTVO_!XOf!QOh!XOj!XOo!TOy!VO|!WO$q!UO$r!PO%O!RO~Oc%wOe%PP~P=TO{%zO!_%{O~Oq!]Ou!^O|!`O!S!^O!Z!_O~Ow!`i!a!`i!d!`i!h!`i$p!`i$t!`i!o!`i$v!`if!`ie!`i~P>_Ow!bi!a!bi!d!bi!h!bi$p!bi$t!bi!o!bi$v!bif!bie!bi~P>_Ow!ci!a!ci!d!ci!h!ci$p!ci$t!ci!o!ci$v!cif!cie!ci~P>_Ow$`a!h$`a$t$`a~P4]O!p%|O~O$o%TP~P`Oe%RP~P(cOe%QP~P%rOS!XOTVO_!XOc!XOf!QOh!XOo!TOy!VO|!WO$q!UO$r!PO%O!RO~Oe&VOj&TO~PAsOl#sOm#sOq#tOw&XO!l&ZO!m&ZO!n&ZO!o!ii$t!ii$v!ii$m!ii!p!ii$o!ii~P%rOf&[OT!tXc!tX!o!tX#O!tX#R!tX$s!tX$t!tX$v!tX~O$n$_OS%YXT%YXW%YXX%YX_%YXc%YXq%YXu%YX|%YX!S%YX!Z%YX!r%YX!s%YX#T%YX#W%YX#Y%YX#_%YX#a%YX#c%YX#f%YX#h%YX#j%YX#m%YX#s%YX#u%YX#y%YX$O%YX$R%YX$T%YX$m%YX$r%YX$|%YX%S%YX!p%YX!o%YX$t%YX$o%YX~O$r!PO$|&aO~O#]&cO~Ou&dO~O!o#`O#d$wO$t#`O$v#`O~O!o%ZP#d%ZP$t%ZP$v%ZP~P%rO$r!PO~OR#rO!|iXeiX~Oe!wXm!wXu!yX!|!yX~Ou&jO!|&kO~Oe&lOm%PO~Ow$fX!h$fX$t$fX!o$fX$v$fX~P*aOw%QO!h%Va$t%Va!o%Va$v%Va~Om%POw!}a!h!}a$t!}a!o!}a$v!}ae!}a~O!p&xO$r&sO%O&rO~O#v&zOS#tiT#tiW#tiX#ti_#tic#tiq#tiu#ti|#ti!S#ti!Z#ti!r#ti!s#ti#T#ti#W#ti#Y#ti#_#ti#a#ti#c#ti#f#ti#h#ti#j#ti#m#ti#s#ti#u#ti#y#ti$O#ti$R#ti$T#ti$m#ti$r#ti$|#ti%S#ti!p#ti!o#ti$t#ti$o#ti~Oc&|Ow$lX$P$lX~Ow%`O$P%[a~O!o#kO$t#kO$m%Ti!p%Ti$o%Ti~O!o$da$m$da$t$da!p$da$o$da~P`Oq#tOPkiQkilkimkiTkickifki!oki!uki#Oki#Rki$ski$tki$vki!hki#Uki#Zki#]ki#dkiekiSki_kihkijkiokiwkiyki|ki!lki!mki!nki$qki$rki%Oki$mkivki{ki#{ki#|ki!pki$oki~Ol#sOm#sOq#tOP$]aQ$]a~Oe'QO~Ol#sOm#sOq#tOS$YXT$YX_$YXc$YXe$YXf$YXh$YXj$YXo$YXv$YXw$YXy$YX|$YX$q$YX$r$YX%O$YX~Ov'UOw'SOe%PX~P%rOS$}XT$}X_$}Xc$}Xe$}Xf$}Xh$}Xj$}Xl$}Xm$}Xo$}Xq$}Xv$}Xw$}Xy$}X|$}X$q$}X$r$}X%O$}X~Ou'VO~P!%OOe'WO~O$o'YO~Ow'ZOe%RX~P4]Oe']O~Ow'^Oe%QX~P%rOe'`O~Ol#sOm#sOq#tO{'aO~Ou'bOe$}Xl$}Xm$}Xq$}X~Oe'eOj'cO~Ol#sOm#sOq#tOS$cXT$cX_$cXc$cXf$cXh$cXj$cXo$cXw$cXy$cX|$cX!l$cX!m$cX!n$cX!o$cX$q$cX$r$cX$t$cX$v$cX%O$cX$m$cX!p$cX$o$cX~Ow&XO!l'hO!m'hO!n'hO!o!iq$t!iq$v!iq$m!iq!p!iq$o!iq~P%rO$r'iO~O!o#`O#]'nO$t#`O$v#`O~Ou'oO~Ol#sOm#sOq#tOw'qO!o%ZX#d%ZX$t%ZX$v%ZX~O$s'uO~P5oOm%POw$fa!h$fa$t$fa!o$fa$v$fa~Oe'wO~P4]O%O&rOw#pX!h#pX$t#pX~Ow'yO!h!fO$t!gO~O!p'}O$r&sO%O&rO~O#v(POS#tqT#tqW#tqX#tq_#tqc#tqq#tqu#tq|#tq!S#tq!Z#tq!r#tq!s#tq#T#tq#W#tq#Y#tq#_#tq#a#tq#c#tq#f#tq#h#tq#j#tq#m#tq#s#tq#u#tq#y#tq$O#tq$R#tq$T#tq$m#tq$r#tq$|#tq%S#tq!p#tq!o#tq$t#tq$o#tq~O!h!fO#w(QO$t!gO~Ol#sOm#sOq#tO#{(SO#|(SO~Oc(VOe$ZXw$ZX~P=TOw'SOe%Pa~Ol#sOm#sOq#tO{(ZO~Oe$_Xw$_X~P(cOw'ZOe%Ra~Oe$^Xw$^X~P%rOw'^Oe%Qa~Ou'bO~Ol#sOm#sOq#tOS$caT$ca_$cac$caf$cah$caj$cao$caw$cay$ca|$ca!l$ca!m$ca!n$ca!o$ca$q$ca$r$ca$t$ca$v$ca%O$ca$m$ca!p$ca$o$ca~Oe(dOq(bO~Oe(gOm%PO~Ow$hX!o$hX#d$hX$t$hX$v$hX~P%rOw'qO!o%Za#d%Za$t%Za$v%Za~Oe(lO~P%rOe(mO!|(nO~Ov(vOe$Zaw$Za~P%rOu(wO~P!%OOw'SOe%Pi~Ow'SOe%Pi~P%rOe$_aw$_a~P4]Oe$^aw$^a~P%rOl#sOm#sOq#tOw(yOe$bij$bi~Oe(|Oq(bO~Oe)OOm%PO~Ol#sOm#sOq#tOw$ha!o$ha#d$ha$t$ha$v$ha~OS$}Oh$}Oj$}Oy!VO$q!UO$s'uO%O&rO~O#w(QO~Ow'SOe%Pq~Oe)WO~Oe$Zqw$Zq~P%rO%Oql!dl~",goto:"=Y%]PPPPPPPPPPP%^%h%h%{P%h&`&cP(UPP)ZP*YP)ZPP)ZP)ZP+f,j-lPPP-xPPPP)Z/S%h/W%hP/^P/d/j/p%hP/v%h/|P%hP%h%hP%h0S0VP1k1}2XPPPPP%^PP2_P2b'w'w2h'w'wP'wP'w'wP%^PP%^P%^PP2qP%^P%^P%^PP%^P%^P%^P2w%^P2z2}3Q3X%^P%^PPP%^PPPP%^PP%^P%^P%^P3^3d3j4Y4h4n4t4z5Q5W5d5j5p5z6Q6W6b6h6n6t6zPPPPPPPPPPPP7Q7T7aP8WP:_:b:eP:h:q:w;T;p;y=S=VanOPqx!f#l$_%fs^OPefqx!a!b!c!d!f#l$_$`%T%f'ZsTOPefqx!a!b!c!d!f#l$_$`%T%f'ZR!OUb^ef!a!b!c!d$`%T'Z`_OPqx!f#l$_%f!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)Ug#Uhlm!u#Q#S$i%P%Q&d'o!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)UQ&b$pR&i$x!y!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)U!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)UU$}#Q&k(nU&u%Y&w'yR'x&t!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)UV$}#Q&k(n#P!YVabcdgiruv!Q!T!t#Q#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j&k'S'V'^'b'q't(Q(S(U(Y(^(n(w)UQ$P!YQ&_$lQ&`$oR(e'n!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)UQ#YjU$}#Q&k(nR%X#ZT#{!W#|Q![WR$Q!]Q!kYR$R!^Q$R!mR%y$TQ!lYR$S!^Q$R!lR%y$SQ!oZR$U!_Q!q[R$V!`R!s]Q!hXQ!|fQ$]!eQ$f!tQ$k!vQ$m!wQ$r!{Q%U#VQ%[#^Q%]#_Q%^#cQ%c#gQ'l&_Q'{&vQ(R&zQ(T'OQ(q'zQ(s(PQ)P(gQ)S(tQ)T(uR)V)OSpOqUyP!f$_Q#jxQ%g#lR'P%fa`OPqx!f#l$_%fQ$f!tR(a'bR$i!uQ'j&[R(z(bQ${#QQ'v&kR)R(nQ&b$pR's&iR#ZjR#]kR%Z#]S&v%Y&wR(o'yV&t%Y&w'yQ#o{R%i#oQqOR#bqQ%v$OQ&Q$a^'R%v&Q't(U(Y(^)UQ't&jQ(U'SQ(Y'VQ(^'^R)U(wQ'T%vU(W'T(X(xQ(X'UR(x(YQ#|!WR%s#|Q#v!SR%o#vQ'_&QR(_'_Q'[&OR(]'[Q!eXR$[!eUxP!f$_S#ix%fR%f#lQ&U$dR'd&UQ&Y$eR'g&YQ#myQ%e#jT%h#m%eQ(c'jR({(cQ%R#RR&o%RQ$u#OS&e$u(jR(j'sQ'r&gR(i'rQ&w%YR'|&wQ'z&vR(p'zQ&y%^R(O&yQ%a#eR&}%aR|QSoOq]wPx!f#l$_%f`XOPqx!f#l$_%fQ!zeQ!{fQ$W!aQ$X!bQ$Y!cQ$Z!dQ&O$`Q&p%TR(['ZQ!SVQ!uaQ!vbQ!wcQ!xdQ#OgQ#WiQ#crQ#guQ#hvS#q!Q$dQ#x!TQ$e!tQ%l#sQ%m#tQ%n#ul%u$O$a%v&Q&j'S'V'^'t(U(Y(^(w)UQ&S$cS&W$e&YQ&g$wQ&{%_Q'O%bQ'X%{Q'f&XQ(`'bQ(h'qQ(t(QR(u(SR%x$OR&R$aR&P$`QzPQ$^!fR%}$_X#ly#j#m%eQ#VhQ#_mQ$h!uR&^$iW#Rhm!u$iQ#^lQ$|#QQ%S#SQ&m%PQ&n%QQ'p&dR(f'oQ%O#QQ'v&kR)R(nQ#apQ$k!vQ$n!xQ$q!zQ$v#OQ%V#WQ%W#YQ%]#_Q%d#hQ&]$hQ&f$uQ&q%XQ'k&^Q'l&_S'm&`&bQ(k'sQ(}(eR)Q(jR&h$wR#ft",nodeNames:"⚠ InterpolationEnd InterpolationContinue Unit VariableName InterpolationStart LineComment Comment IndentedMixin IndentedInclude StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector SuffixedSelector Suffix Interpolation SassVariableName ValueName ) ( ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp LogicOp UnaryExpression LogicOp NamespacedValue . CallExpression Callee ArgList : ... , CallLiteral CallTag ParenthesizedContent ] [ LineNames LineName ClassSelector ClassName PseudoClassSelector :: PseudoClassName PseudoClassName ArgList PseudoClassName ArgList IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp PlaceholderSelector ClassName Block { Declaration PropertyName Map Important Global Default ; } ImportStatement AtKeyword import Layer layer LayerName KeywordQuery FeatureQuery FeatureName BinaryQuery ComparisonQuery CompareOp UnaryQuery LogicOp ParenthesizedQuery SelectorQuery selector IncludeStatement include Keyword MixinStatement mixin UseStatement use Keyword Star Keyword ExtendStatement extend RootStatement at-root ForwardStatement forward Keyword MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports IfStatement ControlKeyword ControlKeyword Keyword ForStatement ControlKeyword Keyword Keyword Keyword EachStatement ControlKeyword Keyword WhileStatement ControlKeyword OutputStatement ControlKeyword AtRule Styles",maxTerm:196,context:sO,nodeProps:[["openedBy",1,"InterpolationStart",5,"InterpolationEnd",21,"(",43,"[",78,"{"],["isolate",-3,6,7,26,""],["closedBy",22,")",44,"]",70,"}"]],propSources:[XO],skippedNodes:[0,6,7,146],repeatNodeCount:21,tokenData:"!$Q~RyOq#rqr$jrs0jst2^tu8{uv;hvw;{wx<^xy={yz>^z{>c{|>||}Co}!ODQ!O!PDo!P!QFY!Q![Fk![!]Gf!]!^Hb!^!_Hs!_!`Is!`!aJ^!a!b#r!b!cKa!c!}#r!}#OMn#O#P#r#P#QNP#Q#RNb#R#T#r#T#UNw#U#c#r#c#d!!Y#d#o#r#o#p!!o#p#qNb#q#r!#Q#r#s!#c#s;'S#r;'S;=`!#z<%lO#rW#uSOy$Rz;'S$R;'S;=`$d<%lO$RW$WSzWOy$Rz;'S$R;'S;=`$d<%lO$RW$gP;=`<%l$RY$m[Oy$Rz!_$R!_!`%c!`#W$R#W#X%v#X#Z$R#Z#[)Z#[#]$R#]#^,V#^;'S$R;'S;=`$d<%lO$RY%jSzWlQOy$Rz;'S$R;'S;=`$d<%lO$RY%{UzWOy$Rz#X$R#X#Y&_#Y;'S$R;'S;=`$d<%lO$RY&dUzWOy$Rz#Y$R#Y#Z&v#Z;'S$R;'S;=`$d<%lO$RY&{UzWOy$Rz#T$R#T#U'_#U;'S$R;'S;=`$d<%lO$RY'dUzWOy$Rz#i$R#i#j'v#j;'S$R;'S;=`$d<%lO$RY'{UzWOy$Rz#`$R#`#a(_#a;'S$R;'S;=`$d<%lO$RY(dUzWOy$Rz#h$R#h#i(v#i;'S$R;'S;=`$d<%lO$RY(}S!nQzWOy$Rz;'S$R;'S;=`$d<%lO$RY)`UzWOy$Rz#`$R#`#a)r#a;'S$R;'S;=`$d<%lO$RY)wUzWOy$Rz#c$R#c#d*Z#d;'S$R;'S;=`$d<%lO$RY*`UzWOy$Rz#U$R#U#V*r#V;'S$R;'S;=`$d<%lO$RY*wUzWOy$Rz#T$R#T#U+Z#U;'S$R;'S;=`$d<%lO$RY+`UzWOy$Rz#`$R#`#a+r#a;'S$R;'S;=`$d<%lO$RY+yS!mQzWOy$Rz;'S$R;'S;=`$d<%lO$RY,[UzWOy$Rz#a$R#a#b,n#b;'S$R;'S;=`$d<%lO$RY,sUzWOy$Rz#d$R#d#e-V#e;'S$R;'S;=`$d<%lO$RY-[UzWOy$Rz#c$R#c#d-n#d;'S$R;'S;=`$d<%lO$RY-sUzWOy$Rz#f$R#f#g.V#g;'S$R;'S;=`$d<%lO$RY.[UzWOy$Rz#h$R#h#i.n#i;'S$R;'S;=`$d<%lO$RY.sUzWOy$Rz#T$R#T#U/V#U;'S$R;'S;=`$d<%lO$RY/[UzWOy$Rz#b$R#b#c/n#c;'S$R;'S;=`$d<%lO$RY/sUzWOy$Rz#h$R#h#i0V#i;'S$R;'S;=`$d<%lO$RY0^S!lQzWOy$Rz;'S$R;'S;=`$d<%lO$R~0mWOY0jZr0jrs1Vs#O0j#O#P1[#P;'S0j;'S;=`2W<%lO0j~1[Oj~~1_RO;'S0j;'S;=`1h;=`O0j~1kXOY0jZr0jrs1Vs#O0j#O#P1[#P;'S0j;'S;=`2W;=`<%l0j<%lO0j~2ZP;=`<%l0jZ2cY!ZPOy$Rz!Q$R!Q![3R![!c$R!c!i3R!i#T$R#T#Z3R#Z;'S$R;'S;=`$d<%lO$RY3WYzWOy$Rz!Q$R!Q![3v![!c$R!c!i3v!i#T$R#T#Z3v#Z;'S$R;'S;=`$d<%lO$RY3{YzWOy$Rz!Q$R!Q![4k![!c$R!c!i4k!i#T$R#T#Z4k#Z;'S$R;'S;=`$d<%lO$RY4rYhQzWOy$Rz!Q$R!Q![5b![!c$R!c!i5b!i#T$R#T#Z5b#Z;'S$R;'S;=`$d<%lO$RY5iYhQzWOy$Rz!Q$R!Q![6X![!c$R!c!i6X!i#T$R#T#Z6X#Z;'S$R;'S;=`$d<%lO$RY6^YzWOy$Rz!Q$R!Q![6|![!c$R!c!i6|!i#T$R#T#Z6|#Z;'S$R;'S;=`$d<%lO$RY7TYhQzWOy$Rz!Q$R!Q![7s![!c$R!c!i7s!i#T$R#T#Z7s#Z;'S$R;'S;=`$d<%lO$RY7xYzWOy$Rz!Q$R!Q![8h![!c$R!c!i8h!i#T$R#T#Z8h#Z;'S$R;'S;=`$d<%lO$RY8oShQzWOy$Rz;'S$R;'S;=`$d<%lO$R_9O`Oy$Rz}$R}!O:Q!O!Q$R!Q![:Q![!_$R!_!`;T!`!c$R!c!}:Q!}#R$R#R#S:Q#S#T$R#T#o:Q#o;'S$R;'S;=`$d<%lO$RZ:X^zWcROy$Rz}$R}!O:Q!O!Q$R!Q![:Q![!c$R!c!}:Q!}#R$R#R#S:Q#S#T$R#T#o:Q#o;'S$R;'S;=`$d<%lO$R[;[S!_SzWOy$Rz;'S$R;'S;=`$d<%lO$RZ;oS%SPlQOy$Rz;'S$R;'S;=`$d<%lO$RZ<QS_ROy$Rz;'S$R;'S;=`$d<%lO$R~<aWOY<^Zw<^wx1Vx#O<^#O#P<y#P;'S<^;'S;=`=u<%lO<^~<|RO;'S<^;'S;=`=V;=`O<^~=YXOY<^Zw<^wx1Vx#O<^#O#P<y#P;'S<^;'S;=`=u;=`<%l<^<%lO<^~=xP;=`<%l<^Z>QSfROy$Rz;'S$R;'S;=`$d<%lO$R~>cOe~_>jU$|PlQOy$Rz!_$R!_!`;T!`;'S$R;'S;=`$d<%lO$RZ?TWlQ!dPOy$Rz!O$R!O!P?m!P!Q$R!Q![Br![;'S$R;'S;=`$d<%lO$RZ?rUzWOy$Rz!Q$R!Q![@U![;'S$R;'S;=`$d<%lO$RZ@]YzW%OROy$Rz!Q$R!Q![@U![!g$R!g!h@{!h#X$R#X#Y@{#Y;'S$R;'S;=`$d<%lO$RZAQYzWOy$Rz{$R{|Ap|}$R}!OAp!O!Q$R!Q![BX![;'S$R;'S;=`$d<%lO$RZAuUzWOy$Rz!Q$R!Q![BX![;'S$R;'S;=`$d<%lO$RZB`UzW%OROy$Rz!Q$R!Q![BX![;'S$R;'S;=`$d<%lO$RZBy[zW%OROy$Rz!O$R!O!P@U!P!Q$R!Q![Br![!g$R!g!h@{!h#X$R#X#Y@{#Y;'S$R;'S;=`$d<%lO$RZCtSwROy$Rz;'S$R;'S;=`$d<%lO$RZDVWlQOy$Rz!O$R!O!P?m!P!Q$R!Q![Br![;'S$R;'S;=`$d<%lO$RZDtWqROy$Rz!O$R!O!PE^!P!Q$R!Q![@U![;'S$R;'S;=`$d<%lO$RYEcUzWOy$Rz!O$R!O!PEu!P;'S$R;'S;=`$d<%lO$RYE|SvQzWOy$Rz;'S$R;'S;=`$d<%lO$RYF_SlQOy$Rz;'S$R;'S;=`$d<%lO$RZFp[%OROy$Rz!O$R!O!P@U!P!Q$R!Q![Br![!g$R!g!h@{!h#X$R#X#Y@{#Y;'S$R;'S;=`$d<%lO$RkGkUucOy$Rz![$R![!]G}!];'S$R;'S;=`$d<%lO$RXHUS!SPzWOy$Rz;'S$R;'S;=`$d<%lO$RZHgS!oROy$Rz;'S$R;'S;=`$d<%lO$RjHzU!|`lQOy$Rz!_$R!_!`I^!`;'S$R;'S;=`$d<%lO$RjIgS!|`zWlQOy$Rz;'S$R;'S;=`$d<%lO$RnIzU!|`!_SOy$Rz!_$R!_!`%c!`;'S$R;'S;=`$d<%lO$RkJgV!aP!|`lQOy$Rz!_$R!_!`I^!`!aJ|!a;'S$R;'S;=`$d<%lO$RXKTS!aPzWOy$Rz;'S$R;'S;=`$d<%lO$RXKdYOy$Rz}$R}!OLS!O!c$R!c!}Lq!}#T$R#T#oLq#o;'S$R;'S;=`$d<%lO$RXLXWzWOy$Rz!c$R!c!}Lq!}#T$R#T#oLq#o;'S$R;'S;=`$d<%lO$RXLx[!rPzWOy$Rz}$R}!OLq!O!Q$R!Q![Lq![!c$R!c!}Lq!}#T$R#T#oLq#o;'S$R;'S;=`$d<%lO$RZMsS|ROy$Rz;'S$R;'S;=`$d<%lO$R_NUS{VOy$Rz;'S$R;'S;=`$d<%lO$R[NeUOy$Rz!_$R!_!`;T!`;'S$R;'S;=`$d<%lO$RkNzUOy$Rz#b$R#b#c! ^#c;'S$R;'S;=`$d<%lO$Rk! cUzWOy$Rz#W$R#W#X! u#X;'S$R;'S;=`$d<%lO$Rk! |SmczWOy$Rz;'S$R;'S;=`$d<%lO$Rk!!]UOy$Rz#f$R#f#g! u#g;'S$R;'S;=`$d<%lO$RZ!!tS!hROy$Rz;'S$R;'S;=`$d<%lO$RZ!#VS!pROy$Rz;'S$R;'S;=`$d<%lO$R]!#hU!dPOy$Rz!_$R!_!`;T!`;'S$R;'S;=`$d<%lO$RW!#}P;=`<%l#r",tokenizers:[iO,dO,lO,SO,oO,nO,rO,RO,0,1,2,3,4],topRules:{StyleSheet:[0,10],Styles:[1,145]},dialects:{indented:0},specialized:[{term:172,get:O=>PO[O]||-1},{term:171,get:O=>mO[O]||-1},{term:80,get:O=>fO[O]||-1},{term:173,get:O=>yO[O]||-1}],tokenPrec:3217}),P=x.define({name:"sass",parser:hO.configure({props:[k.add({Block:V,Comment(O,$){return{from:O.from+2,to:$.sliceDoc(O.to-2,O.to)=="*/"?O.to-2:O.to}}}),U.add({Declaration:E()})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*\}$/,wordChars:"$-"}}),wO=P.configure({dialect:"indented",props:[U.add({"Block RuleSet":O=>O.baseIndent+O.unit}),k.add({Block:O=>({from:O.from,to:O.to})})]}),YO=N(O=>O.name=="VariableName"||O.name=="SassVariableName");function pO(O){return new g(O!=null&&O.indented?wO:P,P.data.of({autocomplete:YO}))}export{pO as sass,YO as sassCompletionSource,P as sassLanguage};
|
|
1
|
+
import{L as v,E as i,C as _}from"./index-CpCaGGh0.js";import{s as W,t as e,a as g,L as x,f as k,l as V,i as U,c as E}from"./index-yZEr0YWk.js";import{defineCSSCompletionSource as N}from"./index-Ci17H_nH.js";import"./index-B2JoVHek.js";const j=168,X=169,C=170,I=1,D=2,w=3,L=171,F=172,Y=4,z=173,K=5,A=174,T=175,Z=176,s=177,G=6,p=7,B=8,H=9,c=0,R=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],M=58,J=40,m=95,OO=91,l=45,$O=46,f=35,eO=37,u=123,QO=125,d=47,S=42,r=10,q=61,tO=43,aO=38;function o(O){return O>=65&&O<=90||O>=97&&O<=122||O>=161}function y(O){return O>=48&&O<=57}function h(O){let $;return O.next==d&&(($=O.peek(1))==d||$==S)}const nO=new i((O,$)=>{if($.dialectEnabled(c)){let Q;if(O.next<0&&$.canShift(Z))O.acceptToken(Z);else if(((Q=O.peek(-1))==r||Q<0)&&$.canShift(T)){let t=0;for(;O.next!=r&&R.includes(O.next);)O.advance(),t++;O.next==r||h(O)?O.acceptToken(T,-t):t&&O.acceptToken(s)}else if(O.next==r)O.acceptToken(A,1);else if(R.includes(O.next)){for(O.advance();O.next!=r&&R.includes(O.next);)O.advance();O.acceptToken(s)}}else{let Q=0;for(;R.includes(O.next);)O.advance(),Q++;Q&&O.acceptToken(s)}},{contextual:!0}),rO=new i((O,$)=>{if(h(O)){if(O.advance(),$.dialectEnabled(c)){let Q=-1;for(let t=1;;t++){let a=O.peek(-t-1);if(a==r||a<0){Q=t+1;break}else if(!R.includes(a))break}if(Q>-1){let t=O.next==S,a=0;for(O.advance();O.next>=0;)if(O.next==r){O.advance();let n=0;for(;O.next!=r&&R.includes(O.next);)n++,O.advance();if(n<Q){a=-n-1;break}}else if(t&&O.next==S&&O.peek(1)==d){a=2;break}else O.advance();O.acceptToken(t?p:G,a);return}}if(O.next==d){for(;O.next!=r&&O.next>=0;)O.advance();O.acceptToken(G)}else{for(O.advance();O.next>=0;){let{next:Q}=O;if(O.advance(),Q==S&&O.next==d){O.advance();break}}O.acceptToken(p)}}}),RO=new i((O,$)=>{(O.next==tO||O.next==q)&&$.dialectEnabled(c)&&O.acceptToken(O.next==q?B:H,1)}),iO=new i((O,$)=>{if(!$.dialectEnabled(c))return;let Q=$.context.depth;if(O.next<0&&Q){O.acceptToken(X);return}if(O.peek(-1)==r){let a=0;for(;O.next!=r&&R.includes(O.next);)O.advance(),a++;a!=Q&&O.next!=r&&!h(O)&&(a<Q?O.acceptToken(X,-a):O.acceptToken(j))}}),oO=new i((O,$)=>{for(let Q=!1,t=0,a=0;;a++){let{next:n}=O;if(o(n)||n==l||n==m||Q&&y(n))!Q&&(n!=l||a>0)&&(Q=!0),t===a&&n==l&&t++,O.advance();else if(n==f&&O.peek(1)==u){O.acceptToken(K,2);break}else{Q&&O.acceptToken(t==2&&$.canShift(Y)?Y:$.canShift(z)?z:n==J?L:F);break}}}),lO=new i(O=>{if(O.next==QO){for(O.advance();o(O.next)||O.next==l||O.next==m||y(O.next);)O.advance();O.next==f&&O.peek(1)==u?O.acceptToken(D,2):O.acceptToken(I)}}),dO=new i(O=>{if(R.includes(O.peek(-1))){let{next:$}=O;(o($)||$==m||$==f||$==$O||$==OO||$==M&&o(O.peek(1))||$==l||$==aO||$==S)&&O.acceptToken(C)}}),SO=new i(O=>{if(!R.includes(O.peek(-1))){let{next:$}=O;if($==eO&&(O.advance(),O.acceptToken(w)),o($)){do O.advance();while(o(O.next)||y(O.next));O.acceptToken(w)}}});function b(O,$){this.parent=O,this.depth=$,this.hash=(O?O.hash+O.hash<<8:0)+$+($<<4)}const cO=new b(null,0),sO=new _({start:cO,shift(O,$,Q,t){return $==j?new b(O,Q.pos-t.pos):$==X?O.parent:O},hash(O){return O.hash}}),XO=W({"AtKeyword import charset namespace keyframes media supports include mixin use forward extend at-root":e.definitionKeyword,"Keyword selector":e.keyword,ControlKeyword:e.controlKeyword,NamespaceName:e.namespace,KeyframeName:e.labelName,KeyframeRangeName:e.operatorKeyword,TagName:e.tagName,"ClassName Suffix":e.className,PseudoClassName:e.constant(e.className),IdName:e.labelName,"FeatureName PropertyName":e.propertyName,AttributeName:e.attributeName,NumberLiteral:e.number,KeywordQuery:e.keyword,UnaryQueryOp:e.operatorKeyword,"CallTag ValueName":e.atom,VariableName:e.variableName,SassVariableName:e.special(e.variableName),Callee:e.operatorKeyword,Unit:e.unit,"UniversalSelector NestingSelector IndentedMixin IndentedInclude":e.definitionOperator,MatchOp:e.compareOperator,"ChildOp SiblingOp, LogicOp":e.logicOperator,BinOp:e.arithmeticOperator,"Important Global Default":e.modifier,Comment:e.blockComment,LineComment:e.lineComment,ColorLiteral:e.color,"ParenthesizedContent StringLiteral":e.string,"InterpolationStart InterpolationContinue InterpolationEnd":e.meta,': "..."':e.punctuation,"PseudoOp #":e.derefOperator,"; ,":e.separator,"( )":e.paren,"[ ]":e.squareBracket,"{ }":e.brace}),PO={__proto__:null,not:62,using:197,as:207,with:211,without:211,hide:225,show:225,if:263,from:269,to:271,through:273,in:279},mO={__proto__:null,url:82,"url-prefix":82,domain:82,regexp:82,lang:104,"nth-child":104,"nth-last-child":104,"nth-of-type":104,"nth-last-of-type":104,dir:104,"host-context":104},fO={__proto__:null,"@import":162,"@include":194,"@mixin":200,"@function":200,"@use":204,"@extend":214,"@at-root":218,"@forward":222,"@media":228,"@charset":232,"@namespace":236,"@keyframes":242,"@supports":254,"@if":258,"@else":260,"@for":266,"@each":276,"@while":282,"@debug":286,"@warn":286,"@error":286,"@return":286},yO={__proto__:null,layer:166,not:184,only:184,selector:190},hO=v.deserialize({version:14,states:"!$WQ`Q+tOOO#fQ+tOOP#mOpOOOOQ#U'#Ch'#ChO#rQ(pO'#CjOOQ#U'#Ci'#CiO%_Q)QO'#GXO%rQ.jO'#CnO&mQ#dO'#D]O'dQ(pO'#CgO'kQ)OO'#D_O'vQ#dO'#DfO'{Q#dO'#DiO(QQ#dO'#DqOOQ#U'#GX'#GXO(VQ(pO'#GXO(^Q(nO'#DuO%rQ.jO'#D}O%rQ.jO'#E`O%rQ.jO'#EcO%rQ.jO'#EeO(cQ)OO'#EjO)TQ)OO'#ElO%rQ.jO'#EnO)bQ)OO'#EqO%rQ.jO'#EsO)|Q)OO'#EuO*XQ)OO'#ExO*aQ)OO'#FOO*uQ)OO'#FbOOQ&Z'#GW'#GWOOQ&Y'#Fe'#FeO+PQ(nO'#FeQ`Q+tOOO%rQ.jO'#FQO+[Q(nO'#FUO+aQ)OO'#FZO%rQ.jO'#F^O%rQ.jO'#F`OOQ&Z'#Fm'#FmO+iQ+uO'#GaO+vQ(oO'#GaQOQ#SOOP,XO#SO'#GVPOOO)CAz)CAzOOQ#U'#Cm'#CmOOQ#U,59W,59WOOQ#i'#Cp'#CpO%rQ.jO'#CsO,xQ.wO'#CuO/dQ.^O,59YO%rQ.jO'#CzOOQ#S'#DP'#DPO/uQ(nO'#DUO/zQ)OO'#DZOOQ#i'#GZ'#GZO0SQ(nO'#DOOOQ#U'#D^'#D^OOQ#U,59w,59wO&mQ#dO,59wO0XQ)OO,59yO'vQ#dO,5:QO'{Q#dO,5:TO(cQ)OO,5:WO(cQ)OO,5:YO(cQ)OO,5:ZO(cQ)OO'#FlO0dQ(nO,59RO0oQ+tO'#DsO0vQ#TO'#DsOOQ&Z,59R,59ROOQ#U'#Da'#DaOOQ#S'#Dd'#DdOOQ#U,59y,59yO0{Q(nO,59yO1QQ(nO,59yOOQ#U'#Dh'#DhOOQ#U,5:Q,5:QOOQ#S'#Dj'#DjO1VQ9`O,5:TOOQ#U'#Dr'#DrOOQ#U,5:],5:]O2YQ.jO,5:aO2dQ.jO,5:iO3`Q.jO,5:zO3mQ.YO,5:}O4OQ.jO,5;POOQ#U'#Cj'#CjO4wQ(pO,5;UO5UQ(pO,5;WOOQ&Z,5;W,5;WO5]Q)OO,5;WO5bQ.jO,5;YOOQ#S'#ET'#ETO6TQ.jO'#E]O6kQ(nO'#GcO*aQ)OO'#EZO7PQ(nO'#E^OOQ#S'#Gd'#GdO0gQ(nO,5;]O4UQ.YO,5;_OOQ#d'#Ew'#EwO+PQ(nO,5;aO7UQ)OO,5;aOOQ#S'#Ez'#EzO7^Q(nO,5;dO7cQ(nO,5;jO7nQ(nO,5;|OOQ&Z'#Gf'#GfOOQ&Y,5<P,5<POOQ&Y-E9c-E9cO3mQ.YO,5;lO7|Q)OO,5;pO8RQ)OO'#GhO8ZQ)OO,5;uO3mQ.YO,5;xO4UQ.YO,5;zOOQ&Z-E9k-E9kO8`Q(oO,5<{OOQ&Z'#Gb'#GbO8qQ+uO'#FpO8`Q(oO,5<{POO#S'#Fd'#FdP9UO#SO,5<qPOOO,5<q,5<qO9dQ.YO,59_OOQ#i,59a,59aO%rQ.jO,59cO%rQ.jO,59hO%rQ.jO'#FiO9rQ#WO1G.tOOQ#k1G.t1G.tO9zQ.oO,59fO<pQ! lO,59pOOQ#d'#D['#D[OOQ#d'#Fh'#FhO<{Q)OO,59uOOQ#i,59u,59uO={Q.jO'#DQOOQ#i,59j,59jOOQ#U1G/c1G/cOOQ#U1G/e1G/eO0{Q(nO1G/eO1QQ(nO1G/eOOQ#U1G/l1G/lO>VQ9`O1G/oO>pQ(pO1G/rO?dQ(pO1G/tO@WQ(pO1G/uO@zQ(pO,5<WOOQ#S-E9j-E9jOOQ&Z1G.m1G.mOAXQ(nO,5:_OA^Q+uO,5:_OAeQ)OO'#DeOAlQ.jO'#DcOOQ#U1G/o1G/oO%rQ.jO1G/oOBkQ.jO'#DwOBuQ.kO1G/{OOQ#T1G/{1G/{OCrQ)OO'#EQO+PQ(nO1G0TO2pQ)OO1G0TODaQ+uO'#GfOOQ&Z1G0f1G0fO0SQ(nO1G0fOOQ&Z1G0i1G0iOOQ&Z1G0k1G0kO0SQ(nO1G0kOFyQ)OO1G0kOOQ&Z1G0p1G0pOOQ&Z1G0r1G0rOGRQ)OO1G0rOGWQ(nO1G0rOG]Q)OO1G0tOOQ&Z1G0t1G0tOGkQ.jO'#FsOG{Q#dO1G0tOHQQ!N^O'#CuOH]Q!NUO'#ETOHkQ!NUO,5:pOHsQ(nO,5:wOOQ#S'#Ge'#GeOHnQ!NUO,5:sO*aQ)OO,5:rOH{Q)OO'#FrOI`Q(nO,5<}OIqQ(nO,5:uO(cQ)OO,5:xOOQ&Z1G0w1G0wOOQ&Z1G0y1G0yOOQ&Z1G0{1G0{O+PQ(nO1G0{OJYQ)OO'#E{OOQ&Z1G1O1G1OOOQ&Z1G1U1G1UOOQ&Z1G1h1G1hOJeQ+uO1G1WO%rQ.jO1G1[OL}Q)OO'#FxOMYQ)OO,5=SO%rQ.jO1G1aOOQ&Z1G1d1G1dOOQ&Z1G1f1G1fOMbQ(oO1G2gOMsQ+uO,5<[OOQ#T,5<[,5<[OOQ#T-E9n-E9nPOO#S-E9b-E9bPOOO1G2]1G2]OOQ#i1G.y1G.yONWQ.oO1G.}OOQ#i1G/S1G/SO!!|Q.^O,5<TOOQ#W-E9g-E9gOOQ#k7+$`7+$`OOQ#i1G/[1G/[O!#_Q(nO1G/[OOQ#d-E9f-E9fOOQ#i1G/a1G/aO!#dQ.jO'#FfO!$qQ.jO'#G]O!&]Q.jO'#GZO!&dQ(nO,59lOOQ#U7+%P7+%POOQ#U7+%Z7+%ZO%rQ.jO7+%ZOOQ&Z1G/y1G/yO!&iQ#TO1G/yO!&nQ(pO'#G_O!&xQ(nO,5:PO!&}Q.jO'#G^O!'XQ(nO,59}O!'^Q.YO7+%ZO!'lQ.YO'#GZO!'}Q(nO,5:cOOQ#T,5:c,5:cO!(VQ.kO'#FoO%rQ.jO'#FoO!)yQ.kO7+%gOOQ#T7+%g7+%gO!*mQ#dO,5:lOOQ&Z7+%o7+%oO+PQ(nO7+%oO7nQ(nO7+&QO+PQ(nO7+&VOOQ#d'#Eh'#EhO!*rQ)OO7+&VO!+QQ(nO7+&^O*aQ)OO7+&^OOQ#d-E9q-E9qOOQ&Z7+&`7+&`O!+VQ.jO'#GgOOQ#d,5<_,5<_OF|Q(nO7+&`O%rQ.jO1G0[O!+qQ.jO1G0_OOQ#S1G0c1G0cOOQ#S1G0^1G0^O!+xQ(nO,5<^OOQ#S-E9p-E9pO!,^Q(pO1G0dOOQ&Z7+&g7+&gO,gQ(vO'#CuOOQ#S'#E}'#E}O!,eQ(nO'#E|OOQ#S'#E|'#E|O!,sQ(nO'#FuO!-OQ)OO,5;gOOQ&Z,5;g,5;gO!-ZQ+uO7+&rO!/sQ)OO7+&rO!0OQ.jO7+&vOOQ#d,5<d,5<dOOQ#d-E9v-E9vO3mQ.YO7+&{OOQ#T1G1v1G1vOOQ#i7+$v7+$vOOQ#d-E9d-E9dO!0aQ.jO'#FgO!0nQ(nO,5<wO!0nQ(nO,5<wO%rQ.jO,5<wOOQ#i1G/W1G/WO!0vQ.YO<<HuOOQ&Z7+%e7+%eO!1UQ)OO'#FkO!1`Q(nO,5<yOOQ#U1G/k1G/kO!1hQ.jO'#FjO!1rQ(nO,5<xOOQ#U1G/i1G/iOOQ#U<<Hu<<HuO1_Q.jO,5<YO!1zQ(nO'#FnOOQ#S-E9l-E9lOOQ#T1G/}1G/}O!2PQ.kO,5<ZOOQ#e-E9m-E9mOOQ#T<<IR<<IROOQ#S'#ES'#ESO!3sQ(nO1G0WOOQ&Z<<IZ<<IZOOQ&Z<<Il<<IlOOQ&Z<<Iq<<IqO0SQ(nO<<IqO*aQ)OO<<IxO!3{Q(nO<<IxO!4TQ.jO'#FtO!4hQ)OO,5=ROG]Q)OO<<IzO!4yQ.jO7+%vOOQ#S'#EV'#EVO!5QQ!NUO7+%yOOQ#S7+&O7+&OOOQ#S,5;h,5;hOJ]Q)OO'#FvO!,sQ(nO,5<aOOQ#d,5<a,5<aOOQ#d-E9s-E9sOOQ&Z1G1R1G1ROOQ&Z-E9u-E9uO!/sQ)OO<<J^O%rQ.jO,5<cOOQ&Z<<J^<<J^O%rQ.jO<<JbOOQ&Z<<Jg<<JgO!5YQ.jO,5<RO!5gQ.jO,5<ROOQ#S-E9e-E9eO!5nQ(nO1G2cO!5vQ.jO1G2cOOQ#UAN>aAN>aO!6QQ(pO,5<VOOQ#S-E9i-E9iO!6[Q.jO,5<UOOQ#S-E9h-E9hO!6fQ.YO1G1tO!6oQ(nO1G1tO!*mQ#dO'#FqO!6zQ(nO7+%rOOQ#d7+%r7+%rO+PQ(nOAN?]O!7SQ(nOAN?dO0gQ(nOAN?dO!7[Q.jO,5<`OOQ#d-E9r-E9rOG]Q)OOAN?fOOQ&ZAN?fAN?fOOQ#S<<Ib<<IbOOQ#S<<Ie<<IeO!7vQ.jO<<IeOOQ#S,5<b,5<bOOQ#S-E9t-E9tOOQ#d1G1{1G1{P!8_Q)OO'#FwOOQ&ZAN?xAN?xO3mQ.YO1G1}O3mQ.YOAN?|OOQ#S1G1m1G1mO%rQ.jO1G1mO!8dQ(nO7+'}OOQ#S7+'`7+'`OOQ#S,5<],5<]OOQ#S-E9o-E9oOOQ#d<<I^<<I^OOQ&ZG24wG24wO0gQ(nOG25OOOQ&ZG25OG25OOOQ&ZG25QG25QO!8lQ(nOAN?POOQ&Z7+'i7+'iOOQ&ZG25hG25hO!8qQ.jO7+'XOOQ&ZLD*jLD*jOOQ#SG24kG24k",stateData:"!9R~O$wOSVOSUOS$uQQ~OS`OTVOWcOXbO_UOc`OqWOuYO|[O!SYO!ZZO!rmO!saO#TbO#WcO#YdO#_eO#afO#cgO#fhO#hiO#jjO#mkO#slO#urO#ysO$OtO$RuO$TvO$rSO$|RO%S]O~O$m%TP~P`O$u{O~Oq^Xu^Xu!jXw^X|^X!S^X!Z^X!a^X!d^X!h^X$p^X$t^X~Oq${Xu${Xw${X|${X!S${X!Z${X!a${X!d${X!h${X$p${X$t${X~O$r}O!o${X$v${Xf${Xe${X~P$jOS!XOTVO_!XOc!XOf!QOh!XOj!XOo!TOy!VO|!WO$q!UO$r!PO%O!RO~O$r!ZO~Oq!]Ou!^O|!`O!S!^O!Z!_O!a!aO!d!cO!h!fO$p!bO$t!gO~Ow!dO~P&rO!U!mO$q!jO$r!iO~O$r!nO~O$r!pO~O$r!rO~Ou!tO~P$jOu!tO~OTVO_UOqWOuYO|[O!SYO!ZZO$r!yO$|RO%S]O~Of!}O!h!fO$t!gO~P(cOTVOc#UOf#QO#O#SO#R#TO$s#PO!h%VP$t%VP~Oj#YOy!VO$r#XO~Oj#[O$r#[O~OTVOc#UOf#QO#O#SO#R#TO$s#PO~O!o%VP$v%VP~P)bO!o#`O$t#`O$v#`O~Oc#dO~Oc#eO$P%[P~O$m%TX!p%TX$o%TX~P`O!o#kO$t#kO$m%TX!p%TX$o%TX~OU#nOV#nO$t#pO$w#nO~OR#rO$tiX!hiXeiXwiX~OPiXQiXliXmiXqiXTiXciXfiX!oiX!uiX#OiX#RiX$siX$viX#UiX#ZiX#]iX#diXSiX_iXhiXjiXoiXyiX|iX!liX!miX!niX$qiX$riX%OiX$miXviX{iX#{iX#|iX!piX$oiX~P,gOP#wOQ#uOl#sOm#sOq#tO~Of#yO~O{#}O$r#zO~Of$OO~O!U$TO$q!jO$r!iO~Ow!dO!h!fO$t!gO~O!p%TP~P`O$n$_O~Of$`O~Of$aO~O{$bO!_$cO~OS!XOTVO_!XOc!XOf$dOh!XOj!XOo!TOy!VO|!WO$q!UO$r!PO%O!RO~O!h!fO$t!gO~P1_Ol#sOm#sOq#tO!u$gO!o%VP$t%VP$v%VP~P*aOl#sOm#sOq#tO!o#`O$v#`O~O!h!fO#U$lO$t$jO~P2}Ol#sOm#sOq#tO!h!fO$t!gO~O#Z$pO#]$oO$t#`O~P2}Oq!]Ou!^O|!`O!S!^O!Z!_O!a!aO!d!cO$p!bO~O!o#`O$t#`O$v#`O~P4]Of$sO~P&rO#]$tO~O#Z$xO#d$wO$t#`O~P2}OS$}Oh$}Oj$}Oy!VO$q!UO%O$yO~OTVOc#UOf#QO#O#SO#R#TO$s$zO~P5oOm%POw%QO!h%VX$t%VX!o%VX$v%VX~Of%TO~Oj%XOy!VO~O!h%YO~Om%PO!h!fO$t!gO~O!h!fO!o#`O$t$jO$v#`O~O#z%_O~Ow%`O$P%[X~O$P%bO~O!o#kO$t#kO$m%Ta!p%Ta$o%Ta~O!o$dX$m$dX$t$dX!p$dX$o$dX~P`OU#nOV#nO$t%jO$w#nO~Oe%kOl#sOm#sOq#tO~OP%pOQ#uO~Ol#sOm#sOq#tOPnaQnaTnacnafna!ona!una#Ona#Rna$sna$tna$vna!hna#Una#Zna#]na#dnaenaSna_nahnajnaonawnayna|na!lna!mna!nna$qna$rna%Ona$mnavna{na#{na#|na!pna$ona~Oe%qOj%rOz%rO~O{%tO$r#zO~OS!XOTVO_!XOf!QOh!XOj!XOo!TOy!VO|!WO$q!UO$r!PO%O!RO~Oc%wOe%PP~P=TO{%zO!_%{O~Oq!]Ou!^O|!`O!S!^O!Z!_O~Ow!`i!a!`i!d!`i!h!`i$p!`i$t!`i!o!`i$v!`if!`ie!`i~P>_Ow!bi!a!bi!d!bi!h!bi$p!bi$t!bi!o!bi$v!bif!bie!bi~P>_Ow!ci!a!ci!d!ci!h!ci$p!ci$t!ci!o!ci$v!cif!cie!ci~P>_Ow$`a!h$`a$t$`a~P4]O!p%|O~O$o%TP~P`Oe%RP~P(cOe%QP~P%rOS!XOTVO_!XOc!XOf!QOh!XOo!TOy!VO|!WO$q!UO$r!PO%O!RO~Oe&VOj&TO~PAsOl#sOm#sOq#tOw&XO!l&ZO!m&ZO!n&ZO!o!ii$t!ii$v!ii$m!ii!p!ii$o!ii~P%rOf&[OT!tXc!tX!o!tX#O!tX#R!tX$s!tX$t!tX$v!tX~O$n$_OS%YXT%YXW%YXX%YX_%YXc%YXq%YXu%YX|%YX!S%YX!Z%YX!r%YX!s%YX#T%YX#W%YX#Y%YX#_%YX#a%YX#c%YX#f%YX#h%YX#j%YX#m%YX#s%YX#u%YX#y%YX$O%YX$R%YX$T%YX$m%YX$r%YX$|%YX%S%YX!p%YX!o%YX$t%YX$o%YX~O$r!PO$|&aO~O#]&cO~Ou&dO~O!o#`O#d$wO$t#`O$v#`O~O!o%ZP#d%ZP$t%ZP$v%ZP~P%rO$r!PO~OR#rO!|iXeiX~Oe!wXm!wXu!yX!|!yX~Ou&jO!|&kO~Oe&lOm%PO~Ow$fX!h$fX$t$fX!o$fX$v$fX~P*aOw%QO!h%Va$t%Va!o%Va$v%Va~Om%POw!}a!h!}a$t!}a!o!}a$v!}ae!}a~O!p&xO$r&sO%O&rO~O#v&zOS#tiT#tiW#tiX#ti_#tic#tiq#tiu#ti|#ti!S#ti!Z#ti!r#ti!s#ti#T#ti#W#ti#Y#ti#_#ti#a#ti#c#ti#f#ti#h#ti#j#ti#m#ti#s#ti#u#ti#y#ti$O#ti$R#ti$T#ti$m#ti$r#ti$|#ti%S#ti!p#ti!o#ti$t#ti$o#ti~Oc&|Ow$lX$P$lX~Ow%`O$P%[a~O!o#kO$t#kO$m%Ti!p%Ti$o%Ti~O!o$da$m$da$t$da!p$da$o$da~P`Oq#tOPkiQkilkimkiTkickifki!oki!uki#Oki#Rki$ski$tki$vki!hki#Uki#Zki#]ki#dkiekiSki_kihkijkiokiwkiyki|ki!lki!mki!nki$qki$rki%Oki$mkivki{ki#{ki#|ki!pki$oki~Ol#sOm#sOq#tOP$]aQ$]a~Oe'QO~Ol#sOm#sOq#tOS$YXT$YX_$YXc$YXe$YXf$YXh$YXj$YXo$YXv$YXw$YXy$YX|$YX$q$YX$r$YX%O$YX~Ov'UOw'SOe%PX~P%rOS$}XT$}X_$}Xc$}Xe$}Xf$}Xh$}Xj$}Xl$}Xm$}Xo$}Xq$}Xv$}Xw$}Xy$}X|$}X$q$}X$r$}X%O$}X~Ou'VO~P!%OOe'WO~O$o'YO~Ow'ZOe%RX~P4]Oe']O~Ow'^Oe%QX~P%rOe'`O~Ol#sOm#sOq#tO{'aO~Ou'bOe$}Xl$}Xm$}Xq$}X~Oe'eOj'cO~Ol#sOm#sOq#tOS$cXT$cX_$cXc$cXf$cXh$cXj$cXo$cXw$cXy$cX|$cX!l$cX!m$cX!n$cX!o$cX$q$cX$r$cX$t$cX$v$cX%O$cX$m$cX!p$cX$o$cX~Ow&XO!l'hO!m'hO!n'hO!o!iq$t!iq$v!iq$m!iq!p!iq$o!iq~P%rO$r'iO~O!o#`O#]'nO$t#`O$v#`O~Ou'oO~Ol#sOm#sOq#tOw'qO!o%ZX#d%ZX$t%ZX$v%ZX~O$s'uO~P5oOm%POw$fa!h$fa$t$fa!o$fa$v$fa~Oe'wO~P4]O%O&rOw#pX!h#pX$t#pX~Ow'yO!h!fO$t!gO~O!p'}O$r&sO%O&rO~O#v(POS#tqT#tqW#tqX#tq_#tqc#tqq#tqu#tq|#tq!S#tq!Z#tq!r#tq!s#tq#T#tq#W#tq#Y#tq#_#tq#a#tq#c#tq#f#tq#h#tq#j#tq#m#tq#s#tq#u#tq#y#tq$O#tq$R#tq$T#tq$m#tq$r#tq$|#tq%S#tq!p#tq!o#tq$t#tq$o#tq~O!h!fO#w(QO$t!gO~Ol#sOm#sOq#tO#{(SO#|(SO~Oc(VOe$ZXw$ZX~P=TOw'SOe%Pa~Ol#sOm#sOq#tO{(ZO~Oe$_Xw$_X~P(cOw'ZOe%Ra~Oe$^Xw$^X~P%rOw'^Oe%Qa~Ou'bO~Ol#sOm#sOq#tOS$caT$ca_$cac$caf$cah$caj$cao$caw$cay$ca|$ca!l$ca!m$ca!n$ca!o$ca$q$ca$r$ca$t$ca$v$ca%O$ca$m$ca!p$ca$o$ca~Oe(dOq(bO~Oe(gOm%PO~Ow$hX!o$hX#d$hX$t$hX$v$hX~P%rOw'qO!o%Za#d%Za$t%Za$v%Za~Oe(lO~P%rOe(mO!|(nO~Ov(vOe$Zaw$Za~P%rOu(wO~P!%OOw'SOe%Pi~Ow'SOe%Pi~P%rOe$_aw$_a~P4]Oe$^aw$^a~P%rOl#sOm#sOq#tOw(yOe$bij$bi~Oe(|Oq(bO~Oe)OOm%PO~Ol#sOm#sOq#tOw$ha!o$ha#d$ha$t$ha$v$ha~OS$}Oh$}Oj$}Oy!VO$q!UO$s'uO%O&rO~O#w(QO~Ow'SOe%Pq~Oe)WO~Oe$Zqw$Zq~P%rO%Oql!dl~",goto:"=Y%]PPPPPPPPPPP%^%h%h%{P%h&`&cP(UPP)ZP*YP)ZPP)ZP)ZP+f,j-lPPP-xPPPP)Z/S%h/W%hP/^P/d/j/p%hP/v%h/|P%hP%h%hP%h0S0VP1k1}2XPPPPP%^PP2_P2b'w'w2h'w'wP'wP'w'wP%^PP%^P%^PP2qP%^P%^P%^PP%^P%^P%^P2w%^P2z2}3Q3X%^P%^PPP%^PPPP%^PP%^P%^P%^P3^3d3j4Y4h4n4t4z5Q5W5d5j5p5z6Q6W6b6h6n6t6zPPPPPPPPPPPP7Q7T7aP8WP:_:b:eP:h:q:w;T;p;y=S=VanOPqx!f#l$_%fs^OPefqx!a!b!c!d!f#l$_$`%T%f'ZsTOPefqx!a!b!c!d!f#l$_$`%T%f'ZR!OUb^ef!a!b!c!d$`%T'Z`_OPqx!f#l$_%f!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)Ug#Uhlm!u#Q#S$i%P%Q&d'o!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)UQ&b$pR&i$x!y!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)U!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)UU$}#Q&k(nU&u%Y&w'yR'x&t!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)UV$}#Q&k(n#P!YVabcdgiruv!Q!T!t#Q#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j&k'S'V'^'b'q't(Q(S(U(Y(^(n(w)UQ$P!YQ&_$lQ&`$oR(e'n!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)UQ#YjU$}#Q&k(nR%X#ZT#{!W#|Q![WR$Q!]Q!kYR$R!^Q$R!mR%y$TQ!lYR$S!^Q$R!lR%y$SQ!oZR$U!_Q!q[R$V!`R!s]Q!hXQ!|fQ$]!eQ$f!tQ$k!vQ$m!wQ$r!{Q%U#VQ%[#^Q%]#_Q%^#cQ%c#gQ'l&_Q'{&vQ(R&zQ(T'OQ(q'zQ(s(PQ)P(gQ)S(tQ)T(uR)V)OSpOqUyP!f$_Q#jxQ%g#lR'P%fa`OPqx!f#l$_%fQ$f!tR(a'bR$i!uQ'j&[R(z(bQ${#QQ'v&kR)R(nQ&b$pR's&iR#ZjR#]kR%Z#]S&v%Y&wR(o'yV&t%Y&w'yQ#o{R%i#oQqOR#bqQ%v$OQ&Q$a^'R%v&Q't(U(Y(^)UQ't&jQ(U'SQ(Y'VQ(^'^R)U(wQ'T%vU(W'T(X(xQ(X'UR(x(YQ#|!WR%s#|Q#v!SR%o#vQ'_&QR(_'_Q'[&OR(]'[Q!eXR$[!eUxP!f$_S#ix%fR%f#lQ&U$dR'd&UQ&Y$eR'g&YQ#myQ%e#jT%h#m%eQ(c'jR({(cQ%R#RR&o%RQ$u#OS&e$u(jR(j'sQ'r&gR(i'rQ&w%YR'|&wQ'z&vR(p'zQ&y%^R(O&yQ%a#eR&}%aR|QSoOq]wPx!f#l$_%f`XOPqx!f#l$_%fQ!zeQ!{fQ$W!aQ$X!bQ$Y!cQ$Z!dQ&O$`Q&p%TR(['ZQ!SVQ!uaQ!vbQ!wcQ!xdQ#OgQ#WiQ#crQ#guQ#hvS#q!Q$dQ#x!TQ$e!tQ%l#sQ%m#tQ%n#ul%u$O$a%v&Q&j'S'V'^'t(U(Y(^(w)UQ&S$cS&W$e&YQ&g$wQ&{%_Q'O%bQ'X%{Q'f&XQ(`'bQ(h'qQ(t(QR(u(SR%x$OR&R$aR&P$`QzPQ$^!fR%}$_X#ly#j#m%eQ#VhQ#_mQ$h!uR&^$iW#Rhm!u$iQ#^lQ$|#QQ%S#SQ&m%PQ&n%QQ'p&dR(f'oQ%O#QQ'v&kR)R(nQ#apQ$k!vQ$n!xQ$q!zQ$v#OQ%V#WQ%W#YQ%]#_Q%d#hQ&]$hQ&f$uQ&q%XQ'k&^Q'l&_S'm&`&bQ(k'sQ(}(eR)Q(jR&h$wR#ft",nodeNames:"⚠ InterpolationEnd InterpolationContinue Unit VariableName InterpolationStart LineComment Comment IndentedMixin IndentedInclude StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector SuffixedSelector Suffix Interpolation SassVariableName ValueName ) ( ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp LogicOp UnaryExpression LogicOp NamespacedValue . CallExpression Callee ArgList : ... , CallLiteral CallTag ParenthesizedContent ] [ LineNames LineName ClassSelector ClassName PseudoClassSelector :: PseudoClassName PseudoClassName ArgList PseudoClassName ArgList IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp PlaceholderSelector ClassName Block { Declaration PropertyName Map Important Global Default ; } ImportStatement AtKeyword import Layer layer LayerName KeywordQuery FeatureQuery FeatureName BinaryQuery ComparisonQuery CompareOp UnaryQuery LogicOp ParenthesizedQuery SelectorQuery selector IncludeStatement include Keyword MixinStatement mixin UseStatement use Keyword Star Keyword ExtendStatement extend RootStatement at-root ForwardStatement forward Keyword MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports IfStatement ControlKeyword ControlKeyword Keyword ForStatement ControlKeyword Keyword Keyword Keyword EachStatement ControlKeyword Keyword WhileStatement ControlKeyword OutputStatement ControlKeyword AtRule Styles",maxTerm:196,context:sO,nodeProps:[["openedBy",1,"InterpolationStart",5,"InterpolationEnd",21,"(",43,"[",78,"{"],["isolate",-3,6,7,26,""],["closedBy",22,")",44,"]",70,"}"]],propSources:[XO],skippedNodes:[0,6,7,146],repeatNodeCount:21,tokenData:"!$Q~RyOq#rqr$jrs0jst2^tu8{uv;hvw;{wx<^xy={yz>^z{>c{|>||}Co}!ODQ!O!PDo!P!QFY!Q![Fk![!]Gf!]!^Hb!^!_Hs!_!`Is!`!aJ^!a!b#r!b!cKa!c!}#r!}#OMn#O#P#r#P#QNP#Q#RNb#R#T#r#T#UNw#U#c#r#c#d!!Y#d#o#r#o#p!!o#p#qNb#q#r!#Q#r#s!#c#s;'S#r;'S;=`!#z<%lO#rW#uSOy$Rz;'S$R;'S;=`$d<%lO$RW$WSzWOy$Rz;'S$R;'S;=`$d<%lO$RW$gP;=`<%l$RY$m[Oy$Rz!_$R!_!`%c!`#W$R#W#X%v#X#Z$R#Z#[)Z#[#]$R#]#^,V#^;'S$R;'S;=`$d<%lO$RY%jSzWlQOy$Rz;'S$R;'S;=`$d<%lO$RY%{UzWOy$Rz#X$R#X#Y&_#Y;'S$R;'S;=`$d<%lO$RY&dUzWOy$Rz#Y$R#Y#Z&v#Z;'S$R;'S;=`$d<%lO$RY&{UzWOy$Rz#T$R#T#U'_#U;'S$R;'S;=`$d<%lO$RY'dUzWOy$Rz#i$R#i#j'v#j;'S$R;'S;=`$d<%lO$RY'{UzWOy$Rz#`$R#`#a(_#a;'S$R;'S;=`$d<%lO$RY(dUzWOy$Rz#h$R#h#i(v#i;'S$R;'S;=`$d<%lO$RY(}S!nQzWOy$Rz;'S$R;'S;=`$d<%lO$RY)`UzWOy$Rz#`$R#`#a)r#a;'S$R;'S;=`$d<%lO$RY)wUzWOy$Rz#c$R#c#d*Z#d;'S$R;'S;=`$d<%lO$RY*`UzWOy$Rz#U$R#U#V*r#V;'S$R;'S;=`$d<%lO$RY*wUzWOy$Rz#T$R#T#U+Z#U;'S$R;'S;=`$d<%lO$RY+`UzWOy$Rz#`$R#`#a+r#a;'S$R;'S;=`$d<%lO$RY+yS!mQzWOy$Rz;'S$R;'S;=`$d<%lO$RY,[UzWOy$Rz#a$R#a#b,n#b;'S$R;'S;=`$d<%lO$RY,sUzWOy$Rz#d$R#d#e-V#e;'S$R;'S;=`$d<%lO$RY-[UzWOy$Rz#c$R#c#d-n#d;'S$R;'S;=`$d<%lO$RY-sUzWOy$Rz#f$R#f#g.V#g;'S$R;'S;=`$d<%lO$RY.[UzWOy$Rz#h$R#h#i.n#i;'S$R;'S;=`$d<%lO$RY.sUzWOy$Rz#T$R#T#U/V#U;'S$R;'S;=`$d<%lO$RY/[UzWOy$Rz#b$R#b#c/n#c;'S$R;'S;=`$d<%lO$RY/sUzWOy$Rz#h$R#h#i0V#i;'S$R;'S;=`$d<%lO$RY0^S!lQzWOy$Rz;'S$R;'S;=`$d<%lO$R~0mWOY0jZr0jrs1Vs#O0j#O#P1[#P;'S0j;'S;=`2W<%lO0j~1[Oj~~1_RO;'S0j;'S;=`1h;=`O0j~1kXOY0jZr0jrs1Vs#O0j#O#P1[#P;'S0j;'S;=`2W;=`<%l0j<%lO0j~2ZP;=`<%l0jZ2cY!ZPOy$Rz!Q$R!Q![3R![!c$R!c!i3R!i#T$R#T#Z3R#Z;'S$R;'S;=`$d<%lO$RY3WYzWOy$Rz!Q$R!Q![3v![!c$R!c!i3v!i#T$R#T#Z3v#Z;'S$R;'S;=`$d<%lO$RY3{YzWOy$Rz!Q$R!Q![4k![!c$R!c!i4k!i#T$R#T#Z4k#Z;'S$R;'S;=`$d<%lO$RY4rYhQzWOy$Rz!Q$R!Q![5b![!c$R!c!i5b!i#T$R#T#Z5b#Z;'S$R;'S;=`$d<%lO$RY5iYhQzWOy$Rz!Q$R!Q![6X![!c$R!c!i6X!i#T$R#T#Z6X#Z;'S$R;'S;=`$d<%lO$RY6^YzWOy$Rz!Q$R!Q![6|![!c$R!c!i6|!i#T$R#T#Z6|#Z;'S$R;'S;=`$d<%lO$RY7TYhQzWOy$Rz!Q$R!Q![7s![!c$R!c!i7s!i#T$R#T#Z7s#Z;'S$R;'S;=`$d<%lO$RY7xYzWOy$Rz!Q$R!Q![8h![!c$R!c!i8h!i#T$R#T#Z8h#Z;'S$R;'S;=`$d<%lO$RY8oShQzWOy$Rz;'S$R;'S;=`$d<%lO$R_9O`Oy$Rz}$R}!O:Q!O!Q$R!Q![:Q![!_$R!_!`;T!`!c$R!c!}:Q!}#R$R#R#S:Q#S#T$R#T#o:Q#o;'S$R;'S;=`$d<%lO$RZ:X^zWcROy$Rz}$R}!O:Q!O!Q$R!Q![:Q![!c$R!c!}:Q!}#R$R#R#S:Q#S#T$R#T#o:Q#o;'S$R;'S;=`$d<%lO$R[;[S!_SzWOy$Rz;'S$R;'S;=`$d<%lO$RZ;oS%SPlQOy$Rz;'S$R;'S;=`$d<%lO$RZ<QS_ROy$Rz;'S$R;'S;=`$d<%lO$R~<aWOY<^Zw<^wx1Vx#O<^#O#P<y#P;'S<^;'S;=`=u<%lO<^~<|RO;'S<^;'S;=`=V;=`O<^~=YXOY<^Zw<^wx1Vx#O<^#O#P<y#P;'S<^;'S;=`=u;=`<%l<^<%lO<^~=xP;=`<%l<^Z>QSfROy$Rz;'S$R;'S;=`$d<%lO$R~>cOe~_>jU$|PlQOy$Rz!_$R!_!`;T!`;'S$R;'S;=`$d<%lO$RZ?TWlQ!dPOy$Rz!O$R!O!P?m!P!Q$R!Q![Br![;'S$R;'S;=`$d<%lO$RZ?rUzWOy$Rz!Q$R!Q![@U![;'S$R;'S;=`$d<%lO$RZ@]YzW%OROy$Rz!Q$R!Q![@U![!g$R!g!h@{!h#X$R#X#Y@{#Y;'S$R;'S;=`$d<%lO$RZAQYzWOy$Rz{$R{|Ap|}$R}!OAp!O!Q$R!Q![BX![;'S$R;'S;=`$d<%lO$RZAuUzWOy$Rz!Q$R!Q![BX![;'S$R;'S;=`$d<%lO$RZB`UzW%OROy$Rz!Q$R!Q![BX![;'S$R;'S;=`$d<%lO$RZBy[zW%OROy$Rz!O$R!O!P@U!P!Q$R!Q![Br![!g$R!g!h@{!h#X$R#X#Y@{#Y;'S$R;'S;=`$d<%lO$RZCtSwROy$Rz;'S$R;'S;=`$d<%lO$RZDVWlQOy$Rz!O$R!O!P?m!P!Q$R!Q![Br![;'S$R;'S;=`$d<%lO$RZDtWqROy$Rz!O$R!O!PE^!P!Q$R!Q![@U![;'S$R;'S;=`$d<%lO$RYEcUzWOy$Rz!O$R!O!PEu!P;'S$R;'S;=`$d<%lO$RYE|SvQzWOy$Rz;'S$R;'S;=`$d<%lO$RYF_SlQOy$Rz;'S$R;'S;=`$d<%lO$RZFp[%OROy$Rz!O$R!O!P@U!P!Q$R!Q![Br![!g$R!g!h@{!h#X$R#X#Y@{#Y;'S$R;'S;=`$d<%lO$RkGkUucOy$Rz![$R![!]G}!];'S$R;'S;=`$d<%lO$RXHUS!SPzWOy$Rz;'S$R;'S;=`$d<%lO$RZHgS!oROy$Rz;'S$R;'S;=`$d<%lO$RjHzU!|`lQOy$Rz!_$R!_!`I^!`;'S$R;'S;=`$d<%lO$RjIgS!|`zWlQOy$Rz;'S$R;'S;=`$d<%lO$RnIzU!|`!_SOy$Rz!_$R!_!`%c!`;'S$R;'S;=`$d<%lO$RkJgV!aP!|`lQOy$Rz!_$R!_!`I^!`!aJ|!a;'S$R;'S;=`$d<%lO$RXKTS!aPzWOy$Rz;'S$R;'S;=`$d<%lO$RXKdYOy$Rz}$R}!OLS!O!c$R!c!}Lq!}#T$R#T#oLq#o;'S$R;'S;=`$d<%lO$RXLXWzWOy$Rz!c$R!c!}Lq!}#T$R#T#oLq#o;'S$R;'S;=`$d<%lO$RXLx[!rPzWOy$Rz}$R}!OLq!O!Q$R!Q![Lq![!c$R!c!}Lq!}#T$R#T#oLq#o;'S$R;'S;=`$d<%lO$RZMsS|ROy$Rz;'S$R;'S;=`$d<%lO$R_NUS{VOy$Rz;'S$R;'S;=`$d<%lO$R[NeUOy$Rz!_$R!_!`;T!`;'S$R;'S;=`$d<%lO$RkNzUOy$Rz#b$R#b#c! ^#c;'S$R;'S;=`$d<%lO$Rk! cUzWOy$Rz#W$R#W#X! u#X;'S$R;'S;=`$d<%lO$Rk! |SmczWOy$Rz;'S$R;'S;=`$d<%lO$Rk!!]UOy$Rz#f$R#f#g! u#g;'S$R;'S;=`$d<%lO$RZ!!tS!hROy$Rz;'S$R;'S;=`$d<%lO$RZ!#VS!pROy$Rz;'S$R;'S;=`$d<%lO$R]!#hU!dPOy$Rz!_$R!_!`;T!`;'S$R;'S;=`$d<%lO$RW!#}P;=`<%l#r",tokenizers:[iO,dO,lO,SO,oO,nO,rO,RO,0,1,2,3,4],topRules:{StyleSheet:[0,10],Styles:[1,145]},dialects:{indented:0},specialized:[{term:172,get:O=>PO[O]||-1},{term:171,get:O=>mO[O]||-1},{term:80,get:O=>fO[O]||-1},{term:173,get:O=>yO[O]||-1}],tokenPrec:3217}),P=x.define({name:"sass",parser:hO.configure({props:[k.add({Block:V,Comment(O,$){return{from:O.from+2,to:$.sliceDoc(O.to-2,O.to)=="*/"?O.to-2:O.to}}}),U.add({Declaration:E()})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*\}$/,wordChars:"$-"}}),wO=P.configure({dialect:"indented",props:[U.add({"Block RuleSet":O=>O.baseIndent+O.unit}),k.add({Block:O=>({from:O.from,to:O.to})})]}),YO=N(O=>O.name=="VariableName"||O.name=="SassVariableName");function pO(O){return new g(O!=null&&O.indented?wO:P,P.data.of({autocomplete:YO}))}export{pO as sass,YO as sassCompletionSource,P as sassLanguage};
|