quoin-editor 1.0.2 → 1.1.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/CHANGELOG.md +32 -0
- package/dist/ai.cjs +169 -249
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +38 -121
- package/dist/ai.js.map +1 -1
- package/dist/catalogue.cjs +29 -43
- package/dist/catalogue.cjs.map +1 -1
- package/dist/catalogue.js +21 -37
- package/dist/catalogue.js.map +1 -1
- package/dist/{chunk-DUE3HCZD.js → chunk-2EQ6FKSK.js} +19 -28
- package/dist/chunk-2EQ6FKSK.js.map +1 -0
- package/dist/{chunk-RJRX34BZ.js → chunk-3BXUGX5F.js} +4 -18
- package/dist/chunk-3BXUGX5F.js.map +1 -0
- package/dist/chunk-3QRVAI53.cjs +27 -0
- package/dist/chunk-3QRVAI53.cjs.map +1 -0
- package/dist/{chunk-U3LOLYAU.js → chunk-7FAVFJAS.js} +4 -10
- package/dist/chunk-7FAVFJAS.js.map +1 -0
- package/dist/{chunk-FDRUAL3Z.cjs → chunk-7NAONESM.cjs} +90 -153
- package/dist/chunk-7NAONESM.cjs.map +1 -0
- package/dist/{chunk-6V6GGBDK.cjs → chunk-7SVKLWDT.cjs} +24 -31
- package/dist/chunk-7SVKLWDT.cjs.map +1 -0
- package/dist/{chunk-CW3AFJBR.cjs → chunk-7XQGOCUG.cjs} +1332 -1772
- package/dist/chunk-7XQGOCUG.cjs.map +1 -0
- package/dist/{chunk-EH5KXQXY.cjs → chunk-A6PGQVTR.cjs} +36 -20
- package/dist/chunk-A6PGQVTR.cjs.map +1 -0
- package/dist/{chunk-4SLJNZSM.cjs → chunk-AIS37SL2.cjs} +201 -198
- package/dist/chunk-AIS37SL2.cjs.map +1 -0
- package/dist/{chunk-IQBMAE3F.js → chunk-CKHKCPGL.js} +34 -92
- package/dist/chunk-CKHKCPGL.js.map +1 -0
- package/dist/{chunk-T43RZTUT.js → chunk-DYWU4SQ2.js} +723 -1246
- package/dist/chunk-DYWU4SQ2.js.map +1 -0
- package/dist/chunk-EFRQMYZ6.cjs +33 -0
- package/dist/chunk-EFRQMYZ6.cjs.map +1 -0
- package/dist/{chunk-O4Z2WMFF.js → chunk-HDJ653LM.js} +25 -18
- package/dist/chunk-HDJ653LM.js.map +1 -0
- package/dist/chunk-HQ43EIYO.cjs +94 -0
- package/dist/chunk-HQ43EIYO.cjs.map +1 -0
- package/dist/{chunk-6NULZPVC.js → chunk-HTLWPSMU.js} +8 -61
- package/dist/chunk-HTLWPSMU.js.map +1 -0
- package/dist/{chunk-EPARJI4V.js → chunk-IEP7BPFN.js} +122 -267
- package/dist/chunk-IEP7BPFN.js.map +1 -0
- package/dist/{chunk-P6KYXFZC.cjs → chunk-IGZRZIAF.cjs} +440 -538
- package/dist/chunk-IGZRZIAF.cjs.map +1 -0
- package/dist/chunk-JCEFSTVG.cjs +483 -0
- package/dist/chunk-JCEFSTVG.cjs.map +1 -0
- package/dist/chunk-KXRGY5LK.cjs +612 -0
- package/dist/chunk-KXRGY5LK.cjs.map +1 -0
- package/dist/{chunk-JHQUHFLX.js → chunk-KZ6ZFCGO.js} +38 -120
- package/dist/chunk-KZ6ZFCGO.js.map +1 -0
- package/dist/{chunk-ADSJ42DO.js → chunk-L2QA2UTY.js} +17 -69
- package/dist/chunk-L2QA2UTY.js.map +1 -0
- package/dist/{chunk-OBMBSU2S.js → chunk-L4D23LM2.js} +5 -184
- package/dist/chunk-L4D23LM2.js.map +1 -0
- package/dist/{chunk-4XFXB37X.js → chunk-L6OW2FL3.js} +7 -90
- package/dist/chunk-L6OW2FL3.js.map +1 -0
- package/dist/chunk-LE5XMIFJ.cjs +4 -3
- package/dist/chunk-LE5XMIFJ.cjs.map +1 -1
- package/dist/chunk-MQUCCSWG.js +2 -3
- package/dist/chunk-MQUCCSWG.js.map +1 -1
- package/dist/{chunk-C23RQVRK.js → chunk-MUIPM26J.js} +66 -216
- package/dist/chunk-MUIPM26J.js.map +1 -0
- package/dist/{chunk-AUOEM3SF.cjs → chunk-OKWER2RV.cjs} +102 -155
- package/dist/chunk-OKWER2RV.cjs.map +1 -0
- package/dist/{chunk-TLGX43P6.cjs → chunk-OM7E43ZN.cjs} +89 -86
- package/dist/chunk-OM7E43ZN.cjs.map +1 -0
- package/dist/{chunk-NEZJ7ZP5.js → chunk-QSXPKZ2F.js} +4 -8
- package/dist/chunk-QSXPKZ2F.js.map +1 -0
- package/dist/{chunk-VCLL5C7J.js → chunk-RFLFRIPV.js} +14 -57
- package/dist/chunk-RFLFRIPV.js.map +1 -0
- package/dist/chunk-RIIXJWBR.cjs +24 -0
- package/dist/chunk-RIIXJWBR.cjs.map +1 -0
- package/dist/{chunk-VRS6WCEK.js → chunk-SFMORPWB.js} +60 -167
- package/dist/chunk-SFMORPWB.js.map +1 -0
- package/dist/{chunk-YBMUEEM5.js → chunk-TYZSB7JT.js} +4 -8
- package/dist/chunk-TYZSB7JT.js.map +1 -0
- package/dist/{chunk-BQANU5BH.cjs → chunk-U5BSCAMP.cjs} +34 -44
- package/dist/chunk-U5BSCAMP.cjs.map +1 -0
- package/dist/{chunk-OSHZQR3W.js → chunk-UEVR4B5S.js} +13 -45
- package/dist/chunk-UEVR4B5S.js.map +1 -0
- package/dist/{chunk-N4FGA3H4.js → chunk-VBJY2CSK.js} +38 -105
- package/dist/chunk-VBJY2CSK.js.map +1 -0
- package/dist/{chunk-ZKVOS57Q.cjs → chunk-VFSVN5IQ.cjs} +495 -551
- package/dist/chunk-VFSVN5IQ.cjs.map +1 -0
- package/dist/{chunk-X4HDKFW5.cjs → chunk-VNRI5DAL.cjs} +56 -105
- package/dist/chunk-VNRI5DAL.cjs.map +1 -0
- package/dist/chunk-W7B4WQ3L.cjs +200 -0
- package/dist/chunk-W7B4WQ3L.cjs.map +1 -0
- package/dist/{chunk-623AOJM2.js → chunk-WAGBELKA.js} +7 -25
- package/dist/chunk-WAGBELKA.js.map +1 -0
- package/dist/{chunk-WEYDDIBQ.cjs → chunk-WH56EW3H.cjs} +36 -64
- package/dist/chunk-WH56EW3H.cjs.map +1 -0
- package/dist/{chunk-5MAYUGTE.cjs → chunk-XAS7LANM.cjs} +233 -363
- package/dist/chunk-XAS7LANM.cjs.map +1 -0
- package/dist/comments.cjs +210 -290
- package/dist/comments.cjs.map +1 -1
- package/dist/comments.js +82 -186
- package/dist/comments.js.map +1 -1
- package/dist/diff.cjs +48 -65
- package/dist/diff.cjs.map +1 -1
- package/dist/diff.d.cts +2 -2
- package/dist/diff.d.ts +2 -2
- package/dist/diff.js +8 -32
- package/dist/diff.js.map +1 -1
- package/dist/docx.cjs +50 -63
- package/dist/docx.cjs.map +1 -1
- package/dist/docx.js +7 -22
- package/dist/docx.js.map +1 -1
- package/dist/embed.cjs +19 -12
- package/dist/embed.cjs.map +1 -1
- package/dist/embed.js +10 -16
- package/dist/embed.js.map +1 -1
- package/dist/emoji-data.cjs +7 -5
- package/dist/emoji-data.cjs.map +1 -1
- package/dist/emoji-data.js +3 -5
- package/dist/emoji-data.js.map +1 -1
- package/dist/emoji.cjs +26 -17
- package/dist/emoji.cjs.map +1 -1
- package/dist/emoji.js +9 -17
- package/dist/emoji.js.map +1 -1
- package/dist/engine.cjs +229 -118
- package/dist/engine.cjs.map +1 -1
- package/dist/engine.js +4 -118
- package/dist/engine.js.map +1 -1
- package/dist/find.cjs +30 -19
- package/dist/find.cjs.map +1 -1
- package/dist/find.js +9 -19
- package/dist/find.js.map +1 -1
- package/dist/headless.cjs +291 -151
- package/dist/headless.cjs.map +1 -1
- package/dist/headless.d.cts +5 -1
- package/dist/headless.d.ts +5 -1
- package/dist/headless.js +6 -151
- package/dist/headless.js.map +1 -1
- package/dist/index.cjs +349 -183
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +17 -4
- package/dist/index.d.ts +17 -4
- package/dist/index.js +8 -183
- package/dist/index.js.map +1 -1
- package/dist/math.cjs +20 -13
- package/dist/math.cjs.map +1 -1
- package/dist/math.js +11 -17
- package/dist/math.js.map +1 -1
- package/dist/mention.cjs +20 -13
- package/dist/mention.cjs.map +1 -1
- package/dist/mention.js +11 -17
- package/dist/mention.js.map +1 -1
- package/dist/presence.cjs +99 -132
- package/dist/presence.cjs.map +1 -1
- package/dist/presence.js +22 -78
- package/dist/presence.js.map +1 -1
- package/dist/{registry-CWBOSAHm.d.ts → registry-CXegaw5k.d.cts} +25 -2
- package/dist/{registry-CWBOSAHm.d.cts → registry-CXegaw5k.d.ts} +25 -2
- package/dist/stats.cjs +27 -18
- package/dist/stats.cjs.map +1 -1
- package/dist/stats.js +10 -18
- package/dist/stats.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/table.cjs +90 -49
- package/dist/table.cjs.map +1 -1
- package/dist/table.js +9 -49
- package/dist/table.js.map +1 -1
- package/dist/toc.cjs +26 -17
- package/dist/toc.cjs.map +1 -1
- package/dist/toc.js +9 -17
- package/dist/toc.js.map +1 -1
- package/dist/view.cjs +13 -16
- package/dist/view.cjs.map +1 -1
- package/dist/view.d.cts +2 -2
- package/dist/view.d.ts +2 -2
- package/dist/view.js +7 -16
- package/dist/view.js.map +1 -1
- package/dist/yjs.cjs +186 -228
- package/dist/yjs.cjs.map +1 -1
- package/dist/yjs.js +12 -80
- package/dist/yjs.js.map +1 -1
- package/package.json +2 -1
- package/dist/chunk-4SLJNZSM.cjs.map +0 -1
- package/dist/chunk-4XFXB37X.js.map +0 -1
- package/dist/chunk-5MAYUGTE.cjs.map +0 -1
- package/dist/chunk-623AOJM2.js.map +0 -1
- package/dist/chunk-6NULZPVC.js.map +0 -1
- package/dist/chunk-6V6GGBDK.cjs.map +0 -1
- package/dist/chunk-73653CJ4.cjs +0 -34
- package/dist/chunk-73653CJ4.cjs.map +0 -1
- package/dist/chunk-ADSJ42DO.js.map +0 -1
- package/dist/chunk-AUOEM3SF.cjs.map +0 -1
- package/dist/chunk-BQANU5BH.cjs.map +0 -1
- package/dist/chunk-C23RQVRK.js.map +0 -1
- package/dist/chunk-CW3AFJBR.cjs.map +0 -1
- package/dist/chunk-DUE3HCZD.js.map +0 -1
- package/dist/chunk-EH5KXQXY.cjs.map +0 -1
- package/dist/chunk-EPARJI4V.js.map +0 -1
- package/dist/chunk-FDRUAL3Z.cjs.map +0 -1
- package/dist/chunk-IQBMAE3F.js.map +0 -1
- package/dist/chunk-JHQUHFLX.js.map +0 -1
- package/dist/chunk-KUYZMSMF.cjs +0 -100
- package/dist/chunk-KUYZMSMF.cjs.map +0 -1
- package/dist/chunk-LLTEGXWZ.cjs +0 -562
- package/dist/chunk-LLTEGXWZ.cjs.map +0 -1
- package/dist/chunk-N4FGA3H4.js.map +0 -1
- package/dist/chunk-NEZJ7ZP5.js.map +0 -1
- package/dist/chunk-O4Z2WMFF.js.map +0 -1
- package/dist/chunk-OBMBSU2S.js.map +0 -1
- package/dist/chunk-OSHZQR3W.js.map +0 -1
- package/dist/chunk-P6KYXFZC.cjs.map +0 -1
- package/dist/chunk-R2BLBV43.cjs +0 -239
- package/dist/chunk-R2BLBV43.cjs.map +0 -1
- package/dist/chunk-RJRX34BZ.js.map +0 -1
- package/dist/chunk-T43RZTUT.js.map +0 -1
- package/dist/chunk-TLGX43P6.cjs.map +0 -1
- package/dist/chunk-U3LOLYAU.js.map +0 -1
- package/dist/chunk-UEKXVCKC.cjs +0 -716
- package/dist/chunk-UEKXVCKC.cjs.map +0 -1
- package/dist/chunk-VCLL5C7J.js.map +0 -1
- package/dist/chunk-VRS6WCEK.js.map +0 -1
- package/dist/chunk-WEYDDIBQ.cjs.map +0 -1
- package/dist/chunk-X4HDKFW5.cjs.map +0 -1
- package/dist/chunk-X4P4TQXH.cjs +0 -30
- package/dist/chunk-X4P4TQXH.cjs.map +0 -1
- package/dist/chunk-XA3UEJIW.cjs +0 -25
- package/dist/chunk-XA3UEJIW.cjs.map +0 -1
- package/dist/chunk-YBMUEEM5.js.map +0 -1
- package/dist/chunk-ZKVOS57Q.cjs.map +0 -1
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk3QRVAI53_cjs = require('./chunk-3QRVAI53.cjs');
|
|
4
|
+
var chunkU5BSCAMP_cjs = require('./chunk-U5BSCAMP.cjs');
|
|
5
|
+
var chunk7XQGOCUG_cjs = require('./chunk-7XQGOCUG.cjs');
|
|
6
|
+
var chunkIGZRZIAF_cjs = require('./chunk-IGZRZIAF.cjs');
|
|
7
|
+
var chunkA6PGQVTR_cjs = require('./chunk-A6PGQVTR.cjs');
|
|
8
|
+
var chunkVFSVN5IQ_cjs = require('./chunk-VFSVN5IQ.cjs');
|
|
9
|
+
var chunkAIS37SL2_cjs = require('./chunk-AIS37SL2.cjs');
|
|
10
|
+
var react = require('react');
|
|
11
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
12
|
+
var lucideReact = require('lucide-react');
|
|
13
|
+
|
|
14
|
+
// src/extensions/math/rendered-math.ts
|
|
15
|
+
function attempt(renderMath, latex, displayMode) {
|
|
16
|
+
try {
|
|
17
|
+
return renderMath(latex, { displayMode });
|
|
18
|
+
} catch {
|
|
19
|
+
return void 0;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function renderedMath(renderMath, latex, displayMode) {
|
|
23
|
+
if (renderMath === void 0) return null;
|
|
24
|
+
const html = attempt(renderMath, latex, displayMode);
|
|
25
|
+
if (typeof html === "string" && html.trim() !== "") return html;
|
|
26
|
+
chunkA6PGQVTR_cjs.devWarn("renderMath threw or returned no HTML, so the equation shows its LaTeX source instead.");
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// src/extensions/math/InlineMath.ts
|
|
31
|
+
function inlineMathRenderer({ labels, renderMath }) {
|
|
32
|
+
return (node, doc) => {
|
|
33
|
+
const element = doc.createElement("span");
|
|
34
|
+
const latex = node.attrs.latex ?? "";
|
|
35
|
+
const html = latex === "" ? null : renderedMath(renderMath, latex, false);
|
|
36
|
+
element.className = "quoin-math-inline";
|
|
37
|
+
if (html !== null) element.innerHTML = html;
|
|
38
|
+
else {
|
|
39
|
+
element.classList.add(latex === "" ? "quoin-math-empty" : "quoin-math-source");
|
|
40
|
+
element.textContent = latex === "" ? labels.emptyEquation : latex;
|
|
41
|
+
}
|
|
42
|
+
return element;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
var atomTarget = ({ block, region, offset, node }) => ({
|
|
46
|
+
kind: "atom",
|
|
47
|
+
block,
|
|
48
|
+
region,
|
|
49
|
+
offset,
|
|
50
|
+
latex: node.attrs.latex ?? ""
|
|
51
|
+
});
|
|
52
|
+
var stores = /* @__PURE__ */ new WeakMap();
|
|
53
|
+
function storeOf(controller) {
|
|
54
|
+
let store = stores.get(controller);
|
|
55
|
+
if (store === void 0) {
|
|
56
|
+
store = { target: null, listeners: /* @__PURE__ */ new Set() };
|
|
57
|
+
stores.set(controller, store);
|
|
58
|
+
}
|
|
59
|
+
return store;
|
|
60
|
+
}
|
|
61
|
+
var sameTarget = (a, b) => JSON.stringify(a) === JSON.stringify(b);
|
|
62
|
+
function openMath(controller, target) {
|
|
63
|
+
const store = storeOf(controller);
|
|
64
|
+
if (sameTarget(store.target, target)) return;
|
|
65
|
+
store.target = target;
|
|
66
|
+
for (const listener of [...store.listeners]) listener();
|
|
67
|
+
}
|
|
68
|
+
function useMathTarget(controller) {
|
|
69
|
+
const subscribe = react.useCallback(
|
|
70
|
+
(notify) => {
|
|
71
|
+
const { listeners } = storeOf(controller);
|
|
72
|
+
listeners.add(notify);
|
|
73
|
+
return () => void listeners.delete(notify);
|
|
74
|
+
},
|
|
75
|
+
[controller]
|
|
76
|
+
);
|
|
77
|
+
const read = react.useCallback(() => storeOf(controller).target, [controller]);
|
|
78
|
+
return react.useSyncExternalStore(subscribe, read, read);
|
|
79
|
+
}
|
|
80
|
+
function MathOutput({ feature, latex, displayMode }) {
|
|
81
|
+
const { labels, renderMath } = feature;
|
|
82
|
+
const html = react.useMemo(
|
|
83
|
+
() => latex === "" ? null : renderedMath(renderMath, latex, displayMode),
|
|
84
|
+
[renderMath, latex, displayMode]
|
|
85
|
+
);
|
|
86
|
+
if (latex === "") return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "quoin-math-empty", children: labels.emptyEquation });
|
|
87
|
+
if (html === null) return /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "quoin-math-source", children: latex });
|
|
88
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "quoin-math-rendered", dangerouslySetInnerHTML: { __html: html } });
|
|
89
|
+
}
|
|
90
|
+
function MathBlock({ block, controller, feature }) {
|
|
91
|
+
const readOnly = chunkIGZRZIAF_cjs.useReadOnly(controller);
|
|
92
|
+
const root = react.useRef(null);
|
|
93
|
+
const blockId = block.id;
|
|
94
|
+
const latex = chunkAIS37SL2_cjs.str(block.attrs.latex);
|
|
95
|
+
const keys = react.useMemo(
|
|
96
|
+
() => ({ enter: () => openMath(controller, { kind: "block", block: blockId, latex }) }),
|
|
97
|
+
[controller, blockId, latex]
|
|
98
|
+
);
|
|
99
|
+
chunk7XQGOCUG_cjs.useNodeKeys(controller, blockId, !readOnly, true, root, keys);
|
|
100
|
+
const open = () => {
|
|
101
|
+
chunk7XQGOCUG_cjs.selectNode(controller, blockId);
|
|
102
|
+
keys.enter();
|
|
103
|
+
};
|
|
104
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
105
|
+
"div",
|
|
106
|
+
{
|
|
107
|
+
ref: root,
|
|
108
|
+
role: "group",
|
|
109
|
+
"aria-label": feature.labels.equation,
|
|
110
|
+
contentEditable: false,
|
|
111
|
+
className: "quoin-math",
|
|
112
|
+
"data-editable": readOnly ? void 0 : "",
|
|
113
|
+
onClick: readOnly ? void 0 : open,
|
|
114
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(MathOutput, { feature, latex, displayMode: true })
|
|
115
|
+
}
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// src/extensions/math/math-feature.ts
|
|
120
|
+
var MATH_ATOMS = ["math"];
|
|
121
|
+
var withMod = (event, isMac) => isMac ? event.metaKey && !event.ctrlKey : event.ctrlKey && !event.metaKey;
|
|
122
|
+
function MathEditorPopover(props) {
|
|
123
|
+
const { controller, feature, anchor, side, latex, displayMode, onStore, onClose, onReturn } = props;
|
|
124
|
+
const { labels } = feature;
|
|
125
|
+
const [draft, setDraft] = react.useState(latex);
|
|
126
|
+
const fieldId = react.useId();
|
|
127
|
+
const closed = react.useRef(false);
|
|
128
|
+
const field = react.useRef(null);
|
|
129
|
+
const saveButton = react.useRef(null);
|
|
130
|
+
const finish = (store, refocus = false) => {
|
|
131
|
+
if (closed.current) return false;
|
|
132
|
+
closed.current = true;
|
|
133
|
+
if (store && draft !== latex) onStore(draft, refocus);
|
|
134
|
+
return true;
|
|
135
|
+
};
|
|
136
|
+
const latestFinish = react.useRef(finish);
|
|
137
|
+
latestFinish.current = finish;
|
|
138
|
+
react.useEffect(() => {
|
|
139
|
+
closed.current = false;
|
|
140
|
+
return () => void latestFinish.current(true);
|
|
141
|
+
}, []);
|
|
142
|
+
const close = (store, refocus = true) => {
|
|
143
|
+
if (!refocus) controller.readSelectionFromDom();
|
|
144
|
+
if (!finish(store, refocus)) return;
|
|
145
|
+
onClose();
|
|
146
|
+
if (refocus) onReturn();
|
|
147
|
+
};
|
|
148
|
+
const content = react.useRef(null);
|
|
149
|
+
const ownerDocument = react.useCallback(() => controller.root?.ownerDocument ?? document, [controller]);
|
|
150
|
+
chunk7XQGOCUG_cjs.useOutsidePress(content, ownerDocument, () => close(true, false));
|
|
151
|
+
const save = (event) => {
|
|
152
|
+
event.preventDefault();
|
|
153
|
+
close(true);
|
|
154
|
+
};
|
|
155
|
+
const onKeyDown = (event) => {
|
|
156
|
+
if (chunkIGZRZIAF_cjs.isComposingKey(controller, event.nativeEvent) || event.altKey) return;
|
|
157
|
+
const fromField = event.target === field.current;
|
|
158
|
+
if (event.key === "Enter" && fromField && !event.shiftKey) {
|
|
159
|
+
const mod = withMod(event, controller.isMac);
|
|
160
|
+
if (displayMode ? !mod : event.ctrlKey || event.metaKey) return;
|
|
161
|
+
event.preventDefault();
|
|
162
|
+
close(true);
|
|
163
|
+
} else if (event.key === "Tab" && !event.ctrlKey && !event.metaKey) {
|
|
164
|
+
event.preventDefault();
|
|
165
|
+
event.stopPropagation();
|
|
166
|
+
if (event.shiftKey === fromField) close(true);
|
|
167
|
+
else (fromField ? saveButton : field).current?.focus();
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
171
|
+
chunk7XQGOCUG_cjs.Popover,
|
|
172
|
+
{
|
|
173
|
+
open: true,
|
|
174
|
+
modal: false,
|
|
175
|
+
onOpenChange: (open) => {
|
|
176
|
+
if (!open) close(true, false);
|
|
177
|
+
},
|
|
178
|
+
children: [
|
|
179
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7XQGOCUG_cjs.PopoverAnchor, { virtualRef: anchor }),
|
|
180
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
181
|
+
chunk7XQGOCUG_cjs.PopoverContent,
|
|
182
|
+
{
|
|
183
|
+
ref: content,
|
|
184
|
+
"aria-label": labels.editEquation,
|
|
185
|
+
side,
|
|
186
|
+
align: "start",
|
|
187
|
+
className: "w-96 max-w-[calc(100vw-2rem)] p-3",
|
|
188
|
+
onOpenAutoFocus: (event) => {
|
|
189
|
+
event.preventDefault();
|
|
190
|
+
const end = field.current?.value.length ?? 0;
|
|
191
|
+
field.current?.focus();
|
|
192
|
+
field.current?.setSelectionRange(end, end);
|
|
193
|
+
},
|
|
194
|
+
onCloseAutoFocus: chunk7XQGOCUG_cjs.preventDefault,
|
|
195
|
+
onEscapeKeyDown: (event) => {
|
|
196
|
+
event.preventDefault();
|
|
197
|
+
if (!chunkIGZRZIAF_cjs.isComposingKey(controller, event)) close(false);
|
|
198
|
+
},
|
|
199
|
+
...chunk7XQGOCUG_cjs.bubblePart(controller),
|
|
200
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("form", { noValidate: true, className: "quoin-math-editor", onSubmit: save, onKeyDown, children: [
|
|
201
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: fieldId, className: "text-sm font-medium", children: labels.latex }),
|
|
202
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
203
|
+
"textarea",
|
|
204
|
+
{
|
|
205
|
+
ref: field,
|
|
206
|
+
id: fieldId,
|
|
207
|
+
dir: "ltr",
|
|
208
|
+
rows: displayMode ? 4 : 2,
|
|
209
|
+
spellCheck: false,
|
|
210
|
+
autoCapitalize: "off",
|
|
211
|
+
autoComplete: "off",
|
|
212
|
+
autoCorrect: "off",
|
|
213
|
+
className: "quoin-math-field",
|
|
214
|
+
value: draft,
|
|
215
|
+
onChange: (event) => setDraft(event.target.value)
|
|
216
|
+
}
|
|
217
|
+
),
|
|
218
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { role: "group", "aria-label": labels.preview, className: "quoin-math-preview", children: /* @__PURE__ */ jsxRuntime.jsx(MathOutput, { feature, latex: draft, displayMode }) }),
|
|
219
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk7XQGOCUG_cjs.Button, { ref: saveButton, type: "submit", size: "sm", children: labels.save })
|
|
220
|
+
] })
|
|
221
|
+
}
|
|
222
|
+
)
|
|
223
|
+
]
|
|
224
|
+
}
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// src/extensions/math/store-latex.ts
|
|
229
|
+
function write(controller, tr, refocus) {
|
|
230
|
+
if (controller.readOnly || controller.root === null) return;
|
|
231
|
+
if (refocus) controller.dispatch(tr);
|
|
232
|
+
else controller.editor.dispatch(tr);
|
|
233
|
+
}
|
|
234
|
+
function targetAtom(state, target) {
|
|
235
|
+
const node = chunkU5BSCAMP_cjs.atomAt(state, target, MATH_ATOMS);
|
|
236
|
+
return node !== null && (node.attrs.latex ?? "") === target.latex ? node : null;
|
|
237
|
+
}
|
|
238
|
+
function targetBlockThere(state, target) {
|
|
239
|
+
const block = chunkAIS37SL2_cjs.blockById(state.doc, target.block);
|
|
240
|
+
return block?.type === "MATH" && chunkAIS37SL2_cjs.str(block.attrs.latex) === target.latex;
|
|
241
|
+
}
|
|
242
|
+
function targetLineThere(state, target) {
|
|
243
|
+
const inline = chunkAIS37SL2_cjs.blockById(state.doc, target.block)?.regions[target.region];
|
|
244
|
+
return inline !== void 0 && chunkAIS37SL2_cjs.inlineText(inline) === target.text;
|
|
245
|
+
}
|
|
246
|
+
function storeBlockLatex(controller, target, latex, refocus) {
|
|
247
|
+
const { state } = controller.editor;
|
|
248
|
+
if (!targetBlockThere(state, target)) return;
|
|
249
|
+
write(controller, new chunkVFSVN5IQ_cjs.Transaction(state).step(chunkVFSVN5IQ_cjs.setAttrsStep(target.block, { latex })), refocus);
|
|
250
|
+
}
|
|
251
|
+
function storeAtomLatex(controller, target, latex, refocus) {
|
|
252
|
+
const { state } = controller.editor;
|
|
253
|
+
const node = targetAtom(state, target);
|
|
254
|
+
if (node === null) return;
|
|
255
|
+
const { block, region, offset } = target;
|
|
256
|
+
const formula = latex === "" ? [] : [chunkAIS37SL2_cjs.atom("math", { ...node.attrs, latex }, node.marks)];
|
|
257
|
+
const tr = new chunkVFSVN5IQ_cjs.Transaction(state).step(chunkVFSVN5IQ_cjs.replaceInlineStep(block, region, offset, offset + 1, formula));
|
|
258
|
+
write(controller, tr, refocus);
|
|
259
|
+
}
|
|
260
|
+
function insertFormula(controller, target, latex, refocus) {
|
|
261
|
+
const { state } = controller.editor;
|
|
262
|
+
if (latex === "" || !targetLineThere(state, target)) return;
|
|
263
|
+
const { block, region, offset } = target;
|
|
264
|
+
const formula = chunkAIS37SL2_cjs.atom("math", { latex }, chunkVFSVN5IQ_cjs.caretMarks(state.doc, state.schema, state.storedMarks, target));
|
|
265
|
+
write(controller, new chunkVFSVN5IQ_cjs.Transaction(state).step(chunkVFSVN5IQ_cjs.replaceInlineStep(block, region, offset, offset, [formula])), refocus);
|
|
266
|
+
}
|
|
267
|
+
function useMathAtomOpening(controller, editable) {
|
|
268
|
+
react.useEffect(() => {
|
|
269
|
+
const root = controller.root;
|
|
270
|
+
if (!editable || root === null) return;
|
|
271
|
+
const intercept = (event) => {
|
|
272
|
+
if (!chunkU5BSCAMP_cjs.plainEnter(event) || chunkIGZRZIAF_cjs.isComposingKey(controller, event)) return false;
|
|
273
|
+
const place = chunkU5BSCAMP_cjs.selectedAtom(controller.editor.state, MATH_ATOMS);
|
|
274
|
+
if (place === null) return false;
|
|
275
|
+
event.preventDefault();
|
|
276
|
+
openMath(controller, atomTarget(place));
|
|
277
|
+
return true;
|
|
278
|
+
};
|
|
279
|
+
const onClick = (event) => {
|
|
280
|
+
const place = event.shiftKey ? null : chunkU5BSCAMP_cjs.atomAtTarget(controller, event.target, MATH_ATOMS);
|
|
281
|
+
if (place !== null) openMath(controller, atomTarget(place));
|
|
282
|
+
};
|
|
283
|
+
controller.keyInterceptors.add(intercept);
|
|
284
|
+
root.addEventListener("click", onClick);
|
|
285
|
+
return () => {
|
|
286
|
+
controller.keyInterceptors.delete(intercept);
|
|
287
|
+
root.removeEventListener("click", onClick);
|
|
288
|
+
};
|
|
289
|
+
}, [controller, editable]);
|
|
290
|
+
}
|
|
291
|
+
function isThere(state, target) {
|
|
292
|
+
if (target.kind === "block") return targetBlockThere(state, target);
|
|
293
|
+
return target.kind === "atom" ? targetAtom(state, target) !== null : targetLineThere(state, target);
|
|
294
|
+
}
|
|
295
|
+
function MathEditorOverlay({ controller, feature }) {
|
|
296
|
+
const readOnly = chunkIGZRZIAF_cjs.useReadOnly(controller);
|
|
297
|
+
const target = useMathTarget(controller);
|
|
298
|
+
const there = chunkIGZRZIAF_cjs.useEditorState(
|
|
299
|
+
controller,
|
|
300
|
+
react.useCallback((state) => target !== null && isThere(state, target), [target])
|
|
301
|
+
);
|
|
302
|
+
useMathAtomOpening(controller, !readOnly);
|
|
303
|
+
chunkU5BSCAMP_cjs.useSelectionOutOfAtoms(controller, MATH_ATOMS, !readOnly);
|
|
304
|
+
const shown = target !== null && there && !readOnly;
|
|
305
|
+
react.useEffect(() => {
|
|
306
|
+
if (target !== null && !shown) openMath(controller, null);
|
|
307
|
+
}, [controller, target, shown]);
|
|
308
|
+
if (!shown) return null;
|
|
309
|
+
return target.kind === "block" ? /* @__PURE__ */ jsxRuntime.jsx(BlockMathEditor, { controller, feature, target }, JSON.stringify(target)) : /* @__PURE__ */ jsxRuntime.jsx(InlineMathEditor, { controller, feature, target }, JSON.stringify(target));
|
|
310
|
+
}
|
|
311
|
+
function BlockMathEditor({ controller, feature, target }) {
|
|
312
|
+
const anchor = chunk7XQGOCUG_cjs.usePartAnchor(controller, target.block, ".quoin-math");
|
|
313
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
314
|
+
MathEditorPopover,
|
|
315
|
+
{
|
|
316
|
+
controller,
|
|
317
|
+
feature,
|
|
318
|
+
anchor,
|
|
319
|
+
side: "bottom",
|
|
320
|
+
latex: target.latex,
|
|
321
|
+
displayMode: true,
|
|
322
|
+
onStore: (next, refocus) => storeBlockLatex(controller, target, next, refocus),
|
|
323
|
+
onClose: () => openMath(controller, null),
|
|
324
|
+
onReturn: () => chunk7XQGOCUG_cjs.focusNode(controller, target.block)
|
|
325
|
+
}
|
|
326
|
+
);
|
|
327
|
+
}
|
|
328
|
+
function InlineMathEditor({ controller, feature, target }) {
|
|
329
|
+
const { block, region, offset } = target;
|
|
330
|
+
const editing = target.kind === "atom";
|
|
331
|
+
const range = react.useMemo(
|
|
332
|
+
() => ({ block, region, from: offset, to: editing ? offset + 1 : offset }),
|
|
333
|
+
[block, region, offset, editing]
|
|
334
|
+
);
|
|
335
|
+
const { anchor, side } = chunk7XQGOCUG_cjs.useRangeAnchor(controller, range);
|
|
336
|
+
const kept = react.useRef(editing);
|
|
337
|
+
const onStore = (latex, refocus) => {
|
|
338
|
+
kept.current = latex !== "";
|
|
339
|
+
if (target.kind === "atom") storeAtomLatex(controller, target, latex, refocus);
|
|
340
|
+
else insertFormula(controller, target, latex, refocus);
|
|
341
|
+
};
|
|
342
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
343
|
+
MathEditorPopover,
|
|
344
|
+
{
|
|
345
|
+
controller,
|
|
346
|
+
feature,
|
|
347
|
+
anchor,
|
|
348
|
+
side,
|
|
349
|
+
latex: editing ? target.latex : "",
|
|
350
|
+
displayMode: false,
|
|
351
|
+
onStore,
|
|
352
|
+
onClose: () => openMath(controller, null),
|
|
353
|
+
onReturn: () => controller.focus({ block, region, offset: kept.current ? offset + 1 : offset })
|
|
354
|
+
}
|
|
355
|
+
);
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
// src/extensions/math/math-labels.ts
|
|
359
|
+
var englishMathLabels = {
|
|
360
|
+
equation: "Equation",
|
|
361
|
+
emptyEquation: "Empty equation",
|
|
362
|
+
editEquation: "Edit equation",
|
|
363
|
+
latex: "LaTeX",
|
|
364
|
+
preview: "Preview",
|
|
365
|
+
save: "Save",
|
|
366
|
+
blockEquation: "Block equation",
|
|
367
|
+
blockEquationDescription: "A formula on a line of its own",
|
|
368
|
+
inlineEquation: "Inline equation",
|
|
369
|
+
inlineEquationDescription: "A formula in the line of text"
|
|
370
|
+
};
|
|
371
|
+
function resolveMathLabels(overrides) {
|
|
372
|
+
const given = Object.entries(overrides ?? {}).filter(([, value]) => value !== void 0);
|
|
373
|
+
return given.length === 0 ? englishMathLabels : { ...englishMathLabels, ...Object.fromEntries(given) };
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
// src/extensions/math/math-rules.ts
|
|
377
|
+
var OPAQUE = "`";
|
|
378
|
+
function scannedLine(inline) {
|
|
379
|
+
let src = "";
|
|
380
|
+
const offsets = [];
|
|
381
|
+
const push = (char, offset) => {
|
|
382
|
+
src += char;
|
|
383
|
+
offsets.push(offset);
|
|
384
|
+
};
|
|
385
|
+
let marks = [];
|
|
386
|
+
let start = 0;
|
|
387
|
+
for (const node of inline) {
|
|
388
|
+
if (!chunkAIS37SL2_cjs.sameMarkSet(marks, node.marks)) push(OPAQUE, null);
|
|
389
|
+
marks = node.marks;
|
|
390
|
+
if (node.kind === "atom") push(OPAQUE, null);
|
|
391
|
+
else for (let i = 0; i < node.text.length; i++) push(chunkAIS37SL2_cjs.hasMark(marks, "code") ? OPAQUE : node.text[i], start + i);
|
|
392
|
+
start += node.kind === "atom" ? 1 : node.text.length;
|
|
393
|
+
}
|
|
394
|
+
if (marks.length > 0) push(OPAQUE, null);
|
|
395
|
+
return { src, offsets };
|
|
396
|
+
}
|
|
397
|
+
function mathOpening(src, close) {
|
|
398
|
+
let pos = 0;
|
|
399
|
+
for (; ; ) {
|
|
400
|
+
const at = src.indexOf("$", pos);
|
|
401
|
+
if (at < 0 || at >= close) return -1;
|
|
402
|
+
if (src[at + 1] === "$") {
|
|
403
|
+
pos = chunkAIS37SL2_cjs.dollarRunEnd(src, at);
|
|
404
|
+
continue;
|
|
405
|
+
}
|
|
406
|
+
const end = chunk3QRVAI53_cjs.escaped(src, at) || !chunkAIS37SL2_cjs.opensMath(src, at) ? -1 : chunkAIS37SL2_cjs.findMathClose(src, at + 2);
|
|
407
|
+
if (end === close) return at;
|
|
408
|
+
pos = end < 0 ? at + 1 : end + 1;
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
var inlineMathRule = {
|
|
412
|
+
name: "inline-math",
|
|
413
|
+
match: /\$$/,
|
|
414
|
+
handler(state, _match, range) {
|
|
415
|
+
const { block, region, to } = range;
|
|
416
|
+
const inline = chunkVFSVN5IQ_cjs.regionInline(state, range);
|
|
417
|
+
const { src, offsets } = scannedLine(inline);
|
|
418
|
+
const close = offsets.indexOf(to - 1);
|
|
419
|
+
const open = close < 0 ? -1 : mathOpening(src, close);
|
|
420
|
+
if (open < 0 || offsets.slice(open, close + 1).includes(null)) return null;
|
|
421
|
+
const from = offsets[open];
|
|
422
|
+
const formula = chunkAIS37SL2_cjs.atom("math", { latex: chunkAIS37SL2_cjs.mathLatex(src, open, close) }, chunkAIS37SL2_cjs.sliceInline(inline, from, from + 1)[0].marks);
|
|
423
|
+
return new chunkVFSVN5IQ_cjs.Transaction(state).step(chunkVFSVN5IQ_cjs.replaceInlineStep(block, region, from, to, [formula])).setSelection(chunkVFSVN5IQ_cjs.textSelection({ block, region, offset: from + 1 }));
|
|
424
|
+
}
|
|
425
|
+
};
|
|
426
|
+
var KEYWORDS = ["math", "latex", "formula", "katex"];
|
|
427
|
+
function caretInCode({ doc, selection }) {
|
|
428
|
+
if (selection?.kind !== "text") return false;
|
|
429
|
+
const { block, region, offset } = selection.head;
|
|
430
|
+
const inline = chunkAIS37SL2_cjs.blockById(doc, block)?.regions[region] ?? [];
|
|
431
|
+
return chunkAIS37SL2_cjs.hasMark(chunkAIS37SL2_cjs.marksAt(inline, offset, () => true), "code");
|
|
432
|
+
}
|
|
433
|
+
var mathSlashItems = (labels) => [
|
|
434
|
+
{
|
|
435
|
+
id: "block-equation",
|
|
436
|
+
title: labels.blockEquation,
|
|
437
|
+
description: labels.blockEquationDescription,
|
|
438
|
+
group: "advanced",
|
|
439
|
+
icon: lucideReact.Sigma,
|
|
440
|
+
keywords: [...KEYWORDS, "$$"],
|
|
441
|
+
command: () => chunk7XQGOCUG_cjs.insertBlockToWrite({ type: "MATH", attrs: { latex: "" } }, true)
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
id: "inline-equation",
|
|
445
|
+
title: labels.inlineEquation,
|
|
446
|
+
description: labels.inlineEquationDescription,
|
|
447
|
+
group: "advanced",
|
|
448
|
+
icon: lucideReact.Radical,
|
|
449
|
+
keywords: [...KEYWORDS, "$"],
|
|
450
|
+
available: (state) => !caretInCode(state),
|
|
451
|
+
run({ controller, range }) {
|
|
452
|
+
const inline = chunkAIS37SL2_cjs.blockById(controller.editor.state.doc, range.block)?.regions[range.region] ?? [];
|
|
453
|
+
const { block, region, from } = range;
|
|
454
|
+
openMath(controller, { kind: "insert", block, region, offset: from, text: chunkAIS37SL2_cjs.inlineText(inline) });
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
];
|
|
458
|
+
var ABOVE_CORE_KEYS = 200;
|
|
459
|
+
function mathExtension(options = {}) {
|
|
460
|
+
const feature = { labels: resolveMathLabels(options.labels), renderMath: options.renderMath };
|
|
461
|
+
const MathRenderer = (props) => /* @__PURE__ */ jsxRuntime.jsx(MathBlock, { ...props, feature });
|
|
462
|
+
const EditorOverlay = ({ controller }) => /* @__PURE__ */ jsxRuntime.jsx(MathEditorOverlay, { controller, feature });
|
|
463
|
+
const ui = {
|
|
464
|
+
slashItems: mathSlashItems(feature.labels),
|
|
465
|
+
renderers: { MATH: MathRenderer },
|
|
466
|
+
blockNames: { MATH: feature.labels.equation },
|
|
467
|
+
render: { atoms: { math: inlineMathRenderer(feature) } },
|
|
468
|
+
overlays: [EditorOverlay]
|
|
469
|
+
};
|
|
470
|
+
return chunkVFSVN5IQ_cjs.defineExtension({
|
|
471
|
+
name: "math",
|
|
472
|
+
priority: ABOVE_CORE_KEYS,
|
|
473
|
+
inputRules: [inlineMathRule],
|
|
474
|
+
keymap: chunkU5BSCAMP_cjs.atomKeymap(MATH_ATOMS),
|
|
475
|
+
decorations: chunkU5BSCAMP_cjs.selectedAtomDecorations(MATH_ATOMS),
|
|
476
|
+
ui
|
|
477
|
+
});
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
exports.englishMathLabels = englishMathLabels;
|
|
481
|
+
exports.mathExtension = mathExtension;
|
|
482
|
+
//# sourceMappingURL=chunk-JCEFSTVG.cjs.map
|
|
483
|
+
//# sourceMappingURL=chunk-JCEFSTVG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/extensions/math/rendered-math.ts","../src/extensions/math/InlineMath.ts","../src/extensions/math/math-target.ts","../src/extensions/math/MathOutput.tsx","../src/extensions/math/MathBlock.tsx","../src/extensions/math/math-feature.ts","../src/extensions/math/MathEditorPopover.tsx","../src/extensions/math/store-latex.ts","../src/extensions/math/use-math-atom-opening.ts","../src/extensions/math/MathEditorOverlay.tsx","../src/extensions/math/math-labels.ts","../src/extensions/math/math-rules.ts","../src/extensions/math/math-slash-items.ts","../src/extensions/math/math-extension.tsx"],"names":["devWarn","useCallback","useSyncExternalStore","useMemo","jsx","useReadOnly","useRef","str","useNodeKeys","selectNode","useState","useId","useEffect","useOutsidePress","isComposingKey","jsxs","Popover","PopoverAnchor","PopoverContent","preventDefault","bubblePart","Button","atomAt","blockById","inlineText","Transaction","setAttrsStep","atom","replaceInlineStep","caretMarks","plainEnter","selectedAtom","atomAtTarget","useEditorState","useSelectionOutOfAtoms","usePartAnchor","focusNode","useRangeAnchor","sameMarkSet","hasMark","dollarRunEnd","escaped","opensMath","findMathClose","regionInline","mathLatex","sliceInline","textSelection","marksAt","Sigma","insertBlockToWrite","Radical","defineExtension","atomKeymap","selectedAtomDecorations"],"mappings":"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","file":"chunk-JCEFSTVG.cjs"}
|