quoin-editor 2.0.5 → 2.1.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 (215) hide show
  1. package/CHANGELOG.md +105 -0
  2. package/MIGRATION.md +1 -1
  3. package/README.md +4 -3
  4. package/dist/ai.cjs +124 -94
  5. package/dist/ai.d.cts +7 -0
  6. package/dist/ai.d.ts +7 -0
  7. package/dist/ai.js +50 -20
  8. package/dist/ai.js.map +1 -1
  9. package/dist/catalogue.cjs +28 -26
  10. package/dist/catalogue.js +19 -17
  11. package/dist/catalogue.js.map +1 -1
  12. package/dist/{chunk-JGEDJYIV.cjs → chunk-2FUWXPPC.cjs} +92 -98
  13. package/dist/{chunk-NHNW5DK3.js → chunk-3F76QQ65.js} +6 -6
  14. package/dist/{chunk-NHNW5DK3.js.map → chunk-3F76QQ65.js.map} +1 -1
  15. package/dist/{chunk-DBOZFNWU.js → chunk-3QYFAAQR.js} +3 -3
  16. package/dist/{chunk-DBOZFNWU.js.map → chunk-3QYFAAQR.js.map} +1 -1
  17. package/dist/{chunk-I7X7B3WD.cjs → chunk-4JDRDPLC.cjs} +17 -8
  18. package/dist/{chunk-EBSDPHPS.cjs → chunk-4UFWFV43.cjs} +1060 -719
  19. package/dist/{chunk-LM3DHROX.cjs → chunk-5AUIA4B3.cjs} +2 -2
  20. package/dist/{chunk-3INFNIGN.cjs → chunk-5H3BB5VJ.cjs} +131 -78
  21. package/dist/{chunk-DJU25PFC.cjs → chunk-5L2NSIHZ.cjs} +11 -11
  22. package/dist/{chunk-W376L2GM.js → chunk-6Y7JAWYY.js} +8 -8
  23. package/dist/chunk-6Y7JAWYY.js.map +1 -0
  24. package/dist/{chunk-UDBLZILE.js → chunk-ATKDXQEY.js} +12 -7
  25. package/dist/{chunk-UDBLZILE.js.map → chunk-ATKDXQEY.js.map} +1 -1
  26. package/dist/{chunk-A2IQHMIH.js → chunk-BE2SYPK5.js} +49 -54
  27. package/dist/chunk-BE2SYPK5.js.map +1 -0
  28. package/dist/{chunk-PURYVDC3.cjs → chunk-CFICD2JP.cjs} +21 -16
  29. package/dist/{chunk-3HW3WRYC.cjs → chunk-CSIUXYRU.cjs} +2 -2
  30. package/dist/{chunk-N7BSFDDM.cjs → chunk-DBKL524I.cjs} +23 -23
  31. package/dist/{chunk-XE3IYW5B.js → chunk-DEFYFIWW.js} +90 -37
  32. package/dist/chunk-DEFYFIWW.js.map +1 -0
  33. package/dist/{chunk-7E43TURF.cjs → chunk-ECI3PSMS.cjs} +7 -7
  34. package/dist/{chunk-4G645EYO.js → chunk-F73QEF7E.js} +5 -5
  35. package/dist/{chunk-4G645EYO.js.map → chunk-F73QEF7E.js.map} +1 -1
  36. package/dist/{chunk-KHRVCTQQ.cjs → chunk-FUT7XLMP.cjs} +61 -74
  37. package/dist/{chunk-7J63427U.cjs → chunk-GQSBOBOM.cjs} +375 -320
  38. package/dist/{chunk-LU3T3JB4.js → chunk-HPNSQWRD.js} +15 -28
  39. package/dist/chunk-HPNSQWRD.js.map +1 -0
  40. package/dist/{chunk-7Y4B7NHO.js → chunk-I34BFOLL.js} +18 -11
  41. package/dist/chunk-I34BFOLL.js.map +1 -0
  42. package/dist/{chunk-AJT54OMZ.js → chunk-IFRXEFQH.js} +9 -15
  43. package/dist/chunk-IFRXEFQH.js.map +1 -0
  44. package/dist/{chunk-YYW33WUL.cjs → chunk-K3XWVRL4.cjs} +8 -8
  45. package/dist/{chunk-LSI4RMTY.js → chunk-L5L6YNLT.js} +3 -3
  46. package/dist/{chunk-LSI4RMTY.js.map → chunk-L5L6YNLT.js.map} +1 -1
  47. package/dist/{chunk-2BPXVQBP.js → chunk-MO4UMXMT.js} +238 -86
  48. package/dist/chunk-MO4UMXMT.js.map +1 -0
  49. package/dist/{chunk-2QKFRKOP.cjs → chunk-N25EH2GZ.cjs} +351 -205
  50. package/dist/{chunk-CSPCDVCT.js → chunk-NCV2ML25.js} +3 -3
  51. package/dist/{chunk-CSPCDVCT.js.map → chunk-NCV2ML25.js.map} +1 -1
  52. package/dist/{chunk-NUQ64S5B.cjs → chunk-OJSKSQTL.cjs} +26 -26
  53. package/dist/chunk-PIWMU4BV.js +9 -0
  54. package/dist/chunk-PIWMU4BV.js.map +1 -0
  55. package/dist/chunk-QFGWSFOI.cjs +10 -0
  56. package/dist/{chunk-GPTJYWGS.js → chunk-RNBLVGWY.js} +3 -3
  57. package/dist/{chunk-GPTJYWGS.js.map → chunk-RNBLVGWY.js.map} +1 -1
  58. package/dist/{chunk-5RBMZGKV.js → chunk-TL2MJOWM.js} +325 -57
  59. package/dist/chunk-TL2MJOWM.js.map +1 -0
  60. package/dist/{chunk-YEDPBYO5.cjs → chunk-UDQ52EEC.cjs} +4 -4
  61. package/dist/{chunk-EIWPJWY3.js → chunk-UE2NQPNG.js} +5 -5
  62. package/dist/{chunk-EIWPJWY3.js.map → chunk-UE2NQPNG.js.map} +1 -1
  63. package/dist/{chunk-BE2YHZXA.cjs → chunk-ULV3SCYP.cjs} +26 -15
  64. package/dist/{chunk-WDBFGX3U.cjs → chunk-VTTMJGWP.cjs} +72 -77
  65. package/dist/{chunk-556PFYES.js → chunk-WK4UGDZN.js} +290 -235
  66. package/dist/chunk-WK4UGDZN.js.map +1 -0
  67. package/dist/{chunk-JZF6UQH5.cjs → chunk-WMKA37NJ.cjs} +12 -12
  68. package/dist/{chunk-F2ZK6Z52.js → chunk-Y26F2X4E.js} +3 -3
  69. package/dist/{chunk-F2ZK6Z52.js.map → chunk-Y26F2X4E.js.map} +1 -1
  70. package/dist/{chunk-FK7EBZPX.cjs → chunk-Z5EEDCRI.cjs} +549 -276
  71. package/dist/{chunk-G6NBQYMM.js → chunk-ZGFZRVQA.js} +817 -478
  72. package/dist/chunk-ZGFZRVQA.js.map +1 -0
  73. package/dist/{chunk-QLVX7MPS.js → chunk-ZQF45LA4.js} +19 -8
  74. package/dist/chunk-ZQF45LA4.js.map +1 -0
  75. package/dist/comments.cjs +127 -65
  76. package/dist/comments.d.cts +35 -2
  77. package/dist/comments.d.ts +35 -2
  78. package/dist/comments.js +73 -12
  79. package/dist/comments.js.map +1 -1
  80. package/dist/{diagram-extension-22x_njXB.d.ts → diagram-extension-BMlh8GCw.d.ts} +1 -1
  81. package/dist/{diagram-extension-C_FSkoj9.d.cts → diagram-extension-gmndUpti.d.cts} +1 -1
  82. package/dist/diagram.cjs +10 -9
  83. package/dist/diagram.d.cts +2 -2
  84. package/dist/diagram.d.ts +2 -2
  85. package/dist/diagram.js +7 -6
  86. package/dist/diff.cjs +25 -25
  87. package/dist/diff.js +3 -3
  88. package/dist/docx.cjs +31 -30
  89. package/dist/docx.js +5 -4
  90. package/dist/docx.js.map +1 -1
  91. package/dist/embed.cjs +10 -9
  92. package/dist/embed.js +8 -7
  93. package/dist/{emoji-extension-Dk5IQLZf.d.cts → emoji-extension-DD9CQTQj.d.cts} +1 -1
  94. package/dist/{emoji-extension-C832oGeT.d.ts → emoji-extension-U_PWZ2fX.d.ts} +1 -1
  95. package/dist/emoji.cjs +10 -9
  96. package/dist/emoji.d.cts +2 -2
  97. package/dist/emoji.d.ts +2 -2
  98. package/dist/emoji.js +7 -6
  99. package/dist/engine.cjs +58 -58
  100. package/dist/engine.d.cts +3 -3
  101. package/dist/engine.d.ts +3 -3
  102. package/dist/engine.js +3 -3
  103. package/dist/{find-extension-DmK9_N81.d.ts → find-extension-BGlqooZi.d.ts} +1 -1
  104. package/dist/{find-extension-BfruAPLi.d.cts → find-extension-BPnAJ8bY.d.cts} +1 -1
  105. package/dist/find.cjs +11 -10
  106. package/dist/find.d.cts +1 -1
  107. package/dist/find.d.ts +1 -1
  108. package/dist/find.js +7 -6
  109. package/dist/headless.cjs +70 -69
  110. package/dist/headless.d.cts +33 -10
  111. package/dist/headless.d.ts +33 -10
  112. package/dist/headless.js +5 -4
  113. package/dist/highlight.cjs +7 -6
  114. package/dist/highlight.js +6 -5
  115. package/dist/highlight.js.map +1 -1
  116. package/dist/{index-3fYvwqUZ.d.cts → index-DN7vRKFw.d.cts} +1 -1
  117. package/dist/{index-CgxnzCO5.d.ts → index-DyIYI3PM.d.ts} +1 -1
  118. package/dist/index.cjs +82 -81
  119. package/dist/index.d.cts +19 -12
  120. package/dist/index.d.ts +19 -12
  121. package/dist/index.js +6 -5
  122. package/dist/{labels-CiCxj2jP.d.cts → labels-BJORhN93.d.ts} +10 -5
  123. package/dist/{labels-BhRJYo46.d.ts → labels-CVYJ2-1X.d.cts} +10 -5
  124. package/dist/locale-ar.cjs +10 -0
  125. package/dist/locale-ar.d.cts +1 -1
  126. package/dist/locale-ar.d.ts +1 -1
  127. package/dist/locale-ar.js +10 -0
  128. package/dist/locale-ar.js.map +1 -1
  129. package/dist/locale-de.cjs +4 -0
  130. package/dist/locale-de.d.cts +1 -1
  131. package/dist/locale-de.d.ts +1 -1
  132. package/dist/locale-de.js +4 -0
  133. package/dist/locale-de.js.map +1 -1
  134. package/dist/locale-es.cjs +4 -0
  135. package/dist/locale-es.d.cts +1 -1
  136. package/dist/locale-es.d.ts +1 -1
  137. package/dist/locale-es.js +4 -0
  138. package/dist/locale-es.js.map +1 -1
  139. package/dist/locale-fr.cjs +4 -0
  140. package/dist/locale-fr.d.cts +1 -1
  141. package/dist/locale-fr.d.ts +1 -1
  142. package/dist/locale-fr.js +4 -0
  143. package/dist/locale-fr.js.map +1 -1
  144. package/dist/locale-ja.cjs +4 -0
  145. package/dist/locale-ja.d.cts +1 -1
  146. package/dist/locale-ja.d.ts +1 -1
  147. package/dist/locale-ja.js +4 -0
  148. package/dist/locale-ja.js.map +1 -1
  149. package/dist/locale-pt.cjs +4 -0
  150. package/dist/locale-pt.d.cts +1 -1
  151. package/dist/locale-pt.d.ts +1 -1
  152. package/dist/locale-pt.js +4 -0
  153. package/dist/locale-pt.js.map +1 -1
  154. package/dist/locale-zh.cjs +4 -0
  155. package/dist/locale-zh.d.cts +1 -1
  156. package/dist/locale-zh.d.ts +1 -1
  157. package/dist/locale-zh.js +4 -0
  158. package/dist/locale-zh.js.map +1 -1
  159. package/dist/math.cjs +11 -10
  160. package/dist/math.js +9 -8
  161. package/dist/mention.cjs +11 -10
  162. package/dist/mention.js +9 -8
  163. package/dist/{node-reveal-DY6bimv3.d.cts → node-reveal-Be7Xa0BL.d.cts} +1 -1
  164. package/dist/{node-reveal-BnFcnHhz.d.ts → node-reveal-CftIEqF_.d.ts} +1 -1
  165. package/dist/palette-DuIFHYHc.d.cts +10 -0
  166. package/dist/palette-DuIFHYHc.d.ts +10 -0
  167. package/dist/presence.cjs +39 -38
  168. package/dist/presence.js +8 -7
  169. package/dist/presence.js.map +1 -1
  170. package/dist/source.cjs +10 -9
  171. package/dist/source.d.cts +1 -1
  172. package/dist/source.d.ts +1 -1
  173. package/dist/source.js +6 -5
  174. package/dist/source.js.map +1 -1
  175. package/dist/{stats-extension-Dmw0Ujxe.d.ts → stats-extension-Bbpr593p.d.ts} +1 -1
  176. package/dist/{stats-extension-D5HySF0a.d.cts → stats-extension-D7FaeydW.d.cts} +1 -1
  177. package/dist/stats.cjs +12 -10
  178. package/dist/stats.d.cts +2 -2
  179. package/dist/stats.d.ts +2 -2
  180. package/dist/stats.js +9 -7
  181. package/dist/styles.css +1 -1
  182. package/dist/{table-extension-7LkLNK6Q.d.cts → table-extension-DNijjmxV.d.cts} +1 -1
  183. package/dist/{table-extension-DEpV0DnP.d.ts → table-extension-Dp6FYGPh.d.ts} +1 -1
  184. package/dist/table.cjs +26 -25
  185. package/dist/table.d.cts +4 -3
  186. package/dist/table.d.ts +4 -3
  187. package/dist/table.js +7 -6
  188. package/dist/{toc-extension-Dvh37bWQ.d.cts → toc-extension-BGEVAmSY.d.cts} +1 -1
  189. package/dist/{toc-extension-SVckrFmb.d.ts → toc-extension-DZIe40eV.d.ts} +1 -1
  190. package/dist/toc.cjs +10 -9
  191. package/dist/toc.d.cts +2 -2
  192. package/dist/toc.d.ts +2 -2
  193. package/dist/toc.js +7 -6
  194. package/dist/{types-DMuuDBVh.d.ts → types-Byu2a9qk.d.ts} +6 -1
  195. package/dist/{types-Bzhq5AXj.d.cts → types-DdDlCyyZ.d.cts} +6 -1
  196. package/dist/view.cjs +4 -4
  197. package/dist/view.js +2 -2
  198. package/dist/yjs.cjs +121 -121
  199. package/dist/yjs.d.cts +2 -2
  200. package/dist/yjs.d.ts +2 -2
  201. package/dist/yjs.js +5 -5
  202. package/package.json +4 -3
  203. package/dist/chunk-2BPXVQBP.js.map +0 -1
  204. package/dist/chunk-556PFYES.js.map +0 -1
  205. package/dist/chunk-5RBMZGKV.js.map +0 -1
  206. package/dist/chunk-7Y4B7NHO.js.map +0 -1
  207. package/dist/chunk-A2IQHMIH.js.map +0 -1
  208. package/dist/chunk-AJT54OMZ.js.map +0 -1
  209. package/dist/chunk-G6NBQYMM.js.map +0 -1
  210. package/dist/chunk-LU3T3JB4.js.map +0 -1
  211. package/dist/chunk-QLVX7MPS.js.map +0 -1
  212. package/dist/chunk-W376L2GM.js.map +0 -1
  213. package/dist/chunk-XE3IYW5B.js.map +0 -1
  214. package/dist/palette-BrX-hEd-.d.cts +0 -4
  215. package/dist/palette-BrX-hEd-.d.ts +0 -4
