@milkdown/crepe 7.5.0 → 7.5.1
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/lib/cjs/{index--tnUmqZ_.js → index--2zEz40J.js} +8 -23
- package/lib/cjs/{index--tnUmqZ_.js.map → index--2zEz40J.js.map} +1 -1
- package/lib/cjs/{index-92bwto5V.js → index-5n9R-QCl.js} +5 -20
- package/lib/cjs/{index-92bwto5V.js.map → index-5n9R-QCl.js.map} +1 -1
- package/lib/cjs/{index-HH5lPgpj.js → index-HEdBw63r.js} +8 -23
- package/lib/cjs/{index-HH5lPgpj.js.map → index-HEdBw63r.js.map} +1 -1
- package/lib/cjs/{index-J1-yHn7v.js → index-Hlt9dRH5.js} +5 -20
- package/lib/cjs/{index-J1-yHn7v.js.map → index-Hlt9dRH5.js.map} +1 -1
- package/lib/cjs/{index-cb-5m0vG.js → index-KCW2CzRk.js} +8 -23
- package/lib/cjs/index-KCW2CzRk.js.map +1 -0
- package/lib/cjs/{index-VYwHTL3F.js → index-KSZhahYb.js} +6 -21
- package/lib/cjs/{index-VYwHTL3F.js.map → index-KSZhahYb.js.map} +1 -1
- package/lib/cjs/index-N1cRxqdw.js +39 -0
- package/lib/cjs/index-N1cRxqdw.js.map +1 -0
- package/lib/cjs/{index-c_OzudR7.js → index-NNo_VSEA.js} +5 -20
- package/lib/{esm/index-DS7Z4Ach.js.map → cjs/index-NNo_VSEA.js.map} +1 -1
- package/lib/cjs/{index-Tjg8KyK7.js → index-O1bDbloo.js} +5 -20
- package/lib/{esm/index-eqd5wtjX.js.map → cjs/index-O1bDbloo.js.map} +1 -1
- package/lib/cjs/{index-55VIM-52.js → index-OPh9naof.js} +8 -23
- package/lib/cjs/{index-55VIM-52.js.map → index-OPh9naof.js.map} +1 -1
- package/lib/cjs/{index-E4Ist86Z.js → index-PAhfZtcH.js} +5 -20
- package/lib/cjs/{index-E4Ist86Z.js.map → index-PAhfZtcH.js.map} +1 -1
- package/lib/cjs/{index-vfzLCXfi.js → index-PeRHVz4A.js} +5 -20
- package/lib/{esm/index-3bDzhU6z.js.map → cjs/index-PeRHVz4A.js.map} +1 -1
- package/lib/cjs/{index-Jztk6JlP.js → index-U7GWrg-w.js} +9 -456
- package/lib/cjs/index-U7GWrg-w.js.map +1 -0
- package/lib/cjs/{index-zXSAHvAj.js → index-UTb0Az5e.js} +2 -2
- package/lib/cjs/{index-zXSAHvAj.js.map → index-UTb0Az5e.js.map} +1 -1
- package/lib/cjs/{index-lBumFRUQ.js → index-UnEAyH8X.js} +5 -20
- package/lib/cjs/{index-lBumFRUQ.js.map → index-UnEAyH8X.js.map} +1 -1
- package/lib/cjs/{index-1vHyMXH8.js → index-VCkq0ru1.js} +5 -20
- package/lib/{esm/index-g_3dzLYU.js.map → cjs/index-VCkq0ru1.js.map} +1 -1
- package/lib/cjs/{index-FbNqlZU8.js → index-WQl7Du53.js} +4 -19
- package/lib/cjs/index-WQl7Du53.js.map +1 -0
- package/lib/cjs/{index-nTfDKYYi.js → index-ahL5MvrQ.js} +28 -43
- package/lib/cjs/{index-nTfDKYYi.js.map → index-ahL5MvrQ.js.map} +1 -1
- package/lib/cjs/{index--sa4NMpW.js → index-bpgWLeRY.js} +5 -20
- package/lib/cjs/{index--sa4NMpW.js.map → index-bpgWLeRY.js.map} +1 -1
- package/lib/cjs/index-dEVmN_aj.js +26 -0
- package/lib/cjs/index-dEVmN_aj.js.map +1 -0
- package/lib/cjs/{index-von4W2LG.js → index-fZupvR_f.js} +8 -23
- package/lib/{esm/index-NZ5-xr5_.js.map → cjs/index-fZupvR_f.js.map} +1 -1
- package/lib/cjs/{index-mcxgNBq9.js → index-gSM-jgti.js} +5 -20
- package/lib/cjs/{index-mcxgNBq9.js.map → index-gSM-jgti.js.map} +1 -1
- package/lib/cjs/{index-lUNj3xuC.js → index-jlPr_A_N.js} +5 -20
- package/lib/cjs/{index-lUNj3xuC.js.map → index-jlPr_A_N.js.map} +1 -1
- package/lib/cjs/index-ocxd4A-M.js +675 -0
- package/lib/cjs/index-ocxd4A-M.js.map +1 -0
- package/lib/cjs/{index-J3XY9IPt.js → index-rFFAL9YA.js} +9 -17
- package/lib/cjs/{index-J3XY9IPt.js.map → index-rFFAL9YA.js.map} +1 -1
- package/lib/cjs/index-tlx25I_m.js +36 -0
- package/lib/cjs/index-tlx25I_m.js.map +1 -0
- package/lib/cjs/index-tqAbVyds.js +28 -0
- package/lib/cjs/index-tqAbVyds.js.map +1 -0
- package/lib/cjs/{index-cpC-j5Nt.js → index-udZSknd8.js} +30 -39
- package/lib/cjs/{index-cpC-j5Nt.js.map → index-udZSknd8.js.map} +1 -1
- package/lib/cjs/index-uleaJDBC.js +19 -0
- package/lib/cjs/index-uleaJDBC.js.map +1 -0
- package/lib/cjs/{index-jn036wuh.js → index-urB-WDqA.js} +7 -22
- package/lib/{esm/index-VoX_n1l_.js.map → cjs/index-urB-WDqA.js.map} +1 -1
- package/lib/cjs/{index-jlfsu92T.js → index-xWgWtxUR.js} +6 -21
- package/lib/cjs/{index-jlfsu92T.js.map → index-xWgWtxUR.js.map} +1 -1
- package/lib/cjs/index.js +150 -14
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/{todoList-Ze4FLMlx.js → todoList-YYRQo7wG.js} +1 -12
- package/lib/cjs/todoList-YYRQo7wG.js.map +1 -0
- package/lib/esm/{index-Yuj7sNhQ.js → index-1NetiFdJ.js} +8 -23
- package/lib/esm/{index-Yuj7sNhQ.js.map → index-1NetiFdJ.js.map} +1 -1
- package/lib/esm/{index-6GrVnloh.js → index-2I_xbjAZ.js} +28 -43
- package/lib/esm/{index-6GrVnloh.js.map → index-2I_xbjAZ.js.map} +1 -1
- package/lib/esm/{index-bexsWrgs.js → index-2huXYfuJ.js} +8 -23
- package/lib/esm/{index-bexsWrgs.js.map → index-2huXYfuJ.js.map} +1 -1
- package/lib/esm/{index-zrQXXSXm.js → index-4x6_TVZv.js} +5 -20
- package/lib/esm/{index-zrQXXSXm.js.map → index-4x6_TVZv.js.map} +1 -1
- package/lib/esm/index-6JoGWH2I.js +17 -0
- package/lib/esm/index-6JoGWH2I.js.map +1 -0
- package/lib/esm/{index-OpUb5xP6.js → index-A-dNwMMf.js} +2 -2
- package/lib/esm/{index-OpUb5xP6.js.map → index-A-dNwMMf.js.map} +1 -1
- package/lib/esm/{index-SDPCpsD5.js → index-AV99ipmP.js} +5 -20
- package/lib/esm/{index-SDPCpsD5.js.map → index-AV99ipmP.js.map} +1 -1
- package/lib/esm/{index-MB6wQe1U.js → index-CMGDOz11.js} +5 -13
- package/lib/esm/{index-MB6wQe1U.js.map → index-CMGDOz11.js.map} +1 -1
- package/lib/esm/index-HlPKwzLC.js +34 -0
- package/lib/esm/index-HlPKwzLC.js.map +1 -0
- package/lib/esm/{index-MxgqkRtj.js → index-PC2bahtq.js} +5 -20
- package/lib/esm/{index-MxgqkRtj.js.map → index-PC2bahtq.js.map} +1 -1
- package/lib/esm/{index-eqd5wtjX.js → index-QBYz82jZ.js} +5 -20
- package/lib/{cjs/index-Tjg8KyK7.js.map → esm/index-QBYz82jZ.js.map} +1 -1
- package/lib/esm/{index-VP76m4nW.js → index-W1pAMr_8.js} +6 -21
- package/lib/esm/{index-VP76m4nW.js.map → index-W1pAMr_8.js.map} +1 -1
- package/lib/esm/{index-i79QMXpJ.js → index-Xzdc2jbA.js} +7 -454
- package/lib/esm/index-Xzdc2jbA.js.map +1 -0
- package/lib/esm/{index-_4fWmRbN.js → index-ZAtZWqJQ.js} +5 -20
- package/lib/esm/{index-_4fWmRbN.js.map → index-ZAtZWqJQ.js.map} +1 -1
- package/lib/esm/index-_A9vu1ED.js +673 -0
- package/lib/esm/index-_A9vu1ED.js.map +1 -0
- package/lib/esm/{index-x8SyiPMC.js → index-bnSKBrbD.js} +5 -20
- package/lib/esm/{index-x8SyiPMC.js.map → index-bnSKBrbD.js.map} +1 -1
- package/lib/esm/index-fVrfHXda.js +24 -0
- package/lib/esm/index-fVrfHXda.js.map +1 -0
- package/lib/esm/{index-Vl0W0S3h.js → index-ftnOhuRS.js} +4 -19
- package/lib/esm/index-ftnOhuRS.js.map +1 -0
- package/lib/esm/{index-1l-61HI-.js → index-iQPB0Rdl.js} +6 -21
- package/lib/esm/{index-1l-61HI-.js.map → index-iQPB0Rdl.js.map} +1 -1
- package/lib/esm/{index-grT-Kuf2.js → index-kPj3-TKp.js} +5 -20
- package/lib/esm/{index-grT-Kuf2.js.map → index-kPj3-TKp.js.map} +1 -1
- package/lib/esm/{index-NZ5-xr5_.js → index-kgOR7SZ6.js} +8 -23
- package/lib/{cjs/index-von4W2LG.js.map → esm/index-kgOR7SZ6.js.map} +1 -1
- package/lib/esm/{index-A83StUe6.js → index-lm00PM0y.js} +8 -17
- package/lib/esm/{index-A83StUe6.js.map → index-lm00PM0y.js.map} +1 -1
- package/lib/esm/{index-g_3dzLYU.js → index-m49Bj3q7.js} +5 -20
- package/lib/{cjs/index-1vHyMXH8.js.map → esm/index-m49Bj3q7.js.map} +1 -1
- package/lib/esm/index-ohmbt6Ys.js +37 -0
- package/lib/esm/index-ohmbt6Ys.js.map +1 -0
- package/lib/esm/{index-rvOBAXap.js → index-sWVjGw-3.js} +8 -23
- package/lib/esm/index-sWVjGw-3.js.map +1 -0
- package/lib/esm/{index-DS7Z4Ach.js → index-twh8lL5o.js} +5 -20
- package/lib/{cjs/index-c_OzudR7.js.map → esm/index-twh8lL5o.js.map} +1 -1
- package/lib/esm/{index-3bDzhU6z.js → index-v02MCz4_.js} +5 -20
- package/lib/{cjs/index-vfzLCXfi.js.map → esm/index-v02MCz4_.js.map} +1 -1
- package/lib/esm/index-v3rvbocl.js +26 -0
- package/lib/esm/index-v3rvbocl.js.map +1 -0
- package/lib/esm/{index-XH7OnwZl.js → index-wEXT8mbN.js} +5 -20
- package/lib/esm/{index-XH7OnwZl.js.map → index-wEXT8mbN.js.map} +1 -1
- package/lib/esm/{index-VoX_n1l_.js → index-wFIac5Kw.js} +7 -22
- package/lib/{cjs/index-jn036wuh.js.map → esm/index-wFIac5Kw.js.map} +1 -1
- package/lib/esm/{index-3HeWs5rX.js → index-wg94ewRo.js} +8 -23
- package/lib/esm/{index-3HeWs5rX.js.map → index-wg94ewRo.js.map} +1 -1
- package/lib/esm/index.js +152 -12
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/{todoList-M-PGJKde.js → todoList-9QsDDcmB.js} +2 -12
- package/lib/esm/todoList-9QsDDcmB.js.map +1 -0
- package/package.json +1 -1
- package/lib/cjs/_view-N32ied53.js +0 -27
- package/lib/cjs/_view-N32ied53.js.map +0 -1
- package/lib/cjs/floating-ui.dom-2cjBpir5.js +0 -1134
- package/lib/cjs/floating-ui.dom-2cjBpir5.js.map +0 -1
- package/lib/cjs/helper-1aludV1Z.js +0 -15
- package/lib/cjs/helper-1aludV1Z.js.map +0 -1
- package/lib/cjs/index-28q261C7.js +0 -448
- package/lib/cjs/index-28q261C7.js.map +0 -1
- package/lib/cjs/index-Buu2tD9O.js +0 -534
- package/lib/cjs/index-Buu2tD9O.js.map +0 -1
- package/lib/cjs/index-FbNqlZU8.js.map +0 -1
- package/lib/cjs/index-Jztk6JlP.js.map +0 -1
- package/lib/cjs/index-N6pPZY61.js +0 -191
- package/lib/cjs/index-N6pPZY61.js.map +0 -1
- package/lib/cjs/index-TUJs6KKL.js +0 -472
- package/lib/cjs/index-TUJs6KKL.js.map +0 -1
- package/lib/cjs/index-_GOdKqUK.js +0 -1147
- package/lib/cjs/index-_GOdKqUK.js.map +0 -1
- package/lib/cjs/index-cKQcw-eu.js +0 -386
- package/lib/cjs/index-cKQcw-eu.js.map +0 -1
- package/lib/cjs/index-cb-5m0vG.js.map +0 -1
- package/lib/cjs/index-crv_k6dv.js +0 -1353
- package/lib/cjs/index-crv_k6dv.js.map +0 -1
- package/lib/cjs/index-kqz-P6o6.js +0 -55
- package/lib/cjs/index-kqz-P6o6.js.map +0 -1
- package/lib/cjs/index-tBw4NmwY.js +0 -33852
- package/lib/cjs/index-tBw4NmwY.js.map +0 -1
- package/lib/cjs/schema-RVrwDDcq.js +0 -74
- package/lib/cjs/schema-RVrwDDcq.js.map +0 -1
- package/lib/cjs/todoList-Ze4FLMlx.js.map +0 -1
- package/lib/cjs/tooltip-plugin--lhebztC.js +0 -191
- package/lib/cjs/tooltip-plugin--lhebztC.js.map +0 -1
- package/lib/esm/_view-IlZC8FA6.js +0 -25
- package/lib/esm/_view-IlZC8FA6.js.map +0 -1
- package/lib/esm/floating-ui.dom-CAYjY8Gv.js +0 -1130
- package/lib/esm/floating-ui.dom-CAYjY8Gv.js.map +0 -1
- package/lib/esm/helper-wZAtC67x.js +0 -13
- package/lib/esm/helper-wZAtC67x.js.map +0 -1
- package/lib/esm/index-0-j8Icms.js +0 -384
- package/lib/esm/index-0-j8Icms.js.map +0 -1
- package/lib/esm/index-8QJbxTYk.js +0 -1145
- package/lib/esm/index-8QJbxTYk.js.map +0 -1
- package/lib/esm/index-9w_hdnvb.js +0 -532
- package/lib/esm/index-9w_hdnvb.js.map +0 -1
- package/lib/esm/index-AOoFzBaK.js +0 -53
- package/lib/esm/index-AOoFzBaK.js.map +0 -1
- package/lib/esm/index-LAdX6LsO.js +0 -33805
- package/lib/esm/index-LAdX6LsO.js.map +0 -1
- package/lib/esm/index-Vl0W0S3h.js.map +0 -1
- package/lib/esm/index-chrnjY1D.js +0 -470
- package/lib/esm/index-chrnjY1D.js.map +0 -1
- package/lib/esm/index-hF04phbf.js +0 -189
- package/lib/esm/index-hF04phbf.js.map +0 -1
- package/lib/esm/index-i79QMXpJ.js.map +0 -1
- package/lib/esm/index-rvOBAXap.js.map +0 -1
- package/lib/esm/index-uP9BKsTM.js +0 -446
- package/lib/esm/index-uP9BKsTM.js.map +0 -1
- package/lib/esm/index-ueQQMSgm.js +0 -1351
- package/lib/esm/index-ueQQMSgm.js.map +0 -1
- package/lib/esm/schema-JWJqD9qa.js +0 -71
- package/lib/esm/schema-JWJqD9qa.js.map +0 -1
- package/lib/esm/todoList-M-PGJKde.js.map +0 -1
- package/lib/esm/tooltip-plugin-iw2EQWIG.js +0 -185
- package/lib/esm/tooltip-plugin-iw2EQWIG.js.map +0 -1
|
@@ -1,29 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { $ as $ctx, c as codeBlockSchema } from './index-LAdX6LsO.js';
|
|
4
|
-
import { d as defIfNotExists } from './helper-wZAtC67x.js';
|
|
5
|
-
import { undo as undo$1, redo as redo$1 } from '@milkdown/prose/history';
|
|
6
|
-
import { exitCode } from '@milkdown/prose/commands';
|
|
7
|
-
import { TextSelection } from '@milkdown/prose/state';
|
|
8
|
-
import { c as computePosition } from './floating-ui.dom-CAYjY8Gv.js';
|
|
9
|
-
import { c as clsx } from './clsx-RxCLxYpD.js';
|
|
10
|
-
import { $ as $view } from './_view-IlZC8FA6.js';
|
|
11
|
-
|
|
12
|
-
const defaultConfig$1 = {
|
|
13
|
-
extensions: [],
|
|
14
|
-
languages: [],
|
|
15
|
-
expandIcon: () => "\u2B07",
|
|
16
|
-
searchIcon: () => "\u{1F50D}",
|
|
17
|
-
clearSearchIcon: () => "\u232B",
|
|
18
|
-
searchPlaceholder: "Search language",
|
|
19
|
-
noResultText: "No result",
|
|
20
|
-
renderLanguage: (language) => html`${language}`
|
|
21
|
-
};
|
|
22
|
-
const codeBlockConfig = $ctx(defaultConfig$1, "codeBlockConfigCtx");
|
|
23
|
-
withMeta(codeBlockConfig, {
|
|
24
|
-
displayName: "Config<code-block>",
|
|
25
|
-
group: "CodeBlock"
|
|
26
|
-
});
|
|
1
|
+
import { codeBlockConfig, codeBlockComponent } from '@milkdown/kit/component/code-block';
|
|
2
|
+
import { c as chevronDownIcon, s as searchIcon, a as clearIcon } from './todoList-9QsDDcmB.js';
|
|
27
3
|
|
|
28
4
|
/**
|
|
29
5
|
The data structure for documents. @nonabstract
|
|
@@ -14753,429 +14729,6 @@ function highlightActiveLineGutter() {
|
|
|
14753
14729
|
return activeLineGutterHighlighter;
|
|
14754
14730
|
}
|
|
14755
14731
|
|
|
14756
|
-
class CodeMirrorBlock {
|
|
14757
|
-
constructor(node, view, getPos, loader, config) {
|
|
14758
|
-
this.node = node;
|
|
14759
|
-
this.view = view;
|
|
14760
|
-
this.getPos = getPos;
|
|
14761
|
-
this.loader = loader;
|
|
14762
|
-
this.config = config;
|
|
14763
|
-
this.updating = false;
|
|
14764
|
-
this.languageName = "";
|
|
14765
|
-
this.forwardUpdate = (update) => {
|
|
14766
|
-
var _a;
|
|
14767
|
-
if (this.updating || !this.cm.hasFocus)
|
|
14768
|
-
return;
|
|
14769
|
-
let offset = ((_a = this.getPos()) != null ? _a : 0) + 1;
|
|
14770
|
-
const { main } = update.state.selection;
|
|
14771
|
-
const selFrom = offset + main.from;
|
|
14772
|
-
const selTo = offset + main.to;
|
|
14773
|
-
const pmSel = this.view.state.selection;
|
|
14774
|
-
if (update.docChanged || pmSel.from !== selFrom || pmSel.to !== selTo) {
|
|
14775
|
-
const tr = this.view.state.tr;
|
|
14776
|
-
update.changes.iterChanges((fromA, toA, fromB, toB, text) => {
|
|
14777
|
-
if (text.length)
|
|
14778
|
-
tr.replaceWith(offset + fromA, offset + toA, this.view.state.schema.text(text.toString()));
|
|
14779
|
-
else tr.delete(offset + fromA, offset + toA);
|
|
14780
|
-
offset += toB - fromB - (toA - fromA);
|
|
14781
|
-
});
|
|
14782
|
-
tr.setSelection(TextSelection.create(tr.doc, selFrom, selTo));
|
|
14783
|
-
this.view.dispatch(tr);
|
|
14784
|
-
}
|
|
14785
|
-
};
|
|
14786
|
-
this.codeMirrorKeymap = () => {
|
|
14787
|
-
const view = this.view;
|
|
14788
|
-
return [
|
|
14789
|
-
{ key: "ArrowUp", run: () => this.maybeEscape("line", -1) },
|
|
14790
|
-
{ key: "ArrowLeft", run: () => this.maybeEscape("char", -1) },
|
|
14791
|
-
{ key: "ArrowDown", run: () => this.maybeEscape("line", 1) },
|
|
14792
|
-
{ key: "ArrowRight", run: () => this.maybeEscape("char", 1) },
|
|
14793
|
-
{
|
|
14794
|
-
key: "Mod-Enter",
|
|
14795
|
-
run: () => {
|
|
14796
|
-
if (!exitCode(view.state, view.dispatch))
|
|
14797
|
-
return false;
|
|
14798
|
-
view.focus();
|
|
14799
|
-
return true;
|
|
14800
|
-
}
|
|
14801
|
-
},
|
|
14802
|
-
{ key: "Mod-z", run: () => undo$1(view.state, view.dispatch) },
|
|
14803
|
-
{ key: "Shift-Mod-z", run: () => redo$1(view.state, view.dispatch) },
|
|
14804
|
-
{ key: "Mod-y", run: () => redo$1(view.state, view.dispatch) },
|
|
14805
|
-
{
|
|
14806
|
-
key: "Backspace",
|
|
14807
|
-
run: () => {
|
|
14808
|
-
var _a;
|
|
14809
|
-
const ranges = this.cm.state.selection.ranges;
|
|
14810
|
-
if (ranges.length > 1)
|
|
14811
|
-
return false;
|
|
14812
|
-
const selection = ranges[0];
|
|
14813
|
-
if (selection && (!selection.empty || selection.anchor > 0))
|
|
14814
|
-
return false;
|
|
14815
|
-
if (this.cm.state.doc.lines >= 2)
|
|
14816
|
-
return false;
|
|
14817
|
-
const state = this.view.state;
|
|
14818
|
-
const pos = (_a = this.getPos()) != null ? _a : 0;
|
|
14819
|
-
const tr = state.tr.replaceWith(pos, pos + this.node.nodeSize, state.schema.nodes.paragraph.createChecked({}, this.node.content));
|
|
14820
|
-
tr.setSelection(TextSelection.near(tr.doc.resolve(pos)));
|
|
14821
|
-
this.view.dispatch(tr);
|
|
14822
|
-
this.view.focus();
|
|
14823
|
-
return true;
|
|
14824
|
-
}
|
|
14825
|
-
}
|
|
14826
|
-
];
|
|
14827
|
-
};
|
|
14828
|
-
this.maybeEscape = (unit, dir) => {
|
|
14829
|
-
var _a;
|
|
14830
|
-
const { state } = this.cm;
|
|
14831
|
-
let main = state.selection.main;
|
|
14832
|
-
if (!main.empty)
|
|
14833
|
-
return false;
|
|
14834
|
-
if (unit === "line")
|
|
14835
|
-
main = state.doc.lineAt(main.head);
|
|
14836
|
-
if (dir < 0 ? main.from > 0 : main.to < state.doc.length)
|
|
14837
|
-
return false;
|
|
14838
|
-
const targetPos = ((_a = this.getPos()) != null ? _a : 0) + (dir < 0 ? 0 : this.node.nodeSize);
|
|
14839
|
-
const selection = TextSelection.near(this.view.state.doc.resolve(targetPos), dir);
|
|
14840
|
-
const tr = this.view.state.tr.setSelection(selection).scrollIntoView();
|
|
14841
|
-
this.view.dispatch(tr);
|
|
14842
|
-
this.view.focus();
|
|
14843
|
-
return true;
|
|
14844
|
-
};
|
|
14845
|
-
this.setLanguage = (language) => {
|
|
14846
|
-
var _a;
|
|
14847
|
-
this.view.dispatch(
|
|
14848
|
-
this.view.state.tr.setNodeAttribute((_a = this.getPos()) != null ? _a : 0, "language", language)
|
|
14849
|
-
);
|
|
14850
|
-
};
|
|
14851
|
-
this.getAllLanguages = () => {
|
|
14852
|
-
return this.loader.getAll();
|
|
14853
|
-
};
|
|
14854
|
-
this.languageConf = new Compartment();
|
|
14855
|
-
this.readOnlyConf = new Compartment();
|
|
14856
|
-
this.cm = new EditorView({
|
|
14857
|
-
doc: this.node.textContent,
|
|
14858
|
-
root: this.view.root,
|
|
14859
|
-
extensions: [
|
|
14860
|
-
this.readOnlyConf.of(EditorState.readOnly.of(!this.view.editable)),
|
|
14861
|
-
keymap.of(this.codeMirrorKeymap()),
|
|
14862
|
-
this.languageConf.of([]),
|
|
14863
|
-
...config.extensions,
|
|
14864
|
-
EditorView.updateListener.of(this.forwardUpdate)
|
|
14865
|
-
]
|
|
14866
|
-
});
|
|
14867
|
-
this.dom = this.createDom();
|
|
14868
|
-
this.updateLanguage();
|
|
14869
|
-
}
|
|
14870
|
-
createDom() {
|
|
14871
|
-
const dom = document.createElement("milkdown-code-block");
|
|
14872
|
-
dom.codemirror = this.cm;
|
|
14873
|
-
dom.getAllLanguages = this.getAllLanguages;
|
|
14874
|
-
dom.setLanguage = this.setLanguage;
|
|
14875
|
-
dom.isEditorReadonly = () => !this.view.editable;
|
|
14876
|
-
const {
|
|
14877
|
-
languages,
|
|
14878
|
-
extensions,
|
|
14879
|
-
...viewConfig
|
|
14880
|
-
} = this.config;
|
|
14881
|
-
dom.config = viewConfig;
|
|
14882
|
-
return dom;
|
|
14883
|
-
}
|
|
14884
|
-
updateLanguage() {
|
|
14885
|
-
const languageName = this.node.attrs.language;
|
|
14886
|
-
if (languageName === this.languageName)
|
|
14887
|
-
return;
|
|
14888
|
-
this.dom.language = languageName;
|
|
14889
|
-
const language = this.loader.load(languageName != null ? languageName : "");
|
|
14890
|
-
language.then((lang) => {
|
|
14891
|
-
if (lang) {
|
|
14892
|
-
this.cm.dispatch({
|
|
14893
|
-
effects: this.languageConf.reconfigure(lang)
|
|
14894
|
-
});
|
|
14895
|
-
this.languageName = languageName;
|
|
14896
|
-
}
|
|
14897
|
-
});
|
|
14898
|
-
}
|
|
14899
|
-
setSelection(anchor, head) {
|
|
14900
|
-
if (!this.cm.dom.isConnected)
|
|
14901
|
-
return;
|
|
14902
|
-
this.cm.focus();
|
|
14903
|
-
this.updating = true;
|
|
14904
|
-
this.cm.dispatch({ selection: { anchor, head } });
|
|
14905
|
-
this.updating = false;
|
|
14906
|
-
}
|
|
14907
|
-
update(node) {
|
|
14908
|
-
if (node.type !== this.node.type)
|
|
14909
|
-
return false;
|
|
14910
|
-
if (this.updating)
|
|
14911
|
-
return true;
|
|
14912
|
-
this.node = node;
|
|
14913
|
-
this.updateLanguage();
|
|
14914
|
-
if (this.view.editable === this.cm.state.readOnly) {
|
|
14915
|
-
this.cm.dispatch({
|
|
14916
|
-
effects: this.readOnlyConf.reconfigure(EditorState.readOnly.of(!this.view.editable))
|
|
14917
|
-
});
|
|
14918
|
-
}
|
|
14919
|
-
const change = computeChange(this.cm.state.doc.toString(), node.textContent);
|
|
14920
|
-
if (change) {
|
|
14921
|
-
this.updating = true;
|
|
14922
|
-
this.cm.dispatch({
|
|
14923
|
-
changes: { from: change.from, to: change.to, insert: change.text }
|
|
14924
|
-
});
|
|
14925
|
-
this.updating = false;
|
|
14926
|
-
}
|
|
14927
|
-
return true;
|
|
14928
|
-
}
|
|
14929
|
-
selectNode() {
|
|
14930
|
-
this.dom.selected = true;
|
|
14931
|
-
this.cm.focus();
|
|
14932
|
-
}
|
|
14933
|
-
deselectNode() {
|
|
14934
|
-
this.dom.selected = false;
|
|
14935
|
-
}
|
|
14936
|
-
stopEvent() {
|
|
14937
|
-
return true;
|
|
14938
|
-
}
|
|
14939
|
-
destroy() {
|
|
14940
|
-
this.cm.destroy();
|
|
14941
|
-
}
|
|
14942
|
-
}
|
|
14943
|
-
function computeChange(oldVal, newVal) {
|
|
14944
|
-
if (oldVal === newVal)
|
|
14945
|
-
return null;
|
|
14946
|
-
let start = 0;
|
|
14947
|
-
let oldEnd = oldVal.length;
|
|
14948
|
-
let newEnd = newVal.length;
|
|
14949
|
-
while (start < oldEnd && oldVal.charCodeAt(start) === newVal.charCodeAt(start))
|
|
14950
|
-
++start;
|
|
14951
|
-
while (oldEnd > start && newEnd > start && oldVal.charCodeAt(oldEnd - 1) === newVal.charCodeAt(newEnd - 1)) {
|
|
14952
|
-
oldEnd--;
|
|
14953
|
-
newEnd--;
|
|
14954
|
-
}
|
|
14955
|
-
return { from: start, to: oldEnd, text: newVal.slice(start, newEnd) };
|
|
14956
|
-
}
|
|
14957
|
-
|
|
14958
|
-
class LanguageLoader {
|
|
14959
|
-
constructor(languages) {
|
|
14960
|
-
this.languages = languages;
|
|
14961
|
-
this.map = {};
|
|
14962
|
-
languages.forEach((language) => {
|
|
14963
|
-
language.alias.forEach((alias) => {
|
|
14964
|
-
this.map[alias] = language;
|
|
14965
|
-
});
|
|
14966
|
-
});
|
|
14967
|
-
}
|
|
14968
|
-
getAll() {
|
|
14969
|
-
return this.languages.map((language) => {
|
|
14970
|
-
return {
|
|
14971
|
-
name: language.name,
|
|
14972
|
-
alias: language.alias
|
|
14973
|
-
};
|
|
14974
|
-
});
|
|
14975
|
-
}
|
|
14976
|
-
load(languageName) {
|
|
14977
|
-
const languageMap = this.map;
|
|
14978
|
-
const language = languageMap[languageName.toLowerCase()];
|
|
14979
|
-
if (!language)
|
|
14980
|
-
return Promise.resolve(void 0);
|
|
14981
|
-
if (language.support)
|
|
14982
|
-
return Promise.resolve(language.support);
|
|
14983
|
-
return language.load();
|
|
14984
|
-
}
|
|
14985
|
-
}
|
|
14986
|
-
|
|
14987
|
-
const codeComponent = ({
|
|
14988
|
-
selected = false,
|
|
14989
|
-
codemirror,
|
|
14990
|
-
getAllLanguages,
|
|
14991
|
-
setLanguage,
|
|
14992
|
-
language,
|
|
14993
|
-
config,
|
|
14994
|
-
isEditorReadonly
|
|
14995
|
-
}) => {
|
|
14996
|
-
var _a, _b, _c;
|
|
14997
|
-
const host = useHost();
|
|
14998
|
-
const triggerRef = useRef();
|
|
14999
|
-
const pickerRef = useRef();
|
|
15000
|
-
const [filter, setFilter] = useState("");
|
|
15001
|
-
const [showPicker, setShowPicker] = useState(false);
|
|
15002
|
-
const root = useMemo(() => host.current.getRootNode(), [host]);
|
|
15003
|
-
useEffect(() => {
|
|
15004
|
-
var _a2;
|
|
15005
|
-
const lang = (_a2 = getAllLanguages == null ? void 0 : getAllLanguages()) == null ? void 0 : _a2.find((languageInfo) => languageInfo.alias.some((alias) => alias.toLowerCase() === (language == null ? void 0 : language.toLowerCase())));
|
|
15006
|
-
if (lang && lang.name !== language)
|
|
15007
|
-
setLanguage == null ? void 0 : setLanguage(lang.name);
|
|
15008
|
-
}, [language]);
|
|
15009
|
-
useEffect(() => {
|
|
15010
|
-
setShowPicker(false);
|
|
15011
|
-
}, [language]);
|
|
15012
|
-
useEffect(() => {
|
|
15013
|
-
const clickHandler = (e) => {
|
|
15014
|
-
const target = e.target;
|
|
15015
|
-
if (triggerRef.current && triggerRef.current.contains(target))
|
|
15016
|
-
return;
|
|
15017
|
-
const picker = pickerRef.current;
|
|
15018
|
-
if (!picker)
|
|
15019
|
-
return;
|
|
15020
|
-
if (picker.dataset.expanded !== "true")
|
|
15021
|
-
return;
|
|
15022
|
-
if (!picker.contains(target))
|
|
15023
|
-
setShowPicker(false);
|
|
15024
|
-
};
|
|
15025
|
-
root.addEventListener("click", clickHandler);
|
|
15026
|
-
return () => {
|
|
15027
|
-
root.removeEventListener("click", clickHandler);
|
|
15028
|
-
};
|
|
15029
|
-
}, []);
|
|
15030
|
-
useLayoutEffect(() => {
|
|
15031
|
-
setFilter("");
|
|
15032
|
-
const picker = triggerRef.current;
|
|
15033
|
-
const languageList = pickerRef.current;
|
|
15034
|
-
if (!picker || !languageList)
|
|
15035
|
-
return;
|
|
15036
|
-
computePosition(picker, languageList, {
|
|
15037
|
-
placement: "bottom-start"
|
|
15038
|
-
}).then(({ x, y }) => {
|
|
15039
|
-
Object.assign(languageList.style, {
|
|
15040
|
-
left: `${x}px`,
|
|
15041
|
-
top: `${y}px`
|
|
15042
|
-
});
|
|
15043
|
-
});
|
|
15044
|
-
}, [showPicker]);
|
|
15045
|
-
const languages = useMemo(() => {
|
|
15046
|
-
var _a2;
|
|
15047
|
-
if (!showPicker)
|
|
15048
|
-
return [];
|
|
15049
|
-
const all = (_a2 = getAllLanguages == null ? void 0 : getAllLanguages()) != null ? _a2 : [];
|
|
15050
|
-
const selected2 = all.find((languageInfo) => languageInfo.name.toLowerCase() === (language == null ? void 0 : language.toLowerCase()));
|
|
15051
|
-
const filtered = all.filter((languageInfo) => {
|
|
15052
|
-
return (languageInfo.name.toLowerCase().includes(filter.toLowerCase()) || languageInfo.alias.some((alias) => alias.toLowerCase().includes(filter.toLowerCase()))) && languageInfo !== selected2;
|
|
15053
|
-
});
|
|
15054
|
-
if (filtered.length === 0)
|
|
15055
|
-
return [];
|
|
15056
|
-
if (!selected2)
|
|
15057
|
-
return filtered;
|
|
15058
|
-
return [selected2, ...filtered];
|
|
15059
|
-
}, [filter, showPicker, language]);
|
|
15060
|
-
const changeFilter = (e) => {
|
|
15061
|
-
const target = e.target;
|
|
15062
|
-
setFilter(target.value);
|
|
15063
|
-
};
|
|
15064
|
-
const onTogglePicker = (e) => {
|
|
15065
|
-
e.preventDefault();
|
|
15066
|
-
e.stopPropagation();
|
|
15067
|
-
if (isEditorReadonly == null ? void 0 : isEditorReadonly())
|
|
15068
|
-
return;
|
|
15069
|
-
setShowPicker((show) => {
|
|
15070
|
-
return !show;
|
|
15071
|
-
});
|
|
15072
|
-
};
|
|
15073
|
-
const onClear = (e) => {
|
|
15074
|
-
e.preventDefault();
|
|
15075
|
-
setFilter("");
|
|
15076
|
-
};
|
|
15077
|
-
const onSearchKeydown = (e) => {
|
|
15078
|
-
if (e.key === "Escape")
|
|
15079
|
-
setFilter("");
|
|
15080
|
-
};
|
|
15081
|
-
const onListKeydown = (e) => {
|
|
15082
|
-
if (e.key === "Enter") {
|
|
15083
|
-
const active = document.activeElement;
|
|
15084
|
-
if (active instanceof HTMLElement && active.dataset.language)
|
|
15085
|
-
setLanguage == null ? void 0 : setLanguage(active.dataset.language);
|
|
15086
|
-
}
|
|
15087
|
-
};
|
|
15088
|
-
const renderedLanguageList = useMemo(() => {
|
|
15089
|
-
if (!(languages == null ? void 0 : languages.length))
|
|
15090
|
-
return html`<li class="language-list-item no-result">${config == null ? void 0 : config.noResultText}</li>`;
|
|
15091
|
-
return languages.map(
|
|
15092
|
-
(languageInfo) => {
|
|
15093
|
-
var _a2;
|
|
15094
|
-
return html`<li
|
|
15095
|
-
role="listitem"
|
|
15096
|
-
tabindex="0"
|
|
15097
|
-
class="language-list-item"
|
|
15098
|
-
aria-selected=${languageInfo.name.toLowerCase() === (language == null ? void 0 : language.toLowerCase())}
|
|
15099
|
-
data-language=${languageInfo.name}
|
|
15100
|
-
onclick=${() => setLanguage == null ? void 0 : setLanguage(languageInfo.name)}
|
|
15101
|
-
>
|
|
15102
|
-
${(_a2 = config == null ? void 0 : config.renderLanguage) == null ? void 0 : _a2.call(config, languageInfo.name, languageInfo.name.toLowerCase() === (language == null ? void 0 : language.toLowerCase()))}
|
|
15103
|
-
</li>`;
|
|
15104
|
-
}
|
|
15105
|
-
);
|
|
15106
|
-
}, [languages]);
|
|
15107
|
-
return html`<host class=${clsx(selected && "selected")}>
|
|
15108
|
-
<div class="tools">
|
|
15109
|
-
<button
|
|
15110
|
-
ref=${triggerRef}
|
|
15111
|
-
class="language-button"
|
|
15112
|
-
onpointerdown=${onTogglePicker}
|
|
15113
|
-
data-expanded=${showPicker}
|
|
15114
|
-
>
|
|
15115
|
-
${language || "Text"}
|
|
15116
|
-
<div class="expand-icon">
|
|
15117
|
-
${(_a = config == null ? void 0 : config.expandIcon) == null ? void 0 : _a.call(config)}
|
|
15118
|
-
</div>
|
|
15119
|
-
</button>
|
|
15120
|
-
<div ref=${pickerRef} data-expanded=${showPicker} class=${clsx("language-picker", showPicker && "show")}>
|
|
15121
|
-
<div class="list-wrapper">
|
|
15122
|
-
<div class="search-box">
|
|
15123
|
-
<div class="search-icon">
|
|
15124
|
-
${(_b = config == null ? void 0 : config.searchIcon) == null ? void 0 : _b.call(config)}
|
|
15125
|
-
</div>
|
|
15126
|
-
<input
|
|
15127
|
-
class="search-input"
|
|
15128
|
-
placeholder=${config == null ? void 0 : config.searchPlaceholder}
|
|
15129
|
-
value=${filter}
|
|
15130
|
-
oninput=${changeFilter}
|
|
15131
|
-
onkeydown=${onSearchKeydown}
|
|
15132
|
-
/>
|
|
15133
|
-
<div class=${clsx("clear-icon", filter.length === 0 && "hidden")} onmousedown=${onClear}>
|
|
15134
|
-
${(_c = config == null ? void 0 : config.clearSearchIcon) == null ? void 0 : _c.call(config)}
|
|
15135
|
-
</div>
|
|
15136
|
-
</div>
|
|
15137
|
-
<ul class="language-list" role="listbox" onkeydown=${onListKeydown}>
|
|
15138
|
-
${renderedLanguageList}
|
|
15139
|
-
</ul>
|
|
15140
|
-
</div>
|
|
15141
|
-
</div>
|
|
15142
|
-
</div>
|
|
15143
|
-
<div class="codemirror-host">${h(codemirror == null ? void 0 : codemirror.dom, {})}</div>
|
|
15144
|
-
</host>`;
|
|
15145
|
-
};
|
|
15146
|
-
codeComponent.props = {
|
|
15147
|
-
selected: Boolean,
|
|
15148
|
-
codemirror: Object,
|
|
15149
|
-
language: String,
|
|
15150
|
-
getAllLanguages: Function,
|
|
15151
|
-
setLanguage: Function,
|
|
15152
|
-
isEditorReadonly: Function,
|
|
15153
|
-
config: Object
|
|
15154
|
-
};
|
|
15155
|
-
const CodeElement = c(codeComponent);
|
|
15156
|
-
|
|
15157
|
-
defIfNotExists("milkdown-code-block", CodeElement);
|
|
15158
|
-
const codeBlockView = $view(codeBlockSchema.node, (ctx) => {
|
|
15159
|
-
const config = ctx.get(codeBlockConfig.key);
|
|
15160
|
-
const languageLoader = new LanguageLoader(config.languages);
|
|
15161
|
-
return (node, view, getPos) => new CodeMirrorBlock(
|
|
15162
|
-
node,
|
|
15163
|
-
view,
|
|
15164
|
-
getPos,
|
|
15165
|
-
languageLoader,
|
|
15166
|
-
config
|
|
15167
|
-
);
|
|
15168
|
-
});
|
|
15169
|
-
withMeta(codeBlockView, {
|
|
15170
|
-
displayName: "NodeView<code-block>",
|
|
15171
|
-
group: "CodeBlock"
|
|
15172
|
-
});
|
|
15173
|
-
|
|
15174
|
-
const codeBlockComponent = [
|
|
15175
|
-
codeBlockView,
|
|
15176
|
-
codeBlockConfig
|
|
15177
|
-
];
|
|
15178
|
-
|
|
15179
14732
|
/**
|
|
15180
14733
|
The default maximum length of a `TreeBuffer` node.
|
|
15181
14734
|
*/
|
|
@@ -25617,11 +25170,11 @@ const defineFeature = (editor, config = {}) => {
|
|
|
25617
25170
|
theme
|
|
25618
25171
|
} = config;
|
|
25619
25172
|
if (!languages) {
|
|
25620
|
-
const { languages: langList } = await import('./index-
|
|
25173
|
+
const { languages: langList } = await import('./index-2I_xbjAZ.js');
|
|
25621
25174
|
languages = langList;
|
|
25622
25175
|
}
|
|
25623
25176
|
if (!theme) {
|
|
25624
|
-
const { nord } = await import('./index-
|
|
25177
|
+
const { nord } = await import('./index-ftnOhuRS.js');
|
|
25625
25178
|
theme = nord;
|
|
25626
25179
|
}
|
|
25627
25180
|
ctx.update(codeBlockConfig.key, (defaultConfig) => {
|
|
@@ -25646,9 +25199,9 @@ const defineFeature = (editor, config = {}) => {
|
|
|
25646
25199
|
};
|
|
25647
25200
|
|
|
25648
25201
|
var index = /*#__PURE__*/Object.freeze({
|
|
25649
|
-
|
|
25650
|
-
|
|
25202
|
+
__proto__: null,
|
|
25203
|
+
defineFeature: defineFeature
|
|
25651
25204
|
});
|
|
25652
25205
|
|
|
25653
25206
|
export { languageDataProp as A, foldService as B, CompletionContext as C, ParseContext as D, EditorView as E, NodeWeakMap as F, snippetCompletion as G, HighlightStyle as H, IterMode as I, bracketMatchingHandle as J, DefaultBufferLength as K, LanguageDescription as L, sublanguageProp as M, NodeType as N, index as O, Parser as P, StreamLanguage as S, Tag as T, LanguageSupport as a, styleTags as b, continuedIndent as c, LRLanguage as d, ifNotIn as e, foldNodeProp as f, completeFromList as g, syntaxTree as h, indentNodeProp as i, flatIndent as j, delimitedIndent as k, foldInside as l, EditorSelection as m, NodeProp as n, NodeSet as o, parseMixed as p, Tree as q, countColumn as r, syntaxHighlighting as s, tags as t, Prec as u, keymap as v, EditorState as w, Language as x, indentUnit as y, defineLanguageFacet as z };
|
|
25654
|
-
//# sourceMappingURL=index-
|
|
25207
|
+
//# sourceMappingURL=index-Xzdc2jbA.js.map
|