quoin-editor 1.1.2 → 1.2.0

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 (128) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/ai.cjs +78 -78
  3. package/dist/ai.js +6 -6
  4. package/dist/catalogue.cjs +24 -24
  5. package/dist/catalogue.js +16 -16
  6. package/dist/{chunk-JEFQNZO4.js → chunk-3BCP6ZUM.js} +5 -5
  7. package/dist/{chunk-JEFQNZO4.js.map → chunk-3BCP6ZUM.js.map} +1 -1
  8. package/dist/{chunk-IVWFPFUG.js → chunk-4EU4BTLZ.js} +82 -34
  9. package/dist/chunk-4EU4BTLZ.js.map +1 -0
  10. package/dist/{chunk-M5FREXRQ.cjs → chunk-4F2IWBFM.cjs} +294 -244
  11. package/dist/chunk-4F2IWBFM.cjs.map +1 -0
  12. package/dist/{chunk-K5HWMBWH.cjs → chunk-4T4TJ2QS.cjs} +9 -9
  13. package/dist/{chunk-K5HWMBWH.cjs.map → chunk-4T4TJ2QS.cjs.map} +1 -1
  14. package/dist/{chunk-ABVSP2XR.cjs → chunk-6X5A4DUQ.cjs} +290 -290
  15. package/dist/{chunk-ABVSP2XR.cjs.map → chunk-6X5A4DUQ.cjs.map} +1 -1
  16. package/dist/{chunk-JYO2T4MC.js → chunk-AD3NY7NA.js} +3 -3
  17. package/dist/{chunk-JYO2T4MC.js.map → chunk-AD3NY7NA.js.map} +1 -1
  18. package/dist/{chunk-QLDXQOHQ.js → chunk-BJTOLCRR.js} +7 -4
  19. package/dist/{chunk-QLDXQOHQ.js.map → chunk-BJTOLCRR.js.map} +1 -1
  20. package/dist/{chunk-OIQAO7QU.js → chunk-BKEHG4QV.js} +4 -4
  21. package/dist/{chunk-OIQAO7QU.js.map → chunk-BKEHG4QV.js.map} +1 -1
  22. package/dist/{chunk-OAAYF2EI.cjs → chunk-BM2GRZNM.cjs} +47 -30
  23. package/dist/chunk-BM2GRZNM.cjs.map +1 -0
  24. package/dist/{chunk-5LWJDRWD.js → chunk-BXSWZEA5.js} +3 -3
  25. package/dist/{chunk-5LWJDRWD.js.map → chunk-BXSWZEA5.js.map} +1 -1
  26. package/dist/{chunk-3G4ZWUUY.js → chunk-CSKKSXCE.js} +38 -19
  27. package/dist/chunk-CSKKSXCE.js.map +1 -0
  28. package/dist/{chunk-BMEEEI43.cjs → chunk-EQKFQK3C.cjs} +13 -13
  29. package/dist/{chunk-BMEEEI43.cjs.map → chunk-EQKFQK3C.cjs.map} +1 -1
  30. package/dist/{chunk-RUC5OZXO.js → chunk-GHNQKJMD.js} +3 -3
  31. package/dist/{chunk-RUC5OZXO.js.map → chunk-GHNQKJMD.js.map} +1 -1
  32. package/dist/{chunk-E52VO5JT.cjs → chunk-H3C3MJW5.cjs} +4 -4
  33. package/dist/{chunk-E52VO5JT.cjs.map → chunk-H3C3MJW5.cjs.map} +1 -1
  34. package/dist/{chunk-JHA23OOK.js → chunk-I4CSCA3O.js} +6 -6
  35. package/dist/{chunk-JHA23OOK.js.map → chunk-I4CSCA3O.js.map} +1 -1
  36. package/dist/{chunk-J37ORWSG.js → chunk-I4NEX6SZ.js} +7 -7
  37. package/dist/{chunk-J37ORWSG.js.map → chunk-I4NEX6SZ.js.map} +1 -1
  38. package/dist/{chunk-ZPGA5UIY.js → chunk-IHTHOAUY.js} +7 -7
  39. package/dist/{chunk-ZPGA5UIY.js.map → chunk-IHTHOAUY.js.map} +1 -1
  40. package/dist/{chunk-6QLA3JOU.cjs → chunk-IQ2DE3Y3.cjs} +90 -90
  41. package/dist/{chunk-6QLA3JOU.cjs.map → chunk-IQ2DE3Y3.cjs.map} +1 -1
  42. package/dist/{chunk-KKRQDVBJ.cjs → chunk-K7E2DR5W.cjs} +24 -24
  43. package/dist/{chunk-KKRQDVBJ.cjs.map → chunk-K7E2DR5W.cjs.map} +1 -1
  44. package/dist/{chunk-ZEQXMRJW.js → chunk-KIU5MPZ4.js} +3 -3
  45. package/dist/{chunk-ZEQXMRJW.js.map → chunk-KIU5MPZ4.js.map} +1 -1
  46. package/dist/{chunk-AQNVYFEU.js → chunk-MEXDDWJF.js} +6 -6
  47. package/dist/{chunk-AQNVYFEU.js.map → chunk-MEXDDWJF.js.map} +1 -1
  48. package/dist/{chunk-VSUGJZ7G.cjs → chunk-NNDLIP2C.cjs} +161 -136
  49. package/dist/chunk-NNDLIP2C.cjs.map +1 -0
  50. package/dist/{chunk-36OSSZDK.js → chunk-OWX3Y5UU.js} +6 -6
  51. package/dist/{chunk-36OSSZDK.js.map → chunk-OWX3Y5UU.js.map} +1 -1
  52. package/dist/{chunk-5QNNF5ZJ.js → chunk-PMJ3VCSR.js} +5 -5
  53. package/dist/{chunk-5QNNF5ZJ.js.map → chunk-PMJ3VCSR.js.map} +1 -1
  54. package/dist/{chunk-G7HK4OHE.js → chunk-PVCXTSUO.js} +49 -24
  55. package/dist/chunk-PVCXTSUO.js.map +1 -0
  56. package/dist/{chunk-EABO523V.cjs → chunk-R45RJQRD.cjs} +31 -31
  57. package/dist/{chunk-EABO523V.cjs.map → chunk-R45RJQRD.cjs.map} +1 -1
  58. package/dist/{chunk-5DEPLPDS.cjs → chunk-RENKFSFD.cjs} +28 -28
  59. package/dist/{chunk-5DEPLPDS.cjs.map → chunk-RENKFSFD.cjs.map} +1 -1
  60. package/dist/{chunk-V2ZBA5VC.js → chunk-TG5T7BEJ.js} +8 -8
  61. package/dist/{chunk-V2ZBA5VC.js.map → chunk-TG5T7BEJ.js.map} +1 -1
  62. package/dist/{chunk-UGAOEZ3O.cjs → chunk-TLMO46OV.cjs} +15 -15
  63. package/dist/{chunk-UGAOEZ3O.cjs.map → chunk-TLMO46OV.cjs.map} +1 -1
  64. package/dist/{chunk-XJ32XESJ.cjs → chunk-TN32PKUI.cjs} +98 -98
  65. package/dist/{chunk-XJ32XESJ.cjs.map → chunk-TN32PKUI.cjs.map} +1 -1
  66. package/dist/{chunk-QAI3CM7V.cjs → chunk-TWFMNDOC.cjs} +55 -55
  67. package/dist/{chunk-QAI3CM7V.cjs.map → chunk-TWFMNDOC.cjs.map} +1 -1
  68. package/dist/{chunk-ES2QYHXL.cjs → chunk-UHAAYYMX.cjs} +45 -45
  69. package/dist/{chunk-ES2QYHXL.cjs.map → chunk-UHAAYYMX.cjs.map} +1 -1
  70. package/dist/{chunk-PNMBRBAT.cjs → chunk-UMTKQVOX.cjs} +4 -4
  71. package/dist/{chunk-PNMBRBAT.cjs.map → chunk-UMTKQVOX.cjs.map} +1 -1
  72. package/dist/{chunk-KFIE4OJE.cjs → chunk-VNRBCUBV.cjs} +15 -15
  73. package/dist/{chunk-KFIE4OJE.cjs.map → chunk-VNRBCUBV.cjs.map} +1 -1
  74. package/dist/{chunk-PRXIYHSX.js → chunk-WCAUPASG.js} +6 -6
  75. package/dist/{chunk-PRXIYHSX.js.map → chunk-WCAUPASG.js.map} +1 -1
  76. package/dist/{chunk-6H76FAI3.cjs → chunk-WZA5S5EJ.cjs} +7 -4
  77. package/dist/{chunk-6H76FAI3.cjs.map → chunk-WZA5S5EJ.cjs.map} +1 -1
  78. package/dist/{chunk-EDKQQKQR.js → chunk-X4FDLUXJ.js} +6 -6
  79. package/dist/{chunk-EDKQQKQR.js.map → chunk-X4FDLUXJ.js.map} +1 -1
  80. package/dist/{chunk-P3T5XBYW.cjs → chunk-XZ4NC3Q7.cjs} +6 -6
  81. package/dist/{chunk-P3T5XBYW.cjs.map → chunk-XZ4NC3Q7.cjs.map} +1 -1
  82. package/dist/comments.cjs +58 -58
  83. package/dist/comments.js +7 -7
  84. package/dist/diff.cjs +29 -32
  85. package/dist/diff.cjs.map +1 -1
  86. package/dist/diff.js +8 -11
  87. package/dist/diff.js.map +1 -1
  88. package/dist/docx.cjs +30 -30
  89. package/dist/docx.js +3 -3
  90. package/dist/embed.cjs +9 -9
  91. package/dist/embed.js +7 -7
  92. package/dist/emoji.cjs +9 -9
  93. package/dist/emoji.js +6 -6
  94. package/dist/engine.cjs +58 -58
  95. package/dist/engine.d.cts +4 -1
  96. package/dist/engine.d.ts +4 -1
  97. package/dist/engine.js +3 -3
  98. package/dist/find.cjs +10 -10
  99. package/dist/find.js +6 -6
  100. package/dist/headless.cjs +74 -74
  101. package/dist/headless.js +4 -4
  102. package/dist/index.cjs +86 -86
  103. package/dist/index.js +5 -5
  104. package/dist/math.cjs +10 -10
  105. package/dist/math.js +8 -8
  106. package/dist/mention.cjs +10 -10
  107. package/dist/mention.js +8 -8
  108. package/dist/presence.cjs +38 -38
  109. package/dist/presence.js +7 -7
  110. package/dist/stats.cjs +10 -10
  111. package/dist/stats.js +7 -7
  112. package/dist/table.cjs +25 -25
  113. package/dist/table.js +6 -6
  114. package/dist/toc.cjs +9 -9
  115. package/dist/toc.js +6 -6
  116. package/dist/view.cjs +4 -4
  117. package/dist/view.js +2 -2
  118. package/dist/yjs.cjs +125 -120
  119. package/dist/yjs.cjs.map +1 -1
  120. package/dist/yjs.js +11 -6
  121. package/dist/yjs.js.map +1 -1
  122. package/package.json +1 -1
  123. package/dist/chunk-3G4ZWUUY.js.map +0 -1
  124. package/dist/chunk-G7HK4OHE.js.map +0 -1
  125. package/dist/chunk-IVWFPFUG.js.map +0 -1
  126. package/dist/chunk-M5FREXRQ.cjs.map +0 -1
  127. package/dist/chunk-OAAYF2EI.cjs.map +0 -1
  128. package/dist/chunk-VSUGJZ7G.cjs.map +0 -1
