@fgbg/mdocs 0.7.5 → 0.7.6
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/web/assets/{_baseUniq-C2jfm5fe.js → _baseUniq-B8WC6o3j.js} +1 -1
- package/dist/web/assets/{arc-BwinfL10.js → arc-BL58IbRm.js} +1 -1
- package/dist/web/assets/{architectureDiagram-Q4EWVU46-BwMdSGCO.js → architectureDiagram-Q4EWVU46-BFJ92iR0.js} +1 -1
- package/dist/web/assets/{blockDiagram-DXYQGD6D-D7q8kiZ4.js → blockDiagram-DXYQGD6D-PdeZdcFF.js} +1 -1
- package/dist/web/assets/{c4Diagram-AHTNJAMY-Bh0HKhD5.js → c4Diagram-AHTNJAMY-BIa3pYzN.js} +1 -1
- package/dist/web/assets/channel-oETrKpJb.js +1 -0
- package/dist/web/assets/{chunk-4BX2VUAB-DHALOcxM.js → chunk-4BX2VUAB-CJ4Sku_j.js} +1 -1
- package/dist/web/assets/{chunk-4TB4RGXK-e1SqPiMG.js → chunk-4TB4RGXK-CbKbZ0AS.js} +1 -1
- package/dist/web/assets/{chunk-55IACEB6-qh_Qhz6Y.js → chunk-55IACEB6-Dv6eXygK.js} +1 -1
- package/dist/web/assets/{chunk-EDXVE4YY-B4i4xwgx.js → chunk-EDXVE4YY-N-F2nM2g.js} +1 -1
- package/dist/web/assets/{chunk-FMBD7UC4-C_6xnyU_.js → chunk-FMBD7UC4-D8W6SBii.js} +1 -1
- package/dist/web/assets/{chunk-OYMX7WX6-Dk00pxBq.js → chunk-OYMX7WX6-CIf14uQq.js} +1 -1
- package/dist/web/assets/{chunk-QZHKN3VN-C-sCwrvf.js → chunk-QZHKN3VN-Dxk1TZWj.js} +1 -1
- package/dist/web/assets/{chunk-YZCP3GAM-CLuBvYA_.js → chunk-YZCP3GAM-CKbsBHg0.js} +1 -1
- package/dist/web/assets/classDiagram-6PBFFD2Q-DracnepB.js +1 -0
- package/dist/web/assets/classDiagram-v2-HSJHXN6E-DracnepB.js +1 -0
- package/dist/web/assets/clone-DKYeRXBA.js +1 -0
- package/dist/web/assets/{cose-bilkent-S5V4N54A-MD0jUjTP.js → cose-bilkent-S5V4N54A-BGxv_nte.js} +1 -1
- package/dist/web/assets/{dagre-KV5264BT-DkVfPyYV.js → dagre-KV5264BT-BumG0beT.js} +1 -1
- package/dist/web/assets/{diagram-5BDNPKRD-D5fdqMN8.js → diagram-5BDNPKRD-D3RE_Stf.js} +1 -1
- package/dist/web/assets/{diagram-G4DWMVQ6-DQEkU3u8.js → diagram-G4DWMVQ6-D7jP8End.js} +1 -1
- package/dist/web/assets/{diagram-MMDJMWI5-DqbPYCMq.js → diagram-MMDJMWI5-ik5MlAZ1.js} +1 -1
- package/dist/web/assets/{diagram-TYMM5635-B15Kavxs.js → diagram-TYMM5635-Njuov3Y8.js} +1 -1
- package/dist/web/assets/{erDiagram-SMLLAGMA-f2K6Efmp.js → erDiagram-SMLLAGMA-Dm3F-vgH.js} +1 -1
- package/dist/web/assets/{flowDiagram-DWJPFMVM-CJERG3tk.js → flowDiagram-DWJPFMVM-D2KRZiuS.js} +1 -1
- package/dist/web/assets/{ganttDiagram-T4ZO3ILL-CdCUq215.js → ganttDiagram-T4ZO3ILL-hiPza1Zk.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-UUTBAWPF-C5jiWh6-.js → gitGraphDiagram-UUTBAWPF-C3ntgeZF.js} +1 -1
- package/dist/web/assets/{graph-BaZt4gzS.js → graph-C_31ToJI.js} +1 -1
- package/dist/web/assets/{index-iA6LYeoe.js → index-DvSvixfG.js} +4 -4
- package/dist/web/assets/{infoDiagram-42DDH7IO-DpV55Lj8.js → infoDiagram-42DDH7IO-DxWzByvY.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-UXIWVN3A-IPPv9B6W.js → ishikawaDiagram-UXIWVN3A-B7LzcLYH.js} +1 -1
- package/dist/web/assets/{journeyDiagram-VCZTEJTY-q07mrby7.js → journeyDiagram-VCZTEJTY-D0Nouz41.js} +1 -1
- package/dist/web/assets/{kanban-definition-6JOO6SKY-D5pYkpSn.js → kanban-definition-6JOO6SKY-UScrEpmZ.js} +1 -1
- package/dist/web/assets/{layout-DZownhDd.js → layout-rh_Tj6sx.js} +1 -1
- package/dist/web/assets/{linear-3L3EqBEm.js → linear-BVSueGc-.js} +1 -1
- package/dist/web/assets/{min-DxLSkn17.js → min-dDP4p0XK.js} +1 -1
- package/dist/web/assets/{mindmap-definition-QFDTVHPH-ClLku81g.js → mindmap-definition-QFDTVHPH-D3Ght_3C.js} +1 -1
- package/dist/web/assets/{pieDiagram-DEJITSTG-Yg7OrlES.js → pieDiagram-DEJITSTG-DzWX1NZT.js} +1 -1
- package/dist/web/assets/{quadrantDiagram-34T5L4WZ-Bqa3r1HO.js → quadrantDiagram-34T5L4WZ-DJG0hrDl.js} +1 -1
- package/dist/web/assets/{requirementDiagram-MS252O5E-B7gkcf6S.js → requirementDiagram-MS252O5E-XFxrUQ_b.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-XADWPNL6-C9FqdpXf.js → sankeyDiagram-XADWPNL6-CpC5HwfI.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-FGHM5R23-CCOiiyNN.js → sequenceDiagram-FGHM5R23-BMJ8G5KF.js} +1 -1
- package/dist/web/assets/{stateDiagram-FHFEXIEX-CjnJpaVf.js → stateDiagram-FHFEXIEX-gcLHYk1k.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-QKLJ7IA2-DUke_tlW.js +1 -0
- package/dist/web/assets/{timeline-definition-GMOUNBTQ-DumwwfMo.js → timeline-definition-GMOUNBTQ-Br1oQtkP.js} +1 -1
- package/dist/web/assets/{vennDiagram-DHZGUBPP-BxnFQE75.js → vennDiagram-DHZGUBPP-DCeURWxA.js} +1 -1
- package/dist/web/assets/wardley-RL74JXVD-DyuSQ0KQ.js +162 -0
- package/dist/web/assets/{wardleyDiagram-NUSXRM2D-BAFaHgqO.js → wardleyDiagram-NUSXRM2D-YhL8pI_5.js} +1 -1
- package/dist/web/assets/{xychartDiagram-5P7HB3ND-8PJSqkfu.js → xychartDiagram-5P7HB3ND-Dc-wzF7t.js} +1 -1
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
- package/dist/web/assets/channel-BdMmstlT.js +0 -1
- package/dist/web/assets/classDiagram-6PBFFD2Q-5uU33OTB.js +0 -1
- package/dist/web/assets/classDiagram-v2-HSJHXN6E-5uU33OTB.js +0 -1
- package/dist/web/assets/clone-DcgTUazJ.js +0 -1
- package/dist/web/assets/stateDiagram-v2-QKLJ7IA2-CNRijl6o.js +0 -1
- package/dist/web/assets/wardley-RL74JXVD-JxjUgJ12.js +0 -162
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/angular-html-CU67Zn6k.js","assets/html-GMplVEZG.js","assets/javascript-wDzz0qaB.js","assets/css-DPfMkruS.js","assets/angular-ts-BwZT4LLn.js","assets/scss-OYdSNvt2.js","assets/apl-dKokRX4l.js","assets/xml-sdJ4AIDG.js","assets/java-CylS5w8V.js","assets/json-Cp-IABpG.js","assets/astro-CbQHKStN.js","assets/typescript-BPQ3VLAy.js","assets/postcss-CXtECtnM.js","assets/tsx-COt5Ahok.js","assets/blade-D4QpJJKB.js","assets/html-derivative-BFtXZ54Q.js","assets/sql-BLtJtn59.js","assets/bsl-BO_Y6i37.js","assets/sdbl-DVxCFoDh.js","assets/cairo-KRGpt6FW.js","assets/python-B6aJPvgy.js","assets/cobol-nwyudZeR.js","assets/coffee-Ch7k5sss.js","assets/cpp-CofmeUqb.js","assets/regexp-CDVJQ6XC.js","assets/glsl-DplSGwfg.js","assets/c-BIGW1oBm.js","assets/crystal-tKQVLTB8.js","assets/shellscript-Yzrsuije.js","assets/edge-BkV0erSs.js","assets/elixir-CDX3lj18.js","assets/elm-DbKCFpqz.js","assets/erb-B12qg9BL.js","assets/ruby-Dw2BHqvy.js","assets/haml-B8DHNrY2.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-Rg0-pVw9.js","assets/glimmer-ts-U6CK756n.js","assets/hack-CaT9iCJl.js","assets/handlebars-BL8al0AC.js","assets/http-jrhK8wxY.js","assets/hurl-irOxFIW8.js","assets/csv-fuZLfV_i.js","assets/hxml-Bvhsp5Yf.js","assets/haxe-CzTSHFRz.js","assets/jinja-4LBKfQ-Z.js","assets/jison-wvAkD_A8.js","assets/julia-CxzCAyBv.js","assets/r-Dspwwk_N.js","assets/just-Cw27pwNe.js","assets/perl-C0TMdlhV.js","assets/latex-CWtU0Tv5.js","assets/tex-idrVyKtj.js","assets/liquid-DYVedYrR.js","assets/marko-CnJfTvn9.js","assets/less-B1dDrJ26.js","assets/mdc-BMNejdWA.js","assets/nextflow-Zz6hmt5N.js","assets/nextflow-groovy-BeH2EWoN.js","assets/nginx-BpAMiNFr.js","assets/nim-CVrawwO9.js","assets/php-Dhbhpdrm.js","assets/pug-CGlum2m_.js","assets/qml-3beO22l8.js","assets/razor-Uh8Bk_45.js","assets/csharp-COcwbKMJ.js","assets/rst-BrH8l1NY.js","assets/cmake-D1j8_8rp.js","assets/sas-cz2c8ADy.js","assets/shaderlab-Dg9Lc6iA.js","assets/hlsl-D3lLCCz7.js","assets/shellsession-BADoaaVG.js","assets/soy-Brmx7dQM.js","assets/sparql-rVzFXLq3.js","assets/turtle-BsS91CYL.js","assets/stata-BH5u7GGu.js","assets/surrealql-Bq5Q-fJD.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-AaS7Mt5G.js","assets/vue-vine-CQOfvN7w.js","assets/stylus-BEDo0Tqx.js","assets/xsl-CtQFsRM5.js","assets/angular-html-DA-rfuFy.js","assets/html-pp8916En.js","assets/javascript-XPxc2APE.js","assets/css-CLj8gQPS.js","assets/angular-ts-BrjP3tb8.js","assets/scss-D5BDwBP9.js","assets/apl-CORt7UWP.js","assets/xml-DtyAt_xK.js","assets/java-B2AjWfgk.js","assets/json-CjLXzM_z.js","assets/astro-HNnZUWAn.js","assets/typescript-DttGkNCf.js","assets/postcss-BSGhOJ4k.js","assets/tsx-Dio8iE-N.js","assets/blade-BjGOyj-B.js","assets/html-derivative-DlHx6ybY.js","assets/sql-CKXjX23X.js","assets/bsl-C4qeDxuX.js","assets/sdbl-C5Q1usnU.js","assets/cairo-C_mOTUpN.js","assets/python-DgE28U1V.js","assets/cobol-nBiQ_Alo.js","assets/coffee-CSg58a7P.js","assets/cpp-C28rag7_.js","assets/regexp-BW_zLBm-.js","assets/glsl-Bk7TyU8J.js","assets/c-CyUOlKFr.js","assets/crystal-DNxU26gB.js","assets/shellscript-CE-5zpiL.js","assets/edge-FbVlp4U3.js","assets/elixir-CkH2-t6x.js","assets/elm-BX_9EnK8.js","assets/erb-BYCe7drp.js","assets/ruby-Wjq7vjNf.js","assets/haml-D5jkg6IW.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-ByusRIyA.js","assets/glimmer-ts-BfAWNZQY.js","assets/hack-i7_Ulhet.js","assets/handlebars-BpdQsYii.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-f2NsQr07.js","assets/jison-DRGa8fbr.js","assets/julia-BxjEHQ54.js","assets/r-BcofxrH1.js","assets/just-VxiPbLrw.js","assets/perl-NvoQZIq0.js","assets/latex-C-qBiGC3.js","assets/tex-BLPnQt1V.js","assets/liquid-C0sCDyMI.js","assets/marko-DjSrsDqO.js","assets/less-C76OjOdF.js","assets/mdc-DTYItulj.js","assets/nextflow-C-mBbutL.js","assets/nextflow-groovy-vE_lwT2v.js","assets/nginx-bBKbG2uI.js","assets/nim-BIad80T-.js","assets/php-R6g_5hLQ.js","assets/pug-DKIMFp6K.js","assets/qml-BEkX6VoX.js","assets/razor-BDqjjVU7.js","assets/csharp-DieIJxYJ.js","assets/rst-CRjBmOyv.js","assets/cmake-Cv5ljclQ.js","assets/sas-BZeeyq_z.js","assets/shaderlab-DNkMdb2B.js","assets/hlsl-Pefxhtaj.js","assets/shellsession-BhddCRKA.js","assets/soy-8wufbnw4.js","assets/sparql-CHK3vDkL.js","assets/turtle-whXsfw69.js","assets/stata-BJqnY-gO.js","assets/surrealql-CYeReaNr.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-BM4TQ0nH.js","assets/vue-vine-BoDAl6tE.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-CU67Zn6k.js","assets/html-GMplVEZG.js","assets/javascript-wDzz0qaB.js","assets/css-DPfMkruS.js","assets/angular-ts-BwZT4LLn.js","assets/scss-OYdSNvt2.js","assets/apl-dKokRX4l.js","assets/xml-sdJ4AIDG.js","assets/java-CylS5w8V.js","assets/json-Cp-IABpG.js","assets/astro-CbQHKStN.js","assets/typescript-BPQ3VLAy.js","assets/postcss-CXtECtnM.js","assets/tsx-COt5Ahok.js","assets/blade-D4QpJJKB.js","assets/html-derivative-BFtXZ54Q.js","assets/sql-BLtJtn59.js","assets/bsl-BO_Y6i37.js","assets/sdbl-DVxCFoDh.js","assets/cairo-KRGpt6FW.js","assets/python-B6aJPvgy.js","assets/cobol-nwyudZeR.js","assets/coffee-Ch7k5sss.js","assets/cpp-CofmeUqb.js","assets/regexp-CDVJQ6XC.js","assets/glsl-DplSGwfg.js","assets/c-BIGW1oBm.js","assets/crystal-tKQVLTB8.js","assets/shellscript-Yzrsuije.js","assets/edge-BkV0erSs.js","assets/elixir-CDX3lj18.js","assets/elm-DbKCFpqz.js","assets/erb-B12qg9BL.js","assets/ruby-Dw2BHqvy.js","assets/haml-B8DHNrY2.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-Rg0-pVw9.js","assets/glimmer-ts-U6CK756n.js","assets/hack-CaT9iCJl.js","assets/handlebars-BL8al0AC.js","assets/http-jrhK8wxY.js","assets/hurl-irOxFIW8.js","assets/csv-fuZLfV_i.js","assets/hxml-Bvhsp5Yf.js","assets/haxe-CzTSHFRz.js","assets/jinja-4LBKfQ-Z.js","assets/jison-wvAkD_A8.js","assets/julia-CxzCAyBv.js","assets/r-Dspwwk_N.js","assets/just-Cw27pwNe.js","assets/perl-C0TMdlhV.js","assets/latex-CWtU0Tv5.js","assets/tex-idrVyKtj.js","assets/liquid-DYVedYrR.js","assets/marko-CnJfTvn9.js","assets/less-B1dDrJ26.js","assets/mdc-BMNejdWA.js","assets/nextflow-Zz6hmt5N.js","assets/nextflow-groovy-BeH2EWoN.js","assets/nginx-BpAMiNFr.js","assets/nim-CVrawwO9.js","assets/php-Dhbhpdrm.js","assets/pug-CGlum2m_.js","assets/qml-3beO22l8.js","assets/razor-Uh8Bk_45.js","assets/csharp-COcwbKMJ.js","assets/rst-BrH8l1NY.js","assets/cmake-D1j8_8rp.js","assets/sas-cz2c8ADy.js","assets/shaderlab-Dg9Lc6iA.js","assets/hlsl-D3lLCCz7.js","assets/shellsession-BADoaaVG.js","assets/soy-Brmx7dQM.js","assets/sparql-rVzFXLq3.js","assets/turtle-BsS91CYL.js","assets/stata-BH5u7GGu.js","assets/surrealql-Bq5Q-fJD.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-AaS7Mt5G.js","assets/vue-vine-CQOfvN7w.js","assets/stylus-BEDo0Tqx.js","assets/xsl-CtQFsRM5.js","assets/angular-html-DA-rfuFy.js","assets/html-pp8916En.js","assets/javascript-XPxc2APE.js","assets/css-CLj8gQPS.js","assets/angular-ts-BrjP3tb8.js","assets/scss-D5BDwBP9.js","assets/apl-CORt7UWP.js","assets/xml-DtyAt_xK.js","assets/java-B2AjWfgk.js","assets/json-CjLXzM_z.js","assets/astro-HNnZUWAn.js","assets/typescript-DttGkNCf.js","assets/postcss-BSGhOJ4k.js","assets/tsx-Dio8iE-N.js","assets/blade-BjGOyj-B.js","assets/html-derivative-DlHx6ybY.js","assets/sql-CKXjX23X.js","assets/bsl-C4qeDxuX.js","assets/sdbl-C5Q1usnU.js","assets/cairo-C_mOTUpN.js","assets/python-DgE28U1V.js","assets/cobol-nBiQ_Alo.js","assets/coffee-CSg58a7P.js","assets/cpp-C28rag7_.js","assets/regexp-BW_zLBm-.js","assets/glsl-Bk7TyU8J.js","assets/c-CyUOlKFr.js","assets/crystal-DNxU26gB.js","assets/shellscript-CE-5zpiL.js","assets/edge-FbVlp4U3.js","assets/elixir-CkH2-t6x.js","assets/elm-BX_9EnK8.js","assets/erb-BYCe7drp.js","assets/ruby-Wjq7vjNf.js","assets/haml-D5jkg6IW.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-ByusRIyA.js","assets/glimmer-ts-BfAWNZQY.js","assets/hack-i7_Ulhet.js","assets/handlebars-BpdQsYii.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-f2NsQr07.js","assets/jison-DRGa8fbr.js","assets/julia-BxjEHQ54.js","assets/r-BcofxrH1.js","assets/just-VxiPbLrw.js","assets/perl-NvoQZIq0.js","assets/latex-C-qBiGC3.js","assets/tex-BLPnQt1V.js","assets/liquid-C0sCDyMI.js","assets/marko-DjSrsDqO.js","assets/less-C76OjOdF.js","assets/mdc-DTYItulj.js","assets/nextflow-C-mBbutL.js","assets/nextflow-groovy-vE_lwT2v.js","assets/nginx-bBKbG2uI.js","assets/nim-BIad80T-.js","assets/php-R6g_5hLQ.js","assets/pug-DKIMFp6K.js","assets/qml-BEkX6VoX.js","assets/razor-BDqjjVU7.js","assets/csharp-DieIJxYJ.js","assets/rst-CRjBmOyv.js","assets/cmake-Cv5ljclQ.js","assets/sas-BZeeyq_z.js","assets/shaderlab-DNkMdb2B.js","assets/hlsl-Pefxhtaj.js","assets/shellsession-BhddCRKA.js","assets/soy-8wufbnw4.js","assets/sparql-CHK3vDkL.js","assets/turtle-whXsfw69.js","assets/stata-BJqnY-gO.js","assets/surrealql-CYeReaNr.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-BM4TQ0nH.js","assets/vue-vine-BoDAl6tE.js","assets/stylus-CHekGIgu.js","assets/xsl-Btrj9DhN.js","assets/dagre-KV5264BT-BumG0beT.js","assets/graph-C_31ToJI.js","assets/_baseUniq-B8WC6o3j.js","assets/layout-rh_Tj6sx.js","assets/min-dDP4p0XK.js","assets/clone-DKYeRXBA.js","assets/cose-bilkent-S5V4N54A-BGxv_nte.js","assets/cytoscape.esm-BiciSPf8.js","assets/c4Diagram-AHTNJAMY-BIa3pYzN.js","assets/chunk-YZCP3GAM-CKbsBHg0.js","assets/flowDiagram-DWJPFMVM-D2KRZiuS.js","assets/chunk-FMBD7UC4-D8W6SBii.js","assets/chunk-55IACEB6-Dv6eXygK.js","assets/chunk-EDXVE4YY-N-F2nM2g.js","assets/channel-oETrKpJb.js","assets/erDiagram-SMLLAGMA-Dm3F-vgH.js","assets/gitGraphDiagram-UUTBAWPF-C3ntgeZF.js","assets/chunk-4BX2VUAB-CJ4Sku_j.js","assets/chunk-QZHKN3VN-Dxk1TZWj.js","assets/wardley-RL74JXVD-DyuSQ0KQ.js","assets/ganttDiagram-T4ZO3ILL-hiPza1Zk.js","assets/linear-BVSueGc-.js","assets/defaultLocale-DX6XiGOO.js","assets/infoDiagram-42DDH7IO-DxWzByvY.js","assets/pieDiagram-DEJITSTG-DzWX1NZT.js","assets/arc-BL58IbRm.js","assets/quadrantDiagram-34T5L4WZ-DJG0hrDl.js","assets/xychartDiagram-5P7HB3ND-Dc-wzF7t.js","assets/requirementDiagram-MS252O5E-XFxrUQ_b.js","assets/sequenceDiagram-FGHM5R23-BMJ8G5KF.js","assets/classDiagram-6PBFFD2Q-DracnepB.js","assets/chunk-4TB4RGXK-CbKbZ0AS.js","assets/classDiagram-v2-HSJHXN6E-DracnepB.js","assets/stateDiagram-FHFEXIEX-gcLHYk1k.js","assets/chunk-OYMX7WX6-CIf14uQq.js","assets/stateDiagram-v2-QKLJ7IA2-DUke_tlW.js","assets/journeyDiagram-VCZTEJTY-D0Nouz41.js","assets/timeline-definition-GMOUNBTQ-Br1oQtkP.js","assets/mindmap-definition-QFDTVHPH-D3Ght_3C.js","assets/kanban-definition-6JOO6SKY-UScrEpmZ.js","assets/diagram-TYMM5635-Njuov3Y8.js","assets/diagram-MMDJMWI5-ik5MlAZ1.js","assets/blockDiagram-DXYQGD6D-PdeZdcFF.js","assets/diagram-5BDNPKRD-D3RE_Stf.js","assets/architectureDiagram-Q4EWVU46-BFJ92iR0.js","assets/diagram-G4DWMVQ6-D7jP8End.js","assets/wardleyDiagram-NUSXRM2D-YhL8pI_5.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
var z0=Object.defineProperty;var H0=Object.getPrototypeOf;var V0=Reflect.get;var pm=Un=>{throw TypeError(Un)};var q0=(Un,Pn,ei)=>Pn in Un?z0(Un,Pn,{enumerable:!0,configurable:!0,writable:!0,value:ei}):Un[Pn]=ei;var Ba=(Un,Pn,ei)=>q0(Un,typeof Pn!="symbol"?Pn+"":Pn,ei),Vf=(Un,Pn,ei)=>Pn.has(Un)||pm("Cannot "+ei);var ed=(Un,Pn,ei)=>(Vf(Un,Pn,"read from private field"),ei?ei.call(Un):Pn.get(Un)),zd=(Un,Pn,ei)=>Pn.has(Un)?pm("Cannot add the same private member more than once"):Pn instanceof WeakSet?Pn.add(Un):Pn.set(Un,ei),yd=(Un,Pn,ei,co)=>(Vf(Un,Pn,"write to private field"),co?co.call(Un,ei):Pn.set(Un,ei),ei),qf=(Un,Pn,ei)=>(Vf(Un,Pn,"access private method"),ei);var mm=(Un,Pn,ei)=>V0(H0(Un),ei,Pn);function _mergeNamespaces(Un,Pn){for(var ei=0;ei<Pn.length;ei++){const co=Pn[ei];if(typeof co!="string"&&!Array.isArray(co)){for(const xo in co)if(xo!=="default"&&!(xo in Un)){const os=Object.getOwnPropertyDescriptor(co,xo);os&&Object.defineProperty(Un,xo,os.get?os:{enumerable:!0,get:()=>co[xo]})}}}return Object.freeze(Object.defineProperty(Un,Symbol.toStringTag,{value:"Module"}))}(function(){const Pn=document.createElement("link").relList;if(Pn&&Pn.supports&&Pn.supports("modulepreload"))return;for(const xo of document.querySelectorAll('link[rel="modulepreload"]'))co(xo);new MutationObserver(xo=>{for(const os of xo)if(os.type==="childList")for(const hs of os.addedNodes)hs.tagName==="LINK"&&hs.rel==="modulepreload"&&co(hs)}).observe(document,{childList:!0,subtree:!0});function ei(xo){const os={};return xo.integrity&&(os.integrity=xo.integrity),xo.referrerPolicy&&(os.referrerPolicy=xo.referrerPolicy),xo.crossOrigin==="use-credentials"?os.credentials="include":xo.crossOrigin==="anonymous"?os.credentials="omit":os.credentials="same-origin",os}function co(xo){if(xo.ep)return;xo.ep=!0;const os=ei(xo);fetch(xo.href,os)}})();var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs$1(Un){return Un&&Un.__esModule&&Object.prototype.hasOwnProperty.call(Un,"default")?Un.default:Un}function getAugmentedNamespace(Un){if(Un.__esModule)return Un;var Pn=Un.default;if(typeof Pn=="function"){var ei=function co(){return this instanceof co?Reflect.construct(Pn,arguments,this.constructor):Pn.apply(this,arguments)};ei.prototype=Pn.prototype}else ei={};return Object.defineProperty(ei,"__esModule",{value:!0}),Object.keys(Un).forEach(function(co){var xo=Object.getOwnPropertyDescriptor(Un,co);Object.defineProperty(ei,co,xo.get?xo:{enumerable:!0,get:function(){return Un[co]}})}),ei}var jsxRuntime={exports:{}},reactJsxRuntime_production={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* react-jsx-runtime.production.js
|
|
@@ -4450,8 +4450,8 @@ Please report this to https://github.com/markedjs/marked.`,Pn){let xo="<p>An err
|
|
|
4450
4450
|
L0,20`)},"requirement_arrow"),requirement_arrow_neo=__name((Un,Pn,ei)=>{const co=getConfig(),{themeVariables:xo}=co,{strokeWidth:os}=xo;Un.append("defs").append("marker").attr("id",ei+"_"+Pn+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${os}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0
|
|
4451
4451
|
L20,10
|
|
4452
4452
|
M20,10
|
|
4453
|
-
L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),requirement_contains=__name((Un,Pn,ei)=>{const co=Un.append("defs").append("marker").attr("id",ei+"_"+Pn+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");co.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),co.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),co.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),requirement_contains_neo=__name((Un,Pn,ei)=>{const co=getConfig(),{themeVariables:xo}=co,{strokeWidth:os}=xo,hs=Un.append("defs").append("marker").attr("id",ei+"_"+Pn+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");hs.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),hs.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),hs.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),hs.selectAll("*").attr("stroke-width",`${os}`)},"requirement_contains_neo"),markers={extension,composition,aggregation,dependency,lollipop,point,circle:circle$1,cross,barb,barbNeo,only_one,zero_or_one,one_or_more,zero_or_more,only_one_neo,zero_or_one_neo,one_or_more_neo,zero_or_more_neo,requirement_arrow,requirement_contains,requirement_arrow_neo,requirement_contains_neo},markers_default=insertMarkers,internalHelpers={common:common_default,getConfig,insertCluster,insertEdge,insertEdgeLabel,insertMarkers:markers_default,insertNode,interpolateToCurve,labelHelper,log,positionEdgeLabel},layoutAlgorithms={},registerLayoutLoaders=__name(Un=>{for(const Pn of Un)layoutAlgorithms[Pn.name]=Pn},"registerLayoutLoaders"),registerDefaultLayoutLoaders=__name(()=>{registerLayoutLoaders([{name:"dagre",loader:__name(async()=>await __vitePreload(()=>import("./dagre-KV5264BT-DkVfPyYV.js"),__vite__mapDeps([202,203,204,205,206,207])),"loader")},{name:"cose-bilkent",loader:__name(async()=>await __vitePreload(()=>import("./cose-bilkent-S5V4N54A-MD0jUjTP.js"),__vite__mapDeps([208,209])),"loader")}])},"registerDefaultLayoutLoaders");registerDefaultLayoutLoaders();var render$3=__name(async(Un,Pn)=>{if(!(Un.layoutAlgorithm in layoutAlgorithms))throw new Error(`Unknown layout algorithm: ${Un.layoutAlgorithm}`);if(Un.diagramId)for(const ra of Un.nodes){const na=ra.domId||ra.id;ra.domId=`${Un.diagramId}-${na}`}const ei=layoutAlgorithms[Un.layoutAlgorithm],co=await ei.loader(),{theme:xo,themeVariables:os}=Un.config,{useGradient:hs,gradientStart:Ms,gradientStop:ea}=os,ta=Pn.attr("id");if(Pn.append("defs").append("filter").attr("id",`${ta}-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",`${xo!=null&&xo.includes("dark")?"#FFFFFF":"#000000"}`),Pn.append("defs").append("filter").attr("id",`${ta}-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",`${xo!=null&&xo.includes("dark")?"#FFFFFF":"#000000"}`),hs){const ra=Pn.append("linearGradient").attr("id",Pn.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");ra.append("svg:stop").attr("offset","0%").attr("stop-color",Ms).attr("stop-opacity",1),ra.append("svg:stop").attr("offset","100%").attr("stop-color",ea).attr("stop-opacity",1)}return co.render(Un,Pn,internalHelpers,{algorithm:ei.algorithm})},"render"),getRegisteredLayoutAlgorithm=__name((Un="",{fallback:Pn="dagre"}={})=>{if(Un in layoutAlgorithms)return Un;if(Pn in layoutAlgorithms)return log.warn(`Layout algorithm ${Un} is not registered. Using ${Pn} as fallback.`),Pn;throw new Error(`Both layout algorithms ${Un} and ${Pn} are not registered.`)},"getRegisteredLayoutAlgorithm"),nativeKeys=overArg(Object.keys,Object),objectProto$1=Object.prototype,hasOwnProperty$1=objectProto$1.hasOwnProperty;function baseKeys(Un){if(!isPrototype(Un))return nativeKeys(Un);var Pn=[];for(var ei in Object(Un))hasOwnProperty$1.call(Un,ei)&&ei!="constructor"&&Pn.push(ei);return Pn}var DataView$1=getNative(root$2,"DataView"),Promise$1=getNative(root$2,"Promise"),Set$1=getNative(root$2,"Set"),WeakMap$1=getNative(root$2,"WeakMap"),mapTag$1="[object Map]",objectTag="[object Object]",promiseTag="[object Promise]",setTag$1="[object Set]",weakMapTag="[object WeakMap]",dataViewTag="[object DataView]",dataViewCtorString=toSource(DataView$1),mapCtorString=toSource(Map$1),promiseCtorString=toSource(Promise$1),setCtorString=toSource(Set$1),weakMapCtorString=toSource(WeakMap$1),getTag=baseGetTag;(DataView$1&&getTag(new DataView$1(new ArrayBuffer(1)))!=dataViewTag||Map$1&&getTag(new Map$1)!=mapTag$1||Promise$1&&getTag(Promise$1.resolve())!=promiseTag||Set$1&&getTag(new Set$1)!=setTag$1||WeakMap$1&&getTag(new WeakMap$1)!=weakMapTag)&&(getTag=function(Un){var Pn=baseGetTag(Un),ei=Pn==objectTag?Un.constructor:void 0,co=ei?toSource(ei):"";if(co)switch(co){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag$1;case promiseCtorString:return promiseTag;case setCtorString:return setTag$1;case weakMapCtorString:return weakMapTag}return Pn});var mapTag="[object Map]",setTag="[object Set]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function isEmpty$1(Un){if(Un==null)return!0;if(isArrayLike$1(Un)&&(isArray(Un)||typeof Un=="string"||typeof Un.splice=="function"||isBuffer(Un)||isTypedArray(Un)||isArguments(Un)))return!Un.length;var Pn=getTag(Un);if(Pn==mapTag||Pn==setTag)return!Un.size;if(isPrototype(Un))return!baseKeys(Un).length;for(var ei in Un)if(hasOwnProperty.call(Un,ei))return!1;return!0}var id="c4",detector=__name(Un=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(Un),"detector"),loader=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./c4Diagram-AHTNJAMY-Bh0HKhD5.js");return{diagram:Pn}},__vite__mapDeps([210,211]));return{id,diagram:Un}},"loader"),plugin$4={id,detector,loader},c4Detector_default=plugin$4,id2="flowchart",detector2=__name((Un,Pn)=>{var ei,co;return((ei=Pn==null?void 0:Pn.flowchart)==null?void 0:ei.defaultRenderer)==="dagre-wrapper"||((co=Pn==null?void 0:Pn.flowchart)==null?void 0:co.defaultRenderer)==="elk"?!1:/^\s*graph/.test(Un)},"detector"),loader2=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./flowDiagram-DWJPFMVM-CJERG3tk.js");return{diagram:Pn}},__vite__mapDeps([212,213,211,214,215,216]));return{id:id2,diagram:Un}},"loader"),plugin2={id:id2,detector:detector2,loader:loader2},flowDetector_default=plugin2,id3="flowchart-v2",detector3=__name((Un,Pn)=>{var ei,co,xo;return((ei=Pn==null?void 0:Pn.flowchart)==null?void 0:ei.defaultRenderer)==="dagre-d3"?!1:(((co=Pn==null?void 0:Pn.flowchart)==null?void 0:co.defaultRenderer)==="elk"&&(Pn.layout="elk"),/^\s*graph/.test(Un)&&((xo=Pn==null?void 0:Pn.flowchart)==null?void 0:xo.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(Un))},"detector"),loader3=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./flowDiagram-DWJPFMVM-CJERG3tk.js");return{diagram:Pn}},__vite__mapDeps([212,213,211,214,215,216]));return{id:id3,diagram:Un}},"loader"),plugin3={id:id3,detector:detector3,loader:loader3},flowDetector_v2_default=plugin3,id4="er",detector4=__name(Un=>/^\s*erDiagram/.test(Un),"detector"),loader4=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./erDiagram-SMLLAGMA-f2K6Efmp.js");return{diagram:Pn}},__vite__mapDeps([217,214,215,216]));return{id:id4,diagram:Un}},"loader"),plugin4={id:id4,detector:detector4,loader:loader4},erDetector_default=plugin4,id5="gitGraph",detector5=__name(Un=>/^\s*gitGraph/.test(Un),"detector"),loader5=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./gitGraphDiagram-UUTBAWPF-C5jiWh6-.js");return{diagram:Pn}},__vite__mapDeps([218,219,220,221,206,204]));return{id:id5,diagram:Un}},"loader"),plugin5={id:id5,detector:detector5,loader:loader5},gitGraphDetector_default=plugin5,id6="gantt",detector6=__name(Un=>/^\s*gantt/.test(Un),"detector"),loader6=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./ganttDiagram-T4ZO3ILL-CdCUq215.js");return{diagram:Pn}},__vite__mapDeps([222,223,224]));return{id:id6,diagram:Un}},"loader"),plugin6={id:id6,detector:detector6,loader:loader6},ganttDetector_default=plugin6,id7="info",detector7=__name(Un=>/^\s*info/.test(Un),"detector"),loader7=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./infoDiagram-42DDH7IO-DpV55Lj8.js");return{diagram:Pn}},__vite__mapDeps([225,221,206,204]));return{id:id7,diagram:Un}},"loader"),info={id:id7,detector:detector7,loader:loader7},id8="pie",detector8=__name(Un=>/^\s*pie/.test(Un),"detector"),loader8=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./pieDiagram-DEJITSTG-Yg7OrlES.js");return{diagram:Pn}},__vite__mapDeps([226,219,221,206,204,227]));return{id:id8,diagram:Un}},"loader"),pie={id:id8,detector:detector8,loader:loader8},id9="quadrantChart",detector9=__name(Un=>/^\s*quadrantChart/.test(Un),"detector"),loader9=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./quadrantDiagram-34T5L4WZ-Bqa3r1HO.js");return{diagram:Pn}},__vite__mapDeps([228,223,224]));return{id:id9,diagram:Un}},"loader"),plugin7={id:id9,detector:detector9,loader:loader9},quadrantDetector_default=plugin7,id10="xychart",detector10=__name(Un=>/^\s*xychart(-beta)?/.test(Un),"detector"),loader10=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./xychartDiagram-5P7HB3ND-8PJSqkfu.js");return{diagram:Pn}},__vite__mapDeps([229,223,224]));return{id:id10,diagram:Un}},"loader"),plugin8={id:id10,detector:detector10,loader:loader10},xychartDetector_default=plugin8,id11="requirement",detector11=__name(Un=>/^\s*requirement(Diagram)?/.test(Un),"detector"),loader11=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./requirementDiagram-MS252O5E-B7gkcf6S.js");return{diagram:Pn}},__vite__mapDeps([230,214,215]));return{id:id11,diagram:Un}},"loader"),plugin9={id:id11,detector:detector11,loader:loader11},requirementDetector_default=plugin9,id12="sequence",detector12=__name(Un=>/^\s*sequenceDiagram/.test(Un),"detector"),loader12=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./sequenceDiagram-FGHM5R23-CCOiiyNN.js");return{diagram:Pn}},__vite__mapDeps([231,211,220]));return{id:id12,diagram:Un}},"loader"),plugin10={id:id12,detector:detector12,loader:loader12},sequenceDetector_default=plugin10,id13="class",detector13=__name((Un,Pn)=>{var ei;return((ei=Pn==null?void 0:Pn.class)==null?void 0:ei.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(Un)},"detector"),loader13=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./classDiagram-6PBFFD2Q-5uU33OTB.js");return{diagram:Pn}},__vite__mapDeps([232,233,213,211,214,215]));return{id:id13,diagram:Un}},"loader"),plugin11={id:id13,detector:detector13,loader:loader13},classDetector_default=plugin11,id14="classDiagram",detector14=__name((Un,Pn)=>{var ei;return/^\s*classDiagram/.test(Un)&&((ei=Pn==null?void 0:Pn.class)==null?void 0:ei.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(Un)},"detector"),loader14=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./classDiagram-v2-HSJHXN6E-5uU33OTB.js");return{diagram:Pn}},__vite__mapDeps([234,233,213,211,214,215]));return{id:id14,diagram:Un}},"loader"),plugin12={id:id14,detector:detector14,loader:loader14},classDetector_V2_default=plugin12,id15="state",detector15=__name((Un,Pn)=>{var ei;return((ei=Pn==null?void 0:Pn.state)==null?void 0:ei.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(Un)},"detector"),loader15=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./stateDiagram-FHFEXIEX-CjnJpaVf.js");return{diagram:Pn}},__vite__mapDeps([235,236,214,215,203,204,205,206]));return{id:id15,diagram:Un}},"loader"),plugin13={id:id15,detector:detector15,loader:loader15},stateDetector_default=plugin13,id16="stateDiagram",detector16=__name((Un,Pn)=>{var ei;return!!(/^\s*stateDiagram-v2/.test(Un)||/^\s*stateDiagram/.test(Un)&&((ei=Pn==null?void 0:Pn.state)==null?void 0:ei.defaultRenderer)==="dagre-wrapper")},"detector"),loader16=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./stateDiagram-v2-QKLJ7IA2-CNRijl6o.js");return{diagram:Pn}},__vite__mapDeps([237,236,214,215]));return{id:id16,diagram:Un}},"loader"),plugin14={id:id16,detector:detector16,loader:loader16},stateDetector_V2_default=plugin14,id17="journey",detector17=__name(Un=>/^\s*journey/.test(Un),"detector"),loader17=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./journeyDiagram-VCZTEJTY-q07mrby7.js");return{diagram:Pn}},__vite__mapDeps([238,213,211,227]));return{id:id17,diagram:Un}},"loader"),plugin15={id:id17,detector:detector17,loader:loader17},journeyDetector_default=plugin15,draw$1=__name((Un,Pn,ei)=>{log.debug(`rendering svg for syntax error
|
|
4454
|
-
`);const co=selectSvgElement(Pn),xo=co.append("g");co.attr("viewBox","0 0 2412 512"),configureSvgSize(co,100,512,!0),xo.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"),xo.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"),xo.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"),xo.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"),xo.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"),xo.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"),xo.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"),xo.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${ei}`)},"draw"),renderer={draw:draw$1},errorRenderer_default=renderer,diagram={db:{},renderer,parser:{parse:__name(()=>{},"parse")}},errorDiagram_default=diagram,id18="flowchart-elk",detector18=__name((Un,Pn={})=>{var ei;return/^\s*flowchart-elk/.test(Un)||/^\s*(flowchart|graph)/.test(Un)&&((ei=Pn==null?void 0:Pn.flowchart)==null?void 0:ei.defaultRenderer)==="elk"?(Pn.layout="elk",!0):!1},"detector"),loader18=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./flowDiagram-DWJPFMVM-CJERG3tk.js");return{diagram:Pn}},__vite__mapDeps([212,213,211,214,215,216]));return{id:id18,diagram:Un}},"loader"),plugin16={id:id18,detector:detector18,loader:loader18},detector_default=plugin16,id19="timeline",detector19=__name(Un=>/^\s*timeline/.test(Un),"detector"),loader19=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./timeline-definition-GMOUNBTQ-DumwwfMo.js");return{diagram:Pn}},__vite__mapDeps([239,227]));return{id:id19,diagram:Un}},"loader"),plugin17={id:id19,detector:detector19,loader:loader19},detector_default2=plugin17,id20="mindmap",detector20=__name(Un=>/^\s*mindmap/.test(Un),"detector"),loader20=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./mindmap-definition-QFDTVHPH-ClLku81g.js");return{diagram:Pn}},__vite__mapDeps([240,214,215]));return{id:id20,diagram:Un}},"loader"),plugin18={id:id20,detector:detector20,loader:loader20},detector_default3=plugin18,id21="kanban",detector21=__name(Un=>/^\s*kanban/.test(Un),"detector"),loader21=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./kanban-definition-6JOO6SKY-D5pYkpSn.js");return{diagram:Pn}},__vite__mapDeps([241,213]));return{id:id21,diagram:Un}},"loader"),plugin19={id:id21,detector:detector21,loader:loader21},detector_default4=plugin19,id22="sankey",detector22=__name(Un=>/^\s*sankey(-beta)?/.test(Un),"detector"),loader22=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./sankeyDiagram-XADWPNL6-C9FqdpXf.js");return{diagram:Pn}},[]);return{id:id22,diagram:Un}},"loader"),plugin20={id:id22,detector:detector22,loader:loader22},sankeyDetector_default=plugin20,id23="packet",detector23=__name(Un=>/^\s*packet(-beta)?/.test(Un),"detector"),loader23=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./diagram-TYMM5635-B15Kavxs.js");return{diagram:Pn}},__vite__mapDeps([242,219,221,206,204]));return{id:id23,diagram:Un}},"loader"),packet={id:id23,detector:detector23,loader:loader23},id24="radar",detector24=__name(Un=>/^\s*radar-beta/.test(Un),"detector"),loader24=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./diagram-MMDJMWI5-DqbPYCMq.js");return{diagram:Pn}},__vite__mapDeps([243,219,221,206,204]));return{id:id24,diagram:Un}},"loader"),radar={id:id24,detector:detector24,loader:loader24},id25="block",detector25=__name(Un=>/^\s*block(-beta)?/.test(Un),"detector"),loader25=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./blockDiagram-DXYQGD6D-D7q8kiZ4.js");return{diagram:Pn}},__vite__mapDeps([244,213,207,203,204,216]));return{id:id25,diagram:Un}},"loader"),plugin21={id:id25,detector:detector25,loader:loader25},blockDetector_default=plugin21,id26="treeView",detector26=__name(Un=>/^\s*treeView-beta/.test(Un),"detector"),loader26=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./diagram-5BDNPKRD-D5fdqMN8.js");return{diagram:Pn}},__vite__mapDeps([245,219,220,221,206,204]));return{id:id26,diagram:Un}},"loader"),plugin22={id:id26,detector:detector26,loader:loader26},detector_default5=plugin22,id27="architecture",detector27=__name(Un=>/^\s*architecture/.test(Un),"detector"),loader27=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./architectureDiagram-Q4EWVU46-BwMdSGCO.js");return{diagram:Pn}},__vite__mapDeps([246,219,221,206,204,209]));return{id:id27,diagram:Un}},"loader"),architecture={id:id27,detector:detector27,loader:loader27},architectureDetector_default=architecture,id28="ishikawa",detector28=__name(Un=>/^\s*ishikawa(-beta)?\b/i.test(Un),"detector"),loader28=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./ishikawaDiagram-UXIWVN3A-IPPv9B6W.js");return{diagram:Pn}},[]);return{id:id28,diagram:Un}},"loader"),ishikawa={id:id28,detector:detector28,loader:loader28},id29="venn",detector29=__name(Un=>/^\s*venn-beta/.test(Un),"detector"),loader29=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./vennDiagram-DHZGUBPP-BxnFQE75.js");return{diagram:Pn}},[]);return{id:id29,diagram:Un}},"loader"),plugin23={id:id29,detector:detector29,loader:loader29},vennDetector_default=plugin23,id30="treemap",detector30=__name(Un=>/^\s*treemap/.test(Un),"detector"),loader30=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./diagram-G4DWMVQ6-DQEkU3u8.js");return{diagram:Pn}},__vite__mapDeps([247,215,219,221,206,204,224]));return{id:id30,diagram:Un}},"loader"),treemap={id:id30,detector:detector30,loader:loader30},id31="wardley-beta",detector31=__name(Un=>/^\s*wardley-beta/i.test(Un),"detector"),loader31=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./wardleyDiagram-NUSXRM2D-BAFaHgqO.js");return{diagram:Pn}},__vite__mapDeps([248,219,221,206,204]));return{id:id31,diagram:Un}},"loader"),plugin24={id:id31,detector:detector31,loader:loader31},wardleyDetector_default=plugin24,hasLoadedDiagrams=!1,addDiagrams=__name(()=>{hasLoadedDiagrams||(hasLoadedDiagrams=!0,registerDiagram("error",errorDiagram_default,Un=>Un.toLowerCase().trim()==="error"),registerDiagram("---",{db:{clear:__name(()=>{},"clear")},styles:{},renderer:{draw:__name(()=>{},"draw")},parser:{parse:__name(()=>{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:__name(()=>null,"init")},Un=>Un.toLowerCase().trimStart().startsWith("---")),registerLazyLoadedDiagrams(detector_default,detector_default3,architectureDetector_default),registerLazyLoadedDiagrams(c4Detector_default,detector_default4,classDetector_V2_default,classDetector_default,erDetector_default,ganttDetector_default,info,pie,requirementDetector_default,sequenceDetector_default,flowDetector_v2_default,flowDetector_default,detector_default2,gitGraphDetector_default,stateDetector_V2_default,stateDetector_default,journeyDetector_default,quadrantDetector_default,sankeyDetector_default,packet,xychartDetector_default,blockDetector_default,detector_default5,radar,ishikawa,treemap,vennDetector_default,wardleyDetector_default))},"addDiagrams"),loadRegisteredDiagrams=__name(async()=>{log.debug("Loading registered diagrams");const Pn=(await Promise.allSettled(Object.entries(detectors).map(async([ei,{detector:co,loader:xo}])=>{if(xo)try{getDiagram(ei)}catch{try{const{diagram:os,id:hs}=await xo();registerDiagram(hs,os,co)}catch(os){throw log.error(`Failed to load external diagram with key ${ei}. Removing from detectors.`),delete detectors[ei],os}}}))).filter(ei=>ei.status==="rejected");if(Pn.length>0){log.error(`Failed to load ${Pn.length} external diagrams`);for(const ei of Pn)log.error(ei);throw new Error(`Failed to load ${Pn.length} external diagrams`)}},"loadRegisteredDiagrams"),SVG_ROLE="graphics-document document";function setA11yDiagramInfo(Un,Pn){Un.attr("role",SVG_ROLE),Pn!==""&&Un.attr("aria-roledescription",Pn)}__name(setA11yDiagramInfo,"setA11yDiagramInfo");function addSVGa11yTitleDescription(Un,Pn,ei,co){if(Un.insert!==void 0){if(ei){const xo=`chart-desc-${co}`;Un.attr("aria-describedby",xo),Un.insert("desc",":first-child").attr("id",xo).text(ei)}if(Pn){const xo=`chart-title-${co}`;Un.attr("aria-labelledby",xo),Un.insert("title",":first-child").attr("id",xo).text(Pn)}}}__name(addSVGa11yTitleDescription,"addSVGa11yTitleDescription");var qd,Diagram=(qd=class{constructor(Pn,ei,co,xo,os){this.type=Pn,this.text=ei,this.db=co,this.parser=xo,this.renderer=os}static async fromText(Pn,ei={}){var ta,ra;const co=getConfig(),xo=detectType$1(Pn,co);Pn=encodeEntities(Pn)+`
|
|
4453
|
+
L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),requirement_contains=__name((Un,Pn,ei)=>{const co=Un.append("defs").append("marker").attr("id",ei+"_"+Pn+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");co.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),co.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),co.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),requirement_contains_neo=__name((Un,Pn,ei)=>{const co=getConfig(),{themeVariables:xo}=co,{strokeWidth:os}=xo,hs=Un.append("defs").append("marker").attr("id",ei+"_"+Pn+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");hs.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),hs.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),hs.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),hs.selectAll("*").attr("stroke-width",`${os}`)},"requirement_contains_neo"),markers={extension,composition,aggregation,dependency,lollipop,point,circle:circle$1,cross,barb,barbNeo,only_one,zero_or_one,one_or_more,zero_or_more,only_one_neo,zero_or_one_neo,one_or_more_neo,zero_or_more_neo,requirement_arrow,requirement_contains,requirement_arrow_neo,requirement_contains_neo},markers_default=insertMarkers,internalHelpers={common:common_default,getConfig,insertCluster,insertEdge,insertEdgeLabel,insertMarkers:markers_default,insertNode,interpolateToCurve,labelHelper,log,positionEdgeLabel},layoutAlgorithms={},registerLayoutLoaders=__name(Un=>{for(const Pn of Un)layoutAlgorithms[Pn.name]=Pn},"registerLayoutLoaders"),registerDefaultLayoutLoaders=__name(()=>{registerLayoutLoaders([{name:"dagre",loader:__name(async()=>await __vitePreload(()=>import("./dagre-KV5264BT-BumG0beT.js"),__vite__mapDeps([202,203,204,205,206,207])),"loader")},{name:"cose-bilkent",loader:__name(async()=>await __vitePreload(()=>import("./cose-bilkent-S5V4N54A-BGxv_nte.js"),__vite__mapDeps([208,209])),"loader")}])},"registerDefaultLayoutLoaders");registerDefaultLayoutLoaders();var render$3=__name(async(Un,Pn)=>{if(!(Un.layoutAlgorithm in layoutAlgorithms))throw new Error(`Unknown layout algorithm: ${Un.layoutAlgorithm}`);if(Un.diagramId)for(const ra of Un.nodes){const na=ra.domId||ra.id;ra.domId=`${Un.diagramId}-${na}`}const ei=layoutAlgorithms[Un.layoutAlgorithm],co=await ei.loader(),{theme:xo,themeVariables:os}=Un.config,{useGradient:hs,gradientStart:Ms,gradientStop:ea}=os,ta=Pn.attr("id");if(Pn.append("defs").append("filter").attr("id",`${ta}-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",`${xo!=null&&xo.includes("dark")?"#FFFFFF":"#000000"}`),Pn.append("defs").append("filter").attr("id",`${ta}-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",`${xo!=null&&xo.includes("dark")?"#FFFFFF":"#000000"}`),hs){const ra=Pn.append("linearGradient").attr("id",Pn.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");ra.append("svg:stop").attr("offset","0%").attr("stop-color",Ms).attr("stop-opacity",1),ra.append("svg:stop").attr("offset","100%").attr("stop-color",ea).attr("stop-opacity",1)}return co.render(Un,Pn,internalHelpers,{algorithm:ei.algorithm})},"render"),getRegisteredLayoutAlgorithm=__name((Un="",{fallback:Pn="dagre"}={})=>{if(Un in layoutAlgorithms)return Un;if(Pn in layoutAlgorithms)return log.warn(`Layout algorithm ${Un} is not registered. Using ${Pn} as fallback.`),Pn;throw new Error(`Both layout algorithms ${Un} and ${Pn} are not registered.`)},"getRegisteredLayoutAlgorithm"),nativeKeys=overArg(Object.keys,Object),objectProto$1=Object.prototype,hasOwnProperty$1=objectProto$1.hasOwnProperty;function baseKeys(Un){if(!isPrototype(Un))return nativeKeys(Un);var Pn=[];for(var ei in Object(Un))hasOwnProperty$1.call(Un,ei)&&ei!="constructor"&&Pn.push(ei);return Pn}var DataView$1=getNative(root$2,"DataView"),Promise$1=getNative(root$2,"Promise"),Set$1=getNative(root$2,"Set"),WeakMap$1=getNative(root$2,"WeakMap"),mapTag$1="[object Map]",objectTag="[object Object]",promiseTag="[object Promise]",setTag$1="[object Set]",weakMapTag="[object WeakMap]",dataViewTag="[object DataView]",dataViewCtorString=toSource(DataView$1),mapCtorString=toSource(Map$1),promiseCtorString=toSource(Promise$1),setCtorString=toSource(Set$1),weakMapCtorString=toSource(WeakMap$1),getTag=baseGetTag;(DataView$1&&getTag(new DataView$1(new ArrayBuffer(1)))!=dataViewTag||Map$1&&getTag(new Map$1)!=mapTag$1||Promise$1&&getTag(Promise$1.resolve())!=promiseTag||Set$1&&getTag(new Set$1)!=setTag$1||WeakMap$1&&getTag(new WeakMap$1)!=weakMapTag)&&(getTag=function(Un){var Pn=baseGetTag(Un),ei=Pn==objectTag?Un.constructor:void 0,co=ei?toSource(ei):"";if(co)switch(co){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag$1;case promiseCtorString:return promiseTag;case setCtorString:return setTag$1;case weakMapCtorString:return weakMapTag}return Pn});var mapTag="[object Map]",setTag="[object Set]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function isEmpty$1(Un){if(Un==null)return!0;if(isArrayLike$1(Un)&&(isArray(Un)||typeof Un=="string"||typeof Un.splice=="function"||isBuffer(Un)||isTypedArray(Un)||isArguments(Un)))return!Un.length;var Pn=getTag(Un);if(Pn==mapTag||Pn==setTag)return!Un.size;if(isPrototype(Un))return!baseKeys(Un).length;for(var ei in Un)if(hasOwnProperty.call(Un,ei))return!1;return!0}var id="c4",detector=__name(Un=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(Un),"detector"),loader=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./c4Diagram-AHTNJAMY-BIa3pYzN.js");return{diagram:Pn}},__vite__mapDeps([210,211]));return{id,diagram:Un}},"loader"),plugin$4={id,detector,loader},c4Detector_default=plugin$4,id2="flowchart",detector2=__name((Un,Pn)=>{var ei,co;return((ei=Pn==null?void 0:Pn.flowchart)==null?void 0:ei.defaultRenderer)==="dagre-wrapper"||((co=Pn==null?void 0:Pn.flowchart)==null?void 0:co.defaultRenderer)==="elk"?!1:/^\s*graph/.test(Un)},"detector"),loader2=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./flowDiagram-DWJPFMVM-D2KRZiuS.js");return{diagram:Pn}},__vite__mapDeps([212,213,211,214,215,216]));return{id:id2,diagram:Un}},"loader"),plugin2={id:id2,detector:detector2,loader:loader2},flowDetector_default=plugin2,id3="flowchart-v2",detector3=__name((Un,Pn)=>{var ei,co,xo;return((ei=Pn==null?void 0:Pn.flowchart)==null?void 0:ei.defaultRenderer)==="dagre-d3"?!1:(((co=Pn==null?void 0:Pn.flowchart)==null?void 0:co.defaultRenderer)==="elk"&&(Pn.layout="elk"),/^\s*graph/.test(Un)&&((xo=Pn==null?void 0:Pn.flowchart)==null?void 0:xo.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(Un))},"detector"),loader3=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./flowDiagram-DWJPFMVM-D2KRZiuS.js");return{diagram:Pn}},__vite__mapDeps([212,213,211,214,215,216]));return{id:id3,diagram:Un}},"loader"),plugin3={id:id3,detector:detector3,loader:loader3},flowDetector_v2_default=plugin3,id4="er",detector4=__name(Un=>/^\s*erDiagram/.test(Un),"detector"),loader4=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./erDiagram-SMLLAGMA-Dm3F-vgH.js");return{diagram:Pn}},__vite__mapDeps([217,214,215,216]));return{id:id4,diagram:Un}},"loader"),plugin4={id:id4,detector:detector4,loader:loader4},erDetector_default=plugin4,id5="gitGraph",detector5=__name(Un=>/^\s*gitGraph/.test(Un),"detector"),loader5=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./gitGraphDiagram-UUTBAWPF-C3ntgeZF.js");return{diagram:Pn}},__vite__mapDeps([218,219,220,221,206,204]));return{id:id5,diagram:Un}},"loader"),plugin5={id:id5,detector:detector5,loader:loader5},gitGraphDetector_default=plugin5,id6="gantt",detector6=__name(Un=>/^\s*gantt/.test(Un),"detector"),loader6=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./ganttDiagram-T4ZO3ILL-hiPza1Zk.js");return{diagram:Pn}},__vite__mapDeps([222,223,224]));return{id:id6,diagram:Un}},"loader"),plugin6={id:id6,detector:detector6,loader:loader6},ganttDetector_default=plugin6,id7="info",detector7=__name(Un=>/^\s*info/.test(Un),"detector"),loader7=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./infoDiagram-42DDH7IO-DxWzByvY.js");return{diagram:Pn}},__vite__mapDeps([225,221,206,204]));return{id:id7,diagram:Un}},"loader"),info={id:id7,detector:detector7,loader:loader7},id8="pie",detector8=__name(Un=>/^\s*pie/.test(Un),"detector"),loader8=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./pieDiagram-DEJITSTG-DzWX1NZT.js");return{diagram:Pn}},__vite__mapDeps([226,219,221,206,204,227]));return{id:id8,diagram:Un}},"loader"),pie={id:id8,detector:detector8,loader:loader8},id9="quadrantChart",detector9=__name(Un=>/^\s*quadrantChart/.test(Un),"detector"),loader9=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./quadrantDiagram-34T5L4WZ-DJG0hrDl.js");return{diagram:Pn}},__vite__mapDeps([228,223,224]));return{id:id9,diagram:Un}},"loader"),plugin7={id:id9,detector:detector9,loader:loader9},quadrantDetector_default=plugin7,id10="xychart",detector10=__name(Un=>/^\s*xychart(-beta)?/.test(Un),"detector"),loader10=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./xychartDiagram-5P7HB3ND-Dc-wzF7t.js");return{diagram:Pn}},__vite__mapDeps([229,223,224]));return{id:id10,diagram:Un}},"loader"),plugin8={id:id10,detector:detector10,loader:loader10},xychartDetector_default=plugin8,id11="requirement",detector11=__name(Un=>/^\s*requirement(Diagram)?/.test(Un),"detector"),loader11=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./requirementDiagram-MS252O5E-XFxrUQ_b.js");return{diagram:Pn}},__vite__mapDeps([230,214,215]));return{id:id11,diagram:Un}},"loader"),plugin9={id:id11,detector:detector11,loader:loader11},requirementDetector_default=plugin9,id12="sequence",detector12=__name(Un=>/^\s*sequenceDiagram/.test(Un),"detector"),loader12=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./sequenceDiagram-FGHM5R23-BMJ8G5KF.js");return{diagram:Pn}},__vite__mapDeps([231,211,220]));return{id:id12,diagram:Un}},"loader"),plugin10={id:id12,detector:detector12,loader:loader12},sequenceDetector_default=plugin10,id13="class",detector13=__name((Un,Pn)=>{var ei;return((ei=Pn==null?void 0:Pn.class)==null?void 0:ei.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(Un)},"detector"),loader13=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./classDiagram-6PBFFD2Q-DracnepB.js");return{diagram:Pn}},__vite__mapDeps([232,233,213,211,214,215]));return{id:id13,diagram:Un}},"loader"),plugin11={id:id13,detector:detector13,loader:loader13},classDetector_default=plugin11,id14="classDiagram",detector14=__name((Un,Pn)=>{var ei;return/^\s*classDiagram/.test(Un)&&((ei=Pn==null?void 0:Pn.class)==null?void 0:ei.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(Un)},"detector"),loader14=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./classDiagram-v2-HSJHXN6E-DracnepB.js");return{diagram:Pn}},__vite__mapDeps([234,233,213,211,214,215]));return{id:id14,diagram:Un}},"loader"),plugin12={id:id14,detector:detector14,loader:loader14},classDetector_V2_default=plugin12,id15="state",detector15=__name((Un,Pn)=>{var ei;return((ei=Pn==null?void 0:Pn.state)==null?void 0:ei.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(Un)},"detector"),loader15=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./stateDiagram-FHFEXIEX-gcLHYk1k.js");return{diagram:Pn}},__vite__mapDeps([235,236,214,215,203,204,205,206]));return{id:id15,diagram:Un}},"loader"),plugin13={id:id15,detector:detector15,loader:loader15},stateDetector_default=plugin13,id16="stateDiagram",detector16=__name((Un,Pn)=>{var ei;return!!(/^\s*stateDiagram-v2/.test(Un)||/^\s*stateDiagram/.test(Un)&&((ei=Pn==null?void 0:Pn.state)==null?void 0:ei.defaultRenderer)==="dagre-wrapper")},"detector"),loader16=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./stateDiagram-v2-QKLJ7IA2-DUke_tlW.js");return{diagram:Pn}},__vite__mapDeps([237,236,214,215]));return{id:id16,diagram:Un}},"loader"),plugin14={id:id16,detector:detector16,loader:loader16},stateDetector_V2_default=plugin14,id17="journey",detector17=__name(Un=>/^\s*journey/.test(Un),"detector"),loader17=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./journeyDiagram-VCZTEJTY-D0Nouz41.js");return{diagram:Pn}},__vite__mapDeps([238,213,211,227]));return{id:id17,diagram:Un}},"loader"),plugin15={id:id17,detector:detector17,loader:loader17},journeyDetector_default=plugin15,draw$1=__name((Un,Pn,ei)=>{log.debug(`rendering svg for syntax error
|
|
4454
|
+
`);const co=selectSvgElement(Pn),xo=co.append("g");co.attr("viewBox","0 0 2412 512"),configureSvgSize(co,100,512,!0),xo.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"),xo.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"),xo.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"),xo.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"),xo.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"),xo.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"),xo.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"),xo.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${ei}`)},"draw"),renderer={draw:draw$1},errorRenderer_default=renderer,diagram={db:{},renderer,parser:{parse:__name(()=>{},"parse")}},errorDiagram_default=diagram,id18="flowchart-elk",detector18=__name((Un,Pn={})=>{var ei;return/^\s*flowchart-elk/.test(Un)||/^\s*(flowchart|graph)/.test(Un)&&((ei=Pn==null?void 0:Pn.flowchart)==null?void 0:ei.defaultRenderer)==="elk"?(Pn.layout="elk",!0):!1},"detector"),loader18=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./flowDiagram-DWJPFMVM-D2KRZiuS.js");return{diagram:Pn}},__vite__mapDeps([212,213,211,214,215,216]));return{id:id18,diagram:Un}},"loader"),plugin16={id:id18,detector:detector18,loader:loader18},detector_default=plugin16,id19="timeline",detector19=__name(Un=>/^\s*timeline/.test(Un),"detector"),loader19=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./timeline-definition-GMOUNBTQ-Br1oQtkP.js");return{diagram:Pn}},__vite__mapDeps([239,227]));return{id:id19,diagram:Un}},"loader"),plugin17={id:id19,detector:detector19,loader:loader19},detector_default2=plugin17,id20="mindmap",detector20=__name(Un=>/^\s*mindmap/.test(Un),"detector"),loader20=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./mindmap-definition-QFDTVHPH-D3Ght_3C.js");return{diagram:Pn}},__vite__mapDeps([240,214,215]));return{id:id20,diagram:Un}},"loader"),plugin18={id:id20,detector:detector20,loader:loader20},detector_default3=plugin18,id21="kanban",detector21=__name(Un=>/^\s*kanban/.test(Un),"detector"),loader21=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./kanban-definition-6JOO6SKY-UScrEpmZ.js");return{diagram:Pn}},__vite__mapDeps([241,213]));return{id:id21,diagram:Un}},"loader"),plugin19={id:id21,detector:detector21,loader:loader21},detector_default4=plugin19,id22="sankey",detector22=__name(Un=>/^\s*sankey(-beta)?/.test(Un),"detector"),loader22=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./sankeyDiagram-XADWPNL6-CpC5HwfI.js");return{diagram:Pn}},[]);return{id:id22,diagram:Un}},"loader"),plugin20={id:id22,detector:detector22,loader:loader22},sankeyDetector_default=plugin20,id23="packet",detector23=__name(Un=>/^\s*packet(-beta)?/.test(Un),"detector"),loader23=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./diagram-TYMM5635-Njuov3Y8.js");return{diagram:Pn}},__vite__mapDeps([242,219,221,206,204]));return{id:id23,diagram:Un}},"loader"),packet={id:id23,detector:detector23,loader:loader23},id24="radar",detector24=__name(Un=>/^\s*radar-beta/.test(Un),"detector"),loader24=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./diagram-MMDJMWI5-ik5MlAZ1.js");return{diagram:Pn}},__vite__mapDeps([243,219,221,206,204]));return{id:id24,diagram:Un}},"loader"),radar={id:id24,detector:detector24,loader:loader24},id25="block",detector25=__name(Un=>/^\s*block(-beta)?/.test(Un),"detector"),loader25=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./blockDiagram-DXYQGD6D-PdeZdcFF.js");return{diagram:Pn}},__vite__mapDeps([244,213,207,203,204,216]));return{id:id25,diagram:Un}},"loader"),plugin21={id:id25,detector:detector25,loader:loader25},blockDetector_default=plugin21,id26="treeView",detector26=__name(Un=>/^\s*treeView-beta/.test(Un),"detector"),loader26=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./diagram-5BDNPKRD-D3RE_Stf.js");return{diagram:Pn}},__vite__mapDeps([245,219,220,221,206,204]));return{id:id26,diagram:Un}},"loader"),plugin22={id:id26,detector:detector26,loader:loader26},detector_default5=plugin22,id27="architecture",detector27=__name(Un=>/^\s*architecture/.test(Un),"detector"),loader27=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./architectureDiagram-Q4EWVU46-BFJ92iR0.js");return{diagram:Pn}},__vite__mapDeps([246,219,221,206,204,209]));return{id:id27,diagram:Un}},"loader"),architecture={id:id27,detector:detector27,loader:loader27},architectureDetector_default=architecture,id28="ishikawa",detector28=__name(Un=>/^\s*ishikawa(-beta)?\b/i.test(Un),"detector"),loader28=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./ishikawaDiagram-UXIWVN3A-B7LzcLYH.js");return{diagram:Pn}},[]);return{id:id28,diagram:Un}},"loader"),ishikawa={id:id28,detector:detector28,loader:loader28},id29="venn",detector29=__name(Un=>/^\s*venn-beta/.test(Un),"detector"),loader29=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./vennDiagram-DHZGUBPP-DCeURWxA.js");return{diagram:Pn}},[]);return{id:id29,diagram:Un}},"loader"),plugin23={id:id29,detector:detector29,loader:loader29},vennDetector_default=plugin23,id30="treemap",detector30=__name(Un=>/^\s*treemap/.test(Un),"detector"),loader30=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./diagram-G4DWMVQ6-D7jP8End.js");return{diagram:Pn}},__vite__mapDeps([247,215,219,221,206,204,224]));return{id:id30,diagram:Un}},"loader"),treemap={id:id30,detector:detector30,loader:loader30},id31="wardley-beta",detector31=__name(Un=>/^\s*wardley-beta/i.test(Un),"detector"),loader31=__name(async()=>{const{diagram:Un}=await __vitePreload(async()=>{const{diagram:Pn}=await import("./wardleyDiagram-NUSXRM2D-YhL8pI_5.js");return{diagram:Pn}},__vite__mapDeps([248,219,221,206,204]));return{id:id31,diagram:Un}},"loader"),plugin24={id:id31,detector:detector31,loader:loader31},wardleyDetector_default=plugin24,hasLoadedDiagrams=!1,addDiagrams=__name(()=>{hasLoadedDiagrams||(hasLoadedDiagrams=!0,registerDiagram("error",errorDiagram_default,Un=>Un.toLowerCase().trim()==="error"),registerDiagram("---",{db:{clear:__name(()=>{},"clear")},styles:{},renderer:{draw:__name(()=>{},"draw")},parser:{parse:__name(()=>{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:__name(()=>null,"init")},Un=>Un.toLowerCase().trimStart().startsWith("---")),registerLazyLoadedDiagrams(detector_default,detector_default3,architectureDetector_default),registerLazyLoadedDiagrams(c4Detector_default,detector_default4,classDetector_V2_default,classDetector_default,erDetector_default,ganttDetector_default,info,pie,requirementDetector_default,sequenceDetector_default,flowDetector_v2_default,flowDetector_default,detector_default2,gitGraphDetector_default,stateDetector_V2_default,stateDetector_default,journeyDetector_default,quadrantDetector_default,sankeyDetector_default,packet,xychartDetector_default,blockDetector_default,detector_default5,radar,ishikawa,treemap,vennDetector_default,wardleyDetector_default))},"addDiagrams"),loadRegisteredDiagrams=__name(async()=>{log.debug("Loading registered diagrams");const Pn=(await Promise.allSettled(Object.entries(detectors).map(async([ei,{detector:co,loader:xo}])=>{if(xo)try{getDiagram(ei)}catch{try{const{diagram:os,id:hs}=await xo();registerDiagram(hs,os,co)}catch(os){throw log.error(`Failed to load external diagram with key ${ei}. Removing from detectors.`),delete detectors[ei],os}}}))).filter(ei=>ei.status==="rejected");if(Pn.length>0){log.error(`Failed to load ${Pn.length} external diagrams`);for(const ei of Pn)log.error(ei);throw new Error(`Failed to load ${Pn.length} external diagrams`)}},"loadRegisteredDiagrams"),SVG_ROLE="graphics-document document";function setA11yDiagramInfo(Un,Pn){Un.attr("role",SVG_ROLE),Pn!==""&&Un.attr("aria-roledescription",Pn)}__name(setA11yDiagramInfo,"setA11yDiagramInfo");function addSVGa11yTitleDescription(Un,Pn,ei,co){if(Un.insert!==void 0){if(ei){const xo=`chart-desc-${co}`;Un.attr("aria-describedby",xo),Un.insert("desc",":first-child").attr("id",xo).text(ei)}if(Pn){const xo=`chart-title-${co}`;Un.attr("aria-labelledby",xo),Un.insert("title",":first-child").attr("id",xo).text(Pn)}}}__name(addSVGa11yTitleDescription,"addSVGa11yTitleDescription");var qd,Diagram=(qd=class{constructor(Pn,ei,co,xo,os){this.type=Pn,this.text=ei,this.db=co,this.parser=xo,this.renderer=os}static async fromText(Pn,ei={}){var ta,ra;const co=getConfig(),xo=detectType$1(Pn,co);Pn=encodeEntities(Pn)+`
|
|
4455
4455
|
`;try{getDiagram(xo)}catch{const na=getDiagramLoader(xo);if(!na)throw new UnknownDiagramError(`Diagram ${xo} not found.`);const{id:ia,diagram:oa}=await na();registerDiagram(ia,oa)}const{db:os,parser:hs,renderer:Ms,init:ea}=getDiagram(xo);return hs.parser&&(hs.parser.yy=os),(ta=os.clear)==null||ta.call(os),ea==null||ea(co),ei.title&&((ra=os.setDiagramTitle)==null||ra.call(os,ei.title)),await hs.parse(Pn),new qd(xo,Pn,os,hs,Ms)}async render(Pn,ei){await this.renderer.draw(this.text,Pn,ei,this)}getParser(){return this.parser}getType(){return this.type}},__name(qd,"Diagram"),qd),interactionFunctions=[],attachFunctions=__name(()=>{interactionFunctions.forEach(Un=>{Un()}),interactionFunctions=[]},"attachFunctions"),cleanupComments=__name(Un=>Un.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function extractFrontMatter(Un){const Pn=Un.match(frontMatterRegex);if(!Pn)return{text:Un,metadata:{}};let ei=load$2(Pn[1],{schema:JSON_SCHEMA})??{};ei=typeof ei=="object"&&!Array.isArray(ei)?ei:{};const co={};return ei.displayMode&&(co.displayMode=ei.displayMode.toString()),ei.title&&(co.title=ei.title.toString()),ei.config&&(co.config=ei.config),{text:Un.slice(Pn[0].length),metadata:co}}__name(extractFrontMatter,"extractFrontMatter");var cleanupText=__name(Un=>Un.replace(/\r\n?/g,`
|
|
4456
4456
|
`).replace(/<(\w+)([^>]*)>/g,(Pn,ei,co)=>"<"+ei+co.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),processFrontmatter=__name(Un=>{const{text:Pn,metadata:ei}=extractFrontMatter(Un),{displayMode:co,title:xo,config:os={}}=ei;return co&&(os.gantt||(os.gantt={}),os.gantt.displayMode=co),{title:xo,config:os,text:Pn}},"processFrontmatter"),processDirectives=__name(Un=>{const Pn=utils_default.detectInit(Un)??{},ei=utils_default.detectDirective(Un,"wrap");return Array.isArray(ei)?Pn.wrap=ei.some(({type:co})=>co==="wrap"):(ei==null?void 0:ei.type)==="wrap"&&(Pn.wrap=!0),{text:removeDirectives(Un),directive:Pn}},"processDirectives");function preprocessDiagram(Un){const Pn=cleanupText(Un),ei=processFrontmatter(Pn),co=processDirectives(ei.text),xo=cleanAndMerge(ei.config,co.directive);return Un=cleanupComments(co.text),{code:Un,title:ei.title,config:xo}}__name(preprocessDiagram,"preprocessDiagram");function toBase64(Un){const Pn=new TextEncoder().encode(Un),ei=Array.from(Pn,co=>String.fromCodePoint(co)).join("");return btoa(ei)}__name(toBase64,"toBase64");var MAX_TEXTLENGTH=5e4,MAX_TEXTLENGTH_EXCEEDED_MSG="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",SECURITY_LVL_SANDBOX="sandbox",SECURITY_LVL_LOOSE="loose",XMLNS_SVG_STD="http://www.w3.org/2000/svg",XMLNS_XLINK_STD="http://www.w3.org/1999/xlink",XMLNS_XHTML_STD="http://www.w3.org/1999/xhtml",IFRAME_WIDTH="100%",IFRAME_HEIGHT="100%",IFRAME_STYLES="border:0;margin:0;",IFRAME_BODY_STYLE="margin:0",IFRAME_SANDBOX_OPTS="allow-top-navigation-by-user-activation allow-popups",IFRAME_NOT_SUPPORTED_MSG='The "iframe" tag is not supported by your browser.',DOMPURIFY_TAGS=["foreignobject"],DOMPURIFY_ATTR=["dominant-baseline"];function processAndSetConfigs(Un){const Pn=preprocessDiagram(Un);return reset$1(),addDirective(Pn.config??{}),Pn}__name(processAndSetConfigs,"processAndSetConfigs");async function parse$4(Un,Pn){addDiagrams();try{const{code:ei,config:co}=processAndSetConfigs(Un);return{diagramType:(await getDiagramFromText(ei)).type,config:co}}catch(ei){if(Pn!=null&&Pn.suppressErrors)return!1;throw ei}}__name(parse$4,"parse");var cssImportantStyles=__name((Un,Pn,ei=[])=>`
|
|
4457
4457
|
.${Un} ${Pn} { ${ei.join(" !important; ")} !important; }`,"cssImportantStyles"),createCssStyles=__name((Un,Pn=new Map)=>{let ei="";if(Un.themeCSS!==void 0&&(ei+=`
|
|
@@ -6205,7 +6205,7 @@ ${this.__diagram}
|
|
|
6205
6205
|
height: var(--send-button-size, 32px);
|
|
6206
6206
|
padding-inline: 0 !important;
|
|
6207
6207
|
}
|
|
6208
|
-
`}));function openFileSelector(Un,Pn="*/*"){if(typeof document>"u")return;const ei=document.createElement("input");ei.type="file",ei.accept=Pn,ei.multiple=!1;const co=setTimeout(()=>ei.remove(),5e3);ei.onchange=xo=>{var hs;clearTimeout(co);const os=(hs=xo.target)==null?void 0:hs.files;os&&os.length>0&&Un(os),ei.remove()},ei.oncancel=()=>{clearTimeout(co),ei.remove()},ei.click()}function getFormatItems(Un,Pn){return[{active:Un.isBold,icon:Bold,key:"bold",label:"Bold",onClick:Un.bold,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.Bold).keys}},{active:Un.isItalic,icon:Italic,key:"italic",label:"Italic",onClick:Un.italic,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.Italic).keys}},{active:Un.isUnderline,icon:Underline,key:"underline",label:"Underline",onClick:Un.underline,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.Underline).keys}},{active:Un.isStrikethrough,icon:Strikethrough,key:"strikethrough",label:"Strikethrough",onClick:Un.strikethrough,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.Strikethrough).keys}},{type:"divider"},{active:!!Un.textColor,editor:Pn,key:"textColor",label:"Text Color",onChange:Un.setTextColor,type:"colorPicker",value:Un.textColor},{active:!!Un.bgColor,defaultColor:"#ffffff",editor:Pn,icon:Highlighter,key:"bgColor",label:"Background Color",onChange:Un.setBgColor,type:"colorPicker",value:Un.bgColor}]}const Toolbar=({editor:Un,floating:Pn,outlineCollapseTitle:ei,outlineExpandTitle:co,outlineToggle:xo,style:os,className:hs})=>{const Ms=useEditorState(Un),ea=useOutlineActionItem({collapseTitle:ei,expandTitle:co}),ta=reactExports.useMemo(()=>[{disabled:!Ms.canUndo,icon:Undo2,key:"undo",label:"Undo",onClick:Ms.undo,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.Undo).keys}},{disabled:!Ms.canRedo,icon:Redo2,key:"redo",label:"Redo",onClick:Ms.redo,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.Redo).keys}},{type:"divider"},...getFormatItems(Ms,Un),{type:"divider"},{icon:List,key:"bulletList",label:"Bullet List",onClick:Ms.bulletList,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.BulletList).keys}},{icon:ListOrdered,key:"numberlist",label:"Number list",onClick:Ms.numberList,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.NumberList).keys}},{icon:ListTodo,key:"tasklist",label:"Task list",onClick:Ms.checkList},{type:"divider"},{active:Ms.isBlockquote,icon:MessageSquareQuote,key:"blockquote",label:"Blockquote",onClick:Ms.blockquote},{icon:Link,key:"link",label:"Link",onClick:Ms.insertLink,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.Link).keys}},{icon:Sigma,key:"math",label:"TeX",onClick:Ms.insertMath},{type:"divider"},{active:Ms.isCode,icon:CodeXml,key:"code",label:"Code",onClick:Ms.code,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.CodeInline).keys}},{active:Ms.isCodeblock,icon:SquareDashedBottomCode,key:"codeblock",label:"Codeblock",onClick:Ms.codeblock},Ms.isCodeblock&&{children:jsxRuntimeExports.jsx(CodeLanguageSelect,{onSelect:na=>{console.log(na),Ms.updateCodeblockLang(na)},value:Ms.codeblockLang}),disabled:!Ms.isCodeblock,key:"codeblockLang"},{type:"divider"},{icon:Image$1,key:"image",label:"Image",onClick:()=>{openFileSelector(na=>{for(const ia of na)Un.dispatchCommand(INSERT_IMAGE_COMMAND,{file:ia})},"image/*")}},{icon:FileUp,key:"file",label:"File",onClick:()=>{openFileSelector(na=>{for(const ia of na)Un.dispatchCommand(INSERT_FILE_COMMAND,{file:ia})})}},...xo&&ea?[{type:"divider"},ea]:[]].filter(Boolean),[Un,Ms,ea,xo]),ra=reactExports.useMemo(()=>[...getFormatItems(Ms,Un),...xo&&ea?[{type:"divider"},ea]:[]],[Un,Ms,ea,xo]);return Pn?jsxRuntimeExports.jsx(FloatActions,{items:ra}):jsxRuntimeExports.jsx("div",{className:["mdocs-toolbar",hs].filter(Boolean).join(" "),style:os,children:jsxRuntimeExports.jsx(ChatInputActions,{items:ta})})};function DomainSelect({domains:Un,value:Pn,onChange:ei,ariaLabel:co,localizeName:xo}){const[os,hs]=reactExports.useState(!1),Ms=reactExports.useRef(null),ea=reactExports.useRef(null),ta=Un.find(ia=>ia.domainId===Pn),ra=(ta==null?void 0:ta.permission)==="private";reactExports.useEffect(()=>{if(!os)return;const ia=oa=>{var sa,aa;!((sa=Ms.current)!=null&&sa.contains(oa.target))&&!((aa=ea.current)!=null&&aa.contains(oa.target))&&hs(!1)};return document.addEventListener("mousedown",ia),()=>document.removeEventListener("mousedown",ia)},[os]),reactExports.useEffect(()=>{if(!os)return;const ia=oa=>{var sa;oa.key==="Escape"&&(hs(!1),(sa=Ms.current)==null||sa.focus())};return document.addEventListener("keydown",ia),()=>document.removeEventListener("keydown",ia)},[os]);function na(ia){ei(ia),hs(!1)}return jsxRuntimeExports.jsxs("div",{className:"mdocs-domain-select-wrapper",children:[jsxRuntimeExports.jsxs("button",{ref:Ms,type:"button",className:"mdocs-domain-select-trigger","aria-label":co,"aria-expanded":os,"aria-haspopup":"listbox",onClick:()=>hs(ia=>!ia),children:[jsxRuntimeExports.jsx("span",{className:"mdocs-domain-select-text",children:ta?xo(ta.domainName):""}),ra&&jsxRuntimeExports.jsxs("svg",{className:"mdocs-domain-lock",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"var(--mdocs-text-muted)",strokeWidth:"2",children:[jsxRuntimeExports.jsx("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",ry:"2"}),jsxRuntimeExports.jsx("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),jsxRuntimeExports.jsx("svg",{className:"mdocs-domain-select-chevron"+(os?" open":""),width:"10",height:"6",viewBox:"0 0 10 6",fill:"none",stroke:"var(--mdocs-text-muted)",strokeWidth:"1.5",children:jsxRuntimeExports.jsx("path",{d:"M1 1l4 4 4-4"})})]}),os&&jsxRuntimeExports.jsx("div",{ref:ea,className:"mdocs-domain-select-menu card",role:"listbox","aria-label":co,children:Un.map(ia=>jsxRuntimeExports.jsxs("button",{type:"button",className:"mdocs-domain-select-option"+(ia.domainId===Pn?" active":""),role:"option","aria-selected":ia.domainId===Pn,onClick:()=>na(ia.domainId),children:[jsxRuntimeExports.jsx("span",{children:xo(ia.domainName)}),ia.permission==="private"&&jsxRuntimeExports.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"var(--mdocs-text-muted)",strokeWidth:"2",children:[jsxRuntimeExports.jsx("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",ry:"2"}),jsxRuntimeExports.jsx("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]})]},ia.domainId))})]})}const MAX_DATASOURCE_WAIT_FRAMES=48;function safeGetMarkdown(Un){try{const Pn=Un.getDocument("markdown");return typeof Pn=="string"?Pn:""}catch{return null}}function safeGetJsonString(Un){try{return JSON.stringify(Un.getDocument("json"))}catch{return null}}function useAutoSave({editor:Un,documentId:Pn,displayName:ei,debounceMs:co=1e3,enabled:xo=!0,documentMeta:os}){const[hs,Ms]=reactExports.useState(!1),[ea,ta]=reactExports.useState(!1),[ra,na]=reactExports.useState(null),ia=reactExports.useRef(null),oa=reactExports.useRef(null),sa=reactExports.useRef(!1),aa=reactExports.useRef(""),la=reactExports.useRef(!1),ca=reactExports.useRef(Pn),ua=reactExports.useRef(ei),da=reactExports.useRef(os);ca.current=Pn,ua.current=ei,da.current=os;const ha=reactExports.useCallback(async()=>{if(!Un)return;if(!aa.current){console.log("[useAutoSave] performSave blocked: lastContentRef is empty");return}const ga=safeGetJsonString(Un);ga!=null&&(console.log("[useAutoSave] performSave saving draft, documentId:",ca.current,"content preview:",ga.slice(0,80)),await saveDraft({documentId:ca.current,content:ga,displayName:ua.current,updatedAt:Date.now(),published:!1,...da.current}),aa.current=safeGetMarkdown(Un)??aa.current,ta(!0),Ms(!1),na(Date.now()),sa.current=!0,la.current=!1)},[Un]);reactExports.useEffect(()=>{let ga=!1;return getDraft(Pn).then(xa=>{ga||(xa?(ta(!0),na(xa.updatedAt),sa.current=!0):(ta(!1),na(null),sa.current=!1,la.current=!1))}),()=>{ga=!0}},[Pn]),reactExports.useEffect(()=>{var Sa,wa;if(!xo){(Sa=oa.current)==null||Sa.call(oa),oa.current=null;return}if(!Un)return;const ga=Un.getLexicalEditor();if(!ga)return;(wa=oa.current)==null||wa.call(oa);let xa=!1,va=0,ya=0;const Ca=()=>{if(xa)return;const Ta=safeGetMarkdown(Un);if(Ta===null){if(ya+=1,ya>MAX_DATASOURCE_WAIT_FRAMES)return;va=requestAnimationFrame(Ca);return}aa.current=Ta;const Ra=ga.registerUpdateListener(()=>{const Oa=safeGetMarkdown(Un);Oa!==null&&Oa!==aa.current&&(console.log("[useAutoSave] updateListener dirty, documentId:",Pn,"oldLen:",aa.current.length,"newLen:",Oa.length),aa.current=Oa,Ms(!0),la.current=!0,sa.current=!1,ia.current&&clearTimeout(ia.current),ia.current=setTimeout(()=>{ia.current=null,ha()},co))});oa.current=()=>{Ra(),ia.current&&(clearTimeout(ia.current),ia.current=null)}};return queueMicrotask(()=>{xa||(va=requestAnimationFrame(Ca))}),()=>{var Ta;xa=!0,cancelAnimationFrame(va),(Ta=oa.current)==null||Ta.call(oa)}},[xo,Un,Pn,ei,co,os,ha]),reactExports.useEffect(()=>{var va;if(!xo||!Un)return;const ga=(va=Un.getLexicalEditor())==null?void 0:va.getRootElement();if(!ga)return;const xa=()=>{ia.current&&(clearTimeout(ia.current),ia.current=null),la.current&&ha()};return ga.addEventListener("blur",xa),()=>ga.removeEventListener("blur",xa)},[xo,Un,ha]),reactExports.useEffect(()=>{if(!xo)return;const ga=()=>{document.visibilityState==="hidden"&&(ia.current&&(clearTimeout(ia.current),ia.current=null),la.current&&ha())},xa=()=>{la.current&&(ia.current&&(clearTimeout(ia.current),ia.current=null),ha())};return document.addEventListener("visibilitychange",ga),window.addEventListener("beforeunload",xa),()=>{document.removeEventListener("visibilitychange",ga),window.removeEventListener("beforeunload",xa)}},[xo,ha]);async function fa(){await deleteDraft(Pn),ta(!1),Ms(!1),la.current=!1,sa.current=!1,aa.current=""}async function pa(){const ga=await getDraft(Pn);return ga?ga.content:null}function ma(){ta(!0),Ms(!1),la.current=!1,na(Date.now()),sa.current=!0,Un&&(aa.current=safeGetMarkdown(Un)??"")}return{isDirty:hs,draftExists:ea,lastSavedAt:ra,clearDraft:fa,loadDraftContent:pa,markDraftSaved:ma}}function usePublishGuard({isDirty:Un,draftExists:Pn}){const ei=Un&&!Pn;reactExports.useEffect(()=>{if(!ei)return;const co=xo=>{xo.preventDefault()};return window.addEventListener("beforeunload",co),()=>window.removeEventListener("beforeunload",co)},[ei])}const PATH_ERROR_MESSAGE_MAP={"relative path is required":"pathRequired","path must be relative":"pathMustBeRelative","use forward slashes":"useForwardSlashes","path must not contain ..":"pathNoDotDot","document path must end with .md":"pathMustEndWithMd","path contains unsupported characters":"pathUnsupportedChars","path escapes docs root":"pathEscapesRoot"},STORAGE_ERROR_MESSAGE_MAP={"enter a folder name":"enterFolderName","use a single name, not a path":"singleNameNotPath","invalid folder name":"invalidFolderName","folder name is too long":"folderNameTooLong","enter a file name":"enterFileName","use a file name, not a path":"singleFileNameNotPath","invalid file name":"invalidFileName","file name is too long":"fileNameTooLong"};function translateError(Un,Pn){if(Pn instanceof ApiRequestError)return Pn.message;if(Pn instanceof DocPathError){const ei=PATH_ERROR_MESSAGE_MAP[Pn.message];return ei?Un(ei):Pn.message}if(Pn instanceof Error){const ei=PATH_ERROR_MESSAGE_MAP[Pn.message]??STORAGE_ERROR_MESSAGE_MAP[Pn.message];return ei?Un(ei):Pn.message}return String(Pn)}function localizeDomainName(Un,Pn,ei){if(Un==="Default")return ei("defaultDomain");const co="个人域";return Un.endsWith(co)?Un.slice(0,-co.length)+ei("personalDomainSuffix"):Un}function domainPermissionLabel(Un,Pn){return Un==="public"?Pn("domainPublic"):Un==="restricted"?Pn("domainRestricted"):Un==="private"?Pn("domainPrivate"):Un}function parentDirForCreates(Un){const Pn=Un.lastIndexOf("/");return Pn===-1?"":Un.slice(0,Pn)}function MiniSelect({options:Un,value:Pn,onChange:ei}){const[co,xo]=reactExports.useState(!1),os=reactExports.useRef(null),hs=reactExports.useRef(null),Ms=Un.find(ta=>ta.value===Pn);reactExports.useEffect(()=>{if(!co)return;const ta=ra=>{var na,ia;!((na=os.current)!=null&&na.contains(ra.target))&&!((ia=hs.current)!=null&&ia.contains(ra.target))&&xo(!1)};return document.addEventListener("mousedown",ta),()=>document.removeEventListener("mousedown",ta)},[co]),reactExports.useEffect(()=>{if(!co)return;const ta=ra=>{var na;ra.key==="Escape"&&(xo(!1),(na=os.current)==null||na.focus())};return document.addEventListener("keydown",ta),()=>document.removeEventListener("keydown",ta)},[co]);function ea(ta){ei(ta),xo(!1)}return jsxRuntimeExports.jsxs("div",{className:"mdocs-mini-select",style:{position:"relative"},children:[jsxRuntimeExports.jsxs("button",{ref:os,type:"button",className:"mdocs-mini-select-trigger","aria-expanded":co,"aria-haspopup":"listbox",onClick:()=>xo(ta=>!ta),children:[jsxRuntimeExports.jsx("span",{children:Ms==null?void 0:Ms.label}),jsxRuntimeExports.jsx("svg",{className:"mdocs-mini-select-chevron"+(co?" open":""),width:"10",height:"6",viewBox:"0 0 10 6",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:jsxRuntimeExports.jsx("path",{d:"M1 1l4 4 4-4"})})]}),co&&jsxRuntimeExports.jsx("div",{ref:hs,className:"mdocs-mini-select-menu card",role:"listbox",children:Un.map(ta=>jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-mini-select-option"+(ta.value===Pn?" active":""),role:"option","aria-selected":ta.value===Pn,onClick:()=>ea(ta.value),children:ta.label},ta.value))})]})}function idPrefix6$1(Un){return Un.length<=6?Un:`${Un.slice(0,6)}…`}function VisitorPickerContent(Un){const{visitors:Pn,loadState:ei,searchFilter:co,onSearchChange:xo,selectedIds:os,onToggle:hs,selectedRows:Ms,lockedIds:ea=new Set,myVisitorId:ta,showPermissionSelect:ra=!1,permissionOptions:na=[],onPermissionChange:ia}=Un,{t:oa}=useI18n(),sa=reactExports.useMemo(()=>{const aa=co.trim().toLowerCase();let la=aa?Pn.filter(ca=>ca.visitorName.toLowerCase().includes(aa)||ca.visitorId.toLowerCase().includes(aa)):Pn;return ta&&(la=[...la].sort((ca,ua)=>ca.visitorId===ta?-1:ua.visitorId===ta?1:0)),la},[Pn,co,ta]);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("input",{type:"search",className:"mdocs-visitor-picker-search",placeholder:oa("visitorPickerSearchPlaceholder"),value:co,onChange:aa=>xo(aa.target.value),disabled:ei!=="ok"}),ei==="loading"&&jsxRuntimeExports.jsx("div",{className:"mdocs-visitor-picker-loading",children:oa("loading")}),ei==="err"&&jsxRuntimeExports.jsx("div",{className:"mdocs-visitor-picker-error",children:oa("visitorPickerLoadError")}),ei==="ok"&&jsxRuntimeExports.jsxs("div",{className:"mdocs-visitor-picker-columns",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-visitor-picker-col",children:[jsxRuntimeExports.jsx("h3",{className:"mdocs-visitor-picker-col-title",children:oa("visitorPickerColumnAll")}),jsxRuntimeExports.jsx("div",{className:"mdocs-visitor-picker-table-wrap",children:jsxRuntimeExports.jsxs("table",{className:"mdocs-visitor-picker-table",children:[jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("th",{scope:"col",children:oa("visitorPickerColIdShort")}),jsxRuntimeExports.jsx("th",{scope:"col",children:oa("visitorPickerColName")}),jsxRuntimeExports.jsx("th",{scope:"col",className:"mdocs-visitor-picker-check-col",children:oa("visitorPickerColPick")})]})}),jsxRuntimeExports.jsx("tbody",{children:sa.length===0?jsxRuntimeExports.jsx("tr",{children:jsxRuntimeExports.jsx("td",{colSpan:3,className:"mdocs-visitor-picker-empty-cell",children:Pn.length===0?oa("visitorPickerEmptyDirectory"):oa("domainNoMatch")})}):sa.map(aa=>{const la=ea.has(aa.visitorId),ca=os.has(aa.visitorId);return jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{children:jsxRuntimeExports.jsx("code",{className:"mdocs-visitor-picker-id-short",children:idPrefix6$1(aa.visitorId)})}),jsxRuntimeExports.jsxs("td",{children:[aa.visitorName,aa.visitorId===ta&&jsxRuntimeExports.jsx("span",{className:"mdocs-visitor-picker-self-marker",children:oa("visitorPickerSelfMarker")})]}),jsxRuntimeExports.jsx("td",{className:"mdocs-visitor-picker-check-col",children:jsxRuntimeExports.jsx("input",{type:"checkbox",checked:ca,disabled:la,onChange:()=>hs(aa.visitorId),"aria-label":aa.visitorName})})]},aa.visitorId)})})]})})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-visitor-picker-col",children:[jsxRuntimeExports.jsx("h3",{className:"mdocs-visitor-picker-col-title",children:oa("visitorPickerColumnSelected")}),jsxRuntimeExports.jsx("div",{className:"mdocs-visitor-picker-table-wrap",children:jsxRuntimeExports.jsxs("table",{className:"mdocs-visitor-picker-table",children:[jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("th",{scope:"col",children:oa("visitorPickerColIdFull")}),jsxRuntimeExports.jsx("th",{scope:"col",children:oa("visitorPickerColName")}),ra&&jsxRuntimeExports.jsx("th",{scope:"col",children:oa("permissionLabel")}),jsxRuntimeExports.jsx("th",{scope:"col",className:"mdocs-visitor-picker-check-col"})]})}),jsxRuntimeExports.jsx("tbody",{children:Ms.length===0?jsxRuntimeExports.jsx("tr",{children:jsxRuntimeExports.jsx("td",{colSpan:ra?4:3,className:"mdocs-visitor-picker-empty-cell",children:oa("visitorPickerNoSelection")})}):Ms.map(aa=>{const la=ea.has(aa.visitorId);return jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{children:jsxRuntimeExports.jsx("code",{className:"mdocs-visitor-picker-id-full",children:aa.visitorId})}),jsxRuntimeExports.jsx("td",{className:aa.muted?"mdocs-visitor-picker-name-muted":void 0,children:aa.name}),ra&&jsxRuntimeExports.jsx("td",{children:jsxRuntimeExports.jsx(MiniSelect,{options:na,value:aa.permission??"read",onChange:ca=>ia==null?void 0:ia(aa.visitorId,ca)})}),jsxRuntimeExports.jsx("td",{className:"mdocs-visitor-picker-check-col",children:la?jsxRuntimeExports.jsx("span",{className:"mdocs-visitor-picker-locked",title:oa("visitorPickerLockedHint"),children:"—"}):jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-visitor-picker-remove",onClick:()=>hs(aa.visitorId),"aria-label":oa("visitorPickerRemove"),children:"×"})})]},aa.visitorId)})})]})})]})]})]})}function VisitorPickerModal(Un){var Xa;const{open:Pn,title:ei,initialSelectedIds:co,lockedIds:xo=[],seedMembers:os,excludeTemplateId:hs,templates:Ms,onClose:ea,onConfirm:ta,showPermissionSelect:ra=!1,permissionOptions:na=[],initialPermissions:ia}=Un,{t:oa}=useI18n(),sa=reactExports.useRef(oa);sa.current=oa;const aa=reactExports.useMemo(()=>new Set(xo),[xo]),la=getStoredVisitorId(),[ca,ua]=reactExports.useState([]),[da,ha]=reactExports.useState("idle"),[fa,pa]=reactExports.useState(()=>new Set),[ma,ga]=reactExports.useState(()=>new Map),[xa,va]=reactExports.useState(""),[ya,Ca]=reactExports.useState(""),[Sa,wa]=reactExports.useState(!1),Ta=reactExports.useRef(null),[Ra,Oa]=reactExports.useState(!1),[Aa,Ma]=reactExports.useState(null),Ia=reactExports.useMemo(()=>Ms.filter(Ja=>hs==null||Ja.id!==hs),[Ms,hs]),za=reactExports.useMemo(()=>new Map((os??[]).map(Ja=>[Ja.visitorId,Ja])),[os]);reactExports.useEffect(()=>{Pn&&(pa(new Set(co)),ga(ia?new Map(ia):new Map),va(""),Ca(""),Ma(null))},[Pn,co,ia]),reactExports.useEffect(()=>{if(!Pn)return;let Ja=!1;return ha("loading"),fetchVisitorsDirectoryApi().then($a=>{Ja||(ua($a),ha("ok"))}).catch($a=>{Ja||(ha("err"),Ma(translateError(sa.current,$a)))}),()=>{Ja=!0}},[Pn]),reactExports.useEffect(()=>{if(!Sa)return;const Ja=$a=>{var Pa;(Pa=Ta.current)!=null&&Pa.contains($a.target)||wa(!1)};return document.addEventListener("mousedown",Ja),()=>document.removeEventListener("mousedown",Ja)},[Sa]);const Na=reactExports.useMemo(()=>{const Ja=new Map(ca.map(Pa=>[Pa.visitorId,Pa])),$a=[];for(const Pa of fa){const Fa=ma.get(Pa),Ha=Ja.get(Pa);if(Ha){$a.push({visitorId:Pa,name:Ha.visitorName,muted:!1,permission:Fa});continue}const Ka=za.get(Pa);if(Ka){Ka.missing?$a.push({visitorId:Pa,name:oa("visitorPickerMemberMissing"),muted:!0,permission:Fa}):Ka.disabled?$a.push({visitorId:Pa,name:`${Ka.visitorName} · ${oa("visitorPickerDisabledTag")}`,muted:!0,permission:Fa}):$a.push({visitorId:Pa,name:Ka.visitorName,muted:!1,permission:Fa});continue}$a.push({visitorId:Pa,name:oa("visitorPickerUnknownVisitor"),muted:!0,permission:Fa})}return $a.sort((Pa,Fa)=>Pa.name.localeCompare(Fa.name,void 0,{sensitivity:"base"})),$a},[ca,fa,za,ma,oa]),La=reactExports.useCallback(Ja=>{aa.has(Ja)||pa($a=>{const Pa=new Set($a);return Pa.has(Ja)?(Pa.delete(Ja),ga(Fa=>{const Ha=new Map(Fa);return Ha.delete(Ja),Ha})):(Pa.add(Ja),ga(Fa=>{const Ha=new Map(Fa);return Ha.set(Ja,"read"),Ha})),Pa})},[aa]),Wa=reactExports.useCallback((Ja,$a)=>{ga(Pa=>{const Fa=new Map(Pa);return Fa.set(Ja,$a),Fa})},[]),Ua=reactExports.useCallback(()=>{const Ja=Number(ya);if(!Number.isInteger(Ja)||Ja<1)return;const $a=Ms.find(Fa=>Fa.id===Ja);if(!$a)return;const Pa=new Set(ca.map(Fa=>Fa.visitorId));pa(Fa=>{const Ha=new Set(Fa);for(const Ka of $a.visitorIds)Pa.has(Ka)&&Ha.add(Ka);return Ha})},[ya,Ms,ca]);async function Ga(){Ma(null),Oa(!0);try{if(ra){const Ja=[...fa].sort().map($a=>({visitorId:$a,permission:ma.get($a)??"read"}));await ta(Ja)}else{const Ja=[...fa].sort();await ta(Ja)}ea()}catch(Ja){Ma(translateError(oa,Ja))}finally{Oa(!1)}}return Pn?jsxRuntimeExports.jsx("div",{className:"mdocs-visitor-picker-overlay",role:"presentation",onMouseDown:Ja=>Ja.target===Ja.currentTarget&&ea(),children:jsxRuntimeExports.jsxs("div",{className:"mdocs-visitor-picker-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"mdocs-visitor-picker-title",children:[jsxRuntimeExports.jsxs("header",{className:"mdocs-visitor-picker-header",children:[jsxRuntimeExports.jsx("h2",{id:"mdocs-visitor-picker-title",className:"mdocs-visitor-picker-title",children:ei}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-visitor-picker-close",onClick:ea,"aria-label":oa("close"),children:"×"})]}),Ia.length>0&&jsxRuntimeExports.jsx("div",{className:"mdocs-visitor-picker-toolbar",children:jsxRuntimeExports.jsxs("div",{className:"mdocs-visitor-picker-template-bar",children:[jsxRuntimeExports.jsxs("div",{ref:Ta,className:"mdocs-template-picker",children:[jsxRuntimeExports.jsxs("button",{type:"button",className:"mdocs-template-picker-trigger",onClick:()=>wa(Ja=>!Ja),disabled:da!=="ok","aria-haspopup":"listbox","aria-expanded":Sa,children:[jsxRuntimeExports.jsx("span",{className:"mdocs-template-picker-text",children:ya?(Xa=Ia.find(Ja=>String(Ja.id)===ya))==null?void 0:Xa.displayName:oa("visitorPickerPickTemplate")}),jsxRuntimeExports.jsx("svg",{className:"mdocs-template-picker-chevron"+(Sa?" open":""),width:"10",height:"6",viewBox:"0 0 10 6",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:jsxRuntimeExports.jsx("path",{d:"M1 1l4 4 4-4"})})]}),Sa&&jsxRuntimeExports.jsx("div",{className:"mdocs-template-picker-menu card",role:"listbox",children:Ia.map(Ja=>jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-template-picker-option"+(String(Ja.id)===ya?" active":""),role:"option","aria-selected":String(Ja.id)===ya,onClick:()=>{Ca(String(Ja.id)),wa(!1)},children:Ja.displayName},Ja.id))})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:()=>{if(da!=="ok"){Ma(oa("loading"));return}if(!ya){Ma(oa("visitorPickerPickTemplate"));return}Ua()},children:oa("visitorPickerApplyTemplate")})]})}),Aa&&jsxRuntimeExports.jsx("div",{className:"mdocs-visitor-picker-error",role:"alert",children:Aa}),jsxRuntimeExports.jsx("div",{style:{padding:"8px 18px 12px"},children:jsxRuntimeExports.jsx(VisitorPickerContent,{visitors:ca,loadState:da,searchFilter:xa,onSearchChange:va,selectedIds:fa,onToggle:La,selectedRows:Na,lockedIds:aa,myVisitorId:la,showPermissionSelect:ra,permissionOptions:na,onPermissionChange:Wa})}),jsxRuntimeExports.jsxs("footer",{className:"mdocs-visitor-picker-footer",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:ea,children:oa("cancel")}),jsxRuntimeExports.jsx("button",{type:"button",className:"primary",onClick:()=>{if(da!=="ok"){Ma(oa("loading"));return}Ga()},children:oa(Ra?"saving":"visitorPickerConfirm")})]})]})}):null}function safeLexicalJsonString(Un){try{return JSON.stringify(Un.getDocument("json"))}catch{return null}}function OutlineSideRail({editor:Un}){const{visible:Pn}=useOutlineVisibility();return jsxRuntimeExports.jsx("div",{className:"mdocs-outline-siderail",style:{flexShrink:0,overflow:"hidden",transition:"width 0.2s ease",width:Pn?200:0},children:jsxRuntimeExports.jsx("div",{style:{width:200},children:jsxRuntimeExports.jsx(OutlinePanel,{editor:Un})})})}function DocumentEditor(Un){const{t:Pn,lang:ei}=useI18n(),[co,xo]=reactExports.useState(!1),os=reactExports.useRef(null),[hs,Ms]=reactExports.useState([]),[ea,ta]=reactExports.useState(!1),[ra,na]=reactExports.useState(Un.document.permission),[ia,oa]=reactExports.useState(!1),[sa,aa]=reactExports.useState(!1),[la,ca]=reactExports.useState(!1),[ua,da]=reactExports.useState(new Map),[ha,fa]=reactExports.useState(!1);reactExports.useEffect(()=>{const cc=Ec=>{os.current&&!os.current.contains(Ec.target)&&xo(!1)};return co&&document.addEventListener("mousedown",cc),()=>document.removeEventListener("mousedown",cc)},[co]),reactExports.useEffect(()=>{let cc=!0;return fetchVisitorsDirectoryApi().then(Ec=>{cc&&Ms(Ec)}).catch(()=>{}),()=>{cc=!1}},[]);function pa(cc){const Ec=hs.find(sc=>sc.visitorId===cc);return(Ec==null?void 0:Ec.visitorName)??cc.slice(0,8)}const[ma,ga]=reactExports.useState(Un.document.displayName),[xa,va]=reactExports.useState(!1),[ya,Ca]=reactExports.useState(!1),[Sa,wa]=reactExports.useState(!1),[Ta,Ra]=reactExports.useState(()=>localStorage.getItem("mdocs.autoEdit")!=="false"),Oa=Un.canEdit&&Ta,[Aa,Ma]=reactExports.useState(null),[Ia,za]=reactExports.useState(!1),Na=reactExports.useRef(null);reactExports.useLayoutEffect(()=>{za(!1),Ma(null),Na.current=null},[Un.document.documentId]),reactExports.useEffect(()=>{const cc=requestAnimationFrame(()=>za(!0));return()=>cancelAnimationFrame(cc)},[Un.document.documentId]);const La=reactExports.useRef(Un.document.content);La.current=Un.document.content;const Wa=reactExports.useMemo(()=>{var cc;if(!Un.document.content)return"json";try{const Ec=JSON.parse(Un.document.content);return(cc=Ec==null?void 0:Ec.root)!=null&&cc.children?"json":"markdown"}catch{return"markdown"}},[Un.document.content]),Ua=reactExports.useMemo(()=>({relativePath:Un.document.relativePath,permission:Un.document.permission,ownerVisitorId:Un.document.ownerVisitorId,domainId:Un.document.domainId}),[Un.document.relativePath,Un.document.permission,Un.document.ownerVisitorId,Un.document.domainId]),{isDirty:Ga,draftExists:Xa,clearDraft:Ja,loadDraftContent:$a,markDraftSaved:Pa}=useAutoSave({editor:Aa,documentId:Un.document.documentId,displayName:ma,enabled:Un.canEdit,documentMeta:Ua});usePublishGuard({isDirty:Ga,draftExists:Xa}),reactExports.useEffect(()=>{$a().then(cc=>{})},[Un.document.documentId]),reactExports.useEffect(()=>{Aa==null||Aa.setLocale(ei==="zh"?zhCN:enUS)},[Aa,ei]),reactExports.useEffect(()=>{ga(Un.document.displayName)},[Un.document.displayName,Un.document.documentId]),reactExports.useEffect(()=>{na(Un.document.permission)},[Un.document.permission,Un.document.documentId]),reactExports.useEffect(()=>{let cc=!0;return(async()=>{try{const Ec=await checkBookmarkApi(Un.document.documentId);cc&&Ca(Ec.bookmarked)}catch{}})(),()=>{cc=!1}},[Un.document.documentId]);async function Fa(){var cc,Ec;if(!Sa){wa(!0);try{ya?(await removeBookmarkApi(Un.document.documentId),Ca(!1),(cc=Un.onShowToast)==null||cc.call(Un,Pn("bookmarkRemoved"))):(await addBookmarkApi(Un.document.documentId),Ca(!0),(Ec=Un.onShowToast)==null||Ec.call(Un,Pn("bookmarkAdded")))}finally{wa(!1)}}}reactExports.useEffect(()=>(Un.saveBeforeNavRef&&(Un.saveBeforeNavRef.current=dc),()=>{Un.saveBeforeNavRef&&(Un.saveBeforeNavRef.current=void 0)}));function Ha(cc){return cc<1024?`${cc} B`:cc<1024*1024?`${(cc/1024).toFixed(1)} KB`:`${(cc/(1024*1024)).toFixed(1)} MB`}const Ka=reactExports.useCallback(cc=>{Na.current=cc,Ma(cc);const Ec=La.current;if(!Ec)return;const sc=()=>{try{cc.setDocument(Wa,Ec)}catch{requestAnimationFrame(()=>{try{cc.setDocument(Wa,Ec)}catch{}})}};queueMicrotask(()=>{queueMicrotask(sc)})},[Wa]);async function Sl(){if(!(!Aa||!Un.canEdit)){va(!0);try{const cc=safeLexicalJsonString(Aa);if(!cc)return;await Un.onPublish(cc,ma,Un.document.documentId),await Ja()}catch(cc){throw cc}finally{va(!1)}}}async function Za(){if(!Un.canEdit)return;const cc=Un.document.displayName.trim();ma.trim()!==cc&&await Sl()}const lc=reactExports.useMemo(()=>Un.domains.find(cc=>cc.domainId===Un.document.domainId),[Un.domains,Un.document.domainId]),ic=reactExports.useMemo(()=>{const cc=(lc==null?void 0:lc.permission)??"public";return allowedPermissionsForDomain(cc)},[lc==null?void 0:lc.permission]);function uc(cc){return cc===DocumentPermission.PRIVATE?Pn("permissionPrivate"):cc===DocumentPermission.DOMAIN_READ?Pn("permissionInvite"):cc===DocumentPermission.DOMAIN_WRITE?Pn("permissionDomainWrite"):cc===DocumentPermission.PUBLIC_READ?Pn("permissionPublicRead"):Pn("permissionPublicEdit")}async function mc(){var cc;if(ia||ra===Un.document.permission){ta(!1);return}oa(!0);try{const sc=(Aa?safeLexicalJsonString(Aa):null)??Un.document.content;await Un.onPublish(sc,ma,Un.document.documentId,ra),ta(!1),(cc=Un.onShowToast)==null||cc.call(Un,Pn("docInfoPermissionUpdated"))}finally{oa(!1)}}async function Ac(cc){var Ec;if(!ha){fa(!0);try{const sc=new Set(cc.map(wc=>wc.visitorId)),hc=new Map(cc.map(wc=>[wc.visitorId,wc.permission]));for(const[wc]of ua)sc.has(wc)||await removeDocumentInviteApi(Un.document.documentId,wc);for(const{visitorId:wc,permission:Pc}of cc){const $c=ua.get(wc);(!$c||$c!==Pc)&&await addDocumentInviteApi(Un.document.documentId,wc,Pc)}aa(!1),(Ec=Un.onShowToast)==null||Ec.call(Un,Pn("docInfoInviteSuccess",{count:cc.length}))}finally{fa(!1)}}}async function dc(){if(!Aa||!Un.canEdit)return;if(!Ga){console.log("[DocumentEditor.saveDraft] skipped: not dirty, documentId:",Un.document.documentId);return}const cc=safeLexicalJsonString(Aa);cc&&(console.log("[DocumentEditor.saveDraft] saving draft, documentId:",Un.document.documentId,"content preview:",cc.slice(0,80)),Pa(),await saveDraft({documentId:Un.document.documentId,content:cc,displayName:ma,updatedAt:Date.now(),published:!1,relativePath:Un.document.relativePath,permission:Un.document.permission,ownerVisitorId:Un.document.ownerVisitorId,domainId:Un.document.domainId}))}const kc=reactExports.useMemo(()=>[{icon:Heading1,key:"h1",label:"Heading 1",onSelect:cc=>{cc.dispatchCommand(INSERT_HEADING_COMMAND,{tag:"h1"})}},{icon:Heading2,key:"h2",label:"Heading 2",onSelect:cc=>{cc.dispatchCommand(INSERT_HEADING_COMMAND,{tag:"h2"})}},{icon:Heading3,key:"h3",label:"Heading 3",onSelect:cc=>{cc.dispatchCommand(INSERT_HEADING_COMMAND,{tag:"h3"})}},{type:"divider"},{icon:Minus,key:"hr",label:"Hr",onSelect:cc=>{cc.dispatchCommand(INSERT_HORIZONTAL_RULE_COMMAND,{})}},{icon:Table2,key:"table",label:"Table",onSelect:cc=>{cc.dispatchCommand(INSERT_TABLE_COMMAND,{columns:"3",rows:"3"})}},{icon:Sigma,key:"tex",label:"TeX",onSelect:cc=>{cc.dispatchCommand(INSERT_MATH_COMMAND,{code:"x^2 + y^2 = z^2"}),queueMicrotask(()=>cc.focus())}},{type:"divider"},{key:"file",label:"File",onSelect:cc=>{openFileSelector(Ec=>{for(const sc of Ec)cc.dispatchCommand(INSERT_FILE_COMMAND,{file:sc})})}},{key:"insert-link",label:"Insert Link",onSelect:cc=>{cc.dispatchCommand(INSERT_LINK_COMMAND,{url:"https://example.com"}),queueMicrotask(()=>cc.focus())}},{key:"insert-codeInline",label:"Inline Code",onSelect:cc=>{cc.dispatchCommand(INSERT_CODEINLINE_COMMAND,void 0),queueMicrotask(()=>cc.focus())}},{key:"insert-codeBlock",label:"Code Block",onSelect:cc=>{cc.dispatchCommand(INSERT_CODEMIRROR_COMMAND,void 0),queueMicrotask(()=>cc.focus())}}].map(cc=>"type"in cc&&cc.type==="divider"?cc:{...cc,extra:jsxRuntimeExports.jsx("span",{style:{color:"var(--mdocs-text-muted)",fontFamily:"monospace",fontSize:12},children:cc.key})}),[]),xc=reactExports.useMemo(()=>[ReactMarkdownPlugin,ReactListPlugin,ReactLinkPlugin,ReactImagePlugin,ReactCodemirrorPlugin,ReactHRPlugin,ReactTablePlugin,ReactMathPlugin,ReactMeta2dPlugin,ReactMarkmapPlugin,ReactCodePlugin,withProps(ReactToolbarPlugin,{children:Aa?jsxRuntimeExports.jsx(Toolbar,{editor:Aa,floating:!0,outlineCollapseTitle:Pn("outlineHide"),outlineExpandTitle:Pn("outlineShow"),outlineToggle:!0}):null}),withProps(ReactFilePlugin,{handleUpload:async cc=>({url:await uploadAssetApi(cc,Un.document.documentId)})}),withProps(ReactImagePlugin,{defaultBlockImage:!0,needRehost:cc=>cc.startsWith("blob:"),handleRehost:async cc=>{const sc=await(await fetch(cc)).blob(),hc=new File([sc],"image.png",{type:sc.type});return{url:await uploadAssetApi(hc,Un.document.documentId)}}})],[Aa,Pn]);return jsxRuntimeExports.jsxs("div",{className:"mdocs-editor",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-editor-toolbar",children:[jsxRuntimeExports.jsx("input",{className:"mdocs-editor-title-input",value:ma,onChange:cc=>ga(cc.target.value),onBlur:()=>void Za(),placeholder:Pn("displayNamePlaceholder"),disabled:!Oa}),jsxRuntimeExports.jsx(DomainSelect,{domains:Un.domains.length?Un.domains:[FALLBACK_DOMAIN_SUMMARY],value:Un.currentDomainId,onChange:Un.onDomainChange,ariaLabel:Pn("currentDomainAria"),localizeName:cc=>localizeDomainName(cc,ei,Pn)}),jsxRuntimeExports.jsx("span",{className:"mdocs-editor-toolbar-spacer","aria-hidden":!0}),jsxRuntimeExports.jsxs("div",{className:"mdocs-editor-toolbar-actions",children:[Oa?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[localStorage.getItem("mdocs.autoPublish")!=="true"&&jsxRuntimeExports.jsxs("span",{className:"mdocs-save-indicator",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-save-dot "+(xa?"saving":Xa?"unsaved":"saved")}),jsxRuntimeExports.jsx("span",{children:Pn(xa?"publishing":Xa?"unsaved":"published")})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"primary",disabled:xa,onClick:()=>void Sl(),children:Pn(xa?"publishing":"publish")}),jsxRuntimeExports.jsx("button",{type:"button",className:"danger",disabled:xa,onClick:Un.onDelete,children:Pn("delete")})]}):Un.canEdit&&jsxRuntimeExports.jsx("button",{type:"button",className:"primary",onClick:()=>Ra(!0),children:Pn("edit")}),jsxRuntimeExports.jsxs("button",{type:"button",className:"secondary mdocs-tooltip mdocs-tooltip-bottom",onClick:Un.onToggleComments,"data-tooltip":"评论",style:{padding:"4px 8px",minWidth:"auto",display:"flex",alignItems:"center",justifyContent:"center",gap:4,background:Un.commentPanelOpen?"var(--mdocs-hover-bg, #f0f0f0)":void 0},children:[jsxRuntimeExports.jsx(MessageSquare,{size:18,strokeWidth:1.5,style:{color:"var(--mdocs-text-secondary, #6b7280)"}}),Un.commentCount>0&&jsxRuntimeExports.jsx("span",{style:{fontSize:"0.85rem"},children:Un.commentCount})]}),jsxRuntimeExports.jsxs("div",{ref:os,className:"mdocs-tooltip mdocs-tooltip-bottom","data-tooltip":Pn("docInfo"),style:{position:"relative"},children:[jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:()=>xo(!co),style:{padding:"4px 8px",minWidth:"auto",display:"flex",alignItems:"center",justifyContent:"center"},children:jsxRuntimeExports.jsx(TextAlignJustify,{size:18,strokeWidth:1.5,style:{color:"var(--mdocs-text-secondary, #6b7280)"}})}),co&&jsxRuntimeExports.jsxs("div",{style:{position:"absolute",top:"100%",right:0,marginTop:"4px",background:"var(--mdocs-surface, #fff)",border:"1px solid var(--mdocs-border, #e5e5e5)",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",minWidth:"220px",zIndex:100,padding:"8px 0"},children:[jsxRuntimeExports.jsxs("div",{style:{padding:"4px 16px",fontSize:"13px"},children:[jsxRuntimeExports.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"6px"},children:[jsxRuntimeExports.jsx("span",{style:{color:"var(--mdocs-text-muted, #888)"},children:Pn("docInfoCreator")}),jsxRuntimeExports.jsx("span",{children:pa(Un.document.ownerVisitorId)})]}),jsxRuntimeExports.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"6px"},children:[jsxRuntimeExports.jsx("span",{style:{color:"var(--mdocs-text-muted, #888)"},children:Pn("docInfoCreatedAt")}),jsxRuntimeExports.jsx("span",{children:new Date(Un.document.createdAt).toLocaleString(ei==="zh"?"zh-CN":"en-US")})]}),jsxRuntimeExports.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"6px"},children:[jsxRuntimeExports.jsx("span",{style:{color:"var(--mdocs-text-muted, #888)"},children:Pn("docInfoSize")}),jsxRuntimeExports.jsx("span",{children:Ha(new Blob([Un.document.content]).size)})]}),jsxRuntimeExports.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[jsxRuntimeExports.jsx("span",{style:{color:"var(--mdocs-text-muted, #888)"},children:Pn("docInfoUpdatedAt")}),jsxRuntimeExports.jsx("span",{children:new Date(Un.document.updatedAt).toLocaleString(ei==="zh"?"zh-CN":"en-US")})]})]}),jsxRuntimeExports.jsx("div",{style:{height:"1px",background:"var(--mdocs-border, #e5e5e5)",margin:"8px 0"}}),jsxRuntimeExports.jsxs("button",{type:"button",style:{width:"100%",textAlign:"left",padding:"8px 16px",background:"none",border:"none",cursor:"pointer",fontSize:"13px",display:"flex",alignItems:"center",gap:"8px"},onMouseEnter:cc=>{cc.currentTarget.style.background="var(--mdocs-hover-bg, #f5f5f5)"},onMouseLeave:cc=>{cc.currentTarget.style.background="none"},onClick:()=>{Fa()},children:[jsxRuntimeExports.jsx("span",{children:ya?"⭐":"☆"}),jsxRuntimeExports.jsx("span",{children:Pn(ya?"bookmarkRemove":"bookmarkAdd")})]}),jsxRuntimeExports.jsxs("button",{type:"button",style:{width:"100%",textAlign:"left",padding:"8px 16px",background:"none",border:"none",cursor:"pointer",fontSize:"13px",display:"flex",alignItems:"center",gap:"8px"},onMouseEnter:cc=>{cc.currentTarget.style.background="var(--mdocs-hover-bg, #f5f5f5)"},onMouseLeave:cc=>{cc.currentTarget.style.background="none"},onClick:()=>{xo(!1),(async()=>{ca(!0);try{const cc=await getDocumentInvitesApi(Un.document.documentId),Ec=new Map(cc.map(sc=>[sc.visitorId,sc.permission]));da(Ec),aa(!0)}finally{ca(!1)}})()},children:[jsxRuntimeExports.jsx(Users,{size:14}),jsxRuntimeExports.jsx("span",{children:Pn("docInfoInviteMember")})]}),jsxRuntimeExports.jsxs("button",{type:"button",style:{width:"100%",textAlign:"left",padding:"8px 16px",background:"none",border:"none",cursor:"pointer",fontSize:"13px",display:"flex",alignItems:"center",gap:"8px"},onMouseEnter:cc=>{cc.currentTarget.style.background="var(--mdocs-hover-bg, #f5f5f5)"},onMouseLeave:cc=>{cc.currentTarget.style.background="none"},onClick:()=>{xo(!1),na(Un.document.permission),ta(!0)},children:[jsxRuntimeExports.jsx(ShieldUser,{size:14}),jsxRuntimeExports.jsx("span",{children:Pn("docInfoChangePermission")})]})]})]})]})]}),ea&&jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",style:{position:"fixed",zIndex:9999},onClick:cc=>{cc.target===cc.currentTarget&&ta(!1)},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card",style:{maxWidth:480},children:[jsxRuntimeExports.jsx("h1",{style:{fontSize:"1.1rem",marginBottom:12},children:Pn("docInfoChangePermission")}),jsxRuntimeExports.jsxs("div",{className:"muted",style:{marginBottom:12},children:[Pn("domainPermission"),":",lc?localizeDomainName(lc.domainName,ei,Pn):Un.document.domainId]}),jsxRuntimeExports.jsx("div",{style:{display:"grid",gap:8},children:ic.map(cc=>jsxRuntimeExports.jsxs("label",{style:{display:"flex",alignItems:"center",gap:8,cursor:"pointer"},children:[jsxRuntimeExports.jsx("input",{type:"radio",name:"doc-permission",value:cc,checked:ra===cc,onChange:()=>na(cc)}),jsxRuntimeExports.jsx("span",{children:uc(cc)})]},cc))}),jsxRuntimeExports.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:16},children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>ta(!1),children:Pn("cancel")}),jsxRuntimeExports.jsx("button",{type:"button",className:"primary",disabled:ia,onClick:()=>void mc(),children:Pn(ia?"publishing":"saveAndPublish")})]})]})}),jsxRuntimeExports.jsx(VisitorPickerModal,{open:sa,title:Pn("docInfoInviteMember"),initialSelectedIds:[...ua.keys()],initialPermissions:ua,templates:[],showPermissionSelect:!0,permissionOptions:[{value:"read",label:Pn("invitePermissionRead")},{value:"edit",label:Pn("invitePermissionEdit")}],onClose:()=>aa(!1),onConfirm:cc=>{Ac(cc)}}),jsxRuntimeExports.jsx(OutlineProvider,{children:jsxRuntimeExports.jsx(Block,{flex:1,style:{minHeight:0},children:jsxRuntimeExports.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0},children:[Oa&&Aa&&jsxRuntimeExports.jsx(Toolbar,{editor:Aa,outlineCollapseTitle:Pn("outlineHide"),outlineExpandTitle:Pn("outlineShow"),outlineToggle:!0}),jsxRuntimeExports.jsx("div",{className:"mdocs-editor-content-area",style:{flex:1,display:"flex",minHeight:0},children:jsxRuntimeExports.jsxs(Block,{variant:"outlined",horizontal:!0,style:{background:"var(--mdocs-surface)",flex:1,minHeight:0,minWidth:0,borderRadius:0,outline:"none"},children:[jsxRuntimeExports.jsx("div",{className:"mdocs-editor-scroll-host",children:Ia?jsxRuntimeExports.jsx(Editor,{content:Un.document.content,type:Wa,confirmPasteMarkdown:!0,editable:Oa,onInit:Ka,plugins:xc,lineEmptyPlaceholder:Pn("displayNamePlaceholder"),placeholder:Pn("displayNamePlaceholder"),slashOption:{items:kc},className:"mdocs-document-editor-root"},Un.document.documentId):null}),Aa&&jsxRuntimeExports.jsx(OutlineSideRail,{editor:Aa})]})})]})})})]})}function ConfirmDialog({title:Un,message:Pn,confirmLabel:ei="确定",cancelLabel:co="取消",onConfirm:xo,onCancel:os,busy:hs=!1,danger:Ms=!1}){return jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",role:"presentation",onMouseDown:ea=>{ea.target===ea.currentTarget&&!hs&&os()},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card mdocs-message-dialog",role:"alertdialog","aria-modal":"true",children:[Un&&jsxRuntimeExports.jsx("h2",{className:"mdocs-message-dialog-title",children:Un}),jsxRuntimeExports.jsx("p",{className:"mdocs-message-dialog-body",children:Pn}),jsxRuntimeExports.jsxs("div",{className:"mdocs-message-dialog-actions",style:{gap:8},children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:os,disabled:hs,children:co}),jsxRuntimeExports.jsx("button",{type:"button",className:Ms?"danger":"primary",onClick:xo,disabled:hs,children:hs?"…":ei})]})]})})}function RecoveryDialog({draft:Un,onClose:Pn,onSuccess:ei}){const{t:co,lang:xo}=useI18n(),[os,hs]=reactExports.useState([]),[Ms,ea]=reactExports.useState(Un.domainId??""),[ta,ra]=reactExports.useState([]),[na,ia]=reactExports.useState(""),[oa,sa]=reactExports.useState(`${Un.displayName||"untitled"}_recovered.md`),[aa,la]=reactExports.useState(!1),[ca,ua]=reactExports.useState(null),da=reactExports.useRef(null),ha=reactExports.useRef(!0);reactExports.useEffect(()=>(ha.current=!0,()=>{ha.current=!1}),[]),reactExports.useEffect(()=>{fetchDomainsSafe().then(ma=>{ha.current&&hs(ma)})},[]),reactExports.useEffect(()=>{Ms&&(ra([]),ia(""),fetchTreeApi(Ms).then(ma=>{ha.current&&ra(ma)}).catch(()=>{ha.current&&ra([])}))},[Ms]),reactExports.useEffect(()=>{const ma=window.setTimeout(()=>{var ga;return(ga=da.current)==null?void 0:ga.focus()},0);return()=>window.clearTimeout(ma)},[]),reactExports.useEffect(()=>{const ma=ga=>{ga.key==="Escape"&&Pn()};return window.addEventListener("keydown",ma),()=>window.removeEventListener("keydown",ma)},[Pn]);function fa(ma,ga){for(const xa of ma){if(xa.type==="folder"&&xa.path===ga)return xa.documentId;if(xa.type==="folder"){const va=fa(xa.children,ga);if(va)return va}}return null}async function pa(ma){ma.preventDefault(),la(!0),ua(null);const ga=oa.replace(/\s+/g,"_").replace(/[^a-zA-Z0-9_\-.]/g,""),xa=ga.endsWith(".md")?ga:ga+".md",va=xa.replace(/\.md$/i,"");try{const ya=na?`${na}/${xa}`:xa,Ca=na?fa(ta,na)??void 0:void 0;await createDocumentApi({fileName:xa,displayName:va,content:Un.content,domainId:Ms,parentId:Ca}),ei()}catch(ya){ua(translateError(co,ya))}finally{la(!1)}}return jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",role:"presentation",onMouseDown:ma=>{ma.target===ma.currentTarget&&!aa&&Pn()},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card mdocs-recovery-dialog",role:"dialog","aria-modal":"true",children:[jsxRuntimeExports.jsx("h1",{children:co("recoverDraft")}),jsxRuntimeExports.jsx("p",{className:"muted",children:co("recoverDraftDesc",{name:Un.displayName||co("unknownTitle")})}),jsxRuntimeExports.jsxs("form",{onSubmit:pa,className:"mdocs-dialog-form",children:[jsxRuntimeExports.jsxs("label",{className:"mdocs-dialog-label",children:[co("domainLabel"),os.length>0&&jsxRuntimeExports.jsx(DomainSelect,{domains:os,value:Ms,onChange:ea,ariaLabel:co("domainLabel"),localizeName:ma=>localizeDomainName(ma,xo,co)})]}),jsxRuntimeExports.jsxs("label",{className:"mdocs-dialog-label mdocs-recovery-tree-label",children:[co("recoverTargetFolder"),jsxRuntimeExports.jsx("div",{className:"mdocs-recovery-tree",children:jsxRuntimeExports.jsx(DocumentTree,{nodes:ta,activeDocumentId:null,selectedParentPath:na,onOpen:()=>{},onOpenFolder:ma=>ia(ma),onContextMenu:()=>{},onDeselect:()=>ia("")})})]}),jsxRuntimeExports.jsxs("label",{className:"mdocs-dialog-label",children:[co("fileNameLabel"),jsxRuntimeExports.jsx("input",{ref:da,value:oa,onChange:ma=>sa(ma.target.value),placeholder:"recovered.md",maxLength:200,disabled:aa})]}),ca&&jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-error",children:ca}),jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog-actions",children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>!aa&&Pn(),disabled:aa,children:co("cancel")}),jsxRuntimeExports.jsx("button",{type:"submit",className:"primary",disabled:aa,children:co(aa?"creating":"create")})]})]})]})})}function DraftListPage({onPublish:Un,onClose:Pn,onCountChange:ei,onRecover:co}){const{t:xo}=useI18n(),[os,hs]=reactExports.useState([]),[Ms,ea]=reactExports.useState(new Set),[ta,ra]=reactExports.useState(!1),[na,ia]=reactExports.useState(null),[oa,sa]=reactExports.useState(null),[aa,la]=reactExports.useState(null),ca=reactExports.useRef(null),ua=reactExports.useRef(!0);reactExports.useEffect(()=>(ua.current=!0,listAllDrafts().then(ya=>{if(!ua.current)return;const Ca=ya.filter(Sa=>!Sa.published);hs(Ca),ei==null||ei(Ca.length)}),()=>{ua.current=!1,ca.current&&(clearTimeout(ca.current),ca.current=null)}),[]),reactExports.useEffect(()=>{const ya=Ca=>{Ca.key==="Escape"&&Pn()};return window.addEventListener("keydown",ya),()=>window.removeEventListener("keydown",ya)},[Pn]);const da=reactExports.useCallback((ya,Ca)=>{la({message:ya,type:Ca}),ca.current&&clearTimeout(ca.current),ca.current=setTimeout(()=>la(null),3e3)},[]);async function ha(ya){await clearDraftPublishError(ya),ea(Ca=>new Set(Ca).add(ya));try{await Un(ya),hs(Ca=>{const Sa=Ca.filter(wa=>wa.documentId!==ya);return ei==null||ei(Sa.length),Sa}),da(xo("published"),"success")}catch{da(xo("publishFailed"),"error")}finally{ea(Ca=>{const Sa=new Set(Ca);return Sa.delete(ya),Sa})}}async function fa(ya){ia(null),await deleteDraft(ya),hs(Ca=>{const Sa=Ca.filter(wa=>wa.documentId!==ya);return ei==null||ei(Sa.length),Sa}),da(xo("draftDeleted"),"success")}function pa(ya){const Ca=os.find(Sa=>Sa.documentId===ya);Ca&&sa(Ca)}function ma(ya){sa(null),deleteDraft(ya),hs(Ca=>{const Sa=Ca.filter(wa=>wa.documentId!==ya);return ei==null||ei(Sa.length),Sa}),co==null||co(os.find(Ca=>Ca.documentId===ya)),da(xo("published"),"success")}async function ga(){ra(!0);let ya=0,Ca=0;for(const Ta of os)try{await Un(Ta.documentId),ya++}catch{Ca++}const wa=(await listAllDrafts()).filter(Ta=>!Ta.published);hs(wa),ei==null||ei(wa.length),Ca===0?da(xo("publishAll"),"success"):da(`${ya} published, ${Ca} failed`,"error"),ra(!1)}const xa=ya=>new Date(ya).toLocaleString(void 0,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}),va=os;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"mdocs-drawer-overlay",onClick:Pn}),jsxRuntimeExports.jsxs("div",{className:"mdocs-drawer",role:"dialog","aria-modal":"true",children:[jsxRuntimeExports.jsxs("header",{className:"mdocs-drawer-header",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-drawer-header-text",children:[jsxRuntimeExports.jsxs("h2",{className:"mdocs-drawer-title",children:[xo("unpublishedDrafts"),va.length>0&&jsxRuntimeExports.jsx("span",{className:"mdocs-drawer-count-badge",children:va.length})]}),jsxRuntimeExports.jsx("span",{className:"mdocs-drawer-subtitle",children:xo("draftCount",{count:String(va.length)})})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-drawer-close-btn",onClick:Pn,"aria-label":xo("close"),children:"×"})]}),jsxRuntimeExports.jsx("div",{className:"mdocs-drawer-body",children:va.length===0?jsxRuntimeExports.jsxs("div",{className:"mdocs-drawer-empty",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-drawer-empty-icon","aria-hidden":"true",children:"✓"}),jsxRuntimeExports.jsx("p",{className:"mdocs-drawer-empty-text",children:xo("draftsEmptyState")})]}):jsxRuntimeExports.jsx("div",{className:"mdocs-drawer-items",children:va.map(ya=>{const Ca=!!ya.publishError;return jsxRuntimeExports.jsxs("div",{className:Ca?"mdocs-drawer-item mdocs-drawer-item-failed":"mdocs-drawer-item",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-drawer-item-icon","aria-hidden":"true",children:"📄"}),jsxRuntimeExports.jsxs("div",{className:"mdocs-drawer-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-drawer-item-name",children:ya.displayName||xo("unknownTitle")}),Ca?jsxRuntimeExports.jsxs("span",{className:"mdocs-drawer-item-error",children:[xa(ya.publishErrorAt)," · ",xo("draftPublishFailedNotice",{name:ya.displayName||xo("unknownTitle")})]}):jsxRuntimeExports.jsxs("span",{className:"mdocs-drawer-item-meta",children:[xa(ya.updatedAt)," · ",xo("localSnapshot")]})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-drawer-item-actions",children:[Ca?jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-btn-ghost mdocs-btn-ghost-primary",disabled:ta,onClick:()=>pa(ya.documentId),children:xo("recoverDraft")}):jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-btn-ghost mdocs-btn-ghost-primary",disabled:Ms.has(ya.documentId)||ta,onClick:()=>void ha(ya.documentId),children:Ms.has(ya.documentId)?xo("publishing"):xo("publish")}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-btn-ghost mdocs-btn-ghost-danger",disabled:ta,onClick:()=>ia(ya.documentId),children:xo("delete")})]})]},ya.documentId)})})}),jsxRuntimeExports.jsxs("footer",{className:"mdocs-drawer-footer",children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:Pn,children:xo("close")}),jsxRuntimeExports.jsx("button",{type:"button",className:"primary",disabled:va.length===0||ta,onClick:()=>void ga(),children:ta?xo("publishing"):`${xo("publishAll")} (${va.length})`})]}),aa&&jsxRuntimeExports.jsx("div",{className:"mdocs-drawer-toast mdocs-drawer-toast--"+aa.type,role:"status",children:aa.message})]}),na&&jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",role:"presentation",onMouseDown:ya=>{ya.target===ya.currentTarget&&ia(null)},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card",role:"dialog","aria-modal":"true",children:[jsxRuntimeExports.jsx("h1",{children:xo("delete")}),jsxRuntimeExports.jsx("p",{className:"muted",children:xo("confirmDeleteDraft")}),jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog-actions",children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>ia(null),children:xo("cancel")}),jsxRuntimeExports.jsx("button",{type:"button",className:"danger",onClick:()=>void fa(na),children:xo("delete")})]})]})}),oa&&jsxRuntimeExports.jsx(RecoveryDialog,{draft:oa,onClose:()=>sa(null),onSuccess:()=>ma(oa.documentId)})]})}function useDomainManagement(){const{t:Un,lang:Pn}=useI18n(),ei=getStoredVisitorId(),co=reactExports.useRef(!1),[xo,os]=reactExports.useState([]),[hs,Ms]=reactExports.useState(!1),[ea,ta]=reactExports.useState(""),[ra,na]=reactExports.useState("restricted"),[ia,oa]=reactExports.useState(!1),[sa,aa]=reactExports.useState(null),[la,ca]=reactExports.useState(null),[ua,da]=reactExports.useState(""),[ha,fa]=reactExports.useState(""),[pa,ma]=reactExports.useState("all"),[ga,xa]=reactExports.useState(null);reactExports.useEffect(()=>(co.current=!0,()=>{co.current=!1}),[]);const va=reactExports.useCallback(async()=>{Ms(!0),aa(null);try{const za=await fetchDomainsApi();if(!co.current)return;os(za)}catch(za){if(!co.current)return;aa(translateError(Un,za))}finally{co.current&&Ms(!1)}},[Un]);reactExports.useEffect(()=>{va()},[va]);async function ya(za){if(za.preventDefault(),!ea.trim()){aa(Un("domainNameRequired"));return}oa(!0),aa(null);try{if(await createDomainApi({domainName:ea.trim(),permission:ra}),!co.current)return;ta(""),na("restricted"),await va()}catch(Na){if(!co.current)return;aa(translateError(Un,Na))}finally{co.current&&oa(!1)}}async function Ca(za){if(ua.trim()){aa(null);try{if(await renameDomainApi(za,ua.trim()),!co.current)return;ca(null),xa(null),await va()}catch(Na){if(!co.current)return;aa(translateError(Un,Na))}}}function Sa(za){ca(za.domainId),da(za.domainName),xa(null)}function wa(){ca(null),xa(null)}async function Ta(za,Na){aa(null);try{if(await updateDomainPermissionApi(za,Na),!co.current)return;xa(null),await va()}catch(La){if(!co.current)return;aa(translateError(Un,La))}}async function Ra(za){if(window.confirm(Un("deleteDomainConfirmDetail",{name:za.domainName,count:String(za.docCount)}))){aa(null);try{if(await deleteDomainApi(za.domainId),!co.current)return;await va()}catch(Na){if(!co.current)return;aa(translateError(Un,Na))}}}const Oa=reactExports.useCallback(za=>domainPermissionLabel(za,Un),[Un]),Aa=reactExports.useCallback(za=>localizeDomainName(za.domainName,Pn,Un),[Pn,Un]),Ma=reactExports.useMemo(()=>{const za=ha.trim().toLowerCase();return xo.filter(Na=>pa!=="all"&&Na.permission!==pa?!1:za?localizeDomainName(Na.domainName,Pn,Un).toLowerCase().includes(za)||Na.domainName.toLowerCase().includes(za):!0)},[xo,ha,pa,Pn,Un]),Ia=reactExports.useCallback((za,Na)=>{const La=Oa(za.permission);return Na?`${La} ${Un("domainTypeBuiltinSuffix")}`:La},[Oa,Un]);return{domains:xo,loadingDomains:hs,domainError:sa,newDomainName:ea,setNewDomainName:ta,newDomainPermission:ra,setNewDomainPermission:na,creating:ia,handleCreateDomain:ya,renamingId:la,setRenamingId:ca,renameDraft:ua,setRenameDraft:da,startRename:Sa,cancelRename:wa,handleRename:Ca,changeTypeForId:ga,setChangeTypeForId:xa,handlePermissionChange:Ta,handleDelete:Ra,domainSearch:ha,setDomainSearch:fa,domainFilter:pa,setDomainFilter:ma,filteredDomains:Ma,visitorId:ei,plabel:Oa,localizeDomain:Aa,domainTypeLabel:Ia}}function DomainManagementPanel(){const{t:Un}=useI18n(),Pn=useDomainManagement(),[ei,co]=reactExports.useState([]),[xo,os]=reactExports.useState(null),[hs,Ms]=reactExports.useState(null),ea=reactExports.useCallback(async()=>{try{const ra=await fetchDomainMemberTemplatesApi();co(ra)}catch{co([])}},[]);reactExports.useEffect(()=>{ea()},[ea]);async function ta(ra){os(null);try{const na=await fetchDomainMembersApi(ra.domainId);Ms({domainId:ra.domainId,creatorVisitorId:ra.creatorVisitorId,initialIds:na.map(ia=>ia.visitorId),memberRows:na})}catch(na){os({kind:"err",text:translateError(Un,na)})}}return jsxRuntimeExports.jsxs("div",{className:"mdocs-settings",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-header",children:jsxRuntimeExports.jsx("h2",{className:"mdocs-settings-title",children:Un("domainManagement")})}),jsxRuntimeExports.jsx("p",{className:"mdocs-domain-mgmt-restricted-hint",children:Un("domainMgmtRestrictedMemberHint")}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-cards",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-card mdocs-domain-mgmt-create",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card-title",children:Un("createDomain")}),jsxRuntimeExports.jsxs("form",{onSubmit:Pn.handleCreateDomain,className:"mdocs-domain-mgmt-create-form",children:[jsxRuntimeExports.jsxs("label",{className:"mdocs-domain-mgmt-field",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-domain-mgmt-label",children:Un("domainName")}),jsxRuntimeExports.jsx("input",{value:Pn.newDomainName,onChange:ra=>Pn.setNewDomainName(ra.target.value),placeholder:Un("domainName"),maxLength:100,disabled:Pn.creating,className:"mdocs-domain-name-input"})]}),jsxRuntimeExports.jsxs("fieldset",{className:"mdocs-domain-mgmt-fieldset",children:[jsxRuntimeExports.jsx("legend",{className:"mdocs-domain-mgmt-label",children:Un("domainPermission")}),jsxRuntimeExports.jsx("div",{className:"mdocs-domain-mgmt-type-radios",children:DOMAIN_PERMISSIONS.map(ra=>jsxRuntimeExports.jsxs("label",{className:"mdocs-domain-mgmt-radio",children:[jsxRuntimeExports.jsx("input",{type:"radio",name:"newDomainPermission",checked:Pn.newDomainPermission===ra,onChange:()=>Pn.setNewDomainPermission(ra),disabled:Pn.creating}),jsxRuntimeExports.jsx("span",{children:Pn.plabel(ra)})]},ra))})]}),jsxRuntimeExports.jsx("button",{type:"submit",className:"primary mdocs-domain-mgmt-submit",disabled:Pn.creating,children:Pn.creating?Un("creating"):Un("create")})]})]}),xo&&jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",style:{color:xo.kind==="ok"?"var(--mdocs-success, #0a7)":"var(--mdocs-danger)"},children:jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:xo.text})}),Pn.domainError&&jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card mdocs-domain-error",children:jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",style:{color:"var(--mdocs-danger)"},children:Pn.domainError})}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-card mdocs-domain-mgmt-toolbar",children:[jsxRuntimeExports.jsx("input",{type:"search",value:Pn.domainSearch,onChange:ra=>Pn.setDomainSearch(ra.target.value),placeholder:Un("domainSearchPlaceholder"),className:"mdocs-domain-mgmt-search","aria-label":Un("domainSearchPlaceholder")}),jsxRuntimeExports.jsx("div",{className:"mdocs-domain-mgmt-filters",role:"group","aria-label":Un("domainPermission"),children:["all",...DOMAIN_PERMISSIONS].map(ra=>jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-domain-mgmt-filter"+(Pn.domainFilter===ra?" active":""),"aria-pressed":Pn.domainFilter===ra,onClick:()=>Pn.setDomainFilter(ra),children:ra==="all"?Un("domainFilterAll"):Pn.plabel(ra)},ra))})]}),Pn.loadingDomains?jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",children:jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Un("loading")})}):Pn.domains.length===0?jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card mdocs-settings-draft-empty",children:jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Un("noDomains")})}):Pn.filteredDomains.length===0?jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card mdocs-settings-draft-empty",children:jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Un("domainNoMatch")})}):jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card mdocs-domain-table-wrap",children:jsxRuntimeExports.jsxs("table",{className:"mdocs-domain-table",children:[jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("th",{scope:"col",children:Un("domainColName")}),jsxRuntimeExports.jsx("th",{scope:"col",children:Un("domainColType")}),jsxRuntimeExports.jsx("th",{scope:"col",className:"mdocs-domain-table-num",children:Un("domainColDocCount")}),jsxRuntimeExports.jsx("th",{scope:"col",children:Un("domainColActions")})]})}),jsxRuntimeExports.jsx("tbody",{children:Pn.filteredDomains.map(ra=>{const na=isDomainCreator(ra,Pn.visitorId),ia=isBuiltInDomainId(ra.domainId),oa=isDomainStructurallyLocked(ra),sa=oa?Un("domainTooltipTypeLocked",{count:String(ra.docCount)}):void 0;return jsxRuntimeExports.jsxs("tr",{className:ia?"mdocs-domain-table-row-builtin":void 0,children:[jsxRuntimeExports.jsx("td",{children:Pn.renamingId===ra.domainId?jsxRuntimeExports.jsxs("div",{className:"mdocs-domain-table-rename",children:[jsxRuntimeExports.jsx("input",{value:Pn.renameDraft,onChange:aa=>Pn.setRenameDraft(aa.target.value),maxLength:100,autoFocus:!0,className:"mdocs-domain-name-input"}),jsxRuntimeExports.jsx("button",{type:"button",className:"primary",onClick:()=>void Pn.handleRename(ra.domainId),children:Un("save")}),jsxRuntimeExports.jsx("button",{type:"button",onClick:Pn.cancelRename,children:Un("cancel")})]}):jsxRuntimeExports.jsxs("div",{className:"mdocs-domain-table-name-cell",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-domain-table-name",children:Pn.localizeDomain(ra)}),ia&&jsxRuntimeExports.jsx("span",{className:"mdocs-domain-badge-builtin",children:Un("domainBuiltIn")}),!na&&!ia&&jsxRuntimeExports.jsx("span",{className:"mdocs-domain-badge-shared",children:Un("shared")})]})}),jsxRuntimeExports.jsx("td",{children:jsxRuntimeExports.jsxs("span",{className:"mdocs-domain-table-type",title:sa,children:[jsxRuntimeExports.jsx("span",{className:"mdocs-domain-permission-badge","data-permission":ra.permission,children:Pn.domainTypeLabel(ra,ia)}),oa&&!ia&&jsxRuntimeExports.jsx("span",{className:"mdocs-domain-type-lock","aria-hidden":"true",children:"🔒"})]})}),jsxRuntimeExports.jsx("td",{className:"mdocs-domain-table-num",children:ra.docCount}),jsxRuntimeExports.jsxs("td",{className:"mdocs-domain-table-actions",children:[ia&&jsxRuntimeExports.jsx("span",{className:"mdocs-domain-not-modifiable",children:Un("domainNotModifiable")}),!ia&&!na&&jsxRuntimeExports.jsx("span",{className:"mdocs-domain-not-creator-inline",children:Un("domainNotCreator")}),!ia&&na&&Pn.changeTypeForId===ra.domainId&&jsxRuntimeExports.jsxs("div",{className:"mdocs-domain-change-type-panel",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-domain-permission-select",children:DOMAIN_PERMISSIONS.map(aa=>jsxRuntimeExports.jsx("button",{type:"button",className:ra.permission===aa?"active":"",onClick:()=>void Pn.handlePermissionChange(ra.domainId,aa),children:Pn.plabel(aa)},aa))}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:()=>Pn.setChangeTypeForId(null),children:Un("cancel")})]}),!ia&&na&&Pn.renamingId!==ra.domainId&&Pn.changeTypeForId!==ra.domainId&&jsxRuntimeExports.jsxs("div",{className:"mdocs-domain-action-buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",title:oa?Un("domainLocked"):void 0,onClick:()=>{Pn.setChangeTypeForId(null),Pn.startRename(ra)},disabled:oa,children:Un("rename")}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",title:oa?sa:void 0,onClick:()=>{Pn.setRenamingId(null),Pn.setChangeTypeForId(ra.domainId)},disabled:oa,children:Un("domainChangeType")}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",title:oa?Un("domainLocked"):void 0,onClick:()=>void Pn.handleDelete(ra),disabled:oa,children:Un("deleteDomain")}),ra.permission==="restricted"&&!ia&&jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:()=>void ta(ra),children:Un("domainMembersManageButton")})]})]})]},ra.domainId)})})]})})]}),jsxRuntimeExports.jsx(VisitorPickerModal,{open:hs!==null,title:Un("domainMembersPickerTitle"),initialSelectedIds:(hs==null?void 0:hs.initialIds)??[],lockedIds:hs?[hs.creatorVisitorId]:[],seedMembers:hs==null?void 0:hs.memberRows,templates:ei,onClose:()=>Ms(null),onConfirm:async ra=>{hs&&(await putDomainMembersApi(hs.domainId,ra),os({kind:"ok",text:Un("domainMembersSaved",{count:String(ra.length)})}))}})]})}function idPrefix6(Un){return Un.length<=6?Un:`${Un.slice(0,6)}…`}function MemberTemplatesPanel(){const{t:Un}=useI18n(),Pn=reactExports.useRef(!0),[ei,co]=reactExports.useState([]),[xo,os]=reactExports.useState(!0),[hs,Ms]=reactExports.useState(null),[ea,ta]=reactExports.useState(1),[ra,na]=reactExports.useState(null),[ia,oa]=reactExports.useState(""),[sa,aa]=reactExports.useState([]),[la,ca]=reactExports.useState(!1),[ua,da]=reactExports.useState(null),[ha,fa]=reactExports.useState(!1),pa=getStoredVisitorId(),[ma,ga]=reactExports.useState([]),[xa,va]=reactExports.useState("idle"),[ya,Ca]=reactExports.useState("");reactExports.useEffect(()=>(Pn.current=!0,()=>{Pn.current=!1}),[]),reactExports.useEffect(()=>{va("loading"),fetchVisitorsDirectoryApi().then(Ga=>{Pn.current&&(ga(Ga),va("ok"))}).catch(()=>{Pn.current&&va("err")})},[]);const Sa=reactExports.useMemo(()=>{const Ga=new Map;for(const Xa of ma)Ga.set(Xa.visitorId,Xa.visitorName);return Ga},[ma]),wa=reactExports.useCallback(async()=>{os(!0),da(null);try{const Ga=await fetchDomainMemberTemplatesApi();Pn.current&&co(Ga)}catch(Ga){Pn.current&&da(translateError(Un,Ga))}finally{Pn.current&&os(!1)}},[Un]);reactExports.useEffect(()=>{wa()},[wa]);const Ta=reactExports.useMemo(()=>sa.map(Ga=>{const Xa=ma.find(Ja=>Ja.visitorId===Ga);return{visitorId:Ga,name:Xa?Xa.visitorName:Un("visitorPickerUnknownVisitor"),muted:!Xa}}),[sa,ma,Un]);function Ra(Ga){aa(Xa=>Xa.includes(Ga)?Xa.filter(Ja=>Ja!==Ga):[...Xa,Ga])}const Oa=ea===1?ia.trim().length>0:ea===2?sa.length>0:!0;function Aa(){if(!(ea>=3)){if(!Oa){fa(!0);return}fa(!1),ta(ea+1),Ca("")}}function Ma(){ea<=1||(fa(!1),ta(ea-1))}function Ia(){Ms(null),na(null),oa(""),aa(pa?[pa]:[]),da(null),ta(1),Ca(""),fa(!1)}function za(Ga){Ms(null),na(Ga.id),oa(Ga.displayName);const Xa=pa&&!Ga.visitorIds.includes(pa)?[...Ga.visitorIds,pa]:[...Ga.visitorIds];aa(Xa),da(null),ta(1),Ca(""),fa(!1)}async function Na(){if(!(!ia.trim()||sa.length===0)){ca(!0),da(null);try{if(ra===null?await createDomainMemberTemplateApi({displayName:ia.trim(),visitorIds:sa}):await updateDomainMemberTemplateApi(ra,{displayName:ia.trim(),visitorIds:sa}),!Pn.current)return;Ia(),await wa()}catch(Ga){if(!Pn.current)return;da(translateError(Un,Ga))}finally{Pn.current&&ca(!1)}}}async function La(Ga){ca(!0),da(null);try{if(await deleteDomainMemberTemplateApi(Ga),!Pn.current)return;Ms(null),ra===Ga&&Ia(),await wa()}catch(Xa){if(!Pn.current)return;da(translateError(Un,Xa))}finally{Pn.current&&ca(!1)}}const Wa=[{key:1,label:Un("memberTemplateStepName")},{key:2,label:Un("memberTemplateStepMembers")},{key:3,label:Un("memberTemplateStepSave")}],Ua=`${(ea-1)/2*100}%`;return jsxRuntimeExports.jsxs("div",{className:"mdocs-settings",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-header",children:[jsxRuntimeExports.jsx("h2",{className:"mdocs-settings-title",children:Un(ra!==null?"memberTemplateUpdate":"memberTemplateFormNew")}),ra!==null&&jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:Ia,style:{fontSize:12},children:Un("memberTemplateCancelEdit")})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-progress",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-wizard-progress-track",children:jsxRuntimeExports.jsx("div",{className:"mdocs-wizard-progress-fill",style:{width:Ua}})}),jsxRuntimeExports.jsx("div",{className:"mdocs-wizard-progress-steps",children:Wa.map(Ga=>{const Xa=ea===Ga.key,Ja=ea>Ga.key;return jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-step-indicator",children:[jsxRuntimeExports.jsx("div",{className:`mdocs-wizard-step-circle${Xa?" current":""}${Ja?" done":""}`,children:Ja?"✓":Ga.key}),jsxRuntimeExports.jsx("span",{className:`mdocs-wizard-step-label${Xa?" current":""}${Ja?" done":""}`,children:Ga.label})]},Ga.key)})})]}),ua&&jsxRuntimeExports.jsx("div",{className:"mdocs-settings-item-desc",style:{color:"var(--mdocs-danger)",marginBottom:12,marginTop:12},children:ua}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-cards",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-card mdocs-wizard-card",children:[ea===1&&jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-step-content",children:[jsxRuntimeExports.jsx("input",{className:"mdocs-wizard-name-input",value:ia,onChange:Ga=>oa(Ga.target.value),placeholder:Un("memberTemplateNamePlaceholder"),maxLength:200,disabled:la,autoFocus:!0,"aria-invalid":ha&&!ia.trim()}),ha&&!ia.trim()&&jsxRuntimeExports.jsx("p",{className:"mdocs-wizard-hint",style:{color:"var(--mdocs-danger)"},children:Un("domainNameRequired")})]}),ea===2&&jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-step-content",children:[jsxRuntimeExports.jsx(VisitorPickerContent,{visitors:ma,loadState:xa,searchFilter:ya,onSearchChange:Ca,selectedIds:new Set(sa),onToggle:Ra,selectedRows:Ta,myVisitorId:pa}),jsxRuntimeExports.jsx("p",{className:`mdocs-wizard-hint${ha&&sa.length===0?" danger":""}`,children:"💡 "+Un("memberTemplateStep2Hint")})]}),ea===3&&jsxRuntimeExports.jsx("div",{className:"mdocs-wizard-step-content",children:jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-preview-card",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-preview-row",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-wizard-preview-label",children:Un("memberTemplateNameLabel")}),jsxRuntimeExports.jsx("span",{className:"mdocs-wizard-preview-value",children:ia})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-preview-row",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-wizard-preview-label",children:Un("memberTemplateIdsLabel")}),jsxRuntimeExports.jsx("span",{className:"mdocs-wizard-preview-value",children:Un("memberTemplateSelectedSummary",{count:String(sa.length)})})]}),sa.length>0&&jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-preview-tags",children:[sa.slice(0,15).map(Ga=>jsxRuntimeExports.jsx("span",{className:"mdocs-wizard-preview-tag",children:idPrefix6(Ga)},Ga)),sa.length>15&&jsxRuntimeExports.jsxs("span",{className:"mdocs-wizard-preview-tag mdocs-wizard-preview-tag-more",children:["+",sa.length-15]})]})]})}),jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-footer",children:[jsxRuntimeExports.jsxs("button",{type:"button",className:"secondary",onClick:Ma,children:["← ",Un("memberTemplateWizardBack")]}),ea<3?jsxRuntimeExports.jsxs("button",{type:"button",className:"primary",onClick:Aa,children:[Un("memberTemplateWizardNext")," →"]}):jsxRuntimeExports.jsx("button",{type:"button",className:"primary",onClick:()=>void Na(),children:Un(la?"saving":ra===null?"memberTemplateCreate":"memberTemplateUpdate")})]})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-card",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card-title",children:Un("memberTemplateSavedList")}),xo?jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Un("loading")}):ei.length===0?jsxRuntimeExports.jsxs("div",{className:"mdocs-member-template-empty",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Un("memberTemplateEmpty")}),ra===null&&jsxRuntimeExports.jsx("button",{type:"button",className:"primary",onClick:Ia,children:Un("memberTemplateEmptyAction")})]}):jsxRuntimeExports.jsx("ul",{className:"mdocs-member-template-list",children:ei.map(Ga=>jsxRuntimeExports.jsx("li",{className:"mdocs-member-template-row",children:hs===Ga.id?jsxRuntimeExports.jsxs("div",{className:"mdocs-member-template-confirm-row",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-member-template-confirm-text",children:Un("memberTemplateConfirmDeleteDesc",{name:Ga.displayName})}),jsxRuntimeExports.jsxs("div",{className:"mdocs-member-template-confirm-actions",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",style:{color:"var(--mdocs-danger)"},onClick:()=>void La(Ga.id),children:Un(la?"saving":"memberTemplateConfirmDeleteSubmit")}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:()=>Ms(null),children:Un("memberTemplateConfirmDeleteCancel")})]})]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-member-template-row-head",children:[jsxRuntimeExports.jsx("strong",{children:Ga.displayName}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Un("memberTemplateCount",{count:String(Ga.visitorIds.length)})}),Ga.visitorIds.length>0&&jsxRuntimeExports.jsx("div",{className:"mdocs-member-template-tags mdocs-member-template-tags-scroll",children:Ga.visitorIds.map(Xa=>jsxRuntimeExports.jsx("span",{className:"mdocs-member-template-tag",children:Sa.get(Xa)??idPrefix6(Xa)},Xa))})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-member-template-row-actions",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:()=>za(Ga),children:Un("edit")}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:()=>Ms(Ga.id),children:Un("memberTemplateDelete")})]})]})},Ga.id))})]})]})]})}const mdocsLogo="/assets/mdocs-logo-Dsv_2t6v.svg";function getBool(Un,Pn){const ei=localStorage.getItem(Un);return ei===null?Pn:ei==="true"}function SettingsPage(Un){const{t:Pn,lang:ei,setLang:co}=useI18n(),{onBack:xo,onPublishDraft:os}=Un,hs=reactExports.useRef(!0);reactExports.useEffect(()=>(hs.current=!0,()=>{hs.current=!1}),[]);const[Ms,ea]=reactExports.useState(()=>getBool("mdocs.autoPublish",!1)),[ta,ra]=reactExports.useState(()=>getBool("mdocs.autoEdit",!0)),[na,ia]=reactExports.useState(!1),[oa,sa]=reactExports.useState("general"),[aa,la]=reactExports.useState([]),[ca,ua]=reactExports.useState(!0),[da,ha]=reactExports.useState(null),[fa,pa]=reactExports.useState(!1),[ma,ga]=reactExports.useState(!1),[xa,va]=reactExports.useState(!1),[ya,Ca]=reactExports.useState(null),[Sa,wa]=reactExports.useState(!1),[Ta,Ra]=reactExports.useState(!1),[Oa,Aa]=reactExports.useState(""),[Ma,Ia]=reactExports.useState(!1),[za,Na]=reactExports.useState(!1),[La,Wa]=reactExports.useState(0),[Ua,Ga]=reactExports.useState([]),[Xa,Ja]=reactExports.useState(!1),[$a,Pa]=reactExports.useState(""),[Fa,Ha]=reactExports.useState([]),[Ka,Sl]=reactExports.useState(!1),[Za,lc]=reactExports.useState(""),[ic,uc]=reactExports.useState(!1),[mc,Ac]=reactExports.useState(null),[dc,kc]=reactExports.useState(new Map);reactExports.useEffect(()=>{localStorage.setItem("mdocs.autoPublish",String(Ms))},[Ms]),reactExports.useEffect(()=>{localStorage.setItem("mdocs.autoEdit",String(ta))},[ta]),reactExports.useEffect(()=>{oa==="savePublish"&&listAllDrafts().then(bc=>{hs.current&&Wa(bc.filter(Bc=>!Bc.published).length)})},[oa]),reactExports.useEffect(()=>{oa==="bookmarks"&&cc(),oa==="myDocuments"&&Ec()},[oa]),reactExports.useEffect(()=>{xc()},[]);async function xc(){try{ua(!0);const bc=await listCliTokensApi();if(!hs.current)return;la(bc)}catch{}finally{hs.current&&ua(!1)}}async function cc(){try{Ja(!0);const bc=await fetchBookmarksApi();if(!hs.current)return;Ga(bc)}catch{}finally{hs.current&&Ja(!1)}}async function Ec(){try{Sl(!0);const bc=await fetchMyDocumentsApi();if(!hs.current)return;Ha(bc)}catch{}finally{hs.current&&Sl(!1)}}async function sc(bc){try{await removeBookmarkApi(bc),Ga(Bc=>Bc.filter(Xc=>Xc.documentId!==bc))}catch{}}function hc(){if(aa.some(Bc=>!Bc.revoked)){ga(!0);return}wc()}async function wc(){try{pa(!0);const bc=await createCliTokenApi();ha({token:bc.token,name:bc.name}),await xc()}finally{pa(!1)}}async function Pc(){try{Ra(!0);const bc=await generateRecoveryCodeApi();Ca(bc.recoveryCode)}finally{Ra(!1)}}async function $c(bc){bc.preventDefault();const Bc=Oa.trim();if(!(Bc&&Bc.length<4))try{Ia(!0),await setPasswordApi(Bc),Aa(""),Na(!0),setTimeout(()=>Na(!1),3e3)}finally{Ia(!1)}}async function Rc(bc){Ac(bc);try{const Bc=await getDocumentInvitesApi(bc),Xc=new Map;Bc.forEach(Vc=>{Xc.set(Vc.visitorId,Vc.permission)}),kc(Xc)}catch{kc(new Map)}uc(!0)}async function Hc(bc){if(mc)try{const Bc=new Set(bc.map(Vc=>Vc.visitorId)),Xc=new Set(dc.keys());for(const Vc of Xc)Bc.has(Vc)||await removeDocumentInviteApi(mc,Vc);for(const Vc of bc)await addDocumentInviteApi(mc,Vc.visitorId,Vc.permission);await Ec()}finally{uc(!1),Ac(null)}}const Wc=Ua.filter(bc=>{if(!$a.trim())return!0;const Bc=$a.toLowerCase();return(bc.displayName||bc.relativePath||"").toLowerCase().includes(Bc)||(bc.ownerVisitorName||"").toLowerCase().includes(Bc)||(bc.domainId||"").toLowerCase().includes(Bc)}),Nc=Fa.filter(bc=>{if(!Za.trim())return!0;const Bc=Za.toLowerCase();return(bc.displayName||bc.relativePath||"").toLowerCase().includes(Bc)||(bc.domainId||"").toLowerCase().includes(Bc)});return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("aside",{className:"mdocs-sidebar",children:[jsxRuntimeExports.jsx("header",{className:"mdocs-sidebar-header",children:jsxRuntimeExports.jsxs("div",{className:"mdocs-brand",children:[jsxRuntimeExports.jsx("img",{src:mdocsLogo,alt:Pn("brand"),className:"mdocs-brand-logo"}),jsxRuntimeExports.jsx("span",{children:Pn("brand")})]})}),jsxRuntimeExports.jsxs("nav",{className:"mdocs-config-tree",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-config-item"+(oa==="general"?" active":""),onClick:()=>sa("general"),children:Pn("general")}),jsxRuntimeExports.jsx("div",{className:"mdocs-config-item"+(oa==="bookmarks"?" active":""),onClick:()=>sa("bookmarks"),children:Pn("bookmarkTitle")}),jsxRuntimeExports.jsx("div",{className:"mdocs-config-item"+(oa==="myDocuments"?" active":""),onClick:()=>sa("myDocuments"),children:Pn("myDocuments")}),jsxRuntimeExports.jsx("div",{className:"mdocs-config-item"+(oa==="domainManagement"?" active":""),onClick:()=>sa("domainManagement"),children:Pn("domainManagement")}),jsxRuntimeExports.jsx("div",{className:"mdocs-config-item"+(oa==="memberTemplates"?" active":""),onClick:()=>sa("memberTemplates"),children:Pn("memberTemplates")}),jsxRuntimeExports.jsx("div",{className:"mdocs-config-item"+(oa==="savePublish"?" active":""),onClick:()=>sa("savePublish"),children:Pn("saveAndPublish")})]}),jsxRuntimeExports.jsx("footer",{className:"mdocs-settings-sidebar-footer",onClick:xo,children:Pn("backToDocs")})]}),jsxRuntimeExports.jsxs("main",{className:"mdocs-main",children:[oa==="general"?jsxRuntimeExports.jsxs("div",{className:"mdocs-settings",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-header",children:jsxRuntimeExports.jsx("h2",{className:"mdocs-settings-title",children:Pn("general")})}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-cards",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",children:jsxRuntimeExports.jsxs("label",{className:"mdocs-settings-item",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-info",children:jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:Pn("language")})}),jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-lang",children:[jsxRuntimeExports.jsx("button",{type:"button",className:ei==="en"?"active":"",onClick:()=>co("en"),children:"EN"}),jsxRuntimeExports.jsx("span",{children:"/"}),jsxRuntimeExports.jsx("button",{type:"button",className:ei==="zh"?"active":"",onClick:()=>co("zh"),children:"中"})]})]})}),jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",children:jsxRuntimeExports.jsxs("label",{className:"mdocs-settings-item",children:[jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:Pn("autoEdit")}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Pn("autoEditDesc")})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-toggle"+(ta?" active":""),role:"switch","aria-checked":ta,onClick:()=>ra(bc=>!bc),children:jsxRuntimeExports.jsx("span",{className:"mdocs-toggle-knob"})})]})}),jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",children:jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-item",children:[jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:Pn("cliToken")}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Pn("cliTokenDesc")}),!ca&&aa.length>0&&jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",style:{marginTop:8,fontSize:"0.85em",opacity:.8},children:aa.map(bc=>jsxRuntimeExports.jsxs("span",{style:{display:"block"},children:[bc.name," — ",new Date(bc.createdAt).toLocaleString()," ",bc.revoked?`(${Pn("cliTokenRevoked")})`:`(${Pn("cliTokenActive")})`]},bc.tokenId))})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:hc,disabled:fa||ca,children:fa?"…":aa.some(bc=>!bc.revoked)?Pn("cliTokenReset"):Pn("cliTokenCreate")})]})}),jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",children:jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-item",children:[jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:"🔑 恢复码"}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:"当 Token 丢失时,可用恢复码找回身份。生成后请立即保存,仅显示一次。"})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:Pc,disabled:Ta,children:Ta?"…":"生成恢复码"})]})}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-card",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-item",children:jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:"🔐 登录密码"}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:"设置密码后,可在其他浏览器或设备用「用户名+密码」登录。"})]})}),jsxRuntimeExports.jsxs("form",{onSubmit:$c,style:{marginTop:12},children:[jsxRuntimeExports.jsx("input",{type:"password",placeholder:"输入新密码(至少 4 位,留空则清除密码)",value:Oa,onChange:bc=>Aa(bc.target.value),minLength:0,style:{marginBottom:8}}),za&&jsxRuntimeExports.jsx("div",{style:{color:"#4caf50",marginBottom:8,fontSize:"0.875rem"},children:"✓ 密码设置成功"}),jsxRuntimeExports.jsx("button",{type:"submit",className:"secondary",disabled:Ma,children:Ma?"设置中…":"保存密码"})]})]})]}),da&&jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",style:{marginTop:16,borderColor:"#4caf50",background:"#f1f8f1"},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-item",children:[jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:Pn("cliTokenGenerated")}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",style:{wordBreak:"break-all",fontFamily:"monospace",marginTop:8},children:da.token})]}),jsxRuntimeExports.jsxs("span",{style:{display:"flex",gap:8},children:[jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:()=>{navigator.clipboard.writeText(da.token),va(!0),setTimeout(()=>va(!1),2e3)},children:Pn(xa?"cliTokenCopied":"cliTokenCopy")}),jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>ha(null),children:Pn("close")})]})]})}),ya&&jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",style:{marginTop:16,borderColor:"#e67e22",background:"#fef9f0"},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-item",children:[jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:"🔑 你的恢复码"}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",style:{marginTop:8},children:"请立即复制保存,关闭后不可再查看。"}),jsxRuntimeExports.jsx("div",{style:{fontFamily:"monospace",fontSize:"1.25rem",letterSpacing:"0.1em",background:"#fff",border:"1px solid #e0e0e0",borderRadius:8,padding:"10px 14px",marginTop:8,userSelect:"all"},children:ya})]}),jsxRuntimeExports.jsxs("span",{style:{display:"flex",gap:8,marginTop:12},children:[jsxRuntimeExports.jsx("button",{type:"button",className:"primary",onClick:()=>{navigator.clipboard.writeText(ya),wa(!0),setTimeout(()=>wa(!1),2e3)},children:Sa?"已复制":"复制恢复码"}),jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>Ca(null),children:Pn("close")})]})]})})]}):oa==="bookmarks"?jsxRuntimeExports.jsxs("div",{className:"mdocs-settings",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-header",children:jsxRuntimeExports.jsx("h2",{className:"mdocs-settings-title",children:Pn("bookmarkTitle")})}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-card",children:[jsxRuntimeExports.jsx("input",{type:"text",className:"mdocs-settings-search",placeholder:Pn("bookmarkSearch"),value:$a,onChange:bc=>Pa(bc.target.value)}),Xa?jsxRuntimeExports.jsx("div",{style:{textAlign:"center",padding:"40px 0"},children:Pn("loading")}):jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:Wc.length===0?jsxRuntimeExports.jsx("div",{style:{textAlign:"center",padding:"40px 0",opacity:.6},children:Pn($a?"bookmarkNoMatch":"bookmarkEmpty")}):jsxRuntimeExports.jsxs("table",{className:"mdocs-settings-table",children:[jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("th",{children:Pn("bookmarkColTitle")}),jsxRuntimeExports.jsx("th",{children:Pn("bookmarkColDomain")}),jsxRuntimeExports.jsx("th",{children:Pn("bookmarkColAuthor")}),jsxRuntimeExports.jsx("th",{children:Pn("bookmarkColTime")}),jsxRuntimeExports.jsx("th",{style:{textAlign:"right"}})]})}),jsxRuntimeExports.jsx("tbody",{children:Wc.map(bc=>jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{style:{cursor:"pointer",fontWeight:500},onClick:()=>Un.onOpenDocument(bc.documentId),children:bc.displayName||bc.relativePath||"Untitled"}),jsxRuntimeExports.jsx("td",{children:bc.isDeleted?jsxRuntimeExports.jsx("span",{style:{opacity:.5,fontStyle:"italic"},children:"已删除"}):bc.domainId||"—"}),jsxRuntimeExports.jsx("td",{children:bc.ownerVisitorName||"—"}),jsxRuntimeExports.jsx("td",{children:new Date(bc.bookmarkedAt).toLocaleDateString()}),jsxRuntimeExports.jsx("td",{style:{textAlign:"right"},children:jsxRuntimeExports.jsx("button",{type:"button",className:"secondary small",onClick:()=>sc(bc.documentId),children:Pn("bookmarkRemove")})})]},bc.documentId))})]})})]})]}):oa==="myDocuments"?jsxRuntimeExports.jsxs("div",{className:"mdocs-settings",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-header",children:jsxRuntimeExports.jsx("h2",{className:"mdocs-settings-title",children:Pn("myDocuments")})}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-card",children:[jsxRuntimeExports.jsx("input",{type:"text",className:"mdocs-settings-search",placeholder:"搜索文章…",value:Za,onChange:bc=>lc(bc.target.value)}),Ka?jsxRuntimeExports.jsx("div",{style:{textAlign:"center",padding:"40px 0"},children:Pn("loading")}):jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:Nc.length===0?jsxRuntimeExports.jsx("div",{style:{textAlign:"center",padding:"40px 0",opacity:.6},children:Pn(Za?"myDocumentsNoMatch":"myDocumentsEmpty")}):jsxRuntimeExports.jsxs("table",{className:"mdocs-settings-table",children:[jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("th",{children:Pn("myDocumentsColTitle")}),jsxRuntimeExports.jsx("th",{children:Pn("myDocumentsColDomain")}),jsxRuntimeExports.jsx("th",{children:Pn("myDocumentsColUpdated")}),jsxRuntimeExports.jsx("th",{children:Pn("myDocumentsColCreated")}),jsxRuntimeExports.jsx("th",{colSpan:2})]})}),jsxRuntimeExports.jsx("tbody",{children:Nc.map(bc=>jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{style:{cursor:"pointer",fontWeight:500},onClick:()=>Un.onOpenDocument(bc.documentId),children:bc.displayName||bc.relativePath||"Untitled"}),jsxRuntimeExports.jsx("td",{children:bc.domainId||"—"}),jsxRuntimeExports.jsx("td",{children:new Date(bc.updatedAt).toLocaleDateString()}),jsxRuntimeExports.jsx("td",{children:new Date(bc.createdAt).toLocaleDateString()}),jsxRuntimeExports.jsx("td",{style:{textAlign:"right"},children:jsxRuntimeExports.jsx("button",{type:"button",className:"secondary small",onClick:()=>Rc(bc.documentId),children:Pn("docInfoInviteMember")})}),jsxRuntimeExports.jsx("td",{style:{textAlign:"right",paddingLeft:0},children:jsxRuntimeExports.jsx("button",{type:"button",className:"primary small",onClick:()=>Un.onOpenDocument(bc.documentId),children:Pn("bookmarkOpen")})})]},bc.documentId))})]})})]})]}):oa==="domainManagement"?jsxRuntimeExports.jsx(DomainManagementPanel,{}):oa==="memberTemplates"?jsxRuntimeExports.jsx(MemberTemplatesPanel,{}):jsxRuntimeExports.jsxs("div",{className:"mdocs-settings",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-header",children:[jsxRuntimeExports.jsx("h2",{className:"mdocs-settings-title",children:Pn("saveAndPublish")}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:xo,children:Pn("backToDocs")})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-cards",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",children:jsxRuntimeExports.jsxs("label",{className:"mdocs-settings-item",children:[jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:Pn("autoSave")}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Pn("autoSaveAlwaysOnDesc")})]}),jsxRuntimeExports.jsx("span",{className:"mdocs-toggle active",role:"switch","aria-checked":"true","aria-disabled":"true",style:{opacity:.6,cursor:"not-allowed"},children:jsxRuntimeExports.jsx("span",{className:"mdocs-toggle-knob"})})]})}),jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",children:jsxRuntimeExports.jsxs("label",{className:"mdocs-settings-item",children:[jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:Pn("autoPublish")}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Pn("autoPublishDesc")})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-toggle"+(Ms?" active":""),role:"switch","aria-checked":Ms,onClick:()=>ea(bc=>!bc),children:jsxRuntimeExports.jsx("span",{className:"mdocs-toggle-knob"})})]})}),La>0?jsxRuntimeExports.jsxs("button",{className:"mdocs-settings-card mdocs-settings-draft-link",onClick:()=>ia(!0),children:[jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-draft-link-text",children:["📄 ",Pn("viewDrafts")," (",La,")"]}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-draft-arrow","aria-hidden":"true",children:"›"})]}):jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card mdocs-settings-draft-empty",children:jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Pn("noDrafts")})})]})]}),na&&jsxRuntimeExports.jsx(DraftListPage,{onPublish:os,onClose:()=>ia(!1),onCountChange:Wa,onRecover:Un.onRecoverDraft})]}),ma&&jsxRuntimeExports.jsx(ConfirmDialog,{title:Pn("cliToken"),message:Pn("cliTokenResetConfirm"),confirmLabel:Pn("cliTokenReset"),cancelLabel:Pn("cancel"),busy:fa,onConfirm:()=>{ga(!1),wc()},onCancel:()=>ga(!1)}),jsxRuntimeExports.jsx(VisitorPickerModal,{open:ic,title:Pn("docInfoInviteMember"),initialSelectedIds:[...dc.keys()],initialPermissions:dc,templates:[],showPermissionSelect:!0,permissionOptions:[{value:"read",label:Pn("invitePermissionRead")},{value:"edit",label:Pn("invitePermissionEdit")}],onClose:()=>uc(!1),onConfirm:bc=>{Hc(bc)}})]})}function MessageDialog({title:Un,message:Pn,onClose:ei}){const{t:co}=useI18n();return jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",role:"presentation",onMouseDown:xo=>{xo.target===xo.currentTarget&&ei()},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card mdocs-message-dialog",role:"alertdialog","aria-modal":"true",children:[Un&&jsxRuntimeExports.jsx("h2",{className:"mdocs-message-dialog-title",children:Un}),jsxRuntimeExports.jsx("p",{className:"mdocs-message-dialog-body",children:Pn}),jsxRuntimeExports.jsx("div",{className:"mdocs-message-dialog-actions",children:jsxRuntimeExports.jsx("button",{type:"button",className:"primary",onClick:ei,children:co("gotIt")})})]})})}function buildLexicalJsonHeading(Un){return JSON.stringify({root:{children:[{children:[{detail:0,format:0,mode:"normal",text:Un,type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"heading",tag:"h1",version:1}],direction:"ltr",type:"root",version:1}})}function joinDocPath(Un,Pn){const ei=Un.trim(),co=Pn.trim();return co?ei?`${ei}/${co}`:co:ei}function collectDocumentPaths(Un,Pn=new Set){for(const ei of Un)ei.type==="document"?Pn.add(ei.path):(ei.descDocumentId&&Pn.add(folderDescPathForFolder(ei.path)),collectDocumentPaths(ei.children,Pn));return Pn}function findFolderIdByPath(Un,Pn){for(const ei of Un){if(ei.type==="folder"&&ei.path===Pn)return ei.documentId;if(ei.type==="folder"){const co=findFolderIdByPath(ei.children,Pn);if(co)return co}}return null}function translateStorageError(Un,Pn){const ei=STORAGE_ERROR_MESSAGE_MAP[Pn];return ei?Un(ei):Pn}function useCreateModal(Un){const{tree:Pn,currentDomainId:ei,selectedCreateParentPath:co,t:xo,onDocCreated:os,refreshTree:hs}=Un,[Ms,ea]=reactExports.useState(null),[ta,ra]=reactExports.useState(null),[na,ia]=reactExports.useState(!1),oa=reactExports.useRef(null);reactExports.useEffect(()=>{if(!Ms)return;const ca=window.setTimeout(()=>{var ua;return(ua=oa.current)==null?void 0:ua.focus()},0);return()=>window.clearTimeout(ca)},[Ms]);function sa(ca){const ua=ca!==void 0;ra(null),ea({kind:"document",parentMode:ua?"fixed":"selection",parentPath:ua?ca:"",draft:"untitled.md"})}function aa(ca){const ua=ca!==void 0;ra(null),ea({kind:"folder",parentMode:ua?"fixed":"selection",parentPath:ua?ca:"",draft:""})}async function la(ca){if(ca.preventDefault(),!Ms)return;ia(!0),ra(null);const ua=collectDocumentPaths(Pn),da=Ms.parentMode==="selection"?co:Ms.parentPath;try{if(Ms.kind==="document"){const ga=parseDisplayNameMarkdownFile(Ms.draft);if(!ga.ok){ra(translateStorageError(xo,ga.message));return}const xa=ga.displayFile,va=xa.replace(/\.md$/i,"");let ya;try{ya=normaliseRelativePathForStorage(joinDocPath(da,xa))}catch(wa){ra(translateError(xo,wa));return}if(ua.has(ya)){ra(xo("pathExists"));return}const Ca=da?findFolderIdByPath(Pn,da)??void 0:void 0,Sa=await createDocumentApi({fileName:xa,displayName:va,content:buildLexicalJsonHeading(va),domainId:ei,parentId:Ca});await hs(),os(Sa),ea(null);return}const ha=parseDisplayNameFolder(Ms.draft);if(!ha.ok){ra(translateStorageError(xo,ha.message));return}const fa=normalisePathSegmentForStorage(ha.display);if(!fa){ra(xo("invalidFolderName"));return}const pa=joinDocPath(da,fa);if(ua.has(pa)){ra(xo("folderExists"));return}const ma=da?findFolderIdByPath(Pn,da)??void 0:void 0;await createFolderApi({name:fa,parentId:ma,domainId:ei}),await hs(),ea(null)}catch(ha){ra(translateError(xo,ha))}finally{ia(!1)}}return{createModal:Ms,setCreateModal:ea,createModalError:ta,createModalBusy:na,createModalInputRef:oa,openNewDocumentModal:sa,openNewFolderModal:aa,submitCreateModal:la}}function ConflictNotice({onDismiss:Un}){const{t:Pn}=useI18n();return jsxRuntimeExports.jsxs("div",{className:"mdocs-conflict-notice",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-conflict-notice-header",children:[jsxRuntimeExports.jsx("strong",{children:Pn("conflictTitle")}),jsxRuntimeExports.jsx("button",{type:"button",className:"ghost",onClick:Un,style:{padding:"2px 6px",fontSize:14},children:"x"})]}),jsxRuntimeExports.jsx("p",{children:Pn("conflictBody")})]})}function CommentsPanel({documentId:Un,visitorId:Pn,visitorName:ei,documentOwnerId:co,onClose:xo}){const[os,hs]=reactExports.useState([]),[Ms,ea]=reactExports.useState(""),[ta,ra]=reactExports.useState(null),[na,ia]=reactExports.useState(!0),[oa,sa]=reactExports.useState(!1),[aa,la]=reactExports.useState(null),[ca,ua]=reactExports.useState(null);function da(Ca){return Pn?Ca.visitorId===Pn||co===Pn:!1}const{rootComments:ha,repliesByParentId:fa,totalCount:pa}=reactExports.useMemo(()=>{const Ca=[],Sa=new Map;let wa=0;for(const Ta of os)Ta.isDeleted||(wa++,Ta.parentId?(Sa.has(Ta.parentId)||Sa.set(Ta.parentId,[]),Sa.get(Ta.parentId).push(Ta)):Ca.push(Ta));return{rootComments:Ca,repliesByParentId:Sa,totalCount:wa}},[os]),ma=reactExports.useRef(Un);reactExports.useEffect(()=>{ma.current=Un,ea(""),ra(null),ua(null),ga()},[Un]);async function ga(){const Ca=ma.current;ia(!0);try{const Sa=await fetchCommentsApi(Un);if(ma.current!==Ca)return;hs(Sa.comments)}catch(Sa){if(ma.current!==Ca)return;ua("加载评论失败"),console.error("Failed to load comments:",Sa)}finally{ma.current===Ca&&ia(!1)}}async function xa(){var Ca;if(!(!Ms.trim()||!Pn)){sa(!0),ua(null);try{await createCommentApi(Un,{content:Ms,parentId:(ta==null?void 0:ta.commentId)||null,replyToVisitorId:ta?((Ca=os.find(Sa=>Sa.commentId===ta.commentId))==null?void 0:Ca.visitorId)??null:null,replyToVisitorName:(ta==null?void 0:ta.visitorName)||null}),ea(""),ra(null),await ga()}catch(Sa){ua(Sa.message||"发表失败,请重试")}finally{sa(!1)}}}async function va(Ca){ua(null);try{await deleteCommentApi(Un,Ca),await ga()}catch(Sa){ua(Sa.message||"删除失败,请重试")}finally{la(null)}}function ya(Ca){const Sa=Date.now()-new Date(Ca).getTime(),wa=Math.floor(Sa/6e4),Ta=Math.floor(Sa/36e5),Ra=Math.floor(Sa/864e5);return wa<1?"刚刚":wa<60?`${wa}分钟前`:Ta<24?`${Ta}小时前`:`${Ra}天前`}return jsxRuntimeExports.jsxs("div",{className:"mdocs-comments-panel",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-comments-header",children:[jsxRuntimeExports.jsxs("h3",{style:{margin:0,fontSize:"1rem",display:"flex",alignItems:"center",gap:6},children:[jsxRuntimeExports.jsx(MessageSquare,{size:18}),"评论 (",pa,")"]}),jsxRuntimeExports.jsx("button",{type:"button",onClick:xo,className:"mdocs-comments-close-btn",children:jsxRuntimeExports.jsx(X$5,{size:18})})]}),ca&&jsxRuntimeExports.jsxs("div",{className:"mdocs-comments-error",children:[ca,jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>ua(null),children:jsxRuntimeExports.jsx(X$5,{size:14})})]}),jsxRuntimeExports.jsx("div",{className:"mdocs-comments-list",children:na?jsxRuntimeExports.jsx("div",{className:"mdocs-comments-empty",children:"加载中..."}):ha.length===0?jsxRuntimeExports.jsx("div",{className:"mdocs-comments-empty",children:"暂无评论,来发表第一条吧~"}):ha.map(Ca=>jsxRuntimeExports.jsxs("div",{className:"mdocs-comment-root",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-comment-header",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-comment-avatar",children:Ca.visitorName.charAt(0).toUpperCase()}),jsxRuntimeExports.jsx("span",{className:"mdocs-comment-author",children:Ca.visitorName}),jsxRuntimeExports.jsx("span",{className:"mdocs-comment-time",children:ya(Ca.createdAt)}),da(Ca)&&jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-comment-delete",onClick:()=>la(Ca.commentId),title:"删除",children:jsxRuntimeExports.jsx(X$5,{size:14})})]}),jsxRuntimeExports.jsx("div",{className:"mdocs-comment-content",children:Ca.content}),Pn&&jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-comment-reply-btn",onClick:()=>ra({commentId:Ca.commentId,visitorName:Ca.visitorName}),children:"回复"}),(fa.get(Ca.commentId)??[]).length>0&&jsxRuntimeExports.jsx("div",{className:"mdocs-comment-replies",children:(fa.get(Ca.commentId)??[]).map(Sa=>jsxRuntimeExports.jsxs("div",{className:"mdocs-comment-reply",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-comment-header",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-comment-avatar mdocs-comment-avatar-small",children:Sa.visitorName.charAt(0).toUpperCase()}),jsxRuntimeExports.jsx("span",{className:"mdocs-comment-author",children:Sa.visitorName}),Sa.replyToVisitorName&&jsxRuntimeExports.jsxs("span",{className:"mdocs-comment-reply-to",children:["回复 ",Sa.replyToVisitorName]}),jsxRuntimeExports.jsx("span",{className:"mdocs-comment-time",children:ya(Sa.createdAt)}),da(Sa)&&jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-comment-delete",onClick:()=>la(Sa.commentId),title:"删除",children:jsxRuntimeExports.jsx(X$5,{size:12})})]}),jsxRuntimeExports.jsx("div",{className:"mdocs-comment-content",children:Sa.content}),Pn&&jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-comment-reply-btn",onClick:()=>ra({commentId:Ca.commentId,visitorName:Sa.visitorName}),children:"回复"})]},Sa.commentId))})]},Ca.commentId))}),Pn?jsxRuntimeExports.jsxs("div",{className:"mdocs-comments-input-wrapper",children:[ta&&jsxRuntimeExports.jsxs("div",{className:"mdocs-comment-reply-notice",children:[jsxRuntimeExports.jsxs("span",{children:["回复 ",jsxRuntimeExports.jsx("span",{className:"mdocs-comment-reply-to-name",children:ta.visitorName})]}),jsxRuntimeExports.jsxs("button",{type:"button",onClick:()=>ra(null),children:[jsxRuntimeExports.jsx(X$5,{size:14})," 取消"]})]}),jsxRuntimeExports.jsx("textarea",{value:Ms,onChange:Ca=>ea(Ca.target.value.slice(0,512)),placeholder:ta?`回复 ${ta.visitorName}...`:"发表评论...",className:"mdocs-comments-input",maxLength:512,onKeyDown:Ca=>{Ca.key==="Enter"&&(Ca.metaKey||Ca.ctrlKey)&&xa()}}),jsxRuntimeExports.jsxs("div",{className:`mdocs-comments-char-count${Ms.length>=460?" mdocs-char-count--warn":""}`,children:[Ms.length,"/512"]}),jsxRuntimeExports.jsx("div",{className:"mdocs-comments-input-actions",children:jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-btn-primary",onClick:xa,disabled:oa||!Ms.trim(),children:oa?"发表中...":"发表"})})]}):jsxRuntimeExports.jsx("div",{className:"mdocs-comments-input-wrapper",style:{textAlign:"center"},children:jsxRuntimeExports.jsx("div",{style:{color:"#666",fontSize:"0.9rem"},children:"请先创建访客身份以发表评论"})}),aa&&jsxRuntimeExports.jsx(ConfirmDialog,{title:"删除评论",message:"确定要删除这条评论吗?",confirmLabel:"删除",danger:!0,onConfirm:()=>va(aa),onCancel:()=>la(null)})]})}function useAutoPublish(Un,Pn){const ei=reactExports.useRef(Pn);ei.current=Pn,reactExports.useEffect(()=>{if(!Un)return;const co=3e4,xo=1e4,os=async()=>{const Ms=await listAllDrafts({skipFailed:!0}),ea=Date.now();for(const ta of Ms)if(!ta.published&&!(ea-ta.updatedAt<co))try{await ei.current(ta.documentId)}catch(ra){console.log("[autoPublish] scan publish failed:",ra)}};os();const hs=setInterval(os,xo);return()=>clearInterval(hs)},[Un])}function formatRelativeTime(Un,Pn){try{const ei=new Intl.RelativeTimeFormat(Pn,{numeric:"auto"}),co=Date.now()-new Date(Un).getTime(),xo=Math.floor(co/6e4),os=Math.floor(xo/60),hs=Math.floor(os/24);return hs>30?ei.format(-Math.floor(hs/30),"month"):hs>0?ei.format(-hs,"day"):os>0?ei.format(-os,"hour"):xo>0?ei.format(-xo,"minute"):ei.format(-Math.floor(co/1e3),"second")}catch{return Un.slice(0,10)}}async function initDomainsAndTree(Un,Pn,ei,co){const xo=await fetchDomainsSafe();Pn(xo);const os=localStorage.getItem("mdocs.currentDomainId"),Ms=os&&xo.some(ea=>ea.domainId===os)?os:pickInitialDomainId(xo,Un);ei(Ms),await co(Ms)}function App(){const{t:Un,lang:Pn,setLang:ei}=useI18n(),[co,xo]=reactExports.useState("loading"),[os,hs]=reactExports.useState(()=>localStorage.getItem("mdocs.sidebarCollapsed")==="true"),Ms=()=>{const _c=!os;hs(_c),localStorage.setItem("mdocs.sidebarCollapsed",String(_c))},[ea,ta]=reactExports.useState(!1),[ra,na]=reactExports.useState(0),ia=reactExports.useRef(null),[oa,sa]=reactExports.useState(null),[aa,la]=reactExports.useState(null),[ca,ua]=reactExports.useState(null),[da,ha]=reactExports.useState([]),[fa,pa]=reactExports.useState([]),[ma,ga]=reactExports.useState("default"),{documentId:xa}=useParams(),va=useNavigate(),[ya,Ca]=reactExports.useState(null),[Sa,wa]=reactExports.useState(null),[Ta,Ra]=reactExports.useState(null),[Oa,Aa]=reactExports.useState(null),[Ma,Ia]=reactExports.useState(null),[za,Na]=reactExports.useState(""),[La,Wa]=reactExports.useState("docs"),Ua=reactExports.useRef(void 0);useAutoPublish(localStorage.getItem("mdocs.autoPublish")==="true",ou);async function Ga(_c){var Uc;await((Uc=Ua.current)==null?void 0:Uc.call(Ua)),_c()}reactExports.useEffect(()=>{Xa()},[]),reactExports.useEffect(()=>{if(!Sa)return;const _c=()=>{wa(null)};return window.addEventListener("pointerdown",_c,!0),()=>window.removeEventListener("pointerdown",_c,!0)},[Sa]);async function Xa(){try{const _c=await fetchMe();sa(_c),storeVisitorId(_c.visitorId),await initDomainsAndTree(_c.visitorId,pa,ga,Pa),xo("ready")}catch(_c){if(_c instanceof ApiRequestError&&_c.status===401){xo("needsRegister");return}Ra(translateError(Un,_c)),xo("needsRegister")}}async function Ja(_c,Uc){const Fc=await registerVisitorApi(_c,Uc);sa(Fc.visitor),la(Fc.visitor.visitorId),ua(Fc.recoveryCode),storeVisitorId(Fc.visitor.visitorId),await initDomainsAndTree(Fc.visitor.visitorId,pa,ga,Pa),xo("ready")}async function $a(_c){const Uc=await fetchMe();sa(Uc),await initDomainsAndTree(Uc.visitorId,pa,ga,Pa),xo("ready")}async function Pa(_c){const Fc=await fetchTreeApi(_c??ma);ha(Fc)}async function Fa(_c){ia.current=_c;try{const Uc=await getDraft(_c);if(ia.current!==_c)return;if(Uc&&!Uc.published&&Uc.relativePath&&Uc.domainId&&Uc.ownerVisitorId){console.log("[openDocument] loaded from local draft, content preview:",Uc.content.slice(0,100)),Ca({documentId:Uc.documentId,relativePath:Uc.relativePath,displayName:Uc.displayName,content:Uc.content,permission:Uc.permission,ownerVisitorId:Uc.ownerVisitorId,domainId:Uc.domainId}),Uc.domainId!==ma&&(localStorage.setItem("mdocs.currentDomainId",Uc.domainId),ga(Uc.domainId),Pa(Uc.domainId)),Na(parentDirForCreates(Uc.relativePath));return}const Fc=await getDocumentApi(_c);if(ia.current!==_c||(Fc.domainId!==ma&&(localStorage.setItem("mdocs.currentDomainId",Fc.domainId),ga(Fc.domainId),Pa(Fc.domainId)),Na(parentDirForCreates(Fc.relativePath)),Uc&&!Uc.published&&(console.log("[App.openDocument] saveDraftRecord (cache metadata), documentId:",_c),await saveDraft({...Uc,relativePath:Fc.relativePath,permission:Fc.permission,ownerVisitorId:Fc.ownerVisitorId,domainId:Fc.domainId})),ia.current!==_c))return;Ca(Uc&&!Uc.published?{...Fc,content:Uc.content,displayName:Uc.displayName}:Fc)}catch(Uc){if(ia.current!==_c)return;Ra(translateError(Un,Uc))}}reactExports.useEffect(()=>{co==="ready"&&(xa?Fa(xa):Ca(null))},[co,xa]);const{createModal:Ha,setCreateModal:Ka,createModalError:Sl,createModalBusy:Za,createModalInputRef:lc,openNewDocumentModal:ic,openNewFolderModal:uc,submitCreateModal:mc}=useCreateModal({tree:da,currentDomainId:ma,selectedCreateParentPath:za,t:Un,onDocCreated:_c=>{Ca(_c),Na(parentDirForCreates(_c.relativePath)),va(`/doc/${_c.documentId}`)},refreshTree:Pa}),[Ac,dc]=reactExports.useState(!1),[kc,xc]=reactExports.useState(!1),[cc,Ec]=reactExports.useState([]),[sc,hc]=reactExports.useState(""),[wc,Pc]=reactExports.useState(""),[$c,Rc]=reactExports.useState(new Set);async function Hc(){try{const _c=await fetchBookmarksApi();Ec(_c)}catch(_c){Ra(translateError(Un,_c))}}const Wc=reactExports.useMemo(()=>{const _c={};for(const Uc of fa)_c[Uc.domainId]=Uc.domainName;return _c},[fa]),Nc=reactExports.useMemo(()=>{let _c=cc;const Uc=sc.trim().toLowerCase();return Uc&&(_c=_c.filter(Fc=>{var qc;return(qc=Fc.displayName)==null?void 0:qc.toLowerCase().includes(Uc)})),wc&&(_c=_c.filter(Fc=>Fc.domainId===wc)),_c},[cc,sc,wc]),bc=reactExports.useMemo(()=>{const _c=new Set,Uc=[];for(const Fc of cc){const qc=Fc.domainId;qc&&!_c.has(qc)&&(_c.add(qc),Uc.push({id:qc,name:Wc[qc]??qc}))}return Uc},[cc,Wc]),[Bc,Xc]=reactExports.useState(!1);async function Vc(_c,Uc,Fc,qc){try{const Qc=await updateDocumentApi(Fc,{content:_c,displayName:Uc,permission:qc});Ca(Yc=>Yc&&Yc.documentId===Fc?Qc:Yc),await Pa(),Xc(!1),wa(Un("published")),window.setTimeout(()=>wa(null),1200)}catch(Qc){throw Xc(!0),Qc}}async function ou(_c){try{const Uc=await getDraft(_c);if(!Uc)return;await updateDocumentApi(_c,{content:Uc.content,displayName:Uc.displayName}),await deleteDraftIfUnchanged(_c,Uc.updatedAt)||console.log("[publishDraftFromList] draft modified during publish, keeping:",_c),await Pa(),wa(Un("published")),window.setTimeout(()=>wa(null),1200)}catch(Uc){if(Uc instanceof ApiRequestError&&Uc.status===404){const Fc=await getDraft(_c),qc=(Fc==null?void 0:Fc.displayName)||Un("unknownTitle");wa(Un("draftPublishFailedNotice",{name:qc})),await markDraftPublishError(_c,"DOC_NOT_FOUND");return}Ra(translateError(Un,Uc))}}function eu(_c,Uc){Aa({type:"document",id:_c,name:Uc})}function hu(_c,Uc){Aa({type:"folder",id:_c,name:Uc})}async function su(){if(Oa)try{Oa.type==="document"?(await deleteDocumentApi(Oa.id),(ya==null?void 0:ya.documentId)===Oa.id&&(Ca(null),Na(""),va("/"))):Oa.type==="folder"&&(await deleteFolderApi(Oa.id),ya&&(Ca(null),Na(""),va("/"))),await Pa(),wa(Oa.type==="folder"?`已删除「${Oa.name}」及其下所有内容`:`已删除「${Oa.name}」`),window.setTimeout(()=>wa(null),2e3)}catch(_c){Ra(translateError(Un,_c))}finally{Aa(null)}}return co==="loading"?jsxRuntimeExports.jsx("div",{className:"mdocs-loading muted",children:Un("loading")}):co==="needsRegister"?jsxRuntimeExports.jsx(VisitorRegisterDialog,{onSubmit:Ja,onRecover:$a,error:Sa}):jsxRuntimeExports.jsxs("div",{className:"mdocs-app-root",children:[isDemoMode(),jsxRuntimeExports.jsxs("div",{className:"mdocs-shell",children:[aa&&oa&&jsxRuntimeExports.jsx(VisitorIdNotice,{visitorId:aa,onDismiss:()=>la(null)}),ca&&jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",style:{position:"fixed",zIndex:9999},onClick:_c=>{_c.target===_c.currentTarget&&ua(null)},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card",style:{maxWidth:480,textAlign:"center"},children:[jsxRuntimeExports.jsx("h1",{style:{fontSize:"1.25rem",marginBottom:8},children:"🔑 保存你的恢复码"}),jsxRuntimeExports.jsxs("p",{className:"muted",style:{marginBottom:16,lineHeight:1.5},children:["恢复码是你的唯一凭证,当 Token 丢失时可用它找回身份。",jsxRuntimeExports.jsx("br",{}),jsxRuntimeExports.jsx("strong",{children:"请立即复制保存,此弹窗关闭后不可再查看。"})]}),jsxRuntimeExports.jsx("div",{style:{background:"#f5f5f5",borderRadius:8,padding:"12px 16px",fontFamily:"monospace",fontSize:"1.25rem",letterSpacing:"0.1em",marginBottom:20,userSelect:"all"},children:ca}),jsxRuntimeExports.jsxs("div",{style:{display:"flex",gap:8,justifyContent:"center"},children:[jsxRuntimeExports.jsx("button",{type:"button",className:"primary",onClick:()=>{navigator.clipboard.writeText(ca)},children:"复制恢复码"}),jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>ua(null),children:"已保存,关闭"})]})]})}),La==="settings"?jsxRuntimeExports.jsx(SettingsPage,{onBack:()=>Wa("docs"),onPublishDraft:ou,onOpenDocument:Fa,onRecoverDraft:()=>void Pa()}):jsxRuntimeExports.jsxs("div",{className:"mdocs-layout",children:[jsxRuntimeExports.jsxs("aside",{className:`mdocs-sidebar ${os?"mdocs-sidebar-collapsed":""}`,children:[jsxRuntimeExports.jsxs("header",{className:"mdocs-sidebar-header",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-brand",children:[jsxRuntimeExports.jsx("img",{src:mdocsLogo,alt:Un("brand"),className:"mdocs-brand-logo"}),jsxRuntimeExports.jsx("span",{children:Un("brand")})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-sidebar-toggle",onClick:Ms,"aria-label":Un(os?"expandSidebar":"collapseSidebar"),style:{background:"none",border:"none",cursor:"pointer",padding:"6px",color:"var(--mdocs-text-muted, #999)",borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center"},onMouseEnter:_c=>{_c.currentTarget.style.background="var(--mdocs-hover-bg, #f0f0f0)"},onMouseLeave:_c=>{_c.currentTarget.style.background="none"},children:os?jsxRuntimeExports.jsx(PanelLeftOpen,{size:18}):jsxRuntimeExports.jsx(PanelLeftClose,{size:18})})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-sidebar-actions",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-sidebar-icon mdocs-tooltip","data-tooltip":Un("newDocument"),onClick:()=>ic(),style:{color:"var(--mdocs-accent)"},children:jsxRuntimeExports.jsx(File$1,{size:20})}),jsxRuntimeExports.jsx("span",{className:"mdocs-sidebar-icon mdocs-tooltip","data-tooltip":Un("newFolder"),onClick:()=>uc(),children:jsxRuntimeExports.jsx(Folder,{size:20})})]}),jsxRuntimeExports.jsx(DocumentTree,{nodes:da,activeDocumentId:xa??null,selectedParentPath:za,onOpen:_c=>{Ga(()=>va(`/doc/${_c.documentId}`))},onOpenFolder:(_c,Uc)=>{Ga(()=>{Na(_c),Uc&&va(`/doc/${Uc}`)})},onContextMenu:Ia,onDeselect:()=>{Ga(()=>{Na(""),va("/")})}}),jsxRuntimeExports.jsxs("footer",{className:"mdocs-sidebar-footer",children:[jsxRuntimeExports.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,flex:1,cursor:"pointer"},onClick:()=>Ga(()=>Wa("settings")),children:[jsxRuntimeExports.jsx("span",{className:"mdocs-visitor-avatar",children:oa?oa.visitorName.charAt(0).toUpperCase():"?"}),jsxRuntimeExports.jsx("span",{className:"mdocs-visitor-footer-name",children:oa?oa.visitorName:""})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-sidebar-bookmark mdocs-tooltip","data-tooltip":Un("bookmark"),onClick:()=>{xc(!0),hc(""),Pc(""),Hc()},style:{background:"none",border:"none",cursor:"pointer",padding:"6px",color:"var(--mdocs-text-muted, #999)",fontSize:"1rem",lineHeight:1,borderRadius:4},children:jsxRuntimeExports.jsx(Star,{size:16,strokeWidth:1.5})}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-sidebar-logout mdocs-tooltip","data-tooltip":Un("logout"),onClick:()=>dc(!0),style:{background:"none",border:"none",cursor:"pointer",padding:"6px",color:"var(--mdocs-text-muted, #999)",lineHeight:1,borderRadius:4},children:jsxRuntimeExports.jsx(LogOut,{size:16,strokeWidth:1.5})})]})]}),jsxRuntimeExports.jsxs("main",{className:"mdocs-main",children:[ya?jsxRuntimeExports.jsxs("div",{className:"mdocs-editor-with-comments",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-editor-container",children:jsxRuntimeExports.jsx(DocumentEditor,{document:ya,canEdit:!!(oa&&(ya.ownerVisitorId===oa.visitorId||isPublicWritePermission(ya.permission)||ya.invitedEdit===!0)),domains:fa,currentDomainId:ma,onDomainChange:_c=>{Ga(()=>{localStorage.setItem("mdocs.currentDomainId",_c),ga(_c),Ca(null),Na(""),va("/"),Pa(_c)})},onPublish:Vc,onDelete:()=>{if(ya.relativePath.endsWith("/___desc___.md")){const _c=ya.relativePath.replace(/\/___desc___\.md$/,"");hu(ya.documentId,_c)}else eu(ya.documentId,ya.relativePath)},saveBeforeNavRef:Ua,onShowToast:wa,onToggleComments:()=>ta(!ea),commentPanelOpen:ea,commentCount:ra},ya.documentId)}),ea&&jsxRuntimeExports.jsx(CommentsPanel,{documentId:ya.documentId,visitorId:oa==null?void 0:oa.visitorId,visitorName:oa==null?void 0:oa.visitorName,documentOwnerId:ya.ownerVisitorId,onClose:()=>ta(!1)})]}):jsxRuntimeExports.jsxs("div",{className:"mdocs-welcome",children:[jsxRuntimeExports.jsx("h1",{children:Un("brand")}),jsxRuntimeExports.jsx("p",{className:"muted mdocs-welcome-lead",children:da.length===0?Un("noDocsInDomain"):Un("createDocToStart")}),jsxRuntimeExports.jsxs("div",{className:"mdocs-welcome-domain",children:[jsxRuntimeExports.jsx("label",{className:"muted mdocs-welcome-domain-label",children:Un("domainLabel")}),jsxRuntimeExports.jsx(DomainSelect,{domains:fa.length?fa:[{domainId:"default",domainName:Un("defaultDomain"),permission:"",creatorVisitorId:"",docCount:0}],value:ma,onChange:_c=>{Ga(()=>{localStorage.setItem("mdocs.currentDomainId",_c),ga(_c),Ca(null),Na(""),va("/"),Pa(_c)})},ariaLabel:Un("domainLabel"),localizeName:_c=>localizeDomainName(_c,Pn,Un)})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-welcome-actions",children:[jsxRuntimeExports.jsxs("button",{type:"button",className:"primary",onClick:()=>ic(),style:{display:"flex",alignItems:"center",gap:6},children:[jsxRuntimeExports.jsx(File$1,{size:16,strokeWidth:1.5}),Un("newDocument")]}),jsxRuntimeExports.jsxs("button",{type:"button",className:"secondary",onClick:()=>uc(),style:{display:"flex",alignItems:"center",gap:6},children:[jsxRuntimeExports.jsx(Folder,{size:16,strokeWidth:1.5}),Un("newFolder")]})]})]}),Bc&&jsxRuntimeExports.jsx(ConflictNotice,{onDismiss:()=>Xc(!1)}),Sa&&jsxRuntimeExports.jsx("div",{className:"mdocs-toast",role:"status",children:Sa}),Ta&&jsxRuntimeExports.jsx(MessageDialog,{title:Un("error"),message:Ta,onClose:()=>Ra(null)})]}),Ac&&jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",onClick:_c=>{_c.target===_c.currentTarget&&dc(!1)},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card",style:{maxWidth:440},children:[jsxRuntimeExports.jsx("h1",{style:{fontSize:"1.125rem",marginBottom:8},children:"退出当前登录身份?"}),jsxRuntimeExports.jsx("p",{style:{lineHeight:1.6,color:"var(--mdocs-text-secondary, #666)",marginBottom:20},children:"这将会导致您无法修改以前的文章。如果想找回账号,需要恢复码或联系管理员执行合并用户脚本。"}),jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog-actions",style:{justifyContent:"flex-end"},children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>dc(!1),children:"取消"}),jsxRuntimeExports.jsx("button",{type:"button",className:"primary",style:{background:"#d32f2f"},onClick:()=>{clearVisitorId(),Ca(null),sa(null),ha([]),dc(!1),xo("needsRegister")},children:"确认退出"})]})]})}),kc&&jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",onClick:_c=>{_c.target===_c.currentTarget&&xc(!1)},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card",style:{maxWidth:640,width:"min(640px, 100%)",maxHeight:"70vh",display:"flex",flexDirection:"column"},children:[jsxRuntimeExports.jsxs("h1",{style:{fontSize:"1.125rem",marginBottom:16},children:[Un("bookmarkTitle"),"(",cc.length,")"]}),cc.length>0&&jsxRuntimeExports.jsxs("div",{className:"mdocs-bookmark-filterbar",children:[jsxRuntimeExports.jsx("input",{type:"text",placeholder:Un("bookmarkSearch"),value:sc,onChange:_c=>hc(_c.target.value)}),jsxRuntimeExports.jsxs("select",{value:wc,onChange:_c=>Pc(_c.target.value),children:[jsxRuntimeExports.jsx("option",{value:"",children:Un("bookmarkFilterAll")}),bc.map(_c=>jsxRuntimeExports.jsx("option",{value:_c.id,children:_c.name},_c.id))]})]}),cc.length===0?jsxRuntimeExports.jsx("p",{style:{color:"var(--mdocs-text-muted, #999)",textAlign:"center",padding:"2rem 0"},children:Un("bookmarkEmpty")}):Nc.length===0?jsxRuntimeExports.jsx("p",{style:{color:"var(--mdocs-text-muted, #999)",textAlign:"center",padding:"2rem 0"},children:Un("bookmarkNoMatch")}):jsxRuntimeExports.jsx("div",{style:{overflowY:"auto",flex:1,margin:"0 -1rem",padding:"0 1rem"},children:jsxRuntimeExports.jsxs("table",{className:"mdocs-bookmark-table",children:[jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("th",{children:Un("bookmarkColTitle")}),jsxRuntimeExports.jsx("th",{children:Un("bookmarkColDomain")}),jsxRuntimeExports.jsx("th",{children:Un("bookmarkColAuthor")}),jsxRuntimeExports.jsx("th",{children:Un("bookmarkColTime")}),jsxRuntimeExports.jsx("th",{className:"mdocs-bookmark-col-action"})]})}),jsxRuntimeExports.jsx("tbody",{children:Nc.map(_c=>{const Uc=$c.has(_c.documentId);return jsxRuntimeExports.jsxs("tr",{className:`${Uc?"mdocs-bookmark-removing":""}`,style:{opacity:_c.isDeleted?.6:1},children:[jsxRuntimeExports.jsx("td",{className:"mdocs-bookmark-col-title",children:jsxRuntimeExports.jsxs("div",{style:{cursor:_c.isDeleted?"default":"pointer",display:"flex",alignItems:"center",gap:6,overflow:"hidden"},onClick:()=>{_c.isDeleted||Ga(()=>{xc(!1),va(`/doc/${_c.documentId}`)})},children:[jsxRuntimeExports.jsx("span",{ref:Fc=>{if(Fc){const qc=Fc.scrollWidth>Fc.clientWidth;Fc.title=qc?_c.displayName??"":""}},style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:_c.displayName??"(无标题)"}),_c.isDeleted&&jsxRuntimeExports.jsx("span",{style:{fontSize:"0.7rem",color:"#d32f2f",background:"#ffebee",padding:"1px 6px",borderRadius:4,flexShrink:0},children:"已删除"})]})}),jsxRuntimeExports.jsx("td",{children:_c.isDeleted?"":Wc[_c.domainId??""]??_c.domainId??""}),jsxRuntimeExports.jsx("td",{children:_c.isDeleted?"":_c.ownerVisitorName??"-"}),jsxRuntimeExports.jsx("td",{children:_c.isDeleted?"":formatRelativeTime(_c.bookmarkedAt,Pn)}),jsxRuntimeExports.jsx("td",{className:"mdocs-bookmark-col-action",children:jsxRuntimeExports.jsxs("div",{style:{display:"flex",gap:2,alignItems:"center",justifyContent:"flex-end"},children:[jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-tooltip","data-tooltip":Un("bookmarkOpen"),onClick:()=>{_c.isDeleted||Ga(()=>{xc(!1),va(`/doc/${_c.documentId}`)})},style:{background:"none",border:"none",cursor:_c.isDeleted?"default":"pointer",padding:"4px",color:"var(--mdocs-text-muted, #999)",lineHeight:1,borderRadius:4,display:"inline-flex",alignItems:"center"},children:jsxRuntimeExports.jsx(BookOpen,{size:14,strokeWidth:1.5})}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-tooltip","data-tooltip":Un("bookmarkRemove"),onClick:async()=>{try{await removeBookmarkApi(_c.documentId),Rc(Fc=>new Set(Fc).add(_c.documentId)),setTimeout(()=>{Ec(Fc=>Fc.filter(qc=>qc.documentId!==_c.documentId)),Rc(Fc=>{const qc=new Set(Fc);return qc.delete(_c.documentId),qc})},300)}catch(Fc){Ra(translateError(Un,Fc))}},style:{background:"none",border:"none",cursor:"pointer",padding:"4px",color:"var(--mdocs-text-muted, #999)",fontSize:"1rem",lineHeight:1,borderRadius:4,display:"inline-flex",alignItems:"center"},onMouseEnter:Fc=>{Fc.currentTarget.style.color="#d32f2f"},onMouseLeave:Fc=>{Fc.currentTarget.style.color="var(--mdocs-text-muted, #999)"},children:"✕"})]})})]},_c.documentId)})})]})}),jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-actions",style:{justifyContent:"flex-end",marginTop:16,paddingTop:16,borderTop:"1px solid var(--mdocs-border, #eee)"},children:jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>xc(!1),children:Un("close")})})]})}),Ma&&jsxRuntimeExports.jsx(TreeContextMenu,{x:Ma.x,y:Ma.y,node:Ma.node,parentPath:Ma.parentPath,onClose:()=>Ia(null),onCreateChild:_c=>ic(_c),onCreateFolder:_c=>uc(_c),onDeleteDocument:_c=>eu(_c.documentId,_c.path),onDeleteFolder:_c=>hu(_c.documentId,_c.folderDisplayName||_c.name)}),Oa&&jsxRuntimeExports.jsx(ConfirmDialog,{title:Oa.type==="folder"?"删除文件夹":"删除文档",message:Oa.type==="folder"?`确定要删除「${Oa.name}」及其下的所有文档和子文件夹吗?此操作不可撤销。`:`确定要删除「${Oa.name}」吗?`,confirmLabel:"删除",cancelLabel:"取消",onConfirm:su,onCancel:()=>Aa(null),danger:!0}),Ha&&jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",role:"presentation",onMouseDown:_c=>{_c.target===_c.currentTarget&&!Za&&Ka(null)},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card",role:"dialog","aria-modal":"true",children:[jsxRuntimeExports.jsx("h1",{children:Ha.kind==="document"?Un("newDocumentTitle"):Un("newFolderTitle")}),jsxRuntimeExports.jsx("p",{className:"muted",children:Ha.kind==="document"?Un("fileNameHint"):Un("folderNameHint")}),jsxRuntimeExports.jsxs("form",{onSubmit:mc,className:"mdocs-dialog-form",children:[jsxRuntimeExports.jsxs("label",{className:"mdocs-dialog-label",children:[Ha.kind==="document"?Un("fileNameLabel"):Un("folderNameLabel"),jsxRuntimeExports.jsx("input",{ref:lc,value:Ha.draft,onChange:_c=>Ka(Uc=>Uc&&{...Uc,draft:_c.target.value}),placeholder:Ha.kind==="document"?Un("untitledPlaceholder"):Un("folderExamplePlaceholder"),maxLength:200,disabled:Za})]}),Sl&&jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-error",children:Sl}),jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog-actions",children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>!Za&&Ka(null),disabled:Za,children:Un("cancel")}),jsxRuntimeExports.jsx("button",{type:"submit",className:"primary",disabled:Za,children:Un(Za?"creating":"create")})]})]})]})})]})]})]})}const PlaygroundContainer=({children:Un,json:Pn,markdown:ei,collapsible:co=!1,defaultActiveKey:xo=["editor","text","json"],onJSONChange:os})=>{const[hs,Ms]=reactExports.useState(Pn),ea=reactExports.useRef(Pn);reactExports.useEffect(()=>{Pn!==ea.current&&(Ms(Pn),ea.current=Pn)},[Pn]);const ta=reactExports.useCallback(ra=>{ea.current=ra,Ms(ra)},[]);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(ToastHost,{}),jsxRuntimeExports.jsx(Collapse$1,{collapsible:co,defaultActiveKey:xo,items:[{children:Un,key:"editor",label:"Playground"},{children:jsxRuntimeExports.jsx(Highlighter$1,{language:"markdown",style:{fontSize:12,padding:16},variant:"borderless",children:ei}),key:"text",label:"Text Output"},{children:jsxRuntimeExports.jsx(CodeEditor,{language:"json",onBlur:()=>{if(Pn!==ea.current)try{const ra=JSON.parse(ea.current||"");os==null||os(ra)}catch(ra){console.error("Invalid JSON:",ra)}},onValueChange:ta,value:hs,variant:"borderless"}),key:"json",label:"JSON Output"}],padding:{body:0},style:{border:"none",borderRadius:0,width:"100%"},variant:"outlined"})]})},root={children:[{children:[{detail:0,format:0,mode:"normal",style:"",text:"Welcome to the Lobe Editor Demo!",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"heading",version:1,tag:"h1"},{children:[{detail:0,format:0,mode:"normal",style:"",text:"In case you were wondering what the black box at the bottom is – it's the debug view, showing the current state of the editor. You can disable it by pressing on the settings control in the bottom-left of your screen and toggling the debug view setting.",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"quote",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"The playground is a demo environment built with ",type:"text",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"\uFEFF",type:"cursor",version:1},{detail:0,format:0,mode:"normal",style:"",text:"\uFEFF",type:"cursor",version:1},{detail:0,format:0,mode:"normal",style:"",text:"\uFEFF",type:"cursor",version:1},{detail:0,format:0,mode:"normal",style:"",text:"@lobehub/editor",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"codeInline",version:1},{detail:0,format:0,mode:"normal",style:"",text:"\uFEFF",type:"cursor",version:1},{detail:0,format:0,mode:"normal",style:"",text:". Try typing in ",type:"text",version:1},{detail:0,format:1,mode:"normal",style:"",text:"some text",type:"text",version:1},{detail:0,format:0,mode:"normal",style:"",text:" with ",type:"text",version:1},{detail:0,format:2,mode:"normal",style:"",text:"different formats",type:"text",version:1},{detail:0,format:0,mode:"normal",style:"",text:".",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"paragraph",version:1,textFormat:0,textStyle:""},{children:[{children:[{detail:0,format:0,mode:"normal",style:"",text:"Visit the ",type:"text",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Lobe Editor website",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"link",version:1,rel:"noreferrer",target:null,title:null,url:"https://editor.lobehub.com"},{detail:0,format:0,mode:"normal",style:"",text:" for documentation and more information.",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"listitem",version:1,value:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Check out the code on our ",type:"text",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"GitHub repository",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"link",version:1,rel:null,target:null,title:"https://github.com/lobehub/lobe-editor",url:"https://github.com/lobehub/lobe-editor"},{detail:0,format:0,mode:"normal",style:"",text:".",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"listitem",version:1,value:2},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Playground code ",type:"text",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Playground code",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"link",version:1,rel:"noreferrer",target:null,title:null,url:"https://github.com/lobehub/lobe-editor/blob/master/src/react/Editor/demos/index.tsx"},{detail:0,format:0,mode:"normal",style:"",text:" can be found here.",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"listitem",version:1,value:3},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Join our ",type:"text",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Discover Server",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"link",version:1,rel:null,target:null,title:"https://discord.gg/AYFPHvv2jT",url:"https://discord.gg/AYFPHvv2jT"},{detail:0,format:0,mode:"normal",style:"",text:" and chat with the team.",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"listitem",version:1,value:4}],direction:"ltr",format:"",indent:0,type:"list",version:1,listType:"bullet",start:1,tag:"ul"},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Lastly, we're constantly adding cool new features to this playground. So make sure you check back here when you next get a chance 🙂.",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"paragraph",version:1,textFormat:0,textStyle:""},{children:[{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"import",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-text);",text:" ",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"{",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-error);",text:" ",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-text);",text:"Editor",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-error);",text:" ",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"}",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-text);",text:" ",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"from",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-text);",text:" ",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"'",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-success);",text:"@lobehub/editor",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"'",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:";",type:"code-highlight",version:1}],direction:null,format:"",indent:0,type:"code",version:1,language:"typescript",theme:"lobe-theme"},{children:[],direction:null,format:"",indent:0,type:"paragraph",version:1,textFormat:0,textStyle:""}],direction:"ltr",format:"",indent:0,type:"root",version:1},content={root};function debounce(Un,Pn){let ei;const co=(...xo)=>{ei!==void 0&&clearTimeout(ei),ei=setTimeout(()=>Un(...xo),Pn)};return co.cancel=()=>{ei!==void 0&&(clearTimeout(ei),ei=void 0)},co}window.__scrollIntoView=scrollIntoView;const PlaygroundEditor=Un=>{const Pn=useEditor(),ei=reactExports.useRef([]),[co,xo]=reactExports.useState(""),[os,hs]=reactExports.useState(""),Ms=reactExports.useMemo(()=>debounce(ia=>{const oa=ia.getDocument("markdown"),sa=ia.getDocument("json");hs(oa||""),xo(JSON.stringify(sa||{},null,2))},200),[]),ea=reactExports.useMemo(()=>debounce(ia=>{Pn&&(console.info("handleJSONChange",ia),Pn.setDocument("json",ia))},200),[Pn]),ta=ia=>{window.editor=ia,Ms(ia)};reactExports.useEffect(()=>()=>{for(const ia of ei.current)URL.revokeObjectURL(ia);ei.current=[],Ms.cancel(),ea.cancel(),delete window.editor,delete window.__scrollIntoView},[Ms,ea]);const ra=reactExports.useMemo(()=>[{icon:jsxRuntimeExports.jsx(Avatar,{avatar:"💻",size:24}),key:"bot1",label:"前端研发专家",metadata:{id:"bot1"}},{icon:jsxRuntimeExports.jsx(Avatar,{avatar:"🌍",size:24}),key:"bot2",label:"中英文互译助手",metadata:{id:"bot2"}},{icon:jsxRuntimeExports.jsx(Avatar,{avatar:"📖",size:24}),key:"bot3",label:"学术写作增强专家",metadata:{id:"bot3"}}],[]),na=reactExports.useMemo(()=>[{icon:Heading1,key:"h1",label:"Heading 1",onSelect:oa=>{oa.dispatchCommand(INSERT_HEADING_COMMAND,{tag:"h1"})}},{icon:Heading2,key:"h2",label:"Heading 2",onSelect:oa=>{oa.dispatchCommand(INSERT_HEADING_COMMAND,{tag:"h2"})}},{icon:Heading3,key:"h3",label:"Heading 3",onSelect:oa=>{oa.dispatchCommand(INSERT_HEADING_COMMAND,{tag:"h3"})}},{type:"divider"},{icon:Minus,key:"hr",label:"Hr",onSelect:oa=>{oa.dispatchCommand(INSERT_HORIZONTAL_RULE_COMMAND,{})}},{icon:Table2,key:"table",label:"Table",onSelect:oa=>{oa.dispatchCommand(INSERT_TABLE_COMMAND,{columns:"3",rows:"3"})}},{icon:Sigma,key:"tex",label:"Tex",onSelect:oa=>{oa.dispatchCommand(INSERT_MATH_COMMAND,{code:"x^2 + y^2 = z^2"}),queueMicrotask(()=>{oa.focus()})}},{type:"divider"},{key:"file",label:"File",onSelect:oa=>{openFileSelector(sa=>{for(const aa of sa)oa.dispatchCommand(INSERT_FILE_COMMAND,{file:aa})})}},{key:"set-text-content",label:"SetTextContent",onSelect:oa=>{oa.setDocument("text",`123
|
|
6208
|
+
`}));function openFileSelector(Un,Pn="*/*"){if(typeof document>"u")return;const ei=document.createElement("input");ei.type="file",ei.accept=Pn,ei.multiple=!1;const co=setTimeout(()=>ei.remove(),5e3);ei.onchange=xo=>{var hs;clearTimeout(co);const os=(hs=xo.target)==null?void 0:hs.files;os&&os.length>0&&Un(os),ei.remove()},ei.oncancel=()=>{clearTimeout(co),ei.remove()},ei.click()}function getFormatItems(Un,Pn){return[{active:Un.isBold,icon:Bold,key:"bold",label:"Bold",onClick:Un.bold,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.Bold).keys}},{active:Un.isItalic,icon:Italic,key:"italic",label:"Italic",onClick:Un.italic,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.Italic).keys}},{active:Un.isUnderline,icon:Underline,key:"underline",label:"Underline",onClick:Un.underline,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.Underline).keys}},{active:Un.isStrikethrough,icon:Strikethrough,key:"strikethrough",label:"Strikethrough",onClick:Un.strikethrough,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.Strikethrough).keys}},{type:"divider"},{active:!!Un.textColor,editor:Pn,key:"textColor",label:"Text Color",onChange:Un.setTextColor,type:"colorPicker",value:Un.textColor},{active:!!Un.bgColor,defaultColor:"#ffffff",editor:Pn,icon:Highlighter,key:"bgColor",label:"Background Color",onChange:Un.setBgColor,type:"colorPicker",value:Un.bgColor}]}const Toolbar=({editor:Un,floating:Pn,outlineCollapseTitle:ei,outlineExpandTitle:co,outlineToggle:xo,style:os,className:hs})=>{const Ms=useEditorState(Un),ea=useOutlineActionItem({collapseTitle:ei,expandTitle:co}),ta=reactExports.useMemo(()=>[{disabled:!Ms.canUndo,icon:Undo2,key:"undo",label:"Undo",onClick:Ms.undo,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.Undo).keys}},{disabled:!Ms.canRedo,icon:Redo2,key:"redo",label:"Redo",onClick:Ms.redo,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.Redo).keys}},{type:"divider"},...getFormatItems(Ms,Un),{type:"divider"},{icon:List,key:"bulletList",label:"Bullet List",onClick:Ms.bulletList,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.BulletList).keys}},{icon:ListOrdered,key:"numberlist",label:"Number list",onClick:Ms.numberList,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.NumberList).keys}},{icon:ListTodo,key:"tasklist",label:"Task list",onClick:Ms.checkList},{type:"divider"},{active:Ms.isBlockquote,icon:MessageSquareQuote,key:"blockquote",label:"Blockquote",onClick:Ms.blockquote},{icon:Link,key:"link",label:"Link",onClick:Ms.insertLink,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.Link).keys}},{icon:Sigma,key:"math",label:"TeX",onClick:Ms.insertMath},{type:"divider"},{active:Ms.isCode,icon:CodeXml,key:"code",label:"Code",onClick:Ms.code,tooltipProps:{hotkey:getHotkeyById(HotkeyEnum.CodeInline).keys}},{active:Ms.isCodeblock,icon:SquareDashedBottomCode,key:"codeblock",label:"Codeblock",onClick:Ms.codeblock},Ms.isCodeblock&&{children:jsxRuntimeExports.jsx(CodeLanguageSelect,{onSelect:na=>{console.log(na),Ms.updateCodeblockLang(na)},value:Ms.codeblockLang}),disabled:!Ms.isCodeblock,key:"codeblockLang"},{type:"divider"},{icon:Image$1,key:"image",label:"Image",onClick:()=>{openFileSelector(na=>{for(const ia of na)Un.dispatchCommand(INSERT_IMAGE_COMMAND,{file:ia})},"image/*")}},{icon:FileUp,key:"file",label:"File",onClick:()=>{openFileSelector(na=>{for(const ia of na)Un.dispatchCommand(INSERT_FILE_COMMAND,{file:ia})})}},...xo&&ea?[{type:"divider"},ea]:[]].filter(Boolean),[Un,Ms,ea,xo]),ra=reactExports.useMemo(()=>[...getFormatItems(Ms,Un),...xo&&ea?[{type:"divider"},ea]:[]],[Un,Ms,ea,xo]);return Pn?jsxRuntimeExports.jsx(FloatActions,{items:ra}):jsxRuntimeExports.jsx("div",{className:["mdocs-toolbar",hs].filter(Boolean).join(" "),style:os,children:jsxRuntimeExports.jsx(ChatInputActions,{items:ta})})};function DomainSelect({domains:Un,value:Pn,onChange:ei,ariaLabel:co,localizeName:xo}){const[os,hs]=reactExports.useState(!1),Ms=reactExports.useRef(null),ea=reactExports.useRef(null),ta=Un.find(ia=>ia.domainId===Pn),ra=(ta==null?void 0:ta.permission)==="private";reactExports.useEffect(()=>{if(!os)return;const ia=oa=>{var sa,aa;!((sa=Ms.current)!=null&&sa.contains(oa.target))&&!((aa=ea.current)!=null&&aa.contains(oa.target))&&hs(!1)};return document.addEventListener("mousedown",ia),()=>document.removeEventListener("mousedown",ia)},[os]),reactExports.useEffect(()=>{if(!os)return;const ia=oa=>{var sa;oa.key==="Escape"&&(hs(!1),(sa=Ms.current)==null||sa.focus())};return document.addEventListener("keydown",ia),()=>document.removeEventListener("keydown",ia)},[os]);function na(ia){ei(ia),hs(!1)}return jsxRuntimeExports.jsxs("div",{className:"mdocs-domain-select-wrapper",children:[jsxRuntimeExports.jsxs("button",{ref:Ms,type:"button",className:"mdocs-domain-select-trigger","aria-label":co,"aria-expanded":os,"aria-haspopup":"listbox",onClick:()=>hs(ia=>!ia),children:[jsxRuntimeExports.jsx("span",{className:"mdocs-domain-select-text",children:ta?xo(ta.domainName):""}),ra&&jsxRuntimeExports.jsxs("svg",{className:"mdocs-domain-lock",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"var(--mdocs-text-muted)",strokeWidth:"2",children:[jsxRuntimeExports.jsx("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",ry:"2"}),jsxRuntimeExports.jsx("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),jsxRuntimeExports.jsx("svg",{className:"mdocs-domain-select-chevron"+(os?" open":""),width:"10",height:"6",viewBox:"0 0 10 6",fill:"none",stroke:"var(--mdocs-text-muted)",strokeWidth:"1.5",children:jsxRuntimeExports.jsx("path",{d:"M1 1l4 4 4-4"})})]}),os&&jsxRuntimeExports.jsx("div",{ref:ea,className:"mdocs-domain-select-menu card",role:"listbox","aria-label":co,children:Un.map(ia=>jsxRuntimeExports.jsxs("button",{type:"button",className:"mdocs-domain-select-option"+(ia.domainId===Pn?" active":""),role:"option","aria-selected":ia.domainId===Pn,onClick:()=>na(ia.domainId),children:[jsxRuntimeExports.jsx("span",{children:xo(ia.domainName)}),ia.permission==="private"&&jsxRuntimeExports.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"var(--mdocs-text-muted)",strokeWidth:"2",children:[jsxRuntimeExports.jsx("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",ry:"2"}),jsxRuntimeExports.jsx("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]})]},ia.domainId))})]})}const MAX_DATASOURCE_WAIT_FRAMES=48;function safeGetMarkdown(Un){try{const Pn=Un.getDocument("markdown");return typeof Pn=="string"?Pn:""}catch{return null}}function safeGetJsonString(Un){try{return JSON.stringify(Un.getDocument("json"))}catch{return null}}function useAutoSave({editor:Un,documentId:Pn,displayName:ei,debounceMs:co=1e3,enabled:xo=!0,documentMeta:os}){const[hs,Ms]=reactExports.useState(!1),[ea,ta]=reactExports.useState(!1),[ra,na]=reactExports.useState(null),ia=reactExports.useRef(null),oa=reactExports.useRef(null),sa=reactExports.useRef(!1),aa=reactExports.useRef(""),la=reactExports.useRef(!1),ca=reactExports.useRef(Pn),ua=reactExports.useRef(ei),da=reactExports.useRef(os);ca.current=Pn,ua.current=ei,da.current=os;const ha=reactExports.useCallback(async()=>{if(!Un)return;if(!aa.current){console.log("[useAutoSave] performSave blocked: lastContentRef is empty");return}const ga=safeGetJsonString(Un);ga!=null&&(console.log("[useAutoSave] performSave saving draft, documentId:",ca.current,"content preview:",ga.slice(0,80)),await saveDraft({documentId:ca.current,content:ga,displayName:ua.current,updatedAt:Date.now(),published:!1,...da.current}),aa.current=safeGetMarkdown(Un)??aa.current,ta(!0),Ms(!1),na(Date.now()),sa.current=!0,la.current=!1)},[Un]);reactExports.useEffect(()=>{let ga=!1;return getDraft(Pn).then(xa=>{ga||(xa?(ta(!0),na(xa.updatedAt),sa.current=!0):(ta(!1),na(null),sa.current=!1,la.current=!1))}),()=>{ga=!0}},[Pn]),reactExports.useEffect(()=>{var Sa,wa;if(!xo){(Sa=oa.current)==null||Sa.call(oa),oa.current=null;return}if(!Un)return;const ga=Un.getLexicalEditor();if(!ga)return;(wa=oa.current)==null||wa.call(oa);let xa=!1,va=0,ya=0;const Ca=()=>{if(xa)return;const Ta=safeGetMarkdown(Un);if(Ta===null){if(ya+=1,ya>MAX_DATASOURCE_WAIT_FRAMES)return;va=requestAnimationFrame(Ca);return}aa.current=Ta;const Ra=ga.registerUpdateListener(()=>{const Oa=safeGetMarkdown(Un);Oa!==null&&Oa!==aa.current&&(console.log("[useAutoSave] updateListener dirty, documentId:",Pn,"oldLen:",aa.current.length,"newLen:",Oa.length),aa.current=Oa,Ms(!0),la.current=!0,sa.current=!1,ia.current&&clearTimeout(ia.current),ia.current=setTimeout(()=>{ia.current=null,ha()},co))});oa.current=()=>{Ra(),ia.current&&(clearTimeout(ia.current),ia.current=null)}};return queueMicrotask(()=>{xa||(va=requestAnimationFrame(Ca))}),()=>{var Ta;xa=!0,cancelAnimationFrame(va),(Ta=oa.current)==null||Ta.call(oa)}},[xo,Un,Pn,ei,co,os,ha]),reactExports.useEffect(()=>{var va;if(!xo||!Un)return;const ga=(va=Un.getLexicalEditor())==null?void 0:va.getRootElement();if(!ga)return;const xa=()=>{ia.current&&(clearTimeout(ia.current),ia.current=null),la.current&&ha()};return ga.addEventListener("blur",xa),()=>ga.removeEventListener("blur",xa)},[xo,Un,ha]),reactExports.useEffect(()=>{if(!xo)return;const ga=()=>{document.visibilityState==="hidden"&&(ia.current&&(clearTimeout(ia.current),ia.current=null),la.current&&ha())},xa=()=>{la.current&&(ia.current&&(clearTimeout(ia.current),ia.current=null),ha())};return document.addEventListener("visibilitychange",ga),window.addEventListener("beforeunload",xa),()=>{document.removeEventListener("visibilitychange",ga),window.removeEventListener("beforeunload",xa)}},[xo,ha]);async function fa(){await deleteDraft(Pn),ta(!1),Ms(!1),la.current=!1,sa.current=!1,aa.current=""}async function pa(){const ga=await getDraft(Pn);return ga?ga.content:null}function ma(){ta(!0),Ms(!1),la.current=!1,na(Date.now()),sa.current=!0,Un&&(aa.current=safeGetMarkdown(Un)??"")}return{isDirty:hs,draftExists:ea,lastSavedAt:ra,clearDraft:fa,loadDraftContent:pa,markDraftSaved:ma}}function usePublishGuard({isDirty:Un,draftExists:Pn}){const ei=Un&&!Pn;reactExports.useEffect(()=>{if(!ei)return;const co=xo=>{xo.preventDefault()};return window.addEventListener("beforeunload",co),()=>window.removeEventListener("beforeunload",co)},[ei])}const PATH_ERROR_MESSAGE_MAP={"relative path is required":"pathRequired","path must be relative":"pathMustBeRelative","use forward slashes":"useForwardSlashes","path must not contain ..":"pathNoDotDot","document path must end with .md":"pathMustEndWithMd","path contains unsupported characters":"pathUnsupportedChars","path escapes docs root":"pathEscapesRoot"},STORAGE_ERROR_MESSAGE_MAP={"enter a folder name":"enterFolderName","use a single name, not a path":"singleNameNotPath","invalid folder name":"invalidFolderName","folder name is too long":"folderNameTooLong","enter a file name":"enterFileName","use a file name, not a path":"singleFileNameNotPath","invalid file name":"invalidFileName","file name is too long":"fileNameTooLong"};function translateError(Un,Pn){if(Pn instanceof ApiRequestError)return Pn.message;if(Pn instanceof DocPathError){const ei=PATH_ERROR_MESSAGE_MAP[Pn.message];return ei?Un(ei):Pn.message}if(Pn instanceof Error){const ei=PATH_ERROR_MESSAGE_MAP[Pn.message]??STORAGE_ERROR_MESSAGE_MAP[Pn.message];return ei?Un(ei):Pn.message}return String(Pn)}function localizeDomainName(Un,Pn,ei){if(Un==="Default")return ei("defaultDomain");const co="个人域";return Un.endsWith(co)?Un.slice(0,-co.length)+ei("personalDomainSuffix"):Un}function domainPermissionLabel(Un,Pn){return Un==="public"?Pn("domainPublic"):Un==="restricted"?Pn("domainRestricted"):Un==="private"?Pn("domainPrivate"):Un}function parentDirForCreates(Un){const Pn=Un.lastIndexOf("/");return Pn===-1?"":Un.slice(0,Pn)}function MiniSelect({options:Un,value:Pn,onChange:ei}){const[co,xo]=reactExports.useState(!1),os=reactExports.useRef(null),hs=reactExports.useRef(null),Ms=Un.find(ta=>ta.value===Pn);reactExports.useEffect(()=>{if(!co)return;const ta=ra=>{var na,ia;!((na=os.current)!=null&&na.contains(ra.target))&&!((ia=hs.current)!=null&&ia.contains(ra.target))&&xo(!1)};return document.addEventListener("mousedown",ta),()=>document.removeEventListener("mousedown",ta)},[co]),reactExports.useEffect(()=>{if(!co)return;const ta=ra=>{var na;ra.key==="Escape"&&(xo(!1),(na=os.current)==null||na.focus())};return document.addEventListener("keydown",ta),()=>document.removeEventListener("keydown",ta)},[co]);function ea(ta){ei(ta),xo(!1)}return jsxRuntimeExports.jsxs("div",{className:"mdocs-mini-select",style:{position:"relative"},children:[jsxRuntimeExports.jsxs("button",{ref:os,type:"button",className:"mdocs-mini-select-trigger","aria-expanded":co,"aria-haspopup":"listbox",onClick:()=>xo(ta=>!ta),children:[jsxRuntimeExports.jsx("span",{children:Ms==null?void 0:Ms.label}),jsxRuntimeExports.jsx("svg",{className:"mdocs-mini-select-chevron"+(co?" open":""),width:"10",height:"6",viewBox:"0 0 10 6",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:jsxRuntimeExports.jsx("path",{d:"M1 1l4 4 4-4"})})]}),co&&jsxRuntimeExports.jsx("div",{ref:hs,className:"mdocs-mini-select-menu card",role:"listbox",children:Un.map(ta=>jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-mini-select-option"+(ta.value===Pn?" active":""),role:"option","aria-selected":ta.value===Pn,onClick:()=>ea(ta.value),children:ta.label},ta.value))})]})}function idPrefix6$1(Un){return Un.length<=6?Un:`${Un.slice(0,6)}…`}function VisitorPickerContent(Un){const{visitors:Pn,loadState:ei,searchFilter:co,onSearchChange:xo,selectedIds:os,onToggle:hs,selectedRows:Ms,lockedIds:ea=new Set,myVisitorId:ta,showPermissionSelect:ra=!1,permissionOptions:na=[],onPermissionChange:ia}=Un,{t:oa}=useI18n(),sa=reactExports.useMemo(()=>{const aa=co.trim().toLowerCase();let la=aa?Pn.filter(ca=>ca.visitorName.toLowerCase().includes(aa)||ca.visitorId.toLowerCase().includes(aa)):Pn;return ta&&(la=[...la].sort((ca,ua)=>ca.visitorId===ta?-1:ua.visitorId===ta?1:0)),la},[Pn,co,ta]);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("input",{type:"search",className:"mdocs-visitor-picker-search",placeholder:oa("visitorPickerSearchPlaceholder"),value:co,onChange:aa=>xo(aa.target.value),disabled:ei!=="ok"}),ei==="loading"&&jsxRuntimeExports.jsx("div",{className:"mdocs-visitor-picker-loading",children:oa("loading")}),ei==="err"&&jsxRuntimeExports.jsx("div",{className:"mdocs-visitor-picker-error",children:oa("visitorPickerLoadError")}),ei==="ok"&&jsxRuntimeExports.jsxs("div",{className:"mdocs-visitor-picker-columns",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-visitor-picker-col",children:[jsxRuntimeExports.jsx("h3",{className:"mdocs-visitor-picker-col-title",children:oa("visitorPickerColumnAll")}),jsxRuntimeExports.jsx("div",{className:"mdocs-visitor-picker-table-wrap",children:jsxRuntimeExports.jsxs("table",{className:"mdocs-visitor-picker-table",children:[jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("th",{scope:"col",children:oa("visitorPickerColIdShort")}),jsxRuntimeExports.jsx("th",{scope:"col",children:oa("visitorPickerColName")}),jsxRuntimeExports.jsx("th",{scope:"col",className:"mdocs-visitor-picker-check-col",children:oa("visitorPickerColPick")})]})}),jsxRuntimeExports.jsx("tbody",{children:sa.length===0?jsxRuntimeExports.jsx("tr",{children:jsxRuntimeExports.jsx("td",{colSpan:3,className:"mdocs-visitor-picker-empty-cell",children:Pn.length===0?oa("visitorPickerEmptyDirectory"):oa("domainNoMatch")})}):sa.map(aa=>{const la=ea.has(aa.visitorId),ca=os.has(aa.visitorId);return jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{children:jsxRuntimeExports.jsx("code",{className:"mdocs-visitor-picker-id-short",children:idPrefix6$1(aa.visitorId)})}),jsxRuntimeExports.jsxs("td",{children:[aa.visitorName,aa.visitorId===ta&&jsxRuntimeExports.jsx("span",{className:"mdocs-visitor-picker-self-marker",children:oa("visitorPickerSelfMarker")})]}),jsxRuntimeExports.jsx("td",{className:"mdocs-visitor-picker-check-col",children:jsxRuntimeExports.jsx("input",{type:"checkbox",checked:ca,disabled:la,onChange:()=>hs(aa.visitorId),"aria-label":aa.visitorName})})]},aa.visitorId)})})]})})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-visitor-picker-col",children:[jsxRuntimeExports.jsx("h3",{className:"mdocs-visitor-picker-col-title",children:oa("visitorPickerColumnSelected")}),jsxRuntimeExports.jsx("div",{className:"mdocs-visitor-picker-table-wrap",children:jsxRuntimeExports.jsxs("table",{className:"mdocs-visitor-picker-table",children:[jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("th",{scope:"col",children:oa("visitorPickerColIdFull")}),jsxRuntimeExports.jsx("th",{scope:"col",children:oa("visitorPickerColName")}),ra&&jsxRuntimeExports.jsx("th",{scope:"col",children:oa("permissionLabel")}),jsxRuntimeExports.jsx("th",{scope:"col",className:"mdocs-visitor-picker-check-col"})]})}),jsxRuntimeExports.jsx("tbody",{children:Ms.length===0?jsxRuntimeExports.jsx("tr",{children:jsxRuntimeExports.jsx("td",{colSpan:ra?4:3,className:"mdocs-visitor-picker-empty-cell",children:oa("visitorPickerNoSelection")})}):Ms.map(aa=>{const la=ea.has(aa.visitorId);return jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{children:jsxRuntimeExports.jsx("code",{className:"mdocs-visitor-picker-id-full",children:aa.visitorId})}),jsxRuntimeExports.jsx("td",{className:aa.muted?"mdocs-visitor-picker-name-muted":void 0,children:aa.name}),ra&&jsxRuntimeExports.jsx("td",{children:jsxRuntimeExports.jsx(MiniSelect,{options:na,value:aa.permission??"read",onChange:ca=>ia==null?void 0:ia(aa.visitorId,ca)})}),jsxRuntimeExports.jsx("td",{className:"mdocs-visitor-picker-check-col",children:la?jsxRuntimeExports.jsx("span",{className:"mdocs-visitor-picker-locked",title:oa("visitorPickerLockedHint"),children:"—"}):jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-visitor-picker-remove",onClick:()=>hs(aa.visitorId),"aria-label":oa("visitorPickerRemove"),children:"×"})})]},aa.visitorId)})})]})})]})]})]})}function VisitorPickerModal(Un){var Xa;const{open:Pn,title:ei,initialSelectedIds:co,lockedIds:xo=[],seedMembers:os,excludeTemplateId:hs,templates:Ms,onClose:ea,onConfirm:ta,showPermissionSelect:ra=!1,permissionOptions:na=[],initialPermissions:ia}=Un,{t:oa}=useI18n(),sa=reactExports.useRef(oa);sa.current=oa;const aa=reactExports.useMemo(()=>new Set(xo),[xo]),la=getStoredVisitorId(),[ca,ua]=reactExports.useState([]),[da,ha]=reactExports.useState("idle"),[fa,pa]=reactExports.useState(()=>new Set),[ma,ga]=reactExports.useState(()=>new Map),[xa,va]=reactExports.useState(""),[ya,Ca]=reactExports.useState(""),[Sa,wa]=reactExports.useState(!1),Ta=reactExports.useRef(null),[Ra,Oa]=reactExports.useState(!1),[Aa,Ma]=reactExports.useState(null),Ia=reactExports.useMemo(()=>Ms.filter(Ja=>hs==null||Ja.id!==hs),[Ms,hs]),za=reactExports.useMemo(()=>new Map((os??[]).map(Ja=>[Ja.visitorId,Ja])),[os]);reactExports.useEffect(()=>{Pn&&(pa(new Set(co)),ga(ia?new Map(ia):new Map),va(""),Ca(""),Ma(null))},[Pn,co,ia]),reactExports.useEffect(()=>{if(!Pn)return;let Ja=!1;return ha("loading"),fetchVisitorsDirectoryApi().then($a=>{Ja||(ua($a),ha("ok"))}).catch($a=>{Ja||(ha("err"),Ma(translateError(sa.current,$a)))}),()=>{Ja=!0}},[Pn]),reactExports.useEffect(()=>{if(!Sa)return;const Ja=$a=>{var Pa;(Pa=Ta.current)!=null&&Pa.contains($a.target)||wa(!1)};return document.addEventListener("mousedown",Ja),()=>document.removeEventListener("mousedown",Ja)},[Sa]);const Na=reactExports.useMemo(()=>{const Ja=new Map(ca.map(Pa=>[Pa.visitorId,Pa])),$a=[];for(const Pa of fa){const Fa=ma.get(Pa),Ha=Ja.get(Pa);if(Ha){$a.push({visitorId:Pa,name:Ha.visitorName,muted:!1,permission:Fa});continue}const Ka=za.get(Pa);if(Ka){Ka.missing?$a.push({visitorId:Pa,name:oa("visitorPickerMemberMissing"),muted:!0,permission:Fa}):Ka.disabled?$a.push({visitorId:Pa,name:`${Ka.visitorName} · ${oa("visitorPickerDisabledTag")}`,muted:!0,permission:Fa}):$a.push({visitorId:Pa,name:Ka.visitorName,muted:!1,permission:Fa});continue}$a.push({visitorId:Pa,name:oa("visitorPickerUnknownVisitor"),muted:!0,permission:Fa})}return $a.sort((Pa,Fa)=>Pa.name.localeCompare(Fa.name,void 0,{sensitivity:"base"})),$a},[ca,fa,za,ma,oa]),La=reactExports.useCallback(Ja=>{aa.has(Ja)||pa($a=>{const Pa=new Set($a);return Pa.has(Ja)?(Pa.delete(Ja),ga(Fa=>{const Ha=new Map(Fa);return Ha.delete(Ja),Ha})):(Pa.add(Ja),ga(Fa=>{const Ha=new Map(Fa);return Ha.set(Ja,"read"),Ha})),Pa})},[aa]),Wa=reactExports.useCallback((Ja,$a)=>{ga(Pa=>{const Fa=new Map(Pa);return Fa.set(Ja,$a),Fa})},[]),Ua=reactExports.useCallback(()=>{const Ja=Number(ya);if(!Number.isInteger(Ja)||Ja<1)return;const $a=Ms.find(Fa=>Fa.id===Ja);if(!$a)return;const Pa=new Set(ca.map(Fa=>Fa.visitorId));pa(Fa=>{const Ha=new Set(Fa);for(const Ka of $a.visitorIds)Pa.has(Ka)&&Ha.add(Ka);return Ha})},[ya,Ms,ca]);async function Ga(){Ma(null),Oa(!0);try{if(ra){const Ja=[...fa].sort().map($a=>({visitorId:$a,permission:ma.get($a)??"read"}));await ta(Ja)}else{const Ja=[...fa].sort();await ta(Ja)}ea()}catch(Ja){Ma(translateError(oa,Ja))}finally{Oa(!1)}}return Pn?jsxRuntimeExports.jsx("div",{className:"mdocs-visitor-picker-overlay",role:"presentation",onMouseDown:Ja=>Ja.target===Ja.currentTarget&&ea(),children:jsxRuntimeExports.jsxs("div",{className:"mdocs-visitor-picker-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"mdocs-visitor-picker-title",children:[jsxRuntimeExports.jsxs("header",{className:"mdocs-visitor-picker-header",children:[jsxRuntimeExports.jsx("h2",{id:"mdocs-visitor-picker-title",className:"mdocs-visitor-picker-title",children:ei}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-visitor-picker-close",onClick:ea,"aria-label":oa("close"),children:"×"})]}),Ia.length>0&&jsxRuntimeExports.jsx("div",{className:"mdocs-visitor-picker-toolbar",children:jsxRuntimeExports.jsxs("div",{className:"mdocs-visitor-picker-template-bar",children:[jsxRuntimeExports.jsxs("div",{ref:Ta,className:"mdocs-template-picker",children:[jsxRuntimeExports.jsxs("button",{type:"button",className:"mdocs-template-picker-trigger",onClick:()=>wa(Ja=>!Ja),disabled:da!=="ok","aria-haspopup":"listbox","aria-expanded":Sa,children:[jsxRuntimeExports.jsx("span",{className:"mdocs-template-picker-text",children:ya?(Xa=Ia.find(Ja=>String(Ja.id)===ya))==null?void 0:Xa.displayName:oa("visitorPickerPickTemplate")}),jsxRuntimeExports.jsx("svg",{className:"mdocs-template-picker-chevron"+(Sa?" open":""),width:"10",height:"6",viewBox:"0 0 10 6",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:jsxRuntimeExports.jsx("path",{d:"M1 1l4 4 4-4"})})]}),Sa&&jsxRuntimeExports.jsx("div",{className:"mdocs-template-picker-menu card",role:"listbox",children:Ia.map(Ja=>jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-template-picker-option"+(String(Ja.id)===ya?" active":""),role:"option","aria-selected":String(Ja.id)===ya,onClick:()=>{Ca(String(Ja.id)),wa(!1)},children:Ja.displayName},Ja.id))})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:()=>{if(da!=="ok"){Ma(oa("loading"));return}if(!ya){Ma(oa("visitorPickerPickTemplate"));return}Ua()},children:oa("visitorPickerApplyTemplate")})]})}),Aa&&jsxRuntimeExports.jsx("div",{className:"mdocs-visitor-picker-error",role:"alert",children:Aa}),jsxRuntimeExports.jsx("div",{style:{padding:"8px 18px 12px"},children:jsxRuntimeExports.jsx(VisitorPickerContent,{visitors:ca,loadState:da,searchFilter:xa,onSearchChange:va,selectedIds:fa,onToggle:La,selectedRows:Na,lockedIds:aa,myVisitorId:la,showPermissionSelect:ra,permissionOptions:na,onPermissionChange:Wa})}),jsxRuntimeExports.jsxs("footer",{className:"mdocs-visitor-picker-footer",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:ea,children:oa("cancel")}),jsxRuntimeExports.jsx("button",{type:"button",className:"primary",onClick:()=>{if(da!=="ok"){Ma(oa("loading"));return}Ga()},children:oa(Ra?"saving":"visitorPickerConfirm")})]})]})}):null}function safeLexicalJsonString(Un){try{return JSON.stringify(Un.getDocument("json"))}catch{return null}}function OutlineSideRail({editor:Un}){const{visible:Pn}=useOutlineVisibility();return jsxRuntimeExports.jsx("div",{className:"mdocs-outline-siderail",style:{flexShrink:0,overflow:"hidden",transition:"width 0.2s ease",width:Pn?200:0},children:jsxRuntimeExports.jsx("div",{style:{width:200},children:jsxRuntimeExports.jsx(OutlinePanel,{editor:Un})})})}function DocumentEditor(Un){const{t:Pn,lang:ei}=useI18n(),[co,xo]=reactExports.useState(!1),os=reactExports.useRef(null),[hs,Ms]=reactExports.useState([]),[ea,ta]=reactExports.useState(!1),[ra,na]=reactExports.useState(Un.document.permission),[ia,oa]=reactExports.useState(!1),[sa,aa]=reactExports.useState(!1),[la,ca]=reactExports.useState(!1),[ua,da]=reactExports.useState(new Map),[ha,fa]=reactExports.useState(!1);reactExports.useEffect(()=>{const cc=Ec=>{os.current&&!os.current.contains(Ec.target)&&xo(!1)};return co&&document.addEventListener("mousedown",cc),()=>document.removeEventListener("mousedown",cc)},[co]),reactExports.useEffect(()=>{let cc=!0;return fetchVisitorsDirectoryApi().then(Ec=>{cc&&Ms(Ec)}).catch(()=>{}),()=>{cc=!1}},[]);function pa(cc){const Ec=hs.find(sc=>sc.visitorId===cc);return(Ec==null?void 0:Ec.visitorName)??cc.slice(0,8)}const[ma,ga]=reactExports.useState(Un.document.displayName),[xa,va]=reactExports.useState(!1),[ya,Ca]=reactExports.useState(!1),[Sa,wa]=reactExports.useState(!1),[Ta,Ra]=reactExports.useState(()=>localStorage.getItem("mdocs.autoEdit")!=="false"),Oa=Un.canEdit&&Ta,[Aa,Ma]=reactExports.useState(null),[Ia,za]=reactExports.useState(!1),Na=reactExports.useRef(null);reactExports.useLayoutEffect(()=>{za(!1),Ma(null),Na.current=null},[Un.document.documentId]),reactExports.useEffect(()=>{const cc=requestAnimationFrame(()=>za(!0));return()=>cancelAnimationFrame(cc)},[Un.document.documentId]);const La=reactExports.useRef(Un.document.content);La.current=Un.document.content;const Wa=reactExports.useMemo(()=>{var cc;if(!Un.document.content)return"json";try{const Ec=JSON.parse(Un.document.content);return(cc=Ec==null?void 0:Ec.root)!=null&&cc.children?"json":"markdown"}catch{return"markdown"}},[Un.document.content]),Ua=reactExports.useMemo(()=>({relativePath:Un.document.relativePath,permission:Un.document.permission,ownerVisitorId:Un.document.ownerVisitorId,domainId:Un.document.domainId}),[Un.document.relativePath,Un.document.permission,Un.document.ownerVisitorId,Un.document.domainId]),{isDirty:Ga,draftExists:Xa,clearDraft:Ja,loadDraftContent:$a,markDraftSaved:Pa}=useAutoSave({editor:Aa,documentId:Un.document.documentId,displayName:ma,enabled:Un.canEdit,documentMeta:Ua});usePublishGuard({isDirty:Ga,draftExists:Xa}),reactExports.useEffect(()=>{$a().then(cc=>{})},[Un.document.documentId]),reactExports.useEffect(()=>{Aa==null||Aa.setLocale(ei==="zh"?zhCN:enUS)},[Aa,ei]),reactExports.useEffect(()=>{ga(Un.document.displayName)},[Un.document.displayName,Un.document.documentId]),reactExports.useEffect(()=>{na(Un.document.permission)},[Un.document.permission,Un.document.documentId]),reactExports.useEffect(()=>{let cc=!0;return(async()=>{try{const Ec=await checkBookmarkApi(Un.document.documentId);cc&&Ca(Ec.bookmarked)}catch{}})(),()=>{cc=!1}},[Un.document.documentId]);async function Fa(){var cc,Ec;if(!Sa){wa(!0);try{ya?(await removeBookmarkApi(Un.document.documentId),Ca(!1),(cc=Un.onShowToast)==null||cc.call(Un,Pn("bookmarkRemoved"))):(await addBookmarkApi(Un.document.documentId),Ca(!0),(Ec=Un.onShowToast)==null||Ec.call(Un,Pn("bookmarkAdded")))}finally{wa(!1)}}}reactExports.useEffect(()=>(Un.saveBeforeNavRef&&(Un.saveBeforeNavRef.current=dc),()=>{Un.saveBeforeNavRef&&(Un.saveBeforeNavRef.current=void 0)}));function Ha(cc){return cc<1024?`${cc} B`:cc<1024*1024?`${(cc/1024).toFixed(1)} KB`:`${(cc/(1024*1024)).toFixed(1)} MB`}const Ka=reactExports.useCallback(cc=>{Na.current=cc,Ma(cc);const Ec=La.current;if(!Ec)return;const sc=()=>{try{cc.setDocument(Wa,Ec)}catch{requestAnimationFrame(()=>{try{cc.setDocument(Wa,Ec)}catch{}})}};queueMicrotask(()=>{queueMicrotask(sc)})},[Wa]);async function Sl(){if(!(!Aa||!Un.canEdit)){va(!0);try{const cc=safeLexicalJsonString(Aa);if(!cc)return;await Un.onPublish(cc,ma,Un.document.documentId),await Ja()}catch(cc){throw cc}finally{va(!1)}}}async function Za(){if(!Un.canEdit)return;const cc=Un.document.displayName.trim();ma.trim()!==cc&&await Sl()}const lc=reactExports.useMemo(()=>Un.domains.find(cc=>cc.domainId===Un.document.domainId),[Un.domains,Un.document.domainId]),ic=reactExports.useMemo(()=>{const cc=(lc==null?void 0:lc.permission)??"public";return allowedPermissionsForDomain(cc)},[lc==null?void 0:lc.permission]);function uc(cc){return cc===DocumentPermission.PRIVATE?Pn("permissionPrivate"):cc===DocumentPermission.DOMAIN_READ?Pn("permissionInvite"):cc===DocumentPermission.DOMAIN_WRITE?Pn("permissionDomainWrite"):cc===DocumentPermission.PUBLIC_READ?Pn("permissionPublicRead"):Pn("permissionPublicEdit")}async function mc(){var cc;if(ia||ra===Un.document.permission){ta(!1);return}oa(!0);try{const sc=(Aa?safeLexicalJsonString(Aa):null)??Un.document.content;await Un.onPublish(sc,ma,Un.document.documentId,ra),ta(!1),(cc=Un.onShowToast)==null||cc.call(Un,Pn("docInfoPermissionUpdated"))}finally{oa(!1)}}async function Ac(cc){var Ec;if(!ha){fa(!0);try{const sc=new Set(cc.map(wc=>wc.visitorId)),hc=new Map(cc.map(wc=>[wc.visitorId,wc.permission]));for(const[wc]of ua)sc.has(wc)||await removeDocumentInviteApi(Un.document.documentId,wc);for(const{visitorId:wc,permission:Pc}of cc){const $c=ua.get(wc);(!$c||$c!==Pc)&&await addDocumentInviteApi(Un.document.documentId,wc,Pc)}aa(!1),(Ec=Un.onShowToast)==null||Ec.call(Un,Pn("docInfoInviteSuccess",{count:cc.length}))}finally{fa(!1)}}}async function dc(){if(!Aa||!Un.canEdit)return;if(!Ga){console.log("[DocumentEditor.saveDraft] skipped: not dirty, documentId:",Un.document.documentId);return}const cc=safeLexicalJsonString(Aa);cc&&(console.log("[DocumentEditor.saveDraft] saving draft, documentId:",Un.document.documentId,"content preview:",cc.slice(0,80)),Pa(),await saveDraft({documentId:Un.document.documentId,content:cc,displayName:ma,updatedAt:Date.now(),published:!1,relativePath:Un.document.relativePath,permission:Un.document.permission,ownerVisitorId:Un.document.ownerVisitorId,domainId:Un.document.domainId}))}const kc=reactExports.useMemo(()=>[{icon:Heading1,key:"h1",label:"Heading 1",onSelect:cc=>{cc.dispatchCommand(INSERT_HEADING_COMMAND,{tag:"h1"})}},{icon:Heading2,key:"h2",label:"Heading 2",onSelect:cc=>{cc.dispatchCommand(INSERT_HEADING_COMMAND,{tag:"h2"})}},{icon:Heading3,key:"h3",label:"Heading 3",onSelect:cc=>{cc.dispatchCommand(INSERT_HEADING_COMMAND,{tag:"h3"})}},{type:"divider"},{icon:Minus,key:"hr",label:"Hr",onSelect:cc=>{cc.dispatchCommand(INSERT_HORIZONTAL_RULE_COMMAND,{})}},{icon:Table2,key:"table",label:"Table",onSelect:cc=>{cc.dispatchCommand(INSERT_TABLE_COMMAND,{columns:"3",rows:"3"})}},{icon:Sigma,key:"tex",label:"TeX",onSelect:cc=>{cc.dispatchCommand(INSERT_MATH_COMMAND,{code:"x^2 + y^2 = z^2"}),queueMicrotask(()=>cc.focus())}},{type:"divider"},{key:"file",label:"File",onSelect:cc=>{openFileSelector(Ec=>{for(const sc of Ec)cc.dispatchCommand(INSERT_FILE_COMMAND,{file:sc})})}},{key:"insert-link",label:"Insert Link",onSelect:cc=>{cc.dispatchCommand(INSERT_LINK_COMMAND,{url:"https://example.com"}),queueMicrotask(()=>cc.focus())}},{key:"insert-codeInline",label:"Inline Code",onSelect:cc=>{cc.dispatchCommand(INSERT_CODEINLINE_COMMAND,void 0),queueMicrotask(()=>cc.focus())}},{key:"insert-codeBlock",label:"Code Block",onSelect:cc=>{cc.dispatchCommand(INSERT_CODEMIRROR_COMMAND,void 0),queueMicrotask(()=>cc.focus())}}].map(cc=>"type"in cc&&cc.type==="divider"?cc:{...cc,extra:jsxRuntimeExports.jsx("span",{style:{color:"var(--mdocs-text-muted)",fontFamily:"monospace",fontSize:12},children:cc.key})}),[]),xc=reactExports.useMemo(()=>[ReactMarkdownPlugin,ReactListPlugin,ReactLinkPlugin,ReactImagePlugin,ReactCodemirrorPlugin,ReactHRPlugin,ReactTablePlugin,ReactMathPlugin,ReactMeta2dPlugin,ReactMarkmapPlugin,ReactCodePlugin,withProps(ReactToolbarPlugin,{children:Aa?jsxRuntimeExports.jsx(Toolbar,{editor:Aa,floating:!0,outlineCollapseTitle:Pn("outlineHide"),outlineExpandTitle:Pn("outlineShow"),outlineToggle:!0}):null}),withProps(ReactFilePlugin,{handleUpload:async cc=>({url:await uploadAssetApi(cc,Un.document.documentId)})}),withProps(ReactImagePlugin,{defaultBlockImage:!0,needRehost:cc=>cc.startsWith("blob:"),handleRehost:async cc=>{const sc=await(await fetch(cc)).blob(),hc=new File([sc],"image.png",{type:sc.type});return{url:await uploadAssetApi(hc,Un.document.documentId)}}})],[Aa,Pn]);return jsxRuntimeExports.jsxs("div",{className:"mdocs-editor",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-editor-toolbar",children:[jsxRuntimeExports.jsx("input",{className:"mdocs-editor-title-input",value:ma,onChange:cc=>ga(cc.target.value),onBlur:()=>void Za(),placeholder:Pn("displayNamePlaceholder"),disabled:!Oa}),jsxRuntimeExports.jsx(DomainSelect,{domains:Un.domains.length?Un.domains:[FALLBACK_DOMAIN_SUMMARY],value:Un.currentDomainId,onChange:Un.onDomainChange,ariaLabel:Pn("currentDomainAria"),localizeName:cc=>localizeDomainName(cc,ei,Pn)}),jsxRuntimeExports.jsx("span",{className:"mdocs-editor-toolbar-spacer","aria-hidden":!0}),jsxRuntimeExports.jsxs("div",{className:"mdocs-editor-toolbar-actions",children:[Oa?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[localStorage.getItem("mdocs.autoPublish")!=="true"&&jsxRuntimeExports.jsxs("span",{className:"mdocs-save-indicator",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-save-dot "+(xa?"saving":Xa?"unsaved":"saved")}),jsxRuntimeExports.jsx("span",{children:Pn(xa?"publishing":Xa?"unsaved":"published")})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"primary",disabled:xa,onClick:()=>void Sl(),children:Pn(xa?"publishing":"publish")}),jsxRuntimeExports.jsx("button",{type:"button",className:"danger",disabled:xa,onClick:Un.onDelete,children:Pn("delete")})]}):Un.canEdit&&jsxRuntimeExports.jsx("button",{type:"button",className:"primary",onClick:()=>Ra(!0),children:Pn("edit")}),jsxRuntimeExports.jsxs("button",{type:"button",className:"secondary mdocs-tooltip mdocs-tooltip-bottom",onClick:Un.onToggleComments,"data-tooltip":"评论",style:{padding:"4px 8px",minWidth:"auto",display:"flex",alignItems:"center",justifyContent:"center",gap:4,background:Un.commentPanelOpen?"var(--mdocs-hover-bg, #f0f0f0)":void 0},children:[jsxRuntimeExports.jsx(MessageSquare,{size:18,strokeWidth:1.5,style:{color:"var(--mdocs-text-secondary, #6b7280)"}}),Un.commentCount>0&&jsxRuntimeExports.jsx("span",{style:{fontSize:"0.85rem"},children:Un.commentCount})]}),jsxRuntimeExports.jsxs("div",{ref:os,className:"mdocs-tooltip mdocs-tooltip-bottom","data-tooltip":Pn("docInfo"),style:{position:"relative"},children:[jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:()=>xo(!co),style:{padding:"4px 8px",minWidth:"auto",display:"flex",alignItems:"center",justifyContent:"center"},children:jsxRuntimeExports.jsx(TextAlignJustify,{size:18,strokeWidth:1.5,style:{color:"var(--mdocs-text-secondary, #6b7280)"}})}),co&&jsxRuntimeExports.jsxs("div",{style:{position:"absolute",top:"100%",right:0,marginTop:"4px",background:"var(--mdocs-surface, #fff)",border:"1px solid var(--mdocs-border, #e5e5e5)",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",minWidth:"220px",zIndex:100,padding:"8px 0"},children:[jsxRuntimeExports.jsxs("div",{style:{padding:"4px 16px",fontSize:"13px"},children:[jsxRuntimeExports.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"6px"},children:[jsxRuntimeExports.jsx("span",{style:{color:"var(--mdocs-text-muted, #888)"},children:Pn("docInfoCreator")}),jsxRuntimeExports.jsx("span",{children:pa(Un.document.ownerVisitorId)})]}),jsxRuntimeExports.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"6px"},children:[jsxRuntimeExports.jsx("span",{style:{color:"var(--mdocs-text-muted, #888)"},children:Pn("docInfoCreatedAt")}),jsxRuntimeExports.jsx("span",{children:new Date(Un.document.createdAt).toLocaleString(ei==="zh"?"zh-CN":"en-US")})]}),jsxRuntimeExports.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"6px"},children:[jsxRuntimeExports.jsx("span",{style:{color:"var(--mdocs-text-muted, #888)"},children:Pn("docInfoSize")}),jsxRuntimeExports.jsx("span",{children:Ha(new Blob([Un.document.content]).size)})]}),jsxRuntimeExports.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[jsxRuntimeExports.jsx("span",{style:{color:"var(--mdocs-text-muted, #888)"},children:Pn("docInfoUpdatedAt")}),jsxRuntimeExports.jsx("span",{children:new Date(Un.document.updatedAt).toLocaleString(ei==="zh"?"zh-CN":"en-US")})]})]}),jsxRuntimeExports.jsx("div",{style:{height:"1px",background:"var(--mdocs-border, #e5e5e5)",margin:"8px 0"}}),jsxRuntimeExports.jsxs("button",{type:"button",style:{width:"100%",textAlign:"left",padding:"8px 16px",background:"none",border:"none",cursor:"pointer",fontSize:"13px",display:"flex",alignItems:"center",gap:"8px"},onMouseEnter:cc=>{cc.currentTarget.style.background="var(--mdocs-hover-bg, #f5f5f5)"},onMouseLeave:cc=>{cc.currentTarget.style.background="none"},onClick:()=>{Fa()},children:[jsxRuntimeExports.jsx("span",{children:ya?"⭐":"☆"}),jsxRuntimeExports.jsx("span",{children:Pn(ya?"bookmarkRemove":"bookmarkAdd")})]}),jsxRuntimeExports.jsxs("button",{type:"button",style:{width:"100%",textAlign:"left",padding:"8px 16px",background:"none",border:"none",cursor:"pointer",fontSize:"13px",display:"flex",alignItems:"center",gap:"8px"},onMouseEnter:cc=>{cc.currentTarget.style.background="var(--mdocs-hover-bg, #f5f5f5)"},onMouseLeave:cc=>{cc.currentTarget.style.background="none"},onClick:()=>{xo(!1),(async()=>{ca(!0);try{const cc=await getDocumentInvitesApi(Un.document.documentId),Ec=new Map(cc.map(sc=>[sc.visitorId,sc.permission]));da(Ec),aa(!0)}finally{ca(!1)}})()},children:[jsxRuntimeExports.jsx(Users,{size:14}),jsxRuntimeExports.jsx("span",{children:Pn("docInfoInviteMember")})]}),jsxRuntimeExports.jsxs("button",{type:"button",style:{width:"100%",textAlign:"left",padding:"8px 16px",background:"none",border:"none",cursor:"pointer",fontSize:"13px",display:"flex",alignItems:"center",gap:"8px"},onMouseEnter:cc=>{cc.currentTarget.style.background="var(--mdocs-hover-bg, #f5f5f5)"},onMouseLeave:cc=>{cc.currentTarget.style.background="none"},onClick:()=>{xo(!1),na(Un.document.permission),ta(!0)},children:[jsxRuntimeExports.jsx(ShieldUser,{size:14}),jsxRuntimeExports.jsx("span",{children:Pn("docInfoChangePermission")})]})]})]})]})]}),ea&&jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",style:{position:"fixed",zIndex:9999},onClick:cc=>{cc.target===cc.currentTarget&&ta(!1)},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card",style:{maxWidth:480},children:[jsxRuntimeExports.jsx("h1",{style:{fontSize:"1.1rem",marginBottom:12},children:Pn("docInfoChangePermission")}),jsxRuntimeExports.jsxs("div",{className:"muted",style:{marginBottom:12},children:[Pn("domainPermission"),":",lc?localizeDomainName(lc.domainName,ei,Pn):Un.document.domainId]}),jsxRuntimeExports.jsx("div",{style:{display:"grid",gap:8},children:ic.map(cc=>jsxRuntimeExports.jsxs("label",{style:{display:"flex",alignItems:"center",gap:8,cursor:"pointer"},children:[jsxRuntimeExports.jsx("input",{type:"radio",name:"doc-permission",value:cc,checked:ra===cc,onChange:()=>na(cc)}),jsxRuntimeExports.jsx("span",{children:uc(cc)})]},cc))}),jsxRuntimeExports.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:16},children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>ta(!1),children:Pn("cancel")}),jsxRuntimeExports.jsx("button",{type:"button",className:"primary",disabled:ia,onClick:()=>void mc(),children:Pn(ia?"publishing":"saveAndPublish")})]})]})}),jsxRuntimeExports.jsx(VisitorPickerModal,{open:sa,title:Pn("docInfoInviteMember"),initialSelectedIds:[...ua.keys()],initialPermissions:ua,templates:[],showPermissionSelect:!0,permissionOptions:[{value:"read",label:Pn("invitePermissionRead")},{value:"edit",label:Pn("invitePermissionEdit")}],onClose:()=>aa(!1),onConfirm:cc=>{Ac(cc)}}),jsxRuntimeExports.jsx(OutlineProvider,{children:jsxRuntimeExports.jsx(Block,{flex:1,style:{minHeight:0},children:jsxRuntimeExports.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0},children:[Oa&&Aa&&jsxRuntimeExports.jsx(Toolbar,{editor:Aa,outlineCollapseTitle:Pn("outlineHide"),outlineExpandTitle:Pn("outlineShow"),outlineToggle:!0}),jsxRuntimeExports.jsx("div",{className:"mdocs-editor-content-area",style:{flex:1,display:"flex",minHeight:0},children:jsxRuntimeExports.jsxs(Block,{variant:"outlined",horizontal:!0,style:{background:"var(--mdocs-surface)",flex:1,minHeight:0,minWidth:0,borderRadius:0,outline:"none"},children:[jsxRuntimeExports.jsx("div",{className:"mdocs-editor-scroll-host",children:Ia?jsxRuntimeExports.jsx(Editor,{content:Un.document.content,type:Wa,confirmPasteMarkdown:!0,editable:Oa,onInit:Ka,plugins:xc,lineEmptyPlaceholder:Pn("displayNamePlaceholder"),placeholder:Pn("displayNamePlaceholder"),slashOption:{items:kc},className:"mdocs-document-editor-root"},Un.document.documentId):null}),Aa&&jsxRuntimeExports.jsx(OutlineSideRail,{editor:Aa})]})})]})})})]})}function ConfirmDialog({title:Un,message:Pn,confirmLabel:ei="确定",cancelLabel:co="取消",onConfirm:xo,onCancel:os,busy:hs=!1,danger:Ms=!1}){return jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",role:"presentation",onMouseDown:ea=>{ea.target===ea.currentTarget&&!hs&&os()},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card mdocs-message-dialog",role:"alertdialog","aria-modal":"true",children:[Un&&jsxRuntimeExports.jsx("h2",{className:"mdocs-message-dialog-title",children:Un}),jsxRuntimeExports.jsx("p",{className:"mdocs-message-dialog-body",children:Pn}),jsxRuntimeExports.jsxs("div",{className:"mdocs-message-dialog-actions",style:{gap:8},children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:os,disabled:hs,children:co}),jsxRuntimeExports.jsx("button",{type:"button",className:Ms?"danger":"primary",onClick:xo,disabled:hs,children:hs?"…":ei})]})]})})}function RecoveryDialog({draft:Un,onClose:Pn,onSuccess:ei}){const{t:co,lang:xo}=useI18n(),[os,hs]=reactExports.useState([]),[Ms,ea]=reactExports.useState(Un.domainId??""),[ta,ra]=reactExports.useState([]),[na,ia]=reactExports.useState(""),[oa,sa]=reactExports.useState(`${Un.displayName||"untitled"}_recovered.md`),[aa,la]=reactExports.useState(!1),[ca,ua]=reactExports.useState(null),da=reactExports.useRef(null),ha=reactExports.useRef(!0);reactExports.useEffect(()=>(ha.current=!0,()=>{ha.current=!1}),[]),reactExports.useEffect(()=>{fetchDomainsSafe().then(ma=>{ha.current&&hs(ma)})},[]),reactExports.useEffect(()=>{Ms&&(ra([]),ia(""),fetchTreeApi(Ms).then(ma=>{ha.current&&ra(ma)}).catch(()=>{ha.current&&ra([])}))},[Ms]),reactExports.useEffect(()=>{const ma=window.setTimeout(()=>{var ga;return(ga=da.current)==null?void 0:ga.focus()},0);return()=>window.clearTimeout(ma)},[]),reactExports.useEffect(()=>{const ma=ga=>{ga.key==="Escape"&&Pn()};return window.addEventListener("keydown",ma),()=>window.removeEventListener("keydown",ma)},[Pn]);function fa(ma,ga){for(const xa of ma){if(xa.type==="folder"&&xa.path===ga)return xa.documentId;if(xa.type==="folder"){const va=fa(xa.children,ga);if(va)return va}}return null}async function pa(ma){ma.preventDefault(),la(!0),ua(null);const ga=oa.replace(/\s+/g,"_").replace(/[^a-zA-Z0-9_\-.]/g,""),xa=ga.endsWith(".md")?ga:ga+".md",va=xa.replace(/\.md$/i,"");try{const ya=na?`${na}/${xa}`:xa,Ca=na?fa(ta,na)??void 0:void 0;await createDocumentApi({fileName:xa,displayName:va,content:Un.content,domainId:Ms,parentId:Ca}),ei()}catch(ya){ua(translateError(co,ya))}finally{la(!1)}}return jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",role:"presentation",onMouseDown:ma=>{ma.target===ma.currentTarget&&!aa&&Pn()},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card mdocs-recovery-dialog",role:"dialog","aria-modal":"true",children:[jsxRuntimeExports.jsx("h1",{children:co("recoverDraft")}),jsxRuntimeExports.jsx("p",{className:"muted",children:co("recoverDraftDesc",{name:Un.displayName||co("unknownTitle")})}),jsxRuntimeExports.jsxs("form",{onSubmit:pa,className:"mdocs-dialog-form",children:[jsxRuntimeExports.jsxs("label",{className:"mdocs-dialog-label",children:[co("domainLabel"),os.length>0&&jsxRuntimeExports.jsx(DomainSelect,{domains:os,value:Ms,onChange:ea,ariaLabel:co("domainLabel"),localizeName:ma=>localizeDomainName(ma,xo,co)})]}),jsxRuntimeExports.jsxs("label",{className:"mdocs-dialog-label mdocs-recovery-tree-label",children:[co("recoverTargetFolder"),jsxRuntimeExports.jsx("div",{className:"mdocs-recovery-tree",children:jsxRuntimeExports.jsx(DocumentTree,{nodes:ta,activeDocumentId:null,selectedParentPath:na,onOpen:()=>{},onOpenFolder:ma=>ia(ma),onContextMenu:()=>{},onDeselect:()=>ia("")})})]}),jsxRuntimeExports.jsxs("label",{className:"mdocs-dialog-label",children:[co("fileNameLabel"),jsxRuntimeExports.jsx("input",{ref:da,value:oa,onChange:ma=>sa(ma.target.value),placeholder:"recovered.md",maxLength:200,disabled:aa})]}),ca&&jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-error",children:ca}),jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog-actions",children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>!aa&&Pn(),disabled:aa,children:co("cancel")}),jsxRuntimeExports.jsx("button",{type:"submit",className:"primary",disabled:aa,children:co(aa?"creating":"create")})]})]})]})})}function DraftListPage({onPublish:Un,onClose:Pn,onCountChange:ei,onRecover:co}){const{t:xo}=useI18n(),[os,hs]=reactExports.useState([]),[Ms,ea]=reactExports.useState(new Set),[ta,ra]=reactExports.useState(!1),[na,ia]=reactExports.useState(null),[oa,sa]=reactExports.useState(null),[aa,la]=reactExports.useState(null),ca=reactExports.useRef(null),ua=reactExports.useRef(!0);reactExports.useEffect(()=>(ua.current=!0,listAllDrafts().then(ya=>{if(!ua.current)return;const Ca=ya.filter(Sa=>!Sa.published);hs(Ca),ei==null||ei(Ca.length)}),()=>{ua.current=!1,ca.current&&(clearTimeout(ca.current),ca.current=null)}),[]),reactExports.useEffect(()=>{const ya=Ca=>{Ca.key==="Escape"&&Pn()};return window.addEventListener("keydown",ya),()=>window.removeEventListener("keydown",ya)},[Pn]);const da=reactExports.useCallback((ya,Ca)=>{la({message:ya,type:Ca}),ca.current&&clearTimeout(ca.current),ca.current=setTimeout(()=>la(null),3e3)},[]);async function ha(ya){await clearDraftPublishError(ya),ea(Ca=>new Set(Ca).add(ya));try{await Un(ya),hs(Ca=>{const Sa=Ca.filter(wa=>wa.documentId!==ya);return ei==null||ei(Sa.length),Sa}),da(xo("published"),"success")}catch{da(xo("publishFailed"),"error")}finally{ea(Ca=>{const Sa=new Set(Ca);return Sa.delete(ya),Sa})}}async function fa(ya){ia(null),await deleteDraft(ya),hs(Ca=>{const Sa=Ca.filter(wa=>wa.documentId!==ya);return ei==null||ei(Sa.length),Sa}),da(xo("draftDeleted"),"success")}function pa(ya){const Ca=os.find(Sa=>Sa.documentId===ya);Ca&&sa(Ca)}function ma(ya){sa(null),deleteDraft(ya),hs(Ca=>{const Sa=Ca.filter(wa=>wa.documentId!==ya);return ei==null||ei(Sa.length),Sa}),co==null||co(os.find(Ca=>Ca.documentId===ya)),da(xo("published"),"success")}async function ga(){ra(!0);let ya=0,Ca=0;for(const Ta of os)try{await Un(Ta.documentId),ya++}catch{Ca++}const wa=(await listAllDrafts()).filter(Ta=>!Ta.published);hs(wa),ei==null||ei(wa.length),Ca===0?da(xo("publishAll"),"success"):da(`${ya} published, ${Ca} failed`,"error"),ra(!1)}const xa=ya=>new Date(ya).toLocaleString(void 0,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}),va=os;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:"mdocs-drawer-overlay",onClick:Pn}),jsxRuntimeExports.jsxs("div",{className:"mdocs-drawer",role:"dialog","aria-modal":"true",children:[jsxRuntimeExports.jsxs("header",{className:"mdocs-drawer-header",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-drawer-header-text",children:[jsxRuntimeExports.jsxs("h2",{className:"mdocs-drawer-title",children:[xo("unpublishedDrafts"),va.length>0&&jsxRuntimeExports.jsx("span",{className:"mdocs-drawer-count-badge",children:va.length})]}),jsxRuntimeExports.jsx("span",{className:"mdocs-drawer-subtitle",children:xo("draftCount",{count:String(va.length)})})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-drawer-close-btn",onClick:Pn,"aria-label":xo("close"),children:"×"})]}),jsxRuntimeExports.jsx("div",{className:"mdocs-drawer-body",children:va.length===0?jsxRuntimeExports.jsxs("div",{className:"mdocs-drawer-empty",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-drawer-empty-icon","aria-hidden":"true",children:"✓"}),jsxRuntimeExports.jsx("p",{className:"mdocs-drawer-empty-text",children:xo("draftsEmptyState")})]}):jsxRuntimeExports.jsx("div",{className:"mdocs-drawer-items",children:va.map(ya=>{const Ca=!!ya.publishError;return jsxRuntimeExports.jsxs("div",{className:Ca?"mdocs-drawer-item mdocs-drawer-item-failed":"mdocs-drawer-item",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-drawer-item-icon","aria-hidden":"true",children:"📄"}),jsxRuntimeExports.jsxs("div",{className:"mdocs-drawer-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-drawer-item-name",children:ya.displayName||xo("unknownTitle")}),Ca?jsxRuntimeExports.jsxs("span",{className:"mdocs-drawer-item-error",children:[xa(ya.publishErrorAt)," · ",xo("draftPublishFailedNotice",{name:ya.displayName||xo("unknownTitle")})]}):jsxRuntimeExports.jsxs("span",{className:"mdocs-drawer-item-meta",children:[xa(ya.updatedAt)," · ",xo("localSnapshot")]})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-drawer-item-actions",children:[Ca?jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-btn-ghost mdocs-btn-ghost-primary",disabled:ta,onClick:()=>pa(ya.documentId),children:xo("recoverDraft")}):jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-btn-ghost mdocs-btn-ghost-primary",disabled:Ms.has(ya.documentId)||ta,onClick:()=>void ha(ya.documentId),children:Ms.has(ya.documentId)?xo("publishing"):xo("publish")}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-btn-ghost mdocs-btn-ghost-danger",disabled:ta,onClick:()=>ia(ya.documentId),children:xo("delete")})]})]},ya.documentId)})})}),jsxRuntimeExports.jsxs("footer",{className:"mdocs-drawer-footer",children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:Pn,children:xo("close")}),jsxRuntimeExports.jsx("button",{type:"button",className:"primary",disabled:va.length===0||ta,onClick:()=>void ga(),children:ta?xo("publishing"):`${xo("publishAll")} (${va.length})`})]}),aa&&jsxRuntimeExports.jsx("div",{className:"mdocs-drawer-toast mdocs-drawer-toast--"+aa.type,role:"status",children:aa.message})]}),na&&jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",role:"presentation",onMouseDown:ya=>{ya.target===ya.currentTarget&&ia(null)},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card",role:"dialog","aria-modal":"true",children:[jsxRuntimeExports.jsx("h1",{children:xo("delete")}),jsxRuntimeExports.jsx("p",{className:"muted",children:xo("confirmDeleteDraft")}),jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog-actions",children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>ia(null),children:xo("cancel")}),jsxRuntimeExports.jsx("button",{type:"button",className:"danger",onClick:()=>void fa(na),children:xo("delete")})]})]})}),oa&&jsxRuntimeExports.jsx(RecoveryDialog,{draft:oa,onClose:()=>sa(null),onSuccess:()=>ma(oa.documentId)})]})}function useDomainManagement(){const{t:Un,lang:Pn}=useI18n(),ei=getStoredVisitorId(),co=reactExports.useRef(!1),[xo,os]=reactExports.useState([]),[hs,Ms]=reactExports.useState(!1),[ea,ta]=reactExports.useState(""),[ra,na]=reactExports.useState("restricted"),[ia,oa]=reactExports.useState(!1),[sa,aa]=reactExports.useState(null),[la,ca]=reactExports.useState(null),[ua,da]=reactExports.useState(""),[ha,fa]=reactExports.useState(""),[pa,ma]=reactExports.useState("all"),[ga,xa]=reactExports.useState(null);reactExports.useEffect(()=>(co.current=!0,()=>{co.current=!1}),[]);const va=reactExports.useCallback(async()=>{Ms(!0),aa(null);try{const za=await fetchDomainsApi();if(!co.current)return;os(za)}catch(za){if(!co.current)return;aa(translateError(Un,za))}finally{co.current&&Ms(!1)}},[Un]);reactExports.useEffect(()=>{va()},[va]);async function ya(za){if(za.preventDefault(),!ea.trim()){aa(Un("domainNameRequired"));return}oa(!0),aa(null);try{if(await createDomainApi({domainName:ea.trim(),permission:ra}),!co.current)return;ta(""),na("restricted"),await va()}catch(Na){if(!co.current)return;aa(translateError(Un,Na))}finally{co.current&&oa(!1)}}async function Ca(za){if(ua.trim()){aa(null);try{if(await renameDomainApi(za,ua.trim()),!co.current)return;ca(null),xa(null),await va()}catch(Na){if(!co.current)return;aa(translateError(Un,Na))}}}function Sa(za){ca(za.domainId),da(za.domainName),xa(null)}function wa(){ca(null),xa(null)}async function Ta(za,Na){aa(null);try{if(await updateDomainPermissionApi(za,Na),!co.current)return;xa(null),await va()}catch(La){if(!co.current)return;aa(translateError(Un,La))}}async function Ra(za){if(window.confirm(Un("deleteDomainConfirmDetail",{name:za.domainName,count:String(za.docCount)}))){aa(null);try{if(await deleteDomainApi(za.domainId),!co.current)return;await va()}catch(Na){if(!co.current)return;aa(translateError(Un,Na))}}}const Oa=reactExports.useCallback(za=>domainPermissionLabel(za,Un),[Un]),Aa=reactExports.useCallback(za=>localizeDomainName(za.domainName,Pn,Un),[Pn,Un]),Ma=reactExports.useMemo(()=>{const za=ha.trim().toLowerCase();return xo.filter(Na=>pa!=="all"&&Na.permission!==pa?!1:za?localizeDomainName(Na.domainName,Pn,Un).toLowerCase().includes(za)||Na.domainName.toLowerCase().includes(za):!0)},[xo,ha,pa,Pn,Un]),Ia=reactExports.useCallback((za,Na)=>{const La=Oa(za.permission);return Na?`${La} ${Un("domainTypeBuiltinSuffix")}`:La},[Oa,Un]);return{domains:xo,loadingDomains:hs,domainError:sa,newDomainName:ea,setNewDomainName:ta,newDomainPermission:ra,setNewDomainPermission:na,creating:ia,handleCreateDomain:ya,renamingId:la,setRenamingId:ca,renameDraft:ua,setRenameDraft:da,startRename:Sa,cancelRename:wa,handleRename:Ca,changeTypeForId:ga,setChangeTypeForId:xa,handlePermissionChange:Ta,handleDelete:Ra,domainSearch:ha,setDomainSearch:fa,domainFilter:pa,setDomainFilter:ma,filteredDomains:Ma,visitorId:ei,plabel:Oa,localizeDomain:Aa,domainTypeLabel:Ia}}function DomainManagementPanel(){const{t:Un}=useI18n(),Pn=useDomainManagement(),[ei,co]=reactExports.useState([]),[xo,os]=reactExports.useState(null),[hs,Ms]=reactExports.useState(null),ea=reactExports.useCallback(async()=>{try{const ra=await fetchDomainMemberTemplatesApi();co(ra)}catch{co([])}},[]);reactExports.useEffect(()=>{ea()},[ea]);async function ta(ra){os(null);try{const na=await fetchDomainMembersApi(ra.domainId);Ms({domainId:ra.domainId,creatorVisitorId:ra.creatorVisitorId,initialIds:na.map(ia=>ia.visitorId),memberRows:na})}catch(na){os({kind:"err",text:translateError(Un,na)})}}return jsxRuntimeExports.jsxs("div",{className:"mdocs-settings",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-header",children:jsxRuntimeExports.jsx("h2",{className:"mdocs-settings-title",children:Un("domainManagement")})}),jsxRuntimeExports.jsx("p",{className:"mdocs-domain-mgmt-restricted-hint",children:Un("domainMgmtRestrictedMemberHint")}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-cards",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-card mdocs-domain-mgmt-create",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card-title",children:Un("createDomain")}),jsxRuntimeExports.jsxs("form",{onSubmit:Pn.handleCreateDomain,className:"mdocs-domain-mgmt-create-form",children:[jsxRuntimeExports.jsxs("label",{className:"mdocs-domain-mgmt-field",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-domain-mgmt-label",children:Un("domainName")}),jsxRuntimeExports.jsx("input",{value:Pn.newDomainName,onChange:ra=>Pn.setNewDomainName(ra.target.value),placeholder:Un("domainName"),maxLength:100,disabled:Pn.creating,className:"mdocs-domain-name-input"})]}),jsxRuntimeExports.jsxs("fieldset",{className:"mdocs-domain-mgmt-fieldset",children:[jsxRuntimeExports.jsx("legend",{className:"mdocs-domain-mgmt-label",children:Un("domainPermission")}),jsxRuntimeExports.jsx("div",{className:"mdocs-domain-mgmt-type-radios",children:DOMAIN_PERMISSIONS.map(ra=>jsxRuntimeExports.jsxs("label",{className:"mdocs-domain-mgmt-radio",children:[jsxRuntimeExports.jsx("input",{type:"radio",name:"newDomainPermission",checked:Pn.newDomainPermission===ra,onChange:()=>Pn.setNewDomainPermission(ra),disabled:Pn.creating}),jsxRuntimeExports.jsx("span",{children:Pn.plabel(ra)})]},ra))})]}),jsxRuntimeExports.jsx("button",{type:"submit",className:"primary mdocs-domain-mgmt-submit",disabled:Pn.creating,children:Pn.creating?Un("creating"):Un("create")})]})]}),xo&&jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",style:{color:xo.kind==="ok"?"var(--mdocs-success, #0a7)":"var(--mdocs-danger)"},children:jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:xo.text})}),Pn.domainError&&jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card mdocs-domain-error",children:jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",style:{color:"var(--mdocs-danger)"},children:Pn.domainError})}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-card mdocs-domain-mgmt-toolbar",children:[jsxRuntimeExports.jsx("input",{type:"search",value:Pn.domainSearch,onChange:ra=>Pn.setDomainSearch(ra.target.value),placeholder:Un("domainSearchPlaceholder"),className:"mdocs-domain-mgmt-search","aria-label":Un("domainSearchPlaceholder")}),jsxRuntimeExports.jsx("div",{className:"mdocs-domain-mgmt-filters",role:"group","aria-label":Un("domainPermission"),children:["all",...DOMAIN_PERMISSIONS].map(ra=>jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-domain-mgmt-filter"+(Pn.domainFilter===ra?" active":""),"aria-pressed":Pn.domainFilter===ra,onClick:()=>Pn.setDomainFilter(ra),children:ra==="all"?Un("domainFilterAll"):Pn.plabel(ra)},ra))})]}),Pn.loadingDomains?jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",children:jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Un("loading")})}):Pn.domains.length===0?jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card mdocs-settings-draft-empty",children:jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Un("noDomains")})}):Pn.filteredDomains.length===0?jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card mdocs-settings-draft-empty",children:jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Un("domainNoMatch")})}):jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card mdocs-domain-table-wrap",children:jsxRuntimeExports.jsxs("table",{className:"mdocs-domain-table",children:[jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("th",{scope:"col",children:Un("domainColName")}),jsxRuntimeExports.jsx("th",{scope:"col",children:Un("domainColType")}),jsxRuntimeExports.jsx("th",{scope:"col",className:"mdocs-domain-table-num",children:Un("domainColDocCount")}),jsxRuntimeExports.jsx("th",{scope:"col",children:Un("domainColActions")})]})}),jsxRuntimeExports.jsx("tbody",{children:Pn.filteredDomains.map(ra=>{const na=isDomainCreator(ra,Pn.visitorId),ia=isBuiltInDomainId(ra.domainId),oa=isDomainStructurallyLocked(ra),sa=oa?Un("domainTooltipTypeLocked",{count:String(ra.docCount)}):void 0;return jsxRuntimeExports.jsxs("tr",{className:ia?"mdocs-domain-table-row-builtin":void 0,children:[jsxRuntimeExports.jsx("td",{children:Pn.renamingId===ra.domainId?jsxRuntimeExports.jsxs("div",{className:"mdocs-domain-table-rename",children:[jsxRuntimeExports.jsx("input",{value:Pn.renameDraft,onChange:aa=>Pn.setRenameDraft(aa.target.value),maxLength:100,autoFocus:!0,className:"mdocs-domain-name-input"}),jsxRuntimeExports.jsx("button",{type:"button",className:"primary",onClick:()=>void Pn.handleRename(ra.domainId),children:Un("save")}),jsxRuntimeExports.jsx("button",{type:"button",onClick:Pn.cancelRename,children:Un("cancel")})]}):jsxRuntimeExports.jsxs("div",{className:"mdocs-domain-table-name-cell",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-domain-table-name",children:Pn.localizeDomain(ra)}),ia&&jsxRuntimeExports.jsx("span",{className:"mdocs-domain-badge-builtin",children:Un("domainBuiltIn")}),!na&&!ia&&jsxRuntimeExports.jsx("span",{className:"mdocs-domain-badge-shared",children:Un("shared")})]})}),jsxRuntimeExports.jsx("td",{children:jsxRuntimeExports.jsxs("span",{className:"mdocs-domain-table-type",title:sa,children:[jsxRuntimeExports.jsx("span",{className:"mdocs-domain-permission-badge","data-permission":ra.permission,children:Pn.domainTypeLabel(ra,ia)}),oa&&!ia&&jsxRuntimeExports.jsx("span",{className:"mdocs-domain-type-lock","aria-hidden":"true",children:"🔒"})]})}),jsxRuntimeExports.jsx("td",{className:"mdocs-domain-table-num",children:ra.docCount}),jsxRuntimeExports.jsxs("td",{className:"mdocs-domain-table-actions",children:[ia&&jsxRuntimeExports.jsx("span",{className:"mdocs-domain-not-modifiable",children:Un("domainNotModifiable")}),!ia&&!na&&jsxRuntimeExports.jsx("span",{className:"mdocs-domain-not-creator-inline",children:Un("domainNotCreator")}),!ia&&na&&Pn.changeTypeForId===ra.domainId&&jsxRuntimeExports.jsxs("div",{className:"mdocs-domain-change-type-panel",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-domain-permission-select",children:DOMAIN_PERMISSIONS.map(aa=>jsxRuntimeExports.jsx("button",{type:"button",className:ra.permission===aa?"active":"",onClick:()=>void Pn.handlePermissionChange(ra.domainId,aa),children:Pn.plabel(aa)},aa))}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:()=>Pn.setChangeTypeForId(null),children:Un("cancel")})]}),!ia&&na&&Pn.renamingId!==ra.domainId&&Pn.changeTypeForId!==ra.domainId&&jsxRuntimeExports.jsxs("div",{className:"mdocs-domain-action-buttons",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",title:oa?Un("domainLocked"):void 0,onClick:()=>{Pn.setChangeTypeForId(null),Pn.startRename(ra)},disabled:oa,children:Un("rename")}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",title:oa?sa:void 0,onClick:()=>{Pn.setRenamingId(null),Pn.setChangeTypeForId(ra.domainId)},disabled:oa,children:Un("domainChangeType")}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",title:oa?Un("domainLocked"):void 0,onClick:()=>void Pn.handleDelete(ra),disabled:oa,children:Un("deleteDomain")}),ra.permission==="restricted"&&!ia&&jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:()=>void ta(ra),children:Un("domainMembersManageButton")})]})]})]},ra.domainId)})})]})})]}),jsxRuntimeExports.jsx(VisitorPickerModal,{open:hs!==null,title:Un("domainMembersPickerTitle"),initialSelectedIds:(hs==null?void 0:hs.initialIds)??[],lockedIds:hs?[hs.creatorVisitorId]:[],seedMembers:hs==null?void 0:hs.memberRows,templates:ei,onClose:()=>Ms(null),onConfirm:async ra=>{hs&&(await putDomainMembersApi(hs.domainId,ra),os({kind:"ok",text:Un("domainMembersSaved",{count:String(ra.length)})}))}})]})}function idPrefix6(Un){return Un.length<=6?Un:`${Un.slice(0,6)}…`}function MemberTemplatesPanel(){const{t:Un}=useI18n(),Pn=reactExports.useRef(!0),[ei,co]=reactExports.useState([]),[xo,os]=reactExports.useState(!0),[hs,Ms]=reactExports.useState(null),[ea,ta]=reactExports.useState(1),[ra,na]=reactExports.useState(null),[ia,oa]=reactExports.useState(""),[sa,aa]=reactExports.useState([]),[la,ca]=reactExports.useState(!1),[ua,da]=reactExports.useState(null),[ha,fa]=reactExports.useState(!1),pa=getStoredVisitorId(),[ma,ga]=reactExports.useState([]),[xa,va]=reactExports.useState("idle"),[ya,Ca]=reactExports.useState("");reactExports.useEffect(()=>(Pn.current=!0,()=>{Pn.current=!1}),[]),reactExports.useEffect(()=>{va("loading"),fetchVisitorsDirectoryApi().then(Ga=>{Pn.current&&(ga(Ga),va("ok"))}).catch(()=>{Pn.current&&va("err")})},[]);const Sa=reactExports.useMemo(()=>{const Ga=new Map;for(const Xa of ma)Ga.set(Xa.visitorId,Xa.visitorName);return Ga},[ma]),wa=reactExports.useCallback(async()=>{os(!0),da(null);try{const Ga=await fetchDomainMemberTemplatesApi();Pn.current&&co(Ga)}catch(Ga){Pn.current&&da(translateError(Un,Ga))}finally{Pn.current&&os(!1)}},[Un]);reactExports.useEffect(()=>{wa()},[wa]);const Ta=reactExports.useMemo(()=>sa.map(Ga=>{const Xa=ma.find(Ja=>Ja.visitorId===Ga);return{visitorId:Ga,name:Xa?Xa.visitorName:Un("visitorPickerUnknownVisitor"),muted:!Xa}}),[sa,ma,Un]);function Ra(Ga){aa(Xa=>Xa.includes(Ga)?Xa.filter(Ja=>Ja!==Ga):[...Xa,Ga])}const Oa=ea===1?ia.trim().length>0:ea===2?sa.length>0:!0;function Aa(){if(!(ea>=3)){if(!Oa){fa(!0);return}fa(!1),ta(ea+1),Ca("")}}function Ma(){ea<=1||(fa(!1),ta(ea-1))}function Ia(){Ms(null),na(null),oa(""),aa(pa?[pa]:[]),da(null),ta(1),Ca(""),fa(!1)}function za(Ga){Ms(null),na(Ga.id),oa(Ga.displayName);const Xa=pa&&!Ga.visitorIds.includes(pa)?[...Ga.visitorIds,pa]:[...Ga.visitorIds];aa(Xa),da(null),ta(1),Ca(""),fa(!1)}async function Na(){if(!(!ia.trim()||sa.length===0)){ca(!0),da(null);try{if(ra===null?await createDomainMemberTemplateApi({displayName:ia.trim(),visitorIds:sa}):await updateDomainMemberTemplateApi(ra,{displayName:ia.trim(),visitorIds:sa}),!Pn.current)return;Ia(),await wa()}catch(Ga){if(!Pn.current)return;da(translateError(Un,Ga))}finally{Pn.current&&ca(!1)}}}async function La(Ga){ca(!0),da(null);try{if(await deleteDomainMemberTemplateApi(Ga),!Pn.current)return;Ms(null),ra===Ga&&Ia(),await wa()}catch(Xa){if(!Pn.current)return;da(translateError(Un,Xa))}finally{Pn.current&&ca(!1)}}const Wa=[{key:1,label:Un("memberTemplateStepName")},{key:2,label:Un("memberTemplateStepMembers")},{key:3,label:Un("memberTemplateStepSave")}],Ua=`${(ea-1)/2*100}%`;return jsxRuntimeExports.jsxs("div",{className:"mdocs-settings",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-header",children:[jsxRuntimeExports.jsx("h2",{className:"mdocs-settings-title",children:Un(ra!==null?"memberTemplateUpdate":"memberTemplateFormNew")}),ra!==null&&jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:Ia,style:{fontSize:12},children:Un("memberTemplateCancelEdit")})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-progress",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-wizard-progress-track",children:jsxRuntimeExports.jsx("div",{className:"mdocs-wizard-progress-fill",style:{width:Ua}})}),jsxRuntimeExports.jsx("div",{className:"mdocs-wizard-progress-steps",children:Wa.map(Ga=>{const Xa=ea===Ga.key,Ja=ea>Ga.key;return jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-step-indicator",children:[jsxRuntimeExports.jsx("div",{className:`mdocs-wizard-step-circle${Xa?" current":""}${Ja?" done":""}`,children:Ja?"✓":Ga.key}),jsxRuntimeExports.jsx("span",{className:`mdocs-wizard-step-label${Xa?" current":""}${Ja?" done":""}`,children:Ga.label})]},Ga.key)})})]}),ua&&jsxRuntimeExports.jsx("div",{className:"mdocs-settings-item-desc",style:{color:"var(--mdocs-danger)",marginBottom:12,marginTop:12},children:ua}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-cards",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-card mdocs-wizard-card",children:[ea===1&&jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-step-content",children:[jsxRuntimeExports.jsx("input",{className:"mdocs-wizard-name-input",value:ia,onChange:Ga=>oa(Ga.target.value),placeholder:Un("memberTemplateNamePlaceholder"),maxLength:200,disabled:la,autoFocus:!0,"aria-invalid":ha&&!ia.trim()}),ha&&!ia.trim()&&jsxRuntimeExports.jsx("p",{className:"mdocs-wizard-hint",style:{color:"var(--mdocs-danger)"},children:Un("domainNameRequired")})]}),ea===2&&jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-step-content",children:[jsxRuntimeExports.jsx(VisitorPickerContent,{visitors:ma,loadState:xa,searchFilter:ya,onSearchChange:Ca,selectedIds:new Set(sa),onToggle:Ra,selectedRows:Ta,myVisitorId:pa}),jsxRuntimeExports.jsx("p",{className:`mdocs-wizard-hint${ha&&sa.length===0?" danger":""}`,children:"💡 "+Un("memberTemplateStep2Hint")})]}),ea===3&&jsxRuntimeExports.jsx("div",{className:"mdocs-wizard-step-content",children:jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-preview-card",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-preview-row",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-wizard-preview-label",children:Un("memberTemplateNameLabel")}),jsxRuntimeExports.jsx("span",{className:"mdocs-wizard-preview-value",children:ia})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-preview-row",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-wizard-preview-label",children:Un("memberTemplateIdsLabel")}),jsxRuntimeExports.jsx("span",{className:"mdocs-wizard-preview-value",children:Un("memberTemplateSelectedSummary",{count:String(sa.length)})})]}),sa.length>0&&jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-preview-tags",children:[sa.slice(0,15).map(Ga=>jsxRuntimeExports.jsx("span",{className:"mdocs-wizard-preview-tag",children:idPrefix6(Ga)},Ga)),sa.length>15&&jsxRuntimeExports.jsxs("span",{className:"mdocs-wizard-preview-tag mdocs-wizard-preview-tag-more",children:["+",sa.length-15]})]})]})}),jsxRuntimeExports.jsxs("div",{className:"mdocs-wizard-footer",children:[jsxRuntimeExports.jsxs("button",{type:"button",className:"secondary",onClick:Ma,children:["← ",Un("memberTemplateWizardBack")]}),ea<3?jsxRuntimeExports.jsxs("button",{type:"button",className:"primary",onClick:Aa,children:[Un("memberTemplateWizardNext")," →"]}):jsxRuntimeExports.jsx("button",{type:"button",className:"primary",onClick:()=>void Na(),children:Un(la?"saving":ra===null?"memberTemplateCreate":"memberTemplateUpdate")})]})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-card",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card-title",children:Un("memberTemplateSavedList")}),xo?jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Un("loading")}):ei.length===0?jsxRuntimeExports.jsxs("div",{className:"mdocs-member-template-empty",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Un("memberTemplateEmpty")}),ra===null&&jsxRuntimeExports.jsx("button",{type:"button",className:"primary",onClick:Ia,children:Un("memberTemplateEmptyAction")})]}):jsxRuntimeExports.jsx("ul",{className:"mdocs-member-template-list",children:ei.map(Ga=>jsxRuntimeExports.jsx("li",{className:"mdocs-member-template-row",children:hs===Ga.id?jsxRuntimeExports.jsxs("div",{className:"mdocs-member-template-confirm-row",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-member-template-confirm-text",children:Un("memberTemplateConfirmDeleteDesc",{name:Ga.displayName})}),jsxRuntimeExports.jsxs("div",{className:"mdocs-member-template-confirm-actions",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",style:{color:"var(--mdocs-danger)"},onClick:()=>void La(Ga.id),children:Un(la?"saving":"memberTemplateConfirmDeleteSubmit")}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:()=>Ms(null),children:Un("memberTemplateConfirmDeleteCancel")})]})]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-member-template-row-head",children:[jsxRuntimeExports.jsx("strong",{children:Ga.displayName}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Un("memberTemplateCount",{count:String(Ga.visitorIds.length)})}),Ga.visitorIds.length>0&&jsxRuntimeExports.jsx("div",{className:"mdocs-member-template-tags mdocs-member-template-tags-scroll",children:Ga.visitorIds.map(Xa=>jsxRuntimeExports.jsx("span",{className:"mdocs-member-template-tag",children:Sa.get(Xa)??idPrefix6(Xa)},Xa))})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-member-template-row-actions",children:[jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:()=>za(Ga),children:Un("edit")}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:()=>Ms(Ga.id),children:Un("memberTemplateDelete")})]})]})},Ga.id))})]})]})]})}const mdocsLogo="/assets/mdocs-logo-Dsv_2t6v.svg";function getBool(Un,Pn){const ei=localStorage.getItem(Un);return ei===null?Pn:ei==="true"}function SettingsPage(Un){const{t:Pn,lang:ei,setLang:co}=useI18n(),{onBack:xo,onPublishDraft:os}=Un,hs=reactExports.useRef(!0);reactExports.useEffect(()=>(hs.current=!0,()=>{hs.current=!1}),[]);const[Ms,ea]=reactExports.useState(()=>getBool("mdocs.autoPublish",!1)),[ta,ra]=reactExports.useState(()=>getBool("mdocs.autoEdit",!0)),[na,ia]=reactExports.useState(!1),[oa,sa]=reactExports.useState("general"),[aa,la]=reactExports.useState([]),[ca,ua]=reactExports.useState(!0),[da,ha]=reactExports.useState(null),[fa,pa]=reactExports.useState(!1),[ma,ga]=reactExports.useState(!1),[xa,va]=reactExports.useState(!1),[ya,Ca]=reactExports.useState(null),[Sa,wa]=reactExports.useState(!1),[Ta,Ra]=reactExports.useState(!1),[Oa,Aa]=reactExports.useState(""),[Ma,Ia]=reactExports.useState(!1),[za,Na]=reactExports.useState(!1),[La,Wa]=reactExports.useState(0),[Ua,Ga]=reactExports.useState([]),[Xa,Ja]=reactExports.useState(!1),[$a,Pa]=reactExports.useState(""),[Fa,Ha]=reactExports.useState([]),[Ka,Sl]=reactExports.useState(!1),[Za,lc]=reactExports.useState(""),[ic,uc]=reactExports.useState(!1),[mc,Ac]=reactExports.useState(null),[dc,kc]=reactExports.useState(new Map);reactExports.useEffect(()=>{localStorage.setItem("mdocs.autoPublish",String(Ms))},[Ms]),reactExports.useEffect(()=>{localStorage.setItem("mdocs.autoEdit",String(ta))},[ta]),reactExports.useEffect(()=>{oa==="savePublish"&&listAllDrafts().then(bc=>{hs.current&&Wa(bc.filter(Bc=>!Bc.published).length)})},[oa]),reactExports.useEffect(()=>{oa==="bookmarks"&&cc(),oa==="myDocuments"&&Ec()},[oa]),reactExports.useEffect(()=>{xc()},[]);async function xc(){try{ua(!0);const bc=await listCliTokensApi();if(!hs.current)return;la(bc)}catch{}finally{hs.current&&ua(!1)}}async function cc(){try{Ja(!0);const bc=await fetchBookmarksApi();if(!hs.current)return;Ga(bc)}catch{}finally{hs.current&&Ja(!1)}}async function Ec(){try{Sl(!0);const bc=await fetchMyDocumentsApi();if(!hs.current)return;Ha(bc)}catch{}finally{hs.current&&Sl(!1)}}async function sc(bc){try{await removeBookmarkApi(bc),Ga(Bc=>Bc.filter(Xc=>Xc.documentId!==bc))}catch{}}function hc(){if(aa.some(Bc=>!Bc.revoked)){ga(!0);return}wc()}async function wc(){try{pa(!0);const bc=await createCliTokenApi();ha({token:bc.token,name:bc.name}),await xc()}finally{pa(!1)}}async function Pc(){try{Ra(!0);const bc=await generateRecoveryCodeApi();Ca(bc.recoveryCode)}finally{Ra(!1)}}async function $c(bc){bc.preventDefault();const Bc=Oa.trim();if(!(Bc&&Bc.length<4))try{Ia(!0),await setPasswordApi(Bc),Aa(""),Na(!0),setTimeout(()=>Na(!1),3e3)}finally{Ia(!1)}}async function Rc(bc){Ac(bc);try{const Bc=await getDocumentInvitesApi(bc),Xc=new Map;Bc.forEach(Vc=>{Xc.set(Vc.visitorId,Vc.permission)}),kc(Xc)}catch{kc(new Map)}uc(!0)}async function Hc(bc){if(mc)try{const Bc=new Set(bc.map(Vc=>Vc.visitorId)),Xc=new Set(dc.keys());for(const Vc of Xc)Bc.has(Vc)||await removeDocumentInviteApi(mc,Vc);for(const Vc of bc)await addDocumentInviteApi(mc,Vc.visitorId,Vc.permission);await Ec()}finally{uc(!1),Ac(null)}}const Wc=Ua.filter(bc=>{if(!$a.trim())return!0;const Bc=$a.toLowerCase();return(bc.displayName||bc.relativePath||"").toLowerCase().includes(Bc)||(bc.ownerVisitorName||"").toLowerCase().includes(Bc)||(bc.domainId||"").toLowerCase().includes(Bc)}),Nc=Fa.filter(bc=>{if(!Za.trim())return!0;const Bc=Za.toLowerCase();return(bc.displayName||bc.relativePath||"").toLowerCase().includes(Bc)||(bc.domainId||"").toLowerCase().includes(Bc)});return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("aside",{className:"mdocs-sidebar",children:[jsxRuntimeExports.jsx("header",{className:"mdocs-sidebar-header",children:jsxRuntimeExports.jsxs("div",{className:"mdocs-brand",children:[jsxRuntimeExports.jsx("img",{src:mdocsLogo,alt:Pn("brand"),className:"mdocs-brand-logo"}),jsxRuntimeExports.jsx("span",{children:Pn("brand")})]})}),jsxRuntimeExports.jsxs("nav",{className:"mdocs-config-tree",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-config-item"+(oa==="general"?" active":""),onClick:()=>sa("general"),children:Pn("general")}),jsxRuntimeExports.jsx("div",{className:"mdocs-config-item"+(oa==="bookmarks"?" active":""),onClick:()=>sa("bookmarks"),children:Pn("bookmarkTitle")}),jsxRuntimeExports.jsx("div",{className:"mdocs-config-item"+(oa==="myDocuments"?" active":""),onClick:()=>sa("myDocuments"),children:Pn("myDocuments")}),jsxRuntimeExports.jsx("div",{className:"mdocs-config-item"+(oa==="domainManagement"?" active":""),onClick:()=>sa("domainManagement"),children:Pn("domainManagement")}),jsxRuntimeExports.jsx("div",{className:"mdocs-config-item"+(oa==="memberTemplates"?" active":""),onClick:()=>sa("memberTemplates"),children:Pn("memberTemplates")}),jsxRuntimeExports.jsx("div",{className:"mdocs-config-item"+(oa==="savePublish"?" active":""),onClick:()=>sa("savePublish"),children:Pn("saveAndPublish")})]}),jsxRuntimeExports.jsx("footer",{className:"mdocs-settings-sidebar-footer",onClick:xo,children:Pn("backToDocs")})]}),jsxRuntimeExports.jsxs("main",{className:"mdocs-main",children:[isDemoMode(),oa==="general"?jsxRuntimeExports.jsxs("div",{className:"mdocs-settings",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-header",children:jsxRuntimeExports.jsx("h2",{className:"mdocs-settings-title",children:Pn("general")})}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-cards",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",children:jsxRuntimeExports.jsxs("label",{className:"mdocs-settings-item",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-info",children:jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:Pn("language")})}),jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-lang",children:[jsxRuntimeExports.jsx("button",{type:"button",className:ei==="en"?"active":"",onClick:()=>co("en"),children:"EN"}),jsxRuntimeExports.jsx("span",{children:"/"}),jsxRuntimeExports.jsx("button",{type:"button",className:ei==="zh"?"active":"",onClick:()=>co("zh"),children:"中"})]})]})}),jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",children:jsxRuntimeExports.jsxs("label",{className:"mdocs-settings-item",children:[jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:Pn("autoEdit")}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Pn("autoEditDesc")})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-toggle"+(ta?" active":""),role:"switch","aria-checked":ta,onClick:()=>ra(bc=>!bc),children:jsxRuntimeExports.jsx("span",{className:"mdocs-toggle-knob"})})]})}),jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",children:jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-item",children:[jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:Pn("cliToken")}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Pn("cliTokenDesc")}),!ca&&aa.length>0&&jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",style:{marginTop:8,fontSize:"0.85em",opacity:.8},children:aa.map(bc=>jsxRuntimeExports.jsxs("span",{style:{display:"block"},children:[bc.name," — ",new Date(bc.createdAt).toLocaleString()," ",bc.revoked?`(${Pn("cliTokenRevoked")})`:`(${Pn("cliTokenActive")})`]},bc.tokenId))})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:hc,disabled:fa||ca,children:fa?"…":aa.some(bc=>!bc.revoked)?Pn("cliTokenReset"):Pn("cliTokenCreate")})]})}),jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",children:jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-item",children:[jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:"🔑 恢复码"}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:"当 Token 丢失时,可用恢复码找回身份。生成后请立即保存,仅显示一次。"})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:Pc,disabled:Ta,children:Ta?"…":"生成恢复码"})]})}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-card",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-item",children:jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:"🔐 登录密码"}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:"设置密码后,可在其他浏览器或设备用「用户名+密码」登录。"})]})}),jsxRuntimeExports.jsxs("form",{onSubmit:$c,style:{marginTop:12},children:[jsxRuntimeExports.jsx("input",{type:"password",placeholder:"输入新密码(至少 4 位,留空则清除密码)",value:Oa,onChange:bc=>Aa(bc.target.value),minLength:0,style:{marginBottom:8}}),za&&jsxRuntimeExports.jsx("div",{style:{color:"#4caf50",marginBottom:8,fontSize:"0.875rem"},children:"✓ 密码设置成功"}),jsxRuntimeExports.jsx("button",{type:"submit",className:"secondary",disabled:Ma,children:Ma?"设置中…":"保存密码"})]})]})]}),da&&jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",style:{marginTop:16,borderColor:"#4caf50",background:"#f1f8f1"},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-item",children:[jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:Pn("cliTokenGenerated")}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",style:{wordBreak:"break-all",fontFamily:"monospace",marginTop:8},children:da.token})]}),jsxRuntimeExports.jsxs("span",{style:{display:"flex",gap:8},children:[jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:()=>{navigator.clipboard.writeText(da.token),va(!0),setTimeout(()=>va(!1),2e3)},children:Pn(xa?"cliTokenCopied":"cliTokenCopy")}),jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>ha(null),children:Pn("close")})]})]})}),ya&&jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",style:{marginTop:16,borderColor:"#e67e22",background:"#fef9f0"},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-item",children:[jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:"🔑 你的恢复码"}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",style:{marginTop:8},children:"请立即复制保存,关闭后不可再查看。"}),jsxRuntimeExports.jsx("div",{style:{fontFamily:"monospace",fontSize:"1.25rem",letterSpacing:"0.1em",background:"#fff",border:"1px solid #e0e0e0",borderRadius:8,padding:"10px 14px",marginTop:8,userSelect:"all"},children:ya})]}),jsxRuntimeExports.jsxs("span",{style:{display:"flex",gap:8,marginTop:12},children:[jsxRuntimeExports.jsx("button",{type:"button",className:"primary",onClick:()=>{navigator.clipboard.writeText(ya),wa(!0),setTimeout(()=>wa(!1),2e3)},children:Sa?"已复制":"复制恢复码"}),jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>Ca(null),children:Pn("close")})]})]})})]}):oa==="bookmarks"?jsxRuntimeExports.jsxs("div",{className:"mdocs-settings",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-header",children:jsxRuntimeExports.jsx("h2",{className:"mdocs-settings-title",children:Pn("bookmarkTitle")})}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-card",children:[jsxRuntimeExports.jsx("input",{type:"text",className:"mdocs-settings-search",placeholder:Pn("bookmarkSearch"),value:$a,onChange:bc=>Pa(bc.target.value)}),Xa?jsxRuntimeExports.jsx("div",{style:{textAlign:"center",padding:"40px 0"},children:Pn("loading")}):jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:Wc.length===0?jsxRuntimeExports.jsx("div",{style:{textAlign:"center",padding:"40px 0",opacity:.6},children:Pn($a?"bookmarkNoMatch":"bookmarkEmpty")}):jsxRuntimeExports.jsxs("table",{className:"mdocs-settings-table",children:[jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("th",{children:Pn("bookmarkColTitle")}),jsxRuntimeExports.jsx("th",{children:Pn("bookmarkColDomain")}),jsxRuntimeExports.jsx("th",{children:Pn("bookmarkColAuthor")}),jsxRuntimeExports.jsx("th",{children:Pn("bookmarkColTime")}),jsxRuntimeExports.jsx("th",{style:{textAlign:"right"}})]})}),jsxRuntimeExports.jsx("tbody",{children:Wc.map(bc=>jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{style:{cursor:"pointer",fontWeight:500},onClick:()=>Un.onOpenDocument(bc.documentId),children:bc.displayName||bc.relativePath||"Untitled"}),jsxRuntimeExports.jsx("td",{children:bc.isDeleted?jsxRuntimeExports.jsx("span",{style:{opacity:.5,fontStyle:"italic"},children:"已删除"}):bc.domainId||"—"}),jsxRuntimeExports.jsx("td",{children:bc.ownerVisitorName||"—"}),jsxRuntimeExports.jsx("td",{children:new Date(bc.bookmarkedAt).toLocaleDateString()}),jsxRuntimeExports.jsx("td",{style:{textAlign:"right"},children:jsxRuntimeExports.jsx("button",{type:"button",className:"secondary small",onClick:()=>sc(bc.documentId),children:Pn("bookmarkRemove")})})]},bc.documentId))})]})})]})]}):oa==="myDocuments"?jsxRuntimeExports.jsxs("div",{className:"mdocs-settings",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-header",children:jsxRuntimeExports.jsx("h2",{className:"mdocs-settings-title",children:Pn("myDocuments")})}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-card",children:[jsxRuntimeExports.jsx("input",{type:"text",className:"mdocs-settings-search",placeholder:"搜索文章…",value:Za,onChange:bc=>lc(bc.target.value)}),Ka?jsxRuntimeExports.jsx("div",{style:{textAlign:"center",padding:"40px 0"},children:Pn("loading")}):jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:Nc.length===0?jsxRuntimeExports.jsx("div",{style:{textAlign:"center",padding:"40px 0",opacity:.6},children:Pn(Za?"myDocumentsNoMatch":"myDocumentsEmpty")}):jsxRuntimeExports.jsxs("table",{className:"mdocs-settings-table",children:[jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("th",{children:Pn("myDocumentsColTitle")}),jsxRuntimeExports.jsx("th",{children:Pn("myDocumentsColDomain")}),jsxRuntimeExports.jsx("th",{children:Pn("myDocumentsColUpdated")}),jsxRuntimeExports.jsx("th",{children:Pn("myDocumentsColCreated")}),jsxRuntimeExports.jsx("th",{colSpan:2})]})}),jsxRuntimeExports.jsx("tbody",{children:Nc.map(bc=>jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{style:{cursor:"pointer",fontWeight:500},onClick:()=>Un.onOpenDocument(bc.documentId),children:bc.displayName||bc.relativePath||"Untitled"}),jsxRuntimeExports.jsx("td",{children:bc.domainId||"—"}),jsxRuntimeExports.jsx("td",{children:new Date(bc.updatedAt).toLocaleDateString()}),jsxRuntimeExports.jsx("td",{children:new Date(bc.createdAt).toLocaleDateString()}),jsxRuntimeExports.jsx("td",{style:{textAlign:"right"},children:jsxRuntimeExports.jsx("button",{type:"button",className:"secondary small",onClick:()=>Rc(bc.documentId),children:Pn("docInfoInviteMember")})}),jsxRuntimeExports.jsx("td",{style:{textAlign:"right",paddingLeft:0},children:jsxRuntimeExports.jsx("button",{type:"button",className:"primary small",onClick:()=>Un.onOpenDocument(bc.documentId),children:Pn("bookmarkOpen")})})]},bc.documentId))})]})})]})]}):oa==="domainManagement"?jsxRuntimeExports.jsx(DomainManagementPanel,{}):oa==="memberTemplates"?jsxRuntimeExports.jsx(MemberTemplatesPanel,{}):jsxRuntimeExports.jsxs("div",{className:"mdocs-settings",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-header",children:[jsxRuntimeExports.jsx("h2",{className:"mdocs-settings-title",children:Pn("saveAndPublish")}),jsxRuntimeExports.jsx("button",{type:"button",className:"secondary",onClick:xo,children:Pn("backToDocs")})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-settings-cards",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",children:jsxRuntimeExports.jsxs("label",{className:"mdocs-settings-item",children:[jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:Pn("autoSave")}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Pn("autoSaveAlwaysOnDesc")})]}),jsxRuntimeExports.jsx("span",{className:"mdocs-toggle active",role:"switch","aria-checked":"true","aria-disabled":"true",style:{opacity:.6,cursor:"not-allowed"},children:jsxRuntimeExports.jsx("span",{className:"mdocs-toggle-knob"})})]})}),jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card",children:jsxRuntimeExports.jsxs("label",{className:"mdocs-settings-item",children:[jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-item-info",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-settings-card-title",children:Pn("autoPublish")}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Pn("autoPublishDesc")})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-toggle"+(Ms?" active":""),role:"switch","aria-checked":Ms,onClick:()=>ea(bc=>!bc),children:jsxRuntimeExports.jsx("span",{className:"mdocs-toggle-knob"})})]})}),La>0?jsxRuntimeExports.jsxs("button",{className:"mdocs-settings-card mdocs-settings-draft-link",onClick:()=>ia(!0),children:[jsxRuntimeExports.jsxs("span",{className:"mdocs-settings-draft-link-text",children:["📄 ",Pn("viewDrafts")," (",La,")"]}),jsxRuntimeExports.jsx("span",{className:"mdocs-settings-draft-arrow","aria-hidden":"true",children:"›"})]}):jsxRuntimeExports.jsx("div",{className:"mdocs-settings-card mdocs-settings-draft-empty",children:jsxRuntimeExports.jsx("span",{className:"mdocs-settings-item-desc",children:Pn("noDrafts")})})]})]}),na&&jsxRuntimeExports.jsx(DraftListPage,{onPublish:os,onClose:()=>ia(!1),onCountChange:Wa,onRecover:Un.onRecoverDraft})]}),ma&&jsxRuntimeExports.jsx(ConfirmDialog,{title:Pn("cliToken"),message:Pn("cliTokenResetConfirm"),confirmLabel:Pn("cliTokenReset"),cancelLabel:Pn("cancel"),busy:fa,onConfirm:()=>{ga(!1),wc()},onCancel:()=>ga(!1)}),jsxRuntimeExports.jsx(VisitorPickerModal,{open:ic,title:Pn("docInfoInviteMember"),initialSelectedIds:[...dc.keys()],initialPermissions:dc,templates:[],showPermissionSelect:!0,permissionOptions:[{value:"read",label:Pn("invitePermissionRead")},{value:"edit",label:Pn("invitePermissionEdit")}],onClose:()=>uc(!1),onConfirm:bc=>{Hc(bc)}})]})}function MessageDialog({title:Un,message:Pn,onClose:ei}){const{t:co}=useI18n();return jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",role:"presentation",onMouseDown:xo=>{xo.target===xo.currentTarget&&ei()},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card mdocs-message-dialog",role:"alertdialog","aria-modal":"true",children:[Un&&jsxRuntimeExports.jsx("h2",{className:"mdocs-message-dialog-title",children:Un}),jsxRuntimeExports.jsx("p",{className:"mdocs-message-dialog-body",children:Pn}),jsxRuntimeExports.jsx("div",{className:"mdocs-message-dialog-actions",children:jsxRuntimeExports.jsx("button",{type:"button",className:"primary",onClick:ei,children:co("gotIt")})})]})})}function buildLexicalJsonHeading(Un){return JSON.stringify({root:{children:[{children:[{detail:0,format:0,mode:"normal",text:Un,type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"heading",tag:"h1",version:1}],direction:"ltr",type:"root",version:1}})}function joinDocPath(Un,Pn){const ei=Un.trim(),co=Pn.trim();return co?ei?`${ei}/${co}`:co:ei}function collectDocumentPaths(Un,Pn=new Set){for(const ei of Un)ei.type==="document"?Pn.add(ei.path):(ei.descDocumentId&&Pn.add(folderDescPathForFolder(ei.path)),collectDocumentPaths(ei.children,Pn));return Pn}function findFolderIdByPath(Un,Pn){for(const ei of Un){if(ei.type==="folder"&&ei.path===Pn)return ei.documentId;if(ei.type==="folder"){const co=findFolderIdByPath(ei.children,Pn);if(co)return co}}return null}function translateStorageError(Un,Pn){const ei=STORAGE_ERROR_MESSAGE_MAP[Pn];return ei?Un(ei):Pn}function useCreateModal(Un){const{tree:Pn,currentDomainId:ei,selectedCreateParentPath:co,t:xo,onDocCreated:os,refreshTree:hs}=Un,[Ms,ea]=reactExports.useState(null),[ta,ra]=reactExports.useState(null),[na,ia]=reactExports.useState(!1),oa=reactExports.useRef(null);reactExports.useEffect(()=>{if(!Ms)return;const ca=window.setTimeout(()=>{var ua;return(ua=oa.current)==null?void 0:ua.focus()},0);return()=>window.clearTimeout(ca)},[Ms]);function sa(ca){const ua=ca!==void 0;ra(null),ea({kind:"document",parentMode:ua?"fixed":"selection",parentPath:ua?ca:"",draft:"untitled.md"})}function aa(ca){const ua=ca!==void 0;ra(null),ea({kind:"folder",parentMode:ua?"fixed":"selection",parentPath:ua?ca:"",draft:""})}async function la(ca){if(ca.preventDefault(),!Ms)return;ia(!0),ra(null);const ua=collectDocumentPaths(Pn),da=Ms.parentMode==="selection"?co:Ms.parentPath;try{if(Ms.kind==="document"){const ga=parseDisplayNameMarkdownFile(Ms.draft);if(!ga.ok){ra(translateStorageError(xo,ga.message));return}const xa=ga.displayFile,va=xa.replace(/\.md$/i,"");let ya;try{ya=normaliseRelativePathForStorage(joinDocPath(da,xa))}catch(wa){ra(translateError(xo,wa));return}if(ua.has(ya)){ra(xo("pathExists"));return}const Ca=da?findFolderIdByPath(Pn,da)??void 0:void 0,Sa=await createDocumentApi({fileName:xa,displayName:va,content:buildLexicalJsonHeading(va),domainId:ei,parentId:Ca});await hs(),os(Sa),ea(null);return}const ha=parseDisplayNameFolder(Ms.draft);if(!ha.ok){ra(translateStorageError(xo,ha.message));return}const fa=normalisePathSegmentForStorage(ha.display);if(!fa){ra(xo("invalidFolderName"));return}const pa=joinDocPath(da,fa);if(ua.has(pa)){ra(xo("folderExists"));return}const ma=da?findFolderIdByPath(Pn,da)??void 0:void 0;await createFolderApi({name:fa,parentId:ma,domainId:ei}),await hs(),ea(null)}catch(ha){ra(translateError(xo,ha))}finally{ia(!1)}}return{createModal:Ms,setCreateModal:ea,createModalError:ta,createModalBusy:na,createModalInputRef:oa,openNewDocumentModal:sa,openNewFolderModal:aa,submitCreateModal:la}}function ConflictNotice({onDismiss:Un}){const{t:Pn}=useI18n();return jsxRuntimeExports.jsxs("div",{className:"mdocs-conflict-notice",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-conflict-notice-header",children:[jsxRuntimeExports.jsx("strong",{children:Pn("conflictTitle")}),jsxRuntimeExports.jsx("button",{type:"button",className:"ghost",onClick:Un,style:{padding:"2px 6px",fontSize:14},children:"x"})]}),jsxRuntimeExports.jsx("p",{children:Pn("conflictBody")})]})}function CommentsPanel({documentId:Un,visitorId:Pn,visitorName:ei,documentOwnerId:co,onClose:xo}){const[os,hs]=reactExports.useState([]),[Ms,ea]=reactExports.useState(""),[ta,ra]=reactExports.useState(null),[na,ia]=reactExports.useState(!0),[oa,sa]=reactExports.useState(!1),[aa,la]=reactExports.useState(null),[ca,ua]=reactExports.useState(null);function da(Ca){return Pn?Ca.visitorId===Pn||co===Pn:!1}const{rootComments:ha,repliesByParentId:fa,totalCount:pa}=reactExports.useMemo(()=>{const Ca=[],Sa=new Map;let wa=0;for(const Ta of os)Ta.isDeleted||(wa++,Ta.parentId?(Sa.has(Ta.parentId)||Sa.set(Ta.parentId,[]),Sa.get(Ta.parentId).push(Ta)):Ca.push(Ta));return{rootComments:Ca,repliesByParentId:Sa,totalCount:wa}},[os]),ma=reactExports.useRef(Un);reactExports.useEffect(()=>{ma.current=Un,ea(""),ra(null),ua(null),ga()},[Un]);async function ga(){const Ca=ma.current;ia(!0);try{const Sa=await fetchCommentsApi(Un);if(ma.current!==Ca)return;hs(Sa.comments)}catch(Sa){if(ma.current!==Ca)return;ua("加载评论失败"),console.error("Failed to load comments:",Sa)}finally{ma.current===Ca&&ia(!1)}}async function xa(){var Ca;if(!(!Ms.trim()||!Pn)){sa(!0),ua(null);try{await createCommentApi(Un,{content:Ms,parentId:(ta==null?void 0:ta.commentId)||null,replyToVisitorId:ta?((Ca=os.find(Sa=>Sa.commentId===ta.commentId))==null?void 0:Ca.visitorId)??null:null,replyToVisitorName:(ta==null?void 0:ta.visitorName)||null}),ea(""),ra(null),await ga()}catch(Sa){ua(Sa.message||"发表失败,请重试")}finally{sa(!1)}}}async function va(Ca){ua(null);try{await deleteCommentApi(Un,Ca),await ga()}catch(Sa){ua(Sa.message||"删除失败,请重试")}finally{la(null)}}function ya(Ca){const Sa=Date.now()-new Date(Ca).getTime(),wa=Math.floor(Sa/6e4),Ta=Math.floor(Sa/36e5),Ra=Math.floor(Sa/864e5);return wa<1?"刚刚":wa<60?`${wa}分钟前`:Ta<24?`${Ta}小时前`:`${Ra}天前`}return jsxRuntimeExports.jsxs("div",{className:"mdocs-comments-panel",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-comments-header",children:[jsxRuntimeExports.jsxs("h3",{style:{margin:0,fontSize:"1rem",display:"flex",alignItems:"center",gap:6},children:[jsxRuntimeExports.jsx(MessageSquare,{size:18}),"评论 (",pa,")"]}),jsxRuntimeExports.jsx("button",{type:"button",onClick:xo,className:"mdocs-comments-close-btn",children:jsxRuntimeExports.jsx(X$5,{size:18})})]}),ca&&jsxRuntimeExports.jsxs("div",{className:"mdocs-comments-error",children:[ca,jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>ua(null),children:jsxRuntimeExports.jsx(X$5,{size:14})})]}),jsxRuntimeExports.jsx("div",{className:"mdocs-comments-list",children:na?jsxRuntimeExports.jsx("div",{className:"mdocs-comments-empty",children:"加载中..."}):ha.length===0?jsxRuntimeExports.jsx("div",{className:"mdocs-comments-empty",children:"暂无评论,来发表第一条吧~"}):ha.map(Ca=>jsxRuntimeExports.jsxs("div",{className:"mdocs-comment-root",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-comment-header",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-comment-avatar",children:Ca.visitorName.charAt(0).toUpperCase()}),jsxRuntimeExports.jsx("span",{className:"mdocs-comment-author",children:Ca.visitorName}),jsxRuntimeExports.jsx("span",{className:"mdocs-comment-time",children:ya(Ca.createdAt)}),da(Ca)&&jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-comment-delete",onClick:()=>la(Ca.commentId),title:"删除",children:jsxRuntimeExports.jsx(X$5,{size:14})})]}),jsxRuntimeExports.jsx("div",{className:"mdocs-comment-content",children:Ca.content}),Pn&&jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-comment-reply-btn",onClick:()=>ra({commentId:Ca.commentId,visitorName:Ca.visitorName}),children:"回复"}),(fa.get(Ca.commentId)??[]).length>0&&jsxRuntimeExports.jsx("div",{className:"mdocs-comment-replies",children:(fa.get(Ca.commentId)??[]).map(Sa=>jsxRuntimeExports.jsxs("div",{className:"mdocs-comment-reply",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-comment-header",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-comment-avatar mdocs-comment-avatar-small",children:Sa.visitorName.charAt(0).toUpperCase()}),jsxRuntimeExports.jsx("span",{className:"mdocs-comment-author",children:Sa.visitorName}),Sa.replyToVisitorName&&jsxRuntimeExports.jsxs("span",{className:"mdocs-comment-reply-to",children:["回复 ",Sa.replyToVisitorName]}),jsxRuntimeExports.jsx("span",{className:"mdocs-comment-time",children:ya(Sa.createdAt)}),da(Sa)&&jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-comment-delete",onClick:()=>la(Sa.commentId),title:"删除",children:jsxRuntimeExports.jsx(X$5,{size:12})})]}),jsxRuntimeExports.jsx("div",{className:"mdocs-comment-content",children:Sa.content}),Pn&&jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-comment-reply-btn",onClick:()=>ra({commentId:Ca.commentId,visitorName:Sa.visitorName}),children:"回复"})]},Sa.commentId))})]},Ca.commentId))}),Pn?jsxRuntimeExports.jsxs("div",{className:"mdocs-comments-input-wrapper",children:[ta&&jsxRuntimeExports.jsxs("div",{className:"mdocs-comment-reply-notice",children:[jsxRuntimeExports.jsxs("span",{children:["回复 ",jsxRuntimeExports.jsx("span",{className:"mdocs-comment-reply-to-name",children:ta.visitorName})]}),jsxRuntimeExports.jsxs("button",{type:"button",onClick:()=>ra(null),children:[jsxRuntimeExports.jsx(X$5,{size:14})," 取消"]})]}),jsxRuntimeExports.jsx("textarea",{value:Ms,onChange:Ca=>ea(Ca.target.value.slice(0,512)),placeholder:ta?`回复 ${ta.visitorName}...`:"发表评论...",className:"mdocs-comments-input",maxLength:512,onKeyDown:Ca=>{Ca.key==="Enter"&&(Ca.metaKey||Ca.ctrlKey)&&xa()}}),jsxRuntimeExports.jsxs("div",{className:`mdocs-comments-char-count${Ms.length>=460?" mdocs-char-count--warn":""}`,children:[Ms.length,"/512"]}),jsxRuntimeExports.jsx("div",{className:"mdocs-comments-input-actions",children:jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-btn-primary",onClick:xa,disabled:oa||!Ms.trim(),children:oa?"发表中...":"发表"})})]}):jsxRuntimeExports.jsx("div",{className:"mdocs-comments-input-wrapper",style:{textAlign:"center"},children:jsxRuntimeExports.jsx("div",{style:{color:"#666",fontSize:"0.9rem"},children:"请先创建访客身份以发表评论"})}),aa&&jsxRuntimeExports.jsx(ConfirmDialog,{title:"删除评论",message:"确定要删除这条评论吗?",confirmLabel:"删除",danger:!0,onConfirm:()=>va(aa),onCancel:()=>la(null)})]})}function useAutoPublish(Un,Pn){const ei=reactExports.useRef(Pn);ei.current=Pn,reactExports.useEffect(()=>{if(!Un)return;const co=3e4,xo=1e4,os=async()=>{const Ms=await listAllDrafts({skipFailed:!0}),ea=Date.now();for(const ta of Ms)if(!ta.published&&!(ea-ta.updatedAt<co))try{await ei.current(ta.documentId)}catch(ra){console.log("[autoPublish] scan publish failed:",ra)}};os();const hs=setInterval(os,xo);return()=>clearInterval(hs)},[Un])}function formatRelativeTime(Un,Pn){try{const ei=new Intl.RelativeTimeFormat(Pn,{numeric:"auto"}),co=Date.now()-new Date(Un).getTime(),xo=Math.floor(co/6e4),os=Math.floor(xo/60),hs=Math.floor(os/24);return hs>30?ei.format(-Math.floor(hs/30),"month"):hs>0?ei.format(-hs,"day"):os>0?ei.format(-os,"hour"):xo>0?ei.format(-xo,"minute"):ei.format(-Math.floor(co/1e3),"second")}catch{return Un.slice(0,10)}}async function initDomainsAndTree(Un,Pn,ei,co){const xo=await fetchDomainsSafe();Pn(xo);const os=localStorage.getItem("mdocs.currentDomainId"),Ms=os&&xo.some(ea=>ea.domainId===os)?os:pickInitialDomainId(xo,Un);ei(Ms),await co(Ms)}function App(){const{t:Un,lang:Pn,setLang:ei}=useI18n(),[co,xo]=reactExports.useState("loading"),[os,hs]=reactExports.useState(()=>localStorage.getItem("mdocs.sidebarCollapsed")==="true"),Ms=()=>{const _c=!os;hs(_c),localStorage.setItem("mdocs.sidebarCollapsed",String(_c))},[ea,ta]=reactExports.useState(!1),[ra,na]=reactExports.useState(0),ia=reactExports.useRef(null),[oa,sa]=reactExports.useState(null),[aa,la]=reactExports.useState(null),[ca,ua]=reactExports.useState(null),[da,ha]=reactExports.useState([]),[fa,pa]=reactExports.useState([]),[ma,ga]=reactExports.useState("default"),{documentId:xa}=useParams(),va=useNavigate(),[ya,Ca]=reactExports.useState(null),[Sa,wa]=reactExports.useState(null),[Ta,Ra]=reactExports.useState(null),[Oa,Aa]=reactExports.useState(null),[Ma,Ia]=reactExports.useState(null),[za,Na]=reactExports.useState(""),[La,Wa]=reactExports.useState("docs"),Ua=reactExports.useRef(void 0);useAutoPublish(localStorage.getItem("mdocs.autoPublish")==="true",ou);async function Ga(_c){var Uc;await((Uc=Ua.current)==null?void 0:Uc.call(Ua)),_c()}reactExports.useEffect(()=>{Xa()},[]),reactExports.useEffect(()=>{if(!Sa)return;const _c=()=>{wa(null)};return window.addEventListener("pointerdown",_c,!0),()=>window.removeEventListener("pointerdown",_c,!0)},[Sa]);async function Xa(){try{const _c=await fetchMe();sa(_c),storeVisitorId(_c.visitorId),await initDomainsAndTree(_c.visitorId,pa,ga,Pa),xo("ready")}catch(_c){if(_c instanceof ApiRequestError&&_c.status===401){xo("needsRegister");return}Ra(translateError(Un,_c)),xo("needsRegister")}}async function Ja(_c,Uc){const Fc=await registerVisitorApi(_c,Uc);sa(Fc.visitor),la(Fc.visitor.visitorId),ua(Fc.recoveryCode),storeVisitorId(Fc.visitor.visitorId),await initDomainsAndTree(Fc.visitor.visitorId,pa,ga,Pa),xo("ready")}async function $a(_c){const Uc=await fetchMe();sa(Uc),await initDomainsAndTree(Uc.visitorId,pa,ga,Pa),xo("ready")}async function Pa(_c){const Fc=await fetchTreeApi(_c??ma);ha(Fc)}async function Fa(_c){ia.current=_c;try{const Uc=await getDraft(_c);if(ia.current!==_c)return;if(Uc&&!Uc.published&&Uc.relativePath&&Uc.domainId&&Uc.ownerVisitorId){console.log("[openDocument] loaded from local draft, content preview:",Uc.content.slice(0,100)),Ca({documentId:Uc.documentId,relativePath:Uc.relativePath,displayName:Uc.displayName,content:Uc.content,permission:Uc.permission,ownerVisitorId:Uc.ownerVisitorId,domainId:Uc.domainId}),Uc.domainId!==ma&&(localStorage.setItem("mdocs.currentDomainId",Uc.domainId),ga(Uc.domainId),Pa(Uc.domainId)),Na(parentDirForCreates(Uc.relativePath));return}const Fc=await getDocumentApi(_c);if(ia.current!==_c||(Fc.domainId!==ma&&(localStorage.setItem("mdocs.currentDomainId",Fc.domainId),ga(Fc.domainId),Pa(Fc.domainId)),Na(parentDirForCreates(Fc.relativePath)),Uc&&!Uc.published&&(console.log("[App.openDocument] saveDraftRecord (cache metadata), documentId:",_c),await saveDraft({...Uc,relativePath:Fc.relativePath,permission:Fc.permission,ownerVisitorId:Fc.ownerVisitorId,domainId:Fc.domainId})),ia.current!==_c))return;Ca(Uc&&!Uc.published?{...Fc,content:Uc.content,displayName:Uc.displayName}:Fc)}catch(Uc){if(ia.current!==_c)return;Ra(translateError(Un,Uc))}}reactExports.useEffect(()=>{co==="ready"&&(xa?Fa(xa):Ca(null))},[co,xa]);const{createModal:Ha,setCreateModal:Ka,createModalError:Sl,createModalBusy:Za,createModalInputRef:lc,openNewDocumentModal:ic,openNewFolderModal:uc,submitCreateModal:mc}=useCreateModal({tree:da,currentDomainId:ma,selectedCreateParentPath:za,t:Un,onDocCreated:_c=>{Ca(_c),Na(parentDirForCreates(_c.relativePath)),va(`/doc/${_c.documentId}`)},refreshTree:Pa}),[Ac,dc]=reactExports.useState(!1),[kc,xc]=reactExports.useState(!1),[cc,Ec]=reactExports.useState([]),[sc,hc]=reactExports.useState(""),[wc,Pc]=reactExports.useState(""),[$c,Rc]=reactExports.useState(new Set);async function Hc(){try{const _c=await fetchBookmarksApi();Ec(_c)}catch(_c){Ra(translateError(Un,_c))}}const Wc=reactExports.useMemo(()=>{const _c={};for(const Uc of fa)_c[Uc.domainId]=Uc.domainName;return _c},[fa]),Nc=reactExports.useMemo(()=>{let _c=cc;const Uc=sc.trim().toLowerCase();return Uc&&(_c=_c.filter(Fc=>{var qc;return(qc=Fc.displayName)==null?void 0:qc.toLowerCase().includes(Uc)})),wc&&(_c=_c.filter(Fc=>Fc.domainId===wc)),_c},[cc,sc,wc]),bc=reactExports.useMemo(()=>{const _c=new Set,Uc=[];for(const Fc of cc){const qc=Fc.domainId;qc&&!_c.has(qc)&&(_c.add(qc),Uc.push({id:qc,name:Wc[qc]??qc}))}return Uc},[cc,Wc]),[Bc,Xc]=reactExports.useState(!1);async function Vc(_c,Uc,Fc,qc){try{const Qc=await updateDocumentApi(Fc,{content:_c,displayName:Uc,permission:qc});Ca(Yc=>Yc&&Yc.documentId===Fc?Qc:Yc),await Pa(),Xc(!1),wa(Un("published")),window.setTimeout(()=>wa(null),1200)}catch(Qc){throw Xc(!0),Qc}}async function ou(_c){try{const Uc=await getDraft(_c);if(!Uc)return;await updateDocumentApi(_c,{content:Uc.content,displayName:Uc.displayName}),await deleteDraftIfUnchanged(_c,Uc.updatedAt)||console.log("[publishDraftFromList] draft modified during publish, keeping:",_c),await Pa(),wa(Un("published")),window.setTimeout(()=>wa(null),1200)}catch(Uc){if(Uc instanceof ApiRequestError&&Uc.status===404){const Fc=await getDraft(_c),qc=(Fc==null?void 0:Fc.displayName)||Un("unknownTitle");wa(Un("draftPublishFailedNotice",{name:qc})),await markDraftPublishError(_c,"DOC_NOT_FOUND");return}Ra(translateError(Un,Uc))}}function eu(_c,Uc){Aa({type:"document",id:_c,name:Uc})}function hu(_c,Uc){Aa({type:"folder",id:_c,name:Uc})}async function su(){if(Oa)try{Oa.type==="document"?(await deleteDocumentApi(Oa.id),(ya==null?void 0:ya.documentId)===Oa.id&&(Ca(null),Na(""),va("/"))):Oa.type==="folder"&&(await deleteFolderApi(Oa.id),ya&&(Ca(null),Na(""),va("/"))),await Pa(),wa(Oa.type==="folder"?`已删除「${Oa.name}」及其下所有内容`:`已删除「${Oa.name}」`),window.setTimeout(()=>wa(null),2e3)}catch(_c){Ra(translateError(Un,_c))}finally{Aa(null)}}return co==="loading"?jsxRuntimeExports.jsx("div",{className:"mdocs-loading muted",children:Un("loading")}):co==="needsRegister"?jsxRuntimeExports.jsx(VisitorRegisterDialog,{onSubmit:Ja,onRecover:$a,error:Sa}):jsxRuntimeExports.jsxs("div",{className:"mdocs-app-root",children:[isDemoMode(),jsxRuntimeExports.jsxs("div",{className:"mdocs-shell",children:[aa&&oa&&jsxRuntimeExports.jsx(VisitorIdNotice,{visitorId:aa,onDismiss:()=>la(null)}),ca&&jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",style:{position:"fixed",zIndex:9999},onClick:_c=>{_c.target===_c.currentTarget&&ua(null)},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card",style:{maxWidth:480,textAlign:"center"},children:[jsxRuntimeExports.jsx("h1",{style:{fontSize:"1.25rem",marginBottom:8},children:"🔑 保存你的恢复码"}),jsxRuntimeExports.jsxs("p",{className:"muted",style:{marginBottom:16,lineHeight:1.5},children:["恢复码是你的唯一凭证,当 Token 丢失时可用它找回身份。",jsxRuntimeExports.jsx("br",{}),jsxRuntimeExports.jsx("strong",{children:"请立即复制保存,此弹窗关闭后不可再查看。"})]}),jsxRuntimeExports.jsx("div",{style:{background:"#f5f5f5",borderRadius:8,padding:"12px 16px",fontFamily:"monospace",fontSize:"1.25rem",letterSpacing:"0.1em",marginBottom:20,userSelect:"all"},children:ca}),jsxRuntimeExports.jsxs("div",{style:{display:"flex",gap:8,justifyContent:"center"},children:[jsxRuntimeExports.jsx("button",{type:"button",className:"primary",onClick:()=>{navigator.clipboard.writeText(ca)},children:"复制恢复码"}),jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>ua(null),children:"已保存,关闭"})]})]})}),La==="settings"?jsxRuntimeExports.jsx(SettingsPage,{onBack:()=>Wa("docs"),onPublishDraft:ou,onOpenDocument:Fa,onRecoverDraft:()=>void Pa()}):jsxRuntimeExports.jsxs("div",{className:"mdocs-layout",children:[jsxRuntimeExports.jsxs("aside",{className:`mdocs-sidebar ${os?"mdocs-sidebar-collapsed":""}`,children:[jsxRuntimeExports.jsxs("header",{className:"mdocs-sidebar-header",children:[jsxRuntimeExports.jsxs("div",{className:"mdocs-brand",children:[jsxRuntimeExports.jsx("img",{src:mdocsLogo,alt:Un("brand"),className:"mdocs-brand-logo"}),jsxRuntimeExports.jsx("span",{children:Un("brand")})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-sidebar-toggle",onClick:Ms,"aria-label":Un(os?"expandSidebar":"collapseSidebar"),style:{background:"none",border:"none",cursor:"pointer",padding:"6px",color:"var(--mdocs-text-muted, #999)",borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center"},onMouseEnter:_c=>{_c.currentTarget.style.background="var(--mdocs-hover-bg, #f0f0f0)"},onMouseLeave:_c=>{_c.currentTarget.style.background="none"},children:os?jsxRuntimeExports.jsx(PanelLeftOpen,{size:18}):jsxRuntimeExports.jsx(PanelLeftClose,{size:18})})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-sidebar-actions",children:[jsxRuntimeExports.jsx("span",{className:"mdocs-sidebar-icon mdocs-tooltip","data-tooltip":Un("newDocument"),onClick:()=>ic(),style:{color:"var(--mdocs-accent)"},children:jsxRuntimeExports.jsx(File$1,{size:20})}),jsxRuntimeExports.jsx("span",{className:"mdocs-sidebar-icon mdocs-tooltip","data-tooltip":Un("newFolder"),onClick:()=>uc(),children:jsxRuntimeExports.jsx(Folder,{size:20})})]}),jsxRuntimeExports.jsx(DocumentTree,{nodes:da,activeDocumentId:xa??null,selectedParentPath:za,onOpen:_c=>{Ga(()=>va(`/doc/${_c.documentId}`))},onOpenFolder:(_c,Uc)=>{Ga(()=>{Na(_c),Uc&&va(`/doc/${Uc}`)})},onContextMenu:Ia,onDeselect:()=>{Ga(()=>{Na(""),va("/")})}}),jsxRuntimeExports.jsxs("footer",{className:"mdocs-sidebar-footer",children:[jsxRuntimeExports.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,flex:1,cursor:"pointer"},onClick:()=>Ga(()=>Wa("settings")),children:[jsxRuntimeExports.jsx("span",{className:"mdocs-visitor-avatar",children:oa?oa.visitorName.charAt(0).toUpperCase():"?"}),jsxRuntimeExports.jsx("span",{className:"mdocs-visitor-footer-name",children:oa?oa.visitorName:""})]}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-sidebar-bookmark mdocs-tooltip","data-tooltip":Un("bookmark"),onClick:()=>{xc(!0),hc(""),Pc(""),Hc()},style:{background:"none",border:"none",cursor:"pointer",padding:"6px",color:"var(--mdocs-text-muted, #999)",fontSize:"1rem",lineHeight:1,borderRadius:4},children:jsxRuntimeExports.jsx(Star,{size:16,strokeWidth:1.5})}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-sidebar-logout mdocs-tooltip","data-tooltip":Un("logout"),onClick:()=>dc(!0),style:{background:"none",border:"none",cursor:"pointer",padding:"6px",color:"var(--mdocs-text-muted, #999)",lineHeight:1,borderRadius:4},children:jsxRuntimeExports.jsx(LogOut,{size:16,strokeWidth:1.5})})]})]}),jsxRuntimeExports.jsxs("main",{className:"mdocs-main",children:[ya?jsxRuntimeExports.jsxs("div",{className:"mdocs-editor-with-comments",children:[jsxRuntimeExports.jsx("div",{className:"mdocs-editor-container",children:jsxRuntimeExports.jsx(DocumentEditor,{document:ya,canEdit:!!(oa&&(ya.ownerVisitorId===oa.visitorId||isPublicWritePermission(ya.permission)||ya.invitedEdit===!0)),domains:fa,currentDomainId:ma,onDomainChange:_c=>{Ga(()=>{localStorage.setItem("mdocs.currentDomainId",_c),ga(_c),Ca(null),Na(""),va("/"),Pa(_c)})},onPublish:Vc,onDelete:()=>{if(ya.relativePath.endsWith("/___desc___.md")){const _c=ya.relativePath.replace(/\/___desc___\.md$/,"");hu(ya.documentId,_c)}else eu(ya.documentId,ya.relativePath)},saveBeforeNavRef:Ua,onShowToast:wa,onToggleComments:()=>ta(!ea),commentPanelOpen:ea,commentCount:ra},ya.documentId)}),ea&&jsxRuntimeExports.jsx(CommentsPanel,{documentId:ya.documentId,visitorId:oa==null?void 0:oa.visitorId,visitorName:oa==null?void 0:oa.visitorName,documentOwnerId:ya.ownerVisitorId,onClose:()=>ta(!1)})]}):jsxRuntimeExports.jsxs("div",{className:"mdocs-welcome",children:[jsxRuntimeExports.jsx("h1",{children:Un("brand")}),jsxRuntimeExports.jsx("p",{className:"muted mdocs-welcome-lead",children:da.length===0?Un("noDocsInDomain"):Un("createDocToStart")}),jsxRuntimeExports.jsxs("div",{className:"mdocs-welcome-domain",children:[jsxRuntimeExports.jsx("label",{className:"muted mdocs-welcome-domain-label",children:Un("domainLabel")}),jsxRuntimeExports.jsx(DomainSelect,{domains:fa.length?fa:[{domainId:"default",domainName:Un("defaultDomain"),permission:"",creatorVisitorId:"",docCount:0}],value:ma,onChange:_c=>{Ga(()=>{localStorage.setItem("mdocs.currentDomainId",_c),ga(_c),Ca(null),Na(""),va("/"),Pa(_c)})},ariaLabel:Un("domainLabel"),localizeName:_c=>localizeDomainName(_c,Pn,Un)})]}),jsxRuntimeExports.jsxs("div",{className:"mdocs-welcome-actions",children:[jsxRuntimeExports.jsxs("button",{type:"button",className:"primary",onClick:()=>ic(),style:{display:"flex",alignItems:"center",gap:6},children:[jsxRuntimeExports.jsx(File$1,{size:16,strokeWidth:1.5}),Un("newDocument")]}),jsxRuntimeExports.jsxs("button",{type:"button",className:"secondary",onClick:()=>uc(),style:{display:"flex",alignItems:"center",gap:6},children:[jsxRuntimeExports.jsx(Folder,{size:16,strokeWidth:1.5}),Un("newFolder")]})]})]}),Bc&&jsxRuntimeExports.jsx(ConflictNotice,{onDismiss:()=>Xc(!1)}),Sa&&jsxRuntimeExports.jsx("div",{className:"mdocs-toast",role:"status",children:Sa}),Ta&&jsxRuntimeExports.jsx(MessageDialog,{title:Un("error"),message:Ta,onClose:()=>Ra(null)})]}),Ac&&jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",onClick:_c=>{_c.target===_c.currentTarget&&dc(!1)},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card",style:{maxWidth:440},children:[jsxRuntimeExports.jsx("h1",{style:{fontSize:"1.125rem",marginBottom:8},children:"退出当前登录身份?"}),jsxRuntimeExports.jsx("p",{style:{lineHeight:1.6,color:"var(--mdocs-text-secondary, #666)",marginBottom:20},children:"这将会导致您无法修改以前的文章。如果想找回账号,需要恢复码或联系管理员执行合并用户脚本。"}),jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog-actions",style:{justifyContent:"flex-end"},children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>dc(!1),children:"取消"}),jsxRuntimeExports.jsx("button",{type:"button",className:"primary",style:{background:"#d32f2f"},onClick:()=>{clearVisitorId(),Ca(null),sa(null),ha([]),dc(!1),xo("needsRegister")},children:"确认退出"})]})]})}),kc&&jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",onClick:_c=>{_c.target===_c.currentTarget&&xc(!1)},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card",style:{maxWidth:640,width:"min(640px, 100%)",maxHeight:"70vh",display:"flex",flexDirection:"column"},children:[jsxRuntimeExports.jsxs("h1",{style:{fontSize:"1.125rem",marginBottom:16},children:[Un("bookmarkTitle"),"(",cc.length,")"]}),cc.length>0&&jsxRuntimeExports.jsxs("div",{className:"mdocs-bookmark-filterbar",children:[jsxRuntimeExports.jsx("input",{type:"text",placeholder:Un("bookmarkSearch"),value:sc,onChange:_c=>hc(_c.target.value)}),jsxRuntimeExports.jsxs("select",{value:wc,onChange:_c=>Pc(_c.target.value),children:[jsxRuntimeExports.jsx("option",{value:"",children:Un("bookmarkFilterAll")}),bc.map(_c=>jsxRuntimeExports.jsx("option",{value:_c.id,children:_c.name},_c.id))]})]}),cc.length===0?jsxRuntimeExports.jsx("p",{style:{color:"var(--mdocs-text-muted, #999)",textAlign:"center",padding:"2rem 0"},children:Un("bookmarkEmpty")}):Nc.length===0?jsxRuntimeExports.jsx("p",{style:{color:"var(--mdocs-text-muted, #999)",textAlign:"center",padding:"2rem 0"},children:Un("bookmarkNoMatch")}):jsxRuntimeExports.jsx("div",{style:{overflowY:"auto",flex:1,margin:"0 -1rem",padding:"0 1rem"},children:jsxRuntimeExports.jsxs("table",{className:"mdocs-bookmark-table",children:[jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("th",{children:Un("bookmarkColTitle")}),jsxRuntimeExports.jsx("th",{children:Un("bookmarkColDomain")}),jsxRuntimeExports.jsx("th",{children:Un("bookmarkColAuthor")}),jsxRuntimeExports.jsx("th",{children:Un("bookmarkColTime")}),jsxRuntimeExports.jsx("th",{className:"mdocs-bookmark-col-action"})]})}),jsxRuntimeExports.jsx("tbody",{children:Nc.map(_c=>{const Uc=$c.has(_c.documentId);return jsxRuntimeExports.jsxs("tr",{className:`${Uc?"mdocs-bookmark-removing":""}`,style:{opacity:_c.isDeleted?.6:1},children:[jsxRuntimeExports.jsx("td",{className:"mdocs-bookmark-col-title",children:jsxRuntimeExports.jsxs("div",{style:{cursor:_c.isDeleted?"default":"pointer",display:"flex",alignItems:"center",gap:6,overflow:"hidden"},onClick:()=>{_c.isDeleted||Ga(()=>{xc(!1),va(`/doc/${_c.documentId}`)})},children:[jsxRuntimeExports.jsx("span",{ref:Fc=>{if(Fc){const qc=Fc.scrollWidth>Fc.clientWidth;Fc.title=qc?_c.displayName??"":""}},style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:_c.displayName??"(无标题)"}),_c.isDeleted&&jsxRuntimeExports.jsx("span",{style:{fontSize:"0.7rem",color:"#d32f2f",background:"#ffebee",padding:"1px 6px",borderRadius:4,flexShrink:0},children:"已删除"})]})}),jsxRuntimeExports.jsx("td",{children:_c.isDeleted?"":Wc[_c.domainId??""]??_c.domainId??""}),jsxRuntimeExports.jsx("td",{children:_c.isDeleted?"":_c.ownerVisitorName??"-"}),jsxRuntimeExports.jsx("td",{children:_c.isDeleted?"":formatRelativeTime(_c.bookmarkedAt,Pn)}),jsxRuntimeExports.jsx("td",{className:"mdocs-bookmark-col-action",children:jsxRuntimeExports.jsxs("div",{style:{display:"flex",gap:2,alignItems:"center",justifyContent:"flex-end"},children:[jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-tooltip","data-tooltip":Un("bookmarkOpen"),onClick:()=>{_c.isDeleted||Ga(()=>{xc(!1),va(`/doc/${_c.documentId}`)})},style:{background:"none",border:"none",cursor:_c.isDeleted?"default":"pointer",padding:"4px",color:"var(--mdocs-text-muted, #999)",lineHeight:1,borderRadius:4,display:"inline-flex",alignItems:"center"},children:jsxRuntimeExports.jsx(BookOpen,{size:14,strokeWidth:1.5})}),jsxRuntimeExports.jsx("button",{type:"button",className:"mdocs-tooltip","data-tooltip":Un("bookmarkRemove"),onClick:async()=>{try{await removeBookmarkApi(_c.documentId),Rc(Fc=>new Set(Fc).add(_c.documentId)),setTimeout(()=>{Ec(Fc=>Fc.filter(qc=>qc.documentId!==_c.documentId)),Rc(Fc=>{const qc=new Set(Fc);return qc.delete(_c.documentId),qc})},300)}catch(Fc){Ra(translateError(Un,Fc))}},style:{background:"none",border:"none",cursor:"pointer",padding:"4px",color:"var(--mdocs-text-muted, #999)",fontSize:"1rem",lineHeight:1,borderRadius:4,display:"inline-flex",alignItems:"center"},onMouseEnter:Fc=>{Fc.currentTarget.style.color="#d32f2f"},onMouseLeave:Fc=>{Fc.currentTarget.style.color="var(--mdocs-text-muted, #999)"},children:"✕"})]})})]},_c.documentId)})})]})}),jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-actions",style:{justifyContent:"flex-end",marginTop:16,paddingTop:16,borderTop:"1px solid var(--mdocs-border, #eee)"},children:jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>xc(!1),children:Un("close")})})]})}),Ma&&jsxRuntimeExports.jsx(TreeContextMenu,{x:Ma.x,y:Ma.y,node:Ma.node,parentPath:Ma.parentPath,onClose:()=>Ia(null),onCreateChild:_c=>ic(_c),onCreateFolder:_c=>uc(_c),onDeleteDocument:_c=>eu(_c.documentId,_c.path),onDeleteFolder:_c=>hu(_c.documentId,_c.folderDisplayName||_c.name)}),Oa&&jsxRuntimeExports.jsx(ConfirmDialog,{title:Oa.type==="folder"?"删除文件夹":"删除文档",message:Oa.type==="folder"?`确定要删除「${Oa.name}」及其下的所有文档和子文件夹吗?此操作不可撤销。`:`确定要删除「${Oa.name}」吗?`,confirmLabel:"删除",cancelLabel:"取消",onConfirm:su,onCancel:()=>Aa(null),danger:!0}),Ha&&jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-backdrop",role:"presentation",onMouseDown:_c=>{_c.target===_c.currentTarget&&!Za&&Ka(null)},children:jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog card",role:"dialog","aria-modal":"true",children:[jsxRuntimeExports.jsx("h1",{children:Ha.kind==="document"?Un("newDocumentTitle"):Un("newFolderTitle")}),jsxRuntimeExports.jsx("p",{className:"muted",children:Ha.kind==="document"?Un("fileNameHint"):Un("folderNameHint")}),jsxRuntimeExports.jsxs("form",{onSubmit:mc,className:"mdocs-dialog-form",children:[jsxRuntimeExports.jsxs("label",{className:"mdocs-dialog-label",children:[Ha.kind==="document"?Un("fileNameLabel"):Un("folderNameLabel"),jsxRuntimeExports.jsx("input",{ref:lc,value:Ha.draft,onChange:_c=>Ka(Uc=>Uc&&{...Uc,draft:_c.target.value}),placeholder:Ha.kind==="document"?Un("untitledPlaceholder"):Un("folderExamplePlaceholder"),maxLength:200,disabled:Za})]}),Sl&&jsxRuntimeExports.jsx("div",{className:"mdocs-dialog-error",children:Sl}),jsxRuntimeExports.jsxs("div",{className:"mdocs-dialog-actions",children:[jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>!Za&&Ka(null),disabled:Za,children:Un("cancel")}),jsxRuntimeExports.jsx("button",{type:"submit",className:"primary",disabled:Za,children:Un(Za?"creating":"create")})]})]})]})})]})]})]})}const PlaygroundContainer=({children:Un,json:Pn,markdown:ei,collapsible:co=!1,defaultActiveKey:xo=["editor","text","json"],onJSONChange:os})=>{const[hs,Ms]=reactExports.useState(Pn),ea=reactExports.useRef(Pn);reactExports.useEffect(()=>{Pn!==ea.current&&(Ms(Pn),ea.current=Pn)},[Pn]);const ta=reactExports.useCallback(ra=>{ea.current=ra,Ms(ra)},[]);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(ToastHost,{}),jsxRuntimeExports.jsx(Collapse$1,{collapsible:co,defaultActiveKey:xo,items:[{children:Un,key:"editor",label:"Playground"},{children:jsxRuntimeExports.jsx(Highlighter$1,{language:"markdown",style:{fontSize:12,padding:16},variant:"borderless",children:ei}),key:"text",label:"Text Output"},{children:jsxRuntimeExports.jsx(CodeEditor,{language:"json",onBlur:()=>{if(Pn!==ea.current)try{const ra=JSON.parse(ea.current||"");os==null||os(ra)}catch(ra){console.error("Invalid JSON:",ra)}},onValueChange:ta,value:hs,variant:"borderless"}),key:"json",label:"JSON Output"}],padding:{body:0},style:{border:"none",borderRadius:0,width:"100%"},variant:"outlined"})]})},root={children:[{children:[{detail:0,format:0,mode:"normal",style:"",text:"Welcome to the Lobe Editor Demo!",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"heading",version:1,tag:"h1"},{children:[{detail:0,format:0,mode:"normal",style:"",text:"In case you were wondering what the black box at the bottom is – it's the debug view, showing the current state of the editor. You can disable it by pressing on the settings control in the bottom-left of your screen and toggling the debug view setting.",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"quote",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"The playground is a demo environment built with ",type:"text",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"\uFEFF",type:"cursor",version:1},{detail:0,format:0,mode:"normal",style:"",text:"\uFEFF",type:"cursor",version:1},{detail:0,format:0,mode:"normal",style:"",text:"\uFEFF",type:"cursor",version:1},{detail:0,format:0,mode:"normal",style:"",text:"@lobehub/editor",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"codeInline",version:1},{detail:0,format:0,mode:"normal",style:"",text:"\uFEFF",type:"cursor",version:1},{detail:0,format:0,mode:"normal",style:"",text:". Try typing in ",type:"text",version:1},{detail:0,format:1,mode:"normal",style:"",text:"some text",type:"text",version:1},{detail:0,format:0,mode:"normal",style:"",text:" with ",type:"text",version:1},{detail:0,format:2,mode:"normal",style:"",text:"different formats",type:"text",version:1},{detail:0,format:0,mode:"normal",style:"",text:".",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"paragraph",version:1,textFormat:0,textStyle:""},{children:[{children:[{detail:0,format:0,mode:"normal",style:"",text:"Visit the ",type:"text",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Lobe Editor website",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"link",version:1,rel:"noreferrer",target:null,title:null,url:"https://editor.lobehub.com"},{detail:0,format:0,mode:"normal",style:"",text:" for documentation and more information.",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"listitem",version:1,value:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Check out the code on our ",type:"text",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"GitHub repository",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"link",version:1,rel:null,target:null,title:"https://github.com/lobehub/lobe-editor",url:"https://github.com/lobehub/lobe-editor"},{detail:0,format:0,mode:"normal",style:"",text:".",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"listitem",version:1,value:2},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Playground code ",type:"text",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Playground code",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"link",version:1,rel:"noreferrer",target:null,title:null,url:"https://github.com/lobehub/lobe-editor/blob/master/src/react/Editor/demos/index.tsx"},{detail:0,format:0,mode:"normal",style:"",text:" can be found here.",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"listitem",version:1,value:3},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Join our ",type:"text",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Discover Server",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"link",version:1,rel:null,target:null,title:"https://discord.gg/AYFPHvv2jT",url:"https://discord.gg/AYFPHvv2jT"},{detail:0,format:0,mode:"normal",style:"",text:" and chat with the team.",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"listitem",version:1,value:4}],direction:"ltr",format:"",indent:0,type:"list",version:1,listType:"bullet",start:1,tag:"ul"},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Lastly, we're constantly adding cool new features to this playground. So make sure you check back here when you next get a chance 🙂.",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"paragraph",version:1,textFormat:0,textStyle:""},{children:[{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"import",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-text);",text:" ",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"{",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-error);",text:" ",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-text);",text:"Editor",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-error);",text:" ",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"}",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-text);",text:" ",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"from",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-text);",text:" ",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"'",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-success);",text:"@lobehub/editor",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"'",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:";",type:"code-highlight",version:1}],direction:null,format:"",indent:0,type:"code",version:1,language:"typescript",theme:"lobe-theme"},{children:[],direction:null,format:"",indent:0,type:"paragraph",version:1,textFormat:0,textStyle:""}],direction:"ltr",format:"",indent:0,type:"root",version:1},content={root};function debounce(Un,Pn){let ei;const co=(...xo)=>{ei!==void 0&&clearTimeout(ei),ei=setTimeout(()=>Un(...xo),Pn)};return co.cancel=()=>{ei!==void 0&&(clearTimeout(ei),ei=void 0)},co}window.__scrollIntoView=scrollIntoView;const PlaygroundEditor=Un=>{const Pn=useEditor(),ei=reactExports.useRef([]),[co,xo]=reactExports.useState(""),[os,hs]=reactExports.useState(""),Ms=reactExports.useMemo(()=>debounce(ia=>{const oa=ia.getDocument("markdown"),sa=ia.getDocument("json");hs(oa||""),xo(JSON.stringify(sa||{},null,2))},200),[]),ea=reactExports.useMemo(()=>debounce(ia=>{Pn&&(console.info("handleJSONChange",ia),Pn.setDocument("json",ia))},200),[Pn]),ta=ia=>{window.editor=ia,Ms(ia)};reactExports.useEffect(()=>()=>{for(const ia of ei.current)URL.revokeObjectURL(ia);ei.current=[],Ms.cancel(),ea.cancel(),delete window.editor,delete window.__scrollIntoView},[Ms,ea]);const ra=reactExports.useMemo(()=>[{icon:jsxRuntimeExports.jsx(Avatar,{avatar:"💻",size:24}),key:"bot1",label:"前端研发专家",metadata:{id:"bot1"}},{icon:jsxRuntimeExports.jsx(Avatar,{avatar:"🌍",size:24}),key:"bot2",label:"中英文互译助手",metadata:{id:"bot2"}},{icon:jsxRuntimeExports.jsx(Avatar,{avatar:"📖",size:24}),key:"bot3",label:"学术写作增强专家",metadata:{id:"bot3"}}],[]),na=reactExports.useMemo(()=>[{icon:Heading1,key:"h1",label:"Heading 1",onSelect:oa=>{oa.dispatchCommand(INSERT_HEADING_COMMAND,{tag:"h1"})}},{icon:Heading2,key:"h2",label:"Heading 2",onSelect:oa=>{oa.dispatchCommand(INSERT_HEADING_COMMAND,{tag:"h2"})}},{icon:Heading3,key:"h3",label:"Heading 3",onSelect:oa=>{oa.dispatchCommand(INSERT_HEADING_COMMAND,{tag:"h3"})}},{type:"divider"},{icon:Minus,key:"hr",label:"Hr",onSelect:oa=>{oa.dispatchCommand(INSERT_HORIZONTAL_RULE_COMMAND,{})}},{icon:Table2,key:"table",label:"Table",onSelect:oa=>{oa.dispatchCommand(INSERT_TABLE_COMMAND,{columns:"3",rows:"3"})}},{icon:Sigma,key:"tex",label:"Tex",onSelect:oa=>{oa.dispatchCommand(INSERT_MATH_COMMAND,{code:"x^2 + y^2 = z^2"}),queueMicrotask(()=>{oa.focus()})}},{type:"divider"},{key:"file",label:"File",onSelect:oa=>{openFileSelector(sa=>{for(const aa of sa)oa.dispatchCommand(INSERT_FILE_COMMAND,{file:aa})})}},{key:"set-text-content",label:"SetTextContent",onSelect:oa=>{oa.setDocument("text",`123
|
|
6209
6209
|
123`),queueMicrotask(()=>{oa.focus()})}},{key:"insert-link",label:"InsertLink",onSelect:oa=>{oa.dispatchCommand(INSERT_LINK_COMMAND,{url:"https://example.com"}),queueMicrotask(()=>{oa.focus()})}},{key:"insert-codeInline",label:"InsertCodeInline",onSelect:oa=>{oa.dispatchCommand(INSERT_CODEINLINE_COMMAND,void 0),queueMicrotask(()=>{oa.focus()})}},{key:"insert-codeBlock",label:"InsertCodeBlock",onSelect:oa=>{oa.dispatchCommand(INSERT_CODEMIRROR_COMMAND,void 0),queueMicrotask(()=>{oa.focus()})}}].map(oa=>oa.type==="divider"?oa:{...oa,extra:jsxRuntimeExports.jsx(Text$3,{code:!0,fontSize:12,type:"secondary",children:oa.key})}),[]);return jsxRuntimeExports.jsxs(PlaygroundContainer,{json:co,markdown:os,onJSONChange:ea,...Un,children:[jsxRuntimeExports.jsx(Toolbar,{editor:Pn}),jsxRuntimeExports.jsx(Editor,{className:"mdocs-playground-editor",content,editor:Pn,lineEmptyPlaceholder:"Start typing here...",mentionOption:{items:ra,markdownWriter:ia=>{var oa;return`
|
|
6210
6210
|
<mention>${ia.label}[${((oa=ia.metadata)==null?void 0:oa.id)||ia.label}]</mention>
|
|
6211
6211
|
`},onSelect:(ia,oa)=>{ia.dispatchCommand(INSERT_MENTION_COMMAND,{label:String(oa.label),metadata:{id:oa.key}})},searchKeys:["label"]},onInit:ta,onTextChange:Ms,pasteVSCodeAsCodeBlock:!0,placeholder:"Type something...",plugins:[ReactListPlugin,ReactLinkPlugin,ReactImagePlugin,ReactCodemirrorPlugin,ReactHRPlugin,ReactTablePlugin,ReactMathPlugin,ReactMeta2dPlugin,ReactMarkmapPlugin,ReactCodePlugin,withProps(ReactToolbarPlugin,{children:jsxRuntimeExports.jsx(Toolbar,{editor:Pn,floating:!0})}),withProps(ReactAutoCompletePlugin,{delay:1e3,onAutoComplete:async({input:ia,afterText:oa,selectionType:sa,abortSignal:aa})=>{console.log("Auto-complete triggered:",{afterText:oa,input:ia,selectionType:sa});try{const la=await fetch(`${location.origin}/nodeserver/completion`,{body:JSON.stringify({prompt:`Please complete the following text:
|