@thebase/ui 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +2 -2
- package/dist/baseui.esm.js +10 -10
- package/dist/baseui.min.js +10 -10
- package/dist/baseui.registry.json +4 -4
- package/dist/icons/lucide.json +2 -2
- package/dist/runtime/milkdown/block-G2R773CV.js +1 -0
- package/dist/runtime/milkdown/{chunk-LIY3GISO.js → chunk-2EZOVVY4.js} +12 -12
- package/dist/runtime/milkdown/chunk-2TBUBNYK.js +3 -0
- package/dist/runtime/milkdown/{chunk-373V6XMI.js → chunk-5ILY25KD.js} +1 -1
- package/dist/runtime/milkdown/{chunk-6HASM4ZR.js → chunk-7GZI2HGN.js} +1 -1
- package/dist/runtime/milkdown/{chunk-TTCZLSO2.js → chunk-7YQMEBMQ.js} +1 -1
- package/dist/runtime/milkdown/chunk-BJC3HW5B.js +1 -0
- package/dist/runtime/milkdown/chunk-CFWAU3WN.js +1 -0
- package/dist/runtime/milkdown/{chunk-SMRDMV2Q.js → chunk-DWBFWB4X.js} +1 -1
- package/dist/runtime/milkdown/{chunk-KXKDEYCC.js → chunk-JA3LDFRC.js} +1 -1
- package/dist/runtime/milkdown/{chunk-R7FZKCAV.js → chunk-LDCXUKI3.js} +1 -1
- package/dist/runtime/milkdown/{chunk-XOIKFU3P.js → chunk-MYC7FIB2.js} +1 -1
- package/dist/runtime/milkdown/{chunk-PSGXCQNW.js → chunk-NX66TKTH.js} +1 -1
- package/dist/runtime/milkdown/{chunk-6RGD2KUU.js → chunk-NXQJDWPI.js} +1 -1
- package/dist/runtime/milkdown/{chunk-VPKKXG6L.js → chunk-OF2BVG4E.js} +1 -1
- package/dist/runtime/milkdown/{chunk-GHRUWTEV.js → chunk-R43NMSZO.js} +1 -1
- package/dist/runtime/milkdown/{chunk-SFCQEU26.js → chunk-SIRQEE7R.js} +1 -1
- package/dist/runtime/milkdown/{chunk-GVZW4OO4.js → chunk-SZCOI4YV.js} +1 -1
- package/dist/runtime/milkdown/{chunk-GAWLLGNO.js → chunk-TFG5E5LZ.js} +1 -1
- package/dist/runtime/milkdown/{chunk-VBVMNS5A.js → chunk-TOUPIB5N.js} +1 -1
- package/dist/runtime/milkdown/{chunk-WGUKYDQQ.js → chunk-VFZ7ST3H.js} +1 -1
- package/dist/runtime/milkdown/{chunk-E5R7FPWA.js → chunk-VJBGANAS.js} +4 -4
- package/dist/runtime/milkdown/{chunk-UBIXYWAI.js → chunk-WMT3RNOX.js} +1 -1
- package/dist/runtime/milkdown/chunk-XNCXGIZE.js +41 -0
- package/dist/runtime/milkdown/chunk-Y4CBBIL4.js +1 -0
- package/dist/runtime/milkdown/{chunk-3EORQGKQ.js → chunk-ZGHJJLEG.js} +1 -1
- package/dist/runtime/milkdown/{chunk-37CATSBM.js → chunk-ZIYJY6SA.js} +1 -1
- package/dist/runtime/milkdown/clipboard-5NOA4E34.js +1 -0
- package/dist/runtime/milkdown/{commonmark-KYRQSFY7.js → commonmark-263P63KC.js} +1 -1
- package/dist/runtime/milkdown/{core-SZ3VAN2E.js → core-T2SC7EXQ.js} +1 -1
- package/dist/runtime/milkdown/cursor-Z4UWEH5V.js +1 -0
- package/dist/runtime/milkdown/{diff-WJOHA5PX.js → diff-K3BORLOX.js} +1 -1
- package/dist/runtime/milkdown/{dist-TKSPPVS4.js → dist-24V6SL4V.js} +1 -1
- package/dist/runtime/milkdown/{dist-EHUNF6M5.js → dist-34ZP4UZ2.js} +1 -1
- package/dist/runtime/milkdown/{dist-I3JGQGWS.js → dist-3LQISA7E.js} +1 -1
- package/dist/runtime/milkdown/{dist-I3LMG6JF.js → dist-4QC5HFKT.js} +1 -1
- package/dist/runtime/milkdown/{dist-U6ZG6DV6.js → dist-562GM6I6.js} +1 -1
- package/dist/runtime/milkdown/{dist-7277C2KF.js → dist-5QJ34QYN.js} +1 -1
- package/dist/runtime/milkdown/{dist-UHXLU77N.js → dist-657PKZSF.js} +1 -1
- package/dist/runtime/milkdown/{dist-ZBCFN6O5.js → dist-6TS6SSJR.js} +1 -1
- package/dist/runtime/milkdown/{dist-X2CT5LDV.js → dist-7JICPTVR.js} +1 -1
- package/dist/runtime/milkdown/{dist-KY7AL6FL.js → dist-DERKVUMC.js} +1 -1
- package/dist/runtime/milkdown/{dist-QB3U2COU.js → dist-MK4VEXBD.js} +1 -1
- package/dist/runtime/milkdown/{dist-5HJGMMBO.js → dist-NYN7ZJXK.js} +1 -1
- package/dist/runtime/milkdown/dist-OPQE4Z43.js +1 -0
- package/dist/runtime/milkdown/{dist-J2KSREXK.js → dist-P4TF777A.js} +1 -1
- package/dist/runtime/milkdown/{dist-IIRHY5PY.js → dist-PEJBUU6H.js} +1 -1
- package/dist/runtime/milkdown/{dist-WNQ5J4WR.js → dist-R2X7SQDZ.js} +1 -1
- package/dist/runtime/milkdown/{dist-QMASZW6X.js → dist-RE2FJN7S.js} +1 -1
- package/dist/runtime/milkdown/{dist-RS6ERIZS.js → dist-THIQIX3E.js} +1 -1
- package/dist/runtime/milkdown/{dist-EG2OA4VS.js → dist-VEPIKH2V.js} +1 -1
- package/dist/runtime/milkdown/dist-X22ABN6K.js +1 -0
- package/dist/runtime/milkdown/{dist-63GMFB3D.js → dist-YH3NI4VG.js} +1 -1
- package/dist/runtime/milkdown/{dockerfile-NAEEVAQU.js → dockerfile-2B5D6FTU.js} +1 -1
- package/dist/runtime/milkdown/{esm-W3C6FIFD.js → esm-H2D66MX5.js} +68 -68
- package/dist/runtime/milkdown/{factor-MYKNDQPQ.js → factor-JBYSQG3O.js} +1 -1
- package/dist/runtime/milkdown/{gfm-E3RPWLDM.js → gfm-IHXC5DQO.js} +1 -1
- package/dist/runtime/milkdown/history-VOPZ3HXQ.js +1 -0
- package/dist/runtime/milkdown/indent-WYLZY3CZ.js +1 -0
- package/dist/runtime/milkdown/{javascript-43PROIAY.js → javascript-375RXK5M.js} +1 -1
- package/dist/runtime/milkdown/{lib-ULUU3LBY.js → lib-32AGHSKT.js} +1 -1
- package/dist/runtime/milkdown/lib-QZEOHNSS.js +1 -0
- package/dist/runtime/milkdown/listener-GNT2L5RH.js +1 -0
- package/dist/runtime/milkdown/milkdown-editor.js +1 -1
- package/dist/runtime/milkdown/milkdown-text-editor.js +1 -1
- package/dist/runtime/milkdown/{model-YUHBWZ3A.js → model-VKXPTJEQ.js} +1 -1
- package/dist/runtime/milkdown/{nsis-2G5LLGBI.js → nsis-XAIDIMGO.js} +1 -1
- package/dist/runtime/milkdown/{pug-VWTHDU4H.js → pug-SMVC7NDW.js} +1 -1
- package/dist/runtime/milkdown/slash-3TY5YM2E.js +1 -0
- package/dist/runtime/milkdown/{streaming-ODT2C2AX.js → streaming-S7JA52O3.js} +1 -1
- package/dist/runtime/milkdown/tooltip-5CTXOYIA.js +1 -0
- package/dist/runtime/milkdown/upload-DA4OHNVQ.js +1 -0
- package/dist/runtime/milkdown/utils-H6AH4ARX.js +1 -0
- package/dist/runtime/milkdown/y-webrtc-VQGJXSXG.js +2 -0
- package/dist/runtime/milkdown/y-websocket-YOL5ECIU.js +2 -0
- package/dist/runtime/milkdown/yjs-H3MVN7TP.js +1 -0
- package/docs/components/text-editor.md +37 -5
- package/package.json +2 -1
- package/dist/runtime/milkdown/block-B3H3PJID.js +0 -1
- package/dist/runtime/milkdown/chunk-7CVS4AGG.js +0 -3
- package/dist/runtime/milkdown/chunk-FGZNEC46.js +0 -1
- package/dist/runtime/milkdown/chunk-VKELS2FZ.js +0 -41
- package/dist/runtime/milkdown/clipboard-SGEGWVIL.js +0 -1
- package/dist/runtime/milkdown/cursor-4RIJS7XF.js +0 -1
- package/dist/runtime/milkdown/dist-6JDVYEX3.js +0 -1
- package/dist/runtime/milkdown/dist-WWUPY2DM.js +0 -1
- package/dist/runtime/milkdown/history-MXXSC4BB.js +0 -1
- package/dist/runtime/milkdown/indent-DPZPSW7O.js +0 -1
- package/dist/runtime/milkdown/lib-OHEPSUTR.js +0 -1
- package/dist/runtime/milkdown/listener-YERMSFXE.js +0 -1
- package/dist/runtime/milkdown/slash-WRZAFLVA.js +0 -1
- package/dist/runtime/milkdown/tooltip-MQR7E3GN.js +0 -1
- package/dist/runtime/milkdown/upload-4DLRUKG7.js +0 -1
- package/dist/runtime/milkdown/utils-RGFMAFOI.js +0 -1
- package/dist/runtime/milkdown/y-webrtc-MVXVFPYO.js +0 -2
- package/dist/runtime/milkdown/yjs-L4ZX4CJ5.js +0 -1
- /package/dist/runtime/milkdown/{apl-2VCEVXBO.js → apl-A2CKMNHU.js} +0 -0
- /package/dist/runtime/milkdown/{asciiarmor-ND4TKJ2V.js → asciiarmor-LYWOUGA4.js} +0 -0
- /package/dist/runtime/milkdown/{asn1-5NCC72L6.js → asn1-NB5F53MP.js} +0 -0
- /package/dist/runtime/milkdown/{asterisk-V3QQOGYS.js → asterisk-SIDVUCAX.js} +0 -0
- /package/dist/runtime/milkdown/{brainfuck-SETQDLAI.js → brainfuck-K7DBLI5P.js} +0 -0
- /package/dist/runtime/milkdown/{chunk-CS3PHHYU.js → chunk-2FDN6WYA.js} +0 -0
- /package/dist/runtime/milkdown/{chunk-UPNN5QP4.js → chunk-2XECCVBE.js} +0 -0
- /package/dist/runtime/milkdown/{chunk-E6JE25ZM.js → chunk-DLMWAKB5.js} +0 -0
- /package/dist/runtime/milkdown/{chunk-HDKYYBRG.js → chunk-DO4RO6KD.js} +0 -0
- /package/dist/runtime/milkdown/{chunk-KJCZ4UN6.js → chunk-ILE44FN6.js} +0 -0
- /package/dist/runtime/milkdown/{chunk-MSEQNMGN.js → chunk-IPNUYGNC.js} +0 -0
- /package/dist/runtime/milkdown/{chunk-FOZORPFE.js → chunk-K2ROPYIW.js} +0 -0
- /package/dist/runtime/milkdown/{chunk-XOU65PX7.js → chunk-KP5VFDTE.js} +0 -0
- /package/dist/runtime/milkdown/{chunk-KOCVWYBK.js → chunk-MAWHENWJ.js} +0 -0
- /package/dist/runtime/milkdown/{chunk-BV6CAHIM.js → chunk-OQJVATGH.js} +0 -0
- /package/dist/runtime/milkdown/{chunk-Q5FF4VKZ.js → chunk-TEMVRH7B.js} +0 -0
- /package/dist/runtime/milkdown/{chunk-VYL5RGSY.js → chunk-U6C7MJSD.js} +0 -0
- /package/dist/runtime/milkdown/{clike-WKR6QU6G.js → clike-EOWJN572.js} +0 -0
- /package/dist/runtime/milkdown/{clojure-7C5XMSLE.js → clojure-VLG72YFE.js} +0 -0
- /package/dist/runtime/milkdown/{cmake-VX6UCCMV.js → cmake-2PXWCEDK.js} +0 -0
- /package/dist/runtime/milkdown/{cobol-IUBDOVSU.js → cobol-PMRFKEKB.js} +0 -0
- /package/dist/runtime/milkdown/{coffeescript-OEAM3K5M.js → coffeescript-B5G6C2AR.js} +0 -0
- /package/dist/runtime/milkdown/{commonlisp-LRFHKBQZ.js → commonlisp-CFTTVW6U.js} +0 -0
- /package/dist/runtime/milkdown/{crystal-7XKMI75H.js → crystal-M6S3MKED.js} +0 -0
- /package/dist/runtime/milkdown/{css-DTJ74K4A.js → css-HESFBL5J.js} +0 -0
- /package/dist/runtime/milkdown/{cypher-Y7ZMLKQ4.js → cypher-IIJXY2ZS.js} +0 -0
- /package/dist/runtime/milkdown/{d-NSEMXQMQ.js → d-ZHLFM7BM.js} +0 -0
- /package/dist/runtime/milkdown/{diff-BO3JC62N.js → diff-7YFE6XTG.js} +0 -0
- /package/dist/runtime/milkdown/{dtd-3HSCMPBI.js → dtd-NPOQOSDS.js} +0 -0
- /package/dist/runtime/milkdown/{dylan-UCUZF6KU.js → dylan-KB7QIKGL.js} +0 -0
- /package/dist/runtime/milkdown/{ebnf-3LHOCFAJ.js → ebnf-TBCUHQC6.js} +0 -0
- /package/dist/runtime/milkdown/{ecl-5R3NXF6N.js → ecl-OXWKHIHJ.js} +0 -0
- /package/dist/runtime/milkdown/{eiffel-CQ4L5MSH.js → eiffel-WRBXQVBO.js} +0 -0
- /package/dist/runtime/milkdown/{elm-6QYNGBQ3.js → elm-MZAQSXJY.js} +0 -0
- /package/dist/runtime/milkdown/{erlang-6NH23EDV.js → erlang-PNSW52ER.js} +0 -0
- /package/dist/runtime/milkdown/{fcl-ACRUXLOI.js → fcl-6ZY3XINI.js} +0 -0
- /package/dist/runtime/milkdown/{forth-MGVKD22I.js → forth-BAIG3TGB.js} +0 -0
- /package/dist/runtime/milkdown/{fortran-Y2LH5YJY.js → fortran-MQWYHO5L.js} +0 -0
- /package/dist/runtime/milkdown/{gas-DGW2BQT5.js → gas-Q6YL6AQO.js} +0 -0
- /package/dist/runtime/milkdown/{gherkin-YE56IVZ5.js → gherkin-W5ZB2USN.js} +0 -0
- /package/dist/runtime/milkdown/{groovy-ACMNYCLF.js → groovy-JTF2GBED.js} +0 -0
- /package/dist/runtime/milkdown/{haskell-MIB6HZSL.js → haskell-HFE6BWET.js} +0 -0
- /package/dist/runtime/milkdown/{haxe-TANQRBYK.js → haxe-WWIJK4Z5.js} +0 -0
- /package/dist/runtime/milkdown/{http-QUK2BL6J.js → http-NZKSSIDP.js} +0 -0
- /package/dist/runtime/milkdown/{idl-54U6ONEE.js → idl-CMM2WWSO.js} +0 -0
- /package/dist/runtime/milkdown/{julia-7E2ZIO2U.js → julia-BMA4W7GB.js} +0 -0
- /package/dist/runtime/milkdown/{livescript-SUEXR7PK.js → livescript-3UKKDN45.js} +0 -0
- /package/dist/runtime/milkdown/{lua-QNGITPQK.js → lua-SWEBXZV4.js} +0 -0
- /package/dist/runtime/milkdown/{mathematica-HJQQXVFC.js → mathematica-CJOQYQFY.js} +0 -0
- /package/dist/runtime/milkdown/{mbox-F6SUCJVD.js → mbox-Y4XZOKOO.js} +0 -0
- /package/dist/runtime/milkdown/{mirc-7S5H76VB.js → mirc-5HDV5JC4.js} +0 -0
- /package/dist/runtime/milkdown/{mllike-TTW7I7W4.js → mllike-2EOQGIBG.js} +0 -0
- /package/dist/runtime/milkdown/{modelica-3POMKZFY.js → modelica-XKNFUSSN.js} +0 -0
- /package/dist/runtime/milkdown/{mscgen-IKAT43RT.js → mscgen-2X7TXJM6.js} +0 -0
- /package/dist/runtime/milkdown/{mumps-XZE3RMGJ.js → mumps-R6QPEBAR.js} +0 -0
- /package/dist/runtime/milkdown/{nginx-QCVWU6DV.js → nginx-7TJP7GQA.js} +0 -0
- /package/dist/runtime/milkdown/{ntriples-T6AMEY2C.js → ntriples-SCDRUUH2.js} +0 -0
- /package/dist/runtime/milkdown/{octave-64EAJHKR.js → octave-RV2OSSMQ.js} +0 -0
- /package/dist/runtime/milkdown/{oz-7QHCZG72.js → oz-6VL77R5Z.js} +0 -0
- /package/dist/runtime/milkdown/{pascal-KWNZTZKE.js → pascal-TQWMLNUO.js} +0 -0
- /package/dist/runtime/milkdown/{perl-KX75FRG7.js → perl-MJLZUOI2.js} +0 -0
- /package/dist/runtime/milkdown/{pig-YA2LFBUW.js → pig-MQKMXNXN.js} +0 -0
- /package/dist/runtime/milkdown/{powershell-SONNWKJG.js → powershell-RJOL52GR.js} +0 -0
- /package/dist/runtime/milkdown/{properties-MEUWSNZY.js → properties-XL2YBZDU.js} +0 -0
- /package/dist/runtime/milkdown/{protobuf-RKCPHWGY.js → protobuf-NQWTK3Z6.js} +0 -0
- /package/dist/runtime/milkdown/{puppet-JMZDB2TG.js → puppet-POQGMO34.js} +0 -0
- /package/dist/runtime/milkdown/{python-GVEPBHD7.js → python-NMGCKPUX.js} +0 -0
- /package/dist/runtime/milkdown/{q-QBK3FAEX.js → q-ILHJCNOR.js} +0 -0
- /package/dist/runtime/milkdown/{r-QZYPZHNL.js → r-XNO7UDHK.js} +0 -0
- /package/dist/runtime/milkdown/{rpm-DU7TLFAI.js → rpm-TPSVG357.js} +0 -0
- /package/dist/runtime/milkdown/{ruby-DMEPZV6P.js → ruby-3ZLDCDCY.js} +0 -0
- /package/dist/runtime/milkdown/{sas-UQCOIXSD.js → sas-X4IZVM55.js} +0 -0
- /package/dist/runtime/milkdown/{scheme-ABXYL6GU.js → scheme-JSRTR252.js} +0 -0
- /package/dist/runtime/milkdown/{shell-M3XELTMZ.js → shell-IJ2JLDQQ.js} +0 -0
- /package/dist/runtime/milkdown/{sieve-MUKKCDBZ.js → sieve-4ACSKBHV.js} +0 -0
- /package/dist/runtime/milkdown/{smalltalk-P4FKOVAU.js → smalltalk-AHTDIHSN.js} +0 -0
- /package/dist/runtime/milkdown/{solr-HHKG4NNK.js → solr-HDS3YMCJ.js} +0 -0
- /package/dist/runtime/milkdown/{sparql-5YJAIBWN.js → sparql-OPR2SX5E.js} +0 -0
- /package/dist/runtime/milkdown/{spreadsheet-M3SEYOFV.js → spreadsheet-YMJBRXJ6.js} +0 -0
- /package/dist/runtime/milkdown/{sql-Z6C3KTS5.js → sql-4LK5AARR.js} +0 -0
- /package/dist/runtime/milkdown/{stex-MO67FBMF.js → stex-CBOLYXFQ.js} +0 -0
- /package/dist/runtime/milkdown/{stylus-JEMVT3OU.js → stylus-5SYL4OMN.js} +0 -0
- /package/dist/runtime/milkdown/{swift-HP7RYRJA.js → swift-W3IKYGAN.js} +0 -0
- /package/dist/runtime/milkdown/{tcl-WPHRLNQC.js → tcl-QKBH3MVM.js} +0 -0
- /package/dist/runtime/milkdown/{textile-3LZDM6IW.js → textile-KRYPADXN.js} +0 -0
- /package/dist/runtime/milkdown/{tiddlywiki-LMGAXCWG.js → tiddlywiki-XNSPF27C.js} +0 -0
- /package/dist/runtime/milkdown/{tiki-SC7NYLRG.js → tiki-ZZLJUPPJ.js} +0 -0
- /package/dist/runtime/milkdown/{toml-VBRI3ILD.js → toml-FCAM6ZFK.js} +0 -0
- /package/dist/runtime/milkdown/{troff-MZNIC3MS.js → troff-7BWGQP4Z.js} +0 -0
- /package/dist/runtime/milkdown/{ttcn-ZUOU74GM.js → ttcn-K3WYQPKS.js} +0 -0
- /package/dist/runtime/milkdown/{ttcn-cfg-2JJUM5CY.js → ttcn-cfg-LDHTKWFO.js} +0 -0
- /package/dist/runtime/milkdown/{turtle-SNBPEJHA.js → turtle-6Q2P3NLY.js} +0 -0
- /package/dist/runtime/milkdown/{vb-U45Y75DV.js → vb-BYDJL3EX.js} +0 -0
- /package/dist/runtime/milkdown/{vbscript-XTRRB36U.js → vbscript-WOMP2PYW.js} +0 -0
- /package/dist/runtime/milkdown/{velocity-Y7TX26SP.js → velocity-ZG7EESTK.js} +0 -0
- /package/dist/runtime/milkdown/{verilog-IFT4S6MZ.js → verilog-MW2R7Q2Y.js} +0 -0
- /package/dist/runtime/milkdown/{vhdl-CK4X465M.js → vhdl-GQOJ6JVT.js} +0 -0
- /package/dist/runtime/milkdown/{webidl-N7XOMHHB.js → webidl-5Q6QYACY.js} +0 -0
- /package/dist/runtime/milkdown/{xquery-EPMIEXTW.js → xquery-MD4ZCF7M.js} +0 -0
- /package/dist/runtime/milkdown/{yacas-A74LVH45.js → yacas-EKNE7G24.js} +0 -0
- /package/dist/runtime/milkdown/{z80-NVBCD5FV.js → z80-44FRSRYD.js} +0 -0
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Use `b-ui="text-editor"` (or the pure Owl `TextEditor` component) for WYSIWYG rich-text editing backed by [Milkdown](https://milkdown.dev/) (ProseMirror + a Markdown-aware schema, via `@milkdown/kit`). The editor runtime is lazy-loaded from `dist/runtime/milkdown/milkdown-text-editor.js`, so the default BaseUI bundle stays small until an editor is actually mounted. `content`/`onChange` still deal in HTML — Milkdown's document is converted to/from HTML at the boundary, so nothing in this contract changes even though the engine now understands Markdown natively (e.g. typing a leading `#`, `**bold**`, or `1.` auto-formats as you type).
|
|
4
4
|
|
|
5
|
-
Collaborative mode
|
|
5
|
+
Collaborative mode (`collaborative` / `b-att-collaborative`) is optional and off by default; toggle it per editor without changing anything else. It runs on Yjs + `@milkdown/plugin-collab` over one of two providers, picked with `provider` / `b-att-provider`:
|
|
6
|
+
|
|
7
|
+
- `"webrtc"` (default) — peer-to-peer via [y-webrtc](https://github.com/yjs/y-webrtc). Use `room` / `b-att-room` to put editors in the same document, `password` / `b-att-password` for room encryption, and `signaling` / `b-att-signaling` to override signaling servers.
|
|
8
|
+
- `"websocket"` — connects to an external [y-websocket](https://github.com/yjs/y-websocket)-compatible backend at `url` / `b-att-url` (e.g. `wss://your-backend.example.com/mkdn`), joining `room` / `b-att-room` as the document name on that server. Bring your own backend — any server speaking the y-websocket sync protocol works, including [`y-websocket-server`](https://github.com/yjs/y-websocket-server) or a hosted equivalent.
|
|
9
|
+
|
|
10
|
+
Collaboration actually turns on when `collaborative` is explicitly truthy, **or** when both `provider` and `url` are supplied — so pointing an editor at a websocket backend (`provider="'websocket'"` + a `url`) is enough on its own, without also setting `collaborative="true"`. If `collaborative` is `false`/unset and `provider`+`url` aren't both present, the editor stays single-user.
|
|
6
11
|
|
|
7
12
|
## Pure Owl Component
|
|
8
13
|
|
|
@@ -25,6 +30,16 @@ import { TextEditor } from "@base/component";
|
|
|
25
30
|
user="{ name: 'Jean', color: '#2563eb' }"
|
|
26
31
|
onChange="(html) => this.onContentChange(html)"
|
|
27
32
|
/>
|
|
33
|
+
|
|
34
|
+
<TextEditor
|
|
35
|
+
content="state.html"
|
|
36
|
+
collaborative="true"
|
|
37
|
+
provider="'websocket'"
|
|
38
|
+
url="'wss://your-backend.example.com/mkdn'"
|
|
39
|
+
room="'docs/rich-text'"
|
|
40
|
+
user="{ name: 'Jean', color: '#2563eb' }"
|
|
41
|
+
onChange="(html) => this.onContentChange(html)"
|
|
42
|
+
/>
|
|
28
43
|
</div>
|
|
29
44
|
```
|
|
30
45
|
|
|
@@ -49,15 +64,32 @@ Enable peer-to-peer collaborative editing with Yjs + y-webrtc:
|
|
|
49
64
|
</div>
|
|
50
65
|
```
|
|
51
66
|
|
|
67
|
+
Or the same session hosted on an external websocket backend instead of peer-to-peer:
|
|
68
|
+
|
|
69
|
+
```html
|
|
70
|
+
<div
|
|
71
|
+
b-ui="text-editor"
|
|
72
|
+
b-att-collaborative="true"
|
|
73
|
+
b-att-provider="websocket"
|
|
74
|
+
b-att-url="wss://your-backend.example.com/mkdn"
|
|
75
|
+
b-att-room="docs/rich-text"
|
|
76
|
+
b-att-placeholder="Collaborate here..."
|
|
77
|
+
>
|
|
78
|
+
<template><p>Shared draft.</p></template>
|
|
79
|
+
</div>
|
|
80
|
+
```
|
|
81
|
+
|
|
52
82
|
## Options And Attributes
|
|
53
83
|
|
|
54
84
|
- `b-att-src` / `src` — fetch initial HTML from a remote file.
|
|
55
85
|
- `b-att-content` / `content` — initial HTML content. Static markup can also use a `<template>` or `<script type="text/html">` child.
|
|
56
86
|
- `b-att-placeholder` / `placeholder` — empty-editor hint text.
|
|
57
|
-
- `b-att-collaborative` / `collaborative` — set to `"true"` to connect through Yjs
|
|
58
|
-
- `b-att-
|
|
59
|
-
- `b-att-
|
|
60
|
-
- `b-att-
|
|
87
|
+
- `b-att-collaborative` / `collaborative` — set to `"true"` to connect through Yjs; off by default.
|
|
88
|
+
- `b-att-provider` / `provider` — collaboration transport: `"webrtc"` (default, peer-to-peer) or `"websocket"` (connects to an external y-websocket-compatible backend).
|
|
89
|
+
- `b-att-room` / `room` — document/room name for collaborative sessions (defaults to `baseui-text-editor`); shared across peers for y-webrtc, or used as the document name on the y-websocket backend.
|
|
90
|
+
- `b-att-url` / `url` — y-websocket server URL (e.g. `wss://your-backend.example.com/mkdn`), required when `provider` is `"websocket"`. Ignored for `"webrtc"`.
|
|
91
|
+
- `b-att-password` / `password` — optional y-webrtc room password. Ignored for `"websocket"`.
|
|
92
|
+
- `b-att-signaling` / `signaling` — comma-separated signaling URLs for the static API, or an array prop for Owl. y-webrtc only.
|
|
61
93
|
|
|
62
94
|
## Events
|
|
63
95
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thebase/ui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"description": "CDN-installable Owl and Bootstrap 5 UI component library.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/baseui.min.js",
|
|
@@ -68,6 +68,7 @@
|
|
|
68
68
|
"@milkdown/plugin-emoji": "^7.22.1",
|
|
69
69
|
"y-protocols": "^1.0.7",
|
|
70
70
|
"y-webrtc": "^10.3.0",
|
|
71
|
+
"y-websocket": "^3.1.0",
|
|
71
72
|
"yjs": "^13.6.32"
|
|
72
73
|
},
|
|
73
74
|
"devDependencies": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a,b,c,d,e,f,g,h,i}from"./chunk-SMRDMV2Q.js";import"./chunk-KOCVWYBK.js";import"./chunk-FOZORPFE.js";import"./chunk-GHRUWTEV.js";import"./chunk-VKELS2FZ.js";import"./chunk-BV6CAHIM.js";import"./chunk-KJCZ4UN6.js";import"./chunk-23NN352E.js";export{h as BlockProvider,c as BlockService,i as block,b as blockConfig,g as blockPlugin,d as blockService,e as blockServiceInstance,f as blockSpec,a as defaultNodeFilter};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{A as B,e as m,g as N,m as he,o as P,u as ye,v,w as j,x as C,y as M,z as J}from"./chunk-GHRUWTEV.js";import{$ as ae,A as ie,B as ct,C as w,Da as fe,F as ht,G as yt,H as ee,I as kt,J as de,K as It,L as Nt,N as V,P as U,Qa as g,T as D,U as K,V as vt,X as te,Y as $,Z as re,_ as pe,a as x,aa as ue,ca as G,ma as Ct,na as Mt,qa as me,ra as ce,ta as ge}from"./chunk-VKELS2FZ.js";import{a as k,d as z,f as gt,g as ft}from"./chunk-BV6CAHIM.js";function bt(t,e){return function(r,a){let{$from:n,$to:o,node:s}=r.selection;if(s&&s.isBlock||n.depth<2||!n.sameParent(o))return!1;let i=n.node(-1);if(i.type!=t)return!1;if(n.parent.content.size==0&&n.node(-1).childCount==n.indexAfter(-1)){if(n.depth==3||n.node(-3).type!=t||n.index(-2)!=n.node(-2).childCount-1)return!1;if(a){let u=k.empty,y=n.index(-1)?1:n.index(-2)?2:3;for(let L=n.depth-y;L>=n.depth-3;L--)u=k.from(n.node(L).copy(u));let f=n.indexAfter(-1)<n.node(-2).childCount?1:n.indexAfter(-2)<n.node(-3).childCount?2:3;u=u.append(k.from(t.createAndFill()));let I=n.before(n.depth-(y-1)),h=r.tr.replace(I,n.after(-f),new z(u,4-y,0)),b=-1;h.doc.nodesBetween(I,h.doc.content.size,(L,ut)=>{if(b>-1)return!1;L.isTextblock&&L.content.size==0&&(b=ut+1)}),b>-1&&h.setSelection(V.near(h.doc.resolve(b))),a(h.scrollIntoView())}return!0}let d=o.pos==n.end()?i.contentMatchAt(0).defaultType:null,p=r.tr.delete(n.pos,o.pos),c=d?[e?{type:t,attrs:e}:null,{type:d}]:void 0;return It(p.doc,n.pos,2,c)?(a&&a(p.split(n.pos,2,c).scrollIntoView()),!0):!1}}function Lt(t){return function(e,r){let{$from:a,$to:n}=e.selection,o=a.blockRange(n,s=>s.childCount>0&&s.firstChild.type==t);return o?r?a.node(o.depth-1).type==t?Xt(e,r,t,o):Zt(e,r,o):!0:!1}}function Xt(t,e,r,a){let n=t.tr,o=a.end,s=a.$to.end(a.depth);o<s&&(n.step(new ee(o-1,s,o,s,new z(k.from(r.create(null,a.parent.copy())),1,0),1,!0)),a=new gt(n.doc.resolve(a.$from.pos),n.doc.resolve(s),a.depth));let i=kt(a);if(i==null)return!1;n.lift(a,i);let d=n.doc.resolve(n.mapping.map(o,-1)-1);return Nt(n.doc,d.pos)&&d.nodeBefore.type==d.nodeAfter.type&&n.join(d.pos),e(n.scrollIntoView()),!0}function Zt(t,e,r){let a=t.tr,n=r.parent;for(let f=r.end,I=r.endIndex-1,h=r.startIndex;I>h;I--)f-=n.child(I).nodeSize,a.delete(f-1,f+1);let o=a.doc.resolve(r.start),s=o.nodeAfter;if(a.mapping.map(r.end)!=r.start+o.nodeAfter.nodeSize)return!1;let i=r.startIndex==0,d=r.endIndex==n.childCount,p=o.node(-1),c=o.index(-1);if(!p.canReplace(c+(i?0:1),c+1,s.content.append(d?k.empty:k.from(n))))return!1;let u=o.pos,y=u+s.nodeSize;return a.step(new ee(u-(i?1:0),y+(d?1:0),u+1,y-1,new z((i?k.empty:k.from(n.copy(k.empty))).append(d?k.empty:k.from(n.copy(k.empty))),i?0:1,d?0:1),i?0:1)),e(a.scrollIntoView()),!0}function xt(t){return function(e,r){let{$from:a,$to:n}=e.selection,o=a.blockRange(n,p=>p.childCount>0&&p.firstChild.type==t);if(!o)return!1;let s=o.startIndex;if(s==0)return!1;let i=o.parent,d=i.child(s-1);if(d.type!=t)return!1;if(r){let p=d.lastChild&&d.lastChild.type==i.type,c=k.from(p?t.create():null),u=new z(k.from(t.create(null,k.from(i.type.create(null,c)))),p?3:1,0),y=o.start,f=o.end;r(e.tr.step(new ee(y-(p?3:1),f,y,f,u,1,!0)).scrollIntoView())}return!0}}function ke(t){let e=new Map;if(!t||!t.type)throw new Error("mdast-util-definitions expected node");return w(t,"definition",function(a){let n=wt(a.identifier);n&&!e.get(n)&&e.set(n,a)}),r;function r(a){let n=wt(a);return e.get(n)}}function wt(t){return String(t||"").toUpperCase()}function ne(){return function(t){let e=ke(t);w(t,function(r,a,n){if(r.type==="definition"&&n!==void 0&&typeof a=="number")return n.children.splice(a,1),[ie,a];if(r.type==="imageReference"||r.type==="linkReference"){let o=e(r.identifier);if(o&&n&&typeof a=="number")return n.children[a]=r.type==="imageReference"?{type:"image",url:o.url,title:o.title,alt:r.alt}:{type:"link",url:o.url,title:o.title,children:r.children},[ie,a]}})}}function St(t,e){if(!(e.childCount>=1&&e.lastChild?.type.name==="hardbreak")){t.next(e.content);return}let r=[];e.content.forEach((a,n,o)=>{o!==e.childCount-1&&r.push(a)}),t.next(k.fromArray(r))}function l(t,e){return Object.assign(t,{meta:{package:"@milkdown/preset-commonmark",...e}}),t}var Ie=J("emphasis");l(Ie,{displayName:"Attr<emphasis>",group:"Emphasis"});var E=j("emphasis",t=>({attrs:{marker:{default:t.get(fe).emphasis||"*",validate:"string"}},parseDOM:[{tag:"i"},{tag:"em"},{style:"font-style",getAttrs:e=>e==="italic"}],toDOM:e=>["em",t.get(Ie.key)(e)],parseMarkdown:{match:e=>e.type==="emphasis",runner:(e,r,a)=>{e.openMark(a,{marker:r.marker}),e.next(r.children),e.closeMark(a)}},toMarkdown:{match:e=>e.type.name==="emphasis",runner:(e,r)=>{e.withMark(r,"emphasis",void 0,{marker:r.attrs.marker})}}}));l(E.mark,{displayName:"MarkSchema<emphasis>",group:"Emphasis"});l(E.ctx,{displayName:"MarkSchemaCtx<emphasis>",group:"Emphasis"});var Ne=m("ToggleEmphasis",t=>()=>re(E.type(t)));l(Ne,{displayName:"Command<toggleEmphasisCommand>",group:"Emphasis"});var At=N(t=>G(/(?:^|[^*])\*([^*]+)\*$/,E.type(t),{getAttr:()=>({marker:"*"}),updateCaptured:({fullMatch:e,start:r})=>e.startsWith("*")?{}:{fullMatch:e.slice(1),start:r+1}}));l(At,{displayName:"InputRule<emphasis>|Star",group:"Emphasis"});var Rt=N(t=>G(/\b_(?![_\s])(.*?[^_\s])_$/,E.type(t),{getAttr:()=>({marker:"_"}),updateCaptured:({fullMatch:e,start:r})=>e.startsWith("_")?{}:{fullMatch:e.slice(1),start:r+1}}));l(Rt,{displayName:"InputRule<emphasis>|Underscore",group:"Emphasis"});var ve=C("emphasisKeymap",{ToggleEmphasis:{shortcuts:"Mod-i",command:t=>{let e=t.get(g);return()=>e.call(Ne.key)}}});l(ve.ctx,{displayName:"KeymapCtx<emphasis>",group:"Emphasis"});l(ve.shortcuts,{displayName:"Keymap<emphasis>",group:"Emphasis"});var Ce=J("strong");l(Ce,{displayName:"Attr<strong>",group:"Strong"});var Y=j("strong",t=>({attrs:{marker:{default:t.get(fe).strong||"*",validate:"string"}},parseDOM:[{tag:"b",getAttrs:e=>e.style.fontWeight!="normal"&&null},{tag:"strong"},{style:"font-style",getAttrs:e=>e==="bold"},{style:"font-weight=400",clearMark:e=>e.type.name=="strong"},{style:"font-weight",getAttrs:e=>/^(bold(er)?|[5-9]\d{2,})$/.test(e)&&null}],toDOM:e=>["strong",t.get(Ce.key)(e)],parseMarkdown:{match:e=>e.type==="strong",runner:(e,r,a)=>{e.openMark(a,{marker:r.marker}),e.next(r.children),e.closeMark(a)}},toMarkdown:{match:e=>e.type.name==="strong",runner:(e,r)=>{e.withMark(r,"strong",void 0,{marker:r.attrs.marker})}}}));l(Y.mark,{displayName:"MarkSchema<strong>",group:"Strong"});l(Y.ctx,{displayName:"MarkSchemaCtx<strong>",group:"Strong"});var Me=m("ToggleStrong",t=>()=>re(Y.type(t)));l(Me,{displayName:"Command<toggleStrongCommand>",group:"Strong"});var Bt=N(t=>G(/(?<![\w:/])(?:\*\*|__)([^*_]+?)(?:\*\*|__)(?![\w/])$/,Y.type(t),{getAttr:e=>({marker:e[0].startsWith("*")?"*":"_"})}));l(Bt,{displayName:"InputRule<strong>",group:"Strong"});var be=C("strongKeymap",{ToggleBold:{shortcuts:["Mod-b"],command:t=>{let e=t.get(g);return()=>e.call(Me.key)}}});l(be.ctx,{displayName:"KeymapCtx<strong>",group:"Strong"});l(be.shortcuts,{displayName:"Keymap<strong>",group:"Strong"});var Le=J("inlineCode");l(Le,{displayName:"Attr<inlineCode>",group:"InlineCode"});var A=j("inlineCode",t=>({priority:100,code:!0,inclusive:!1,parseDOM:[{tag:"code"}],toDOM:e=>["code",t.get(Le.key)(e)],parseMarkdown:{match:e=>e.type==="inlineCode",runner:(e,r,a)=>{e.openMark(a),e.addText(r.value),e.closeMark(a)}},toMarkdown:{match:e=>e.type.name==="inlineCode",runner:(e,r,a)=>(e.withMark(r,"inlineCode",a.text||""),!0)}}));l(A.mark,{displayName:"MarkSchema<inlineCode>",group:"InlineCode"});l(A.ctx,{displayName:"MarkSchemaCtx<inlineCode>",group:"InlineCode"});var xe=m("ToggleInlineCode",t=>()=>(e,r)=>{let{selection:a,tr:n}=e;if(a.empty)return!1;let{from:o,to:s}=a;return e.doc.rangeHasMark(o,s,A.type(t))?(r?.(n.removeMark(o,s,A.type(t))),!0):(Object.keys(e.schema.marks).filter(i=>i!==A.type.name).map(i=>e.schema.marks[i]).forEach(i=>{n.removeMark(o,s,i)}),r?.(n.addMark(o,s,A.type(t).create())),!0)});l(xe,{displayName:"Command<toggleInlineCodeCommand>",group:"InlineCode"});var Ot=N(t=>G(/(?:`)([^`]+)(?:`)$/,A.type(t)));l(Ot,{displayName:"InputRule<inlineCodeInputRule>",group:"InlineCode"});var we=C("inlineCodeKeymap",{ToggleInlineCode:{shortcuts:"Mod-e",command:t=>{let e=t.get(g);return()=>e.call(xe.key)}}});l(we.ctx,{displayName:"KeymapCtx<inlineCode>",group:"InlineCode"});l(we.shortcuts,{displayName:"Keymap<inlineCode>",group:"InlineCode"});var er=new Set(["http:","https:","mailto:","tel:","ftp:"]);function tr(t){return t<=32||t>=127&&t<=160||t>=8203&&t<=8205||t===8232||t===8233||t===65279}function rr(t){let e="";for(let r of t)tr(r.codePointAt(0)??0)||(e+=r);return e}function ar(t){if(typeof t!="string")return"";let e=t.trim();if(!e)return"";let r=rr(e),a=/^([a-z][a-z0-9+.-]*):/i.exec(r)?.[1];return!a||er.has(`${a.toLowerCase()}:`)?e:""}var Se=J("link");l(Se,{displayName:"Attr<link>",group:"Link"});var _=j("link",t=>({attrs:{href:{validate:"string"},title:{default:null,validate:"string|null"}},parseDOM:[{tag:"a[href]",getAttrs:e=>{if(!(e instanceof HTMLElement))throw x(e);return{href:e.getAttribute("href"),title:e.getAttribute("title")}}}],toDOM:e=>["a",{...t.get(Se.key)(e),...e.attrs,href:ar(e.attrs.href)}],parseMarkdown:{match:e=>e.type==="link",runner:(e,r,a)=>{let n=r.url,o=r.title;e.openMark(a,{href:n,title:o}),e.next(r.children),e.closeMark(a)}},toMarkdown:{match:e=>e.type.name==="link",runner:(e,r)=>{e.withMark(r,"link",void 0,{title:r.attrs.title,url:r.attrs.href})}}}));l(_.mark,{displayName:"MarkSchema<link>",group:"Link"});var Tt=m("ToggleLink",t=>(e={})=>re(_.type(t),e));l(Tt,{displayName:"Command<toggleLinkCommand>",group:"Link"});var Ht=m("UpdateLink",t=>(e={})=>(r,a)=>{if(!a)return!1;let n,o=-1,{selection:s}=r,{from:i,to:d}=s;if(r.doc.nodesBetween(i,i===d?d+1:d,(I,h)=>{if(_.type(t).isInSet(I.marks))return n=I,o=h,!1}),!n)return!1;let p=n.marks.find(({type:I})=>I===_.type(t));if(!p)return!1;let c=o,u=o+n.nodeSize,{tr:y}=r,f=_.type(t).create({...p.attrs,...e});return f?(a(y.removeMark(c,u,p).addMark(c,u,f).setSelection(new U(y.selection.$anchor)).scrollIntoView()),!0):!1});l(Ht,{displayName:"Command<updateLinkCommand>",group:"Link"});var Dt=he("doc",()=>({content:"block+",parseMarkdown:{match:({type:t})=>t==="root",runner:(t,e,r)=>{t.injectRoot(e,r)}},toMarkdown:{match:t=>t.type.name==="doc",runner:(t,e)=>{t.openNode("root"),t.next(e.content)}}}));l(Dt,{displayName:"NodeSchema<doc>",group:"Doc"});function nr(t){return ct(t,e=>e.type==="html"&&["<br />","<br>","<br >","<br/>"].includes(e.value?.trim()),(e,r)=>{if(!r.length)return;let a=r[r.length-1];if(!a)return;let n=a.children.indexOf(e);n!==-1&&a.children.splice(n,1)},!0)}var le=B("remark-preserve-empty-line",()=>()=>nr);l(le.plugin,{displayName:"Remark<remarkPreserveEmptyLine>",group:"Remark"});l(le.options,{displayName:"RemarkConfig<remarkPreserveEmptyLine>",group:"Remark"});var Ae=M("paragraph");l(Ae,{displayName:"Attr<paragraph>",group:"Paragraph"});var T=v("paragraph",t=>({content:"inline*",group:"block",parseDOM:[{tag:"p"}],toDOM:e=>["p",t.get(Ae.key)(e),0],parseMarkdown:{match:e=>e.type==="paragraph",runner:(e,r,a)=>{e.openNode(a),r.children?e.next(r.children):e.addText(r.value||""),e.closeNode()}},toMarkdown:{match:e=>e.type.name==="paragraph",runner:(e,r)=>{let a=t.get(ge).state?.doc.lastChild;e.openNode("paragraph"),(!r.content||r.content.size===0)&&r!==a&&or(t)?e.addNode("html",void 0,"<br />"):St(e,r),e.closeNode()}}}));function or(t){let e=!1;try{t.get(le.id),e=!0}catch{e=!1}return e}l(T.node,{displayName:"NodeSchema<paragraph>",group:"Paragraph"});l(T.ctx,{displayName:"NodeSchemaCtx<paragraph>",group:"Paragraph"});var Re=m("TurnIntoText",t=>()=>$(T.type(t)));l(Re,{displayName:"Command<turnIntoTextCommand>",group:"Paragraph"});var Be=C("paragraphKeymap",{TurnIntoText:{shortcuts:"Mod-Alt-0",command:t=>{let e=t.get(g);return()=>e.call(Re.key)}}});l(Be.ctx,{displayName:"KeymapCtx<paragraph>",group:"Paragraph"});l(Be.shortcuts,{displayName:"Keymap<paragraph>",group:"Paragraph"});var lr=Array(6).fill(0).map((t,e)=>e+1);function sr(t){return t.textContent.toLowerCase().trim().replace(/\s+/g,"-")}var se=ye(sr,"headingIdGenerator");l(se,{displayName:"Ctx<HeadingIdGenerator>",group:"Heading"});var Oe=M("heading");l(Oe,{displayName:"Attr<heading>",group:"Heading"});var H=v("heading",t=>{let e=t.get(se.key);return{content:"inline*",group:"block",defining:!0,attrs:{id:{default:"",validate:"string"},level:{default:1,validate:"number"}},parseDOM:lr.map(r=>({tag:`h${r}`,getAttrs:a=>{if(!(a instanceof HTMLElement))throw x(a);return{level:r,id:a.id}}})),toDOM:r=>[`h${r.attrs.level}`,{...t.get(Oe.key)(r),id:r.attrs.id||e(r)},0],parseMarkdown:{match:({type:r})=>r==="heading",runner:(r,a,n)=>{let o=a.depth;r.openNode(n,{level:o}),r.next(a.children),r.closeNode()}},toMarkdown:{match:r=>r.type.name==="heading",runner:(r,a)=>{r.openNode("heading",void 0,{depth:a.attrs.level}),St(r,a),r.closeNode()}}}});l(H.node,{displayName:"NodeSchema<heading>",group:"Heading"});l(H.ctx,{displayName:"NodeSchemaCtx<heading>",group:"Heading"});var Kt=N(t=>ue(/^(?<hashes>#+)\s$/,H.type(t),e=>{let r=e.groups?.hashes?.length||0,{$from:a}=t.get(ge).state.selection,n=a.node();if(n.type.name==="heading"){let o=Number(n.attrs.level)+Number(r);return o>6&&(o=6),{level:o}}return{level:r}}));l(Kt,{displayName:"InputRule<wrapInHeadingInputRule>",group:"Heading"});var S=m("WrapInHeading",t=>e=>(e??(e=1),e<1?$(T.type(t)):$(H.type(t),{level:e})));l(S,{displayName:"Command<wrapInHeadingCommand>",group:"Heading"});var Te=m("DowngradeHeading",t=>()=>(e,r,a)=>{let{$from:n}=e.selection,o=n.node();if(o.type!==H.type(t)||!e.selection.empty||n.parentOffset!==0)return!1;let s=o.attrs.level-1;return s?(r?.(e.tr.setNodeMarkup(e.selection.$from.before(),void 0,{...o.attrs,level:s})),!0):$(T.type(t))(e,r,a)});l(Te,{displayName:"Command<downgradeHeadingCommand>",group:"Heading"});var He=C("headingKeymap",{TurnIntoH1:{shortcuts:"Mod-Alt-1",command:t=>{let e=t.get(g);return()=>e.call(S.key,1)}},TurnIntoH2:{shortcuts:"Mod-Alt-2",command:t=>{let e=t.get(g);return()=>e.call(S.key,2)}},TurnIntoH3:{shortcuts:"Mod-Alt-3",command:t=>{let e=t.get(g);return()=>e.call(S.key,3)}},TurnIntoH4:{shortcuts:"Mod-Alt-4",command:t=>{let e=t.get(g);return()=>e.call(S.key,4)}},TurnIntoH5:{shortcuts:"Mod-Alt-5",command:t=>{let e=t.get(g);return()=>e.call(S.key,5)}},TurnIntoH6:{shortcuts:"Mod-Alt-6",command:t=>{let e=t.get(g);return()=>e.call(S.key,6)}},DowngradeHeading:{shortcuts:["Delete","Backspace"],command:t=>{let e=t.get(g);return()=>e.call(Te.key)}}});l(He.ctx,{displayName:"KeymapCtx<heading>",group:"Heading"});l(He.shortcuts,{displayName:"Keymap<heading>",group:"Heading"});var De=M("blockquote");l(De,{displayName:"Attr<blockquote>",group:"Blockquote"});var Q=v("blockquote",t=>({content:"block+",group:"block",defining:!0,parseDOM:[{tag:"blockquote"}],toDOM:e=>["blockquote",t.get(De.key)(e),0],parseMarkdown:{match:({type:e})=>e==="blockquote",runner:(e,r,a)=>{e.openNode(a).next(r.children).closeNode()}},toMarkdown:{match:e=>e.type.name==="blockquote",runner:(e,r)=>{e.openNode("blockquote").next(r.content).closeNode()}}}));l(Q.node,{displayName:"NodeSchema<blockquote>",group:"Blockquote"});l(Q.ctx,{displayName:"NodeSchemaCtx<blockquote>",group:"Blockquote"});var $t=N(t=>ae(/^\s*>\s$/,Q.type(t)));l($t,{displayName:"InputRule<wrapInBlockquoteInputRule>",group:"Blockquote"});var Ke=m("WrapInBlockquote",t=>()=>te(Q.type(t)));l(Ke,{displayName:"Command<wrapInBlockquoteCommand>",group:"Blockquote"});var $e=C("blockquoteKeymap",{WrapInBlockquote:{shortcuts:"Mod-Shift-b",command:t=>{let e=t.get(g);return()=>e.call(Ke.key)}}});l($e.ctx,{displayName:"KeymapCtx<blockquote>",group:"Blockquote"});l($e.shortcuts,{displayName:"Keymap<blockquote>",group:"Blockquote"});var Pe=M("codeBlock",()=>({pre:{},code:{}}));l(Pe,{displayName:"Attr<codeBlock>",group:"CodeBlock"});var X=v("code_block",t=>({content:"text*",group:"block",marks:"",defining:!0,code:!0,attrs:{language:{default:"",validate:"string"}},parseDOM:[{tag:"pre",preserveWhitespace:"full",getAttrs:e=>{if(!(e instanceof HTMLElement))throw x(e);return{language:e.dataset.language}}}],toDOM:e=>{let r=t.get(Pe.key)(e),a=e.attrs.language,n=a&&a.length>0?{"data-language":a}:void 0;return["pre",{...r.pre,...n},["code",r.code,0]]},parseMarkdown:{match:({type:e})=>e==="code",runner:(e,r,a)=>{let n=r.lang??"",o=r.value;e.openNode(a,{language:n}),o&&e.addText(o),e.closeNode()}},toMarkdown:{match:e=>e.type.name==="code_block",runner:(e,r)=>{e.addNode("code",void 0,r.content.firstChild?.text||"",{lang:r.attrs.language})}}}));l(X.node,{displayName:"NodeSchema<codeBlock>",group:"CodeBlock"});l(X.ctx,{displayName:"NodeSchemaCtx<codeBlock>",group:"CodeBlock"});var Pt=N(t=>ue(/^```(?<language>[a-z]*)?[\s\n]$/,X.type(t),e=>({language:e.groups?.language??""})));l(Pt,{displayName:"InputRule<createCodeBlockInputRule>",group:"CodeBlock"});var _e=m("CreateCodeBlock",t=>(e="")=>$(X.type(t),{language:e}));l(_e,{displayName:"Command<createCodeBlockCommand>",group:"CodeBlock"});var ir=m("UpdateCodeBlockLanguage",()=>({pos:t,language:e}={pos:-1,language:""})=>(r,a)=>t>=0?(a?.(r.tr.setNodeAttribute(t,"language",e)),!0):!1);l(ir,{displayName:"Command<updateCodeBlockLanguageCommand>",group:"CodeBlock"});var Ee=C("codeBlockKeymap",{CreateCodeBlock:{shortcuts:"Mod-Alt-c",command:t=>{let e=t.get(g);return()=>e.call(_e.key)}}});l(Ee.ctx,{displayName:"KeymapCtx<codeBlock>",group:"CodeBlock"});l(Ee.shortcuts,{displayName:"Keymap<codeBlock>",group:"CodeBlock"});var qe=M("image");l(qe,{displayName:"Attr<image>",group:"Image"});var q=v("image",t=>({inline:!0,group:"inline",selectable:!0,draggable:!0,marks:"",atom:!0,defining:!0,isolating:!0,attrs:{src:{default:"",validate:"string"},alt:{default:"",validate:"string"},title:{default:"",validate:"string"}},parseDOM:[{tag:"img[src]",getAttrs:e=>{if(!(e instanceof HTMLElement))throw x(e);return{src:e.getAttribute("src")||"",alt:e.getAttribute("alt")||"",title:e.getAttribute("title")||e.getAttribute("alt")||""}}}],toDOM:e=>["img",{...t.get(qe.key)(e),...e.attrs}],parseMarkdown:{match:({type:e})=>e==="image",runner:(e,r,a)=>{let n=r.url,o=r.alt,s=r.title;e.addNode(a,{src:n,alt:o,title:s})}},toMarkdown:{match:e=>e.type.name==="image",runner:(e,r)=>{e.addNode("image",void 0,void 0,{title:r.attrs.title,url:r.attrs.src,alt:r.attrs.alt})}}}));l(q.node,{displayName:"NodeSchema<image>",group:"Image"});l(q.ctx,{displayName:"NodeSchemaCtx<image>",group:"Image"});var _t=m("InsertImage",t=>(e={})=>(r,a)=>{if(!a)return!0;let{src:n="",alt:o="",title:s=""}=e,i=q.type(t).create({src:n,alt:o,title:s});return i&&a(r.tr.replaceSelectionWith(i).scrollIntoView()),!0});l(_t,{displayName:"Command<insertImageCommand>",group:"Image"});var Et=m("UpdateImage",t=>(e={})=>(r,a)=>{let n=Ct(r.selection,q.type(t));if(!n)return!1;let{node:o,pos:s}=n,i={...o.attrs},{src:d,alt:p,title:c}=e;return d!==void 0&&(i.src=d),p!==void 0&&(i.alt=p),c!==void 0&&(i.title=c),a?.(r.tr.setNodeMarkup(s,void 0,i).scrollIntoView()),!0});l(Et,{displayName:"Command<updateImageCommand>",group:"Image"});var dr=N(t=>new pe(/!\[(?<alt>.*?)]\((?<filename>.*?)\s*(?="|\))"?(?<title>[^"]+)?"?\)/,(e,r,a,n)=>{let[o,s,i="",d]=r;return o?e.tr.replaceWith(a,n,q.type(t).create({src:i,alt:s,title:d})):null}));l(dr,{displayName:"InputRule<insertImageInputRule>",group:"Image"});var oe=M("hardbreak",t=>({"data-type":"hardbreak","data-is-inline":t.attrs.isInline}));l(oe,{displayName:"Attr<hardbreak>",group:"Hardbreak"});var O=v("hardbreak",t=>({inline:!0,group:"inline",attrs:{isInline:{default:!1,validate:"boolean"}},selectable:!1,parseDOM:[{tag:"br"},{tag:'span[data-type="hardbreak"]',getAttrs:()=>({isInline:!0})}],toDOM:e=>e.attrs.isInline?["span",t.get(oe.key)(e)," "]:["br",t.get(oe.key)(e)],parseMarkdown:{match:({type:e})=>e==="break",runner:(e,r,a)=>{e.addNode(a,{isInline:!!r.data?.isInline})}},leafText:()=>`
|
|
2
|
-
`,toMarkdown:{match:e=>e.type.name==="hardbreak",runner:(e,r)=>{r.attrs.isInline?e.addNode("text",void 0,`
|
|
3
|
-
`):e.addNode("break")}}}));l(O.node,{displayName:"NodeSchema<hardbreak>",group:"Hardbreak"});l(O.ctx,{displayName:"NodeSchemaCtx<hardbreak>",group:"Hardbreak"});var We=m("InsertHardbreak",t=>()=>(e,r)=>{let{selection:a,tr:n}=e;if(!(a instanceof U))return!1;if(a.empty){let o=a.$from.node();if(o.childCount>0&&o.lastChild?.type.name==="hardbreak")return r?.(n.replaceRangeWith(a.to-1,a.to,e.schema.node("paragraph")).setSelection(V.near(n.doc.resolve(a.to))).scrollIntoView()),!0}return r?.(n.setMeta("hardbreak",!0).replaceSelectionWith(O.type(t).create()).scrollIntoView()),!0});l(We,{displayName:"Command<insertHardbreakCommand>",group:"Hardbreak"});var Fe=C("hardbreakKeymap",{InsertHardbreak:{shortcuts:"Shift-Enter",command:t=>{let e=t.get(g);return()=>e.call(We.key)}}});l(Fe.ctx,{displayName:"KeymapCtx<hardbreak>",group:"Hardbreak"});l(Fe.shortcuts,{displayName:"Keymap<hardbreak>",group:"Hardbreak"});var ze=M("hr");l(ze,{displayName:"Attr<hr>",group:"Hr"});var Z=v("hr",t=>({group:"block",parseDOM:[{tag:"hr"}],toDOM:e=>["hr",t.get(ze.key)(e)],parseMarkdown:{match:({type:e})=>e==="thematicBreak",runner:(e,r,a)=>{e.addNode(a)}},toMarkdown:{match:e=>e.type.name==="hr",runner:e=>{e.addNode("thematicBreak")}}}));l(Z.node,{displayName:"NodeSchema<hr>",group:"Hr"});l(Z.ctx,{displayName:"NodeSchemaCtx<hr>",group:"Hr"});var qt=N(t=>new pe(/^(?:---|___\s|\*\*\*\s)$/,(e,r,a,n)=>{let{tr:o}=e;return r[0]&&o.replaceWith(a-1,n,Z.type(t).create()),o}));l(qt,{displayName:"InputRule<insertHrInputRule>",group:"Hr"});var Wt=m("InsertHr",t=>()=>(e,r)=>{if(!r)return!0;let a=T.node.type(t).create(),{tr:n,selection:o}=e,{from:s}=o,i=Z.type(t).create();if(!i)return!0;let d=n.replaceSelectionWith(i).insert(s,a),p=V.findFrom(d.doc.resolve(s),1,!0);return p&&r(d.setSelection(p).scrollIntoView()),!0});l(Wt,{displayName:"Command<insertHrCommand>",group:"Hr"});var Ve=M("bulletList");l(Ve,{displayName:"Attr<bulletList>",group:"BulletList"});var W=v("bullet_list",t=>({content:"listItem+",group:"block",attrs:{spread:{default:!1,validate:"boolean"}},parseDOM:[{tag:"ul",getAttrs:e=>{if(!(e instanceof HTMLElement))throw x(e);return{spread:e.dataset.spread==="true"}}}],toDOM:e=>["ul",{...t.get(Ve.key)(e),"data-spread":e.attrs.spread},0],parseMarkdown:{match:({type:e,ordered:r})=>e==="list"&&!r,runner:(e,r,a)=>{let n=r.spread??!1;e.openNode(a,{spread:n}).next(r.children).closeNode()}},toMarkdown:{match:e=>e.type.name==="bullet_list",runner:(e,r)=>{e.openNode("list",void 0,{ordered:!1,spread:r.attrs.spread}).next(r.content).closeNode()}}}));l(W.node,{displayName:"NodeSchema<bulletList>",group:"BulletList"});l(W.ctx,{displayName:"NodeSchemaCtx<bulletList>",group:"BulletList"});var Ft=N(t=>ae(/^\s*([-+*])\s$/,W.type(t)));l(Ft,{displayName:"InputRule<wrapInBulletListInputRule>",group:"BulletList"});var Ue=m("WrapInBulletList",t=>()=>te(W.type(t)));l(Ue,{displayName:"Command<wrapInBulletListCommand>",group:"BulletList"});var Ge=C("bulletListKeymap",{WrapInBulletList:{shortcuts:"Mod-Alt-8",command:t=>{let e=t.get(g);return()=>e.call(Ue.key)}}});l(Ge.ctx,{displayName:"KeymapCtx<bulletListKeymap>",group:"BulletList"});l(Ge.shortcuts,{displayName:"Keymap<bulletListKeymap>",group:"BulletList"});var je=M("orderedList");l(je,{displayName:"Attr<orderedList>",group:"OrderedList"});var F=v("ordered_list",t=>({content:"listItem+",group:"block",attrs:{order:{default:1,validate:"number"},spread:{default:!1,validate:"boolean"}},parseDOM:[{tag:"ol",getAttrs:e=>{if(!(e instanceof HTMLElement))throw x(e);return{spread:e.dataset.spread==="true",order:e.hasAttribute("start")?Number(e.getAttribute("start")):1}}}],toDOM:e=>["ol",{...t.get(je.key)(e),...e.attrs.order===1?{}:{start:e.attrs.order},"data-spread":e.attrs.spread},0],parseMarkdown:{match:({type:e,ordered:r})=>e==="list"&&!!r,runner:(e,r,a)=>{let n=r.spread??!0;e.openNode(a,{spread:n,order:r.start??1}).next(r.children).closeNode()}},toMarkdown:{match:e=>e.type.name==="ordered_list",runner:(e,r)=>{e.openNode("list",void 0,{ordered:!0,start:r.attrs.order??1,spread:r.attrs.spread}),e.next(r.content),e.closeNode()}}}));l(F.node,{displayName:"NodeSchema<orderedList>",group:"OrderedList"});l(F.ctx,{displayName:"NodeSchemaCtx<orderedList>",group:"OrderedList"});var zt=N(t=>ae(/^\s*(\d+)\.\s$/,F.type(t),e=>({order:Number(e[1])}),(e,r)=>r.childCount+r.attrs.order===Number(e[1])));l(zt,{displayName:"InputRule<wrapInOrderedListInputRule>",group:"OrderedList"});var Je=m("WrapInOrderedList",t=>()=>te(F.type(t)));l(Je,{displayName:"Command<wrapInOrderedListCommand>",group:"OrderedList"});var Ye=C("orderedListKeymap",{WrapInOrderedList:{shortcuts:"Mod-Alt-7",command:t=>{let e=t.get(g);return()=>e.call(Je.key)}}});l(Ye.ctx,{displayName:"KeymapCtx<orderedList>",group:"OrderedList"});l(Ye.shortcuts,{displayName:"Keymap<orderedList>",group:"OrderedList"});var Qe=M("listItem");l(Qe,{displayName:"Attr<listItem>",group:"ListItem"});var R=v("list_item",t=>({group:"listItem",content:"paragraph block*",attrs:{label:{default:"\u2022",validate:"string"},listType:{default:"bullet",validate:"string"},spread:{default:!0,validate:"boolean"}},defining:!0,parseDOM:[{tag:"li",getAttrs:e=>{if(!(e instanceof HTMLElement))throw x(e);return{label:e.dataset.label,listType:e.dataset.listType,spread:e.dataset.spread==="true"}}}],toDOM:e=>["li",{...t.get(Qe.key)(e),"data-label":e.attrs.label,"data-list-type":e.attrs.listType,"data-spread":e.attrs.spread},0],parseMarkdown:{match:({type:e})=>e==="listItem",runner:(e,r,a)=>{let n=r.label!=null?`${r.label}.`:"\u2022",o=r.label!=null?"ordered":"bullet",s=r.spread??!0;e.openNode(a,{label:n,listType:o,spread:s}),e.next(r.children),e.closeNode()}},toMarkdown:{match:e=>e.type.name==="list_item",runner:(e,r)=>{e.openNode("listItem",void 0,{spread:r.attrs.spread}),e.next(r.content),e.closeNode()}}}));l(R.node,{displayName:"NodeSchema<listItem>",group:"ListItem"});l(R.ctx,{displayName:"NodeSchemaCtx<listItem>",group:"ListItem"});var Xe=m("SinkListItem",t=>()=>xt(R.type(t)));l(Xe,{displayName:"Command<sinkListItemCommand>",group:"ListItem"});var Ze=m("LiftListItem",t=>()=>Lt(R.type(t)));l(Ze,{displayName:"Command<liftListItemCommand>",group:"ListItem"});var et=m("SplitListItem",t=>()=>bt(R.type(t)));l(et,{displayName:"Command<splitListItemCommand>",group:"ListItem"});function pr(t){return(e,r,a)=>{let{selection:n}=e;if(!(n instanceof U))return!1;let{empty:o,$from:s}=n;return!o||s.parentOffset!==0||s.node(-1).type!==R.type(t)?!1:vt(e,r,a)}}var tt=m("LiftFirstListItem",t=>()=>pr(t));l(tt,{displayName:"Command<liftFirstListItemCommand>",group:"ListItem"});var rt=C("listItemKeymap",{NextListItem:{shortcuts:"Enter",command:t=>{let e=t.get(g);return()=>e.call(et.key)}},SinkListItem:{shortcuts:["Tab","Mod-]"],command:t=>{let e=t.get(g);return()=>e.call(Xe.key)}},LiftListItem:{shortcuts:["Shift-Tab","Mod-["],command:t=>{let e=t.get(g);return()=>e.call(Ze.key)}},LiftFirstListItem:{shortcuts:["Backspace","Delete"],command:t=>{let e=t.get(g);return()=>e.call(tt.key)}}});l(rt.ctx,{displayName:"KeymapCtx<listItem>",group:"ListItem"});l(rt.shortcuts,{displayName:"Keymap<listItem>",group:"ListItem"});var Vt=he("text",()=>({group:"inline",parseMarkdown:{match:({type:t})=>t==="text",runner:(t,e)=>{t.addText(e.value)}},toMarkdown:{match:t=>t.type.name==="text",runner:(t,e)=>{t.addNode("text",void 0,e.text)}}}));l(Vt,{displayName:"NodeSchema<text>",group:"Text"});var at=M("html");l(at,{displayName:"Attr<html>",group:"Html"});var nt=v("html",t=>({atom:!0,group:"inline",inline:!0,attrs:{value:{default:"",validate:"string"}},toDOM:e=>{let r=document.createElement("span"),a={...t.get(at.key)(e),"data-value":e.attrs.value,"data-type":"html"};return r.textContent=e.attrs.value,["span",a,e.attrs.value]},parseDOM:[{tag:'span[data-type="html"]',getAttrs:e=>({value:e.dataset.value??""})}],parseMarkdown:{match:({type:e})=>e==="html",runner:(e,r,a)=>{e.addNode(a,{value:r.value})}},toMarkdown:{match:e=>e.type.name==="html",runner:(e,r)=>{e.addNode("html",void 0,r.attrs.value)}}}));l(nt.node,{displayName:"NodeSchema<html>",group:"Html"});l(nt.ctx,{displayName:"NodeSchemaCtx<html>",group:"Html"});var ur=[Dt,Ae,T,se,Oe,H,oe,O,De,Q,Pe,X,ze,Z,qe,q,Ve,W,je,F,Qe,R,Ie,E,Ce,Y,Le,A,Se,_,at,nt,Vt].flat(),mr=[$t,Ft,zt,Pt,qt,Kt].flat(),cr=[At,Rt,Ot,Bt],gr=m("IsMarkSelected",()=>t=>e=>{if(!t)return!1;let{doc:r,selection:a}=e;return r.rangeHasMark(a.from,a.to,t)}),fr=m("IsNoteSelected",()=>t=>e=>t?Mt(e,t).hasNode:!1),hr=m("ClearTextInCurrentBlock",()=>()=>(t,e)=>{let r=t.tr,{$from:a,$to:n}=r.selection,{pos:o}=a,{pos:s}=n,i=o-a.node().content.size;return i<0?!1:(r=r.deleteRange(i,s),e?.(r),!0)}),yr=m("SetBlockType",()=>t=>(e,r)=>{let{nodeType:a,attrs:n=null}=t??{};if(!a)return!1;let o=e.tr,{from:s,to:i}=o.selection;try{o.setBlockType(s,i,a,n)}catch{return!1}return r?.(o),!0}),kr=m("WrapInBlockType",()=>t=>(e,r)=>{let{nodeType:a,attrs:n=null}=t??{};if(!a)return!1;let o=e.tr;try{let{$from:s,$to:i}=o.selection,d=s.blockRange(i),p=d&&de(d,a,n);if(!p)return!1;o=o.wrap(d,p)}catch{return!1}return r?.(o),!0}),Ir=m("AddBlockType",()=>t=>(e,r)=>{let{nodeType:a,attrs:n=null}=t??{};if(!a)return!1;let o=e.tr;try{let s=a instanceof ft?a:a.createAndFill(n);if(!s)return!1;o.replaceSelectionWith(s)}catch{return!1}return r?.(o),!0}),Nr=m("SelectTextNearPos",()=>t=>(e,r)=>{let{pos:a}=t??{};if(a==null)return!1;let n=(s,i,d)=>Math.min(Math.max(s,i),d),o=e.tr;try{let s=e.doc.resolve(n(a,0,e.doc.content.size));o.setSelection(U.near(s))}catch{return!1}return r?.(o.scrollIntoView()),!0}),vr=[Re,Ke,S,Te,_e,We,Wt,_t,Et,Je,Ue,Xe,et,Ze,tt,Ne,xe,Me,Tt,Ht,gr,fr,hr,yr,kr,Ir,Nr],Cr=[$e,Ee,Fe,He,rt,Ye,Ge,Be,ve,we,be].flat(),ot=B("remarkAddOrderInList",()=>()=>t=>{w(t,"list",e=>{if(e.ordered){let r=e.start??1;e.children.forEach((a,n)=>{a.label=n+r})}})});l(ot.plugin,{displayName:"Remark<remarkAddOrderInListPlugin>",group:"Remark"});l(ot.options,{displayName:"RemarkConfig<remarkAddOrderInListPlugin>",group:"Remark"});var lt=B("remarkLineBreak",()=>()=>t=>{let e=/[\t ]*(?:\r?\n|\r)/g;w(t,"text",(r,a,n)=>{if(!r.value||typeof r.value!="string")return;let o=[],s=0;e.lastIndex=0;let i=e.exec(r.value);for(;i;){let d=i.index;s!==d&&o.push({type:"text",value:r.value.slice(s,d)}),o.push({type:"break",data:{isInline:!0}}),s=d+i[0].length,i=e.exec(r.value)}if(o.length>0&&n&&typeof a=="number")return s<r.value.length&&o.push({type:"text",value:r.value.slice(s)}),n.children.splice(a,1,...o),a+o.length})});l(lt.plugin,{displayName:"Remark<remarkLineBreak>",group:"Remark"});l(lt.options,{displayName:"RemarkConfig<remarkLineBreak>",group:"Remark"});var st=B("remarkInlineLink",()=>ne);l(st.plugin,{displayName:"Remark<remarkInlineLinkPlugin>",group:"Remark"});l(st.options,{displayName:"RemarkConfig<remarkInlineLinkPlugin>",group:"Remark"});var Mr=t=>!!t.children,br=t=>t.type==="html";function Lr(t,e){return r(t,0,null)[0];function r(a,n,o){if(Mr(a)){let s=[];for(let i=0,d=a.children.length;i<d;i++){let p=a.children[i];if(p){let c=r(p,i,a);if(c)for(let u=0,y=c.length;u<y;u++){let f=c[u];f&&s.push(f)}}}a.children=s}return e(a,n,o)}}var xr=["root","blockquote","listItem"],it=B("remarkHTMLTransformer",()=>()=>t=>{Lr(t,(e,r,a)=>br(e)?(a&&xr.includes(a.type)&&(e.children=[{...e}],delete e.value,e.type="paragraph"),[e]):[e])});l(it.plugin,{displayName:"Remark<remarkHtmlTransformer>",group:"Remark"});l(it.options,{displayName:"RemarkConfig<remarkHtmlTransformer>",group:"Remark"});var dt=B("remarkMarker",()=>()=>(t,e)=>{let r=a=>e.value.charAt(a.position.start.offset);w(t,a=>["strong","emphasis"].includes(a.type),a=>{a.marker=r(a)})});l(dt.plugin,{displayName:"Remark<remarkMarker>",group:"Remark"});l(dt.options,{displayName:"RemarkConfig<remarkMarker>",group:"Remark"});var Ut=P(()=>{let t=!1,e=new K("MILKDOWN_INLINE_NODES_CURSOR"),r=new D({key:e,state:{init(){return!1},apply(a){if(!a.selection.empty)return!1;let n=a.selection.$from,o=n.nodeBefore,s=n.nodeAfter;return!!(o&&s&&o.isInline&&!o.isText&&s.isInline&&!s.isText)}},props:{handleDOMEvents:{compositionend:(a,n)=>t?(t=!1,requestAnimationFrame(()=>{if(r.getState(a.state)){let o=a.state.selection.from;n.preventDefault(),a.dispatch(a.state.tr.insertText(n.data||"",o))}}),!0):!1,compositionstart:a=>(r.getState(a.state)&&(t=!0),!1),beforeinput:(a,n)=>{if(r.getState(a.state)&&n instanceof InputEvent&&n.data&&!t){let o=a.state.selection.from;return n.preventDefault(),a.dispatch(a.state.tr.insertText(n.data||"",o)),!0}return!1}},decorations(a){if(r.getState(a)){let n=a.selection.$from.pos,o=document.createElement("span"),s=me.widget(n,o,{side:-1}),i=document.createElement("span"),d=me.widget(n,i);return setTimeout(()=>{o.contentEditable="true",i.contentEditable="true"}),ce.create(a.doc,[s,d])}return ce.empty}}});return r});l(Ut,{displayName:"Prose<inlineNodesCursorPlugin>",group:"Prose"});var Gt=P(t=>new D({key:new K("MILKDOWN_HARDBREAK_MARKS"),appendTransaction:(e,r,a)=>{if(!e.length)return;let[n]=e;if(!n)return;let[o]=n.steps;if(n.getMeta("hardbreak")){if(!(o instanceof yt))return;let{from:s}=o;return a.tr.setNodeMarkup(s,O.type(t),void 0,[])}if(o instanceof ht){let s=a.tr,{from:i,to:d}=o;return a.doc.nodesBetween(i,d,(p,c)=>{p.type===O.type(t)&&(s=s.setNodeMarkup(c,O.type(t),void 0,[]))}),s}}}));l(Gt,{displayName:"Prose<hardbreakClearMarkPlugin>",group:"Prose"});var pt=ye(["table","code_block"],"hardbreakFilterNodes");l(pt,{displayName:"Ctx<hardbreakFilterNodes>",group:"Prose"});var jt=P(t=>{let e=t.get(pt.key);return new D({key:new K("MILKDOWN_HARDBREAK_FILTER"),filterTransaction:(r,a)=>{let n=r.getMeta("hardbreak"),[o]=r.steps;if(n&&o){let{from:s}=o,i=a.doc.resolve(s),d=i.depth,p=!0;for(;d>0;)e.includes(i.node(d).type.name)&&(p=!1),d--;return p}return!0}})});l(jt,{displayName:"Prose<hardbreakFilterPlugin>",group:"Prose"});var Jt=P(t=>{let e=new K("MILKDOWN_HEADING_ID"),r=a=>{if(a.composing)return;let n=t.get(se.key),o=a.state.tr.setMeta("addToHistory",!1),s=!1,i={};a.state.doc.descendants((d,p)=>{if(d.type===H.type(t)){if(d.textContent.trim().length===0)return;let c=d.attrs,u=n(d);i[u]?(i[u]+=1,u+=`-#${i[u]}`):i[u]=1,c.id!==u&&(s=!0,o.setMeta(e,!0).setNodeMarkup(p,void 0,{...c,id:u}))}}),s&&a.dispatch(o)};return new D({key:e,view:a=>(r(a),{update:(n,o)=>{n.state.doc.eq(o.doc)||r(n)}})})});l(Jt,{displayName:"Prose<syncHeadingIdPlugin>",group:"Prose"});var Yt=P(t=>{let e=(r,a,n)=>{if(!n.selection||r.some(u=>u.getMeta("addToHistory")===!1||!u.isGeneric))return null;let o=F.type(t),s=W.type(t),i=R.type(t),d=(u,y,f=1)=>{let I=!1,h=`${y+f}.`;return u.label!==h&&(u.label=h,I=!0),I},p=n.tr,c=!1;return n.doc.descendants((u,y,f,I)=>{if(u.type===s){let h=u.maybeChild(0);h?.type===i&&h.attrs.listType==="ordered"&&(c=!0,p.setNodeMarkup(y,o,{spread:!0}),u.descendants((b,L,ut,Qt)=>{if(b.type===i){let mt={...b.attrs};d(mt,Qt)&&(p=p.setNodeMarkup(L,void 0,mt))}return!1}))}else if(u.type===i&&f?.type===o){let h={...u.attrs},b=!1;h.listType!=="ordered"&&(h.listType="ordered",b=!0),f?.maybeChild(0)&&(b=d(h,I,f?.attrs.order??1)),b&&(p=p.setNodeMarkup(y,void 0,h),c=!0)}}),c?p.setMeta("addToHistory",!1):null};return new D({key:new K("MILKDOWN_KEEP_LIST_ORDER"),appendTransaction:e})});l(Yt,{displayName:"Prose<syncListOrderPlugin>",group:"Prose"});var wr=[Gt,pt,jt,Ut,ot,st,lt,it,dt,le,Jt,Yt].flat(),ta=[ur,mr,cr,vr,Cr,wr].flat();export{Ie as a,E as b,Ne as c,At as d,Rt as e,ve as f,Ce as g,Y as h,Me as i,Bt as j,be as k,Le as l,A as m,xe as n,Ot as o,we as p,ar as q,Se as r,_ as s,Tt as t,Ht as u,Dt as v,le as w,Ae as x,T as y,Re as z,Be as A,se as B,Oe as C,H as D,Kt as E,S as F,Te as G,He as H,De as I,Q as J,$t as K,Ke as L,$e as M,Pe as N,X as O,Pt as P,_e as Q,ir as R,Ee as S,qe as T,q as U,_t as V,Et as W,dr as X,oe as Y,O as Z,We as _,Fe as $,ze as aa,Z as ba,qt as ca,Wt as da,Ve as ea,W as fa,Ft as ga,Ue as ha,Ge as ia,je as ja,F as ka,zt as la,Je as ma,Ye as na,Qe as oa,R as pa,Xe as qa,Ze as ra,et as sa,tt as ta,rt as ua,Vt as va,at as wa,nt as xa,ur as ya,mr as za,cr as Aa,gr as Ba,fr as Ca,hr as Da,yr as Ea,kr as Fa,Ir as Ga,Nr as Ha,vr as Ia,Cr as Ja,ot as Ka,lt as La,st as Ma,it as Na,dt as Oa,Ut as Pa,Gt as Qa,pt as Ra,jt as Sa,Jt as Ta,Yt as Ua,wr as Va,ta as Wa};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{D as g,L as U,e as V,f as y,k,l as x,n as f,o as v,u as L,x as m,y as M}from"./chunk-E5R7FPWA.js";var J=()=>{let t=!0;return(o,e)=>{if(t){t=!1;try{o()}finally{t=!0}}else e!==void 0&&e()}};var S=3e4,A=class extends V{constructor(o){super(),this.doc=o,this.clientID=o.clientID,this.states=new Map,this.meta=new Map,this._checkInterval=setInterval(()=>{let e=g();this.getLocalState()!==null&&S/2<=e-this.meta.get(this.clientID).lastUpdated&&this.setLocalState(this.getLocalState());let i=[];this.meta.forEach((s,n)=>{n!==this.clientID&&S<=e-s.lastUpdated&&this.states.has(n)&&i.push(n)}),i.length>0&&T(this,i,"timeout")},y(S/10)),o.on("destroy",()=>{this.destroy()}),this.setLocalState({})}destroy(){this.emit("destroy",[this]),this.setLocalState(null),super.destroy(),clearInterval(this._checkInterval)}getLocalState(){return this.states.get(this.clientID)||null}setLocalState(o){let e=this.clientID,i=this.meta.get(e),s=i===void 0?0:i.clock+1,n=this.states.get(e);o===null?this.states.delete(e):this.states.set(e,o),this.meta.set(e,{clock:s,lastUpdated:g()});let c=[],a=[],d=[],h=[];o===null?h.push(e):n==null?o!=null&&c.push(e):(a.push(e),U(n,o)||d.push(e)),(c.length>0||d.length>0||h.length>0)&&this.emit("change",[{added:c,updated:d,removed:h},"local"]),this.emit("update",[{added:c,updated:a,removed:h},"local"])}setLocalStateField(o,e){let i=this.getLocalState();i!==null&&this.setLocalState({...i,[o]:e})}getStates(){return this.states}},T=(t,o,e)=>{let i=[];for(let s=0;s<o.length;s++){let n=o[s];if(t.states.has(n)){if(t.states.delete(n),n===t.clientID){let c=t.meta.get(n);t.meta.set(n,{clock:c.clock+1,lastUpdated:g()})}i.push(n)}}i.length>0&&(t.emit("change",[{added:[],updated:[],removed:i},e]),t.emit("update",[{added:[],updated:[],removed:i},e]))},Y=(t,o,e=t.states)=>{let i=o.length,s=k();f(s,i);for(let n=0;n<i;n++){let c=o[n],a=e.get(c)||null,d=t.meta.get(c).clock;f(s,c),f(s,d),v(s,JSON.stringify(a))}return x(s)};var j=(t,o,e)=>{let i=L(o),s=g(),n=[],c=[],a=[],d=[],h=m(i);for(let D=0;D<h;D++){let l=m(i),u=m(i),r=JSON.parse(M(i)),p=t.meta.get(l),O=t.states.get(l),I=p===void 0?0:p.clock;(I<u||I===u&&r===null&&t.states.has(l))&&(r===null?l===t.clientID&&t.getLocalState()!=null?u++:t.states.delete(l):t.states.set(l,r),t.meta.set(l,{clock:u,lastUpdated:s}),p===void 0&&r!==null?n.push(l):p!==void 0&&r===null?d.push(l):r!==null&&(U(r,O)||a.push(l),c.push(l)))}(n.length>0||a.length>0||d.length>0)&&t.emit("change",[{added:n,updated:a,removed:d},e]),(n.length>0||c.length>0||d.length>0)&&t.emit("update",[{added:n,updated:c,removed:d},e])};export{J as a,A as b,T as c,Y as d,j as e};
|