@@ -1,5 +1,5 @@
1
- import { sameSelection, validateSelection, removeMarkStep, addMarkStep, replaceInlineStep } from './chunk-5RBMZGKV.js';
2
- import { inlineLength, markKey, nodeLength, normalizeInline, text, atom } from './chunk-7Y4B7NHO.js';
1
+ import { sameSelection, validateSelection, removeMarkStep, addMarkStep, replaceInlineStep } from './chunk-TL2MJOWM.js';
2
+ import { inlineLength, markKey, nodeLength, normalizeInline, text, atom } from './chunk-I34BFOLL.js';
3
3
  import * as Y from 'yjs';
4
4
 
5
5
  // src/engine/collab/apply-remote.ts
@@ -290,9 +290,12 @@ function textSteps(layout, delta) {
290
290
  }
291
291
 
292
292
  // src/yjs/carets.ts
293
- function relative(text2, layout, pos) {
293
+ function placeOf(layout, pos) {
294
294
  const { seg, rel } = pointOf(regionOf(layout, pos.block, pos.region), pos.offset);
295
- return Y.createRelativePositionFromTypeIndex(text2, spanStart(layout, seg.host) + rel, -1);
295
+ return { index: spanStart(layout, seg.host) + rel, beforeText: rel < seg.at + seg.length };
296
+ }
297
+ function relative(text2, layout, pos) {
298
+ return Y.createRelativePositionFromTypeIndex(text2, placeOf(layout, pos).index, -1);
296
299
  }
297
300
  function absolute(text2, layout, held) {
298
301
  const found = Y.createAbsolutePositionFromRelativePosition(held, text2.doc);
@@ -305,7 +308,9 @@ function absolute(text2, layout, held) {
305
308
  function holdSelection(text2, layout, selection) {
306
309
  if (selection?.kind !== "text") return null;
307
310
  try {
308
- return { anchor: relative(text2, layout, selection.anchor), head: relative(text2, layout, selection.head) };
311
+ const [anchor, head] = [placeOf(layout, selection.anchor), placeOf(layout, selection.head)];
312
+ const hold = (place, other) => Y.createRelativePositionFromTypeIndex(text2, place.index, place.index < other.index && place.beforeText ? 0 : -1);
313
+ return { anchor: hold(anchor, head), head: hold(head, anchor) };
309
314
  } catch {
310
315
  return null;
311
316
  }
@@ -317,5 +322,5 @@ function restoreSelection(text2, layout, held) {
317
322
  }
318
323
 
319
324
  export { absolute, applyRemote, attrsMap, cleanEntry, createLayout, definedEntries, deleteText, emptySpan, grow, holdBinding, holdSelection, indexOf, inlineOfOps, insertInline, isAtomEmbed, markAttribute, markerOf, offsetIn, piecesOf, placeEntries, pointOf, readMarker, regionNameOf, regionOf, regionStart, relative, restoreSelection, sharedChange, sharedOf, spanAt, spanStart, textLength, textSteps, writeBlock, writeBlocks };
320
- //# sourceMappingURL=chunk-UDBLZILE.js.map
321
- //# sourceMappingURL=chunk-UDBLZILE.js.map
325
+ //# sourceMappingURL=chunk-ATKDXQEY.js.map
326
+ //# sourceMappingURL=chunk-ATKDXQEY.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/engine/collab/apply-remote.ts","../src/yjs/bound.ts","../src/yjs/layout.ts","../src/yjs/marks-codec.ts","../src/yjs/inline-codec.ts","../src/yjs/doc-shape.ts","../src/yjs/text-steps.ts","../src/yjs/carets.ts"],"names":["text","Y2"],"mappings":";;;;;AAWO,SAAS,aACd,QACA,OACA,eACA,SAA4B,UACf;AACb,QAAM,KAAK,OAAO,mBAAkB,CAAE,UAAU,MAAM,EAAE,QAAQ,gBAAgB,KAAK;AACrF,aAAW,QAAQ,OAAO,GAAG,KAAK,IAAI;AACtC,MAAI,iBAAiB,cAAc,kBAAkB,GAAG,KAAK,OAAO,QAAQ,aAAa,GAAG,aAAa,GAAG;AAC1G,OAAG,aAAa,aAAa;AAAA,EAC/B;AACA,SAAO;AACT;AAMO,SAAS,YACd,QACA,OACA,eACM;AACN,SAAO,SAAS,aAAa,QAAQ,OAAO,aAAa,CAAC;AAC5D;;;AC9BA,IAAM,wBAAQ,OAAO,IAAI,0BAA0B;AAI5C,SAAS,YAAY,eAAuB,SAAqC;AACtF,EAAC,cAAwB,KAAK,IAAI;AACpC;AAGO,SAAS,SAAS,eAAuB,QAA+B;AAC7E,QAAM,UAAW,cAAwB,KAAK,KAAI;AAClD,SAAO,SAAS,WAAW,SAAS,QAAQ,SAAS;AACvD;;;ACmBO,IAAM,YAAY,OAAa,EAAE,QAAQ,GAAG,OAAO,MAAM,MAAM,EAAC,EAAG,OAAO,GAAE;AAE5E,IAAM,eAAe,CAC1B,OACA,SACA,SAAiB,EAAE,MAAM,EAAC,EAAG,yBAAS,IAAI,KAAI,EAAG,QAAQ,OAAM,MACnD;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ,EAAC;AAAA,EACT,OAAO;AACT;AAEA,SAAS,OAAO,QAAsB;AACpC,QAAM,EAAE,OAAO,QAAO,GAAI;AAC1B,MAAI,KAAK,OAAO,UAAU,IAAI,IAAI,OAAO,OAAO,QAAQ,CAAC,IAAI,MAAM,OAAO,QAAQ,CAAC,EAAE;AACrF,WAAS,IAAI,OAAO,OAAO,IAAI,MAAM,QAAQ,KAAK;AAChD,WAAO,CAAC,IAAI;AACZ,UAAM,CAAC,EAAE,QAAQ;AACjB,UAAM,MAAM,CAAC,EAAE;AAAA,EACjB;AACA,SAAO,QAAQ,MAAM;AACvB;AAEO,IAAM,aAAa,CAAC,QAAgB,SAAuB,MAAM,OAAO,QAAQ,KAAK,IAAI,OAAO,OAAO,IAAI;AAE3G,SAAS,UAAU,QAAgB,MAAoB;AAC5D,MAAI,KAAK,SAAS,OAAO,SAAS,OAAO,MAAM,KAAK,KAAK,MAAM,MAAM,OAAO,MAAM;AAClF,SAAO,OAAO,OAAO,KAAK,KAAK;AACjC;AAEO,SAAS,QAAQ,QAAgB,MAAoB;AAC1D,YAAU,QAAQ,IAAI;AACtB,SAAO,KAAK;AACd;AAEO,SAAS,WAAW,QAAwB;AACjD,QAAM,OAAO,OAAO,MAAM,OAAO,MAAM,SAAS,CAAC;AACjD,SAAO,UAAU,QAAQ,IAAI,IAAI,KAAK;AACxC;AAGO,SAAS,OAAO,QAAgB,IAAY,OAAO,OAAa;AACrE,SAAO,MAAM;AACb,MAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,SAAS,CAAC;AAC7C,SAAO,MAAM,MAAM;AACjB,UAAM,SAAS,KAAK,MAAM,MAAM,QAAQ,CAAC;AACzC,QAAI,OAAO,OAAO,MAAM,IAAI,MAAO,QAAQ,OAAO,OAAO,MAAM,MAAM,IAAK,MAAM;AAAA,gBACpE,SAAS;AAAA,EACvB;AACA,SAAO,OAAO,MAAM,GAAG;AACzB;AAKO,SAAS,SAAS,KAAU,KAAqB;AACtD,MAAI,SAAS,MAAM,IAAI;AACvB,aAAW,SAAS,IAAI,OAAO,MAAM;AACnC,QAAI,UAAU,KAAK,OAAO;AAC1B,cAAU,MAAM;AAAA,EAClB;AACA,SAAO;AACT;AAGO,SAAS,QAAQ,QAAgB,QAA2C;AACjF,MAAI,SAAS;AACb,aAAW,OAAO,OAAO,MAAM;AAC7B,QAAI,UAAU,SAAS,IAAI,QAAQ,OAAO,EAAE,KAAK,KAAK,IAAI,KAAK,SAAS,QAAO;AAC/E,cAAU,IAAI;AAAA,EAChB;AACA,QAAM,IAAI,WAAW,UAAU,MAAM,+BAA+B,OAAO,IAAI,GAAG;AACpF;AAGO,SAAS,SAAS,QAAgB,MAAc,IAAyD;AAC9G,QAAM,SAAsD,EAAC;AAC7D,MAAI,SAAS;AACb,aAAW,OAAO,OAAO,MAAM;AAC7B,UAAM,QAAQ,KAAK,IAAI,MAAM,MAAM;AACnC,UAAM,MAAM,KAAK,IAAI,IAAI,SAAS,IAAI,MAAM;AAC5C,QAAI,MAAM,OAAO,OAAO,KAAK,EAAE,KAAK,KAAK,IAAI,KAAK,QAAQ,QAAQ,QAAQ,MAAM,OAAO;AACvF,cAAU,IAAI;AAAA,EAChB;AACA,SAAO;AACT;AAGO,SAAS,KAAK,QAAgB,KAAU,KAAa,IAAkB;AAC5E,MAAI,UAAU;AACd,MAAI,KAAK,UAAU;AACnB,aAAW,SAAS,IAAI,KAAK,MAAM;AACjC,QAAI,UAAU,QAAQ,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM;AAAA,EAChF;AACA,aAAW,QAAQ,IAAI,KAAK,QAAQ,CAAC;AACvC;AAGO,SAAS,WAAW,OAAoB,KAA4B;AACzE,QAAM,OAAO,WAAU;AACvB,QAAM,QAAe,EAAE,IAAI,MAAM,IAAI,KAAK,MAAM,SAAS,EAAC,EAAG,QAAQ,EAAC,EAAE;AACxE,OAAK,QAAQ;AACb,OAAK,SAAS;AACd,aAAW,CAAC,MAAM,MAAM,KAAK,OAAO,QAAQ,MAAM,OAAO,GAAG;AAC1D,UAAM,SAAiB,EAAE,MAAM,OAAO,MAAM,EAAC,EAAE;AAC/C,UAAM,MAAW,EAAE,MAAM,MAAM,QAAQ,IAAI,KAAK,SAAS,GAAG,QAAQ,aAAa,MAAM,GAAE;AACzF,WAAO,KAAK,KAAK,GAAG;AACpB,SAAK,KAAK,KAAK,GAAG;AAClB,UAAM,QAAQ,KAAK,MAAM;AACzB,SAAK,UAAU,IAAI,IAAI;AAAA,EACzB;AACA,SAAO;AACT;AAGO,SAAS,aAAa,QAAgB,IAAY,OAAe,SAAiC;AACvG,aAAW,QAAQ,OAAO,MAAM,OAAO,IAAI,OAAO,GAAG,QAAQ,IAAI,CAAC,UAAU,MAAM,IAAI,CAAC,GAAG;AACxF,QAAI,KAAK,UAAU,QAAQ,OAAO,QAAQ,IAAI,KAAK,MAAM,EAAE,MAAM,KAAK,OAAO,OAAO,QAAQ,OAAO,KAAK,MAAM,EAAE;AAChH,UAAM,SAAS,KAAK,QAAQ;AAC5B,QAAI,QAAQ,SAAS,IAAI,GAAG,OAAO,OAAO,OAAO,QAAQ,IAAI,GAAG,CAAC;AAAA,EACnE;AACA,aAAW,SAAS,SAAS,OAAO,QAAQ,IAAI,MAAM,IAAI,KAAK;AAC/D,aAAW,QAAQ,EAAE;AACvB;AAEO,SAAS,SAAS,QAAgB,IAAY,MAAsB;AACzE,QAAM,SAAS,OAAO,QAAQ,IAAI,EAAE,GAAG,QAAQ,KAAK,CAAC,cAAc,UAAU,SAAS,IAAI;AAC1F,MAAI,WAAW,QAAW,MAAM,IAAI,WAAW,cAAc,IAAI,eAAe,EAAE,GAAG;AACrF,SAAO;AACT;;;ACjKA,IAAM,SAAS;AACf,IAAM,YAAY,CAAC,QAAiB,OAAO,OAAO,aAAa,IAAI,WAAW,MAAM,IAAI,SAAS,MAAM;AACvG,IAAM,cAAc,CAAC,QAAiB,IAAI,WAAW,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI;AAE9E,IAAM,aAAa,CAAC,OAAc,QAChC,OAAO,KAAK,KAAK,EAAE,WAAW,KAAK,OAAO,OAAO,OAAO,GAAG,KAAK,OAAO,MAAM,GAAG,MAAM;AAQjF,SAAS,cAAc,MAAmC;AAC/D,QAAM,MAAM,QAAQ,IAAI;AACxB,QAAM,EAAE,OAAM,GAAI;AAClB,QAAM,UAAU,QAAQ,KAAK;AAC7B,MAAI,UAAU,QAAW,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,OAAO;AACzD,MAAI,WAAW,WAAW,OAAO,IAAI,UAAU,CAAC,UAAU,GAAG,GAAG,IAAI;AACpE,MAAI,WAAW,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,GAAG,MAAM,KAAK,IAAI,CAAC;AAC1E,SAAO,CAAC,UAAU,GAAG,GAAG,KAAK;AAC/B;AAEA,SAAS,YAAY,KAAsC;AACzD,QAAM,QAAQ,IAAI,QAAQ,GAAG;AAC7B,MAAI,QAAQ,GAAG,OAAO;AACtB,QAAM,OAAO,IAAI,MAAM,GAAG,KAAK;AAC/B,QAAM,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC9B,SAAO,QAAQ,EAAE,MAAM,OAAO,EAAE,IAAG,EAAG,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI;AACjE;AAEO,SAAS,kBAAkB,WAAmB,OAAsB;AACzE,QAAM,MAAM,YAAY,SAAS;AACjC,QAAM,UAAU,YAAY,GAAG;AAC/B,QAAM,OAAO,UAAU,CAAC,KAAK;AAC7B,MAAI,UAAU,MAAM,OAAO,YAAY,OAAO,EAAE,MAAK,GAAI,EAAE,MAAM,OAAO,EAAE,IAAI,QAAQ,CAAC,GAAE,EAAE;AAC3F,MAAI,UAAU,OAAO,OAAO,EAAE,MAAK;AACnC,MAAI,OAAO,UAAU,UAAU,OAAO,EAAE,MAAM,OAAO,EAAE,CAAC,IAAI,GAAG,OAAM,EAAE;AACvE,SAAO,EAAE,MAAM,OAAO,OAAe;AACvC;AAEO,IAAM,oBAAoB,CAAC,UAChC,OAAO,YAAY,MAAM,IAAI,aAAa,CAAC;AAEtC,IAAM,oBAAoB,CAAC,aAAgD,EAAC,KACjF,OAAO,QAAQ,UAAU,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,kBAAkB,KAAK,KAAK,CAAC;;;AC1CzE,IAAM,YAAY,CAAC,WACxB,OAAO,IAAI,CAAC,UAAU;AAAA,EACpB,QAAQ,KAAK,SAAS,SAAS,KAAK,OAAO,EAAE,MAAM,KAAK,MAAM,OAAO,KAAK,OAAM;AAAA,EAChF,YAAY,kBAAkB,KAAK,KAAK;AAC1C,EAAE;AAGG,SAAS,aAAa,QAAgB,IAAY,QAAsB;AAC7E,MAAI,SAAS;AACb,aAAW,QAAQ,QAAQ;AACzB,UAAM,aAAa,kBAAkB,KAAK,KAAK;AAC/C,QAAI,KAAK,SAAS,QAAQ,OAAO,OAAO,QAAQ,KAAK,MAAM,UAAU;AAAA,SAChE,OAAO,YAAY,QAAQ,EAAE,MAAM,KAAK,MAAM,OAAO,KAAK,OAAM,EAAuB,UAAU;AACtG,cAAU,WAAW,IAAI;AAAA,EAC3B;AACF;AAEA,SAAS,OAAO,EAAE,QAAQ,YAAW,EAAyB;AAC5D,QAAM,QAAQ,kBAAkB,UAAU;AAC1C,SAAO,OAAO,WAAW,WAAW,KAAK,QAAQ,KAAK,IAAI,KAAK,OAAO,MAAM,OAAO,OAAO,KAAK;AACjG;AAEO,IAAM,cAAc,CAAC,QAAqC,gBAAgB,IAAI,IAAI,MAAM,CAAC;;;ACzBzF,IAAM,aAAa,CAACA,OAAc,IAAY,WAAyB,SAASA,OAAM,IAAI,CAAC,EAAE,QAAQ,QAAQ,CAAC;AAK9G,IAAM,cAAc,CAAC,UAA+B,EAAE,GAAG,MAAK;AAErE,IAAM,gBAAgB,CAAC,UACrB,OAAO,UAAU,YAAY,UAAU,QAAQ,EAAE,iBAAmB;AAG/D,IAAM,eAAe,CAAC,UAC3B,cAAc,KAAK,KAAK,OAAO,MAAM,MAAM,YAAY,MAAM,SAAS,SAAY,MAAM,IAAI;AAEvF,IAAM,cAAc,CAAC,UAC1B,cAAc,KAAK,KAAK,OAAO,MAAM,SAAS,YAAY,cAAc,MAAM,KAAK;AAE9E,IAAM,iBAAiB,CAAC,UAAsB,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,GAAG,KAAK,MAAM,UAAU,MAAS;AAG7G,SAAS,SAAS,QAAwB,OAA0C;AACzF,QAAM,UAAU,OAAO,IAAI,OAAO;AAClC,MAAI,mBAAqB,OAAK,OAAO;AACrC,SAAO,IAAI,SAAS,IAAM,MAAa,eAAe,KAAK,CAAC,CAAC;AAC7D,SAAO;AACT;AAGO,SAAS,SAAS,OAAoC;AAC3D,SAAO,IAAM,MAAa;AAAA,IACxB,CAAC,MAAM,MAAM,EAAE;AAAA,IACf,CAAC,QAAQ,MAAM,IAAI;AAAA,IACnB,CAAC,UAAU,MAAM,MAAM;AAAA,IACvB,CAAC,SAAS,IAAM,MAAa,eAAe,MAAM,KAAK,CAAC,CAAC;AAAA,GAC1D;AACH;AAKO,SAAS,WAAW,KAAoC;AAC7D,QAAM,CAAC,IAAI,MAAM,QAAQ,KAAK,IAAI,CAAC,MAAM,QAAQ,UAAU,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,CAAC;AAC7F,MAAI,OAAO,OAAO,UAAU,OAAO;AACnC,SAAO;AAAA,IACL;AAAA,IACA,MAAM,OAAO,SAAS,WAAW,OAAO;AAAA,IACxC,QAAQ,OAAO,WAAW,WAAW,SAAS;AAAA,IAC9C,OAAO,iBAAmB,QAAM,QAAQ;AAAA,GAC1C;AACF;AAIA,SAAS,SAAS,OAAoB,KAAqB,MAAyB;AAClF,QAAM,MAAgB,CAAC,EAAE,QAAQ,KAAK,YAAY,IAAI;AACtD,aAAW,CAAC,MAAM,MAAM,KAAK,OAAO,QAAQ,MAAM,OAAO,GAAG;AAC1D,QAAI,KAAK,EAAE,QAAQ,YAAY,IAAI,GAAG,YAAY,EAAC,EAAG;AACtD,QAAI,SAAS,MAAM;AACnB,QAAI,KAAK,GAAG,UAAU,MAAM,CAAC;AAAA,EAC/B;AACA,SAAO;AACT;AAGA,IAAM,WAAW,CAACA,OAAc,IAAY,QAAkBA,MAAK,WAAW,KAAK,IAAI,CAAC,EAAE,QAAQ,MAAM,GAAG,GAAG,IAAI,GAAG;AAM9G,SAAS,WAAWA,OAAc,IAAY,OAAoB,KAAqB,MAAqB;AACjH,WAASA,OAAM,IAAI,SAAS,OAAO,KAAK,IAAI,CAAC;AAC/C;AAGO,SAAS,YAAYA,OAAc,IAAY,QAAkD;AACtG,QAAM,OAAO,OAAO,IAAI,QAAQ;AAChC,WAASA,OAAM,IAAI,OAAO,QAAQ,CAAC,OAAO,MAAM,SAAS,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AACzE,SAAO;AACT;;;ACxEO,SAAS,MAAM,QAAgB,IAAY,MAAiD;AACjG,QAAM,OAAO,OAAO,QAAQ,IAAI,IAAI;AACpC,QAAM,MAAM,KAAK,UAAU,QAAQ,IAAI;AACvC,QAAM,MAAM,KAAK,KAAK,KAAK,CAAC,cAAc,UAAU,MAAM,OAAO,OAAO,UAAU,KAAK,UAAU,MAAM;AACvG,SAAO,QAAQ,SAAY,OAAO,EAAE,KAAK,KAAI;AAC/C;AAGA,SAAS,UAAU,QAAgB,EAAE,KAAK,KAAI,EAA8B,SAAiB,QAAsB;AACjH,QAAM,OAAO,SAAS,KAAK,GAAG;AAC9B,OAAK,QAAQ,KAAK,KAAK,aAAa,MAAM,IAAI,OAAO;AACrD,SAAO,kBAAkB,IAAI,OAAO,MAAM,IAAI,IAAI,OAAO,MAAM,MAAM,OAAO,SAAS,MAAM;AAC7F;AAEA,SAAS,YAAY,QAAgB,IAAY,QAAgB,YAA6C;AAC5G,QAAM,QAAgB,EAAC;AACvB,WAAS,OAAO,OAAO,QAAQ,IAAI,IAAI,KAAK,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,GAAG;AAC/E,UAAM,QAAQ,UAAU,QAAQ,IAAI;AACpC,QAAI,SAAS,KAAK,QAAQ;AAC1B,eAAW,OAAO,KAAK,MAAM;AAC3B,YAAM,OAAO,KAAK,IAAI,KAAK,OAAO,IAAI,EAAE;AACxC,YAAM,KAAK,KAAK,IAAI,KAAK,SAAS,OAAO,IAAI,KAAK,IAAI,MAAM;AAC5D,UAAI,MAAM,MAAM;AAChB,YAAM,EAAE,OAAO,MAAK,GAAI,IAAI;AAC5B,YAAM,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,GAAG,SAAS,KAAK,EAAE,CAAC;AAC7D,iBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,UAAU,GAAG;AACrD,cAAM,OAAO,kBAAkB,KAAK,SAAS,IAAI;AACjD,cAAM,MAAM,UAAU,OAAO,iBAAiB,aAAa,MAAM,IAAI,MAAM,OAAO,MAAM,IAAI,CAAC;AAAA,MAC/F;AAAA,IACF;AACA,QAAI,KAAK,QAAQ,KAAK,OAAO,MAAM,QAAQ;AAAA,EAC7C;AACA,SAAO;AACT;AAMO,SAAS,UAAU,QAAgB,OAA0C;AAClF,QAAM,QAAgB,EAAC;AACvB,MAAI,KAAK;AACT,aAAW,MAAM,OAAO;AACtB,QAAI,GAAG,WAAW,QAAW;AAC3B,UAAI,GAAG,eAAe,QAAW,MAAM,KAAK,GAAG,YAAY,QAAQ,IAAI,GAAG,QAAQ,GAAG,UAAU,CAAC;AAChG,YAAM,GAAG;AAAA,IACX,WAAW,GAAG,WAAW,QAAW;AAClC,YAAM,QAAQ,MAAM,QAAQ,IAAI,IAAI;AACpC,UAAI,UAAU,QAAQ,MAAM,MAAM,GAAG,SAAS,MAAM,IAAI,KAAK,MAAM,IAAI,QAAQ,OAAO;AACtF,YAAM,KAAK,UAAU,QAAQ,OAAO,GAAG,QAAQ,EAAE,CAAC;AAAA,IACpD,OAAO;AACL,YAAM,QAAQ,OAAO,GAAG,WAAW,YAAY,YAAY,GAAG,MAAM,IAAI,MAAM,QAAQ,IAAI,KAAK,IAAI;AACnG,UAAI,UAAU,MAAM,OAAO;AAC3B,YAAM,SAAS,YAAY,CAAC,EAAc,CAAC;AAC3C,YAAM,KAAK,UAAU,QAAQ,OAAO,GAAG,MAAM,CAAC;AAC9C,YAAM,aAAa,MAAM;AAAA,IAC3B;AAAA,EACF;AACA,SAAO;AACT;;;ACjEO,SAAS,SAASA,OAAc,QAAgB,KAA8B;AACnF,QAAM,EAAE,KAAK,KAAI,GAAI,QAAQ,SAAS,QAAQ,IAAI,OAAO,IAAI,MAAM,GAAG,IAAI,MAAM;AAChF,SAASC,CAAA,qCAAoCD,OAAM,UAAU,QAAQ,IAAI,IAAI,IAAI,KAAK,EAAE;AAC1F;AAEO,SAAS,SAASA,OAAc,QAAgB,MAAsC;AAC3F,QAAM,QAAUC,CAAA,4CAA2C,MAAMD,MAAK,GAAI;AAC1E,MAAI,UAAU,QAAQ,MAAM,SAASA,OAAM,OAAO;AAClD,QAAM,KAAK,MAAM,QAAQ,MAAM,OAAO,KAAK;AAC3C,MAAI,OAAO,MAAM,OAAO;AACxB,QAAM,EAAE,KAAK,KAAI,GAAI;AACrB,SAAO,EAAE,OAAO,IAAI,OAAO,MAAM,IAAI,QAAQ,IAAI,OAAO,MAAM,QAAQ,SAAS,KAAK,GAAG,GAAE;AAC3F;AAMO,SAAS,cAAcA,OAAc,QAAgB,WAA4C;AACtG,MAAI,WAAW,SAAS,QAAQ,OAAO;AACvC,MAAI;AACF,WAAO,EAAE,QAAQ,SAASA,OAAM,QAAQ,UAAU,MAAM,GAAG,MAAM,SAASA,OAAM,QAAQ,UAAU,IAAI,GAAE;AAAA,EAC1G,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEO,SAAS,iBAAiBA,OAAc,QAAgB,MAAmD;AAChH,MAAI,CAAC,MAAM,OAAO;AAClB,QAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,SAASA,OAAM,QAAQ,KAAK,MAAM,GAAG,SAASA,OAAM,QAAQ,KAAK,IAAI,CAAC;AAC9F,SAAO,WAAW,QAAQ,SAAS,OAAO,OAAO,EAAE,MAAM,QAAQ,QAAQ,MAAK;AAChF","file":"chunk-UDBLZILE.js"}
1
+ {"version":3,"sources":["../src/engine/collab/apply-remote.ts","../src/yjs/bound.ts","../src/yjs/layout.ts","../src/yjs/marks-codec.ts","../src/yjs/inline-codec.ts","../src/yjs/doc-shape.ts","../src/yjs/text-steps.ts","../src/yjs/carets.ts"],"names":["text","Y2"],"mappings":"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","file":"chunk-ATKDXQEY.js"}
@@ -1,9 +1,9 @@
1
1
  import { lazyLoad } from './chunk-KTUOPDVO.js';
2
- import { cn, FOCUS_RING, suggestionPlugin, SmilePlus, styleTargets, replaceTrigger, SuggestionMenu, usePartAnchor, useOutsidePress, Popover, PopoverAnchor, PopoverContent, preventDefault, bubblePart, Input, runOnBlocks, noChange, useQuoin, toError } from './chunk-G6NBQYMM.js';
3
- import { arrowAsWritten, inlineDirection, useReadOnly, useEditorState, useIsomorphicLayoutEffect } from './chunk-2BPXVQBP.js';
2
+ import { cn, FOCUS_RING, suggestionPlugin, SmilePlus, styleTargets, replaceTrigger, SuggestionMenu, usePartAnchor, useOutsidePress, Popover, PopoverAnchor, PopoverContent, preventDefault, bubblePart, Input, runOnBlocks, noChange, useQuoin, toError } from './chunk-ZGFZRVQA.js';
3
+ import { arrowAsWritten, inlineDirection, useReadOnly, useEditorState, useIsomorphicLayoutEffect } from './chunk-MO4UMXMT.js';
4
4
  import { mergeLabels } from './chunk-DLQCTGC3.js';
5
- import { createPluginKey, defineExtension, getPluginState, insertText, setAttrs } from './chunk-5RBMZGKV.js';
6
- import { blockById } from './chunk-7Y4B7NHO.js';
5
+ import { createPluginKey, defineExtension, getPluginState, insertText, setAttrs } from './chunk-TL2MJOWM.js';
6
+ import { blockById } from './chunk-I34BFOLL.js';
7
7
  import { memo, forwardRef, useId, useState, useCallback, useEffect, useMemo, useSyncExternalStore, useRef } from 'react';
8
8
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
9
9
 
@@ -13,6 +13,9 @@ var allCallouts = (state, blockIds) => blockIds.length > 0 && blockIds.every((id
13
13
  // src/extensions/emoji/composing-key.ts
14
14
  var isComposing = (event) => event.isComposing || event.keyCode === 229;
15
15
 
16
+ // src/extensions/emoji/emoji-at.ts
17
+ var emojiAt = (target) => target instanceof Element ? target.closest("[data-emoji]")?.getAttribute("data-emoji") ?? null : null;
18
+
16
19
  // src/extensions/emoji/emoji-name.ts
17
20
  var emojiName = ({ shortcodes, tags }) => shortcodes[0] ?? tags[0] ?? "";
18
21
 
@@ -45,7 +48,6 @@ var CELL = cn(
45
48
  var HEADING = "px-1 pt-2 pb-1 text-xs font-medium text-muted-foreground";
46
49
  var FIRST = { row: 0, col: 0 };
47
50
  var cellId = (baseId, row, col) => `${baseId}-cell-${row}-${col}`;
48
- var emojiAt = (target) => target instanceof Element ? target.closest("[data-emoji]")?.getAttribute("data-emoji") ?? null : null;
49
51
  var EmojiRow = memo(function EmojiRow2({ baseId, row, emoji, activeCol }) {
50
52
  return /* @__PURE__ */ jsx("div", { role: "row", className: "flex", children: emoji.map((cell, col) => /* @__PURE__ */ jsx(
51
53
  "div",
@@ -61,10 +63,10 @@ var EmojiRow = memo(function EmojiRow2({ baseId, row, emoji, activeCol }) {
61
63
  cell.emoji
62
64
  )) });
63
65
  });
64
- var EmojiGrids = forwardRef(function EmojiGrids2({ layout, onPick }, ref) {
66
+ function EmojiGrid({ section: section2, onPick }) {
65
67
  const baseId = useId();
66
68
  const [active, setActive] = useState(null);
67
- const current = (active === null ? void 0 : layout.places.get(active)) ?? FIRST;
69
+ const current = (active === null ? void 0 : section2.places.get(active)) ?? FIRST;
68
70
  const onKeyDown = (event) => {
69
71
  if (isComposing(event.nativeEvent) || event.altKey || event.shiftKey || event.metaKey) return;
70
72
  if (event.key === "Enter") {
@@ -75,44 +77,46 @@ var EmojiGrids = forwardRef(function EmojiGrids2({ layout, onPick }, ref) {
75
77
  return;
76
78
  }
77
79
  const key = arrowAsWritten(event.key, inlineDirection(event.currentTarget));
78
- const next = gridMove(layout.rowLengths, current, key, event.ctrlKey);
80
+ const next = gridMove(section2.rowLengths, current, key, event.ctrlKey);
79
81
  if (next === null) return;
80
82
  event.preventDefault();
81
- setActive(layout.rows[next.row][next.col].emoji);
83
+ setActive(section2.rows[next.row][next.col].emoji);
82
84
  event.currentTarget.ownerDocument.getElementById(cellId(baseId, next.row, next.col))?.focus();
83
85
  };
84
- const onClick = (event) => {
85
- const emoji = emojiAt(event.target);
86
- if (emoji !== null) onPick(emoji);
87
- };
88
86
  const onFocus = (event) => {
89
87
  const emoji = emojiAt(event.target);
90
88
  if (emoji !== null) setActive(emoji);
91
89
  };
92
- return /* @__PURE__ */ jsx("div", { ref, className: "max-h-72 overflow-y-auto", onKeyDown, onClick, onFocus, children: layout.sections.map((section) => /* @__PURE__ */ jsxs("div", { children: [
93
- /* @__PURE__ */ jsx("div", { id: `${baseId}-${section.key}`, className: HEADING, children: section.label }),
94
- /* @__PURE__ */ jsx("div", { role: "grid", "aria-labelledby": `${baseId}-${section.key}`, children: section.rows.map((emoji, index) => {
95
- const row = section.firstRow + index;
96
- return /* @__PURE__ */ jsx(
97
- EmojiRow,
98
- {
99
- baseId,
100
- row,
101
- emoji,
102
- activeCol: row === current.row ? current.col : null
103
- },
104
- row
105
- );
106
- }) })
107
- ] }, section.key)) });
90
+ return /* @__PURE__ */ jsxs("div", { children: [
91
+ /* @__PURE__ */ jsx("div", { id: `${baseId}-label`, className: HEADING, children: section2.label }),
92
+ /* @__PURE__ */ jsx("div", { role: "grid", "aria-labelledby": `${baseId}-label`, onKeyDown, onFocus, children: section2.rows.map((emoji, row) => /* @__PURE__ */ jsx(
93
+ EmojiRow,
94
+ {
95
+ baseId,
96
+ row,
97
+ emoji,
98
+ activeCol: row === current.row ? current.col : null
99
+ },
100
+ row
101
+ )) })
102
+ ] });
103
+ }
104
+ var EmojiGrids = forwardRef(function EmojiGrids2({ layout, onPick }, ref) {
105
+ const onClick = (event) => {
106
+ const emoji = emojiAt(event.target);
107
+ if (emoji !== null) onPick(emoji);
108
+ };
109
+ return /* @__PURE__ */ jsx("div", { ref, className: "max-h-72 overflow-y-auto", onClick, children: layout.map((section2) => /* @__PURE__ */ jsx(EmojiGrid, { section: section2, onPick }, section2.key)) });
108
110
  });
109
111
 
110
112
  // src/extensions/emoji/picker-layout.ts
111
113
  var COLUMNS = 8;
112
- function inRows(emoji) {
114
+ function section(key, label, emoji) {
113
115
  const rows = [];
114
116
  for (let start = 0; start < emoji.length; start += COLUMNS) rows.push(emoji.slice(start, start + COLUMNS));
115
- return rows;
117
+ const places = /* @__PURE__ */ new Map();
118
+ rows.forEach((cells, row) => cells.forEach((cell, col) => places.set(cell.emoji, { row, col })));
119
+ return { key, label, rows, rowLengths: rows.map((cells) => cells.length), places };
116
120
  }
117
121
  function grouped(found, labels) {
118
122
  const byGroup = /* @__PURE__ */ new Map();
@@ -121,20 +125,11 @@ function grouped(found, labels) {
121
125
  if (group === void 0) byGroup.set(emoji.group, [emoji]);
122
126
  else group.push(emoji);
123
127
  }
124
- return [...byGroup].map(([group, emoji]) => ({ key: group, label: labels.groups[group], rows: inRows(emoji) }));
128
+ return [...byGroup].map(([group, emoji]) => section(group, labels.groups[group], emoji));
125
129
  }
126
130
  function pickerLayout(found, searching, labels) {
127
- const unplaced = found.length === 0 ? [] : searching ? [{ key: "results", label: labels.searchResults, rows: inRows(found) }] : grouped(found, labels);
128
- let firstRow = 0;
129
- const sections = unplaced.map((section) => {
130
- const placed = { ...section, firstRow };
131
- firstRow += section.rows.length;
132
- return placed;
133
- });
134
- const rows = sections.flatMap((section) => section.rows);
135
- const places = /* @__PURE__ */ new Map();
136
- rows.forEach((cells, row) => cells.forEach(({ emoji }, col) => places.set(emoji, { row, col })));
137
- return { sections, rows, rowLengths: rows.map((cells) => cells.length), places };
131
+ if (found.length === 0) return [];
132
+ return searching ? [section("results", labels.searchResults, found)] : grouped(found, labels);
138
133
  }
139
134
 
140
135
  // src/extensions/emoji/emoji-data.ts
@@ -183,15 +178,16 @@ function EmojiPicker({ labels, onPick }) {
183
178
  () => typeof data === "string" ? null : pickerLayout(data.searchEmoji(query), searching, labels),
184
179
  [data, query, searching, labels]
185
180
  );
186
- const shown = layout !== null && layout.sections.length > 0;
181
+ const shown = layout !== null && layout.length > 0;
187
182
  const status = data === "loading" ? labels.loading : data === "failed" ? labels.loadFailed : shown ? "" : labels.noMatches;
188
183
  const focusGrids = () => grids.current?.querySelector(ACTIVE_CELL)?.focus();
189
184
  const onKeyDown = (event) => {
190
185
  if (event.key !== "Tab" || isComposing(event.nativeEvent) || event.altKey || event.ctrlKey || event.metaKey) return;
191
186
  event.preventDefault();
192
187
  event.stopPropagation();
193
- if (event.target === field.current) focusGrids();
194
- else field.current?.focus();
188
+ const stops = [field.current, ...grids.current?.querySelectorAll(ACTIVE_CELL) ?? []];
189
+ const at = stops.indexOf(event.target);
190
+ stops[(at + (event.shiftKey ? -1 : 1) + stops.length) % stops.length]?.focus();
195
191
  };
196
192
  const onFieldKeyDown = (event) => {
197
193
  if (isComposing(event.nativeEvent)) return;
@@ -200,7 +196,7 @@ function EmojiPicker({ labels, onPick }) {
200
196
  focusGrids();
201
197
  } else if (event.key === "Enter" && searching && shown) {
202
198
  event.preventDefault();
203
- onPick(layout.rows[0][0].emoji);
199
+ onPick(layout[0].rows[0][0].emoji);
204
200
  }
205
201
  };
206
202
  return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", onKeyDown, children: [
@@ -249,7 +245,7 @@ function useIconRequest(controller) {
249
245
  const read = useCallback(() => storeOf(controller).request, [controller]);
250
246
  return useSyncExternalStore(subscribe, read, read);
251
247
  }
252
- var CALLOUT_ICON = ".quoin-callout > :first-child";
248
+ var CALLOUT_ICON_BUTTON = ".quoin-callout > :first-child";
253
249
  function CalloutIconPicker({ controller, labels }) {
254
250
  const readOnly = useReadOnly(controller);
255
251
  const request = useIconRequest(controller);
@@ -265,7 +261,7 @@ function CalloutIconPicker({ controller, labels }) {
265
261
  return /* @__PURE__ */ jsx(IconPopover, { controller, labels, request }, request.blocks.join(" "));
266
262
  }
267
263
  function IconPopover({ controller, labels, request: { blocks } }) {
268
- const anchor = usePartAnchor(controller, blocks[0], CALLOUT_ICON);
264
+ const anchor = usePartAnchor(controller, blocks[0], CALLOUT_ICON_BUTTON);
269
265
  const content = useRef(null);
270
266
  const close = () => requestIcon(controller, null);
271
267
  const finish = (icon) => {
@@ -368,7 +364,6 @@ function emojiSource(limit, onFailure) {
368
364
  };
369
365
  }
370
366
  var SHOWN = 8;
371
- var SHORTEST_QUERY = 2;
372
367
  var queryAt = (state) => getPluginState(state, emojiKey).active?.query ?? null;
373
368
  var emojiOf = ({ emoji }) => emoji;
374
369
  var renderEmoji = (emoji) => /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -378,7 +373,7 @@ var renderEmoji = (emoji) => /* @__PURE__ */ jsxs(Fragment, { children: [
378
373
  function EmojiMenu({ controller, labels }) {
379
374
  const readOnly = useReadOnly(controller);
380
375
  const query = useEditorState(controller, queryAt);
381
- if (readOnly || query === null || query.length < SHORTEST_QUERY) return null;
376
+ if (readOnly || query === null) return null;
382
377
  return /* @__PURE__ */ jsx(EmojiMatches, { controller, labels });
383
378
  }
384
379
  function EmojiMatches({ controller, labels }) {
@@ -408,9 +403,9 @@ function emojiExtension(options = {}) {
408
403
  const Menu = ({ controller }) => /* @__PURE__ */ jsx(EmojiMenu, { controller, labels });
409
404
  const Picker = ({ controller }) => /* @__PURE__ */ jsx(CalloutIconPicker, { controller, labels });
410
405
  const ui = { blockMenuItems: [chooseIconAction(labels)], overlays: [Menu, Picker] };
411
- return defineExtension({ name: "emoji", plugins: [suggestionPlugin(emojiKey, { char: ":" })], ui });
406
+ return defineExtension({ name: "emoji", plugins: [suggestionPlugin(emojiKey, { char: ":", minLength: 2 })], ui });
412
407
  }
413
408
 
414
409
  export { emojiExtension, englishEmojiLabels, loadEmojiData };
415
- //# sourceMappingURL=chunk-A2IQHMIH.js.map
416
- //# sourceMappingURL=chunk-A2IQHMIH.js.map
410
+ //# sourceMappingURL=chunk-BE2SYPK5.js.map
411
+ //# sourceMappingURL=chunk-BE2SYPK5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/extensions/emoji/all-callouts.ts","../src/extensions/emoji/composing-key.ts","../src/extensions/emoji/emoji-at.ts","../src/extensions/emoji/emoji-name.ts","../src/extensions/emoji/grid-moves.ts","../src/extensions/emoji/EmojiGrid.tsx","../src/extensions/emoji/EmojiGrids.tsx","../src/extensions/emoji/picker-layout.ts","../src/extensions/emoji/emoji-data.ts","../src/extensions/emoji/use-emoji-data.ts","../src/extensions/emoji/EmojiPicker.tsx","../src/extensions/emoji/icon-request.ts","../src/extensions/emoji/CalloutIconPicker.tsx","../src/extensions/emoji/choose-icon-action.ts","../src/extensions/emoji/emoji-key.ts","../src/extensions/emoji/emoji-labels.ts","../src/extensions/emoji/emoji-source.ts","../src/extensions/emoji/EmojiMenu.tsx","../src/extensions/emoji/emoji-extension.tsx"],"names":["EmojiRow","section","EmojiGrids","jsx","useState","useRef","jsxs","useCallback","useEffect","useMemo"],"mappings":"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","file":"chunk-BE2SYPK5.js"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkFK7EBZPX_cjs = require('./chunk-FK7EBZPX.cjs');
4
- var chunkI7X7B3WD_cjs = require('./chunk-I7X7B3WD.cjs');
3
+ var chunkZ5EEDCRI_cjs = require('./chunk-Z5EEDCRI.cjs');
4
+ var chunk4JDRDPLC_cjs = require('./chunk-4JDRDPLC.cjs');
5
5
  var Y = require('yjs');
6
6
 
7
7
  function _interopNamespace(e) {
@@ -28,7 +28,7 @@ var Y__namespace = /*#__PURE__*/_interopNamespace(Y);
28
28
  function sharedChange(editor, steps, selectionHint, origin = "remote") {
29
29
  const tr = editor.createTransaction().setOrigin(origin).setMeta("addToHistory", false);
30
30
  for (const step of steps) tr.step(step);
31
- if (selectionHint && chunkFK7EBZPX_cjs.sameSelection(chunkFK7EBZPX_cjs.validateSelection(tr.doc, editor.schema, selectionHint), selectionHint)) {
31
+ if (selectionHint && chunkZ5EEDCRI_cjs.sameSelection(chunkZ5EEDCRI_cjs.validateSelection(tr.doc, editor.schema, selectionHint), selectionHint)) {
32
32
  tr.setSelection(selectionHint);
33
33
  }
34
34
  return tr;
@@ -131,7 +131,7 @@ function cleanEntry(block, map) {
131
131
  span.length = 1;
132
132
  for (const [name, inline] of Object.entries(block.regions)) {
133
133
  const region = { name, entry, segs: [] };
134
- const seg = { host: span, region, at: span.length + 1, length: chunkI7X7B3WD_cjs.inlineLength(inline) };
134
+ const seg = { host: span, region, at: span.length + 1, length: chunk4JDRDPLC_cjs.inlineLength(inline) };
135
135
  region.segs.push(seg);
136
136
  span.segs.push(seg);
137
137
  entry.regions.push(region);
@@ -160,7 +160,7 @@ var escapeKey = (key) => key in Object.prototype || key.startsWith(ESCAPE) ? ESC
160
160
  var unescapeKey = (key) => key.startsWith(ESCAPE) ? key.slice(1) : key;
161
161
  var onlyString = (attrs, key) => Object.keys(attrs).length === 1 && Object.hasOwn(attrs, key) && typeof attrs[key] === "string";
162
162
  function markAttribute(mark) {
163
- const key = chunkI7X7B3WD_cjs.markKey(mark);
163
+ const key = chunk4JDRDPLC_cjs.markKey(mark);
164
164
  const { attrs } = mark;
165
165
  const stacked = key !== mark.type;
166
166
  if (attrs === void 0) return [escapeKey(key), !stacked];
@@ -173,7 +173,7 @@ function stackedType(key) {
173
173
  if (colon < 1) return null;
174
174
  const type = key.slice(0, colon);
175
175
  const id = key.slice(colon + 1);
176
- return chunkI7X7B3WD_cjs.markKey({ type, attrs: { id } }) === key ? [type, id] : null;
176
+ return chunk4JDRDPLC_cjs.markKey({ type, attrs: { id } }) === key ? [type, id] : null;
177
177
  }
178
178
  function markFromAttribute(attribute, value) {
179
179
  const key = unescapeKey(attribute);
@@ -198,14 +198,14 @@ function insertInline(target, at, inline) {
198
198
  const attributes = marksToAttributes(node.marks);
199
199
  if (node.kind === "text") target.insert(offset, node.text, attributes);
200
200
  else target.insertEmbed(offset, { atom: node.type, attrs: node.attrs }, attributes);
201
- offset += chunkI7X7B3WD_cjs.nodeLength(node);
201
+ offset += chunk4JDRDPLC_cjs.nodeLength(node);
202
202
  }
203
203
  }
204
204
  function nodeOf({ insert, attributes }) {
205
205
  const marks = attributesToMarks(attributes);
206
- return typeof insert === "string" ? chunkI7X7B3WD_cjs.text(insert, marks) : chunkI7X7B3WD_cjs.atom(insert.atom, insert.attrs, marks);
206
+ return typeof insert === "string" ? chunk4JDRDPLC_cjs.text(insert, marks) : chunk4JDRDPLC_cjs.atom(insert.atom, insert.attrs, marks);
207
207
  }
208
- var inlineOfOps = (ops) => chunkI7X7B3WD_cjs.normalizeInline(ops.map(nodeOf));
208
+ var inlineOfOps = (ops) => chunk4JDRDPLC_cjs.normalizeInline(ops.map(nodeOf));
209
209
 
210
210
  // src/yjs/doc-shape.ts
211
211
  var deleteText = (text2, at, length) => writeOps(text2, at, [{ delete: length }]);
@@ -266,8 +266,8 @@ function segAt(layout, at, item) {
266
266
  }
267
267
  function replaceAt(layout, { seg, rel }, removed, inline) {
268
268
  const from = offsetIn(seg, rel);
269
- grow(layout, seg, rel, chunkI7X7B3WD_cjs.inlineLength(inline) - removed);
270
- return chunkFK7EBZPX_cjs.replaceInlineStep(seg.region.entry.id, seg.region.name, from, from + removed, inline);
269
+ grow(layout, seg, rel, chunk4JDRDPLC_cjs.inlineLength(inline) - removed);
270
+ return chunkZ5EEDCRI_cjs.replaceInlineStep(seg.region.entry.id, seg.region.name, from, from + removed, inline);
271
271
  }
272
272
  function formatSteps(layout, at, length, attributes) {
273
273
  const steps = [];
@@ -282,7 +282,7 @@ function formatSteps(layout, at, length, attributes) {
282
282
  const [first, last] = [offsetIn(seg, from), offsetIn(seg, to)];
283
283
  for (const [key, value] of Object.entries(attributes)) {
284
284
  const mark = markFromAttribute(key, value ?? true);
285
- steps.push((value === null ? chunkFK7EBZPX_cjs.removeMarkStep : chunkFK7EBZPX_cjs.addMarkStep)(entry.id, name, first, last, mark));
285
+ steps.push((value === null ? chunkZ5EEDCRI_cjs.removeMarkStep : chunkZ5EEDCRI_cjs.addMarkStep)(entry.id, name, first, last, mark));
286
286
  }
287
287
  }
288
288
  if (span.index + 1 >= layout.spans.length) break;
@@ -305,16 +305,19 @@ function textSteps(layout, delta) {
305
305
  if (found === null) return null;
306
306
  const inline = inlineOfOps([op]);
307
307
  steps.push(replaceAt(layout, found, 0, inline));
308
- at += chunkI7X7B3WD_cjs.inlineLength(inline);
308
+ at += chunk4JDRDPLC_cjs.inlineLength(inline);
309
309
  }
310
310
  }
311
311
  return steps;
312
312
  }
313
313
 
314
314
  // src/yjs/carets.ts
315
- function relative(text2, layout, pos) {
315
+ function placeOf(layout, pos) {
316
316
  const { seg, rel } = pointOf(regionOf(layout, pos.block, pos.region), pos.offset);
317
- return Y__namespace.createRelativePositionFromTypeIndex(text2, spanStart(layout, seg.host) + rel, -1);
317
+ return { index: spanStart(layout, seg.host) + rel, beforeText: rel < seg.at + seg.length };
318
+ }
319
+ function relative(text2, layout, pos) {
320
+ return Y__namespace.createRelativePositionFromTypeIndex(text2, placeOf(layout, pos).index, -1);
318
321
  }
319
322
  function absolute(text2, layout, held) {
320
323
  const found = Y__namespace.createAbsolutePositionFromRelativePosition(held, text2.doc);
@@ -327,7 +330,9 @@ function absolute(text2, layout, held) {
327
330
  function holdSelection(text2, layout, selection) {
328
331
  if (selection?.kind !== "text") return null;
329
332
  try {
330
- return { anchor: relative(text2, layout, selection.anchor), head: relative(text2, layout, selection.head) };
333
+ const [anchor, head] = [placeOf(layout, selection.anchor), placeOf(layout, selection.head)];
334
+ const hold = (place, other) => Y__namespace.createRelativePositionFromTypeIndex(text2, place.index, place.index < other.index && place.beforeText ? 0 : -1);
335
+ return { anchor: hold(anchor, head), head: hold(head, anchor) };
331
336
  } catch {
332
337
  return null;
333
338
  }
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunk2QKFRKOP_cjs = require('./chunk-2QKFRKOP.cjs');
3
+ var chunkN25EH2GZ_cjs = require('./chunk-N25EH2GZ.cjs');
4
4
 
5
5
  // src/extensions/canvas-focus.ts
6
6
  function ownsNode(controller, node) {
7
- const owner = chunk2QKFRKOP_cjs.focusOwners.get(node);
7
+ const owner = chunkN25EH2GZ_cjs.focusOwners.get(node);
8
8
  return owner ? owner === controller : !!controller.root?.contains(node);
9
9
  }
10
10
  function watchCanvasFocus(controller, doc, listener) {
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunkEBSDPHPS_cjs = require('./chunk-EBSDPHPS.cjs');
4
- var chunk2QKFRKOP_cjs = require('./chunk-2QKFRKOP.cjs');
3
+ var chunk4UFWFV43_cjs = require('./chunk-4UFWFV43.cjs');
4
+ var chunkN25EH2GZ_cjs = require('./chunk-N25EH2GZ.cjs');
5
5
  var chunkZWTIRGY5_cjs = require('./chunk-ZWTIRGY5.cjs');
6
- var chunkFK7EBZPX_cjs = require('./chunk-FK7EBZPX.cjs');
7
- var chunkI7X7B3WD_cjs = require('./chunk-I7X7B3WD.cjs');
6
+ var chunkZ5EEDCRI_cjs = require('./chunk-Z5EEDCRI.cjs');
7
+ var chunk4JDRDPLC_cjs = require('./chunk-4JDRDPLC.cjs');
8
8
  var react = require('react');
9
9
  var jsxRuntime = require('react/jsx-runtime');
10
10
 
@@ -29,10 +29,10 @@ var reducesMotion = (view) => typeof view?.matchMedia === "function" && view.mat
29
29
  function goToHeading(controller, blockId) {
30
30
  const { editor, root } = controller;
31
31
  const { doc, schema } = editor.state;
32
- const end = doc.index.has(blockId) ? chunkFK7EBZPX_cjs.endOf(doc, schema, blockId) : null;
32
+ const end = doc.index.has(blockId) ? chunkZ5EEDCRI_cjs.endOf(doc, schema, blockId) : null;
33
33
  if (root === null || end?.kind !== "text") return;
34
34
  keepScroll(controller.blockElement(blockId) ?? root, () => controller.focus(end.head));
35
- const landed = chunkFK7EBZPX_cjs.headBlockId(editor.state.selection);
35
+ const landed = chunkZ5EEDCRI_cjs.headBlockId(editor.state.selection);
36
36
  const shell = landed === null ? void 0 : controller.blockElement(landed);
37
37
  const behavior = reducesMotion(root.ownerDocument.defaultView) ? "auto" : "smooth";
38
38
  shell?.scrollIntoView?.({ behavior, block: "start" });
@@ -42,18 +42,18 @@ function goToHeading(controller, blockId) {
42
42
  var entryOf = (event) => event.target.closest("a[href]");
43
43
  var asksTheBrowser = (event) => event.button !== 0 || event.ctrlKey || event.metaKey || event.shiftKey || event.altKey;
44
44
  function tocHandlers(controller, blockId, root, readOnly) {
45
- const select = chunkEBSDPHPS_cjs.selectHandlers(controller, blockId, root);
45
+ const select = chunk4UFWFV43_cjs.selectHandlers(controller, blockId, root);
46
46
  function walk(event, from) {
47
47
  const entries = Array.from(root.current?.querySelectorAll("a[href]") ?? []);
48
48
  const next = entries[entries.indexOf(from) + (event.shiftKey ? -1 : 1)];
49
49
  event.preventDefault();
50
- if (next === void 0) chunkEBSDPHPS_cjs.focusNode(controller, blockId);
50
+ if (next === void 0) chunk4UFWFV43_cjs.focusNode(controller, blockId);
51
51
  else next.focus();
52
52
  }
53
53
  return {
54
54
  onClick(event) {
55
55
  const entry = entryOf(event);
56
- const heading = entry === null ? null : chunkEBSDPHPS_cjs.linkedBlockId(entry.getAttribute("href") ?? "");
56
+ const heading = entry === null ? null : chunk4UFWFV43_cjs.linkedBlockId(entry.getAttribute("href") ?? "");
57
57
  if (entry === null && !readOnly) select.onClick(event);
58
58
  if (heading === null || asksTheBrowser(event)) return;
59
59
  event.preventDefault();
@@ -62,14 +62,14 @@ function tocHandlers(controller, blockId, root, readOnly) {
62
62
  onKeyDown: readOnly ? void 0 : (event) => {
63
63
  const entry = entryOf(event);
64
64
  const tab = event.key === "Tab" && !event.ctrlKey && !event.metaKey && !event.altKey;
65
- if (tab && entry !== null && !chunk2QKFRKOP_cjs.isComposingKey(controller, event.nativeEvent)) walk(event, entry);
65
+ if (tab && entry !== null && !chunkN25EH2GZ_cjs.isComposingKey(controller, event.nativeEvent)) walk(event, entry);
66
66
  else select.onKeyDown(event);
67
67
  }
68
68
  };
69
69
  }
70
70
  function TocList({ nodes, inTabOrder }) {
71
71
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "quoin-toc-list", children: nodes.map(({ heading, children }) => /* @__PURE__ */ jsxRuntime.jsxs("li", { children: [
72
- /* @__PURE__ */ jsxRuntime.jsx("a", { href: chunkEBSDPHPS_cjs.blockFragment(heading.blockId), tabIndex: inTabOrder ? void 0 : -1, className: "quoin-toc-link", children: heading.text }),
72
+ /* @__PURE__ */ jsxRuntime.jsx("a", { href: chunk4UFWFV43_cjs.blockFragment(heading.blockId), tabIndex: inTabOrder ? void 0 : -1, className: "quoin-toc-link", children: heading.text }),
73
73
  children.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(TocList, { nodes: children, inTabOrder })
74
74
  ] }, heading.blockId)) });
75
75
  }
@@ -81,12 +81,12 @@ function refocus(controller, blockId, nav, href) {
81
81
  return;
82
82
  }
83
83
  const { editor } = controller;
84
- editor.dispatch(editor.createTransaction().setSelection(chunkFK7EBZPX_cjs.nodeSelection(blockId)));
84
+ editor.dispatch(editor.createTransaction().setSelection(chunkZ5EEDCRI_cjs.nodeSelection(blockId)));
85
85
  controller.focus();
86
86
  }
87
87
  function useEntryFocus(controller, blockId, root, drawn) {
88
88
  const held = react.useRef(null);
89
- chunk2QKFRKOP_cjs.useIsomorphicLayoutEffect(() => {
89
+ chunkN25EH2GZ_cjs.useIsomorphicLayoutEffect(() => {
90
90
  const entry = held.current;
91
91
  const nav = root.current;
92
92
  if (entry === null || entry.isConnected || nav === null) return;
@@ -114,8 +114,8 @@ function useEntryFocus(controller, blockId, root, drawn) {
114
114
  // src/extensions/toc/headings.ts
115
115
  var defaultSchema;
116
116
  function headings(doc, options = {}) {
117
- const schema = options.schema ?? (defaultSchema ??= chunkI7X7B3WD_cjs.createSchema());
118
- return chunkI7X7B3WD_cjs.collectHeadings(doc.blocks, schema).map((heading) => ({ ...heading, anchor: chunkI7X7B3WD_cjs.headingId(heading.blockId) }));
117
+ const schema = options.schema ?? (defaultSchema ??= chunk4JDRDPLC_cjs.createSchema());
118
+ return chunk4JDRDPLC_cjs.collectHeadings(doc.blocks, schema).map((heading) => ({ ...heading, anchor: chunk4JDRDPLC_cjs.headingId(heading.blockId) }));
119
119
  }
120
120
 
121
121
  // src/extensions/toc/per-doc.ts
@@ -132,20 +132,20 @@ var selectHeadings = perDoc(({ doc, schema }) => headings(doc, { schema }));
132
132
  var sameHeading = (a, b) => a.blockId === b.blockId && a.level === b.level && a.text === b.text;
133
133
  var sameHeadings = (a, b) => a.length === b.length && a.every((heading, index) => sameHeading(heading, b[index]));
134
134
  function useTocHeadings(controller) {
135
- return chunk2QKFRKOP_cjs.useEditorState(controller, selectHeadings, sameHeadings);
135
+ return chunkN25EH2GZ_cjs.useEditorState(controller, selectHeadings, sameHeadings);
136
136
  }
137
137
  var tocIds = perDoc(({ doc }) => doc.blocks.flatMap((block) => block.type === "TOC" ? [block.id] : []));
138
138
  function useTocNumber(controller, blockId) {
139
139
  const select = react.useCallback((state) => tocIds(state).indexOf(blockId) + 1, [blockId]);
140
- return chunk2QKFRKOP_cjs.useEditorState(controller, select);
140
+ return chunkN25EH2GZ_cjs.useEditorState(controller, select);
141
141
  }
142
142
  function TocBlock({ block, controller, labels }) {
143
- const readOnly = chunk2QKFRKOP_cjs.useReadOnly(controller);
143
+ const readOnly = chunkN25EH2GZ_cjs.useReadOnly(controller);
144
144
  const listed = useTocHeadings(controller);
145
- const nested = react.useMemo(() => chunkI7X7B3WD_cjs.nestHeadings(listed), [listed]);
145
+ const nested = react.useMemo(() => chunk4JDRDPLC_cjs.nestHeadings(listed), [listed]);
146
146
  const root = react.useRef(null);
147
147
  const keys = react.useMemo(() => ({ enter: () => root.current?.querySelector("a[href]")?.focus() }), []);
148
- chunkEBSDPHPS_cjs.useNodeKeys(controller, block.id, !readOnly, listed.length > 0, root, keys);
148
+ chunk4UFWFV43_cjs.useNodeKeys(controller, block.id, !readOnly, listed.length > 0, root, keys);
149
149
  const entryFocus = useEntryFocus(controller, block.id, root, nested);
150
150
  const number = useTocNumber(controller, block.id);
151
151
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -177,9 +177,9 @@ var tocSlashItem = (labels) => ({
177
177
  title: labels.tableOfContents,
178
178
  description: labels.tableOfContentsDescription,
179
179
  group: "advanced",
180
- icon: chunkEBSDPHPS_cjs.TableOfContents,
180
+ icon: chunk4UFWFV43_cjs.TableOfContents,
181
181
  keywords: ["toc", "contents", "outline", "headings", "index"],
182
- command: () => chunkEBSDPHPS_cjs.insertBlockToWrite({ type: "TOC" }, false)
182
+ command: () => chunk4UFWFV43_cjs.insertBlockToWrite({ type: "TOC" }, false)
183
183
  });
184
184
  function tocExtension(options = {}) {
185
185
  const labels = resolveTocLabels(options.labels);
@@ -189,7 +189,7 @@ function tocExtension(options = {}) {
189
189
  renderers: { TOC: TocRenderer },
190
190
  blockNames: { TOC: labels.tableOfContents }
191
191
  };
192
- return chunkFK7EBZPX_cjs.defineExtension({ name: "toc", ui });
192
+ return chunkZ5EEDCRI_cjs.defineExtension({ name: "toc", ui });
193
193
  }
194
194
 
195
195
  exports.englishTocLabels = englishTocLabels;