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,376 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } 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
+
5
+
6
+
7
+ var _chunkHOIDJEVIcjs = require('./chunk-HOIDJEVI.cjs');
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+ var _chunkBTBHHBVRcjs = require('./chunk-BTBHHBVR.cjs');
16
+
17
+ // src/engine/collab/apply-remote.ts
18
+ function sharedChange(editor, steps, selectionHint, origin = "remote") {
19
+ const tr = editor.createTransaction().setOrigin(origin).setMeta("addToHistory", false);
20
+ for (const step of steps) tr.step(step);
21
+ if (selectionHint && _chunkHOIDJEVIcjs.sameSelection.call(void 0, _chunkHOIDJEVIcjs.validateSelection.call(void 0, tr.doc, editor.schema, selectionHint), selectionHint)) {
22
+ tr.setSelection(selectionHint);
23
+ }
24
+ return tr;
25
+ }
26
+ function applyRemote(editor, steps, selectionHint) {
27
+ editor.dispatch(sharedChange(editor, steps, selectionHint));
28
+ }
29
+
30
+ // src/yjs/bound.ts
31
+ var BOUND = /* @__PURE__ */ Symbol.for("quoin-editor.yjs.binding");
32
+ function holdBinding(collaboration, binding) {
33
+ collaboration[BOUND] = binding;
34
+ }
35
+ function sharedOf(collaboration, editor) {
36
+ const binding = _optionalChain([collaboration, 'access', _ => _[BOUND], 'optionalCall', _2 => _2()]);
37
+ return _optionalChain([binding, 'optionalAccess', _3 => _3.editor]) === editor ? binding.shared : null;
38
+ }
39
+
40
+ // src/yjs/carets.ts
41
+ var _yjs = require('yjs'); var Y2 = _interopRequireWildcard(_yjs); var Y = _interopRequireWildcard(_yjs);
42
+
43
+ // src/yjs/layout.ts
44
+ var NO_STRAYS = { read: [], leading: /* @__PURE__ */ new Set(), unread: false };
45
+ var emptySpan = () => ({ length: 0, entry: null, segs: [], index: 0 });
46
+ var createLayout = (spans, entries, clean, strays = NO_STRAYS) => ({
47
+ spans,
48
+ entries,
49
+ clean,
50
+ strays,
51
+ starts: [],
52
+ valid: 0
53
+ });
54
+ function settle(layout) {
55
+ const { spans, starts } = layout;
56
+ let at = layout.valid === 0 ? 0 : starts[layout.valid - 1] + spans[layout.valid - 1].length;
57
+ for (let i = layout.valid; i < spans.length; i++) {
58
+ starts[i] = at;
59
+ spans[i].index = i;
60
+ at += spans[i].length;
61
+ }
62
+ layout.valid = spans.length;
63
+ }
64
+ var invalidate = (layout, from) => void (layout.valid = Math.min(layout.valid, from));
65
+ function spanStart(layout, span) {
66
+ if (span.index >= layout.valid || layout.spans[span.index] !== span) settle(layout);
67
+ return layout.starts[span.index];
68
+ }
69
+ function indexOf(layout, span) {
70
+ spanStart(layout, span);
71
+ return span.index;
72
+ }
73
+ function textLength(layout) {
74
+ const last = layout.spans[layout.spans.length - 1];
75
+ return spanStart(layout, last) + last.length;
76
+ }
77
+ function spanAt(layout, at, item = false) {
78
+ settle(layout);
79
+ let [low, high] = [0, layout.spans.length - 1];
80
+ while (low < high) {
81
+ const middle = Math.ceil((low + high) / 2);
82
+ if (layout.starts[middle] < at || item && layout.starts[middle] === at) low = middle;
83
+ else high = middle - 1;
84
+ }
85
+ return layout.spans[low];
86
+ }
87
+ function offsetIn(seg, rel) {
88
+ let offset = rel - seg.at;
89
+ for (const other of seg.region.segs) {
90
+ if (other === seg) return offset;
91
+ offset += other.length;
92
+ }
93
+ return offset;
94
+ }
95
+ function pointOf(region, offset) {
96
+ let before = 0;
97
+ for (const seg of region.segs) {
98
+ if (offset <= before + seg.length) return { seg, rel: seg.at + offset - before };
99
+ before += seg.length;
100
+ }
101
+ throw new RangeError(`offset ${offset} is past the end of region "${region.name}"`);
102
+ }
103
+ function piecesOf(region, from, to) {
104
+ const pieces = [];
105
+ let before = 0;
106
+ for (const seg of region.segs) {
107
+ const start = Math.max(from, before);
108
+ const end = Math.min(to, before + seg.length);
109
+ if (end > start) pieces.push({ seg, rel: seg.at + start - before, length: end - start });
110
+ before += seg.length;
111
+ }
112
+ return pieces;
113
+ }
114
+ function grow(layout, seg, rel, by) {
115
+ seg.length += by;
116
+ seg.host.length += by;
117
+ for (const other of seg.host.segs) {
118
+ if (other !== seg && (by > 0 ? other.at >= rel : other.at > rel)) other.at += by;
119
+ }
120
+ invalidate(layout, seg.host.index + 1);
121
+ }
122
+ function cleanEntry(block, map) {
123
+ const span = emptySpan();
124
+ const entry = { id: block.id, map, span, regions: [], copies: [] };
125
+ span.entry = entry;
126
+ span.length = 1;
127
+ for (const [name, inline] of Object.entries(block.regions)) {
128
+ const region = { name, entry, segs: [] };
129
+ const seg = { host: span, region, at: span.length + 1, length: _chunkBTBHHBVRcjs.inlineLength.call(void 0, inline) };
130
+ region.segs.push(seg);
131
+ span.segs.push(seg);
132
+ entry.regions.push(region);
133
+ span.length += 1 + seg.length;
134
+ }
135
+ return entry;
136
+ }
137
+ function placeEntries(layout, at, count, entries) {
138
+ for (const span of layout.spans.splice(at, count, ...entries.map((entry) => entry.span))) {
139
+ if (span.entry !== null && layout.entries.get(span.entry.id) === span.entry) layout.entries.delete(span.entry.id);
140
+ const copies = _optionalChain([span, 'access', _4 => _4.copyOf, 'optionalAccess', _5 => _5.copies]);
141
+ if (_optionalChain([copies, 'optionalAccess', _6 => _6.includes, 'call', _7 => _7(span)])) copies.splice(copies.indexOf(span), 1);
142
+ }
143
+ for (const entry of entries) layout.entries.set(entry.id, entry);
144
+ invalidate(layout, at);
145
+ }
146
+ function regionOf(layout, id, name) {
147
+ const region = _optionalChain([layout, 'access', _8 => _8.entries, 'access', _9 => _9.get, 'call', _10 => _10(id), 'optionalAccess', _11 => _11.regions, 'access', _12 => _12.find, 'call', _13 => _13((candidate) => candidate.name === name)]);
148
+ if (region === void 0) throw new RangeError(`no region "${name}" in block "${id}"`);
149
+ return region;
150
+ }
151
+
152
+ // src/yjs/doc-shape.ts
153
+
154
+
155
+ // src/yjs/marks-codec.ts
156
+ var ESCAPE = "$";
157
+ var escapeKey = (key) => key in Object.prototype || key.startsWith(ESCAPE) ? ESCAPE + key : key;
158
+ var unescapeKey = (key) => key.startsWith(ESCAPE) ? key.slice(1) : key;
159
+ var onlyString = (attrs, key) => Object.keys(attrs).length === 1 && Object.hasOwn(attrs, key) && typeof attrs[key] === "string";
160
+ function markAttribute(mark) {
161
+ const key = _chunkBTBHHBVRcjs.markKey.call(void 0, mark);
162
+ const { attrs } = mark;
163
+ const stacked = key !== mark.type;
164
+ if (attrs === void 0) return [escapeKey(key), !stacked];
165
+ if (stacked && onlyString(attrs, "id")) return [escapeKey(key), true];
166
+ if (onlyString(attrs, mark.type)) return [escapeKey(key), attrs[mark.type]];
167
+ return [escapeKey(key), attrs];
168
+ }
169
+ function stackedType(key) {
170
+ const colon = key.indexOf(":");
171
+ if (colon < 1) return null;
172
+ const type = key.slice(0, colon);
173
+ const id = key.slice(colon + 1);
174
+ return _chunkBTBHHBVRcjs.markKey.call(void 0, { type, attrs: { id } }) === key ? [type, id] : null;
175
+ }
176
+ function markFromAttribute(attribute, value) {
177
+ const key = unescapeKey(attribute);
178
+ const stacked = stackedType(key);
179
+ const type = _nullishCoalesce(_optionalChain([stacked, 'optionalAccess', _14 => _14[0]]), () => ( key));
180
+ if (value === true) return stacked === null ? { type } : { type, attrs: { id: stacked[1] } };
181
+ if (value === false) return { type };
182
+ if (typeof value === "string") return { type, attrs: { [type]: value } };
183
+ return { type, attrs: value };
184
+ }
185
+ var marksToAttributes = (marks) => Object.fromEntries(marks.map(markAttribute));
186
+ var attributesToMarks = (attributes = {}) => Object.entries(attributes).map(([key, value]) => markFromAttribute(key, value));
187
+
188
+ // src/yjs/inline-codec.ts
189
+ var inlineOps = (inline) => inline.map((node) => ({
190
+ insert: node.kind === "text" ? node.text : { atom: node.type, attrs: node.attrs },
191
+ attributes: marksToAttributes(node.marks)
192
+ }));
193
+ function insertInline(target, at, inline) {
194
+ let offset = at;
195
+ for (const node of inline) {
196
+ const attributes = marksToAttributes(node.marks);
197
+ if (node.kind === "text") target.insert(offset, node.text, attributes);
198
+ else target.insertEmbed(offset, { atom: node.type, attrs: node.attrs }, attributes);
199
+ offset += _chunkBTBHHBVRcjs.nodeLength.call(void 0, node);
200
+ }
201
+ }
202
+ function nodeOf({ insert, attributes }) {
203
+ const marks = attributesToMarks(attributes);
204
+ return typeof insert === "string" ? _chunkBTBHHBVRcjs.text.call(void 0, insert, marks) : _chunkBTBHHBVRcjs.atom.call(void 0, insert.atom, insert.attrs, marks);
205
+ }
206
+ var inlineOfOps = (ops) => _chunkBTBHHBVRcjs.normalizeInline.call(void 0, ops.map(nodeOf));
207
+
208
+ // src/yjs/doc-shape.ts
209
+ var deleteText = (text2, at, length) => text2.applyDelta(at > 0 ? [{ retain: at }, { delete: length }] : [{ delete: length }]);
210
+ var regionStart = (name) => ({ r: name });
211
+ var isPlainObject = (value) => typeof value === "object" && value !== null && !(value instanceof Y.AbstractType);
212
+ var regionNameOf = (embed) => isPlainObject(embed) && typeof embed.r === "string" && embed.atom === void 0 ? embed.r : null;
213
+ var isAtomEmbed = (embed) => isPlainObject(embed) && typeof embed.atom === "string" && isPlainObject(embed.attrs);
214
+ var definedEntries = (attrs) => Object.entries(attrs).filter(([, value]) => value !== void 0);
215
+ function attrsMap(marker, attrs) {
216
+ const current = marker.get("attrs");
217
+ if (current instanceof Y.Map) return current;
218
+ marker.set("attrs", new Y.Map(definedEntries(attrs)));
219
+ return null;
220
+ }
221
+ function markerOf(block) {
222
+ return new Y.Map([
223
+ ["id", block.id],
224
+ ["type", block.type],
225
+ ["indent", block.indent],
226
+ ["attrs", new Y.Map(definedEntries(block.attrs))]
227
+ ]);
228
+ }
229
+ function readMarker(map) {
230
+ const [id, type, indent, attrs] = ["id", "type", "indent", "attrs"].map((key) => map.get(key));
231
+ if (typeof id !== "string") return null;
232
+ return {
233
+ id,
234
+ type: typeof type === "string" ? type : "",
235
+ indent: typeof indent === "number" ? indent : 0,
236
+ attrs: attrs instanceof Y.Map ? attrs : null
237
+ };
238
+ }
239
+ function blockOps(block, map, open) {
240
+ const ops = [{ insert: map, attributes: {} }];
241
+ for (const [name, inline] of Object.entries(block.regions)) {
242
+ ops.push({ insert: regionStart(name), attributes: {} });
243
+ if (name === open) break;
244
+ ops.push(...inlineOps(inline));
245
+ }
246
+ return ops;
247
+ }
248
+ var writeOps = (text2, at, ops) => text2.applyDelta(at > 0 ? [{ retain: at }, ...ops] : ops);
249
+ function writeBlock(text2, at, block, map, open) {
250
+ writeOps(text2, at, blockOps(block, map, open));
251
+ }
252
+ function writeBlocks(text2, at, blocks) {
253
+ const maps = blocks.map(markerOf);
254
+ writeOps(text2, at, blocks.flatMap((block, i) => blockOps(block, maps[i])));
255
+ return maps;
256
+ }
257
+
258
+ // src/yjs/text-steps.ts
259
+ function segAt(layout, at, item) {
260
+ const span = spanAt(layout, at, item);
261
+ const rel = at - spanStart(layout, span);
262
+ const seg = span.segs.find((candidate) => candidate.at <= rel && rel <= candidate.at + candidate.length);
263
+ return seg === void 0 ? null : { seg, rel };
264
+ }
265
+ function replaceAt(layout, { seg, rel }, removed, inline) {
266
+ const from = offsetIn(seg, rel);
267
+ grow(layout, seg, rel, _chunkBTBHHBVRcjs.inlineLength.call(void 0, inline) - removed);
268
+ return _chunkHOIDJEVIcjs.replaceInlineStep.call(void 0, seg.region.entry.id, seg.region.name, from, from + removed, inline);
269
+ }
270
+ function formatSteps(layout, at, length, attributes) {
271
+ const steps = [];
272
+ for (let span = spanAt(layout, at, true); ; span = layout.spans[span.index + 1]) {
273
+ const start = spanStart(layout, span);
274
+ if (start >= at + length) break;
275
+ for (const seg of span.segs) {
276
+ const from = Math.max(at - start, seg.at);
277
+ const to = Math.min(at + length - start, seg.at + seg.length);
278
+ if (to <= from) continue;
279
+ const { entry, name } = seg.region;
280
+ const [first, last] = [offsetIn(seg, from), offsetIn(seg, to)];
281
+ for (const [key, value] of Object.entries(attributes)) {
282
+ const mark = markFromAttribute(key, _nullishCoalesce(value, () => ( true)));
283
+ steps.push((value === null ? _chunkHOIDJEVIcjs.removeMarkStep : (0, _chunkHOIDJEVIcjs.addMarkStep))(entry.id, name, first, last, mark));
284
+ }
285
+ }
286
+ if (span.index + 1 >= layout.spans.length) break;
287
+ }
288
+ return steps;
289
+ }
290
+ function textSteps(layout, delta) {
291
+ const steps = [];
292
+ let at = 0;
293
+ for (const op of delta) {
294
+ if (op.retain !== void 0) {
295
+ if (op.attributes !== void 0) steps.push(...formatSteps(layout, at, op.retain, op.attributes));
296
+ at += op.retain;
297
+ } else if (op.delete !== void 0) {
298
+ const found = segAt(layout, at, true);
299
+ if (found === null || found.rel + op.delete > found.seg.at + found.seg.length) return null;
300
+ steps.push(replaceAt(layout, found, op.delete, []));
301
+ } else {
302
+ const found = typeof op.insert === "string" || isAtomEmbed(op.insert) ? segAt(layout, at, false) : null;
303
+ if (found === null) return null;
304
+ const inline = inlineOfOps([op]);
305
+ steps.push(replaceAt(layout, found, 0, inline));
306
+ at += _chunkBTBHHBVRcjs.inlineLength.call(void 0, inline);
307
+ }
308
+ }
309
+ return steps;
310
+ }
311
+
312
+ // src/yjs/carets.ts
313
+ function relative(text2, layout, pos) {
314
+ const { seg, rel } = pointOf(regionOf(layout, pos.block, pos.region), pos.offset);
315
+ return Y2.createRelativePositionFromTypeIndex(text2, spanStart(layout, seg.host) + rel, -1);
316
+ }
317
+ function absolute(text2, layout, held) {
318
+ const found = Y2.createAbsolutePositionFromRelativePosition(held, text2.doc);
319
+ if (found === null || found.type !== text2) return null;
320
+ const at = segAt(layout, found.index, false);
321
+ if (at === null) return null;
322
+ const { seg, rel } = at;
323
+ return { block: seg.region.entry.id, region: seg.region.name, offset: offsetIn(seg, rel) };
324
+ }
325
+ function holdSelection(text2, layout, selection) {
326
+ if (_optionalChain([selection, 'optionalAccess', _15 => _15.kind]) !== "text") return null;
327
+ try {
328
+ return { anchor: relative(text2, layout, selection.anchor), head: relative(text2, layout, selection.head) };
329
+ } catch (e) {
330
+ return null;
331
+ }
332
+ }
333
+ function restoreSelection(text2, layout, held) {
334
+ if (held === null) return null;
335
+ const [anchor, head] = [absolute(text2, layout, held.anchor), absolute(text2, layout, held.head)];
336
+ return anchor === null || head === null ? null : { kind: "text", anchor, head };
337
+ }
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+
370
+
371
+
372
+
373
+
374
+
375
+ exports.sharedChange = sharedChange; exports.applyRemote = applyRemote; exports.emptySpan = emptySpan; exports.createLayout = createLayout; exports.spanStart = spanStart; exports.indexOf = indexOf; exports.textLength = textLength; exports.spanAt = spanAt; exports.offsetIn = offsetIn; exports.pointOf = pointOf; exports.piecesOf = piecesOf; exports.grow = grow; exports.cleanEntry = cleanEntry; exports.placeEntries = placeEntries; exports.regionOf = regionOf; exports.markAttribute = markAttribute; exports.insertInline = insertInline; exports.inlineOfOps = inlineOfOps; exports.deleteText = deleteText; exports.regionStart = regionStart; exports.regionNameOf = regionNameOf; exports.isAtomEmbed = isAtomEmbed; exports.definedEntries = definedEntries; exports.attrsMap = attrsMap; exports.markerOf = markerOf; exports.readMarker = readMarker; exports.writeBlock = writeBlock; exports.writeBlocks = writeBlocks; exports.textSteps = textSteps; exports.relative = relative; exports.absolute = absolute; exports.holdSelection = holdSelection; exports.restoreSelection = restoreSelection; exports.holdBinding = holdBinding; exports.sharedOf = sharedOf;
376
+ //# sourceMappingURL=chunk-MLRAVUFG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["chunk-MLRAVUFG.cjs","../src/engine/collab/apply-remote.ts","../src/yjs/bound.ts","../src/yjs/carets.ts","../src/yjs/layout.ts","../src/yjs/doc-shape.ts","../src/yjs/marks-codec.ts","../src/yjs/inline-codec.ts","../src/yjs/text-steps.ts"],"names":["text"],"mappings":"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","file":"/home/runner/work/quoin-editor/quoin-editor/dist/chunk-MLRAVUFG.cjs"}
@@ -0,0 +1,14 @@
1
+ // src/extensions/overflow-clip.ts
2
+ function clipBoxes(host, root) {
3
+ const boxes = [];
4
+ for (let element = host.parentElement; element && element !== root; element = element.parentElement) {
5
+ const { overflowX, overflowY } = getComputedStyle(element);
6
+ if (overflowX + overflowY !== "visiblevisible") boxes.push(element.getBoundingClientRect());
7
+ }
8
+ return boxes;
9
+ }
10
+
11
+ export {
12
+ clipBoxes
13
+ };
14
+ //# sourceMappingURL=chunk-MQUCCSWG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/extensions/overflow-clip.ts"],"mappings":";AACO,SAAS,UAAU,MAAmB,MAA8B;AACzE,QAAM,QAAmB,CAAC;AAC1B,WAAS,UAAU,KAAK,eAAe,WAAW,YAAY,MAAM,UAAU,QAAQ,eAAe;AACnG,UAAM,EAAE,WAAW,UAAU,IAAI,iBAAiB,OAAO;AACzD,QAAI,YAAY,cAAc,iBAAkB,OAAM,KAAK,QAAQ,sBAAsB,CAAC;AAAA,EAC5F;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1,62 @@
1
+ // src/registry.ts
2
+ function defineBlock(definition) {
3
+ return definition;
4
+ }
5
+ function blockByType(definitions, type) {
6
+ for (let i = definitions.length - 1; i >= 0; i -= 1) {
7
+ if (definitions[i].type === type) return definitions[i];
8
+ }
9
+ return void 0;
10
+ }
11
+ function paletteBlocks(definitions) {
12
+ const seen2 = /* @__PURE__ */ new Set();
13
+ const out = [];
14
+ for (let i = definitions.length - 1; i >= 0; i -= 1) {
15
+ const d = definitions[i];
16
+ if (seen2.has(d.type)) continue;
17
+ seen2.add(d.type);
18
+ if (d.inSlashPalette === false) continue;
19
+ out.push(d);
20
+ }
21
+ return out.reverse();
22
+ }
23
+
24
+ // src/dev-warn.ts
25
+ var seen = /* @__PURE__ */ new Set();
26
+ function devWarn(message) {
27
+ if (typeof process !== "undefined" && process?.env?.NODE_ENV === "production") return;
28
+ if (seen.has(message)) return;
29
+ seen.add(message);
30
+ console.warn(`Quoin: ${message}`);
31
+ }
32
+
33
+ // src/blocks/code/code-highlighter.ts
34
+ var spelled = (lines) => lines.map((line) => line.map((token) => token.text).join("")).join("\n");
35
+ function tokensOf(highlight, code, language) {
36
+ try {
37
+ const lines = highlight(code, language);
38
+ return Array.isArray(lines) && spelled(lines) === code ? lines : null;
39
+ } catch {
40
+ return null;
41
+ }
42
+ }
43
+ function highlightedLines(highlight, code, language) {
44
+ if (highlight === void 0) return null;
45
+ const lines = tokensOf(highlight, code, language);
46
+ if (lines === null) devWarn("`highlight` failed or its tokens do not spell the code; it is drawn as plain text.");
47
+ return lines;
48
+ }
49
+
50
+ // src/blocks/code/token-colour.ts
51
+ var UNSAFE = /[;{}\\"'<>!]|\/\*|(?:url|image|image-set|expression)\(/i;
52
+ var tokenColour = (color) => color !== void 0 && !UNSAFE.test(color) ? color : void 0;
53
+
54
+ export {
55
+ defineBlock,
56
+ blockByType,
57
+ paletteBlocks,
58
+ devWarn,
59
+ highlightedLines,
60
+ tokenColour
61
+ };
62
+ //# sourceMappingURL=chunk-O4Z2WMFF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/registry.ts","../src/dev-warn.ts","../src/blocks/code/code-highlighter.ts","../src/blocks/code/token-colour.ts"],"mappings":";AAsEO,SAAS,YACd,YACoB;AACpB,SAAO;AACT;AAGO,SAAS,YACd,aACA,MACgC;AAChC,WAAS,IAAI,YAAY,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG;AACnD,QAAI,YAAY,CAAC,EAAE,SAAS,KAAM,QAAO,YAAY,CAAC;AAAA,EACxD;AACA,SAAO;AACT;AAGO,SAAS,cAAc,aAAyD;AACrF,QAAMA,QAAO,oBAAI,IAAY;AAC7B,QAAM,MAA4B,CAAC;AACnC,WAAS,IAAI,YAAY,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG;AACnD,UAAM,IAAI,YAAY,CAAC;AACvB,QAAIA,MAAK,IAAI,EAAE,IAAI,EAAG;AAItB,IAAAA,MAAK,IAAI,EAAE,IAAI;AACf,QAAI,EAAE,mBAAmB,MAAO;AAChC,QAAI,KAAK,CAAC;AAAA,EACZ;AACA,SAAO,IAAI,QAAQ;AACrB;;;ACjGA,IAAM,OAAO,oBAAI,IAAY;AAGtB,SAAS,QAAQ,SAAuB;AAC7C,MAAI,OAAO,YAAY,eAAe,SAAS,KAAK,aAAa,aAAc;AAC/E,MAAI,KAAK,IAAI,OAAO,EAAG;AACvB,OAAK,IAAI,OAAO;AAChB,UAAQ,KAAK,UAAU,OAAO,EAAE;AAClC;;;ACDA,IAAM,UAAU,CAAC,UACf,MAAM,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU,MAAM,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI;AAIzE,SAAS,SAAS,WAA4B,MAAc,UAAwC;AAClG,MAAI;AACF,UAAM,QAAiB,UAAU,MAAM,QAAQ;AAC/C,WAAO,MAAM,QAAQ,KAAK,KAAK,QAAQ,KAAK,MAAM,OAAO,QAAQ;AAAA,EACnE,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGO,SAAS,iBAAiB,WAAwC,MAAc,UAAwC;AAC7H,MAAI,cAAc,OAAW,QAAO;AACpC,QAAM,QAAQ,SAAS,WAAW,MAAM,QAAQ;AAChD,MAAI,UAAU,KAAM,SAAQ,oFAAoF;AAChH,SAAO;AACT;;;AC/BA,IAAM,SAAS;AAOR,IAAM,cAAc,CAAC,UAA+B,UAAU,UAAa,CAAC,OAAO,KAAK,KAAK,IAAI,QAAQ;","names":["seen"]}
@@ -0,0 +1,25 @@
1
+ import {
2
+ sanitizeHref
3
+ } from "./chunk-62WKUAQY.js";
4
+
5
+ // src/extensions/web-address.ts
6
+ var WEB = /^https?:\/\/[^/?#\s]/i;
7
+ function webAddress(value) {
8
+ const href = typeof value === "string" ? sanitizeHref(value) : null;
9
+ return href !== null && WEB.test(href) ? href : null;
10
+ }
11
+ function domainOf(value) {
12
+ const href = webAddress(value);
13
+ if (href === null) return null;
14
+ try {
15
+ return new URL(href).hostname.replace(/^www\./i, "");
16
+ } catch {
17
+ return null;
18
+ }
19
+ }
20
+
21
+ export {
22
+ webAddress,
23
+ domainOf
24
+ };
25
+ //# sourceMappingURL=chunk-OCCKQHCY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/extensions/web-address.ts"],"mappings":";;;;;AAEA,IAAM,MAAM;AAGL,SAAS,WAAW,OAA+B;AACxD,QAAM,OAAO,OAAO,UAAU,WAAW,aAAa,KAAK,IAAI;AAC/D,SAAO,SAAS,QAAQ,IAAI,KAAK,IAAI,IAAI,OAAO;AAClD;AAGO,SAAS,SAAS,OAA8B;AACrD,QAAM,OAAO,WAAW,KAAK;AAC7B,MAAI,SAAS,KAAM,QAAO;AAC1B,MAAI;AACF,WAAO,IAAI,IAAI,IAAI,EAAE,SAAS,QAAQ,WAAW,EAAE;AAAA,EACrD,QAAQ;AACN,WAAO;AAAA,EACT;AACF;","names":[]}