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.
Files changed (231) hide show
  1. package/CHANGELOG.md +251 -0
  2. package/MIGRATION.md +233 -0
  3. package/README.md +78 -716
  4. package/dist/ai.cjs +1148 -0
  5. package/dist/ai.cjs.map +1 -0
  6. package/dist/ai.d.cts +68 -0
  7. package/dist/ai.d.ts +68 -0
  8. package/dist/ai.js +1148 -0
  9. package/dist/ai.js.map +1 -0
  10. package/dist/catalogue.cjs +59 -0
  11. package/dist/catalogue.cjs.map +1 -0
  12. package/dist/catalogue.d.cts +39 -0
  13. package/dist/catalogue.d.ts +39 -0
  14. package/dist/catalogue.js +59 -0
  15. package/dist/catalogue.js.map +1 -0
  16. package/dist/chunk-26Q4LSIU.js +100 -0
  17. package/dist/chunk-26Q4LSIU.js.map +1 -0
  18. package/dist/chunk-56C7GCKO.cjs +1385 -0
  19. package/dist/chunk-56C7GCKO.cjs.map +1 -0
  20. package/dist/chunk-5M4QG3ZC.cjs +3303 -0
  21. package/dist/chunk-5M4QG3ZC.cjs.map +1 -0
  22. package/dist/chunk-5R3ISX4A.cjs +6643 -0
  23. package/dist/chunk-5R3ISX4A.cjs.map +1 -0
  24. package/dist/chunk-62WKUAQY.js +3335 -0
  25. package/dist/chunk-62WKUAQY.js.map +1 -0
  26. package/dist/chunk-6LMS5J3Y.js +320 -0
  27. package/dist/chunk-6LMS5J3Y.js.map +1 -0
  28. package/dist/chunk-6PKVJZQV.cjs +100 -0
  29. package/dist/chunk-6PKVJZQV.cjs.map +1 -0
  30. package/dist/chunk-6YSGUAVW.js +376 -0
  31. package/dist/chunk-6YSGUAVW.js.map +1 -0
  32. package/dist/chunk-75C6PX2L.cjs +239 -0
  33. package/dist/chunk-75C6PX2L.cjs.map +1 -0
  34. package/dist/chunk-A4IJSJKL.js +598 -0
  35. package/dist/chunk-A4IJSJKL.js.map +1 -0
  36. package/dist/chunk-BTBHHBVR.cjs +3335 -0
  37. package/dist/chunk-BTBHHBVR.cjs.map +1 -0
  38. package/dist/chunk-CLTHD5GO.cjs +34 -0
  39. package/dist/chunk-CLTHD5GO.cjs.map +1 -0
  40. package/dist/chunk-EH5KXQXY.cjs +62 -0
  41. package/dist/chunk-EH5KXQXY.cjs.map +1 -0
  42. package/dist/chunk-ESMAW4NK.cjs +184 -0
  43. package/dist/chunk-ESMAW4NK.cjs.map +1 -0
  44. package/dist/chunk-EYFCOV3T.cjs +30 -0
  45. package/dist/chunk-EYFCOV3T.cjs.map +1 -0
  46. package/dist/chunk-F5V3IEEE.cjs +326 -0
  47. package/dist/chunk-F5V3IEEE.cjs.map +1 -0
  48. package/dist/chunk-GPIDU3GN.js +239 -0
  49. package/dist/chunk-GPIDU3GN.js.map +1 -0
  50. package/dist/chunk-HOIDJEVI.cjs +4063 -0
  51. package/dist/chunk-HOIDJEVI.cjs.map +1 -0
  52. package/dist/chunk-JJ3RASQS.cjs +706 -0
  53. package/dist/chunk-JJ3RASQS.cjs.map +1 -0
  54. package/dist/chunk-LE3F7WIP.js +6643 -0
  55. package/dist/chunk-LE3F7WIP.js.map +1 -0
  56. package/dist/chunk-LE5XMIFJ.cjs +14 -0
  57. package/dist/chunk-LE5XMIFJ.cjs.map +1 -0
  58. package/dist/chunk-LMAEPFTX.js +30 -0
  59. package/dist/chunk-LMAEPFTX.js.map +1 -0
  60. package/dist/chunk-LV6EYPJO.js +34 -0
  61. package/dist/chunk-LV6EYPJO.js.map +1 -0
  62. package/dist/chunk-MLRAVUFG.cjs +376 -0
  63. package/dist/chunk-MLRAVUFG.cjs.map +1 -0
  64. package/dist/chunk-MQUCCSWG.js +14 -0
  65. package/dist/chunk-MQUCCSWG.js.map +1 -0
  66. package/dist/chunk-O4Z2WMFF.js +62 -0
  67. package/dist/chunk-O4Z2WMFF.js.map +1 -0
  68. package/dist/chunk-OCCKQHCY.js +25 -0
  69. package/dist/chunk-OCCKQHCY.js.map +1 -0
  70. package/dist/chunk-PGSS4IOS.js +706 -0
  71. package/dist/chunk-PGSS4IOS.js.map +1 -0
  72. package/dist/chunk-PIWRSX7U.js +562 -0
  73. package/dist/chunk-PIWRSX7U.js.map +1 -0
  74. package/dist/chunk-PX6LZMH4.cjs +598 -0
  75. package/dist/chunk-PX6LZMH4.cjs.map +1 -0
  76. package/dist/chunk-QXG3HWDS.js +184 -0
  77. package/dist/chunk-QXG3HWDS.js.map +1 -0
  78. package/dist/chunk-RQW3P3GH.js +504 -0
  79. package/dist/chunk-RQW3P3GH.js.map +1 -0
  80. package/dist/chunk-SSIRYUCK.js +3303 -0
  81. package/dist/chunk-SSIRYUCK.js.map +1 -0
  82. package/dist/chunk-UBNG5YCG.js +326 -0
  83. package/dist/chunk-UBNG5YCG.js.map +1 -0
  84. package/dist/chunk-UCXLRRWY.js +1385 -0
  85. package/dist/chunk-UCXLRRWY.js.map +1 -0
  86. package/dist/chunk-UDAVVEFC.cjs +562 -0
  87. package/dist/chunk-UDAVVEFC.cjs.map +1 -0
  88. package/dist/chunk-UPSLDTLT.js +4063 -0
  89. package/dist/chunk-UPSLDTLT.js.map +1 -0
  90. package/dist/chunk-UWNZG2SD.cjs +25 -0
  91. package/dist/chunk-UWNZG2SD.cjs.map +1 -0
  92. package/dist/chunk-V3KLMSRO.cjs +504 -0
  93. package/dist/chunk-V3KLMSRO.cjs.map +1 -0
  94. package/dist/chunk-VACTAZWS.cjs +249 -0
  95. package/dist/chunk-VACTAZWS.cjs.map +1 -0
  96. package/dist/chunk-WMN6566P.js +249 -0
  97. package/dist/chunk-WMN6566P.js.map +1 -0
  98. package/dist/chunk-XX5FTPJR.cjs +320 -0
  99. package/dist/chunk-XX5FTPJR.cjs.map +1 -0
  100. package/dist/comments.cjs +1008 -0
  101. package/dist/comments.cjs.map +1 -0
  102. package/dist/comments.d.cts +93 -0
  103. package/dist/comments.d.ts +93 -0
  104. package/dist/comments.js +1008 -0
  105. package/dist/comments.js.map +1 -0
  106. package/dist/diff.cjs +346 -0
  107. package/dist/diff.cjs.map +1 -0
  108. package/dist/diff.d.cts +67 -0
  109. package/dist/diff.d.ts +67 -0
  110. package/dist/diff.js +346 -0
  111. package/dist/diff.js.map +1 -0
  112. package/dist/docx.cjs +874 -0
  113. package/dist/docx.cjs.map +1 -0
  114. package/dist/docx.d.cts +33 -0
  115. package/dist/docx.d.ts +33 -0
  116. package/dist/docx.js +874 -0
  117. package/dist/docx.js.map +1 -0
  118. package/dist/embed-provider-jXwlRmnp.d.cts +19 -0
  119. package/dist/embed-provider-jXwlRmnp.d.ts +19 -0
  120. package/dist/embed.cjs +17 -0
  121. package/dist/embed.cjs.map +1 -0
  122. package/dist/embed.d.cts +56 -0
  123. package/dist/embed.d.ts +56 -0
  124. package/dist/embed.js +17 -0
  125. package/dist/embed.js.map +1 -0
  126. package/dist/emoji-data.cjs +1968 -0
  127. package/dist/emoji-data.cjs.map +1 -0
  128. package/dist/emoji-data.js +1968 -0
  129. package/dist/emoji-data.js.map +1 -0
  130. package/dist/emoji-extension-CmPlRssm.d.ts +46 -0
  131. package/dist/emoji-extension-zJ6F7hW8.d.cts +46 -0
  132. package/dist/emoji.cjs +18 -0
  133. package/dist/emoji.cjs.map +1 -0
  134. package/dist/emoji.d.cts +31 -0
  135. package/dist/emoji.d.ts +31 -0
  136. package/dist/emoji.js +18 -0
  137. package/dist/emoji.js.map +1 -0
  138. package/dist/engine.cjs +119 -0
  139. package/dist/engine.cjs.map +1 -0
  140. package/dist/engine.d.cts +144 -0
  141. package/dist/engine.d.ts +144 -0
  142. package/dist/engine.js +119 -0
  143. package/dist/engine.js.map +1 -0
  144. package/dist/find-extension-BcRyE9K4.d.cts +41 -0
  145. package/dist/find-extension-CmFehyul.d.ts +41 -0
  146. package/dist/find.cjs +20 -0
  147. package/dist/find.cjs.map +1 -0
  148. package/dist/find.d.cts +44 -0
  149. package/dist/find.d.ts +44 -0
  150. package/dist/find.js +20 -0
  151. package/dist/find.js.map +1 -0
  152. package/dist/headless.cjs +151 -518
  153. package/dist/headless.cjs.map +1 -1
  154. package/dist/headless.d.cts +102 -69
  155. package/dist/headless.d.ts +102 -69
  156. package/dist/headless.js +149 -467
  157. package/dist/headless.js.map +1 -1
  158. package/dist/index-CFPmCee4.d.cts +68 -0
  159. package/dist/index-DiCGV60d.d.ts +68 -0
  160. package/dist/index.cjs +183 -2753
  161. package/dist/index.cjs.map +1 -1
  162. package/dist/index.d.cts +345 -253
  163. package/dist/index.d.ts +345 -253
  164. package/dist/index.js +168 -2696
  165. package/dist/index.js.map +1 -1
  166. package/dist/math.cjs +18 -0
  167. package/dist/math.cjs.map +1 -0
  168. package/dist/math.d.cts +49 -0
  169. package/dist/math.d.ts +49 -0
  170. package/dist/math.js +18 -0
  171. package/dist/math.js.map +1 -0
  172. package/dist/mention.cjs +18 -0
  173. package/dist/mention.cjs.map +1 -0
  174. package/dist/mention.d.cts +50 -0
  175. package/dist/mention.d.ts +50 -0
  176. package/dist/mention.js +18 -0
  177. package/dist/mention.js.map +1 -0
  178. package/dist/presence.cjs +562 -0
  179. package/dist/presence.cjs.map +1 -0
  180. package/dist/presence.d.cts +30 -0
  181. package/dist/presence.d.ts +30 -0
  182. package/dist/presence.js +562 -0
  183. package/dist/presence.js.map +1 -0
  184. package/dist/registry-CWBOSAHm.d.cts +121 -0
  185. package/dist/registry-CWBOSAHm.d.ts +121 -0
  186. package/dist/stats-extension-DisOEbbI.d.ts +40 -0
  187. package/dist/stats-extension-Dt1lgP3m.d.cts +40 -0
  188. package/dist/stats.cjs +19 -0
  189. package/dist/stats.cjs.map +1 -0
  190. package/dist/stats.d.cts +19 -0
  191. package/dist/stats.d.ts +19 -0
  192. package/dist/stats.js +19 -0
  193. package/dist/stats.js.map +1 -0
  194. package/dist/styles.css +1 -1
  195. package/dist/table-extension-BTMJnT7J.d.ts +57 -0
  196. package/dist/table-extension-DxZz3jqp.d.cts +57 -0
  197. package/dist/table.cjs +50 -0
  198. package/dist/table.cjs.map +1 -0
  199. package/dist/table.d.cts +57 -0
  200. package/dist/table.d.ts +57 -0
  201. package/dist/table.js +50 -0
  202. package/dist/table.js.map +1 -0
  203. package/dist/to-html-C5t7xyaM.d.ts +21 -0
  204. package/dist/to-html-CNCITCln.d.cts +21 -0
  205. package/dist/toc-extension-CR9U-l6j.d.ts +25 -0
  206. package/dist/toc-extension-DGHywOBv.d.cts +25 -0
  207. package/dist/toc.cjs +18 -0
  208. package/dist/toc.cjs.map +1 -0
  209. package/dist/toc.d.cts +24 -0
  210. package/dist/toc.d.ts +24 -0
  211. package/dist/toc.js +18 -0
  212. package/dist/toc.js.map +1 -0
  213. package/dist/types-C6_QkXzy.d.ts +358 -0
  214. package/dist/types-CJ7Gq3GX.d.cts +358 -0
  215. package/dist/types-DULc8wwg.d.cts +120 -0
  216. package/dist/types-DULc8wwg.d.ts +120 -0
  217. package/dist/view-controller-BD1KwYfE.d.cts +105 -0
  218. package/dist/view-controller-y4cb60ue.d.ts +105 -0
  219. package/dist/view.cjs +23 -0
  220. package/dist/view.cjs.map +1 -0
  221. package/dist/view.d.cts +40 -0
  222. package/dist/view.d.ts +40 -0
  223. package/dist/view.js +23 -0
  224. package/dist/view.js.map +1 -0
  225. package/dist/yjs.cjs +864 -0
  226. package/dist/yjs.cjs.map +1 -0
  227. package/dist/yjs.d.cts +22 -0
  228. package/dist/yjs.d.ts +22 -0
  229. package/dist/yjs.js +864 -0
  230. package/dist/yjs.js.map +1 -0
  231. 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"}
@@ -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 };