package/dist/presence.cjs CHANGED
@@ -2,14 +2,14 @@
2
2
  'use strict';
3
3
 
4
4
  var chunkLE5XMIFJ_cjs = require('./chunk-LE5XMIFJ.cjs');
5
- var chunkPNMBRBAT_cjs = require('./chunk-PNMBRBAT.cjs');
6
- require('./chunk-ABVSP2XR.cjs');
7
- var chunkVSUGJZ7G_cjs = require('./chunk-VSUGJZ7G.cjs');
5
+ var chunkUMTKQVOX_cjs = require('./chunk-UMTKQVOX.cjs');
6
+ require('./chunk-6X5A4DUQ.cjs');
7
+ var chunkNNDLIP2C_cjs = require('./chunk-NNDLIP2C.cjs');
8
8
  var chunkA6PGQVTR_cjs = require('./chunk-A6PGQVTR.cjs');
9
- var chunkKFIE4OJE_cjs = require('./chunk-KFIE4OJE.cjs');
10
- var chunkM5FREXRQ_cjs = require('./chunk-M5FREXRQ.cjs');
11
- require('./chunk-OAAYF2EI.cjs');
12
- var chunk6H76FAI3_cjs = require('./chunk-6H76FAI3.cjs');
9
+ var chunkVNRBCUBV_cjs = require('./chunk-VNRBCUBV.cjs');
10
+ var chunk4F2IWBFM_cjs = require('./chunk-4F2IWBFM.cjs');
11
+ require('./chunk-BM2GRZNM.cjs');
12
+ var chunkWZA5S5EJ_cjs = require('./chunk-WZA5S5EJ.cjs');
13
13
  var react = require('react');
