quoin-editor 0.4.2 → 1.0.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 +251 -0
- package/MIGRATION.md +233 -0
- package/README.md +78 -716
- package/dist/ai.cjs +1148 -0
- package/dist/ai.cjs.map +1 -0
- package/dist/ai.d.cts +68 -0
- package/dist/ai.d.ts +68 -0
- package/dist/ai.js +1148 -0
- package/dist/ai.js.map +1 -0
- package/dist/catalogue.cjs +59 -0
- package/dist/catalogue.cjs.map +1 -0
- package/dist/catalogue.d.cts +39 -0
- package/dist/catalogue.d.ts +39 -0
- package/dist/catalogue.js +59 -0
- package/dist/catalogue.js.map +1 -0
- package/dist/chunk-26Q4LSIU.js +100 -0
- package/dist/chunk-26Q4LSIU.js.map +1 -0
- package/dist/chunk-56C7GCKO.cjs +1385 -0
- package/dist/chunk-56C7GCKO.cjs.map +1 -0
- package/dist/chunk-5M4QG3ZC.cjs +3303 -0
- package/dist/chunk-5M4QG3ZC.cjs.map +1 -0
- package/dist/chunk-5R3ISX4A.cjs +6643 -0
- package/dist/chunk-5R3ISX4A.cjs.map +1 -0
- package/dist/chunk-62WKUAQY.js +3335 -0
- package/dist/chunk-62WKUAQY.js.map +1 -0
- package/dist/chunk-6LMS5J3Y.js +320 -0
- package/dist/chunk-6LMS5J3Y.js.map +1 -0
- package/dist/chunk-6PKVJZQV.cjs +100 -0
- package/dist/chunk-6PKVJZQV.cjs.map +1 -0
- package/dist/chunk-6YSGUAVW.js +376 -0
- package/dist/chunk-6YSGUAVW.js.map +1 -0
- package/dist/chunk-75C6PX2L.cjs +239 -0
- package/dist/chunk-75C6PX2L.cjs.map +1 -0
- package/dist/chunk-A4IJSJKL.js +598 -0
- package/dist/chunk-A4IJSJKL.js.map +1 -0
- package/dist/chunk-BTBHHBVR.cjs +3335 -0
- package/dist/chunk-BTBHHBVR.cjs.map +1 -0
- package/dist/chunk-CLTHD5GO.cjs +34 -0
- package/dist/chunk-CLTHD5GO.cjs.map +1 -0
- package/dist/chunk-EH5KXQXY.cjs +62 -0
- package/dist/chunk-EH5KXQXY.cjs.map +1 -0
- package/dist/chunk-ESMAW4NK.cjs +184 -0
- package/dist/chunk-ESMAW4NK.cjs.map +1 -0
- package/dist/chunk-EYFCOV3T.cjs +30 -0
- package/dist/chunk-EYFCOV3T.cjs.map +1 -0
- package/dist/chunk-F5V3IEEE.cjs +326 -0
- package/dist/chunk-F5V3IEEE.cjs.map +1 -0
- package/dist/chunk-GPIDU3GN.js +239 -0
- package/dist/chunk-GPIDU3GN.js.map +1 -0
- package/dist/chunk-HOIDJEVI.cjs +4063 -0
- package/dist/chunk-HOIDJEVI.cjs.map +1 -0
- package/dist/chunk-JJ3RASQS.cjs +706 -0
- package/dist/chunk-JJ3RASQS.cjs.map +1 -0
- package/dist/chunk-LE3F7WIP.js +6643 -0
- package/dist/chunk-LE3F7WIP.js.map +1 -0
- package/dist/chunk-LE5XMIFJ.cjs +14 -0
- package/dist/chunk-LE5XMIFJ.cjs.map +1 -0
- package/dist/chunk-LMAEPFTX.js +30 -0
- package/dist/chunk-LMAEPFTX.js.map +1 -0
- package/dist/chunk-LV6EYPJO.js +34 -0
- package/dist/chunk-LV6EYPJO.js.map +1 -0
- package/dist/chunk-MLRAVUFG.cjs +376 -0
- package/dist/chunk-MLRAVUFG.cjs.map +1 -0
- package/dist/chunk-MQUCCSWG.js +14 -0
- package/dist/chunk-MQUCCSWG.js.map +1 -0
- package/dist/chunk-O4Z2WMFF.js +62 -0
- package/dist/chunk-O4Z2WMFF.js.map +1 -0
- package/dist/chunk-OCCKQHCY.js +25 -0
- package/dist/chunk-OCCKQHCY.js.map +1 -0
- package/dist/chunk-PGSS4IOS.js +706 -0
- package/dist/chunk-PGSS4IOS.js.map +1 -0
- package/dist/chunk-PIWRSX7U.js +562 -0
- package/dist/chunk-PIWRSX7U.js.map +1 -0
- package/dist/chunk-PX6LZMH4.cjs +598 -0
- package/dist/chunk-PX6LZMH4.cjs.map +1 -0
- package/dist/chunk-QXG3HWDS.js +184 -0
- package/dist/chunk-QXG3HWDS.js.map +1 -0
- package/dist/chunk-RQW3P3GH.js +504 -0
- package/dist/chunk-RQW3P3GH.js.map +1 -0
- package/dist/chunk-SSIRYUCK.js +3303 -0
- package/dist/chunk-SSIRYUCK.js.map +1 -0
- package/dist/chunk-UBNG5YCG.js +326 -0
- package/dist/chunk-UBNG5YCG.js.map +1 -0
- package/dist/chunk-UCXLRRWY.js +1385 -0
- package/dist/chunk-UCXLRRWY.js.map +1 -0
- package/dist/chunk-UDAVVEFC.cjs +562 -0
- package/dist/chunk-UDAVVEFC.cjs.map +1 -0
- package/dist/chunk-UPSLDTLT.js +4063 -0
- package/dist/chunk-UPSLDTLT.js.map +1 -0
- package/dist/chunk-UWNZG2SD.cjs +25 -0
- package/dist/chunk-UWNZG2SD.cjs.map +1 -0
- package/dist/chunk-V3KLMSRO.cjs +504 -0
- package/dist/chunk-V3KLMSRO.cjs.map +1 -0
- package/dist/chunk-VACTAZWS.cjs +249 -0
- package/dist/chunk-VACTAZWS.cjs.map +1 -0
- package/dist/chunk-WMN6566P.js +249 -0
- package/dist/chunk-WMN6566P.js.map +1 -0
- package/dist/chunk-XX5FTPJR.cjs +320 -0
- package/dist/chunk-XX5FTPJR.cjs.map +1 -0
- package/dist/comments.cjs +1008 -0
- package/dist/comments.cjs.map +1 -0
- package/dist/comments.d.cts +93 -0
- package/dist/comments.d.ts +93 -0
- package/dist/comments.js +1008 -0
- package/dist/comments.js.map +1 -0
- package/dist/diff.cjs +346 -0
- package/dist/diff.cjs.map +1 -0
- package/dist/diff.d.cts +67 -0
- package/dist/diff.d.ts +67 -0
- package/dist/diff.js +346 -0
- package/dist/diff.js.map +1 -0
- package/dist/docx.cjs +874 -0
- package/dist/docx.cjs.map +1 -0
- package/dist/docx.d.cts +33 -0
- package/dist/docx.d.ts +33 -0
- package/dist/docx.js +874 -0
- package/dist/docx.js.map +1 -0
- package/dist/embed-provider-jXwlRmnp.d.cts +19 -0
- package/dist/embed-provider-jXwlRmnp.d.ts +19 -0
- package/dist/embed.cjs +17 -0
- package/dist/embed.cjs.map +1 -0
- package/dist/embed.d.cts +56 -0
- package/dist/embed.d.ts +56 -0
- package/dist/embed.js +17 -0
- package/dist/embed.js.map +1 -0
- package/dist/emoji-data.cjs +1968 -0
- package/dist/emoji-data.cjs.map +1 -0
- package/dist/emoji-data.js +1968 -0
- package/dist/emoji-data.js.map +1 -0
- package/dist/emoji-extension-CmPlRssm.d.ts +46 -0
- package/dist/emoji-extension-zJ6F7hW8.d.cts +46 -0
- package/dist/emoji.cjs +18 -0
- package/dist/emoji.cjs.map +1 -0
- package/dist/emoji.d.cts +31 -0
- package/dist/emoji.d.ts +31 -0
- package/dist/emoji.js +18 -0
- package/dist/emoji.js.map +1 -0
- package/dist/engine.cjs +119 -0
- package/dist/engine.cjs.map +1 -0
- package/dist/engine.d.cts +144 -0
- package/dist/engine.d.ts +144 -0
- package/dist/engine.js +119 -0
- package/dist/engine.js.map +1 -0
- package/dist/find-extension-BcRyE9K4.d.cts +41 -0
- package/dist/find-extension-CmFehyul.d.ts +41 -0
- package/dist/find.cjs +20 -0
- package/dist/find.cjs.map +1 -0
- package/dist/find.d.cts +44 -0
- package/dist/find.d.ts +44 -0
- package/dist/find.js +20 -0
- package/dist/find.js.map +1 -0
- package/dist/headless.cjs +151 -518
- package/dist/headless.cjs.map +1 -1
- package/dist/headless.d.cts +102 -69
- package/dist/headless.d.ts +102 -69
- package/dist/headless.js +149 -467
- package/dist/headless.js.map +1 -1
- package/dist/index-CFPmCee4.d.cts +68 -0
- package/dist/index-DiCGV60d.d.ts +68 -0
- package/dist/index.cjs +183 -2753
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +345 -253
- package/dist/index.d.ts +345 -253
- package/dist/index.js +168 -2696
- package/dist/index.js.map +1 -1
- package/dist/math.cjs +18 -0
- package/dist/math.cjs.map +1 -0
- package/dist/math.d.cts +49 -0
- package/dist/math.d.ts +49 -0
- package/dist/math.js +18 -0
- package/dist/math.js.map +1 -0
- package/dist/mention.cjs +18 -0
- package/dist/mention.cjs.map +1 -0
- package/dist/mention.d.cts +50 -0
- package/dist/mention.d.ts +50 -0
- package/dist/mention.js +18 -0
- package/dist/mention.js.map +1 -0
- package/dist/presence.cjs +562 -0
- package/dist/presence.cjs.map +1 -0
- package/dist/presence.d.cts +30 -0
- package/dist/presence.d.ts +30 -0
- package/dist/presence.js +562 -0
- package/dist/presence.js.map +1 -0
- package/dist/registry-CWBOSAHm.d.cts +121 -0
- package/dist/registry-CWBOSAHm.d.ts +121 -0
- package/dist/stats-extension-DisOEbbI.d.ts +40 -0
- package/dist/stats-extension-Dt1lgP3m.d.cts +40 -0
- package/dist/stats.cjs +19 -0
- package/dist/stats.cjs.map +1 -0
- package/dist/stats.d.cts +19 -0
- package/dist/stats.d.ts +19 -0
- package/dist/stats.js +19 -0
- package/dist/stats.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/table-extension-BTMJnT7J.d.ts +57 -0
- package/dist/table-extension-DxZz3jqp.d.cts +57 -0
- package/dist/table.cjs +50 -0
- package/dist/table.cjs.map +1 -0
- package/dist/table.d.cts +57 -0
- package/dist/table.d.ts +57 -0
- package/dist/table.js +50 -0
- package/dist/table.js.map +1 -0
- package/dist/to-html-C5t7xyaM.d.ts +21 -0
- package/dist/to-html-CNCITCln.d.cts +21 -0
- package/dist/toc-extension-CR9U-l6j.d.ts +25 -0
- package/dist/toc-extension-DGHywOBv.d.cts +25 -0
- package/dist/toc.cjs +18 -0
- package/dist/toc.cjs.map +1 -0
- package/dist/toc.d.cts +24 -0
- package/dist/toc.d.ts +24 -0
- package/dist/toc.js +18 -0
- package/dist/toc.js.map +1 -0
- package/dist/types-C6_QkXzy.d.ts +358 -0
- package/dist/types-CJ7Gq3GX.d.cts +358 -0
- package/dist/types-DULc8wwg.d.cts +120 -0
- package/dist/types-DULc8wwg.d.ts +120 -0
- package/dist/view-controller-BD1KwYfE.d.cts +105 -0
- package/dist/view-controller-y4cb60ue.d.ts +105 -0
- package/dist/view.cjs +23 -0
- package/dist/view.cjs.map +1 -0
- package/dist/view.d.cts +40 -0
- package/dist/view.d.ts +40 -0
- package/dist/view.js +23 -0
- package/dist/view.js.map +1 -0
- package/dist/yjs.cjs +864 -0
- package/dist/yjs.cjs.map +1 -0
- package/dist/yjs.d.cts +22 -0
- package/dist/yjs.d.ts +22 -0
- package/dist/yjs.js +864 -0
- package/dist/yjs.js.map +1 -0
- package/package.json +217 -18
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/extensions/comments/comments-extension.tsx","../src/extensions/comments/comment-anchors.ts","../src/extensions/comments/pending-ranges.ts","../src/extensions/comments/comments-plugin.ts","../src/extensions/comments/comment-create.ts","../src/extensions/comments/comment-open.ts","../src/extensions/comments/comments-labels.ts","../src/extensions/comments/comments-link.ts","../src/extensions/comments/CommentsOverlay.tsx","../src/extensions/comments/CommentMarkers.tsx","../src/extensions/comments/rail-layout.ts","../src/extensions/comments/use-block-aligned.ts","../src/extensions/comments/ThreadCard.tsx","../src/extensions/comments/ThreadView.tsx","../src/extensions/comments/comment-actions.ts","../src/extensions/comments/CommentAvatar.tsx","../src/extensions/comments/CommentItem.tsx","../src/extensions/comments/ReplyBox.tsx","../src/extensions/comments/CommentsRail.tsx","../src/extensions/comments/CommentsSheet.tsx","../src/extensions/comments/rail-entries.ts","../src/extensions/comments/ThreadPopover.tsx","../src/extensions/comments/ThreadChooser.tsx","../src/extensions/comments/use-anchor-clicks.ts","../src/extensions/comments/use-canvas-wide.ts","../src/extensions/comments/use-threads.ts","../src/extensions/comments/comments-decorations.ts","../src/extensions/comments/watch-ended.ts","../src/extensions/comments/comment-threads.ts"],"mappings":"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","names":["inline","anchorText","useEffect","useMemo","useRef","useState","useRef","useEffect","useRef","useState","jsx","jsx","jsxs","useState","jsx","jsxs","useState","jsx","jsxs","useState","useRef","useEffect","jsx","jsxs","anchorText","useRef","jsx","GAP","useRef","jsx","jsxs","useRef","place","useRef","jsx","jsxs","anchorText","jsx","jsxs","useRef","useEffect","useEffect","useState","useState","jsx","jsxs","docOf","useMemo","useRef","useState","useEffect","act","jsx"]}
|
package/dist/diff.cjs
ADDED
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunk6PKVJZQVcjs = require('./chunk-6PKVJZQV.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkEH5KXQXYcjs = require('./chunk-EH5KXQXY.cjs');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
var _chunkXX5FTPJRcjs = require('./chunk-XX5FTPJR.cjs');
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
var _chunkBTBHHBVRcjs = require('./chunk-BTBHHBVR.cjs');
|
|
24
|
+
|
|
25
|
+
// src/diff/QuoinDiff.tsx
|
|
26
|
+
var _react = require('react');
|
|
27
|
+
|
|
28
|
+
// src/diff/table-grid.ts
|
|
29
|
+
var CELL = /^cell:(\d+):(\d+)$/;
|
|
30
|
+
function withEveryCell(block, regions) {
|
|
31
|
+
if (block.type !== "TABLE") return block;
|
|
32
|
+
let rows = Number(block.attrs.rows) || 0;
|
|
33
|
+
let cols = Number(block.attrs.cols) || 0;
|
|
34
|
+
for (const name of regions) {
|
|
35
|
+
const cell = CELL.exec(name);
|
|
36
|
+
if (cell) {
|
|
37
|
+
rows = Math.max(rows, Number(cell[1]) + 1);
|
|
38
|
+
cols = Math.max(cols, Number(cell[2]) + 1);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return { ...block, attrs: { ...block.attrs, rows, cols } };
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// src/diff/hidden-text.ts
|
|
45
|
+
var VISUALLY_HIDDEN = "position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap";
|
|
46
|
+
var hiddenText = (text) => _chunkBTBHHBVRcjs.element.call(void 0, "span", [["class", "quoin-diff-hidden"], ["style", VISUALLY_HIDDEN]], [text]);
|
|
47
|
+
|
|
48
|
+
// src/diff/word-nodes.ts
|
|
49
|
+
var deletedNodes = (nodes, labels) => _chunkBTBHHBVRcjs.element.call(void 0, "del", [], [hiddenText(`${labels.deleted} `), ...nodes, hiddenText(` ${labels.deletedEnd} `)]);
|
|
50
|
+
var insertedNodes = (nodes, labels) => _chunkBTBHHBVRcjs.element.call(void 0, "ins", [], [hiddenText(`${labels.inserted} `), ...nodes, hiddenText(` ${labels.insertedEnd} `)]);
|
|
51
|
+
function wordNodes(changes, env, labels) {
|
|
52
|
+
return changes.flatMap(({ op, inline }) => {
|
|
53
|
+
const nodes = _chunkBTBHHBVRcjs.inlineOf.call(void 0, inline, env);
|
|
54
|
+
if (op === "equal") return nodes;
|
|
55
|
+
return [op === "insert" ? insertedNodes(nodes, labels) : deletedNodes(nodes, labels)];
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// src/diff/changed-node.ts
|
|
60
|
+
var placeholder = (region) => `\uE000${region}\uE000`;
|
|
61
|
+
function filledAttr(attr, fill) {
|
|
62
|
+
const [name, value] = attr;
|
|
63
|
+
return typeof value === "string" && fill.names.has(value) ? [name, fill.names.get(value)] : attr;
|
|
64
|
+
}
|
|
65
|
+
function holdsPlaceholder(node, placeholders, skip) {
|
|
66
|
+
const inText = (text) => placeholders.some((placeholder2) => text.includes(placeholder2));
|
|
67
|
+
if (typeof node === "string") return inText(node);
|
|
68
|
+
if (skip.has(node)) return false;
|
|
69
|
+
return node.attrs.some(([, value]) => typeof value === "string" && inText(value)) || node.children.some((child) => holdsPlaceholder(child, placeholders, skip));
|
|
70
|
+
}
|
|
71
|
+
function filled(node, fill, skip) {
|
|
72
|
+
if (typeof node === "string") return _nullishCoalesce(fill.words.get(node), () => ( [node]));
|
|
73
|
+
if (skip.has(node)) return [node];
|
|
74
|
+
const children = node.children.flatMap((child) => filled(child, fill, skip));
|
|
75
|
+
const attrs = node.attrs.map((attr) => filledAttr(attr, fill));
|
|
76
|
+
const same = children.length === node.children.length && children.every((child, at) => child === node.children[at]);
|
|
77
|
+
if (same && attrs.every((attr, at) => attr === node.attrs[at])) return [node];
|
|
78
|
+
return [_chunkBTBHHBVRcjs.element.call(void 0, node.tag, attrs, children, node.html)];
|
|
79
|
+
}
|
|
80
|
+
function changedNode(block, view, env, change, render, labels) {
|
|
81
|
+
const names = [.../* @__PURE__ */ new Set([...Object.keys(block.regions), ...Object.keys(change.regions)])];
|
|
82
|
+
const regions = Object.fromEntries(
|
|
83
|
+
names.map((name) => [name, [{ kind: "text", text: placeholder(name), marks: [] }]])
|
|
84
|
+
);
|
|
85
|
+
const node = render(withEveryCell({ ...block, regions }, names), view, env);
|
|
86
|
+
const changes = (name) => _nullishCoalesce(change.regions[name], () => ( [{ op: "equal", inline: block.regions[name] }]));
|
|
87
|
+
const fill = {
|
|
88
|
+
words: new Map(names.map((name) => [placeholder(name), wordNodes(changes(name), env, labels)])),
|
|
89
|
+
names: new Map(names.map((name) => [placeholder(name), _chunkBTBHHBVRcjs.nodeText.call(void 0, _chunkBTBHHBVRcjs.inlineOf.call(void 0, block.regions[name], env)) || env.taskLabel]))
|
|
90
|
+
};
|
|
91
|
+
const skip = new Set(view.children);
|
|
92
|
+
const [drawn] = filled(node, fill, skip);
|
|
93
|
+
return holdsPlaceholder(drawn, names.map(placeholder), skip) ? render(block, view, env) : drawn;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// src/diff/toc-marks.ts
|
|
97
|
+
function diffToc(marks, labels, render) {
|
|
98
|
+
return (block, view, env) => {
|
|
99
|
+
const statusOf = (blockId) => _optionalChain([marks, 'access', _2 => _2.get, 'call', _3 => _3(blockId), 'optionalAccess', _4 => _4.status]);
|
|
100
|
+
const headings = env.headings.filter(({ blockId }) => statusOf(blockId) !== "moved-away");
|
|
101
|
+
const removed = new Set(headings.filter(({ blockId }) => statusOf(blockId) === "removed").map(({ blockId }) => `#${_chunkBTBHHBVRcjs.headingId.call(void 0, blockId)}`));
|
|
102
|
+
const marked = (node) => {
|
|
103
|
+
if (typeof node === "string") return node;
|
|
104
|
+
const href = _optionalChain([node, 'access', _5 => _5.attrs, 'access', _6 => _6.find, 'call', _7 => _7(([name]) => name === "href"), 'optionalAccess', _8 => _8[1]]);
|
|
105
|
+
if (node.tag === "a" && typeof href === "string" && removed.has(href)) {
|
|
106
|
+
return _chunkBTBHHBVRcjs.element.call(void 0, "a", node.attrs, [deletedNodes(node.children, labels)]);
|
|
107
|
+
}
|
|
108
|
+
return _chunkBTBHHBVRcjs.element.call(void 0, node.tag, node.attrs, node.children.map(marked), node.html);
|
|
109
|
+
};
|
|
110
|
+
return marked(render(block, view, { ...env, headings }));
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// src/diff/diff-block.ts
|
|
115
|
+
function markLabels({ status, change, attributes }, labels) {
|
|
116
|
+
switch (status) {
|
|
117
|
+
case "added":
|
|
118
|
+
return [labels.added];
|
|
119
|
+
case "removed":
|
|
120
|
+
return [labels.removed];
|
|
121
|
+
case "moved-away":
|
|
122
|
+
return [labels.movedAway];
|
|
123
|
+
case "moved":
|
|
124
|
+
return change ? [labels.moved, labels.changed(attributes)] : [labels.moved];
|
|
125
|
+
case "changed":
|
|
126
|
+
return [labels.changed(attributes)];
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function markedNode(node, mark, labels) {
|
|
130
|
+
const shown = markLabels(mark, labels).map((text) => _chunkBTBHHBVRcjs.element.call(void 0, "span", [["data-diff-label", ""]], [text, hiddenText(": ")]));
|
|
131
|
+
if (typeof node !== "string" && node.tag === "li") {
|
|
132
|
+
return _chunkBTBHHBVRcjs.element.call(void 0, "li", [...node.attrs, ["data-diff", mark.status]], [...shown, " ", ...node.children]);
|
|
133
|
+
}
|
|
134
|
+
return _chunkBTBHHBVRcjs.element.call(void 0, "div", [["data-diff", mark.status]], [...shown, node]);
|
|
135
|
+
}
|
|
136
|
+
function diffRenderer(marks, labels, blocks) {
|
|
137
|
+
const toc = diffToc(marks, labels, blocks);
|
|
138
|
+
return (block, view, env) => {
|
|
139
|
+
const render = block.type === "TOC" ? toc : blocks;
|
|
140
|
+
const mark = marks.get(block.id);
|
|
141
|
+
if (!mark) return render(block, view, env);
|
|
142
|
+
const node = mark.change ? changedNode(block, view, env, mark.change, render, labels) : render(block, view, env);
|
|
143
|
+
return markedNode(node, mark, labels);
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// src/diff/changed-attributes.ts
|
|
148
|
+
var unset = (value) => value === void 0 || Array.isArray(value) && value.every((item) => item === null);
|
|
149
|
+
var sameAttr = (left, right) => _chunkXX5FTPJRcjs.sameValue.call(void 0, left, right) || unset(left) && unset(right);
|
|
150
|
+
var changedIn = (left = {}, right = {}) => Object.keys({ ...left, ...right }).filter((name) => !sameAttr(left[name], right[name]));
|
|
151
|
+
function changedAttributes({ before, after }, codec) {
|
|
152
|
+
const left = codec.toEngineBlocks(before);
|
|
153
|
+
const right = codec.toEngineBlocks(after);
|
|
154
|
+
const pairs = Array.from({ length: Math.max(left.length, right.length) }, (_, at) => [left[at], right[at]]);
|
|
155
|
+
const both = pairs.filter(([was, is]) => was && is);
|
|
156
|
+
return [
|
|
157
|
+
...both.some(([was, is]) => was.type !== is.type) ? ["type"] : [],
|
|
158
|
+
...both.some(([was, is]) => was.indent !== is.indent) ? ["indent"] : [],
|
|
159
|
+
...new Set(pairs.flatMap(([was, is]) => changedIn(_optionalChain([was, 'optionalAccess', _9 => _9.attrs]), _optionalChain([is, 'optionalAccess', _10 => _10.attrs]))))
|
|
160
|
+
];
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
// src/diff/older-owners.ts
|
|
164
|
+
function inFront(run) {
|
|
165
|
+
const parents = [];
|
|
166
|
+
return run.map((block) => {
|
|
167
|
+
while (parents.length > 0 && parents[parents.length - 1].indent >= block.indent) parents.pop();
|
|
168
|
+
const front = !block.older || (_nullishCoalesce(_optionalChain([parents, 'access', _11 => _11[parents.length - 1], 'optionalAccess', _12 => _12.front]), () => ( false)));
|
|
169
|
+
parents.push({ indent: block.indent, front });
|
|
170
|
+
return front;
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
function withoutAdoptedBlocks(placed) {
|
|
174
|
+
const out = [...placed];
|
|
175
|
+
for (let at = out.length - 1; at >= 0; at--) {
|
|
176
|
+
const owner = out[at];
|
|
177
|
+
if (!owner.older || !owner.owner) continue;
|
|
178
|
+
let end = at + 1;
|
|
179
|
+
while (end < out.length && out[end].indent > owner.indent) end++;
|
|
180
|
+
const run = out.slice(at + 1, end);
|
|
181
|
+
const front = inFront(run);
|
|
182
|
+
if (front.some(Boolean)) {
|
|
183
|
+
out.splice(at, end - at, ...run.filter((_, i) => front[i]), owner, ...run.filter((_, i) => !front[i]));
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return out.map(({ item }) => item);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
// src/diff/diff-document.ts
|
|
190
|
+
function changeMark(status, change, codec) {
|
|
191
|
+
return { status, change, attributes: changedAttributes(change, codec) };
|
|
192
|
+
}
|
|
193
|
+
var wordsChanged = ({ regions }) => Object.values(regions).some((changes) => changes.some(({ op }) => op !== "equal"));
|
|
194
|
+
function shownOf(diffs, schema, codec) {
|
|
195
|
+
const origins = /* @__PURE__ */ new Map();
|
|
196
|
+
for (const diff of diffs) if (diff.op === "delete" && diff.moved) origins.set(diff.block.id, diff.block);
|
|
197
|
+
return diffs.map((diff) => {
|
|
198
|
+
switch (diff.op) {
|
|
199
|
+
case "equal":
|
|
200
|
+
return { block: diff.block };
|
|
201
|
+
case "change": {
|
|
202
|
+
const mark = changeMark("changed", diff, codec);
|
|
203
|
+
return wordsChanged(diff) || mark.attributes.length > 0 ? { block: diff.after, mark } : { block: diff.after };
|
|
204
|
+
}
|
|
205
|
+
case "delete":
|
|
206
|
+
return { block: diff.block, mark: { status: diff.moved ? "moved-away" : "removed", attributes: [] } };
|
|
207
|
+
case "insert": {
|
|
208
|
+
const origin = diff.moved ? origins.get(diff.block.id) : void 0;
|
|
209
|
+
if (!diff.moved) return { block: diff.block, mark: { status: "added", attributes: [] } };
|
|
210
|
+
if (!origin || _chunkXX5FTPJRcjs.sameContent.call(void 0, origin, diff.block)) return { block: diff.block, mark: { status: "moved", attributes: [] } };
|
|
211
|
+
return { block: diff.block, mark: changeMark("moved", _chunkXX5FTPJRcjs.changeBetween.call(void 0, origin, diff.block, schema, codec.context), codec) };
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
function pieces({ block, mark }, codec) {
|
|
217
|
+
if (!mark || mark.change) return [{ block, mark }];
|
|
218
|
+
const split = codec.toEngineBlocks(block);
|
|
219
|
+
return split.length === 1 ? [{ block, mark }] : split.map((piece) => ({ block: codec.toQuoin(piece), mark }));
|
|
220
|
+
}
|
|
221
|
+
var isOlder = (mark) => _optionalChain([mark, 'optionalAccess', _13 => _13.status]) === "removed" || _optionalChain([mark, 'optionalAccess', _14 => _14.status]) === "moved-away";
|
|
222
|
+
function diffDocument(before, after, schema) {
|
|
223
|
+
let next = 0;
|
|
224
|
+
const codec = _chunkBTBHHBVRcjs.createBlockCodec.call(void 0, schema, { newId: () => `diff-${next++}` });
|
|
225
|
+
const laid = shownOf(_chunkXX5FTPJRcjs.diffBlocks.call(void 0, before, after, { schema }), schema, codec).flatMap((item) => pieces(item, codec));
|
|
226
|
+
const shown = withoutAdoptedBlocks(
|
|
227
|
+
laid.map((item) => {
|
|
228
|
+
const [engine] = codec.toEngineBlocks(item.block);
|
|
229
|
+
const owner = _chunkBTBHHBVRcjs.listKind.call(void 0, engine) !== void 0 || engine.type === "TOGGLE";
|
|
230
|
+
return { item, older: isOlder(item.mark), owner, indent: engine.indent };
|
|
231
|
+
})
|
|
232
|
+
);
|
|
233
|
+
const taken = new Set(shown.filter(({ mark }) => !isOlder(mark)).map(({ block }) => block.id));
|
|
234
|
+
const used = /* @__PURE__ */ new Set();
|
|
235
|
+
const marks = /* @__PURE__ */ new Map();
|
|
236
|
+
const blocks = shown.map(({ block, mark }) => {
|
|
237
|
+
let id = block.id;
|
|
238
|
+
if (used.has(id) || isOlder(mark) && taken.has(id)) {
|
|
239
|
+
let n = 1;
|
|
240
|
+
while (taken.has(`${block.id}-${n}`) || used.has(`${block.id}-${n}`)) n++;
|
|
241
|
+
id = `${block.id}-${n}`;
|
|
242
|
+
}
|
|
243
|
+
used.add(id);
|
|
244
|
+
if (mark) marks.set(id, mark);
|
|
245
|
+
return id === block.id ? block : { ...block, id };
|
|
246
|
+
});
|
|
247
|
+
return { blocks, marks };
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
// src/diff/diff-labels.ts
|
|
251
|
+
var ATTRIBUTE_NAMES = {
|
|
252
|
+
type: "block type",
|
|
253
|
+
indent: "indent",
|
|
254
|
+
kind: "block style",
|
|
255
|
+
level: "heading level",
|
|
256
|
+
checked: "checkbox",
|
|
257
|
+
start: "numbering",
|
|
258
|
+
align: "alignment",
|
|
259
|
+
color: "color",
|
|
260
|
+
background: "background",
|
|
261
|
+
alt: "alt text",
|
|
262
|
+
url: "address",
|
|
263
|
+
storageKey: "file",
|
|
264
|
+
filename: "file name",
|
|
265
|
+
width: "size",
|
|
266
|
+
height: "size",
|
|
267
|
+
widthPercent: "size",
|
|
268
|
+
language: "language",
|
|
269
|
+
code: "code",
|
|
270
|
+
tone: "tone",
|
|
271
|
+
icon: "icon",
|
|
272
|
+
open: "open state",
|
|
273
|
+
latex: "formula",
|
|
274
|
+
header: "header row",
|
|
275
|
+
rows: "rows",
|
|
276
|
+
cols: "columns"
|
|
277
|
+
};
|
|
278
|
+
function changedLabel(attributes) {
|
|
279
|
+
const names = [...new Set(attributes.flatMap((name) => _nullishCoalesce(ATTRIBUTE_NAMES[name], () => ( []))))];
|
|
280
|
+
return names.length === 0 ? "Changed" : `Changed ${names.join(", ")}`;
|
|
281
|
+
}
|
|
282
|
+
var englishDiffLabels = {
|
|
283
|
+
added: "Added",
|
|
284
|
+
removed: "Removed",
|
|
285
|
+
moved: "Moved",
|
|
286
|
+
movedAway: "Moved away",
|
|
287
|
+
changed: changedLabel,
|
|
288
|
+
inserted: "inserted",
|
|
289
|
+
insertedEnd: "end inserted",
|
|
290
|
+
deleted: "deleted",
|
|
291
|
+
deletedEnd: "end deleted",
|
|
292
|
+
emptyTask: "Task"
|
|
293
|
+
};
|
|
294
|
+
function resolveDiffLabels(overrides) {
|
|
295
|
+
const given = Object.entries(_nullishCoalesce(overrides, () => ( {}))).filter(([, value]) => value !== void 0);
|
|
296
|
+
return given.length === 0 ? englishDiffLabels : { ...englishDiffLabels, ...Object.fromEntries(given) };
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
// src/diff/diff-tree.ts
|
|
300
|
+
var attrOf = (node, name) => _optionalChain([node, 'access', _15 => _15.attrs, 'access', _16 => _16.find, 'call', _17 => _17(([key]) => key === name), 'optionalAccess', _18 => _18[1]]);
|
|
301
|
+
var isChange = (node) => typeof node !== "string" && (node.tag === "ins" || node.tag === "del" || attrOf(node, "data-diff") !== void 0);
|
|
302
|
+
function numbered(list, children) {
|
|
303
|
+
let older = Number(_nullishCoalesce(attrOf(list, "start"), () => ( 1)));
|
|
304
|
+
let newer = older;
|
|
305
|
+
return children.map((item) => {
|
|
306
|
+
if (typeof item === "string") return item;
|
|
307
|
+
const status = attrOf(item, "data-diff");
|
|
308
|
+
const inOlder = status !== "added" && status !== "moved";
|
|
309
|
+
const inNewer = status !== "removed" && status !== "moved-away";
|
|
310
|
+
const value = ["value", String(inNewer ? newer : older)];
|
|
311
|
+
if (inOlder) older++;
|
|
312
|
+
if (inNewer) newer++;
|
|
313
|
+
return _chunkBTBHHBVRcjs.element.call(void 0, item.tag, [value, ...item.attrs], item.children, item.html);
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
function settled(node) {
|
|
317
|
+
if (typeof node === "string") return { node, holds: false };
|
|
318
|
+
const walked = node.children.map(settled);
|
|
319
|
+
const holds = walked.some((child) => child.holds || isChange(child.node));
|
|
320
|
+
let children = walked.map((child) => child.node);
|
|
321
|
+
let attrs = node.attrs;
|
|
322
|
+
if (node.tag === "details" && holds && attrOf(node, "open") !== true) {
|
|
323
|
+
attrs = [["open", true], ...attrs.filter(([name]) => name !== "open")];
|
|
324
|
+
}
|
|
325
|
+
if (node.tag === "ol" && children.some(isChange)) children = numbered(node, children);
|
|
326
|
+
const same = attrs === node.attrs && children.every((child, at) => child === node.children[at]);
|
|
327
|
+
return { node: same ? node : _chunkBTBHHBVRcjs.element.call(void 0, node.tag, attrs, children, node.html), holds };
|
|
328
|
+
}
|
|
329
|
+
var settledDiff = (nodes) => nodes.map((node) => settled(node).node);
|
|
330
|
+
|
|
331
|
+
// src/diff/QuoinDiff.tsx
|
|
332
|
+
function QuoinDiff({ before, after, blockTypes, labels, highlight, className, ...options }) {
|
|
333
|
+
const words = resolveDiffLabels(labels);
|
|
334
|
+
const schema = _chunkBTBHHBVRcjs.createSchema.call(void 0, );
|
|
335
|
+
const { blocks, marks } = diffDocument(before, after, schema);
|
|
336
|
+
const slots = /* @__PURE__ */ new Map();
|
|
337
|
+
const render = diffRenderer(marks, words, _chunk6PKVJZQVcjs.viewRenderer.call(void 0, { blockTypes, highlight }, slots));
|
|
338
|
+
const nodes = _chunkBTBHHBVRcjs.documentNodes.call(void 0, blocks, { ...options, schema, taskLabel: options.taskLabel || words.emptyTask }, render);
|
|
339
|
+
return _react.createElement.call(void 0, "div", { className: className ? `quoin-diff ${className}` : "quoin-diff" }, ..._chunk6PKVJZQVcjs.reactNodes.call(void 0, settledDiff(nodes), slots));
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
exports.QuoinDiff = QuoinDiff; exports.defineBlock = _chunkEH5KXQXYcjs.defineBlock; exports.englishDiffLabels = englishDiffLabels;
|
|
346
|
+
//# sourceMappingURL=diff.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["diff.cjs","../src/diff/QuoinDiff.tsx","../src/diff/table-grid.ts","../src/diff/hidden-text.ts","../src/diff/word-nodes.ts","../src/diff/changed-node.ts","../src/diff/toc-marks.ts","../src/diff/diff-block.ts","../src/diff/changed-attributes.ts","../src/diff/older-owners.ts","../src/diff/diff-document.ts","../src/diff/diff-labels.ts","../src/diff/diff-tree.ts"],"names":[],"mappings":"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","file":"/home/runner/work/quoin-editor/quoin-editor/dist/diff.cjs"}
|
package/dist/diff.d.cts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { A as AnyBlockDefinition, C as CodeHighlighter } from './registry-CWBOSAHm.cjs';
|
|
3
|
+
export { B as BlockDefinition, d as defineBlock } from './registry-CWBOSAHm.cjs';
|
|
4
|
+
import { Q as QuoinBlock } from './types-DULc8wwg.cjs';
|
|
5
|
+
import { H as HTMLOptions } from './to-html-CNCITCln.cjs';
|
|
6
|
+
import './embed-provider-jXwlRmnp.cjs';
|
|
7
|
+
|
|
8
|
+
/** Every string the diff view shows or speaks. */
|
|
9
|
+
type DiffLabels = {
|
|
10
|
+
/** The label of a block only the newer version has. */
|
|
11
|
+
added: string;
|
|
12
|
+
/** The label of a block only the older version has. */
|
|
13
|
+
removed: string;
|
|
14
|
+
/** The label of a block where it is in the newer version, when it moved. */
|
|
15
|
+
moved: string;
|
|
16
|
+
/** The label of a block where it was in the older version, when it moved. */
|
|
17
|
+
movedAway: string;
|
|
18
|
+
/** The label of a changed block, given the names of the attributes that changed, empty when only its text did. */
|
|
19
|
+
changed(attributes: readonly string[]): string;
|
|
20
|
+
/** Spoken before inserted words, and never shown. */
|
|
21
|
+
inserted: string;
|
|
22
|
+
/** Spoken after inserted words, and never shown. */
|
|
23
|
+
insertedEnd: string;
|
|
24
|
+
/** Spoken before deleted words, and never shown. */
|
|
25
|
+
deleted: string;
|
|
26
|
+
/** Spoken after deleted words, and never shown. */
|
|
27
|
+
deletedEnd: string;
|
|
28
|
+
/** The accessible name of a task checkbox whose item has no text. */
|
|
29
|
+
emptyTask: string;
|
|
30
|
+
};
|
|
31
|
+
declare const englishDiffLabels: DiffLabels;
|
|
32
|
+
|
|
33
|
+
type QuoinDiffProps = {
|
|
34
|
+
/** The older version. */
|
|
35
|
+
before: readonly QuoinBlock[];
|
|
36
|
+
/** The newer version. */
|
|
37
|
+
after: readonly QuoinBlock[];
|
|
38
|
+
/** The definitions of the host's own block types, each drawn by its `preview`, as in `QuoinView`. */
|
|
39
|
+
blockTypes?: readonly AnyBlockDefinition[];
|
|
40
|
+
/** Strings to show and speak in place of the English ones. */
|
|
41
|
+
labels?: Partial<DiffLabels>;
|
|
42
|
+
/** The address of a stored picture or file. One that is no http, https, blob, data or relative address is left out. */
|
|
43
|
+
resolveAssetUrl?: HTMLOptions['resolveAssetUrl'];
|
|
44
|
+
/** Its markup is trusted and inserted as it is. */
|
|
45
|
+
renderMath?: HTMLOptions['renderMath'];
|
|
46
|
+
/** Highlights the code of code blocks; without it their code is plain text. */
|
|
47
|
+
highlight?: CodeHighlighter;
|
|
48
|
+
/** Embeds as links by default, or as sandboxed frames for the pages of known providers. */
|
|
49
|
+
embeds?: HTMLOptions['embeds'];
|
|
50
|
+
/** Tried before the built in providers, in order. Only used when `embeds` is `'iframe'`. */
|
|
51
|
+
embedProviders?: HTMLOptions['embedProviders'];
|
|
52
|
+
/** The title of a frame given its provider's name, the name itself by default. */
|
|
53
|
+
frameTitle?: HTMLOptions['frameTitle'];
|
|
54
|
+
/** The accessible name of a task checkbox whose item has no text, the `emptyTask` label by default. */
|
|
55
|
+
taskLabel?: HTMLOptions['taskLabel'];
|
|
56
|
+
className?: string;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* The changes between two versions of a document, read-only: blocks added, removed, moved and changed, and in a changed
|
|
60
|
+
* block the words inserted and deleted. Drawn with the HTML `QuoinView` writes, using no hook, effect or browser API,
|
|
61
|
+
* so it renders in a React Server Component.
|
|
62
|
+
*/
|
|
63
|
+
declare function QuoinDiff({ before, after, blockTypes, labels, highlight, className, ...options }: QuoinDiffProps): react.DetailedReactHTMLElement<{
|
|
64
|
+
className: string;
|
|
65
|
+
}, HTMLElement>;
|
|
66
|
+
|
|
67
|
+
export { AnyBlockDefinition, type DiffLabels, QuoinDiff, type QuoinDiffProps, englishDiffLabels };
|
package/dist/diff.d.ts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { A as AnyBlockDefinition, C as CodeHighlighter } from './registry-CWBOSAHm.js';
|
|
3
|
+
export { B as BlockDefinition, d as defineBlock } from './registry-CWBOSAHm.js';
|
|
4
|
+
import { Q as QuoinBlock } from './types-DULc8wwg.js';
|
|
5
|
+
import { H as HTMLOptions } from './to-html-C5t7xyaM.js';
|
|
6
|
+
import './embed-provider-jXwlRmnp.js';
|
|
7
|
+
|
|
8
|
+
/** Every string the diff view shows or speaks. */
|
|
9
|
+
type DiffLabels = {
|
|
10
|
+
/** The label of a block only the newer version has. */
|
|
11
|
+
added: string;
|
|
12
|
+
/** The label of a block only the older version has. */
|
|
13
|
+
removed: string;
|
|
14
|
+
/** The label of a block where it is in the newer version, when it moved. */
|
|
15
|
+
moved: string;
|
|
16
|
+
/** The label of a block where it was in the older version, when it moved. */
|
|
17
|
+
movedAway: string;
|
|
18
|
+
/** The label of a changed block, given the names of the attributes that changed, empty when only its text did. */
|
|
19
|
+
changed(attributes: readonly string[]): string;
|
|
20
|
+
/** Spoken before inserted words, and never shown. */
|
|
21
|
+
inserted: string;
|
|
22
|
+
/** Spoken after inserted words, and never shown. */
|
|
23
|
+
insertedEnd: string;
|
|
24
|
+
/** Spoken before deleted words, and never shown. */
|
|
25
|
+
deleted: string;
|
|
26
|
+
/** Spoken after deleted words, and never shown. */
|
|
27
|
+
deletedEnd: string;
|
|
28
|
+
/** The accessible name of a task checkbox whose item has no text. */
|
|
29
|
+
emptyTask: string;
|
|
30
|
+
};
|
|
31
|
+
declare const englishDiffLabels: DiffLabels;
|
|
32
|
+
|
|
33
|
+
type QuoinDiffProps = {
|
|
34
|
+
/** The older version. */
|
|
35
|
+
before: readonly QuoinBlock[];
|
|
36
|
+
/** The newer version. */
|
|
37
|
+
after: readonly QuoinBlock[];
|
|
38
|
+
/** The definitions of the host's own block types, each drawn by its `preview`, as in `QuoinView`. */
|
|
39
|
+
blockTypes?: readonly AnyBlockDefinition[];
|
|
40
|
+
/** Strings to show and speak in place of the English ones. */
|
|
41
|
+
labels?: Partial<DiffLabels>;
|
|
42
|
+
/** The address of a stored picture or file. One that is no http, https, blob, data or relative address is left out. */
|
|
43
|
+
resolveAssetUrl?: HTMLOptions['resolveAssetUrl'];
|
|
44
|
+
/** Its markup is trusted and inserted as it is. */
|
|
45
|
+
renderMath?: HTMLOptions['renderMath'];
|
|
46
|
+
/** Highlights the code of code blocks; without it their code is plain text. */
|
|
47
|
+
highlight?: CodeHighlighter;
|
|
48
|
+
/** Embeds as links by default, or as sandboxed frames for the pages of known providers. */
|
|
49
|
+
embeds?: HTMLOptions['embeds'];
|
|
50
|
+
/** Tried before the built in providers, in order. Only used when `embeds` is `'iframe'`. */
|
|
51
|
+
embedProviders?: HTMLOptions['embedProviders'];
|
|
52
|
+
/** The title of a frame given its provider's name, the name itself by default. */
|
|
53
|
+
frameTitle?: HTMLOptions['frameTitle'];
|
|
54
|
+
/** The accessible name of a task checkbox whose item has no text, the `emptyTask` label by default. */
|
|
55
|
+
taskLabel?: HTMLOptions['taskLabel'];
|
|
56
|
+
className?: string;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* The changes between two versions of a document, read-only: blocks added, removed, moved and changed, and in a changed
|
|
60
|
+
* block the words inserted and deleted. Drawn with the HTML `QuoinView` writes, using no hook, effect or browser API,
|
|
61
|
+
* so it renders in a React Server Component.
|
|
62
|
+
*/
|
|
63
|
+
declare function QuoinDiff({ before, after, blockTypes, labels, highlight, className, ...options }: QuoinDiffProps): react.DetailedReactHTMLElement<{
|
|
64
|
+
className: string;
|
|
65
|
+
}, HTMLElement>;
|
|
66
|
+
|
|
67
|
+
export { AnyBlockDefinition, type DiffLabels, QuoinDiff, type QuoinDiffProps, englishDiffLabels };
|