quoin-editor 1.0.0 → 1.0.2

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 (213) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/dist/ai.cjs +135 -94
  3. package/dist/ai.cjs.map +1 -1
  4. package/dist/ai.d.cts +1 -1
  5. package/dist/ai.d.ts +1 -1
  6. package/dist/ai.js +62 -21
  7. package/dist/ai.js.map +1 -1
  8. package/dist/catalogue.cjs +25 -25
  9. package/dist/catalogue.d.cts +6 -6
  10. package/dist/catalogue.d.ts +6 -6
  11. package/dist/catalogue.js +17 -17
  12. package/dist/{chunk-ND5XJVK2.cjs → chunk-4SLJNZSM.cjs} +27 -23
  13. package/dist/chunk-4SLJNZSM.cjs.map +1 -0
  14. package/dist/{chunk-LCQSG4M6.js → chunk-4XFXB37X.js} +22 -18
  15. package/dist/chunk-4XFXB37X.js.map +1 -0
  16. package/dist/{chunk-AEJXZBVR.cjs → chunk-5MAYUGTE.cjs} +110 -103
  17. package/dist/chunk-5MAYUGTE.cjs.map +1 -0
  18. package/dist/{chunk-JDPTZUBW.js → chunk-623AOJM2.js} +4 -4
  19. package/dist/chunk-6NULZPVC.js +374 -0
  20. package/dist/chunk-6NULZPVC.js.map +1 -0
  21. package/dist/{chunk-2QCRZ7OL.cjs → chunk-6V6GGBDK.cjs} +12 -11
  22. package/dist/{chunk-2QCRZ7OL.cjs.map → chunk-6V6GGBDK.cjs.map} +1 -1
  23. package/dist/{chunk-WXMYDXPN.cjs → chunk-73653CJ4.cjs} +4 -3
  24. package/dist/chunk-73653CJ4.cjs.map +1 -0
  25. package/dist/{chunk-47MLKSI2.js → chunk-ADSJ42DO.js} +6 -6
  26. package/dist/{chunk-PWUEPDA3.cjs → chunk-AUOEM3SF.cjs} +44 -44
  27. package/dist/{chunk-PWUEPDA3.cjs.map → chunk-AUOEM3SF.cjs.map} +1 -1
  28. package/dist/{chunk-WQHV3MRE.cjs → chunk-BQANU5BH.cjs} +12 -12
  29. package/dist/{chunk-WQHV3MRE.cjs.map → chunk-BQANU5BH.cjs.map} +1 -1
  30. package/dist/{chunk-KXOBZGQO.js → chunk-C23RQVRK.js} +21 -14
  31. package/dist/chunk-C23RQVRK.js.map +1 -0
  32. package/dist/{chunk-2VDK27IF.cjs → chunk-CW3AFJBR.cjs} +312 -342
  33. package/dist/chunk-CW3AFJBR.cjs.map +1 -0
  34. package/dist/{chunk-MQ2XQ4MX.js → chunk-DUE3HCZD.js} +6 -6
  35. package/dist/chunk-DUE3HCZD.js.map +1 -0
  36. package/dist/{chunk-OMOBMXD5.cjs → chunk-EH5KXQXY.cjs} +7 -2
  37. package/dist/chunk-EH5KXQXY.cjs.map +1 -0
  38. package/dist/{chunk-ZS2WA357.js → chunk-EPARJI4V.js} +147 -129
  39. package/dist/chunk-EPARJI4V.js.map +1 -0
  40. package/dist/{chunk-HZSSEYJS.cjs → chunk-FDRUAL3Z.cjs} +30 -30
  41. package/dist/{chunk-HZSSEYJS.cjs.map → chunk-FDRUAL3Z.cjs.map} +1 -1
  42. package/dist/{chunk-T7SW6OWV.js → chunk-IQBMAE3F.js} +5 -5
  43. package/dist/{chunk-RUDWMKYX.js → chunk-JHQUHFLX.js} +8 -8
  44. package/dist/{chunk-HELJTLNC.cjs → chunk-KUYZMSMF.cjs} +12 -12
  45. package/dist/chunk-KUYZMSMF.cjs.map +1 -0
  46. package/dist/chunk-LE5XMIFJ.cjs +14 -0
  47. package/dist/chunk-LE5XMIFJ.cjs.map +1 -0
  48. package/dist/{chunk-EL2OEJQC.cjs → chunk-LLTEGXWZ.cjs} +56 -56
  49. package/dist/{chunk-EL2OEJQC.cjs.map → chunk-LLTEGXWZ.cjs.map} +1 -1
  50. package/dist/chunk-MQUCCSWG.js +14 -0
  51. package/dist/chunk-MQUCCSWG.js.map +1 -0
  52. package/dist/{chunk-NNDYYEW5.js → chunk-N4FGA3H4.js} +5 -5
  53. package/dist/{chunk-ZHOSSWUM.js → chunk-NEZJ7ZP5.js} +4 -3
  54. package/dist/chunk-NEZJ7ZP5.js.map +1 -0
  55. package/dist/{chunk-XEBWC7ZL.js → chunk-O4Z2WMFF.js} +7 -2
  56. package/dist/chunk-O4Z2WMFF.js.map +1 -0
  57. package/dist/{chunk-HJIQT3S5.js → chunk-OBMBSU2S.js} +100 -84
  58. package/dist/chunk-OBMBSU2S.js.map +1 -0
  59. package/dist/{chunk-KAVU6T6J.js → chunk-OSHZQR3W.js} +5 -5
  60. package/dist/{chunk-GTTPVJSD.cjs → chunk-P6KYXFZC.cjs} +265 -247
  61. package/dist/chunk-P6KYXFZC.cjs.map +1 -0
  62. package/dist/{chunk-CDELOHDY.cjs → chunk-R2BLBV43.cjs} +23 -23
  63. package/dist/{chunk-CDELOHDY.cjs.map → chunk-R2BLBV43.cjs.map} +1 -1
  64. package/dist/{chunk-NOKWNK2O.js → chunk-RJRX34BZ.js} +3 -2
  65. package/dist/{chunk-ZGZEJCRV.js → chunk-T43RZTUT.js} +166 -196
  66. package/dist/chunk-T43RZTUT.js.map +1 -0
  67. package/dist/chunk-TLGX43P6.cjs +374 -0
  68. package/dist/chunk-TLGX43P6.cjs.map +1 -0
  69. package/dist/{chunk-POBM7MGR.js → chunk-U3LOLYAU.js} +2 -2
  70. package/dist/{chunk-RDG4VI6E.cjs → chunk-UEKXVCKC.cjs} +103 -93
  71. package/dist/chunk-UEKXVCKC.cjs.map +1 -0
  72. package/dist/{chunk-PMWCQSQX.js → chunk-VCLL5C7J.js} +5 -5
  73. package/dist/{chunk-SG37UBDO.js → chunk-VRS6WCEK.js} +20 -10
  74. package/dist/chunk-VRS6WCEK.js.map +1 -0
  75. package/dist/{chunk-ZC24WB7Y.cjs → chunk-WEYDDIBQ.cjs} +14 -14
  76. package/dist/{chunk-ZC24WB7Y.cjs.map → chunk-WEYDDIBQ.cjs.map} +1 -1
  77. package/dist/{chunk-5DNCCN6X.cjs → chunk-X4HDKFW5.cjs} +27 -27
  78. package/dist/{chunk-5DNCCN6X.cjs.map → chunk-X4HDKFW5.cjs.map} +1 -1
  79. package/dist/{chunk-SLVDAHHK.cjs → chunk-X4P4TQXH.cjs} +5 -5
  80. package/dist/{chunk-SLVDAHHK.cjs.map → chunk-X4P4TQXH.cjs.map} +1 -1
  81. package/dist/{chunk-GLLXHMH2.cjs → chunk-XA3UEJIW.cjs} +3 -3
  82. package/dist/{chunk-GLLXHMH2.cjs.map → chunk-XA3UEJIW.cjs.map} +1 -1
  83. package/dist/{chunk-K574XHMM.js → chunk-YBMUEEM5.js} +2 -2
  84. package/dist/{chunk-PZ4GT5JO.cjs → chunk-ZKVOS57Q.cjs} +316 -300
  85. package/dist/chunk-ZKVOS57Q.cjs.map +1 -0
  86. package/dist/comments.cjs +113 -98
  87. package/dist/comments.cjs.map +1 -1
  88. package/dist/comments.d.cts +6 -1
  89. package/dist/comments.d.ts +6 -1
  90. package/dist/comments.js +32 -17
  91. package/dist/comments.js.map +1 -1
  92. package/dist/diff.cjs +44 -40
  93. package/dist/diff.cjs.map +1 -1
  94. package/dist/diff.js +17 -13
  95. package/dist/diff.js.map +1 -1
  96. package/dist/docx.cjs +60 -40
  97. package/dist/docx.cjs.map +1 -1
  98. package/dist/docx.d.cts +6 -0
  99. package/dist/docx.d.ts +6 -0
  100. package/dist/docx.js +32 -12
  101. package/dist/docx.js.map +1 -1
  102. package/dist/embed.cjs +9 -9
  103. package/dist/embed.d.cts +1 -1
  104. package/dist/embed.d.ts +1 -1
  105. package/dist/embed.js +8 -8
  106. package/dist/{emoji-extension-DpQ43HjE.d.ts → emoji-extension-CmPlRssm.d.ts} +1 -1
  107. package/dist/{emoji-extension-C12gDPm6.d.cts → emoji-extension-zJ6F7hW8.d.cts} +1 -1
  108. package/dist/emoji.cjs +8 -8
  109. package/dist/emoji.d.cts +3 -3
  110. package/dist/emoji.d.ts +3 -3
  111. package/dist/emoji.js +7 -7
  112. package/dist/engine.cjs +4 -4
  113. package/dist/engine.d.cts +2 -2
  114. package/dist/engine.d.ts +2 -2
  115. package/dist/engine.js +3 -3
  116. package/dist/{find-extension-_sbZEt3R.d.cts → find-extension-BcRyE9K4.d.cts} +1 -1
  117. package/dist/{find-extension-DKqLLSuP.d.ts → find-extension-CmFehyul.d.ts} +1 -1
  118. package/dist/find.cjs +8 -8
  119. package/dist/find.d.cts +2 -2
  120. package/dist/find.d.ts +2 -2
  121. package/dist/find.js +7 -7
  122. package/dist/headless.cjs +5 -5
  123. package/dist/headless.d.cts +4 -4
  124. package/dist/headless.d.ts +4 -4
  125. package/dist/headless.js +4 -4
  126. package/dist/{index-CgD72kHB.d.cts → index-CFPmCee4.d.cts} +5 -2
  127. package/dist/{index-DNYbTK3w.d.ts → index-DiCGV60d.d.ts} +5 -2
  128. package/dist/index.cjs +7 -7
  129. package/dist/index.d.cts +4 -4
  130. package/dist/index.d.ts +4 -4
  131. package/dist/index.js +6 -6
  132. package/dist/math.cjs +10 -10
  133. package/dist/math.d.cts +1 -1
  134. package/dist/math.d.ts +1 -1
  135. package/dist/math.js +9 -9
  136. package/dist/mention.cjs +10 -10
  137. package/dist/mention.d.cts +1 -1
  138. package/dist/mention.d.ts +1 -1
  139. package/dist/mention.js +9 -9
  140. package/dist/presence.cjs +98 -104
  141. package/dist/presence.cjs.map +1 -1
  142. package/dist/presence.d.cts +2 -2
  143. package/dist/presence.d.ts +2 -2
  144. package/dist/presence.js +66 -72
  145. package/dist/presence.js.map +1 -1
  146. package/dist/{stats-extension-Bly88uio.d.ts → stats-extension-DisOEbbI.d.ts} +1 -1
  147. package/dist/{stats-extension-CJPijvUb.d.cts → stats-extension-Dt1lgP3m.d.cts} +1 -1
  148. package/dist/stats.cjs +9 -9
  149. package/dist/stats.d.cts +3 -3
  150. package/dist/stats.d.ts +3 -3
  151. package/dist/stats.js +8 -8
  152. package/dist/styles.css +1 -1
  153. package/dist/{table-extension-Dzf4k6hI.d.ts → table-extension-BTMJnT7J.d.ts} +1 -1
  154. package/dist/{table-extension-BTLxFy2S.d.cts → table-extension-DxZz3jqp.d.cts} +1 -1
  155. package/dist/table.cjs +8 -8
  156. package/dist/table.d.cts +2 -2
  157. package/dist/table.d.ts +2 -2
  158. package/dist/table.js +7 -7
  159. package/dist/{toc-extension-DWm5alVj.d.ts → toc-extension-CR9U-l6j.d.ts} +1 -1
  160. package/dist/{toc-extension-B3-s6h2x.d.cts → toc-extension-DGHywOBv.d.cts} +1 -1
  161. package/dist/toc.cjs +8 -8
  162. package/dist/toc.d.cts +2 -2
  163. package/dist/toc.d.ts +2 -2
  164. package/dist/toc.js +7 -7
  165. package/dist/{types-a1CRBlEh.d.ts → types-C6_QkXzy.d.ts} +1 -9
  166. package/dist/{types-Cz7XJLaK.d.cts → types-CJ7Gq3GX.d.cts} +1 -9
  167. package/dist/{view-controller-DSHw0ltQ.d.cts → view-controller-BD1KwYfE.d.cts} +6 -19
  168. package/dist/{view-controller-UbpzblGl.d.ts → view-controller-y4cb60ue.d.ts} +6 -19
  169. package/dist/view.cjs +6 -6
  170. package/dist/view.js +3 -3
  171. package/dist/yjs.cjs +302 -412
  172. package/dist/yjs.cjs.map +1 -1
  173. package/dist/yjs.d.cts +3 -3
  174. package/dist/yjs.d.ts +3 -3
  175. package/dist/yjs.js +211 -321
  176. package/dist/yjs.js.map +1 -1
  177. package/package.json +1 -1
  178. package/dist/chunk-2VDK27IF.cjs.map +0 -1
  179. package/dist/chunk-AEJXZBVR.cjs.map +0 -1
  180. package/dist/chunk-E75EHRPA.cjs +0 -175
  181. package/dist/chunk-E75EHRPA.cjs.map +0 -1
  182. package/dist/chunk-GTTPVJSD.cjs.map +0 -1
  183. package/dist/chunk-HELJTLNC.cjs.map +0 -1
  184. package/dist/chunk-HJIQT3S5.js.map +0 -1
  185. package/dist/chunk-JEIFJHEI.js +0 -14
  186. package/dist/chunk-JEIFJHEI.js.map +0 -1
  187. package/dist/chunk-KXOBZGQO.js.map +0 -1
  188. package/dist/chunk-LCQSG4M6.js.map +0 -1
  189. package/dist/chunk-MQ2XQ4MX.js.map +0 -1
  190. package/dist/chunk-ND5XJVK2.cjs.map +0 -1
  191. package/dist/chunk-OMOBMXD5.cjs.map +0 -1
  192. package/dist/chunk-PZ4GT5JO.cjs.map +0 -1
  193. package/dist/chunk-QAW5NH6S.cjs +0 -14
  194. package/dist/chunk-QAW5NH6S.cjs.map +0 -1
  195. package/dist/chunk-RDG4VI6E.cjs.map +0 -1
  196. package/dist/chunk-SG37UBDO.js.map +0 -1
  197. package/dist/chunk-TC4DARU2.js +0 -175
  198. package/dist/chunk-TC4DARU2.js.map +0 -1
  199. package/dist/chunk-WXMYDXPN.cjs.map +0 -1
  200. package/dist/chunk-XEBWC7ZL.js.map +0 -1
  201. package/dist/chunk-ZGZEJCRV.js.map +0 -1
  202. package/dist/chunk-ZHOSSWUM.js.map +0 -1
  203. package/dist/chunk-ZS2WA357.js.map +0 -1
  204. /package/dist/{chunk-JDPTZUBW.js.map → chunk-623AOJM2.js.map} +0 -0
  205. /package/dist/{chunk-47MLKSI2.js.map → chunk-ADSJ42DO.js.map} +0 -0
  206. /package/dist/{chunk-T7SW6OWV.js.map → chunk-IQBMAE3F.js.map} +0 -0
  207. /package/dist/{chunk-RUDWMKYX.js.map → chunk-JHQUHFLX.js.map} +0 -0
  208. /package/dist/{chunk-NNDYYEW5.js.map → chunk-N4FGA3H4.js.map} +0 -0
  209. /package/dist/{chunk-KAVU6T6J.js.map → chunk-OSHZQR3W.js.map} +0 -0
  210. /package/dist/{chunk-NOKWNK2O.js.map → chunk-RJRX34BZ.js.map} +0 -0
  211. /package/dist/{chunk-POBM7MGR.js.map → chunk-U3LOLYAU.js.map} +0 -0
  212. /package/dist/{chunk-PMWCQSQX.js.map → chunk-VCLL5C7J.js.map} +0 -0
  213. /package/dist/{chunk-K574XHMM.js.map → chunk-YBMUEEM5.js.map} +0 -0
