@hachej/boring-ui-cli 0.1.20 → 0.1.22
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/server/cli.js +51 -1
- package/package.json +4 -4
- package/public/assets/{CodeEditor-DQqOn4xz-BpvvkFT7.js → CodeEditor-DQqOn4xz-BAFzWEWd.js} +1 -1
- package/public/assets/{FileTree-DHVB9rpk-FMcsf2w-.js → FileTree-nBvBA8m7-CLG_gDQq.js} +13 -13
- package/public/assets/{MarkdownEditor-L1KDH0bM-D-LbfGkW.js → MarkdownEditor-CeigBQee-D92npGfE.js} +1 -1
- package/public/assets/{_baseUniq-CMA9Ia5A.js → _baseUniq-D3Is_hCV.js} +1 -1
- package/public/assets/{arc-tnXyejqK.js → arc-CCZsH7Lz.js} +1 -1
- package/public/assets/{architectureDiagram-Q4EWVU46-BSOUkwG2.js → architectureDiagram-Q4EWVU46-BIZiY28F.js} +1 -1
- package/public/assets/{blockDiagram-DXYQGD6D-beerpyJi.js → blockDiagram-DXYQGD6D-DsSrNrKb.js} +1 -1
- package/public/assets/{c4Diagram-AHTNJAMY-uB419B41.js → c4Diagram-AHTNJAMY-w9XEk7x6.js} +1 -1
- package/public/assets/channel-C00lOhCb.js +1 -0
- package/public/assets/{chunk-4BX2VUAB-CpStyzoR.js → chunk-4BX2VUAB-CGh01pe9.js} +1 -1
- package/public/assets/{chunk-4TB4RGXK-BL531Lcw.js → chunk-4TB4RGXK-W_MZ5xV2.js} +1 -1
- package/public/assets/{chunk-55IACEB6-CRDe66a9.js → chunk-55IACEB6-CtcT34iA.js} +1 -1
- package/public/assets/{chunk-EDXVE4YY-NaBO_txy.js → chunk-EDXVE4YY-7hMY0-Ht.js} +1 -1
- package/public/assets/{chunk-FMBD7UC4-Dn2Fmb5W.js → chunk-FMBD7UC4-D8hpnWzX.js} +1 -1
- package/public/assets/{chunk-OYMX7WX6-iffOaivX.js → chunk-OYMX7WX6-BytBZ81A.js} +1 -1
- package/public/assets/{chunk-QZHKN3VN-BKRi-Sxw.js → chunk-QZHKN3VN-C109EFXp.js} +1 -1
- package/public/assets/{chunk-YZCP3GAM-CFQPe6Lu.js → chunk-YZCP3GAM-DKynzb8E.js} +1 -1
- package/public/assets/classDiagram-6PBFFD2Q-Dp5BfGWv.js +1 -0
- package/public/assets/classDiagram-v2-HSJHXN6E-Dp5BfGWv.js +1 -0
- package/public/assets/clone-fQpTYsFB.js +1 -0
- package/public/assets/{cose-bilkent-S5V4N54A-BFfdAG94.js → cose-bilkent-S5V4N54A-Dz0sKcyp.js} +1 -1
- package/public/assets/{dagre-KV5264BT-BvfHllE1.js → dagre-KV5264BT-3siOg78t.js} +1 -1
- package/public/assets/{diagram-5BDNPKRD-DML8a0lh.js → diagram-5BDNPKRD-vvFeo_Sf.js} +1 -1
- package/public/assets/{diagram-G4DWMVQ6-DL30StUK.js → diagram-G4DWMVQ6-WqsmRezl.js} +1 -1
- package/public/assets/{diagram-MMDJMWI5-D3-Kryyd.js → diagram-MMDJMWI5-CPqMu_Sf.js} +1 -1
- package/public/assets/{diagram-TYMM5635-HDTViX5R.js → diagram-TYMM5635-TzWfNsah.js} +1 -1
- package/public/assets/{erDiagram-SMLLAGMA-DV46TbuX.js → erDiagram-SMLLAGMA-BDSJWZqk.js} +1 -1
- package/public/assets/{flowDiagram-DWJPFMVM-BXqQu2_i.js → flowDiagram-DWJPFMVM-C1S-4_Cg.js} +1 -1
- package/public/assets/{ganttDiagram-T4ZO3ILL-CnPz0E5a.js → ganttDiagram-T4ZO3ILL-B98BD5z3.js} +1 -1
- package/public/assets/{gitGraphDiagram-UUTBAWPF-C25lUVfz.js → gitGraphDiagram-UUTBAWPF-Cmvjysk0.js} +1 -1
- package/public/assets/{graph-CSby6HJp.js → graph-sYf6TqIc.js} +1 -1
- package/public/assets/{highlighted-body-OFNGDK62-D5Bucj_m.js → highlighted-body-OFNGDK62-CXdxKP3Q.js} +1 -1
- package/public/assets/{index-DLyovEn7.js → index-AFhevE3Z.js} +1 -1
- package/public/assets/{index-CrQ5eYxl.js → index-DYdcFGsN.js} +5 -5
- package/public/assets/{infoDiagram-42DDH7IO-D1tkIwny.js → infoDiagram-42DDH7IO-vJM5h_tq.js} +1 -1
- package/public/assets/{ishikawaDiagram-UXIWVN3A-D6zbyxWx.js → ishikawaDiagram-UXIWVN3A-D6WPjTgW.js} +1 -1
- package/public/assets/{journeyDiagram-VCZTEJTY-ExQUgQxi.js → journeyDiagram-VCZTEJTY-C4Ro62cH.js} +1 -1
- package/public/assets/{kanban-definition-6JOO6SKY-E3gNRZLm.js → kanban-definition-6JOO6SKY-CoVkUUW1.js} +1 -1
- package/public/assets/{layout-BF96CGik.js → layout-C8UtS8AS.js} +1 -1
- package/public/assets/{linear-6x4QueCv.js → linear-Kt3yJaBD.js} +1 -1
- package/public/assets/{min-Cyn_UaFw.js → min-0DSG7c0k.js} +1 -1
- package/public/assets/{mindmap-definition-QFDTVHPH-CcpKJ1lB.js → mindmap-definition-QFDTVHPH-DtXsaCz-.js} +1 -1
- package/public/assets/{pieDiagram-DEJITSTG-PVIVMgVu.js → pieDiagram-DEJITSTG-DsKSgqOW.js} +1 -1
- package/public/assets/{quadrantDiagram-34T5L4WZ-BTyRfzd6.js → quadrantDiagram-34T5L4WZ-CdbiE7rD.js} +1 -1
- package/public/assets/{requirementDiagram-MS252O5E-CU9X0jFW.js → requirementDiagram-MS252O5E-XxABUJ_X.js} +1 -1
- package/public/assets/{sankeyDiagram-XADWPNL6-DyZdSLSv.js → sankeyDiagram-XADWPNL6-D7NR5Nhs.js} +1 -1
- package/public/assets/{sequenceDiagram-FGHM5R23-CuJRqb6t.js → sequenceDiagram-FGHM5R23-BG0WuOq2.js} +1 -1
- package/public/assets/{stateDiagram-FHFEXIEX-5mIpjfjp.js → stateDiagram-FHFEXIEX-DmZh8osG.js} +1 -1
- package/public/assets/stateDiagram-v2-QKLJ7IA2-C4VIL9Mn.js +1 -0
- package/public/assets/{timeline-definition-GMOUNBTQ-DCSOAQyL.js → timeline-definition-GMOUNBTQ-DHS6HebU.js} +1 -1
- package/public/assets/{vennDiagram-DHZGUBPP-BXxgH4Ub.js → vennDiagram-DHZGUBPP-nuvPO_YM.js} +1 -1
- package/public/assets/{wardley-RL74JXVD-BWSOnFou.js → wardley-RL74JXVD-KVF7hJgM.js} +1 -1
- package/public/assets/{wardleyDiagram-NUSXRM2D-BrsRzGry.js → wardleyDiagram-NUSXRM2D-CDn9qPsu.js} +1 -1
- package/public/assets/{xychartDiagram-5P7HB3ND-CLF12YPc.js → xychartDiagram-5P7HB3ND-DF0ubL81.js} +1 -1
- package/public/index.html +1 -1
- package/public/assets/channel-C2_9gQqR.js +0 -1
- package/public/assets/classDiagram-6PBFFD2Q-BX66CTk2.js +0 -1
- package/public/assets/classDiagram-v2-HSJHXN6E-BX66CTk2.js +0 -1
- package/public/assets/clone-BUVN29h2.js +0 -1
- package/public/assets/stateDiagram-v2-QKLJ7IA2-yZsODTx6.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/angular-html-DA-rfuFy.js","assets/html-pp8916En.js","assets/javascript-wDzz0qaB.js","assets/css-CLj8gQPS.js","assets/angular-ts-BrjP3tb8.js","assets/scss-D5BDwBP9.js","assets/apl-CORt7UWP.js","assets/xml-sdJ4AIDG.js","assets/java-CylS5w8V.js","assets/json-Cp-IABpG.js","assets/astro-HNnZUWAn.js","assets/typescript-BPQ3VLAy.js","assets/postcss-CXtECtnM.js","assets/tsx-COt5Ahok.js","assets/blade-BjGOyj-B.js","assets/html-derivative-DlHx6ybY.js","assets/sql-BLtJtn59.js","assets/bsl-BO_Y6i37.js","assets/sdbl-DVxCFoDh.js","assets/cairo-KRGpt6FW.js","assets/python-B6aJPvgy.js","assets/cobol-nBiQ_Alo.js","assets/coffee-Ch7k5sss.js","assets/cpp-CofmeUqb.js","assets/regexp-CDVJQ6XC.js","assets/glsl-DplSGwfg.js","assets/c-BIGW1oBm.js","assets/crystal-DNxU26gB.js","assets/shellscript-Yzrsuije.js","assets/edge-FbVlp4U3.js","assets/elixir-CkH2-t6x.js","assets/elm-DbKCFpqz.js","assets/erb-BYCe7drp.js","assets/ruby-Wjq7vjNf.js","assets/haml-D5jkg6IW.js","assets/graphql-ChdNCCLP.js","assets/jsx-g9-lgVsj.js","assets/lua-BaeVxFsk.js","assets/yaml-Buea-lGh.js","assets/erlang-DsQrWhSR.js","assets/markdown-Cvjx9yec.js","assets/fortran-fixed-form-CkoXwp7k.js","assets/fortran-free-form-BxgE0vQu.js","assets/fsharp-CXgrBDvD.js","assets/gdresource-BOOCDP_w.js","assets/gdshader-DkwncUOv.js","assets/gdscript-C5YyOfLZ.js","assets/git-commit-F4YmCXRG.js","assets/diff-D97Zzqfu.js","assets/git-rebase-r7XF79zn.js","assets/glimmer-js-ByusRIyA.js","assets/glimmer-ts-BfAWNZQY.js","assets/hack-i7_Ulhet.js","assets/handlebars-BpdQsYii.js","assets/http-jrhK8wxY.js","assets/hurl-irOxFIW8.js","assets/csv-fuZLfV_i.js","assets/hxml-Bvhsp5Yf.js","assets/haxe-CzTSHFRz.js","assets/jinja-f2NsQr07.js","assets/jison-wvAkD_A8.js","assets/julia-CxzCAyBv.js","assets/r-Dspwwk_N.js","assets/just-VxiPbLrw.js","assets/perl-NvoQZIq0.js","assets/latex-CWtU0Tv5.js","assets/tex-idrVyKtj.js","assets/liquid-C0sCDyMI.js","assets/marko-DjSrsDqO.js","assets/less-B1dDrJ26.js","assets/mdc-DTYItulj.js","assets/nextflow-C-mBbutL.js","assets/nextflow-groovy-vE_lwT2v.js","assets/nginx-BpAMiNFr.js","assets/nim-BIad80T-.js","assets/php-R6g_5hLQ.js","assets/pug-DKIMFp6K.js","assets/qml-3beO22l8.js","assets/razor-BDqjjVU7.js","assets/csharp-COcwbKMJ.js","assets/rst-CRjBmOyv.js","assets/cmake-D1j8_8rp.js","assets/sas-cz2c8ADy.js","assets/shaderlab-Dg9Lc6iA.js","assets/hlsl-D3lLCCz7.js","assets/shellsession-BADoaaVG.js","assets/soy-8wufbnw4.js","assets/sparql-rVzFXLq3.js","assets/turtle-BsS91CYL.js","assets/stata-BH5u7GGu.js","assets/surrealql-Bq5Q-fJD.js","assets/svelte-Cy7k_4gC.js","assets/templ-DhtptRzy.js","assets/go-C27-OAKa.js","assets/ts-tags-DQrlYJgV.js","assets/twig-xg9kU7Mw.js","assets/vue-D2xRrEX4.js","assets/vue-html-AaS7Mt5G.js","assets/vue-vine-BoDAl6tE.js","assets/stylus-BEDo0Tqx.js","assets/xsl-CtQFsRM5.js","assets/angular-html-CU67Zn6k.js","assets/html-GMplVEZG.js","assets/javascript-XPxc2APE.js","assets/css-DPfMkruS.js","assets/angular-ts-BwZT4LLn.js","assets/scss-OYdSNvt2.js","assets/apl-dKokRX4l.js","assets/xml-DtyAt_xK.js","assets/java-B2AjWfgk.js","assets/json-CjLXzM_z.js","assets/astro-CbQHKStN.js","assets/typescript-DttGkNCf.js","assets/postcss-BSGhOJ4k.js","assets/tsx-Dio8iE-N.js","assets/blade-D4QpJJKB.js","assets/html-derivative-BFtXZ54Q.js","assets/sql-CKXjX23X.js","assets/bsl-C4qeDxuX.js","assets/sdbl-C5Q1usnU.js","assets/cairo-C_mOTUpN.js","assets/python-DgE28U1V.js","assets/cobol-nwyudZeR.js","assets/coffee-CSg58a7P.js","assets/cpp-C28rag7_.js","assets/regexp-BW_zLBm-.js","assets/glsl-Bk7TyU8J.js","assets/c-CyUOlKFr.js","assets/crystal-tKQVLTB8.js","assets/shellscript-CE-5zpiL.js","assets/edge-BkV0erSs.js","assets/elixir-CDX3lj18.js","assets/elm-BX_9EnK8.js","assets/erb-B12qg9BL.js","assets/ruby-Dw2BHqvy.js","assets/haml-B8DHNrY2.js","assets/graphql-By4-2MiP.js","assets/jsx-BGEKFWBk.js","assets/lua-JmSlR1pZ.js","assets/yaml-B92AUxDB.js","assets/erlang-Dh270pQQ.js","assets/markdown-CKXSK5AY.js","assets/fortran-fixed-form-B5hFr6Yn.js","assets/fortran-free-form-BuX3zftO.js","assets/fsharp-B6CigNpP.js","assets/gdresource-ChoLB09i.js","assets/gdshader-MbeiIFWW.js","assets/gdscript-BajwJ0jS.js","assets/git-commit-BicZTByO.js","assets/diff-BlzBhZx2.js","assets/git-rebase-Bzlpfr7M.js","assets/glimmer-js-Rg0-pVw9.js","assets/glimmer-ts-U6CK756n.js","assets/hack-CaT9iCJl.js","assets/handlebars-BL8al0AC.js","assets/http-D0p2QOuJ.js","assets/hurl-CeF7EoTQ.js","assets/csv-AZNL9t8Q.js","assets/hxml-B_SuSTPP.js","assets/haxe-n0Q_eay_.js","assets/jinja-4LBKfQ-Z.js","assets/jison-DRGa8fbr.js","assets/julia-BxjEHQ54.js","assets/r-BcofxrH1.js","assets/just-Cw27pwNe.js","assets/perl-C0TMdlhV.js","assets/latex-C-qBiGC3.js","assets/tex-BLPnQt1V.js","assets/liquid-DYVedYrR.js","assets/marko-CnJfTvn9.js","assets/less-C76OjOdF.js","assets/mdc-BMNejdWA.js","assets/nextflow-Zz6hmt5N.js","assets/nextflow-groovy-BeH2EWoN.js","assets/nginx-bBKbG2uI.js","assets/nim-CVrawwO9.js","assets/php-Dhbhpdrm.js","assets/pug-CGlum2m_.js","assets/qml-BEkX6VoX.js","assets/razor-Uh8Bk_45.js","assets/csharp-DieIJxYJ.js","assets/rst-BrH8l1NY.js","assets/cmake-Cv5ljclQ.js","assets/sas-BZeeyq_z.js","assets/shaderlab-DNkMdb2B.js","assets/hlsl-Pefxhtaj.js","assets/shellsession-BhddCRKA.js","assets/soy-Brmx7dQM.js","assets/sparql-CHK3vDkL.js","assets/turtle-whXsfw69.js","assets/stata-BJqnY-gO.js","assets/surrealql-CYeReaNr.js","assets/svelte-C_ipcX3V.js","assets/templ-P3uqSqPl.js","assets/go-CxLEBnE3.js","assets/ts-tags-zn1MmPIZ.js","assets/twig-DNn4PbVi.js","assets/vue-DN_0RTcg.js","assets/vue-html-BM4TQ0nH.js","assets/vue-vine-CQOfvN7w.js","assets/stylus-CHekGIgu.js","assets/xsl-Btrj9DhN.js","assets/dagre-KV5264BT-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/angular-html-DA-rfuFy.js","assets/html-pp8916En.js","assets/javascript-wDzz0qaB.js","assets/css-CLj8gQPS.js","assets/angular-ts-BrjP3tb8.js","assets/scss-D5BDwBP9.js","assets/apl-CORt7UWP.js","assets/xml-sdJ4AIDG.js","assets/java-CylS5w8V.js","assets/json-Cp-IABpG.js","assets/astro-HNnZUWAn.js","assets/typescript-BPQ3VLAy.js","assets/postcss-CXtECtnM.js","assets/tsx-COt5Ahok.js","assets/blade-BjGOyj-B.js","assets/html-derivative-DlHx6ybY.js","assets/sql-BLtJtn59.js","assets/bsl-BO_Y6i37.js","assets/sdbl-DVxCFoDh.js","assets/cairo-KRGpt6FW.js","assets/python-B6aJPvgy.js","assets/cobol-nBiQ_Alo.js","assets/coffee-Ch7k5sss.js","assets/cpp-CofmeUqb.js","assets/regexp-CDVJQ6XC.js","assets/glsl-DplSGwfg.js","assets/c-BIGW1oBm.js","assets/crystal-DNxU26gB.js","assets/shellscript-Yzrsuije.js","assets/edge-FbVlp4U3.js","assets/elixir-CkH2-t6x.js","assets/elm-DbKCFpqz.js","assets/erb-BYCe7drp.js","assets/ruby-Wjq7vjNf.js","assets/haml-D5jkg6IW.js","assets/graphql-ChdNCCLP.js","assets/jsx-g9-lgVsj.js","assets/lua-BaeVxFsk.js","assets/yaml-Buea-lGh.js","assets/erlang-DsQrWhSR.js","assets/markdown-Cvjx9yec.js","assets/fortran-fixed-form-CkoXwp7k.js","assets/fortran-free-form-BxgE0vQu.js","assets/fsharp-CXgrBDvD.js","assets/gdresource-BOOCDP_w.js","assets/gdshader-DkwncUOv.js","assets/gdscript-C5YyOfLZ.js","assets/git-commit-F4YmCXRG.js","assets/diff-D97Zzqfu.js","assets/git-rebase-r7XF79zn.js","assets/glimmer-js-ByusRIyA.js","assets/glimmer-ts-BfAWNZQY.js","assets/hack-i7_Ulhet.js","assets/handlebars-BpdQsYii.js","assets/http-jrhK8wxY.js","assets/hurl-irOxFIW8.js","assets/csv-fuZLfV_i.js","assets/hxml-Bvhsp5Yf.js","assets/haxe-CzTSHFRz.js","assets/jinja-f2NsQr07.js","assets/jison-wvAkD_A8.js","assets/julia-CxzCAyBv.js","assets/r-Dspwwk_N.js","assets/just-VxiPbLrw.js","assets/perl-NvoQZIq0.js","assets/latex-CWtU0Tv5.js","assets/tex-idrVyKtj.js","assets/liquid-C0sCDyMI.js","assets/marko-DjSrsDqO.js","assets/less-B1dDrJ26.js","assets/mdc-DTYItulj.js","assets/nextflow-C-mBbutL.js","assets/nextflow-groovy-vE_lwT2v.js","assets/nginx-BpAMiNFr.js","assets/nim-BIad80T-.js","assets/php-R6g_5hLQ.js","assets/pug-DKIMFp6K.js","assets/qml-3beO22l8.js","assets/razor-BDqjjVU7.js","assets/csharp-COcwbKMJ.js","assets/rst-CRjBmOyv.js","assets/cmake-D1j8_8rp.js","assets/sas-cz2c8ADy.js","assets/shaderlab-Dg9Lc6iA.js","assets/hlsl-D3lLCCz7.js","assets/shellsession-BADoaaVG.js","assets/soy-8wufbnw4.js","assets/sparql-rVzFXLq3.js","assets/turtle-BsS91CYL.js","assets/stata-BH5u7GGu.js","assets/surrealql-Bq5Q-fJD.js","assets/svelte-Cy7k_4gC.js","assets/templ-DhtptRzy.js","assets/go-C27-OAKa.js","assets/ts-tags-DQrlYJgV.js","assets/twig-xg9kU7Mw.js","assets/vue-D2xRrEX4.js","assets/vue-html-AaS7Mt5G.js","assets/vue-vine-BoDAl6tE.js","assets/stylus-BEDo0Tqx.js","assets/xsl-CtQFsRM5.js","assets/angular-html-CU67Zn6k.js","assets/html-GMplVEZG.js","assets/javascript-XPxc2APE.js","assets/css-DPfMkruS.js","assets/angular-ts-BwZT4LLn.js","assets/scss-OYdSNvt2.js","assets/apl-dKokRX4l.js","assets/xml-DtyAt_xK.js","assets/java-B2AjWfgk.js","assets/json-CjLXzM_z.js","assets/astro-CbQHKStN.js","assets/typescript-DttGkNCf.js","assets/postcss-BSGhOJ4k.js","assets/tsx-Dio8iE-N.js","assets/blade-D4QpJJKB.js","assets/html-derivative-BFtXZ54Q.js","assets/sql-CKXjX23X.js","assets/bsl-C4qeDxuX.js","assets/sdbl-C5Q1usnU.js","assets/cairo-C_mOTUpN.js","assets/python-DgE28U1V.js","assets/cobol-nwyudZeR.js","assets/coffee-CSg58a7P.js","assets/cpp-C28rag7_.js","assets/regexp-BW_zLBm-.js","assets/glsl-Bk7TyU8J.js","assets/c-CyUOlKFr.js","assets/crystal-tKQVLTB8.js","assets/shellscript-CE-5zpiL.js","assets/edge-BkV0erSs.js","assets/elixir-CDX3lj18.js","assets/elm-BX_9EnK8.js","assets/erb-B12qg9BL.js","assets/ruby-Dw2BHqvy.js","assets/haml-B8DHNrY2.js","assets/graphql-By4-2MiP.js","assets/jsx-BGEKFWBk.js","assets/lua-JmSlR1pZ.js","assets/yaml-B92AUxDB.js","assets/erlang-Dh270pQQ.js","assets/markdown-CKXSK5AY.js","assets/fortran-fixed-form-B5hFr6Yn.js","assets/fortran-free-form-BuX3zftO.js","assets/fsharp-B6CigNpP.js","assets/gdresource-ChoLB09i.js","assets/gdshader-MbeiIFWW.js","assets/gdscript-BajwJ0jS.js","assets/git-commit-BicZTByO.js","assets/diff-BlzBhZx2.js","assets/git-rebase-Bzlpfr7M.js","assets/glimmer-js-Rg0-pVw9.js","assets/glimmer-ts-U6CK756n.js","assets/hack-CaT9iCJl.js","assets/handlebars-BL8al0AC.js","assets/http-D0p2QOuJ.js","assets/hurl-CeF7EoTQ.js","assets/csv-AZNL9t8Q.js","assets/hxml-B_SuSTPP.js","assets/haxe-n0Q_eay_.js","assets/jinja-4LBKfQ-Z.js","assets/jison-DRGa8fbr.js","assets/julia-BxjEHQ54.js","assets/r-BcofxrH1.js","assets/just-Cw27pwNe.js","assets/perl-C0TMdlhV.js","assets/latex-C-qBiGC3.js","assets/tex-BLPnQt1V.js","assets/liquid-DYVedYrR.js","assets/marko-CnJfTvn9.js","assets/less-C76OjOdF.js","assets/mdc-BMNejdWA.js","assets/nextflow-Zz6hmt5N.js","assets/nextflow-groovy-BeH2EWoN.js","assets/nginx-bBKbG2uI.js","assets/nim-CVrawwO9.js","assets/php-Dhbhpdrm.js","assets/pug-CGlum2m_.js","assets/qml-BEkX6VoX.js","assets/razor-Uh8Bk_45.js","assets/csharp-DieIJxYJ.js","assets/rst-BrH8l1NY.js","assets/cmake-Cv5ljclQ.js","assets/sas-BZeeyq_z.js","assets/shaderlab-DNkMdb2B.js","assets/hlsl-Pefxhtaj.js","assets/shellsession-BhddCRKA.js","assets/soy-Brmx7dQM.js","assets/sparql-CHK3vDkL.js","assets/turtle-whXsfw69.js","assets/stata-BJqnY-gO.js","assets/surrealql-CYeReaNr.js","assets/svelte-C_ipcX3V.js","assets/templ-P3uqSqPl.js","assets/go-CxLEBnE3.js","assets/ts-tags-zn1MmPIZ.js","assets/twig-DNn4PbVi.js","assets/vue-DN_0RTcg.js","assets/vue-html-BM4TQ0nH.js","assets/vue-vine-CQOfvN7w.js","assets/stylus-CHekGIgu.js","assets/xsl-Btrj9DhN.js","assets/dagre-KV5264BT-3siOg78t.js","assets/graph-sYf6TqIc.js","assets/_baseUniq-D3Is_hCV.js","assets/layout-C8UtS8AS.js","assets/min-0DSG7c0k.js","assets/clone-fQpTYsFB.js","assets/cose-bilkent-S5V4N54A-Dz0sKcyp.js","assets/cytoscape.esm-DxGcaOPV.js","assets/c4Diagram-AHTNJAMY-w9XEk7x6.js","assets/chunk-YZCP3GAM-DKynzb8E.js","assets/flowDiagram-DWJPFMVM-C1S-4_Cg.js","assets/chunk-FMBD7UC4-D8hpnWzX.js","assets/chunk-55IACEB6-CtcT34iA.js","assets/chunk-EDXVE4YY-7hMY0-Ht.js","assets/channel-C00lOhCb.js","assets/erDiagram-SMLLAGMA-BDSJWZqk.js","assets/gitGraphDiagram-UUTBAWPF-Cmvjysk0.js","assets/chunk-4BX2VUAB-CGh01pe9.js","assets/chunk-QZHKN3VN-C109EFXp.js","assets/wardley-RL74JXVD-KVF7hJgM.js","assets/ganttDiagram-T4ZO3ILL-B98BD5z3.js","assets/linear-Kt3yJaBD.js","assets/init-Gi6I4Gst.js","assets/defaultLocale-DX6XiGOO.js","assets/infoDiagram-42DDH7IO-vJM5h_tq.js","assets/pieDiagram-DEJITSTG-DsKSgqOW.js","assets/arc-CCZsH7Lz.js","assets/ordinal-Cboi1Yqb.js","assets/quadrantDiagram-34T5L4WZ-CdbiE7rD.js","assets/xychartDiagram-5P7HB3ND-DF0ubL81.js","assets/requirementDiagram-MS252O5E-XxABUJ_X.js","assets/sequenceDiagram-FGHM5R23-BG0WuOq2.js","assets/classDiagram-6PBFFD2Q-Dp5BfGWv.js","assets/chunk-4TB4RGXK-W_MZ5xV2.js","assets/classDiagram-v2-HSJHXN6E-Dp5BfGWv.js","assets/stateDiagram-FHFEXIEX-DmZh8osG.js","assets/chunk-OYMX7WX6-BytBZ81A.js","assets/stateDiagram-v2-QKLJ7IA2-C4VIL9Mn.js","assets/journeyDiagram-VCZTEJTY-C4Ro62cH.js","assets/timeline-definition-GMOUNBTQ-DHS6HebU.js","assets/mindmap-definition-QFDTVHPH-DtXsaCz-.js","assets/kanban-definition-6JOO6SKY-CoVkUUW1.js","assets/sankeyDiagram-XADWPNL6-D7NR5Nhs.js","assets/diagram-TYMM5635-TzWfNsah.js","assets/diagram-MMDJMWI5-CPqMu_Sf.js","assets/blockDiagram-DXYQGD6D-DsSrNrKb.js","assets/diagram-5BDNPKRD-vvFeo_Sf.js","assets/architectureDiagram-Q4EWVU46-BIZiY28F.js","assets/diagram-G4DWMVQ6-WqsmRezl.js","assets/wardleyDiagram-NUSXRM2D-CDn9qPsu.js","assets/FileTree-nBvBA8m7-CLG_gDQq.js","assets/index-AFhevE3Z.js","assets/CodeEditor-DQqOn4xz-BAFzWEWd.js","assets/index-Vcq4gwWv.js","assets/MarkdownEditor-CeigBQee-D92npGfE.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
var kge=Object.defineProperty;var Sge=Object.getPrototypeOf;var Ege=Reflect.get;var bB=t=>{throw TypeError(t)};var Age=(t,e,r)=>e in t?kge(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var _e=(t,e,r)=>Age(t,typeof e!="symbol"?e+"":e,r),e3=(t,e,r)=>e.has(t)||bB("Cannot "+r);var ce=(t,e,r)=>(e3(t,e,"read from private field"),r?r.call(t):e.get(t)),kt=(t,e,r)=>e.has(t)?bB("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),nt=(t,e,r,n)=>(e3(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),ar=(t,e,r)=>(e3(t,e,"access private method"),r);var E2=(t,e,r,n)=>({set _(i){nt(t,e,i,r)},get _(){return ce(t,e,n)}}),vB=(t,e,r)=>Ege(Sge(t),r,e);function Dge(t,e){for(var r=0;r<e.length;r++){const n=e[r];if(typeof n!="string"&&!Array.isArray(n)){for(const i in n)if(i!=="default"&&!(i in t)){const s=Object.getOwnPropertyDescriptor(n,i);s&&Object.defineProperty(t,i,s.get?s:{enumerable:!0,get:()=>n[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&n(a)}).observe(document,{childList:!0,subtree:!0});function r(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(i){if(i.ep)return;i.ep=!0;const s=r(i);fetch(i.href,s)}})();function lg(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function L_t(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var e=t.default;if(typeof e=="function"){var r=function n(){return this instanceof n?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}),r}var t3={exports:{}},P1={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* react-jsx-runtime.production.js
|
|
@@ -1156,8 +1156,8 @@ Please report this to https://github.com/markedjs/marked.`,e){let i="<p>An error
|
|
|
1156
1156
|
L0,20`)},"requirement_arrow"),EKe=P((t,e,r)=>{const n=Yn(),{themeVariables:i}=n,{strokeWidth:s}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${s}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0
|
|
1157
1157
|
L20,10
|
|
1158
1158
|
M20,10
|
|
1159
|
-
L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),AKe=P((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),DKe=P((t,e,r)=>{const n=Yn(),{themeVariables:i}=n,{strokeWidth:s}=i,a=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");a.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),a.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),a.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),a.selectAll("*").attr("stroke-width",`${s}`)},"requirement_contains_neo"),LKe={extension:lKe,composition:cKe,aggregation:uKe,dependency:hKe,lollipop:dKe,point:fKe,circle:pKe,cross:mKe,barb:gKe,barbNeo:yKe,only_one:bKe,zero_or_one:vKe,one_or_more:xKe,zero_or_more:_Ke,only_one_neo:wKe,zero_or_one_neo:CKe,one_or_more_neo:TKe,zero_or_more_neo:kKe,requirement_arrow:SKe,requirement_contains:AKe,requirement_arrow_neo:EKe,requirement_contains_neo:DKe},IKe=oKe,RKe={common:Zv,getConfig:Yn,insertCluster:DXe,insertEdge:aKe,insertEdgeLabel:eKe,insertMarkers:IKe,insertNode:Ace,interpolateToCurve:G9,labelHelper:Zt,log:Ue,positionEdgeLabel:tKe},Qb={},Rce=P(t=>{for(const e of t)Qb[e.name]=e},"registerLayoutLoaders"),NKe=P(()=>{Rce([{name:"dagre",loader:P(async()=>await M(()=>import("./dagre-KV5264BT-BvfHllE1.js"),__vite__mapDeps([202,203,204,205,206,207])),"loader")},{name:"cose-bilkent",loader:P(async()=>await M(()=>import("./cose-bilkent-S5V4N54A-BFfdAG94.js"),__vite__mapDeps([208,209])),"loader")}])},"registerDefaultLayoutLoaders");NKe();var Dwt=P(async(t,e)=>{if(!(t.layoutAlgorithm in Qb))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(const u of t.nodes){const d=u.domId||u.id;u.domId=`${t.diagramId}-${d}`}const r=Qb[t.layoutAlgorithm],n=await r.loader(),{theme:i,themeVariables:s}=t.config,{useGradient:a,gradientStart:o,gradientStop:l}=s,c=e.attr("id");if(e.append("defs").append("filter").attr("id",`${c}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i!=null&&i.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${c}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i!=null&&i.includes("dark")?"#FFFFFF":"#000000"}`),a){const u=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");u.append("svg:stop").attr("offset","0%").attr("stop-color",o).attr("stop-opacity",1),u.append("svg:stop").attr("offset","100%").attr("stop-color",l).attr("stop-opacity",1)}return n.render(t,e,RKe,{algorithm:r.algorithm})},"render"),Lwt=P((t="",{fallback:e="dagre"}={})=>{if(t in Qb)return t;if(e in Qb)return Ue.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm"),Nce="comm",Oce="rule",Mce="decl",OKe="@import",MKe="@namespace",PKe="@keyframes",BKe="@layer",FKe=Math.abs,nb=String.fromCharCode;function Pce(t){return t.trim()}function k7(t,e,r){return t.replace(e,r)}function sm(t,e){return t.charCodeAt(e)|0}function ng(t,e,r){return t.slice(e,r)}function Rl(t){return t.length}function $Ke(t){return t.length}function x_(t,e){return e.push(t),t}var _S=1,ig=1,Bce=0,Ro=0,Si=0,Pg="";function fR(t,e,r,n,i,s,a,o){return{value:t,root:e,parent:r,type:n,props:i,children:s,line:_S,column:ig,length:a,return:"",siblings:o}}function zKe(){return Si}function jKe(){return Si=Ro>0?sm(Pg,--Ro):0,ig--,Si===10&&(ig=1,_S--),Si}function nl(){return Si=Ro<Bce?sm(Pg,Ro++):0,ig++,Si===10&&(ig=1,_S++),Si}function Fh(){return sm(Pg,Ro)}function vw(){return Ro}function wS(t,e){return ng(Pg,t,e)}function Jb(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function HKe(t){return _S=ig=1,Bce=Rl(Pg=t),Ro=0,[]}function VKe(t){return Pg="",t}function J5(t){return Pce(wS(Ro-1,S7(t===91?t+2:t===40?t+1:t)))}function UKe(t){for(;(Si=Fh())&&Si<33;)nl();return Jb(t)>2||Jb(Si)>3?"":" "}function qKe(t,e){for(;--e&&nl()&&!(Si<48||Si>102||Si>57&&Si<65||Si>70&&Si<97););return wS(t,vw()+(e<6&&Fh()==32&&nl()==32))}function S7(t){for(;nl();)switch(Si){case t:return Ro;case 34:case 39:t!==34&&t!==39&&S7(Si);break;case 40:t===41&&S7(t);break;case 92:nl();break}return Ro}function GKe(t,e){for(;nl()&&t+Si!==57;)if(t+Si===84&&Fh()===47)break;return"/*"+wS(e,Ro-1)+"*"+nb(t===47?t:nl())}function WKe(t){for(;!Jb(Fh());)nl();return wS(t,Ro)}function YKe(t){return VKe(xw("",null,null,null,[""],t=HKe(t),0,[0],t))}function xw(t,e,r,n,i,s,a,o,l){for(var c=0,u=0,d=a,m=0,p=0,y=0,b=1,v=1,x=1,C=0,T=0,S="",L=i,D=s,I=n,N=S;v;)switch(y=T,T=nl()){case 40:y!=108&&sm(N,d-1)==58?(C++,N+="("):N+=J5(T);break;case 41:C--,N+=")";break;case 34:case 39:case 91:N+=J5(T);break;case 9:case 10:case 13:case 32:if(C>0){N+=nb(T);break}N+=UKe(y);break;case 92:N+=qKe(vw()-1,7);continue;case 47:switch(Fh()){case 42:case 47:x_(ZKe(GKe(nl(),vw()),e,r,l),l),(Jb(y||1)==5||Jb(Fh()||1)==5)&&Rl(N)&&ng(N,-1,void 0)!==" "&&(N+=" ");break;default:N+="/"}break;case 123*b:o[c++]=Rl(N)*x;case 125*b:case 59:case 0:if(C>0&&T){N+=nb(T);break}switch(T){case 0:case 125:v=0;case 59+u:x==-1&&(N=k7(N,/\f/g,"")),p>0&&(Rl(N)-d||b===0)&&x_(p>32?hU(N+";",n,r,d-1,l):hU(k7(N," ","")+";",n,r,d-2,l),l);break;case 59:N+=";";default:if(x_(I=uU(N,e,r,c,u,i,o,S,L=[],D=[],d,s),s),T===123)if(u===0)xw(N,e,I,I,L,s,d,o,D);else{switch(m){case 99:if(sm(N,3)===110)break;case 108:if(sm(N,2)===97)break;default:u=0;case 100:case 109:case 115:}u?xw(t,I,I,n&&x_(uU(t,I,I,0,0,i,o,S,i,L=[],d,D),D),i,D,d,o,n?L:D):xw(N,I,I,I,[""],D,0,o,D)}}c=u=p=0,b=x=1,S=N="",d=a;break;case 58:d=1+Rl(N),p=y;default:if(b<1){if(T==123)--b;else if(T==125&&b++==0&&jKe()==125)continue}switch(N+=nb(T),T*b){case 38:x=u>0?1:(N+="\f",-1);break;case 44:if(C>0)break;o[c++]=(Rl(N)-1)*x,x=1;break;case 64:Fh()===45&&(N+=J5(nl())),m=Fh(),u=d=Rl(S=N+=WKe(vw())),T++;break;case 45:y===45&&Rl(N)==2&&(b=0)}}return s}function uU(t,e,r,n,i,s,a,o,l,c,u,d){for(var m=i-1,p=i===0?s:[""],y=$Ke(p),b=0,v=0,x=0;b<n;++b)for(var C=0,T=ng(t,m+1,m=FKe(v=a[b])),S=t;C<y;++C)(S=Pce(v>0?p[C]+" "+T:k7(T,/&\f/g,p[C])))&&(l[x++]=S);return fR(t,e,r,i===0?Oce:o,l,c,u,d)}function ZKe(t,e,r,n){return fR(t,e,r,Nce,nb(zKe()),ng(t,2,-2),0,n)}function hU(t,e,r,n,i){return fR(t,e,r,Mce,ng(t,0,n),ng(t,n+1,-1),n,i)}function E7(t,e){for(var r="",n=0;n<t.length;n++)r+=e(t[n],n,t,e)||"";return r}function XKe(t,e,r,n){switch(t.type){case BKe:if(t.children.length)break;case OKe:case MKe:case Mce:return t.return=t.return||t.value;case Nce:return"";case PKe:return t.return=t.value+"{"+E7(t.children,n)+"}";case Oce:if(!Rl(t.value=t.props.join(",")))return""}return Rl(r=E7(t.children,n))?t.return=t.value+"{"+r+"}":""}var KKe=ooe(Object.keys,Object),QKe=Object.prototype,JKe=QKe.hasOwnProperty;function eQe(t){if(!dS(t))return KKe(t);var e=[];for(var r in Object(t))JKe.call(t,r)&&r!="constructor"&&e.push(r);return e}var A7=xp(fc,"DataView"),D7=xp(fc,"Promise"),L7=xp(fc,"Set"),I7=xp(fc,"WeakMap"),dU="[object Map]",tQe="[object Object]",fU="[object Promise]",pU="[object Set]",mU="[object WeakMap]",gU="[object DataView]",rQe=vp(A7),nQe=vp(Xb),iQe=vp(D7),sQe=vp(L7),aQe=vp(I7),lf=Rg;(A7&&lf(new A7(new ArrayBuffer(1)))!=gU||Xb&&lf(new Xb)!=dU||D7&&lf(D7.resolve())!=fU||L7&&lf(new L7)!=pU||I7&&lf(new I7)!=mU)&&(lf=function(t){var e=Rg(t),r=e==tQe?t.constructor:void 0,n=r?vp(r):"";if(n)switch(n){case rQe:return gU;case nQe:return dU;case iQe:return fU;case sQe:return pU;case aQe:return mU}return e});var oQe="[object Map]",lQe="[object Set]",cQe=Object.prototype,uQe=cQe.hasOwnProperty;function yU(t){if(t==null)return!0;if(fS(t)&&(sT(t)||typeof t=="string"||typeof t.splice=="function"||U9(t)||q9(t)||iT(t)))return!t.length;var e=lf(t);if(e==oQe||e==lQe)return!t.size;if(dS(t))return!eQe(t).length;for(var r in t)if(uQe.call(t,r))return!1;return!0}var Fce="c4",hQe=P(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),dQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./c4Diagram-AHTNJAMY-uB419B41.js");return{diagram:e}},__vite__mapDeps([210,211]));return{id:Fce,diagram:t}},"loader"),fQe={id:Fce,detector:hQe,loader:dQe},pQe=fQe,$ce="flowchart",mQe=P((t,e)=>{var r,n;return((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="elk"?!1:/^\s*graph/.test(t)},"detector"),gQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./flowDiagram-DWJPFMVM-BXqQu2_i.js");return{diagram:e}},__vite__mapDeps([212,213,211,214,215,216]));return{id:$ce,diagram:t}},"loader"),yQe={id:$ce,detector:mQe,loader:gQe},bQe=yQe,zce="flowchart-v2",vQe=P((t,e)=>{var r,n,i;return((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(t))},"detector"),xQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./flowDiagram-DWJPFMVM-BXqQu2_i.js");return{diagram:e}},__vite__mapDeps([212,213,211,214,215,216]));return{id:zce,diagram:t}},"loader"),_Qe={id:zce,detector:vQe,loader:xQe},wQe=_Qe,jce="er",CQe=P(t=>/^\s*erDiagram/.test(t),"detector"),TQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./erDiagram-SMLLAGMA-DV46TbuX.js");return{diagram:e}},__vite__mapDeps([217,214,215,216]));return{id:jce,diagram:t}},"loader"),kQe={id:jce,detector:CQe,loader:TQe},SQe=kQe,Hce="gitGraph",EQe=P(t=>/^\s*gitGraph/.test(t),"detector"),AQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./gitGraphDiagram-UUTBAWPF-C25lUVfz.js");return{diagram:e}},__vite__mapDeps([218,219,220,221,206,204]));return{id:Hce,diagram:t}},"loader"),DQe={id:Hce,detector:EQe,loader:AQe},LQe=DQe,Vce="gantt",IQe=P(t=>/^\s*gantt/.test(t),"detector"),RQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./ganttDiagram-T4ZO3ILL-CnPz0E5a.js");return{diagram:e}},__vite__mapDeps([222,223,224,225]));return{id:Vce,diagram:t}},"loader"),NQe={id:Vce,detector:IQe,loader:RQe},OQe=NQe,Uce="info",MQe=P(t=>/^\s*info/.test(t),"detector"),PQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./infoDiagram-42DDH7IO-D1tkIwny.js");return{diagram:e}},__vite__mapDeps([226,221,206,204]));return{id:Uce,diagram:t}},"loader"),BQe={id:Uce,detector:MQe,loader:PQe},qce="pie",FQe=P(t=>/^\s*pie/.test(t),"detector"),$Qe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./pieDiagram-DEJITSTG-PVIVMgVu.js");return{diagram:e}},__vite__mapDeps([227,219,221,206,204,228,229,224]));return{id:qce,diagram:t}},"loader"),zQe={id:qce,detector:FQe,loader:$Qe},Gce="quadrantChart",jQe=P(t=>/^\s*quadrantChart/.test(t),"detector"),HQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./quadrantDiagram-34T5L4WZ-BTyRfzd6.js");return{diagram:e}},__vite__mapDeps([230,223,224,225]));return{id:Gce,diagram:t}},"loader"),VQe={id:Gce,detector:jQe,loader:HQe},UQe=VQe,Wce="xychart",qQe=P(t=>/^\s*xychart(-beta)?/.test(t),"detector"),GQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./xychartDiagram-5P7HB3ND-CLF12YPc.js");return{diagram:e}},__vite__mapDeps([231,224,229,223,225]));return{id:Wce,diagram:t}},"loader"),WQe={id:Wce,detector:qQe,loader:GQe},YQe=WQe,Yce="requirement",ZQe=P(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),XQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./requirementDiagram-MS252O5E-CU9X0jFW.js");return{diagram:e}},__vite__mapDeps([232,214,215]));return{id:Yce,diagram:t}},"loader"),KQe={id:Yce,detector:ZQe,loader:XQe},QQe=KQe,Zce="sequence",JQe=P(t=>/^\s*sequenceDiagram/.test(t),"detector"),eJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./sequenceDiagram-FGHM5R23-CuJRqb6t.js");return{diagram:e}},__vite__mapDeps([233,211,220]));return{id:Zce,diagram:t}},"loader"),tJe={id:Zce,detector:JQe,loader:eJe},rJe=tJe,Xce="class",nJe=P((t,e)=>{var r;return((r=e==null?void 0:e.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t)},"detector"),iJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./classDiagram-6PBFFD2Q-BX66CTk2.js");return{diagram:e}},__vite__mapDeps([234,235,213,211,214,215]));return{id:Xce,diagram:t}},"loader"),sJe={id:Xce,detector:nJe,loader:iJe},aJe=sJe,Kce="classDiagram",oJe=P((t,e)=>{var r;return/^\s*classDiagram/.test(t)&&((r=e==null?void 0:e.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t)},"detector"),lJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./classDiagram-v2-HSJHXN6E-BX66CTk2.js");return{diagram:e}},__vite__mapDeps([236,235,213,211,214,215]));return{id:Kce,diagram:t}},"loader"),cJe={id:Kce,detector:oJe,loader:lJe},uJe=cJe,Qce="state",hJe=P((t,e)=>{var r;return((r=e==null?void 0:e.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t)},"detector"),dJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./stateDiagram-FHFEXIEX-5mIpjfjp.js");return{diagram:e}},__vite__mapDeps([237,238,214,215,203,204,205,206]));return{id:Qce,diagram:t}},"loader"),fJe={id:Qce,detector:hJe,loader:dJe},pJe=fJe,Jce="stateDiagram",mJe=P((t,e)=>{var r;return!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&((r=e==null?void 0:e.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),gJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./stateDiagram-v2-QKLJ7IA2-yZsODTx6.js");return{diagram:e}},__vite__mapDeps([239,238,214,215]));return{id:Jce,diagram:t}},"loader"),yJe={id:Jce,detector:mJe,loader:gJe},bJe=yJe,eue="journey",vJe=P(t=>/^\s*journey/.test(t),"detector"),xJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./journeyDiagram-VCZTEJTY-ExQUgQxi.js");return{diagram:e}},__vite__mapDeps([240,213,211,228]));return{id:eue,diagram:t}},"loader"),_Je={id:eue,detector:vJe,loader:xJe},wJe=_Je,CJe=P((t,e,r)=>{Ue.debug(`rendering svg for syntax error
|
|
1160
|
-
`);const n=GUe(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Sie(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),tue={draw:CJe},TJe=tue,kJe={db:{},renderer:tue,parser:{parse:P(()=>{},"parse")}},SJe=kJe,rue="flowchart-elk",EJe=P((t,e={})=>{var r;return/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(e.layout="elk",!0):!1},"detector"),AJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./flowDiagram-DWJPFMVM-
|
|
1159
|
+
L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),AKe=P((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),DKe=P((t,e,r)=>{const n=Yn(),{themeVariables:i}=n,{strokeWidth:s}=i,a=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");a.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),a.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),a.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),a.selectAll("*").attr("stroke-width",`${s}`)},"requirement_contains_neo"),LKe={extension:lKe,composition:cKe,aggregation:uKe,dependency:hKe,lollipop:dKe,point:fKe,circle:pKe,cross:mKe,barb:gKe,barbNeo:yKe,only_one:bKe,zero_or_one:vKe,one_or_more:xKe,zero_or_more:_Ke,only_one_neo:wKe,zero_or_one_neo:CKe,one_or_more_neo:TKe,zero_or_more_neo:kKe,requirement_arrow:SKe,requirement_contains:AKe,requirement_arrow_neo:EKe,requirement_contains_neo:DKe},IKe=oKe,RKe={common:Zv,getConfig:Yn,insertCluster:DXe,insertEdge:aKe,insertEdgeLabel:eKe,insertMarkers:IKe,insertNode:Ace,interpolateToCurve:G9,labelHelper:Zt,log:Ue,positionEdgeLabel:tKe},Qb={},Rce=P(t=>{for(const e of t)Qb[e.name]=e},"registerLayoutLoaders"),NKe=P(()=>{Rce([{name:"dagre",loader:P(async()=>await M(()=>import("./dagre-KV5264BT-3siOg78t.js"),__vite__mapDeps([202,203,204,205,206,207])),"loader")},{name:"cose-bilkent",loader:P(async()=>await M(()=>import("./cose-bilkent-S5V4N54A-Dz0sKcyp.js"),__vite__mapDeps([208,209])),"loader")}])},"registerDefaultLayoutLoaders");NKe();var Dwt=P(async(t,e)=>{if(!(t.layoutAlgorithm in Qb))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(const u of t.nodes){const d=u.domId||u.id;u.domId=`${t.diagramId}-${d}`}const r=Qb[t.layoutAlgorithm],n=await r.loader(),{theme:i,themeVariables:s}=t.config,{useGradient:a,gradientStart:o,gradientStop:l}=s,c=e.attr("id");if(e.append("defs").append("filter").attr("id",`${c}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i!=null&&i.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${c}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${i!=null&&i.includes("dark")?"#FFFFFF":"#000000"}`),a){const u=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");u.append("svg:stop").attr("offset","0%").attr("stop-color",o).attr("stop-opacity",1),u.append("svg:stop").attr("offset","100%").attr("stop-color",l).attr("stop-opacity",1)}return n.render(t,e,RKe,{algorithm:r.algorithm})},"render"),Lwt=P((t="",{fallback:e="dagre"}={})=>{if(t in Qb)return t;if(e in Qb)return Ue.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm"),Nce="comm",Oce="rule",Mce="decl",OKe="@import",MKe="@namespace",PKe="@keyframes",BKe="@layer",FKe=Math.abs,nb=String.fromCharCode;function Pce(t){return t.trim()}function k7(t,e,r){return t.replace(e,r)}function sm(t,e){return t.charCodeAt(e)|0}function ng(t,e,r){return t.slice(e,r)}function Rl(t){return t.length}function $Ke(t){return t.length}function x_(t,e){return e.push(t),t}var _S=1,ig=1,Bce=0,Ro=0,Si=0,Pg="";function fR(t,e,r,n,i,s,a,o){return{value:t,root:e,parent:r,type:n,props:i,children:s,line:_S,column:ig,length:a,return:"",siblings:o}}function zKe(){return Si}function jKe(){return Si=Ro>0?sm(Pg,--Ro):0,ig--,Si===10&&(ig=1,_S--),Si}function nl(){return Si=Ro<Bce?sm(Pg,Ro++):0,ig++,Si===10&&(ig=1,_S++),Si}function Fh(){return sm(Pg,Ro)}function vw(){return Ro}function wS(t,e){return ng(Pg,t,e)}function Jb(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function HKe(t){return _S=ig=1,Bce=Rl(Pg=t),Ro=0,[]}function VKe(t){return Pg="",t}function J5(t){return Pce(wS(Ro-1,S7(t===91?t+2:t===40?t+1:t)))}function UKe(t){for(;(Si=Fh())&&Si<33;)nl();return Jb(t)>2||Jb(Si)>3?"":" "}function qKe(t,e){for(;--e&&nl()&&!(Si<48||Si>102||Si>57&&Si<65||Si>70&&Si<97););return wS(t,vw()+(e<6&&Fh()==32&&nl()==32))}function S7(t){for(;nl();)switch(Si){case t:return Ro;case 34:case 39:t!==34&&t!==39&&S7(Si);break;case 40:t===41&&S7(t);break;case 92:nl();break}return Ro}function GKe(t,e){for(;nl()&&t+Si!==57;)if(t+Si===84&&Fh()===47)break;return"/*"+wS(e,Ro-1)+"*"+nb(t===47?t:nl())}function WKe(t){for(;!Jb(Fh());)nl();return wS(t,Ro)}function YKe(t){return VKe(xw("",null,null,null,[""],t=HKe(t),0,[0],t))}function xw(t,e,r,n,i,s,a,o,l){for(var c=0,u=0,d=a,m=0,p=0,y=0,b=1,v=1,x=1,C=0,T=0,S="",L=i,D=s,I=n,N=S;v;)switch(y=T,T=nl()){case 40:y!=108&&sm(N,d-1)==58?(C++,N+="("):N+=J5(T);break;case 41:C--,N+=")";break;case 34:case 39:case 91:N+=J5(T);break;case 9:case 10:case 13:case 32:if(C>0){N+=nb(T);break}N+=UKe(y);break;case 92:N+=qKe(vw()-1,7);continue;case 47:switch(Fh()){case 42:case 47:x_(ZKe(GKe(nl(),vw()),e,r,l),l),(Jb(y||1)==5||Jb(Fh()||1)==5)&&Rl(N)&&ng(N,-1,void 0)!==" "&&(N+=" ");break;default:N+="/"}break;case 123*b:o[c++]=Rl(N)*x;case 125*b:case 59:case 0:if(C>0&&T){N+=nb(T);break}switch(T){case 0:case 125:v=0;case 59+u:x==-1&&(N=k7(N,/\f/g,"")),p>0&&(Rl(N)-d||b===0)&&x_(p>32?hU(N+";",n,r,d-1,l):hU(k7(N," ","")+";",n,r,d-2,l),l);break;case 59:N+=";";default:if(x_(I=uU(N,e,r,c,u,i,o,S,L=[],D=[],d,s),s),T===123)if(u===0)xw(N,e,I,I,L,s,d,o,D);else{switch(m){case 99:if(sm(N,3)===110)break;case 108:if(sm(N,2)===97)break;default:u=0;case 100:case 109:case 115:}u?xw(t,I,I,n&&x_(uU(t,I,I,0,0,i,o,S,i,L=[],d,D),D),i,D,d,o,n?L:D):xw(N,I,I,I,[""],D,0,o,D)}}c=u=p=0,b=x=1,S=N="",d=a;break;case 58:d=1+Rl(N),p=y;default:if(b<1){if(T==123)--b;else if(T==125&&b++==0&&jKe()==125)continue}switch(N+=nb(T),T*b){case 38:x=u>0?1:(N+="\f",-1);break;case 44:if(C>0)break;o[c++]=(Rl(N)-1)*x,x=1;break;case 64:Fh()===45&&(N+=J5(nl())),m=Fh(),u=d=Rl(S=N+=WKe(vw())),T++;break;case 45:y===45&&Rl(N)==2&&(b=0)}}return s}function uU(t,e,r,n,i,s,a,o,l,c,u,d){for(var m=i-1,p=i===0?s:[""],y=$Ke(p),b=0,v=0,x=0;b<n;++b)for(var C=0,T=ng(t,m+1,m=FKe(v=a[b])),S=t;C<y;++C)(S=Pce(v>0?p[C]+" "+T:k7(T,/&\f/g,p[C])))&&(l[x++]=S);return fR(t,e,r,i===0?Oce:o,l,c,u,d)}function ZKe(t,e,r,n){return fR(t,e,r,Nce,nb(zKe()),ng(t,2,-2),0,n)}function hU(t,e,r,n,i){return fR(t,e,r,Mce,ng(t,0,n),ng(t,n+1,-1),n,i)}function E7(t,e){for(var r="",n=0;n<t.length;n++)r+=e(t[n],n,t,e)||"";return r}function XKe(t,e,r,n){switch(t.type){case BKe:if(t.children.length)break;case OKe:case MKe:case Mce:return t.return=t.return||t.value;case Nce:return"";case PKe:return t.return=t.value+"{"+E7(t.children,n)+"}";case Oce:if(!Rl(t.value=t.props.join(",")))return""}return Rl(r=E7(t.children,n))?t.return=t.value+"{"+r+"}":""}var KKe=ooe(Object.keys,Object),QKe=Object.prototype,JKe=QKe.hasOwnProperty;function eQe(t){if(!dS(t))return KKe(t);var e=[];for(var r in Object(t))JKe.call(t,r)&&r!="constructor"&&e.push(r);return e}var A7=xp(fc,"DataView"),D7=xp(fc,"Promise"),L7=xp(fc,"Set"),I7=xp(fc,"WeakMap"),dU="[object Map]",tQe="[object Object]",fU="[object Promise]",pU="[object Set]",mU="[object WeakMap]",gU="[object DataView]",rQe=vp(A7),nQe=vp(Xb),iQe=vp(D7),sQe=vp(L7),aQe=vp(I7),lf=Rg;(A7&&lf(new A7(new ArrayBuffer(1)))!=gU||Xb&&lf(new Xb)!=dU||D7&&lf(D7.resolve())!=fU||L7&&lf(new L7)!=pU||I7&&lf(new I7)!=mU)&&(lf=function(t){var e=Rg(t),r=e==tQe?t.constructor:void 0,n=r?vp(r):"";if(n)switch(n){case rQe:return gU;case nQe:return dU;case iQe:return fU;case sQe:return pU;case aQe:return mU}return e});var oQe="[object Map]",lQe="[object Set]",cQe=Object.prototype,uQe=cQe.hasOwnProperty;function yU(t){if(t==null)return!0;if(fS(t)&&(sT(t)||typeof t=="string"||typeof t.splice=="function"||U9(t)||q9(t)||iT(t)))return!t.length;var e=lf(t);if(e==oQe||e==lQe)return!t.size;if(dS(t))return!eQe(t).length;for(var r in t)if(uQe.call(t,r))return!1;return!0}var Fce="c4",hQe=P(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),dQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./c4Diagram-AHTNJAMY-w9XEk7x6.js");return{diagram:e}},__vite__mapDeps([210,211]));return{id:Fce,diagram:t}},"loader"),fQe={id:Fce,detector:hQe,loader:dQe},pQe=fQe,$ce="flowchart",mQe=P((t,e)=>{var r,n;return((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="elk"?!1:/^\s*graph/.test(t)},"detector"),gQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./flowDiagram-DWJPFMVM-C1S-4_Cg.js");return{diagram:e}},__vite__mapDeps([212,213,211,214,215,216]));return{id:$ce,diagram:t}},"loader"),yQe={id:$ce,detector:mQe,loader:gQe},bQe=yQe,zce="flowchart-v2",vQe=P((t,e)=>{var r,n,i;return((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(t))},"detector"),xQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./flowDiagram-DWJPFMVM-C1S-4_Cg.js");return{diagram:e}},__vite__mapDeps([212,213,211,214,215,216]));return{id:zce,diagram:t}},"loader"),_Qe={id:zce,detector:vQe,loader:xQe},wQe=_Qe,jce="er",CQe=P(t=>/^\s*erDiagram/.test(t),"detector"),TQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./erDiagram-SMLLAGMA-BDSJWZqk.js");return{diagram:e}},__vite__mapDeps([217,214,215,216]));return{id:jce,diagram:t}},"loader"),kQe={id:jce,detector:CQe,loader:TQe},SQe=kQe,Hce="gitGraph",EQe=P(t=>/^\s*gitGraph/.test(t),"detector"),AQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./gitGraphDiagram-UUTBAWPF-Cmvjysk0.js");return{diagram:e}},__vite__mapDeps([218,219,220,221,206,204]));return{id:Hce,diagram:t}},"loader"),DQe={id:Hce,detector:EQe,loader:AQe},LQe=DQe,Vce="gantt",IQe=P(t=>/^\s*gantt/.test(t),"detector"),RQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./ganttDiagram-T4ZO3ILL-B98BD5z3.js");return{diagram:e}},__vite__mapDeps([222,223,224,225]));return{id:Vce,diagram:t}},"loader"),NQe={id:Vce,detector:IQe,loader:RQe},OQe=NQe,Uce="info",MQe=P(t=>/^\s*info/.test(t),"detector"),PQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./infoDiagram-42DDH7IO-vJM5h_tq.js");return{diagram:e}},__vite__mapDeps([226,221,206,204]));return{id:Uce,diagram:t}},"loader"),BQe={id:Uce,detector:MQe,loader:PQe},qce="pie",FQe=P(t=>/^\s*pie/.test(t),"detector"),$Qe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./pieDiagram-DEJITSTG-DsKSgqOW.js");return{diagram:e}},__vite__mapDeps([227,219,221,206,204,228,229,224]));return{id:qce,diagram:t}},"loader"),zQe={id:qce,detector:FQe,loader:$Qe},Gce="quadrantChart",jQe=P(t=>/^\s*quadrantChart/.test(t),"detector"),HQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./quadrantDiagram-34T5L4WZ-CdbiE7rD.js");return{diagram:e}},__vite__mapDeps([230,223,224,225]));return{id:Gce,diagram:t}},"loader"),VQe={id:Gce,detector:jQe,loader:HQe},UQe=VQe,Wce="xychart",qQe=P(t=>/^\s*xychart(-beta)?/.test(t),"detector"),GQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./xychartDiagram-5P7HB3ND-DF0ubL81.js");return{diagram:e}},__vite__mapDeps([231,224,229,223,225]));return{id:Wce,diagram:t}},"loader"),WQe={id:Wce,detector:qQe,loader:GQe},YQe=WQe,Yce="requirement",ZQe=P(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),XQe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./requirementDiagram-MS252O5E-XxABUJ_X.js");return{diagram:e}},__vite__mapDeps([232,214,215]));return{id:Yce,diagram:t}},"loader"),KQe={id:Yce,detector:ZQe,loader:XQe},QQe=KQe,Zce="sequence",JQe=P(t=>/^\s*sequenceDiagram/.test(t),"detector"),eJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./sequenceDiagram-FGHM5R23-BG0WuOq2.js");return{diagram:e}},__vite__mapDeps([233,211,220]));return{id:Zce,diagram:t}},"loader"),tJe={id:Zce,detector:JQe,loader:eJe},rJe=tJe,Xce="class",nJe=P((t,e)=>{var r;return((r=e==null?void 0:e.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t)},"detector"),iJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./classDiagram-6PBFFD2Q-Dp5BfGWv.js");return{diagram:e}},__vite__mapDeps([234,235,213,211,214,215]));return{id:Xce,diagram:t}},"loader"),sJe={id:Xce,detector:nJe,loader:iJe},aJe=sJe,Kce="classDiagram",oJe=P((t,e)=>{var r;return/^\s*classDiagram/.test(t)&&((r=e==null?void 0:e.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t)},"detector"),lJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./classDiagram-v2-HSJHXN6E-Dp5BfGWv.js");return{diagram:e}},__vite__mapDeps([236,235,213,211,214,215]));return{id:Kce,diagram:t}},"loader"),cJe={id:Kce,detector:oJe,loader:lJe},uJe=cJe,Qce="state",hJe=P((t,e)=>{var r;return((r=e==null?void 0:e.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t)},"detector"),dJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./stateDiagram-FHFEXIEX-DmZh8osG.js");return{diagram:e}},__vite__mapDeps([237,238,214,215,203,204,205,206]));return{id:Qce,diagram:t}},"loader"),fJe={id:Qce,detector:hJe,loader:dJe},pJe=fJe,Jce="stateDiagram",mJe=P((t,e)=>{var r;return!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&((r=e==null?void 0:e.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),gJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./stateDiagram-v2-QKLJ7IA2-C4VIL9Mn.js");return{diagram:e}},__vite__mapDeps([239,238,214,215]));return{id:Jce,diagram:t}},"loader"),yJe={id:Jce,detector:mJe,loader:gJe},bJe=yJe,eue="journey",vJe=P(t=>/^\s*journey/.test(t),"detector"),xJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./journeyDiagram-VCZTEJTY-C4Ro62cH.js");return{diagram:e}},__vite__mapDeps([240,213,211,228]));return{id:eue,diagram:t}},"loader"),_Je={id:eue,detector:vJe,loader:xJe},wJe=_Je,CJe=P((t,e,r)=>{Ue.debug(`rendering svg for syntax error
|
|
1160
|
+
`);const n=GUe(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Sie(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),tue={draw:CJe},TJe=tue,kJe={db:{},renderer:tue,parser:{parse:P(()=>{},"parse")}},SJe=kJe,rue="flowchart-elk",EJe=P((t,e={})=>{var r;return/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(e.layout="elk",!0):!1},"detector"),AJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./flowDiagram-DWJPFMVM-C1S-4_Cg.js");return{diagram:e}},__vite__mapDeps([212,213,211,214,215,216]));return{id:rue,diagram:t}},"loader"),DJe={id:rue,detector:EJe,loader:AJe},LJe=DJe,nue="timeline",IJe=P(t=>/^\s*timeline/.test(t),"detector"),RJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./timeline-definition-GMOUNBTQ-DHS6HebU.js");return{diagram:e}},__vite__mapDeps([241,228]));return{id:nue,diagram:t}},"loader"),NJe={id:nue,detector:IJe,loader:RJe},OJe=NJe,iue="mindmap",MJe=P(t=>/^\s*mindmap/.test(t),"detector"),PJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./mindmap-definition-QFDTVHPH-DtXsaCz-.js");return{diagram:e}},__vite__mapDeps([242,214,215]));return{id:iue,diagram:t}},"loader"),BJe={id:iue,detector:MJe,loader:PJe},FJe=BJe,sue="kanban",$Je=P(t=>/^\s*kanban/.test(t),"detector"),zJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./kanban-definition-6JOO6SKY-CoVkUUW1.js");return{diagram:e}},__vite__mapDeps([243,213]));return{id:sue,diagram:t}},"loader"),jJe={id:sue,detector:$Je,loader:zJe},HJe=jJe,aue="sankey",VJe=P(t=>/^\s*sankey(-beta)?/.test(t),"detector"),UJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./sankeyDiagram-XADWPNL6-D7NR5Nhs.js");return{diagram:e}},__vite__mapDeps([244,229,224]));return{id:aue,diagram:t}},"loader"),qJe={id:aue,detector:VJe,loader:UJe},GJe=qJe,oue="packet",WJe=P(t=>/^\s*packet(-beta)?/.test(t),"detector"),YJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./diagram-TYMM5635-TzWfNsah.js");return{diagram:e}},__vite__mapDeps([245,219,221,206,204]));return{id:oue,diagram:t}},"loader"),ZJe={id:oue,detector:WJe,loader:YJe},lue="radar",XJe=P(t=>/^\s*radar-beta/.test(t),"detector"),KJe=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./diagram-MMDJMWI5-CPqMu_Sf.js");return{diagram:e}},__vite__mapDeps([246,219,221,206,204]));return{id:lue,diagram:t}},"loader"),QJe={id:lue,detector:XJe,loader:KJe},cue="block",JJe=P(t=>/^\s*block(-beta)?/.test(t),"detector"),eet=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./blockDiagram-DXYQGD6D-DsSrNrKb.js");return{diagram:e}},__vite__mapDeps([247,213,207,203,204,216]));return{id:cue,diagram:t}},"loader"),tet={id:cue,detector:JJe,loader:eet},ret=tet,uue="treeView",net=P(t=>/^\s*treeView-beta/.test(t),"detector"),iet=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./diagram-5BDNPKRD-vvFeo_Sf.js");return{diagram:e}},__vite__mapDeps([248,219,220,221,206,204]));return{id:uue,diagram:t}},"loader"),set={id:uue,detector:net,loader:iet},aet=set,hue="architecture",oet=P(t=>/^\s*architecture/.test(t),"detector"),cet=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./architectureDiagram-Q4EWVU46-BIZiY28F.js");return{diagram:e}},__vite__mapDeps([249,219,221,206,204,209]));return{id:hue,diagram:t}},"loader"),uet={id:hue,detector:oet,loader:cet},het=uet,due="ishikawa",det=P(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),fet=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./ishikawaDiagram-UXIWVN3A-D6WPjTgW.js");return{diagram:e}},[]);return{id:due,diagram:t}},"loader"),pet={id:due,detector:det,loader:fet},fue="venn",met=P(t=>/^\s*venn-beta/.test(t),"detector"),get=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./vennDiagram-DHZGUBPP-nuvPO_YM.js");return{diagram:e}},[]);return{id:fue,diagram:t}},"loader"),yet={id:fue,detector:met,loader:get},bet=yet,pue="treemap",vet=P(t=>/^\s*treemap/.test(t),"detector"),xet=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./diagram-G4DWMVQ6-WqsmRezl.js");return{diagram:e}},__vite__mapDeps([250,215,219,221,206,204,225,229,224]));return{id:pue,diagram:t}},"loader"),_et={id:pue,detector:vet,loader:xet},mue="wardley-beta",wet=P(t=>/^\s*wardley-beta/i.test(t),"detector"),Cet=P(async()=>{const{diagram:t}=await M(async()=>{const{diagram:e}=await import("./wardleyDiagram-NUSXRM2D-CDn9qPsu.js");return{diagram:e}},__vite__mapDeps([251,219,221,206,204]));return{id:mue,diagram:t}},"loader"),Tet={id:mue,detector:wet,loader:Cet},ket=Tet,bU=!1,CS=P(()=>{bU||(bU=!0,zC("error",SJe,t=>t.toLowerCase().trim()==="error"),zC("---",{db:{clear:P(()=>{},"clear")},styles:{},renderer:{draw:P(()=>{},"draw")},parser:{parse:P(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:P(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),O8(LJe,FJe,het),O8(pQe,HJe,uJe,aJe,SQe,OQe,BQe,zQe,QQe,rJe,wQe,bQe,OJe,LQe,bJe,pJe,wJe,UQe,GJe,ZJe,YQe,ret,aet,QJe,pet,_et,bet,ket))},"addDiagrams"),Eet=P(async()=>{Ue.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Qf).map(async([r,{detector:n,loader:i}])=>{if(i)try{F8(r)}catch{try{const{diagram:s,id:a}=await i();zC(a,s,n)}catch(s){throw Ue.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Qf[r],s}}}))).filter(r=>r.status==="rejected");if(e.length>0){Ue.error(`Failed to load ${e.length} external diagrams`);for(const r of e)Ue.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),Aet="graphics-document document";function gue(t,e){t.attr("role",Aet),e!==""&&t.attr("aria-roledescription",e)}P(gue,"setA11yDiagramInfo");function yue(t,e,r,n){if(t.insert!==void 0){if(r){const i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){const i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}P(yue,"addSVGa11yTitleDescription");var jf,R7=(jf=class{constructor(e,r,n,i,s){this.type=e,this.text=r,this.db=n,this.parser=i,this.renderer=s}static async fromText(e,r={}){var c,u;const n=Yn(),i=g9(e,n);e=ZYe(e)+`
|
|
1161
1161
|
`;try{F8(i)}catch{const d=hze(i);if(!d)throw new die(`Diagram ${i} not found.`);const{id:m,diagram:p}=await d();zC(m,p)}const{db:s,parser:a,renderer:o,init:l}=F8(i);return a.parser&&(a.parser.yy=s),(c=s.clear)==null||c.call(s),l==null||l(n),r.title&&((u=s.setDiagramTitle)==null||u.call(s,r.title)),await a.parse(e),new jf(i,e,s,a,o)}async render(e,r){await this.renderer.draw(this.text,e,r,this)}getParser(){return this.parser}getType(){return this.type}},P(jf,"Diagram"),jf),vU=[],Det=P(()=>{vU.forEach(t=>{t()}),vU=[]},"attachFunctions"),Let=P(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function bue(t){const e=t.match(hie);if(!e)return{text:t,metadata:{}};let r=Jqe(e[1],{schema:Qqe})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}P(bue,"extractFrontMatter");var Iet=P(t=>t.replace(/\r\n?/g,`
|
|
1162
1162
|
`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),Ret=P(t=>{const{text:e,metadata:r}=bue(t),{displayMode:n,title:i,config:s={}}=r;return n&&(s.gantt||(s.gantt={}),s.gantt.displayMode=n),{title:i,config:s,text:e}},"processFrontmatter"),Net=P(t=>{const e=Qo.detectInit(t)??{},r=Qo.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):(r==null?void 0:r.type)==="wrap"&&(e.wrap=!0),{text:PYe(t),directive:e}},"processDirectives");function pR(t){const e=Iet(t),r=Ret(e),n=Net(r.text),i=K9(r.config,n.directive);return t=Let(n.text),{code:t,title:r.title,config:i}}P(pR,"preprocessDiagram");function vue(t){const e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}P(vue,"toBase64");var Oet=5e4,Met="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",Pet="sandbox",Bet="loose",Fet="http://www.w3.org/2000/svg",$et="http://www.w3.org/1999/xlink",zet="http://www.w3.org/1999/xhtml",jet="100%",Het="100%",Vet="border:0;margin:0;",Uet="margin:0",qet="allow-top-navigation-by-user-activation allow-popups",Get='The "iframe" tag is not supported by your browser.',Wet=["foreignobject"],Yet=["dominant-baseline"];function mR(t){const e=pR(t);return FC(),$ze(e.config??{}),e}P(mR,"processAndSetConfigs");async function xue(t,e){CS();try{const{code:r,config:n}=mR(t);return{diagramType:(await wue(r)).type,config:n}}catch(r){if(e!=null&&e.suppressErrors)return!1;throw r}}P(xue,"parse");var xU=P((t,e,r=[])=>`
|
|
1163
1163
|
.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),Zet=P((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=`
|
|
@@ -1277,7 +1277,7 @@ ${e}</tr>
|
|
|
1277
1277
|
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${El(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:r,tokens:n}){let i=this.parser.parseInline(n),s=Nq(e);if(s===null)return i;e=s;let a='<a href="'+e+'"';return r&&(a+=' title="'+El(r)+'"'),a+=">"+i+"</a>",a}image({href:e,title:r,text:n,tokens:i}){i&&(n=this.parser.parseInline(i,this.parser.textRenderer));let s=Nq(e);if(s===null)return El(n);e=s;let a=`<img src="${e}" alt="${El(n)}"`;return r&&(a+=` title="${El(r)}"`),a+=">",a}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:El(e.text)}},GR=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},Zo=class W7{constructor(e){_e(this,"options");_e(this,"renderer");_e(this,"textRenderer");this.options=e||Tp,this.options.renderer=this.options.renderer||new TT,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new GR}static parse(e,r){return new W7(r).parse(e)}static parseInline(e,r){return new W7(r).parseInline(e)}parse(e){var n,i;this.renderer.parser=this;let r="";for(let s=0;s<e.length;s++){let a=e[s];if((i=(n=this.options.extensions)==null?void 0:n.renderers)!=null&&i[a.type]){let l=a,c=this.options.extensions.renderers[l.type].call({parser:this},l);if(c!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(l.type)){r+=c||"";continue}}let o=a;switch(o.type){case"space":{r+=this.renderer.space(o);break}case"hr":{r+=this.renderer.hr(o);break}case"heading":{r+=this.renderer.heading(o);break}case"code":{r+=this.renderer.code(o);break}case"table":{r+=this.renderer.table(o);break}case"blockquote":{r+=this.renderer.blockquote(o);break}case"list":{r+=this.renderer.list(o);break}case"checkbox":{r+=this.renderer.checkbox(o);break}case"html":{r+=this.renderer.html(o);break}case"def":{r+=this.renderer.def(o);break}case"paragraph":{r+=this.renderer.paragraph(o);break}case"text":{r+=this.renderer.text(o);break}default:{let l='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return r}parseInline(e,r=this.renderer){var i,s;this.renderer.parser=this;let n="";for(let a=0;a<e.length;a++){let o=e[a];if((s=(i=this.options.extensions)==null?void 0:i.renderers)!=null&&s[o.type]){let c=this.options.extensions.renderers[o.type].call({parser:this},o);if(c!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(o.type)){n+=c||"";continue}}let l=o;switch(l.type){case"escape":{n+=r.text(l);break}case"html":{n+=r.html(l);break}case"link":{n+=r.link(l);break}case"image":{n+=r.image(l);break}case"checkbox":{n+=r.checkbox(l);break}case"strong":{n+=r.strong(l);break}case"em":{n+=r.em(l);break}case"codespan":{n+=r.codespan(l);break}case"br":{n+=r.br(l);break}case"del":{n+=r.del(l);break}case"text":{n+=r.text(l);break}default:{let c='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return n}},U_,$y=(U_=class{constructor(t){_e(this,"options");_e(this,"block");this.options=t||Tp}preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}emStrongMask(t){return t}provideLexer(t=this.block){return t?xo.lex:xo.lexInline}provideParser(t=this.block){return t?Zo.parse:Zo.parseInline}},_e(U_,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),_e(U_,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),U_),pdt=class{constructor(...e){_e(this,"defaults",FR());_e(this,"options",this.setOptions);_e(this,"parse",this.parseMarkdown(!0));_e(this,"parseInline",this.parseMarkdown(!1));_e(this,"Parser",Zo);_e(this,"Renderer",TT);_e(this,"TextRenderer",GR);_e(this,"Lexer",xo);_e(this,"Tokenizer",CT);_e(this,"Hooks",$y);this.use(...e)}walkTokens(e,r){var i,s;let n=[];for(let a of e)switch(n=n.concat(r.call(this,a)),a.type){case"table":{let o=a;for(let l of o.header)n=n.concat(this.walkTokens(l.tokens,r));for(let l of o.rows)for(let c of l)n=n.concat(this.walkTokens(c.tokens,r));break}case"list":{let o=a;n=n.concat(this.walkTokens(o.items,r));break}default:{let o=a;(s=(i=this.defaults.extensions)==null?void 0:i.childTokens)!=null&&s[o.type]?this.defaults.extensions.childTokens[o.type].forEach(l=>{let c=o[l].flat(1/0);n=n.concat(this.walkTokens(c,r))}):o.tokens&&(n=n.concat(this.walkTokens(o.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){let a=r.renderers[s.name];a?r.renderers[s.name]=function(...o){let l=s.renderer.apply(this,o);return l===!1&&(l=a.apply(this,o)),l}:r.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let a=r[s.level];a?a.unshift(s.tokenizer):r[s.level]=[s.tokenizer],s.start&&(s.level==="block"?r.startBlock?r.startBlock.push(s.start):r.startBlock=[s.start]:s.level==="inline"&&(r.startInline?r.startInline.push(s.start):r.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(r.childTokens[s.name]=s.childTokens)}),i.extensions=r),n.renderer){let s=this.defaults.renderer||new TT(this.defaults);for(let a in n.renderer){if(!(a in s))throw new Error(`renderer '${a}' does not exist`);if(["options","parser"].includes(a))continue;let o=a,l=n.renderer[o],c=s[o];s[o]=(...u)=>{let d=l.apply(s,u);return d===!1&&(d=c.apply(s,u)),d||""}}i.renderer=s}if(n.tokenizer){let s=this.defaults.tokenizer||new CT(this.defaults);for(let a in n.tokenizer){if(!(a in s))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let o=a,l=n.tokenizer[o],c=s[o];s[o]=(...u)=>{let d=l.apply(s,u);return d===!1&&(d=c.apply(s,u)),d}}i.tokenizer=s}if(n.hooks){let s=this.defaults.hooks||new $y;for(let a in n.hooks){if(!(a in s))throw new Error(`hook '${a}' does not exist`);if(["options","block"].includes(a))continue;let o=a,l=n.hooks[o],c=s[o];$y.passThroughHooks.has(a)?s[o]=u=>{if(this.defaults.async&&$y.passThroughHooksRespectAsync.has(a))return(async()=>{let m=await l.call(s,u);return c.call(s,m)})();let d=l.call(s,u);return c.call(s,d)}:s[o]=(...u)=>{if(this.defaults.async)return(async()=>{let m=await l.apply(s,u);return m===!1&&(m=await c.apply(s,u)),m})();let d=l.apply(s,u);return d===!1&&(d=c.apply(s,u)),d}}i.hooks=s}if(n.walkTokens){let s=this.defaults.walkTokens,a=n.walkTokens;i.walkTokens=function(o){let l=[];return l.push(a.call(this,o)),s&&(l=l.concat(s.call(this,o))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return xo.lex(e,r??this.defaults)}parser(e,r){return Zo.parse(e,r??this.defaults)}parseMarkdown(e){return(r,n)=>{let i={...n},s={...this.defaults,...i},a=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&i.async===!1)return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof r>"u"||r===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=e),s.async)return(async()=>{let o=s.hooks?await s.hooks.preprocess(r):r,l=await(s.hooks?await s.hooks.provideLexer(e):e?xo.lex:xo.lexInline)(o,s),c=s.hooks?await s.hooks.processAllTokens(l):l;s.walkTokens&&await Promise.all(this.walkTokens(c,s.walkTokens));let u=await(s.hooks?await s.hooks.provideParser(e):e?Zo.parse:Zo.parseInline)(c,s);return s.hooks?await s.hooks.postprocess(u):u})().catch(a);try{s.hooks&&(r=s.hooks.preprocess(r));let o=(s.hooks?s.hooks.provideLexer(e):e?xo.lex:xo.lexInline)(r,s);s.hooks&&(o=s.hooks.processAllTokens(o)),s.walkTokens&&this.walkTokens(o,s.walkTokens);let l=(s.hooks?s.hooks.provideParser(e):e?Zo.parse:Zo.parseInline)(o,s);return s.hooks&&(l=s.hooks.postprocess(l)),l}catch(o){return a(o)}}}onError(e,r){return n=>{if(n.message+=`
|
|
1278
1278
|
Please report this to https://github.com/markedjs/marked.`,e){let i="<p>An error occurred:</p><pre>"+El(n.message+"",!0)+"</pre>";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},op=new pdt;function mn(t,e){return op.parse(t,e)}mn.options=mn.setOptions=function(t){return op.setOptions(t),mn.defaults=op.defaults,bde(mn.defaults),mn};mn.getDefaults=FR;mn.defaults=Tp;mn.use=function(...t){return op.use(...t),mn.defaults=op.defaults,bde(mn.defaults),mn};mn.walkTokens=function(t,e){return op.walkTokens(t,e)};mn.parseInline=op.parseInline;mn.Parser=Zo;mn.parser=Zo.parse;mn.Renderer=TT;mn.TextRenderer=GR;mn.Lexer=xo;mn.lexer=xo.lex;mn.Tokenizer=CT;mn.Hooks=$y;mn.parse=mn;mn.options;mn.setOptions;mn.use;mn.walkTokens;mn.parseInline;Zo.parse;xo.lex;var mdt=300,gdt="300px",ydt=500;function bdt(t={}){let{immediate:e=!1,debounceDelay:r=mdt,rootMargin:n=gdt,idleTimeout:i=ydt}=t,[s,a]=k.useState(!1),o=k.useRef(null),l=k.useRef(null),c=k.useRef(null),u=k.useMemo(()=>p=>{let y=Date.now();return window.setTimeout(()=>{p({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-y))})},1)},[]),d=k.useMemo(()=>typeof window<"u"&&window.requestIdleCallback?(p,y)=>window.requestIdleCallback(p,y):u,[u]),m=k.useMemo(()=>typeof window<"u"&&window.cancelIdleCallback?p=>window.cancelIdleCallback(p):p=>{clearTimeout(p)},[]);return k.useEffect(()=>{if(e){a(!0);return}let p=o.current;if(!p)return;l.current&&(clearTimeout(l.current),l.current=null),c.current&&(m(c.current),c.current=null);let y=()=>{l.current&&(clearTimeout(l.current),l.current=null),c.current&&(m(c.current),c.current=null)},b=T=>{c.current=d(S=>{S.timeRemaining()>0||S.didTimeout?(a(!0),T.disconnect()):c.current=d(()=>{a(!0),T.disconnect()},{timeout:i/2})},{timeout:i})},v=T=>{y(),l.current=window.setTimeout(()=>{var S,L;let D=T.takeRecords();(D.length===0||(L=(S=D.at(-1))==null?void 0:S.isIntersecting)!=null&&L)&&b(T)},r)},x=(T,S)=>{T.isIntersecting?v(S):y()},C=new IntersectionObserver(T=>{for(let S of T)x(S,C)},{rootMargin:n,threshold:0});return C.observe(p),()=>{l.current&&clearTimeout(l.current),c.current&&m(c.current),C.disconnect()}},[e,r,n,i,m,d]),{shouldRender:s,containerRef:o}}var Ade=/\s/,vdt=/^\s+$/,xdt=new Set(["code","pre","svg","math","annotation"]),_dt=t=>typeof t=="object"&&t!==null&&"type"in t&&t.type==="element",wdt=t=>t.some(e=>_dt(e)&&xdt.has(e.tagName)),Cdt=t=>{let e=[],r="",n=!1;for(let i of t){let s=Ade.test(i);s!==n&&r&&(e.push(r),r=""),r+=i,n=s}return r&&e.push(r),e},Tdt=t=>{let e=[],r="";for(let n of t)Ade.test(n)?r+=n:(r&&(e.push(r),r=""),e.push(n));return r&&e.push(r),e},kdt=(t,e,r,n,i,s)=>{let a=`--sd-animation:sd-${e};--sd-duration:${i?0:r}ms;--sd-easing:${n}`;return s&&(a+=`;--sd-delay:${s}ms`),{type:"element",tagName:"span",properties:{"data-sd-animate":!0,style:a},children:[{type:"text",value:t}]}},Sdt=(t,e,r,n,i)=>{let s=e.at(-1);if(!(s&&"children"in s))return;if(wdt(e))return yf;let a=s,o=a.children.indexOf(t);if(o===-1)return;let l=t.value;if(!l.trim()){i.count+=l.length;return}let c=r.sep==="char"?Tdt(l):Cdt(l),u=n.prevContentLength,d=c.map(m=>{let p=i.count;if(i.count+=m.length,vdt.test(m))return{type:"text",value:m};let y=u>0&&p<u,b=y?0:i.newIndex++*r.stagger;return kdt(m,r.animation,r.duration,r.easing,y,b)});return a.children.splice(o,1,...d),o+d.length},Edt=0;function Y7(t){var e,r,n,i,s;let a={animation:(e=t==null?void 0:t.animation)!=null?e:"fadeIn",duration:(r=t==null?void 0:t.duration)!=null?r:150,easing:(n=t==null?void 0:t.easing)!=null?n:"ease",sep:(i=t==null?void 0:t.sep)!=null?i:"word",stagger:(s=t==null?void 0:t.stagger)!=null?s:40},o={prevContentLength:0,lastRenderCharCount:0},l=Edt++,c=()=>u=>{let d={count:0,newIndex:0};Pk(u,"text",(m,p)=>Sdt(m,p,a,o,d)),o.lastRenderCharCount=d.count,o.prevContentLength=0};return Object.defineProperty(c,"name",{value:`rehypeAnimate$${l}`}),{name:"animate",type:"animate",rehypePlugin:c,setPrevContentLength(u){o.prevContentLength=u},getLastRenderCharCount(){let u=o.lastRenderCharCount;return o.lastRenderCharCount=0,u}}}Y7();var Dde=k.createContext(!1),Adt=()=>k.useContext(Dde),WR=(...t)=>PT(cg(t)),Ddt=(t,e)=>{if(!t||!e)return e;let r=`${t}:`;return e.split(/\s+/).filter(Boolean).map(n=>n.startsWith(r)?n:`${t}:${n}`).join(" ")},Ldt=t=>t?(...e)=>Ddt(t,PT(cg(e))):WR,am=(t,e,r)=>{let n=typeof e=="string"&&r.startsWith("text/csv")?"\uFEFF":"",i=typeof e=="string"?new Blob([n+e],{type:r}):e,s=URL.createObjectURL(i),a=document.createElement("a");a.href=s,a.download=t,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(s)},Z7=k.createContext(WR),kr=()=>k.useContext(Z7),Idt=WR("block","before:content-[counter(line)]","before:inline-block","before:[counter-increment:line]","before:w-6","before:mr-4","before:text-[13px]","before:text-right","before:text-muted-foreground/50","before:font-mono","before:select-none"),Rdt=t=>{let e={};for(let r of t.split(";")){let n=r.indexOf(":");if(n>0){let i=r.slice(0,n).trim(),s=r.slice(n+1).trim();i&&s&&(e[i]=s)}}return e},Ndt=k.memo(({children:t,result:e,language:r,className:n,startLine:i,lineNumbers:s=!0,...a})=>{let o=kr(),l=k.useMemo(()=>o(Idt),[o]),c=k.useMemo(()=>{let u={};return e.bg&&(u["--sdm-bg"]=e.bg),e.fg&&(u["--sdm-fg"]=e.fg),e.rootStyle&&Object.assign(u,Rdt(e.rootStyle)),u},[e.bg,e.fg,e.rootStyle]);return w.jsx("div",{className:o(n,"overflow-x-auto rounded-md border border-border bg-background p-4 text-sm"),"data-language":r,"data-streamdown":"code-block-body",...a,children:w.jsx("pre",{className:o(n,"bg-[var(--sdm-bg,inherit]","dark:bg-[var(--shiki-dark-bg,var(--sdm-bg,inherit)]"),style:c,children:w.jsx("code",{className:s?o("[counter-increment:line_0] [counter-reset:line]"):void 0,style:s&&i&&i>1?{counterReset:`line ${i-1}`}:void 0,children:e.tokens.map((u,d)=>w.jsx("span",{className:s?l:void 0,children:u.length===0||u.length===1&&u[0].content===""?`
|
|
1279
1279
|
`:u.map((m,p)=>{let y={},b=!!m.bgColor;if(m.color&&(y["--sdm-c"]=m.color),m.bgColor&&(y["--sdm-tbg"]=m.bgColor),m.htmlStyle)for(let[v,x]of Object.entries(m.htmlStyle))v==="color"?y["--sdm-c"]=x:v==="background-color"?(y["--sdm-tbg"]=x,b=!0):y[v]=x;return w.jsx("span",{className:o("text-[var(--sdm-c,inherit)]","dark:text-[var(--shiki-dark,var(--sdm-c,inherit))]",b&&"bg-[var(--sdm-tbg)]",b&&"dark:bg-[var(--shiki-dark-bg,var(--sdm-tbg))]"),style:y,...m.htmlAttrs,children:m.content},p)})},d))})})})},(t,e)=>t.result===e.result&&t.language===e.language&&t.className===e.className&&t.startLine===e.startLine&&t.lineNumbers===e.lineNumbers),Odt=({className:t,language:e,style:r,isIncomplete:n,...i})=>{let s=kr();return w.jsx("div",{className:s("my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2",t),"data-incomplete":n||void 0,"data-language":e,"data-streamdown":"code-block",style:{contentVisibility:"auto",containIntrinsicSize:"auto 200px",...r},...i})},Lde=k.createContext({code:""}),Ide=()=>k.useContext(Lde),Mdt=({language:t})=>{let e=kr();return w.jsx("div",{className:e("flex h-8 items-center text-muted-foreground text-xs"),"data-language":t,"data-streamdown":"code-block-header",children:w.jsx("span",{className:e("ml-1 font-mono lowercase"),children:t})})},Pdt=t=>{let e=t.length;for(;e>0&&t[e-1]===`
|
|
1280
|
-
`;)e--;return t.slice(0,e)},Bdt=k.lazy(()=>M(()=>import("./highlighted-body-OFNGDK62-
|
|
1280
|
+
`;)e--;return t.slice(0,e)},Bdt=k.lazy(()=>M(()=>import("./highlighted-body-OFNGDK62-CXdxKP3Q.js"),[]).then(t=>({default:t.HighlightedCodeBlockBody}))),Fdt=({code:t,language:e,className:r,children:n,isIncomplete:i=!1,startLine:s,lineNumbers:a,...o})=>{let l=kr(),c=k.useMemo(()=>Pdt(t),[t]),u=k.useMemo(()=>({bg:"transparent",fg:"inherit",tokens:c.split(`
|
|
1281
1281
|
`).map(d=>[{content:d,color:"inherit",bgColor:"transparent",htmlStyle:{},offset:0}])}),[c]);return w.jsx(Lde.Provider,{value:{code:t},children:w.jsxs(Odt,{isIncomplete:i,language:e,children:[w.jsx(Mdt,{language:e}),n?w.jsx("div",{className:l("pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end"),children:w.jsx("div",{className:l("pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur"),"data-streamdown":"code-block-actions",children:n})}):null,w.jsx(k.Suspense,{fallback:w.jsx(Ndt,{className:r,language:e,lineNumbers:a,result:u,startLine:s,...o}),children:w.jsx(Bdt,{className:r,code:c,language:e,lineNumbers:a,raw:u,startLine:s,...o})})]})})},$dt=t=>w.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...t,children:w.jsx("path",{clipRule:"evenodd",d:"M15.5607 3.99999L15.0303 4.53032L6.23744 13.3232C5.55403 14.0066 4.44599 14.0066 3.76257 13.3232L4.2929 12.7929L3.76257 13.3232L0.969676 10.5303L0.439346 9.99999L1.50001 8.93933L2.03034 9.46966L4.82323 12.2626C4.92086 12.3602 5.07915 12.3602 5.17678 12.2626L13.9697 3.46966L14.5 2.93933L15.5607 3.99999Z",fill:"currentColor",fillRule:"evenodd"})}),zdt=t=>w.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...t,children:w.jsx("path",{clipRule:"evenodd",d:"M2.75 0.5C1.7835 0.5 1 1.2835 1 2.25V9.75C1 10.7165 1.7835 11.5 2.75 11.5H3.75H4.5V10H3.75H2.75C2.61193 10 2.5 9.88807 2.5 9.75V2.25C2.5 2.11193 2.61193 2 2.75 2H8.25C8.38807 2 8.5 2.11193 8.5 2.25V3H10V2.25C10 1.2835 9.2165 0.5 8.25 0.5H2.75ZM7.75 4.5C6.7835 4.5 6 5.2835 6 6.25V13.75C6 14.7165 6.7835 15.5 7.75 15.5H13.25C14.2165 15.5 15 14.7165 15 13.75V6.25C15 5.2835 14.2165 4.5 13.25 4.5H7.75ZM7.5 6.25C7.5 6.11193 7.61193 6 7.75 6H13.25C13.3881 6 13.5 6.11193 13.5 6.25V13.75C13.5 13.8881 13.3881 14 13.25 14H7.75C7.61193 14 7.5 13.8881 7.5 13.75V6.25Z",fill:"currentColor",fillRule:"evenodd"})}),jdt=t=>w.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...t,children:w.jsx("path",{clipRule:"evenodd",d:"M8.75 1V1.75V8.68934L10.7197 6.71967L11.25 6.18934L12.3107 7.25L11.7803 7.78033L8.70711 10.8536C8.31658 11.2441 7.68342 11.2441 7.29289 10.8536L4.21967 7.78033L3.68934 7.25L4.75 6.18934L5.28033 6.71967L7.25 8.68934V1.75V1H8.75ZM13.5 9.25V13.5H2.5V9.25V8.5H1V9.25V14C1 14.5523 1.44771 15 2 15H14C14.5523 15 15 14.5523 15 14V9.25V8.5H13.5V9.25Z",fill:"currentColor",fillRule:"evenodd"})}),Hdt=t=>w.jsxs("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...t,children:[w.jsx("path",{d:"M8 0V4",stroke:"currentColor",strokeWidth:"1.5"}),w.jsx("path",{d:"M8 16V12",opacity:"0.5",stroke:"currentColor",strokeWidth:"1.5"}),w.jsx("path",{d:"M3.29773 1.52783L5.64887 4.7639",opacity:"0.9",stroke:"currentColor",strokeWidth:"1.5"}),w.jsx("path",{d:"M12.7023 1.52783L10.3511 4.7639",opacity:"0.1",stroke:"currentColor",strokeWidth:"1.5"}),w.jsx("path",{d:"M12.7023 14.472L10.3511 11.236",opacity:"0.4",stroke:"currentColor",strokeWidth:"1.5"}),w.jsx("path",{d:"M3.29773 14.472L5.64887 11.236",opacity:"0.6",stroke:"currentColor",strokeWidth:"1.5"}),w.jsx("path",{d:"M15.6085 5.52783L11.8043 6.7639",opacity:"0.2",stroke:"currentColor",strokeWidth:"1.5"}),w.jsx("path",{d:"M0.391602 10.472L4.19583 9.23598",opacity:"0.7",stroke:"currentColor",strokeWidth:"1.5"}),w.jsx("path",{d:"M15.6085 10.4722L11.8043 9.2361",opacity:"0.3",stroke:"currentColor",strokeWidth:"1.5"}),w.jsx("path",{d:"M0.391602 5.52783L4.19583 6.7639",opacity:"0.8",stroke:"currentColor",strokeWidth:"1.5"})]}),Vdt=t=>w.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...t,children:w.jsx("path",{clipRule:"evenodd",d:"M1 5.25V6H2.5V5.25V2.5H5.25H6V1H5.25H2C1.44772 1 1 1.44772 1 2V5.25ZM5.25 14.9994H6V13.4994H5.25H2.5V10.7494V9.99939H1V10.7494V13.9994C1 14.5517 1.44772 14.9994 2 14.9994H5.25ZM15 10V10.75V14C15 14.5523 14.5523 15 14 15H10.75H10V13.5H10.75H13.5V10.75V10H15ZM10.75 1H10V2.5H10.75H13.5V5.25V6H15V5.25V2C15 1.44772 14.5523 1 14 1H10.75Z",fill:"currentColor",fillRule:"evenodd"})}),Udt=t=>w.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...t,children:w.jsx("path",{clipRule:"evenodd",d:"M13.5 8C13.5 4.96643 11.0257 2.5 7.96452 2.5C5.42843 2.5 3.29365 4.19393 2.63724 6.5H5.25H6V8H5.25H0.75C0.335787 8 0 7.66421 0 7.25V2.75V2H1.5V2.75V5.23347C2.57851 2.74164 5.06835 1 7.96452 1C11.8461 1 15 4.13001 15 8C15 11.87 11.8461 15 7.96452 15C5.62368 15 3.54872 13.8617 2.27046 12.1122L1.828 11.5066L3.03915 10.6217L3.48161 11.2273C4.48831 12.6051 6.12055 13.5 7.96452 13.5C11.0257 13.5 13.5 11.0336 13.5 8Z",fill:"currentColor",fillRule:"evenodd"})}),qdt=t=>w.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...t,children:w.jsx("path",{clipRule:"evenodd",d:"M12.4697 13.5303L13 14.0607L14.0607 13L13.5303 12.4697L9.06065 7.99999L13.5303 3.53032L14.0607 2.99999L13 1.93933L12.4697 2.46966L7.99999 6.93933L3.53032 2.46966L2.99999 1.93933L1.93933 2.99999L2.46966 3.53032L6.93933 7.99999L2.46966 12.4697L1.93933 13L2.99999 14.0607L3.53032 13.5303L7.99999 9.06065L12.4697 13.5303Z",fill:"currentColor",fillRule:"evenodd"})}),Gdt=t=>w.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...t,children:w.jsx("path",{clipRule:"evenodd",d:"M13.5 10.25V13.25C13.5 13.3881 13.3881 13.5 13.25 13.5H2.75C2.61193 13.5 2.5 13.3881 2.5 13.25L2.5 2.75C2.5 2.61193 2.61193 2.5 2.75 2.5H5.75H6.5V1H5.75H2.75C1.7835 1 1 1.7835 1 2.75V13.25C1 14.2165 1.7835 15 2.75 15H13.25C14.2165 15 15 14.2165 15 13.25V10.25V9.5H13.5V10.25ZM9 1H9.75H14.2495C14.6637 1 14.9995 1.33579 14.9995 1.75V6.25V7H13.4995V6.25V3.56066L8.53033 8.52978L8 9.06011L6.93934 7.99945L7.46967 7.46912L12.4388 2.5H9.75H9V1Z",fill:"currentColor",fillRule:"evenodd"})}),Wdt=t=>w.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...t,children:w.jsx("path",{clipRule:"evenodd",d:"M1.5 6.5C1.5 3.73858 3.73858 1.5 6.5 1.5C9.26142 1.5 11.5 3.73858 11.5 6.5C11.5 9.26142 9.26142 11.5 6.5 11.5C3.73858 11.5 1.5 9.26142 1.5 6.5ZM6.5 0C2.91015 0 0 2.91015 0 6.5C0 10.0899 2.91015 13 6.5 13C8.02469 13 9.42677 12.475 10.5353 11.596L13.9697 15.0303L14.5 15.5607L15.5607 14.5L15.0303 13.9697L11.596 10.5353C12.475 9.42677 13 8.02469 13 6.5C13 2.91015 10.0899 0 6.5 0ZM4.125 5.875H4.75H5.875V4.75V4.125H7.125V4.75V5.875H8.25H8.875V7.125H8.25H7.125V8.25V8.875H5.875V8.25V7.125H4.75H4.125V5.875Z",fill:"currentColor",fillRule:"evenodd"})}),Ydt=t=>w.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...t,children:w.jsx("path",{clipRule:"evenodd",d:"M1.5 6.5C1.5 3.73858 3.73858 1.5 6.5 1.5C9.26142 1.5 11.5 3.73858 11.5 6.5C11.5 9.26142 9.26142 11.5 6.5 11.5C3.73858 11.5 1.5 9.26142 1.5 6.5ZM6.5 0C2.91015 0 0 2.91015 0 6.5C0 10.0899 2.91015 13 6.5 13C8.02469 13 9.42677 12.475 10.5353 11.596L13.9697 15.0303L14.5 15.5607L15.5607 14.5L15.0303 13.9697L11.596 10.5353C12.475 9.42677 13 8.02469 13 6.5C13 2.91015 10.0899 0 6.5 0ZM4.125 5.875H4.75H8.25H8.875V7.125H8.25H4.75H4.125V5.875Z",fill:"currentColor",fillRule:"evenodd"})}),zy={CheckIcon:$dt,CopyIcon:zdt,DownloadIcon:jdt,ExternalLinkIcon:Gdt,Loader2Icon:Hdt,Maximize2Icon:Vdt,RotateCcwIcon:Udt,XIcon:qdt,ZoomInIcon:Wdt,ZoomOutIcon:Ydt},Rde=k.createContext(zy),Zdt=(t,e)=>{if(t===e)return!0;if(!(t&&e))return t===e;let r=Object.keys(t),n=Object.keys(e);return r.length!==n.length?!1:r.every(i=>t[i]===e[i])},Pq=({icons:t,children:e})=>{let r=k.useRef(t),n=k.useRef(t?{...zy,...t}:zy);Zdt(r.current,t)||(r.current=t,n.current=t?{...zy,...t}:zy);let i=n.current;return w.jsx(Rde.Provider,{value:i,children:e})},pl=()=>k.useContext(Rde),Nde={copyCode:"Copy Code",downloadFile:"Download file",downloadDiagram:"Download diagram",downloadDiagramAsSvg:"Download diagram as SVG",downloadDiagramAsPng:"Download diagram as PNG",downloadDiagramAsMmd:"Download diagram as MMD",viewFullscreen:"View fullscreen",exitFullscreen:"Exit fullscreen",mermaidFormatSvg:"SVG",mermaidFormatPng:"PNG",mermaidFormatMmd:"MMD",copyTable:"Copy table",copyTableAsMarkdown:"Copy table as Markdown",copyTableAsCsv:"Copy table as CSV",copyTableAsTsv:"Copy table as TSV",downloadTable:"Download table",downloadTableAsCsv:"Download table as CSV",downloadTableAsMarkdown:"Download table as Markdown",tableFormatMarkdown:"Markdown",tableFormatCsv:"CSV",tableFormatTsv:"TSV",imageNotAvailable:"Image not available",downloadImage:"Download image",openExternalLink:"Open external link?",externalLinkWarning:"You're about to visit an external website.",close:"Close",copyLink:"Copy link",copied:"Copied",openLink:"Open link"},X7=k.createContext(Nde),Su=()=>k.useContext(X7),Bq=({onCopy:t,onError:e,timeout:r=2e3,children:n,className:i,code:s,...a})=>{let o=kr(),[l,c]=k.useState(!1),u=k.useRef(0),{code:d}=Ide(),{isAnimating:m}=k.useContext(Xa),p=Su(),y=s??d,b=async()=>{var C;if(typeof window>"u"||!((C=navigator==null?void 0:navigator.clipboard)!=null&&C.writeText)){e==null||e(new Error("Clipboard API not available"));return}try{l||(await navigator.clipboard.writeText(y),c(!0),t==null||t(),u.current=window.setTimeout(()=>c(!1),r))}catch(T){e==null||e(T)}};k.useEffect(()=>()=>{window.clearTimeout(u.current)},[]);let v=pl(),x=l?v.CheckIcon:v.CopyIcon;return w.jsx("button",{className:o("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",i),"data-streamdown":"code-block-copy-button",disabled:m,onClick:b,title:p.copyCode,type:"button",...a,children:n??w.jsx(x,{size:14})})},Fq={"1c":"1c","1c-query":"1cq",abap:"abap","actionscript-3":"as",ada:"ada",adoc:"adoc","angular-html":"html","angular-ts":"ts",apache:"conf",apex:"cls",apl:"apl",applescript:"applescript",ara:"ara",asciidoc:"adoc",asm:"asm",astro:"astro",awk:"awk",ballerina:"bal",bash:"sh",bat:"bat",batch:"bat",be:"be",beancount:"beancount",berry:"berry",bibtex:"bib",bicep:"bicep",blade:"blade.php",bsl:"bsl",c:"c","c#":"cs","c++":"cpp",cadence:"cdc",cairo:"cairo",cdc:"cdc",clarity:"clar",clj:"clj",clojure:"clj","closure-templates":"soy",cmake:"cmake",cmd:"cmd",cobol:"cob",codeowners:"CODEOWNERS",codeql:"ql",coffee:"coffee",coffeescript:"coffee","common-lisp":"lisp",console:"sh",coq:"v",cpp:"cpp",cql:"cql",crystal:"cr",cs:"cs",csharp:"cs",css:"css",csv:"csv",cue:"cue",cypher:"cql",d:"d",dart:"dart",dax:"dax",desktop:"desktop",diff:"diff",docker:"dockerfile",dockerfile:"dockerfile",dotenv:"env","dream-maker":"dm",edge:"edge",elisp:"el",elixir:"ex",elm:"elm","emacs-lisp":"el",erb:"erb",erl:"erl",erlang:"erl",f:"f","f#":"fs",f03:"f03",f08:"f08",f18:"f18",f77:"f77",f90:"f90",f95:"f95",fennel:"fnl",fish:"fish",fluent:"ftl",for:"for","fortran-fixed-form":"f","fortran-free-form":"f90",fs:"fs",fsharp:"fs",fsl:"fsl",ftl:"ftl",gdresource:"tres",gdscript:"gd",gdshader:"gdshader",genie:"gs",gherkin:"feature","git-commit":"gitcommit","git-rebase":"gitrebase",gjs:"js",gleam:"gleam","glimmer-js":"js","glimmer-ts":"ts",glsl:"glsl",gnuplot:"plt",go:"go",gql:"gql",graphql:"graphql",groovy:"groovy",gts:"gts",hack:"hack",haml:"haml",handlebars:"hbs",haskell:"hs",haxe:"hx",hbs:"hbs",hcl:"hcl",hjson:"hjson",hlsl:"hlsl",hs:"hs",html:"html","html-derivative":"html",http:"http",hxml:"hxml",hy:"hy",imba:"imba",ini:"ini",jade:"jade",java:"java",javascript:"js",jinja:"jinja",jison:"jison",jl:"jl",js:"js",json:"json",json5:"json5",jsonc:"jsonc",jsonl:"jsonl",jsonnet:"jsonnet",jssm:"jssm",jsx:"jsx",julia:"jl",kotlin:"kt",kql:"kql",kt:"kt",kts:"kts",kusto:"kql",latex:"tex",lean:"lean",lean4:"lean",less:"less",liquid:"liquid",lisp:"lisp",lit:"lit",llvm:"ll",log:"log",logo:"logo",lua:"lua",luau:"luau",make:"mak",makefile:"mak",markdown:"md",marko:"marko",matlab:"m",md:"md",mdc:"mdc",mdx:"mdx",mediawiki:"wiki",mermaid:"mmd",mips:"s",mipsasm:"s",mmd:"mmd",mojo:"mojo",move:"move",nar:"nar",narrat:"narrat",nextflow:"nf",nf:"nf",nginx:"conf",nim:"nim",nix:"nix",nu:"nu",nushell:"nu",objc:"m","objective-c":"m","objective-cpp":"mm",ocaml:"ml",pascal:"pas",perl:"pl",perl6:"p6",php:"php",plsql:"pls",po:"po",polar:"polar",postcss:"pcss",pot:"pot",potx:"potx",powerquery:"pq",powershell:"ps1",prisma:"prisma",prolog:"pl",properties:"properties",proto:"proto",protobuf:"proto",ps:"ps",ps1:"ps1",pug:"pug",puppet:"pp",purescript:"purs",py:"py",python:"py",ql:"ql",qml:"qml",qmldir:"qmldir",qss:"qss",r:"r",racket:"rkt",raku:"raku",razor:"cshtml",rb:"rb",reg:"reg",regex:"regex",regexp:"regexp",rel:"rel",riscv:"s",rs:"rs",rst:"rst",ruby:"rb",rust:"rs",sas:"sas",sass:"sass",scala:"scala",scheme:"scm",scss:"scss",sdbl:"sdbl",sh:"sh",shader:"shader",shaderlab:"shader",shell:"sh",shellscript:"sh",shellsession:"sh",smalltalk:"st",solidity:"sol",soy:"soy",sparql:"rq",spl:"spl",splunk:"spl",sql:"sql","ssh-config":"config",stata:"do",styl:"styl",stylus:"styl",svelte:"svelte",swift:"swift","system-verilog":"sv",systemd:"service",talon:"talon",talonscript:"talon",tasl:"tasl",tcl:"tcl",templ:"templ",terraform:"tf",tex:"tex",tf:"tf",tfvars:"tfvars",toml:"toml",ts:"ts","ts-tags":"ts",tsp:"tsp",tsv:"tsv",tsx:"tsx",turtle:"ttl",twig:"twig",typ:"typ",typescript:"ts",typespec:"tsp",typst:"typ",v:"v",vala:"vala",vb:"vb",verilog:"v",vhdl:"vhdl",vim:"vim",viml:"vim",vimscript:"vim",vue:"vue","vue-html":"html","vue-vine":"vine",vy:"vy",vyper:"vy",wasm:"wasm",wenyan:"wy",wgsl:"wgsl",wiki:"wiki",wikitext:"wiki",wit:"wit",wl:"wl",wolfram:"wl",xml:"xml",xsl:"xsl",yaml:"yaml",yml:"yml",zenscript:"zs",zig:"zig",zsh:"zsh",文言:"wy"},Xdt=({onDownload:t,onError:e,language:r,children:n,className:i,code:s,...a})=>{let o=kr(),{code:l}=Ide(),{isAnimating:c}=k.useContext(Xa),u=Su(),d=pl(),m=s??l,p=`file.${r&&r in Fq?Fq[r]:"txt"}`,y="text/plain",b=()=>{try{am(p,m,y),t==null||t()}catch(v){e==null||e(v)}};return w.jsx("button",{className:o("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",i),"data-streamdown":"code-block-download-button",disabled:c,onClick:b,title:u.downloadFile,type:"button",...a,children:n??w.jsx(d.DownloadIcon,{size:14})})},$q=()=>{let{Loader2Icon:t}=pl(),e=kr();return w.jsxs("div",{className:e("w-full divide-y divide-border overflow-hidden rounded-xl border border-border"),children:[w.jsx("div",{className:e("h-[46px] w-full bg-muted/80")}),w.jsx("div",{className:e("flex w-full items-center justify-center p-4"),children:w.jsx(t,{className:e("size-4 animate-spin")})})]})},Kdt=/\.[^/.]+$/,Qdt=({node:t,className:e,src:r,alt:n,onLoad:i,onError:s,...a})=>{let{DownloadIcon:o}=pl(),l=kr(),c=k.useRef(null),[u,d]=k.useState(!1),[m,p]=k.useState(!1),y=Su(),b=a.width!=null||a.height!=null,v=(u||b)&&!m,x=m&&!b;k.useEffect(()=>{let L=c.current;if(L!=null&&L.complete){let D=L.naturalWidth>0;d(D),p(!D)}},[]);let C=k.useCallback(L=>{d(!0),p(!1),i==null||i(L)},[i]),T=k.useCallback(L=>{d(!1),p(!0),s==null||s(L)},[s]),S=async()=>{if(r)try{let L=await(await fetch(r)).blob(),D=new URL(r,window.location.origin).pathname.split("/").pop()||"",I=D.split(".").pop(),N=D.includes(".")&&I!==void 0&&I.length<=4,H="";if(N)H=D;else{let B=L.type,j="png";B.includes("jpeg")||B.includes("jpg")?j="jpg":B.includes("png")?j="png":B.includes("svg")?j="svg":B.includes("gif")?j="gif":B.includes("webp")&&(j="webp"),H=`${(n||D||"image").replace(Kdt,"")}.${j}`}am(H,L,L.type)}catch{window.open(r,"_blank")}};return r?w.jsxs("div",{className:l("group relative my-4 inline-block"),"data-streamdown":"image-wrapper",children:[w.jsx("img",{alt:n,className:l("max-w-full rounded-lg",x&&"hidden",e),"data-streamdown":"image",onError:T,onLoad:C,ref:c,src:r,...a}),x&&w.jsx("span",{className:l("text-muted-foreground text-xs italic"),"data-streamdown":"image-fallback",children:y.imageNotAvailable}),w.jsx("div",{className:l("pointer-events-none absolute inset-0 hidden rounded-lg bg-black/10 group-hover:block")}),v&&w.jsx("button",{className:l("absolute right-2 bottom-2 flex h-8 w-8 cursor-pointer items-center justify-center rounded-md border border-border bg-background/90 shadow-sm backdrop-blur-sm transition-all duration-200 hover:bg-background","opacity-0 group-hover:opacity-100"),onClick:S,title:y.downloadImage,type:"button",children:w.jsx(o,{size:14})})]}):null},db=0,YR=()=>{db+=1,db===1&&(document.body.style.overflow="hidden")},ZR=()=>{db=Math.max(0,db-1),db===0&&(document.body.style.overflow="")},Jdt=({url:t,isOpen:e,onClose:r,onConfirm:n})=>{let{CheckIcon:i,CopyIcon:s,ExternalLinkIcon:a,XIcon:o}=pl(),l=kr(),[c,u]=k.useState(!1),d=Su(),m=k.useCallback(async()=>{try{await navigator.clipboard.writeText(t),u(!0),setTimeout(()=>u(!1),2e3)}catch{}},[t]),p=k.useCallback(()=>{n(),r()},[n,r]);return k.useEffect(()=>{if(e){YR();let y=b=>{b.key==="Escape"&&r()};return document.addEventListener("keydown",y),()=>{document.removeEventListener("keydown",y),ZR()}}},[e,r]),e?w.jsx("div",{className:l("fixed inset-0 z-50 flex items-center justify-center bg-background/50 backdrop-blur-sm"),"data-streamdown":"link-safety-modal",onClick:r,onKeyDown:y=>{y.key==="Escape"&&r()},role:"button",tabIndex:0,children:w.jsxs("div",{className:l("relative mx-4 flex w-full max-w-md flex-col gap-4 rounded-xl border bg-background p-6 shadow-lg"),onClick:y=>y.stopPropagation(),onKeyDown:y=>y.stopPropagation(),role:"presentation",children:[w.jsx("button",{className:l("absolute top-4 right-4 rounded-md p-1 text-muted-foreground transition-all hover:bg-muted hover:text-foreground"),onClick:r,title:d.close,type:"button",children:w.jsx(o,{size:16})}),w.jsxs("div",{className:l("flex flex-col gap-2"),children:[w.jsxs("div",{className:l("flex items-center gap-2 font-semibold text-lg"),children:[w.jsx(a,{size:20}),w.jsx("span",{children:d.openExternalLink})]}),w.jsx("p",{className:l("text-muted-foreground text-sm"),children:d.externalLinkWarning})]}),w.jsx("div",{className:l("break-all rounded-md bg-muted p-3 font-mono text-sm",t.length>100&&"max-h-32 overflow-y-auto"),children:t}),w.jsxs("div",{className:l("flex gap-2"),children:[w.jsx("button",{className:l("flex flex-1 items-center justify-center gap-2 rounded-md border bg-background px-4 py-2 font-medium text-sm transition-all hover:bg-muted"),onClick:m,type:"button",children:c?w.jsxs(w.Fragment,{children:[w.jsx(i,{size:14}),w.jsx("span",{children:d.copied})]}):w.jsxs(w.Fragment,{children:[w.jsx(s,{size:14}),w.jsx("span",{children:d.copyLink})]})}),w.jsxs("button",{className:l("flex flex-1 items-center justify-center gap-2 rounded-md bg-primary px-4 py-2 font-medium text-primary-foreground text-sm transition-all hover:bg-primary/90"),onClick:p,type:"button",children:[w.jsx(a,{size:14}),w.jsx("span",{children:d.openLink})]})]})]})}):null},K7=k.createContext(null),XR=()=>k.useContext(K7),Owt=()=>{var t;let e=XR();return(t=e==null?void 0:e.code)!=null?t:null},KR=()=>{var t;let e=XR();return(t=e==null?void 0:e.mermaid)!=null?t:null},eft=t=>{var e;let r=XR();return r!=null&&r.renderers&&t&&(e=r.renderers.find(n=>Array.isArray(n.language)?n.language.includes(t):n.language===t))!=null?e:null},tft=(t,e)=>{var r;let n=(r=void 0)!=null?r:5;return new Promise((i,s)=>{let a="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(t))),o=new Image;o.crossOrigin="anonymous",o.onload=()=>{let l=document.createElement("canvas"),c=o.width*n,u=o.height*n;l.width=c,l.height=u;let d=l.getContext("2d");if(!d){s(new Error("Failed to create 2D canvas context for PNG export"));return}d.drawImage(o,0,0,c,u),l.toBlob(m=>{if(!m){s(new Error("Failed to create PNG blob"));return}i(m)},"image/png")},o.onerror=()=>s(new Error("Failed to load SVG image")),o.src=a})},rft=({chart:t,children:e,className:r,onDownload:n,config:i,onError:s})=>{let a=kr(),[o,l]=k.useState(!1),c=k.useRef(null),{isAnimating:u}=k.useContext(Xa),d=pl(),m=KR(),p=Su(),y=async b=>{try{if(b==="mmd"){am("diagram.mmd",t,"text/plain"),l(!1),n==null||n(b);return}if(!m){s==null||s(new Error("Mermaid plugin not available"));return}let v=m.getMermaid(i),x=t.split("").reduce((S,L)=>(S<<5)-S+L.charCodeAt(0)|0,0),C=`mermaid-${Math.abs(x)}-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,{svg:T}=await v.render(C,t);if(!T){s==null||s(new Error("SVG not found. Please wait for the diagram to render."));return}if(b==="svg"){am("diagram.svg",T,"image/svg+xml"),l(!1),n==null||n(b);return}if(b==="png"){let S=await tft(T);am("diagram.png",S,"image/png"),n==null||n(b),l(!1);return}}catch(v){s==null||s(v)}};return k.useEffect(()=>{let b=v=>{let x=v.composedPath();c.current&&!x.includes(c.current)&&l(!1)};return document.addEventListener("mousedown",b),()=>{document.removeEventListener("mousedown",b)}},[]),w.jsxs("div",{className:a("relative"),ref:c,children:[w.jsx("button",{className:a("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",r),disabled:u,onClick:()=>l(!o),title:p.downloadDiagram,type:"button",children:e??w.jsx(d.DownloadIcon,{size:14})}),o?w.jsxs("div",{className:a("absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg"),children:[w.jsx("button",{className:a("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>y("svg"),title:p.downloadDiagramAsSvg,type:"button",children:p.mermaidFormatSvg}),w.jsx("button",{className:a("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>y("png"),title:p.downloadDiagramAsPng,type:"button",children:p.mermaidFormatPng}),w.jsx("button",{className:a("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>y("mmd"),title:p.downloadDiagramAsMmd,type:"button",children:p.mermaidFormatMmd})]}):null]})},nft=({chart:t,config:e,onFullscreen:r,onExit:n,className:i,...s})=>{let{Maximize2Icon:a,XIcon:o}=pl(),l=kr(),[c,u]=k.useState(!1),{isAnimating:d,controls:m}=k.useContext(Xa),p=Su(),y=(()=>{if(typeof m=="boolean")return m;let v=m.mermaid;return v===!1?!1:v===!0||v===void 0?!0:v.panZoom!==!1})(),b=()=>{u(!c)};return k.useEffect(()=>{if(c){YR();let v=x=>{x.key==="Escape"&&u(!1)};return document.addEventListener("keydown",v),()=>{document.removeEventListener("keydown",v),ZR()}}},[c]),k.useEffect(()=>{c?r==null||r():n&&n()},[c,r,n]),w.jsxs(w.Fragment,{children:[w.jsx("button",{className:l("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",i),disabled:d,onClick:b,title:p.viewFullscreen,type:"button",...s,children:w.jsx(a,{size:14})}),c?yd.createPortal(w.jsxs("div",{className:l("fixed inset-0 z-50 flex items-center justify-center bg-background/95 backdrop-blur-sm"),onClick:b,onKeyDown:v=>{v.key==="Escape"&&b()},role:"button",tabIndex:0,children:[w.jsx("button",{className:l("absolute top-4 right-4 z-10 rounded-md p-2 text-muted-foreground transition-all hover:bg-muted hover:text-foreground"),onClick:b,title:p.exitFullscreen,type:"button",children:w.jsx(o,{size:20})}),w.jsx("div",{className:l("flex size-full items-center justify-center p-4"),onClick:v=>v.stopPropagation(),onKeyDown:v=>v.stopPropagation(),role:"presentation",children:w.jsx(ffe,{chart:t,className:l("size-full [&_svg]:h-auto [&_svg]:w-auto"),config:e,fullscreen:!0,showControls:y})})]}),document.body):null]})},Ode=t=>{var e,r;let n=[],i=[],s=t.querySelectorAll("thead th");for(let o of s)n.push(((e=o.textContent)==null?void 0:e.trim())||"");let a=t.querySelectorAll("tbody tr");for(let o of a){let l=[],c=o.querySelectorAll("td");for(let u of c)l.push(((r=u.textContent)==null?void 0:r.trim())||"");i.push(l)}return{headers:n,rows:i}},Mde=t=>{let{headers:e,rows:r}=t,n=o=>{let l=!1,c=!1;for(let u of o){if(u==='"'){l=!0,c=!0;break}(u===","||u===`
|
|
1282
1282
|
`)&&(l=!0)}return l?c?`"${o.replace(/"/g,'""')}"`:`"${o}"`:o},i=e.length>0?r.length+1:r.length,s=new Array(i),a=0;e.length>0&&(s[a]=e.map(n).join(","),a+=1);for(let o of r)s[a]=o.map(n).join(","),a+=1;return s.join(`
|
|
1283
1283
|
`)},ift=t=>{let{headers:e,rows:r}=t,n=o=>{let l=!1;for(let u of o)if(u===" "||u===`
|
|
@@ -1326,5 +1326,5 @@ ${Po.text}`,Po.state==="streaming"&&(Ps.state="streaming")):$t.push({kind:"reaso
|
|
|
1326
1326
|
|
|
1327
1327
|
`),c=o.parts.filter(sN);return e(t.slice(0,a)),r({text:l,files:c},{body:{sessionId:n,message:l||"(regenerate)",...kw(i),attachments:(c==null?void 0:c.map(u=>({filename:u.filename,mediaType:u.mediaType,url:u.url})))??[]}}).then(()=>{})}function Mmt({text:t,canRegenerate:e,onRegenerate:r,visible:n=!0}){const[i,s]=k.useState(!1),a=()=>{s(!0),setTimeout(()=>s(!1),1500)},o=async()=>{if(!n)return;if(typeof navigator<"u"&&navigator.clipboard&&window.isSecureContext)try{await navigator.clipboard.writeText(t),a();return}catch{}if(typeof document>"u")return;const u=document.createElement("textarea");u.value=t,u.setAttribute("readonly",""),u.style.position="fixed",u.style.opacity="0",u.style.pointerEvents="none",document.body.appendChild(u),u.select();try{document.execCommand("copy")&&a()}catch{}finally{document.body.removeChild(u)}},l=We("inline-flex h-6 w-6 items-center justify-center rounded-[var(--radius-sm)]","text-muted-foreground/35 transition-colors","hover:bg-foreground/[0.04] hover:text-muted-foreground/80","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[color:var(--accent)]/40"),c=n?{}:{tabIndex:-1};return w.jsxs("div",{"aria-hidden":!n,className:We("flex min-h-6 items-center gap-0.5 -mt-1 transition-opacity duration-200",n?"opacity-100":"pointer-events-none opacity-0"),children:[w.jsx(Xr,{type:"button",variant:"ghost",size:"xs",onClick:o,className:l,"aria-label":i?"Copied":"Copy message",title:i?"Copied":"Copy",...c,children:i?w.jsx(Lv,{className:"h-3.5 w-3.5 text-[color:var(--accent)]"}):w.jsx(ck,{className:"h-3.5 w-3.5"})}),e&&w.jsx(Xr,{type:"button",variant:"ghost",size:"xs",onClick:n?r:void 0,className:l,"aria-label":"Regenerate",title:"Regenerate",...c,children:w.jsx(KK,{className:"h-3.5 w-3.5"})})]})}var ST="/api/v1/agent/sessions",Pmt="boring-agent:activeSessionId";function Bmt(t){try{return localStorage.getItem(t)??void 0}catch{return}}function D_(t,e){try{e===void 0?localStorage.removeItem(t):localStorage.setItem(t,e)}catch{}}function Fmt(t){if(!(!t||Object.keys(t).length===0))return{headers:t}}async function $mt(t){const e=Fmt(t),r=e?await fetch(ST,e):await fetch(ST);if(!r.ok)throw new Error(`Failed to load sessions: ${r.status}`);return r.json()}function iD(t={}){const e=t.storageKey??Pmt,r=t.requestHeaders,[n,i]=k.useState([]),[s,a]=k.useState(()=>Bmt(e)),[o,l]=k.useState(!0),[c,u]=k.useState(),d=k.useRef(0),m=k.useCallback(async()=>{const v=++d.current;try{const x=await $mt(r);v===d.current&&(i(x),a(C=>{var S;if(C&&x.some(L=>L.id===C))return C;const T=(S=x[0])==null?void 0:S.id;return D_(e,T),T}),l(!1))}catch(x){v===d.current&&(u(x instanceof Error?x:new Error(String(x))),l(!1))}},[r,e]);k.useEffect(()=>{m()},[m]);const p=k.useCallback(async v=>{const x=await fetch(ST,{method:"POST",headers:{...r,"Content-Type":"application/json"},body:JSON.stringify(v??{})});if(!x.ok){const T=new Error(`Failed to create session: ${x.status}`);throw u(T),T}const C=await x.json();return i(T=>[C,...T]),a(C.id),D_(e,C.id),m(),C},[m,r,e]),y=k.useCallback(v=>{a(v),D_(e,v)},[e]),b=k.useCallback(async v=>{i(x=>x.filter(C=>C.id!==v)),a(x=>{if(x===v){D_(e,void 0);return}return x});try{const x=await fetch(`${ST}/${encodeURIComponent(v)}`,r?{method:"DELETE",headers:r}:{method:"DELETE"});if(!x.ok&&x.status!==404)throw new Error(`Failed to delete session: ${x.status}`)}catch(x){throw u(x instanceof Error?x:new Error(String(x))),m(),x}m()},[m,r,e]);return{sessions:n,activeSession:n.find(v=>v.id===s),activeSessionId:s,loading:o,error:c,create:p,switch:y,delete:b}}const vG=t=>{let e;const r=new Set,n=(c,u)=>{const d=typeof c=="function"?c(e):c;if(!Object.is(d,e)){const m=e;e=u??(typeof d!="object"||d===null)?d:Object.assign({},e,d),r.forEach(p=>p(e,m))}},i=()=>e,o={setState:n,getState:i,getInitialState:()=>l,subscribe:c=>(r.add(c),()=>r.delete(c))},l=e=t(n,i,o);return o},zmt=(t=>t?vG(t):vG),jmt=t=>t;function uN(t,e=jmt){const r=mt.useSyncExternalStore(t.subscribe,mt.useCallback(()=>e(t.getState()),[t,e]),mt.useCallback(()=>e(t.getInitialState()),[t,e]));return mt.useDebugValue(r),r}const Hmt=t=>{const e=zmt(t),r=n=>uN(e,n);return Object.assign(r,e),r},Vmt=(t=>Hmt);function Umt(t,e){let r;try{r=t()}catch{return}return{getItem:i=>{var s;const a=l=>l===null?null:JSON.parse(l,void 0),o=(s=r.getItem(i))!=null?s:null;return o instanceof Promise?o.then(a):a(o)},setItem:(i,s)=>r.setItem(i,JSON.stringify(s,void 0)),removeItem:i=>r.removeItem(i)}}const sD=t=>e=>{try{const r=t(e);return r instanceof Promise?r:{then(n){return sD(n)(r)},catch(n){return this}}}catch(r){return{then(n){return this},catch(n){return sD(n)(r)}}}},qmt=(t,e)=>(r,n,i)=>{let s={storage:Umt(()=>window.localStorage),partialize:v=>v,version:0,merge:(v,x)=>({...x,...v}),...e},a=!1,o=0;const l=new Set,c=new Set;let u=s.storage;if(!u)return t((...v)=>{console.warn(`[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`),r(...v)},n,i);const d=()=>{const v=s.partialize({...n()});return u.setItem(s.name,{state:v,version:s.version})},m=i.setState;i.setState=(v,x)=>(m(v,x),d());const p=t((...v)=>(r(...v),d()),n,i);i.getInitialState=()=>p;let y;const b=()=>{var v,x;if(!u)return;const C=++o;a=!1,l.forEach(S=>{var L;return S((L=n())!=null?L:p)});const T=((x=s.onRehydrateStorage)==null?void 0:x.call(s,(v=n())!=null?v:p))||void 0;return sD(u.getItem.bind(u))(s.name).then(S=>{if(S)if(typeof S.version=="number"&&S.version!==s.version){if(s.migrate){const L=s.migrate(S.state,S.version);return L instanceof Promise?L.then(D=>[!0,D]):[!0,L]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,S.state];return[!1,void 0]}).then(S=>{var L;if(C!==o)return;const[D,I]=S;if(y=s.merge(I,(L=n())!=null?L:p),r(y,!0),D)return d()}).then(()=>{C===o&&(T==null||T(n(),void 0),y=n(),a=!0,c.forEach(S=>S(y)))}).catch(S=>{C===o&&(T==null||T(void 0,S))})};return i.persist={setOptions:v=>{s={...s,...v},v.storage&&(u=v.storage)},clearStorage:()=>{u==null||u.removeItem(s.name)},getOptions:()=>s,rehydrate:()=>b(),hasHydrated:()=>a,onHydrate:v=>(l.add(v),()=>{l.delete(v)}),onFinishHydration:v=>(c.add(v),()=>{c.delete(v)})},s.skipHydration||b(),y||p},Gmt=qmt;var Vg=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Sf,Sh,wm,$W,Wmt=($W=class extends Vg{constructor(){super();kt(this,Sf);kt(this,Sh);kt(this,wm);nt(this,wm,e=>{if(typeof window<"u"&&window.addEventListener){const r=()=>e();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}})}onSubscribe(){ce(this,Sh)||this.setEventListener(ce(this,wm))}onUnsubscribe(){var e;this.hasListeners()||((e=ce(this,Sh))==null||e.call(this),nt(this,Sh,void 0))}setEventListener(e){var r;nt(this,wm,e),(r=ce(this,Sh))==null||r.call(this),nt(this,Sh,e(n=>{typeof n=="boolean"?this.setFocused(n):this.onFocus()}))}setFocused(e){ce(this,Sf)!==e&&(nt(this,Sf,e),this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(r=>{r(e)})}isFocused(){var e;return typeof ce(this,Sf)=="boolean"?ce(this,Sf):((e=globalThis.document)==null?void 0:e.visibilityState)!=="hidden"}},Sf=new WeakMap,Sh=new WeakMap,wm=new WeakMap,$W),hN=new Wmt,Ymt={setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t)},Eh,$D,zW,Zmt=(zW=class{constructor(){kt(this,Eh,Ymt);kt(this,$D,!1)}setTimeoutProvider(t){nt(this,Eh,t)}setTimeout(t,e){return ce(this,Eh).setTimeout(t,e)}clearTimeout(t){ce(this,Eh).clearTimeout(t)}setInterval(t,e){return ce(this,Eh).setInterval(t,e)}clearInterval(t){ce(this,Eh).clearInterval(t)}},Eh=new WeakMap,$D=new WeakMap,zW),Cf=new Zmt;function Xmt(t){setTimeout(t,0)}var Kmt=typeof window>"u"||"Deno"in globalThis;function qs(){}function Qmt(t,e){return typeof t=="function"?t(e):t}function aD(t){return typeof t=="number"&&t>=0&&t!==1/0}function Vfe(t,e){return Math.max(t+(e||0)-Date.now(),0)}function Wh(t,e){return typeof t=="function"?t(e):t}function bo(t,e){return typeof t=="function"?t(e):t}function xG(t,e){const{type:r="all",exact:n,fetchStatus:i,predicate:s,queryKey:a,stale:o}=t;if(a){if(n){if(e.queryHash!==dN(a,e.options))return!1}else if(!nv(e.queryKey,a))return!1}if(r!=="all"){const l=e.isActive();if(r==="active"&&!l||r==="inactive"&&l)return!1}return!(typeof o=="boolean"&&e.isStale()!==o||i&&i!==e.state.fetchStatus||s&&!s(e))}function _G(t,e){const{exact:r,status:n,predicate:i,mutationKey:s}=t;if(s){if(!e.options.mutationKey)return!1;if(r){if(cp(e.options.mutationKey)!==cp(s))return!1}else if(!nv(e.options.mutationKey,s))return!1}return!(n&&e.state.status!==n||i&&!i(e))}function dN(t,e){return((e==null?void 0:e.queryKeyHashFn)||cp)(t)}function cp(t){return JSON.stringify(t,(e,r)=>oD(r)?Object.keys(r).sort().reduce((n,i)=>(n[i]=r[i],n),{}):r)}function nv(t,e){return t===e?!0:typeof t!=typeof e?!1:t&&e&&typeof t=="object"&&typeof e=="object"?Object.keys(e).every(r=>nv(t[r],e[r])):!1}var Jmt=Object.prototype.hasOwnProperty;function Ufe(t,e,r=0){if(t===e)return t;if(r>500)return e;const n=wG(t)&&wG(e);if(!n&&!(oD(t)&&oD(e)))return e;const s=(n?t:Object.keys(t)).length,a=n?e:Object.keys(e),o=a.length,l=n?new Array(o):{};let c=0;for(let u=0;u<o;u++){const d=n?u:a[u],m=t[d],p=e[d];if(m===p){l[d]=m,(n?u<s:Jmt.call(t,d))&&c++;continue}if(m===null||p===null||typeof m!="object"||typeof p!="object"){l[d]=p;continue}const y=Ufe(m,p,r+1);l[d]=y,y===m&&c++}return s===o&&c===s?t:l}function ET(t,e){if(!e||Object.keys(t).length!==Object.keys(e).length)return!1;for(const r in t)if(t[r]!==e[r])return!1;return!0}function wG(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function oD(t){if(!CG(t))return!1;const e=t.constructor;if(e===void 0)return!0;const r=e.prototype;return!(!CG(r)||!r.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(t)!==Object.prototype)}function CG(t){return Object.prototype.toString.call(t)==="[object Object]"}function egt(t){return new Promise(e=>{Cf.setTimeout(e,t)})}function lD(t,e,r){return typeof r.structuralSharing=="function"?r.structuralSharing(t,e):r.structuralSharing!==!1?Ufe(t,e):e}function tgt(t,e,r=0){const n=[...t,e];return r&&n.length>r?n.slice(1):n}function rgt(t,e,r=0){const n=[e,...t];return r&&n.length>r?n.slice(0,-1):n}var fN=Symbol();function qfe(t,e){return!t.queryFn&&(e!=null&&e.initialPromise)?()=>e.initialPromise:!t.queryFn||t.queryFn===fN?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}function pN(t,e){return typeof t=="function"?t(...e):!!t}function ngt(t,e,r){let n=!1,i;return Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(i??(i=e()),n||(n=!0,i.aborted?r():i.addEventListener("abort",r,{once:!0})),i)}),t}var iv=(()=>{let t=()=>Kmt;return{isServer(){return t()},setIsServer(e){t=e}}})();function cD(){let t,e;const r=new Promise((i,s)=>{t=i,e=s});r.status="pending",r.catch(()=>{});function n(i){Object.assign(r,i),delete r.resolve,delete r.reject}return r.resolve=i=>{n({status:"fulfilled",value:i}),t(i)},r.reject=i=>{n({status:"rejected",reason:i}),e(i)},r}var igt=Xmt;function sgt(){let t=[],e=0,r=o=>{o()},n=o=>{o()},i=igt;const s=o=>{e?t.push(o):i(()=>{r(o)})},a=()=>{const o=t;t=[],o.length&&i(()=>{n(()=>{o.forEach(l=>{r(l)})})})};return{batch:o=>{let l;e++;try{l=o()}finally{e--,e||a()}return l},batchCalls:o=>(...l)=>{s(()=>{o(...l)})},schedule:s,setNotifyFunction:o=>{r=o},setBatchNotifyFunction:o=>{n=o},setScheduler:o=>{i=o}}}var Vi=sgt(),Cm,Ah,Tm,jW,agt=(jW=class extends Vg{constructor(){super();kt(this,Cm,!0);kt(this,Ah);kt(this,Tm);nt(this,Tm,e=>{if(typeof window<"u"&&window.addEventListener){const r=()=>e(!0),n=()=>e(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",n)}}})}onSubscribe(){ce(this,Ah)||this.setEventListener(ce(this,Tm))}onUnsubscribe(){var e;this.hasListeners()||((e=ce(this,Ah))==null||e.call(this),nt(this,Ah,void 0))}setEventListener(e){var r;nt(this,Tm,e),(r=ce(this,Ah))==null||r.call(this),nt(this,Ah,e(this.setOnline.bind(this)))}setOnline(e){ce(this,Cm)!==e&&(nt(this,Cm,e),this.listeners.forEach(n=>{n(e)}))}isOnline(){return ce(this,Cm)}},Cm=new WeakMap,Ah=new WeakMap,Tm=new WeakMap,jW),AT=new agt;function ogt(t){return Math.min(1e3*2**t,3e4)}function Gfe(t){return(t??"online")==="online"?AT.isOnline():!0}var uD=class extends Error{constructor(t){super("CancelledError"),this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}};function Wfe(t){let e=!1,r=0,n;const i=cD(),s=()=>i.status!=="pending",a=b=>{var v;if(!s()){const x=new uD(b);m(x),(v=t.onCancel)==null||v.call(t,x)}},o=()=>{e=!0},l=()=>{e=!1},c=()=>hN.isFocused()&&(t.networkMode==="always"||AT.isOnline())&&t.canRun(),u=()=>Gfe(t.networkMode)&&t.canRun(),d=b=>{s()||(n==null||n(),i.resolve(b))},m=b=>{s()||(n==null||n(),i.reject(b))},p=()=>new Promise(b=>{var v;n=x=>{(s()||c())&&b(x)},(v=t.onPause)==null||v.call(t)}).then(()=>{var b;n=void 0,s()||(b=t.onContinue)==null||b.call(t)}),y=()=>{if(s())return;let b;const v=r===0?t.initialPromise:void 0;try{b=v??t.fn()}catch(x){b=Promise.reject(x)}Promise.resolve(b).then(d).catch(x=>{var D;if(s())return;const C=t.retry??(iv.isServer()?0:3),T=t.retryDelay??ogt,S=typeof T=="function"?T(r,x):T,L=C===!0||typeof C=="number"&&r<C||typeof C=="function"&&C(r,x);if(e||!L){m(x);return}r++,(D=t.onFail)==null||D.call(t,r,x),egt(S).then(()=>c()?void 0:p()).then(()=>{e?m(x):y()})})};return{promise:i,status:()=>i.status,cancel:a,continue:()=>(n==null||n(),i),cancelRetry:o,continueRetry:l,canStart:u,start:()=>(u()?y():p().then(y),i)}}var Ef,HW,Yfe=(HW=class{constructor(){kt(this,Ef)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),aD(this.gcTime)&&nt(this,Ef,Cf.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(iv.isServer()?1/0:300*1e3))}clearGcTimeout(){ce(this,Ef)!==void 0&&(Cf.clearTimeout(ce(this,Ef)),nt(this,Ef,void 0))}},Ef=new WeakMap,HW),Af,km,yo,Df,Qi,dv,Lf,za,Zfe,qc,VW,lgt=(VW=class extends Yfe{constructor(e){super();kt(this,za);kt(this,Af);kt(this,km);kt(this,yo);kt(this,Df);kt(this,Qi);kt(this,dv);kt(this,Lf);nt(this,Lf,!1),nt(this,dv,e.defaultOptions),this.setOptions(e.options),this.observers=[],nt(this,Df,e.client),nt(this,yo,ce(this,Df).getQueryCache()),this.queryKey=e.queryKey,this.queryHash=e.queryHash,nt(this,Af,kG(this.options)),this.state=e.state??ce(this,Af),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var e;return(e=ce(this,Qi))==null?void 0:e.promise}setOptions(e){if(this.options={...ce(this,dv),...e},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const r=kG(this.options);r.data!==void 0&&(this.setState(TG(r.data,r.dataUpdatedAt)),nt(this,Af,r))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&ce(this,yo).remove(this)}setData(e,r){const n=lD(this.state.data,e,this.options);return ar(this,za,qc).call(this,{data:n,type:"success",dataUpdatedAt:r==null?void 0:r.updatedAt,manual:r==null?void 0:r.manual}),n}setState(e,r){ar(this,za,qc).call(this,{type:"setState",state:e,setStateOptions:r})}cancel(e){var n,i;const r=(n=ce(this,Qi))==null?void 0:n.promise;return(i=ce(this,Qi))==null||i.cancel(e),r?r.then(qs).catch(qs):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return ce(this,Af)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>bo(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===fN||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>Wh(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!Vfe(this.state.dataUpdatedAt,e)}onFocus(){var r;const e=this.observers.find(n=>n.shouldFetchOnWindowFocus());e==null||e.refetch({cancelRefetch:!1}),(r=ce(this,Qi))==null||r.continue()}onOnline(){var r;const e=this.observers.find(n=>n.shouldFetchOnReconnect());e==null||e.refetch({cancelRefetch:!1}),(r=ce(this,Qi))==null||r.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),ce(this,yo).notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(r=>r!==e),this.observers.length||(ce(this,Qi)&&(ce(this,Lf)||ar(this,za,Zfe).call(this)?ce(this,Qi).cancel({revert:!0}):ce(this,Qi).cancelRetry()),this.scheduleGc()),ce(this,yo).notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||ar(this,za,qc).call(this,{type:"invalidate"})}async fetch(e,r){var l,c,u,d,m,p,y,b,v,x,C,T;if(this.state.fetchStatus!=="idle"&&((l=ce(this,Qi))==null?void 0:l.status())!=="rejected"){if(this.state.data!==void 0&&(r!=null&&r.cancelRefetch))this.cancel({silent:!0});else if(ce(this,Qi))return ce(this,Qi).continueRetry(),ce(this,Qi).promise}if(e&&this.setOptions(e),!this.options.queryFn){const S=this.observers.find(L=>L.options.queryFn);S&&this.setOptions(S.options)}const n=new AbortController,i=S=>{Object.defineProperty(S,"signal",{enumerable:!0,get:()=>(nt(this,Lf,!0),n.signal)})},s=()=>{const S=qfe(this.options,r),D=(()=>{const I={client:ce(this,Df),queryKey:this.queryKey,meta:this.meta};return i(I),I})();return nt(this,Lf,!1),this.options.persister?this.options.persister(S,D,this):S(D)},o=(()=>{const S={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:ce(this,Df),state:this.state,fetchFn:s};return i(S),S})();(c=this.options.behavior)==null||c.onFetch(o,this),nt(this,km,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((u=o.fetchOptions)==null?void 0:u.meta))&&ar(this,za,qc).call(this,{type:"fetch",meta:(d=o.fetchOptions)==null?void 0:d.meta}),nt(this,Qi,Wfe({initialPromise:r==null?void 0:r.initialPromise,fn:o.fetchFn,onCancel:S=>{S instanceof uD&&S.revert&&this.setState({...ce(this,km),fetchStatus:"idle"}),n.abort()},onFail:(S,L)=>{ar(this,za,qc).call(this,{type:"failed",failureCount:S,error:L})},onPause:()=>{ar(this,za,qc).call(this,{type:"pause"})},onContinue:()=>{ar(this,za,qc).call(this,{type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0}));try{const S=await ce(this,Qi).start();if(S===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(S),(p=(m=ce(this,yo).config).onSuccess)==null||p.call(m,S,this),(b=(y=ce(this,yo).config).onSettled)==null||b.call(y,S,this.state.error,this),S}catch(S){if(S instanceof uD){if(S.silent)return ce(this,Qi).promise;if(S.revert){if(this.state.data===void 0)throw S;return this.state.data}}throw ar(this,za,qc).call(this,{type:"error",error:S}),(x=(v=ce(this,yo).config).onError)==null||x.call(v,S,this),(T=(C=ce(this,yo).config).onSettled)==null||T.call(C,this.state.data,S,this),S}finally{this.scheduleGc()}}},Af=new WeakMap,km=new WeakMap,yo=new WeakMap,Df=new WeakMap,Qi=new WeakMap,dv=new WeakMap,Lf=new WeakMap,za=new WeakSet,Zfe=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},qc=function(e){const r=n=>{switch(e.type){case"failed":return{...n,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...Xfe(n.data,this.options),fetchMeta:e.meta??null};case"success":const i={...n,...TG(e.data,e.dataUpdatedAt),dataUpdateCount:n.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return nt(this,km,e.manual?i:void 0),i;case"error":const s=e.error;return{...n,error:s,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...e.state}}};this.state=r(this.state),Vi.batch(()=>{this.observers.forEach(n=>{n.onQueryUpdate()}),ce(this,yo).notify({query:this,type:"updated",action:e})})},VW);function Xfe(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Gfe(e.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function TG(t,e){return{data:t,dataUpdatedAt:e??Date.now(),error:null,isInvalidated:!1,status:"success"}}function kG(t){const e=typeof t.initialData=="function"?t.initialData():t.initialData,r=e!==void 0,n=r?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var va,Pr,fv,Us,If,Sm,Yc,Dh,pv,Em,Am,Rf,Nf,Lh,Dm,nn,jy,hD,dD,fD,pD,mD,gD,yD,Kfe,UW,cgt=(UW=class extends Vg{constructor(e,r){super();kt(this,nn);kt(this,va);kt(this,Pr);kt(this,fv);kt(this,Us);kt(this,If);kt(this,Sm);kt(this,Yc);kt(this,Dh);kt(this,pv);kt(this,Em);kt(this,Am);kt(this,Rf);kt(this,Nf);kt(this,Lh);kt(this,Dm,new Set);this.options=r,nt(this,va,e),nt(this,Dh,null),nt(this,Yc,cD()),this.bindMethods(),this.setOptions(r)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(ce(this,Pr).addObserver(this),SG(ce(this,Pr),this.options)?ar(this,nn,jy).call(this):this.updateResult(),ar(this,nn,pD).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return bD(ce(this,Pr),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return bD(ce(this,Pr),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,ar(this,nn,mD).call(this),ar(this,nn,gD).call(this),ce(this,Pr).removeObserver(this)}setOptions(e){const r=this.options,n=ce(this,Pr);if(this.options=ce(this,va).defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof bo(this.options.enabled,ce(this,Pr))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");ar(this,nn,yD).call(this),ce(this,Pr).setOptions(this.options),r._defaulted&&!ET(this.options,r)&&ce(this,va).getQueryCache().notify({type:"observerOptionsUpdated",query:ce(this,Pr),observer:this});const i=this.hasListeners();i&&EG(ce(this,Pr),n,this.options,r)&&ar(this,nn,jy).call(this),this.updateResult(),i&&(ce(this,Pr)!==n||bo(this.options.enabled,ce(this,Pr))!==bo(r.enabled,ce(this,Pr))||Wh(this.options.staleTime,ce(this,Pr))!==Wh(r.staleTime,ce(this,Pr)))&&ar(this,nn,hD).call(this);const s=ar(this,nn,dD).call(this);i&&(ce(this,Pr)!==n||bo(this.options.enabled,ce(this,Pr))!==bo(r.enabled,ce(this,Pr))||s!==ce(this,Lh))&&ar(this,nn,fD).call(this,s)}getOptimisticResult(e){const r=ce(this,va).getQueryCache().build(ce(this,va),e),n=this.createResult(r,e);return hgt(this,n)&&(nt(this,Us,n),nt(this,Sm,this.options),nt(this,If,ce(this,Pr).state)),n}getCurrentResult(){return ce(this,Us)}trackResult(e,r){return new Proxy(e,{get:(n,i)=>(this.trackProp(i),r==null||r(i),i==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&ce(this,Yc).status==="pending"&&ce(this,Yc).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(n,i))})}trackProp(e){ce(this,Dm).add(e)}getCurrentQuery(){return ce(this,Pr)}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const r=ce(this,va).defaultQueryOptions(e),n=ce(this,va).getQueryCache().build(ce(this,va),r);return n.fetch().then(()=>this.createResult(n,r))}fetch(e){return ar(this,nn,jy).call(this,{...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),ce(this,Us)))}createResult(e,r){var H;const n=ce(this,Pr),i=this.options,s=ce(this,Us),a=ce(this,If),o=ce(this,Sm),c=e!==n?e.state:ce(this,fv),{state:u}=e;let d={...u},m=!1,p;if(r._optimisticResults){const B=this.hasListeners(),j=!B&&SG(e,r),Z=B&&EG(e,n,r,i);(j||Z)&&(d={...d,...Xfe(u.data,e.options)}),r._optimisticResults==="isRestoring"&&(d.fetchStatus="idle")}let{error:y,errorUpdatedAt:b,status:v}=d;p=d.data;let x=!1;if(r.placeholderData!==void 0&&p===void 0&&v==="pending"){let B;s!=null&&s.isPlaceholderData&&r.placeholderData===(o==null?void 0:o.placeholderData)?(B=s.data,x=!0):B=typeof r.placeholderData=="function"?r.placeholderData((H=ce(this,Am))==null?void 0:H.state.data,ce(this,Am)):r.placeholderData,B!==void 0&&(v="success",p=lD(s==null?void 0:s.data,B,r),m=!0)}if(r.select&&p!==void 0&&!x)if(s&&p===(a==null?void 0:a.data)&&r.select===ce(this,pv))p=ce(this,Em);else try{nt(this,pv,r.select),p=r.select(p),p=lD(s==null?void 0:s.data,p,r),nt(this,Em,p),nt(this,Dh,null)}catch(B){nt(this,Dh,B)}ce(this,Dh)&&(y=ce(this,Dh),p=ce(this,Em),b=Date.now(),v="error");const C=d.fetchStatus==="fetching",T=v==="pending",S=v==="error",L=T&&C,D=p!==void 0,N={status:v,fetchStatus:d.fetchStatus,isPending:T,isSuccess:v==="success",isError:S,isInitialLoading:L,isLoading:L,data:p,dataUpdatedAt:d.dataUpdatedAt,error:y,errorUpdatedAt:b,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:d.dataUpdateCount>c.dataUpdateCount||d.errorUpdateCount>c.errorUpdateCount,isFetching:C,isRefetching:C&&!T,isLoadingError:S&&!D,isPaused:d.fetchStatus==="paused",isPlaceholderData:m,isRefetchError:S&&D,isStale:mN(e,r),refetch:this.refetch,promise:ce(this,Yc),isEnabled:bo(r.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){const B=N.data!==void 0,j=N.status==="error"&&!B,Z=V=>{j?V.reject(N.error):B&&V.resolve(N.data)},te=()=>{const V=nt(this,Yc,N.promise=cD());Z(V)},U=ce(this,Yc);switch(U.status){case"pending":e.queryHash===n.queryHash&&Z(U);break;case"fulfilled":(j||N.data!==U.value)&&te();break;case"rejected":(!j||N.error!==U.reason)&&te();break}}return N}updateResult(){const e=ce(this,Us),r=this.createResult(ce(this,Pr),this.options);if(nt(this,If,ce(this,Pr).state),nt(this,Sm,this.options),ce(this,If).data!==void 0&&nt(this,Am,ce(this,Pr)),ET(r,e))return;nt(this,Us,r);const n=()=>{if(!e)return!0;const{notifyOnChangeProps:i}=this.options,s=typeof i=="function"?i():i;if(s==="all"||!s&&!ce(this,Dm).size)return!0;const a=new Set(s??ce(this,Dm));return this.options.throwOnError&&a.add("error"),Object.keys(ce(this,Us)).some(o=>{const l=o;return ce(this,Us)[l]!==e[l]&&a.has(l)})};ar(this,nn,Kfe).call(this,{listeners:n()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&ar(this,nn,pD).call(this)}},va=new WeakMap,Pr=new WeakMap,fv=new WeakMap,Us=new WeakMap,If=new WeakMap,Sm=new WeakMap,Yc=new WeakMap,Dh=new WeakMap,pv=new WeakMap,Em=new WeakMap,Am=new WeakMap,Rf=new WeakMap,Nf=new WeakMap,Lh=new WeakMap,Dm=new WeakMap,nn=new WeakSet,jy=function(e){ar(this,nn,yD).call(this);let r=ce(this,Pr).fetch(this.options,e);return e!=null&&e.throwOnError||(r=r.catch(qs)),r},hD=function(){ar(this,nn,mD).call(this);const e=Wh(this.options.staleTime,ce(this,Pr));if(iv.isServer()||ce(this,Us).isStale||!aD(e))return;const n=Vfe(ce(this,Us).dataUpdatedAt,e)+1;nt(this,Rf,Cf.setTimeout(()=>{ce(this,Us).isStale||this.updateResult()},n))},dD=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(ce(this,Pr)):this.options.refetchInterval)??!1},fD=function(e){ar(this,nn,gD).call(this),nt(this,Lh,e),!(iv.isServer()||bo(this.options.enabled,ce(this,Pr))===!1||!aD(ce(this,Lh))||ce(this,Lh)===0)&&nt(this,Nf,Cf.setInterval(()=>{(this.options.refetchIntervalInBackground||hN.isFocused())&&ar(this,nn,jy).call(this)},ce(this,Lh)))},pD=function(){ar(this,nn,hD).call(this),ar(this,nn,fD).call(this,ar(this,nn,dD).call(this))},mD=function(){ce(this,Rf)!==void 0&&(Cf.clearTimeout(ce(this,Rf)),nt(this,Rf,void 0))},gD=function(){ce(this,Nf)!==void 0&&(Cf.clearInterval(ce(this,Nf)),nt(this,Nf,void 0))},yD=function(){const e=ce(this,va).getQueryCache().build(ce(this,va),this.options);if(e===ce(this,Pr))return;const r=ce(this,Pr);nt(this,Pr,e),nt(this,fv,e.state),this.hasListeners()&&(r==null||r.removeObserver(this),e.addObserver(this))},Kfe=function(e){Vi.batch(()=>{e.listeners&&this.listeners.forEach(r=>{r(ce(this,Us))}),ce(this,va).getQueryCache().notify({query:ce(this,Pr),type:"observerResultsUpdated"})})},UW);function ugt(t,e){return bo(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&e.retryOnMount===!1)}function SG(t,e){return ugt(t,e)||t.state.data!==void 0&&bD(t,e,e.refetchOnMount)}function bD(t,e,r){if(bo(e.enabled,t)!==!1&&Wh(e.staleTime,t)!=="static"){const n=typeof r=="function"?r(t):r;return n==="always"||n!==!1&&mN(t,e)}return!1}function EG(t,e,r,n){return(t!==e||bo(n.enabled,t)===!1)&&(!r.suspense||t.state.status!=="error")&&mN(t,r)}function mN(t,e){return bo(e.enabled,t)!==!1&&t.isStaleByTime(Wh(e.staleTime,t))}function hgt(t,e){return!ET(t.getCurrentResult(),e)}function AG(t){return{onFetch:(e,r)=>{var u,d,m,p,y;const n=e.options,i=(m=(d=(u=e.fetchOptions)==null?void 0:u.meta)==null?void 0:d.fetchMore)==null?void 0:m.direction,s=((p=e.state.data)==null?void 0:p.pages)||[],a=((y=e.state.data)==null?void 0:y.pageParams)||[];let o={pages:[],pageParams:[]},l=0;const c=async()=>{let b=!1;const v=T=>{ngt(T,()=>e.signal,()=>b=!0)},x=qfe(e.options,e.fetchOptions),C=async(T,S,L)=>{if(b)return Promise.reject();if(S==null&&T.pages.length)return Promise.resolve(T);const I=(()=>{const j={client:e.client,queryKey:e.queryKey,pageParam:S,direction:L?"backward":"forward",meta:e.options.meta};return v(j),j})(),N=await x(I),{maxPages:H}=e.options,B=L?rgt:tgt;return{pages:B(T.pages,N,H),pageParams:B(T.pageParams,S,H)}};if(i&&s.length){const T=i==="backward",S=T?dgt:DG,L={pages:s,pageParams:a},D=S(n,L);o=await C(L,D,T)}else{const T=t??s.length;do{const S=l===0?a[0]??n.initialPageParam:DG(n,o);if(l>0&&S==null)break;o=await C(o,S),l++}while(l<T)}return o};e.options.persister?e.fetchFn=()=>{var b,v;return(v=(b=e.options).persister)==null?void 0:v.call(b,c,{client:e.client,queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},r)}:e.fetchFn=c}}}function DG(t,{pages:e,pageParams:r}){const n=e.length-1;return e.length>0?t.getNextPageParam(e[n],e,r[n],r):void 0}function dgt(t,{pages:e,pageParams:r}){var n;return e.length>0?(n=t.getPreviousPageParam)==null?void 0:n.call(t,e[0],e,r[0],r):void 0}var mv,Nl,ks,Of,Ol,gh,qW,fgt=(qW=class extends Yfe{constructor(e){super();kt(this,Ol);kt(this,mv);kt(this,Nl);kt(this,ks);kt(this,Of);nt(this,mv,e.client),this.mutationId=e.mutationId,nt(this,ks,e.mutationCache),nt(this,Nl,[]),this.state=e.state||Qfe(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){ce(this,Nl).includes(e)||(ce(this,Nl).push(e),this.clearGcTimeout(),ce(this,ks).notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){nt(this,Nl,ce(this,Nl).filter(r=>r!==e)),this.scheduleGc(),ce(this,ks).notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){ce(this,Nl).length||(this.state.status==="pending"?this.scheduleGc():ce(this,ks).remove(this))}continue(){var e;return((e=ce(this,Of))==null?void 0:e.continue())??this.execute(this.state.variables)}async execute(e){var a,o,l,c,u,d,m,p,y,b,v,x,C,T,S,L,D,I;const r=()=>{ar(this,Ol,gh).call(this,{type:"continue"})},n={client:ce(this,mv),meta:this.options.meta,mutationKey:this.options.mutationKey};nt(this,Of,Wfe({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(new Error("No mutationFn found")),onFail:(N,H)=>{ar(this,Ol,gh).call(this,{type:"failed",failureCount:N,error:H})},onPause:()=>{ar(this,Ol,gh).call(this,{type:"pause"})},onContinue:r,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>ce(this,ks).canRun(this)}));const i=this.state.status==="pending",s=!ce(this,Of).canStart();try{if(i)r();else{ar(this,Ol,gh).call(this,{type:"pending",variables:e,isPaused:s}),ce(this,ks).config.onMutate&&await ce(this,ks).config.onMutate(e,this,n);const H=await((o=(a=this.options).onMutate)==null?void 0:o.call(a,e,n));H!==this.state.context&&ar(this,Ol,gh).call(this,{type:"pending",context:H,variables:e,isPaused:s})}const N=await ce(this,Of).start();return await((c=(l=ce(this,ks).config).onSuccess)==null?void 0:c.call(l,N,e,this.state.context,this,n)),await((d=(u=this.options).onSuccess)==null?void 0:d.call(u,N,e,this.state.context,n)),await((p=(m=ce(this,ks).config).onSettled)==null?void 0:p.call(m,N,null,this.state.variables,this.state.context,this,n)),await((b=(y=this.options).onSettled)==null?void 0:b.call(y,N,null,e,this.state.context,n)),ar(this,Ol,gh).call(this,{type:"success",data:N}),N}catch(N){try{await((x=(v=ce(this,ks).config).onError)==null?void 0:x.call(v,N,e,this.state.context,this,n))}catch(H){Promise.reject(H)}try{await((T=(C=this.options).onError)==null?void 0:T.call(C,N,e,this.state.context,n))}catch(H){Promise.reject(H)}try{await((L=(S=ce(this,ks).config).onSettled)==null?void 0:L.call(S,void 0,N,this.state.variables,this.state.context,this,n))}catch(H){Promise.reject(H)}try{await((I=(D=this.options).onSettled)==null?void 0:I.call(D,void 0,N,e,this.state.context,n))}catch(H){Promise.reject(H)}throw ar(this,Ol,gh).call(this,{type:"error",error:N}),N}finally{ce(this,ks).runNext(this)}}},mv=new WeakMap,Nl=new WeakMap,ks=new WeakMap,Of=new WeakMap,Ol=new WeakSet,gh=function(e){const r=n=>{switch(e.type){case"failed":return{...n,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...n,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:e.error,failureCount:n.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=r(this.state),Vi.batch(()=>{ce(this,Nl).forEach(n=>{n.onMutationUpdate(e)}),ce(this,ks).notify({mutation:this,type:"updated",action:e})})},qW);function Qfe(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Zc,Go,gv,GW,pgt=(GW=class extends Vg{constructor(e={}){super();kt(this,Zc);kt(this,Go);kt(this,gv);this.config=e,nt(this,Zc,new Set),nt(this,Go,new Map),nt(this,gv,0)}build(e,r,n){const i=new fgt({client:e,mutationCache:this,mutationId:++E2(this,gv)._,options:e.defaultMutationOptions(r),state:n});return this.add(i),i}add(e){ce(this,Zc).add(e);const r=L_(e);if(typeof r=="string"){const n=ce(this,Go).get(r);n?n.push(e):ce(this,Go).set(r,[e])}this.notify({type:"added",mutation:e})}remove(e){if(ce(this,Zc).delete(e)){const r=L_(e);if(typeof r=="string"){const n=ce(this,Go).get(r);if(n)if(n.length>1){const i=n.indexOf(e);i!==-1&&n.splice(i,1)}else n[0]===e&&ce(this,Go).delete(r)}}this.notify({type:"removed",mutation:e})}canRun(e){const r=L_(e);if(typeof r=="string"){const n=ce(this,Go).get(r),i=n==null?void 0:n.find(s=>s.state.status==="pending");return!i||i===e}else return!0}runNext(e){var n;const r=L_(e);if(typeof r=="string"){const i=(n=ce(this,Go).get(r))==null?void 0:n.find(s=>s!==e&&s.state.isPaused);return(i==null?void 0:i.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Vi.batch(()=>{ce(this,Zc).forEach(e=>{this.notify({type:"removed",mutation:e})}),ce(this,Zc).clear(),ce(this,Go).clear()})}getAll(){return Array.from(ce(this,Zc))}find(e){const r={exact:!0,...e};return this.getAll().find(n=>_G(r,n))}findAll(e={}){return this.getAll().filter(r=>_G(e,r))}notify(e){Vi.batch(()=>{this.listeners.forEach(r=>{r(e)})})}resumePausedMutations(){const e=this.getAll().filter(r=>r.state.isPaused);return Vi.batch(()=>Promise.all(e.map(r=>r.continue().catch(qs))))}},Zc=new WeakMap,Go=new WeakMap,gv=new WeakMap,GW);function L_(t){var e;return(e=t.options.scope)==null?void 0:e.id}var Xc,Ih,xa,Kc,lu,Sw,vD,WW,mgt=(WW=class extends Vg{constructor(r,n){super();kt(this,lu);kt(this,Xc);kt(this,Ih);kt(this,xa);kt(this,Kc);nt(this,Xc,r),this.setOptions(n),this.bindMethods(),ar(this,lu,Sw).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(r){var i;const n=this.options;this.options=ce(this,Xc).defaultMutationOptions(r),ET(this.options,n)||ce(this,Xc).getMutationCache().notify({type:"observerOptionsUpdated",mutation:ce(this,xa),observer:this}),n!=null&&n.mutationKey&&this.options.mutationKey&&cp(n.mutationKey)!==cp(this.options.mutationKey)?this.reset():((i=ce(this,xa))==null?void 0:i.state.status)==="pending"&&ce(this,xa).setOptions(this.options)}onUnsubscribe(){var r;this.hasListeners()||(r=ce(this,xa))==null||r.removeObserver(this)}onMutationUpdate(r){ar(this,lu,Sw).call(this),ar(this,lu,vD).call(this,r)}getCurrentResult(){return ce(this,Ih)}reset(){var r;(r=ce(this,xa))==null||r.removeObserver(this),nt(this,xa,void 0),ar(this,lu,Sw).call(this),ar(this,lu,vD).call(this)}mutate(r,n){var i;return nt(this,Kc,n),(i=ce(this,xa))==null||i.removeObserver(this),nt(this,xa,ce(this,Xc).getMutationCache().build(ce(this,Xc),this.options)),ce(this,xa).addObserver(this),ce(this,xa).execute(r)}},Xc=new WeakMap,Ih=new WeakMap,xa=new WeakMap,Kc=new WeakMap,lu=new WeakSet,Sw=function(){var n;const r=((n=ce(this,xa))==null?void 0:n.state)??Qfe();nt(this,Ih,{...r,isPending:r.status==="pending",isSuccess:r.status==="success",isError:r.status==="error",isIdle:r.status==="idle",mutate:this.mutate,reset:this.reset})},vD=function(r){Vi.batch(()=>{var n,i,s,a,o,l,c,u;if(ce(this,Kc)&&this.hasListeners()){const d=ce(this,Ih).variables,m=ce(this,Ih).context,p={client:ce(this,Xc),meta:this.options.meta,mutationKey:this.options.mutationKey};if((r==null?void 0:r.type)==="success"){try{(i=(n=ce(this,Kc)).onSuccess)==null||i.call(n,r.data,d,m,p)}catch(y){Promise.reject(y)}try{(a=(s=ce(this,Kc)).onSettled)==null||a.call(s,r.data,null,d,m,p)}catch(y){Promise.reject(y)}}else if((r==null?void 0:r.type)==="error"){try{(l=(o=ce(this,Kc)).onError)==null||l.call(o,r.error,d,m,p)}catch(y){Promise.reject(y)}try{(u=(c=ce(this,Kc)).onSettled)==null||u.call(c,void 0,r.error,d,m,p)}catch(y){Promise.reject(y)}}}this.listeners.forEach(d=>{d(ce(this,Ih))})})},WW),Ml,YW,ggt=(YW=class extends Vg{constructor(e={}){super();kt(this,Ml);this.config=e,nt(this,Ml,new Map)}build(e,r,n){const i=r.queryKey,s=r.queryHash??dN(i,r);let a=this.get(s);return a||(a=new lgt({client:e,queryKey:i,queryHash:s,options:e.defaultQueryOptions(r),state:n,defaultOptions:e.getQueryDefaults(i)}),this.add(a)),a}add(e){ce(this,Ml).has(e.queryHash)||(ce(this,Ml).set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const r=ce(this,Ml).get(e.queryHash);r&&(e.destroy(),r===e&&ce(this,Ml).delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){Vi.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return ce(this,Ml).get(e)}getAll(){return[...ce(this,Ml).values()]}find(e){const r={exact:!0,...e};return this.getAll().find(n=>xG(r,n))}findAll(e={}){const r=this.getAll();return Object.keys(e).length>0?r.filter(n=>xG(e,n)):r}notify(e){Vi.batch(()=>{this.listeners.forEach(r=>{r(e)})})}onFocus(){Vi.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Vi.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Ml=new WeakMap,YW),ri,Rh,Nh,Lm,Im,Oh,Rm,Nm,ZW,ygt=(ZW=class{constructor(t={}){kt(this,ri);kt(this,Rh);kt(this,Nh);kt(this,Lm);kt(this,Im);kt(this,Oh);kt(this,Rm);kt(this,Nm);nt(this,ri,t.queryCache||new ggt),nt(this,Rh,t.mutationCache||new pgt),nt(this,Nh,t.defaultOptions||{}),nt(this,Lm,new Map),nt(this,Im,new Map),nt(this,Oh,0)}mount(){E2(this,Oh)._++,ce(this,Oh)===1&&(nt(this,Rm,hN.subscribe(async t=>{t&&(await this.resumePausedMutations(),ce(this,ri).onFocus())})),nt(this,Nm,AT.subscribe(async t=>{t&&(await this.resumePausedMutations(),ce(this,ri).onOnline())})))}unmount(){var t,e;E2(this,Oh)._--,ce(this,Oh)===0&&((t=ce(this,Rm))==null||t.call(this),nt(this,Rm,void 0),(e=ce(this,Nm))==null||e.call(this),nt(this,Nm,void 0))}isFetching(t){return ce(this,ri).findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return ce(this,Rh).findAll({...t,status:"pending"}).length}getQueryData(t){var r;const e=this.defaultQueryOptions({queryKey:t});return(r=ce(this,ri).get(e.queryHash))==null?void 0:r.state.data}ensureQueryData(t){const e=this.defaultQueryOptions(t),r=ce(this,ri).build(this,e),n=r.state.data;return n===void 0?this.fetchQuery(t):(t.revalidateIfStale&&r.isStaleByTime(Wh(e.staleTime,r))&&this.prefetchQuery(e),Promise.resolve(n))}getQueriesData(t){return ce(this,ri).findAll(t).map(({queryKey:e,state:r})=>{const n=r.data;return[e,n]})}setQueryData(t,e,r){const n=this.defaultQueryOptions({queryKey:t}),i=ce(this,ri).get(n.queryHash),s=i==null?void 0:i.state.data,a=Qmt(e,s);if(a!==void 0)return ce(this,ri).build(this,n).setData(a,{...r,manual:!0})}setQueriesData(t,e,r){return Vi.batch(()=>ce(this,ri).findAll(t).map(({queryKey:n})=>[n,this.setQueryData(n,e,r)]))}getQueryState(t){var r;const e=this.defaultQueryOptions({queryKey:t});return(r=ce(this,ri).get(e.queryHash))==null?void 0:r.state}removeQueries(t){const e=ce(this,ri);Vi.batch(()=>{e.findAll(t).forEach(r=>{e.remove(r)})})}resetQueries(t,e){const r=ce(this,ri);return Vi.batch(()=>(r.findAll(t).forEach(n=>{n.reset()}),this.refetchQueries({type:"active",...t},e)))}cancelQueries(t,e={}){const r={revert:!0,...e},n=Vi.batch(()=>ce(this,ri).findAll(t).map(i=>i.cancel(r)));return Promise.all(n).then(qs).catch(qs)}invalidateQueries(t,e={}){return Vi.batch(()=>(ce(this,ri).findAll(t).forEach(r=>{r.invalidate()}),(t==null?void 0:t.refetchType)==="none"?Promise.resolve():this.refetchQueries({...t,type:(t==null?void 0:t.refetchType)??(t==null?void 0:t.type)??"active"},e)))}refetchQueries(t,e={}){const r={...e,cancelRefetch:e.cancelRefetch??!0},n=Vi.batch(()=>ce(this,ri).findAll(t).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let s=i.fetch(void 0,r);return r.throwOnError||(s=s.catch(qs)),i.state.fetchStatus==="paused"?Promise.resolve():s}));return Promise.all(n).then(qs)}fetchQuery(t){const e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);const r=ce(this,ri).build(this,e);return r.isStaleByTime(Wh(e.staleTime,r))?r.fetch(e):Promise.resolve(r.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(qs).catch(qs)}fetchInfiniteQuery(t){return t.behavior=AG(t.pages),this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(qs).catch(qs)}ensureInfiniteQueryData(t){return t.behavior=AG(t.pages),this.ensureQueryData(t)}resumePausedMutations(){return AT.isOnline()?ce(this,Rh).resumePausedMutations():Promise.resolve()}getQueryCache(){return ce(this,ri)}getMutationCache(){return ce(this,Rh)}getDefaultOptions(){return ce(this,Nh)}setDefaultOptions(t){nt(this,Nh,t)}setQueryDefaults(t,e){ce(this,Lm).set(cp(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const e=[...ce(this,Lm).values()],r={};return e.forEach(n=>{nv(t,n.queryKey)&&Object.assign(r,n.defaultOptions)}),r}setMutationDefaults(t,e){ce(this,Im).set(cp(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const e=[...ce(this,Im).values()],r={};return e.forEach(n=>{nv(t,n.mutationKey)&&Object.assign(r,n.defaultOptions)}),r}defaultQueryOptions(t){if(t._defaulted)return t;const e={...ce(this,Nh).queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=dN(e.queryKey,e)),e.refetchOnReconnect===void 0&&(e.refetchOnReconnect=e.networkMode!=="always"),e.throwOnError===void 0&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.queryFn===fN&&(e.enabled=!1),e}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...ce(this,Nh).mutations,...(t==null?void 0:t.mutationKey)&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){ce(this,ri).clear(),ce(this,Rh).clear()}},ri=new WeakMap,Rh=new WeakMap,Nh=new WeakMap,Lm=new WeakMap,Im=new WeakMap,Oh=new WeakMap,Rm=new WeakMap,Nm=new WeakMap,ZW),Jfe=k.createContext(void 0),PS=t=>{const e=k.useContext(Jfe);if(!e)throw new Error("No QueryClient set, use QueryClientProvider to set one");return e},bgt=({client:t,children:e})=>(k.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),w.jsx(Jfe.Provider,{value:t,children:e})),epe=k.createContext(!1),vgt=()=>k.useContext(epe);epe.Provider;function xgt(){let t=!1;return{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t}}var _gt=k.createContext(xgt()),wgt=()=>k.useContext(_gt),Cgt=(t,e,r)=>{const n=r!=null&&r.state.error&&typeof t.throwOnError=="function"?pN(t.throwOnError,[r.state.error,r]):t.throwOnError;(t.suspense||t.experimental_prefetchInRender||n)&&(e.isReset()||(t.retryOnMount=!1))},Tgt=t=>{k.useEffect(()=>{t.clearReset()},[t])},kgt=({result:t,errorResetBoundary:e,throwOnError:r,query:n,suspense:i})=>t.isError&&!e.isReset()&&!t.isFetching&&n&&(i&&t.data===void 0||pN(r,[t.error,n])),Sgt=t=>{if(t.suspense){const r=i=>i==="static"?i:Math.max(i??1e3,1e3),n=t.staleTime;t.staleTime=typeof n=="function"?(...i)=>r(n(...i)):r(n),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3))}},Egt=(t,e)=>t.isLoading&&t.isFetching&&!e,Agt=(t,e)=>(t==null?void 0:t.suspense)&&e.isPending,LG=(t,e,r)=>e.fetchOptimistic(t).catch(()=>{r.clearReset()});function Dgt(t,e,r){var m,p,y,b;const n=vgt(),i=wgt(),s=PS(),a=s.defaultQueryOptions(t);(p=(m=s.getDefaultOptions().queries)==null?void 0:m._experimental_beforeQuery)==null||p.call(m,a);const o=s.getQueryCache().get(a.queryHash);a._optimisticResults=n?"isRestoring":"optimistic",Sgt(a),Cgt(a,i,o),Tgt(i);const l=!s.getQueryCache().get(a.queryHash),[c]=k.useState(()=>new e(s,a)),u=c.getOptimisticResult(a),d=!n&&t.subscribed!==!1;if(k.useSyncExternalStore(k.useCallback(v=>{const x=d?c.subscribe(Vi.batchCalls(v)):qs;return c.updateResult(),x},[c,d]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),k.useEffect(()=>{c.setOptions(a)},[a,c]),Agt(a,u))throw LG(a,c,i);if(kgt({result:u,errorResetBoundary:i,throwOnError:a.throwOnError,query:o,suspense:a.suspense}))throw u.error;if((b=(y=s.getDefaultOptions().queries)==null?void 0:y._experimental_afterQuery)==null||b.call(y,a,u),a.experimental_prefetchInRender&&!iv.isServer()&&Egt(u,n)){const v=l?LG(a,c,i):o==null?void 0:o.promise;v==null||v.catch(qs).finally(()=>{c.updateResult()})}return a.notifyOnChangeProps?u:c.trackResult(u)}function gN(t,e){return Dgt(t,cgt)}function BS(t,e){const r=PS(),[n]=k.useState(()=>new mgt(r,t));k.useEffect(()=>{n.setOptions(t)},[n,t]);const i=k.useSyncExternalStore(k.useCallback(a=>n.subscribe(Vi.batchCalls(a)),[n]),()=>n.getCurrentResult(),()=>n.getCurrentResult()),s=k.useCallback((a,o)=>{n.mutate(a,o).catch(qs)},[n]);if(i.error&&pN(n.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:s,mutateAsync:i.mutate}}const yN="-",Lgt=t=>{const e=Rgt(t),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=t;return{getClassGroupId:a=>{const o=a.split(yN);return o[0]===""&&o.length!==1&&o.shift(),tpe(o,e)||Igt(a)},getConflictingClassGroupIds:(a,o)=>{const l=r[a]||[];return o&&n[a]?[...l,...n[a]]:l}}},tpe=(t,e)=>{var a;if(t.length===0)return e.classGroupId;const r=t[0],n=e.nextPart.get(r),i=n?tpe(t.slice(1),n):void 0;if(i)return i;if(e.validators.length===0)return;const s=t.join(yN);return(a=e.validators.find(({validator:o})=>o(s)))==null?void 0:a.classGroupId},IG=/^\[(.+)\]$/,Igt=t=>{if(IG.test(t)){const e=IG.exec(t)[1],r=e==null?void 0:e.substring(0,e.indexOf(":"));if(r)return"arbitrary.."+r}},Rgt=t=>{const{theme:e,prefix:r}=t,n={nextPart:new Map,validators:[]};return Ogt(Object.entries(t.classGroups),r).forEach(([s,a])=>{xD(a,n,s,e)}),n},xD=(t,e,r,n)=>{t.forEach(i=>{if(typeof i=="string"){const s=i===""?e:RG(e,i);s.classGroupId=r;return}if(typeof i=="function"){if(Ngt(i)){xD(i(n),e,r,n);return}e.validators.push({validator:i,classGroupId:r});return}Object.entries(i).forEach(([s,a])=>{xD(a,RG(e,s),r,n)})})},RG=(t,e)=>{let r=t;return e.split(yN).forEach(n=>{r.nextPart.has(n)||r.nextPart.set(n,{nextPart:new Map,validators:[]}),r=r.nextPart.get(n)}),r},Ngt=t=>t.isThemeGetter,Ogt=(t,e)=>e?t.map(([r,n])=>{const i=n.map(s=>typeof s=="string"?e+s:typeof s=="object"?Object.fromEntries(Object.entries(s).map(([a,o])=>[e+a,o])):s);return[r,i]}):t,Mgt=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,r=new Map,n=new Map;const i=(s,a)=>{r.set(s,a),e++,e>t&&(e=0,n=r,r=new Map)};return{get(s){let a=r.get(s);if(a!==void 0)return a;if((a=n.get(s))!==void 0)return i(s,a),a},set(s,a){r.has(s)?r.set(s,a):i(s,a)}}},rpe="!",Pgt=t=>{const{separator:e,experimentalParseClassName:r}=t,n=e.length===1,i=e[0],s=e.length,a=o=>{const l=[];let c=0,u=0,d;for(let v=0;v<o.length;v++){let x=o[v];if(c===0){if(x===i&&(n||o.slice(v,v+s)===e)){l.push(o.slice(u,v)),u=v+s;continue}if(x==="/"){d=v;continue}}x==="["?c++:x==="]"&&c--}const m=l.length===0?o:o.substring(u),p=m.startsWith(rpe),y=p?m.substring(1):m,b=d&&d>u?d-u:void 0;return{modifiers:l,hasImportantModifier:p,baseClassName:y,maybePostfixModifierPosition:b}};return r?o=>r({className:o,parseClassName:a}):a},Bgt=t=>{if(t.length<=1)return t;const e=[];let r=[];return t.forEach(n=>{n[0]==="["?(e.push(...r.sort(),n),r=[]):r.push(n)}),e.push(...r.sort()),e},Fgt=t=>({cache:Mgt(t.cacheSize),parseClassName:Pgt(t),...Lgt(t)}),$gt=/\s+/,zgt=(t,e)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:i}=e,s=[],a=t.trim().split($gt);let o="";for(let l=a.length-1;l>=0;l-=1){const c=a[l],{modifiers:u,hasImportantModifier:d,baseClassName:m,maybePostfixModifierPosition:p}=r(c);let y=!!p,b=n(y?m.substring(0,p):m);if(!b){if(!y){o=c+(o.length>0?" "+o:o);continue}if(b=n(m),!b){o=c+(o.length>0?" "+o:o);continue}y=!1}const v=Bgt(u).join(":"),x=d?v+rpe:v,C=x+b;if(s.includes(C))continue;s.push(C);const T=i(b,y);for(let S=0;S<T.length;++S){const L=T[S];s.push(x+L)}o=c+(o.length>0?" "+o:o)}return o};function jgt(){let t=0,e,r,n="";for(;t<arguments.length;)(e=arguments[t++])&&(r=npe(e))&&(n&&(n+=" "),n+=r);return n}const npe=t=>{if(typeof t=="string")return t;let e,r="";for(let n=0;n<t.length;n++)t[n]&&(e=npe(t[n]))&&(r&&(r+=" "),r+=e);return r};function Hgt(t,...e){let r,n,i,s=a;function a(l){const c=e.reduce((u,d)=>d(u),t());return r=Fgt(c),n=r.cache.get,i=r.cache.set,s=o,o(l)}function o(l){const c=n(l);if(c)return c;const u=zgt(l,r);return i(l,u),u}return function(){return s(jgt.apply(null,arguments))}}const Ln=t=>{const e=r=>r[t]||[];return e.isThemeGetter=!0,e},ipe=/^\[(?:([a-z-]+):)?(.+)\]$/i,Vgt=/^\d+\/\d+$/,Ugt=new Set(["px","full","screen"]),qgt=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ggt=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Wgt=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Ygt=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Zgt=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,zc=t=>om(t)||Ugt.has(t)||Vgt.test(t),ih=t=>Ug(t,"length",n1t),om=t=>!!t&&!Number.isNaN(Number(t)),L6=t=>Ug(t,"number",om),uy=t=>!!t&&Number.isInteger(Number(t)),Xgt=t=>t.endsWith("%")&&om(t.slice(0,-1)),dr=t=>ipe.test(t),sh=t=>qgt.test(t),Kgt=new Set(["length","size","percentage"]),Qgt=t=>Ug(t,Kgt,spe),Jgt=t=>Ug(t,"position",spe),e1t=new Set(["image","url"]),t1t=t=>Ug(t,e1t,s1t),r1t=t=>Ug(t,"",i1t),hy=()=>!0,Ug=(t,e,r)=>{const n=ipe.exec(t);return n?n[1]?typeof e=="string"?n[1]===e:e.has(n[1]):r(n[2]):!1},n1t=t=>Ggt.test(t)&&!Wgt.test(t),spe=()=>!1,i1t=t=>Ygt.test(t),s1t=t=>Zgt.test(t),a1t=()=>{const t=Ln("colors"),e=Ln("spacing"),r=Ln("blur"),n=Ln("brightness"),i=Ln("borderColor"),s=Ln("borderRadius"),a=Ln("borderSpacing"),o=Ln("borderWidth"),l=Ln("contrast"),c=Ln("grayscale"),u=Ln("hueRotate"),d=Ln("invert"),m=Ln("gap"),p=Ln("gradientColorStops"),y=Ln("gradientColorStopPositions"),b=Ln("inset"),v=Ln("margin"),x=Ln("opacity"),C=Ln("padding"),T=Ln("saturate"),S=Ln("scale"),L=Ln("sepia"),D=Ln("skew"),I=Ln("space"),N=Ln("translate"),H=()=>["auto","contain","none"],B=()=>["auto","hidden","clip","visible","scroll"],j=()=>["auto",dr,e],Z=()=>[dr,e],te=()=>["",zc,ih],U=()=>["auto",om,dr],V=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],F=()=>["solid","dashed","dotted","double","none"],X=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Q=()=>["start","end","center","between","around","evenly","stretch"],ae=()=>["","0",dr],q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],J=()=>[om,dr];return{cacheSize:500,separator:":",theme:{colors:[hy],spacing:[zc,ih],blur:["none","",sh,dr],brightness:J(),borderColor:[t],borderRadius:["none","","full",sh,dr],borderSpacing:Z(),borderWidth:te(),contrast:J(),grayscale:ae(),hueRotate:J(),invert:ae(),gap:Z(),gradientColorStops:[t],gradientColorStopPositions:[Xgt,ih],inset:j(),margin:j(),opacity:J(),padding:Z(),saturate:J(),scale:J(),sepia:ae(),skew:J(),space:Z(),translate:Z()},classGroups:{aspect:[{aspect:["auto","square","video",dr]}],container:["container"],columns:[{columns:[sh]}],"break-after":[{"break-after":q()}],"break-before":[{"break-before":q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...V(),dr]}],overflow:[{overflow:B()}],"overflow-x":[{"overflow-x":B()}],"overflow-y":[{"overflow-y":B()}],overscroll:[{overscroll:H()}],"overscroll-x":[{"overscroll-x":H()}],"overscroll-y":[{"overscroll-y":H()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[b]}],"inset-x":[{"inset-x":[b]}],"inset-y":[{"inset-y":[b]}],start:[{start:[b]}],end:[{end:[b]}],top:[{top:[b]}],right:[{right:[b]}],bottom:[{bottom:[b]}],left:[{left:[b]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",uy,dr]}],basis:[{basis:j()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",dr]}],grow:[{grow:ae()}],shrink:[{shrink:ae()}],order:[{order:["first","last","none",uy,dr]}],"grid-cols":[{"grid-cols":[hy]}],"col-start-end":[{col:["auto",{span:["full",uy,dr]},dr]}],"col-start":[{"col-start":U()}],"col-end":[{"col-end":U()}],"grid-rows":[{"grid-rows":[hy]}],"row-start-end":[{row:["auto",{span:[uy,dr]},dr]}],"row-start":[{"row-start":U()}],"row-end":[{"row-end":U()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",dr]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",dr]}],gap:[{gap:[m]}],"gap-x":[{"gap-x":[m]}],"gap-y":[{"gap-y":[m]}],"justify-content":[{justify:["normal",...Q()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...Q(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...Q(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[C]}],px:[{px:[C]}],py:[{py:[C]}],ps:[{ps:[C]}],pe:[{pe:[C]}],pt:[{pt:[C]}],pr:[{pr:[C]}],pb:[{pb:[C]}],pl:[{pl:[C]}],m:[{m:[v]}],mx:[{mx:[v]}],my:[{my:[v]}],ms:[{ms:[v]}],me:[{me:[v]}],mt:[{mt:[v]}],mr:[{mr:[v]}],mb:[{mb:[v]}],ml:[{ml:[v]}],"space-x":[{"space-x":[I]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[I]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",dr,e]}],"min-w":[{"min-w":[dr,e,"min","max","fit"]}],"max-w":[{"max-w":[dr,e,"none","full","min","max","fit","prose",{screen:[sh]},sh]}],h:[{h:[dr,e,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[dr,e,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[dr,e,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[dr,e,"auto","min","max","fit"]}],"font-size":[{text:["base",sh,ih]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",L6]}],"font-family":[{font:[hy]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",dr]}],"line-clamp":[{"line-clamp":["none",om,L6]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",zc,dr]}],"list-image":[{"list-image":["none",dr]}],"list-style-type":[{list:["none","disc","decimal",dr]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[t]}],"placeholder-opacity":[{"placeholder-opacity":[x]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[t]}],"text-opacity":[{"text-opacity":[x]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...F(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",zc,ih]}],"underline-offset":[{"underline-offset":["auto",zc,dr]}],"text-decoration-color":[{decoration:[t]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Z()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",dr]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",dr]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[x]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...V(),Jgt]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",Qgt]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},t1t]}],"bg-color":[{bg:[t]}],"gradient-from-pos":[{from:[y]}],"gradient-via-pos":[{via:[y]}],"gradient-to-pos":[{to:[y]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[s]}],"rounded-s":[{"rounded-s":[s]}],"rounded-e":[{"rounded-e":[s]}],"rounded-t":[{"rounded-t":[s]}],"rounded-r":[{"rounded-r":[s]}],"rounded-b":[{"rounded-b":[s]}],"rounded-l":[{"rounded-l":[s]}],"rounded-ss":[{"rounded-ss":[s]}],"rounded-se":[{"rounded-se":[s]}],"rounded-ee":[{"rounded-ee":[s]}],"rounded-es":[{"rounded-es":[s]}],"rounded-tl":[{"rounded-tl":[s]}],"rounded-tr":[{"rounded-tr":[s]}],"rounded-br":[{"rounded-br":[s]}],"rounded-bl":[{"rounded-bl":[s]}],"border-w":[{border:[o]}],"border-w-x":[{"border-x":[o]}],"border-w-y":[{"border-y":[o]}],"border-w-s":[{"border-s":[o]}],"border-w-e":[{"border-e":[o]}],"border-w-t":[{"border-t":[o]}],"border-w-r":[{"border-r":[o]}],"border-w-b":[{"border-b":[o]}],"border-w-l":[{"border-l":[o]}],"border-opacity":[{"border-opacity":[x]}],"border-style":[{border:[...F(),"hidden"]}],"divide-x":[{"divide-x":[o]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[o]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[x]}],"divide-style":[{divide:F()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:["",...F()]}],"outline-offset":[{"outline-offset":[zc,dr]}],"outline-w":[{outline:[zc,ih]}],"outline-color":[{outline:[t]}],"ring-w":[{ring:te()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[t]}],"ring-opacity":[{"ring-opacity":[x]}],"ring-offset-w":[{"ring-offset":[zc,ih]}],"ring-offset-color":[{"ring-offset":[t]}],shadow:[{shadow:["","inner","none",sh,r1t]}],"shadow-color":[{shadow:[hy]}],opacity:[{opacity:[x]}],"mix-blend":[{"mix-blend":[...X(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":X()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[n]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",sh,dr]}],grayscale:[{grayscale:[c]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[T]}],sepia:[{sepia:[L]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[c]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[x]}],"backdrop-saturate":[{"backdrop-saturate":[T]}],"backdrop-sepia":[{"backdrop-sepia":[L]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",dr]}],duration:[{duration:J()}],ease:[{ease:["linear","in","out","in-out",dr]}],delay:[{delay:J()}],animate:[{animate:["none","spin","ping","pulse","bounce",dr]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[S]}],"scale-x":[{"scale-x":[S]}],"scale-y":[{"scale-y":[S]}],rotate:[{rotate:[uy,dr]}],"translate-x":[{"translate-x":[N]}],"translate-y":[{"translate-y":[N]}],"skew-x":[{"skew-x":[D]}],"skew-y":[{"skew-y":[D]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",dr]}],accent:[{accent:["auto",t]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",dr]}],"caret-color":[{caret:[t]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":Z()}],"scroll-mx":[{"scroll-mx":Z()}],"scroll-my":[{"scroll-my":Z()}],"scroll-ms":[{"scroll-ms":Z()}],"scroll-me":[{"scroll-me":Z()}],"scroll-mt":[{"scroll-mt":Z()}],"scroll-mr":[{"scroll-mr":Z()}],"scroll-mb":[{"scroll-mb":Z()}],"scroll-ml":[{"scroll-ml":Z()}],"scroll-p":[{"scroll-p":Z()}],"scroll-px":[{"scroll-px":Z()}],"scroll-py":[{"scroll-py":Z()}],"scroll-ps":[{"scroll-ps":Z()}],"scroll-pe":[{"scroll-pe":Z()}],"scroll-pt":[{"scroll-pt":Z()}],"scroll-pr":[{"scroll-pr":Z()}],"scroll-pb":[{"scroll-pb":Z()}],"scroll-pl":[{"scroll-pl":Z()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",dr]}],fill:[{fill:[t,"none"]}],"stroke-w":[{stroke:[zc,ih,L6]}],stroke:[{stroke:[t,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},o1t=Hgt(a1t);function kn(...t){return o1t(cg(t))}class ape{}class Yh extends ape{constructor(e,r,n){super(),this.viewId=e,this.groupId=r,this.panelId=n}}class fb extends ape{constructor(e,r){super(),this.viewId=e,this.paneId=r}}class nc{constructor(){}static getInstance(){return nc.INSTANCE}hasData(e){return e&&e===this.proto}clearData(e){this.hasData(e)&&(this.proto=void 0,this.data=void 0)}getData(e){if(this.hasData(e))return this.data}setData(e,r){r&&(this.data=e,this.proto=r)}}nc.INSTANCE=new nc;function Es(){const t=nc.getInstance();if(t.hasData(Yh.prototype))return t.getData(Yh.prototype)[0]}function dy(){const t=nc.getInstance();if(t.hasData(fb.prototype))return t.getData(fb.prototype)[0]}var zf;(function(t){t.any=(...e)=>r=>{const n=e.map(i=>i(r));return{dispose:()=>{n.forEach(i=>{i.dispose()})}}}})(zf||(zf={}));class bN{constructor(){this._defaultPrevented=!1}get defaultPrevented(){return this._defaultPrevented}preventDefault(){this._defaultPrevented=!0}}class ope{constructor(){this._isAccepted=!1}get isAccepted(){return this._isAccepted}accept(){this._isAccepted=!0}}class l1t{constructor(){this.events=new Map}get size(){return this.events.size}add(e,r){this.events.set(e,r)}delete(e){this.events.delete(e)}clear(){this.events.clear()}}class DT{static create(){var e;return new DT((e=new Error().stack)!==null&&e!==void 0?e:"")}constructor(e){this.value=e}print(){console.warn("dockview: stacktrace",this.value)}}class c1t{constructor(e,r){this.callback=e,this.stacktrace=r}}class Be{static setLeakageMonitorEnabled(e){e!==Be.ENABLE_TRACKING&&Be.MEMORY_LEAK_WATCHER.clear(),Be.ENABLE_TRACKING=e}get value(){return this._last}constructor(e){this.options=e,this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=e=>{var r;!((r=this.options)===null||r===void 0)&&r.replay&&this._last!==void 0&&e(this._last);const n=new c1t(e,Be.ENABLE_TRACKING?DT.create():void 0);return this._listeners.push(n),{dispose:()=>{const i=this._listeners.indexOf(n);i>-1&&this._listeners.splice(i,1)}}},Be.ENABLE_TRACKING&&Be.MEMORY_LEAK_WATCHER.add(this._event,DT.create())),this._event}fire(e){var r;!((r=this.options)===null||r===void 0)&&r.replay&&(this._last=e);for(const n of this._listeners)n.callback(e)}dispose(){this._disposed||(this._disposed=!0,this._listeners.length>0&&(Be.ENABLE_TRACKING&&queueMicrotask(()=>{var e;for(const r of this._listeners)console.warn("dockview: stacktrace",(e=r.stacktrace)===null||e===void 0?void 0:e.print())}),this._listeners=[]),Be.ENABLE_TRACKING&&this._event&&Be.MEMORY_LEAK_WATCHER.delete(this._event))}}Be.ENABLE_TRACKING=!1;Be.MEMORY_LEAK_WATCHER=new l1t;function gr(t,e,r,n){return t.addEventListener(e,r,n),{dispose:()=>{t.removeEventListener(e,r,n)}}}class NG{constructor(){this._onFired=new Be,this._currentFireCount=0,this._queued=!1,this.onEvent=e=>{const r=this._currentFireCount;return this._onFired.event(()=>{this._currentFireCount>r&&e()})}}fire(){this._currentFireCount++,!this._queued&&(this._queued=!0,queueMicrotask(()=>{this._queued=!1,this._onFired.fire()}))}dispose(){this._onFired.dispose()}}var Ei;(function(t){t.NONE={dispose:()=>{}};function e(r){return{dispose:()=>{r()}}}t.from=e})(Ei||(Ei={}));class Wt{get isDisposed(){return this._isDisposed}constructor(...e){this._isDisposed=!1,this._disposables=e}addDisposables(...e){e.forEach(r=>this._disposables.push(r))}dispose(){this._isDisposed||(this._isDisposed=!0,this._disposables.forEach(e=>e.dispose()),this._disposables=[])}}class Is{constructor(){this._disposable=Ei.NONE}set value(e){this._disposable&&this._disposable.dispose(),this._disposable=e}dispose(){this._disposable&&(this._disposable.dispose(),this._disposable=Ei.NONE)}}class u1t extends Wt{constructor(e){super(),this._onDidChange=new Be,this.onDidChange=this._onDidChange.event,this._value=null,this.addDisposables(this._onDidChange,FS(e,r=>{const n=r.target.scrollWidth>r.target.clientWidth,i=r.target.scrollHeight>r.target.clientHeight;this._value={hasScrollX:n,hasScrollY:i},this._onDidChange.fire(this._value)}))}}function FS(t,e){const r=new ResizeObserver(n=>{requestAnimationFrame(()=>{const i=n[0];e(i)})});return r.observe(t),{dispose:()=>{r.unobserve(t),r.disconnect()}}}const sv=(t,...e)=>{for(const r of e)t.classList.contains(r)&&t.classList.remove(r)},$S=(t,...e)=>{for(const r of e)t.classList.contains(r)||t.classList.add(r)},Gt=(t,e,r)=>{const n=t.classList.contains(e);r&&!n&&t.classList.add(e),!r&&n&&t.classList.remove(e)};function _D(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}function lpe(t){return new h1t(t)}class h1t extends Wt{constructor(e){super(),this._onDidFocus=new Be,this.onDidFocus=this._onDidFocus.event,this._onDidBlur=new Be,this.onDidBlur=this._onDidBlur.event,this.addDisposables(this._onDidFocus,this._onDidBlur);let r=_D(document.activeElement,e),n=!1;const i=()=>{n=!1,r||(r=!0,this._onDidFocus.fire())},s=()=>{r&&(n=!0,window.setTimeout(()=>{n&&(n=!1,r=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{_D(document.activeElement,e)!==r&&(r?s():i())},this.addDisposables(gr(e,"focus",i,!0)),this.addDisposables(gr(e,"blur",s,!0))}refreshState(){this._refreshStateHandler()}}const cpe="dv-quasiPreventDefault";function d1t(t){t[cpe]=!0}function OG(t){return t[cpe]}function f1t(t,e){const r=Array.from(e);for(const n of r){if(n.href){const s=t.createElement("link");s.href=n.href,s.type=n.type,s.rel="stylesheet",t.head.appendChild(s)}let i=[];try{n.cssRules&&(i=Array.from(n.cssRules).map(s=>s.cssText))}catch{}for(const s of i){const a=t.createElement("style");a.appendChild(t.createTextNode(s)),t.head.appendChild(a)}}}function wD(t){const{left:e,top:r,width:n,height:i}=t.getBoundingClientRect();return{left:e+window.scrollX,top:r+window.scrollY,width:n,height:i}}function p1t(t){let e=t;for(;e!=null&&e.parentNode;){if(e.parentNode===document)return!0;e.parentNode instanceof DocumentFragment?e=e.parentNode.host:e=e.parentNode}return!1}function m1t(t,e){t.setAttribute("data-testid",e)}function g1t(t){const e=[];function r(n){if(n.nodeType===Node.ELEMENT_NODE){t.includes(n.tagName)&&e.push(n),n.shadowRoot&&r(n.shadowRoot);for(const i of n.children)r(i)}}return r(document.documentElement),e}function LT(t=document){const e=g1t(["IFRAME","WEBVIEW"]),r=new WeakMap;for(const n of e)r.set(n,n.style.pointerEvents),n.style.pointerEvents="none";return{release:()=>{var n;for(const i of e)i.style.pointerEvents=(n=r.get(i))!==null&&n!==void 0?n:"auto";e.splice(0,e.length)}}}function y1t(t){function e(i){const s=[];for(let a=0;a<i.classList.length;a++)s.push(i.classList.item(a));return s}let r,n=t;for(;n!==null&&(r=e(n).find(i=>i.startsWith("dockview-theme-")),typeof r!="string");)n=n.parentElement;return r}class zS{constructor(e){this.element=e,this._classNames=[]}setClassNames(e){for(const r of this._classNames)Gt(this.element,r,!1);this._classNames=e.split(" ").filter(r=>r.trim().length>0);for(const r of this._classNames)Gt(this.element,r,!0)}}const upe=100;function b1t(t,e){const r=wD(t),n=wD(e);return!(r.left<n.left||r.left+r.width>n.left+n.width)}function v1t(t){const e=new Be;let r=t.screenX,n=t.screenY,i;const s=()=>{if(t.closed)return;const a=t.screenX,o=t.screenY;(a!==r||o!==n)&&(clearTimeout(i),i=setTimeout(()=>{e.fire()},upe),r=a,n=o),requestAnimationFrame(s)};return s(),e}function x1t(t,e){let r;return new Wt(gr(t,"resize",()=>{clearTimeout(r),r=setTimeout(()=>{e()},upe)}))}function _1t(t,e,r={buffer:10}){const n=r.buffer,i=t.getBoundingClientRect(),s=e.getBoundingClientRect();let a=0,o=0;const l=i.left-s.left,c=i.top-s.top,u=i.bottom-s.bottom,d=i.right-s.right;l<n?a=n-l:d>n&&(a=-n-d),c<n?o=n-c:u>n&&(o=-u-n),(a!==0||o!==0)&&(t.style.transform=`translate(${a}px, ${o}px)`)}function w1t(t){let e=t;for(;e&&(e.style.zIndex==="auto"||e.style.zIndex==="");)e=e.parentElement;return e}function iu(t){if(t.length===0)throw new Error("Invalid tail call");return[t.slice(0,t.length-1),t[t.length-1]]}function hpe(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function I6(t,e){const r=t.indexOf(e);r>-1&&(t.splice(r,1),t.unshift(e))}function I_(t,e){const r=t.indexOf(e);r>-1&&(t.splice(r,1),t.push(e))}function C1t(t,e){for(let r=0;r<t.length;r++){const n=t[r];if(e(n))return r}return-1}function R6(t,e){const r=t.findIndex(n=>n===e);return r>-1?(t.splice(r,1),!0):!1}const Nn=(t,e,r)=>e>r?e:Math.min(r,Math.max(t,e)),vN=()=>{let t=1;return{next:()=>(t++).toString()}},Vo=(t,e)=>{const r=[];if(typeof e!="number"&&(e=t,t=0),t<=e)for(let n=t;n<e;n++)r.push(n);else for(let n=t;n>e;n--)r.push(n);return r};class T1t{set size(e){this._size=e}get size(){return this._size}get cachedVisibleSize(){return this._cachedVisibleSize}get visible(){return typeof this._cachedVisibleSize>"u"}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get snap(){return!!this.view.snap}set enabled(e){this.container.style.pointerEvents=e?"":"none"}constructor(e,r,n,i){this.container=e,this.view=r,this.disposable=i,this._cachedVisibleSize=void 0,typeof n=="number"?(this._size=n,this._cachedVisibleSize=void 0,e.classList.add("visible")):(this._size=0,this._cachedVisibleSize=n.cachedVisibleSize)}setVisible(e,r){var n;e!==this.visible&&(e?(this.size=Nn((n=this._cachedVisibleSize)!==null&&n!==void 0?n:0,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof r=="number"?r:this.size,this.size=0),this.container.classList.toggle("visible",e),this.view.setVisible&&this.view.setVisible(e))}dispose(){return this.disposable.dispose(),this.view}}var Ot;(function(t){t.HORIZONTAL="HORIZONTAL",t.VERTICAL="VERTICAL"})(Ot||(Ot={}));var go;(function(t){t[t.MAXIMUM=0]="MAXIMUM",t[t.MINIMUM=1]="MINIMUM",t[t.DISABLED=2]="DISABLED",t[t.ENABLED=3]="ENABLED"})(go||(go={}));var $i;(function(t){t.Low="low",t.High="high",t.Normal="normal"})($i||($i={}));var So;(function(t){t.Distribute={type:"distribute"};function e(n){return{type:"split",index:n}}t.Split=e;function r(n){return{type:"invisible",cachedVisibleSize:n}}t.Invisible=r})(So||(So={}));class av{get contentSize(){return this._contentSize}get size(){return this._size}set size(e){this._size=e}get orthogonalSize(){return this._orthogonalSize}set orthogonalSize(e){this._orthogonalSize=e}get length(){return this.viewItems.length}get proportions(){return this._proportions?[...this._proportions]:void 0}get orientation(){return this._orientation}set orientation(e){this._orientation=e;const r=this.size;this.size=this.orthogonalSize,this.orthogonalSize=r,sv(this.element,"dv-horizontal","dv-vertical"),this.element.classList.add(this.orientation==Ot.HORIZONTAL?"dv-horizontal":"dv-vertical")}get minimumSize(){return this.viewItems.reduce((e,r)=>e+r.minimumSize,0)}get maximumSize(){return this.length===0?Number.POSITIVE_INFINITY:this.viewItems.reduce((e,r)=>e+r.maximumSize,0)}get startSnappingEnabled(){return this._startSnappingEnabled}set startSnappingEnabled(e){this._startSnappingEnabled!==e&&(this._startSnappingEnabled=e,this.updateSashEnablement())}get endSnappingEnabled(){return this._endSnappingEnabled}set endSnappingEnabled(e){this._endSnappingEnabled!==e&&(this._endSnappingEnabled=e,this.updateSashEnablement())}get disabled(){return this._disabled}set disabled(e){this._disabled=e,Gt(this.element,"dv-splitview-disabled",e)}get margin(){return this._margin}set margin(e){this._margin=e,Gt(this.element,"dv-splitview-has-margin",e!==0)}constructor(e,r){var n,i;this.container=e,this.viewItems=[],this.sashes=[],this._size=0,this._orthogonalSize=0,this._contentSize=0,this._proportions=void 0,this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this._disabled=!1,this._margin=0,this._onDidSashEnd=new Be,this.onDidSashEnd=this._onDidSashEnd.event,this._onDidAddView=new Be,this.onDidAddView=this._onDidAddView.event,this._onDidRemoveView=new Be,this.onDidRemoveView=this._onDidRemoveView.event,this.resize=(s,a,o=this.viewItems.map(y=>y.size),l,c,u=Number.NEGATIVE_INFINITY,d=Number.POSITIVE_INFINITY,m,p)=>{if(s<0||s>this.viewItems.length)return 0;const y=Vo(s,-1),b=Vo(s+1,this.viewItems.length);if(c)for(const V of c)I6(y,V),I6(b,V);if(l)for(const V of l)I_(y,V),I_(b,V);const v=y.map(V=>this.viewItems[V]),x=y.map(V=>o[V]),C=b.map(V=>this.viewItems[V]),T=b.map(V=>o[V]),S=y.reduce((V,F)=>V+this.viewItems[F].minimumSize-o[F],0),L=y.reduce((V,F)=>V+this.viewItems[F].maximumSize-o[F],0),D=b.length===0?Number.POSITIVE_INFINITY:b.reduce((V,F)=>V+o[F]-this.viewItems[F].minimumSize,0),I=b.length===0?Number.NEGATIVE_INFINITY:b.reduce((V,F)=>V+o[F]-this.viewItems[F].maximumSize,0),N=Math.max(S,I),H=Math.min(D,L);let B=!1;if(m){const V=this.viewItems[m.index],F=a>=m.limitDelta;B=F!==V.visible,V.setVisible(F,m.size)}if(!B&&p){const V=this.viewItems[p.index],F=a<p.limitDelta;B=F!==V.visible,V.setVisible(F,p.size)}if(B)return this.resize(s,a,o,l,c,u,d);const j=Nn(a,N,H);let Z=0,te=j;for(let V=0;V<v.length;V++){const F=v[V],X=Nn(x[V]+te,F.minimumSize,F.maximumSize),Q=X-x[V];Z+=Q,te-=Q,F.size=X}let U=Z;for(let V=0;V<C.length;V++){const F=C[V],X=Nn(T[V]-U,F.minimumSize,F.maximumSize),Q=X-T[V];U+=Q,F.size=X}return a},this._orientation=(n=r.orientation)!==null&&n!==void 0?n:Ot.VERTICAL,this.element=this.createContainer(),this.margin=(i=r.margin)!==null&&i!==void 0?i:0,this.proportionalLayout=r.proportionalLayout===void 0?!0:!!r.proportionalLayout,this.viewContainer=this.createViewContainer(),this.sashContainer=this.createSashContainer(),this.element.appendChild(this.sashContainer),this.element.appendChild(this.viewContainer),this.container.appendChild(this.element),this.style(r.styles),r.descriptor&&(this._size=r.descriptor.size,r.descriptor.views.forEach((s,a)=>{const o=s.visible===void 0||s.visible?s.size:{type:"invisible",cachedVisibleSize:s.size},l=s.view;this.addView(l,o,a,!0)}),this._contentSize=this.viewItems.reduce((s,a)=>s+a.size,0),this.saveProportions())}style(e){(e==null?void 0:e.separatorBorder)==="transparent"?(sv(this.element,"dv-separator-border"),this.element.style.removeProperty("--dv-separator-border")):($S(this.element,"dv-separator-border"),e!=null&&e.separatorBorder&&this.element.style.setProperty("--dv-separator-border",e.separatorBorder))}isViewVisible(e){if(e<0||e>=this.viewItems.length)throw new Error("Index out of bounds");return this.viewItems[e].visible}setViewVisible(e,r){if(e<0||e>=this.viewItems.length)throw new Error("Index out of bounds");const n=this.viewItems[e];n.setVisible(r,n.size),this.distributeEmptySpace(e),this.layoutViews(),this.saveProportions()}getViewSize(e){return e<0||e>=this.viewItems.length?-1:this.viewItems[e].size}resizeView(e,r){if(e<0||e>=this.viewItems.length)return;const n=Vo(this.viewItems.length).filter(o=>o!==e),i=[...n.filter(o=>this.viewItems[o].priority===$i.Low),e],s=n.filter(o=>this.viewItems[o].priority===$i.High),a=this.viewItems[e];r=Math.round(r),r=Nn(r,a.minimumSize,Math.min(a.maximumSize,this._size)),a.size=r,this.relayout(i,s)}getViews(){return this.viewItems.map(e=>e.view)}onDidChange(e,r){const n=this.viewItems.indexOf(e);if(n<0||n>=this.viewItems.length)return;r=typeof r=="number"?r:e.size,r=Nn(r,e.minimumSize,e.maximumSize),e.size=r;const i=Vo(this.viewItems.length).filter(o=>o!==n),s=[...i.filter(o=>this.viewItems[o].priority===$i.Low),n],a=i.filter(o=>this.viewItems[o].priority===$i.High);this.relayout([...s,n],a)}addView(e,r={type:"distribute"},n=this.viewItems.length,i){const s=document.createElement("div");s.className="dv-view",s.appendChild(e.element);let a;typeof r=="number"?a=r:r.type==="split"?a=this.getViewSize(r.index)/2:r.type==="invisible"?a={cachedVisibleSize:r.cachedVisibleSize}:a=e.minimumSize;const o=e.onDidChange(c=>this.onDidChange(l,c.size)),l=new T1t(s,e,a,{dispose:()=>{o.dispose(),this.viewContainer.removeChild(s)}});if(n===this.viewItems.length?this.viewContainer.appendChild(s):this.viewContainer.insertBefore(s,this.viewContainer.children.item(n)),this.viewItems.splice(n,0,l),this.viewItems.length>1){const c=document.createElement("div");c.className="dv-sash";const u=m=>{for(const V of this.viewItems)V.enabled=!1;const p=LT(),y=this._orientation===Ot.HORIZONTAL?m.clientX:m.clientY,b=C1t(this.sashes,V=>V.container===c),v=this.viewItems.map(V=>V.size);let x,C;const T=Vo(b,-1),S=Vo(b+1,this.viewItems.length),L=T.reduce((V,F)=>V+(this.viewItems[F].minimumSize-v[F]),0),D=T.reduce((V,F)=>V+(this.viewItems[F].viewMaximumSize-v[F]),0),I=S.length===0?Number.POSITIVE_INFINITY:S.reduce((V,F)=>V+(v[F]-this.viewItems[F].minimumSize),0),N=S.length===0?Number.NEGATIVE_INFINITY:S.reduce((V,F)=>V+(v[F]-this.viewItems[F].viewMaximumSize),0),H=Math.max(L,N),B=Math.min(I,D),j=this.findFirstSnapIndex(T),Z=this.findFirstSnapIndex(S);if(typeof j=="number"){const V=this.viewItems[j],F=Math.floor(V.viewMinimumSize/2);x={index:j,limitDelta:V.visible?H-F:H+F,size:V.size}}if(typeof Z=="number"){const V=this.viewItems[Z],F=Math.floor(V.viewMinimumSize/2);C={index:Z,limitDelta:V.visible?B+F:B-F,size:V.size}}const te=V=>{const X=(this._orientation===Ot.HORIZONTAL?V.clientX:V.clientY)-y;this.resize(b,X,v,void 0,void 0,H,B,x,C),this.distributeEmptySpace(),this.layoutViews()},U=()=>{for(const V of this.viewItems)V.enabled=!0;p.release(),this.saveProportions(),document.removeEventListener("pointermove",te),document.removeEventListener("pointerup",U),document.removeEventListener("pointercancel",U),document.removeEventListener("contextmenu",U),this._onDidSashEnd.fire(void 0)};document.addEventListener("pointermove",te),document.addEventListener("pointerup",U),document.addEventListener("pointercancel",U),document.addEventListener("contextmenu",U)};c.addEventListener("pointerdown",u);const d={container:c,disposable:()=>{c.removeEventListener("pointerdown",u),this.sashContainer.removeChild(c)}};this.sashContainer.appendChild(c),this.sashes.push(d)}i||this.relayout([n]),!i&&typeof r!="number"&&r.type==="distribute"&&this.distributeViewSizes(),this._onDidAddView.fire(e)}distributeViewSizes(){const e=[];let r=0;for(const o of this.viewItems)o.maximumSize-o.minimumSize>0&&(e.push(o),r+=o.size);const n=Math.floor(r/e.length);for(const o of e)o.size=Nn(n,o.minimumSize,o.maximumSize);const i=Vo(this.viewItems.length),s=i.filter(o=>this.viewItems[o].priority===$i.Low),a=i.filter(o=>this.viewItems[o].priority===$i.High);this.relayout(s,a)}removeView(e,r,n=!1){const i=this.viewItems.splice(e,1)[0];if(i.dispose(),this.viewItems.length>=1){const s=Math.max(e-1,0);this.sashes.splice(s,1)[0].disposable()}return n||this.relayout(),r&&r.type==="distribute"&&this.distributeViewSizes(),this._onDidRemoveView.fire(i.view),i.view}getViewCachedVisibleSize(e){if(e<0||e>=this.viewItems.length)throw new Error("Index out of bounds");return this.viewItems[e].cachedVisibleSize}moveView(e,r){const n=this.getViewCachedVisibleSize(e),i=typeof n>"u"?this.getViewSize(e):So.Invisible(n),s=this.removeView(e,void 0,!0);this.addView(s,i,r)}layout(e,r){const n=Math.max(this.size,this._contentSize);if(this.size=e,this.orthogonalSize=r,this.proportions){let i=0;for(let s=0;s<this.viewItems.length;s++){const a=this.viewItems[s],o=this.proportions[s];typeof o=="number"?i+=o:e-=a.size}for(let s=0;s<this.viewItems.length;s++){const a=this.viewItems[s],o=this.proportions[s];typeof o=="number"&&i>0&&(a.size=Nn(Math.round(o*e/i),a.minimumSize,a.maximumSize))}}else{const i=Vo(this.viewItems.length),s=i.filter(o=>this.viewItems[o].priority===$i.Low),a=i.filter(o=>this.viewItems[o].priority===$i.High);this.resize(this.viewItems.length-1,e-n,void 0,s,a)}this.distributeEmptySpace(),this.layoutViews()}relayout(e,r){const n=this.viewItems.reduce((i,s)=>i+s.size,0);this.resize(this.viewItems.length-1,this._size-n,void 0,e,r),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}distributeEmptySpace(e){const r=this.viewItems.reduce((o,l)=>o+l.size,0);let n=this.size-r;const i=Vo(this.viewItems.length-1,-1),s=i.filter(o=>this.viewItems[o].priority===$i.Low),a=i.filter(o=>this.viewItems[o].priority===$i.High);for(const o of a)I6(i,o);for(const o of s)I_(i,o);typeof e=="number"&&I_(i,e);for(let o=0;n!==0&&o<i.length;o++){const l=this.viewItems[i[o]],c=Nn(l.size+n,l.minimumSize,l.maximumSize),u=c-l.size;n-=u,l.size=c}}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this._proportions=this.viewItems.map(e=>e.visible?e.size/this._contentSize:void 0))}layoutViews(){if(this._contentSize=this.viewItems.reduce((l,c)=>l+c.size,0),this.updateSashEnablement(),this.viewItems.length===0)return;const e=this.viewItems.filter(l=>l.visible),r=Math.max(0,e.length-1),n=this.margin*r/Math.max(1,e.length);let i=0;const s=[],a=4,o=this.viewItems.reduce((l,c,u)=>{const d=c.visible?1:0;return u===0?l.push(d):l.push(l[u-1]+d),l},[]);this.viewItems.forEach((l,c)=>{i+=this.viewItems[c].size,s.push(i);const u=l.visible?l.size-n:0,d=Math.max(0,o[c]-1),m=c===0||d===0?0:s[c-1]+d/r*n;if(c<this.viewItems.length-1){const p=l.visible?m+u-a/2+this.margin/2:m;this._orientation===Ot.HORIZONTAL&&(this.sashes[c].container.style.left=`${p}px`,this.sashes[c].container.style.top="0px"),this._orientation===Ot.VERTICAL&&(this.sashes[c].container.style.left="0px",this.sashes[c].container.style.top=`${p}px`)}this._orientation===Ot.HORIZONTAL&&(l.container.style.width=`${u}px`,l.container.style.left=`${m}px`,l.container.style.top="",l.container.style.height=""),this._orientation===Ot.VERTICAL&&(l.container.style.height=`${u}px`,l.container.style.top=`${m}px`,l.container.style.width="",l.container.style.left=""),l.view.layout(l.size-n,this._orthogonalSize)})}findFirstSnapIndex(e){for(const r of e){const n=this.viewItems[r];if(n.visible&&n.snap)return r}for(const r of e){const n=this.viewItems[r];if(n.visible&&n.maximumSize-n.minimumSize>0)return;if(!n.visible&&n.snap)return r}}updateSashEnablement(){let e=!1;const r=this.viewItems.map(l=>e=l.size-l.minimumSize>0||e);e=!1;const n=this.viewItems.map(l=>e=l.maximumSize-l.size>0||e),i=[...this.viewItems].reverse();e=!1;const s=i.map(l=>e=l.size-l.minimumSize>0||e).reverse();e=!1;const a=i.map(l=>e=l.maximumSize-l.size>0||e).reverse();let o=0;for(let l=0;l<this.sashes.length;l++){const c=this.sashes[l],u=this.viewItems[l];o+=u.size;const d=!(r[l]&&a[l+1]),m=!(n[l]&&s[l+1]);if(d&&m){const p=Vo(l,-1),y=Vo(l+1,this.viewItems.length),b=this.findFirstSnapIndex(p),v=this.findFirstSnapIndex(y),x=typeof b=="number"&&!this.viewItems[b].visible,C=typeof v=="number"&&!this.viewItems[v].visible;x&&s[l]&&(o>0||this.startSnappingEnabled)?this.updateSash(c,go.MINIMUM):C&&r[l]&&(o<this._contentSize||this.endSnappingEnabled)?this.updateSash(c,go.MAXIMUM):this.updateSash(c,go.DISABLED)}else d&&!m?this.updateSash(c,go.MINIMUM):!d&&m?this.updateSash(c,go.MAXIMUM):this.updateSash(c,go.ENABLED)}}updateSash(e,r){Gt(e.container,"dv-disabled",r===go.DISABLED),Gt(e.container,"dv-enabled",r===go.ENABLED),Gt(e.container,"dv-maximum",r===go.MAXIMUM),Gt(e.container,"dv-minimum",r===go.MINIMUM)}createViewContainer(){const e=document.createElement("div");return e.className="dv-view-container",e}createSashContainer(){const e=document.createElement("div");return e.className="dv-sash-container",e}createContainer(){const e=document.createElement("div"),r=this._orientation===Ot.HORIZONTAL?"dv-horizontal":"dv-vertical";return e.className=`dv-split-view-container ${r}`,e}dispose(){this._onDidSashEnd.dispose(),this._onDidAddView.dispose(),this._onDidRemoveView.dispose();for(let e=0;e<this.element.children.length;e++)if(this.element.children.item(e)===this.element){this.element.removeChild(this.element);break}for(const e of this.viewItems)e.dispose();this.element.remove()}}const CD=Object.keys({orientation:void 0,descriptor:void 0,proportionalLayout:void 0,styles:void 0,margin:void 0,disableAutoResizing:void 0,className:void 0});class MG extends Wt{get onDidAddView(){return this.splitview.onDidAddView}get onDidRemoveView(){return this.splitview.onDidRemoveView}get minimumSize(){return this.splitview.minimumSize}get maximumSize(){return this.splitview.maximumSize}get orientation(){return this.splitview.orientation}get size(){return this.splitview.size}get orthogonalSize(){return this.splitview.orthogonalSize}constructor(e,r){var n;super(),this.paneItems=[],this.skipAnimation=!1,this._onDidChange=new Be,this.onDidChange=this._onDidChange.event,this._orientation=(n=r.orientation)!==null&&n!==void 0?n:Ot.VERTICAL,this.element=document.createElement("div"),this.element.className="dv-pane-container",e.appendChild(this.element),this.splitview=new av(this.element,{orientation:this._orientation,proportionalLayout:!1,descriptor:r.descriptor}),this.getPanes().forEach(i=>{const s=new Wt(i.onDidChangeExpansionState(()=>{this.setupAnimation(),this._onDidChange.fire(void 0)})),a={pane:i,disposable:{dispose:()=>{s.dispose()}}};this.paneItems.push(a),i.orthogonalSize=this.splitview.orthogonalSize}),this.addDisposables(this._onDidChange,this.splitview.onDidSashEnd(()=>{this._onDidChange.fire(void 0)}),this.splitview.onDidAddView(()=>{this._onDidChange.fire()}),this.splitview.onDidRemoveView(()=>{this._onDidChange.fire()}))}setViewVisible(e,r){this.splitview.setViewVisible(e,r)}addPane(e,r,n=this.splitview.length,i=!1){const s=e.onDidChangeExpansionState(()=>{this.setupAnimation(),this._onDidChange.fire(void 0)}),a={pane:e,disposable:{dispose:()=>{s.dispose()}}};this.paneItems.splice(n,0,a),e.orthogonalSize=this.splitview.orthogonalSize,this.splitview.addView(e,r,n,i)}getViewSize(e){return this.splitview.getViewSize(e)}getPanes(){return this.splitview.getViews()}removePane(e,r={skipDispose:!1}){const n=this.paneItems.splice(e,1)[0];return this.splitview.removeView(e),r.skipDispose||(n.disposable.dispose(),n.pane.dispose()),n}moveView(e,r){if(e===r)return;const n=this.removePane(e,{skipDispose:!0});this.skipAnimation=!0;try{this.addPane(n.pane,n.pane.size,r,!1)}finally{this.skipAnimation=!1}}layout(e,r){this.splitview.layout(e,r)}setupAnimation(){this.skipAnimation||(this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=void 0),$S(this.element,"dv-animated"),this.animationTimer=setTimeout(()=>{this.animationTimer=void 0,sv(this.element,"dv-animated")},200))}dispose(){super.dispose(),this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=void 0),this.paneItems.forEach(e=>{e.disposable.dispose(),e.pane.dispose()}),this.paneItems=[],this.splitview.dispose(),this.element.remove()}}class Ji{get minimumWidth(){return this.view.minimumWidth}get maximumWidth(){return this.view.maximumWidth}get minimumHeight(){return this.view.minimumHeight}get maximumHeight(){return this.view.maximumHeight}get priority(){return this.view.priority}get snap(){return this.view.snap}get minimumSize(){return this.orientation===Ot.HORIZONTAL?this.minimumHeight:this.minimumWidth}get maximumSize(){return this.orientation===Ot.HORIZONTAL?this.maximumHeight:this.maximumWidth}get minimumOrthogonalSize(){return this.orientation===Ot.HORIZONTAL?this.minimumWidth:this.minimumHeight}get maximumOrthogonalSize(){return this.orientation===Ot.HORIZONTAL?this.maximumWidth:this.maximumHeight}get orthogonalSize(){return this._orthogonalSize}get size(){return this._size}get element(){return this.view.element}get width(){return this.orientation===Ot.HORIZONTAL?this.orthogonalSize:this.size}get height(){return this.orientation===Ot.HORIZONTAL?this.size:this.orthogonalSize}constructor(e,r,n,i=0){this.view=e,this.orientation=r,this._onDidChange=new Be,this.onDidChange=this._onDidChange.event,this._orthogonalSize=n,this._size=i,this._disposable=this.view.onDidChange(s=>{s?this._onDidChange.fire({size:this.orientation===Ot.VERTICAL?s.width:s.height,orthogonalSize:this.orientation===Ot.VERTICAL?s.height:s.width}):this._onDidChange.fire({})})}setVisible(e){this.view.setVisible&&this.view.setVisible(e)}layout(e,r){this._size=e,this._orthogonalSize=r,this.view.layout(this.width,this.height)}dispose(){this._onDidChange.dispose(),this._disposable.dispose()}}class ni extends Wt{get width(){return this.orientation===Ot.HORIZONTAL?this.size:this.orthogonalSize}get height(){return this.orientation===Ot.HORIZONTAL?this.orthogonalSize:this.size}get minimumSize(){return this.children.length===0?0:Math.max(...this.children.map((e,r)=>this.splitview.isViewVisible(r)?e.minimumOrthogonalSize:0))}get maximumSize(){return Math.min(...this.children.map((e,r)=>this.splitview.isViewVisible(r)?e.maximumOrthogonalSize:Number.POSITIVE_INFINITY))}get minimumOrthogonalSize(){return this.splitview.minimumSize}get maximumOrthogonalSize(){return this.splitview.maximumSize}get orthogonalSize(){return this._orthogonalSize}get size(){return this._size}get minimumWidth(){return this.orientation===Ot.HORIZONTAL?this.minimumOrthogonalSize:this.minimumSize}get minimumHeight(){return this.orientation===Ot.HORIZONTAL?this.minimumSize:this.minimumOrthogonalSize}get maximumWidth(){return this.orientation===Ot.HORIZONTAL?this.maximumOrthogonalSize:this.maximumSize}get maximumHeight(){return this.orientation===Ot.HORIZONTAL?this.maximumSize:this.maximumOrthogonalSize}get priority(){if(this.children.length===0)return $i.Normal;const e=this.children.map(r=>typeof r.priority>"u"?$i.Normal:r.priority);return e.some(r=>r===$i.High)?$i.High:e.some(r=>r===$i.Low)?$i.Low:$i.Normal}get disabled(){return this.splitview.disabled}set disabled(e){this.splitview.disabled=e}get margin(){return this.splitview.margin}set margin(e){this.splitview.margin=e,this.children.forEach(r=>{r instanceof ni&&(r.margin=e)})}constructor(e,r,n,i,s,a,o,l){if(super(),this.orientation=e,this.proportionalLayout=r,this.styles=n,this._childrenDisposable=Ei.NONE,this.children=[],this._onDidChange=new Be,this.onDidChange=this._onDidChange.event,this._onDidVisibilityChange=new Be,this.onDidVisibilityChange=this._onDidVisibilityChange.event,this._orthogonalSize=s,this._size=i,this.element=document.createElement("div"),this.element.className="dv-branch-node",!l)this.splitview=new av(this.element,{orientation:this.orientation,proportionalLayout:r,styles:n,margin:o}),this.splitview.layout(this.size,this.orthogonalSize);else{const c={views:l.map(u=>({view:u.node,size:u.node.size,visible:u.node instanceof Ji&&u.visible!==void 0?u.visible:!0})),size:this.orthogonalSize};this.children=l.map(u=>u.node),this.splitview=new av(this.element,{orientation:this.orientation,descriptor:c,proportionalLayout:r,styles:n,margin:o})}this.disabled=a,this.addDisposables(this._onDidChange,this._onDidVisibilityChange,this.splitview.onDidSashEnd(()=>{this._onDidChange.fire({})})),this.setupChildrenEvents()}setVisible(e){}isChildVisible(e){if(e<0||e>=this.children.length)throw new Error("Invalid index");return this.splitview.isViewVisible(e)}setChildVisible(e,r){if(e<0||e>=this.children.length)throw new Error("Invalid index");if(this.splitview.isViewVisible(e)===r)return;const n=this.splitview.contentSize===0;this.splitview.setViewVisible(e,r);const i=this.splitview.contentSize===0;(r&&n||!r&&i)&&this._onDidVisibilityChange.fire({visible:r})}moveChild(e,r){if(e===r)return;if(e<0||e>=this.children.length)throw new Error("Invalid from index");e<r&&r--,this.splitview.moveView(e,r);const n=this._removeChild(e);this._addChild(n,r)}getChildSize(e){if(e<0||e>=this.children.length)throw new Error("Invalid index");return this.splitview.getViewSize(e)}resizeChild(e,r){if(e<0||e>=this.children.length)throw new Error("Invalid index");this.splitview.resizeView(e,r)}layout(e,r){this._size=r,this._orthogonalSize=e,this.splitview.layout(r,e)}addChild(e,r,n,i){if(n<0||n>this.children.length)throw new Error("Invalid index");this.splitview.addView(e,r,n,i),this._addChild(e,n)}getChildCachedVisibleSize(e){if(e<0||e>=this.children.length)throw new Error("Invalid index");return this.splitview.getViewCachedVisibleSize(e)}removeChild(e,r){if(e<0||e>=this.children.length)throw new Error("Invalid index");return this.splitview.removeView(e,r),this._removeChild(e)}_addChild(e,r){this.children.splice(r,0,e),this.setupChildrenEvents()}_removeChild(e){const[r]=this.children.splice(e,1);return this.setupChildrenEvents(),r}setupChildrenEvents(){this._childrenDisposable.dispose(),this._childrenDisposable=new Wt(zf.any(...this.children.map(e=>e.onDidChange))(e=>{this._onDidChange.fire({size:e.orthogonalSize})}),...this.children.map((e,r)=>e instanceof ni?e.onDidVisibilityChange(({visible:n})=>{this.setChildVisible(r,n)}):Ei.NONE))}dispose(){this._childrenDisposable.dispose(),this.splitview.dispose(),this.children.forEach(e=>e.dispose()),super.dispose()}}function TD(t,e){if(t instanceof Ji)return t;if(t instanceof ni)return TD(t.children[e?t.children.length-1:0],e);throw new Error("invalid node")}function dpe(t,e,r){if(t instanceof ni){const n=new ni(t.orientation,t.proportionalLayout,t.styles,e,r,t.disabled,t.margin);for(let i=t.children.length-1;i>=0;i--){const s=t.children[i];n.addChild(dpe(s,s.size,s.orthogonalSize),s.size,0,!0)}return n}else return new Ji(t.view,t.orientation,r)}function kD(t,e,r){if(t instanceof ni){const n=new ni(Hl(t.orientation),t.proportionalLayout,t.styles,e,r,t.disabled,t.margin);let i=0;for(let s=t.children.length-1;s>=0;s--){const a=t.children[s],o=a instanceof ni?a.orthogonalSize:a.size;let l=t.size===0?0:Math.round(e*o/t.size);i+=l,s===0&&(l+=e-i),n.addChild(kD(a,r,l),l,0,!0)}return n}else return new Ji(t.view,Hl(t.orientation),r)}function k1t(t){const e=t.parentElement;if(!e)throw new Error("Invalid grid element");let r=e.firstElementChild,n=0;for(;r!==t&&r!==e.lastElementChild&&r;)r=r.nextElementSibling,n++;return n}function qn(t){const e=t.parentElement;if(!e)throw new Error("Invalid grid element");if(/\bdv-grid-view\b/.test(e.className))return[];const r=k1t(e),n=e.parentElement.parentElement.parentElement;return[...qn(n),r]}function $l(t,e,r){const n=E1t(t,e),i=S1t(r);if(n===i){const[s,a]=iu(e);let o=a;return(r==="right"||r==="bottom")&&(o+=1),[...s,o]}else{const s=r==="right"||r==="bottom"?1:0;return[...e,s]}}function S1t(t){return t==="top"||t==="bottom"?Ot.VERTICAL:Ot.HORIZONTAL}function E1t(t,e){return e.length%2===0?Hl(t):t}const Hl=t=>t===Ot.HORIZONTAL?Ot.VERTICAL:Ot.HORIZONTAL;function A1t(t){return!!t.children}const SD=(t,e)=>{const r=e===Ot.VERTICAL?t.box.width:t.box.height;return A1t(t)?{type:"branch",data:t.children.map(n=>SD(n,Hl(e))),size:r}:typeof t.cachedVisibleSize=="number"?{type:"leaf",data:t.view.toJSON(),size:t.cachedVisibleSize,visible:!1}:{type:"leaf",data:t.view.toJSON(),size:r}};class D1t{get length(){return this._root?this._root.children.length:0}get orientation(){return this.root.orientation}set orientation(e){if(this.root.orientation===e)return;const{size:r,orthogonalSize:n}=this.root;this.root=kD(this.root,n,r),this.root.layout(r,n)}get width(){return this.root.width}get height(){return this.root.height}get minimumWidth(){return this.root.minimumWidth}get minimumHeight(){return this.root.minimumHeight}get maximumWidth(){return this.root.maximumHeight}get maximumHeight(){return this.root.maximumHeight}get locked(){return this._locked}set locked(e){this._locked=e;const r=[this.root];for(;r.length>0;){const n=r.pop();n instanceof ni&&(n.disabled=e,r.push(...n.children))}}get margin(){return this._margin}set margin(e){this._margin=e,this.root.margin=e}maximizedView(){var e;return(e=this._maximizedNode)===null||e===void 0?void 0:e.leaf.view}hasMaximizedView(){return this._maximizedNode!==void 0}maximizeView(e){var r;const n=qn(e.element),[i,s]=this.getNode(n);if(!(s instanceof Ji)||((r=this._maximizedNode)===null||r===void 0?void 0:r.leaf)===s)return;this.hasMaximizedView()&&this.exitMaximizedView(),SD(this.getView(),this.orientation);const a=[];function o(l,c){for(let u=0;u<l.children.length;u++){const d=l.children[u];d instanceof Ji?d!==c&&(l.isChildVisible(u)?l.setChildVisible(u,!1):a.push(d)):o(d,c)}}o(this.root,s),this._maximizedNode={leaf:s,hiddenOnMaximize:a},this._onDidMaximizedNodeChange.fire({view:s.view,isMaximized:!0})}exitMaximizedView(){if(!this._maximizedNode)return;const e=this._maximizedNode.hiddenOnMaximize;function r(i){for(let s=i.children.length-1;s>=0;s--){const a=i.children[s];a instanceof Ji?e.includes(a)||i.setChildVisible(s,!0):r(a)}}r(this.root);const n=this._maximizedNode.leaf;this._maximizedNode=void 0,this._onDidMaximizedNodeChange.fire({view:n.view,isMaximized:!1})}serialize(){const e=this.maximizedView();let r;e&&(r=qn(e.element)),this.hasMaximizedView()&&this.exitMaximizedView();const i={root:SD(this.getView(),this.orientation),width:this.width,height:this.height,orientation:this.orientation};return r&&(i.maximizedNode={location:r}),e&&this.maximizeView(e),i}dispose(){this.disposable.dispose(),this._onDidChange.dispose(),this._onDidMaximizedNodeChange.dispose(),this._onDidViewVisibilityChange.dispose(),this.root.dispose(),this._maximizedNode=void 0,this.element.remove()}clear(){const e=this.root.orientation;this.root=new ni(e,this.proportionalLayout,this.styles,this.root.size,this.root.orthogonalSize,this.locked,this.margin)}deserialize(e,r){const n=e.orientation,i=n===Ot.VERTICAL?e.height:e.width;if(this._deserialize(e.root,n,r,i),this.layout(e.width,e.height),e.maximizedNode){const s=e.maximizedNode.location,[a,o]=this.getNode(s);if(!(o instanceof Ji))return;this.maximizeView(o.view)}}_deserialize(e,r,n,i){this.root=this._deserializeNode(e,r,n,i)}_deserializeNode(e,r,n,i){var s;let a;if(e.type==="branch"){const l=e.data.map(c=>({node:this._deserializeNode(c,Hl(r),n,e.size),visible:c.visible}));a=new ni(r,this.proportionalLayout,this.styles,e.size,i,this.locked,this.margin,l)}else{const o=n.fromJSON(e);typeof e.visible=="boolean"&&((s=o.setVisible)===null||s===void 0||s.call(o,e.visible)),a=new Ji(o,r,i,e.size)}return a}get root(){return this._root}set root(e){const r=this._root;r&&(r.dispose(),this._maximizedNode=void 0,this.element.removeChild(r.element)),this._root=e,this.element.appendChild(this._root.element),this.disposable.value=this._root.onDidChange(n=>{this._onDidChange.fire(n)})}normalize(){if(!this._root||this._root.children.length!==1)return;const e=this.root,r=e.children[0];if(r instanceof Ji)return;e.element.remove();const n=e.removeChild(0);e.dispose(),n.dispose(),this._root=dpe(r,r.size,r.orthogonalSize),this.element.appendChild(this._root.element),this.disposable.value=this._root.onDidChange(i=>{this._onDidChange.fire(i)})}insertOrthogonalSplitviewAtRoot(){if(!this._root)return;const e=this.root;if(e.element.remove(),this._root=new ni(Hl(e.orientation),this.proportionalLayout,this.styles,this.root.orthogonalSize,this.root.size,this.locked,this.margin),e.children.length!==0)if(e.children.length===1){const r=e.children[0];e.removeChild(0).dispose(),e.dispose(),this._root.addChild(kD(r,r.orthogonalSize,r.size),So.Distribute,0)}else this._root.addChild(e,So.Distribute,0);this.element.appendChild(this._root.element),this.disposable.value=this._root.onDidChange(r=>{this._onDidChange.fire(r)})}next(e){return this.progmaticSelect(e)}previous(e){return this.progmaticSelect(e,!0)}getView(e){const r=e?this.getNode(e)[1]:this.root;return this._getViews(r,this.orientation)}_getViews(e,r,n){const i={height:e.height,width:e.width};if(e instanceof Ji)return{box:i,view:e.view,cachedVisibleSize:n};const s=[];for(let a=0;a<e.children.length;a++){const o=e.children[a],l=e.getChildCachedVisibleSize(a);s.push(this._getViews(o,Hl(r),l))}return{box:i,children:s}}progmaticSelect(e,r=!1){const[n,i]=this.getNode(e);if(!(i instanceof Ji))throw new Error("invalid location");for(let s=n.length-1;s>-1;s--){const a=n[s],o=e[s]||0;if(r?o-1>-1:o+1<a.children.length)return TD(a.children[r?o-1:o+1],r)}return TD(this.root,r)}constructor(e,r,n,i,s){this.proportionalLayout=e,this.styles=r,this._locked=!1,this._margin=0,this._maximizedNode=void 0,this.disposable=new Is,this._onDidChange=new Be,this.onDidChange=this._onDidChange.event,this._onDidViewVisibilityChange=new Be,this.onDidViewVisibilityChange=this._onDidViewVisibilityChange.event,this._onDidMaximizedNodeChange=new Be,this.onDidMaximizedNodeChange=this._onDidMaximizedNodeChange.event,this.element=document.createElement("div"),this.element.className="dv-grid-view",this._locked=i??!1,this._margin=s??0,this.root=new ni(n,e,r,0,0,this.locked,this.margin)}isViewVisible(e){const[r,n]=iu(e),[,i]=this.getNode(r);if(!(i instanceof ni))throw new Error("Invalid from location");return i.isChildVisible(n)}setViewVisible(e,r){this.hasMaximizedView()&&this.exitMaximizedView();const[n,i]=iu(e),[,s]=this.getNode(n);if(!(s instanceof ni))throw new Error("Invalid from location");this._onDidViewVisibilityChange.fire(),s.setChildVisible(i,r)}moveView(e,r,n){this.hasMaximizedView()&&this.exitMaximizedView();const[,i]=this.getNode(e);if(!(i instanceof ni))throw new Error("Invalid location");i.moveChild(r,n)}addView(e,r,n){this.hasMaximizedView()&&this.exitMaximizedView();const[i,s]=iu(n),[a,o]=this.getNode(i);if(o instanceof ni){const l=new Ji(e,Hl(o.orientation),o.orthogonalSize);o.addChild(l,r,s)}else{const[l,...c]=[...a].reverse(),[u,...d]=[...i].reverse();let m=0;const p=l.getChildCachedVisibleSize(u);typeof p=="number"&&(m=So.Invisible(p)),l.removeChild(u).dispose();const b=new ni(o.orientation,this.proportionalLayout,this.styles,o.size,o.orthogonalSize,this.locked,this.margin);l.addChild(b,o.size,u);const v=new Ji(o.view,l.orientation,o.size);b.addChild(v,m,0),typeof r!="number"&&r.type==="split"&&(r={type:"split",index:0});const x=new Ji(e,l.orientation,o.size);b.addChild(x,r,s)}}remove(e,r){const n=qn(e.element);return this.removeView(n,r)}removeView(e,r){this.hasMaximizedView()&&this.exitMaximizedView();const[n,i]=iu(e),[s,a]=this.getNode(n);if(!(a instanceof ni))throw new Error("Invalid location");const o=a.children[i];if(!(o instanceof Ji))throw new Error("Invalid location");if(a.removeChild(i,r),o.dispose(),a.children.length!==1)return o.view;const l=a.children[0];if(s.length===0)return l instanceof Ji||(a.removeChild(0,r),this.root=l),o.view;const[c,...u]=[...s].reverse(),[d,...m]=[...n].reverse(),p=a.isChildVisible(0);a.removeChild(0,r);const y=c.children.map((b,v)=>c.getChildSize(v));if(c.removeChild(d,r).dispose(),l instanceof ni){y.splice(d,1,...l.children.map(b=>b.size));for(let b=0;b<l.children.length;b++){const v=l.children[b];c.addChild(v,v.size,d+b)}for(;l.children.length>0;)l.removeChild(0)}else{const b=new Ji(l.view,Hl(l.orientation),l.size),v=p?l.orthogonalSize:So.Invisible(l.orthogonalSize);c.addChild(b,v,d)}l.dispose();for(let b=0;b<y.length;b++)c.resizeChild(b,y[b]);return o.view}layout(e,r){const[n,i]=this.root.orientation===Ot.HORIZONTAL?[r,e]:[e,r];this.root.layout(n,i)}getNode(e,r=this.root,n=[]){if(e.length===0)return[n,r];if(!(r instanceof ni))throw new Error("Invalid location");const[i,...s]=e;if(i<0||i>=r.children.length)throw new Error("Invalid location");const a=r.children[i];return n.push(r),this.getNode(s,a,n)}}const ED=Object.keys({disableAutoResizing:void 0,proportionalLayout:void 0,orientation:void 0,hideBorders:void 0,className:void 0});class xN extends Wt{get element(){return this._element}get disableResizing(){return this._disableResizing}set disableResizing(e){this._disableResizing=e}constructor(e,r=!1){super(),this._disableResizing=r,this._element=e,this.addDisposables(FS(this._element,n=>{if(this.isDisposed||this.disableResizing||!this._element.offsetParent||!p1t(this._element))return;const{width:i,height:s}=n.contentRect;this.layout(i,s)}))}}const L1t=vN();function IT(t){switch(t){case"left":return"left";case"right":return"right";case"above":return"top";case"below":return"bottom";case"within":default:return"center"}}class fpe extends xN{get id(){return this._id}get size(){return this._groups.size}get groups(){return Array.from(this._groups.values()).map(e=>e.value)}get width(){return this.gridview.width}get height(){return this.gridview.height}get minimumHeight(){return this.gridview.minimumHeight}get maximumHeight(){return this.gridview.maximumHeight}get minimumWidth(){return this.gridview.minimumWidth}get maximumWidth(){return this.gridview.maximumWidth}get activeGroup(){return this._activeGroup}get locked(){return this.gridview.locked}set locked(e){this.gridview.locked=e}constructor(e,r){var n;super(document.createElement("div"),r.disableAutoResizing),this._id=L1t.next(),this._groups=new Map,this._onDidRemove=new Be,this.onDidRemove=this._onDidRemove.event,this._onDidAdd=new Be,this.onDidAdd=this._onDidAdd.event,this._onDidMaximizedChange=new Be,this.onDidMaximizedChange=this._onDidMaximizedChange.event,this._onDidActiveChange=new Be,this.onDidActiveChange=this._onDidActiveChange.event,this._bufferOnDidLayoutChange=new NG,this.onDidLayoutChange=this._bufferOnDidLayoutChange.onEvent,this._onDidViewVisibilityChangeMicroTaskQueue=new NG,this.onDidViewVisibilityChangeMicroTaskQueue=this._onDidViewVisibilityChangeMicroTaskQueue.onEvent,this.element.style.height="100%",this.element.style.width="100%",this._classNames=new zS(this.element),this._classNames.setClassNames((n=r.className)!==null&&n!==void 0?n:""),e.appendChild(this.element),this.gridview=new D1t(!!r.proportionalLayout,r.styles,r.orientation,r.locked,r.margin),this.gridview.locked=!!r.locked,this.element.appendChild(this.gridview.element),this.layout(0,0,!0),this.addDisposables(this.gridview.onDidMaximizedNodeChange(i=>{this._onDidMaximizedChange.fire({panel:i.view,isMaximized:i.isMaximized})}),this.gridview.onDidViewVisibilityChange(()=>this._onDidViewVisibilityChangeMicroTaskQueue.fire()),this.onDidViewVisibilityChangeMicroTaskQueue(()=>{this.layout(this.width,this.height,!0)}),Ei.from(()=>{var i;(i=this.element.parentElement)===null||i===void 0||i.removeChild(this.element)}),this.gridview.onDidChange(()=>{this._bufferOnDidLayoutChange.fire()}),zf.any(this.onDidAdd,this.onDidRemove,this.onDidActiveChange)(()=>{this._bufferOnDidLayoutChange.fire()}),this._onDidMaximizedChange,this._onDidViewVisibilityChangeMicroTaskQueue,this._bufferOnDidLayoutChange)}setVisible(e,r){this.gridview.setViewVisible(qn(e.element),r),this._bufferOnDidLayoutChange.fire()}isVisible(e){return this.gridview.isViewVisible(qn(e.element))}updateOptions(e){var r,n,i,s;e.proportionalLayout,e.orientation&&(this.gridview.orientation=e.orientation),"disableResizing"in e&&(this.disableResizing=(r=e.disableAutoResizing)!==null&&r!==void 0?r:!1),"locked"in e&&(this.locked=(n=e.locked)!==null&&n!==void 0?n:!1),"margin"in e&&(this.gridview.margin=(i=e.margin)!==null&&i!==void 0?i:0),"className"in e&&this._classNames.setClassNames((s=e.className)!==null&&s!==void 0?s:"")}maximizeGroup(e){this.gridview.maximizeView(e),this.doSetGroupActive(e)}isMaximizedGroup(e){return this.gridview.maximizedView()===e}exitMaximizedGroup(){this.gridview.exitMaximizedView()}hasMaximizedGroup(){return this.gridview.hasMaximizedView()}doAddGroup(e,r=[0],n){this.gridview.addView(e,n??So.Distribute,r),this._onDidAdd.fire(e)}doRemoveGroup(e,r){if(!this._groups.has(e.id))throw new Error("invalid operation");const n=this._groups.get(e.id),i=this.gridview.remove(e,So.Distribute);if(n&&!(r!=null&&r.skipDispose)&&(n.disposable.dispose(),n.value.dispose(),this._groups.delete(e.id),this._onDidRemove.fire(e)),!(r!=null&&r.skipActive)&&this._activeGroup===e){const s=Array.from(this._groups.values());this.doSetGroupActive(s.length>0?s[0].value:void 0)}return i}getPanel(e){var r;return(r=this._groups.get(e))===null||r===void 0?void 0:r.value}doSetGroupActive(e){this._activeGroup!==e&&(this._activeGroup&&this._activeGroup.setActive(!1),e&&e.setActive(!0),this._activeGroup=e,this._onDidActiveChange.fire(e))}removeGroup(e){this.doRemoveGroup(e)}moveToNext(e){var r;if(e||(e={}),!e.group){if(!this.activeGroup)return;e.group=this.activeGroup}const n=qn(e.group.element),i=(r=this.gridview.next(n))===null||r===void 0?void 0:r.view;this.doSetGroupActive(i)}moveToPrevious(e){var r;if(e||(e={}),!e.group){if(!this.activeGroup)return;e.group=this.activeGroup}const n=qn(e.group.element),i=(r=this.gridview.previous(n))===null||r===void 0?void 0:r.view;this.doSetGroupActive(i)}layout(e,r,n){(n||e!==this.width||r!==this.height)&&(this.gridview.element.style.height=`${r}px`,this.gridview.element.style.width=`${e}px`,this.gridview.layout(e,r))}dispose(){this._onDidActiveChange.dispose(),this._onDidAdd.dispose(),this._onDidRemove.dispose();for(const e of this.groups)e.dispose();this.gridview.dispose(),super.dispose()}}class ppe{get minimumSize(){return this.component.minimumSize}get maximumSize(){return this.component.maximumSize}get width(){return this.component.width}get height(){return this.component.height}get length(){return this.component.length}get orientation(){return this.component.orientation}get panels(){return this.component.panels}get onDidLayoutFromJSON(){return this.component.onDidLayoutFromJSON}get onDidLayoutChange(){return this.component.onDidLayoutChange}get onDidAddView(){return this.component.onDidAddView}get onDidRemoveView(){return this.component.onDidRemoveView}constructor(e){this.component=e}removePanel(e,r){this.component.removePanel(e,r)}focus(){this.component.focus()}getPanel(e){return this.component.getPanel(e)}layout(e,r){return this.component.layout(e,r)}addPanel(e){return this.component.addPanel(e)}movePanel(e,r){this.component.movePanel(e,r)}fromJSON(e){this.component.fromJSON(e)}toJSON(){return this.component.toJSON()}clear(){this.component.clear()}updateOptions(e){this.component.updateOptions(e)}dispose(){this.component.dispose()}}class ov{get minimumSize(){return this.component.minimumSize}get maximumSize(){return this.component.maximumSize}get width(){return this.component.width}get height(){return this.component.height}get panels(){return this.component.panels}get onDidLayoutChange(){return this.component.onDidLayoutChange}get onDidLayoutFromJSON(){return this.component.onDidLayoutFromJSON}get onDidAddView(){return this.component.onDidAddView}get onDidRemoveView(){return this.component.onDidRemoveView}get onDidDrop(){return this.component.onDidDrop}get onUnhandledDragOverEvent(){return this.component.onUnhandledDragOverEvent}constructor(e){this.component=e}removePanel(e){this.component.removePanel(e)}getPanel(e){return this.component.getPanel(e)}movePanel(e,r){this.component.movePanel(e,r)}focus(){this.component.focus()}layout(e,r){this.component.layout(e,r)}addPanel(e){return this.component.addPanel(e)}fromJSON(e){this.component.fromJSON(e)}toJSON(){return this.component.toJSON()}clear(){this.component.clear()}updateOptions(e){this.component.updateOptions(e)}dispose(){this.component.dispose()}}class mpe{get width(){return this.component.width}get height(){return this.component.height}get minimumHeight(){return this.component.minimumHeight}get maximumHeight(){return this.component.maximumHeight}get minimumWidth(){return this.component.minimumWidth}get maximumWidth(){return this.component.maximumWidth}get onDidLayoutChange(){return this.component.onDidLayoutChange}get onDidAddPanel(){return this.component.onDidAddGroup}get onDidRemovePanel(){return this.component.onDidRemoveGroup}get onDidActivePanelChange(){return this.component.onDidActiveGroupChange}get onDidLayoutFromJSON(){return this.component.onDidLayoutFromJSON}get panels(){return this.component.groups}get orientation(){return this.component.orientation}set orientation(e){this.component.updateOptions({orientation:e})}constructor(e){this.component=e}focus(){this.component.focus()}layout(e,r,n=!1){this.component.layout(e,r,n)}addPanel(e){return this.component.addPanel(e)}removePanel(e,r){this.component.removePanel(e,r)}movePanel(e,r){this.component.movePanel(e,r)}getPanel(e){return this.component.getPanel(e)}fromJSON(e){return this.component.fromJSON(e)}toJSON(){return this.component.toJSON()}clear(){this.component.clear()}updateOptions(e){this.component.updateOptions(e)}dispose(){this.component.dispose()}}class RT{get id(){return this.component.id}get width(){return this.component.width}get height(){return this.component.height}get minimumHeight(){return this.component.minimumHeight}get maximumHeight(){return this.component.maximumHeight}get minimumWidth(){return this.component.minimumWidth}get maximumWidth(){return this.component.maximumWidth}get size(){return this.component.size}get totalPanels(){return this.component.totalPanels}get onDidActiveGroupChange(){return this.component.onDidActiveGroupChange}get onDidAddGroup(){return this.component.onDidAddGroup}get onDidRemoveGroup(){return this.component.onDidRemoveGroup}get onDidActivePanelChange(){return this.component.onDidActivePanelChange}get onDidAddPanel(){return this.component.onDidAddPanel}get onDidRemovePanel(){return this.component.onDidRemovePanel}get onDidMovePanel(){return this.component.onDidMovePanel}get onDidLayoutFromJSON(){return this.component.onDidLayoutFromJSON}get onDidLayoutChange(){return this.component.onDidLayoutChange}get onDidDrop(){return this.component.onDidDrop}get onWillDrop(){return this.component.onWillDrop}get onWillShowOverlay(){return this.component.onWillShowOverlay}get onWillDragGroup(){return this.component.onWillDragGroup}get onWillDragPanel(){return this.component.onWillDragPanel}get onUnhandledDragOverEvent(){return this.component.onUnhandledDragOverEvent}get onDidPopoutGroupSizeChange(){return this.component.onDidPopoutGroupSizeChange}get onDidPopoutGroupPositionChange(){return this.component.onDidPopoutGroupPositionChange}get onDidOpenPopoutWindowFail(){return this.component.onDidOpenPopoutWindowFail}get panels(){return this.component.panels}get groups(){return this.component.groups}get activePanel(){return this.component.activePanel}get activeGroup(){return this.component.activeGroup}constructor(e){this.component=e}focus(){this.component.focus()}getPanel(e){return this.component.getGroupPanel(e)}layout(e,r,n=!1){this.component.layout(e,r,n)}addPanel(e){return this.component.addPanel(e)}removePanel(e){this.component.removePanel(e)}addGroup(e){return this.component.addGroup(e)}closeAllGroups(){return this.component.closeAllGroups()}removeGroup(e){this.component.removeGroup(e)}getGroup(e){return this.component.getPanel(e)}addFloatingGroup(e,r){return this.component.addFloatingGroup(e,r)}fromJSON(e,r){this.component.fromJSON(e,r)}toJSON(){return this.component.toJSON()}clear(){this.component.clear()}moveToNext(e){this.component.moveToNext(e)}moveToPrevious(e){this.component.moveToPrevious(e)}maximizeGroup(e){this.component.maximizeGroup(e.group)}hasMaximizedGroup(){return this.component.hasMaximizedGroup()}exitMaximizedGroup(){this.component.exitMaximizedGroup()}get onDidMaximizedGroupChange(){return this.component.onDidMaximizedGroupChange}addPopoutGroup(e,r){return this.component.addPopoutGroup(e,r)}updateOptions(e){this.component.updateOptions(e)}dispose(){this.component.dispose()}}class _N extends Wt{constructor(e,r){super(),this.el=e,this.disabled=r,this.dataDisposable=new Is,this.pointerEventsDisposable=new Is,this._onDragStart=new Be,this.onDragStart=this._onDragStart.event,this.addDisposables(this._onDragStart,this.dataDisposable,this.pointerEventsDisposable),this.configure()}setDisabled(e){this.disabled=e}isCancelled(e){return!1}configure(){this.addDisposables(this._onDragStart,gr(this.el,"dragstart",e=>{if(e.defaultPrevented||this.isCancelled(e)||this.disabled){e.preventDefault();return}const r=LT();this.pointerEventsDisposable.value={dispose:()=>{r.release()}},this.el.classList.add("dv-dragged"),setTimeout(()=>this.el.classList.remove("dv-dragged"),0),this.dataDisposable.value=this.getData(e),this._onDragStart.fire(e),e.dataTransfer&&(e.dataTransfer.effectAllowed="move",e.dataTransfer.items.length>0||e.dataTransfer.setData("text/plain",""))}),gr(this.el,"dragend",()=>{this.pointerEventsDisposable.dispose(),setTimeout(()=>{this.dataDisposable.dispose()},0)}))}}class gpe extends Wt{constructor(e,r){super(),this.element=e,this.callbacks=r,this.target=null,this.registerListeners()}onDragEnter(e){this.target=e.target,this.callbacks.onDragEnter(e)}onDragOver(e){e.preventDefault(),this.callbacks.onDragOver&&this.callbacks.onDragOver(e)}onDragLeave(e){this.target===e.target&&(this.target=null,this.callbacks.onDragLeave(e))}onDragEnd(e){this.target=null,this.callbacks.onDragEnd(e)}onDrop(e){this.callbacks.onDrop(e)}registerListeners(){this.addDisposables(gr(this.element,"dragenter",e=>{this.onDragEnter(e)},!0)),this.addDisposables(gr(this.element,"dragover",e=>{this.onDragOver(e)},!0)),this.addDisposables(gr(this.element,"dragleave",e=>{this.onDragLeave(e)})),this.addDisposables(gr(this.element,"dragend",e=>{this.onDragEnd(e)})),this.addDisposables(gr(this.element,"drop",e=>{this.onDrop(e)}))}}function I1t(t,e){const{top:r,left:n,width:i,height:s}=e,a=`${Math.round(r)}px`,o=`${Math.round(n)}px`,l=`${Math.round(i)}px`,c=`${Math.round(s)}px`;t.style.top=a,t.style.left=o,t.style.width=l,t.style.height=c,t.style.visibility="visible",(!t.style.transform||t.style.transform==="")&&(t.style.transform="translate3d(0, 0, 0)")}function R1t(t,e){const{top:r,left:n,width:i,height:s}=e;t.style.top=r,t.style.left=n,t.style.width=i,t.style.height=s,t.style.visibility="visible",(!t.style.transform||t.style.transform==="")&&(t.style.transform="translate3d(0, 0, 0)")}function N1t(t,e){const{top:r,left:n,width:i,height:s}=e,a=`${Math.round(r)}px`,o=`${Math.round(n)}px`,l=`${Math.round(i)}px`,c=`${Math.round(s)}px`;return t.style.top!==a||t.style.left!==o||t.style.width!==l||t.style.height!==c}class O1t extends bN{get nativeEvent(){return this.options.nativeEvent}get position(){return this.options.position}constructor(e){super(),this.options=e}}function PG(t){switch(t){case"above":return"top";case"below":return"bottom";case"left":return"left";case"right":return"right";case"within":return"center";default:throw new Error(`invalid direction '${t}'`)}}function M1t(t){switch(t){case"top":return"above";case"bottom":return"below";case"left":return"left";case"right":return"right";case"center":return"within";default:throw new Error(`invalid position '${t}'`)}}const P1t={value:20,type:"percentage"},B1t={value:50,type:"percentage"},F1t=100,$1t=100;class Jo extends Wt{get disabled(){return this._disabled}set disabled(e){this._disabled=e}get state(){return this._state}constructor(e,r){super(),this.element=e,this.options=r,this._onDrop=new Be,this.onDrop=this._onDrop.event,this._onWillShowOverlay=new Be,this.onWillShowOverlay=this._onWillShowOverlay.event,this._disabled=!1,this._acceptedTargetZonesSet=new Set(this.options.acceptedTargetZones),this.dnd=new gpe(this.element,{onDragEnter:()=>{var n,i,s;(s=(i=(n=this.options).getOverrideTarget)===null||i===void 0?void 0:i.call(n))===null||s===void 0||s.getElements()},onDragOver:n=>{var i,s,a,o,l,c,u;Jo.ACTUAL_TARGET=this;const d=(s=(i=this.options).getOverrideTarget)===null||s===void 0?void 0:s.call(i);if(this._acceptedTargetZonesSet.size===0){if(d)return;this.removeDropTarget();return}const m=(l=(o=(a=this.options).getOverlayOutline)===null||o===void 0?void 0:o.call(a))!==null&&l!==void 0?l:this.element,p=m.offsetWidth,y=m.offsetHeight;if(p===0||y===0)return;const b=n.currentTarget.getBoundingClientRect(),v=((c=n.clientX)!==null&&c!==void 0?c:0)-b.left,x=((u=n.clientY)!==null&&u!==void 0?u:0)-b.top,C=this.calculateQuadrant(this._acceptedTargetZonesSet,v,x,p,y);if(this.isAlreadyUsed(n)||C===null){this.removeDropTarget();return}if(!this.options.canDisplayOverlay(n,C)){if(d)return;this.removeDropTarget();return}const T=new O1t({nativeEvent:n,position:C});if(this._onWillShowOverlay.fire(T),T.defaultPrevented){this.removeDropTarget();return}this.markAsUsed(n),d||this.targetElement||(this.targetElement=document.createElement("div"),this.targetElement.className="dv-drop-target-dropzone",this.overlayElement=document.createElement("div"),this.overlayElement.className="dv-drop-target-selection",this._state="center",this.targetElement.appendChild(this.overlayElement),m.classList.add("dv-drop-target"),m.append(this.targetElement)),this.toggleClasses(C,p,y),this._state=C},onDragLeave:()=>{var n,i;!((i=(n=this.options).getOverrideTarget)===null||i===void 0)&&i.call(n)||this.removeDropTarget()},onDragEnd:n=>{var i,s;const a=(s=(i=this.options).getOverrideTarget)===null||s===void 0?void 0:s.call(i);a&&Jo.ACTUAL_TARGET===this&&this._state&&(n.stopPropagation(),this._onDrop.fire({position:this._state,nativeEvent:n})),this.removeDropTarget(),a==null||a.clear()},onDrop:n=>{var i,s,a;n.preventDefault();const o=this._state;this.removeDropTarget(),(a=(s=(i=this.options).getOverrideTarget)===null||s===void 0?void 0:s.call(i))===null||a===void 0||a.clear(),o&&(n.stopPropagation(),this._onDrop.fire({position:o,nativeEvent:n}))}}),this.addDisposables(this._onDrop,this._onWillShowOverlay,this.dnd)}setTargetZones(e){this._acceptedTargetZonesSet=new Set(e)}setOverlayModel(e){this.options.overlayModel=e}dispose(){this.removeDropTarget(),super.dispose()}markAsUsed(e){e[Jo.USED_EVENT_ID]=!0}isAlreadyUsed(e){const r=e[Jo.USED_EVENT_ID];return typeof r=="boolean"&&r}toggleClasses(e,r,n){var i,s,a,o,l,c,u;const d=(s=(i=this.options).getOverrideTarget)===null||s===void 0?void 0:s.call(i);if(!d&&!this.overlayElement)return;const m=r<F1t,p=n<$1t,y=e==="left",b=e==="right",v=e==="top",x=e==="bottom",C=!m&&b,T=!m&&y,S=!p&&v,L=!p&&x;let D=1;const I=(o=(a=this.options.overlayModel)===null||a===void 0?void 0:a.size)!==null&&o!==void 0?o:B1t;if(I.type==="percentage"?D=Nn(I.value,0,100)/100:((C||T)&&(D=Nn(0,I.value,r)/r),(S||L)&&(D=Nn(0,I.value,n)/n)),d){const H=(u=(c=(l=this.options).getOverlayOutline)===null||c===void 0?void 0:c.call(l))!==null&&u!==void 0?u:this.element,B=H.getBoundingClientRect(),j=d.getElements(void 0,H),Z=j.root,te=j.overlay,U=Z.getBoundingClientRect(),V=B.top-U.top,F=B.left-U.left,X={top:V,left:F,width:r,height:n};if(C?(X.left=F+r*(1-D),X.width=r*D):T?X.width=r*D:S?X.height=n*D:L&&(X.top=V+n*(1-D),X.height=n*D),m&&y&&(X.width=4),m&&b&&(X.left=F+r-4,X.width=4),!N1t(te,X))return;I1t(te,X),te.className=`dv-drop-target-anchor${this.options.className?` ${this.options.className}`:""}`,Gt(te,"dv-drop-target-left",y),Gt(te,"dv-drop-target-right",b),Gt(te,"dv-drop-target-top",v),Gt(te,"dv-drop-target-bottom",x),Gt(te,"dv-drop-target-center",e==="center"),j.changed&&(Gt(te,"dv-drop-target-anchor-container-changed",!0),setTimeout(()=>{Gt(te,"dv-drop-target-anchor-container-changed",!1)},10));return}if(!this.overlayElement)return;const N={top:"0px",left:"0px",width:"100%",height:"100%"};C?(N.left=`${100*(1-D)}%`,N.width=`${100*D}%`):T?N.width=`${100*D}%`:S?N.height=`${100*D}%`:L&&(N.top=`${100*(1-D)}%`,N.height=`${100*D}%`),R1t(this.overlayElement,N),Gt(this.overlayElement,"dv-drop-target-small-vertical",p),Gt(this.overlayElement,"dv-drop-target-small-horizontal",m),Gt(this.overlayElement,"dv-drop-target-left",y),Gt(this.overlayElement,"dv-drop-target-right",b),Gt(this.overlayElement,"dv-drop-target-top",v),Gt(this.overlayElement,"dv-drop-target-bottom",x),Gt(this.overlayElement,"dv-drop-target-center",e==="center")}calculateQuadrant(e,r,n,i,s){var a,o;const l=(o=(a=this.options.overlayModel)===null||a===void 0?void 0:a.activationSize)!==null&&o!==void 0?o:P1t;return l.type==="percentage"?z1t(e,r,n,i,s,l.value):j1t(e,r,n,i,s,l.value)}removeDropTarget(){var e;this.targetElement&&(this._state=void 0,(e=this.targetElement.parentElement)===null||e===void 0||e.classList.remove("dv-drop-target"),this.targetElement.remove(),this.targetElement=void 0,this.overlayElement=void 0)}}Jo.USED_EVENT_ID="__dockview_droptarget_event_is_used__";function z1t(t,e,r,n,i,s){const a=100*e/n,o=100*r/i;return t.has("left")&&a<s?"left":t.has("right")&&a>100-s?"right":t.has("top")&&o<s?"top":t.has("bottom")&&o>100-s?"bottom":t.has("center")?"center":null}function j1t(t,e,r,n,i,s){return t.has("left")&&e<s?"left":t.has("right")&&e>n-s?"right":t.has("top")&&r<s?"top":t.has("bottom")&&r>i-s?"bottom":t.has("center")?"center":null}const AD=Object.keys({disableAutoResizing:void 0,disableDnd:void 0,className:void 0});class H1t extends ope{constructor(e,r,n,i){super(),this.nativeEvent=e,this.position=r,this.getData=n,this.panel=i}}class ype extends bN{constructor(){super()}}class bpe extends Wt{get isFocused(){return this._isFocused}get isActive(){return this._isActive}get isVisible(){return this._isVisible}get width(){return this._width}get height(){return this._height}constructor(e,r){super(),this.id=e,this.component=r,this._isFocused=!1,this._isActive=!1,this._isVisible=!0,this._width=0,this._height=0,this._parameters={},this.panelUpdatesDisposable=new Is,this._onDidDimensionChange=new Be,this.onDidDimensionsChange=this._onDidDimensionChange.event,this._onDidChangeFocus=new Be,this.onDidFocusChange=this._onDidChangeFocus.event,this._onWillFocus=new Be,this.onWillFocus=this._onWillFocus.event,this._onDidVisibilityChange=new Be,this.onDidVisibilityChange=this._onDidVisibilityChange.event,this._onWillVisibilityChange=new Be,this.onWillVisibilityChange=this._onWillVisibilityChange.event,this._onDidActiveChange=new Be,this.onDidActiveChange=this._onDidActiveChange.event,this._onActiveChange=new Be,this.onActiveChange=this._onActiveChange.event,this._onDidParametersChange=new Be,this.onDidParametersChange=this._onDidParametersChange.event,this.addDisposables(this.onDidFocusChange(n=>{this._isFocused=n.isFocused}),this.onDidActiveChange(n=>{this._isActive=n.isActive}),this.onDidVisibilityChange(n=>{this._isVisible=n.isVisible}),this.onDidDimensionsChange(n=>{this._width=n.width,this._height=n.height}),this.panelUpdatesDisposable,this._onDidDimensionChange,this._onDidChangeFocus,this._onDidVisibilityChange,this._onDidActiveChange,this._onWillFocus,this._onActiveChange,this._onWillFocus,this._onWillVisibilityChange,this._onDidParametersChange)}getParameters(){return this._parameters}initialize(e){this.panelUpdatesDisposable.value=this._onDidParametersChange.event(r=>{this._parameters=r,e.update({params:r})})}setVisible(e){this._onWillVisibilityChange.fire({isVisible:e})}setActive(){this._onActiveChange.fire()}updateParameters(e){this._onDidParametersChange.fire(e)}}class vpe extends bpe{constructor(e,r){super(e,r),this._onDidConstraintsChangeInternal=new Be,this.onDidConstraintsChangeInternal=this._onDidConstraintsChangeInternal.event,this._onDidConstraintsChange=new Be({replay:!0}),this.onDidConstraintsChange=this._onDidConstraintsChange.event,this._onDidSizeChange=new Be,this.onDidSizeChange=this._onDidSizeChange.event,this.addDisposables(this._onDidConstraintsChangeInternal,this._onDidConstraintsChange,this._onDidSizeChange)}setConstraints(e){this._onDidConstraintsChangeInternal.fire(e)}setSize(e){this._onDidSizeChange.fire(e)}}class V1t extends vpe{set pane(e){this._pane=e}constructor(e,r){super(e,r),this._onDidExpansionChange=new Be({replay:!0}),this.onDidExpansionChange=this._onDidExpansionChange.event,this._onMouseEnter=new Be({}),this.onMouseEnter=this._onMouseEnter.event,this._onMouseLeave=new Be({}),this.onMouseLeave=this._onMouseLeave.event,this.addDisposables(this._onDidExpansionChange,this._onMouseEnter,this._onMouseLeave)}setExpanded(e){var r;(r=this._pane)===null||r===void 0||r.setExpanded(e)}get isExpanded(){var e;return!!(!((e=this._pane)===null||e===void 0)&&e.isExpanded())}}class wN extends Wt{get element(){return this._element}get width(){return this._width}get height(){return this._height}get params(){var e;return(e=this._params)===null||e===void 0?void 0:e.params}constructor(e,r,n){super(),this.id=e,this.component=r,this.api=n,this._height=0,this._width=0,this._element=document.createElement("div"),this._element.tabIndex=-1,this._element.style.outline="none",this._element.style.height="100%",this._element.style.width="100%",this._element.style.overflow="hidden";const i=lpe(this._element);this.addDisposables(this.api,i.onDidFocus(()=>{this.api._onDidChangeFocus.fire({isFocused:!0})}),i.onDidBlur(()=>{this.api._onDidChangeFocus.fire({isFocused:!1})}),i)}focus(){const e=new ype;this.api._onWillFocus.fire(e),!e.defaultPrevented&&this._element.focus()}layout(e,r){this._width=e,this._height=r,this.api._onDidDimensionChange.fire({width:e,height:r}),this.part&&this._params&&this.part.update(this._params.params)}init(e){this._params=e,this.part=this.getComponent()}update(e){var r,n;this._params=Object.assign(Object.assign({},this._params),{params:Object.assign(Object.assign({},(r=this._params)===null||r===void 0?void 0:r.params),e.params)});for(const i of Object.keys(e.params))e.params[i]===void 0&&delete this._params.params[i];(n=this.part)===null||n===void 0||n.update({params:this._params.params})}toJSON(){var e,r;const n=(r=(e=this._params)===null||e===void 0?void 0:e.params)!==null&&r!==void 0?r:{};return{id:this.id,component:this.component,params:Object.keys(n).length>0?n:void 0}}dispose(){var e;this.api.dispose(),(e=this.part)===null||e===void 0||e.dispose(),super.dispose()}}class U1t extends wN{set orientation(e){this._orientation=e}get orientation(){return this._orientation}get minimumSize(){const e=this.headerSize,n=this.isExpanded()?this._minimumBodySize:0;return e+n}get maximumSize(){const e=this.headerSize,n=this.isExpanded()?this._maximumBodySize:0;return e+n}get size(){return this._size}get orthogonalSize(){return this._orthogonalSize}set orthogonalSize(e){this._orthogonalSize=e}get minimumBodySize(){return this._minimumBodySize}set minimumBodySize(e){this._minimumBodySize=typeof e=="number"?e:0}get maximumBodySize(){return this._maximumBodySize}set maximumBodySize(e){this._maximumBodySize=typeof e=="number"?e:Number.POSITIVE_INFINITY}get headerVisible(){return this._headerVisible}set headerVisible(e){this._headerVisible=e,this.header.style.display=e?"":"none"}constructor(e){super(e.id,e.component,new V1t(e.id,e.component)),this._onDidChangeExpansionState=new Be({replay:!0}),this.onDidChangeExpansionState=this._onDidChangeExpansionState.event,this._onDidChange=new Be,this.onDidChange=this._onDidChange.event,this._orthogonalSize=0,this._size=0,this._isExpanded=!1,this.api.pane=this,this.api.initialize(this),this.headerSize=e.headerSize,this.headerComponent=e.headerComponent,this._minimumBodySize=e.minimumBodySize,this._maximumBodySize=e.maximumBodySize,this._isExpanded=e.isExpanded,this._headerVisible=e.isHeaderVisible,this._onDidChangeExpansionState.fire(this.isExpanded()),this._orientation=e.orientation,this.element.classList.add("dv-pane"),this.addDisposables(this.api.onWillVisibilityChange(r=>{const{isVisible:n}=r,{accessor:i}=this._params;i.setVisible(this,n)}),this.api.onDidSizeChange(r=>{this._onDidChange.fire({size:r.size})}),gr(this.element,"mouseenter",r=>{this.api._onMouseEnter.fire(r)}),gr(this.element,"mouseleave",r=>{this.api._onMouseLeave.fire(r)})),this.addDisposables(this._onDidChangeExpansionState,this.onDidChangeExpansionState(r=>{this.api._onDidExpansionChange.fire({isExpanded:r})}),this.api.onDidFocusChange(r=>{this.header&&(r.isFocused?$S(this.header,"focused"):sv(this.header,"focused"))})),this.renderOnce()}setVisible(e){this.api._onDidVisibilityChange.fire({isVisible:e})}setActive(e){this.api._onDidActiveChange.fire({isActive:e})}isExpanded(){return this._isExpanded}setExpanded(e){this._isExpanded!==e&&(this._isExpanded=e,e?(this.animationTimer&&clearTimeout(this.animationTimer),this.body&&this.element.appendChild(this.body)):this.animationTimer=setTimeout(()=>{var r;(r=this.body)===null||r===void 0||r.remove()},200),this._onDidChange.fire(e?{size:this.width}:{}),this._onDidChangeExpansionState.fire(e))}layout(e,r){this._size=e,this._orthogonalSize=r;const[n,i]=this.orientation===Ot.HORIZONTAL?[e,r]:[r,e];super.layout(n,i)}init(e){var r,n;super.init(e),typeof e.minimumBodySize=="number"&&(this.minimumBodySize=e.minimumBodySize),typeof e.maximumBodySize=="number"&&(this.maximumBodySize=e.maximumBodySize),this.bodyPart=this.getBodyComponent(),this.headerPart=this.getHeaderComponent(),this.bodyPart.init(Object.assign(Object.assign({},e),{api:this.api})),this.headerPart.init(Object.assign(Object.assign({},e),{api:this.api})),(r=this.body)===null||r===void 0||r.append(this.bodyPart.element),(n=this.header)===null||n===void 0||n.append(this.headerPart.element),typeof e.isExpanded=="boolean"&&this.setExpanded(e.isExpanded)}toJSON(){const e=this._params;return Object.assign(Object.assign({},super.toJSON()),{headerComponent:this.headerComponent,title:e.title})}renderOnce(){this.header=document.createElement("div"),this.header.tabIndex=0,this.header.className="dv-pane-header",this.header.style.height=`${this.headerSize}px`,this.header.style.lineHeight=`${this.headerSize}px`,this.header.style.minHeight=`${this.headerSize}px`,this.header.style.maxHeight=`${this.headerSize}px`,this.element.appendChild(this.header),this.body=document.createElement("div"),this.body.className="dv-pane-body",this.element.appendChild(this.body)}getComponent(){return{update:e=>{var r,n;(r=this.bodyPart)===null||r===void 0||r.update({params:e}),(n=this.headerPart)===null||n===void 0||n.update({params:e})},dispose:()=>{var e,r;(e=this.bodyPart)===null||e===void 0||e.dispose(),(r=this.headerPart)===null||r===void 0||r.dispose()}}}}class q1t extends U1t{constructor(e){super({id:e.id,component:e.component,headerComponent:e.headerComponent,orientation:e.orientation,isExpanded:e.isExpanded,isHeaderVisible:!0,headerSize:e.headerSize,minimumBodySize:e.minimumBodySize,maximumBodySize:e.maximumBodySize}),this._onDidDrop=new Be,this.onDidDrop=this._onDidDrop.event,this._onUnhandledDragOverEvent=new Be,this.onUnhandledDragOverEvent=this._onUnhandledDragOverEvent.event,this.accessor=e.accessor,this.addDisposables(this._onDidDrop,this._onUnhandledDragOverEvent),e.disableDnd||this.initDragFeatures()}initDragFeatures(){if(!this.header)return;const e=this.id,r=this.accessor.id;this.header.draggable=!0,this.handler=new class extends _N{getData(){return nc.getInstance().setData([new fb(r,e)],fb.prototype),{dispose:()=>{nc.getInstance().clearData(fb.prototype)}}}}(this.header),this.target=new Jo(this.element,{acceptedTargetZones:["top","bottom"],overlayModel:{activationSize:{type:"percentage",value:50}},canDisplayOverlay:(n,i)=>{const s=dy();if(s&&s.paneId!==this.id&&s.viewId===this.accessor.id)return!0;const a=new H1t(n,i,dy,this);return this._onUnhandledDragOverEvent.fire(a),a.isAccepted}}),this.addDisposables(this._onDidDrop,this.handler,this.target,this.target.onDrop(n=>{this.onDrop(n)}))}onDrop(e){const r=dy();if(!r||r.viewId!==this.accessor.id){this._onDidDrop.fire(Object.assign(Object.assign({},e),{panel:this,api:new ov(this.accessor),getData:dy}));return}const n=this._params.containerApi,i=r.paneId,s=n.getPanel(i);if(!s){this._onDidDrop.fire(Object.assign(Object.assign({},e),{panel:this,getData:dy,api:new ov(this.accessor)}));return}const a=n.panels,o=a.indexOf(s);let l=n.panels.indexOf(this);(e.position==="left"||e.position==="top")&&(l=Math.max(0,l-1)),(e.position==="right"||e.position==="bottom")&&(o>l&&l++,l=Math.min(a.length-1,l)),n.movePanel(o,l)}}class G1t extends Wt{get element(){return this._element}constructor(e,r){super(),this.accessor=e,this.group=r,this.disposable=new Is,this._onDidFocus=new Be,this.onDidFocus=this._onDidFocus.event,this._onDidBlur=new Be,this.onDidBlur=this._onDidBlur.event,this._element=document.createElement("div"),this._element.className="dv-content-container",this._element.tabIndex=-1,this.addDisposables(this._onDidFocus,this._onDidBlur);const n=r.dropTargetContainer;this.dropTarget=new Jo(this.element,{getOverlayOutline:()=>{var i;return((i=e.options.theme)===null||i===void 0?void 0:i.dndPanelOverlay)==="group"?this.element.parentElement:null},className:"dv-drop-target-content",acceptedTargetZones:["top","bottom","left","right","center"],canDisplayOverlay:(i,s)=>{if(this.group.locked==="no-drop-target"||this.group.locked&&s==="center")return!1;const a=Es();return!a&&i.shiftKey&&this.group.location.type!=="floating"?!1:a&&a.viewId===this.accessor.id?!0:this.group.canDisplayOverlay(i,s,"content")},getOverrideTarget:n?()=>n.model:void 0}),this.addDisposables(this.dropTarget)}show(){this.element.style.display=""}hide(){this.element.style.display="none"}renderPanel(e,r={asActive:!0}){const n=r.asActive||this.panel&&this.group.isPanelActive(this.panel);this.panel&&this.panel.view.content.element.parentElement===this._element&&this._element.removeChild(this.panel.view.content.element),this.panel=e;let i;switch(e.api.renderer){case"onlyWhenVisible":this.group.renderContainer.detatch(e),this.panel&&n&&this._element.appendChild(this.panel.view.content.element),i=this._element;break;case"always":e.view.content.element.parentElement===this._element&&this._element.removeChild(e.view.content.element),i=this.group.renderContainer.attach({panel:e,referenceContainer:this});break;default:throw new Error(`dockview: invalid renderer type '${e.api.renderer}'`)}if(n){const s=lpe(i);this.focusTracker=s;const a=new Wt;a.addDisposables(s,s.onDidFocus(()=>this._onDidFocus.fire()),s.onDidBlur(()=>this._onDidBlur.fire())),this.disposable.value=a}}openPanel(e){this.panel!==e&&this.renderPanel(e)}layout(e,r){}closePanel(){var e;this.panel&&this.panel.api.renderer==="onlyWhenVisible"&&((e=this.panel.view.content.element.parentElement)===null||e===void 0||e.removeChild(this.panel.view.content.element)),this.panel=void 0}dispose(){this.disposable.dispose(),super.dispose()}refreshFocusState(){var e;!((e=this.focusTracker)===null||e===void 0)&&e.refreshState&&this.focusTracker.refreshState()}}function xpe(t,e,r){var n,i;$S(e,"dv-dragged"),e.style.top="-9999px",document.body.appendChild(e),t.setDragImage(e,(n=r==null?void 0:r.x)!==null&&n!==void 0?n:0,(i=r==null?void 0:r.y)!==null&&i!==void 0?i:0),setTimeout(()=>{sv(e,"dv-dragged"),e.remove()},0)}class W1t extends _N{constructor(e,r,n,i,s){super(e,s),this.accessor=r,this.group=n,this.panel=i,this.panelTransfer=nc.getInstance()}getData(e){return this.panelTransfer.setData([new Yh(this.accessor.id,this.group.id,this.panel.id)],Yh.prototype),{dispose:()=>{this.panelTransfer.clearData(Yh.prototype)}}}}class Y1t extends Wt{get element(){return this._element}constructor(e,r,n){super(),this.panel=e,this.accessor=r,this.group=n,this.content=void 0,this._onPointDown=new Be,this.onPointerDown=this._onPointDown.event,this._onDropped=new Be,this.onDrop=this._onDropped.event,this._onDragStart=new Be,this.onDragStart=this._onDragStart.event,this._element=document.createElement("div"),this._element.className="dv-tab",this._element.tabIndex=0,this._element.draggable=!this.accessor.options.disableDnd,Gt(this.element,"dv-inactive-tab",!0),this.dragHandler=new W1t(this._element,this.accessor,this.group,this.panel,!!this.accessor.options.disableDnd),this.dropTarget=new Jo(this._element,{acceptedTargetZones:["left","right"],overlayModel:{activationSize:{value:50,type:"percentage"}},canDisplayOverlay:(i,s)=>{if(this.group.locked)return!1;const a=Es();return a&&this.accessor.id===a.viewId?!0:this.group.model.canDisplayOverlay(i,s,"tab")},getOverrideTarget:()=>{var i;return(i=n.model.dropTargetContainer)===null||i===void 0?void 0:i.model}}),this.onWillShowOverlay=this.dropTarget.onWillShowOverlay,this.addDisposables(this._onPointDown,this._onDropped,this._onDragStart,this.dragHandler.onDragStart(i=>{if(i.dataTransfer){const s=getComputedStyle(this.element),a=this.element.cloneNode(!0);Array.from(s).forEach(o=>a.style.setProperty(o,s.getPropertyValue(o),s.getPropertyPriority(o))),a.style.position="absolute",xpe(i.dataTransfer,a,{y:-10,x:30})}this._onDragStart.fire(i)}),this.dragHandler,gr(this._element,"pointerdown",i=>{this._onPointDown.fire(i)}),this.dropTarget.onDrop(i=>{this._onDropped.fire(i)}),this.dropTarget)}setActive(e){Gt(this.element,"dv-active-tab",e),Gt(this.element,"dv-inactive-tab",!e)}setContent(e){this.content&&this._element.removeChild(this.content.element),this.content=e,this._element.appendChild(this.content.element)}updateDragAndDropState(){this._element.draggable=!this.accessor.options.disableDnd,this.dragHandler.setDisabled(!!this.accessor.options.disableDnd)}dispose(){super.dispose()}}class jS{get kind(){return this.options.kind}get nativeEvent(){return this.event.nativeEvent}get position(){return this.event.position}get defaultPrevented(){return this.event.defaultPrevented}get panel(){return this.options.panel}get api(){return this.options.api}get group(){return this.options.group}preventDefault(){this.event.preventDefault()}getData(){return this.options.getData()}constructor(e,r){this.event=e,this.options=r}}class Z1t extends _N{constructor(e,r,n,i){super(e,i),this.accessor=r,this.group=n,this.panelTransfer=nc.getInstance(),this.addDisposables(gr(e,"pointerdown",s=>{s.shiftKey&&d1t(s)},!0))}isCancelled(e){return this.group.api.location.type==="floating"&&!e.shiftKey}getData(e){const r=e.dataTransfer;this.panelTransfer.setData([new Yh(this.accessor.id,this.group.id,null)],Yh.prototype);const n=window.getComputedStyle(this.el),i=n.getPropertyValue("--dv-activegroup-visiblepanel-tab-background-color"),s=n.getPropertyValue("--dv-activegroup-visiblepanel-tab-color");if(r){const a=document.createElement("div");a.style.backgroundColor=i,a.style.color=s,a.style.padding="2px 8px",a.style.height="24px",a.style.fontSize="11px",a.style.lineHeight="20px",a.style.borderRadius="12px",a.style.position="absolute",a.style.pointerEvents="none",a.style.top="-9999px",a.textContent=`Multiple Panels (${this.group.size})`,xpe(r,a,{y:-10,x:30})}return{dispose:()=>{this.panelTransfer.clearData(Yh.prototype)}}}}class X1t extends Wt{get element(){return this._element}constructor(e,r){super(),this.accessor=e,this.group=r,this._onDrop=new Be,this.onDrop=this._onDrop.event,this._onDragStart=new Be,this.onDragStart=this._onDragStart.event,this._element=document.createElement("div"),this._element.className="dv-void-container",this._element.draggable=!this.accessor.options.disableDnd,Gt(this._element,"dv-draggable",!this.accessor.options.disableDnd),this.addDisposables(this._onDrop,this._onDragStart,gr(this._element,"pointerdown",()=>{this.accessor.doSetGroupActive(this.group)})),this.handler=new Z1t(this._element,e,r,!!this.accessor.options.disableDnd),this.dropTarget=new Jo(this._element,{acceptedTargetZones:["center"],canDisplayOverlay:(n,i)=>{const s=Es();return s&&this.accessor.id===s.viewId?!0:r.model.canDisplayOverlay(n,i,"header_space")},getOverrideTarget:()=>{var n;return(n=r.model.dropTargetContainer)===null||n===void 0?void 0:n.model}}),this.onWillShowOverlay=this.dropTarget.onWillShowOverlay,this.addDisposables(this.handler,this.handler.onDragStart(n=>{this._onDragStart.fire(n)}),this.dropTarget.onDrop(n=>{this._onDrop.fire(n)}),this.dropTarget)}updateDragAndDropState(){this._element.draggable=!this.accessor.options.disableDnd,Gt(this._element,"dv-draggable",!this.accessor.options.disableDnd),this.handler.setDisabled(!!this.accessor.options.disableDnd)}}class HS extends Wt{get element(){return this._element}constructor(e){super(),this.scrollableElement=e,this._scrollLeft=0,this._element=document.createElement("div"),this._element.className="dv-scrollable",this._horizontalScrollbar=document.createElement("div"),this._horizontalScrollbar.className="dv-scrollbar-horizontal",this.element.appendChild(e),this.element.appendChild(this._horizontalScrollbar),this.addDisposables(gr(this.element,"wheel",r=>{this._scrollLeft+=r.deltaY*HS.MouseWheelSpeed,this.calculateScrollbarStyles()}),gr(this._horizontalScrollbar,"pointerdown",r=>{r.preventDefault(),Gt(this.element,"dv-scrollable-scrolling",!0);const n=r.clientX,i=this._scrollLeft,s=o=>{const l=o.clientX-n,{clientWidth:c}=this.element,{scrollWidth:u}=this.scrollableElement,d=c/u;this._scrollLeft=i+l/d,this.calculateScrollbarStyles()},a=()=>{Gt(this.element,"dv-scrollable-scrolling",!1),document.removeEventListener("pointermove",s),document.removeEventListener("pointerup",a),document.removeEventListener("pointercancel",a)};document.addEventListener("pointermove",s),document.addEventListener("pointerup",a),document.addEventListener("pointercancel",a)}),gr(this.element,"scroll",()=>{this.calculateScrollbarStyles()}),gr(this.scrollableElement,"scroll",()=>{this._scrollLeft=this.scrollableElement.scrollLeft,this.calculateScrollbarStyles()}),FS(this.element,()=>{Gt(this.element,"dv-scrollable-resizing",!0),this._animationTimer&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(()=>{clearTimeout(this._animationTimer),Gt(this.element,"dv-scrollable-resizing",!1)},500),this.calculateScrollbarStyles()}))}calculateScrollbarStyles(){const{clientWidth:e}=this.element,{scrollWidth:r}=this.scrollableElement;if(r>e){const i=e*(e/r);this._horizontalScrollbar.style.width=`${i}px`,this._scrollLeft=Nn(this._scrollLeft,0,this.scrollableElement.scrollWidth-e),this.scrollableElement.scrollLeft=this._scrollLeft;const s=this._scrollLeft/(r-e);this._horizontalScrollbar.style.left=`${(e-i)*s}px`}else this._horizontalScrollbar.style.width="0px",this._horizontalScrollbar.style.left="0px",this._scrollLeft=0}}HS.MouseWheelSpeed=1;class K1t extends Wt{get showTabsOverflowControl(){return this._showTabsOverflowControl}set showTabsOverflowControl(e){if(this._showTabsOverflowControl!=e&&(this._showTabsOverflowControl=e,e)){const r=new u1t(this._tabsList);this._observerDisposable.value=new Wt(r,r.onDidChange(n=>{const i=n.hasScrollX||n.hasScrollY;this.toggleDropdown({reset:!i})}),gr(this._tabsList,"scroll",()=>{this.toggleDropdown({reset:!1})}))}}get element(){return this._element}get panels(){return this._tabs.map(e=>e.value.panel.id)}get size(){return this._tabs.length}get tabs(){return this._tabs.map(e=>e.value)}constructor(e,r,n){if(super(),this.group=e,this.accessor=r,this._observerDisposable=new Is,this._tabs=[],this.selectedIndex=-1,this._showTabsOverflowControl=!1,this._onTabDragStart=new Be,this.onTabDragStart=this._onTabDragStart.event,this._onDrop=new Be,this.onDrop=this._onDrop.event,this._onWillShowOverlay=new Be,this.onWillShowOverlay=this._onWillShowOverlay.event,this._onOverflowTabsChange=new Be,this.onOverflowTabsChange=this._onOverflowTabsChange.event,this._tabsList=document.createElement("div"),this._tabsList.className="dv-tabs-container dv-horizontal",this.showTabsOverflowControl=n.showTabsOverflowControl,r.options.scrollbars==="native")this._element=this._tabsList;else{const i=new HS(this._tabsList);this._element=i.element,this.addDisposables(i)}this.addDisposables(this._onOverflowTabsChange,this._observerDisposable,this._onWillShowOverlay,this._onDrop,this._onTabDragStart,gr(this.element,"pointerdown",i=>{if(i.defaultPrevented)return;i.button===0&&this.accessor.doSetGroupActive(this.group)}),Ei.from(()=>{for(const{value:i,disposable:s}of this._tabs)s.dispose(),i.dispose();this._tabs=[]}))}indexOf(e){return this._tabs.findIndex(r=>r.value.panel.id===e)}isActive(e){return this.selectedIndex>-1&&this._tabs[this.selectedIndex].value===e}setActivePanel(e){let r=0;for(const n of this._tabs){const i=e.id===n.value.panel.id;if(n.value.setActive(i),i){const s=n.value.element,a=s.parentElement;(r<a.scrollLeft||r+s.clientWidth>a.scrollLeft+a.clientWidth)&&(a.scrollLeft=r)}r+=n.value.element.clientWidth}}openPanel(e,r=this._tabs.length){if(this._tabs.find(a=>a.value.panel.id===e.id))return;const n=new Y1t(e,this.accessor,this.group);n.setContent(e.view.tab);const i=new Wt(n.onDragStart(a=>{this._onTabDragStart.fire({nativeEvent:a,panel:e})}),n.onPointerDown(a=>{if(a.defaultPrevented)return;const o=!this.accessor.options.disableFloatingGroups,l=this.group.api.location.type==="floating"&&this.size===1;if(o&&!l&&a.shiftKey){a.preventDefault();const c=this.accessor.getGroupPanel(n.panel.id),{top:u,left:d}=n.element.getBoundingClientRect(),{top:m,left:p}=this.accessor.element.getBoundingClientRect();this.accessor.addFloatingGroup(c,{x:d-p,y:u-m,inDragMode:!0});return}switch(a.button){case 0:this.group.activePanel!==e&&this.group.model.openPanel(e);break}}),n.onDrop(a=>{this._onDrop.fire({event:a.nativeEvent,index:this._tabs.findIndex(o=>o.value===n)})}),n.onWillShowOverlay(a=>{this._onWillShowOverlay.fire(new jS(a,{kind:"tab",panel:this.group.activePanel,api:this.accessor.api,group:this.group,getData:Es}))})),s={value:n,disposable:i};this.addTab(s,r)}delete(e){const r=this.indexOf(e),n=this._tabs.splice(r,1)[0],{value:i,disposable:s}=n;s.dispose(),i.dispose(),i.element.remove()}addTab(e,r=this._tabs.length){if(r<0||r>this._tabs.length)throw new Error("invalid location");this._tabsList.insertBefore(e.value.element,this._tabsList.children[r]),this._tabs=[...this._tabs.slice(0,r),e,...this._tabs.slice(r)],this.selectedIndex<0&&(this.selectedIndex=r)}toggleDropdown(e){const r=e.reset?[]:this._tabs.filter(n=>!b1t(n.value.element,this._tabsList)).map(n=>n.value.panel.id);this._onOverflowTabsChange.fire({tabs:r,reset:e.reset})}updateDragAndDropState(){for(const e of this._tabs)e.value.updateDragAndDropState()}}const CN=t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","svg");e.setAttributeNS(null,"height",t.height),e.setAttributeNS(null,"width",t.width),e.setAttributeNS(null,"viewBox",t.viewbox),e.setAttributeNS(null,"aria-hidden","false"),e.setAttributeNS(null,"focusable","false"),e.classList.add("dv-svg");const r=document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttributeNS(null,"d",t.path),e.appendChild(r),e},Q1t=()=>CN({width:"11",height:"11",viewbox:"0 0 28 28",path:"M2.1 27.3L0 25.2L11.55 13.65L0 2.1L2.1 0L13.65 11.55L25.2 0L27.3 2.1L15.75 13.65L27.3 25.2L25.2 27.3L13.65 15.75L2.1 27.3Z"}),J1t=()=>CN({width:"11",height:"11",viewbox:"0 0 24 15",path:"M12 14.15L0 2.15L2.15 0L12 9.9L21.85 0.0499992L24 2.2L12 14.15Z"}),_pe=()=>CN({width:"11",height:"11",viewbox:"0 0 15 25",path:"M2.15 24.1L0 21.95L9.9 12.05L0 2.15L2.15 0L14.2 12.05L2.15 24.1Z"});function eyt(){const t=document.createElement("div");t.className="dv-tabs-overflow-dropdown-default";const e=document.createElement("span");e.textContent="";const r=_pe();return t.appendChild(r),t.appendChild(e),{element:t,update:n=>{e.textContent=`${n.tabs}`}}}class tyt extends Wt{get onTabDragStart(){return this.tabs.onTabDragStart}get panels(){return this.tabs.panels}get size(){return this.tabs.size}get hidden(){return this._hidden}set hidden(e){this._hidden=e,this.element.style.display=e?"none":""}get element(){return this._element}constructor(e,r){super(),this.accessor=e,this.group=r,this._hidden=!1,this.dropdownPart=null,this._overflowTabs=[],this._dropdownDisposable=new Is,this._onDrop=new Be,this.onDrop=this._onDrop.event,this._onGroupDragStart=new Be,this.onGroupDragStart=this._onGroupDragStart.event,this._onWillShowOverlay=new Be,this.onWillShowOverlay=this._onWillShowOverlay.event,this._element=document.createElement("div"),this._element.className="dv-tabs-and-actions-container",Gt(this._element,"dv-full-width-single-tab",this.accessor.options.singleTabMode==="fullwidth"),this.rightActionsContainer=document.createElement("div"),this.rightActionsContainer.className="dv-right-actions-container",this.leftActionsContainer=document.createElement("div"),this.leftActionsContainer.className="dv-left-actions-container",this.preActionsContainer=document.createElement("div"),this.preActionsContainer.className="dv-pre-actions-container",this.tabs=new K1t(r,e,{showTabsOverflowControl:!e.options.disableTabsOverflowList}),this.voidContainer=new X1t(this.accessor,this.group),this._element.appendChild(this.preActionsContainer),this._element.appendChild(this.tabs.element),this._element.appendChild(this.leftActionsContainer),this._element.appendChild(this.voidContainer.element),this._element.appendChild(this.rightActionsContainer),this.addDisposables(this.tabs.onDrop(n=>this._onDrop.fire(n)),this.tabs.onWillShowOverlay(n=>this._onWillShowOverlay.fire(n)),e.onDidOptionsChange(()=>{this.tabs.showTabsOverflowControl=!e.options.disableTabsOverflowList}),this.tabs.onOverflowTabsChange(n=>{this.toggleDropdown(n)}),this.tabs,this._onWillShowOverlay,this._onDrop,this._onGroupDragStart,this.voidContainer,this.voidContainer.onDragStart(n=>{this._onGroupDragStart.fire({nativeEvent:n,group:this.group})}),this.voidContainer.onDrop(n=>{this._onDrop.fire({event:n.nativeEvent,index:this.tabs.size})}),this.voidContainer.onWillShowOverlay(n=>{this._onWillShowOverlay.fire(new jS(n,{kind:"header_space",panel:this.group.activePanel,api:this.accessor.api,group:this.group,getData:Es}))}),gr(this.voidContainer.element,"pointerdown",n=>{if(n.defaultPrevented)return;if(!this.accessor.options.disableFloatingGroups&&n.shiftKey&&this.group.api.location.type!=="floating"){n.preventDefault();const{top:s,left:a}=this.element.getBoundingClientRect(),{top:o,left:l}=this.accessor.element.getBoundingClientRect();this.accessor.addFloatingGroup(this.group,{x:a-l+20,y:s-o+20,inDragMode:!0})}}))}show(){this.hidden||(this.element.style.display="")}hide(){this._element.style.display="none"}setRightActionsElement(e){this.rightActions!==e&&(this.rightActions&&(this.rightActions.remove(),this.rightActions=void 0),e&&(this.rightActionsContainer.appendChild(e),this.rightActions=e))}setLeftActionsElement(e){this.leftActions!==e&&(this.leftActions&&(this.leftActions.remove(),this.leftActions=void 0),e&&(this.leftActionsContainer.appendChild(e),this.leftActions=e))}setPrefixActionsElement(e){this.preActions!==e&&(this.preActions&&(this.preActions.remove(),this.preActions=void 0),e&&(this.preActionsContainer.appendChild(e),this.preActions=e))}isActive(e){return this.tabs.isActive(e)}indexOf(e){return this.tabs.indexOf(e)}setActive(e){}delete(e){this.tabs.delete(e),this.updateClassnames()}setActivePanel(e){this.tabs.setActivePanel(e)}openPanel(e,r=this.tabs.size){this.tabs.openPanel(e,r),this.updateClassnames()}closePanel(e){this.delete(e.id)}updateClassnames(){Gt(this._element,"dv-single-tab",this.size===1)}toggleDropdown(e){const r=e.reset?[]:e.tabs;if(this._overflowTabs=r,this._overflowTabs.length>0&&this.dropdownPart){this.dropdownPart.update({tabs:r.length});return}if(this._overflowTabs.length===0){this._dropdownDisposable.dispose();return}const n=document.createElement("div");n.className="dv-tabs-overflow-dropdown-root";const i=eyt();i.update({tabs:r.length}),this.dropdownPart=i,n.appendChild(i.element),this.rightActionsContainer.prepend(n),this._dropdownDisposable.value=new Wt(Ei.from(()=>{var s,a;n.remove(),(a=(s=this.dropdownPart)===null||s===void 0?void 0:s.dispose)===null||a===void 0||a.call(s),this.dropdownPart=null}),gr(n,"pointerdown",s=>{s.preventDefault()},{capture:!0}),gr(n,"click",s=>{const a=document.createElement("div");a.style.overflow="auto",a.className="dv-tabs-overflow-container";for(const l of this.tabs.tabs.filter(c=>this._overflowTabs.includes(c.panel.id))){const c=this.group.panels.find(p=>p===l.panel),d=c.view.createTabRenderer("headerOverflow").element,m=document.createElement("div");Gt(m,"dv-tab",!0),Gt(m,"dv-active-tab",c.api.isActive),Gt(m,"dv-inactive-tab",!c.api.isActive),m.addEventListener("click",p=>{this.accessor.popupService.close(),!p.defaultPrevented&&(l.element.scrollIntoView(),l.panel.api.setActive())}),m.appendChild(d),a.appendChild(m)}const o=w1t(n);this.accessor.popupService.openPopover(a,{x:s.clientX,y:s.clientY,zIndex:o!=null&&o.style.zIndex?`calc(${o.style.zIndex} * 2)`:void 0})}))}updateDragAndDropState(){this.tabs.updateDragAndDropState(),this.voidContainer.updateDragAndDropState()}}class wpe extends ope{constructor(e,r,n,i,s){super(),this.nativeEvent=e,this.target=r,this.position=n,this.getData=i,this.group=s}}const DD=Object.keys({disableAutoResizing:void 0,hideBorders:void 0,singleTabMode:void 0,disableFloatingGroups:void 0,floatingGroupBounds:void 0,popoutUrl:void 0,defaultRenderer:void 0,debug:void 0,rootOverlayModel:void 0,locked:void 0,disableDnd:void 0,className:void 0,noPanelsOverlay:void 0,dndEdges:void 0,theme:void 0,disableTabsOverflowList:void 0,scrollbars:void 0});function ryt(t){return!!t.referencePanel}function nyt(t){return!!t.referenceGroup}function iyt(t){return!!t.referencePanel}function syt(t){return!!t.referenceGroup}class TN extends bN{get nativeEvent(){return this.options.nativeEvent}get position(){return this.options.position}get panel(){return this.options.panel}get group(){return this.options.group}get api(){return this.options.api}constructor(e){super(),this.options=e}getData(){return this.options.getData()}}class Cpe extends TN{get kind(){return this._kind}constructor(e){super(e),this._kind=e.kind}}class ayt extends Wt{get element(){throw new Error("dockview: not supported")}get activePanel(){return this._activePanel}get locked(){return this._locked}set locked(e){this._locked=e,Gt(this.container,"dv-locked-groupview",e==="no-drop-target"||e)}get isActive(){return this._isGroupActive}get panels(){return this._panels}get size(){return this._panels.length}get isEmpty(){return this._panels.length===0}get hasWatermark(){return!!(this.watermark&&this.container.contains(this.watermark.element))}get header(){return this.tabsContainer}get isContentFocused(){return document.activeElement?_D(document.activeElement,this.contentContainer.element):!1}get location(){return this._location}set location(e){switch(this._location=e,Gt(this.container,"dv-groupview-floating",!1),Gt(this.container,"dv-groupview-popout",!1),e.type){case"grid":this.contentContainer.dropTarget.setTargetZones(["top","bottom","left","right","center"]);break;case"floating":this.contentContainer.dropTarget.setTargetZones(["center"]),this.contentContainer.dropTarget.setTargetZones(e?["center"]:["top","bottom","left","right","center"]),Gt(this.container,"dv-groupview-floating",!0);break;case"popout":this.contentContainer.dropTarget.setTargetZones(["center"]),Gt(this.container,"dv-groupview-popout",!0);break}this.groupPanel.api._onDidLocationChange.fire({location:this.location})}constructor(e,r,n,i,s){var a;super(),this.container=e,this.accessor=r,this.id=n,this.options=i,this.groupPanel=s,this._isGroupActive=!1,this._locked=!1,this._location={type:"grid"},this.mostRecentlyUsed=[],this._overwriteRenderContainer=null,this._overwriteDropTargetContainer=null,this._onDidChange=new Be,this.onDidChange=this._onDidChange.event,this._width=0,this._height=0,this._panels=[],this._panelDisposables=new Map,this._onMove=new Be,this.onMove=this._onMove.event,this._onDidDrop=new Be,this.onDidDrop=this._onDidDrop.event,this._onWillDrop=new Be,this.onWillDrop=this._onWillDrop.event,this._onWillShowOverlay=new Be,this.onWillShowOverlay=this._onWillShowOverlay.event,this._onTabDragStart=new Be,this.onTabDragStart=this._onTabDragStart.event,this._onGroupDragStart=new Be,this.onGroupDragStart=this._onGroupDragStart.event,this._onDidAddPanel=new Be,this.onDidAddPanel=this._onDidAddPanel.event,this._onDidPanelTitleChange=new Be,this.onDidPanelTitleChange=this._onDidPanelTitleChange.event,this._onDidPanelParametersChange=new Be,this.onDidPanelParametersChange=this._onDidPanelParametersChange.event,this._onDidRemovePanel=new Be,this.onDidRemovePanel=this._onDidRemovePanel.event,this._onDidActivePanelChange=new Be,this.onDidActivePanelChange=this._onDidActivePanelChange.event,this._onUnhandledDragOverEvent=new Be,this.onUnhandledDragOverEvent=this._onUnhandledDragOverEvent.event,Gt(this.container,"dv-groupview",!0),this._api=new RT(this.accessor),this.tabsContainer=new tyt(this.accessor,this.groupPanel),this.contentContainer=new G1t(this.accessor,this),e.append(this.tabsContainer.element,this.contentContainer.element),this.header.hidden=!!i.hideHeader,this.locked=(a=i.locked)!==null&&a!==void 0?a:!1,this.addDisposables(this._onTabDragStart,this._onGroupDragStart,this._onWillShowOverlay,this.tabsContainer.onTabDragStart(o=>{this._onTabDragStart.fire(o)}),this.tabsContainer.onGroupDragStart(o=>{this._onGroupDragStart.fire(o)}),this.tabsContainer.onDrop(o=>{this.handleDropEvent("header",o.event,"center",o.index)}),this.contentContainer.onDidFocus(()=>{this.accessor.doSetGroupActive(this.groupPanel)}),this.contentContainer.onDidBlur(()=>{}),this.contentContainer.dropTarget.onDrop(o=>{this.handleDropEvent("content",o.nativeEvent,o.position)}),this.tabsContainer.onWillShowOverlay(o=>{this._onWillShowOverlay.fire(o)}),this.contentContainer.dropTarget.onWillShowOverlay(o=>{this._onWillShowOverlay.fire(new jS(o,{kind:"content",panel:this.activePanel,api:this._api,group:this.groupPanel,getData:Es}))}),this._onMove,this._onDidChange,this._onDidDrop,this._onWillDrop,this._onDidAddPanel,this._onDidRemovePanel,this._onDidActivePanelChange,this._onUnhandledDragOverEvent,this._onDidPanelTitleChange,this._onDidPanelParametersChange)}focusContent(){this.contentContainer.element.focus()}set renderContainer(e){this.panels.forEach(r=>{this.renderContainer.detatch(r)}),this._overwriteRenderContainer=e,this.panels.forEach(r=>{this.rerender(r)})}get renderContainer(){var e;return(e=this._overwriteRenderContainer)!==null&&e!==void 0?e:this.accessor.overlayRenderContainer}set dropTargetContainer(e){this._overwriteDropTargetContainer=e}get dropTargetContainer(){var e;return(e=this._overwriteDropTargetContainer)!==null&&e!==void 0?e:this.accessor.rootDropTargetContainer}initialize(){this.options.panels&&this.options.panels.forEach(e=>{this.doAddPanel(e)}),this.options.activePanel&&this.openPanel(this.options.activePanel),this.setActive(this.isActive,!0),this.updateContainer(),this.accessor.options.createRightHeaderActionComponent&&(this._rightHeaderActions=this.accessor.options.createRightHeaderActionComponent(this.groupPanel),this.addDisposables(this._rightHeaderActions),this._rightHeaderActions.init({containerApi:this._api,api:this.groupPanel.api,group:this.groupPanel}),this.tabsContainer.setRightActionsElement(this._rightHeaderActions.element)),this.accessor.options.createLeftHeaderActionComponent&&(this._leftHeaderActions=this.accessor.options.createLeftHeaderActionComponent(this.groupPanel),this.addDisposables(this._leftHeaderActions),this._leftHeaderActions.init({containerApi:this._api,api:this.groupPanel.api,group:this.groupPanel}),this.tabsContainer.setLeftActionsElement(this._leftHeaderActions.element)),this.accessor.options.createPrefixHeaderActionComponent&&(this._prefixHeaderActions=this.accessor.options.createPrefixHeaderActionComponent(this.groupPanel),this.addDisposables(this._prefixHeaderActions),this._prefixHeaderActions.init({containerApi:this._api,api:this.groupPanel.api,group:this.groupPanel}),this.tabsContainer.setPrefixActionsElement(this._prefixHeaderActions.element))}rerender(e){this.contentContainer.renderPanel(e,{asActive:!1})}indexOf(e){return this.tabsContainer.indexOf(e.id)}toJSON(){var e;const r={views:this.tabsContainer.panels,activeView:(e=this._activePanel)===null||e===void 0?void 0:e.id,id:this.id};return this.locked!==!1&&(r.locked=this.locked),this.header.hidden&&(r.hideHeader=!0),r}moveToNext(e){e||(e={}),e.panel||(e.panel=this.activePanel);const r=e.panel?this.panels.indexOf(e.panel):-1;let n;if(r<this.panels.length-1)n=r+1;else if(!e.suppressRoll)n=0;else return;this.openPanel(this.panels[n])}moveToPrevious(e){if(e||(e={}),e.panel||(e.panel=this.activePanel),!e.panel)return;const r=this.panels.indexOf(e.panel);let n;if(r>0)n=r-1;else if(!e.suppressRoll)n=this.panels.length-1;else return;this.openPanel(this.panels[n])}containsPanel(e){return this.panels.includes(e)}init(e){}update(e){}focus(){var e;(e=this._activePanel)===null||e===void 0||e.focus()}openPanel(e,r={}){(typeof r.index!="number"||r.index>this.panels.length)&&(r.index=this.panels.length);const n=!!r.skipSetActive;if(e.updateParentGroup(this.groupPanel,{skipSetActive:r.skipSetActive}),this.doAddPanel(e,r.index,{skipSetActive:n}),this._activePanel===e){this.contentContainer.renderPanel(e,{asActive:!0});return}n||this.doSetActivePanel(e),r.skipSetGroupActive||this.accessor.doSetGroupActive(this.groupPanel),r.skipSetActive||this.updateContainer()}removePanel(e,r={skipSetActive:!1}){const n=typeof e=="string"?e:e.id,i=this._panels.find(s=>s.id===n);if(!i)throw new Error("invalid operation");return this._removePanel(i,r)}closeAllPanels(){if(this.panels.length>0){const e=[...this.panels];for(const r of e)this.doClose(r)}else this.accessor.removeGroup(this.groupPanel)}closePanel(e){this.doClose(e)}doClose(e){const r=this.panels.length===1&&this.accessor.groups.length===1;this.accessor.removePanel(e,r&&this.accessor.options.noPanelsOverlay==="emptyGroup"?{removeEmptyGroup:!1}:void 0)}isPanelActive(e){return this._activePanel===e}updateActions(e){this.tabsContainer.setRightActionsElement(e)}setActive(e,r=!1){!r&&this.isActive===e||(this._isGroupActive=e,Gt(this.container,"dv-active-group",e),Gt(this.container,"dv-inactive-group",!e),this.tabsContainer.setActive(this.isActive),!this._activePanel&&this.panels.length>0&&this.doSetActivePanel(this.panels[0]),this.updateContainer())}layout(e,r){var n;this._width=e,this._height=r,this.contentContainer.layout(this._width,this._height),!((n=this._activePanel)===null||n===void 0)&&n.layout&&this._activePanel.layout(this._width,this._height)}_removePanel(e,r){const n=this._activePanel===e;if(this.doRemovePanel(e),n&&this.panels.length>0){const i=this.mostRecentlyUsed[0];this.openPanel(i,{skipSetActive:r.skipSetActive,skipSetGroupActive:r.skipSetActiveGroup})}return this._activePanel&&this.panels.length===0&&this.doSetActivePanel(void 0),r.skipSetActive||this.updateContainer(),e}doRemovePanel(e){const r=this.panels.indexOf(e);if(this._activePanel===e&&this.contentContainer.closePanel(),this.tabsContainer.delete(e.id),this._panels.splice(r,1),this.mostRecentlyUsed.includes(e)){const i=this.mostRecentlyUsed.indexOf(e);this.mostRecentlyUsed.splice(i,1)}const n=this._panelDisposables.get(e.id);n&&(n.dispose(),this._panelDisposables.delete(e.id)),this._onDidRemovePanel.fire({panel:e})}doAddPanel(e,r=this.panels.length,n={skipSetActive:!1}){const s=this._panels.indexOf(e)>-1;this.tabsContainer.show(),this.contentContainer.show(),this.tabsContainer.openPanel(e,r),n.skipSetActive||this.contentContainer.openPanel(e),!s&&(this.updateMru(e),this.panels.splice(r,0,e),this._panelDisposables.set(e.id,new Wt(e.api.onDidTitleChange(a=>this._onDidPanelTitleChange.fire(a)),e.api.onDidParametersChange(a=>this._onDidPanelParametersChange.fire(a)))),this._onDidAddPanel.fire({panel:e}))}doSetActivePanel(e){this._activePanel!==e&&(this._activePanel=e,e&&(this.tabsContainer.setActivePanel(e),this.contentContainer.openPanel(e),e.layout(this._width,this._height),this.updateMru(e),this.contentContainer.refreshFocusState(),this._onDidActivePanelChange.fire({panel:e})))}updateMru(e){this.mostRecentlyUsed.includes(e)&&this.mostRecentlyUsed.splice(this.mostRecentlyUsed.indexOf(e),1),this.mostRecentlyUsed=[e,...this.mostRecentlyUsed]}updateContainer(){var e,r;if(this.panels.forEach(n=>n.runEvents()),this.isEmpty&&!this.watermark){const n=this.accessor.createWatermarkComponent();n.init({containerApi:this._api,group:this.groupPanel}),this.watermark=n,gr(this.watermark.element,"pointerdown",()=>{this.isActive||this.accessor.doSetGroupActive(this.groupPanel)}),this.contentContainer.element.appendChild(this.watermark.element)}!this.isEmpty&&this.watermark&&(this.watermark.element.remove(),(r=(e=this.watermark).dispose)===null||r===void 0||r.call(e),this.watermark=void 0)}canDisplayOverlay(e,r,n){const i=new wpe(e,n,r,Es,this.accessor.getPanel(this.id));return this._onUnhandledDragOverEvent.fire(i),i.isAccepted}handleDropEvent(e,r,n,i){if(this.locked==="no-drop-target")return;function s(){switch(e){case"header":return typeof i=="number"?"tab":"header_space";case"content":return"content"}}const a=typeof i=="number"?this.panels[i]:void 0,o=new Cpe({nativeEvent:r,position:n,panel:a,getData:()=>Es(),kind:s(),group:this.groupPanel,api:this._api});if(this._onWillDrop.fire(o),o.defaultPrevented)return;const l=Es();if(l&&l.viewId===this.accessor.id){if(e==="content"&&l.groupId===this.id&&(n==="center"||l.panelId===null)||e==="header"&&l.groupId===this.id&&l.panelId===null)return;if(l.panelId===null){const{groupId:p}=l;this._onMove.fire({target:n,groupId:p,index:i});return}if(this.tabsContainer.indexOf(l.panelId)!==-1&&this.tabsContainer.size===1)return;const{groupId:u,panelId:d}=l;if(this.id===u&&!n&&this.tabsContainer.indexOf(d)===i)return;this._onMove.fire({target:n,groupId:l.groupId,itemId:l.panelId,index:i})}else this._onDidDrop.fire(new TN({nativeEvent:r,position:n,panel:a,getData:()=>Es(),group:this.groupPanel,api:this._api}))}updateDragAndDropState(){this.tabsContainer.updateDragAndDropState()}dispose(){var e,r,n;super.dispose(),(e=this.watermark)===null||e===void 0||e.element.remove(),(n=(r=this.watermark)===null||r===void 0?void 0:r.dispose)===null||n===void 0||n.call(r),this.watermark=void 0;for(const i of this.panels)i.dispose();this.tabsContainer.dispose(),this.contentContainer.dispose()}}class kN extends bpe{constructor(e,r,n){super(e,r),this._onDidConstraintsChangeInternal=new Be,this.onDidConstraintsChangeInternal=this._onDidConstraintsChangeInternal.event,this._onDidConstraintsChange=new Be,this.onDidConstraintsChange=this._onDidConstraintsChange.event,this._onDidSizeChange=new Be,this.onDidSizeChange=this._onDidSizeChange.event,this.addDisposables(this._onDidConstraintsChangeInternal,this._onDidConstraintsChange,this._onDidSizeChange),n&&this.initialize(n)}setConstraints(e){this._onDidConstraintsChangeInternal.fire(e)}setSize(e){this._onDidSizeChange.fire(e)}}class Tpe extends wN{get priority(){return this._priority}get snap(){return this._snap}get minimumWidth(){return this.__minimumWidth()}get minimumHeight(){return this.__minimumHeight()}get maximumHeight(){return this.__maximumHeight()}get maximumWidth(){return this.__maximumWidth()}__minimumWidth(){const e=typeof this._minimumWidth=="function"?this._minimumWidth():this._minimumWidth;return e!==this._evaluatedMinimumWidth&&(this._evaluatedMinimumWidth=e,this.updateConstraints()),e}__maximumWidth(){const e=typeof this._maximumWidth=="function"?this._maximumWidth():this._maximumWidth;return e!==this._evaluatedMaximumWidth&&(this._evaluatedMaximumWidth=e,this.updateConstraints()),e}__minimumHeight(){const e=typeof this._minimumHeight=="function"?this._minimumHeight():this._minimumHeight;return e!==this._evaluatedMinimumHeight&&(this._evaluatedMinimumHeight=e,this.updateConstraints()),e}__maximumHeight(){const e=typeof this._maximumHeight=="function"?this._maximumHeight():this._maximumHeight;return e!==this._evaluatedMaximumHeight&&(this._evaluatedMaximumHeight=e,this.updateConstraints()),e}get isActive(){return this.api.isActive}get isVisible(){return this.api.isVisible}constructor(e,r,n,i){super(e,r,i??new kN(e,r)),this._evaluatedMinimumWidth=0,this._evaluatedMaximumWidth=Number.MAX_SAFE_INTEGER,this._evaluatedMinimumHeight=0,this._evaluatedMaximumHeight=Number.MAX_SAFE_INTEGER,this._minimumWidth=0,this._minimumHeight=0,this._maximumWidth=Number.MAX_SAFE_INTEGER,this._maximumHeight=Number.MAX_SAFE_INTEGER,this._snap=!1,this._onDidChange=new Be,this.onDidChange=this._onDidChange.event,typeof(n==null?void 0:n.minimumWidth)=="number"&&(this._minimumWidth=n.minimumWidth),typeof(n==null?void 0:n.maximumWidth)=="number"&&(this._maximumWidth=n.maximumWidth),typeof(n==null?void 0:n.minimumHeight)=="number"&&(this._minimumHeight=n.minimumHeight),typeof(n==null?void 0:n.maximumHeight)=="number"&&(this._maximumHeight=n.maximumHeight),this.api.initialize(this),this.addDisposables(this.api.onWillVisibilityChange(s=>{const{isVisible:a}=s,{accessor:o}=this._params;o.setVisible(this,a)}),this.api.onActiveChange(()=>{const{accessor:s}=this._params;s.doSetGroupActive(this)}),this.api.onDidConstraintsChangeInternal(s=>{(typeof s.minimumWidth=="number"||typeof s.minimumWidth=="function")&&(this._minimumWidth=s.minimumWidth),(typeof s.minimumHeight=="number"||typeof s.minimumHeight=="function")&&(this._minimumHeight=s.minimumHeight),(typeof s.maximumWidth=="number"||typeof s.maximumWidth=="function")&&(this._maximumWidth=s.maximumWidth),(typeof s.maximumHeight=="number"||typeof s.maximumHeight=="function")&&(this._maximumHeight=s.maximumHeight)}),this.api.onDidSizeChange(s=>{this._onDidChange.fire({height:s.height,width:s.width})}),this._onDidChange)}setVisible(e){this.api._onDidVisibilityChange.fire({isVisible:e})}setActive(e){this.api._onDidActiveChange.fire({isActive:e})}init(e){e.maximumHeight&&(this._maximumHeight=e.maximumHeight),e.minimumHeight&&(this._minimumHeight=e.minimumHeight),e.maximumWidth&&(this._maximumWidth=e.maximumWidth),e.minimumWidth&&(this._minimumWidth=e.minimumWidth),this._priority=e.priority,this._snap=!!e.snap,super.init(e),typeof e.isVisible=="boolean"&&this.setVisible(e.isVisible)}updateConstraints(){this.api._onDidConstraintsChange.fire({minimumWidth:this._evaluatedMinimumWidth,maximumWidth:this._evaluatedMaximumWidth,minimumHeight:this._evaluatedMinimumHeight,maximumHeight:this._evaluatedMaximumHeight})}toJSON(){const e=super.toJSON(),r=i=>i===Number.MAX_SAFE_INTEGER?void 0:i,n=i=>i<=0?void 0:i;return Object.assign(Object.assign({},e),{minimumHeight:n(this.minimumHeight),maximumHeight:r(this.maximumHeight),minimumWidth:n(this.minimumWidth),maximumWidth:r(this.maximumWidth),snap:this.snap,priority:this.priority})}}const fy="dockview: DockviewGroupPanelApiImpl not initialized";class oyt extends kN{get location(){if(!this._group)throw new Error(fy);return this._group.model.location}constructor(e,r){super(e,"__dockviewgroup__"),this.accessor=r,this._onDidLocationChange=new Be,this.onDidLocationChange=this._onDidLocationChange.event,this._onDidActivePanelChange=new Be,this.onDidActivePanelChange=this._onDidActivePanelChange.event,this.addDisposables(this._onDidLocationChange,this._onDidActivePanelChange,this._onDidVisibilityChange.event(n=>{n.isVisible&&this._pendingSize&&(super.setSize(this._pendingSize),this._pendingSize=void 0)}))}setSize(e){this._pendingSize=Object.assign({},e),super.setSize(e)}close(){if(this._group)return this.accessor.removeGroup(this._group)}getWindow(){return this.location.type==="popout"?this.location.getWindow():window}moveTo(e){var r,n,i,s;if(!this._group)throw new Error(fy);const a=(r=e.group)!==null&&r!==void 0?r:this.accessor.addGroup({direction:M1t((n=e.position)!==null&&n!==void 0?n:"right"),skipSetActive:(i=e.skipSetActive)!==null&&i!==void 0?i:!1});this.accessor.moveGroupOrPanel({from:{groupId:this._group.id},to:{group:a,position:e.group&&(s=e.position)!==null&&s!==void 0?s:"center",index:e.index},skipSetActive:e.skipSetActive})}maximize(){if(!this._group)throw new Error(fy);this.location.type==="grid"&&this.accessor.maximizeGroup(this._group)}isMaximized(){if(!this._group)throw new Error(fy);return this.accessor.isMaximizedGroup(this._group)}exitMaximized(){if(!this._group)throw new Error(fy);this.isMaximized()&&this.accessor.exitMaximizedGroup()}initialize(e){this._group=e}}const lyt=100,cyt=100;class BG extends Tpe{get minimumWidth(){var e;if(typeof this._explicitConstraints.minimumWidth=="number")return this._explicitConstraints.minimumWidth;const r=(e=this.activePanel)===null||e===void 0?void 0:e.minimumWidth;return typeof r=="number"?r:super.__minimumWidth()}get minimumHeight(){var e;if(typeof this._explicitConstraints.minimumHeight=="number")return this._explicitConstraints.minimumHeight;const r=(e=this.activePanel)===null||e===void 0?void 0:e.minimumHeight;return typeof r=="number"?r:super.__minimumHeight()}get maximumWidth(){var e;if(typeof this._explicitConstraints.maximumWidth=="number")return this._explicitConstraints.maximumWidth;const r=(e=this.activePanel)===null||e===void 0?void 0:e.maximumWidth;return typeof r=="number"?r:super.__maximumWidth()}get maximumHeight(){var e;if(typeof this._explicitConstraints.maximumHeight=="number")return this._explicitConstraints.maximumHeight;const r=(e=this.activePanel)===null||e===void 0?void 0:e.maximumHeight;return typeof r=="number"?r:super.__maximumHeight()}get panels(){return this._model.panels}get activePanel(){return this._model.activePanel}get size(){return this._model.size}get model(){return this._model}get locked(){return this._model.locked}set locked(e){this._model.locked=e}get header(){return this._model.header}constructor(e,r,n){var i,s,a,o,l,c;super(r,"groupview_default",{minimumHeight:(s=(i=n.constraints)===null||i===void 0?void 0:i.minimumHeight)!==null&&s!==void 0?s:cyt,minimumWidth:(o=(a=n.constraints)===null||a===void 0?void 0:a.minimumWidth)!==null&&o!==void 0?o:lyt,maximumHeight:(l=n.constraints)===null||l===void 0?void 0:l.maximumHeight,maximumWidth:(c=n.constraints)===null||c===void 0?void 0:c.maximumWidth},new oyt(r,e)),this._explicitConstraints={},this.api.initialize(this),this._model=new ayt(this.element,e,r,n,this),this.addDisposables(this.model.onDidActivePanelChange(u=>{this.api._onDidActivePanelChange.fire(u)}),this.api.onDidConstraintsChangeInternal(u=>{u.minimumWidth!==void 0&&(this._explicitConstraints.minimumWidth=typeof u.minimumWidth=="function"?u.minimumWidth():u.minimumWidth),u.minimumHeight!==void 0&&(this._explicitConstraints.minimumHeight=typeof u.minimumHeight=="function"?u.minimumHeight():u.minimumHeight),u.maximumWidth!==void 0&&(this._explicitConstraints.maximumWidth=typeof u.maximumWidth=="function"?u.maximumWidth():u.maximumWidth),u.maximumHeight!==void 0&&(this._explicitConstraints.maximumHeight=typeof u.maximumHeight=="function"?u.maximumHeight():u.maximumHeight)}))}focus(){this.api.isActive||this.api.setActive(),super.focus()}initialize(){this._model.initialize()}setActive(e){super.setActive(e),this.model.setActive(e)}layout(e,r){super.layout(e,r),this.model.layout(e,r)}getComponent(){return this._model}toJSON(){return this.model.toJSON()}}const uyt={className:"dockview-theme-abyss"};class hyt extends kN{get location(){return this.group.api.location}get title(){return this.panel.title}get isGroupActive(){return this.group.isActive}get renderer(){return this.panel.renderer}set group(e){const r=this._group;this._group!==e&&(this._group=e,this._onDidGroupChange.fire({}),this.setupGroupEventListeners(r),this._onDidLocationChange.fire({location:this.group.api.location}))}get group(){return this._group}get tabComponent(){return this._tabComponent}constructor(e,r,n,i,s){super(e.id,i),this.panel=e,this.accessor=n,this._onDidTitleChange=new Be,this.onDidTitleChange=this._onDidTitleChange.event,this._onDidActiveGroupChange=new Be,this.onDidActiveGroupChange=this._onDidActiveGroupChange.event,this._onDidGroupChange=new Be,this.onDidGroupChange=this._onDidGroupChange.event,this._onDidRendererChange=new Be,this.onDidRendererChange=this._onDidRendererChange.event,this._onDidLocationChange=new Be,this.onDidLocationChange=this._onDidLocationChange.event,this.groupEventsDisposable=new Is,this._tabComponent=s,this.initialize(e),this._group=r,this.setupGroupEventListeners(),this.addDisposables(this.groupEventsDisposable,this._onDidRendererChange,this._onDidTitleChange,this._onDidGroupChange,this._onDidActiveGroupChange,this._onDidLocationChange)}getWindow(){return this.group.api.getWindow()}moveTo(e){var r,n;this.accessor.moveGroupOrPanel({from:{groupId:this._group.id,panelId:this.panel.id},to:{group:(r=e.group)!==null&&r!==void 0?r:this._group,position:e.group&&(n=e.position)!==null&&n!==void 0?n:"center",index:e.index},skipSetActive:e.skipSetActive})}setTitle(e){this.panel.setTitle(e)}setRenderer(e){this.panel.setRenderer(e)}close(){this.group.model.closePanel(this.panel)}maximize(){this.group.api.maximize()}isMaximized(){return this.group.api.isMaximized()}exitMaximized(){this.group.api.exitMaximized()}setupGroupEventListeners(e){var r;let n=(r=e==null?void 0:e.isActive)!==null&&r!==void 0?r:!1;this.groupEventsDisposable.value=new Wt(this.group.api.onDidVisibilityChange(i=>{const s=!i.isVisible&&this.isVisible,a=i.isVisible&&!this.isVisible,o=this.group.model.isPanelActive(this.panel);(s||a&&o)&&this._onDidVisibilityChange.fire(i)}),this.group.api.onDidLocationChange(i=>{this.group===this.panel.group&&this._onDidLocationChange.fire(i)}),this.group.api.onDidActiveChange(()=>{this.group===this.panel.group&&n!==this.isGroupActive&&(n=this.isGroupActive,this._onDidActiveGroupChange.fire({isActive:this.isGroupActive}))}))}}class j0 extends Wt{get params(){return this._params}get title(){return this._title}get group(){return this._group}get renderer(){var e;return(e=this._renderer)!==null&&e!==void 0?e:this.accessor.renderer}get minimumWidth(){return this._minimumWidth}get minimumHeight(){return this._minimumHeight}get maximumWidth(){return this._maximumWidth}get maximumHeight(){return this._maximumHeight}constructor(e,r,n,i,s,a,o,l){super(),this.id=e,this.accessor=i,this.containerApi=s,this.view=o,this._renderer=l.renderer,this._group=a,this._minimumWidth=l.minimumWidth,this._minimumHeight=l.minimumHeight,this._maximumWidth=l.maximumWidth,this._maximumHeight=l.maximumHeight,this.api=new hyt(this,this._group,i,r,n),this.addDisposables(this.api.onActiveChange(()=>{i.setActivePanel(this)}),this.api.onDidSizeChange(c=>{this.group.api.setSize(c)}),this.api.onDidRendererChange(()=>{this.group.model.rerender(this)}))}init(e){this._params=e.params,this.view.init(Object.assign(Object.assign({},e),{api:this.api,containerApi:this.containerApi})),this.setTitle(e.title)}focus(){const e=new ype;this.api._onWillFocus.fire(e),!e.defaultPrevented&&(this.api.isActive||this.api.setActive())}toJSON(){return{id:this.id,contentComponent:this.view.contentComponent,tabComponent:this.view.tabComponent,params:Object.keys(this._params||{}).length>0?this._params:void 0,title:this.title,renderer:this._renderer,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,minimumWidth:this._minimumWidth,maximumWidth:this._maximumWidth}}setTitle(e){e!==this.title&&(this._title=e,this.api._onDidTitleChange.fire({title:e}))}setRenderer(e){e!==this.renderer&&(this._renderer=e,this.api._onDidRendererChange.fire({renderer:e}))}update(e){var r;this._params=Object.assign(Object.assign({},(r=this._params)!==null&&r!==void 0?r:{}),e.params);for(const n of Object.keys(e.params))e.params[n]===void 0&&delete this._params[n];this.view.update({params:this._params})}updateFromStateModel(e){var r,n,i;this._maximumHeight=e.maximumHeight,this._minimumHeight=e.minimumHeight,this._maximumWidth=e.maximumWidth,this._minimumWidth=e.minimumWidth,this.update({params:(r=e.params)!==null&&r!==void 0?r:{}}),this.setTitle((n=e.title)!==null&&n!==void 0?n:this.id),this.setRenderer((i=e.renderer)!==null&&i!==void 0?i:this.accessor.renderer)}updateParentGroup(e,r){this._group=e,this.api.group=this._group;const n=this._group.model.isPanelActive(this),i=this.group.api.isActive&&n;r!=null&&r.skipSetActive||this.api.isActive!==i&&this.api._onDidActiveChange.fire({isActive:this.group.api.isActive&&n}),this.api.isVisible!==n&&this.api._onDidVisibilityChange.fire({isVisible:n})}runEvents(){const e=this._group.model.isPanelActive(this),r=this.group.api.isActive&&e;this.api.isActive!==r&&this.api._onDidActiveChange.fire({isActive:this.group.api.isActive&&e}),this.api.isVisible!==e&&this.api._onDidVisibilityChange.fire({isVisible:e})}layout(e,r){this.api._onDidDimensionChange.fire({width:e,height:r}),this.view.layout(e,r)}dispose(){this.api.dispose(),this.view.dispose()}}class FG extends Wt{get element(){return this._element}constructor(){super(),this._element=document.createElement("div"),this._element.className="dv-default-tab",this._content=document.createElement("div"),this._content.className="dv-default-tab-content",this.action=document.createElement("div"),this.action.className="dv-default-tab-action",this.action.appendChild(Q1t()),this._element.appendChild(this._content),this._element.appendChild(this.action),this.render()}init(e){this._title=e.title,this.addDisposables(e.api.onDidTitleChange(r=>{this._title=r.title,this.render()}),gr(this.action,"pointerdown",r=>{r.preventDefault()}),gr(this.action,"click",r=>{r.defaultPrevented||(r.preventDefault(),e.api.close())})),this.render()}render(){var e;this._content.textContent!==this._title&&(this._content.textContent=(e=this._title)!==null&&e!==void 0?e:"")}}class kpe{get content(){return this._content}get tab(){return this._tab}constructor(e,r,n,i){this.accessor=e,this.id=r,this.contentComponent=n,this.tabComponent=i,this._content=this.createContentComponent(this.id,n),this._tab=this.createTabComponent(this.id,i)}createTabRenderer(e){var r;const n=this.createTabComponent(this.id,this.tabComponent);return this._params&&n.init(Object.assign(Object.assign({},this._params),{tabLocation:e})),this._updateEvent&&((r=n.update)===null||r===void 0||r.call(n,this._updateEvent)),n}init(e){this._params=e,this.content.init(e),this.tab.init(Object.assign(Object.assign({},e),{tabLocation:"header"}))}layout(e,r){var n,i;(i=(n=this.content).layout)===null||i===void 0||i.call(n,e,r)}update(e){var r,n,i,s;this._updateEvent=e,(n=(r=this.content).update)===null||n===void 0||n.call(r,e),(s=(i=this.tab).update)===null||s===void 0||s.call(i,e)}dispose(){var e,r,n,i;(r=(e=this.content).dispose)===null||r===void 0||r.call(e),(i=(n=this.tab).dispose)===null||i===void 0||i.call(n)}createContentComponent(e,r){return this.accessor.options.createComponent({id:e,name:r})}createTabComponent(e,r){const n=r??this.accessor.options.defaultTabComponent;if(n){if(this.accessor.options.createTabComponent){const i=this.accessor.options.createTabComponent({id:e,name:n});return i||new FG}console.warn(`dockview: tabComponent '${r}' was not found. falling back to the default tab.`)}return new FG}}class dyt{constructor(e){this.accessor=e}fromJSON(e,r){var n,i;const s=e.id,a=e.params,o=e.title,l=e.view,c=l?l.content.id:(n=e.contentComponent)!==null&&n!==void 0?n:"unknown",u=l?(i=l.tab)===null||i===void 0?void 0:i.id:e.tabComponent,d=new kpe(this.accessor,s,c,u),m=new j0(s,c,u,this.accessor,new RT(this.accessor),r,d,{renderer:e.renderer,minimumWidth:e.minimumWidth,minimumHeight:e.minimumHeight,maximumWidth:e.maximumWidth,maximumHeight:e.maximumHeight});return m.init({title:o??s,params:a??{}}),m}}class fyt extends Wt{get element(){return this._element}constructor(){super(),this._element=document.createElement("div"),this._element.className="dv-watermark"}init(e){}}class pyt{constructor(){this._orderedList=[]}push(e){this._orderedList=[...this._orderedList.filter(r=>r!==e),e],this.update()}destroy(e){this._orderedList=this._orderedList.filter(r=>r!==e),this.update()}update(){for(let e=0;e<this._orderedList.length;e++)this._orderedList[e].setAttribute("aria-level",`${e}`),this._orderedList[e].style.zIndex=`calc(var(--dv-overlay-z-index, 999) + ${e*2})`}}const R_=new pyt;class zl extends Wt{set minimumInViewportWidth(e){this.options.minimumInViewportWidth=e}set minimumInViewportHeight(e){this.options.minimumInViewportHeight=e}get element(){return this._element}get isVisible(){return this._isVisible}constructor(e){super(),this.options=e,this._element=document.createElement("div"),this._onDidChange=new Be,this.onDidChange=this._onDidChange.event,this._onDidChangeEnd=new Be,this.onDidChangeEnd=this._onDidChangeEnd.event,this.addDisposables(this._onDidChange,this._onDidChangeEnd),this._element.className="dv-resize-container",this._isVisible=!0,this.setupResize("top"),this.setupResize("bottom"),this.setupResize("left"),this.setupResize("right"),this.setupResize("topleft"),this.setupResize("topright"),this.setupResize("bottomleft"),this.setupResize("bottomright"),this._element.appendChild(this.options.content),this.options.container.appendChild(this._element),this.setBounds(Object.assign(Object.assign(Object.assign(Object.assign({height:this.options.height,width:this.options.width},"top"in this.options&&{top:this.options.top}),"bottom"in this.options&&{bottom:this.options.bottom}),"left"in this.options&&{left:this.options.left}),"right"in this.options&&{right:this.options.right})),R_.push(this._element)}setVisible(e){e!==this.isVisible&&(this._isVisible=e,Gt(this.element,"dv-hidden",!this.isVisible))}bringToFront(){R_.push(this._element)}setBounds(e={}){typeof e.height=="number"&&(this._element.style.height=`${e.height}px`),typeof e.width=="number"&&(this._element.style.width=`${e.width}px`),"top"in e&&typeof e.top=="number"&&(this._element.style.top=`${e.top}px`,this._element.style.bottom="auto",this.verticalAlignment="top"),"bottom"in e&&typeof e.bottom=="number"&&(this._element.style.bottom=`${e.bottom}px`,this._element.style.top="auto",this.verticalAlignment="bottom"),"left"in e&&typeof e.left=="number"&&(this._element.style.left=`${e.left}px`,this._element.style.right="auto",this.horiziontalAlignment="left"),"right"in e&&typeof e.right=="number"&&(this._element.style.right=`${e.right}px`,this._element.style.left="auto",this.horiziontalAlignment="right");const r=this.options.container.getBoundingClientRect(),n=this._element.getBoundingClientRect(),i=Math.max(0,this.getMinimumWidth(n.width)),s=Math.max(0,this.getMinimumHeight(n.height));if(this.verticalAlignment==="top"){const a=Nn(n.top-r.top,-s,Math.max(0,r.height-n.height+s));this._element.style.top=`${a}px`,this._element.style.bottom="auto"}if(this.verticalAlignment==="bottom"){const a=Nn(r.bottom-n.bottom,-s,Math.max(0,r.height-n.height+s));this._element.style.bottom=`${a}px`,this._element.style.top="auto"}if(this.horiziontalAlignment==="left"){const a=Nn(n.left-r.left,-i,Math.max(0,r.width-n.width+i));this._element.style.left=`${a}px`,this._element.style.right="auto"}if(this.horiziontalAlignment==="right"){const a=Nn(r.right-n.right,-i,Math.max(0,r.width-n.width+i));this._element.style.right=`${a}px`,this._element.style.left="auto"}this._onDidChange.fire()}toJSON(){const e=this.options.container.getBoundingClientRect(),r=this._element.getBoundingClientRect(),n={};return this.verticalAlignment==="top"?n.top=parseFloat(this._element.style.top):this.verticalAlignment==="bottom"?n.bottom=parseFloat(this._element.style.bottom):n.top=r.top-e.top,this.horiziontalAlignment==="left"?n.left=parseFloat(this._element.style.left):this.horiziontalAlignment==="right"?n.right=parseFloat(this._element.style.right):n.left=r.left-e.left,n.width=r.width,n.height=r.height,n}setupDrag(e,r={inDragMode:!1}){const n=new Is,i=()=>{let s=null;const a=LT();n.value=new Wt({dispose:()=>{a.release()}},gr(window,"pointermove",o=>{const l=this.options.container.getBoundingClientRect(),c=o.clientX-l.left,u=o.clientY-l.top;Gt(this._element,"dv-resize-container-dragging",!0);const d=this._element.getBoundingClientRect();s===null&&(s={x:o.clientX-d.left,y:o.clientY-d.top});const m=Math.max(0,this.getMinimumWidth(d.width)),p=Math.max(0,this.getMinimumHeight(d.height)),y=Nn(u-s.y,-p,Math.max(0,l.height-d.height+p)),b=Nn(s.y-u+l.height-d.height,-p,Math.max(0,l.height-d.height+p)),v=Nn(c-s.x,-m,Math.max(0,l.width-d.width+m)),x=Nn(s.x-c+l.width-d.width,-m,Math.max(0,l.width-d.width+m)),C={};y<=b?C.top=y:C.bottom=b,v<=x?C.left=v:C.right=x,this.setBounds(C)}),gr(window,"pointerup",()=>{Gt(this._element,"dv-resize-container-dragging",!1),n.dispose(),this._onDidChangeEnd.fire()}))};this.addDisposables(n,gr(e,"pointerdown",s=>{if(s.defaultPrevented){s.preventDefault();return}OG(s)||i()}),gr(this.options.content,"pointerdown",s=>{s.defaultPrevented||OG(s)||s.shiftKey&&i()}),gr(this.options.content,"pointerdown",()=>{R_.push(this._element)},!0)),r.inDragMode&&i()}setupResize(e){const r=document.createElement("div");r.className=`dv-resize-handle-${e}`,this._element.appendChild(r);const n=new Is;this.addDisposables(n,gr(r,"pointerdown",i=>{i.preventDefault();let s=null;const a=LT();n.value=new Wt(gr(window,"pointermove",o=>{const l=this.options.container.getBoundingClientRect(),c=this._element.getBoundingClientRect(),u=o.clientY-l.top,d=o.clientX-l.left;s===null&&(s={originalY:u,originalHeight:c.height,originalX:d,originalWidth:c.width});let m,p,y,b,v,x;const C=()=>{const I=s.originalY+s.originalHeight>l.height?Math.max(0,l.height-zl.MINIMUM_HEIGHT):Math.max(0,s.originalY+s.originalHeight-zl.MINIMUM_HEIGHT);m=Nn(u,0,I),y=s.originalY+s.originalHeight-m,p=l.height-m-y},T=()=>{m=s.originalY-s.originalHeight;const I=m<0&&typeof this.options.minimumInViewportHeight=="number"?-m+this.options.minimumInViewportHeight:zl.MINIMUM_HEIGHT,N=l.height-Math.max(0,m);y=Nn(u-m,I,N),p=l.height-m-y},S=()=>{const I=s.originalX+s.originalWidth>l.width?Math.max(0,l.width-zl.MINIMUM_WIDTH):Math.max(0,s.originalX+s.originalWidth-zl.MINIMUM_WIDTH);b=Nn(d,0,I),x=s.originalX+s.originalWidth-b,v=l.width-b-x},L=()=>{b=s.originalX-s.originalWidth;const I=b<0&&typeof this.options.minimumInViewportWidth=="number"?-b+this.options.minimumInViewportWidth:zl.MINIMUM_WIDTH,N=l.width-Math.max(0,b);x=Nn(d-b,I,N),v=l.width-b-x};switch(e){case"top":C();break;case"bottom":T();break;case"left":S();break;case"right":L();break;case"topleft":C(),S();break;case"topright":C(),L();break;case"bottomleft":T(),S();break;case"bottomright":T(),L();break}const D={};m<=p?D.top=m:D.bottom=p,b<=v?D.left=b:D.right=v,D.height=y,D.width=x,this.setBounds(D)}),{dispose:()=>{a.release()}},gr(window,"pointerup",()=>{n.dispose(),this._onDidChangeEnd.fire()}))}))}getMinimumWidth(e){return typeof this.options.minimumInViewportWidth=="number"?e-this.options.minimumInViewportWidth:0}getMinimumHeight(e){return typeof this.options.minimumInViewportHeight=="number"?e-this.options.minimumInViewportHeight:0}dispose(){R_.destroy(this._element),this._element.remove(),super.dispose()}}zl.MINIMUM_HEIGHT=20;zl.MINIMUM_WIDTH=20;class myt extends Wt{constructor(e,r){super(),this.group=e,this.overlay=r,this.addDisposables(r)}position(e){this.overlay.setBounds(e)}}const N_=100,ah={left:100,top:100,width:300,height:300},gyt=100;class yyt{constructor(){this.cache=new Map,this.currentFrameId=0,this.rafId=null}getPosition(e){const r=this.cache.get(e);if(r&&r.frameId===this.currentFrameId)return r.rect;this.scheduleFrameUpdate();const n=wD(e);return this.cache.set(e,{rect:n,frameId:this.currentFrameId}),n}invalidate(){this.currentFrameId++}scheduleFrameUpdate(){this.rafId||(this.rafId=requestAnimationFrame(()=>{this.currentFrameId++,this.rafId=null}))}}function byt(){const t=document.createElement("div");return t.tabIndex=-1,t}class $G extends Wt{constructor(e,r){super(),this.element=e,this.accessor=r,this.map={},this._disposed=!1,this.positionCache=new yyt,this.pendingUpdates=new Set,this.addDisposables(Ei.from(()=>{for(const n of Object.values(this.map))n.disposable.dispose(),n.destroy.dispose();this._disposed=!0}))}updateAllPositions(){if(!this._disposed){this.positionCache.invalidate();for(const e of Object.values(this.map))e.panel.api.isVisible&&e.resize&&e.resize()}}detatch(e){if(this.map[e.api.id]){const{disposable:r,destroy:n}=this.map[e.api.id];return r.dispose(),n.dispose(),delete this.map[e.api.id],!0}return!1}attach(e){const{panel:r,referenceContainer:n}=e;if(!this.map[r.api.id]){const u=byt();u.className="dv-render-overlay",this.map[r.api.id]={panel:r,disposable:Ei.NONE,destroy:Ei.NONE,element:u}}const i=this.map[r.api.id].element;r.view.content.element.parentElement!==i&&i.appendChild(r.view.content.element),i.parentElement!==this.element&&this.element.appendChild(i);const s=()=>{const u=r.api.id;this.pendingUpdates.has(u)||(this.pendingUpdates.add(u),requestAnimationFrame(()=>{if(this.pendingUpdates.delete(u),this.isDisposed||!this.map[u])return;const d=this.positionCache.getPosition(n.element),m=this.positionCache.getPosition(this.element),p=d.left-m.left,y=d.top-m.top,b=d.width,v=d.height;i.style.left=`${p}px`,i.style.top=`${y}px`,i.style.width=`${b}px`,i.style.height=`${v}px`,Gt(i,"dv-render-overlay-float",r.group.api.location.type==="floating")}))},a=()=>{r.api.isVisible&&(this.positionCache.invalidate(),s()),i.style.display=r.api.isVisible?"":"none"},o=new Is,l=()=>{r.api.location.type==="floating"?queueMicrotask(()=>{const u=this.accessor.floatingGroups.find(y=>y.group===r.api.group);if(!u)return;const d=u.overlay.element,m=()=>{const y=Number(d.getAttribute("aria-level"));i.style.zIndex=`calc(var(--dv-overlay-z-index, 999) + ${y*2+1})`},p=new MutationObserver(()=>{m()});o.value=Ei.from(()=>p.disconnect()),p.observe(d,{attributeFilter:["aria-level"],attributes:!0}),m()}):i.style.zIndex=""},c=new Wt(o,new gpe(i,{onDragEnd:u=>{n.dropTarget.dnd.onDragEnd(u)},onDragEnter:u=>{n.dropTarget.dnd.onDragEnter(u)},onDragLeave:u=>{n.dropTarget.dnd.onDragLeave(u)},onDrop:u=>{n.dropTarget.dnd.onDrop(u)},onDragOver:u=>{n.dropTarget.dnd.onDragOver(u)}}),r.api.onDidVisibilityChange(()=>{a()}),r.api.onDidDimensionsChange(()=>{r.api.isVisible&&s()}),r.api.onDidLocationChange(()=>{l()}));return this.map[r.api.id].destroy=Ei.from(()=>{var u;r.view.content.element.parentElement===i&&i.removeChild(r.view.content.element),(u=i.parentElement)===null||u===void 0||u.removeChild(i)}),l(),queueMicrotask(()=>{this.isDisposed||a()}),this.map[r.api.id].disposable.dispose(),this.map[r.api.id].disposable=c,this.map[r.api.id].resize=s,i}}var vyt=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return new(r||(r=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(d){a(d)}}function l(u){try{c(n.throw(u))}catch(d){a(d)}}function c(u){u.done?s(u.value):i(u.value).then(o,l)}c((n=n.apply(t,e||[])).next())})};class xyt extends Wt{get window(){var e,r;return(r=(e=this._window)===null||e===void 0?void 0:e.value)!==null&&r!==void 0?r:null}constructor(e,r,n){super(),this.target=e,this.className=r,this.options=n,this._onWillClose=new Be,this.onWillClose=this._onWillClose.event,this._onDidClose=new Be,this.onDidClose=this._onDidClose.event,this._window=null,this.addDisposables(this._onWillClose,this._onDidClose,{dispose:()=>{this.close()}})}dimensions(){if(!this._window)return null;const e=this._window.value.screenX,r=this._window.value.screenY,n=this._window.value.innerWidth,i=this._window.value.innerHeight;return{top:r,left:e,width:n,height:i}}close(){var e,r;this._window&&(this._onWillClose.fire(),(r=(e=this.options).onWillClose)===null||r===void 0||r.call(e,{id:this.target,window:this._window.value}),this._window.disposable.dispose(),this._window=null,this._onDidClose.fire())}open(){var e,r;return vyt(this,void 0,void 0,function*(){if(this._window)throw new Error("instance of popout window is already open");const n=`${this.options.url}`,i=Object.entries({top:this.options.top,left:this.options.left,width:this.options.width,height:this.options.height}).map(([l,c])=>`${l}=${c}`).join(","),s=window.open(n,this.target,i);if(!s)return null;const a=new Wt;this._window={value:s,disposable:a},a.addDisposables(Ei.from(()=>{s.close()}),gr(window,"beforeunload",()=>{this.close()}));const o=this.createPopoutWindowContainer();return this.className&&o.classList.add(this.className),(r=(e=this.options).onDidOpen)===null||r===void 0||r.call(e,{id:this.target,window:s}),new Promise((l,c)=>{s.addEventListener("unload",u=>{}),s.addEventListener("load",()=>{try{const u=s.document;u.title=document.title,u.body.appendChild(o),f1t(u,window.document.styleSheets),gr(s,"beforeunload",()=>{this.close()}),l(o)}catch(u){c(u)}})})})}createPopoutWindowContainer(){const e=document.createElement("div");return e.classList.add("dv-popout-window"),e.id="dv-popout-window",e.style.position="absolute",e.style.width="100%",e.style.height="100%",e.style.top="0px",e.style.left="0px",e}}class _yt extends Wt{constructor(e){super(),this.accessor=e,this.init()}init(){const e=new Set,r=new Set;this.addDisposables(this.accessor.onDidAddPanel(n=>{if(e.has(n.api.id))throw new Error(`dockview: Invalid event sequence. [onDidAddPanel] called for panel ${n.api.id} but panel already exists`);e.add(n.api.id)}),this.accessor.onDidRemovePanel(n=>{if(e.has(n.api.id))e.delete(n.api.id);else throw new Error(`dockview: Invalid event sequence. [onDidRemovePanel] called for panel ${n.api.id} but panel does not exists`)}),this.accessor.onDidAddGroup(n=>{if(r.has(n.api.id))throw new Error(`dockview: Invalid event sequence. [onDidAddGroup] called for group ${n.api.id} but group already exists`);r.add(n.api.id)}),this.accessor.onDidRemoveGroup(n=>{if(r.has(n.api.id))r.delete(n.api.id);else throw new Error(`dockview: Invalid event sequence. [onDidRemoveGroup] called for group ${n.api.id} but group does not exists`)}))}}class wyt extends Wt{constructor(e){super(),this.root=e,this._active=null,this._activeDisposable=new Is,this._element=document.createElement("div"),this._element.className="dv-popover-anchor",this._element.style.position="relative",this.root.prepend(this._element),this.addDisposables(Ei.from(()=>{this.close()}),this._activeDisposable)}openPopover(e,r){var n;this.close();const i=document.createElement("div");i.style.position="absolute",i.style.zIndex=(n=r.zIndex)!==null&&n!==void 0?n:"var(--dv-overlay-z-index)",i.appendChild(e);const s=this._element.getBoundingClientRect(),a=s.left,o=s.top;i.style.top=`${r.y-o}px`,i.style.left=`${r.x-a}px`,this._element.appendChild(i),this._active=i,this._activeDisposable.value=new Wt(gr(window,"pointerdown",l=>{var c;const u=l.target;if(!(u instanceof HTMLElement))return;let d=u;for(;d&&d!==i;)d=(c=d==null?void 0:d.parentElement)!==null&&c!==void 0?c:null;d||this.close()})),requestAnimationFrame(()=>{_1t(i,this.root)})}close(){this._active&&(this._active.remove(),this._activeDisposable.dispose(),this._active=null)}}class zG extends Wt{get disabled(){return this._disabled}set disabled(e){var r;this.disabled!==e&&(this._disabled=e,e&&((r=this.model)===null||r===void 0||r.clear()))}get model(){if(!this.disabled)return{clear:()=>{var e;this._model&&((e=this._model.root.parentElement)===null||e===void 0||e.removeChild(this._model.root)),this._model=void 0},exists:()=>!!this._model,getElements:(e,r)=>{const n=this._outline!==r;if(this._outline=r,this._model)return this._model.changed=n,this._model;const i=this.createContainer(),s=this.createAnchor();if(this._model={root:i,overlay:s,changed:n},i.appendChild(s),this.element.appendChild(i),(e==null?void 0:e.target)instanceof HTMLElement){const a=e.target.getBoundingClientRect(),o=this.element.getBoundingClientRect();s.style.left=`${a.left-o.left}px`,s.style.top=`${a.top-o.top}px`}return this._model}}}constructor(e,r){super(),this.element=e,this._disabled=!1,this._disabled=r.disabled,this.addDisposables(Ei.from(()=>{var n;(n=this.model)===null||n===void 0||n.clear()}))}createContainer(){const e=document.createElement("div");return e.className="dv-drop-target-container",e}createAnchor(){const e=document.createElement("div");return e.className="dv-drop-target-anchor",e.style.visibility="hidden",e}}const jG={activationSize:{type:"pixels",value:10},size:{type:"pixels",value:20}};function O_(t){const e=t.from.activePanel;[...t.from.panels].map(n=>{const i=t.from.model.removePanel(n);return t.from.model.renderContainer.detatch(n),i}).forEach(n=>{t.to.model.openPanel(n,{skipSetActive:e!==n,skipSetGroupActive:!0})})}class Cyt extends fpe{get orientation(){return this.gridview.orientation}get totalPanels(){return this.panels.length}get panels(){return this.groups.flatMap(e=>e.panels)}get options(){return this._options}get activePanel(){const e=this.activeGroup;if(e)return e.activePanel}get renderer(){var e;return(e=this.options.defaultRenderer)!==null&&e!==void 0?e:"onlyWhenVisible"}get api(){return this._api}get floatingGroups(){return this._floatingGroups}get popoutRestorationPromise(){return this._popoutRestorationPromise}constructor(e,r){var n,i,s;super(e,{proportionalLayout:!0,orientation:Ot.HORIZONTAL,styles:r.hideBorders?{separatorBorder:"transparent"}:void 0,disableAutoResizing:r.disableAutoResizing,locked:r.locked,margin:(i=(n=r.theme)===null||n===void 0?void 0:n.gap)!==null&&i!==void 0?i:0,className:r.className}),this.nextGroupId=vN(),this._deserializer=new dyt(this),this._watermark=null,this._onWillDragPanel=new Be,this.onWillDragPanel=this._onWillDragPanel.event,this._onWillDragGroup=new Be,this.onWillDragGroup=this._onWillDragGroup.event,this._onDidDrop=new Be,this.onDidDrop=this._onDidDrop.event,this._onWillDrop=new Be,this.onWillDrop=this._onWillDrop.event,this._onWillShowOverlay=new Be,this.onWillShowOverlay=this._onWillShowOverlay.event,this._onUnhandledDragOverEvent=new Be,this.onUnhandledDragOverEvent=this._onUnhandledDragOverEvent.event,this._onDidRemovePanel=new Be,this.onDidRemovePanel=this._onDidRemovePanel.event,this._onDidAddPanel=new Be,this.onDidAddPanel=this._onDidAddPanel.event,this._onDidPopoutGroupSizeChange=new Be,this.onDidPopoutGroupSizeChange=this._onDidPopoutGroupSizeChange.event,this._onDidPopoutGroupPositionChange=new Be,this.onDidPopoutGroupPositionChange=this._onDidPopoutGroupPositionChange.event,this._onDidOpenPopoutWindowFail=new Be,this.onDidOpenPopoutWindowFail=this._onDidOpenPopoutWindowFail.event,this._onDidLayoutFromJSON=new Be,this.onDidLayoutFromJSON=this._onDidLayoutFromJSON.event,this._onDidActivePanelChange=new Be({replay:!0}),this.onDidActivePanelChange=this._onDidActivePanelChange.event,this._onDidMovePanel=new Be,this.onDidMovePanel=this._onDidMovePanel.event,this._onDidMaximizedGroupChange=new Be,this.onDidMaximizedGroupChange=this._onDidMaximizedGroupChange.event,this._floatingGroups=[],this._popoutGroups=[],this._popoutRestorationPromise=Promise.resolve(),this._onDidRemoveGroup=new Be,this.onDidRemoveGroup=this._onDidRemoveGroup.event,this._onDidAddGroup=new Be,this.onDidAddGroup=this._onDidAddGroup.event,this._onDidOptionsChange=new Be,this.onDidOptionsChange=this._onDidOptionsChange.event,this._onDidActiveGroupChange=new Be,this.onDidActiveGroupChange=this._onDidActiveGroupChange.event,this._moving=!1,this._options=r,this.popupService=new wyt(this.element),this._themeClassnames=new zS(this.element),this._api=new RT(this),this.rootDropTargetContainer=new zG(this.element,{disabled:!0}),this.overlayRenderContainer=new $G(this.gridview.element,this),this._rootDropTarget=new Jo(this.element,{className:"dv-drop-target-edge",canDisplayOverlay:(a,o)=>{const l=Es();if(l)return l.viewId!==this.id?!1:o==="center"?this.gridview.length===0:!0;if(o==="center"&&this.gridview.length!==0)return!1;const c=new wpe(a,"edge",o,Es);return this._onUnhandledDragOverEvent.fire(c),c.isAccepted},acceptedTargetZones:["top","bottom","left","right","center"],overlayModel:(s=r.rootOverlayModel)!==null&&s!==void 0?s:jG,getOverrideTarget:()=>{var a;return(a=this.rootDropTargetContainer)===null||a===void 0?void 0:a.model}}),this.updateDropTargetModel(r),Gt(this.gridview.element,"dv-dockview",!0),Gt(this.element,"dv-debug",!!r.debug),this.updateTheme(),this.updateWatermark(),r.debug&&this.addDisposables(new _yt(this)),this.addDisposables(this.rootDropTargetContainer,this.overlayRenderContainer,this._onWillDragPanel,this._onWillDragGroup,this._onWillShowOverlay,this._onDidActivePanelChange,this._onDidAddPanel,this._onDidRemovePanel,this._onDidLayoutFromJSON,this._onDidDrop,this._onWillDrop,this._onDidMovePanel,this._onDidMovePanel.event(()=>{this.debouncedUpdateAllPositions()}),this._onDidAddGroup,this._onDidRemoveGroup,this._onDidActiveGroupChange,this._onUnhandledDragOverEvent,this._onDidMaximizedGroupChange,this._onDidOptionsChange,this._onDidPopoutGroupSizeChange,this._onDidPopoutGroupPositionChange,this._onDidOpenPopoutWindowFail,this.onDidViewVisibilityChangeMicroTaskQueue(()=>{this.updateWatermark()}),this.onDidAdd(a=>{this._moving||this._onDidAddGroup.fire(a)}),this.onDidRemove(a=>{this._moving||this._onDidRemoveGroup.fire(a)}),this.onDidActiveChange(a=>{this._moving||this._onDidActiveGroupChange.fire(a)}),this.onDidMaximizedChange(a=>{this._onDidMaximizedGroupChange.fire({group:a.panel,isMaximized:a.isMaximized})}),zf.any(this.onDidAdd,this.onDidRemove)(()=>{this.updateWatermark()}),zf.any(this.onDidAddPanel,this.onDidRemovePanel,this.onDidAddGroup,this.onDidRemove,this.onDidMovePanel,this.onDidActivePanelChange,this.onDidPopoutGroupPositionChange,this.onDidPopoutGroupSizeChange)(()=>{this._bufferOnDidLayoutChange.fire()}),Ei.from(()=>{for(const a of[...this._floatingGroups])a.dispose();for(const a of[...this._popoutGroups])a.disposable.dispose()}),this._rootDropTarget,this._rootDropTarget.onWillShowOverlay(a=>{this.gridview.length>0&&a.position==="center"||this._onWillShowOverlay.fire(new jS(a,{kind:"edge",panel:void 0,api:this._api,group:void 0,getData:Es}))}),this._rootDropTarget.onDrop(a=>{var o;const l=new Cpe({nativeEvent:a.nativeEvent,position:a.position,panel:void 0,api:this._api,group:void 0,getData:Es,kind:"edge"});if(this._onWillDrop.fire(l),l.defaultPrevented)return;const c=Es();c?this.moveGroupOrPanel({from:{groupId:c.groupId,panelId:(o=c.panelId)!==null&&o!==void 0?o:void 0},to:{group:this.orthogonalize(a.position),position:"center"}}):this._onDidDrop.fire(new TN({nativeEvent:a.nativeEvent,position:a.position,panel:void 0,api:this._api,group:void 0,getData:Es}))}),this._rootDropTarget)}setVisible(e,r){switch(e.api.location.type){case"grid":super.setVisible(e,r);break;case"floating":{const n=this.floatingGroups.find(i=>i.group===e);n&&(n.overlay.setVisible(r),e.api._onDidVisibilityChange.fire({isVisible:r}));break}case"popout":console.warn("dockview: You cannot hide a group that is in a popout window");break}}addPopoutGroup(e,r){var n,i,s,a,o;if(e instanceof j0&&e.group.size===1)return this.addPopoutGroup(e.group,r);const l=y1t(this.gridview.element),c=this.element;function u(){return r!=null&&r.position?r.position:e instanceof BG?e.element.getBoundingClientRect():e.group?e.group.element.getBoundingClientRect():c.getBoundingClientRect()}const d=u(),m=(i=(n=r==null?void 0:r.overridePopoutGroup)===null||n===void 0?void 0:n.id)!==null&&i!==void 0?i:this.getNextGroupId(),p=new xyt(`${this.id}-${m}`,l??"",{url:(o=(s=r==null?void 0:r.popoutUrl)!==null&&s!==void 0?s:(a=this.options)===null||a===void 0?void 0:a.popoutUrl)!==null&&o!==void 0?o:"/popout.html",left:window.screenX+d.left,top:window.screenY+d.top,width:d.width,height:d.height,onDidOpen:r==null?void 0:r.onDidOpen,onWillClose:r==null?void 0:r.onWillClose}),y=new Wt(p,p.onDidClose(()=>{y.dispose()}));return p.open().then(b=>{var v;if(p.isDisposed)return!1;const x=r!=null&&r.referenceGroup?r.referenceGroup:e instanceof j0?e.group:e,C=e.api.location.type,T=x.element.parentElement!==null;let S;if(T?r!=null&&r.overridePopoutGroup?S=r.overridePopoutGroup:(S=this.createGroup({id:m}),b&&this._onDidAddGroup.fire(S)):S=x,b===null)return console.error("dockview: failed to create popout. perhaps you need to allow pop-ups for this website"),y.dispose(),this._onDidOpenPopoutWindowFail.fire(),this.movingLock(()=>O_({from:S,to:x})),x.api.isVisible||x.api.setVisible(!0),!1;const L=document.createElement("div");L.className="dv-overlay-render-container";const D=new $G(L,this);S.model.renderContainer=D,S.layout(p.window.innerWidth,p.window.innerHeight);let I;if(!(r!=null&&r.overridePopoutGroup)&&T)if(e instanceof j0)this.movingLock(()=>{const U=x.model.removePanel(e);S.model.openPanel(U)});else switch(this.movingLock(()=>O_({from:x,to:S})),C){case"grid":x.api.setVisible(!1);break;case"floating":case"popout":I=(v=this._floatingGroups.find(U=>U.group.api.id===e.api.id))===null||v===void 0?void 0:v.overlay.toJSON(),this.removeGroup(x);break}b.classList.add("dv-dockview"),b.style.overflow="hidden",b.appendChild(L),b.appendChild(S.element);const N=document.createElement("div"),H=new zG(N,{disabled:this.rootDropTargetContainer.disabled});b.appendChild(N),S.model.dropTargetContainer=H,S.model.location={type:"popout",getWindow:()=>p.window,popoutUrl:r==null?void 0:r.popoutUrl},T&&e.api.location.type==="grid"&&e.api.setVisible(!1),this.doSetGroupAndPanelActive(S),y.addDisposables(S.api.onDidActiveChange(U=>{var V;U.isActive&&((V=p.window)===null||V===void 0||V.focus())}),S.api.onWillFocus(()=>{var U;(U=p.window)===null||U===void 0||U.focus()}));let B;const j=T&&x&&this.getPanel(x.id),Z={window:p,popoutGroup:S,referenceGroup:j?x.id:void 0,disposable:{dispose:()=>(y.dispose(),B)}},te=v1t(p.window);return y.addDisposables(te,x1t(p.window,()=>{this._onDidPopoutGroupSizeChange.fire({width:p.window.innerWidth,height:p.window.innerHeight,group:S})}),te.event(()=>{this._onDidPopoutGroupPositionChange.fire({screenX:p.window.screenX,screenY:p.window.screenX,group:S})}),gr(p.window,"resize",()=>{S.layout(p.window.innerWidth,p.window.innerHeight)}),D,Ei.from(()=>{if(!this.isDisposed){if(T&&this.getPanel(x.id))this.movingLock(()=>O_({from:S,to:x})),x.api.isVisible||x.api.setVisible(!0),this.getPanel(S.id)&&this.doRemoveGroup(S,{skipPopoutAssociated:!0});else if(this.getPanel(S.id)){if(S.model.renderContainer=this.overlayRenderContainer,S.model.dropTargetContainer=this.rootDropTargetContainer,B=S,!this._popoutGroups.find(V=>V.popoutGroup===S))return;I?this.addFloatingGroup(S,{height:I.height,width:I.width,position:I}):(this.doRemoveGroup(S,{skipDispose:!0,skipActive:!0,skipPopoutReturn:!0}),S.model.location={type:"grid"},this.movingLock(()=>{this.doAddGroup(S,[0])})),this.doSetGroupAndPanelActive(S)}}})),this._popoutGroups.push(Z),this.updateWatermark(),!0}).catch(b=>(console.error("dockview: failed to create popout.",b),!1))}addFloatingGroup(e,r){var n,i,s,a,o;let l;if(e instanceof j0)l=this.createGroup(),this._onDidAddGroup.fire(l),this.movingLock(()=>this.removePanel(e,{removeEmptyGroup:!0,skipDispose:!0,skipSetActiveGroup:!0})),this.movingLock(()=>l.model.openPanel(e,{skipSetGroupActive:!0}));else{l=e;const b=(n=this._popoutGroups.find(C=>C.popoutGroup===l))===null||n===void 0?void 0:n.referenceGroup,v=b?this.getPanel(b):void 0;typeof(r==null?void 0:r.skipRemoveGroup)=="boolean"&&r.skipRemoveGroup||(v?(this.movingLock(()=>O_({from:e,to:v})),this.doRemoveGroup(e,{skipPopoutReturn:!0,skipPopoutAssociated:!0}),this.doRemoveGroup(v,{skipDispose:!0}),l=v):this.doRemoveGroup(e,{skipDispose:!0,skipPopoutReturn:!0,skipPopoutAssociated:!1}))}function c(){if(r!=null&&r.position){const b={};return"left"in r.position?b.left=Math.max(r.position.left,0):"right"in r.position?b.right=Math.max(r.position.right,0):b.left=ah.left,"top"in r.position?b.top=Math.max(r.position.top,0):"bottom"in r.position?b.bottom=Math.max(r.position.bottom,0):b.top=ah.top,typeof r.width=="number"?b.width=Math.max(r.width,0):b.width=ah.width,typeof r.height=="number"?b.height=Math.max(r.height,0):b.height=ah.height,b}return{left:typeof(r==null?void 0:r.x)=="number"?Math.max(r.x,0):ah.left,top:typeof(r==null?void 0:r.y)=="number"?Math.max(r.y,0):ah.top,width:typeof(r==null?void 0:r.width)=="number"?Math.max(r.width,0):ah.width,height:typeof(r==null?void 0:r.height)=="number"?Math.max(r.height,0):ah.height}}const u=c(),d=new zl(Object.assign(Object.assign({container:this.gridview.element,content:l.element},u),{minimumInViewportWidth:this.options.floatingGroupBounds==="boundedWithinViewport"?void 0:(s=(i=this.options.floatingGroupBounds)===null||i===void 0?void 0:i.minimumWidthWithinViewport)!==null&&s!==void 0?s:N_,minimumInViewportHeight:this.options.floatingGroupBounds==="boundedWithinViewport"?void 0:(o=(a=this.options.floatingGroupBounds)===null||a===void 0?void 0:a.minimumHeightWithinViewport)!==null&&o!==void 0?o:N_})),m=l.element.querySelector(".dv-void-container");if(!m)throw new Error("dockview: failed to find drag handle");d.setupDrag(m,{inDragMode:typeof(r==null?void 0:r.inDragMode)=="boolean"?r.inDragMode:!1});const p=new myt(l,d),y=new Wt(l.api.onDidActiveChange(b=>{b.isActive&&d.bringToFront()}),FS(l.element,b=>{const{width:v,height:x}=b.contentRect;l.layout(v,x)}));p.addDisposables(d.onDidChange(()=>{l.layout(l.width,l.height)}),d.onDidChangeEnd(()=>{this._bufferOnDidLayoutChange.fire()}),l.onDidChange(b=>{d.setBounds({height:b==null?void 0:b.height,width:b==null?void 0:b.width})}),{dispose:()=>{y.dispose(),R6(this._floatingGroups,p),l.model.location={type:"grid"},this.updateWatermark()}}),this._floatingGroups.push(p),l.model.location={type:"floating"},r!=null&&r.skipActiveGroup||this.doSetGroupAndPanelActive(l),this.updateWatermark()}orthogonalize(e,r){switch(this.gridview.normalize(),e){case"top":case"bottom":this.gridview.orientation===Ot.HORIZONTAL&&this.gridview.insertOrthogonalSplitviewAtRoot();break;case"left":case"right":this.gridview.orientation===Ot.VERTICAL&&this.gridview.insertOrthogonalSplitviewAtRoot();break}switch(e){case"top":case"left":case"center":return this.createGroupAtLocation([0],void 0,r);case"bottom":case"right":return this.createGroupAtLocation([this.gridview.length],void 0,r);default:throw new Error(`dockview: unsupported position ${e}`)}}updateOptions(e){var r,n;if(super.updateOptions(e),"floatingGroupBounds"in e)for(const a of this._floatingGroups){switch(e.floatingGroupBounds){case"boundedWithinViewport":a.overlay.minimumInViewportHeight=void 0,a.overlay.minimumInViewportWidth=void 0;break;case void 0:a.overlay.minimumInViewportHeight=N_,a.overlay.minimumInViewportWidth=N_;break;default:a.overlay.minimumInViewportHeight=(r=e.floatingGroupBounds)===null||r===void 0?void 0:r.minimumHeightWithinViewport,a.overlay.minimumInViewportWidth=(n=e.floatingGroupBounds)===null||n===void 0?void 0:n.minimumWidthWithinViewport}a.overlay.setBounds()}this.updateDropTargetModel(e);const i=this.options.disableDnd;this._options=Object.assign(Object.assign({},this.options),e);const s=this.options.disableDnd;i!==s&&this.updateDragAndDropState(),"theme"in e&&this.updateTheme(),this.layout(this.gridview.width,this.gridview.height,!0)}layout(e,r,n){if(super.layout(e,r,n),this._floatingGroups)for(const i of this._floatingGroups)i.overlay.setBounds()}updateDragAndDropState(){for(const e of this.groups)e.model.updateDragAndDropState()}focus(){var e;(e=this.activeGroup)===null||e===void 0||e.focus()}getGroupPanel(e){return this.panels.find(r=>r.id===e)}setActivePanel(e){e.group.model.openPanel(e),this.doSetGroupAndPanelActive(e.group)}moveToNext(e={}){var r;if(!e.group){if(!this.activeGroup)return;e.group=this.activeGroup}if(e.includePanel&&e.group&&e.group.activePanel!==e.group.panels[e.group.panels.length-1]){e.group.model.moveToNext({suppressRoll:!0});return}const n=qn(e.group.element),i=(r=this.gridview.next(n))===null||r===void 0?void 0:r.view;this.doSetGroupAndPanelActive(i)}moveToPrevious(e={}){var r;if(!e.group){if(!this.activeGroup)return;e.group=this.activeGroup}if(e.includePanel&&e.group&&e.group.activePanel!==e.group.panels[0]){e.group.model.moveToPrevious({suppressRoll:!0});return}const n=qn(e.group.element),i=(r=this.gridview.previous(n))===null||r===void 0?void 0:r.view;i&&this.doSetGroupAndPanelActive(i)}toJSON(){var e;const r=this.gridview.serialize(),n=this.panels.reduce((o,l)=>(o[l.id]=l.toJSON(),o),{}),i=this._floatingGroups.map(o=>({data:o.group.toJSON(),position:o.overlay.toJSON()})),s=this._popoutGroups.map(o=>({data:o.popoutGroup.toJSON(),gridReferenceGroup:o.referenceGroup,position:o.window.dimensions(),url:o.popoutGroup.api.location.type==="popout"?o.popoutGroup.api.location.popoutUrl:void 0})),a={grid:r,panels:n,activeGroup:(e=this.activeGroup)===null||e===void 0?void 0:e.id};return i.length>0&&(a.floatingGroups=i),s.length>0&&(a.popoutGroups=s),a}fromJSON(e,r){var n,i;const s=new Map;let a;if(r!=null&&r.reuseExistingPanels){a=this.createGroup(),this._groups.delete(a.api.id);const u=Object.keys(e.panels);for(const d of this.panels)u.includes(d.api.id)&&s.set(d.api.id,d);this.movingLock(()=>{Array.from(s.values()).forEach(d=>{this.moveGroupOrPanel({from:{groupId:d.api.group.api.id,panelId:d.api.id},to:{group:a,position:"center"},keepEmptyGroups:!0})})})}if(this.clear(),typeof e!="object"||e===null)throw new Error("dockview: serialized layout must be a non-null object");const{grid:o,panels:l,activeGroup:c}=e;if(o.root.type!=="branch"||!Array.isArray(o.root.data))throw new Error("dockview: root must be of type branch");try{const u=this.width,d=this.height,m=v=>{const{id:x,locked:C,hideHeader:T,views:S,activeView:L}=v;if(typeof x!="string")throw new Error("dockview: group id must be of type string");const D=this.createGroup({id:x,locked:!!C,hideHeader:!!T});this._onDidAddGroup.fire(D);const I=[];for(const N of S){const H=s.get(N);if(a&&H)this.movingLock(()=>{a.model.removePanel(H)}),I.push(H),H.updateFromStateModel(l[N]);else{const B=this._deserializer.fromJSON(l[N],D);I.push(B)}}for(let N=0;N<S.length;N++){const H=I[N],B=typeof L=="string"&&L===H.id;s.has(H.api.id)?this.movingLock(()=>{D.model.openPanel(H,{skipSetActive:!B,skipSetGroupActive:!0})}):D.model.openPanel(H,{skipSetActive:!B,skipSetGroupActive:!0})}return!D.activePanel&&D.panels.length>0&&D.model.openPanel(D.panels[D.panels.length-1],{skipSetGroupActive:!0}),D};this.gridview.deserialize(o,{fromJSON:v=>m(v.data)}),this.layout(u,d,!0);const p=(n=e.floatingGroups)!==null&&n!==void 0?n:[];for(const v of p){const{data:x,position:C}=v,T=m(x);this.addFloatingGroup(T,{position:C,width:C.width,height:C.height,skipRemoveGroup:!0,inDragMode:!1})}const y=(i=e.popoutGroups)!==null&&i!==void 0?i:[],b=[];y.forEach((v,x)=>{const{data:C,position:T,gridReferenceGroup:S,url:L}=v,D=m(C),I=new Promise(N=>{setTimeout(()=>{this.addPopoutGroup(D,{position:T??void 0,overridePopoutGroup:S?D:void 0,referenceGroup:S?this.getPanel(S):void 0,popoutUrl:L}),N()},x*gyt)});b.push(I)}),this._popoutRestorationPromise=Promise.all(b).then(()=>{});for(const v of this._floatingGroups)v.overlay.setBounds();if(typeof c=="string"){const v=this.getPanel(c);v&&this.doSetGroupAndPanelActive(v)}}catch(u){console.error("dockview: failed to deserialize layout. Reverting changes",u);for(const d of this.groups)for(const m of d.panels)this.removePanel(m,{removeEmptyGroup:!1,skipDispose:!1});for(const d of this.groups)d.dispose(),this._groups.delete(d.id),this._onDidRemoveGroup.fire(d);for(const d of[...this._floatingGroups])d.dispose();throw this.clear(),u}this.updateWatermark(),this.debouncedUpdateAllPositions(),this._onDidLayoutFromJSON.fire()}clear(){const e=Array.from(this._groups.values()).map(n=>n.value),r=!!this.activeGroup;for(const n of e)this.removeGroup(n,{skipActive:!0});r&&this.doSetGroupAndPanelActive(void 0),this.gridview.clear()}closeAllGroups(){for(const e of this._groups.entries()){const[r,n]=e;n.value.model.closeAllPanels()}}addPanel(e){var r,n;if(this.panels.find(l=>l.id===e.id))throw new Error(`dockview: panel with id ${e.id} already exists`);let i;if(e.position&&e.floating)throw new Error("dockview: you can only provide one of: position, floating as arguments to .addPanel(...)");const s={width:e.initialWidth,height:e.initialHeight};let a;if(e.position)if(ryt(e.position)){const l=typeof e.position.referencePanel=="string"?this.getGroupPanel(e.position.referencePanel):e.position.referencePanel;if(a=e.position.index,!l)throw new Error(`dockview: referencePanel '${e.position.referencePanel}' does not exist`);i=this.findGroup(l)}else if(nyt(e.position)){if(i=typeof e.position.referenceGroup=="string"?(r=this._groups.get(e.position.referenceGroup))===null||r===void 0?void 0:r.value:e.position.referenceGroup,a=e.position.index,!i)throw new Error(`dockview: referenceGroup '${e.position.referenceGroup}' does not exist`)}else{const l=this.orthogonalize(PG(e.position.direction)),c=this.createPanel(e,l);return l.model.openPanel(c,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:a}),e.inactive||this.doSetGroupAndPanelActive(l),l.api.setSize({height:s==null?void 0:s.height,width:s==null?void 0:s.width}),c}else i=this.activeGroup;let o;if(i){const l=IT(((n=e.position)===null||n===void 0?void 0:n.direction)||"within");if(e.floating){const c=this.createGroup();this._onDidAddGroup.fire(c);const u=typeof e.floating=="object"&&e.floating!==null?e.floating:{};this.addFloatingGroup(c,Object.assign(Object.assign({},u),{inDragMode:!1,skipRemoveGroup:!0,skipActiveGroup:!0})),o=this.createPanel(e,c),c.model.openPanel(o,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:a})}else if(i.api.location.type==="floating"||l==="center")o=this.createPanel(e,i),i.model.openPanel(o,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:a}),i.api.setSize({width:s==null?void 0:s.width,height:s==null?void 0:s.height}),e.inactive||this.doSetGroupAndPanelActive(i);else{const c=qn(i.element),u=$l(this.gridview.orientation,c,l),d=this.createGroupAtLocation(u,this.orientationAtLocation(u)===Ot.VERTICAL?s==null?void 0:s.height:s==null?void 0:s.width);o=this.createPanel(e,d),d.model.openPanel(o,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:a}),e.inactive||this.doSetGroupAndPanelActive(d)}}else if(e.floating){const l=this.createGroup();this._onDidAddGroup.fire(l);const c=typeof e.floating=="object"&&e.floating!==null?e.floating:{};this.addFloatingGroup(l,Object.assign(Object.assign({},c),{inDragMode:!1,skipRemoveGroup:!0,skipActiveGroup:!0})),o=this.createPanel(e,l),l.model.openPanel(o,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:a})}else{const l=this.createGroupAtLocation([0],this.gridview.orientation===Ot.VERTICAL?s==null?void 0:s.height:s==null?void 0:s.width);o=this.createPanel(e,l),l.model.openPanel(o,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:a}),e.inactive||this.doSetGroupAndPanelActive(l)}return o}removePanel(e,r={removeEmptyGroup:!0}){const n=e.group;if(!n)throw new Error(`dockview: cannot remove panel ${e.id}. it's missing a group.`);n.model.removePanel(e,{skipSetActiveGroup:r.skipSetActiveGroup}),r.skipDispose||(e.group.model.renderContainer.detatch(e),e.dispose()),n.size===0&&r.removeEmptyGroup&&this.removeGroup(n,{skipActive:r.skipSetActiveGroup})}createWatermarkComponent(){return this.options.createWatermarkComponent?this.options.createWatermarkComponent():new fyt}updateWatermark(){var e,r;if(this.groups.filter(n=>n.api.location.type==="grid"&&n.api.isVisible).length===0){if(!this._watermark){this._watermark=this.createWatermarkComponent(),this._watermark.init({containerApi:new RT(this)});const n=document.createElement("div");n.className="dv-watermark-container",m1t(n,"watermark-component"),n.appendChild(this._watermark.element),this.gridview.element.appendChild(n)}}else this._watermark&&(this._watermark.element.parentElement.remove(),(r=(e=this._watermark).dispose)===null||r===void 0||r.call(e),this._watermark=null)}addGroup(e){var r;if(e){let n;if(iyt(e)){const c=typeof e.referencePanel=="string"?this.panels.find(u=>u.id===e.referencePanel):e.referencePanel;if(!c)throw new Error(`dockview: reference panel ${e.referencePanel} does not exist`);if(n=this.findGroup(c),!n)throw new Error(`dockview: reference group for reference panel ${e.referencePanel} does not exist`)}else if(syt(e)){if(n=typeof e.referenceGroup=="string"?(r=this._groups.get(e.referenceGroup))===null||r===void 0?void 0:r.value:e.referenceGroup,!n)throw new Error(`dockview: reference group ${e.referenceGroup} does not exist`)}else{const c=this.orthogonalize(PG(e.direction),e);return e.skipSetActive||this.doSetGroupAndPanelActive(c),c}const i=IT(e.direction||"within"),s=qn(n.element),a=$l(this.gridview.orientation,s,i),o=this.createGroup(e),l=this.getLocationOrientation(a)===Ot.VERTICAL?e.initialHeight:e.initialWidth;return this.doAddGroup(o,a,l),e.skipSetActive||this.doSetGroupAndPanelActive(o),o}else{const n=this.createGroup(e);return this.doAddGroup(n),this.doSetGroupAndPanelActive(n),n}}getLocationOrientation(e){return e.length%2==0&&this.gridview.orientation===Ot.HORIZONTAL?Ot.HORIZONTAL:Ot.VERTICAL}removeGroup(e,r){this.doRemoveGroup(e,r)}doRemoveGroup(e,r){var n;const i=[...e.panels];if(!(r!=null&&r.skipDispose))for(const o of i)this.removePanel(o,{removeEmptyGroup:!1,skipDispose:(n=r==null?void 0:r.skipDispose)!==null&&n!==void 0?n:!1});const s=this.activePanel;if(e.api.location.type==="floating"){const o=this._floatingGroups.find(l=>l.group===e);if(o){if(r!=null&&r.skipDispose||(o.group.dispose(),this._groups.delete(e.id),this._onDidRemoveGroup.fire(e)),R6(this._floatingGroups,o),o.dispose(),!(r!=null&&r.skipActive)&&this._activeGroup===e){const l=Array.from(this._groups.values());this.doSetGroupAndPanelActive(l.length>0?l[0].value:void 0)}return o.group}throw new Error("dockview: failed to find floating group")}if(e.api.location.type==="popout"){const o=this._popoutGroups.find(l=>l.popoutGroup===e);if(o){if(!(r!=null&&r.skipDispose)){if(!(r!=null&&r.skipPopoutAssociated)){const c=o.referenceGroup?this.getPanel(o.referenceGroup):void 0;c&&c.panels.length===0&&this.removeGroup(c)}o.popoutGroup.dispose(),this._groups.delete(e.id),this._onDidRemoveGroup.fire(e)}R6(this._popoutGroups,o);const l=o.disposable.dispose();if(!(r!=null&&r.skipPopoutReturn)&&l&&(this.doAddGroup(l,[0]),this.doSetGroupAndPanelActive(l)),!(r!=null&&r.skipActive)&&this._activeGroup===e){const c=Array.from(this._groups.values());this.doSetGroupAndPanelActive(c.length>0?c[0].value:void 0)}return this.updateWatermark(),o.popoutGroup}throw new Error("dockview: failed to find popout group")}const a=super.doRemoveGroup(e,r);return r!=null&&r.skipActive||this.activePanel!==s&&this._onDidActivePanelChange.fire(this.activePanel),a}debouncedUpdateAllPositions(){this._updatePositionsFrameId!==void 0&&cancelAnimationFrame(this._updatePositionsFrameId),this._updatePositionsFrameId=requestAnimationFrame(()=>{this._updatePositionsFrameId=void 0,this.overlayRenderContainer.updateAllPositions()})}movingLock(e){const r=this._moving;try{return this._moving=!0,e()}finally{this._moving=r}}moveGroupOrPanel(e){var r;const n=e.to.group,i=e.from.groupId,s=e.from.panelId,a=e.to.position,o=e.to.index,l=i?(r=this._groups.get(i))===null||r===void 0?void 0:r.value:void 0;if(!l)throw new Error(`dockview: Failed to find group id ${i}`);if(s===void 0){this.moveGroup({from:{group:l},to:{group:n,position:a},skipSetActive:e.skipSetActive});return}if(!a||a==="center"){const c=this.movingLock(()=>l.model.removePanel(s,{skipSetActive:!1,skipSetActiveGroup:!0}));if(!c)throw new Error(`dockview: No panel with id ${s}`);!e.keepEmptyGroups&&l.model.size===0&&this.doRemoveGroup(l,{skipActive:!0});const u=n.model.size===0;this.movingLock(()=>{var d;return n.model.openPanel(c,{index:o,skipSetActive:((d=e.skipSetActive)!==null&&d!==void 0?d:!1)&&!u,skipSetGroupActive:!0})}),e.skipSetActive||this.doSetGroupAndPanelActive(n),this._onDidMovePanel.fire({panel:c,from:l})}else{const c=qn(n.element),u=$l(this.gridview.orientation,c,a);if(l.size<2){const[d,m]=iu(u);if(l.api.location.type==="grid"){const v=qn(l.element),[x,C]=iu(v);if(hpe(x,d)){this.gridview.moveView(x,C,m),this._onDidMovePanel.fire({panel:this.getGroupPanel(s),from:l});return}}if(l.api.location.type==="popout"){const v=this._popoutGroups.find(T=>T.popoutGroup===l),x=this.movingLock(()=>v.popoutGroup.model.removePanel(v.popoutGroup.panels[0],{skipSetActive:!0,skipSetActiveGroup:!0}));this.doRemoveGroup(l,{skipActive:!0});const C=this.createGroupAtLocation(u);this.movingLock(()=>C.model.openPanel(x,{skipSetActive:!0})),this.doSetGroupAndPanelActive(C),this._onDidMovePanel.fire({panel:this.getGroupPanel(s),from:l});return}const p=this.movingLock(()=>this.doRemoveGroup(l,{skipActive:!0,skipDispose:!0})),y=qn(n.element),b=$l(this.gridview.orientation,y,a);this.movingLock(()=>this.doAddGroup(p,b)),this.doSetGroupAndPanelActive(p),this._onDidMovePanel.fire({panel:this.getGroupPanel(s),from:l})}else{const d=this.movingLock(()=>l.model.removePanel(s,{skipSetActive:!1,skipSetActiveGroup:!0}));if(!d)throw new Error(`dockview: No panel with id ${s}`);const m=$l(this.gridview.orientation,c,a),p=this.createGroupAtLocation(m);this.movingLock(()=>p.model.openPanel(d,{skipSetGroupActive:!0})),this.doSetGroupAndPanelActive(p),this._onDidMovePanel.fire({panel:d,from:l})}}}moveGroup(e){const r=e.from.group,n=e.to.group,i=e.to.position;if(i==="center"){const s=r.activePanel,a=this.movingLock(()=>[...r.panels].map(o=>r.model.removePanel(o.id,{skipSetActive:!0})));(r==null?void 0:r.model.size)===0&&this.doRemoveGroup(r,{skipActive:!0}),this.movingLock(()=>{for(const o of a)n.model.openPanel(o,{skipSetActive:o!==s,skipSetGroupActive:!0})}),e.skipSetActive!==!0?this.doSetGroupAndPanelActive(n):this.activePanel||this.doSetGroupAndPanelActive(n)}else{switch(r.api.location.type){case"grid":this.gridview.removeView(qn(r.element));break;case"floating":{const s=this._floatingGroups.find(a=>a.group===r);if(!s)throw new Error("dockview: failed to find floating group");s.dispose();break}case"popout":{const s=this._popoutGroups.find(o=>o.popoutGroup===r);if(!s)throw new Error("dockview: failed to find popout group");const a=this._popoutGroups.indexOf(s);if(a>=0&&this._popoutGroups.splice(a,1),s.referenceGroup){const o=this.getPanel(s.referenceGroup);o&&!o.api.isVisible&&this.doRemoveGroup(o,{skipActive:!0})}s.window.dispose(),n.api.location.type==="grid"?(r.model.renderContainer=this.overlayRenderContainer,r.model.dropTargetContainer=this.rootDropTargetContainer,r.model.location={type:"grid"}):n.api.location.type==="floating"&&(r.model.renderContainer=this.overlayRenderContainer,r.model.dropTargetContainer=this.rootDropTargetContainer,r.model.location={type:"floating"});break}}if(n.api.location.type==="grid"){const s=qn(n.element),a=$l(this.gridview.orientation,s,i);let o;switch(this.gridview.orientation){case Ot.VERTICAL:o=s.length%2==0?r.api.width:r.api.height;break;case Ot.HORIZONTAL:o=s.length%2==0?r.api.height:r.api.width;break}this.gridview.addView(r,o,a)}else if(n.api.location.type==="floating"){const s=this._floatingGroups.find(a=>a.group===n);if(s){const a=s.overlay.toJSON();let o,l;"left"in a?o=a.left+50:"right"in a?o=Math.max(0,a.right-a.width-50):o=50,"top"in a?l=a.top+50:"bottom"in a?l=Math.max(0,a.bottom-a.height-50):l=50,this.addFloatingGroup(r,{height:a.height,width:a.width,position:{left:o,top:l}})}}}if(r.panels.forEach(s=>{this._onDidMovePanel.fire({panel:s,from:r})}),this.debouncedUpdateAllPositions(),e.skipSetActive===!1){const s=n??r;this.doSetGroupAndPanelActive(s)}}doSetGroupActive(e){super.doSetGroupActive(e);const r=this.activePanel;!this._moving&&r!==this._onDidActivePanelChange.value&&this._onDidActivePanelChange.fire(r)}doSetGroupAndPanelActive(e){super.doSetGroupActive(e);const r=this.activePanel;e&&this.hasMaximizedGroup()&&!this.isMaximizedGroup(e)&&this.exitMaximizedGroup(),!this._moving&&r!==this._onDidActivePanelChange.value&&this._onDidActivePanelChange.fire(r)}getNextGroupId(){let e=this.nextGroupId.next();for(;this._groups.has(e);)e=this.nextGroupId.next();return e}createGroup(e){e||(e={});let r=e==null?void 0:e.id;if(r&&this._groups.has(e.id)&&(console.warn(`dockview: Duplicate group id ${e==null?void 0:e.id}. reassigning group id to avoid errors`),r=void 0),!r)for(r=this.nextGroupId.next();this._groups.has(r);)r=this.nextGroupId.next();const n=new BG(this,r,e);if(n.init({params:{},accessor:this}),!this._groups.has(n.id)){const i=new Wt(n.model.onTabDragStart(s=>{this._onWillDragPanel.fire(s)}),n.model.onGroupDragStart(s=>{this._onWillDragGroup.fire(s)}),n.model.onMove(s=>{const{groupId:a,itemId:o,target:l,index:c}=s;this.moveGroupOrPanel({from:{groupId:a,panelId:o},to:{group:n,position:l,index:c}})}),n.model.onDidDrop(s=>{this._onDidDrop.fire(s)}),n.model.onWillDrop(s=>{this._onWillDrop.fire(s)}),n.model.onWillShowOverlay(s=>{if(this.options.disableDnd){s.preventDefault();return}this._onWillShowOverlay.fire(s)}),n.model.onUnhandledDragOverEvent(s=>{this._onUnhandledDragOverEvent.fire(s)}),n.model.onDidAddPanel(s=>{this._moving||this._onDidAddPanel.fire(s.panel)}),n.model.onDidRemovePanel(s=>{this._moving||this._onDidRemovePanel.fire(s.panel)}),n.model.onDidActivePanelChange(s=>{this._moving||s.panel===this.activePanel&&this._onDidActivePanelChange.value!==s.panel&&this._onDidActivePanelChange.fire(s.panel)}),zf.any(n.model.onDidPanelTitleChange,n.model.onDidPanelParametersChange)(()=>{this._bufferOnDidLayoutChange.fire()}));this._groups.set(n.id,{value:n,disposable:i})}return n.initialize(),n}createPanel(e,r){var n,i,s;const a=e.component,o=(n=e.tabComponent)!==null&&n!==void 0?n:this.options.defaultTabComponent,l=new kpe(this,e.id,a,o),c=new j0(e.id,a,o,this,this._api,r,l,{renderer:e.renderer,minimumWidth:e.minimumWidth,minimumHeight:e.minimumHeight,maximumWidth:e.maximumWidth,maximumHeight:e.maximumHeight});return c.init({title:(i=e.title)!==null&&i!==void 0?i:e.id,params:(s=e==null?void 0:e.params)!==null&&s!==void 0?s:{}}),c}createGroupAtLocation(e,r,n){const i=this.createGroup(n);return this.doAddGroup(i,e,r),i}findGroup(e){var r;return(r=Array.from(this._groups.values()).find(n=>n.value.model.containsPanel(e)))===null||r===void 0?void 0:r.value}orientationAtLocation(e){const r=this.gridview.orientation;return e.length%2==1?r:Hl(r)}updateDropTargetModel(e){"dndEdges"in e&&(this._rootDropTarget.disabled=typeof e.dndEdges=="boolean"&&e.dndEdges===!1,typeof e.dndEdges=="object"&&e.dndEdges!==null?this._rootDropTarget.setOverlayModel(e.dndEdges):this._rootDropTarget.setOverlayModel(jG)),"rootOverlayModel"in e&&this.updateDropTargetModel({dndEdges:e.dndEdges})}updateTheme(){var e,r;const n=(e=this._options.theme)!==null&&e!==void 0?e:uyt;switch(this._themeClassnames.setClassNames(n.className),this.gridview.margin=(r=n.gap)!==null&&r!==void 0?r:0,n.dndOverlayMounting){case"absolute":this.rootDropTargetContainer.disabled=!1;break;case"relative":default:this.rootDropTargetContainer.disabled=!0;break}}}class Tyt extends fpe{get orientation(){return this.gridview.orientation}set orientation(e){this.gridview.orientation=e}get options(){return this._options}get deserializer(){return this._deserializer}set deserializer(e){this._deserializer=e}constructor(e,r){var n;super(e,{proportionalLayout:(n=r.proportionalLayout)!==null&&n!==void 0?n:!0,orientation:r.orientation,styles:r.hideBorders?{separatorBorder:"transparent"}:void 0,disableAutoResizing:r.disableAutoResizing,className:r.className}),this._onDidLayoutfromJSON=new Be,this.onDidLayoutFromJSON=this._onDidLayoutfromJSON.event,this._onDidRemoveGroup=new Be,this.onDidRemoveGroup=this._onDidRemoveGroup.event,this._onDidAddGroup=new Be,this.onDidAddGroup=this._onDidAddGroup.event,this._onDidActiveGroupChange=new Be,this.onDidActiveGroupChange=this._onDidActiveGroupChange.event,this._options=r,this.addDisposables(this._onDidAddGroup,this._onDidRemoveGroup,this._onDidActiveGroupChange,this.onDidAdd(i=>{this._onDidAddGroup.fire(i)}),this.onDidRemove(i=>{this._onDidRemoveGroup.fire(i)}),this.onDidActiveChange(i=>{this._onDidActiveGroupChange.fire(i)}))}updateOptions(e){super.updateOptions(e);const r=typeof e.orientation=="string"&&this.gridview.orientation!==e.orientation;this._options=Object.assign(Object.assign({},this.options),e),r&&(this.gridview.orientation=e.orientation),this.layout(this.gridview.width,this.gridview.height,!0)}removePanel(e){this.removeGroup(e)}toJSON(){var e;return{grid:this.gridview.serialize(),activePanel:(e=this.activeGroup)===null||e===void 0?void 0:e.id}}setVisible(e,r){this.gridview.setViewVisible(qn(e.element),r)}setActive(e){this._groups.forEach((r,n)=>{r.value.setActive(e===r.value)})}focus(){var e;(e=this.activeGroup)===null||e===void 0||e.focus()}fromJSON(e){this.clear();const{grid:r,activePanel:n}=e;try{const i=[],s=this.width,a=this.height;if(this.gridview.deserialize(r,{fromJSON:o=>{const{data:l}=o,c=this.options.createComponent({id:l.id,name:l.component});return i.push(()=>c.init({params:l.params,minimumWidth:l.minimumWidth,maximumWidth:l.maximumWidth,minimumHeight:l.minimumHeight,maximumHeight:l.maximumHeight,priority:l.priority,snap:!!l.snap,accessor:this,isVisible:o.visible})),this._onDidAddGroup.fire(c),this.registerPanel(c),c}}),this.layout(s,a,!0),i.forEach(o=>o()),typeof n=="string"){const o=this.getPanel(n);o&&this.doSetGroupActive(o)}}catch(i){for(const s of this.groups)s.dispose(),this._groups.delete(s.id),this._onDidRemoveGroup.fire(s);throw this.clear(),i}this._onDidLayoutfromJSON.fire()}clear(){const e=this.activeGroup,r=Array.from(this._groups.values());for(const n of r)n.disposable.dispose(),this.doRemoveGroup(n.value,{skipActive:!0});e&&this.doSetGroupActive(void 0),this.gridview.clear()}movePanel(e,r){var n;let i;const s=this.gridview.remove(e),a=(n=this._groups.get(r.reference))===null||n===void 0?void 0:n.value;if(!a)throw new Error(`reference group ${r.reference} does not exist`);const o=IT(r.direction);if(o==="center")throw new Error(`${o} not supported as an option`);{const l=qn(a.element);i=$l(this.gridview.orientation,l,o)}this.doAddGroup(s,i,r.size)}addPanel(e){var r,n,i,s;let a=(r=e.location)!==null&&r!==void 0?r:[0];if(!((n=e.position)===null||n===void 0)&&n.referencePanel){const l=(i=this._groups.get(e.position.referencePanel))===null||i===void 0?void 0:i.value;if(!l)throw new Error(`reference group ${e.position.referencePanel} does not exist`);const c=IT(e.position.direction);if(c==="center")throw new Error(`${c} not supported as an option`);{const u=qn(l.element);a=$l(this.gridview.orientation,u,c)}}const o=this.options.createComponent({id:e.id,name:e.component});return o.init({params:(s=e.params)!==null&&s!==void 0?s:{},minimumWidth:e.minimumWidth,maximumWidth:e.maximumWidth,minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight,priority:e.priority,snap:!!e.snap,accessor:this,isVisible:!0}),this.doAddGroup(o,a,e.size),this.registerPanel(o),this.doSetGroupActive(o),o}registerPanel(e){const r=new Wt(e.api.onDidFocusChange(n=>{n.isFocused&&this._groups.forEach(i=>{const s=i.value;s!==e?s.setActive(!1):s.setActive(!0)})}));this._groups.set(e.id,{value:e,disposable:r})}moveGroup(e,r,n){const i=this.getPanel(r);if(!i)throw new Error("invalid operation");const s=qn(e.element),a=$l(this.gridview.orientation,s,n),[o,l]=iu(a),c=qn(i.element),[u,d]=iu(c);if(hpe(u,o)){this.gridview.moveView(u,d,l);return}const m=this.doRemoveGroup(i,{skipActive:!0,skipDispose:!0}),p=qn(e.element),y=$l(this.gridview.orientation,p,n);this.doAddGroup(m,y)}removeGroup(e){super.removeGroup(e)}dispose(){super.dispose(),this._onDidLayoutfromJSON.dispose()}}class kyt extends xN{get panels(){return this.splitview.getViews()}get options(){return this._options}get length(){return this._panels.size}get orientation(){return this.splitview.orientation}get splitview(){return this._splitview}set splitview(e){this._splitview&&this._splitview.dispose(),this._splitview=e,this._splitviewChangeDisposable.value=new Wt(this._splitview.onDidSashEnd(()=>{this._onDidLayoutChange.fire(void 0)}),this._splitview.onDidAddView(r=>this._onDidAddView.fire(r)),this._splitview.onDidRemoveView(r=>this._onDidRemoveView.fire(r)))}get minimumSize(){return this.splitview.minimumSize}get maximumSize(){return this.splitview.maximumSize}get height(){return this.splitview.orientation===Ot.HORIZONTAL?this.splitview.orthogonalSize:this.splitview.size}get width(){return this.splitview.orientation===Ot.HORIZONTAL?this.splitview.size:this.splitview.orthogonalSize}constructor(e,r){var n;super(document.createElement("div"),r.disableAutoResizing),this._splitviewChangeDisposable=new Is,this._panels=new Map,this._onDidLayoutfromJSON=new Be,this.onDidLayoutFromJSON=this._onDidLayoutfromJSON.event,this._onDidAddView=new Be,this.onDidAddView=this._onDidAddView.event,this._onDidRemoveView=new Be,this.onDidRemoveView=this._onDidRemoveView.event,this._onDidLayoutChange=new Be,this.onDidLayoutChange=this._onDidLayoutChange.event,this.element.style.height="100%",this.element.style.width="100%",this._classNames=new zS(this.element),this._classNames.setClassNames((n=r.className)!==null&&n!==void 0?n:""),e.appendChild(this.element),this._options=r,this.splitview=new av(this.element,r),this.addDisposables(this._onDidAddView,this._onDidLayoutfromJSON,this._onDidRemoveView,this._onDidLayoutChange)}updateOptions(e){var r,n;"className"in e&&this._classNames.setClassNames((r=e.className)!==null&&r!==void 0?r:""),"disableResizing"in e&&(this.disableResizing=(n=e.disableAutoResizing)!==null&&n!==void 0?n:!1),typeof e.orientation=="string"&&(this.splitview.orientation=e.orientation),this._options=Object.assign(Object.assign({},this.options),e),this.splitview.layout(this.splitview.size,this.splitview.orthogonalSize)}focus(){var e;(e=this._activePanel)===null||e===void 0||e.focus()}movePanel(e,r){this.splitview.moveView(e,r)}setVisible(e,r){const n=this.panels.indexOf(e);this.splitview.setViewVisible(n,r)}setActive(e,r){this._activePanel=e,this.panels.filter(n=>n!==e).forEach(n=>{n.api._onDidActiveChange.fire({isActive:!1}),r||n.focus()}),e.api._onDidActiveChange.fire({isActive:!0}),r||e.focus()}removePanel(e,r){const n=this._panels.get(e.id);if(!n)throw new Error(`unknown splitview panel ${e.id}`);n.dispose(),this._panels.delete(e.id);const i=this.panels.findIndex(o=>o===e);this.splitview.removeView(i,r).dispose();const a=this.panels;a.length>0&&this.setActive(a[a.length-1])}getPanel(e){return this.panels.find(r=>r.id===e)}addPanel(e){var r;if(this._panels.has(e.id))throw new Error(`panel ${e.id} already exists`);const n=this.options.createComponent({id:e.id,name:e.component});n.orientation=this.splitview.orientation,n.init({params:(r=e.params)!==null&&r!==void 0?r:{},minimumSize:e.minimumSize,maximumSize:e.maximumSize,snap:e.snap,priority:e.priority,accessor:this});const i=typeof e.size=="number"?e.size:So.Distribute,s=typeof e.index=="number"?e.index:void 0;return this.splitview.addView(n,i,s),this.doAddView(n),this.setActive(n),n}layout(e,r){const[n,i]=this.splitview.orientation===Ot.HORIZONTAL?[e,r]:[r,e];this.splitview.layout(n,i)}doAddView(e){const r=e.api.onDidFocusChange(n=>{n.isFocused&&this.setActive(e,!0)});this._panels.set(e.id,r)}toJSON(){var e;return{views:this.splitview.getViews().map((n,i)=>({size:this.splitview.getViewSize(i),data:n.toJSON(),snap:!!n.snap,priority:n.priority})),activeView:(e=this._activePanel)===null||e===void 0?void 0:e.id,size:this.splitview.size,orientation:this.splitview.orientation}}fromJSON(e){this.clear();const{views:r,orientation:n,size:i,activeView:s}=e,a=[],o=this.width,l=this.height;if(this.splitview=new av(this.element,{orientation:n,proportionalLayout:this.options.proportionalLayout,descriptor:{size:i,views:r.map(c=>{const u=c.data;if(this._panels.has(u.id))throw new Error(`panel ${u.id} already exists`);const d=this.options.createComponent({id:u.id,name:u.component});return a.push(()=>{var m;d.init({params:(m=u.params)!==null&&m!==void 0?m:{},minimumSize:u.minimumSize,maximumSize:u.maximumSize,snap:c.snap,priority:c.priority,accessor:this})}),d.orientation=n,this.doAddView(d),setTimeout(()=>{this._onDidAddView.fire(d)},0),{size:c.size,view:d}})}}),this.layout(o,l),a.forEach(c=>c()),typeof s=="string"){const c=this.getPanel(s);c&&this.setActive(c)}this._onDidLayoutfromJSON.fire()}clear(){for(const e of this._panels.values())e.dispose();for(this._panels.clear();this.splitview.length>0;)this.splitview.removeView(0,So.Distribute,!0).dispose()}dispose(){for(const r of this._panels.values())r.dispose();this._panels.clear();const e=this.splitview.getViews();this._splitviewChangeDisposable.dispose(),this.splitview.dispose();for(const r of e)r.dispose();this.element.remove(),super.dispose()}}class HG extends Wt{get element(){return this._element}constructor(){super(),this._expandedIcon=J1t(),this._collapsedIcon=_pe(),this.disposable=new Is,this.apiRef={api:null},this._element=document.createElement("div"),this.element.className="dv-default-header",this._content=document.createElement("span"),this._expander=document.createElement("div"),this._expander.className="dv-pane-header-icon",this.element.appendChild(this._expander),this.element.appendChild(this._content),this.addDisposables(gr(this._element,"click",()=>{var e;(e=this.apiRef.api)===null||e===void 0||e.setExpanded(!this.apiRef.api.isExpanded)}))}init(e){this.apiRef.api=e.api,this._content.textContent=e.title,this.updateIcon(),this.disposable.value=e.api.onDidExpansionChange(()=>{this.updateIcon()})}updateIcon(){var e;const r=!!(!((e=this.apiRef.api)===null||e===void 0)&&e.isExpanded);Gt(this._expander,"collapsed",!r),r?(this._expander.contains(this._collapsedIcon)&&this._collapsedIcon.remove(),this._expander.contains(this._expandedIcon)||this._expander.appendChild(this._expandedIcon)):(this._expander.contains(this._expandedIcon)&&this._expandedIcon.remove(),this._expander.contains(this._collapsedIcon)||this._expander.appendChild(this._collapsedIcon))}update(e){}dispose(){this.disposable.dispose(),super.dispose()}}const Syt=vN(),VG=22,UG=0,qG=Number.MAX_SAFE_INTEGER;class GG extends q1t{constructor(e){super({accessor:e.accessor,id:e.id,component:e.component,headerComponent:e.headerComponent,orientation:e.orientation,isExpanded:e.isExpanded,disableDnd:e.disableDnd,headerSize:e.headerSize,minimumBodySize:e.minimumBodySize,maximumBodySize:e.maximumBodySize}),this.options=e}getBodyComponent(){return this.options.body}getHeaderComponent(){return this.options.header}}class Eyt extends xN{get id(){return this._id}get panels(){return this.paneview.getPanes()}set paneview(e){this._paneview=e,this._disposable.value=new Wt(this._paneview.onDidChange(()=>{this._onDidLayoutChange.fire(void 0)}),this._paneview.onDidAddView(r=>this._onDidAddView.fire(r)),this._paneview.onDidRemoveView(r=>this._onDidRemoveView.fire(r)))}get paneview(){return this._paneview}get minimumSize(){return this.paneview.minimumSize}get maximumSize(){return this.paneview.maximumSize}get height(){return this.paneview.orientation===Ot.HORIZONTAL?this.paneview.orthogonalSize:this.paneview.size}get width(){return this.paneview.orientation===Ot.HORIZONTAL?this.paneview.size:this.paneview.orthogonalSize}get options(){return this._options}constructor(e,r){var n;super(document.createElement("div"),r.disableAutoResizing),this._id=Syt.next(),this._disposable=new Is,this._viewDisposables=new Map,this._onDidLayoutfromJSON=new Be,this.onDidLayoutFromJSON=this._onDidLayoutfromJSON.event,this._onDidLayoutChange=new Be,this.onDidLayoutChange=this._onDidLayoutChange.event,this._onDidDrop=new Be,this.onDidDrop=this._onDidDrop.event,this._onDidAddView=new Be,this.onDidAddView=this._onDidAddView.event,this._onDidRemoveView=new Be,this.onDidRemoveView=this._onDidRemoveView.event,this._onUnhandledDragOverEvent=new Be,this.onUnhandledDragOverEvent=this._onUnhandledDragOverEvent.event,this.element.style.height="100%",this.element.style.width="100%",this.addDisposables(this._onDidLayoutChange,this._onDidLayoutfromJSON,this._onDidDrop,this._onDidAddView,this._onDidRemoveView,this._onUnhandledDragOverEvent),this._classNames=new zS(this.element),this._classNames.setClassNames((n=r.className)!==null&&n!==void 0?n:""),e.appendChild(this.element),this._options=r,this.paneview=new MG(this.element,{orientation:Ot.VERTICAL}),this.addDisposables(this._disposable)}setVisible(e,r){const n=this.panels.indexOf(e);this.paneview.setViewVisible(n,r)}focus(){}updateOptions(e){var r,n;"className"in e&&this._classNames.setClassNames((r=e.className)!==null&&r!==void 0?r:""),"disableResizing"in e&&(this.disableResizing=(n=e.disableAutoResizing)!==null&&n!==void 0?n:!1),this._options=Object.assign(Object.assign({},this.options),e)}addPanel(e){var r,n;const i=this.options.createComponent({id:e.id,name:e.component});let s;e.headerComponent&&this.options.createHeaderComponent&&(s=this.options.createHeaderComponent({id:e.id,name:e.headerComponent})),s||(s=new HG);const a=new GG({id:e.id,component:e.component,headerComponent:e.headerComponent,header:s,body:i,orientation:Ot.VERTICAL,isExpanded:!!e.isExpanded,disableDnd:!!this.options.disableDnd,accessor:this,headerSize:(r=e.headerSize)!==null&&r!==void 0?r:VG,minimumBodySize:UG,maximumBodySize:qG});this.doAddPanel(a);const o=typeof e.size=="number"?e.size:So.Distribute,l=typeof e.index=="number"?e.index:void 0;return a.init({params:(n=e.params)!==null&&n!==void 0?n:{},minimumBodySize:e.minimumBodySize,maximumBodySize:e.maximumBodySize,isExpanded:e.isExpanded,title:e.title,containerApi:new ov(this),accessor:this}),this.paneview.addPane(a,o,l),a.orientation=this.paneview.orientation,a}removePanel(e){const n=this.panels.findIndex(i=>i===e);this.paneview.removePane(n),this.doRemovePanel(e)}movePanel(e,r){this.paneview.moveView(e,r)}getPanel(e){return this.panels.find(r=>r.id===e)}layout(e,r){const[n,i]=this.paneview.orientation===Ot.HORIZONTAL?[e,r]:[r,e];this.paneview.layout(n,i)}toJSON(){const e=i=>i===Number.MAX_SAFE_INTEGER||i===Number.POSITIVE_INFINITY?void 0:i,r=i=>i<=0?void 0:i;return{views:this.paneview.getPanes().map((i,s)=>({size:this.paneview.getViewSize(s),data:i.toJSON(),minimumSize:r(i.minimumBodySize),maximumSize:e(i.maximumBodySize),headerSize:i.headerSize,expanded:i.isExpanded()})),size:this.paneview.size}}fromJSON(e){this.clear();const{views:r,size:n}=e,i=[],s=this.width,a=this.height;this.paneview=new MG(this.element,{orientation:Ot.VERTICAL,descriptor:{size:n,views:r.map(o=>{var l,c,u;const d=o.data,m=this.options.createComponent({id:d.id,name:d.component});let p;d.headerComponent&&this.options.createHeaderComponent&&(p=this.options.createHeaderComponent({id:d.id,name:d.headerComponent})),p||(p=new HG);const y=new GG({id:d.id,component:d.component,headerComponent:d.headerComponent,header:p,body:m,orientation:Ot.VERTICAL,isExpanded:!!o.expanded,disableDnd:!!this.options.disableDnd,accessor:this,headerSize:(l=o.headerSize)!==null&&l!==void 0?l:VG,minimumBodySize:(c=o.minimumSize)!==null&&c!==void 0?c:UG,maximumBodySize:(u=o.maximumSize)!==null&&u!==void 0?u:qG});return this.doAddPanel(y),i.push(()=>{var b;y.init({params:(b=d.params)!==null&&b!==void 0?b:{},minimumBodySize:o.minimumSize,maximumBodySize:o.maximumSize,title:d.title,isExpanded:!!o.expanded,containerApi:new ov(this),accessor:this}),y.orientation=this.paneview.orientation}),setTimeout(()=>{this._onDidAddView.fire(y)},0),{size:o.size,view:y}})}}),this.layout(s,a),i.forEach(o=>o()),this._onDidLayoutfromJSON.fire()}clear(){for(const[e,r]of this._viewDisposables.entries())r.dispose();this._viewDisposables.clear(),this.paneview.dispose()}doAddPanel(e){const r=new Wt(e.onDidDrop(n=>{this._onDidDrop.fire(n)}),e.onUnhandledDragOverEvent(n=>{this._onUnhandledDragOverEvent.fire(n)}));this._viewDisposables.set(e.id,r)}doRemovePanel(e){const r=this._viewDisposables.get(e.id);r&&(r.dispose(),this._viewDisposables.delete(e.id))}dispose(){super.dispose();for(const[e,r]of this._viewDisposables.entries())r.dispose();this._viewDisposables.clear(),this.element.remove(),this.paneview.dispose()}}class Ayt extends wN{get priority(){return this._priority}set orientation(e){this._orientation=e}get orientation(){return this._orientation}get minimumSize(){const e=typeof this._minimumSize=="function"?this._minimumSize():this._minimumSize;return e!==this._evaluatedMinimumSize&&(this._evaluatedMinimumSize=e,this.updateConstraints()),e}get maximumSize(){const e=typeof this._maximumSize=="function"?this._maximumSize():this._maximumSize;return e!==this._evaluatedMaximumSize&&(this._evaluatedMaximumSize=e,this.updateConstraints()),e}get snap(){return this._snap}constructor(e,r){super(e,r,new vpe(e,r)),this._evaluatedMinimumSize=0,this._evaluatedMaximumSize=Number.POSITIVE_INFINITY,this._minimumSize=0,this._maximumSize=Number.POSITIVE_INFINITY,this._snap=!1,this._onDidChange=new Be,this.onDidChange=this._onDidChange.event,this.api.initialize(this),this.addDisposables(this._onDidChange,this.api.onWillVisibilityChange(n=>{const{isVisible:i}=n,{accessor:s}=this._params;s.setVisible(this,i)}),this.api.onActiveChange(()=>{const{accessor:n}=this._params;n.setActive(this)}),this.api.onDidConstraintsChangeInternal(n=>{(typeof n.minimumSize=="number"||typeof n.minimumSize=="function")&&(this._minimumSize=n.minimumSize),(typeof n.maximumSize=="number"||typeof n.maximumSize=="function")&&(this._maximumSize=n.maximumSize),this.updateConstraints()}),this.api.onDidSizeChange(n=>{this._onDidChange.fire({size:n.size})}))}setVisible(e){this.api._onDidVisibilityChange.fire({isVisible:e})}setActive(e){this.api._onDidActiveChange.fire({isActive:e})}layout(e,r){const[n,i]=this.orientation===Ot.HORIZONTAL?[e,r]:[r,e];super.layout(n,i)}init(e){super.init(e),this._priority=e.priority,e.minimumSize&&(this._minimumSize=e.minimumSize),e.maximumSize&&(this._maximumSize=e.maximumSize),e.snap&&(this._snap=e.snap)}toJSON(){const e=n=>n===Number.MAX_SAFE_INTEGER||n===Number.POSITIVE_INFINITY?void 0:n,r=n=>n<=0?void 0:n;return Object.assign(Object.assign({},super.toJSON()),{minimumSize:r(this.minimumSize),maximumSize:e(this.maximumSize)})}updateConstraints(){this.api._onDidConstraintsChange.fire({maximumSize:this._evaluatedMaximumSize,minimumSize:this._evaluatedMinimumSize})}}function Dyt(t,e){return new Cyt(t,e).api}function Lyt(t,e){const r=new kyt(t,e);return new ppe(r)}function Iyt(t,e){const r=new Tyt(t,e);return new mpe(r)}function Ryt(t,e){const r=new Eyt(t,e);return new ov(r)}const Spe=(t,e)=>{const[r,n]=mt.useState(),i=mt.useRef(t.componentProps);return mt.useImperativeHandle(e,()=>({update:s=>{i.current=Object.assign(Object.assign({},i.current),s),n(Date.now())}}),[]),mt.createElement(t.component,i.current)};Spe.displayName="DockviewReactJsBridge";const Nyt=(()=>{let t=1;return{next:()=>`dockview_react_portal_key_${(t++).toString()}`}})(),Oyt=mt.createContext({});class Ap{constructor(e,r,n,i,s){this.parent=e,this.portalStore=r,this.component=n,this.parameters=i,this.context=s,this._initialProps={},this.disposed=!1,this.createPortal()}update(e){if(this.disposed)throw new Error("invalid operation: resource is already disposed");this.componentInstance?this.componentInstance.update(e):this._initialProps=Object.assign(Object.assign({},this._initialProps),e)}createPortal(){if(this.disposed)throw new Error("invalid operation: resource is already disposed");if(!Myt(this.component))throw new Error("Dockview: Only React.memo(...), React.ForwardRef(...) and functional components are accepted as components");const e=mt.createElement(mt.forwardRef(Spe),{component:this.component,componentProps:this.parameters,ref:i=>{this.componentInstance=i,Object.keys(this._initialProps).length>0&&(this.componentInstance.update(this._initialProps),this._initialProps={})}}),r=this.context?mt.createElement(Oyt.Provider,{value:this.context},e):e,n=mY.createPortal(r,this.parent,Nyt.next());this.ref={portal:n,disposable:this.portalStore.addPortal(n)}}dispose(){var e;(e=this.ref)===null||e===void 0||e.disposable.dispose(),this.disposed=!0}}const VS=()=>{const[t,e]=mt.useState([]);mt.useDebugValue(`Portal count: ${t.length}`);const r=mt.useCallback(n=>{e(s=>[...s,n]);let i=!1;return Ei.from(()=>{if(i)throw new Error("invalid operation: resource already disposed");i=!0,e(s=>s.filter(a=>a!==n))})},[]);return[t,r]};function Myt(t){return typeof t=="function"||!!(t!=null&&t.$$typeof)}class WG{get element(){return this._element}constructor(e,r,n){this.id=e,this.component=r,this.reactPortalStore=n,this._onDidFocus=new Be,this.onDidFocus=this._onDidFocus.event,this._onDidBlur=new Be,this.onDidBlur=this._onDidBlur.event,this._element=document.createElement("div"),this._element.className="dv-react-part",this._element.style.height="100%",this._element.style.width="100%"}focus(){}init(e){this.part=new Ap(this.element,this.reactPortalStore,this.component,{params:e.params,api:e.api,containerApi:e.containerApi})}update(e){var r;(r=this.part)===null||r===void 0||r.update({params:e.params})}layout(e,r){}dispose(){var e;this._onDidFocus.dispose(),this._onDidBlur.dispose(),(e=this.part)===null||e===void 0||e.dispose()}}class YG{get element(){return this._element}constructor(e,r,n){this.id=e,this.component=r,this.reactPortalStore=n,this._element=document.createElement("div"),this._element.className="dv-react-part",this._element.style.height="100%",this._element.style.width="100%"}focus(){}init(e){this.part=new Ap(this.element,this.reactPortalStore,this.component,{params:e.params,api:e.api,containerApi:e.containerApi,tabLocation:e.tabLocation})}update(e){var r;(r=this.part)===null||r===void 0||r.update({params:e.params})}layout(e,r){}dispose(){var e;(e=this.part)===null||e===void 0||e.dispose()}}class ZG{get element(){return this._element}constructor(e,r,n){this.id=e,this.component=r,this.reactPortalStore=n,this._element=document.createElement("div"),this._element.className="dv-react-part",this._element.style.height="100%",this._element.style.width="100%"}init(e){this.part=new Ap(this.element,this.reactPortalStore,this.component,{group:e.group,containerApi:e.containerApi})}focus(){}update(e){var r,n,i;this.parameters&&(this.parameters.params=e.params),(r=this.part)===null||r===void 0||r.update({params:(i=(n=this.parameters)===null||n===void 0?void 0:n.params)!==null&&i!==void 0?i:{}})}layout(e,r){}dispose(){var e;(e=this.part)===null||e===void 0||e.dispose()}}class Pyt{get element(){return this._element}get part(){return this._part}constructor(e,r,n){this.component=e,this.reactPortalStore=r,this._group=n,this.mutableDisposable=new Is,this._element=document.createElement("div"),this._element.className="dv-react-part",this._element.style.height="100%",this._element.style.width="100%"}init(e){this.mutableDisposable.value=new Wt(this._group.model.onDidAddPanel(()=>{this.updatePanels()}),this._group.model.onDidRemovePanel(()=>{this.updatePanels()}),this._group.model.onDidActivePanelChange(()=>{this.updateActivePanel()}),e.api.onDidActiveChange(()=>{this.updateGroupActive()})),this._part=new Ap(this.element,this.reactPortalStore,this.component,{api:e.api,containerApi:e.containerApi,panels:this._group.model.panels,activePanel:this._group.model.activePanel,isGroupActive:this._group.api.isActive,group:this._group})}dispose(){var e;this.mutableDisposable.dispose(),(e=this._part)===null||e===void 0||e.dispose()}update(e){var r;(r=this._part)===null||r===void 0||r.update(e.params)}updatePanels(){this.update({params:{panels:this._group.model.panels}})}updateActivePanel(){this.update({params:{activePanel:this._group.model.activePanel}})}updateGroupActive(){this.update({params:{isGroupActive:this._group.api.isActive}})}}function S0(t,e){return t?r=>new Pyt(t,e,r):void 0}const M_="props.defaultTabComponent";function Byt(t){return DD.reduce((r,n)=>(n in t&&(r[n]=t[n]),r),{})}const Epe=mt.forwardRef((t,e)=>{const r=mt.useRef(null),n=mt.useRef(),[i,s]=VS();mt.useImperativeHandle(e,()=>r.current,[]);const a=mt.useRef({});return mt.useEffect(()=>{const o={};DD.forEach(l=>{const c=l,u=t[c];c in t&&u!==a.current[c]&&(o[c]=u)}),n.current&&n.current.updateOptions(o),a.current=t},DD.map(o=>t[o])),mt.useEffect(()=>{var o;if(!r.current)return;const l=(o=t.tabComponents)!==null&&o!==void 0?o:{};t.defaultTabComponent&&(l[M_]=t.defaultTabComponent);const c={createLeftHeaderActionComponent:S0(t.leftHeaderActionsComponent,{addPortal:s}),createRightHeaderActionComponent:S0(t.rightHeaderActionsComponent,{addPortal:s}),createPrefixHeaderActionComponent:S0(t.prefixHeaderActionsComponent,{addPortal:s}),createComponent:p=>new WG(p.id,t.components[p.name],{addPortal:s}),createTabComponent(p){return new YG(p.id,l[p.name],{addPortal:s})},createWatermarkComponent:t.watermarkComponent?()=>new ZG("watermark",t.watermarkComponent,{addPortal:s}):void 0,defaultTabComponent:t.defaultTabComponent?M_:void 0},u=Dyt(r.current,Object.assign(Object.assign({},Byt(t)),c)),{clientWidth:d,clientHeight:m}=r.current;return u.layout(d,m),t.onReady&&t.onReady({api:u}),n.current=u,()=>{n.current=void 0,u.dispose()}},[]),mt.useEffect(()=>{if(!n.current)return()=>{};const o=n.current.onDidDrop(l=>{t.onDidDrop&&t.onDidDrop(l)});return()=>{o.dispose()}},[t.onDidDrop]),mt.useEffect(()=>{if(!n.current)return()=>{};const o=n.current.onWillDrop(l=>{t.onWillDrop&&t.onWillDrop(l)});return()=>{o.dispose()}},[t.onWillDrop]),mt.useEffect(()=>{n.current&&n.current.updateOptions({createComponent:o=>new WG(o.id,t.components[o.name],{addPortal:s})})},[t.components]),mt.useEffect(()=>{var o;if(!n.current)return;const l=(o=t.tabComponents)!==null&&o!==void 0?o:{};t.defaultTabComponent&&(l[M_]=t.defaultTabComponent),n.current.updateOptions({defaultTabComponent:t.defaultTabComponent?M_:void 0,createTabComponent(c){return new YG(c.id,l[c.name],{addPortal:s})}})},[t.tabComponents,t.defaultTabComponent]),mt.useEffect(()=>{n.current&&n.current.updateOptions({createWatermarkComponent:t.watermarkComponent?()=>new ZG("watermark",t.watermarkComponent,{addPortal:s}):void 0})},[t.watermarkComponent]),mt.useEffect(()=>{n.current&&n.current.updateOptions({createRightHeaderActionComponent:S0(t.rightHeaderActionsComponent,{addPortal:s})})},[t.rightHeaderActionsComponent]),mt.useEffect(()=>{n.current&&n.current.updateOptions({createLeftHeaderActionComponent:S0(t.leftHeaderActionsComponent,{addPortal:s})})},[t.leftHeaderActionsComponent]),mt.useEffect(()=>{n.current&&n.current.updateOptions({createPrefixHeaderActionComponent:S0(t.prefixHeaderActionsComponent,{addPortal:s})})},[t.prefixHeaderActionsComponent]),mt.createElement("div",{style:{height:"100%",width:"100%"},ref:r},i)});Epe.displayName="DockviewComponent";class XG extends Ayt{constructor(e,r,n,i){super(e,r),this.reactComponent=n,this.reactPortalStore=i}getComponent(){var e,r;return new Ap(this.element,this.reactPortalStore,this.reactComponent,{params:(r=(e=this._params)===null||e===void 0?void 0:e.params)!==null&&r!==void 0?r:{},api:this.api,containerApi:new ppe(this._params.accessor)})}}function Fyt(t){return CD.reduce((r,n)=>(n in t&&(r[n]=t[n]),r),{})}const $yt=mt.forwardRef((t,e)=>{const r=mt.useRef(null),n=mt.useRef(),[i,s]=VS();mt.useImperativeHandle(e,()=>r.current,[]);const a=mt.useRef({});return mt.useEffect(()=>{const o={};CD.forEach(l=>{const c=l,u=t[c];c in t&&u!==a.current[c]&&(o[c]=u)}),n.current&&n.current.updateOptions(o),a.current=t},CD.map(o=>t[o])),mt.useEffect(()=>{if(!r.current)return()=>{};const o={createComponent:d=>new XG(d.id,d.name,t.components[d.name],{addPortal:s})},l=Lyt(r.current,Object.assign(Object.assign({},Fyt(t)),o)),{clientWidth:c,clientHeight:u}=r.current;return l.layout(c,u),t.onReady&&t.onReady({api:l}),n.current=l,()=>{n.current=void 0,l.dispose()}},[]),mt.useEffect(()=>{n.current&&n.current.updateOptions({createComponent:o=>new XG(o.id,o.name,t.components[o.name],{addPortal:s})})},[t.components]),mt.createElement("div",{style:{height:"100%",width:"100%"},ref:r},i)});$yt.displayName="SplitviewComponent";class KG extends Tpe{constructor(e,r,n,i){super(e,r),this.reactComponent=n,this.reactPortalStore=i}getComponent(){var e,r;return new Ap(this.element,this.reactPortalStore,this.reactComponent,{params:(r=(e=this._params)===null||e===void 0?void 0:e.params)!==null&&r!==void 0?r:{},api:this.api,containerApi:new mpe(this._params.accessor)})}}function zyt(t){return ED.reduce((r,n)=>(n in t&&(r[n]=t[n]),r),{})}const jyt=mt.forwardRef((t,e)=>{const r=mt.useRef(null),n=mt.useRef(),[i,s]=VS();mt.useImperativeHandle(e,()=>r.current,[]);const a=mt.useRef({});return mt.useEffect(()=>{const o={};ED.forEach(l=>{const c=l,u=t[c];c in t&&u!==a.current[c]&&(o[c]=u)}),n.current&&n.current.updateOptions(o),a.current=t},ED.map(o=>t[o])),mt.useEffect(()=>{if(!r.current)return()=>{};const o={createComponent:d=>new KG(d.id,d.name,t.components[d.name],{addPortal:s})},l=Iyt(r.current,Object.assign(Object.assign({},zyt(t)),o)),{clientWidth:c,clientHeight:u}=r.current;return l.layout(c,u),t.onReady&&t.onReady({api:l}),n.current=l,()=>{n.current=void 0,l.dispose()}},[]),mt.useEffect(()=>{n.current&&n.current.updateOptions({createComponent:o=>new KG(o.id,o.name,t.components[o.name],{addPortal:s})})},[t.components]),mt.createElement("div",{style:{height:"100%",width:"100%"},ref:r},i)});jyt.displayName="GridviewComponent";class P_{get element(){return this._element}constructor(e,r,n){this.id=e,this.component=r,this.reactPortalStore=n,this._element=document.createElement("div"),this._element.style.height="100%",this._element.style.width="100%"}init(e){this.part=new Ap(this.element,this.reactPortalStore,this.component,{params:e.params,api:e.api,title:e.title,containerApi:e.containerApi})}toJSON(){return{id:this.id}}update(e){var r;(r=this.part)===null||r===void 0||r.update(e.params)}dispose(){var e;(e=this.part)===null||e===void 0||e.dispose()}}function Hyt(t){return AD.reduce((r,n)=>(n in t&&(r[n]=t[n]),r),{})}const Vyt=mt.forwardRef((t,e)=>{const r=mt.useRef(null),n=mt.useRef(),[i,s]=VS();mt.useImperativeHandle(e,()=>r.current,[]);const a=mt.useRef({});return mt.useEffect(()=>{const o={};AD.forEach(l=>{const c=l,u=t[c];c in t&&u!==a.current[c]&&(o[c]=u)}),n.current&&n.current.updateOptions(o),a.current=t},AD.map(o=>t[o])),mt.useEffect(()=>{var o;if(!r.current)return()=>{};const l=(o=t.headerComponents)!==null&&o!==void 0?o:{},c={createComponent:p=>new P_(p.id,t.components[p.name],{addPortal:s}),createHeaderComponent:p=>new P_(p.id,l[p.name],{addPortal:s})},u=Ryt(r.current,Object.assign(Object.assign({},Hyt(t)),c)),{clientWidth:d,clientHeight:m}=r.current;return u.layout(d,m),t.onReady&&t.onReady({api:u}),n.current=u,()=>{n.current=void 0,u.dispose()}},[]),mt.useEffect(()=>{n.current&&n.current.updateOptions({createComponent:o=>new P_(o.id,t.components[o.name],{addPortal:s})})},[t.components]),mt.useEffect(()=>{var o;if(!n.current)return;const l=(o=t.headerComponents)!==null&&o!==void 0?o:{};n.current.updateOptions({createHeaderComponent:c=>new P_(c.id,l[c.name],{addPortal:s})})},[t.headerComponents]),mt.useEffect(()=>{if(!n.current)return()=>{};const o=n.current.onDidDrop(l=>{t.onDidDrop&&t.onDidDrop(l)});return()=>{o.dispose()}},[t.onDidDrop]),mt.createElement("div",{style:{height:"100%",width:"100%"},ref:r},i)});Vyt.displayName="PaneviewComponent";var Uyt=Object.defineProperty,qyt=(t,e,r)=>e in t?Uyt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Nr=(t,e,r)=>qyt(t,typeof e!="symbol"?e+"":e,r);class LD extends Error{constructor(e,r){super(r),this.kind=e,this.name="PluginError"}}function Gyt(t){if(typeof t!="object"||t===null)throw typeof t=="string"||typeof t=="function"?new Error("definePlugin now takes a single declarative config object: definePlugin({ id, label?, panels, commands, leftTabs, surfaceResolvers, setup? }). The legacy positional form was removed — use the new shape."):new Error("definePlugin: expected a config object");if(typeof t.id!="string"||t.id.length===0)throw new Error("definePlugin: `id` is required and must be a non-empty string");const e=r=>{for(const n of t.panels??[])r.registerPanel(n);for(const n of t.commands??[])r.registerPanelCommand(n);for(const n of t.leftTabs??[])r.registerLeftTab(n);for(const n of t.surfaceResolvers??[])r.registerSurfaceResolver(n);for(const n of t.providers??[])r.registerProvider(n);for(const n of t.bindings??[])r.registerBinding(n);for(const n of t.catalogs??[])r.registerCatalog(n);t.setup&&t.setup(r)};return Wyt(t.id,e,{label:t.label})}function Wyt(t,e,r){const n=e.pluginId;if(n!==void 0&&n!==t)throw new Error(`definePlugin: factory already branded as "${n}", cannot rebrand as "${t}"`);const i=(s=>e(s));return Object.defineProperty(i,"pluginId",{value:t,enumerable:!0}),Object.defineProperty(i,"pluginLabel",{value:r.label,enumerable:!0}),i}function rf(t){return[...t]}function Ape(t={}){const e=[],r=[],n=[],i=[],s=[],a=[],o=[],l=new Map,c=(u,d)=>{const m=`${u}:${d}`,p=l.get(m);if(p!==void 0){const y=t.pluginId??"<plugin>";throw new LD("duplicate-id",`plugin "${y}" registers ${u} "${d}" twice (first as ${p}, then again). If you are composing kits, two of them are registering the same id — namespace one of them.`)}l.set(m,`${u} "${d}"`)};return{registerProvider(u){c("provider",u.id),e.push(u)},registerBinding(u){c("binding",u.id),r.push(u)},registerCatalog(u){c("catalog",u.id),n.push(u)},registerPanel(u){c("panel",u.id),i.push(u)},registerPanelCommand(u){c("command",u.id),s.push(u)},registerLeftTab(u){c("left-tab",u.id),a.push(u)},registerSurfaceResolver(u){const d=u.id??`${t.pluginId??"anon"}:${u.kind}`;c("surface-resolver",d),u.id===void 0&&(u.id=d),o.push(u)},flush(){return{providers:rf(e),bindings:rf(r),catalogs:rf(n),panels:rf(i),panelCommands:rf(s),leftTabs:rf(a),surfaceResolvers:rf(o)}}}}function Dpe(t){if(typeof t!="function"||typeof t.pluginId!="string"||t.pluginId.length===0)throw new Error("WorkspaceProvider.plugins accepts plugins created by definePlugin({ id, ... }). Received a front plugin without a pluginId.");const e=Ape({pluginId:t.pluginId}),r=t(e);if(r&&typeof r.then=="function")throw new Error(`captureFrontPlugin(${t.pluginId}) requires a synchronous factory`);return{id:t.pluginId,...t.pluginLabel!==void 0?{label:t.pluginLabel}:{},registrations:e.flush()}}function Yyt(t,e){return{title:t.label??t.id,component:t.component,placement:t.placement??"center",source:t.source??"plugin",pluginId:e,...t.icon?{icon:t.icon}:{},...t.requiresCapabilities?{requiresCapabilities:t.requiresCapabilities}:{},...t.essential!==void 0?{essential:t.essential}:{},...t.lazy!==void 0?{lazy:t.lazy}:{},...t.chromeless!==void 0?{chromeless:t.chromeless}:{}}}function Zyt(t,e){return{title:t.title,component:t.component??(()=>null),placement:"left-tab",source:t.source??"plugin",pluginId:e,...t.icon?{icon:t.icon}:{},...t.requiresCapabilities?{requiresCapabilities:t.requiresCapabilities}:{},...t.lazy!==void 0?{lazy:t.lazy}:{},...t.chromeless!==void 0?{chromeless:t.chromeless}:{}}}function Xyt(t,e){return{id:t.id,title:t.title,run:t.run??(()=>{}),pluginId:e,...t.keywords?{keywords:t.keywords}:t.panelId?{keywords:[t.panelId]}:{},...t.shortcut?{shortcut:t.shortcut}:{},...t.when?{when:t.when}:{}}}function Kyt(t,e){return{id:t.id??`${e}:${t.kind}`,config:{source:t.source??"plugin",pluginId:e,resolve(r){if(r.kind===t.kind)return t.resolve(r)??void 0}}}}function Qyt(t,e){var r;const{registrations:n}=t;for(const i of n.panels)e.panels.register(i.id,Yyt(i,t.id));for(const i of n.leftTabs)e.panels.register(i.id,Zyt(i,t.id));for(const i of n.panelCommands)e.commands.registerCommand(Xyt(i,t.id));for(const i of n.catalogs)e.catalogs.register(i,t.id);for(const i of n.surfaceResolvers){const{id:s,config:a}=Kyt(i,t.id);(r=e.surfaceResolvers)==null||r.register(s,a)}}function Jyt(t){if(!t.chatPanel)throw new LD("validation","bootstrap requires chatPanel");const e=new Set(t.excludeDefaults??[]),r=[...(t.defaults??[]).filter(s=>!e.has(s.pluginId)),...t.plugins??[]],n=new Set;for(const s of r){if(n.has(s.pluginId))throw new LD("duplicate-id",`plugin "${s.pluginId}" registered twice`);n.add(s.pluginId)}const i=r.map(Dpe);for(const s of i)Qyt(s,t.registries);return{registered:i.map(s=>s.id),plugins:i}}function ebt(){return!1}class Lpe{constructor(e={}){Nr(this,"catalogs",new Map),Nr(this,"listeners",new Set),Nr(this,"snapshotCache",null),Nr(this,"warnOnDuplicate"),Nr(this,"subscribe",r=>(this.listeners.add(r),()=>{this.listeners.delete(r)})),Nr(this,"getSnapshot",()=>(this.snapshotCache||(this.snapshotCache=Array.from(this.catalogs.values())),this.snapshotCache)),this.warnOnDuplicate=e.warnOnDuplicate??ebt()}register(e,r){this.catalogs.has(e.id)&&this.warnOnDuplicate&&console.warn(`[CatalogRegistry] catalog "${e.id}" registered by "${r}" overrides previous registration`),this.catalogs.set(e.id,{...e,pluginId:r}),this.emit()}unregister(e){this.catalogs.delete(e)&&this.emit()}unregisterByPluginId(e){let r=!1;for(const[n,i]of this.catalogs)i.pluginId===e&&(this.catalogs.delete(n),r=!0);r&&this.emit()}replaceByPluginId(e,r){const n=new Set;for(const[s,a]of this.catalogs)a.pluginId===e&&n.add(s);if(n.size===0&&r.length===0)return;let i=n.size>0;for(const s of n)this.catalogs.delete(s);for(const s of r){const a=this.catalogs.get(s.id);if(a&&a.pluginId!==e){console.warn(`[CatalogRegistry] plugin "${e}" tried to register catalog "${s.id}" already owned by "${a.pluginId??"system"}" — skipped`);continue}this.catalogs.set(s.id,{...s,pluginId:e}),i=!0}i&&this.emit()}list(){return this.getSnapshot()}get(e){return this.catalogs.get(e)}emit(){this.snapshotCache=null;for(const e of[...this.listeners])e()}}class Ipe{constructor(){Nr(this,"resolvers",new Map),Nr(this,"registrationOrder",[]),Nr(this,"listeners",new Set),Nr(this,"snapshotCache",null),Nr(this,"subscribe",e=>(this.listeners.add(e),()=>{this.listeners.delete(e)})),Nr(this,"getSnapshot",()=>(this.snapshotCache||(this.snapshotCache=this.list()),this.snapshotCache))}register(e,r){const n=this.resolvers.has(e);this.resolvers.set(e,{...r,id:e}),n||this.registrationOrder.push(e),this.emit()}unregister(e){this.resolvers.delete(e)&&(this.registrationOrder=this.registrationOrder.filter(r=>r!==e),this.emit())}replaceByPluginId(e,r){const n=new Set;for(const[s,a]of this.resolvers)a.pluginId===e&&n.add(s);if(n.size===0&&r.length===0)return;let i=n.size>0;for(const s of n)this.resolvers.delete(s);n.size>0&&(this.registrationOrder=this.registrationOrder.filter(s=>this.resolvers.has(s)));for(const s of r){const a=s.id;if(!a)continue;const o=this.resolvers.get(a);if(o&&o.pluginId!==e){console.warn(`[SurfaceResolverRegistry] plugin "${e}" tried to register resolver "${a}" already owned by "${o.pluginId??"system"}" — skipped`);continue}this.resolvers.set(a,{...s,id:a,pluginId:e}),this.registrationOrder.includes(a)||this.registrationOrder.push(a),i=!0}i&&this.emit()}get(e){return this.resolvers.get(e)}has(e){return this.resolvers.has(e)}list(){return this.registrationOrder.map(e=>this.resolvers.get(e))}resolve(e){let r,n=-1/0,i=!1,s=-1;return this.registrationOrder.forEach((a,o)=>{const l=this.resolvers.get(a);let c;try{c=l.resolve(e)}catch(m){console.warn(`[SurfaceResolverRegistry] resolver "${a}" failed:`,m instanceof Error?m.message:m);return}if(!c)return;const u=c.score??0,d=l.source==="app";(u>n||u===n&&d&&!i||u===n&&d===i&&o>=s)&&(r=c,n=u,i=d,s=o)}),r}emit(){this.snapshotCache=null;for(const e of[...this.listeners])e()}}const fx=k.createContext(null);function tbt({panelRegistry:t,commandRegistry:e,catalogRegistry:r,surfaceResolverRegistry:n,children:i}){const s=k.useRef(null),a=k.useRef(null);s.current||(s.current=new Lpe),a.current||(a.current=new Ipe);const o=r??s.current,l=n??a.current,c=k.useMemo(()=>({panelRegistry:t,commandRegistry:e,catalogRegistry:o,surfaceResolverRegistry:l}),[t,e,o,l]);return w.jsx(fx.Provider,{value:c,children:i})}function qg(){const t=k.useContext(fx);if(!t)throw new Error("useRegistry must be used within a RegistryProvider");return t.panelRegistry}function US(){const t=k.useContext(fx);if(!t)throw new Error("useCommandRegistry must be used within a RegistryProvider");return t.commandRegistry}function qS(){const t=k.useContext(fx);if(!t)throw new Error("useCatalogRegistry must be used within a RegistryProvider");return t.catalogRegistry}function Rpe(){const t=k.useContext(fx);if(!t)throw new Error("useSurfaceResolverRegistry must be used within a RegistryProvider");return t.surfaceResolverRegistry}function rbt(){const t=US();return k.useSyncExternalStore(t.subscribe,t.getSnapshot)}function nbt(){const t=qS();return k.useSyncExternalStore(t.subscribe,t.getSnapshot)}function ibt({pluginId:t,message:e,kind:r}){return w.jsx(jK,{tone:"error",icon:w.jsx(eke,{className:"size-4"}),className:"py-2",description:w.jsxs("span",{className:"block min-w-0 truncate",children:[w.jsxs("span",{className:"font-medium",children:["[",t,"]"]})," ",r," error: ",e]})})}const Npe=k.createContext(null);function sbt({children:t}){const[e,r]=k.useState([]),n=k.useCallback(s=>{r(a=>[...a,s])},[]),i=k.useMemo(()=>({errors:e,reportPluginError:n}),[e,n]);return w.jsx(Npe.Provider,{value:i,children:t})}let GS=class extends k.Component{constructor(){super(...arguments),Nr(this,"state",{error:null})}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,r){var n;const i={kind:"contribution",pluginId:this.props.pluginId,contributionKind:this.props.contributionKind,contributionId:this.props.contributionId,error:e,componentStack:r.componentStack?abt(r.componentStack,5):null};(n=this.context)==null||n.reportPluginError(i)}render(){return this.state.error?w.jsx(ibt,{pluginId:this.props.pluginId,message:this.state.error.message,kind:this.props.contributionKind}):this.props.children}};Nr(GS,"contextType",Npe);function abt(t,e){return t.split(`
|
|
1328
1328
|
`).filter(r=>r.trim()).slice(0,e).join(`
|
|
1329
|
-
`)}const obt=1024,lbt=500,cbt=/^[a-zA-Z0-9_-]+$/,ubt=64,B_=50,QG=16384,SN=jh().min(1).max(obt).refine(t=>!t.includes(".."),"path traversal not allowed").refine(t=>!t.includes("\0"),"null bytes not allowed"),hbt=Oo({path:SN,mode:jL(["view","edit","diff"]).optional()}),dbt=Oo({id:jh().max(ubt).regex(cbt,"invalid panel ID"),component:jh().min(1),params:zL(zQ()).optional().refine(t=>{if(!t)return!0;try{return new TextEncoder().encode(JSON.stringify(t)).byteLength<=QG}catch{return!1}},`params must be JSON-serializable and under ${QG} bytes`),title:jh().max(200).optional()}),fbt=Oo({id:jh().min(1)}),pbt=Oo({msg:jh().max(lbt),level:jL(["info","warn","error"]).optional()}),mbt=Oo({file:SN,line:Q0().int().positive()}),gbt=Oo({path:SN});function ybt(t){let e=0;const r=new Map;function n(){return++e}function i(){return{seq:n(),status:"ok"}}function s(l,c){return{seq:n(),status:"error",error:{code:l,message:c}}}function a(l,c){const u=r.get(l);if(u)for(const d of[...u])try{d(c)}catch(m){console.error(`[bridge] listener for "${String(l)}" threw:`,m)}}const o={getOpenPanels(){return t.getState().panels},getActiveFile(){return t.getState().activeFile},getDirtyFiles(){return Object.keys(t.getState().dirtyFiles)},getVisibleFiles(){return t.getState().visibleFiles},async openFile(l,c){const u=hbt.safeParse({path:l,mode:c==null?void 0:c.mode});if(!u.success)return s("VALIDATION",u.error.issues[0].message);const d=t.getState(),m=u.data.mode??"edit",p=`file:${l}`;if(d.panels.find(y=>y.id===p)){const y=d.activePanel;return d.activatePanel(p),d.visibleFiles.includes(l)||d.openFile(l,p),a("panel:activated",{panelId:p,previousPanelId:y}),i()}return d.panels.length>=B_?s("MAX_PANELS",`cannot exceed ${B_} open panels`):(d.openFile(l,p),d.openPanel({id:p,component:"editor",params:{path:l,mode:m}}),a("file:opened",{path:l,mode:m}),a("panel:opened",{panelId:p,params:{path:l,mode:m}}),i())},async openPanel(l){const c=dbt.safeParse(l);if(!c.success)return s("VALIDATION",c.error.issues[0].message);const u=t.getState();if(u.panels.find(d=>d.id===l.id)){const d=u.activePanel;return u.activatePanel(l.id),a("panel:activated",{panelId:l.id,previousPanelId:d}),i()}return u.panels.length>=B_?s("MAX_PANELS",`cannot exceed ${B_} open panels`):(u.openPanel({id:l.id,component:l.component,params:l.params}),a("panel:opened",{panelId:l.id,params:l.params??{}}),i())},async closePanel(l){const c=fbt.safeParse({id:l});if(!c.success)return s("VALIDATION",c.error.issues[0].message);const u=t.getState(),d=u.panels.find(m=>m.id===l);return d?d.essential?s("ESSENTIAL",`panel ${l} is essential and cannot be closed`):(u.closePanel(l),a("panel:closed",{panelId:l}),i()):s("NOT_FOUND",`panel ${l} not found`)},async closeWorkbenchLeftPane(){return t.getState().setSidebar({collapsed:!0}),a("sidebar:toggled",{collapsed:!0}),i()},async showNotification(l,c="info"){const u=pbt.safeParse({msg:l,level:c});if(!u.success)return s("VALIDATION",u.error.issues[0].message);const d=u.data.level??"info",m=d==="warn"?"warning":d;return t.getState().showNotification({message:u.data.msg,type:m}),a("notification:shown",{message:u.data.msg,level:d}),i()},async navigateToLine(l,c){const u=mbt.safeParse({file:l,line:c});if(!u.success)return s("VALIDATION",u.error.issues[0].message);const d=await o.openFile(l);return d.status==="error"?d:(t.getState().navigateToLine(l,u.data.line),i())},async expandToFile(l){const c=gbt.safeParse({path:l});if(!c.success)return s("VALIDATION",c.error.issues[0].message);const u=t.getState();return u.sidebar.collapsed&&(u.setSidebar({collapsed:!1}),a("sidebar:toggled",{collapsed:!1})),a("tree:expand",{path:c.data.path}),i()},markDirty(l){t.getState().markDirty(l,"bridge"),a("file:dirty",{path:l,dirty:!0})},markClean(l){t.getState().markClean(l),a("file:dirty",{path:l,dirty:!1})},subscribe(l,c){let u=r.get(l);u||(u=new Set,r.set(l,u));const d=c;return u.add(d),()=>u.delete(d)},select(l,c){let u=l(t.getState());return t.subscribe(d=>{const m=l(d);Object.is(m,u)||(u=m,c(m))})}};return o}const bbt=100,vbt=3e3;function JG(t){const e={"Content-Type":"application/json"};return t&&(e.Authorization=`Bearer ${t}`),e}function xbt(t,e){const r=t.getState();return{v:1,causedBy:e,openPanels:r.panels,activePanel:r.activePanel,activeFile:r.activeFile,visibleFiles:r.visibleFiles,dirtyFiles:Object.keys(r.dirtyFiles)}}async function eW(t,e,r){switch(e){case"openFile":await t.openFile(r.path,r.mode?{mode:r.mode}:void 0);break;case"openPanel":await t.openPanel({id:r.id,component:r.component,params:r.params,title:r.title});break;case"closePanel":await t.closePanel(r.id);break;case"closeWorkbenchLeftPane":await t.closeWorkbenchLeftPane();break;case"showNotification":await t.showNotification(r.msg,r.level);break;case"navigateToLine":await t.navigateToLine(r.file,r.line);break;case"expandToFile":await t.expandToFile(r.path);break;case"markDirty":t.markDirty(r.path);break;case"markClean":t.markClean(r.path);break}}function _bt(t){const{endpoint:e,bridge:r,store:n,authToken:i,pollMode:s=!1,pollInterval:a=vbt,onAuthError:o,onVersionMismatch:l,onConnectionChange:c}=t;let u=null,d=null,m=null,p=null,y=!1,b=!1,v=0;function x(N){b||y!==N&&(y=N,c==null||c(N))}async function C(N){if(b)return;const H=xbt(n,N);try{const B=await fetch(`${e}/api/v1/ui/state`,{method:"PUT",headers:JG(i),body:JSON.stringify(H)});if(b)return;(B.status===401||B.status===403)&&(o==null||o(B.status))}catch{}}function T(N){m!==null&&clearTimeout(m),m=setTimeout(()=>{m=null,C(N)},bbt)}function S(N,H){if(!b)switch(N){case"init":{x(!0),C("restore");break}case"command":{let B;try{B=JSON.parse(H)}catch{return}if(B.v!==1){l==null||l(B.v);return}v++,eW(r,B.kind,B.params).finally(()=>{v--});break}case"error":{let B;try{B=JSON.parse(H)}catch{return}if(B.v!==1){l==null||l(B.v);return}r.showNotification(B.message,"error");break}}}function L(){const N=`${e}/api/v1/ui/commands/next`,H=new EventSource(N,{withCredentials:!0});H.addEventListener("init",B=>{S("init",B.data)}),H.addEventListener("command",B=>{S("command",B.data)}),H.addEventListener("error",B=>{B.data?S("error",B.data):x(!1)}),H.addEventListener("heartbeat",B=>{S("heartbeat",B.data)}),u=H}async function D(){if(!b)try{const N=`${e}/api/v1/ui/commands/next?poll=true`,H=await fetch(N,{headers:JG(i)});if(b)return;if(H.status===401||H.status===403){o==null||o(H.status);return}if(!H.ok)return;const B=await H.json();if(!Array.isArray(B))return;for(const j of B){if(b)return;if(j.v!==1){l==null||l(j.v);continue}v++;try{await eW(r,j.kind,j.params)}finally{v--}}x(!0)}catch{x(!1)}}function I(){p=n.subscribe(()=>{if(b)return;const N=v>0?"agent":"user";T(N)})}return{connect(){b=!1,!s&&typeof EventSource<"u"?L():(D(),d=setInterval(D,a)),I()},disconnect(){u&&(u.close(),u=null),d!==null&&(clearInterval(d),d=null),m!==null&&(clearTimeout(m),m=null),p&&(p(),p=null),x(!1),b=!0},pushState(N){C(N)}}}const wbt=new Set(["openFile","openSurface","openPanel","navigateToLine","expandToFile","showNotification","closePanel","closeWorkbenchLeftPane"]);function Y0(t,e){const r=t[e];return typeof r=="string"&&r.length>0?r:null}function Ope(t,e){const r=t[e];if(r!==null&&typeof r=="object"&&!Array.isArray(r))return r}function Cbt(t){const e=Y0(t,"kind"),r=Y0(t,"target");return!e||!r?null:{kind:e,target:r,meta:Ope(t,"meta")}}const Tbt=60;function yh(t,e,r=Tbt){const n=t.surface();if(n){e(n);return}!t.isWorkbenchOpen()||r<=0||requestAnimationFrame(()=>yh(t,e,r-1))}function lv(t,e){if(wbt.has(t.kind))switch(t.kind){case"openFile":{const r=Y0(t.params,"path");if(!r)return;const n=!e.isWorkbenchOpen();n&&e.openWorkbench();const i=s=>{try{s.openFile(r)}catch(a){console.warn("[uiCommandDispatcher] openFile dispatch failed:",a instanceof Error?a.message:a)}};n?requestAnimationFrame(()=>requestAnimationFrame(()=>yh(e,i))):yh(e,i);return}case"openSurface":{const r=Cbt(t.params);if(!r)return;const n=!e.isWorkbenchOpen();n&&(r.meta={...r.meta??{},closeWorkbenchOnDone:!0},e.openWorkbench());const i=s=>{try{s.openSurface(r)}catch(a){console.warn("[uiCommandDispatcher] openSurface dispatch failed:",a instanceof Error?a.message:a)}};n?requestAnimationFrame(()=>requestAnimationFrame(()=>yh(e,i))):yh(e,i);return}case"openPanel":{const r=Y0(t.params,"id"),n=Y0(t.params,"component");if(!r||!n)return;const i={id:r,component:n,title:Y0(t.params,"title")??void 0,params:Ope(t.params,"params")},s=!e.isWorkbenchOpen();s&&e.openWorkbench();const a=o=>{try{o.openPanel(i)}catch(l){console.warn("[uiCommandDispatcher] openPanel dispatch failed:",l instanceof Error?l.message:l)}};s?requestAnimationFrame(()=>requestAnimationFrame(()=>yh(e,a))):yh(e,a);return}case"closeWorkbenchLeftPane":{yh(e,r=>r.closeWorkbenchLeftPane());return}}}function kbt(){const t=new Map;function e(i,s){let a=t.get(i);return a||(a=new Set,t.set(i,a)),a.add(s),()=>a.delete(s)}function r(i,s){const a=t.get(i);if(a)for(const o of[...a])try{o(s)}catch(l){console.error(`[events] listener for "${String(i)}" threw:`,l)}}function n(){t.clear()}return{on:e,emit:r,_reset:n}}const Sbt="workspace:ui.command",Ebt="workspace:editor.save.start",Abt="workspace:editor.save.end",Dbt="workspace:panel.update",Lbt="workspace:panel.close",Ibt="workspace:agent.data",Ka={uiCommand:Sbt,editorSaveStart:Ebt,editorSaveEnd:Abt,panelUpdate:Dbt,panelClose:Lbt,agentData:Ibt};function Gg(){return{cause:"user",ts:Date.now()}}function Rbt(t){return{cause:"agent",toolCallId:t,ts:Date.now()}}function py(t){return{cause:"remote",toolCallId:t,ts:Date.now()}}function ID(t,e){const r=k.useRef(e);r.current=e,k.useEffect(()=>zr.on(t,n=>r.current(n)),[t])}function Nbt(t){zr.emit(Ka.agentData,{ts:Date.now(),part:t})}const zr=kbt(),RD="boring-workspace:ui-command";function Mpe(t){zr.emit(Ka.uiCommand,{...Gg(),command:t}),typeof globalThis.dispatchEvent=="function"&&typeof CustomEvent<"u"&&globalThis.dispatchEvent(new CustomEvent(RD,{detail:t}))}const Obt=1500,Mbt=1e3,Pbt=5;function tW(t,e){if(!e)return t;const r=new URLSearchParams;for(const[i,s]of Object.entries(e))s!=null&&r.set(i,String(s));const n=r.toString();return n?`${t}${t.includes("?")?"&":"?"}${n}`:t}function Bbt(t){const e=t.endpoint??"",r=t.ctx,n=t.query,i=t.eventSourceCtor===null?null:t.eventSourceCtor??(typeof EventSource<"u"?EventSource:null),s=t.fetcher??(typeof fetch<"u"?fetch:null),a=t.reconnectDelayMs??Mbt,o=t.maxReconnects??Pbt,l=t.pollIntervalMs??Obt;let c=!1,u=null,d=null,m=null,p=null,y=0,b=!1;function v(T){T&&typeof T=="object"&&typeof T.kind=="string"&&lv(T,r)}function x(){if(c||b||!s)return;b=!0;const T=async()=>{if(!c){m=new AbortController;try{const S=await s(tW(`${e}/api/v1/ui/commands/next?poll=true`,n),{signal:m.signal});if(c)return;if(S.ok){const L=await S.json();if(Array.isArray(L))for(const D of L)v(D)}}catch{}finally{m=null}c||(d=setTimeout(T,l))}};T()}function C(){if(!c){if(!i){x();return}u=new i(tW(`${e}/api/v1/ui/commands/next`,n)),u.addEventListener("command",T=>{const S=T.data;if(!(typeof S!="string"||S.length===0))try{v(JSON.parse(S))}catch{}}),u.addEventListener("init",()=>{y=0}),u.addEventListener("error",()=>{if(!c){if(u==null||u.close(),u=null,y+=1,y>o){x();return}p=setTimeout(C,a*y)}})}}return C(),()=>{c=!0,u&&(u.close(),u=null),d&&(clearTimeout(d),d=null),m&&(m.abort(),m=null),p&&(clearTimeout(p),p=null)}}const Fbt=1e4,$bt=3,zbt=1e3;function rW(t){return t>=500}function jbt(t){return new Promise(e=>setTimeout(e,t))}class Hbt{constructor(e){Nr(this,"baseUrl"),Nr(this,"headers"),Nr(this,"onAuthError"),Nr(this,"onTimeout"),Nr(this,"timeout"),Nr(this,"maxRetries"),Nr(this,"retryBaseMs"),this.baseUrl=e.apiBaseUrl.replace(/\/$/,"");const r={...e.authHeaders};for(const n of Object.keys(r))n.toLowerCase()==="content-type"&&delete r[n];this.headers=r,this.onAuthError=e.onAuthError,this.onTimeout=e.onTimeout,this.timeout=e.timeout??Fbt,this.maxRetries=e.maxRetries??$bt,this.retryBaseMs=e.retryBaseMs??zbt}async request(e,r,n,i,s){var a,o;const l=i??this.timeout;let c=null;for(let u=0;u<=this.maxRetries;u++){u>0&&await jbt(this.retryBaseMs*2**(u-1));const d=new AbortController,m=()=>d.abort();s==null||s.addEventListener("abort",m,{once:!0});const p=setTimeout(()=>d.abort(),l);try{const y=n!=null,b=await fetch(`${this.baseUrl}${r}`,{method:e,headers:y?{...this.headers,"Content-Type":"application/json"}:this.headers,body:y?JSON.stringify(n):void 0,signal:d.signal});if(clearTimeout(p),s==null||s.removeEventListener("abort",m),b.status===401||b.status===403)throw(a=this.onAuthError)==null||a.call(this,b.status),new bh(b.status,`Auth error: ${b.status}`);if(rW(b.status)){c=new bh(b.status,`HTTP ${b.status}: ${b.statusText}`);continue}if(!b.ok){const v=await Vbt(b);throw new bh(b.status,`HTTP ${b.status}: ${b.statusText}`,v)}return await b.json()}catch(y){if(clearTimeout(p),s==null||s.removeEventListener("abort",m),y instanceof bh&&!rW(y.status))throw y;if(y instanceof DOMException&&y.name==="AbortError"){if(s!=null&&s.aborted)throw y;(o=this.onTimeout)==null||o.call(this,r),c=new bh(0,`Request timeout after ${l}ms: ${r}`);continue}if(y instanceof TypeError){c=y;continue}throw y}}throw c??new bh(0,"Request failed after retries")}async getTree(e,r){return(await this.request("GET",`/api/v1/tree?path=${encodeURIComponent(e)}`,void 0,void 0,r)).entries}async getFile(e,r){return this.request("GET",`/api/v1/files?path=${encodeURIComponent(e)}`,void 0,void 0,r)}async writeFile(e,r,n){try{return{mtimeMs:(await this.request("POST","/api/v1/files",(n==null?void 0:n.expectedMtimeMs)!=null?{path:e,content:r,expectedMtimeMs:n.expectedMtimeMs}:{path:e,content:r})).mtimeMs}}catch(i){throw i instanceof bh&&i.status===409?cv.from(i,e):i}}async deleteFile(e){await this.request("DELETE",`/api/v1/files?path=${encodeURIComponent(e)}`)}async stat(e,r){return this.request("GET",`/api/v1/stat?path=${encodeURIComponent(e)}`,void 0,void 0,r)}async search(e,r,n){const i=new URLSearchParams({q:e});return r!=null&&i.set("limit",String(r)),(await this.request("GET",`/api/v1/files/search?${i}`,void 0,void 0,n)).results}async createDir(e){await this.request("POST","/api/v1/dirs",{path:e})}async moveFile(e,r){await this.request("POST","/api/v1/files/move",{from:e,to:r})}}let bh=class extends Error{constructor(e,r,n){super(r),this.status=e,this.body=n,this.name="FetchError"}};class cv extends Error{constructor(e,r,n){super(`File modified on server: ${e}`),this.path=e,this.currentMtimeMs=r,this.expectedMtimeMs=n,this.name="FileConflictError"}static from(e,r){var n,i;const s=e.body&&typeof e.body=="object"?e.body:null;return new cv(r,typeof((n=s==null?void 0:s.error)==null?void 0:n.currentMtimeMs)=="number"?s.error.currentMtimeMs:null,typeof((i=s==null?void 0:s.error)==null?void 0:i.expectedMtimeMs)=="number"?s.error.expectedMtimeMs:null)}}async function Vbt(t){try{const e=await t.text();return e?JSON.parse(e):null}catch{return null}}const Ubt="filesystem:file.changed",qbt="filesystem:file.created",Gbt="filesystem:file.moved",Wbt="filesystem:file.deleted",Wn={changed:Ubt,created:qbt,moved:Gbt,deleted:Wbt},Ew="filesystem",ND="files",Aw=ND,EN="files",Ybt="filesystem-path",Ppe="code-editor",Bpe="csv-viewer",Fpe="markdown-editor",$pe="image-viewer",zpe="pdf-viewer",jpe="html-viewer",Hpe="empty-file-panel";function Zbt(){const t=PS(),e=Dp(),r=Lp();k.useEffect(()=>{const n=zr.on(Wn.changed,o=>{my(t,e,r,o.path)}),i=zr.on(Wn.created,o=>{N6(t,e,r),o.kind==="file"&&my(t,e,r,o.path)}),s=zr.on(Wn.moved,o=>{N6(t,e,r),my(t,e,r,o.from),my(t,e,r,o.to),nW(t,e,r)}),a=zr.on(Wn.deleted,o=>{N6(t,e,r),my(t,e,r,o.path),nW(t,e,r)});return()=>{n(),i(),s(),a()}},[t,e,r])}function my(t,e,r,n){t.invalidateQueries({queryKey:[e,r,EN,n]}),t.invalidateQueries({queryKey:[e,r,"stat",n]})}function N6(t,e,r){t.invalidateQueries({queryKey:[e,r,"tree"]})}function nW(t,e,r){t.invalidateQueries({queryKey:[e,r,"search"]})}function Xbt(){const t=Dp(),e=Lp(),r=PS();k.useEffect(()=>{if(typeof window>"u"||typeof EventSource>"u")return;const n=evt(Jbt(t,"/api/v1/fs/events"),e);let i,s=!1;const a=new Set,o=[],l=256;try{i=new EventSource(n,{withCredentials:!0})}catch{return}const c=p=>{if(a.has(p))return!1;if(a.add(p),o.push(p),o.length>l){const y=o.shift();y!==void 0&&a.delete(y)}return!0},u=p=>{let y;try{y=JSON.parse(p.data)}catch{return}typeof(y==null?void 0:y.eventId)!="string"||typeof y.change!="object"||y.change==null||c(y.eventId)&&Kbt(y.change)},d=()=>{s=!0,i==null||i.close()},m=()=>{a.clear(),o.length=0,r.invalidateQueries({predicate:p=>Qbt(p.queryKey)})};return i.addEventListener("change",u),i.addEventListener("unsupported",d),i.addEventListener("resync-required",m),()=>{i&&(i.removeEventListener("change",u),i.removeEventListener("unsupported",d),i.removeEventListener("resync-required",m),s||i.close(),i=null)}},[t,e,r])}function Kbt(t){switch(t.op){case"write":zr.emit(Wn.changed,{...py(),path:t.path});return;case"mkdir":zr.emit(Wn.created,{...py(),path:t.path,kind:"dir"});return;case"unlink":zr.emit(Wn.deleted,{...py(),path:t.path});return;case"rename":t.oldPath?zr.emit(Wn.moved,{...py(),from:t.oldPath,to:t.path}):zr.emit(Wn.created,{...py(),path:t.path,kind:"file"});return}}function Qbt(t){for(const e of t)if(e===EN||e==="tree"||e==="stat"||e==="search")return!0;return!1}function Jbt(t,e){return t?t.endsWith("/")&&e.startsWith("/")?t+e.slice(1):!t.endsWith("/")&&!e.startsWith("/")?`${t}/${e}`:t+e:e}function evt(t,e){if(!e)return t;const r=t.includes("?")?"&":"?";return`${t}${r}workspaceId=${encodeURIComponent(e)}`}const Vpe=k.createContext(null),Upe=k.createContext(""),qpe=k.createContext(null);function Eu(){const t=k.useContext(Vpe);if(!t)throw new Error("useDataClient must be used within a DataProvider");return t}function Dp(){return k.useContext(Upe)}function Lp(){return k.useContext(qpe)}function tvt({apiBaseUrl:t,authHeaders:e,onAuthError:r,timeout:n,client:i,children:s}){const a=k.useRef(null);a.current||(a.current=new ygt({defaultOptions:{queries:{retry:3,retryDelay:c=>Math.min(1e3*2**c,3e4)}}}));const o=k.useMemo(()=>i??new Hbt({apiBaseUrl:t,authHeaders:e,onAuthError:r,timeout:n}),[i,t,e,r,n]),l=(e==null?void 0:e["x-boring-workspace-id"])??(e==null?void 0:e["X-Boring-Workspace-Id"])??null;return w.jsx(bgt,{client:a.current,children:w.jsx(Upe.Provider,{value:t,children:w.jsx(qpe.Provider,{value:l,children:w.jsxs(Vpe.Provider,{value:o,children:[w.jsx(rvt,{}),s]})})})})}function rvt(){return Zbt(),Xbt(),null}const nvt=new Map;function ivt(t){return(t??"").replace(/\/$/,"")}function svt(t){return t&&t.length>0?t:"."}function avt(t,e,r){return`${ivt(t)}\0${e??""}\0${svt(r)}`}function ovt(t,e,r){return nvt.get(avt(t,e,r))}function AN(t,e){return e instanceof bh&&e.status===404?!1:t<3}function lvt(t){const e=Eu(),r=Dp(),n=Lp();return gN({queryKey:[r,n,EN,t],queryFn:({signal:i})=>e.getFile(t,i),enabled:t!=null,staleTime:0,retry:AN})}function Gpe(t){const e=Eu(),r=Dp(),n=Lp();return gN({queryKey:[r,n,"tree",t],queryFn:async({signal:i})=>await e.getTree(t,i)??[],enabled:t!=null,staleTime:3e3,initialData:()=>ovt(r,n,t),retry:AN})}function cvt(t,e){const r=Eu(),n=Dp(),i=Lp(),[s,a]=k.useState(t),o=k.useRef(void 0);return k.useEffect(()=>(clearTimeout(o.current),o.current=setTimeout(()=>a(t),300),()=>clearTimeout(o.current)),[t]),gN({queryKey:[n,i,"search",s,e],queryFn:({signal:l})=>r.search(s,e,l),enabled:s.length>0,retry:AN})}function Wpe(){const t=Eu();return BS({mutationFn:({path:e,content:r,expectedMtimeMs:n})=>t.writeFile(e,r,n!=null?{expectedMtimeMs:n}:void 0),onSuccess:(e,{path:r})=>{zr.emit(Wn.changed,{...Gg(),path:r})}})}function uvt(){const t=Eu();return BS({mutationFn:({path:e})=>t.createDir(e),onSuccess:(e,{path:r})=>{zr.emit(Wn.created,{...Gg(),path:r,kind:"dir"})}})}function hvt(){const t=Eu();return BS({mutationFn:({from:e,to:r})=>t.moveFile(e,r),onSuccess:(e,{from:r,to:n})=>{zr.emit(Wn.moved,{...Gg(),from:r,to:n})}})}function dvt(){const t=Eu();return BS({mutationFn:({path:e})=>t.deleteFile(e),onSuccess:(e,{path:r})=>{zr.emit(Wn.deleted,{...Gg(),path:r})}})}class fvt{constructor(e={}){Nr(this,"panels",new Map),Nr(this,"registrationOrder",[]),Nr(this,"capabilities"),Nr(this,"listeners",new Set),Nr(this,"snapshotCache",null),Nr(this,"lazyComponentCache",new Map),Nr(this,"wrapperComponentCache",new Map),Nr(this,"generation",0),Nr(this,"subscribe",r=>(this.listeners.add(r),()=>{this.listeners.delete(r)})),Nr(this,"getSnapshot",()=>(this.snapshotCache||(this.snapshotCache=this.filteredPanels()),this.snapshotCache)),this.capabilities=new Set(Object.entries(e).filter(([,r])=>r).map(([r])=>r))}register(e,r){const n=this.panels.has(e);this.panels.set(e,{...r,id:e}),n||this.registrationOrder.push(e),this.emit()}unregister(e){this.panels.delete(e)&&(this.lazyComponentCache.delete(e),this.wrapperComponentCache.delete(e),this.registrationOrder=this.registrationOrder.filter(r=>r!==e),this.emit())}replaceByPluginId(e,r){const n=new Set;for(const[s,a]of this.panels)a.pluginId===e&&n.add(s);if(n.size===0&&r.length===0)return;let i=n.size>0;for(const s of n)this.panels.delete(s),this.lazyComponentCache.delete(s),this.wrapperComponentCache.delete(s);n.size>0&&(this.registrationOrder=this.registrationOrder.filter(s=>this.panels.has(s)));for(const s of r){const a=s.id;if(!a)continue;const o=this.panels.get(a);if(o&&o.pluginId!==e){console.warn(`[PanelRegistry] plugin "${e}" tried to register panel "${a}" already owned by "${o.pluginId??"system"}" — skipped`);continue}this.panels.set(a,{...s,id:a,pluginId:e}),this.registrationOrder.includes(a)||this.registrationOrder.push(a),i=!0}i&&(this.generation+=1,this.emit())}get(e){return this.panels.get(e)}has(e){return this.panels.has(e)}list(){return this.filteredPanels()}listAll(){return this.registrationOrder.map(e=>this.panels.get(e))}getComponents(){const e={};for(const r of this.filteredPanels())e[r.id]=this.getWrappedComponent(r.id);return e}getWrappedComponent(e){const r=this.wrapperComponentCache.get(e);if(r)return r;const n=this,i=function(s){k.useSyncExternalStore(n.subscribe,n.getSnapshot,n.getSnapshot);const a=n.get(e),o=n.generation,l=k.useMemo(()=>!a||!n.satisfiesCapabilities(a)?()=>null:a.lazy?n.getLazyComponent(e,a.component):a.component,[a==null?void 0:a.component,a==null?void 0:a.lazy,a==null?void 0:a.requiresCapabilities,o]),c=(a==null?void 0:a.pluginId)??(a==null?void 0:a.id)??e;return k.createElement(GS,{pluginId:c,contributionKind:"panel",contributionId:e,children:k.createElement(k.Suspense,{fallback:k.createElement("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground"},"Loading…"),children:k.createElement(l,s)})})};return this.wrapperComponentCache.set(e,i),i}getLazyComponent(e,r){const n=this.lazyComponentCache.get(e);if((n==null?void 0:n.importer)===r)return n.component;const i=k.lazy(r);return this.lazyComponentCache.set(e,{importer:r,component:i}),i}emit(){this.snapshotCache=null;for(const e of[...this.listeners])e()}filteredPanels(){return this.registrationOrder.map(e=>this.panels.get(e)).filter(e=>this.satisfiesCapabilities(e))}satisfiesCapabilities(e){var r;return(r=e.requiresCapabilities)!=null&&r.length?e.requiresCapabilities.every(n=>this.capabilities.has(n)):!0}}const iW={ts:_i,tsx:_i,js:_i,jsx:_i,mjs:_i,cjs:_i,py:_i,rb:_i,go:_i,rs:_i,java:_i,c:_i,cpp:_i,h:_i,cs:_i,swift:_i,kt:_i,sh:_i,bash:_i,zsh:_i,json:bF,jsonl:bF,md:Hs,mdx:Hs,txt:Hs,csv:Hs,tsv:Hs,yaml:Hs,yml:Hs,toml:Hs,ini:Hs,cfg:Hs,conf:Hs,env:Hs,png:Hc,jpg:Hc,jpeg:Hc,gif:Hc,svg:Hc,webp:Hc,ico:Hc,bmp:Hc};function pvt(t){var e;const r=(e=t.split(".").pop())==null?void 0:e.toLowerCase();return r&&r in iW?iW[r]:uk}const NT="workspace.open.path";function Ype(t,e){const r=[],n=[];for(const i of t)if(i.kind==="dir"){const s=e.get(i.path);r.push({...i,children:s?Ype(s,e):[]})}else n.push({...i});return r.sort((i,s)=>i.name.localeCompare(s.name)),n.sort((i,s)=>i.name.localeCompare(s.name)),[...r,...n]}function nf(t){const e=t.lastIndexOf("/");return e>0?t.slice(0,e):"."}function O6(t){return t&&t!==""?t:"."}function M6(t,e){if(!(e!=null&&e.length))return t;const r=new Map;for(const n of t??[])r.set(n.path,n);for(const n of e)r.set(n.path,n);return Array.from(r.values())}function Zpe(t,e,r){if(!e||e.kind==="rename")return t;const n={name:"",path:e.path,kind:e.kind==="create-folder"?"dir":"file",isDraft:!0},i=e.parentDir;return i===r||i==="."||i===""?[n,...t]:t.map(s=>{var a;return s.kind!=="dir"?s:s.path===i?{...s,children:[n,...s.children??[]]}:(a=s.children)!=null&&a.length?{...s,children:Zpe(s.children,e,r)}:s})}let OD=null;function mvt(t){OD=t}function Xpe(){if(!OD)throw new Error("Workspace store not initialized. Wrap your app in WorkspaceProvider.");return OD}function gvt(){return uN(Xpe(),t=>t.preferences.theme)}function yvt(){return uN(Xpe(),t=>t.hydrationComplete)}function bvt(t){const{api:e}=t,[r,n]=k.useState(e.title??e.id);k.useEffect(()=>{var u;const d=()=>n(e.title??e.id);d();const m=(u=e.onDidTitleChange)==null?void 0:u.call(e,d);return()=>{var p;return(p=m==null?void 0:m.dispose)==null?void 0:p.call(m)}},[e]);const i=r.endsWith(" ●"),s=i?r.slice(0,-2):r,a=pvt(s),[o,l]=k.useState(!1);ID(Ka.editorSaveStart,u=>{u.panelId===e.id&&l(!0)}),ID(Ka.editorSaveEnd,u=>{u.panelId===e.id&&l(!1)});const c=u=>{u.stopPropagation(),e.close()};return w.jsxs("div",{className:kn("group relative flex h-full w-full min-w-0 items-center gap-1.5 pl-2.5 pr-7 select-none","text-[12.5px] leading-none tracking-tight","cursor-pointer transition-colors"),title:i?`${s} (unsaved changes)`:s,children:[o?w.jsx(ZK,{"data-testid":"tab-saving-spinner","aria-label":"Saving",className:"h-3.5 w-3.5 shrink-0 animate-spin text-[color:var(--accent)]",strokeWidth:2}):w.jsx(a,{className:kn("h-3.5 w-3.5 shrink-0 text-muted-foreground/70","[.dv-active-tab_&]:text-[color:var(--accent)] [.active-tab_&]:text-[color:var(--accent)]"),strokeWidth:1.5}),w.jsx("span",{className:"min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap",children:s}),i?w.jsx("span",{"aria-hidden":"true",className:kn("mr-1 h-1.5 w-1.5 shrink-0 rounded-full bg-foreground/35","[.dv-active-tab_&]:bg-foreground/45 [.active-tab_&]:bg-foreground/45")}):null,w.jsx(si,{type:"button",variant:"ghost",size:"icon-xs",className:kn("absolute right-1 top-1/2 h-5 w-5 -translate-y-1/2 text-muted-foreground opacity-0","focus-visible:opacity-100 group-hover:opacity-100","[.dv-active-tab_&]:opacity-50 [.active-tab_&]:opacity-50","[.dv-active-tab_&]:hover:opacity-100 [.active-tab_&]:hover:opacity-100"),onClick:c,"aria-label":`Close ${s}`,children:w.jsx(Iv,{className:"h-3 w-3",strokeWidth:2.25})})]})}const vvt=300,xvt=k.createContext(null);function _vt(t,e){var r;return"id"in e?t.id===e.id:((r=t.params)==null?void 0:r[e.param])===e.value}function sW(t,e){const r=Array.isArray(e)?e:[e],n=new Set,i=[];for(const s of t.panels)r.some(a=>_vt(s,a))&&(n.has(s.id)||(n.add(s.id),i.push(s)));return i}function wvt(t){switch(t){case"left":return"left";case"right":return"right";case"bottom":return"below";case"center":default:return"within"}}function Cvt(t){function e(){if(!t.current)throw new Error("DockviewShell not initialized");return t.current}return{addPanel(r,n){const i=e(),s=i.groups.find(a=>a.id===r);i.addPanel({id:n.id,component:n.component,title:n.title,params:n.params,position:s?{referenceGroup:s}:void 0})},removePanel(r){const n=e(),i=n.getPanel(r);i&&n.removePanel(i)},activatePanel(r){const n=e().getPanel(r);n&&n.api.setActive()},movePanel(r,n){const i=e(),s=i.getPanel(r);if(!s)return;const a=s.view.contentComponent,o=s.params,l=s.title;i.removePanel(s);const c={id:r,component:a,params:o,title:l};if("groupId"in n){const u=i.groups.find(d=>d.id===n.groupId);i.addPanel({...c,position:u?{referenceGroup:u}:void 0})}else{const u=i.getPanel(n.referencePanelId);i.addPanel({...c,position:u?{referencePanel:u,direction:n.direction}:void 0})}},updatePanelParams(r,n){const i=e().getPanel(r);i&&i.api.updateParameters({...i.params??{},...n})},setPanelTitle(r,n){const i=e().getPanel(r);i&&i.api.setTitle(n)},findPanelsByParam(r,n){return e().panels.filter(i=>{var s;return((s=i.params)==null?void 0:s[r])===n}).map(i=>i.id)},getActivePanel(){var r;return((r=e().activePanel)==null?void 0:r.id)??null},toJSON(){return e().toJSON()}}}function Tvt(t){if(!t.constraints)return null;let e=t.constraints.maxWidth;const r=t.constraints.maxWidthViewportRatio;if(typeof r=="number"&&r>0&&typeof window<"u"){const n=Math.floor(window.innerWidth*r);e=typeof e=="number"?Math.min(e,n):n}return{minimumWidth:t.constraints.minWidth,maximumWidth:e,minimumHeight:t.constraints.minHeight,maximumHeight:t.constraints.maxHeight}}function aW(t,e){const r=t.getPanel(e.panel??e.id);if(!(r!=null&&r.group))return;const n=Tvt(e);n&&r.group.api.setConstraints(n)}function kvt(t,e,r,n,i,s){const a=t.api;if(s.current=a,r)a.fromJSON(r);else{let u=!1;for(const d of e.groups)if(d.panel){if(!n.has(d.panel)){console.error(`[DockviewShell] Panel "${d.panel}" not found in registry. Available: ${n.list().map(m=>m.id).join(", ")}`);continue}a.addPanel({id:d.panel,component:d.panel,params:d.params,position:u?{direction:wvt(d.position)}:void 0}),u=!0}}for(const u of e.groups){const d=a.getPanel(u.panel??u.id);d!=null&&d.group&&(u.locked&&(d.group.locked="no-drop-target"),u.hideHeader&&(d.group.header.hidden=!0),aW(a,u))}const o=e.groups.filter(u=>{var d;return typeof((d=u.constraints)==null?void 0:d.maxWidthViewportRatio)=="number"});let l;if(o.length>0){const u=()=>{for(const d of o)aW(a,d)};window.addEventListener("resize",u),l=()=>window.removeEventListener("resize",u)}let c;if(i){let u=null;const d=()=>{u&&clearTimeout(u),u=setTimeout(()=>{i(a.toJSON())},vvt)},m=a.onDidLayoutChange(d),p=()=>{u&&(clearTimeout(u),i(a.toJSON()))};window.addEventListener("beforeunload",p),c=()=>{p(),m.dispose(),window.removeEventListener("beforeunload",p),l==null||l()}}else c=()=>{l==null||l()};return c}function Svt({layout:t,persistedLayout:e,onReady:r,onLayoutChange:n,allowedPanels:i,className:s,prefixHeaderActions:a,rightHeaderActions:o,watermarkComponent:l}){const c=qg(),u=k.useSyncExternalStore(c.subscribe,c.getSnapshot,c.getSnapshot),d=yvt(),m=k.useRef(null),p=k.useRef(null),y=k.useRef(void 0),b=k.useRef(null),v=k.useMemo(()=>{const S=c.getComponents(),L=i?Object.fromEntries(Object.entries(S).filter(([I])=>i.includes(I))):S,D=b.current;if(D){const I=Object.keys(D),N=Object.keys(L);if(I.length===N.length&&N.every(H=>D[H]===L[H]))return D}return b.current=L,L},[c,u,i]),x=k.useMemo(()=>Cvt(m),[]),C=k.useCallback(S=>{var L;(L=y.current)==null||L.call(y),y.current=kvt(S,t,e,c,n,m),r==null||r(S.api)},[t,e,c,n,r]);k.useEffect(()=>()=>{var S;return(S=y.current)==null?void 0:S.call(y)},[]),k.useEffect(()=>{const S=zr.on(Ka.panelUpdate,({match:D,params:I,title:N})=>{const H=m.current;if(H)for(const B of sW(H,D))I&&B.api.updateParameters({...B.params??{},...I}),N&&B.api.setTitle(N)}),L=zr.on(Ka.panelClose,({match:D})=>{const I=m.current;if(I)for(const N of sW(I,D))I.removePanel(N)});return()=>{S(),L()}},[]);const T=k.useCallback(S=>{if(!d){p.current=S;return}C(S)},[d,C]);return k.useEffect(()=>{d&&p.current&&(C(p.current),p.current=null)},[d,C]),d?w.jsx(xvt.Provider,{value:x,children:w.jsx(Epe,{className:`dv-shell ${s??""}`,components:v,defaultTabComponent:bvt,prefixHeaderActionsComponent:a,rightHeaderActionsComponent:o,watermarkComponent:l,onReady:T})}):w.jsx(Evt,{})}function Evt(){return w.jsx(VK,{centered:!0,className:"bg-background",label:"Loading workspace..."})}function Avt(t){return{get panelId(){return t.id},get title(){return t.title??t.id},setTitle(e){t.setTitle(e)},close(){t.close()},focus(){t.setActive()},get isActive(){return t.isActive}}}function Dvt({title:t,icon:e,essential:r,children:n,className:i,panelApi:s}){return k.useMemo(()=>s?Avt(s):null,[s]),w.jsxs("div",{className:kn("flex h-full flex-col overflow-hidden",i),children:[w.jsxs("div",{className:"flex h-9 shrink-0 items-center gap-2 border-b border-border bg-muted/50 px-3",children:[e&&w.jsx(e,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),w.jsx("span",{className:"truncate text-sm font-medium",children:t}),w.jsx("div",{className:"flex-1"}),!r&&s&&w.jsx(si,{type:"button",variant:"ghost",size:"icon-xs",className:"h-5 w-5 text-muted-foreground",onClick:()=>s.close(),"aria-label":`Close ${t}`,children:w.jsx("svg",{className:"h-3 w-3",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:w.jsx("path",{d:"M18 6 6 18M6 6l12 12"})})})]}),w.jsx("div",{className:"flex-1 overflow-auto",children:n})]})}const Lvt=["node_modules",".git",".boring-agent","dist","test-results",/^\.tsbuildinfo/,".vite",".turbo",".next",".cache"];function MD(t,e){for(const r of e)if(typeof r=="string"?r===t:r.test(t))return!0;return!1}function Ivt(t,e){return e.length===0?t:t==null?void 0:t.filter(r=>!MD(r.name,e))}function Kpe(t){const e=t.trim();if(!e)return e;const r=/[*?\[\]{}]/.test(e)?e:`*${e}*`;return Rvt(r)}function Rvt(t){let e="",r=!1,n=!1;for(const i of t){if(n){e+=i,n=!1;continue}if(i==="\\"){e+=i,n=!0;continue}if(i==="["&&!r){r=!0,e+=i;continue}if(i==="]"&&r){r=!1,e+=i;continue}if(!r&&/[a-z]/i.test(i)){const s=i.toLowerCase(),a=i.toUpperCase();e+=s===a?i:`[${a}${s}]`;continue}e+=i}return e}async function Nvt(t){var e,r;if(typeof navigator<"u"&&(e=navigator.clipboard)!=null&&e.writeText)try{await navigator.clipboard.writeText(t);return}catch{}if(typeof document>"u")throw new Error("Clipboard not available");const n=document.createElement("textarea");n.value=t,n.setAttribute("readonly",""),n.style.position="fixed",n.style.top="-9999px",n.style.left="-9999px",n.style.opacity="0",document.body.appendChild(n);let i=!1;try{n.focus(),n.select(),i=!!((r=document.execCommand)!=null&&r.call(document,"copy"))}finally{document.body.removeChild(n)}if(!i)throw new Error("Clipboard not available")}const Qpe=()=>M(()=>import("./FileTree-DHVB9rpk-FMcsf2w-.js"),__vite__mapDeps([252,253])).then(t=>({default:t.FileTree}));function Ovt(){Qpe()}const Mvt=k.lazy(Qpe);function oW({rootDir:t=".",searchQuery:e,bridge:r,ignoreNames:n=Lvt,className:i}){var s;const a=Eu(),{data:o,error:l,isLoading:c}=Gpe(t),[u,d]=k.useState(new Map),m=O6(t),p=k.useMemo(()=>M6(o,u.get(m)),[o,u,m]),y=k.useMemo(()=>Ivt(p,n),[p,n]),{mutateAsync:b}=Wpe(),{mutateAsync:v}=uvt(),{mutateAsync:x}=hvt(),{mutateAsync:C}=dvt(),[T,S]=k.useState(new Map),L=k.useMemo(()=>{if(u.size===0)return T;const Te=new Map(T);for(const[Ne,Ze]of u){if(Ne===m)continue;const ct=M6(Te.get(Ne),Ze);ct&&Te.set(Ne,ct)}return Te},[T,u,m]),D=k.useRef(null),[I,N]=k.useState(400),[H,B]=k.useState(null),[j,Z]=k.useState(null),te=k.useRef(null),[U,V]=k.useState(((s=r==null?void 0:r.getActiveFile)==null?void 0:s.call(r))??null),[F,X]=k.useState(null),[Q,ae]=k.useState(null),q=k.useRef(0),J=((e==null?void 0:e.trim().length)??0)>0,{data:re}=cvt(J?Kpe(e??""):"",50);k.useEffect(()=>{if(!H)return;function Te(Ne){te.current&&!te.current.contains(Ne.target)&&B(null)}return document.addEventListener("pointerdown",Te),()=>document.removeEventListener("pointerdown",Te)},[H]),k.useEffect(()=>{var Te;if(V(((Te=r==null?void 0:r.getActiveFile)==null?void 0:Te.call(r))??null),!!(r!=null&&r.select))return r.select(Ne=>Ne.activeFile,Ne=>{V(Ne)})},[r]),k.useEffect(()=>{const Te=D.current;if(!Te)return;const Ne=new ResizeObserver(([Ze])=>{Ze&&N(Math.floor(Ze.contentRect.height))});return Ne.observe(Te),()=>Ne.disconnect()},[]);const G=(J&&re?re.map(Te=>({name:Te.split("/").pop()??Te,kind:"file",path:Te})):void 0)??Ype(y??[],L),be=Zpe(G,F,t),ne=k.useCallback(Te=>{V(Te),r==null||r.openFile(Te,{mode:"edit"})},[r]),pe=k.useCallback(async Te=>{try{const Ne=await a.getTree(Te),Ze=n.length===0?Ne:Ne.filter(ct=>!MD(ct.name,n));S(ct=>new Map(ct).set(Te,Ze))}catch{}},[a,n]),me=k.useCallback(async(Te,Ne)=>{const Ze=Array.from(new Set(Te)).filter(Nt=>Nt&&Nt!==t&&Nt!==".");if(Ze.length===0)return;const ct=await Promise.all(Ze.map(async Nt=>{try{const lr=await a.getTree(Nt),vr=n.length===0?lr:lr.filter(sr=>!MD(sr.name,n));return[Nt,vr]}catch{return null}}));S(Nt=>{const lr=new Map(Nt);for(const vr of ct){if(!vr)continue;const[sr,Jt]=vr;(Ne!=null&&Ne.force||lr.has(sr))&&lr.set(sr,Jt)}return lr})},[a,t,n]),ge=k.useCallback((Te,Ne)=>{d(Ze=>{const ct=O6(Te),Nt=new Map(Ze),lr=M6(Nt.get(ct),[Ne])??[Ne];return Nt.set(ct,lr),Nt})},[]),fe=k.useCallback((Te,Ne)=>{d(Ze=>{const ct=O6(Te),Nt=Ze.get(ct);if(!(Nt!=null&&Nt.length))return Ze;const lr=Nt.filter(sr=>sr.path!==Ne),vr=new Map(Ze);return lr.length>0?vr.set(ct,lr):vr.delete(ct),vr})},[]),[ye,De]=k.useState(new Set),Ie=k.useCallback(Te=>{De(Ne=>{const Ze=new Set(Ne);return Ze.add(Te),Ze})},[]),je=k.useCallback(Te=>{De(Ne=>{if(!Ne.has(Te))return Ne;const Ze=new Set(Ne);return Ze.delete(Te),Ze})},[]),lt=k.useCallback((Te,Ne)=>{B({node:Ne,x:Te.clientX,y:Te.clientY})},[]),bt=k.useCallback(Te=>{const Ne=Te.target;Ne.closest("[role=treeitem]")||Ne.closest("[data-path]")||(Te.preventDefault(),B({node:{name:t,kind:"dir",path:t},x:Te.clientX,y:Te.clientY,isBackground:!0}))},[t]),br=k.useCallback(async(Te,Ne)=>{const Ze=Te.split("/").pop()??Te,ct=Ne==="."?t:Ne,Nt=ct==="."?Ze:`${ct}/${Ze}`;if(Nt!==Te){Ie(Te);try{await x({from:Te,to:Nt}),await me([nf(Te),nf(Nt)]),xl.success({title:"Moved",description:`${Te} → ${Nt}`})}catch(lr){xl.error({title:"Move failed",description:lr instanceof Error?lr.message:String(lr)})}finally{je(Te)}}},[x,me,t,Ie,je]);function sn(Te){return()=>{B(null),(async()=>{try{await Te()}catch(Ne){xl.error({title:"Action failed",description:Ne instanceof Error?Ne.message:String(Ne)})}})()}}const at=Te=>{const Ne=H==null?void 0:H.node;B(null);const Ze=(Ne==null?void 0:Ne.kind)==="dir"?Ne.path:Ne?nf(Ne.path):t,ct=`__draft__:${++q.current}`;X({kind:Te,parentDir:Ze,path:ct})},Ht=()=>at("create-file"),_r=()=>at("create-folder"),en=()=>{const Te=H==null?void 0:H.node;B(null),Te&&X({kind:"rename",path:Te.path,initialValue:Te.name})},an=k.useCallback(async(Te,Ne)=>{const Ze=F;if(X(null),!Ze)return;const ct=Ne.trim();if(!ct)return;const Nt=Ze.kind==="rename"?nf(Ze.path):Ze.parentDir,lr=Ze.kind==="rename"?Ze.path:Nt==="."||Nt===""?ct:`${Nt}/${ct}`,vr=Ze.kind==="rename"?Ze.path:lr;Ie(vr);let sr=null;try{if(Ze.kind==="rename"){if(ct===Ze.initialValue)return;const Jt=Ze.path.split("/");Jt[Jt.length-1]=ct;const tr=Jt.join("/");await x({from:Ze.path,to:tr}),await me([nf(Ze.path)]),xl.success({title:"Renamed",description:`${Ze.path} → ${tr}`})}else{const Jt={name:ct,kind:Ze.kind==="create-file"?"file":"dir",path:lr};ge(Nt,Jt),sr=lr,Ze.kind==="create-file"?(await b({path:lr,content:""}),zr.emit(Wn.created,{...Gg(),path:lr,kind:"file"}),xl.success({title:"File created",description:lr})):(await v({path:lr}),xl.success({title:"Folder created",description:lr})),await me([Nt],{force:!0}),ae(lr)}}catch(Jt){sr&&fe(Nt,sr);const tr=Jt instanceof Error?Jt.message:String(Jt);xl.error({title:Ze.kind==="rename"?"Rename failed":Ze.kind==="create-file"?"Create file failed":"Create folder failed",description:tr})}finally{je(vr)}},[F,x,b,v,me,Ie,je,ge,fe]),ss=k.useCallback(()=>{X(null)},[]),Hr=sn(async()=>{H!=null&&H.node&&(await Nvt(H.node.path),xl.success({title:"Path copied",description:H.node.path}))}),Xn=k.useCallback(async()=>{if(!j)return;const Te=j;Z(null),Ie(Te.path);try{await C({path:Te.path}),fe(nf(Te.path),Te.path),await me([nf(Te.path)]),xl.success({title:"Deleted",description:Te.path})}catch(Ne){xl.error({title:"Delete failed",description:Ne instanceof Error?Ne.message:String(Ne)})}finally{je(Te.path)}},[j,C,me,Ie,je,fe]),Oe=!J&&((e==null?void 0:e.length)??0)>0?e:void 0;return w.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[l&&w.jsx(Bm,{className:"m-2 rounded-md p-3",title:"Failed to load files",description:l.message}),w.jsx("div",{ref:D,className:"min-h-0 flex-1 overflow-hidden",onContextMenu:bt,children:c?w.jsx("div",{className:"space-y-1 p-2","data-testid":"tree-skeleton",children:Array.from({length:8}).map((Te,Ne)=>w.jsx(sCe,{className:"h-5",style:{width:`${60+Ne*13%30}%`}},Ne))}):w.jsx(k.Suspense,{fallback:w.jsxs("div",{className:"flex h-full items-center justify-center gap-2 text-sm text-muted-foreground",children:[w.jsx(gg,{className:"size-3.5"}),w.jsx("span",{children:"Loading..."})]}),children:w.jsx(Mvt,{files:be,selectedPath:U,searchQuery:Oe,editing:F?{path:F.path,isDraft:F.kind!=="rename",initialValue:F.kind==="rename"?F.initialValue:void 0}:null,revealPath:Q,pendingPaths:ye,onSelect:ne,onExpand:pe,onContextMenu:lt,onSubmitEdit:an,onCancelEdit:ss,onDragDrop:br,height:I,className:kn(i)})})}),H&&w.jsxs("div",{ref:te,role:"menu",className:"fixed z-50 min-w-[10rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",style:{left:H.x,top:H.y},children:[w.jsx(Xr,{type:"button",role:"menuitem",variant:"ghost",size:"sm",className:"w-full justify-start",onClick:Ht,children:"New file"}),w.jsx(Xr,{type:"button",role:"menuitem",variant:"ghost",size:"sm",className:"w-full justify-start",onClick:_r,children:"New folder"}),!H.isBackground&&w.jsxs(w.Fragment,{children:[w.jsx(Xr,{type:"button",role:"menuitem",variant:"ghost",size:"sm",className:"w-full justify-start",onClick:en,children:"Rename"}),w.jsx(Xr,{type:"button",role:"menuitem",variant:"ghost",size:"sm",className:"w-full justify-start text-destructive hover:bg-destructive/10 hover:text-destructive",onClick:()=>{Z(H.node),B(null)},children:"Delete"}),w.jsx(Xr,{type:"button",role:"menuitem",variant:"ghost",size:"sm",className:"w-full justify-start",onClick:Hr,children:"Copy path"})]})]}),w.jsx(gCe,{open:j!==null,onOpenChange:Te=>{Te||Z(null)},children:w.jsxs(vCe,{children:[w.jsxs(xCe,{children:[w.jsxs(wCe,{children:["Delete ",j==null?void 0:j.name,"?"]}),w.jsx(CCe,{children:"This action cannot be undone."})]}),w.jsxs(_Ce,{children:[w.jsx(kCe,{children:"Cancel"}),w.jsx(TCe,{onClick:Xn,children:"Delete"})]})]})})]})}function Pvt({params:t,rootDir:e=".",searchQuery:r,panelApi:n,bridge:i,api:s,chromeless:a=!1,className:o}){const l=(t==null?void 0:t.rootDir)??e,c=(t==null?void 0:t.bridge)??i,u=(t==null?void 0:t.chromeless)??a,d=(t==null?void 0:t.searchQuery)??(t==null?void 0:t.query)??r,m=n??s,[p,y]=k.useState(""),[b,v]=k.useState(""),x=k.useRef(void 0);k.useEffect(()=>(clearTimeout(x.current),x.current=setTimeout(()=>v(p),200),()=>clearTimeout(x.current)),[p]);const C=d!==void 0?d||void 0:b||void 0;return u?w.jsx(oW,{rootDir:l,searchQuery:C,bridge:c,className:kn("px-1 pt-1 [&_[role=treeitem]]:!indent-0",o)}):w.jsx(Dvt,{title:"Files",panelApi:m,children:w.jsxs("div",{className:"flex h-full flex-col",children:[w.jsx("div",{className:"border-b border-border px-2 py-1.5",children:w.jsx(ak,{placeholder:"Search files...",value:d??p,onChange:T=>y(T.target.value),className:"h-7 text-xs","aria-label":"Search files"})}),w.jsx("div",{className:"min-h-0 flex-1",children:w.jsx(oW,{rootDir:l,searchQuery:C,bridge:c,className:o})})]})})}function Bvt(t){return t.split("/").pop()??t}function Fvt(){return k.useEffect(()=>{const t=zr.on(Wn.moved,({from:r,to:n,...i})=>{zr.emit(Ka.panelUpdate,{...i,match:[{id:`file:${r}`},{param:"path",value:r}],params:{path:n},title:Bvt(n)})}),e=zr.on(Wn.deleted,({path:r,...n})=>{zr.emit(Ka.panelClose,{...n,match:[{id:`file:${r}`},{param:"path",value:r}]})});return()=>{t(),e()}},[]),null}const $vt=new Set(["write","edit","unlink","rename","mkdir"]);function zvt(t){if(typeof t!="object"||t===null)return null;const e=t;if(e.type!=="data-file-changed")return null;const r=e.data;if(typeof r!="object"||r===null)return null;const n=r;return typeof n.op!="string"||!$vt.has(n.op)||typeof n.path!="string"||n.path.length===0||typeof n.toolCallId!="string"||n.toolCallId.length===0||n.oldPath!==void 0&&(typeof n.oldPath!="string"||n.oldPath.length===0)?null:n}function jvt(t){const e=zvt(t);if(!e)return;const r=Rbt(e.toolCallId);switch(e.op){case"rename":e.oldPath&&zr.emit(Wn.moved,{...r,from:e.oldPath,to:e.path});return;case"unlink":zr.emit(Wn.deleted,{...r,path:e.path});return;case"mkdir":zr.emit(Wn.created,{...r,path:e.path,kind:"dir"});return;case"write":e.existsBefore===!1?zr.emit(Wn.created,{...r,path:e.path,kind:"file"}):zr.emit(Wn.changed,{...r,path:e.path});return;case"edit":zr.emit(Wn.changed,{...r,path:e.path});return}}function Hvt(t,e={}){const{skip:r,filesOnly:n=!0}=e;ID(Wn.created,i=>{i.cause==="agent"&&(n&&i.kind!=="file"||r!=null&&r(i.path)||t(i.path))})}function Vvt(){return k.useEffect(()=>zr.on(Ka.agentData,({part:t})=>{jvt(t)}),[]),Hvt(t=>{Mpe({kind:"openFile",params:{path:t}})}),null}const Uvt=250,qvt=3e3,Gvt=3e4;function Wvt(t,e){const{adapter:r,panelId:n,onDirtyChange:i,serverMtime:s}=e,[a,o]=k.useState(!1),[l,c]=k.useState(!1),[u,d]=k.useState(null),[m,p]=k.useState(!1),[y,b]=k.useState(!1),v=k.useRef(void 0),x=k.useRef(null),C=k.useRef(0),T=k.useRef(null),S=k.useRef(i);S.current=i;const L=k.useRef(r);L.current=r;const D=k.useCallback(async()=>{const te=L.current;if(!te||!t||!te.isDirty())return;if(x.current)return x.current;const U=(async()=>{var V;c(!0),zr.emit(Ka.editorSaveStart,{panelId:n});let F;const X=new Promise(Q=>{F=setTimeout(()=>Q("timeout"),Gvt)});try{await Promise.race([te.save().then(()=>"saved"),X])==="saved"&&(C.current=Date.now(),d(Date.now()),o(!1),(V=S.current)==null||V.call(S,t,!1))}catch{}finally{F&&clearTimeout(F),zr.emit(Ka.editorSaveEnd,{panelId:n}),c(!1),x.current=null}})();return x.current=U,U},[t,n]),I=k.useCallback(()=>{clearTimeout(v.current),v.current=setTimeout(D,Uvt)},[D]),N=k.useCallback(()=>{var te;t&&(o(!0),(te=S.current)==null||te.call(S,t,!0),I())},[t,I]),H=k.useCallback(async()=>{var te;if(clearTimeout(v.current),x.current)return x.current;if((te=L.current)!=null&&te.isDirty())return D()},[D]),B=k.useCallback(()=>p(!1),[]),j=k.useCallback(()=>b(!1),[]),Z=k.useCallback(te=>{T.current=te,b(!1)},[]);return k.useEffect(()=>{if(!(s==null||!t)){if(T.current===null){T.current=s;return}if(s!==T.current){if(Date.now()-C.current<qvt){T.current=s;return}T.current=s,a?b(!0):p(!0)}}},[s,t,a]),k.useEffect(()=>()=>clearTimeout(v.current),[]),{isDirty:a,isSaving:l,lastSavedAt:u,markDirty:N,flushSave:H,shouldSync:m,ackSync:B,externalChangeWhileDirty:y,ackExternalChange:j,notifySaved:Z}}function Yvt(t,e){const r=t.metaKey||t.ctrlKey;if(e.mod&&!r||!e.mod&&r||e.shift&&!t.shiftKey||!e.shift&&t.shiftKey)return!1;const n=e.key.toLowerCase(),i=t.key.toLowerCase(),s=t.code.toLowerCase();return i===n||s===n||s===`key${n}`}function Zvt(t){return t instanceof HTMLElement?t.isContentEditable||t.closest("[contenteditable='true'], [contenteditable=''], [contenteditable='plaintext-only']")||t.closest("[role='textbox'], [role='searchbox'], [role='combobox']")?!0:!!t.closest("input, textarea, select"):!1}function DN({shortcuts:t,enabled:e=!0}){const r=k.useRef(t);r.current=t,k.useEffect(()=>{if(!e)return;function n(i){const s=Zvt(i.target);for(const a of r.current)if(!(s&&!a.allowInEditable)&&Yvt(i,a)){i.preventDefault(),i.stopPropagation(),a.handler();return}}return document.addEventListener("keydown",n,!0),()=>document.removeEventListener("keydown",n,!0)},[e])}function Jpe(t){const{path:e,panelId:r=e,initialContent:n=null}=t,{data:i,isLoading:s,error:a}=lvt(e),{mutateAsync:o}=Wpe(),[l,c]=k.useState(n),u=k.useRef(""),d=k.useRef(!1),m=k.useRef(null),p=k.useRef(null),y=k.useRef(null),b=k.useRef(0),[v,x]=k.useState(null);k.useEffect(()=>{m.current!==e&&(c(n),u.current=n??"",d.current=!1,p.current=null,x(null),m.current=e)},[e,n]),k.useEffect(()=>{(i==null?void 0:i.content)!=null&&l===null&&(c(i.content),u.current=i.content,p.current=i.mtimeMs??null)},[i,l]);const C=e&&l!=null?{isDirty:()=>d.current,save:async()=>{var Z;const te=++b.current;try{const U=await o({path:e,content:u.current,expectedMtimeMs:p.current??void 0});if(b.current!==te)return;typeof U.mtimeMs=="number"&&(p.current=U.mtimeMs,(Z=y.current)==null||Z.call(y,U.mtimeMs)),d.current=!1,x(null)}catch(U){throw b.current!==te||U instanceof cv&&(typeof U.currentMtimeMs=="number"&&(p.current=U.currentMtimeMs),x(U)),U}},getContent:()=>u.current}:null,T=Wvt(e,{adapter:C,panelId:r,serverMtime:(i==null?void 0:i.mtimeMs)??null});y.current=T.notifySaved,k.useEffect(()=>{if(!(!T.shouldSync||(i==null?void 0:i.content)==null)){if(d.current){T.ackSync();return}c(i.content),u.current=i.content,p.current=i.mtimeMs??null,d.current=!1,T.ackSync()}},[T.shouldSync,T,i,c]),k.useEffect(()=>{!T.externalChangeWhileDirty||(i==null?void 0:i.mtimeMs)==null||(x(new cv(e,i.mtimeMs,p.current)),p.current=i.mtimeMs,T.ackExternalChange())},[T.externalChangeWhileDirty,T,i,e]);const S=e?e.split("/").pop()??e:"",[L,D]=k.useState("");k.useEffect(()=>{const Z=S?T.isDirty?`${S} ●`:S:"";D(Z)},[S,T.isDirty,r]);const I=k.useCallback(Z=>{c(Z),u.current=Z,d.current=!0,T.markDirty()},[c,T]),N=k.useCallback(async()=>{var Z;i&&(c(i.content),u.current=i.content,p.current=i.mtimeMs??null,d.current=!1,typeof i.mtimeMs=="number"&&((Z=y.current)==null||Z.call(y,i.mtimeMs)),x(null))},[i,c]),H=k.useCallback(async()=>{var Z;const te=++b.current;try{const U=u.current,V=await o({path:e,content:U});if(b.current!==te)return;typeof V.mtimeMs=="number"&&(p.current=V.mtimeMs,(Z=y.current)==null||Z.call(y,V.mtimeMs)),d.current=!1,x(null)}catch{}},[e,o]),B=k.useCallback(async()=>{!C||!d.current||await C.save()},[C]),j=k.useCallback(async()=>{await T.flushSave()},[T]);return{isLoading:s,error:a,content:l,isDirty:T.isDirty,conflict:v,onReloadFromServer:N,onOverwrite:H,setContent:I,save:B,flushSave:j,fileName:S,tabTitle:L}}function Xvt({conflict:t,onReload:e,onOverwrite:r}){return w.jsx(jK,{role:"alert",tone:"accent",className:"rounded-none border-x-0 border-t-0",description:w.jsx(w.Fragment,{children:"This file has been modified outside the editor. Your unsaved changes will be lost if you reload, or will overwrite the latest version on disk if you save."}),actions:w.jsxs(w.Fragment,{children:[w.jsx(Xr,{type:"button",variant:"outline",size:"xs",onClick:()=>void e(),children:"Reload"}),w.jsx(Xr,{type:"button",variant:"destructive",size:"xs",onClick:()=>void r(),children:"Overwrite"}),w.jsx("span",{className:"sr-only",children:t.path})]})})}function e0e({path:t,content:e,isLoading:r,error:n,conflict:i,onChange:s,onReload:a,onOverwrite:o,editorComponent:l,editorProps:c={},loadingFallback:u,errorMessage:d,className:m}){if(!t)return w.jsx("div",{className:"flex h-full items-center justify-center p-6",children:w.jsx(zK,{className:"min-h-0 border-0",title:"No file selected",description:"Choose a file from the file tree to open an editor."})});if(n)return w.jsx("div",{className:"flex h-full items-center justify-center p-6",children:w.jsx(Bm,{title:"Failed to load file",description:d??n.message})});const p=u??w.jsxs("div",{className:"flex h-full items-center justify-center gap-2 text-sm text-muted-foreground",children:[w.jsx(gg,{className:"size-3.5"}),w.jsx("span",{children:"Loading file..."})]});return w.jsxs("div",{className:`flex h-full min-h-0 flex-col ${m??""}`,children:[i&&w.jsx(Xvt,{conflict:i,onReload:a,onOverwrite:o}),w.jsx(k.Suspense,{fallback:p,children:r||e===null?p:w.jsx(l,{content:e,onChange:s,className:c.className,...c})})]})}const Kvt=k.lazy(()=>M(()=>import("./CodeEditor-DQqOn4xz-BpvvkFT7.js"),__vite__mapDeps([254,255])).then(t=>t.a).then(t=>({default:t.CodeEditor})));function Qvt(t){var e;switch((e=t.split(".").pop())==null?void 0:e.toLowerCase()){case"js":case"jsx":return"javascript";case"ts":case"tsx":return"typescript";case"py":return"python";case"json":return"json";case"yaml":case"yml":return"yaml";case"md":case"markdown":return"markdown";case"sql":return"sql";default:return"typescript"}}function lW({params:t,api:e,className:r}){const n=typeof(t==null?void 0:t.path)=="string"?t.path:"",{content:i,isLoading:s,error:a,conflict:o,setContent:l,onReloadFromServer:c,onOverwrite:u,tabTitle:d}=Jpe({path:n,panelId:e==null?void 0:e.id});e&&d&&e.setTitle(d);const m=Qvt(n);return w.jsx(e0e,{path:n,content:i,isLoading:s,error:a,conflict:o,onChange:l,onReload:c,onOverwrite:u,editorComponent:Kvt,editorProps:{language:m,wordWrap:!0,className:r}})}const Jvt=k.lazy(()=>M(()=>import("./MarkdownEditor-L1KDH0bM-D-LbfGkW.js"),__vite__mapDeps([256,253,255])).then(t=>({default:t.MarkdownEditor})));function ext({params:t,api:e,className:r}){const n=typeof(t==null?void 0:t.path)=="string"?t.path:"",{content:i,isLoading:s,error:a,conflict:o,setContent:l,onReloadFromServer:c,onOverwrite:u,tabTitle:d}=Jpe({path:n,panelId:e==null?void 0:e.id});return e&&d&&e.setTitle(d),w.jsx(e0e,{path:n,content:i,isLoading:s,error:a,conflict:o,onChange:l,onReload:c,onOverwrite:u,editorComponent:Jvt,editorProps:{className:r,documentPath:n}})}function txt(t,e){return`${t.replace(/\/$/,"")}${e}`}function F_(t){return t.split("/").pop()??t}function rxt({path:t,kind:e,className:r}){const n=Dp(),i=Lp(),[s,a]=k.useState(null),[o,l]=k.useState(null),[c,u]=k.useState(!0),d=k.useMemo(()=>txt(n,`/api/v1/files/raw?path=${encodeURIComponent(t)}`),[n,t]);return k.useEffect(()=>{const m=new AbortController;let p=null;u(!0),l(null),a(null);const y={};return i&&(y["x-boring-workspace-id"]=i),fetch(d,{credentials:"include",headers:y,signal:m.signal}).then(async b=>{if(!b.ok)throw new Error(`HTTP ${b.status}`);const v=await b.blob();p=URL.createObjectURL(v),a(p)}).catch(b=>{m.signal.aborted||l(b instanceof Error?b.message:"Failed to load preview")}).finally(()=>{m.signal.aborted||u(!1)}),()=>{m.abort(),p&&URL.revokeObjectURL(p)}},[d,i]),t?c?w.jsxs("div",{className:"flex h-full items-center justify-center gap-2 text-sm text-muted-foreground",children:[w.jsx(gg,{className:"size-3.5"}),w.jsx("span",{children:"Loading preview..."})]}):o||!s?w.jsx("div",{className:"flex h-full items-center justify-center p-6",children:w.jsx(Bm,{title:"Failed to load preview",description:o??"Preview unavailable."})}):w.jsxs("div",{className:kn("flex h-full min-h-0 flex-col bg-background",r),children:[w.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-3 border-b border-border/60 px-3 py-2",children:[w.jsx("div",{className:"min-w-0 truncate text-xs font-medium text-muted-foreground",title:t,children:F_(t)}),w.jsx("a",{href:s,download:F_(t),className:"rounded-md px-2 py-1 text-xs text-muted-foreground hover:bg-muted hover:text-foreground",children:"Download"})]}),w.jsx("div",{className:"flex min-h-0 flex-1 items-center justify-center overflow-auto p-4",children:e==="image"?w.jsx("img",{src:s,alt:F_(t),className:"max-h-full max-w-full rounded-md object-contain shadow-sm"}):w.jsx("iframe",{src:s,title:F_(t),className:"h-full min-h-[480px] w-full rounded-md border border-border bg-background"})})]}):w.jsx("div",{className:"flex h-full items-center justify-center p-6",children:w.jsx(Bm,{title:"No file selected",description:"Choose an image or PDF from the file tree."})})}function nxt(t,e){return e||(t.toLowerCase().endsWith(".pdf")?"pdf":"image")}function cW({params:t,className:e}){const r=(t==null?void 0:t.path)??"";return w.jsx(rxt,{path:r,kind:nxt(r,t==null?void 0:t.kind),className:e})}function ixt(t,e){return`${t.replace(/\/$/,"")}${e}`}function uW(t){return t.split("/").pop()??t}function sxt(t){const e=t.replace(/\\/g,"/"),r=e.lastIndexOf("/");return r===-1?"":e.slice(0,r)}function t0e(t){const e=t.search(/[?#]/);return e===-1?{pathname:t,suffix:""}:{pathname:t.slice(0,e),suffix:t.slice(e)}}function axt(t){return/^[a-z][a-z0-9+.-]*:/i.test(t)||t.startsWith("//")||t.startsWith("#")||t.startsWith("/api/")}function r0e(t,e){const r=e.trim();if(!r||axt(r))return null;const{pathname:n}=t0e(r);if(!n)return null;const i=n.startsWith("/")?n.split("/"):[...sxt(t).split("/"),...n.split("/")],s=[];for(const a of i)if(!(!a||a===".")){if(a===".."){if(s.length===0)return null;s.pop();continue}s.push(a)}return s.join("/")}function LN(t,e,r){const n=new URLSearchParams({path:e});return r&&n.set("workspaceId",r),ixt(t,`/api/v1/files/raw?${n.toString()}`)}function uv(t,e,r,n){const i=r0e(e,r);if(!i)return r;const{suffix:s}=t0e(r.trim()),a=s.indexOf("#"),o=a===-1?"":s.slice(a);return`${LN(t,i,n)}${o}`}function P6(t,e,r,n){return t.replace(/url\(\s*(["']?)([^"')]+)\1\s*\)/gi,(i,s,a)=>`url(${s}${uv(r,e,a,n)}${s})`).replace(/@import\s+(url\(\s*)?(["'])([^"']+)\2\s*\)?/gi,(i,s,a,o)=>{const l=uv(r,e,o,n);return s?`@import ${s}${a}${l}${a})`:i.replace(`${a}${o}${a}`,`${a}${l}${a}`)})}function oxt(t,e,r,n){return t.split(",").map(i=>{const s=i.trim(),[a,...o]=s.split(/\s+/);return a?[uv(r,e,a,n),...o].join(" "):i}).join(", ")}async function n0e(t,e,r){const n=await fetch(t,{credentials:"include",headers:e,signal:r});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.text()}async function lxt(t){const{html:e,path:r,apiBaseUrl:n,headers:i,workspaceRequestId:s,signal:a}=t,o=new DOMParser().parseFromString(e,"text/html");await Promise.all(Array.from(o.querySelectorAll('link[rel~="stylesheet"][href]')).map(async c=>{const u=c.getAttribute("href");if(!u)return;const d=r0e(r,u);if(d)try{const m=await n0e(LN(n,d,s),i,a),p=o.createElement("style");p.setAttribute("data-boring-html-viewer-href",u),p.textContent=P6(m,d,n,s),c.replaceWith(p)}catch{c.setAttribute("href",uv(n,r,u,s))}}));for(const c of Array.from(o.querySelectorAll("style")))c.hasAttribute("data-boring-html-viewer-href")||(c.textContent=P6(c.textContent??"",r,n,s));for(const c of Array.from(o.querySelectorAll("[style]"))){const u=c.getAttribute("style");u&&c.setAttribute("style",P6(u,r,n,s))}const l=[["img","src"],["source","src"],["video","src"],["audio","src"],["track","src"],["iframe","src"],["script","src"],["object","data"],["embed","src"],["link","href"]];for(const[c,u]of l)for(const d of Array.from(o.querySelectorAll(`${c}[${u}]`))){const m=d.getAttribute(u);m&&d.setAttribute(u,uv(n,r,m,s))}for(const c of Array.from(o.querySelectorAll("[srcset]"))){const u=c.getAttribute("srcset");u&&c.setAttribute("srcset",oxt(u,r,n,s))}return`<!doctype html>
|
|
1329
|
+
`)}const obt=1024,lbt=500,cbt=/^[a-zA-Z0-9_-]+$/,ubt=64,B_=50,QG=16384,SN=jh().min(1).max(obt).refine(t=>!t.includes(".."),"path traversal not allowed").refine(t=>!t.includes("\0"),"null bytes not allowed"),hbt=Oo({path:SN,mode:jL(["view","edit","diff"]).optional()}),dbt=Oo({id:jh().max(ubt).regex(cbt,"invalid panel ID"),component:jh().min(1),params:zL(zQ()).optional().refine(t=>{if(!t)return!0;try{return new TextEncoder().encode(JSON.stringify(t)).byteLength<=QG}catch{return!1}},`params must be JSON-serializable and under ${QG} bytes`),title:jh().max(200).optional()}),fbt=Oo({id:jh().min(1)}),pbt=Oo({msg:jh().max(lbt),level:jL(["info","warn","error"]).optional()}),mbt=Oo({file:SN,line:Q0().int().positive()}),gbt=Oo({path:SN});function ybt(t){let e=0;const r=new Map;function n(){return++e}function i(){return{seq:n(),status:"ok"}}function s(l,c){return{seq:n(),status:"error",error:{code:l,message:c}}}function a(l,c){const u=r.get(l);if(u)for(const d of[...u])try{d(c)}catch(m){console.error(`[bridge] listener for "${String(l)}" threw:`,m)}}const o={getOpenPanels(){return t.getState().panels},getActiveFile(){return t.getState().activeFile},getDirtyFiles(){return Object.keys(t.getState().dirtyFiles)},getVisibleFiles(){return t.getState().visibleFiles},async openFile(l,c){const u=hbt.safeParse({path:l,mode:c==null?void 0:c.mode});if(!u.success)return s("VALIDATION",u.error.issues[0].message);const d=t.getState(),m=u.data.mode??"edit",p=`file:${l}`;if(d.panels.find(y=>y.id===p)){const y=d.activePanel;return d.activatePanel(p),d.visibleFiles.includes(l)||d.openFile(l,p),a("panel:activated",{panelId:p,previousPanelId:y}),i()}return d.panels.length>=B_?s("MAX_PANELS",`cannot exceed ${B_} open panels`):(d.openFile(l,p),d.openPanel({id:p,component:"editor",params:{path:l,mode:m}}),a("file:opened",{path:l,mode:m}),a("panel:opened",{panelId:p,params:{path:l,mode:m}}),i())},async openPanel(l){const c=dbt.safeParse(l);if(!c.success)return s("VALIDATION",c.error.issues[0].message);const u=t.getState();if(u.panels.find(d=>d.id===l.id)){const d=u.activePanel;return u.activatePanel(l.id),a("panel:activated",{panelId:l.id,previousPanelId:d}),i()}return u.panels.length>=B_?s("MAX_PANELS",`cannot exceed ${B_} open panels`):(u.openPanel({id:l.id,component:l.component,params:l.params}),a("panel:opened",{panelId:l.id,params:l.params??{}}),i())},async closePanel(l){const c=fbt.safeParse({id:l});if(!c.success)return s("VALIDATION",c.error.issues[0].message);const u=t.getState(),d=u.panels.find(m=>m.id===l);return d?d.essential?s("ESSENTIAL",`panel ${l} is essential and cannot be closed`):(u.closePanel(l),a("panel:closed",{panelId:l}),i()):s("NOT_FOUND",`panel ${l} not found`)},async closeWorkbenchLeftPane(){return t.getState().setSidebar({collapsed:!0}),a("sidebar:toggled",{collapsed:!0}),i()},async showNotification(l,c="info"){const u=pbt.safeParse({msg:l,level:c});if(!u.success)return s("VALIDATION",u.error.issues[0].message);const d=u.data.level??"info",m=d==="warn"?"warning":d;return t.getState().showNotification({message:u.data.msg,type:m}),a("notification:shown",{message:u.data.msg,level:d}),i()},async navigateToLine(l,c){const u=mbt.safeParse({file:l,line:c});if(!u.success)return s("VALIDATION",u.error.issues[0].message);const d=await o.openFile(l);return d.status==="error"?d:(t.getState().navigateToLine(l,u.data.line),i())},async expandToFile(l){const c=gbt.safeParse({path:l});if(!c.success)return s("VALIDATION",c.error.issues[0].message);const u=t.getState();return u.sidebar.collapsed&&(u.setSidebar({collapsed:!1}),a("sidebar:toggled",{collapsed:!1})),a("tree:expand",{path:c.data.path}),i()},markDirty(l){t.getState().markDirty(l,"bridge"),a("file:dirty",{path:l,dirty:!0})},markClean(l){t.getState().markClean(l),a("file:dirty",{path:l,dirty:!1})},subscribe(l,c){let u=r.get(l);u||(u=new Set,r.set(l,u));const d=c;return u.add(d),()=>u.delete(d)},select(l,c){let u=l(t.getState());return t.subscribe(d=>{const m=l(d);Object.is(m,u)||(u=m,c(m))})}};return o}const bbt=100,vbt=3e3;function JG(t){const e={"Content-Type":"application/json"};return t&&(e.Authorization=`Bearer ${t}`),e}function xbt(t,e){const r=t.getState();return{v:1,causedBy:e,openPanels:r.panels,activePanel:r.activePanel,activeFile:r.activeFile,visibleFiles:r.visibleFiles,dirtyFiles:Object.keys(r.dirtyFiles)}}async function eW(t,e,r){switch(e){case"openFile":await t.openFile(r.path,r.mode?{mode:r.mode}:void 0);break;case"openPanel":await t.openPanel({id:r.id,component:r.component,params:r.params,title:r.title});break;case"closePanel":await t.closePanel(r.id);break;case"closeWorkbenchLeftPane":await t.closeWorkbenchLeftPane();break;case"showNotification":await t.showNotification(r.msg,r.level);break;case"navigateToLine":await t.navigateToLine(r.file,r.line);break;case"expandToFile":await t.expandToFile(r.path);break;case"markDirty":t.markDirty(r.path);break;case"markClean":t.markClean(r.path);break}}function _bt(t){const{endpoint:e,bridge:r,store:n,authToken:i,pollMode:s=!1,pollInterval:a=vbt,onAuthError:o,onVersionMismatch:l,onConnectionChange:c}=t;let u=null,d=null,m=null,p=null,y=!1,b=!1,v=0;function x(N){b||y!==N&&(y=N,c==null||c(N))}async function C(N){if(b)return;const H=xbt(n,N);try{const B=await fetch(`${e}/api/v1/ui/state`,{method:"PUT",headers:JG(i),body:JSON.stringify(H)});if(b)return;(B.status===401||B.status===403)&&(o==null||o(B.status))}catch{}}function T(N){m!==null&&clearTimeout(m),m=setTimeout(()=>{m=null,C(N)},bbt)}function S(N,H){if(!b)switch(N){case"init":{x(!0),C("restore");break}case"command":{let B;try{B=JSON.parse(H)}catch{return}if(B.v!==1){l==null||l(B.v);return}v++,eW(r,B.kind,B.params).finally(()=>{v--});break}case"error":{let B;try{B=JSON.parse(H)}catch{return}if(B.v!==1){l==null||l(B.v);return}r.showNotification(B.message,"error");break}}}function L(){const N=`${e}/api/v1/ui/commands/next`,H=new EventSource(N,{withCredentials:!0});H.addEventListener("init",B=>{S("init",B.data)}),H.addEventListener("command",B=>{S("command",B.data)}),H.addEventListener("error",B=>{B.data?S("error",B.data):x(!1)}),H.addEventListener("heartbeat",B=>{S("heartbeat",B.data)}),u=H}async function D(){if(!b)try{const N=`${e}/api/v1/ui/commands/next?poll=true`,H=await fetch(N,{headers:JG(i)});if(b)return;if(H.status===401||H.status===403){o==null||o(H.status);return}if(!H.ok)return;const B=await H.json();if(!Array.isArray(B))return;for(const j of B){if(b)return;if(j.v!==1){l==null||l(j.v);continue}v++;try{await eW(r,j.kind,j.params)}finally{v--}}x(!0)}catch{x(!1)}}function I(){p=n.subscribe(()=>{if(b)return;const N=v>0?"agent":"user";T(N)})}return{connect(){b=!1,!s&&typeof EventSource<"u"?L():(D(),d=setInterval(D,a)),I()},disconnect(){u&&(u.close(),u=null),d!==null&&(clearInterval(d),d=null),m!==null&&(clearTimeout(m),m=null),p&&(p(),p=null),x(!1),b=!0},pushState(N){C(N)}}}const wbt=new Set(["openFile","openSurface","openPanel","navigateToLine","expandToFile","showNotification","closePanel","closeWorkbenchLeftPane"]);function Y0(t,e){const r=t[e];return typeof r=="string"&&r.length>0?r:null}function Ope(t,e){const r=t[e];if(r!==null&&typeof r=="object"&&!Array.isArray(r))return r}function Cbt(t){const e=Y0(t,"kind"),r=Y0(t,"target");return!e||!r?null:{kind:e,target:r,meta:Ope(t,"meta")}}const Tbt=60;function yh(t,e,r=Tbt){const n=t.surface();if(n){e(n);return}!t.isWorkbenchOpen()||r<=0||requestAnimationFrame(()=>yh(t,e,r-1))}function lv(t,e){if(wbt.has(t.kind))switch(t.kind){case"openFile":{const r=Y0(t.params,"path");if(!r)return;const n=!e.isWorkbenchOpen();n&&e.openWorkbench();const i=s=>{try{s.openFile(r)}catch(a){console.warn("[uiCommandDispatcher] openFile dispatch failed:",a instanceof Error?a.message:a)}};n?requestAnimationFrame(()=>requestAnimationFrame(()=>yh(e,i))):yh(e,i);return}case"openSurface":{const r=Cbt(t.params);if(!r)return;const n=!e.isWorkbenchOpen();n&&(r.meta={...r.meta??{},closeWorkbenchOnDone:!0},e.openWorkbench());const i=s=>{try{s.openSurface(r)}catch(a){console.warn("[uiCommandDispatcher] openSurface dispatch failed:",a instanceof Error?a.message:a)}};n?requestAnimationFrame(()=>requestAnimationFrame(()=>yh(e,i))):yh(e,i);return}case"openPanel":{const r=Y0(t.params,"id"),n=Y0(t.params,"component");if(!r||!n)return;const i={id:r,component:n,title:Y0(t.params,"title")??void 0,params:Ope(t.params,"params")},s=!e.isWorkbenchOpen();s&&e.openWorkbench();const a=o=>{try{o.openPanel(i)}catch(l){console.warn("[uiCommandDispatcher] openPanel dispatch failed:",l instanceof Error?l.message:l)}};s?requestAnimationFrame(()=>requestAnimationFrame(()=>yh(e,a))):yh(e,a);return}case"closeWorkbenchLeftPane":{yh(e,r=>r.closeWorkbenchLeftPane());return}}}function kbt(){const t=new Map;function e(i,s){let a=t.get(i);return a||(a=new Set,t.set(i,a)),a.add(s),()=>a.delete(s)}function r(i,s){const a=t.get(i);if(a)for(const o of[...a])try{o(s)}catch(l){console.error(`[events] listener for "${String(i)}" threw:`,l)}}function n(){t.clear()}return{on:e,emit:r,_reset:n}}const Sbt="workspace:ui.command",Ebt="workspace:editor.save.start",Abt="workspace:editor.save.end",Dbt="workspace:panel.update",Lbt="workspace:panel.close",Ibt="workspace:agent.data",Ka={uiCommand:Sbt,editorSaveStart:Ebt,editorSaveEnd:Abt,panelUpdate:Dbt,panelClose:Lbt,agentData:Ibt};function Gg(){return{cause:"user",ts:Date.now()}}function Rbt(t){return{cause:"agent",toolCallId:t,ts:Date.now()}}function py(t){return{cause:"remote",toolCallId:t,ts:Date.now()}}function ID(t,e){const r=k.useRef(e);r.current=e,k.useEffect(()=>zr.on(t,n=>r.current(n)),[t])}function Nbt(t){zr.emit(Ka.agentData,{ts:Date.now(),part:t})}const zr=kbt(),RD="boring-workspace:ui-command";function Mpe(t){zr.emit(Ka.uiCommand,{...Gg(),command:t}),typeof globalThis.dispatchEvent=="function"&&typeof CustomEvent<"u"&&globalThis.dispatchEvent(new CustomEvent(RD,{detail:t}))}const Obt=1500,Mbt=1e3,Pbt=5;function tW(t,e){if(!e)return t;const r=new URLSearchParams;for(const[i,s]of Object.entries(e))s!=null&&r.set(i,String(s));const n=r.toString();return n?`${t}${t.includes("?")?"&":"?"}${n}`:t}function Bbt(t){const e=t.endpoint??"",r=t.ctx,n=t.query,i=t.eventSourceCtor===null?null:t.eventSourceCtor??(typeof EventSource<"u"?EventSource:null),s=t.fetcher??(typeof fetch<"u"?fetch:null),a=t.reconnectDelayMs??Mbt,o=t.maxReconnects??Pbt,l=t.pollIntervalMs??Obt;let c=!1,u=null,d=null,m=null,p=null,y=0,b=!1;function v(T){T&&typeof T=="object"&&typeof T.kind=="string"&&lv(T,r)}function x(){if(c||b||!s)return;b=!0;const T=async()=>{if(!c){m=new AbortController;try{const S=await s(tW(`${e}/api/v1/ui/commands/next?poll=true`,n),{signal:m.signal});if(c)return;if(S.ok){const L=await S.json();if(Array.isArray(L))for(const D of L)v(D)}}catch{}finally{m=null}c||(d=setTimeout(T,l))}};T()}function C(){if(!c){if(!i){x();return}u=new i(tW(`${e}/api/v1/ui/commands/next`,n)),u.addEventListener("command",T=>{const S=T.data;if(!(typeof S!="string"||S.length===0))try{v(JSON.parse(S))}catch{}}),u.addEventListener("init",()=>{y=0}),u.addEventListener("error",()=>{if(!c){if(u==null||u.close(),u=null,y+=1,y>o){x();return}p=setTimeout(C,a*y)}})}}return C(),()=>{c=!0,u&&(u.close(),u=null),d&&(clearTimeout(d),d=null),m&&(m.abort(),m=null),p&&(clearTimeout(p),p=null)}}const Fbt=1e4,$bt=3,zbt=1e3;function rW(t){return t>=500}function jbt(t){return new Promise(e=>setTimeout(e,t))}class Hbt{constructor(e){Nr(this,"baseUrl"),Nr(this,"headers"),Nr(this,"onAuthError"),Nr(this,"onTimeout"),Nr(this,"timeout"),Nr(this,"maxRetries"),Nr(this,"retryBaseMs"),this.baseUrl=e.apiBaseUrl.replace(/\/$/,"");const r={...e.authHeaders};for(const n of Object.keys(r))n.toLowerCase()==="content-type"&&delete r[n];this.headers=r,this.onAuthError=e.onAuthError,this.onTimeout=e.onTimeout,this.timeout=e.timeout??Fbt,this.maxRetries=e.maxRetries??$bt,this.retryBaseMs=e.retryBaseMs??zbt}async request(e,r,n,i,s){var a,o;const l=i??this.timeout;let c=null;for(let u=0;u<=this.maxRetries;u++){u>0&&await jbt(this.retryBaseMs*2**(u-1));const d=new AbortController,m=()=>d.abort();s==null||s.addEventListener("abort",m,{once:!0});const p=setTimeout(()=>d.abort(),l);try{const y=n!=null,b=await fetch(`${this.baseUrl}${r}`,{method:e,headers:y?{...this.headers,"Content-Type":"application/json"}:this.headers,body:y?JSON.stringify(n):void 0,signal:d.signal});if(clearTimeout(p),s==null||s.removeEventListener("abort",m),b.status===401||b.status===403)throw(a=this.onAuthError)==null||a.call(this,b.status),new bh(b.status,`Auth error: ${b.status}`);if(rW(b.status)){c=new bh(b.status,`HTTP ${b.status}: ${b.statusText}`);continue}if(!b.ok){const v=await Vbt(b);throw new bh(b.status,`HTTP ${b.status}: ${b.statusText}`,v)}return await b.json()}catch(y){if(clearTimeout(p),s==null||s.removeEventListener("abort",m),y instanceof bh&&!rW(y.status))throw y;if(y instanceof DOMException&&y.name==="AbortError"){if(s!=null&&s.aborted)throw y;(o=this.onTimeout)==null||o.call(this,r),c=new bh(0,`Request timeout after ${l}ms: ${r}`);continue}if(y instanceof TypeError){c=y;continue}throw y}}throw c??new bh(0,"Request failed after retries")}async getTree(e,r){return(await this.request("GET",`/api/v1/tree?path=${encodeURIComponent(e)}`,void 0,void 0,r)).entries}async getFile(e,r){return this.request("GET",`/api/v1/files?path=${encodeURIComponent(e)}`,void 0,void 0,r)}async writeFile(e,r,n){try{return{mtimeMs:(await this.request("POST","/api/v1/files",(n==null?void 0:n.expectedMtimeMs)!=null?{path:e,content:r,expectedMtimeMs:n.expectedMtimeMs}:{path:e,content:r})).mtimeMs}}catch(i){throw i instanceof bh&&i.status===409?cv.from(i,e):i}}async deleteFile(e){await this.request("DELETE",`/api/v1/files?path=${encodeURIComponent(e)}`)}async stat(e,r){return this.request("GET",`/api/v1/stat?path=${encodeURIComponent(e)}`,void 0,void 0,r)}async search(e,r,n){const i=new URLSearchParams({q:e});return r!=null&&i.set("limit",String(r)),(await this.request("GET",`/api/v1/files/search?${i}`,void 0,void 0,n)).results}async createDir(e){await this.request("POST","/api/v1/dirs",{path:e})}async moveFile(e,r){await this.request("POST","/api/v1/files/move",{from:e,to:r})}}let bh=class extends Error{constructor(e,r,n){super(r),this.status=e,this.body=n,this.name="FetchError"}};class cv extends Error{constructor(e,r,n){super(`File modified on server: ${e}`),this.path=e,this.currentMtimeMs=r,this.expectedMtimeMs=n,this.name="FileConflictError"}static from(e,r){var n,i;const s=e.body&&typeof e.body=="object"?e.body:null;return new cv(r,typeof((n=s==null?void 0:s.error)==null?void 0:n.currentMtimeMs)=="number"?s.error.currentMtimeMs:null,typeof((i=s==null?void 0:s.error)==null?void 0:i.expectedMtimeMs)=="number"?s.error.expectedMtimeMs:null)}}async function Vbt(t){try{const e=await t.text();return e?JSON.parse(e):null}catch{return null}}const Ubt="filesystem:file.changed",qbt="filesystem:file.created",Gbt="filesystem:file.moved",Wbt="filesystem:file.deleted",Wn={changed:Ubt,created:qbt,moved:Gbt,deleted:Wbt},Ew="filesystem",ND="files",Aw=ND,EN="files",Ybt="filesystem-path",Ppe="code-editor",Bpe="csv-viewer",Fpe="markdown-editor",$pe="image-viewer",zpe="pdf-viewer",jpe="html-viewer",Hpe="empty-file-panel";function Zbt(){const t=PS(),e=Dp(),r=Lp();k.useEffect(()=>{const n=zr.on(Wn.changed,o=>{my(t,e,r,o.path)}),i=zr.on(Wn.created,o=>{N6(t,e,r),o.kind==="file"&&my(t,e,r,o.path)}),s=zr.on(Wn.moved,o=>{N6(t,e,r),my(t,e,r,o.from),my(t,e,r,o.to),nW(t,e,r)}),a=zr.on(Wn.deleted,o=>{N6(t,e,r),my(t,e,r,o.path),nW(t,e,r)});return()=>{n(),i(),s(),a()}},[t,e,r])}function my(t,e,r,n){t.invalidateQueries({queryKey:[e,r,EN,n]}),t.invalidateQueries({queryKey:[e,r,"stat",n]})}function N6(t,e,r){t.invalidateQueries({queryKey:[e,r,"tree"]})}function nW(t,e,r){t.invalidateQueries({queryKey:[e,r,"search"]})}function Xbt(){const t=Dp(),e=Lp(),r=PS();k.useEffect(()=>{if(typeof window>"u"||typeof EventSource>"u")return;const n=evt(Jbt(t,"/api/v1/fs/events"),e);let i,s=!1;const a=new Set,o=[],l=256;try{i=new EventSource(n,{withCredentials:!0})}catch{return}const c=p=>{if(a.has(p))return!1;if(a.add(p),o.push(p),o.length>l){const y=o.shift();y!==void 0&&a.delete(y)}return!0},u=p=>{let y;try{y=JSON.parse(p.data)}catch{return}typeof(y==null?void 0:y.eventId)!="string"||typeof y.change!="object"||y.change==null||c(y.eventId)&&Kbt(y.change)},d=()=>{s=!0,i==null||i.close()},m=()=>{a.clear(),o.length=0,r.invalidateQueries({predicate:p=>Qbt(p.queryKey)})};return i.addEventListener("change",u),i.addEventListener("unsupported",d),i.addEventListener("resync-required",m),()=>{i&&(i.removeEventListener("change",u),i.removeEventListener("unsupported",d),i.removeEventListener("resync-required",m),s||i.close(),i=null)}},[t,e,r])}function Kbt(t){switch(t.op){case"write":zr.emit(Wn.changed,{...py(),path:t.path});return;case"mkdir":zr.emit(Wn.created,{...py(),path:t.path,kind:"dir"});return;case"unlink":zr.emit(Wn.deleted,{...py(),path:t.path});return;case"rename":t.oldPath?zr.emit(Wn.moved,{...py(),from:t.oldPath,to:t.path}):zr.emit(Wn.created,{...py(),path:t.path,kind:"file"});return}}function Qbt(t){for(const e of t)if(e===EN||e==="tree"||e==="stat"||e==="search")return!0;return!1}function Jbt(t,e){return t?t.endsWith("/")&&e.startsWith("/")?t+e.slice(1):!t.endsWith("/")&&!e.startsWith("/")?`${t}/${e}`:t+e:e}function evt(t,e){if(!e)return t;const r=t.includes("?")?"&":"?";return`${t}${r}workspaceId=${encodeURIComponent(e)}`}const Vpe=k.createContext(null),Upe=k.createContext(""),qpe=k.createContext(null);function Eu(){const t=k.useContext(Vpe);if(!t)throw new Error("useDataClient must be used within a DataProvider");return t}function Dp(){return k.useContext(Upe)}function Lp(){return k.useContext(qpe)}function tvt({apiBaseUrl:t,authHeaders:e,onAuthError:r,timeout:n,client:i,children:s}){const a=k.useRef(null);a.current||(a.current=new ygt({defaultOptions:{queries:{retry:3,retryDelay:c=>Math.min(1e3*2**c,3e4)}}}));const o=k.useMemo(()=>i??new Hbt({apiBaseUrl:t,authHeaders:e,onAuthError:r,timeout:n}),[i,t,e,r,n]),l=(e==null?void 0:e["x-boring-workspace-id"])??(e==null?void 0:e["X-Boring-Workspace-Id"])??null;return w.jsx(bgt,{client:a.current,children:w.jsx(Upe.Provider,{value:t,children:w.jsx(qpe.Provider,{value:l,children:w.jsxs(Vpe.Provider,{value:o,children:[w.jsx(rvt,{}),s]})})})})}function rvt(){return Zbt(),Xbt(),null}const nvt=new Map;function ivt(t){return(t??"").replace(/\/$/,"")}function svt(t){return t&&t.length>0?t:"."}function avt(t,e,r){return`${ivt(t)}\0${e??""}\0${svt(r)}`}function ovt(t,e,r){return nvt.get(avt(t,e,r))}function AN(t,e){return e instanceof bh&&e.status===404?!1:t<3}function lvt(t){const e=Eu(),r=Dp(),n=Lp();return gN({queryKey:[r,n,EN,t],queryFn:({signal:i})=>e.getFile(t,i),enabled:t!=null,staleTime:0,retry:AN})}function Gpe(t){const e=Eu(),r=Dp(),n=Lp();return gN({queryKey:[r,n,"tree",t],queryFn:async({signal:i})=>await e.getTree(t,i)??[],enabled:t!=null,staleTime:3e3,initialData:()=>ovt(r,n,t),retry:AN})}function cvt(t,e){const r=Eu(),n=Dp(),i=Lp(),[s,a]=k.useState(t),o=k.useRef(void 0);return k.useEffect(()=>(clearTimeout(o.current),o.current=setTimeout(()=>a(t),300),()=>clearTimeout(o.current)),[t]),gN({queryKey:[n,i,"search",s,e],queryFn:({signal:l})=>r.search(s,e,l),enabled:s.length>0,retry:AN})}function Wpe(){const t=Eu();return BS({mutationFn:({path:e,content:r,expectedMtimeMs:n})=>t.writeFile(e,r,n!=null?{expectedMtimeMs:n}:void 0),onSuccess:(e,{path:r})=>{zr.emit(Wn.changed,{...Gg(),path:r})}})}function uvt(){const t=Eu();return BS({mutationFn:({path:e})=>t.createDir(e),onSuccess:(e,{path:r})=>{zr.emit(Wn.created,{...Gg(),path:r,kind:"dir"})}})}function hvt(){const t=Eu();return BS({mutationFn:({from:e,to:r})=>t.moveFile(e,r),onSuccess:(e,{from:r,to:n})=>{zr.emit(Wn.moved,{...Gg(),from:r,to:n})}})}function dvt(){const t=Eu();return BS({mutationFn:({path:e})=>t.deleteFile(e),onSuccess:(e,{path:r})=>{zr.emit(Wn.deleted,{...Gg(),path:r})}})}class fvt{constructor(e={}){Nr(this,"panels",new Map),Nr(this,"registrationOrder",[]),Nr(this,"capabilities"),Nr(this,"listeners",new Set),Nr(this,"snapshotCache",null),Nr(this,"lazyComponentCache",new Map),Nr(this,"wrapperComponentCache",new Map),Nr(this,"generation",0),Nr(this,"subscribe",r=>(this.listeners.add(r),()=>{this.listeners.delete(r)})),Nr(this,"getSnapshot",()=>(this.snapshotCache||(this.snapshotCache=this.filteredPanels()),this.snapshotCache)),this.capabilities=new Set(Object.entries(e).filter(([,r])=>r).map(([r])=>r))}register(e,r){const n=this.panels.has(e);this.panels.set(e,{...r,id:e}),n||this.registrationOrder.push(e),this.emit()}unregister(e){this.panels.delete(e)&&(this.lazyComponentCache.delete(e),this.wrapperComponentCache.delete(e),this.registrationOrder=this.registrationOrder.filter(r=>r!==e),this.emit())}replaceByPluginId(e,r){const n=new Set;for(const[s,a]of this.panels)a.pluginId===e&&n.add(s);if(n.size===0&&r.length===0)return;let i=n.size>0;for(const s of n)this.panels.delete(s),this.lazyComponentCache.delete(s),this.wrapperComponentCache.delete(s);n.size>0&&(this.registrationOrder=this.registrationOrder.filter(s=>this.panels.has(s)));for(const s of r){const a=s.id;if(!a)continue;const o=this.panels.get(a);if(o&&o.pluginId!==e){console.warn(`[PanelRegistry] plugin "${e}" tried to register panel "${a}" already owned by "${o.pluginId??"system"}" — skipped`);continue}this.panels.set(a,{...s,id:a,pluginId:e}),this.registrationOrder.includes(a)||this.registrationOrder.push(a),i=!0}i&&(this.generation+=1,this.emit())}get(e){return this.panels.get(e)}has(e){return this.panels.has(e)}list(){return this.filteredPanels()}listAll(){return this.registrationOrder.map(e=>this.panels.get(e))}getComponents(){const e={};for(const r of this.filteredPanels())e[r.id]=this.getWrappedComponent(r.id);return e}getWrappedComponent(e){const r=this.wrapperComponentCache.get(e);if(r)return r;const n=this,i=function(s){k.useSyncExternalStore(n.subscribe,n.getSnapshot,n.getSnapshot);const a=n.get(e),o=n.generation,l=k.useMemo(()=>!a||!n.satisfiesCapabilities(a)?()=>null:a.lazy?n.getLazyComponent(e,a.component):a.component,[a==null?void 0:a.component,a==null?void 0:a.lazy,a==null?void 0:a.requiresCapabilities,o]),c=(a==null?void 0:a.pluginId)??(a==null?void 0:a.id)??e;return k.createElement(GS,{pluginId:c,contributionKind:"panel",contributionId:e,children:k.createElement(k.Suspense,{fallback:k.createElement("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground"},"Loading…"),children:k.createElement(l,s)})})};return this.wrapperComponentCache.set(e,i),i}getLazyComponent(e,r){const n=this.lazyComponentCache.get(e);if((n==null?void 0:n.importer)===r)return n.component;const i=k.lazy(r);return this.lazyComponentCache.set(e,{importer:r,component:i}),i}emit(){this.snapshotCache=null;for(const e of[...this.listeners])e()}filteredPanels(){return this.registrationOrder.map(e=>this.panels.get(e)).filter(e=>this.satisfiesCapabilities(e))}satisfiesCapabilities(e){var r;return(r=e.requiresCapabilities)!=null&&r.length?e.requiresCapabilities.every(n=>this.capabilities.has(n)):!0}}const iW={ts:_i,tsx:_i,js:_i,jsx:_i,mjs:_i,cjs:_i,py:_i,rb:_i,go:_i,rs:_i,java:_i,c:_i,cpp:_i,h:_i,cs:_i,swift:_i,kt:_i,sh:_i,bash:_i,zsh:_i,json:bF,jsonl:bF,md:Hs,mdx:Hs,txt:Hs,csv:Hs,tsv:Hs,yaml:Hs,yml:Hs,toml:Hs,ini:Hs,cfg:Hs,conf:Hs,env:Hs,png:Hc,jpg:Hc,jpeg:Hc,gif:Hc,svg:Hc,webp:Hc,ico:Hc,bmp:Hc};function pvt(t){var e;const r=(e=t.split(".").pop())==null?void 0:e.toLowerCase();return r&&r in iW?iW[r]:uk}const NT="workspace.open.path";function Ype(t,e){const r=[],n=[];for(const i of t)if(i.kind==="dir"){const s=e.get(i.path);r.push({...i,children:s?Ype(s,e):[]})}else n.push({...i});return r.sort((i,s)=>i.name.localeCompare(s.name)),n.sort((i,s)=>i.name.localeCompare(s.name)),[...r,...n]}function nf(t){const e=t.lastIndexOf("/");return e>0?t.slice(0,e):"."}function O6(t){return t&&t!==""?t:"."}function M6(t,e){if(!(e!=null&&e.length))return t;const r=new Map;for(const n of t??[])r.set(n.path,n);for(const n of e)r.set(n.path,n);return Array.from(r.values())}function Zpe(t,e,r){if(!e||e.kind==="rename")return t;const n={name:"",path:e.path,kind:e.kind==="create-folder"?"dir":"file",isDraft:!0},i=e.parentDir;return i===r||i==="."||i===""?[n,...t]:t.map(s=>{var a;return s.kind!=="dir"?s:s.path===i?{...s,children:[n,...s.children??[]]}:(a=s.children)!=null&&a.length?{...s,children:Zpe(s.children,e,r)}:s})}let OD=null;function mvt(t){OD=t}function Xpe(){if(!OD)throw new Error("Workspace store not initialized. Wrap your app in WorkspaceProvider.");return OD}function gvt(){return uN(Xpe(),t=>t.preferences.theme)}function yvt(){return uN(Xpe(),t=>t.hydrationComplete)}function bvt(t){const{api:e}=t,[r,n]=k.useState(e.title??e.id);k.useEffect(()=>{var u;const d=()=>n(e.title??e.id);d();const m=(u=e.onDidTitleChange)==null?void 0:u.call(e,d);return()=>{var p;return(p=m==null?void 0:m.dispose)==null?void 0:p.call(m)}},[e]);const i=r.endsWith(" ●"),s=i?r.slice(0,-2):r,a=pvt(s),[o,l]=k.useState(!1);ID(Ka.editorSaveStart,u=>{u.panelId===e.id&&l(!0)}),ID(Ka.editorSaveEnd,u=>{u.panelId===e.id&&l(!1)});const c=u=>{u.stopPropagation(),e.close()};return w.jsxs("div",{className:kn("group relative flex h-full w-full min-w-0 items-center gap-1.5 pl-2.5 pr-7 select-none","text-[12.5px] leading-none tracking-tight","cursor-pointer transition-colors"),title:i?`${s} (unsaved changes)`:s,children:[o?w.jsx(ZK,{"data-testid":"tab-saving-spinner","aria-label":"Saving",className:"h-3.5 w-3.5 shrink-0 animate-spin text-[color:var(--accent)]",strokeWidth:2}):w.jsx(a,{className:kn("h-3.5 w-3.5 shrink-0 text-muted-foreground/70","[.dv-active-tab_&]:text-[color:var(--accent)] [.active-tab_&]:text-[color:var(--accent)]"),strokeWidth:1.5}),w.jsx("span",{className:"min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap",children:s}),i?w.jsx("span",{"aria-hidden":"true",className:kn("mr-1 h-1.5 w-1.5 shrink-0 rounded-full bg-foreground/35","[.dv-active-tab_&]:bg-foreground/45 [.active-tab_&]:bg-foreground/45")}):null,w.jsx(si,{type:"button",variant:"ghost",size:"icon-xs",className:kn("absolute right-1 top-1/2 h-5 w-5 -translate-y-1/2 text-muted-foreground opacity-0","focus-visible:opacity-100 group-hover:opacity-100","[.dv-active-tab_&]:opacity-50 [.active-tab_&]:opacity-50","[.dv-active-tab_&]:hover:opacity-100 [.active-tab_&]:hover:opacity-100"),onClick:c,"aria-label":`Close ${s}`,children:w.jsx(Iv,{className:"h-3 w-3",strokeWidth:2.25})})]})}const vvt=300,xvt=k.createContext(null);function _vt(t,e){var r;return"id"in e?t.id===e.id:((r=t.params)==null?void 0:r[e.param])===e.value}function sW(t,e){const r=Array.isArray(e)?e:[e],n=new Set,i=[];for(const s of t.panels)r.some(a=>_vt(s,a))&&(n.has(s.id)||(n.add(s.id),i.push(s)));return i}function wvt(t){switch(t){case"left":return"left";case"right":return"right";case"bottom":return"below";case"center":default:return"within"}}function Cvt(t){function e(){if(!t.current)throw new Error("DockviewShell not initialized");return t.current}return{addPanel(r,n){const i=e(),s=i.groups.find(a=>a.id===r);i.addPanel({id:n.id,component:n.component,title:n.title,params:n.params,position:s?{referenceGroup:s}:void 0})},removePanel(r){const n=e(),i=n.getPanel(r);i&&n.removePanel(i)},activatePanel(r){const n=e().getPanel(r);n&&n.api.setActive()},movePanel(r,n){const i=e(),s=i.getPanel(r);if(!s)return;const a=s.view.contentComponent,o=s.params,l=s.title;i.removePanel(s);const c={id:r,component:a,params:o,title:l};if("groupId"in n){const u=i.groups.find(d=>d.id===n.groupId);i.addPanel({...c,position:u?{referenceGroup:u}:void 0})}else{const u=i.getPanel(n.referencePanelId);i.addPanel({...c,position:u?{referencePanel:u,direction:n.direction}:void 0})}},updatePanelParams(r,n){const i=e().getPanel(r);i&&i.api.updateParameters({...i.params??{},...n})},setPanelTitle(r,n){const i=e().getPanel(r);i&&i.api.setTitle(n)},findPanelsByParam(r,n){return e().panels.filter(i=>{var s;return((s=i.params)==null?void 0:s[r])===n}).map(i=>i.id)},getActivePanel(){var r;return((r=e().activePanel)==null?void 0:r.id)??null},toJSON(){return e().toJSON()}}}function Tvt(t){if(!t.constraints)return null;let e=t.constraints.maxWidth;const r=t.constraints.maxWidthViewportRatio;if(typeof r=="number"&&r>0&&typeof window<"u"){const n=Math.floor(window.innerWidth*r);e=typeof e=="number"?Math.min(e,n):n}return{minimumWidth:t.constraints.minWidth,maximumWidth:e,minimumHeight:t.constraints.minHeight,maximumHeight:t.constraints.maxHeight}}function aW(t,e){const r=t.getPanel(e.panel??e.id);if(!(r!=null&&r.group))return;const n=Tvt(e);n&&r.group.api.setConstraints(n)}function kvt(t,e,r,n,i,s){const a=t.api;if(s.current=a,r)a.fromJSON(r);else{let u=!1;for(const d of e.groups)if(d.panel){if(!n.has(d.panel)){console.error(`[DockviewShell] Panel "${d.panel}" not found in registry. Available: ${n.list().map(m=>m.id).join(", ")}`);continue}a.addPanel({id:d.panel,component:d.panel,params:d.params,position:u?{direction:wvt(d.position)}:void 0}),u=!0}}for(const u of e.groups){const d=a.getPanel(u.panel??u.id);d!=null&&d.group&&(u.locked&&(d.group.locked="no-drop-target"),u.hideHeader&&(d.group.header.hidden=!0),aW(a,u))}const o=e.groups.filter(u=>{var d;return typeof((d=u.constraints)==null?void 0:d.maxWidthViewportRatio)=="number"});let l;if(o.length>0){const u=()=>{for(const d of o)aW(a,d)};window.addEventListener("resize",u),l=()=>window.removeEventListener("resize",u)}let c;if(i){let u=null;const d=()=>{u&&clearTimeout(u),u=setTimeout(()=>{i(a.toJSON())},vvt)},m=a.onDidLayoutChange(d),p=()=>{u&&(clearTimeout(u),i(a.toJSON()))};window.addEventListener("beforeunload",p),c=()=>{p(),m.dispose(),window.removeEventListener("beforeunload",p),l==null||l()}}else c=()=>{l==null||l()};return c}function Svt({layout:t,persistedLayout:e,onReady:r,onLayoutChange:n,allowedPanels:i,className:s,prefixHeaderActions:a,rightHeaderActions:o,watermarkComponent:l}){const c=qg(),u=k.useSyncExternalStore(c.subscribe,c.getSnapshot,c.getSnapshot),d=yvt(),m=k.useRef(null),p=k.useRef(null),y=k.useRef(void 0),b=k.useRef(null),v=k.useMemo(()=>{const S=c.getComponents(),L=i?Object.fromEntries(Object.entries(S).filter(([I])=>i.includes(I))):S,D=b.current;if(D){const I=Object.keys(D),N=Object.keys(L);if(I.length===N.length&&N.every(H=>D[H]===L[H]))return D}return b.current=L,L},[c,u,i]),x=k.useMemo(()=>Cvt(m),[]),C=k.useCallback(S=>{var L;(L=y.current)==null||L.call(y),y.current=kvt(S,t,e,c,n,m),r==null||r(S.api)},[t,e,c,n,r]);k.useEffect(()=>()=>{var S;return(S=y.current)==null?void 0:S.call(y)},[]),k.useEffect(()=>{const S=zr.on(Ka.panelUpdate,({match:D,params:I,title:N})=>{const H=m.current;if(H)for(const B of sW(H,D))I&&B.api.updateParameters({...B.params??{},...I}),N&&B.api.setTitle(N)}),L=zr.on(Ka.panelClose,({match:D})=>{const I=m.current;if(I)for(const N of sW(I,D))I.removePanel(N)});return()=>{S(),L()}},[]);const T=k.useCallback(S=>{if(!d){p.current=S;return}C(S)},[d,C]);return k.useEffect(()=>{d&&p.current&&(C(p.current),p.current=null)},[d,C]),d?w.jsx(xvt.Provider,{value:x,children:w.jsx(Epe,{className:`dv-shell ${s??""}`,components:v,defaultTabComponent:bvt,prefixHeaderActionsComponent:a,rightHeaderActionsComponent:o,watermarkComponent:l,onReady:T})}):w.jsx(Evt,{})}function Evt(){return w.jsx(VK,{centered:!0,className:"bg-background",label:"Loading workspace..."})}function Avt(t){return{get panelId(){return t.id},get title(){return t.title??t.id},setTitle(e){t.setTitle(e)},close(){t.close()},focus(){t.setActive()},get isActive(){return t.isActive}}}function Dvt({title:t,icon:e,essential:r,children:n,className:i,panelApi:s}){return k.useMemo(()=>s?Avt(s):null,[s]),w.jsxs("div",{className:kn("flex h-full flex-col overflow-hidden",i),children:[w.jsxs("div",{className:"flex h-9 shrink-0 items-center gap-2 border-b border-border bg-muted/50 px-3",children:[e&&w.jsx(e,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),w.jsx("span",{className:"truncate text-sm font-medium",children:t}),w.jsx("div",{className:"flex-1"}),!r&&s&&w.jsx(si,{type:"button",variant:"ghost",size:"icon-xs",className:"h-5 w-5 text-muted-foreground",onClick:()=>s.close(),"aria-label":`Close ${t}`,children:w.jsx("svg",{className:"h-3 w-3",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:w.jsx("path",{d:"M18 6 6 18M6 6l12 12"})})})]}),w.jsx("div",{className:"flex-1 overflow-auto",children:n})]})}const Lvt=["node_modules",".git",".boring-agent","dist","test-results",/^\.tsbuildinfo/,".vite",".turbo",".next",".cache"];function MD(t,e){for(const r of e)if(typeof r=="string"?r===t:r.test(t))return!0;return!1}function Ivt(t,e){return e.length===0?t:t==null?void 0:t.filter(r=>!MD(r.name,e))}function Kpe(t){const e=t.trim();if(!e)return e;const r=/[*?\[\]{}]/.test(e)?e:`*${e}*`;return Rvt(r)}function Rvt(t){let e="",r=!1,n=!1;for(const i of t){if(n){e+=i,n=!1;continue}if(i==="\\"){e+=i,n=!0;continue}if(i==="["&&!r){r=!0,e+=i;continue}if(i==="]"&&r){r=!1,e+=i;continue}if(!r&&/[a-z]/i.test(i)){const s=i.toLowerCase(),a=i.toUpperCase();e+=s===a?i:`[${a}${s}]`;continue}e+=i}return e}async function Nvt(t){var e,r;if(typeof navigator<"u"&&(e=navigator.clipboard)!=null&&e.writeText)try{await navigator.clipboard.writeText(t);return}catch{}if(typeof document>"u")throw new Error("Clipboard not available");const n=document.createElement("textarea");n.value=t,n.setAttribute("readonly",""),n.style.position="fixed",n.style.top="-9999px",n.style.left="-9999px",n.style.opacity="0",document.body.appendChild(n);let i=!1;try{n.focus(),n.select(),i=!!((r=document.execCommand)!=null&&r.call(document,"copy"))}finally{document.body.removeChild(n)}if(!i)throw new Error("Clipboard not available")}const Qpe=()=>M(()=>import("./FileTree-nBvBA8m7-CLG_gDQq.js"),__vite__mapDeps([252,253])).then(t=>({default:t.FileTree}));function Ovt(){Qpe()}const Mvt=k.lazy(Qpe);function oW({rootDir:t=".",searchQuery:e,bridge:r,ignoreNames:n=Lvt,className:i}){var s;const a=Eu(),{data:o,error:l,isLoading:c}=Gpe(t),[u,d]=k.useState(new Map),m=O6(t),p=k.useMemo(()=>M6(o,u.get(m)),[o,u,m]),y=k.useMemo(()=>Ivt(p,n),[p,n]),{mutateAsync:b}=Wpe(),{mutateAsync:v}=uvt(),{mutateAsync:x}=hvt(),{mutateAsync:C}=dvt(),[T,S]=k.useState(new Map),L=k.useMemo(()=>{if(u.size===0)return T;const Te=new Map(T);for(const[Ne,Ze]of u){if(Ne===m)continue;const ct=M6(Te.get(Ne),Ze);ct&&Te.set(Ne,ct)}return Te},[T,u,m]),D=k.useRef(null),[I,N]=k.useState(400),[H,B]=k.useState(null),[j,Z]=k.useState(null),te=k.useRef(null),[U,V]=k.useState(((s=r==null?void 0:r.getActiveFile)==null?void 0:s.call(r))??null),[F,X]=k.useState(null),[Q,ae]=k.useState(null),q=k.useRef(0),J=((e==null?void 0:e.trim().length)??0)>0,{data:re}=cvt(J?Kpe(e??""):"",50);k.useEffect(()=>{if(!H)return;function Te(Ne){te.current&&!te.current.contains(Ne.target)&&B(null)}return document.addEventListener("pointerdown",Te),()=>document.removeEventListener("pointerdown",Te)},[H]),k.useEffect(()=>{var Te;if(V(((Te=r==null?void 0:r.getActiveFile)==null?void 0:Te.call(r))??null),!!(r!=null&&r.select))return r.select(Ne=>Ne.activeFile,Ne=>{V(Ne)})},[r]),k.useEffect(()=>{const Te=D.current;if(!Te)return;const Ne=new ResizeObserver(([Ze])=>{Ze&&N(Math.floor(Ze.contentRect.height))});return Ne.observe(Te),()=>Ne.disconnect()},[]);const G=(J&&re?re.map(Te=>({name:Te.split("/").pop()??Te,kind:"file",path:Te})):void 0)??Ype(y??[],L),be=Zpe(G,F,t),ne=k.useCallback(Te=>{V(Te),r==null||r.openFile(Te,{mode:"edit"})},[r]),pe=k.useCallback(async Te=>{try{const Ne=await a.getTree(Te),Ze=n.length===0?Ne:Ne.filter(ct=>!MD(ct.name,n));S(ct=>new Map(ct).set(Te,Ze))}catch{}},[a,n]),me=k.useCallback(async(Te,Ne)=>{const Ze=Array.from(new Set(Te)).filter(Nt=>Nt&&Nt!==t&&Nt!==".");if(Ze.length===0)return;const ct=await Promise.all(Ze.map(async Nt=>{try{const lr=await a.getTree(Nt),vr=n.length===0?lr:lr.filter(sr=>!MD(sr.name,n));return[Nt,vr]}catch{return null}}));S(Nt=>{const lr=new Map(Nt);for(const vr of ct){if(!vr)continue;const[sr,Jt]=vr;(Ne!=null&&Ne.force||lr.has(sr))&&lr.set(sr,Jt)}return lr})},[a,t,n]),ge=k.useCallback((Te,Ne)=>{d(Ze=>{const ct=O6(Te),Nt=new Map(Ze),lr=M6(Nt.get(ct),[Ne])??[Ne];return Nt.set(ct,lr),Nt})},[]),fe=k.useCallback((Te,Ne)=>{d(Ze=>{const ct=O6(Te),Nt=Ze.get(ct);if(!(Nt!=null&&Nt.length))return Ze;const lr=Nt.filter(sr=>sr.path!==Ne),vr=new Map(Ze);return lr.length>0?vr.set(ct,lr):vr.delete(ct),vr})},[]),[ye,De]=k.useState(new Set),Ie=k.useCallback(Te=>{De(Ne=>{const Ze=new Set(Ne);return Ze.add(Te),Ze})},[]),je=k.useCallback(Te=>{De(Ne=>{if(!Ne.has(Te))return Ne;const Ze=new Set(Ne);return Ze.delete(Te),Ze})},[]),lt=k.useCallback((Te,Ne)=>{B({node:Ne,x:Te.clientX,y:Te.clientY})},[]),bt=k.useCallback(Te=>{const Ne=Te.target;Ne.closest("[role=treeitem]")||Ne.closest("[data-path]")||(Te.preventDefault(),B({node:{name:t,kind:"dir",path:t},x:Te.clientX,y:Te.clientY,isBackground:!0}))},[t]),br=k.useCallback(async(Te,Ne)=>{const Ze=Te.split("/").pop()??Te,ct=Ne==="."?t:Ne,Nt=ct==="."?Ze:`${ct}/${Ze}`;if(Nt!==Te){Ie(Te);try{await x({from:Te,to:Nt}),await me([nf(Te),nf(Nt)]),xl.success({title:"Moved",description:`${Te} → ${Nt}`})}catch(lr){xl.error({title:"Move failed",description:lr instanceof Error?lr.message:String(lr)})}finally{je(Te)}}},[x,me,t,Ie,je]);function sn(Te){return()=>{B(null),(async()=>{try{await Te()}catch(Ne){xl.error({title:"Action failed",description:Ne instanceof Error?Ne.message:String(Ne)})}})()}}const at=Te=>{const Ne=H==null?void 0:H.node;B(null);const Ze=(Ne==null?void 0:Ne.kind)==="dir"?Ne.path:Ne?nf(Ne.path):t,ct=`__draft__:${++q.current}`;X({kind:Te,parentDir:Ze,path:ct})},Ht=()=>at("create-file"),_r=()=>at("create-folder"),en=()=>{const Te=H==null?void 0:H.node;B(null),Te&&X({kind:"rename",path:Te.path,initialValue:Te.name})},an=k.useCallback(async(Te,Ne)=>{const Ze=F;if(X(null),!Ze)return;const ct=Ne.trim();if(!ct)return;const Nt=Ze.kind==="rename"?nf(Ze.path):Ze.parentDir,lr=Ze.kind==="rename"?Ze.path:Nt==="."||Nt===""?ct:`${Nt}/${ct}`,vr=Ze.kind==="rename"?Ze.path:lr;Ie(vr);let sr=null;try{if(Ze.kind==="rename"){if(ct===Ze.initialValue)return;const Jt=Ze.path.split("/");Jt[Jt.length-1]=ct;const tr=Jt.join("/");await x({from:Ze.path,to:tr}),await me([nf(Ze.path)]),xl.success({title:"Renamed",description:`${Ze.path} → ${tr}`})}else{const Jt={name:ct,kind:Ze.kind==="create-file"?"file":"dir",path:lr};ge(Nt,Jt),sr=lr,Ze.kind==="create-file"?(await b({path:lr,content:""}),zr.emit(Wn.created,{...Gg(),path:lr,kind:"file"}),xl.success({title:"File created",description:lr})):(await v({path:lr}),xl.success({title:"Folder created",description:lr})),await me([Nt],{force:!0}),ae(lr)}}catch(Jt){sr&&fe(Nt,sr);const tr=Jt instanceof Error?Jt.message:String(Jt);xl.error({title:Ze.kind==="rename"?"Rename failed":Ze.kind==="create-file"?"Create file failed":"Create folder failed",description:tr})}finally{je(vr)}},[F,x,b,v,me,Ie,je,ge,fe]),ss=k.useCallback(()=>{X(null)},[]),Hr=sn(async()=>{H!=null&&H.node&&(await Nvt(H.node.path),xl.success({title:"Path copied",description:H.node.path}))}),Xn=k.useCallback(async()=>{if(!j)return;const Te=j;Z(null),Ie(Te.path);try{await C({path:Te.path}),fe(nf(Te.path),Te.path),await me([nf(Te.path)]),xl.success({title:"Deleted",description:Te.path})}catch(Ne){xl.error({title:"Delete failed",description:Ne instanceof Error?Ne.message:String(Ne)})}finally{je(Te.path)}},[j,C,me,Ie,je,fe]),Oe=!J&&((e==null?void 0:e.length)??0)>0?e:void 0;return w.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[l&&w.jsx(Bm,{className:"m-2 rounded-md p-3",title:"Failed to load files",description:l.message}),w.jsx("div",{ref:D,className:"min-h-0 flex-1 overflow-hidden",onContextMenu:bt,children:c?w.jsx("div",{className:"space-y-1 p-2","data-testid":"tree-skeleton",children:Array.from({length:8}).map((Te,Ne)=>w.jsx(sCe,{className:"h-5",style:{width:`${60+Ne*13%30}%`}},Ne))}):w.jsx(k.Suspense,{fallback:w.jsxs("div",{className:"flex h-full items-center justify-center gap-2 text-sm text-muted-foreground",children:[w.jsx(gg,{className:"size-3.5"}),w.jsx("span",{children:"Loading..."})]}),children:w.jsx(Mvt,{files:be,selectedPath:U,searchQuery:Oe,editing:F?{path:F.path,isDraft:F.kind!=="rename",initialValue:F.kind==="rename"?F.initialValue:void 0}:null,revealPath:Q,pendingPaths:ye,onSelect:ne,onExpand:pe,onContextMenu:lt,onSubmitEdit:an,onCancelEdit:ss,onDragDrop:br,height:I,className:kn(i)})})}),H&&w.jsxs("div",{ref:te,role:"menu",className:"fixed z-50 min-w-[10rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",style:{left:H.x,top:H.y},children:[w.jsx(Xr,{type:"button",role:"menuitem",variant:"ghost",size:"sm",className:"w-full justify-start",onClick:Ht,children:"New file"}),w.jsx(Xr,{type:"button",role:"menuitem",variant:"ghost",size:"sm",className:"w-full justify-start",onClick:_r,children:"New folder"}),!H.isBackground&&w.jsxs(w.Fragment,{children:[w.jsx(Xr,{type:"button",role:"menuitem",variant:"ghost",size:"sm",className:"w-full justify-start",onClick:en,children:"Rename"}),w.jsx(Xr,{type:"button",role:"menuitem",variant:"ghost",size:"sm",className:"w-full justify-start text-destructive hover:bg-destructive/10 hover:text-destructive",onClick:()=>{Z(H.node),B(null)},children:"Delete"}),w.jsx(Xr,{type:"button",role:"menuitem",variant:"ghost",size:"sm",className:"w-full justify-start",onClick:Hr,children:"Copy path"})]})]}),w.jsx(gCe,{open:j!==null,onOpenChange:Te=>{Te||Z(null)},children:w.jsxs(vCe,{children:[w.jsxs(xCe,{children:[w.jsxs(wCe,{children:["Delete ",j==null?void 0:j.name,"?"]}),w.jsx(CCe,{children:"This action cannot be undone."})]}),w.jsxs(_Ce,{children:[w.jsx(kCe,{children:"Cancel"}),w.jsx(TCe,{onClick:Xn,children:"Delete"})]})]})})]})}function Pvt({params:t,rootDir:e=".",searchQuery:r,panelApi:n,bridge:i,api:s,chromeless:a=!1,className:o}){const l=(t==null?void 0:t.rootDir)??e,c=(t==null?void 0:t.bridge)??i,u=(t==null?void 0:t.chromeless)??a,d=(t==null?void 0:t.searchQuery)??(t==null?void 0:t.query)??r,m=n??s,[p,y]=k.useState(""),[b,v]=k.useState(""),x=k.useRef(void 0);k.useEffect(()=>(clearTimeout(x.current),x.current=setTimeout(()=>v(p),200),()=>clearTimeout(x.current)),[p]);const C=d!==void 0?d||void 0:b||void 0;return u?w.jsx(oW,{rootDir:l,searchQuery:C,bridge:c,className:kn("px-1 pt-1 [&_[role=treeitem]]:!indent-0",o)}):w.jsx(Dvt,{title:"Files",panelApi:m,children:w.jsxs("div",{className:"flex h-full flex-col",children:[w.jsx("div",{className:"border-b border-border px-2 py-1.5",children:w.jsx(ak,{placeholder:"Search files...",value:d??p,onChange:T=>y(T.target.value),className:"h-7 text-xs","aria-label":"Search files"})}),w.jsx("div",{className:"min-h-0 flex-1",children:w.jsx(oW,{rootDir:l,searchQuery:C,bridge:c,className:o})})]})})}function Bvt(t){return t.split("/").pop()??t}function Fvt(){return k.useEffect(()=>{const t=zr.on(Wn.moved,({from:r,to:n,...i})=>{zr.emit(Ka.panelUpdate,{...i,match:[{id:`file:${r}`},{param:"path",value:r}],params:{path:n},title:Bvt(n)})}),e=zr.on(Wn.deleted,({path:r,...n})=>{zr.emit(Ka.panelClose,{...n,match:[{id:`file:${r}`},{param:"path",value:r}]})});return()=>{t(),e()}},[]),null}const $vt=new Set(["write","edit","unlink","rename","mkdir"]);function zvt(t){if(typeof t!="object"||t===null)return null;const e=t;if(e.type!=="data-file-changed")return null;const r=e.data;if(typeof r!="object"||r===null)return null;const n=r;return typeof n.op!="string"||!$vt.has(n.op)||typeof n.path!="string"||n.path.length===0||typeof n.toolCallId!="string"||n.toolCallId.length===0||n.oldPath!==void 0&&(typeof n.oldPath!="string"||n.oldPath.length===0)?null:n}function jvt(t){const e=zvt(t);if(!e)return;const r=Rbt(e.toolCallId);switch(e.op){case"rename":e.oldPath&&zr.emit(Wn.moved,{...r,from:e.oldPath,to:e.path});return;case"unlink":zr.emit(Wn.deleted,{...r,path:e.path});return;case"mkdir":zr.emit(Wn.created,{...r,path:e.path,kind:"dir"});return;case"write":e.existsBefore===!1?zr.emit(Wn.created,{...r,path:e.path,kind:"file"}):zr.emit(Wn.changed,{...r,path:e.path});return;case"edit":zr.emit(Wn.changed,{...r,path:e.path});return}}function Hvt(t,e={}){const{skip:r,filesOnly:n=!0}=e;ID(Wn.created,i=>{i.cause==="agent"&&(n&&i.kind!=="file"||r!=null&&r(i.path)||t(i.path))})}function Vvt(){return k.useEffect(()=>zr.on(Ka.agentData,({part:t})=>{jvt(t)}),[]),Hvt(t=>{Mpe({kind:"openFile",params:{path:t}})}),null}const Uvt=250,qvt=3e3,Gvt=3e4;function Wvt(t,e){const{adapter:r,panelId:n,onDirtyChange:i,serverMtime:s}=e,[a,o]=k.useState(!1),[l,c]=k.useState(!1),[u,d]=k.useState(null),[m,p]=k.useState(!1),[y,b]=k.useState(!1),v=k.useRef(void 0),x=k.useRef(null),C=k.useRef(0),T=k.useRef(null),S=k.useRef(i);S.current=i;const L=k.useRef(r);L.current=r;const D=k.useCallback(async()=>{const te=L.current;if(!te||!t||!te.isDirty())return;if(x.current)return x.current;const U=(async()=>{var V;c(!0),zr.emit(Ka.editorSaveStart,{panelId:n});let F;const X=new Promise(Q=>{F=setTimeout(()=>Q("timeout"),Gvt)});try{await Promise.race([te.save().then(()=>"saved"),X])==="saved"&&(C.current=Date.now(),d(Date.now()),o(!1),(V=S.current)==null||V.call(S,t,!1))}catch{}finally{F&&clearTimeout(F),zr.emit(Ka.editorSaveEnd,{panelId:n}),c(!1),x.current=null}})();return x.current=U,U},[t,n]),I=k.useCallback(()=>{clearTimeout(v.current),v.current=setTimeout(D,Uvt)},[D]),N=k.useCallback(()=>{var te;t&&(o(!0),(te=S.current)==null||te.call(S,t,!0),I())},[t,I]),H=k.useCallback(async()=>{var te;if(clearTimeout(v.current),x.current)return x.current;if((te=L.current)!=null&&te.isDirty())return D()},[D]),B=k.useCallback(()=>p(!1),[]),j=k.useCallback(()=>b(!1),[]),Z=k.useCallback(te=>{T.current=te,b(!1)},[]);return k.useEffect(()=>{if(!(s==null||!t)){if(T.current===null){T.current=s;return}if(s!==T.current){if(Date.now()-C.current<qvt){T.current=s;return}T.current=s,a?b(!0):p(!0)}}},[s,t,a]),k.useEffect(()=>()=>clearTimeout(v.current),[]),{isDirty:a,isSaving:l,lastSavedAt:u,markDirty:N,flushSave:H,shouldSync:m,ackSync:B,externalChangeWhileDirty:y,ackExternalChange:j,notifySaved:Z}}function Yvt(t,e){const r=t.metaKey||t.ctrlKey;if(e.mod&&!r||!e.mod&&r||e.shift&&!t.shiftKey||!e.shift&&t.shiftKey)return!1;const n=e.key.toLowerCase(),i=t.key.toLowerCase(),s=t.code.toLowerCase();return i===n||s===n||s===`key${n}`}function Zvt(t){return t instanceof HTMLElement?t.isContentEditable||t.closest("[contenteditable='true'], [contenteditable=''], [contenteditable='plaintext-only']")||t.closest("[role='textbox'], [role='searchbox'], [role='combobox']")?!0:!!t.closest("input, textarea, select"):!1}function DN({shortcuts:t,enabled:e=!0}){const r=k.useRef(t);r.current=t,k.useEffect(()=>{if(!e)return;function n(i){const s=Zvt(i.target);for(const a of r.current)if(!(s&&!a.allowInEditable)&&Yvt(i,a)){i.preventDefault(),i.stopPropagation(),a.handler();return}}return document.addEventListener("keydown",n,!0),()=>document.removeEventListener("keydown",n,!0)},[e])}function Jpe(t){const{path:e,panelId:r=e,initialContent:n=null}=t,{data:i,isLoading:s,error:a}=lvt(e),{mutateAsync:o}=Wpe(),[l,c]=k.useState(n),u=k.useRef(""),d=k.useRef(!1),m=k.useRef(null),p=k.useRef(null),y=k.useRef(null),b=k.useRef(0),[v,x]=k.useState(null);k.useEffect(()=>{m.current!==e&&(c(n),u.current=n??"",d.current=!1,p.current=null,x(null),m.current=e)},[e,n]),k.useEffect(()=>{(i==null?void 0:i.content)!=null&&l===null&&(c(i.content),u.current=i.content,p.current=i.mtimeMs??null)},[i,l]);const C=e&&l!=null?{isDirty:()=>d.current,save:async()=>{var Z;const te=++b.current;try{const U=await o({path:e,content:u.current,expectedMtimeMs:p.current??void 0});if(b.current!==te)return;typeof U.mtimeMs=="number"&&(p.current=U.mtimeMs,(Z=y.current)==null||Z.call(y,U.mtimeMs)),d.current=!1,x(null)}catch(U){throw b.current!==te||U instanceof cv&&(typeof U.currentMtimeMs=="number"&&(p.current=U.currentMtimeMs),x(U)),U}},getContent:()=>u.current}:null,T=Wvt(e,{adapter:C,panelId:r,serverMtime:(i==null?void 0:i.mtimeMs)??null});y.current=T.notifySaved,k.useEffect(()=>{if(!(!T.shouldSync||(i==null?void 0:i.content)==null)){if(d.current){T.ackSync();return}c(i.content),u.current=i.content,p.current=i.mtimeMs??null,d.current=!1,T.ackSync()}},[T.shouldSync,T,i,c]),k.useEffect(()=>{!T.externalChangeWhileDirty||(i==null?void 0:i.mtimeMs)==null||(x(new cv(e,i.mtimeMs,p.current)),p.current=i.mtimeMs,T.ackExternalChange())},[T.externalChangeWhileDirty,T,i,e]);const S=e?e.split("/").pop()??e:"",[L,D]=k.useState("");k.useEffect(()=>{const Z=S?T.isDirty?`${S} ●`:S:"";D(Z)},[S,T.isDirty,r]);const I=k.useCallback(Z=>{c(Z),u.current=Z,d.current=!0,T.markDirty()},[c,T]),N=k.useCallback(async()=>{var Z;i&&(c(i.content),u.current=i.content,p.current=i.mtimeMs??null,d.current=!1,typeof i.mtimeMs=="number"&&((Z=y.current)==null||Z.call(y,i.mtimeMs)),x(null))},[i,c]),H=k.useCallback(async()=>{var Z;const te=++b.current;try{const U=u.current,V=await o({path:e,content:U});if(b.current!==te)return;typeof V.mtimeMs=="number"&&(p.current=V.mtimeMs,(Z=y.current)==null||Z.call(y,V.mtimeMs)),d.current=!1,x(null)}catch{}},[e,o]),B=k.useCallback(async()=>{!C||!d.current||await C.save()},[C]),j=k.useCallback(async()=>{await T.flushSave()},[T]);return{isLoading:s,error:a,content:l,isDirty:T.isDirty,conflict:v,onReloadFromServer:N,onOverwrite:H,setContent:I,save:B,flushSave:j,fileName:S,tabTitle:L}}function Xvt({conflict:t,onReload:e,onOverwrite:r}){return w.jsx(jK,{role:"alert",tone:"accent",className:"rounded-none border-x-0 border-t-0",description:w.jsx(w.Fragment,{children:"This file has been modified outside the editor. Your unsaved changes will be lost if you reload, or will overwrite the latest version on disk if you save."}),actions:w.jsxs(w.Fragment,{children:[w.jsx(Xr,{type:"button",variant:"outline",size:"xs",onClick:()=>void e(),children:"Reload"}),w.jsx(Xr,{type:"button",variant:"destructive",size:"xs",onClick:()=>void r(),children:"Overwrite"}),w.jsx("span",{className:"sr-only",children:t.path})]})})}function e0e({path:t,content:e,isLoading:r,error:n,conflict:i,onChange:s,onReload:a,onOverwrite:o,editorComponent:l,editorProps:c={},loadingFallback:u,errorMessage:d,className:m}){if(!t)return w.jsx("div",{className:"flex h-full items-center justify-center p-6",children:w.jsx(zK,{className:"min-h-0 border-0",title:"No file selected",description:"Choose a file from the file tree to open an editor."})});if(n)return w.jsx("div",{className:"flex h-full items-center justify-center p-6",children:w.jsx(Bm,{title:"Failed to load file",description:d??n.message})});const p=u??w.jsxs("div",{className:"flex h-full items-center justify-center gap-2 text-sm text-muted-foreground",children:[w.jsx(gg,{className:"size-3.5"}),w.jsx("span",{children:"Loading file..."})]});return w.jsxs("div",{className:`flex h-full min-h-0 flex-col ${m??""}`,children:[i&&w.jsx(Xvt,{conflict:i,onReload:a,onOverwrite:o}),w.jsx(k.Suspense,{fallback:p,children:r||e===null?p:w.jsx(l,{content:e,onChange:s,className:c.className,...c})})]})}const Kvt=k.lazy(()=>M(()=>import("./CodeEditor-DQqOn4xz-BAFzWEWd.js"),__vite__mapDeps([254,255])).then(t=>t.a).then(t=>({default:t.CodeEditor})));function Qvt(t){var e;switch((e=t.split(".").pop())==null?void 0:e.toLowerCase()){case"js":case"jsx":return"javascript";case"ts":case"tsx":return"typescript";case"py":return"python";case"json":return"json";case"yaml":case"yml":return"yaml";case"md":case"markdown":return"markdown";case"sql":return"sql";default:return"typescript"}}function lW({params:t,api:e,className:r}){const n=typeof(t==null?void 0:t.path)=="string"?t.path:"",{content:i,isLoading:s,error:a,conflict:o,setContent:l,onReloadFromServer:c,onOverwrite:u,tabTitle:d}=Jpe({path:n,panelId:e==null?void 0:e.id});e&&d&&e.setTitle(d);const m=Qvt(n);return w.jsx(e0e,{path:n,content:i,isLoading:s,error:a,conflict:o,onChange:l,onReload:c,onOverwrite:u,editorComponent:Kvt,editorProps:{language:m,wordWrap:!0,className:r}})}const Jvt=k.lazy(()=>M(()=>import("./MarkdownEditor-CeigBQee-D92npGfE.js"),__vite__mapDeps([256,253,255])).then(t=>({default:t.MarkdownEditor})));function ext({params:t,api:e,className:r}){const n=typeof(t==null?void 0:t.path)=="string"?t.path:"",{content:i,isLoading:s,error:a,conflict:o,setContent:l,onReloadFromServer:c,onOverwrite:u,tabTitle:d}=Jpe({path:n,panelId:e==null?void 0:e.id});return e&&d&&e.setTitle(d),w.jsx(e0e,{path:n,content:i,isLoading:s,error:a,conflict:o,onChange:l,onReload:c,onOverwrite:u,editorComponent:Jvt,editorProps:{className:r,documentPath:n}})}function txt(t,e){return`${t.replace(/\/$/,"")}${e}`}function F_(t){return t.split("/").pop()??t}function rxt({path:t,kind:e,className:r}){const n=Dp(),i=Lp(),[s,a]=k.useState(null),[o,l]=k.useState(null),[c,u]=k.useState(!0),d=k.useMemo(()=>txt(n,`/api/v1/files/raw?path=${encodeURIComponent(t)}`),[n,t]);return k.useEffect(()=>{const m=new AbortController;let p=null;u(!0),l(null),a(null);const y={};return i&&(y["x-boring-workspace-id"]=i),fetch(d,{credentials:"include",headers:y,signal:m.signal}).then(async b=>{if(!b.ok)throw new Error(`HTTP ${b.status}`);const v=await b.blob();p=URL.createObjectURL(v),a(p)}).catch(b=>{m.signal.aborted||l(b instanceof Error?b.message:"Failed to load preview")}).finally(()=>{m.signal.aborted||u(!1)}),()=>{m.abort(),p&&URL.revokeObjectURL(p)}},[d,i]),t?c?w.jsxs("div",{className:"flex h-full items-center justify-center gap-2 text-sm text-muted-foreground",children:[w.jsx(gg,{className:"size-3.5"}),w.jsx("span",{children:"Loading preview..."})]}):o||!s?w.jsx("div",{className:"flex h-full items-center justify-center p-6",children:w.jsx(Bm,{title:"Failed to load preview",description:o??"Preview unavailable."})}):w.jsxs("div",{className:kn("flex h-full min-h-0 flex-col bg-background",r),children:[w.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-3 border-b border-border/60 px-3 py-2",children:[w.jsx("div",{className:"min-w-0 truncate text-xs font-medium text-muted-foreground",title:t,children:F_(t)}),w.jsx("a",{href:s,download:F_(t),className:"rounded-md px-2 py-1 text-xs text-muted-foreground hover:bg-muted hover:text-foreground",children:"Download"})]}),w.jsx("div",{className:"flex min-h-0 flex-1 items-center justify-center overflow-auto p-4",children:e==="image"?w.jsx("img",{src:s,alt:F_(t),className:"max-h-full max-w-full rounded-md object-contain shadow-sm"}):w.jsx("iframe",{src:s,title:F_(t),className:"h-full min-h-[480px] w-full rounded-md border border-border bg-background"})})]}):w.jsx("div",{className:"flex h-full items-center justify-center p-6",children:w.jsx(Bm,{title:"No file selected",description:"Choose an image or PDF from the file tree."})})}function nxt(t,e){return e||(t.toLowerCase().endsWith(".pdf")?"pdf":"image")}function cW({params:t,className:e}){const r=(t==null?void 0:t.path)??"";return w.jsx(rxt,{path:r,kind:nxt(r,t==null?void 0:t.kind),className:e})}function ixt(t,e){return`${t.replace(/\/$/,"")}${e}`}function uW(t){return t.split("/").pop()??t}function sxt(t){const e=t.replace(/\\/g,"/"),r=e.lastIndexOf("/");return r===-1?"":e.slice(0,r)}function t0e(t){const e=t.search(/[?#]/);return e===-1?{pathname:t,suffix:""}:{pathname:t.slice(0,e),suffix:t.slice(e)}}function axt(t){return/^[a-z][a-z0-9+.-]*:/i.test(t)||t.startsWith("//")||t.startsWith("#")||t.startsWith("/api/")}function r0e(t,e){const r=e.trim();if(!r||axt(r))return null;const{pathname:n}=t0e(r);if(!n)return null;const i=n.startsWith("/")?n.split("/"):[...sxt(t).split("/"),...n.split("/")],s=[];for(const a of i)if(!(!a||a===".")){if(a===".."){if(s.length===0)return null;s.pop();continue}s.push(a)}return s.join("/")}function LN(t,e,r){const n=new URLSearchParams({path:e});return r&&n.set("workspaceId",r),ixt(t,`/api/v1/files/raw?${n.toString()}`)}function uv(t,e,r,n){const i=r0e(e,r);if(!i)return r;const{suffix:s}=t0e(r.trim()),a=s.indexOf("#"),o=a===-1?"":s.slice(a);return`${LN(t,i,n)}${o}`}function P6(t,e,r,n){return t.replace(/url\(\s*(["']?)([^"')]+)\1\s*\)/gi,(i,s,a)=>`url(${s}${uv(r,e,a,n)}${s})`).replace(/@import\s+(url\(\s*)?(["'])([^"']+)\2\s*\)?/gi,(i,s,a,o)=>{const l=uv(r,e,o,n);return s?`@import ${s}${a}${l}${a})`:i.replace(`${a}${o}${a}`,`${a}${l}${a}`)})}function oxt(t,e,r,n){return t.split(",").map(i=>{const s=i.trim(),[a,...o]=s.split(/\s+/);return a?[uv(r,e,a,n),...o].join(" "):i}).join(", ")}async function n0e(t,e,r){const n=await fetch(t,{credentials:"include",headers:e,signal:r});if(!n.ok)throw new Error(`HTTP ${n.status}`);return n.text()}async function lxt(t){const{html:e,path:r,apiBaseUrl:n,headers:i,workspaceRequestId:s,signal:a}=t,o=new DOMParser().parseFromString(e,"text/html");await Promise.all(Array.from(o.querySelectorAll('link[rel~="stylesheet"][href]')).map(async c=>{const u=c.getAttribute("href");if(!u)return;const d=r0e(r,u);if(d)try{const m=await n0e(LN(n,d,s),i,a),p=o.createElement("style");p.setAttribute("data-boring-html-viewer-href",u),p.textContent=P6(m,d,n,s),c.replaceWith(p)}catch{c.setAttribute("href",uv(n,r,u,s))}}));for(const c of Array.from(o.querySelectorAll("style")))c.hasAttribute("data-boring-html-viewer-href")||(c.textContent=P6(c.textContent??"",r,n,s));for(const c of Array.from(o.querySelectorAll("[style]"))){const u=c.getAttribute("style");u&&c.setAttribute("style",P6(u,r,n,s))}const l=[["img","src"],["source","src"],["video","src"],["audio","src"],["track","src"],["iframe","src"],["script","src"],["object","data"],["embed","src"],["link","href"]];for(const[c,u]of l)for(const d of Array.from(o.querySelectorAll(`${c}[${u}]`))){const m=d.getAttribute(u);m&&d.setAttribute(u,uv(n,r,m,s))}for(const c of Array.from(o.querySelectorAll("[srcset]"))){const u=c.getAttribute("srcset");u&&c.setAttribute("srcset",oxt(u,r,n,s))}return`<!doctype html>
|
|
1330
1330
|
${o.documentElement.outerHTML}`}function cxt({path:t,className:e}){const r=Dp(),n=Lp(),[i,s]=k.useState(null),[a,o]=k.useState(null),[l,c]=k.useState(!0),u=k.useMemo(()=>LN(r,t,n),[r,t,n]);return k.useEffect(()=>{const d=new AbortController;c(!0),o(null),s(null);const m={};return n&&(m["x-boring-workspace-id"]=n),n0e(u,m,d.signal).then(async p=>{s(await lxt({html:p,path:t,apiBaseUrl:r,headers:m,workspaceRequestId:n,signal:d.signal}))}).catch(p=>{d.signal.aborted||o(p instanceof Error?p.message:"Failed to load HTML preview")}).finally(()=>{d.signal.aborted||c(!1)}),()=>d.abort()},[r,t,u,n]),t?l?w.jsxs("div",{className:"flex h-full items-center justify-center gap-2 text-sm text-muted-foreground",children:[w.jsx(gg,{className:"size-3.5"}),w.jsx("span",{children:"Loading HTML preview..."})]}):a||i===null?w.jsx("div",{className:"flex h-full items-center justify-center p-6",children:w.jsx(Bm,{title:"Failed to load HTML preview",description:a??"Preview unavailable."})}):w.jsxs("div",{className:kn("flex h-full min-h-0 flex-col bg-background",e),children:[w.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-3 border-b border-border/60 px-3 py-2",children:[w.jsx("div",{className:"min-w-0 truncate text-xs font-medium text-muted-foreground",title:t,children:uW(t)}),w.jsx("a",{href:u,target:"_blank",rel:"noreferrer",className:"rounded-md px-2 py-1 text-xs text-muted-foreground hover:bg-muted hover:text-foreground",children:"Open raw"})]}),w.jsx("iframe",{srcDoc:i,title:uW(t),sandbox:"allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox",className:"min-h-0 flex-1 border-0 bg-white"})]}):w.jsx("div",{className:"flex h-full items-center justify-center p-6",children:w.jsx(Bm,{title:"No file selected",description:"Choose an HTML file from the file tree."})})}function uxt({params:t,className:e}){return w.jsx(cxt,{path:(t==null?void 0:t.path)??"",className:e})}function hxt({params:t}){const{path:e}=t,r=e.includes(".")?e.split(".").pop():void 0;return w.jsx("div",{className:"flex h-full items-center justify-center p-8",children:w.jsx(zK,{className:"border-0",title:"No editor available",description:r?`Install or enable a plugin that handles *.${r} files.`:"Install or enable a plugin that handles this file type.",children:w.jsx(Ch,{children:e})})})}const gy={id:Hpe,title:"Unsupported file",component:hxt,placement:"center",source:"builtin"},hW=[{component:Ppe,patterns:["**/*.ts","**/*.tsx","**/*.js","**/*.jsx","**/*.py","**/*.rs","**/*.go","**/*.json","**/*.yml","**/*.yaml","**/*.toml","**/*.css","**/*.svg","**/*.sh","**/*.sql","**/*.graphql"]},{component:Bpe,patterns:["**/*.csv","**/*.tsv","**/*.data"]},{component:Fpe,patterns:["**/*.md","**/*.mdx"]},{component:$pe,patterns:["**/*.avif","**/*.gif","**/*.jpeg","**/*.jpg","**/*.png","**/*.svg","**/*.webp"]},{component:zpe,patterns:["**/*.pdf"]},{component:jpe,patterns:["**/*.html","**/*.htm"]},{component:Hpe,fallback:!0}];function dxt(t){const e=t.split("/").filter(Boolean).length,r=t.replace(/[*?!]/g,"").length;return e*10+r}function fxt(t){let e="^";for(let r=0;r<t.length;r++){const n=t[r],i=t[r+1];if(n==="*"&&i==="*"){t[r+2]==="/"?(e+="(?:.*/)?",r+=2):(e+=".*",r+=1);continue}if(n==="*"){e+="[^/]*";continue}if(n==="?"){e+="[^/]";continue}if(/[$()+,.=[\]^{|}\\]/.test(n)){e+=`\\${n}`;continue}e+=n}return new RegExp(`${e}$`)}function pxt(t,e){return fxt(e).test(t.replace(/\\/g,"/"))}function mxt(t){return t.split("/").pop()??t}function gxt(t){let e,r=-1;for(const n of hW)for(const i of n.patterns??[]){if(!pxt(t,i))continue;const s=dxt(i);s>=r&&(e=n,r=s)}return e??hW.find(n=>n.fallback)}const B6={id:Ybt,source:"builtin",resolve(t){if(t.kind!==NT)return;const e=t.target,r=gxt(e);if(r)return{id:`file:${e}`,component:r.component,title:mxt(e),params:{path:e},score:r.fallback?-1:0}}};function yxt(t){const e=t.lastIndexOf("/");return{id:t,title:e>=0?t.slice(e+1):t,subtitle:e>=0?t.slice(0,e+1):void 0}}function dW(){return{items:[],total:0,hasMore:!1}}function bxt({client:t,onSelect:e}){return{id:Aw,label:"Files",adapter:{async search({query:r,limit:n,signal:i}){const s=r.trim();if(!s||i!=null&&i.aborted)return dW();const a=await t.search(Kpe(s),n,i);return i!=null&&i.aborted?dW():{items:a.map(yxt),total:a.length,hasMore:!1}}},onSelect:r=>e==null?void 0:e(r.id,r)}}function vxt({apiBaseUrl:t,authHeaders:e,onAuthError:r,apiTimeout:n,children:i}){return k.createElement(tvt,{apiBaseUrl:t,authHeaders:e,onAuthError:r,timeout:n,children:i})}function xxt(){return k.useEffect(()=>{Ovt()},[]),Gpe("."),null}function _xt(){const t=Eu(),e=qS();return k.useEffect(()=>{const r=e.get(Aw);if(r&&r.pluginId!==Ew)return;const n=bxt({client:t,onSelect:i=>{Mpe({kind:"openFile",params:{path:i}})}});return e.register(n,Ew),()=>{var i;((i=e.get(Aw))==null?void 0:i.pluginId)===Ew&&e.unregister(Aw)}},[e,t]),null}const wxt=t=>{t.registerProvider({id:"filesystem-data",component:vxt}),t.registerBinding({id:"filesystem-tree-preload",component:xxt}),t.registerLeftTab({id:ND,title:"Files",panelId:ND,component:Pvt,source:"builtin",icon:Vw}),t.registerPanel({id:gy.id,label:gy.title,component:gy.component,placement:gy.placement,source:gy.source}),t.registerPanel({id:Ppe,label:"Code",component:lW,placement:"center",source:"builtin"}),t.registerPanel({id:Bpe,label:"CSV",component:lW,placement:"center",source:"builtin"}),t.registerPanel({id:Fpe,label:"Markdown",component:ext,placement:"center",source:"builtin"}),t.registerPanel({id:$pe,label:"Image",component:cW,placement:"center",source:"builtin"}),t.registerPanel({id:zpe,label:"PDF",component:cW,placement:"center",source:"builtin"}),t.registerPanel({id:jpe,label:"HTML",component:uxt,placement:"center",source:"builtin"}),t.registerSurfaceResolver({id:B6.id,kind:"workspace.open.path",source:B6.source,resolve:B6.resolve}),t.registerBinding({id:"filesystem-catalog",component:_xt}),t.registerBinding({id:"filesystem-file-panel",component:Fvt}),t.registerBinding({id:"filesystem-agent-file-bridge",component:Vvt})},fW=Gyt({id:Ew,label:"Filesystem",setup:wxt});class Cxt{constructor(){Nr(this,"commands",new Map),Nr(this,"listeners",new Set),Nr(this,"snapshotCache",null),Nr(this,"subscribe",e=>(this.listeners.add(e),()=>{this.listeners.delete(e)})),Nr(this,"getSnapshot",()=>(this.snapshotCache||(this.snapshotCache=this.getCommands()),this.snapshotCache))}registerCommand(e){this.commands.set(e.id,e),this.emit()}unregisterByPluginId(e){let r=!1;for(const[n,i]of this.commands)i.pluginId===e&&(this.commands.delete(n),r=!0);r&&this.emit()}unregisterCommand(e){this.commands.delete(e)&&this.emit()}replaceByPluginId(e,r){const n=new Set;for(const[s,a]of this.commands)a.pluginId===e&&n.add(s);if(n.size===0&&r.length===0)return;let i=n.size>0;for(const s of n)this.commands.delete(s);for(const s of r){const a=this.commands.get(s.id);if(a&&a.pluginId!==e){console.warn(`[CommandRegistry] plugin "${e}" tried to register command "${s.id}" already owned by "${a.pluginId??"system"}" — skipped`);continue}this.commands.set(s.id,{...s,pluginId:e}),i=!0}i&&this.emit()}getCommand(e){return this.commands.get(e)}getCommands(){return Array.from(this.commands.values())}getActiveCommands(){return this.getCommands().filter(e=>{if(!e.when)return!0;try{return e.when()}catch{return!1}})}emit(){this.snapshotCache=null;for(const e of[...this.listeners])e()}}const Txt=jh().max(64).regex(/^[a-zA-Z0-9_-]+$/),Dw=jh().max(1024),kxt=Q0().nonnegative(),Sxt=Oo({collapsed:J3e(),width:Q0().int().positive()}),Ext=zL(Txt,kxt),Axt=Oo({root:zQ(),width:Q0().nonnegative().optional(),height:Q0().nonnegative().optional(),orientation:Q0().optional()}).passthrough(),Dxt=Oo({id:Dw,contentComponent:Dw.optional(),title:Dw.optional()}).passthrough(),Lxt=Oo({grid:Axt,panels:zL(Dw,Dxt)}).passthrough().nullable(),Ixt=Oo({layout:Lxt,sidebar:Sxt,panelSizes:Ext}),Rxt=Oo({theme:jL(["light","dark"])});function Nxt(t){const e=Ixt.safeParse(t);return e.success?e.data:(console.error("Layout validation failed:",e.error.issues),null)}function Oxt(t){const e=Rxt.safeParse(t);return e.success?e.data:(console.error("Preferences validation failed:",e.error.issues),null)}const pW=1e5,mW="2.0";let gW=!1,OT=null;function yW(t,e){if(!gW)try{localStorage.setItem(t,e)}catch(r){if(r instanceof DOMException&&(r.name==="QuotaExceededError"||r.code===22)){localStorage.removeItem(t);try{localStorage.setItem(t,e)}catch{gW=!0,console.error("localStorage quota exceeded. Persistence disabled for this session."),OT==null||OT()}}}}function Mxt(t){try{const e=localStorage.getItem(t);if(!e)return{theme:"light"};const r=JSON.parse(e),n=Oxt(r==null?void 0:r.state);return n?{theme:n.theme}:{theme:"light"}}catch{return{theme:"light"}}}function Pxt(t={}){const e=t.storageKey??(t.workspaceId?`boring-ui-v2:layout:${t.workspaceId}`:"boring-ui-v2:layout"),r="boring-ui-v2:preferences",n=t.persistenceEnabled===!1,i=n?{theme:"light"}:Mxt(r),s=Vmt()(Gmt((o,l)=>({hydrationComplete:!1,layout:null,sidebar:{collapsed:!1,width:260},panelSizes:{},preferences:i,panels:[],activePanel:null,activeFile:null,visibleFiles:[],dirtyFiles:{},notifications:[],setHydrationComplete:c=>o({hydrationComplete:c}),setLayout:c=>o({layout:c}),setSidebar:c=>o({sidebar:{...l().sidebar,...c}}),setPanelSize:(c,u)=>o({panelSizes:{...l().panelSizes,[c]:u}}),setTheme:c=>{o({preferences:{theme:c}}),n||yW(r,JSON.stringify({state:{theme:c},version:0}))},openPanel:c=>o(u=>({panels:u.panels.some(d=>d.id===c.id)?u.panels:[...u.panels,c],activePanel:c.id})),closePanel:c=>o(u=>({panels:u.panels.filter(d=>d.id!==c),activePanel:u.activePanel===c?null:u.activePanel})),activatePanel:c=>o({activePanel:c}),openFile:(c,u)=>o(d=>({activeFile:c,visibleFiles:d.visibleFiles.includes(c)?d.visibleFiles:[...d.visibleFiles,c],activePanel:u??d.activePanel})),markDirty:(c,u)=>o(d=>({dirtyFiles:{...d.dirtyFiles,[c]:{panelId:u,savedAt:null}}})),markClean:c=>o(u=>{const{[c]:d,...m}=u.dirtyFiles;return{dirtyFiles:m}}),showNotification:c=>o(u=>({notifications:[...u.notifications,{...c,id:crypto.randomUUID(),timestamp:Date.now()}]})),dismissNotification:c=>o(u=>({notifications:u.notifications.filter(d=>d.id!==c)})),navigateToLine:(c,u)=>o({activeFile:c}),resetLayout:()=>{localStorage.removeItem(e),o({layout:null,sidebar:{collapsed:!1,width:260},panelSizes:{}})}}),{name:e,partialize:o=>({layout:o.layout,sidebar:o.sidebar,panelSizes:o.panelSizes}),onRehydrateStorage:()=>o=>{o==null||o.setHydrationComplete(!0)},storage:n?{getItem:()=>null,setItem:()=>{},removeItem:()=>{}}:{getItem:o=>{try{const l=localStorage.getItem(o);if(!l)return null;const c=JSON.parse(l);if((c==null?void 0:c.version)!==void 0&&String(c.version)!==mW)return t.onLayoutVersionMismatch?t.onLayoutVersionMismatch():localStorage.removeItem(o),null;const u=Nxt(c==null?void 0:c.state);return u?{...c,state:u}:(console.error("Layout restored with defaults"),null)}catch{return console.error("Layout restored with defaults"),null}},setItem:(o,l)=>{const c={...l,version:mW},u=JSON.stringify(c);u.length>pW&&console.warn(`Workspace state serialized to ${u.length} bytes (budget: <${pW})`),yW(o,u)},removeItem:o=>{localStorage.removeItem(o)}}}));OT=()=>{s.getState().showNotification({message:"Storage full — layout changes won't be saved this session.",type:"warning"})};let a=null;return typeof window<"u"&&(a=o=>{o.key===e&&console.log("Layout key changed in another tab (not auto-applied)")},window.addEventListener("storage",a)),Object.assign(s,{cleanup:()=>{a&&typeof window<"u"&&(window.removeEventListener("storage",a),a=null),OT=null}})}const MT=50,i0e="Catalogs";function bW(t){return t instanceof Error?t.message:"Search failed"}function s0e(t){if(!t.when)return!0;try{return t.when()}catch{return!1}}function Bxt(t,e){const r=t.filter(s0e);if(!e)return r.slice(0,MT);const n=e.toLowerCase();return r.filter(i=>{var s;return i.title.toLowerCase().includes(n)?!0:((s=i.keywords)==null?void 0:s.some(a=>a.toLowerCase().includes(n)))??!1}).slice(0,MT)}function Fxt(t,e,r){return t.filter(n=>{if(n.type==="catalog")return e.some(s=>s.id===n.catalogId);const i=r.find(s=>s.id===n.commandId);return!!i&&s0e(i)})}const a0e="boring-ui-v2:command-palette:recent",o0e=50;function IN(){try{const t=localStorage.getItem(a0e);if(!t)return[];const e=JSON.parse(t);return Array.isArray(e)?e.filter($xt).slice(0,o0e):[]}catch{return[]}}function l0e(t){try{localStorage.setItem(a0e,JSON.stringify(t.slice(0,o0e)))}catch{}}function vW(t,e){const r=IN().filter(n=>!(n.type==="catalog"&&n.catalogId===t&&n.rowId===e.id));r.unshift({type:"catalog",catalogId:t,rowId:e.id,rowSnapshot:e,selectedAt:Date.now()}),l0e(r)}function xW(t,e){const r=IN().filter(n=>!(n.type==="command"&&n.commandId===t));r.unshift({type:"command",commandId:t,titleSnapshot:e,selectedAt:Date.now()}),l0e(r)}function $xt(t){if(typeof t!="object"||t===null)return!1;const e=t;return e.type==="catalog"?typeof e.catalogId=="string"&&typeof e.rowId=="string"&&typeof e.rowSnapshot=="object"&&e.rowSnapshot!==null&&typeof e.selectedAt=="number":e.type==="command"?typeof e.commandId=="string"&&typeof e.titleSnapshot=="string"&&typeof e.selectedAt=="number":!1}function zxt({catalogs:t,commands:e,isCommandMode:r,searchQuery:n,close:i}){const s=k.useMemo(()=>r||n?[]:Fxt(IN(),t,e),[r,n,t,e]),a=k.useCallback((c,u)=>{vW(c.id,u),c.onSelect(u),i()},[i]),o=k.useCallback(c=>{xW(c.id,c.title),c.run(),i()},[i]),l=k.useCallback(c=>{if(c.type==="catalog"){const u=t.find(d=>d.id===c.catalogId);u&&(vW(u.id,c.rowSnapshot),u.onSelect(c.rowSnapshot))}else{const u=e.find(d=>d.id===c.commandId);u&&(xW(u.id,u.title),u.run())}i()},[t,e,i]);return{recentEntries:s,handleCatalogSelect:a,handleCommandSelect:o,handleRecentSelect:l}}function jxt({open:t,setOpen:e,mode:r,setMode:n,setQuery:i}){const s=k.useRef(null),a=k.useRef(null),o=k.useRef(!1);k.useEffect(()=>{if(!t)return;const m=y=>{y.key==="Escape"&&(y.preventDefault(),y.stopPropagation(),e(!1))},p=y=>{const b=y.target;if(!b)return;const v=document.querySelector('[data-slot="dialog-content"]');v&&!v.contains(b)&&(y.preventDefault(),y.stopPropagation(),e(!1))};return window.addEventListener("keydown",m,{capture:!0}),window.addEventListener("pointerdown",p,{capture:!0}),()=>{window.removeEventListener("keydown",m,{capture:!0}),window.removeEventListener("pointerdown",p,{capture:!0})}},[t,e]);const l=k.useCallback(()=>{!t&&document.activeElement instanceof HTMLElement&&(a.current=document.activeElement),e(!0)},[t,e]);DN({shortcuts:k.useMemo(()=>[{key:"k",mod:!0,allowInEditable:!0,handler:l},{key:"p",mod:!0,allowInEditable:!0,handler:l}],[l])}),k.useEffect(()=>{if(t)i(""),n("catalogs"),requestAnimationFrame(()=>{var m;(m=s.current)==null||m.focus()});else if(o.current){const m=a.current;m&&m.isConnected&&m.focus(),a.current=null}o.current=t},[t,n,i]);const c=k.useCallback(m=>{n(m),i(p=>p.replace(/^>\s*/,"")),requestAnimationFrame(()=>{var p;return(p=s.current)==null?void 0:p.focus()})},[n,i]),u=k.useCallback(()=>{c(r==="commands"?"catalogs":"commands")},[r,c]),d=k.useCallback(m=>{m.key==="Tab"&&(m.preventDefault(),m.stopPropagation(),u())},[u]);return{inputRef:s,switchMode:c,handleInputKeyDown:d}}function Hxt({catalogs:t,isCommandMode:e,searchQuery:r}){const[n,i]=k.useState(""),[s,a]=k.useState([]);return k.useEffect(()=>{if(e){i("");return}const o=setTimeout(()=>i(r),180);return()=>clearTimeout(o)},[e,r]),k.useEffect(()=>{if(e||!n){a([]);return}const o=new AbortController,l=[...t];a(u=>{const d=new Map(u.map(m=>[m.catalog.id,m]));return l.map(m=>{const p=d.get(m.id);return{catalog:m,rows:(p==null?void 0:p.rows)??[],loading:!0}})});const c=(u,d)=>{o.signal.aborted||a(m=>m.map(p=>p.catalog.id===u.id?{catalog:u,...d}:p))};for(const u of l)try{const d=u.adapter.search({query:n,filters:{},limit:MT,offset:0,signal:o.signal});Promise.resolve(d).then(m=>{c(u,{rows:m.items.slice(0,MT),loading:!1})},m=>{c(u,{rows:[],loading:!1,error:bW(m)})})}catch(d){c(u,{rows:[],loading:!1,error:bW(d)})}return()=>{o.abort()}},[t,n,e]),s}function Vxt(t){const[e,r]=k.useState(!1),[n,i]=k.useState(""),[s,a]=k.useState("catalogs"),o=nbt(),l=rbt(),c=W2t(),u=k.useMemo(()=>{const I={};for(const N of(c==null?void 0:c.registeredPlugins)??[])N.label&&(I[N.id]=N.label);return I},[c==null?void 0:c.registeredPlugins]),d=s==="commands",m=n.trim(),p=Hxt({catalogs:o,isCommandMode:d,searchQuery:m}),{inputRef:y,switchMode:b,handleInputKeyDown:v}=jxt({open:e,setOpen:r,mode:s,setMode:a,setQuery:i}),x=k.useCallback(I=>{if(I.startsWith(">")){a("commands"),i(I.slice(1));return}i(I)},[]),C=k.useMemo(()=>d?Bxt(l,m):[],[l,d,m]),{recentEntries:T,handleCatalogSelect:S,handleCommandSelect:L,handleRecentSelect:D}=zxt({catalogs:o,commands:l,isCommandMode:d,searchQuery:m,close:()=>r(!1)});return w.jsx($we,{open:e,onOpenChange:r,children:w.jsxs(Hwe,{className:"cmdk-shell flex flex-col gap-0 overflow-hidden border-border/60 p-0 shadow-2xl backdrop-blur-md [&>button.dialog-close]:hidden",style:{height:520,width:"min(640px, calc(100vw - 2rem))",maxWidth:640},showCloseButton:!1,onPointerDownOutside:()=>r(!1),onEscapeKeyDown:()=>r(!1),children:[w.jsxs(Vwe,{className:"sr-only",children:[w.jsx(Uwe,{children:"Command Palette"}),w.jsx(qwe,{children:"Search catalogs or switch to commands"})]}),w.jsxs(NK,{shouldFilter:!1,className:"flex min-h-0 flex-1 flex-col bg-transparent",children:[w.jsx(Uxt,{inputRef:y,isCommandMode:d,query:n,onQueryChange:x,onInputKeyDown:v,onSwitchMode:b,loading:!d&&p.some(I=>I.loading)}),w.jsxs(MK,{className:"min-h-0 flex-1 overflow-y-auto py-1",style:{maxHeight:"none"},children:[w.jsx(PK,{className:"py-10 text-center text-sm text-muted-foreground",children:d?"No matching commands":"No catalog results"}),w.jsx(qxt,{isCommandMode:d,recentEntries:T,searchQuery:m,onRecentSelect:D}),w.jsx(Gxt,{catalogGroups:p,isCommandMode:d,onCatalogSelect:S}),w.jsx(Yxt,{commandResults:C,isCommandMode:d,pluginLabelMap:u,onCommandSelect:L})]}),w.jsx(Zxt,{isCommandMode:d})]})]})})}function Uxt({inputRef:t,isCommandMode:e,query:r,onQueryChange:n,onInputKeyDown:i,onSwitchMode:s,loading:a}){return w.jsxs("div",{className:"relative shrink-0",children:[w.jsxs("div",{className:"relative flex items-stretch [&>[data-slot=command-input-wrapper]]:flex-1 [&>[data-slot=command-input-wrapper]]:h-auto",children:[w.jsxs("div",{role:"group","aria-label":"Palette mode",className:"my-2 ml-3 inline-flex shrink-0 self-center rounded-md border border-border/60 bg-muted/40 p-0.5",children:[w.jsx(_W,{active:!e,icon:w.jsx(uk,{className:"size-3"}),label:i0e,onClick:()=>s("catalogs")}),w.jsx(_W,{active:e,icon:w.jsx(RL,{className:"size-3"}),label:"Commands",onClick:()=>s("commands")})]}),w.jsx(OK,{ref:t,placeholder:e?"Run a command...":"Search catalogs or type > for commands",value:r,onValueChange:n,onKeyDown:i,className:"h-12 bg-transparent text-base focus-visible:ring-0"})]}),w.jsx("div",{"aria-hidden":"true",className:a?"pointer-events-none absolute inset-x-0 bottom-0 h-px animate-pulse bg-[color:var(--accent)] opacity-80":"pointer-events-none absolute inset-x-0 bottom-0 h-px bg-transparent"})]})}function qxt({isCommandMode:t,recentEntries:e,searchQuery:r,onRecentSelect:n}){return t||e.length===0||r?null:w.jsx(ok,{heading:"Recent",children:e.map(i=>{const s=i.type==="catalog"?`recent:catalog:${i.catalogId}:${i.rowId}`:`recent:command:${i.commandId}`;return w.jsx(Dv,{value:s,onSelect:()=>n(i),className:"group flex items-center gap-3 rounded-md px-3 py-2 text-sm aria-selected:bg-[color:oklch(from_var(--accent)_l_c_h/0.10)] aria-selected:text-foreground",children:i.type==="catalog"?w.jsxs(w.Fragment,{children:[w.jsx(aA,{className:"size-4 shrink-0 text-muted-foreground/70 group-aria-selected:text-[color:var(--accent)]"}),w.jsx(c0e,{row:i.rowSnapshot})]}):w.jsxs(w.Fragment,{children:[w.jsx(RL,{className:"size-4 shrink-0 text-muted-foreground/70 group-aria-selected:text-[color:var(--accent)]"}),w.jsx("span",{className:"flex-1 truncate",children:i.titleSnapshot}),w.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground",children:"command"})]})},s)})})}function Gxt({catalogGroups:t,isCommandMode:e,onCatalogSelect:r}){return e?null:w.jsx(w.Fragment,{children:t.filter(n=>n.error||n.rows.length>0).map(n=>w.jsxs(ok,{heading:n.catalog.label,children:[n.error?w.jsx(Wxt,{catalogId:n.catalog.id,error:n.error}):null,n.rows.map(i=>w.jsx(Dv,{value:`${n.catalog.id}:${i.id}`,onSelect:()=>r(n.catalog,i),className:"group flex items-center gap-3 rounded-md px-3 py-2 text-sm aria-selected:bg-[color:oklch(from_var(--accent)_l_c_h/0.10)] aria-selected:text-foreground",children:w.jsxs(GS,{pluginId:n.catalog.pluginId??n.catalog.id,contributionKind:"catalog-row",contributionId:i.id,children:[w.jsx(uk,{className:"size-4 shrink-0 text-muted-foreground/70 group-aria-selected:text-[color:var(--accent)]"}),w.jsx(c0e,{row:i})]})},`${n.catalog.id}:${i.id}`))]},n.catalog.id))})}function Wxt({catalogId:t,error:e}){return w.jsxs(Dv,{value:`${t}:error`,disabled:!0,className:"group flex items-center gap-3 rounded-md px-3 py-2 text-sm",children:[w.jsx(uk,{className:"size-4 shrink-0 text-destructive/70"}),w.jsx("span",{className:"text-destructive",children:e})]})}function Yxt({commandResults:t,isCommandMode:e,pluginLabelMap:r,onCommandSelect:n}){return!e||t.length===0?null:w.jsx(ok,{heading:"Commands",children:t.map(i=>w.jsxs(Dv,{value:i.title,onSelect:()=>n(i),className:"group flex items-center gap-3 rounded-md px-3 py-2 text-sm aria-selected:bg-[color:oklch(from_var(--accent)_l_c_h/0.10)] aria-selected:text-foreground",children:[w.jsx(RL,{className:"size-4 shrink-0 text-muted-foreground/70 group-aria-selected:text-[color:var(--accent)]"}),w.jsx("span",{className:"flex-1 truncate",children:i.title}),r[i.pluginId??""]&&w.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground",children:r[i.pluginId??""]}),i.shortcut&&w.jsx(rCe,{children:i.shortcut})]},i.id))})}function Zxt({isCommandMode:t}){return w.jsxs("div",{className:"flex items-center justify-between border-t border-border/50 bg-muted/30 px-3 py-2 text-[11px] text-muted-foreground",children:[w.jsx("span",{className:"font-medium tracking-wide uppercase",children:t?"Commands":i0e}),w.jsxs("div",{className:"flex items-center gap-3",children:[w.jsxs("span",{className:"flex items-center gap-1",children:[w.jsx(Ch,{children:"tab"}),w.jsx("span",{children:"switch"})]}),w.jsxs("span",{className:"flex items-center gap-1",children:[w.jsx(Ch,{children:w.jsx(GCe,{className:"size-3"})}),w.jsx(Ch,{children:w.jsx(qK,{className:"size-3"})}),w.jsx("span",{children:"navigate"})]}),w.jsxs("span",{className:"flex items-center gap-1",children:[w.jsx(Ch,{children:w.jsx(YK,{className:"size-3"})}),w.jsx("span",{children:"open"})]}),w.jsxs("span",{className:"flex items-center gap-1",children:[w.jsx(Ch,{children:"esc"}),w.jsx("span",{children:"close"})]})]})]})}function _W({active:t,icon:e,label:r,onClick:n}){return w.jsxs(Xr,{type:"button",variant:"ghost",size:"sm","aria-pressed":t,onClick:n,className:["h-7 gap-1.5 px-2 text-xs font-medium",t?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"].join(" "),children:[e,r]})}function c0e({row:t}){return w.jsxs("span",{className:"flex min-w-0 flex-1 items-baseline gap-2 truncate",children:[w.jsx("span",{className:"truncate font-medium text-foreground",children:t.title}),t.subtitle?w.jsx("span",{className:"truncate text-xs text-muted-foreground/70",children:t.subtitle}):null,t.meta?w.jsx("span",{className:"ml-auto shrink-0 text-xs text-muted-foreground/70",children:t.meta}):null]})}function Xxt(t){return(t==null?void 0:t["x-boring-workspace-id"])??(t==null?void 0:t["X-Boring-Workspace-Id"])??null}function Kxt(t){if(!t)return;const e=t.replace(/\/$/,""),r="/api/v1/ui";return e.endsWith(r)?e.slice(0,-r.length)||void 0:e}function Qxt(t){const e=Y2t(),{blockers:r}=T2t(),{getSurface:n,isWorkbenchOpen:i,openWorkbench:s,closeWorkbench:a,bridgeEndpoint:o,...l}=t,c=k.useCallback(b=>{var v;n&&i&&s&&lv({kind:"openFile",params:{path:b}},{surface:n,isWorkbenchOpen:i,openWorkbench:s,closeWorkbench:a}),(v=t.onOpenArtifact)==null||v.call(t,b)},[n,i,s,a,t.onOpenArtifact]),u=Xxt(l.requestHeaders),d=r.filter(b=>!b.sessionId||b.sessionId===l.sessionId);k.useEffect(()=>{if(!(o===null||!n||!i||!s))return Bbt({endpoint:Kxt(o),query:u?{workspaceId:u}:void 0,ctx:{surface:n,isWorkbenchOpen:i,openWorkbench:s,closeWorkbench:a}})},[o,n,i,s,a,u]);const m=k.useCallback(()=>{var b;window.dispatchEvent(new CustomEvent("boring:workspace-composer-stop",{detail:{sessionId:l.sessionId}})),(b=t.onComposerStop)==null||b.call(t)},[l.sessionId,t.onComposerStop]),p=k.useCallback((b,v)=>{if(v==="cancel"){window.dispatchEvent(new CustomEvent("boring:workspace-composer-stop",{detail:{sessionId:l.sessionId}}));return}v!=="open"||!b.surfaceKind||n&&i&&s&&lv({kind:"openSurface",params:{kind:b.surfaceKind,target:b.target,meta:{}}},{surface:n,isWorkbenchOpen:i,openWorkbench:s,closeWorkbench:a})},[l.sessionId,a,n,i,s]),y=k.useCallback(b=>{var v;Nbt(b),(v=t.onData)==null||v.call(t,b)},[t.onData]);return w.jsx(e,{chrome:!1,...l,onOpenArtifact:c,onData:y,composerBlockers:d,onComposerStop:m,onComposerBlockerAction:p})}function Jxt({params:t}){if(!t||typeof t.sessionId!="string"||t.sessionId.length===0)throw new Error("chat panel requires params.sessionId");return k.createElement(Qxt,{key:t.sessionId,debug:t.debug,...t,sessionId:t.sessionId})}const e2t={id:"chat",title:"Chat",component:Jxt,placement:"left",source:"builtin"},wW=1440*60*1e3;function Lw(t){if(t==null)return null;const e=typeof t=="number"?new Date(t):new Date(t);return Number.isNaN(e.getTime())?null:e}function CW(t){const e=new Date(t);return e.setHours(0,0,0,0),e.getTime()}function t2t(t){const e=CW(new Date),r=e-wW,n=e-7*wW,i=[],s=[],a=[],o=[],l=[];for(const d of t){const m=Lw(d.updatedAt);if(!m){l.push(d);continue}const p=CW(m);p>=e?i.push(d):p>=r?s.push(d):p>=n?a.push(d):o.push(d)}const c=(d,m)=>{var p,y;const b=((p=Lw(d.updatedAt))==null?void 0:p.getTime())??0;return(((y=Lw(m.updatedAt))==null?void 0:y.getTime())??0)-b},u=[];return i.length&&u.push({key:"today",label:"Today",items:i.sort(c)}),s.length&&u.push({key:"yesterday",label:"Yesterday",items:s.sort(c)}),a.length&&u.push({key:"week",label:"This week",items:a.sort(c)}),o.length&&u.push({key:"earlier",label:"Earlier",items:o.sort(c)}),l.length&&u.push({key:"undated",label:"Other",items:l}),u}function r2t(t){const e=Lw(t);if(!e)return"";const r=Date.now()-e.getTime();if(r<6e4)return"now";const n=Math.floor(r/6e4);if(n<60)return`${n}m`;const i=Math.floor(n/60);if(i<24)return`${i}h`;const s=Math.floor(i/24);if(s<7)return`${s}d`;const a=Math.floor(s/7);if(a<5)return`${a}w`;const o=Math.floor(s/30);return o<12?`${o}mo`:`${Math.floor(s/365)}y`}function n2t({sessions:t,activeId:e,onSwitch:r,onCreate:n,onDelete:i,onClose:s,className:a}){const o=k.useMemo(()=>t2t(t),[t]);return w.jsxs("div",{"data-boring-workspace-part":"session-list",className:kn("flex h-full min-h-0 flex-col bg-background",a),role:"navigation","aria-label":"Session history",children:[w.jsxs("div",{className:"flex items-center justify-between border-b border-[color:oklch(from_var(--border)_l_c_h/0.25)] px-3",style:{height:44},children:[w.jsx("span",{className:"text-[10.5px] font-medium uppercase tracking-[0.12em] text-muted-foreground/70",children:"Sessions"}),w.jsxs("div",{className:"flex items-center gap-0.5",children:[n&&w.jsx(si,{type:"button",variant:"ghost",size:"icon-xs",onClick:n,"aria-label":"New session",title:"New chat",children:w.jsx(IL,{className:"h-3.5 w-3.5",strokeWidth:1.75})}),s&&w.jsx(si,{type:"button",variant:"ghost",size:"icon-xs",onClick:s,"aria-label":"Close sessions",title:"Close sessions (⌘1)",children:w.jsx(WK,{className:"h-4 w-4",strokeWidth:1.75})})]})]}),w.jsxs("div",{className:"flex-1 overflow-y-auto py-2",children:[t.length===0&&w.jsxs("div",{className:"px-3 py-8 text-center text-[13px] text-muted-foreground",children:["No sessions yet.",w.jsx("br",{}),"Start a new chat to begin."]}),o.map((l,c)=>w.jsxs("section",{className:kn(c>0&&"mt-2"),children:[w.jsx("div",{className:"px-4 pb-1 pt-2 text-[10.5px] font-medium uppercase tracking-[0.14em] text-muted-foreground/70",children:l.label}),w.jsx("ul",{role:"list",className:"flex flex-col",children:l.items.map(u=>w.jsx(i2t,{session:u,active:u.id===e,onSwitch:r,onDelete:i},u.id))})]},l.key))]})]})}function i2t({session:t,active:e,onSwitch:r,onDelete:n}){const i=r2t(t.updatedAt);return w.jsxs("li",{role:"listitem","data-boring-workspace-part":"session-row","data-boring-state":e?"selected":void 0,className:kn("group relative mx-2 flex items-center gap-2 rounded-md px-2 py-1.5 text-[13px] transition-colors duration-150 ease-[cubic-bezier(0.22,1,0.36,1)]","cursor-pointer hover:bg-foreground/[0.04]",e&&"border-l-2 border-accent bg-foreground/[0.06] text-foreground"),onClick:()=>r==null?void 0:r(t.id),children:[w.jsxs("span",{className:"min-w-0 flex-1 truncate leading-5",title:t.title,children:[w.jsx("span",{className:kn(e?"font-medium text-foreground":"text-foreground/90"),children:t.title||"Untitled"}),i&&w.jsxs("span",{className:"ml-1.5 text-muted-foreground/70 tabular-nums",children:["· ",i]})]}),n&&w.jsx(si,{type:"button",variant:"ghost",size:"icon-xs",className:"shrink-0 text-muted-foreground opacity-0 hover:text-destructive focus-visible:opacity-100 group-hover:opacity-100",onClick:s=>{s.stopPropagation(),n(t.id)},"aria-label":`Delete ${t.title||"session"}`,children:w.jsx("svg",{width:"12",height:"12",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:w.jsx("path",{d:"M3.5 3.5l7 7M10.5 3.5l-7 7"})})})]})}function s2t({params:t}){return k.createElement(n2t,{sessions:(t==null?void 0:t.sessions)??[],activeId:t==null?void 0:t.activeId,onSwitch:t==null?void 0:t.onSwitch,onCreate:t==null?void 0:t.onCreate,onDelete:t==null?void 0:t.onDelete,onClose:t==null?void 0:t.onClose})}const a2t={id:"session-list",title:"Sessions",component:s2t,placement:"left",source:"builtin"};function u0e({rootDir:t="",bridge:e,defaultTab:r,onCollapse:n,className:i}){var s,a;const o=qg(),l=k.useSyncExternalStore(o.subscribe,o.getSnapshot,o.getSnapshot),c=k.useMemo(()=>l.filter(j=>j.placement==="left-tab"),[l]),u=k.useMemo(()=>{const j=[];for(const Z of c){const te=Z.icon;j.push({id:Z.id,title:Z.title,icon:te?w.jsx(te,{className:"h-3.5 w-3.5"}):w.jsx(jTe,{className:"h-3.5 w-3.5"}),panel:Z})}return j},[c]),[d,m]=k.useState(r??""),p=u.some(j=>j.id===d)?d:((s=u[0])==null?void 0:s.id)??"",[y,b]=k.useState(!1),[v,x]=k.useState(""),[C,T]=k.useState(""),S=k.useRef(null),L=k.useRef(void 0);k.useEffect(()=>(clearTimeout(L.current),L.current=setTimeout(()=>T(v),180),()=>clearTimeout(L.current)),[v]),k.useEffect(()=>{var j;y&&((j=S.current)==null||j.focus())},[y]),k.useEffect(()=>{u.length>0&&!u.some(j=>j.id===d)&&m(u[0].id)},[d,u]);const D=k.useCallback(()=>{b(j=>(j&&x(""),!j))},[]),I=k.useCallback(j=>{j.key==="Escape"&&(j.preventDefault(),b(!1),x(""))},[]),N=u.find(j=>j.id===p),H=!((a=N==null?void 0:N.panel)!=null&&a.chromeless),B=k.useMemo(()=>({rootDir:t,bridge:e,query:C,searchQuery:C||void 0,chromeless:!0}),[e,C,t]);return w.jsxs("div",{"data-boring-workspace-part":"workbench-left",className:kn("workbench-left-root flex h-full min-h-0 flex-col",i),children:[w.jsxs("div",{className:"flex h-11 items-center gap-1 border-b border-[color:oklch(from_var(--border)_l_c_h/0.25)] px-2",children:[w.jsx(BK,{value:p,onValueChange:m,className:"min-w-0 flex-1 overflow-hidden","aria-label":"Workbench sources",children:w.jsx(FK,{variant:"line",className:"h-auto min-w-0 max-w-full gap-0.5 overflow-x-auto p-0 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:u.map(j=>w.jsxs($K,{value:j.id,className:"h-8 flex-none gap-1.5 px-2 py-1 text-[12px] data-[state=active]:text-foreground data-[state=active]:after:bg-[color:var(--accent)]",children:[w.jsx("span",{className:"data-[state=active]:text-[color:var(--accent)]",children:j.icon}),w.jsx("span",{className:"tracking-tight",children:j.title})]},j.id))})}),H&&w.jsx(si,{type:"button",variant:"ghost",size:"icon-xs",onClick:D,className:kn(y&&"bg-foreground/5 text-foreground"),"aria-label":"Search",title:"Search",children:w.jsx(Uw,{className:"h-3.5 w-3.5",strokeWidth:1.75})}),n&&w.jsx(si,{type:"button",variant:"ghost",size:"icon-xs",onClick:n,"aria-label":"Hide sources",title:"Hide sources",children:w.jsx(WK,{className:"h-4 w-4",strokeWidth:1.75})})]}),H&&y&&w.jsxs("div",{className:"flex items-center gap-1 border-b border-border/60 px-2 py-1.5",children:[w.jsx(Uw,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),w.jsx(ak,{ref:S,type:"text",value:v,onChange:j=>x(j.target.value),onKeyDown:I,placeholder:`Search ${((N==null?void 0:N.title)??"sources").toLowerCase()}...`,className:"h-7 flex-1 border-0 bg-transparent px-0 py-0 text-xs shadow-none focus-visible:ring-0 dark:bg-transparent"}),v&&w.jsx(si,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>x(""),"aria-label":"Clear search",children:w.jsx(Iv,{className:"h-3 w-3"})})]}),w.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:w.jsx(u2t,{panel:N==null?void 0:N.panel,params:B})})]})}const o2t={dispose(){}},l2t=new Proxy({},{get:()=>()=>o2t}),c2t=new Proxy({},{get:()=>()=>{}});function u2t({panel:t,params:e}){const r=k.useMemo(()=>t?t.lazy?k.lazy(t.component):t.component:null,[t]);return!t||!r?w.jsx("div",{className:"flex h-full items-center justify-center px-4 text-center text-[12px] text-muted-foreground",children:"No workbench source registered."}):w.jsx(GS,{pluginId:t.pluginId??t.id,contributionKind:"panel",contributionId:t.id,children:w.jsx(k.Suspense,{fallback:w.jsx("div",{className:"flex h-full items-center justify-center px-4 text-center text-[12px] text-muted-foreground",children:"Loading source..."}),children:k.createElement(r,{params:e,api:l2t,containerApi:c2t,className:"h-full"})})})}function h2t({params:t}){return k.createElement(u0e,t??{})}const d2t={id:"workbench-left",title:"Workbench",component:h2t,placement:"left",source:"builtin"},f2t="boring-ui-v2:surface",h0e=1,p2t={version:"2.0",groups:[{id:"artifacts",position:"center",dynamic:!0}]};function m2t(t,e){if(typeof window>"u")return;let r;try{r=window.localStorage.getItem(t)}catch{return}if(!r)return;let n;try{n=JSON.parse(r)}catch{return}if(!n||typeof n!="object")return;const i=n;if(i.v!==h0e)return;const s=i.layout;if(!s||typeof s!="object")return;const a=s.panels;if(!(!a||typeof a!="object")){for(const o of Object.values(a)){if(!o||typeof o!="object")return;const l=o.contentComponent;if(typeof l!="string"||e&&!e.has(l))return}return s}}function d0e({visible:t=!0,storageKey:e=f2t,allowedPanels:r,persistedLayout:n,onLayoutChange:i,onReady:s,prefixHeaderActions:a,rightHeaderActions:o,watermarkComponent:l,className:c}){const u=!!(i||n),d=k.useMemo(()=>{if(!u)return m2t(e,r?new Set(r):void 0)},[u,e,r]),m=k.useCallback(p=>{if(i){i(p);return}const y={v:h0e,layout:p};try{window.localStorage.setItem(e,JSON.stringify(y))}catch{}},[i,e]);return t?w.jsx("div",{className:kn("h-full w-full",c),"data-testid":"artifact-surface",children:w.jsx(Svt,{layout:p2t,persistedLayout:n??d,onLayoutChange:m,onReady:s,allowedPanels:r,prefixHeaderActions:a,rightHeaderActions:o,watermarkComponent:l},`${e}:${u?"ext":"auto"}`)}):null}d0e.defaultAllowedPanels=[];function PD(t){const e=t.trim().replace(/\\/g,"/").replace(/^\.\//,"").replace(/\/+/g,"/");if(e.includes(".."))throw new Error("Invalid path: path traversal not allowed");return e}function TW(t,e){const r=`file:${e}`;return t.getPanel(r)??t.panels.find(n=>{var i;return((i=n.params)==null?void 0:i.path)===e})}function g2t(t){return t.kind!==NT?t:{...t,target:PD(t.target)}}function F6(t,e){return e.id??`surface:${t.kind}:${t.target}`}let f0e=0;function jc(){return{seq:++f0e,status:"ok"}}function $_(t,e){return{seq:++f0e,status:"error",error:{code:t,message:e}}}function y2t({rootDir:t="",sidebarDefaultWidth:e=240,sidebarMinWidth:r=180,sidebarMaxWidth:n=480,storageKey:i,onReady:s,onChange:a,onClose:o,extraPanels:l,defaultLeftTab:c,className:u}){const[d,m]=k.useState(()=>{if(!i)return!1;try{return localStorage.getItem(`${i}:sidebarCollapsed`)==="1"}catch{return!1}}),[p,y]=k.useState(()=>{if(!i)return e;try{const ge=localStorage.getItem(`${i}:sidebarWidth`);if(!ge)return e;const fe=Number(ge);return Number.isFinite(fe)?Math.max(r,Math.min(n,fe)):e}catch{return e}}),b=k.useRef(null),v=k.useRef(null),x=k.useRef(null),[C,T]=k.useState(null),S=k.useRef(s);S.current=s;const L=k.useRef(a);L.current=a;const D=k.useRef(o);D.current=o;const I=k.useRef(new Set),N=qg(),H=k.useSyncExternalStore(N.subscribe,N.getSnapshot,N.getSnapshot),B=Rpe(),j=k.useRef(N);j.current=N;const Z=k.useRef(B);Z.current=B;const te=k.useMemo(()=>{const ge=new Set;for(const fe of H)fe.placement==="center"&&ge.add(fe.id);for(const fe of l??[])ge.add(fe);return[...ge]},[l,H]),U=k.useCallback(ge=>{const fe=b.current;if(!fe){console.warn("[SurfaceShell] openFile: surface not ready (dockview not initialized)");return}const ye=PD(ge),De={kind:NT,target:ye},Ie=Z.current.resolve(De);if(Ie){if(!j.current.has(Ie.component)){console.warn(`[SurfaceShell] openFile: resolver returned unknown panel "${Ie.component}" for "${ye}"`);return}const lt=F6(De,Ie),bt=fe.getPanel(lt);if(bt){Ie.params&&bt.api.updateParameters(Ie.params),bt.api.setActive();return}fe.addPanel({id:lt,component:Ie.component,title:Ie.title??ye.split("/").pop()??ye,params:Ie.params??{path:ye}});return}const je=TW(fe,ye);if(je){je.api.setActive();return}console.warn(`[SurfaceShell] openFile: no surface resolver matched "${ye}"`)},[]),V=k.useCallback(ge=>{var fe;const ye=b.current;if(!ye){console.warn("[SurfaceShell] openSurface: surface not ready (dockview not initialized)");return}const De=g2t(ge),Ie=Z.current.resolve(De);if(!Ie){console.warn(`[SurfaceShell] openSurface: no resolver matched kind="${De.kind}" target="${De.target}"`);return}const je=F6(De,Ie),lt=ye.getPanel(je),bt=((fe=De.meta)==null?void 0:fe.closeWorkbenchOnDone)===!0&&D.current?{...Ie.params??{},__closeWorkbenchOnDone:D.current}:Ie.params;if(lt){bt&<.api.updateParameters(bt),lt.api.setActive();return}const br=j.current;if(!br.has(Ie.component)){const sn=br.list().map(at=>at.id).join(", ");throw new Error(`openSurface: unknown component "${Ie.component}". Registered panels: [${sn}]. Register the component through a panel output before resolving to it.`)}ye.addPanel({id:je,component:Ie.component,title:Ie.title??De.target,params:bt})},[]),F=k.useCallback(ge=>{const fe=b.current;if(!fe)return;const ye=fe.getPanel(ge.id);if(ye){ge.params&&ye.api.updateParameters(ge.params),ye.api.setActive();return}const De=j.current;if(!De.has(ge.component)){const Ie=De.list().map(je=>je.id).join(", ");throw new Error(`openPanel: unknown component "${ge.component}". Registered panels: [${Ie}]. Add the component to WorkspaceProvider's "panels" prop, or pick one of the registered ids.`)}fe.addPanel({id:ge.id,component:ge.component,title:ge.title??ge.id,params:ge.params})},[]),X=k.useCallback(()=>{var ge;const fe=b.current;return fe?{openTabs:fe.panels.map(ye=>({id:ye.id,title:ye.title??ye.id,params:ye.params??void 0})),activeTab:((ge=fe.activePanel)==null?void 0:ge.id)??null}:{openTabs:[],activeTab:null}},[]),Q=k.useMemo(()=>({openFile:U,openSurface:V,openPanel:F,closeWorkbenchLeftPane:()=>m(!0),getSnapshot:X}),[X,U,F,V]),ae=k.useCallback(()=>{var ge,fe;const ye=b.current,De=ye?ye.panels.map(bt=>({id:bt.id,component:String(bt.component??""),params:bt.params??void 0})):[],Ie=((ge=ye==null?void 0:ye.activePanel)==null?void 0:ge.id)??null,je=((fe=ye==null?void 0:ye.activePanel)==null?void 0:fe.params)??void 0,lt=typeof(je==null?void 0:je.path)=="string"?je.path:null;return{hydrationComplete:!0,layout:null,sidebar:{collapsed:!1,width:e},panelSizes:{},preferences:{theme:"dark"},panels:De,activePanel:Ie,activeFile:lt,visibleFiles:De.map(bt=>{var br;return(br=bt.params)==null?void 0:br.path}).filter(bt=>typeof bt=="string"),dirtyFiles:{},notifications:[]}},[e]),q=k.useCallback(()=>{const ge=ae();for(const fe of I.current)fe(ge)},[ae]),J=k.useCallback(ge=>{var fe;b.current=ge,T(ge),(fe=S.current)==null||fe.call(S,Q);const ye=()=>{var De;(De=L.current)==null||De.call(L,X()),q()};ge.onDidAddPanel(ye),ge.onDidRemovePanel(ye),ge.onDidActivePanelChange(ye),ye()},[Q,X,q]),re=k.useCallback(async ge=>{try{const fe=b.current;if(!fe)return $_("not-ready","surface not ready");const ye=PD(ge),De={kind:NT,target:ye},Ie=Z.current.resolve(De);if(Ie){if(!j.current.has(Ie.component))return $_("NO_SURFACE_PANEL",`surface resolver "${De.kind}" returned unknown panel "${Ie.component}"`);const lt=F6(De,Ie),bt=fe.getPanel(lt);return bt?(Ie.params&&bt.api.updateParameters(Ie.params),bt.api.setActive(),jc()):(fe.addPanel({id:lt,component:Ie.component,title:Ie.title??ye.split("/").pop()??ye,params:Ie.params??{path:ye}}),jc())}const je=TW(fe,ye);return je?(je.api.setActive(),jc()):$_("NO_SURFACE_RESOLVER",`no registered surface resolver handles ${ye}`)}catch(fe){return $_("INVALID_SURFACE_PATH",fe instanceof Error?fe.message:"failed to open file")}},[]),G=k.useMemo(()=>({getOpenPanels:()=>ae().panels,getActiveFile:()=>ae().activeFile,getDirtyFiles:()=>[],getVisibleFiles:()=>ae().visibleFiles,openFile:re,openPanel:async()=>jc(),closePanel:async()=>jc(),closeWorkbenchLeftPane:async()=>(m(!0),jc()),showNotification:async()=>jc(),navigateToLine:async()=>jc(),expandToFile:async()=>jc(),markDirty:()=>{},markClean:()=>{},subscribe:()=>()=>{},select:(ge,fe)=>{const ye=De=>fe(ge(De));return I.current.add(ye),ye(ae()),()=>{I.current.delete(ye)}}}),[re,ae]),be=k.useCallback(ge=>{d||(ge.preventDefault(),ge.currentTarget.setPointerCapture(ge.pointerId),x.current={startX:ge.clientX,startWidth:p})},[d,p]),ne=k.useCallback(ge=>{const fe=x.current;if(!fe)return;const ye=ge.clientX-fe.startX,De=Math.max(r,Math.min(n,fe.startWidth+ye));y(De)},[r,n]),pe=k.useCallback(ge=>{x.current&&(x.current=null,ge.currentTarget.releasePointerCapture(ge.pointerId))},[]),me=k.useCallback(ge=>{if(d)return;const fe=ge.shiftKey?32:16;ge.key==="ArrowLeft"?(ge.preventDefault(),y(ye=>Math.max(r,ye-fe))):ge.key==="ArrowRight"?(ge.preventDefault(),y(ye=>Math.min(n,ye+fe))):ge.key==="Home"?(ge.preventDefault(),y(r)):ge.key==="End"&&(ge.preventDefault(),y(n))},[d,r,n]);return k.useEffect(()=>{if(i)try{localStorage.setItem(`${i}:sidebarWidth`,String(p))}catch{}},[i,p]),k.useEffect(()=>{if(i)try{localStorage.setItem(`${i}:sidebarCollapsed`,d?"1":"0")}catch{}},[i,d]),w.jsxs("div",{ref:v,"data-boring-workspace-part":"surface",className:kn("flex h-full min-h-0 w-full bg-background",u),"data-testid":"surface-shell",children:[d?null:w.jsxs(w.Fragment,{children:[w.jsx("aside",{"data-boring-workspace-part":"surface-sidebar","data-boring-state":"expanded",className:"flex h-full min-h-0 flex-col",style:{width:p,minWidth:p,maxWidth:p},"aria-label":"Workbench left pane",children:w.jsx(u0e,{rootDir:t,bridge:G,defaultTab:c,onCollapse:()=>m(!0)})}),w.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize sidebar",tabIndex:0,onPointerDown:be,onPointerMove:ne,onPointerUp:pe,onPointerCancel:pe,onKeyDown:me,className:kn("relative w-px shrink-0 cursor-col-resize bg-transparent transition-colors hover:bg-primary/40","focus-visible:outline-none focus-visible:bg-primary/50"),children:w.jsx("span",{"aria-hidden":"true",className:"absolute inset-y-0 -left-1.5 -right-1.5"})})]}),w.jsxs("div",{className:"relative min-w-0 flex-1",children:[w.jsx("div",{"data-boring-workspace-part":"surface-tabs","data-boring-state":d?"collapsed":"expanded",className:"workbench-dockview h-full","data-collapsed-sources":d?"true":void 0,children:w.jsx(d0e,{storageKey:i,onReady:J,allowedPanels:te,rightHeaderActions:o?()=>w.jsx(b2t,{onClose:o}):void 0})}),d&&w.jsx("div",{className:"pointer-events-none absolute left-0 top-0 z-20 flex items-center",style:{height:44},children:w.jsx(si,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>m(!1),className:"pointer-events-auto ml-2","aria-label":"Show sources",title:"Show sources",children:w.jsx(Vw,{className:"h-4 w-4",strokeWidth:1.75})})}),w.jsx(v2t,{api:C,collapsed:d,onExpandFiles:()=>m(!1),onClose:o})]})]})}function b2t({onClose:t}){return w.jsx(si,{type:"button",variant:"ghost",size:"icon-xs",onClick:t,className:"mx-1","aria-label":"Close workbench",title:"Close workbench (⌘2)",children:w.jsx(LL,{className:"h-4 w-4",strokeWidth:1.75})})}function v2t({api:t,collapsed:e,onExpandFiles:r,onClose:n}){const[i,s]=k.useState(!0);return k.useEffect(()=>{if(!t)return;const a=()=>s(t.panels.length===0);a();const o=t.onDidAddPanel(a),l=t.onDidRemovePanel(a);return()=>{o.dispose(),l.dispose()}},[t]),i?w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"pointer-events-none absolute inset-x-0 top-0 flex items-center gap-0.5 border-b border-[color:oklch(from_var(--border)_l_c_h/0.4)] bg-background px-1",style:{height:44},children:[e&&w.jsx(si,{type:"button",variant:"ghost",size:"icon-xs",onClick:r,className:"pointer-events-auto mx-1","aria-label":"Show sources",title:"Show sources",children:w.jsx(Vw,{className:"h-4 w-4",strokeWidth:1.75})}),w.jsx("div",{className:"flex-1"}),n&&w.jsx(si,{type:"button",variant:"ghost",size:"icon-xs",onClick:n,className:"pointer-events-auto mx-1","aria-label":"Close workbench",title:"Close workbench (⌘2)",children:w.jsx(LL,{className:"h-4 w-4",strokeWidth:1.75})})]}),w.jsxs("div",{className:"pointer-events-none absolute inset-0 flex flex-col items-center justify-center gap-3 px-6 pt-12 pb-10 text-center",children:[w.jsxs("div",{className:"flex items-center gap-2 text-[10.5px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:[w.jsx("span",{className:"inline-block h-px w-4 bg-[color:var(--accent)]","aria-hidden":"true"}),"Workbench"]}),w.jsx("div",{className:"text-[15px] font-medium tracking-tight text-foreground",children:"Nothing open yet"}),w.jsx("p",{className:"max-w-[280px] text-[12.5px] leading-relaxed text-muted-foreground",children:"Open a source item, or let the agent produce an artifact here."}),e&&w.jsxs(Xr,{type:"button",variant:"outline",size:"sm",onClick:r,className:"pointer-events-auto mt-2 gap-1.5 text-[12px] hover:border-[color:var(--accent)]/40 hover:text-[color:var(--accent)]",children:[w.jsx(Vw,{className:"h-3.5 w-3.5",strokeWidth:1.75}),"Show sources"]})]})]}):null}function x2t({params:t}){return k.createElement(y2t,t??{})}const _2t={id:"artifact-surface",title:"Surface",component:x2t,placement:"right",source:"builtin"},w2t=[e2t,a2t,d2t,_2t],C2t={blockers:[],addBlocker:()=>{},removeBlocker:()=>{}},p0e=k.createContext(null);function T2t(){return k.useContext(p0e)??C2t}function k2t({children:t}){const[e,r]=k.useState([]),n=k.useCallback(a=>{r(o=>[...o.filter(l=>l.id!==a.id),a])},[]),i=k.useCallback(a=>{r(o=>o.filter(l=>l.id!==a))},[]),s=k.useMemo(()=>({blockers:e,addBlocker:n,removeBlocker:i}),[e,n,i]);return w.jsx(p0e.Provider,{value:s,children:t})}const yy="boring-ui:agent-plugins-reloaded";function m0e(t,e){return t?`${t.replace(/\/$/,"")}${e}`:e}function S2t(t,e){if(!e)return t;const r=t.includes("?")?"&":"?";return`${t}${r}workspaceId=${encodeURIComponent(e)}`}function E2t(t){return/^[A-Za-z][A-Za-z0-9+.-]*:/.test(t)||t.startsWith("//")}function A2t(t,e){return!e||E2t(t)?t:m0e(e,t.startsWith("/")?t:`/${t}`)}function D2t(t,e,r,n){return{panels:t,commands:e,catalogs:r,surfaceResolvers:n}}function L2t(t,e){if(!t)return;const r=e.toLowerCase();for(const[n,i]of Object.entries(t))if(n.toLowerCase()===r)return i}function I2t(t){return/^Bearer\s+\S+/i.test(L2t(t,"authorization")??"")}function R2t(t,e,r){const n=`${t}${t.includes("?")?"&":"?"}v=${e}`;return r===void 0?n:`${n}&t=${encodeURIComponent(String(r))}`}const kW=3e4;async function N2t(t,e){let r=!1;const n=new Promise((s,a)=>{setTimeout(()=>{r||a(new Error(`importFront timed out after ${kW}ms (plugin asset at ${t})`))},kW)}),i=await Promise.race([import(R2t(t,e,Date.now())),n]);return r=!0,i}async function O2t(t,e,r,n=N2t){const i=await n(e,r);if(typeof i.default!="function"||typeof i.default.pluginId!="string")throw new Error(`plugin ${t} front module must default-export definePlugin({ id, ... })`);if(i.default.pluginId!==t)throw new Error(`plugin ${t} front module id mismatch: default export is branded as ${JSON.stringify(i.default.pluginId)}`);const s=Ape({pluginId:t});return await i.default(s),s.flush()}function M2t(t,e){const r=[];for(const a of e.panels)r.push({id:a.id,title:a.label??a.id,component:a.component,placement:a.placement??"center",source:a.source??"plugin",pluginId:t,...a.icon?{icon:a.icon}:{},...a.requiresCapabilities?{requiresCapabilities:a.requiresCapabilities}:{},...a.essential!==void 0?{essential:a.essential}:{},...a.lazy!==void 0?{lazy:a.lazy}:{},...a.chromeless!==void 0?{chromeless:a.chromeless}:{}});for(const a of e.leftTabs)r.push({id:a.id,title:a.title,component:a.component??(()=>null),placement:"left-tab",source:a.source??"plugin",pluginId:t,...a.icon?{icon:a.icon}:{},...a.requiresCapabilities?{requiresCapabilities:a.requiresCapabilities}:{},...a.lazy!==void 0?{lazy:a.lazy}:{},...a.chromeless!==void 0?{chromeless:a.chromeless}:{}});const n=e.panelCommands.map(a=>({id:a.id,title:a.title,run:a.run??(()=>{}),pluginId:t,...a.keywords?{keywords:a.keywords}:a.panelId?{keywords:[a.panelId]}:{},...a.shortcut?{shortcut:a.shortcut}:{},...a.when?{when:a.when}:{}})),i=e.catalogs.map(a=>({...a,pluginId:t})),s=e.surfaceResolvers.map(a=>({id:a.id??`${t}:${a.kind}`,source:a.source??"plugin",pluginId:t,resolve(o){if(o.kind===a.kind)return a.resolve(o)??void 0}}));return{panels:r,commands:n,catalogs:i,surfaceResolvers:s}}function P2t(t,e){const r=[e.providers.length>0?`${e.providers.length} provider(s)`:null,e.bindings.length>0?`${e.bindings.length} binding(s)`:null].filter(Boolean).join(" and ");r&&console.warn(`[boring-ui] hot-loaded plugin "${t}" registered ${r}. Dynamic provider/binding mounting is not implemented yet, so this plugin's hot-loaded UI contributions were skipped to avoid rendering panels without their required provider tree.`)}function B2t(t){return t??"system/builtin"}function z_(t,e,r,n){const i=`${t}.${e==="panel"?"panel":e}`;return new Error(`PLUGIN_OUTPUT_ID_COLLISION: plugin "${t}" tried to register ${e} "${r}" already owned by "${B2t(n)}". Use a namespaced id like "${i}".`)}function F2t(t,e,r){for(const n of e.panels){const i=r.panels.get(n.id);if(i&&i.pluginId!==t)throw z_(t,"panel",n.id,i.pluginId)}for(const n of e.commands){const i=r.commands.getCommand(n.id);if(i&&i.pluginId!==t)throw z_(t,"command",n.id,i.pluginId)}for(const n of e.catalogs){const i=r.catalogs.get(n.id);if(i&&i.pluginId!==t)throw z_(t,"catalog",n.id,i.pluginId)}for(const n of e.surfaceResolvers){const i=r.surfaceResolvers.get(n.id);if(i&&i.pluginId!==t)throw z_(t,"surface-resolver",n.id,i.pluginId)}}function $2t(t,e,r){if(e.providers.length>0||e.bindings.length>0){P2t(t,e),BD(t,r);return}const n=M2t(t,e);F2t(t,n,r),r.panels.replaceByPluginId(t,n.panels),r.commands.replaceByPluginId(t,n.commands),r.catalogs.replaceByPluginId(t,n.catalogs),r.surfaceResolvers.replaceByPluginId(t,n.surfaceResolvers)}function BD(t,e){e.panels.replaceByPluginId(t,[]),e.commands.replaceByPluginId(t,[]),e.catalogs.replaceByPluginId(t,[]),e.surfaceResolvers.replaceByPluginId(t,[])}function z2t(t){const e=qg(),r=US(),n=qS(),i=Rpe(),s=k.useRef(new Map),a=k.useRef(new Map);k.useEffect(()=>{if(t.enabled===!1||typeof EventSource>"u")return;if(I2t(t.authHeaders)){console.warn("[boring-ui] front plugin hot reload disabled: native EventSource cannot send Authorization bearer headers, and this server does not advertise a token-query fallback for /api/v1/agent-plugins/events.");return}let o=!1;const l=D2t(e,r,n,i),c=S2t(m0e(t.apiBaseUrl??"","/api/v1/agent-plugins/events"),t.workspaceId),u=new EventSource(c,{withCredentials:!0}),d=y=>{(async()=>{let b;try{if(b=JSON.parse(y.data),o)return;const v=s.current.get(b.id)??0,x=a.current.get(b.id)??0;if(b.revision<=Math.max(v,x))return;a.current.set(b.id,b.revision);const C=b.frontUrl?await O2t(b.id,A2t(b.frontUrl,t.apiBaseUrl),b.revision,t.importFront):null;if(o||a.current.get(b.id)!==b.revision||b.revision<=(s.current.get(b.id)??0))return;if(!C){BD(b.id,l),s.current.set(b.id,b.revision),window.dispatchEvent(new CustomEvent(yy,{detail:b}));return}$2t(b.id,C,l),s.current.set(b.id,b.revision),window.dispatchEvent(new CustomEvent(yy,{detail:b}))}catch(v){b&&a.current.get(b.id)===b.revision&&a.current.delete(b.id);const x=(b==null?void 0:b.id)??"<malformed>",C=v instanceof Error?v.message:String(v);console.error(`[boring-ui] failed to load plugin ${x}; keeping previous version`,v),b&&window.dispatchEvent(new CustomEvent(yy,{detail:{type:"boring.plugin.front-error",id:b.id,revision:b.revision,message:C}}))}})()},m=y=>{if(!o)try{const b=JSON.parse(y.data),v=s.current.get(b.id)??0,x=a.current.get(b.id)??0;if(b.revision<=Math.max(v,x))return;a.current.set(b.id,b.revision),BD(b.id,l),s.current.set(b.id,b.revision),window.dispatchEvent(new CustomEvent(yy,{detail:b}))}catch(b){console.error("[boring-ui] failed to process plugin unload event",b)}},p=y=>{if(!o)try{const b=JSON.parse(y.data);console.error(`[boring-ui] plugin ${b.id} failed to reload: ${b.message}`),window.dispatchEvent(new CustomEvent(yy,{detail:{type:"boring.plugin.error",id:b.id,revision:b.revision,message:b.message}}))}catch(b){console.error("[boring-ui] failed to process plugin error event",b)}};return u.addEventListener("boring.plugin.load",d),u.addEventListener("boring.plugin.unload",m),u.addEventListener("boring.plugin.error",p),()=>{o=!0,a.current.clear(),u.close()}},[t.apiBaseUrl,t.workspaceId,t.enabled,t.authHeaders,t.importFront,e,r,n,i])}function j2t(t){return null}function H2t(t){return z2t({apiBaseUrl:t.apiBaseUrl,workspaceId:t.workspaceId,authHeaders:t.authHeaders,enabled:t.mode==="vite"}),null}function V2t(){return typeof window>"u"||typeof window.matchMedia!="function"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}const SW="workspace-provider",U2t="workspace-provider",q2t=k.createContext(null),G2t=k.createContext(null),RN=k.createContext(null);function g0e(){const t=k.useContext(RN);if(!t)throw new Error("useWorkspaceContext must be used within a WorkspaceProvider");return t}function W2t(){return k.useContext(RN)}function Y2t(){const{chatPanel:t}=g0e();if(!t)throw new Error("WorkspaceProvider requires a chatPanel prop before rendering ChatPanelHost");return t}function Z2t({store:t}){const e=k.useMemo(()=>[{key:"b",mod:!0,handler:()=>{const r=t.getState();r.setSidebar({collapsed:!r.sidebar.collapsed})}},{key:"\\",mod:!0,handler:()=>{const r=t.getState();r.panels.find(n=>n.id==="agent")?r.closePanel("agent"):r.openPanel({id:"agent",component:"agent"})}},{key:"w",mod:!0,handler:()=>{const r=t.getState();r.activePanel&&r.closePanel(r.activePanel)}}],[t]);return DN({shortcuts:e}),null}function X2t({commands:t}){const e=US();return k.useEffect(()=>{if(!(t!=null&&t.length))return;const r=t.map(n=>n.id);for(const n of r)e.unregisterCommand(n);for(const n of t)e.registerCommand({...n,pluginId:n.pluginId??U2t});return()=>{for(const n of r)e.unregisterCommand(n)}},[e,t]),null}function K2t({catalogs:t}){const e=qS();return k.useEffect(()=>{if(t!=null&&t.length){for(const r of t)e.register(r,SW);return()=>{e.unregisterByPluginId(SW)}}},[e,t]),null}function Q2t({plugins:t}){return w.jsx(w.Fragment,{children:t.flatMap(e=>e.registrations.bindings.map(r=>{const n=r.component;return w.jsx(n,{},`${e.id}:${r.id}`)}))})}function J2t({plugins:t,apiBaseUrl:e,authHeaders:r,onAuthError:n,apiTimeout:i,children:s}){return t.flatMap(a=>a.registrations.providers.map(o=>({plugin:a,provider:o}))).reduceRight((a,{plugin:o,provider:l})=>{const c=l.component;return w.jsx(c,{apiBaseUrl:e,authHeaders:r,onAuthError:n,apiTimeout:i,children:a},`${o.id}:provider:${l.id}`)},s)}function e_t({onOpenFile:t}){return k.useEffect(()=>{if(t)return zr.on(Ka.uiCommand,({command:e})=>{if(e.kind!=="openFile")return;const r=e.params.path;typeof r=="string"&&t(r)})},[t]),null}function t_t({children:t,chatPanel:e,plugins:r,excludeDefaults:n,panels:i,commands:s,catalogs:a,capabilities:o,apiBaseUrl:l="",authHeaders:c,apiTimeout:u,defaultTheme:d,onThemeChange:m,workspaceId:p,storageKey:y,persistenceEnabled:b=!0,bridgeEndpoint:v,onAuthError:x,onOpenFile:C,debug:T=!1,frontPluginHotReload:S=!1}){const L=k.useRef(null);if(!L.current){const ne=Pxt({workspaceId:p,storageKey:y,persistenceEnabled:b});mvt(ne);const pe=d??V2t();pe!=="light"&&!b?ne.getState().setTheme(pe):pe!=="light"&&(typeof localStorage<"u"&&localStorage.getItem("boring-ui-v2:preferences")!==null||ne.getState().setTheme(pe)),L.current=ne}const D=L.current,I=k.useRef(null),N=k.useRef(c);N.current=c;const H=k.useRef(x);H.current=x,k.useEffect(()=>()=>{var ne;(ne=I.current)==null||ne.disconnect(),I.current=null,D.cleanup()},[D]),k.useEffect(()=>{var ne,pe;if(I.current&&(I.current.disconnect(),I.current=null),!v)return;const me=ybt(D),ge=(pe=(ne=N.current)==null?void 0:ne.Authorization)==null?void 0:pe.replace(/^Bearer\s+/i,""),fe=_bt({endpoint:v,bridge:me,store:D,authToken:ge,onAuthError:ye=>{var De;return(De=H.current)==null?void 0:De.call(H,ye)},onConnectionChange:re});return fe.connect(),I.current=fe,()=>{fe.disconnect(),I.current=null}},[v,D]);const{panelRegistry:B,commandRegistry:j,catalogRegistry:Z,surfaceResolverRegistry:te,pluginMetas:U,pluginsWithBindings:V}=k.useMemo(()=>{const ne=new fvt(o),pe=new Cxt,me=new Lpe,ge=new Ipe;for(const Ie of w2t){const{id:je,...lt}=Ie;ne.register(je,lt)}const fe=new Set(n??[]).has(fW.pluginId)?[]:[fW],ye=Jyt({chatPanel:e??j2t,plugins:r??[],defaults:fe,excludeDefaults:n,registries:{panels:ne,commands:pe,catalogs:me,surfaceResolvers:ge}}),De=[{id:"workspace:chat-layout",label:"Layout"},{id:"agent:chat-layout",label:"Layout"},...ye.plugins.map(Ie=>({id:Ie.id,label:Ie.label}))];if(i)for(const Ie of i){const{id:je,...lt}=Ie;ne.register(je,lt)}return{panelRegistry:ne,commandRegistry:pe,catalogRegistry:me,surfaceResolverRegistry:ge,pluginMetas:De,pluginsWithBindings:ye.plugins}},[o,e,r,n,i]),F=k.useRef(m);F.current=m;const X=k.useCallback(ne=>{var pe;D.getState().setTheme(ne),(pe=F.current)==null||pe.call(F,ne)},[D]),Q=k.useCallback(()=>{const ne=D.getState().preferences.theme==="light"?"dark":"light";X(ne)},[D,X]),ae=gvt();k.useEffect(()=>(document.documentElement.setAttribute("data-theme",ae),()=>{document.documentElement.removeAttribute("data-theme")}),[ae]);const q=k.useMemo(()=>({setTheme:X,toggleTheme:Q}),[X,Q]),[J,re]=k.useState(!1),G=k.useMemo(()=>({connected:J}),[J]),be=k.useMemo(()=>({chatPanel:e??null,registeredPlugins:U,debug:T}),[e,U,T]);return w.jsx(RN.Provider,{value:be,children:w.jsx(q2t.Provider,{value:q,children:w.jsx(G2t.Provider,{value:G,children:w.jsx(k2t,{children:w.jsx(sbt,{children:w.jsx(tbt,{panelRegistry:B,commandRegistry:j,catalogRegistry:Z,surfaceResolverRegistry:te,children:w.jsxs(J2t,{plugins:V,apiBaseUrl:l,authHeaders:c,onAuthError:x,apiTimeout:u,children:[w.jsx(Q2t,{plugins:V}),w.jsx(H2t,{apiBaseUrl:l,workspaceId:p,mode:S,authHeaders:c}),w.jsx(e_t,{onOpenFile:C}),w.jsx(X2t,{commands:s}),w.jsx(K2t,{catalogs:a}),w.jsx(Z2t,{store:D}),w.jsx(Vxt,{}),w.jsx(pCe,{}),t,typeof import.meta<"u"&&!1]})})})})})})})}function EW(t,e,r=!0){if(!r||typeof window>"u")return e;try{const n=window.localStorage.getItem(t);if(n==="1")return!0;if(n==="0")return!1}catch{}return e}function r_t(t,e,r=!0){if(!(!r||typeof window>"u"))try{window.localStorage.setItem(t,e?"1":"0")}catch{}}function AW(t,e,r=!0){if(!r||typeof window>"u")return e;try{const n=window.localStorage.getItem(t);if(n===null)return e;const i=Number(n);return Number.isFinite(i)?i:e}catch{}return e}function n_t(t,e,r=!0){if(!(!r||typeof window>"u"))try{window.localStorage.setItem(t,String(Math.round(e)))}catch{}}function i_t(t){const e=t.nav!==null,r=t.surface!==void 0,n=!!t.surface,i=t.nav||"session-list",s=t.center??"chat",a=t.surface||"artifact-surface",o=s_t(),[l,c]=DW(t.storageKey?`${t.storageKey}:drawerWidth`:void 0,260),[u,d]=DW(t.storageKey?`${t.storageKey}:surfaceWidth`:void 0,680),m=US(),p=j_(l,200,360),y=Math.max(480,Math.floor(o*.72)),b=j_(u,480,y),v=Hy(t.centerParams,"getSurface"),x=Hy(t.centerParams,"isWorkbenchOpen"),C=Hy(t.centerParams,"openWorkbench"),T=Hy(t.centerParams,"closeWorkbench"),S=H_(t.navParams,"onClose"),L=H_(t.surfaceParams,"onClose"),D=H_(t.sidebarParams,"onClose"),I=H_(t.navParams,"onCreate"),N=!!t.sidebar,H=e?!!S:!!t.onOpenNav,B=n?!!L:!!t.onOpenSurface,j=N?!!D:!!t.onOpenSidebar,Z=k.useCallback(()=>{var F;if(e){S==null||S();return}(F=t.onOpenNav)==null||F.call(t)},[S,e,t.onOpenNav]),te=k.useCallback(()=>{var F;if(n){L==null||L();return}(F=t.onOpenSurface)==null||F.call(t)},[L,t.onOpenSurface,n]),U=k.useCallback(()=>{var F;if(N){D==null||D();return}(F=t.onOpenSidebar)==null||F.call(t)},[D,t.onOpenSidebar,N]),V=k.useCallback(()=>{e&&(S==null||S()),n&&(L==null||L()),FD(),a_t()},[S,L,e,n]);return DN({shortcuts:k.useMemo(()=>{const F=[];return H&&F.push({key:"1",mod:!0,handler:Z}),B&&F.push({key:"2",mod:!0,handler:te}),j&&F.push({key:"3",mod:!0,allowInEditable:!0,handler:U}),s==="chat"&&F.push({key:"Escape",allowInEditable:!0,handler:V}),F},[H,j,B,s,V,Z,U,te])}),k.useEffect(()=>{const F="workspace:chat-layout",X="agent:chat-layout";return m.unregisterByPluginId(F),m.unregisterByPluginId(X),m.registerCommand({id:"workspace:open-session-history",title:e?"Close Session History":"Open Session History",keywords:["sessions","history","drawer",e?"close":"open"],shortcut:"⌘1",pluginId:F,when:()=>H,run:Z}),m.registerCommand({id:"workspace:open-workbench",title:n?"Close Workbench":"Open Workbench",keywords:["surface","artifacts","sources","workbench",n?"close":"open"],shortcut:"⌘2",pluginId:F,when:()=>B,run:te}),m.registerCommand({id:"workspace:toggle-workbench-left-panel",title:N?"Close Workbench Left Panel":"Open Workbench Left Panel",keywords:["left","sidebar","tabs","workbench",N?"close":"open"],shortcut:"⌘3",pluginId:F,when:()=>j,run:U}),s==="chat"&&m.registerCommand({id:"agent:focus-chat",title:"Focus Chat",keywords:["agent","chat","prompt","composer","input","focus"],pluginId:X,run:V}),I&&m.registerCommand({id:"agent:new-chat",title:"New Chat",keywords:["agent","chat","session","new"],pluginId:X,run:I}),()=>{m.unregisterByPluginId(F),m.unregisterByPluginId(X)}},[m,e,s,r,n,t.navParams,t.surfaceParams,t.onOpenNav,t.onOpenSurface,t.onOpenSidebar,H,B,j,S,L,D,I,V,N,Z,te,U]),k.useEffect(()=>{if(!v||!x||!C)return;const F={surface:v,isWorkbenchOpen:x,openWorkbench:C,closeWorkbench:T};return zr.on(Ka.uiCommand,({command:X})=>{lv(X,F)})},[v,x,C,T]),w.jsxs("div",{"data-boring-workspace":"","data-boring-workspace-part":"shell",className:kn("relative flex h-full min-h-0 w-full overflow-hidden bg-background",t.className),children:[w.jsxs("aside",{"data-boring-workspace-part":"session-drawer","data-boring-state":e?"expanded":"collapsed","aria-label":"Session browser","aria-hidden":!e,className:kn("relative h-full min-h-0 shrink-0 overflow-hidden bg-background","transition-[width,min-width,max-width] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)]",e&&"border-r border-[color:oklch(from_var(--border)_l_c_h/0.6)]"),style:{width:e?p:0,minWidth:e?p:0,maxWidth:e?p:0,willChange:"width"},children:[w.jsx("div",{className:kn("h-full min-h-0 overflow-hidden","transition-opacity duration-[200ms] ease-[cubic-bezier(0.22,1,0.36,1)]",e?"opacity-100":"opacity-0"),children:w.jsx($6,{id:i,params:t.navParams})}),e?w.jsx(LW,{side:"drawer-right",ariaLabel:"Resize sessions drawer",onResize:F=>c(X=>j_(X+F,200,360))}):null]}),w.jsxs("main",{"data-boring-workspace-part":"chat-stage","aria-label":"Chat stage",className:"relative h-full min-h-0 min-w-0 flex-1 overflow-hidden bg-background",children:[w.jsx($6,{id:s,params:t.centerParams}),!e&&t.onOpenNav?w.jsx(IW,{side:"left",icon:"sessions",onClick:t.onOpenNav,label:"Sessions",hint:"⌘1"}):null,!n&&t.onOpenSurface?w.jsx(IW,{side:"right",icon:"workbench",onClick:t.onOpenSurface,label:"Workbench",hint:"⌘2"}):null]}),r?w.jsxs("aside",{"data-boring-workspace-part":"workbench","data-boring-state":n?"expanded":"collapsed","aria-label":n?"Surface":void 0,"aria-hidden":!n,className:kn("relative h-full min-h-0 shrink-0 overflow-hidden bg-background","transition-[width,min-width,max-width] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)]",n&&"border-l border-[color:oklch(from_var(--border)_l_c_h/0.6)]"),style:{width:n?b:0,minWidth:n?b:0,maxWidth:n?b:0,willChange:"width"},children:[w.jsx("div",{className:kn("h-full min-h-0 overflow-hidden","transition-opacity duration-[200ms] ease-[cubic-bezier(0.22,1,0.36,1)]",n?"opacity-100":"opacity-0"),children:w.jsx($6,{id:a,params:t.surfaceParams})}),n?w.jsx(LW,{side:"surface-left",ariaLabel:"Resize workbench",onResize:F=>d(X=>j_(X-F,480,y))}):null]}):null]})}function j_(t,e,r){return Math.max(e,Math.min(r,t))}function DW(t,e){const[r,n]=k.useState(()=>t?AW(t,e):e);k.useEffect(()=>{n(t?AW(t,e):e)},[t,e]);const i=k.useCallback(s=>{n(a=>{const o=typeof s=="function"?s(a):s;return t&&n_t(t,o),o})},[t]);return[r,i]}function s_t(){const[t,e]=k.useState(()=>typeof window<"u"?window.innerWidth:1200);return k.useEffect(()=>{const r=()=>e(window.innerWidth);return window.addEventListener("resize",r),()=>window.removeEventListener("resize",r)},[]),t}function LW({side:t,ariaLabel:e,onResize:r}){const n=k.useRef(null),i=k.useCallback(o=>{o.preventDefault(),n.current=o.clientX,o.currentTarget.setPointerCapture(o.pointerId),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[]),s=k.useCallback(o=>{if(n.current===null)return;const l=o.clientX-n.current;n.current=o.clientX,r(l)},[r]),a=k.useCallback(o=>{n.current!==null&&(n.current=null,o.currentTarget.releasePointerCapture(o.pointerId),document.body.style.cursor="",document.body.style.userSelect="")},[]);return w.jsx(cCe,{"aria-label":e,orientation:"vertical",onResizeStart:i,onPointerMove:s,onPointerUp:a,onPointerCancel:a,className:kn("absolute top-0 bottom-0 z-20 bg-transparent","transition-colors duration-200","hover:bg-border/70 hover:[transition-delay:150ms]","active:bg-muted-foreground/30",t==="drawer-right"?"right-0":"left-0")})}function Hy(t,e){const r=t==null?void 0:t[e];return typeof r=="function"?r:void 0}function H_(t,e){return Hy(t,e)}function FD(){if(typeof document>"u")return;const t=document.querySelector('[data-boring-agent] textarea[name="message"], textarea[name="message"]');t==null||t.focus()}function a_t(){typeof window>"u"||window.requestAnimationFrame(()=>{FD(),window.setTimeout(FD,320)})}function $6({id:t,params:e}){const r=qg(),{debug:n}=g0e(),i=k.useSyncExternalStore(r.subscribe,r.getSnapshot,r.getSnapshot),s=k.useMemo(()=>r.getComponents(),[r,i])[t],a=k.useMemo(()=>o_t(t),[t]);return s?w.jsx(k.Suspense,{fallback:w.jsx(VK,{centered:!0}),children:w.jsx(s,{params:{...e,debug:n},api:a,containerApi:{}})}):null}function o_t(t){return{id:t,title:t,setTitle:()=>{},setActive:()=>{},close:()=>{},updateParameters:()=>{},onDidParametersChange:()=>({dispose(){}}),onDidActiveChange:()=>({dispose(){}}),onDidDimensionsChange:()=>({dispose(){}}),onDidLocationChange:()=>({dispose(){}}),onDidTitleChange:()=>({dispose(){}}),onWillFocus:()=>({dispose(){}}),onDidFocus:()=>({dispose(){}}),onDidBlur:()=>({dispose(){}}),onWillVisibilityChange:()=>({dispose(){}}),onDidVisibilityChange:()=>({dispose(){}}),onDidConstraintsChange:()=>({dispose(){}})}}function IW({side:t,icon:e,onClick:r,label:n,hint:i}){return w.jsx(si,{type:"button",variant:"ghost",size:"icon-sm",onClick:r,"aria-label":n,title:i?`${n} (${i})`:n,className:kn("absolute top-1/2 z-30 h-9 w-9 -translate-y-1/2 gap-0.5 rounded-lg bg-background text-muted-foreground",t==="left"?"left-2":"right-2","shadow-[0_1px_2px_-1px_oklch(0_0_0/0.08),0_2px_8px_-4px_oklch(0_0_0/0.10),inset_0_0_0_1px_oklch(from_var(--border)_l_c_h/0.7)]","hover:-translate-y-[calc(50%+1px)] hover:bg-muted/60 hover:text-foreground hover:shadow-[0_2px_4px_-1px_oklch(0_0_0/0.08),0_4px_12px_-4px_oklch(0_0_0/0.10),inset_0_0_0_1px_oklch(from_var(--border)_l_c_h/0.9)]","focus-visible:ring-ring/40"),children:e==="sessions"?w.jsxs("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[w.jsx("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"1.8"}),w.jsx("path",{d:"M12 7v5l3.2 2",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round"})]}):w.jsx("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:w.jsx("path",{d:"M3 7.5 A1.5 1.5 0 0 1 4.5 6 h4 l2 2 h9 A1.5 1.5 0 0 1 21 9.5 V17.5 A1.5 1.5 0 0 1 19.5 19 H4.5 A1.5 1.5 0 0 1 3 17.5 Z",stroke:"currentColor",strokeWidth:"1.8",strokeLinejoin:"round"})})})}function l_t({appTitle:t="Boring",sessionTitle:e,onCommandPalette:r,onNewChat:n,topBarLeft:i,topBarRight:s,className:a}){const o=s??null;return w.jsxs("header",{"data-boring-workspace-part":"topbar",className:kn("relative flex items-center justify-between gap-2 px-3","bg-background border-b border-[color:oklch(from_var(--border)_l_c_h/0.4)]",a),style:{height:40},"aria-label":"App top bar",children:[w.jsx("div",{className:"flex min-w-0 flex-1 items-center gap-2.5",children:i??w.jsxs(w.Fragment,{children:[w.jsx("img",{src:"https://chatgpt.com/backend-api/estuary/content?id=file_000000006a4471f4b8411fcbfde271c6&ts=493962&p=fs&cid=1&sig=b406cfec61d387bdedd898858283b389f31ad2bd3eb7a358a6d1efa23e9afa83&v=0",alt:t,className:"h-6 w-6 shrink-0 rounded-md"}),w.jsx("span",{className:"truncate text-[12px] font-medium tracking-tight text-foreground",children:t}),e&&w.jsxs(w.Fragment,{children:[w.jsx("span",{"aria-hidden":"true",className:"text-muted-foreground/30",children:"/"}),w.jsx("span",{className:"truncate text-[12px] font-normal text-muted-foreground",children:e})]})]})}),w.jsxs(Xr,{type:"button",variant:"ghost",size:"sm",onClick:r,className:"group h-6 gap-1 px-1.5 text-[12px] text-muted-foreground/60 hover:bg-muted/60 hover:text-foreground focus-visible:text-foreground","aria-label":"Search catalogs and commands",title:"Command palette (⌘K)",children:[w.jsx(Uw,{className:"h-3 w-3 shrink-0 opacity-70",strokeWidth:1.75}),w.jsx("span",{className:"font-normal tracking-tight",children:"Search"}),w.jsx(Ch,{className:"ml-1 border-0 bg-transparent p-0 text-[10px] shadow-none group-hover:text-muted-foreground",children:"⌘K"})]}),w.jsxs("div",{className:"flex flex-1 shrink-0 items-center justify-end gap-1",children:[n&&w.jsx(si,{type:"button",variant:"ghost",size:"icon-sm",onClick:n,"aria-label":"New chat",title:"New chat",children:w.jsx(IL,{className:"h-4 w-4"})}),o]})]})}function c_t(){const t=`s${Date.now()}`;return{sessions:[{id:t,title:"New session",updatedAt:Date.now()}],activeId:t}}function u_t(t,e){var r;if(typeof localStorage>"u")return e();try{const n=localStorage.getItem(t);if(n){const i=JSON.parse(n),s=Array.isArray(i.sessions)?i.sessions:Array.isArray(i.items)?i.items:null;if(s)return{sessions:s,activeId:i.activeId??((r=s[0])==null?void 0:r.id)??""}}}catch{}return e()}function h_t(t,e){if(!(typeof localStorage>"u"))try{localStorage.setItem(t,JSON.stringify(e))}catch{}}function d_t(t={}){const e=t.storageKey??"workspace:sessions",r=t.initial??c_t;let n=u_t(e,r);const i=new Set,s=a=>{n=a,h_t(e,n),i.forEach(o=>o())};return{getState:()=>n,subscribe(a){return i.add(a),()=>{i.delete(a)}},switchTo(a){s({...n,activeId:a})},create(){const a=`s${Date.now()}`,o={id:a,title:"New session",updatedAt:Date.now()};s({sessions:[o,...n.sessions],activeId:a})},remove(a){var o;const l=n.sessions.filter(u=>u.id!==a),c=n.activeId===a?((o=l[0])==null?void 0:o.id)??"":n.activeId;s({sessions:l,activeId:c})}}}function f_t(t){return k.useSyncExternalStore(t.subscribe,t.getState,t.getState)}function p_t(t,e){return t.endsWith(":surface")?t.slice(0,-8):e}function z6(t,e,r){const[n,i]=k.useState(()=>EW(t,e,r));k.useEffect(()=>{i(EW(t,e,r))},[t,e,r]);const s=k.useCallback(a=>{i(a),r_t(t,a,r)},[r,t]);return[n,s]}const m_t={},RW={openTabs:[],activeTab:null};function g_t(t){if(!t)return"/api/v1/ui";const e=t.replace(/\/$/,""),r="/api/v1/ui";return e.endsWith(r)?e:`${e}${r}`}function y_t(t){return`${g_t(t)}/state`}function b_t(t){var e;const r=t.openTabs.find(i=>i.id===t.activeTab),n=(e=r==null?void 0:r.params)==null?void 0:e.path;return typeof n=="string"?n:null}function v_t({bridgeEndpoint:t,requestHeaders:e,navOpen:r,surfaceOpen:n,snapshot:i}){const s=qg(),a=k.useRef(null);return k.useEffect(()=>{var o;if(t===null)return;(o=a.current)==null||o.abort();const l=new AbortController;a.current=l;const c={v:1,drawerOpen:r,workbenchOpen:n,openTabs:i.openTabs,activeTab:i.activeTab,activeFile:b_t(i),availablePanels:s.list().map(u=>u.id)};return fetch(y_t(t),{method:"PUT",headers:{...e,"Content-Type":"application/json"},body:JSON.stringify({state:c,causedBy:"user"}),signal:l.signal}).catch(()=>{}),()=>{l.abort()}},[t,r,s,e,i,n]),null}function NW({workspaceId:t,chatPanel:e,useSessions:r,requestHeaders:n=m_t,sessionStorageKey:i,providerStorageKey:s,surfaceStorageKey:a,beforeShell:o,afterShell:l,panels:c,commands:u,catalogs:d,plugins:m,excludeDefaults:p,capabilities:y,apiBaseUrl:b,authHeaders:v,apiTimeout:x,defaultTheme:C,onThemeChange:T,persistenceEnabled:S,bridgeEndpoint:L,onAuthError:D,sessions:I,activeSessionId:N,onSwitchSession:H,onCreateSession:B,onDeleteSession:j,onActiveSessionIdChange:Z,appTitle:te="Boring",defaultSessionTitle:U="New session",defaultSurfaceOpen:V,defaultWorkbenchLeftTab:F,topBarLeft:X,topBarRight:Q,chatParams:ae,hotReloadEnabled:q,frontPluginHotReload:J,extraPanels:re,extraCommands:G,onOpenNav:be,onOpenSurface:ne,className:pe}){var me,ge;const fe=s??`boring-ui-v2:layout:${t}`,ye=a??`${fe}:surface`,De=p_t(ye,fe),Ie=S!==!1,je=i??`boring-workspace:sessions:${t}`,lt=k.useMemo(()=>d_t({storageKey:je}),[je]),bt=f_t(lt),br=e??nD,sn=r??(e?void 0:iD),at=sn==null?void 0:sn({requestHeaders:n,storageKey:je}),Ht=I!==void 0||N!==void 0||H!==void 0||B!==void 0||j!==void 0,_r=at==null?void 0:at.sessions.map(Vt=>({...Vt,title:Vt.title??"New session"})),en=at?_r??[]:Ht?I??[]:bt.sessions,an=at?at.activeSessionId??null:Ht?N??null:bt.activeId,ss=(at==null?void 0:at.switch)??H??lt.switchTo,Hr=k.useCallback(Vt=>(an&&Vt!==an&&window.dispatchEvent(new CustomEvent("boring:workspace-composer-stop",{detail:{sessionId:an}})),ss(Vt)),[ss,an]),Xn=at?()=>at.create():B??lt.create,Oe=(at==null?void 0:at.delete)??j??lt.remove,Te=((me=en.find(Vt=>Vt.id===an))==null?void 0:me.title)??void 0,[Ne,Ze]=z6(`${De}:drawer`,!0,Ie),[ct,Nt]=z6(`${De}:workbenchOpen`,V??!1,Ie),[lr,vr]=z6(`${De}:workbenchLeftOpen`,!0,Ie),sr=k.useRef(!1),Jt=k.useRef(ct),tr=k.useRef(ye),Ri=k.useRef(null);tr.current=ye;const[fi,Au]=k.useState(()=>({key:ye,snapshot:RW})),to=fi.key===ye?fi.snapshot:RW;k.useEffect(()=>{sr.current=!1},[t]),k.useEffect(()=>{if(!(!at||at.loading)){if(at.sessions.length>0){sr.current=!1;return}sr.current||(sr.current=!0,Promise.resolve(at.create({title:U})).catch(()=>{sr.current=!1}))}},[U,at]),k.useEffect(()=>{Jt.current=ct},[ct]);const Ea=k.useCallback(Vt=>{Ri.current={key:ye,api:Vt},Au({key:ye,snapshot:Vt.getSnapshot()})},[ye]),Mo=k.useCallback(Vt=>{Au({key:ye,snapshot:Vt})},[ye]),pi=k.useCallback(()=>{const Vt=Ri.current;return(Vt==null?void 0:Vt.key)===tr.current?Vt.api:null},[]),Aa=k.useCallback(()=>Jt.current,[]),la=k.useCallback(()=>{Jt.current=!0,Nt(!0)},[Nt]),hn=k.useCallback(()=>{Jt.current=!1,Nt(!1)},[Nt]),as=k.useMemo(()=>(m==null?void 0:m.map(Dpe))??[],[m]),it=k.useMemo(()=>as.some(Vt=>Vt.registrations.leftTabs.length>0),[as]),gt=k.useMemo(()=>as.flatMap(Vt=>Vt.registrations.panels.map(_n=>_n.id)),[as]),Sr=k.useMemo(()=>[...re??[],...gt],[re,gt]),wr=an??((ge=en[0])==null?void 0:ge.id)??"default";k.useEffect(()=>{var Vt;const _n=Ms=>{const Da=Ms.detail;!Da||typeof Da!="object"||lv(Da,{surface:pi,isWorkbenchOpen:Aa,openWorkbench:la})};return(Vt=globalThis.addEventListener)==null||Vt.call(globalThis,RD,_n),()=>{var Ms;return(Ms=globalThis.removeEventListener)==null?void 0:Ms.call(globalThis,RD,_n)}},[pi,Aa,la]),k.useEffect(()=>{an&&(Z==null||Z(an))},[an,Z]);const Mn=k.useMemo(()=>({...ae,sessionId:wr,requestHeaders:n,bridgeEndpoint:L,getSurface:pi,isWorkbenchOpen:Aa,openWorkbench:la,closeWorkbench:hn,extraCommands:G,...q!==void 0?{hotReloadEnabled:q}:{}}),[ae,wr,n,L,pi,Aa,la,hn,G,q]),xs=k.useMemo(()=>({storageKey:ye,defaultLeftTab:F,extraPanels:Sr,onReady:Ea,onChange:Mo,onClose:hn}),[hn,F,Mo,Ea,ye,Sr,Nt]);return w.jsx("div",{className:"h-full bg-background text-foreground",children:w.jsxs(t_t,{chatPanel:br,panels:c,commands:u,catalogs:d,plugins:m,excludeDefaults:p,capabilities:y,apiBaseUrl:b,authHeaders:v,apiTimeout:x,defaultTheme:C,onThemeChange:T,workspaceId:t,storageKey:fe,persistenceEnabled:S,bridgeEndpoint:null,onAuthError:D,frontPluginHotReload:J,children:[o,w.jsx(v_t,{bridgeEndpoint:L,requestHeaders:n,navOpen:Ne,surfaceOpen:ct,snapshot:to}),w.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[w.jsx(l_t,{appTitle:te,sessionTitle:Te??U,onCommandPalette:()=>{document.dispatchEvent(new KeyboardEvent("keydown",{key:"k",metaKey:!0,ctrlKey:!0,bubbles:!0,cancelable:!0}))},onNewChat:Xn,topBarLeft:X,topBarRight:Q}),w.jsx(i_t,{className:pe,nav:Ne?"session-list":null,navParams:{sessions:en,activeId:an,onSwitch:Hr,onCreate:Xn,onDelete:Oe,onClose:()=>Ze(!1)},center:"chat",centerParams:Mn,surface:ct?"artifact-surface":null,surfaceParams:xs,sidebar:ct&&it&&lr?"workbench-left":null,sidebarParams:ct&&it?{...F?{defaultTab:F}:{},onClose:()=>vr(!1),onCollapse:()=>vr(!1)}:void 0,storageKey:Ie?De:void 0,onOpenNav:()=>{Ze(!0),be==null||be()},onOpenSurface:()=>{Jt.current=!0,Nt(!0),ne==null||ne()},onOpenSidebar:it?()=>{Jt.current=!0,Nt(!0),vr(!0)}:void 0})]}),l]})})}function x_t(t){return(t.trim()[0]??"W").toUpperCase()}function __t(t,e,r){var n;if(t.length===0)return-1;for(let i=1;i<=t.length;i++){const s=(e+r*i+t.length)%t.length;if(((n=t[s])==null?void 0:n.available)!==!1)return s}return-1}function w_t({appTitle:t="Boring",workspaces:e,activeWorkspaceId:r,emptyLabel:n="Create your first workspace",createLabel:i="Create workspace",createDescription:s="Start a clean project space",settingsLabel:a="Workspace settings",settingsDescription:o="Rename, runtime, deletion",onSelectWorkspace:l,onCreateWorkspace:c,onOpenWorkspaceSettings:u}){const d=k.useRef(null),m=k.useRef([]),[p,y]=k.useState(!1),b=e.find(B=>B.id===r)??null,v=(b==null?void 0:b.name)??"Select workspace",x=k.useMemo(()=>e.findIndex(B=>B.id===r&&B.available!==!1),[r,e]),C=k.useMemo(()=>e.findIndex(B=>B.available!==!1),[e]),[T,S]=k.useState(()=>x>=0?x:C);k.useEffect(()=>{const B=j=>{var Z;j.isComposing||!j.metaKey||!j.shiftKey||j.altKey||j.ctrlKey||j.key.toLowerCase()!=="k"&&j.code!=="KeyK"||(j.preventDefault(),j.stopPropagation(),(Z=d.current)==null||Z.focus(),S(x>=0?x:C),y(!0))};return document.addEventListener("keydown",B,!0),()=>document.removeEventListener("keydown",B,!0)},[x,C]),k.useEffect(()=>{if(!p)return;const B=x>=0?x:C;S(B),window.setTimeout(()=>{var j;return(j=m.current[B])==null?void 0:j.focus()},0)},[x,C,p]);const L=k.useCallback(B=>{B&&S(x>=0?x:C),y(B)},[x,C]),D=k.useCallback(()=>{const B=e[T];!B||B.available===!1||(l(B.id),y(!1))},[T,l,e]),I=k.useCallback(B=>{S(j=>{const Z=j>=0?j:x>=0?x:C,te=__t(e,Z,B);return window.setTimeout(()=>{var U;return(U=m.current[te])==null?void 0:U.focus()},0),te})},[x,C,e]),N=k.useCallback(B=>{var j;if(p&&!(B.metaKey||B.altKey||B.ctrlKey)){if(B.key==="ArrowDown"||B.key==="ArrowUp"){B.preventDefault(),B.stopPropagation(),I(B.key==="ArrowDown"?1:-1);return}if(B.key==="Enter"){B.preventDefault(),B.stopPropagation(),D();return}B.key==="Escape"&&(B.preventDefault(),B.stopPropagation(),y(!1),(j=d.current)==null||j.focus())}},[I,p,D]);k.useEffect(()=>{if(!p)return;const B=j=>N(j);return document.addEventListener("keydown",B,!0),()=>document.removeEventListener("keydown",B,!0)},[N,p]);const H=k.useCallback(B=>{N(B)},[N]);return e.length===0?w.jsxs(Xr,{type:"button",variant:"ghost",onClick:c,disabled:!c,className:"-ml-1 h-8 gap-2 rounded-md px-1 pr-2.5 hover:bg-muted/60 focus-visible:ring-1 focus-visible:ring-ring",children:[w.jsx("span",{"aria-hidden":"true",style:{width:28,height:28},className:"flex shrink-0 items-center justify-center rounded-md bg-foreground text-[12px] font-semibold text-background",children:t.charAt(0).toUpperCase()}),w.jsx("span",{className:"text-[13px] font-medium text-foreground",children:n})]}):w.jsxs("div",{className:"-ml-1 flex h-8 min-w-0 items-center gap-1.5",children:[w.jsx("span",{"aria-hidden":"true",style:{width:28,height:28},className:"flex shrink-0 items-center justify-center rounded-md bg-foreground text-[12px] font-semibold text-background",children:t.charAt(0).toUpperCase()}),w.jsx("span",{className:"truncate text-[13px] font-medium text-foreground",children:t}),w.jsx("span",{"aria-hidden":"true",className:"text-muted-foreground/30",children:"/"}),w.jsxs(Gwe,{open:p,onOpenChange:L,children:[w.jsx(Wwe,{asChild:!0,children:w.jsxs(Xr,{ref:d,type:"button",variant:"ghost","aria-label":`Workspace menu: ${v}`,title:"Workspace picker (⌘⇧K)",className:"group h-8 min-w-0 justify-start gap-1.5 rounded-md px-1.5 py-1 text-left hover:bg-muted/60 focus-visible:ring-1 focus-visible:ring-ring",children:[w.jsx("span",{className:"max-w-[15rem] truncate text-[13px] font-normal text-muted-foreground",children:v}),w.jsx(Ch,{className:"ml-1 border-0 bg-transparent p-0 text-[10px] leading-none text-muted-foreground/60 shadow-none group-hover:text-muted-foreground",children:"⌘⇧K"}),w.jsx(nTe,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground/55","aria-hidden":"true"})]})}),w.jsxs(Ywe,{align:"start",side:"bottom",sideOffset:6,onKeyDownCapture:H,className:"w-[21rem] rounded-xl border-border/70 bg-popover p-1.5 text-popover-foreground shadow-2xl",children:[w.jsx("div",{className:"max-h-80 overflow-y-auto",children:e.map((B,j)=>{const Z=(b==null?void 0:b.id)===B.id,te=T===j,U=B.available!==!1;return w.jsxs(T3,{ref:V=>{m.current[j]=V},"aria-label":B.name,"data-current":Z?"true":"false","data-active":te?"true":"false",disabled:!U,onFocus:()=>S(j),onPointerMove:()=>{U&&S(j)},onSelect:()=>l(B.id),style:{backgroundColor:te?"color-mix(in oklch, var(--foreground) 10%, transparent)":Z?"color-mix(in oklch, var(--foreground) 5%, transparent)":void 0},className:"relative gap-3 rounded-lg px-2.5 py-2.5 pl-3 text-[13px] focus:text-foreground data-[active=true]:text-foreground data-[current=true]:text-foreground",children:[w.jsx("span",{"aria-hidden":"true",style:{backgroundColor:te?"var(--foreground)":"transparent"},className:"absolute bottom-2 left-1 top-2 w-0.5 rounded-full"}),w.jsx("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border border-border/60 bg-background text-xs font-semibold text-muted-foreground",children:x_t(B.name)}),w.jsxs("span",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[w.jsx("span",{className:"truncate text-sm font-medium",children:B.name}),U?B.path?w.jsx("span",{className:"truncate text-xs text-muted-foreground",children:B.path}):null:w.jsx("span",{className:"truncate text-xs text-destructive",children:"Folder unavailable"})]}),Z?w.jsx(Lv,{className:"h-4 w-4 text-foreground","aria-hidden":"true"}):null]},B.id)})}),c||b&&u?w.jsx(Zwe,{className:"-mx-1.5 my-1"}):null,c?w.jsxs(T3,{"aria-label":i,onSelect:B=>{B.preventDefault(),c()},className:"gap-3 rounded-lg px-2.5 py-2.5 text-[13px] focus:bg-foreground/[0.06] focus:text-foreground",children:[w.jsx(IL,{className:"h-4 w-4","aria-hidden":"true"}),w.jsxs("span",{className:"flex min-w-0 flex-col",children:[w.jsx("span",{children:i}),w.jsx("span",{className:"text-xs text-muted-foreground",children:s})]})]}):null,b&&u?w.jsxs(T3,{"aria-label":a,onSelect:()=>u(b.id),className:"gap-3 rounded-lg px-2.5 py-2.5 text-[13px] focus:bg-foreground/[0.06] focus:text-foreground",children:[w.jsx(WTe,{className:"h-4 w-4","aria-hidden":"true"}),w.jsxs("span",{className:"flex min-w-0 flex-col",children:[w.jsx("span",{children:a}),w.jsx("span",{className:"text-xs text-muted-foreground",children:o})]})]}):null]})]})]})}function OW(t){const e=t.match(/^\/workspace\/([^/?#]+)/);if(!(e!=null&&e[1]))return null;try{return decodeURIComponent(e[1])}catch{return e[1]}}function C_t(t){return`/workspace/${encodeURIComponent(t)}`}function T_t(t){const e=C_t(t);window.location.pathname!==e&&window.history.replaceState(null,"",e)}function k_t(t,e){return t.length!==e.length?!1:t.every((r,n)=>{const i=e[n];return i&&r.id===i.id&&r.name===i.name&&r.path===i.path&&r.available===i.available})}function MW({version:t}){const e=t==null?void 0:t.trim();return e?w.jsxs("span",{"aria-label":`Boring UI CLI version ${e}`,title:`Boring UI CLI ${e}`,className:"rounded-full border border-border/60 bg-muted/40 px-2 py-0.5 text-[10px] font-medium leading-none tracking-tight text-muted-foreground",children:["v",e]}):null}function S_t(){const[t,e]=k.useState("Workspace"),[r,n]=k.useState(!1),[i,s]=k.useState(null),[a,o]=k.useState([]),[l,c]=k.useState(null),[u,d]=k.useState(!1),m=k.useCallback(()=>{fetch("/api/v1/local-workspaces").then(async y=>y.ok?await y.json():{workspaces:[]}).then(y=>{const b=y.workspaces??[];o(v=>k_t(v,b)?v:b),c(v=>{const x=OW(window.location.pathname),C=window.localStorage.getItem("boring-ui:local-workspace-id"),T=v??x??C,L=(T?b.find(D=>D.id===T&&D.available):null)??b.find(D=>D.available)??null;return L&&window.localStorage.setItem("boring-ui:local-workspace-id",L.id),(L==null?void 0:L.id)??null})}).catch(()=>{})},[]);k.useEffect(()=>{let y=!1;return fetch("/api/v1/workspace/meta").then(async b=>b.ok?await b.json():null).then(b=>{var T,S;if(y)return;const v=(T=b==null?void 0:b.projectName)==null?void 0:T.trim();v&&(e(v),document.title=v);const x=(S=b==null?void 0:b.version)==null?void 0:S.trim();x&&s(x);const C=(b==null?void 0:b.workspacesMode)===!0;n(C),C&&m(),d(!0)}).catch(()=>{y||d(!0)}),()=>{y=!0}},[m]),k.useEffect(()=>{if(!r)return;const y=()=>m(),b=()=>{c(OW(window.location.pathname))};return window.addEventListener("focus",y),window.addEventListener("popstate",b),()=>{window.removeEventListener("focus",y),window.removeEventListener("popstate",b)}},[m,r]),k.useEffect(()=>{!r||!l||T_t(l)},[l,r]);const p=k.useMemo(()=>[],[]);if(!u)return w.jsx("div",{className:"h-screen w-screen bg-background"});if(r){const y=a.find(v=>v.id===l&&v.available)??null;if(!y){const v=a.length>0;return w.jsx("div",{className:"flex h-screen w-screen items-center justify-center bg-background text-foreground",children:w.jsxs("div",{className:"max-w-md rounded-2xl border border-border bg-card p-6 text-center shadow-sm",children:[w.jsx("h1",{className:"text-lg font-semibold",children:v?"No available local workspaces":"No local workspaces"}),w.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:v?"Registered workspace folders are missing or not directories. Restore one of the folders, then focus or refresh this page.":w.jsxs(w.Fragment,{children:["Add one with ",w.jsx("code",{children:"boring-ui workspaces add /path/to/project"}),", then refresh this page."]})})]})})}const b={"x-boring-workspace-id":y.id};return w.jsx(NW,{chatPanel:nD,workspaceId:y.id,requestHeaders:b,authHeaders:b,plugins:p,apiBaseUrl:"",persistenceEnabled:!0,providerStorageKey:`boring-ui-v2:layout:${y.id}`,appTitle:"Boring UI",defaultSessionTitle:y.name,useSessions:iD,chatParams:{thinkingControl:!0},frontPluginHotReload:!1,topBarRight:w.jsx(MW,{version:i}),topBarLeft:w.jsx(w_t,{appTitle:"Boring UI",workspaces:a,activeWorkspaceId:y.id,createLabel:"Add local folder",createDescription:"Use `boring-ui workspaces add /path`",settingsDescription:y.path,onSelectWorkspace:v=>{window.localStorage.setItem("boring-ui:local-workspace-id",v),c(v)}})},y.id)}return w.jsx(NW,{chatPanel:nD,workspaceId:t,plugins:p,apiBaseUrl:"",persistenceEnabled:!0,providerStorageKey:`boring-ui-v2:layout:${t}`,appTitle:t,defaultSessionTitle:t,useSessions:iD,chatParams:{thinkingControl:!0},frontPluginHotReload:!1,topBarRight:w.jsx(MW,{version:i})})}function y0e(){const t="boring-ui:asset-reload-attempted-at",e=Number(window.sessionStorage.getItem(t)??0);Date.now()-e<1e4||(window.sessionStorage.setItem(t,String(Date.now())),window.location.reload())}window.addEventListener("vite:preloadError",t=>{t.preventDefault(),y0e()});window.addEventListener("unhandledrejection",t=>{var r;const e=String(((r=t.reason)==null?void 0:r.message)??t.reason??"");(e.includes("dynamically imported module")||e.includes("Failed to fetch dynamically imported module"))&&(t.preventDefault(),y0e())});window.setTimeout(()=>{window.sessionStorage.removeItem("boring-ui:asset-reload-attempted-at")},3e4);Fge.createRoot(document.getElementById("root")).render(w.jsx(k.StrictMode,{children:w.jsx(S_t,{})}));const E_t=Object.freeze(Object.defineProperty({__proto__:null,Mermaid:ffe},Symbol.toStringTag,{value:"Module"})),A_t=Object.freeze(Object.defineProperty({__proto__:null,DebugDrawer:xke},Symbol.toStringTag,{value:"Module"}));export{owt as $,Ndt as A,hwt as B,Km as C,sje as D,J_t as E,qh as F,tc as G,R$e as H,Yn as I,Qqe as J,fje as K,Owt as L,K9 as M,gie as N,jYe as O,GUe as P,NUe as Q,Xa as R,D9 as S,nwt as T,er as U,awt as V,x0 as W,aV as X,sV as Y,lwt as Z,P as _,oje as a,uWe as a$,swt as a0,twt as a1,rwt as a2,iwt as a3,uwt as a4,cwt as a5,yze as a6,zb as a7,K_t as a8,pS as a9,Awt as aA,Twt as aB,Dt as aC,kwt as aD,aKe as aE,tKe as aF,eKe as aG,iXe as aH,aie as aI,OUe as aJ,zD as aK,X_t as aL,fS as aM,sT as aN,yoe as aO,lg as aP,rx as aQ,rXe as aR,tXe as aS,k9 as aT,_h as aU,Vb as aV,JH as aW,fVe as aX,aYe as aY,moe as aZ,loe as a_,RYe as aa,Wze as ab,kie as ac,zH as ad,BUe as ae,Y8 as af,zYe as ag,hl as ah,Me as ai,Le as aj,tje as ak,Eie as al,DXe as am,Ace as an,Ewt as ao,eGe as ap,na as aq,Cu as ar,Z1 as as,Q9 as at,Coe as au,np as av,Eoe as aw,Tt as ax,IKe as ay,Swt as az,aje as b,LL as b$,rT as b0,hWe as b1,ex as b2,lf as b3,tYe as b4,SV as b5,bp as b6,dWe as b7,U9 as b8,cWe as b9,cS as bA,_V as bB,q9 as bC,uoe as bD,poe as bE,oWe as bF,L7 as bG,EYe as bH,xYe as bI,DYe as bJ,V9 as bK,IYe as bL,Yt as bM,mt as bN,yd as bO,mY as bP,mn as bQ,Dp as bR,Lp as bS,Pwt as bT,O_t as bU,Hc as bV,ak as bW,ZK as bX,M_t as bY,P_t as bZ,pvt as b_,mWe as ba,Ng as bb,sYe as bc,AYe as bd,xWe as be,_Ye as bf,H9 as bg,yU as bh,Et as bi,Aoe as bj,Xr as bk,kn as bl,Ta as bm,aVe as bn,T9 as bo,jie as bp,Kv as bq,Uie as br,ewt as bs,I$e as bt,Rg as bu,dYe as bv,eQe as bw,Jv as bx,iT as by,Td as bz,Gr as c,L_t as c0,M as c1,mr as d,Sie as e,Ui as f,cje as g,pu as h,cl as i,w as j,nGe as k,Ue as l,Zv as m,koe as n,Yv as o,Q_t as p,Lwt as q,k as r,lje as s,Dwt as t,Qo as u,uje as v,UYe as w,hje as x,Jqe as y,ZXe as z};
|