14
14
  var jsxRuntime = require('react/jsx-runtime');
15
15
  var Y = require('yjs');
@@ -48,8 +48,8 @@ function followLayout(controller, root, place2) {
48
48
  observer.observe(root);
49
49
  const unsubscribe = controller.editor.subscribe(later);
50
50
  const fonts = root.ownerDocument.fonts;
51
- const unlistenScroll = chunkVSUGJZ7G_cjs.listen(root, { scroll: update }, { capture: true, passive: true });
52
- const unlistenFonts = fonts && chunkVSUGJZ7G_cjs.listen(fonts, { loadingdone: later });
51
+ const unlistenScroll = chunkNNDLIP2C_cjs.listen(root, { scroll: update }, { capture: true, passive: true });
52
+ const unlistenFonts = fonts && chunkNNDLIP2C_cjs.listen(fonts, { loadingdone: later });
53
53
  return () => {
54
54
  view.cancelAnimationFrame(frame);
55
55
  unsubscribe();
@@ -60,10 +60,10 @@ function followLayout(controller, root, place2) {
60
60
  }
61
61
 
62
62
  // src/extensions/presence/presence-plugin.ts
63
- var presenceKey = chunkM5FREXRQ_cjs.createPluginKey("presence");
63
+ var presenceKey = chunk4F2IWBFM_cjs.createPluginKey("presence");
64
64
  var PRESENCE = "presence";
65
- var samePeer = (a, b) => a.client === b.client && a.name === b.name && a.color === b.color && a.idle === b.idle && chunkM5FREXRQ_cjs.sameSelection(a.selection, b.selection);
66
- var samePeers = (a, b) => chunk6H76FAI3_cjs.sameItems(a, b, samePeer);
65
+ var samePeer = (a, b) => a.client === b.client && a.name === b.name && a.color === b.color && a.idle === b.idle && chunk4F2IWBFM_cjs.sameSelection(a.selection, b.selection);
66
+ var samePeers = (a, b) => chunkWZA5S5EJ_cjs.sameItems(a, b, samePeer);
67
67
  var NO_PEERS = [];
68
68
  var presencePlugin = {
69
69
  key: presenceKey,
@@ -74,7 +74,7 @@ var presencePlugin = {
74
74
  if (!tr.docChanged) return peers;
75
75
  let moved = false;
76
76
  const next = peers.map((peer) => {
77
- const selection = peer.selection && chunkM5FREXRQ_cjs.mapSelection(peer.selection, (pos) => tr.mapPos(pos, -1), tr.before.doc);
77
+ const selection = peer.selection && chunk4F2IWBFM_cjs.mapSelection(peer.selection, (pos) => tr.mapPos(pos, -1), tr.before.doc);
78
78
  if (selection === peer.selection) return peer;
79
79
  moved = true;
80
80
  return { ...peer, selection };
@@ -85,9 +85,9 @@ var presencePlugin = {
85
85
  var initials = (name) => name.trim().split(/\s+/).slice(0, 2).map((word) => Array.from(word)[0]?.toUpperCase() ?? "").join("");
86
86
  function groupsOf(state) {
87
87
  const byBlock = /* @__PURE__ */ new Map();
88
- for (const { client, name, color, selection } of chunkM5FREXRQ_cjs.getPluginState(state, presenceKey)) {
88
+ for (const { client, name, color, selection } of chunk4F2IWBFM_cjs.getPluginState(state, presenceKey)) {
89
89
  if (selection === null) continue;
90
- const block = chunkM5FREXRQ_cjs.headBlockId(selection);
90
+ const block = chunk4F2IWBFM_cjs.headBlockId(selection);
91
91
  byBlock.set(block, [...byBlock.get(block) ?? [], { client, name, color }]);
92
92
  }
93
93
  return [...byBlock];
@@ -100,9 +100,9 @@ function place(controller, root, group) {
100
100
  group.style.transform = `translateY(${top}px)`;
101
101
  }
102
102
  function PresenceAvatars({ controller, labels }) {
103
- const groups = chunkVSUGJZ7G_cjs.useEditorState(controller, groupsOf, chunk6H76FAI3_cjs.sameValue);
103
+ const groups = chunkNNDLIP2C_cjs.useEditorState(controller, groupsOf, chunkWZA5S5EJ_cjs.sameValue);
104
104
  const box = react.useRef(null);
105
- chunkVSUGJZ7G_cjs.useIsomorphicLayoutEffect(() => {
105
+ chunkNNDLIP2C_cjs.useIsomorphicLayoutEffect(() => {
106
106
  const root = controller.root;
107
107
  if (!root || box.current === null) return void 0;
108
108
  const children = Array.from(box.current.children);
@@ -135,7 +135,7 @@ function tintOf(state, { color, selection }) {
135
135
  if (![selection.anchor, selection.head].every(({ block }) => state.doc.index.has(block))) return [];
136
136
  const attrs = { class: "quoin-presence-selection" };
137
137
  if (color !== void 0) attrs.style = `--quoin-presence:${color}`;
138
- return chunkM5FREXRQ_cjs.markRanges({ ...state, selection }).map((range) => ({ kind: "inline", ...range, attrs }));
138
+ return chunk4F2IWBFM_cjs.markRanges({ ...state, selection }).map((range) => ({ kind: "inline", ...range, attrs }));
139
139
  }
140
140
  var drawn = /* @__PURE__ */ new WeakMap();
141
141
  function peerDecorations(state, peer) {
@@ -146,7 +146,7 @@ function peerDecorations(state, peer) {
146
146
  return decorations;
147
147
  }
148
148
  function presenceDecorations(state) {
149
- return chunkM5FREXRQ_cjs.getPluginState(state, presenceKey).flatMap((peer) => peerDecorations(state, peer));
149
+ return chunk4F2IWBFM_cjs.getPluginState(state, presenceKey).flatMap((peer) => peerDecorations(state, peer));
150
150
  }
151
151
 
152
152
  // src/extensions/presence/presence-labels.ts
@@ -181,7 +181,7 @@ function awarePos(shared, pos) {
181
181
  try {
182
182
  return {
183
183
  ...pos,
184
- rel: Y__namespace.relativePositionToJSON(chunkKFIE4OJE_cjs.relative(shared.text, shared.layout, pos))
184
+ rel: Y__namespace.relativePositionToJSON(chunkVNRBCUBV_cjs.relative(shared.text, shared.layout, pos))
185
185
  };
186
186
  } catch {
187
187
  return pos;
@@ -202,7 +202,7 @@ var blockOf = (doc, value) => typeof value.block === "string" && doc.index.has(v
202
202
  function textPos(shared, doc, value) {
203
203
  if (shared !== null && value.rel !== void 0) {
204
204
  try {
205
- const found = chunkKFIE4OJE_cjs.absolute(shared.text, shared.layout, Y__namespace.createRelativePositionFromJSON(value.rel));
205
+ const found = chunkVNRBCUBV_cjs.absolute(shared.text, shared.layout, Y__namespace.createRelativePositionFromJSON(value.rel));
206
206
  if (found !== null) return found;
207
207
  } catch {
208
208
  }
@@ -213,15 +213,15 @@ function textPos(shared, doc, value) {
213
213
  return placed && block !== null ? { block, region, offset } : null;
214
214
  }
215
215
  function fromAware(shared, doc, schema, value) {
216
- if (!chunk6H76FAI3_cjs.isRecord(value) || !chunk6H76FAI3_cjs.isRecord(value.anchor) || !chunk6H76FAI3_cjs.isRecord(value.head)) return null;
216
+ if (!chunkWZA5S5EJ_cjs.isRecord(value) || !chunkWZA5S5EJ_cjs.isRecord(value.anchor) || !chunkWZA5S5EJ_cjs.isRecord(value.head)) return null;
217
217
  const { anchor, head } = value;
218
218
  if (anchor.region === void 0 && head.region === void 0) {
219
219
  const [from2, to2] = [blockOf(doc, anchor), blockOf(doc, head)];
220
220
  if (from2 === null || to2 === null) return null;
221
- return from2 === to2 ? chunkM5FREXRQ_cjs.nodeSelection(from2) : chunkM5FREXRQ_cjs.blockRangeSelection(from2, to2);
221
+ return from2 === to2 ? chunk4F2IWBFM_cjs.nodeSelection(from2) : chunk4F2IWBFM_cjs.blockRangeSelection(from2, to2);
222
222
  }
223
223
  const [from, to] = [textPos(shared, doc, anchor), textPos(shared, doc, head)];
224
- return from === null || to === null ? null : chunkM5FREXRQ_cjs.validateSelection(doc, schema, chunkM5FREXRQ_cjs.textSelection(from, to));
224
+ return from === null || to === null ? null : chunk4F2IWBFM_cjs.validateSelection(doc, schema, chunk4F2IWBFM_cjs.textSelection(from, to));
225
225
  }
226
226
 
227
227
  // src/extensions/presence/presence-session.ts
@@ -229,7 +229,7 @@ var THROTTLE_MS = 50;
229
229
  var IDLE_MS = 2e3;
230
230
  var COLOR = /^(#[\da-f]{3,8}|[a-z]+|(rgba?|hsla?|hwb|lab|lch|oklab|oklch)\([\d\s.,%/+-]*\))$/i;
231
231
  var safeColor = (value) => typeof value === "string" && COLOR.test(value) ? value : void 0;
232
- var userOf = ({ user }) => chunk6H76FAI3_cjs.isRecord(user) && typeof user.name === "string" ? user : null;
232
+ var userOf = ({ user }) => chunkWZA5S5EJ_cjs.isRecord(user) && typeof user.name === "string" ? user : null;
233
233
  var namedBy = /* @__PURE__ */ new WeakMap();
234
234
  function startPresence(editor, collaboration, awareness, link, sharedOf2) {
235
235
  const { doc, user } = collaboration;
@@ -262,7 +262,7 @@ function startPresence(editor, collaboration, awareness, link, sharedOf2) {
262
262
  timer ??= setTimeout(tick, 0);
263
263
  };
264
264
  const refresh = () => {
265
- const before = chunkM5FREXRQ_cjs.getPluginState(editor.state, presenceKey);
265
+ const before = chunk4F2IWBFM_cjs.getPluginState(editor.state, presenceKey);
266
266
  const peers = [];
267
267
  const joined = [];
268
268
  const gone = new Set(seen.keys());
@@ -296,7 +296,7 @@ function startPresence(editor, collaboration, awareness, link, sharedOf2) {
296
296
  for (const listener of [...link.listeners]) listener({ joined, left });
297
297
  heard = true;
298
298
  if (samePeers(peers, before)) return;
299
- editor.dispatch(chunkKFIE4OJE_cjs.sharedChange(editor, []).setMeta(PRESENCE, peers));
299
+ editor.dispatch(chunkVNRBCUBV_cjs.sharedChange(editor, []).setMeta(PRESENCE, peers));
300
300
  };
301
301
  const changed = () => {
302
302
  if (!writing) refresh();
@@ -305,7 +305,7 @@ function startPresence(editor, collaboration, awareness, link, sharedOf2) {
305
305
  if (!transaction.local && seen.size > 0) refresh();
306
306
  };
307
307
  const stopEditor = editor.subscribe((state, tr) => {
308
- if (tr !== null && tr.origin !== "remote" && !chunkM5FREXRQ_cjs.sameSelection(tr.before.selection, state.selection)) schedule();
308
+ if (tr !== null && tr.origin !== "remote" && !chunk4F2IWBFM_cjs.sameSelection(tr.before.selection, state.selection)) schedule();
309
309
  });
310
310
  put("user", { name: user.name, color: user.color });
311
311
  write(null);
@@ -338,7 +338,7 @@ function startPresence(editor, collaboration, awareness, link, sharedOf2) {
338
338
 
339
339
  // src/extensions/presence/place-caret.ts
340
340
  function caretBox(host, offset) {
341
- const map = chunkVSUGJZ7G_cjs.domMapOf(host);
341
+ const map = chunkNNDLIP2C_cjs.domMapOf(host);
342
342
  if (!map || !host.isConnected) return null;
343
343
  const doc = host.ownerDocument;
344
344
  const spans = [
@@ -366,7 +366,7 @@ function inside(box, area) {
366
366
  }
367
367
  function placeCaret(controller, root, caret, observer) {
368
368
  const client = Number(caret.dataset.client);
369
- const peer = chunkM5FREXRQ_cjs.getPluginState(controller.editor.state, presenceKey).find((one) => one.client === client);
369
+ const peer = chunk4F2IWBFM_cjs.getPluginState(controller.editor.state, presenceKey).find((one) => one.client === client);
370
370
  const head = peer?.selection?.kind === "text" ? peer.selection.head : null;
371
371
  const host = head && controller.registry.get(head.block, head.region);
372
372
  const box = host ? caretBox(host, head.offset) : null;
@@ -384,13 +384,13 @@ function placeCaret(controller, root, caret, observer) {
384
384
  const cut = (past) => `${Math.max(...areas.map(past)) / scale + 1}px`;
385
385
  caret.style.clipPath = areas[0] ? `inset(-99px ${cut((a) => box.left - a.right)} -99px ${cut((a) => a.left - box.left)})` : "";
386
386
  }
387
- var shownOf = (state) => chunkM5FREXRQ_cjs.getPluginState(state, presenceKey).flatMap(
387
+ var shownOf = (state) => chunk4F2IWBFM_cjs.getPluginState(state, presenceKey).flatMap(
388
388
  ({ client, name, color, idle, selection }) => selection?.kind === "text" ? [{ client, name, color, idle }] : []
389
389
  );
390
390
  function RemoteCarets({ controller, labels }) {
391
- const shown = chunkVSUGJZ7G_cjs.useEditorState(controller, shownOf, chunk6H76FAI3_cjs.sameValue);
391
+ const shown = chunkNNDLIP2C_cjs.useEditorState(controller, shownOf, chunkWZA5S5EJ_cjs.sameValue);
392
392
  const box = react.useRef(null);
393
- chunkVSUGJZ7G_cjs.useIsomorphicLayoutEffect(() => {
393
+ chunkNNDLIP2C_cjs.useIsomorphicLayoutEffect(() => {
394
394
  const root = controller.root;
395
395
  if (!root || box.current === null) return void 0;
396
396
  const carets = Array.from(box.current.children);
@@ -412,9 +412,9 @@ function usePresenceActivity(controller, link) {
412
412
  react.useEffect(() => {
413
413
  const doc = controller.root?.ownerDocument;
414
414
  if (!doc) return void 0;
415
- let focused = chunkPNMBRBAT_cjs.ownsNode(controller, doc.activeElement);
415
+ let focused = chunkUMTKQVOX_cjs.ownsNode(controller, doc.activeElement);
416
416
  const update = () => setActive(link, focused && !controller.readOnly);
417
- const stopFocus = chunkPNMBRBAT_cjs.watchCanvasFocus(controller, doc, (inside2) => {
417
+ const stopFocus = chunkUMTKQVOX_cjs.watchCanvasFocus(controller, doc, (inside2) => {
418
418
  focused = inside2;
419
419
  update();
420
420
  });
@@ -500,7 +500,7 @@ function presenceExtension(collaboration, options = {}) {
500
500
  ] });
501
501
  }
502
502
  const ui = { overlays: [Overlay] };
503
- return chunkM5FREXRQ_cjs.defineExtension({
503
+ return chunk4F2IWBFM_cjs.defineExtension({
504
504
  name: "presence",
505
505
  // Below the default, so the collaboration it reads has connected before it starts.
506
506
  priority: 99,
@@ -508,8 +508,8 @@ function presenceExtension(collaboration, options = {}) {
508
508
  decorations: presenceDecorations,
509
509
  onMount(editor) {
510
510
  const link = linkOf(editor);
511
- if (chunkKFIE4OJE_cjs.sharedOf(collaboration, editor) === null) chunkA6PGQVTR_cjs.devWarn(UNBOUND);
512
- const session = startPresence(editor, collaboration, awareness, link, () => chunkKFIE4OJE_cjs.sharedOf(collaboration, editor));
511
+ if (chunkVNRBCUBV_cjs.sharedOf(collaboration, editor) === null) chunkA6PGQVTR_cjs.devWarn(UNBOUND);
512
+ const session = startPresence(editor, collaboration, awareness, link, () => chunkVNRBCUBV_cjs.sharedOf(collaboration, editor));
513
513
  link.session = session;
514
514
  return () => {
515
515
  session.stop();
package/dist/presence.js CHANGED
@@ -1,13 +1,13 @@
1
1
  'use client';
2
2
  import { clipBoxes } from './chunk-MQUCCSWG.js';
3
- import { ownsNode, watchCanvasFocus } from './chunk-ZEQXMRJW.js';
4
- import './chunk-JEFQNZO4.js';
5
- import { useEditorState, useIsomorphicLayoutEffect, listen, domMapOf } from './chunk-G7HK4OHE.js';
3
+ import { ownsNode, watchCanvasFocus } from './chunk-KIU5MPZ4.js';
4
+ import './chunk-3BCP6ZUM.js';
5
+ import { useEditorState, useIsomorphicLayoutEffect, listen, domMapOf } from './chunk-PVCXTSUO.js';
6
6
  import { devWarn } from './chunk-HDJ653LM.js';
7
- import { sharedOf, sharedChange, absolute, relative } from './chunk-OIQAO7QU.js';
8
- import { createPluginKey, defineExtension, getPluginState, mapSelection, sameSelection, headBlockId, markRanges, nodeSelection, blockRangeSelection, validateSelection, textSelection } from './chunk-IVWFPFUG.js';
9
- import './chunk-3G4ZWUUY.js';
10
- import { sameValue, isRecord, sameItems } from './chunk-QLDXQOHQ.js';
7
+ import { sharedOf, sharedChange, absolute, relative } from './chunk-BKEHG4QV.js';
8
+ import { createPluginKey, defineExtension, getPluginState, mapSelection, sameSelection, headBlockId, markRanges, nodeSelection, blockRangeSelection, validateSelection, textSelection } from './chunk-4EU4BTLZ.js';
9
+ import './chunk-CSKKSXCE.js';
10
+ import { sameValue, isRecord, sameItems } from './chunk-BJTOLCRR.js';
11
11
  import { useEffect, useRef } from 'react';
12
12
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
13
13
  import * as Y from 'yjs';
package/dist/stats.cjs CHANGED
@@ -1,28 +1,28 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkUGAOEZ3O_cjs = require('./chunk-UGAOEZ3O.cjs');
5
- require('./chunk-P3T5XBYW.cjs');
6
- require('./chunk-ABVSP2XR.cjs');
7
- require('./chunk-VSUGJZ7G.cjs');
4
+ var chunkTLMO46OV_cjs = require('./chunk-TLMO46OV.cjs');
5
+ require('./chunk-XZ4NC3Q7.cjs');
6
+ require('./chunk-6X5A4DUQ.cjs');
7
+ require('./chunk-NNDLIP2C.cjs');
8
8
  require('./chunk-A6PGQVTR.cjs');
9
- require('./chunk-M5FREXRQ.cjs');
10
- require('./chunk-OAAYF2EI.cjs');
11
- require('./chunk-6H76FAI3.cjs');
9
+ require('./chunk-4F2IWBFM.cjs');
10
+ require('./chunk-BM2GRZNM.cjs');
11
+ require('./chunk-WZA5S5EJ.cjs');
12
12
 
13
13
 
14
14
 
15
15
  Object.defineProperty(exports, "englishStatsLabels", {
16
16
  enumerable: true,
17
- get: function () { return chunkUGAOEZ3O_cjs.englishStatsLabels; }
17
+ get: function () { return chunkTLMO46OV_cjs.englishStatsLabels; }
18
18
  });
19
19
  Object.defineProperty(exports, "statsExtension", {
20
20
  enumerable: true,
21
- get: function () { return chunkUGAOEZ3O_cjs.statsExtension; }
21
+ get: function () { return chunkTLMO46OV_cjs.statsExtension; }
22
22
  });
23
23
  Object.defineProperty(exports, "useEditorStats", {
24
24
  enumerable: true,
25
- get: function () { return chunkUGAOEZ3O_cjs.useEditorStats; }
25
+ get: function () { return chunkTLMO46OV_cjs.useEditorStats; }
26
26
  });
27
27
  //# sourceMappingURL=stats.cjs.map
28
28
  //# sourceMappingURL=stats.cjs.map
package/dist/stats.js CHANGED
@@ -1,11 +1,11 @@
1
1
  'use client';
2
- export { englishStatsLabels, statsExtension, useEditorStats } from './chunk-JHA23OOK.js';
3
- import './chunk-JYO2T4MC.js';
4
- import './chunk-JEFQNZO4.js';
5
- import './chunk-G7HK4OHE.js';
2
+ export { englishStatsLabels, statsExtension, useEditorStats } from './chunk-I4CSCA3O.js';
3
+ import './chunk-AD3NY7NA.js';
4
+ import './chunk-3BCP6ZUM.js';
5
+ import './chunk-PVCXTSUO.js';
6
6
  import './chunk-HDJ653LM.js';
7
- import './chunk-IVWFPFUG.js';
8
- import './chunk-3G4ZWUUY.js';
9
- import './chunk-QLDXQOHQ.js';
7
+ import './chunk-4EU4BTLZ.js';
8
+ import './chunk-CSKKSXCE.js';
9
+ import './chunk-BJTOLCRR.js';
10
10
  //# sourceMappingURL=stats.js.map
11
11
  //# sourceMappingURL=stats.js.map
package/dist/table.cjs CHANGED
@@ -1,91 +1,91 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkXJ32XESJ_cjs = require('./chunk-XJ32XESJ.cjs');
5
- require('./chunk-ABVSP2XR.cjs');
6
- require('./chunk-VSUGJZ7G.cjs');
4
+ var chunkTN32PKUI_cjs = require('./chunk-TN32PKUI.cjs');
5
+ require('./chunk-6X5A4DUQ.cjs');
6
+ require('./chunk-NNDLIP2C.cjs');
7
7
  require('./chunk-A6PGQVTR.cjs');
8
- require('./chunk-M5FREXRQ.cjs');
9
- require('./chunk-OAAYF2EI.cjs');
10
- require('./chunk-6H76FAI3.cjs');
8
+ require('./chunk-4F2IWBFM.cjs');
9
+ require('./chunk-BM2GRZNM.cjs');
10
+ require('./chunk-WZA5S5EJ.cjs');
11
11
 
12
12
 
13
13
 
14
14
  Object.defineProperty(exports, "addColumn", {
15
15
  enumerable: true,
16
- get: function () { return chunkXJ32XESJ_cjs.addColumn; }
16
+ get: function () { return chunkTN32PKUI_cjs.addColumn; }
17
17
  });
18
18
  Object.defineProperty(exports, "addRow", {
19
19
  enumerable: true,
20
- get: function () { return chunkXJ32XESJ_cjs.addRow; }
20
+ get: function () { return chunkTN32PKUI_cjs.addRow; }
21
21
  });
22
22
  Object.defineProperty(exports, "cellSelection", {
23
23
  enumerable: true,
24
- get: function () { return chunkXJ32XESJ_cjs.cellSelection; }
24
+ get: function () { return chunkTN32PKUI_cjs.cellSelection; }
25
25
  });
26
26
  Object.defineProperty(exports, "cellSelectionKey", {
27
27
  enumerable: true,
28
- get: function () { return chunkXJ32XESJ_cjs.cellSelectionKey; }
28
+ get: function () { return chunkTN32PKUI_cjs.cellSelectionKey; }
29
29
  });
30
30
  Object.defineProperty(exports, "cellSelectionPlugin", {
31
31
  enumerable: true,
32
- get: function () { return chunkXJ32XESJ_cjs.cellSelectionPlugin; }
32
+ get: function () { return chunkTN32PKUI_cjs.cellSelectionPlugin; }
33
33
  });
34
34
  Object.defineProperty(exports, "cellsInRange", {
35
35
  enumerable: true,
36
- get: function () { return chunkXJ32XESJ_cjs.cellsInRange; }
36
+ get: function () { return chunkTN32PKUI_cjs.cellsInRange; }
37
37
  });
38
38
  Object.defineProperty(exports, "deleteCellContents", {
39
39
  enumerable: true,
40
- get: function () { return chunkXJ32XESJ_cjs.deleteCellContents; }
40
+ get: function () { return chunkTN32PKUI_cjs.deleteCellContents; }
41
41
  });
42
42
  Object.defineProperty(exports, "englishTableLabels", {
43
43
  enumerable: true,
44
- get: function () { return chunkXJ32XESJ_cjs.englishTableLabels; }
44
+ get: function () { return chunkTN32PKUI_cjs.englishTableLabels; }
45
45
  });
46
46
  Object.defineProperty(exports, "insertTable", {
47
47
  enumerable: true,
48
- get: function () { return chunkXJ32XESJ_cjs.insertTable; }
48
+ get: function () { return chunkTN32PKUI_cjs.insertTable; }
49
49
  });
50
50
  Object.defineProperty(exports, "moveColumn", {
51
51
  enumerable: true,
52
- get: function () { return chunkXJ32XESJ_cjs.moveColumn; }
52
+ get: function () { return chunkTN32PKUI_cjs.moveColumn; }
53
53
  });
54
54
  Object.defineProperty(exports, "moveRow", {
55
55
  enumerable: true,
56
- get: function () { return chunkXJ32XESJ_cjs.moveRow; }
56
+ get: function () { return chunkTN32PKUI_cjs.moveRow; }
57
57
  });
58
58
  Object.defineProperty(exports, "removeColumn", {
59
59
  enumerable: true,
60
- get: function () { return chunkXJ32XESJ_cjs.removeColumn; }
60
+ get: function () { return chunkTN32PKUI_cjs.removeColumn; }
61
61
  });
62
62
  Object.defineProperty(exports, "removeRow", {
63
63
  enumerable: true,
64
- get: function () { return chunkXJ32XESJ_cjs.removeRow; }
64
+ get: function () { return chunkTN32PKUI_cjs.removeRow; }
65
65
  });
66
66
  Object.defineProperty(exports, "selectCells", {
67
67
  enumerable: true,
68
- get: function () { return chunkXJ32XESJ_cjs.selectCells; }
68
+ get: function () { return chunkTN32PKUI_cjs.selectCells; }
69
69
  });
70
70
  Object.defineProperty(exports, "setCellsMark", {
71
71
  enumerable: true,
72
- get: function () { return chunkXJ32XESJ_cjs.setCellsMark; }
72
+ get: function () { return chunkTN32PKUI_cjs.setCellsMark; }
73
73
  });
74
74
  Object.defineProperty(exports, "setColumnAlign", {
75
75
  enumerable: true,
76
- get: function () { return chunkXJ32XESJ_cjs.setColumnAlign; }
76
+ get: function () { return chunkTN32PKUI_cjs.setColumnAlign; }
77
77
  });
78
78
  Object.defineProperty(exports, "setColumnWidth", {
79
79
  enumerable: true,
80
- get: function () { return chunkXJ32XESJ_cjs.setColumnWidth; }
80
+ get: function () { return chunkTN32PKUI_cjs.setColumnWidth; }
81
81
  });
82
82
  Object.defineProperty(exports, "tableExtension", {
83
83
  enumerable: true,
84
- get: function () { return chunkXJ32XESJ_cjs.tableExtension; }
84
+ get: function () { return chunkTN32PKUI_cjs.tableExtension; }
85
85
  });
86
86
  Object.defineProperty(exports, "toggleHeaderRow", {
87
87
  enumerable: true,
88
- get: function () { return chunkXJ32XESJ_cjs.toggleHeaderRow; }
88
+ get: function () { return chunkTN32PKUI_cjs.toggleHeaderRow; }
89
89
  });
90
90
  //# sourceMappingURL=table.cjs.map
91
91
  //# sourceMappingURL=table.cjs.map
package/dist/table.js CHANGED
@@ -1,10 +1,10 @@
1
1
  'use client';
2
- export { addColumn, addRow, cellSelection, cellSelectionKey, cellSelectionPlugin, cellsInRange, deleteCellContents, englishTableLabels, insertTable, moveColumn, moveRow, removeColumn, removeRow, selectCells, setCellsMark, setColumnAlign, setColumnWidth, tableExtension, toggleHeaderRow } from './chunk-AQNVYFEU.js';
3
- import './chunk-JEFQNZO4.js';
4
- import './chunk-G7HK4OHE.js';
2
+ export { addColumn, addRow, cellSelection, cellSelectionKey, cellSelectionPlugin, cellsInRange, deleteCellContents, englishTableLabels, insertTable, moveColumn, moveRow, removeColumn, removeRow, selectCells, setCellsMark, setColumnAlign, setColumnWidth, tableExtension, toggleHeaderRow } from './chunk-MEXDDWJF.js';
3
+ import './chunk-3BCP6ZUM.js';
4
+ import './chunk-PVCXTSUO.js';
5
5
  import './chunk-HDJ653LM.js';
6
- import './chunk-IVWFPFUG.js';
7
- import './chunk-3G4ZWUUY.js';
8
- import './chunk-QLDXQOHQ.js';
6
+ import './chunk-4EU4BTLZ.js';
7
+ import './chunk-CSKKSXCE.js';
8
+ import './chunk-BJTOLCRR.js';
9
9
  //# sourceMappingURL=table.js.map
10
10
  //# sourceMappingURL=table.js.map
package/dist/toc.cjs CHANGED
@@ -1,27 +1,27 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkKKRQDVBJ_cjs = require('./chunk-KKRQDVBJ.cjs');
5
- require('./chunk-ABVSP2XR.cjs');
6
- require('./chunk-VSUGJZ7G.cjs');
4
+ var chunkK7E2DR5W_cjs = require('./chunk-K7E2DR5W.cjs');
5
+ require('./chunk-6X5A4DUQ.cjs');
6
+ require('./chunk-NNDLIP2C.cjs');
7
7
  require('./chunk-A6PGQVTR.cjs');
8
- require('./chunk-M5FREXRQ.cjs');
9
- require('./chunk-OAAYF2EI.cjs');
10
- require('./chunk-6H76FAI3.cjs');
8
+ require('./chunk-4F2IWBFM.cjs');
9
+ require('./chunk-BM2GRZNM.cjs');
10
+ require('./chunk-WZA5S5EJ.cjs');
11
11
 
12
12
 
13
13
 
14
14
  Object.defineProperty(exports, "englishTocLabels", {
15
15
  enumerable: true,
16
- get: function () { return chunkKKRQDVBJ_cjs.englishTocLabels; }
16
+ get: function () { return chunkK7E2DR5W_cjs.englishTocLabels; }
17
17
  });
18
18
  Object.defineProperty(exports, "headings", {
19
19
  enumerable: true,
20
- get: function () { return chunkKKRQDVBJ_cjs.headings; }
20
+ get: function () { return chunkK7E2DR5W_cjs.headings; }
21
21
  });
22
22
  Object.defineProperty(exports, "tocExtension", {
23
23
  enumerable: true,
24
- get: function () { return chunkKKRQDVBJ_cjs.tocExtension; }
24
+ get: function () { return chunkK7E2DR5W_cjs.tocExtension; }
25
25
  });
26
26
  //# sourceMappingURL=toc.cjs.map
27
27
  //# sourceMappingURL=toc.cjs.map
package/dist/toc.js CHANGED
@@ -1,10 +1,10 @@
1
1
  'use client';
2
- export { englishTocLabels, headings, tocExtension } from './chunk-PRXIYHSX.js';
3
- import './chunk-JEFQNZO4.js';
4
- import './chunk-G7HK4OHE.js';
2
+ export { englishTocLabels, headings, tocExtension } from './chunk-WCAUPASG.js';
3
+ import './chunk-3BCP6ZUM.js';
4
+ import './chunk-PVCXTSUO.js';
5
5
  import './chunk-HDJ653LM.js';
6
- import './chunk-IVWFPFUG.js';
7
- import './chunk-3G4ZWUUY.js';
8
- import './chunk-QLDXQOHQ.js';
6
+ import './chunk-4EU4BTLZ.js';
7
+ import './chunk-CSKKSXCE.js';
8
+ import './chunk-BJTOLCRR.js';
9
9
  //# sourceMappingURL=toc.js.map
10
10
  //# sourceMappingURL=toc.js.map
package/dist/view.cjs CHANGED
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var chunkK5HWMBWH_cjs = require('./chunk-K5HWMBWH.cjs');
3
+ var chunk4T4TJ2QS_cjs = require('./chunk-4T4TJ2QS.cjs');
4
4
  var chunkA6PGQVTR_cjs = require('./chunk-A6PGQVTR.cjs');
5
- var chunk6H76FAI3_cjs = require('./chunk-6H76FAI3.cjs');
5
+ var chunkWZA5S5EJ_cjs = require('./chunk-WZA5S5EJ.cjs');
6
6
  var react = require('react');
7
7
 
8
8
  function QuoinView({ blocks, blockTypes, highlight, className, ...options }) {
9
9
  const slots = /* @__PURE__ */ new Map();
10
- const nodes = chunk6H76FAI3_cjs.documentNodes(blocks, options, chunkK5HWMBWH_cjs.viewRenderer({ blockTypes, highlight }, slots));
11
- return react.createElement("div", { className: className ? `quoin-view ${className}` : "quoin-view" }, ...chunkK5HWMBWH_cjs.reactNodes(nodes, slots));
10
+ const nodes = chunkWZA5S5EJ_cjs.documentNodes(blocks, options, chunk4T4TJ2QS_cjs.viewRenderer({ blockTypes, highlight }, slots));
11
+ return react.createElement("div", { className: className ? `quoin-view ${className}` : "quoin-view" }, ...chunk4T4TJ2QS_cjs.reactNodes(nodes, slots));
12
12
  }
13
13
 
14
14
  Object.defineProperty(exports, "defineBlock", {
package/dist/view.js CHANGED
@@ -1,6 +1,6 @@
1
- import { viewRenderer, reactNodes } from './chunk-5LWJDRWD.js';
1
+ import { viewRenderer, reactNodes } from './chunk-BXSWZEA5.js';
2
2
  export { defineBlock } from './chunk-HDJ653LM.js';
3
- import { documentNodes } from './chunk-QLDXQOHQ.js';
3
+ import { documentNodes } from './chunk-BJTOLCRR.js';
4
4
  import { createElement } from 'react';
5
5
 
6
6
  function QuoinView({ blocks, blockTypes, highlight, className, ...options }) {