@@ -1,6 +1,7 @@
1
1
  import {
2
+ diffSequences,
2
3
  sameValue
3
- } from "./chunk-NOKWNK2O.js";
4
+ } from "./chunk-RJRX34BZ.js";
4
5
  import {
5
6
  ALERT_TONES,
6
7
  MAX_MARKER_NUMBER,
@@ -55,7 +56,7 @@ import {
55
56
  text,
56
57
  updateBlock,
57
58
  writtenAttrs
58
- } from "./chunk-LCQSG4M6.js";
59
+ } from "./chunk-4XFXB37X.js";
59
60
 
60
61
  // src/engine/transform/step.ts
61
62
  var StepError = class extends Error {
@@ -300,10 +301,31 @@ function commonSuffix(a, b) {
300
301
  }
301
302
 
302
303
  // src/engine/transform/map-text-change.ts
304
+ var DIFF_LIMIT = 1e3;
303
305
  function mapTextChange(before, after) {
304
306
  const from = commonPrefix(before, after);
305
- const inserted = from + commonSuffix(before, after) >= before.length;
306
- return (offset, assoc) => offset > from || offset === from && inserted && assoc > 0 ? Math.max(offset + after.length - before.length, from) : offset;
307
+ const to = Math.min(commonSuffix(before, after), before.length - from, after.length - from);
308
+ const removed = before.slice(from, before.length - to);
309
+ const added = after.slice(from, after.length - to);
310
+ const ops = removed.length + added.length > DIFF_LIMIT ? [
311
+ { op: "delete", items: removed },
312
+ { op: "insert", items: added }
313
+ ] : diffSequences(removed.split(""), added.split(""));
314
+ return (offset, assoc) => {
315
+ let b = from;
316
+ let a = from;
317
+ let replaced = false;
318
+ if (offset < b) return offset;
319
+ for (const { op, items } of ops) {
320
+ const n = items.length;
321
+ if (op !== "insert" && offset < b + n) return op === "equal" ? a + offset - b : a;
322
+ if (op === "insert" && offset === b && !replaced && assoc < 0) return a;
323
+ replaced = op === "delete" && n > 0;
324
+ if (op !== "insert") b += n;
325
+ if (op !== "delete") a += n;
326
+ }
327
+ return a + offset - b;
328
+ };
307
329
  }
308
330
 
309
331
  // src/engine/transform/replace-doc-step.ts
@@ -405,72 +427,66 @@ function docOf(blocks) {
405
427
  return createDoc(blocks);
406
428
  }
407
429
  function reader(json) {
408
- const read = (key, accept) => {
430
+ return (key, accept) => {
409
431
  const value = json[key];
410
432
  if (!accept(value)) throw new StepError(`invalid "${key}" in a ${json.stepType} step`);
411
433
  return value;
412
434
  };
413
- return {
414
- string: (key) => read(key, isString),
415
- integer: (key) => read(key, isInteger),
416
- inline: (key) => read(key, isInline),
417
- record: (key) => read(key, isRecord),
418
- mark: (key) => read(key, isMark),
419
- markOrType: (key) => read(key, isMarkOrType),
420
- block: (key) => read(key, isBlock),
421
- blocks: (key) => read(key, areBlocks),
422
- created: (key) => read(key, isCreated)
423
- };
424
435
  }
425
436
  function stepFromJSON(json) {
426
- const get = reader(json);
437
+ const read = reader(json);
427
438
  switch (json.stepType) {
428
439
  case "replaceInline":
429
440
  return replaceInlineStep(
430
- get.string("block"),
431
- get.string("region"),
432
- get.integer("from"),
433
- get.integer("to"),
434
- get.inline("slice")
441
+ read("block", isString),
442
+ read("region", isString),
443
+ read("from", isInteger),
444
+ read("to", isInteger),
445
+ read("slice", isInline)
435
446
  );
436
447
  case "addMark":
437
448
  return addMarkStep(
438
- get.string("block"),
439
- get.string("region"),
440
- get.integer("from"),
441
- get.integer("to"),
442
- get.mark("mark")
449
+ read("block", isString),
450
+ read("region", isString),
451
+ read("from", isInteger),
452
+ read("to", isInteger),
453
+ read("mark", isMark)
443
454
  );
444
455
  case "removeMark":
445
456
  return removeMarkStep(
446
- get.string("block"),
447
- get.string("region"),
448
- get.integer("from"),
449
- get.integer("to"),
450
- get.markOrType("mark")
457
+ read("block", isString),
458
+ read("region", isString),
459
+ read("from", isInteger),
460
+ read("to", isInteger),
461
+ read("mark", isMarkOrType)
451
462
  );
452
463
  case "setAttrs":
453
- return setAttrsStep(get.string("block"), patchFromJSON(get.record("patch")));
464
+ return setAttrsStep(read("block", isString), patchFromJSON(read("patch", isRecord)));
454
465
  case "setIndent":
455
- return setIndentStep(get.string("block"), get.integer("indent"));
466
+ return setIndentStep(read("block", isString), read("indent", isInteger));
456
467
  case "insertBlocks":
457
- return insertBlocksStep(get.integer("index"), get.blocks("blocks"));
468
+ return insertBlocksStep(read("index", isInteger), read("blocks", areBlocks));
458
469
  case "removeBlocks":
459
- return removeBlocksStep(get.integer("index"), get.integer("count"));
470
+ return removeBlocksStep(read("index", isInteger), read("count", isInteger));
460
471
  case "moveBlocks":
461
- return moveBlocksStep(get.integer("from"), get.integer("count"), get.integer("to"));
472
+ return moveBlocksStep(read("from", isInteger), read("count", isInteger), read("to", isInteger));
462
473
  case "replaceBlock":
463
- return replaceBlockStep(get.block("block"));
474
+ return replaceBlockStep(read("block", isBlock));
464
475
  case "replaceDoc":
465
- return replaceDocStep(docOf(get.blocks("blocks")));
476
+ return replaceDocStep(docOf(read("blocks", areBlocks)));
466
477
  case "splitBlock":
467
- return splitBlockStep(get.string("block"), get.string("region"), get.integer("offset"), get.created("created"));
478
+ return splitBlockStep(
479
+ read("block", isString),
480
+ read("region", isString),
481
+ read("offset", isInteger),
482
+ read("created", isCreated)
483
+ );
468
484
  case "joinBlocks":
469
485
  return joinBlocksStep(
470
- get.string("target"),
471
- get.string("targetRegion"),
472
- get.string("source"),
473
- get.string("sourceRegion")
486
+ read("target", isString),
487
+ read("targetRegion", isString),
488
+ read("source", isString),
489
+ read("sourceRegion", isString)
474
490
  );
475
491
  default:
476
492
  throw new StepError(`unknown step type "${json.stepType}"`);
@@ -741,51 +757,51 @@ var UNFILTERED = "unfiltered";
741
757
  var Transaction = class {
742
758
  before;
743
759
  time;
744
- currentDoc;
745
- currentSelection;
746
- currentStoredMarks;
747
- selectionWasSet = false;
748
- storedMarksWereSet = false;
749
- stepList = [];
750
- docList = [];
751
- mapList = [];
752
- metaValues = /* @__PURE__ */ new Map();
760
+ #currentDoc;
761
+ #currentSelection;
762
+ #currentStoredMarks;
763
+ #selectionWasSet = false;
764
+ #storedMarksWereSet = false;
765
+ #stepList = [];
766
+ #docList = [];
767
+ #mapList = [];
768
+ #metaValues = /* @__PURE__ */ new Map();
753
769
  constructor(state, time = state.clock()) {
754
770
  this.before = state;
755
771
  this.time = time;
756
- this.currentDoc = state.doc;
757
- this.currentSelection = state.selection;
758
- this.currentStoredMarks = state.storedMarks;
772
+ this.#currentDoc = state.doc;
773
+ this.#currentSelection = state.selection;
774
+ this.#currentStoredMarks = state.storedMarks;
759
775
  }
760
776
  get doc() {
761
- return this.currentDoc;
777
+ return this.#currentDoc;
762
778
  }
763
779
  get docs() {
764
- return this.docList;
780
+ return this.#docList;
765
781
  }
766
782
  get steps() {
767
- return this.stepList;
783
+ return this.#stepList;
768
784
  }
769
785
  get maps() {
770
- return this.mapList;
786
+ return this.#mapList;
771
787
  }
772
788
  get docChanged() {
773
- return this.stepList.length > 0;
789
+ return this.#stepList.length > 0;
774
790
  }
775
791
  get selection() {
776
- return this.currentSelection;
792
+ return this.#currentSelection;
777
793
  }
778
794
  get selectionSet() {
779
- return this.selectionWasSet;
795
+ return this.#selectionWasSet;
780
796
  }
781
797
  get storedMarks() {
782
- return this.currentStoredMarks;
798
+ return this.#currentStoredMarks;
783
799
  }
784
800
  get storedMarksSet() {
785
- return this.storedMarksWereSet;
801
+ return this.#storedMarksWereSet;
786
802
  }
787
803
  get meta() {
788
- return this.metaValues;
804
+ return this.#metaValues;
789
805
  }
790
806
  get origin() {
791
807
  return this.getMeta("origin") ?? "command";
@@ -794,14 +810,14 @@ var Transaction = class {
794
810
  return this.getMeta("addToHistory") !== false;
795
811
  }
796
812
  step(step) {
797
- const { doc, map } = step.apply(this.currentDoc);
798
- if (this.currentSelection !== null) {
799
- this.currentSelection = mapSelection(this.currentSelection, map, this.currentDoc);
813
+ const { doc, map } = step.apply(this.#currentDoc);
814
+ if (this.#currentSelection !== null) {
815
+ this.#currentSelection = mapSelection(this.#currentSelection, map, this.#currentDoc);
800
816
  }
801
- this.docList.push(this.currentDoc);
802
- this.stepList.push(step);
803
- this.mapList.push(map);
804
- this.currentDoc = doc;
817
+ this.#docList.push(this.#currentDoc);
818
+ this.#stepList.push(step);
819
+ this.#mapList.push(map);
820
+ this.#currentDoc = doc;
805
821
  return this;
806
822
  }
807
823
  maybeStep(step) {
@@ -814,28 +830,28 @@ var Transaction = class {
814
830
  }
815
831
  }
816
832
  setSelection(selection) {
817
- this.currentSelection = selection;
818
- this.selectionWasSet = true;
833
+ this.#currentSelection = selection;
834
+ this.#selectionWasSet = true;
819
835
  return this;
820
836
  }
821
837
  setStoredMarks(marks) {
822
- this.currentStoredMarks = marks;
823
- this.storedMarksWereSet = true;
838
+ this.#currentStoredMarks = marks;
839
+ this.#storedMarksWereSet = true;
824
840
  return this;
825
841
  }
826
842
  setOrigin(origin) {
827
843
  return this.setMeta("origin", origin);
828
844
  }
829
845
  setMeta(key, value) {
830
- this.metaValues.set(key, value);
846
+ this.#metaValues.set(key, value);
831
847
  return this;
832
848
  }
833
849
  getMeta(key) {
834
- return this.metaValues.get(key);
850
+ return this.#metaValues.get(key);
835
851
  }
836
852
  mapPos(pos, assoc = 1, fromStep = 0) {
837
853
  let mapped = pos;
838
- for (let i = fromStep; i < this.mapList.length; i++) mapped = this.mapList[i](mapped, assoc);
854
+ for (let i = fromStep; i < this.#mapList.length; i++) mapped = this.#mapList[i](mapped, assoc);
839
855
  return mapped;
840
856
  }
841
857
  };
@@ -880,7 +896,7 @@ function runCommands(state, commands) {
880
896
  parts.push(tr);
881
897
  current = applyTransaction(current, tr);
882
898
  };
883
- chainDispatches.add(collect);
899
+ if (commands.length > 1) chainDispatches.add(collect);
884
900
  for (const command of commands) {
885
901
  if (!command(current, collect)) return { ok: false, tr: null };
886
902
  }
@@ -1909,7 +1925,7 @@ function preText(node, depth = 0) {
1909
1925
  return depth > 0 && isBlockTag(node) && !text2.endsWith("\n") ? `${text2}
1910
1926
  ` : text2;
1911
1927
  }
1912
- var languageOf = (element) => element === null ? void 0 : LANGUAGE.exec(element.getAttribute("class") ?? "")?.[1];
1928
+ var languageOf = (element) => element ? LANGUAGE.exec(element.getAttribute("class") ?? "")?.[1] : void 0;
1913
1929
  function codeBlock(pre, ctx, sink) {
1914
1930
  const code = preText(pre).replace(/\r\n?/g, "\n").replace(/\n$/, "");
1915
1931
  const language = languageOf(pre) ?? languageOf(pre.querySelector("code")) ?? "";
@@ -3956,12 +3972,12 @@ export {
3956
3972
  applyTransaction,
3957
3973
  getPluginState,
3958
3974
  createPluginKey,
3959
- foreignOrigins,
3960
3975
  Transaction,
3961
3976
  caretMarks,
3962
3977
  runCommands,
3963
3978
  HISTORY_PROVIDER,
3964
3979
  HISTORY_GROUP,
3980
+ groupOf,
3965
3981
  undo,
3966
3982
  redo,
3967
3983
  undoInputRule,
@@ -4044,4 +4060,4 @@ export {
4044
4060
  keyName,
4045
4061
  createEditor
4046
4062
  };
4047
- //# sourceMappingURL=chunk-HJIQT3S5.js.map
4063
+ //# sourceMappingURL=chunk-OBMBSU2S.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/engine/transform/step.ts","../src/engine/transform/step-access.ts","../src/engine/transform/attrs-steps.ts","../src/engine/transform/block-edges.ts","../src/engine/transform/block-steps.ts","../src/engine/transform/replace-inline-step.ts","../src/engine/transform/mark-steps.ts","../src/engine/model/common-ends.ts","../src/engine/transform/map-text-change.ts","../src/engine/transform/replace-doc-step.ts","../src/engine/transform/split-join-steps.ts","../src/engine/transform/step-json.ts","../src/engine/model/position.ts","../src/engine/state/selection.ts","../src/engine/commands/collapsed-toggle.ts","../src/engine/state/visible-selection.ts","../src/engine/state/editor-state.ts","../src/engine/state/plugin.ts","../src/engine/state/transaction.ts","../src/engine/commands/caret-marks.ts","../src/engine/commands/run-commands.ts","../src/engine/transform/position-neutral.ts","../src/engine/state/history.ts","../src/engine/commands/block-helpers.ts","../src/engine/commands/cap-indents.ts","../src/engine/commands/remove-blocks.ts","../src/engine/commands/shift-subtree.ts","../src/engine/commands/block-structure.ts","../src/engine/commands/delete-range.ts","../src/engine/commands/insert-text-at.ts","../src/engine/commands/insert-text.ts","../src/engine/commands/mark-extent.ts","../src/engine/commands/storable-mark.ts","../src/engine/commands/selection-marks.ts","../src/engine/commands/marks.ts","../src/engine/commands/turn-into.ts","../src/engine/rules/input-rule.ts","../src/engine/rules/convert-prefix.ts","../src/engine/rules/block-rules.ts","../src/engine/markdown/autolink-href.ts","../src/engine/markdown/trim-url-end.ts","../src/engine/rules/region-inline.ts","../src/engine/rules/touches-mark.ts","../src/engine/rules/autolink.ts","../src/engine/rules/mark-rule.ts","../src/engine/rules/mark-rules.ts","../src/engine/rules/typography.ts","../src/engine/clipboard/html-context.ts","../src/engine/clipboard/html-dom.ts","../src/engine/clipboard/html-code.ts","../src/engine/markdown/palette-rgb.ts","../src/engine/clipboard/html-styles.ts","../src/engine/clipboard/html-marks.ts","../src/engine/clipboard/hoist-spaces.ts","../src/engine/clipboard/html-inline.ts","../src/engine/clipboard/html-lists.ts","../src/engine/clipboard/html-media.ts","../src/engine/clipboard/html-table.ts","../src/engine/clipboard/html-blocks.ts","../src/engine/clipboard/from-html.ts","../src/engine/markdown/document/line-format.ts","../src/engine/markdown/document/block-forms.ts","../src/engine/markdown/document/comment-form.ts","../src/engine/markdown/document/comment-markdown.ts","../src/engine/markdown/document/link-forms.ts","../src/engine/markdown/document/block-markdown.ts","../src/engine/markdown/document/list-context.ts","../src/engine/markdown/document/strip-comments.ts","../src/engine/markdown/document/to-markdown.ts","../src/engine/render/escape-html.ts","../src/engine/render/serialize-html.ts","../src/engine/render/to-html.ts","../src/engine/render/to-plain-text.ts","../src/engine/model/graphemes.ts","../src/engine/render/count-block.ts","../src/engine/render/count-text.ts","../src/engine/commands/block-style.ts","../src/engine/commands/line-join.ts","../src/engine/commands/paragraph-step.ts","../src/engine/commands/delete-at-boundary.ts","../src/engine/commands/delete-commands.ts","../src/engine/commands/hard-break.ts","../src/engine/commands/move-blocks-to.ts","../src/engine/commands/selection-commands.ts","../src/engine/commands/line-split.ts","../src/engine/commands/split-step.ts","../src/engine/commands/split-at.ts","../src/engine/commands/split-block.ts","../src/engine/commands/chain.ts","../src/engine/clipboard/slice-blocks.ts","../src/engine/clipboard/paste-at-caret.ts","../src/engine/clipboard/insert-slice.ts","../src/engine/clipboard/paste-url.ts","../src/engine/clipboard/paste-link.ts","../src/engine/rules/enter-rules.ts","../src/engine/extension/core-keymap.ts","../src/engine/extension/define-extension.ts","../src/engine/extension/core-extensions.ts","../src/engine/clipboard/serialize-slice.ts","../src/engine/clipboard/extract-slice.ts","../src/engine/clipboard/from-text.ts","../src/engine/clipboard/parse-slice-json.ts","../src/engine/clipboard/slice-from-clipboard.ts","../src/engine/commands/is-active.ts","../src/engine/model/same-doc.ts","../src/engine/extension/same-blocks.ts","../src/engine/extension/structural-echo.ts","../src/engine/extension/echo-tracker.ts","../src/engine/extension/controlled-blocks.ts","../src/engine/extension/detect-mac.ts","../src/engine/extension/dispatch-queue.ts","../src/engine/extension/keymap.ts","../src/engine/extension/resolve-extensions.ts","../src/engine/extension/editor.ts"],"mappings":"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","names":["count","indent","count","moved","indent","anchor","head","indent","indent","indent","indent","count","count","newId","indent","mark","remove","linked","moved","emit","tr","convert","closing","PARAGRAPH","indent","child","text","line","linked","trimmed","child","PARAGRAPH","list","PARAGRAPH","newId","text","line","indent","ITEM_KINDS","line","indent","isItem","line","text","text","text","words","PARAGRAPH","inFlow","moved","count","indent","indent","text","text","text","line","isBlock","isParagraph","plainText","text","linked","textBlocks","join","typed","newId","text"]}