quoin-editor 1.4.1 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +8 -6
- package/THIRD_PARTY_NOTICES.md +25 -1
- package/dist/ai.cjs +21 -23
- package/dist/ai.js +1 -1
- package/dist/catalogue.cjs +17 -18
- package/dist/catalogue.js +10 -9
- package/dist/catalogue.js.map +1 -1
- package/dist/{chunk-VVS6JJLI.js → chunk-2AVGGPLT.js} +4 -25
- package/dist/chunk-2AVGGPLT.js.map +1 -0
- package/dist/chunk-2SWLD6R5.cjs +25 -0
- package/dist/{chunk-MQTLZTIM.js → chunk-32OZ2WM2.js} +12 -12
- package/dist/{chunk-MQTLZTIM.js.map → chunk-32OZ2WM2.js.map} +1 -1
- package/dist/{chunk-H5FM6I5W.cjs → chunk-46JH34SR.cjs} +7 -9
- package/dist/chunk-4T4TJ2QS.cjs +0 -2
- package/dist/chunk-A6PGQVTR.cjs +0 -2
- package/dist/chunk-AZF7B2AE.cjs +0 -2
- package/dist/{chunk-AC4AFDTI.js → chunk-B5OMWOVI.js} +3 -3
- package/dist/{chunk-AC4AFDTI.js.map → chunk-B5OMWOVI.js.map} +1 -1
- package/dist/chunk-BM2GRZNM.cjs +0 -2
- package/dist/chunk-H3C3MJW5.cjs +0 -2
- package/dist/{chunk-6LOYAC5N.js → chunk-HT7OF52E.js} +3 -3
- package/dist/{chunk-6LOYAC5N.js.map → chunk-HT7OF52E.js.map} +1 -1
- package/dist/{chunk-3NVFHJFS.cjs → chunk-JVSYEENH.cjs} +17 -19
- package/dist/{chunk-3YA7FYEL.js → chunk-KF3KKN4N.js} +3 -3
- package/dist/{chunk-3YA7FYEL.js.map → chunk-KF3KKN4N.js.map} +1 -1
- package/dist/{chunk-KRLHGVJV.js → chunk-KFYJW7W5.js} +4 -4
- package/dist/{chunk-KRLHGVJV.js.map → chunk-KFYJW7W5.js.map} +1 -1
- package/dist/chunk-KTUOPDVO.js +25 -0
- package/dist/chunk-KTUOPDVO.js.map +1 -0
- package/dist/{chunk-QPOUONJ7.cjs → chunk-L6RB43YM.cjs} +21 -44
- package/dist/chunk-LE5XMIFJ.cjs +0 -2
- package/dist/{chunk-VUYJGFUA.cjs → chunk-LOP66FVU.cjs} +8 -10
- package/dist/{chunk-STCJWXP5.js → chunk-N2SCDXTI.js} +3 -3
- package/dist/{chunk-STCJWXP5.js.map → chunk-N2SCDXTI.js.map} +1 -1
- package/dist/{chunk-YEQEBJPM.js → chunk-O7XZFXPE.js} +3 -3
- package/dist/{chunk-YEQEBJPM.js.map → chunk-O7XZFXPE.js.map} +1 -1
- package/dist/chunk-QJ34MOFV.cjs +0 -2
- package/dist/chunk-QR2NIDUK.cjs +0 -2
- package/dist/chunk-STKGRXSA.cjs +0 -2
- package/dist/{chunk-7WSBPD6Z.cjs → chunk-T7O3BROK.cjs} +38 -40
- package/dist/{chunk-AZ2ZNSFN.cjs → chunk-TKCPXUPP.cjs} +15 -17
- package/dist/{chunk-65WK575V.cjs → chunk-UUSZGUXJ.cjs} +10 -11
- package/dist/chunk-VZZPCYA3.cjs +0 -2
- package/dist/chunk-WN7BZDNH.cjs +0 -2
- package/dist/chunk-WZA5S5EJ.cjs +0 -2
- package/dist/{chunk-FQDNF7MF.cjs → chunk-XFR7QGSN.cjs} +39 -41
- package/dist/chunk-XZ4NC3Q7.cjs +0 -2
- package/dist/code-highlighter-BQDxhRrv.d.cts +14 -0
- package/dist/code-highlighter-BQDxhRrv.d.ts +14 -0
- package/dist/comments.cjs +18 -20
- package/dist/comments.js +1 -1
- package/dist/diff.cjs +0 -2
- package/dist/diff.d.cts +2 -2
- package/dist/diff.d.ts +2 -2
- package/dist/docx.cjs +0 -2
- package/dist/embed.cjs +4 -6
- package/dist/embed.js +2 -2
- package/dist/emoji-data.cjs +0 -2
- package/dist/emoji.cjs +6 -7
- package/dist/emoji.js +3 -2
- package/dist/engine.cjs +0 -2
- package/dist/engine.d.cts +3 -15
- package/dist/engine.d.ts +3 -15
- package/dist/find.cjs +6 -8
- package/dist/find.js +2 -2
- package/dist/headless.cjs +0 -2
- package/dist/headless.d.cts +2 -1
- package/dist/headless.d.ts +2 -1
- package/dist/highlight.cjs +98 -0
- package/dist/highlight.d.cts +10 -0
- package/dist/highlight.d.ts +10 -0
- package/dist/highlight.js +98 -0
- package/dist/highlight.js.map +1 -0
- package/dist/index.cjs +12 -14
- package/dist/index.d.cts +6 -3
- package/dist/index.d.ts +6 -3
- package/dist/index.js +1 -1
- package/dist/math.cjs +5 -7
- package/dist/math.js +3 -3
- package/dist/mention.cjs +4 -6
- package/dist/mention.js +2 -2
- package/dist/presence.cjs +1 -3
- package/dist/presence.js +1 -1
- package/dist/prism-grammars.cjs +56 -0
- package/dist/prism-grammars.js +52 -0
- package/dist/prism-grammars.js.map +1 -0
- package/dist/{registry-DdQaddP1.d.ts → registry-DZ8LIGt5.d.cts} +2 -15
- package/dist/{registry-DdQaddP1.d.cts → registry-DZ8LIGt5.d.ts} +2 -15
- package/dist/source.cjs +97 -0
- package/dist/source.d.cts +56 -0
- package/dist/source.d.ts +56 -0
- package/dist/source.js +94 -0
- package/dist/source.js.map +1 -0
- package/dist/stats.cjs +1 -3
- package/dist/stats.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/table.cjs +21 -23
- package/dist/table.js +2 -2
- package/dist/to-markdown-BVOzhgVM.d.ts +17 -0
- package/dist/to-markdown-CFPMbbiX.d.cts +17 -0
- package/dist/toc.cjs +5 -7
- package/dist/toc.js +2 -2
- package/dist/view.cjs +0 -2
- package/dist/view.d.cts +2 -2
- package/dist/view.d.ts +2 -2
- package/dist/yjs.cjs +0 -2
- package/package.json +24 -3
- package/dist/ai.cjs.map +0 -1
- package/dist/catalogue.cjs.map +0 -1
- package/dist/chunk-3NVFHJFS.cjs.map +0 -1
- package/dist/chunk-4T4TJ2QS.cjs.map +0 -1
- package/dist/chunk-65WK575V.cjs.map +0 -1
- package/dist/chunk-7WSBPD6Z.cjs.map +0 -1
- package/dist/chunk-A6PGQVTR.cjs.map +0 -1
- package/dist/chunk-AZ2ZNSFN.cjs.map +0 -1
- package/dist/chunk-AZF7B2AE.cjs.map +0 -1
- package/dist/chunk-BM2GRZNM.cjs.map +0 -1
- package/dist/chunk-FQDNF7MF.cjs.map +0 -1
- package/dist/chunk-H3C3MJW5.cjs.map +0 -1
- package/dist/chunk-H5FM6I5W.cjs.map +0 -1
- package/dist/chunk-LE5XMIFJ.cjs.map +0 -1
- package/dist/chunk-QJ34MOFV.cjs.map +0 -1
- package/dist/chunk-QPOUONJ7.cjs.map +0 -1
- package/dist/chunk-QR2NIDUK.cjs.map +0 -1
- package/dist/chunk-STKGRXSA.cjs.map +0 -1
- package/dist/chunk-VUYJGFUA.cjs.map +0 -1
- package/dist/chunk-VVS6JJLI.js.map +0 -1
- package/dist/chunk-VZZPCYA3.cjs.map +0 -1
- package/dist/chunk-WN7BZDNH.cjs.map +0 -1
- package/dist/chunk-WZA5S5EJ.cjs.map +0 -1
- package/dist/chunk-XZ4NC3Q7.cjs.map +0 -1
- package/dist/comments.cjs.map +0 -1
- package/dist/diff.cjs.map +0 -1
- package/dist/docx.cjs.map +0 -1
- package/dist/embed.cjs.map +0 -1
- package/dist/emoji-data.cjs.map +0 -1
- package/dist/emoji.cjs.map +0 -1
- package/dist/engine.cjs.map +0 -1
- package/dist/find.cjs.map +0 -1
- package/dist/headless.cjs.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/math.cjs.map +0 -1
- package/dist/mention.cjs.map +0 -1
- package/dist/presence.cjs.map +0 -1
- package/dist/stats.cjs.map +0 -1
- package/dist/table.cjs.map +0 -1
- package/dist/toc.cjs.map +0 -1
- package/dist/view.cjs.map +0 -1
- package/dist/yjs.cjs.map +0 -1
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { lazyLoad } from './chunk-KTUOPDVO.js';
|
|
3
|
+
import { CODE_LANGUAGES } from './chunk-32OZ2WM2.js';
|
|
4
|
+
import './chunk-XFEDJEJF.js';
|
|
5
|
+
import './chunk-HDJ653LM.js';
|
|
6
|
+
import './chunk-OS2O6IKX.js';
|
|
7
|
+
import './chunk-CSKKSXCE.js';
|
|
8
|
+
import './chunk-BJTOLCRR.js';
|
|
9
|
+
import { useState, useEffect, useMemo } from 'react';
|
|
10
|
+
|
|
11
|
+
// src/blocks/code/prism/grammar-name.ts
|
|
12
|
+
var NEAREST = { dockerfile: "docker", html: "markup", xml: "markup", shell: "bash" };
|
|
13
|
+
function grammarName(language) {
|
|
14
|
+
const key = language.trim().toLowerCase();
|
|
15
|
+
if (key === "") return void 0;
|
|
16
|
+
const known = CODE_LANGUAGES.find(({ id, aliases = [] }) => id === key || aliases.includes(key));
|
|
17
|
+
return known && (NEAREST[known.id] ?? known.id);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// src/blocks/code/prism/prism-tokens.ts
|
|
21
|
+
var WORD = /^[a-z][a-z0-9-]*$/;
|
|
22
|
+
function className(token) {
|
|
23
|
+
const alias = typeof token.alias === "string" ? token.alias : token.alias?.[0];
|
|
24
|
+
const name = alias ?? token.type;
|
|
25
|
+
return WORD.test(name) ? `quoin-tok-${name}` : void 0;
|
|
26
|
+
}
|
|
27
|
+
function pushText(lines, text, drawn) {
|
|
28
|
+
text.split("\n").forEach((part, index) => {
|
|
29
|
+
if (index > 0) lines.push([]);
|
|
30
|
+
if (part === "") return;
|
|
31
|
+
lines[lines.length - 1].push(drawn === void 0 ? { text: part } : { text: part, className: drawn });
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
function walk(node, drawn, lines) {
|
|
35
|
+
if (typeof node === "string") return pushText(lines, node, drawn);
|
|
36
|
+
if (Array.isArray(node)) return node.forEach((child) => walk(child, drawn, lines));
|
|
37
|
+
const token = node;
|
|
38
|
+
walk(token.content, className(token) ?? drawn, lines);
|
|
39
|
+
}
|
|
40
|
+
function codeLines(nodes) {
|
|
41
|
+
const lines = [[]];
|
|
42
|
+
nodes.forEach((node) => walk(node, void 0, lines));
|
|
43
|
+
return lines;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// src/blocks/code/prism/prism-highlight.ts
|
|
47
|
+
function nodesOf(tokenize, code, grammar) {
|
|
48
|
+
try {
|
|
49
|
+
return tokenize(code, grammar);
|
|
50
|
+
} catch {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function highlightWith(tokenize, code, language) {
|
|
55
|
+
const grammar = grammarName(language);
|
|
56
|
+
const nodes = grammar === void 0 ? null : nodesOf(tokenize, code, grammar);
|
|
57
|
+
return codeLines(nodes ?? [code]);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// src/blocks/code/prism/prism-source.ts
|
|
61
|
+
async function importTokenize() {
|
|
62
|
+
const globals = globalThis;
|
|
63
|
+
const theirs = globals.Prism;
|
|
64
|
+
globals.Prism = { manual: true };
|
|
65
|
+
try {
|
|
66
|
+
const { tokenize } = await import('./prism-grammars.js');
|
|
67
|
+
return tokenize;
|
|
68
|
+
} finally {
|
|
69
|
+
if (theirs === void 0) delete globals.Prism;
|
|
70
|
+
else globals.Prism = theirs;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
var prismSource = lazyLoad(importTokenize);
|
|
74
|
+
|
|
75
|
+
// src/blocks/code/prism/use-prism-highlighter.ts
|
|
76
|
+
function usePrismHighlighter() {
|
|
77
|
+
const [tokenize, setTokenize] = useState(prismSource.loaded);
|
|
78
|
+
useEffect(() => {
|
|
79
|
+
if (tokenize !== void 0) return;
|
|
80
|
+
let live = true;
|
|
81
|
+
void prismSource.load().then(
|
|
82
|
+
(loaded) => void (live && setTokenize(() => loaded)),
|
|
83
|
+
() => {
|
|
84
|
+
}
|
|
85
|
+
);
|
|
86
|
+
return () => {
|
|
87
|
+
live = false;
|
|
88
|
+
};
|
|
89
|
+
}, [tokenize]);
|
|
90
|
+
return useMemo(
|
|
91
|
+
() => tokenize === void 0 ? void 0 : (code, language) => highlightWith(tokenize, code, language),
|
|
92
|
+
[tokenize]
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export { usePrismHighlighter };
|
|
97
|
+
//# sourceMappingURL=highlight.js.map
|
|
98
|
+
//# sourceMappingURL=highlight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/blocks/code/prism/grammar-name.ts","../src/blocks/code/prism/prism-tokens.ts","../src/blocks/code/prism/prism-highlight.ts","../src/blocks/code/prism/prism-source.ts","../src/blocks/code/prism/use-prism-highlighter.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,IAAM,UAAkC,EAAE,YAAY,UAAU,MAAM,UAAU,KAAK,UAAU,OAAO,QAAO;AAGtG,SAAS,YAAY,UAAsC;AAChE,QAAM,MAAM,SAAS,MAAK,CAAE,aAAY;AACxC,MAAI,QAAQ,IAAI,OAAO;AACvB,QAAM,QAAQ,eAAe,KAAK,CAAC,EAAE,IAAI,UAAU,EAAC,OAAQ,OAAO,OAAO,QAAQ,SAAS,GAAG,CAAC;AAC/F,SAAO,UAAU,QAAQ,MAAM,EAAE,KAAK,MAAM;AAC9C;;;ACJA,IAAM,OAAO;AAEb,SAAS,UAAU,OAAuC;AACxD,QAAM,QAAQ,OAAO,MAAM,UAAU,WAAW,MAAM,QAAQ,MAAM,QAAQ,CAAC;AAC7E,QAAM,OAAO,SAAS,MAAM;AAC5B,SAAO,KAAK,KAAK,IAAI,IAAI,aAAa,IAAI,KAAK;AACjD;AAGA,SAAS,SAAS,OAAsB,MAAc,OAAiC;AACrF,OAAK,MAAM,IAAI,EAAE,QAAQ,CAAC,MAAM,UAAU;AACxC,QAAI,QAAQ,GAAG,MAAM,KAAK,EAAE;AAC5B,QAAI,SAAS,IAAI;AACjB,UAAM,MAAM,SAAS,CAAC,EAAE,KAAK,UAAU,SAAY,EAAE,MAAM,SAAS,EAAE,MAAM,MAAM,WAAW,OAAO;AAAA,EACtG,CAAC;AACH;AAEA,SAAS,KAAK,MAAiB,OAA2B,OAA4B;AACpF,MAAI,OAAO,SAAS,iBAAiB,SAAS,OAAO,MAAM,KAAK;AAChE,MAAI,MAAM,QAAQ,IAAI,GAAG,OAAQ,KAA8B,QAAQ,CAAC,UAAU,KAAK,OAAO,OAAO,KAAK,CAAC;AAC3G,QAAM,QAAQ;AACd,OAAK,MAAM,SAAS,UAAU,KAAK,KAAK,OAAO,KAAK;AACtD;AAGO,SAAS,UAAU,OAA4C;AACpE,QAAM,QAAuB,CAAC,EAAE;AAChC,QAAM,QAAQ,CAAC,SAAS,KAAK,MAAM,QAAW,KAAK,CAAC;AACpD,SAAO;AACT;;;AC3BA,SAAS,QAAQ,UAAoB,MAAc,SAAqC;AACtF,MAAI;AACF,WAAO,SAAS,MAAM,OAAO;AAAA,EAC/B,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGO,SAAS,cAAc,UAAoB,MAAc,UAAiC;AAC/F,QAAM,UAAU,YAAY,QAAQ;AACpC,QAAM,QAAQ,YAAY,SAAY,OAAO,QAAQ,UAAU,MAAM,OAAO;AAC5E,SAAO,UAAU,SAAS,CAAC,IAAI,CAAC;AAClC;;;ACTA,eAAe,iBAAoC;AACjD,QAAM,UAAU;AAChB,QAAM,SAAS,QAAQ;AACvB,UAAQ,QAAQ,EAAE,QAAQ,MAAK;AAC/B,MAAI;AACF,UAAM,EAAE,UAAS,GAAI,MAAM,OAAO,qBAAkB;AACpD,WAAO;AAAA,EACT,UAAE;AACA,QAAI,WAAW,QAAW,OAAO,QAAQ;AAAA,iBAC5B,QAAQ;AAAA,EACvB;AACF;AAGO,IAAM,cAAc,SAAS,cAAc;;;ACf3C,SAAS,sBAAmD;AACjE,QAAM,CAAC,UAAU,WAAW,IAAI,SAA+B,YAAY,MAAM;AAEjF,YAAU,MAAM;AACd,QAAI,aAAa,QAAW;AAC5B,QAAI,OAAO;AAEX,SAAK,YAAY,MAAK,CAAE;AAAA,MACtB,CAAC,WAAW,MAAM,QAAQ,YAAY,MAAM,MAAM;AAAA,MAClD,MAAM;AAAA,MAAC;AAAA,KACT;AACA,WAAO,MAAM;AACX,aAAO;AAAA,IACT;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO;AAAA,IACL,MAAO,aAAa,SAAY,SAAY,CAAC,MAAM,aAAa,cAAc,UAAU,MAAM,QAAQ;AAAA,IACtG,CAAC,QAAQ;AAAA,GACX;AACF","file":"highlight.js"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkUUSZGUXJ_cjs = require('./chunk-UUSZGUXJ.cjs');
|
|
5
5
|
var chunkQJ34MOFV_cjs = require('./chunk-QJ34MOFV.cjs');
|
|
6
6
|
var chunkA6PGQVTR_cjs = require('./chunk-A6PGQVTR.cjs');
|
|
7
7
|
var chunkVZZPCYA3_cjs = require('./chunk-VZZPCYA3.cjs');
|
|
@@ -12,47 +12,47 @@ var chunkWZA5S5EJ_cjs = require('./chunk-WZA5S5EJ.cjs');
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, "BlockCanvas", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return chunkUUSZGUXJ_cjs.BlockCanvas; }
|
|
16
16
|
});
|
|
17
17
|
Object.defineProperty(exports, "FilePickerButton", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return chunkUUSZGUXJ_cjs.FilePickerButton; }
|
|
20
20
|
});
|
|
21
21
|
Object.defineProperty(exports, "QuoinProvider", {
|
|
22
22
|
enumerable: true,
|
|
23
|
-
get: function () { return
|
|
23
|
+
get: function () { return chunkUUSZGUXJ_cjs.QuoinProvider; }
|
|
24
24
|
});
|
|
25
25
|
Object.defineProperty(exports, "UploadField", {
|
|
26
26
|
enumerable: true,
|
|
27
|
-
get: function () { return
|
|
27
|
+
get: function () { return chunkUUSZGUXJ_cjs.UploadField; }
|
|
28
28
|
});
|
|
29
29
|
Object.defineProperty(exports, "coreBlocks", {
|
|
30
30
|
enumerable: true,
|
|
31
|
-
get: function () { return
|
|
31
|
+
get: function () { return chunkUUSZGUXJ_cjs.coreBlocks; }
|
|
32
32
|
});
|
|
33
33
|
Object.defineProperty(exports, "englishLabels", {
|
|
34
34
|
enumerable: true,
|
|
35
|
-
get: function () { return
|
|
35
|
+
get: function () { return chunkUUSZGUXJ_cjs.englishLabels; }
|
|
36
36
|
});
|
|
37
37
|
Object.defineProperty(exports, "formatShortcut", {
|
|
38
38
|
enumerable: true,
|
|
39
|
-
get: function () { return
|
|
39
|
+
get: function () { return chunkUUSZGUXJ_cjs.formatShortcut; }
|
|
40
40
|
});
|
|
41
41
|
Object.defineProperty(exports, "resolveLabels", {
|
|
42
42
|
enumerable: true,
|
|
43
|
-
get: function () { return
|
|
43
|
+
get: function () { return chunkUUSZGUXJ_cjs.resolveLabels; }
|
|
44
44
|
});
|
|
45
45
|
Object.defineProperty(exports, "useAutosave", {
|
|
46
46
|
enumerable: true,
|
|
47
|
-
get: function () { return
|
|
47
|
+
get: function () { return chunkUUSZGUXJ_cjs.useAutosave; }
|
|
48
48
|
});
|
|
49
49
|
Object.defineProperty(exports, "useLabels", {
|
|
50
50
|
enumerable: true,
|
|
51
|
-
get: function () { return
|
|
51
|
+
get: function () { return chunkUUSZGUXJ_cjs.useLabels; }
|
|
52
52
|
});
|
|
53
53
|
Object.defineProperty(exports, "useQuoin", {
|
|
54
54
|
enumerable: true,
|
|
55
|
-
get: function () { return
|
|
55
|
+
get: function () { return chunkUUSZGUXJ_cjs.useQuoin; }
|
|
56
56
|
});
|
|
57
57
|
Object.defineProperty(exports, "BlockShell", {
|
|
58
58
|
enumerable: true,
|
|
@@ -346,5 +346,3 @@ Object.defineProperty(exports, "text", {
|
|
|
346
346
|
enumerable: true,
|
|
347
347
|
get: function () { return chunkWZA5S5EJ_cjs.text; }
|
|
348
348
|
});
|
|
349
|
-
//# sourceMappingURL=index.cjs.map
|
|
350
|
-
//# sourceMappingURL=index.cjs.map
|
package/dist/index.d.cts
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ComponentType } from 'react';
|
|
3
|
-
import {
|
|
4
|
-
export {
|
|
3
|
+
import { C as CodeHighlighter } from './code-highlighter-BQDxhRrv.cjs';
|
|
4
|
+
export { a as CodeToken } from './code-highlighter-BQDxhRrv.cjs';
|
|
5
5
|
import { Q as QuoinBlock, P as Pos } from './types-CQ8Vw_7N.cjs';
|
|
6
6
|
export { d as Assoc, c as AtomNode, e as AtomSpec, A as Attrs, B as BlockAttrs, f as BlockContent, g as BlockFlow, h as BlockRangeSelection, i as BlockSpec, C as CodecContext, j as CreatedBlock, k as EngineBlock, E as EngineDoc, I as Inline, l as InlineCodec, m as InlineNode, M as Mark, n as MarkSpec, o as MarkdownExportContext, N as NodeSelection, p as ParseInlineOptions, q as PosMap, S as Schema, b as Selection, r as SerializeInlineOptions, a as Step, s as StepJSON, t as StepResult, T as TextNode, u as TextSelection } from './types-CQ8Vw_7N.cjs';
|
|
7
7
|
import { E as Extension, a as Editor, c as EditorState, b as Command } from './types-DXF9p4qV.cjs';
|
|
8
8
|
export { A as Align, B as BlockStructureOptions, e as BoundCommands, f as Chain, C as CommandFactories, g as CoreCommands, h as CoreExtensionOptions, i as DOMParserLike, D as Decoration, j as EditorOptions, F as FromHTMLOptions, I as InputRule, k as InputRuleContext, l as InputRuleRange, m as InsertTextOptions, K as KeyLike, M as MarkdownOptions, n as PasteRule, P as PluginKey, d as PluginSpec, S as Slice, o as TextStats, T as Transaction, p as TransactionOrigin, q as applyTransaction, r as coreExtensions, s as createEditor, t as createPluginKey, u as createState, v as fromHTML, w as getPluginState, x as insertBlockAfter, y as insertText, z as insertTextWithRules, G as keyName, H as normalizeKey, J as setBlockType, L as toggleMark } from './types-DXF9p4qV.cjs';
|
|
9
9
|
import { PALETTE } from './engine.cjs';
|
|
10
|
-
export { AttrsPatch, BlockChange, BlockCodec, BlockDiff, FromMarkdownOptions, InlineChange, SchemaInput,
|
|
10
|
+
export { AttrsPatch, BlockChange, BlockCodec, BlockDiff, FromMarkdownOptions, InlineChange, SchemaInput, addMarkStep, atom, blockInputRules, blockRangeSelection, coreBlockSpecs, countDoc, countText, createBlockCodec, createSchema, defineExtension, diffBlocks, diffInline, fromMarkdown, insertBlocksStep, joinBlocksStep, markInputRules, moveBlocksStep, nodeSelection, normalizeInline, parseInline, redo, removeBlocksStep, removeMarkStep, replaceBlockStep, replaceDocStep, replaceInlineStep, sanitizeHref, serializeInline, setAttrsStep, setIndentStep, splitBlockStep, stepFromJSON, text, textSelection, toPlainText, typographyRules, undo } from './engine.cjs';
|
|
11
|
+
import { A as AnyBlockDefinition, U as UploadFn, a as UploadResult } from './registry-DZ8LIGt5.cjs';
|
|
12
|
+
export { B as BlockDefinition, b as BlockEditorProps, c as BlockPreviewProps, e as blockByType, d as defineBlock, p as paletteBlocks } from './registry-DZ8LIGt5.cjs';
|
|
11
13
|
import { V as ViewController, R as RenderOptions } from './view-controller-BfVSNZYZ.cjs';
|
|
12
14
|
export { A as AtomRenderer, K as KeyInterceptor, a as ViewControllerOptions, W as WidgetRenderer, h as hostKey } from './view-controller-BfVSNZYZ.cjs';
|
|
13
15
|
import { BlockRenderer } from './headless.cjs';
|
|
14
16
|
export { BlockLabel, BlockPlaceholder, BlockRenderProps, BlockShell, DomMap, DomPoint, EditableRegion, EditableRegionProps, EditorView, EditorViewProps, SelectionSink, UseQuoinEditorOptions, VoidBlockFallback, caretFromPoint, defaultRenderers, domMapOf, isCrossSelection, renderInline, useEditorState, useQuoinEditor, useViewController } from './headless.cjs';
|
|
17
|
+
export { T as ToMarkdownOptions, t as toMarkdown } from './to-markdown-CFPMbbiX.cjs';
|
|
15
18
|
export { E as EmbedProvider, a as EmbedUrl } from './embed-provider-jXwlRmnp.cjs';
|
|
16
19
|
export { H as HTMLOptions, t as toHTML } from './to-html-1oD-CDle.cjs';
|
|
17
20
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ComponentType } from 'react';
|
|
3
|
-
import {
|
|
4
|
-
export {
|
|
3
|
+
import { C as CodeHighlighter } from './code-highlighter-BQDxhRrv.js';
|
|
4
|
+
export { a as CodeToken } from './code-highlighter-BQDxhRrv.js';
|
|
5
5
|
import { Q as QuoinBlock, P as Pos } from './types-CQ8Vw_7N.js';
|
|
6
6
|
export { d as Assoc, c as AtomNode, e as AtomSpec, A as Attrs, B as BlockAttrs, f as BlockContent, g as BlockFlow, h as BlockRangeSelection, i as BlockSpec, C as CodecContext, j as CreatedBlock, k as EngineBlock, E as EngineDoc, I as Inline, l as InlineCodec, m as InlineNode, M as Mark, n as MarkSpec, o as MarkdownExportContext, N as NodeSelection, p as ParseInlineOptions, q as PosMap, S as Schema, b as Selection, r as SerializeInlineOptions, a as Step, s as StepJSON, t as StepResult, T as TextNode, u as TextSelection } from './types-CQ8Vw_7N.js';
|
|
7
7
|
import { E as Extension, a as Editor, c as EditorState, b as Command } from './types-BjLcmV00.js';
|
|
8
8
|
export { A as Align, B as BlockStructureOptions, e as BoundCommands, f as Chain, C as CommandFactories, g as CoreCommands, h as CoreExtensionOptions, i as DOMParserLike, D as Decoration, j as EditorOptions, F as FromHTMLOptions, I as InputRule, k as InputRuleContext, l as InputRuleRange, m as InsertTextOptions, K as KeyLike, M as MarkdownOptions, n as PasteRule, P as PluginKey, d as PluginSpec, S as Slice, o as TextStats, T as Transaction, p as TransactionOrigin, q as applyTransaction, r as coreExtensions, s as createEditor, t as createPluginKey, u as createState, v as fromHTML, w as getPluginState, x as insertBlockAfter, y as insertText, z as insertTextWithRules, G as keyName, H as normalizeKey, J as setBlockType, L as toggleMark } from './types-BjLcmV00.js';
|
|
9
9
|
import { PALETTE } from './engine.js';
|
|
10
|
-
export { AttrsPatch, BlockChange, BlockCodec, BlockDiff, FromMarkdownOptions, InlineChange, SchemaInput,
|
|
10
|
+
export { AttrsPatch, BlockChange, BlockCodec, BlockDiff, FromMarkdownOptions, InlineChange, SchemaInput, addMarkStep, atom, blockInputRules, blockRangeSelection, coreBlockSpecs, countDoc, countText, createBlockCodec, createSchema, defineExtension, diffBlocks, diffInline, fromMarkdown, insertBlocksStep, joinBlocksStep, markInputRules, moveBlocksStep, nodeSelection, normalizeInline, parseInline, redo, removeBlocksStep, removeMarkStep, replaceBlockStep, replaceDocStep, replaceInlineStep, sanitizeHref, serializeInline, setAttrsStep, setIndentStep, splitBlockStep, stepFromJSON, text, textSelection, toPlainText, typographyRules, undo } from './engine.js';
|
|
11
|
+
import { A as AnyBlockDefinition, U as UploadFn, a as UploadResult } from './registry-DZ8LIGt5.js';
|
|
12
|
+
export { B as BlockDefinition, b as BlockEditorProps, c as BlockPreviewProps, e as blockByType, d as defineBlock, p as paletteBlocks } from './registry-DZ8LIGt5.js';
|
|
11
13
|
import { V as ViewController, R as RenderOptions } from './view-controller-p-2x3J7Y.js';
|
|
12
14
|
export { A as AtomRenderer, K as KeyInterceptor, a as ViewControllerOptions, W as WidgetRenderer, h as hostKey } from './view-controller-p-2x3J7Y.js';
|
|
13
15
|
import { BlockRenderer } from './headless.js';
|
|
14
16
|
export { BlockLabel, BlockPlaceholder, BlockRenderProps, BlockShell, DomMap, DomPoint, EditableRegion, EditableRegionProps, EditorView, EditorViewProps, SelectionSink, UseQuoinEditorOptions, VoidBlockFallback, caretFromPoint, defaultRenderers, domMapOf, isCrossSelection, renderInline, useEditorState, useQuoinEditor, useViewController } from './headless.js';
|
|
17
|
+
export { T as ToMarkdownOptions, t as toMarkdown } from './to-markdown-BVOzhgVM.js';
|
|
15
18
|
export { E as EmbedProvider, a as EmbedUrl } from './embed-provider-jXwlRmnp.js';
|
|
16
19
|
export { H as HTMLOptions, t as toHTML } from './to-html-CLRBCX0I.js';
|
|
17
20
|
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { BlockCanvas, FilePickerButton, QuoinProvider, UploadField, coreBlocks, englishLabels, formatShortcut, resolveLabels, useAutosave, useLabels, useQuoin } from './chunk-
|
|
2
|
+
export { BlockCanvas, FilePickerButton, QuoinProvider, UploadField, coreBlocks, englishLabels, formatShortcut, resolveLabels, useAutosave, useLabels, useQuoin } from './chunk-32OZ2WM2.js';
|
|
3
3
|
export { BlockShell, EditableRegion, EditorView, SelectionSink, ViewController, VoidBlockFallback, caretFromPoint, defaultRenderers, domMapOf, hostKey, isCrossSelection, renderInline, useEditorState, useQuoinEditor, useViewController } from './chunk-XFEDJEJF.js';
|
|
4
4
|
export { blockByType, defineBlock, paletteBlocks } from './chunk-HDJ653LM.js';
|
|
5
5
|
export { Transaction, addMarkStep, applyTransaction, blockInputRules, blockRangeSelection, coreExtensions, countDoc, countText, createEditor, createPluginKey, createState, defineExtension, fromHTML, getPluginState, insertBlockAfter, insertBlocksStep, insertText, insertTextWithRules, joinBlocksStep, keyName, markInputRules, moveBlocksStep, nodeSelection, normalizeKey, redo, removeBlocksStep, removeMarkStep, replaceBlockStep, replaceDocStep, replaceInlineStep, setAttrsStep, setBlockType, setIndentStep, splitBlockStep, stepFromJSON, textSelection, toHTML, toMarkdown, toPlainText, toggleMark, typographyRules, undo } from './chunk-OS2O6IKX.js';
|
package/dist/math.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('./chunk-XZ4NC3Q7.cjs');
|
|
4
|
+
var chunkJVSYEENH_cjs = require('./chunk-JVSYEENH.cjs');
|
|
6
5
|
require('./chunk-AZF7B2AE.cjs');
|
|
7
|
-
require('./chunk-
|
|
6
|
+
require('./chunk-XZ4NC3Q7.cjs');
|
|
7
|
+
require('./chunk-UUSZGUXJ.cjs');
|
|
8
8
|
require('./chunk-QJ34MOFV.cjs');
|
|
9
9
|
require('./chunk-A6PGQVTR.cjs');
|
|
10
10
|
require('./chunk-VZZPCYA3.cjs');
|
|
@@ -15,11 +15,9 @@ require('./chunk-WZA5S5EJ.cjs');
|
|
|
15
15
|
|
|
16
16
|
Object.defineProperty(exports, "englishMathLabels", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkJVSYEENH_cjs.englishMathLabels; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "mathExtension", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return chunkJVSYEENH_cjs.mathExtension; }
|
|
23
23
|
});
|
|
24
|
-
//# sourceMappingURL=math.cjs.map
|
|
25
|
-
//# sourceMappingURL=math.cjs.map
|
package/dist/math.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { englishMathLabels, mathExtension } from './chunk-
|
|
3
|
-
import './chunk-AD3NY7NA.js';
|
|
2
|
+
export { englishMathLabels, mathExtension } from './chunk-KFYJW7W5.js';
|
|
4
3
|
import './chunk-QOIVLYMW.js';
|
|
5
|
-
import './chunk-
|
|
4
|
+
import './chunk-AD3NY7NA.js';
|
|
5
|
+
import './chunk-32OZ2WM2.js';
|
|
6
6
|
import './chunk-XFEDJEJF.js';
|
|
7
7
|
import './chunk-HDJ653LM.js';
|
|
8
8
|
import './chunk-OS2O6IKX.js';
|
package/dist/mention.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunk46JH34SR_cjs = require('./chunk-46JH34SR.cjs');
|
|
5
5
|
require('./chunk-H3C3MJW5.cjs');
|
|
6
6
|
require('./chunk-AZF7B2AE.cjs');
|
|
7
|
-
require('./chunk-
|
|
7
|
+
require('./chunk-UUSZGUXJ.cjs');
|
|
8
8
|
require('./chunk-QJ34MOFV.cjs');
|
|
9
9
|
require('./chunk-A6PGQVTR.cjs');
|
|
10
10
|
require('./chunk-VZZPCYA3.cjs');
|
|
@@ -15,11 +15,9 @@ require('./chunk-WZA5S5EJ.cjs');
|
|
|
15
15
|
|
|
16
16
|
Object.defineProperty(exports, "englishMentionLabels", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunk46JH34SR_cjs.englishMentionLabels; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "mentionExtension", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return chunk46JH34SR_cjs.mentionExtension; }
|
|
23
23
|
});
|
|
24
|
-
//# sourceMappingURL=mention.cjs.map
|
|
25
|
-
//# sourceMappingURL=mention.cjs.map
|
package/dist/mention.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { englishMentionLabels, mentionExtension } from './chunk-
|
|
2
|
+
export { englishMentionLabels, mentionExtension } from './chunk-B5OMWOVI.js';
|
|
3
3
|
import './chunk-GHNQKJMD.js';
|
|
4
4
|
import './chunk-QOIVLYMW.js';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-32OZ2WM2.js';
|
|
6
6
|
import './chunk-XFEDJEJF.js';
|
|
7
7
|
import './chunk-HDJ653LM.js';
|
|
8
8
|
import './chunk-OS2O6IKX.js';
|
package/dist/presence.cjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var chunkLE5XMIFJ_cjs = require('./chunk-LE5XMIFJ.cjs');
|
|
5
5
|
var chunkQR2NIDUK_cjs = require('./chunk-QR2NIDUK.cjs');
|
|
6
|
-
require('./chunk-
|
|
6
|
+
require('./chunk-UUSZGUXJ.cjs');
|
|
7
7
|
var chunkQJ34MOFV_cjs = require('./chunk-QJ34MOFV.cjs');
|
|
8
8
|
var chunkA6PGQVTR_cjs = require('./chunk-A6PGQVTR.cjs');
|
|
9
9
|
var chunkWN7BZDNH_cjs = require('./chunk-WN7BZDNH.cjs');
|
|
@@ -522,5 +522,3 @@ function presenceExtension(collaboration, options = {}) {
|
|
|
522
522
|
|
|
523
523
|
exports.englishPresenceLabels = englishPresenceLabels;
|
|
524
524
|
exports.presenceExtension = presenceExtension;
|
|
525
|
-
//# sourceMappingURL=presence.cjs.map
|
|
526
|
-
//# sourceMappingURL=presence.cjs.map
|
package/dist/presence.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { clipBoxes } from './chunk-MQUCCSWG.js';
|
|
3
3
|
import { ownsNode, watchCanvasFocus } from './chunk-R7MYG522.js';
|
|
4
|
-
import './chunk-
|
|
4
|
+
import './chunk-32OZ2WM2.js';
|
|
5
5
|
import { useEditorState, useIsomorphicLayoutEffect, listen, domMapOf } from './chunk-XFEDJEJF.js';
|
|
6
6
|
import { devWarn } from './chunk-HDJ653LM.js';
|
|
7
7
|
import { sharedOf, sharedChange, absolute, relative } from './chunk-G25FMFEZ.js';
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var Prism = require('prismjs/components/prism-core.js');
|
|
4
|
+
require('prismjs/components/prism-bash.js');
|
|
5
|
+
require('prismjs/components/prism-clike.js');
|
|
6
|
+
require('prismjs/components/prism-c.js');
|
|
7
|
+
require('prismjs/components/prism-cpp.js');
|
|
8
|
+
require('prismjs/components/prism-csharp.js');
|
|
9
|
+
require('prismjs/components/prism-css.js');
|
|
10
|
+
require('prismjs/components/prism-dart.js');
|
|
11
|
+
require('prismjs/components/prism-diff.js');
|
|
12
|
+
require('prismjs/components/prism-docker.js');
|
|
13
|
+
require('prismjs/components/prism-elixir.js');
|
|
14
|
+
require('prismjs/components/prism-go.js');
|
|
15
|
+
require('prismjs/components/prism-graphql.js');
|
|
16
|
+
require('prismjs/components/prism-haskell.js');
|
|
17
|
+
require('prismjs/components/prism-markup.js');
|
|
18
|
+
require('prismjs/components/prism-java.js');
|
|
19
|
+
require('prismjs/components/prism-javascript.js');
|
|
20
|
+
require('prismjs/components/prism-json.js');
|
|
21
|
+
require('prismjs/components/prism-jsx.js');
|
|
22
|
+
require('prismjs/components/prism-kotlin.js');
|
|
23
|
+
require('prismjs/components/prism-latex.js');
|
|
24
|
+
require('prismjs/components/prism-lua.js');
|
|
25
|
+
require('prismjs/components/prism-makefile.js');
|
|
26
|
+
require('prismjs/components/prism-markdown.js');
|
|
27
|
+
require('prismjs/components/prism-matlab.js');
|
|
28
|
+
require('prismjs/components/prism-perl.js');
|
|
29
|
+
require('prismjs/components/prism-markup-templating.js');
|
|
30
|
+
require('prismjs/components/prism-php.js');
|
|
31
|
+
require('prismjs/components/prism-powershell.js');
|
|
32
|
+
require('prismjs/components/prism-python.js');
|
|
33
|
+
require('prismjs/components/prism-r.js');
|
|
34
|
+
require('prismjs/components/prism-ruby.js');
|
|
35
|
+
require('prismjs/components/prism-rust.js');
|
|
36
|
+
require('prismjs/components/prism-scala.js');
|
|
37
|
+
require('prismjs/components/prism-scss.js');
|
|
38
|
+
require('prismjs/components/prism-sql.js');
|
|
39
|
+
require('prismjs/components/prism-swift.js');
|
|
40
|
+
require('prismjs/components/prism-toml.js');
|
|
41
|
+
require('prismjs/components/prism-typescript.js');
|
|
42
|
+
require('prismjs/components/prism-tsx.js');
|
|
43
|
+
require('prismjs/components/prism-yaml.js');
|
|
44
|
+
|
|
45
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
46
|
+
|
|
47
|
+
var Prism__default = /*#__PURE__*/_interopDefault(Prism);
|
|
48
|
+
|
|
49
|
+
// src/blocks/code/prism/prism-grammars.ts
|
|
50
|
+
var tokenize = (code, grammar) => {
|
|
51
|
+
const language = Prism__default.default.languages[grammar];
|
|
52
|
+
if (typeof language !== "object" || language === null) return null;
|
|
53
|
+
return Prism__default.default.tokenize(code, language);
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
exports.tokenize = tokenize;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import Prism from 'prismjs/components/prism-core.js';
|
|
2
|
+
import 'prismjs/components/prism-bash.js';
|
|
3
|
+
import 'prismjs/components/prism-clike.js';
|
|
4
|
+
import 'prismjs/components/prism-c.js';
|
|
5
|
+
import 'prismjs/components/prism-cpp.js';
|
|
6
|
+
import 'prismjs/components/prism-csharp.js';
|
|
7
|
+
import 'prismjs/components/prism-css.js';
|
|
8
|
+
import 'prismjs/components/prism-dart.js';
|
|
9
|
+
import 'prismjs/components/prism-diff.js';
|
|
10
|
+
import 'prismjs/components/prism-docker.js';
|
|
11
|
+
import 'prismjs/components/prism-elixir.js';
|
|
12
|
+
import 'prismjs/components/prism-go.js';
|
|
13
|
+
import 'prismjs/components/prism-graphql.js';
|
|
14
|
+
import 'prismjs/components/prism-haskell.js';
|
|
15
|
+
import 'prismjs/components/prism-markup.js';
|
|
16
|
+
import 'prismjs/components/prism-java.js';
|
|
17
|
+
import 'prismjs/components/prism-javascript.js';
|
|
18
|
+
import 'prismjs/components/prism-json.js';
|
|
19
|
+
import 'prismjs/components/prism-jsx.js';
|
|
20
|
+
import 'prismjs/components/prism-kotlin.js';
|
|
21
|
+
import 'prismjs/components/prism-latex.js';
|
|
22
|
+
import 'prismjs/components/prism-lua.js';
|
|
23
|
+
import 'prismjs/components/prism-makefile.js';
|
|
24
|
+
import 'prismjs/components/prism-markdown.js';
|
|
25
|
+
import 'prismjs/components/prism-matlab.js';
|
|
26
|
+
import 'prismjs/components/prism-perl.js';
|
|
27
|
+
import 'prismjs/components/prism-markup-templating.js';
|
|
28
|
+
import 'prismjs/components/prism-php.js';
|
|
29
|
+
import 'prismjs/components/prism-powershell.js';
|
|
30
|
+
import 'prismjs/components/prism-python.js';
|
|
31
|
+
import 'prismjs/components/prism-r.js';
|
|
32
|
+
import 'prismjs/components/prism-ruby.js';
|
|
33
|
+
import 'prismjs/components/prism-rust.js';
|
|
34
|
+
import 'prismjs/components/prism-scala.js';
|
|
35
|
+
import 'prismjs/components/prism-scss.js';
|
|
36
|
+
import 'prismjs/components/prism-sql.js';
|
|
37
|
+
import 'prismjs/components/prism-swift.js';
|
|
38
|
+
import 'prismjs/components/prism-toml.js';
|
|
39
|
+
import 'prismjs/components/prism-typescript.js';
|
|
40
|
+
import 'prismjs/components/prism-tsx.js';
|
|
41
|
+
import 'prismjs/components/prism-yaml.js';
|
|
42
|
+
|
|
43
|
+
// src/blocks/code/prism/prism-grammars.ts
|
|
44
|
+
var tokenize = (code, grammar) => {
|
|
45
|
+
const language = Prism.languages[grammar];
|
|
46
|
+
if (typeof language !== "object" || language === null) return null;
|
|
47
|
+
return Prism.tokenize(code, language);
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export { tokenize };
|
|
51
|
+
//# sourceMappingURL=prism-grammars.js.map
|
|
52
|
+
//# sourceMappingURL=prism-grammars.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/blocks/code/prism/prism-grammars.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CO,IAAM,WAAqB,CAAC,MAAM,YAAY;AACnD,QAAM,WAAW,MAAM,UAAU,OAAO;AACxC,MAAI,OAAO,aAAa,YAAY,aAAa,MAAM,OAAO;AAC9D,SAAO,MAAM,SAAS,MAAM,QAAQ;AACtC","file":"prism-grammars.js"}
|
|
@@ -1,18 +1,5 @@
|
|
|
1
1
|
import { ComponentType } from 'react';
|
|
2
2
|
|
|
3
|
-
/** A run of code drawn in one colour or class. Its text is drawn as text, never parsed as markup. */
|
|
4
|
-
type CodeToken = {
|
|
5
|
-
text: string;
|
|
6
|
-
color?: string;
|
|
7
|
-
className?: string;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Highlights the code of a code block: one array of tokens per line of `code`, split on `\n`, whose texts put together
|
|
11
|
-
* spell the line exactly, since the tokens are drawn under the text the writer types into. Wrap any highlighter, such as
|
|
12
|
-
* Shiki, Prism or highlight.js, in one. `language` is the block's language as stored, which may be an alias such as `ts`.
|
|
13
|
-
*/
|
|
14
|
-
type CodeHighlighter = (code: string, language: string) => CodeToken[][];
|
|
15
|
-
|
|
16
3
|
/** What your upload function resolves with so Quoin can reference the stored file later. */
|
|
17
4
|
type UploadResult = {
|
|
18
5
|
/** Opaque key your storage uses to find the file again. */
|
|
@@ -141,5 +128,5 @@ declare function blockByType(definitions: readonly AnyBlockDefinition[], type: s
|
|
|
141
128
|
/** The definitions offered in the slash palette, in registration order, one per type, with the last registration of a type winning. */
|
|
142
129
|
declare function paletteBlocks(definitions: AnyBlockDefinition[]): AnyBlockDefinition[];
|
|
143
130
|
|
|
144
|
-
export { defineBlock as d, blockByType as
|
|
145
|
-
export type { AnyBlockDefinition as A, BlockDefinition as B,
|
|
131
|
+
export { defineBlock as d, blockByType as e, paletteBlocks as p };
|
|
132
|
+
export type { AnyBlockDefinition as A, BlockDefinition as B, UploadFn as U, UploadResult as a, BlockEditorProps as b, BlockPreviewProps as c };
|
|
@@ -1,18 +1,5 @@
|
|
|
1
1
|
import { ComponentType } from 'react';
|
|
2
2
|
|
|
3
|
-
/** A run of code drawn in one colour or class. Its text is drawn as text, never parsed as markup. */
|
|
4
|
-
type CodeToken = {
|
|
5
|
-
text: string;
|
|
6
|
-
color?: string;
|
|
7
|
-
className?: string;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Highlights the code of a code block: one array of tokens per line of `code`, split on `\n`, whose texts put together
|
|
11
|
-
* spell the line exactly, since the tokens are drawn under the text the writer types into. Wrap any highlighter, such as
|
|
12
|
-
* Shiki, Prism or highlight.js, in one. `language` is the block's language as stored, which may be an alias such as `ts`.
|
|
13
|
-
*/
|
|
14
|
-
type CodeHighlighter = (code: string, language: string) => CodeToken[][];
|
|
15
|
-
|
|
16
3
|
/** What your upload function resolves with so Quoin can reference the stored file later. */
|
|
17
4
|
type UploadResult = {
|
|
18
5
|
/** Opaque key your storage uses to find the file again. */
|
|
@@ -141,5 +128,5 @@ declare function blockByType(definitions: readonly AnyBlockDefinition[], type: s
|
|
|
141
128
|
/** The definitions offered in the slash palette, in registration order, one per type, with the last registration of a type winning. */
|
|
142
129
|
declare function paletteBlocks(definitions: AnyBlockDefinition[]): AnyBlockDefinition[];
|
|
143
130
|
|
|
144
|
-
export { defineBlock as d, blockByType as
|
|
145
|
-
export type { AnyBlockDefinition as A, BlockDefinition as B,
|
|
131
|
+
export { defineBlock as d, blockByType as e, paletteBlocks as p };
|
|
132
|
+
export type { AnyBlockDefinition as A, BlockDefinition as B, UploadFn as U, UploadResult as a, BlockEditorProps as b, BlockPreviewProps as c };
|
package/dist/source.cjs
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
require('./chunk-UUSZGUXJ.cjs');
|
|
5
|
+
require('./chunk-QJ34MOFV.cjs');
|
|
6
|
+
require('./chunk-A6PGQVTR.cjs');
|
|
7
|
+
var chunkVZZPCYA3_cjs = require('./chunk-VZZPCYA3.cjs');
|
|
8
|
+
require('./chunk-BM2GRZNM.cjs');
|
|
9
|
+
require('./chunk-WZA5S5EJ.cjs');
|
|
10
|
+
var react = require('react');
|
|
11
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
12
|
+
|
|
13
|
+
// src/extensions/source/source-labels.ts
|
|
14
|
+
var englishSourceLabels = { region: "Markdown source" };
|
|
15
|
+
function resolveSourceLabels(overrides) {
|
|
16
|
+
if (overrides === void 0) return englishSourceLabels;
|
|
17
|
+
const given = Object.entries(overrides).filter(([, value]) => value !== void 0);
|
|
18
|
+
return given.length === 0 ? englishSourceLabels : { ...englishSourceLabels, ...Object.fromEntries(given) };
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// src/extensions/source/source-lines.ts
|
|
22
|
+
var lineCount = (text) => text.split("\n").length - 1;
|
|
23
|
+
var withoutTrailingNewlines = (text) => text.replace(/\n+$/, "");
|
|
24
|
+
function blockLines(blocks, index, options) {
|
|
25
|
+
if (!Number.isInteger(index) || index < 0 || index >= blocks.length) return null;
|
|
26
|
+
const before = withoutTrailingNewlines(chunkVZZPCYA3_cjs.toMarkdown(blocks.slice(0, index), options));
|
|
27
|
+
const through = chunkVZZPCYA3_cjs.toMarkdown(blocks.slice(0, index + 1), options);
|
|
28
|
+
const separator = /^\n*/.exec(through.slice(before.length))?.[0].length ?? 0;
|
|
29
|
+
return { from: lineCount(before) + separator, to: lineCount(withoutTrailingNewlines(through)) };
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// src/extensions/source/use-editor-source.ts
|
|
33
|
+
function sourceOf(editor, given) {
|
|
34
|
+
const blocks = editor.getBlocks();
|
|
35
|
+
const options = { ...given, schema: editor.state.schema };
|
|
36
|
+
const [id] = chunkVZZPCYA3_cjs.selectedBlockIds(editor.state.doc, editor.state.selection);
|
|
37
|
+
const index = id === void 0 ? -1 : blocks.findIndex((block) => block.id === id);
|
|
38
|
+
return { markdown: chunkVZZPCYA3_cjs.toMarkdown(blocks, options), active: blockLines(blocks, index, options) };
|
|
39
|
+
}
|
|
40
|
+
var sameSource = (a, b) => a.markdown === b.markdown && a.active?.from === b.active?.from && a.active?.to === b.active?.to;
|
|
41
|
+
function useEditorSource(controller, options = {}) {
|
|
42
|
+
const { comments, lossless, resolveAssetUrl } = options;
|
|
43
|
+
const settings = react.useMemo(
|
|
44
|
+
() => ({ comments, lossless, resolveAssetUrl }),
|
|
45
|
+
[comments, lossless, resolveAssetUrl]
|
|
46
|
+
);
|
|
47
|
+
const [source, setSource] = react.useState(() => sourceOf(controller.editor, settings));
|
|
48
|
+
react.useEffect(() => {
|
|
49
|
+
const { editor } = controller;
|
|
50
|
+
let frame = 0;
|
|
51
|
+
const reread = () => {
|
|
52
|
+
frame = 0;
|
|
53
|
+
const next = sourceOf(editor, settings);
|
|
54
|
+
setSource((current) => sameSource(current, next) ? current : next);
|
|
55
|
+
};
|
|
56
|
+
reread();
|
|
57
|
+
const stop = editor.subscribe(() => {
|
|
58
|
+
if (frame === 0) frame = requestAnimationFrame(reread);
|
|
59
|
+
});
|
|
60
|
+
return () => {
|
|
61
|
+
stop();
|
|
62
|
+
cancelAnimationFrame(frame);
|
|
63
|
+
};
|
|
64
|
+
}, [controller, settings]);
|
|
65
|
+
return source;
|
|
66
|
+
}
|
|
67
|
+
function QuoinSource({ controller, options, labels: given, className, ...props }) {
|
|
68
|
+
const labels = react.useMemo(() => resolveSourceLabels(given), [given]);
|
|
69
|
+
const { markdown, active } = useEditorSource(controller, options);
|
|
70
|
+
const lines = react.useMemo(() => markdown === "" ? [] : markdown.replace(/\n$/, "").split("\n"), [markdown]);
|
|
71
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
72
|
+
"div",
|
|
73
|
+
{
|
|
74
|
+
...props,
|
|
75
|
+
role: "region",
|
|
76
|
+
"aria-label": labels.region,
|
|
77
|
+
tabIndex: 0,
|
|
78
|
+
className: className === void 0 ? "quoin-source" : `quoin-source ${className}`,
|
|
79
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "quoin-source-text", children: lines.map((line, index) => /* @__PURE__ */ jsxRuntime.jsxs(react.Fragment, { children: [
|
|
80
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
81
|
+
"span",
|
|
82
|
+
{
|
|
83
|
+
"data-quoin-source-line": index,
|
|
84
|
+
className: active && index >= active.from && index <= active.to ? "quoin-source-active" : void 0,
|
|
85
|
+
children: line
|
|
86
|
+
}
|
|
87
|
+
),
|
|
88
|
+
"\n"
|
|
89
|
+
] }, index)) })
|
|
90
|
+
}
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
exports.QuoinSource = QuoinSource;
|
|
95
|
+
exports.blockLines = blockLines;
|
|
96
|
+
exports.englishSourceLabels = englishSourceLabels;
|
|
97
|
+
exports.useEditorSource = useEditorSource;
|