quoin-editor 2.0.4 → 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 +110 -0
  2. package/MIGRATION.md +1 -1
  3. package/README.md +14 -13
  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,23 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var chunkLM3DHROX_cjs = require('./chunk-LM3DHROX.cjs');
4
- var chunkEBSDPHPS_cjs = require('./chunk-EBSDPHPS.cjs');
5
- var chunk2QKFRKOP_cjs = require('./chunk-2QKFRKOP.cjs');
3
+ var chunk5AUIA4B3_cjs = require('./chunk-5AUIA4B3.cjs');
4
+ var chunk4UFWFV43_cjs = require('./chunk-4UFWFV43.cjs');
5
+ var chunkN25EH2GZ_cjs = require('./chunk-N25EH2GZ.cjs');
6
6
  var chunkZWTIRGY5_cjs = require('./chunk-ZWTIRGY5.cjs');
7
7
  var chunkA6PGQVTR_cjs = require('./chunk-A6PGQVTR.cjs');
8
- var chunkFK7EBZPX_cjs = require('./chunk-FK7EBZPX.cjs');
9
- var chunkI7X7B3WD_cjs = require('./chunk-I7X7B3WD.cjs');
8
+ var chunkZ5EEDCRI_cjs = require('./chunk-Z5EEDCRI.cjs');
9
+ var chunk4JDRDPLC_cjs = require('./chunk-4JDRDPLC.cjs');
10
10
  var react = require('react');
11
11
  var jsxRuntime = require('react/jsx-runtime');
12
12
 
13
13
  function LinkCard({ controller, blockId, url, title, description, image, readOnly, linkRef }) {
14
14
  const card = react.useRef(null);
15
15
  const [failed, setFailed] = react.useState(null);
16
- const href = chunkI7X7B3WD_cjs.sanitizeHref(url);
17
- const domain = chunkLM3DHROX_cjs.domainOf(url);
18
- const picture = chunkLM3DHROX_cjs.webAddress(image);
16
+ const href = chunk4JDRDPLC_cjs.sanitizeHref(url);
17
+ const domain = chunk5AUIA4B3_cjs.domainOf(url);
18
+ const picture = chunk5AUIA4B3_cjs.webAddress(image);
19
19
  const name = title || url;
20
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: card, className: "quoin-link-card", ...readOnly ? void 0 : chunkEBSDPHPS_cjs.selectHandlers(controller, blockId, card), children: [
20
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: card, className: "quoin-link-card", ...readOnly ? void 0 : chunk4UFWFV43_cjs.selectHandlers(controller, blockId, card), children: [
21
21
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "quoin-link-card-text", children: [
22
22
  href === null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "quoin-link-card-title", children: name }) : /* @__PURE__ */ jsxRuntime.jsx(
23
23
  "a",
@@ -52,7 +52,7 @@ function useLinkCardKeys(controller, blockId, url, editable) {
52
52
  const root = react.useRef(null);
53
53
  const link = react.useRef(null);
54
54
  const keys = react.useMemo(() => ({ enter: () => link.current?.focus() }), []);
55
- chunkEBSDPHPS_cjs.useNodeKeys(controller, blockId, editable, chunkI7X7B3WD_cjs.sanitizeHref(url) !== null, root, keys);
55
+ chunk4UFWFV43_cjs.useNodeKeys(controller, blockId, editable, chunk4JDRDPLC_cjs.sanitizeHref(url) !== null, root, keys);
56
56
  return { root, link };
57
57
  }
58
58
 
@@ -61,7 +61,7 @@ var filled = (value) => typeof value === "string" && value.trim() !== "" ? value
61
61
  function unfurledPatch(found) {
62
62
  if (typeof found !== "object" || found === null) return null;
63
63
  const { title, description, image } = found;
64
- const patch = { title: filled(title), description: filled(description), image: chunkLM3DHROX_cjs.webAddress(image) ?? void 0 };
64
+ const patch = { title: filled(title), description: filled(description), image: chunk5AUIA4B3_cjs.webAddress(image) ?? void 0 };
65
65
  if (patch.title === void 0) return null;
66
66
  return Object.fromEntries(Object.entries(patch).filter(([, value]) => value !== void 0));
67
67
  }
@@ -85,8 +85,8 @@ function askFirstTime(controller, blockId, url) {
85
85
  return true;
86
86
  }
87
87
  function bookmarkAt(controller, blockId, url) {
88
- const block = chunkI7X7B3WD_cjs.blockById(controller.editor.state.doc, blockId);
89
- return block?.type === "BOOKMARK" && chunkI7X7B3WD_cjs.str(block.attrs.url) === url ? block : void 0;
88
+ const block = chunk4JDRDPLC_cjs.blockById(controller.editor.state.doc, blockId);
89
+ return block?.type === "BOOKMARK" && chunk4JDRDPLC_cjs.str(block.attrs.url) === url ? block : void 0;
90
90
  }
91
91
  async function unfurlInto(controller, blockId, url, unfurl, onError) {
92
92
  const { asked, drawn } = asksOf(controller);
@@ -94,7 +94,8 @@ async function unfurlInto(controller, blockId, url, unfurl, onError) {
94
94
  try {
95
95
  found = await unfurl(url);
96
96
  } catch (cause) {
97
- if (bookmarkAt(controller, blockId, url) && drawn.get(blockId)) onError(chunkEBSDPHPS_cjs.toError(cause));
97
+ asked.delete(keyOf(blockId, url));
98
+ if (bookmarkAt(controller, blockId, url) && drawn.get(blockId)) onError(chunk4UFWFV43_cjs.toError(cause));
98
99
  return;
99
100
  }
100
101
  const patch = unfurledPatch(found);
@@ -104,12 +105,12 @@ async function unfurlInto(controller, blockId, url, unfurl, onError) {
104
105
  asked.delete(keyOf(blockId, url));
105
106
  return;
106
107
  }
107
- if (chunkI7X7B3WD_cjs.str(block.attrs.title) !== "") return;
108
+ if (chunk4JDRDPLC_cjs.str(block.attrs.title) !== "") return;
108
109
  const { editor } = controller;
109
- editor.dispatch(editor.createTransaction().step(chunkFK7EBZPX_cjs.setAttrsStep(blockId, patch)).setMeta("addToHistory", false));
110
+ editor.dispatch(editor.createTransaction().step(chunkZ5EEDCRI_cjs.setAttrsStep(blockId, patch)).setMeta("addToHistory", false));
110
111
  }
111
112
  function useUnfurl(controller, blockId, url, unfurl) {
112
- const { onError } = chunkEBSDPHPS_cjs.useQuoin();
113
+ const { onError } = chunk4UFWFV43_cjs.useQuoin();
113
114
  react.useEffect(() => {
114
115
  const { drawn } = asksOf(controller);
115
116
  drawn.set(blockId, (drawn.get(blockId) ?? 0) + 1);
@@ -125,10 +126,10 @@ function useUnfurl(controller, blockId, url, unfurl) {
125
126
  }, [controller, blockId, url, unfurl, onError]);
126
127
  }
127
128
  function BookmarkBlock({ block, controller, feature }) {
128
- const readOnly = chunk2QKFRKOP_cjs.useReadOnly(controller);
129
+ const readOnly = chunkN25EH2GZ_cjs.useReadOnly(controller);
129
130
  const { attrs } = block;
130
- const url = chunkI7X7B3WD_cjs.str(attrs.url);
131
- const title = chunkI7X7B3WD_cjs.str(attrs.title);
131
+ const url = chunk4JDRDPLC_cjs.str(attrs.url);
132
+ const title = chunk4JDRDPLC_cjs.str(attrs.title);
132
133
  const { root, link } = useLinkCardKeys(controller, block.id, url, !readOnly);
133
134
  useUnfurl(controller, block.id, url, title === "" && !readOnly ? feature.unfurl : void 0);
134
135
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -146,8 +147,8 @@ function BookmarkBlock({ block, controller, feature }) {
146
147
  blockId: block.id,
147
148
  url,
148
149
  title,
149
- description: chunkI7X7B3WD_cjs.str(attrs.description),
150
- image: chunkI7X7B3WD_cjs.str(attrs.image),
150
+ description: chunk4JDRDPLC_cjs.str(attrs.description),
151
+ image: chunk4JDRDPLC_cjs.str(attrs.image),
151
152
  readOnly,
152
153
  linkRef: link
153
154
  }
@@ -161,18 +162,11 @@ var PLAYER_HEIGHTS = { spotify: 352, soundcloud: 166 };
161
162
  var playerHeight = (provider) => Object.hasOwn(PLAYER_HEIGHTS, provider) ? PLAYER_HEIGHTS[provider] : void 0;
162
163
  function useCoverPress(controller) {
163
164
  const [pressing, setPressing] = react.useState(false);
164
- chunk2QKFRKOP_cjs.useIsomorphicLayoutEffect(() => {
165
+ chunkN25EH2GZ_cjs.useIsomorphicLayoutEffect(() => {
165
166
  const doc = controller.root?.ownerDocument;
166
167
  if (!pressing || doc === void 0) return;
167
168
  const release = () => setPressing(false);
168
- doc.addEventListener("click", release);
169
- doc.addEventListener("pointercancel", release);
170
- doc.addEventListener("dragend", release);
171
- return () => {
172
- doc.removeEventListener("click", release);
173
- doc.removeEventListener("pointercancel", release);
174
- doc.removeEventListener("dragend", release);
175
- };
169
+ return chunkN25EH2GZ_cjs.listen(doc, { click: release, contextmenu: release, pointercancel: release, dragend: release });
176
170
  }, [controller, pressing]);
177
171
  const onPress = (event) => {
178
172
  if (event.button === 0) setPressing(true);
@@ -182,13 +176,13 @@ function useCoverPress(controller) {
182
176
  function EmbedFrame({ blockId, controller, match, title, readOnly }) {
183
177
  const root = react.useRef(null);
184
178
  const frame = react.useRef(null);
185
- const selected = chunk2QKFRKOP_cjs.useEditorState(
179
+ const selected = chunkN25EH2GZ_cjs.useEditorState(
186
180
  controller,
187
181
  react.useCallback(({ selection }) => selection?.kind === "node" && selection.block === blockId, [blockId])
188
182
  );
189
183
  const cover = useCoverPress(controller);
190
184
  const keys = react.useMemo(() => ({ enter: () => void setTimeout(() => frame.current?.focus()) }), []);
191
- chunkEBSDPHPS_cjs.useNodeKeys(controller, blockId, !readOnly, true, root, keys);
185
+ chunk4UFWFV43_cjs.useNodeKeys(controller, blockId, !readOnly, true, root, keys);
192
186
  const height = playerHeight(match.provider);
193
187
  return /* @__PURE__ */ jsxRuntime.jsxs(
194
188
  "div",
@@ -203,9 +197,9 @@ function EmbedFrame({ blockId, controller, match, title, readOnly }) {
203
197
  ref: frame,
204
198
  src: match.src,
205
199
  title,
206
- sandbox: chunkI7X7B3WD_cjs.EMBED_FRAME.sandbox,
207
- loading: chunkI7X7B3WD_cjs.EMBED_FRAME.loading,
208
- referrerPolicy: chunkI7X7B3WD_cjs.EMBED_FRAME.referrerpolicy,
200
+ sandbox: chunk4JDRDPLC_cjs.EMBED_FRAME.sandbox,
201
+ loading: chunk4JDRDPLC_cjs.EMBED_FRAME.loading,
202
+ referrerPolicy: chunk4JDRDPLC_cjs.EMBED_FRAME.referrerpolicy,
209
203
  tabIndex: readOnly ? void 0 : -1
210
204
  }
211
205
  ),
@@ -216,7 +210,7 @@ function EmbedFrame({ blockId, controller, match, title, readOnly }) {
216
210
  className: "quoin-embed-cover",
217
211
  onPointerDownCapture: cover.onPress,
218
212
  onMouseDown: (event) => event.preventDefault(),
219
- onClick: () => chunkEBSDPHPS_cjs.focusNode(controller, blockId)
213
+ onClick: () => chunk4UFWFV43_cjs.focusNode(controller, blockId)
220
214
  }
221
215
  )
222
216
  ]
@@ -227,14 +221,14 @@ function EmbedFrame({ blockId, controller, match, title, readOnly }) {
227
221
  // src/extensions/embed/providers.ts
228
222
  function frameOf(url, provider) {
229
223
  try {
230
- return chunkI7X7B3WD_cjs.embedFrame(url, [provider])?.src ?? null;
224
+ return chunk4JDRDPLC_cjs.embedFrame(url, [provider])?.src ?? null;
231
225
  } catch {
232
226
  chunkA6PGQVTR_cjs.devWarn(`the embed provider "${provider.name}" threw, so it frames nothing.`);
233
227
  return null;
234
228
  }
235
229
  }
236
230
  function matchEmbed(url, hostProviders = []) {
237
- for (const provider of [...hostProviders, ...chunkI7X7B3WD_cjs.coreEmbedProviders]) {
231
+ for (const provider of [...hostProviders, ...chunk4JDRDPLC_cjs.coreEmbedProviders]) {
238
232
  const src = frameOf(url, provider);
239
233
  if (src !== null) return { provider: provider.name, src };
240
234
  }
@@ -242,8 +236,8 @@ function matchEmbed(url, hostProviders = []) {
242
236
  }
243
237
  function EmbedBlock({ block, controller, feature }) {
244
238
  const { labels, providers } = feature;
245
- const readOnly = chunk2QKFRKOP_cjs.useReadOnly(controller);
246
- const url = chunkI7X7B3WD_cjs.str(block.attrs.url);
239
+ const readOnly = chunkN25EH2GZ_cjs.useReadOnly(controller);
240
+ const url = chunk4JDRDPLC_cjs.str(block.attrs.url);
247
241
  const match = react.useMemo(() => matchEmbed(url, providers), [url, providers]);
248
242
  const { root, link } = useLinkCardKeys(controller, block.id, url, !readOnly && match === null);
249
243
  return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: root, role: "group", "aria-label": labels.embed, contentEditable: false, className: "quoin-embed", children: match === null ? /* @__PURE__ */ jsxRuntime.jsx(LinkCard, { controller, blockId: block.id, url, readOnly, linkRef: link }) : /* @__PURE__ */ jsxRuntime.jsx(
@@ -252,7 +246,7 @@ function EmbedBlock({ block, controller, feature }) {
252
246
  blockId: block.id,
253
247
  controller,
254
248
  match,
255
- title: chunkI7X7B3WD_cjs.firstNamed(labels.frameTitle(match.provider), match.provider, url),
249
+ title: chunk4JDRDPLC_cjs.firstNamed(labels.frameTitle(match.provider), match.provider, url),
256
250
  readOnly
257
251
  }
258
252
  ) });
@@ -318,7 +312,7 @@ var embedSlashItems = (labels) => [
318
312
  title: labels.embed,
319
313
  description: labels.embedDescription,
320
314
  group: "embeds",
321
- icon: chunkEBSDPHPS_cjs.AppWindow,
315
+ icon: chunk4UFWFV43_cjs.AppWindow,
322
316
  keywords: ["iframe", "video", "youtube", "vimeo", "loom", "figma", "codepen", "spotify", "soundcloud"],
323
317
  run: ({ controller, range }) => requestLink(controller, { kind: "embed", at: range })
324
318
  },
@@ -327,14 +321,14 @@ var embedSlashItems = (labels) => [
327
321
  title: labels.bookmark,
328
322
  description: labels.bookmarkDescription,
329
323
  group: "embeds",
330
- icon: chunkEBSDPHPS_cjs.Bookmark,
324
+ icon: chunk4UFWFV43_cjs.Bookmark,
331
325
  keywords: ["link", "url", "card", "preview", "web"],
332
326
  run: ({ controller, range }) => requestLink(controller, { kind: "bookmark", at: range })
333
327
  }
334
328
  ];
335
329
 
336
330
  // src/extensions/embed/link-choice.ts
337
- var linkChoiceKey = chunkFK7EBZPX_cjs.createPluginKey("linkChoice");
331
+ var linkChoiceKey = chunkZ5EEDCRI_cjs.createPluginKey("linkChoice");
338
332
  var linkChoicePlugin = {
339
333
  key: linkChoiceKey,
340
334
  init: () => null,
@@ -342,25 +336,25 @@ var linkChoicePlugin = {
342
336
  const pasted = tr.getMeta(linkChoiceKey.name);
343
337
  if (pasted !== void 0) return pasted;
344
338
  if (value === null) return null;
345
- const moved = tr.selectionSet && !chunkFK7EBZPX_cjs.sameSelection(tr.before.selection, tr.selection);
346
- const lineChanged = chunkI7X7B3WD_cjs.blockById(before.doc, value.block) !== chunkI7X7B3WD_cjs.blockById(after.doc, value.block);
339
+ const moved = tr.selectionSet && !chunkZ5EEDCRI_cjs.sameSelection(tr.before.selection, tr.selection);
340
+ const lineChanged = chunk4JDRDPLC_cjs.blockById(before.doc, value.block) !== chunk4JDRDPLC_cjs.blockById(after.doc, value.block);
347
341
  return moved || lineChanged ? null : value;
348
342
  }
349
343
  };
350
344
  var linkChoice = (state) => state.pluginState.get(linkChoiceKey.name) ?? null;
351
345
  function onEmptyLine({ doc, schema, selection }) {
352
346
  if (doc.blocks.length === 0) return true;
353
- if (selection?.kind !== "text" || !chunkFK7EBZPX_cjs.isCollapsed(selection)) return false;
354
- const block = chunkI7X7B3WD_cjs.blockById(doc, selection.head.block);
355
- return block !== void 0 && chunkFK7EBZPX_cjs.isParagraph(block) && chunkFK7EBZPX_cjs.regionLength(block, chunkFK7EBZPX_cjs.primaryRegion(schema, block) ?? "") === 0;
347
+ if (selection?.kind !== "text" || !chunkZ5EEDCRI_cjs.isCollapsed(selection)) return false;
348
+ const block = chunk4JDRDPLC_cjs.blockById(doc, selection.head.block);
349
+ return block !== void 0 && chunkZ5EEDCRI_cjs.isParagraph(block) && chunkZ5EEDCRI_cjs.regionLength(block, chunkZ5EEDCRI_cjs.primaryRegion(schema, block) ?? "") === 0;
356
350
  }
357
351
  var pasteLinkChoice = {
358
352
  name: "link-choice",
359
353
  match(text, state) {
360
- const link = chunkFK7EBZPX_cjs.pastedLink(text);
361
- const slice = link === null || link.rest !== "" || !onEmptyLine(state) ? null : chunkFK7EBZPX_cjs.sliceFromClipboard({ text });
354
+ const link = chunkZ5EEDCRI_cjs.pastedLink(text);
355
+ const slice = link === null || link.rest !== "" || !onEmptyLine(state) ? null : chunkZ5EEDCRI_cjs.sliceFromClipboard({ text });
362
356
  if (link === null || slice === null) return null;
363
- const paste = chunkFK7EBZPX_cjs.insertSlice(slice);
357
+ const paste = chunkZ5EEDCRI_cjs.insertSlice(slice);
364
358
  return (before, dispatch) => paste(before, dispatch && ((tr) => dispatch(tr.setMeta(linkChoiceKey.name, choiceAfter(tr, link.href)))));
365
359
  }
366
360
  };
@@ -370,16 +364,16 @@ function choiceAfter(tr, href) {
370
364
  }
371
365
  function emptyParagraph(blockId) {
372
366
  return (state, dispatch) => {
373
- const line = chunkI7X7B3WD_cjs.blockById(state.doc, blockId);
374
- if (line === void 0 || !chunkFK7EBZPX_cjs.isParagraph(line)) return false;
375
- const tr = new chunkFK7EBZPX_cjs.Transaction(state).step(chunkFK7EBZPX_cjs.replaceBlockStep(chunkFK7EBZPX_cjs.withContent(state.schema, line, [])));
376
- dispatch?.(tr.setSelection(chunkFK7EBZPX_cjs.startOf(tr.doc, state.schema, blockId)));
367
+ const line = chunk4JDRDPLC_cjs.blockById(state.doc, blockId);
368
+ if (line === void 0 || !chunkZ5EEDCRI_cjs.isParagraph(line)) return false;
369
+ const tr = new chunkZ5EEDCRI_cjs.Transaction(state).step(chunkZ5EEDCRI_cjs.replaceBlockStep(chunkZ5EEDCRI_cjs.withContent(state.schema, line, [])));
370
+ dispatch?.(tr.setSelection(chunkZ5EEDCRI_cjs.startOf(tr.doc, state.schema, blockId)));
377
371
  return true;
378
372
  };
379
373
  }
380
374
  function replaceLink(blockId, block) {
381
375
  return (state, dispatch) => {
382
- const { ok, tr } = chunkFK7EBZPX_cjs.runCommands(state, [emptyParagraph(blockId), chunkEBSDPHPS_cjs.insertBlocks([block], "line", blockId)]);
376
+ const { ok, tr } = chunkZ5EEDCRI_cjs.runCommands(state, [emptyParagraph(blockId), chunk4UFWFV43_cjs.insertBlocks([block], "line", blockId)]);
383
377
  if (!ok || tr === null) return false;
384
378
  dispatch?.(tr);
385
379
  return true;
@@ -393,21 +387,21 @@ function embedOf(href, providers) {
393
387
  }
394
388
  var bookmarkOf = (href) => ({ type: "BOOKMARK", attrs: { url: href } });
395
389
  function typedLink(kind, typed, providers) {
396
- const href = chunkLM3DHROX_cjs.webAddress(chunkEBSDPHPS_cjs.linkAddress(typed));
390
+ const href = chunk5AUIA4B3_cjs.webAddress(chunk4UFWFV43_cjs.linkAddress(typed));
397
391
  if (href === null) return { href, block: null, problem: "notALink" };
398
392
  const block = kind === "embed" ? embedOf(href, providers) : bookmarkOf(href);
399
393
  return { href, block, problem: block === null ? "cannotEmbed" : null };
400
394
  }
401
395
  var plainKey = (event) => !event.altKey && !event.ctrlKey && !event.metaKey;
402
396
  function linkEnd({ doc, schema }, blockId) {
403
- const block = chunkI7X7B3WD_cjs.blockById(doc, blockId);
404
- const region = block && chunkFK7EBZPX_cjs.primaryRegion(schema, block);
405
- const end = block && region ? chunkFK7EBZPX_cjs.regionLength(block, region) : 0;
397
+ const block = chunk4JDRDPLC_cjs.blockById(doc, blockId);
398
+ const region = block && chunkZ5EEDCRI_cjs.primaryRegion(schema, block);
399
+ const end = block && region ? chunkZ5EEDCRI_cjs.regionLength(block, region) : 0;
406
400
  return block && region ? { block: blockId, region, from: end, to: end } : null;
407
401
  }
408
402
  function LinkChoicePopover({ controller, feature }) {
409
- const readOnly = chunk2QKFRKOP_cjs.useReadOnly(controller);
410
- const choice = chunk2QKFRKOP_cjs.useEditorState(controller, linkChoice);
403
+ const readOnly = chunkN25EH2GZ_cjs.useReadOnly(controller);
404
+ const choice = chunkN25EH2GZ_cjs.useEditorState(controller, linkChoice);
411
405
  const [dismissed, setDismissed] = react.useState(null);
412
406
  const dismiss = react.useCallback(() => setDismissed(choice), [choice]);
413
407
  if (readOnly || choice === null || choice === dismissed) return null;
@@ -421,18 +415,18 @@ function useEscapeInText(controller, onEscape) {
421
415
  onEscape();
422
416
  return true;
423
417
  };
424
- return chunkEBSDPHPS_cjs.interceptKeys(controller, intercept);
418
+ return chunk4UFWFV43_cjs.interceptKeys(controller, intercept);
425
419
  }, [controller, onEscape]);
426
420
  }
427
421
  function LinkChoiceToolbar({ controller, feature: { labels, providers }, choice, onDismiss }) {
428
422
  const embed = react.useMemo(() => embedOf(choice.href, providers), [choice.href, providers]);
429
423
  const range = react.useMemo(() => linkEnd(controller.editor.state, choice.block), [controller, choice.block]);
430
- const { anchor } = chunkEBSDPHPS_cjs.useRangeAnchor(controller, range);
424
+ const { anchor } = chunk4UFWFV43_cjs.useRangeAnchor(controller, range);
431
425
  const after = react.useMemo(() => {
432
426
  const host = range && controller.registry.get(range.block, range.region);
433
- return host && chunk2QKFRKOP_cjs.inlineDirection(host) === "rtl" ? "left" : "right";
427
+ return host && chunkN25EH2GZ_cjs.inlineDirection(host) === "rtl" ? "left" : "right";
434
428
  }, [controller, range]);
435
- const roving = chunkEBSDPHPS_cjs.useRovingFocus();
429
+ const roving = chunk4UFWFV43_cjs.useRovingFocus();
436
430
  const rovingRef = roving.ref;
437
431
  const content = react.useRef(null);
438
432
  const ref = react.useCallback(
@@ -443,27 +437,27 @@ function LinkChoiceToolbar({ controller, feature: { labels, providers }, choice,
443
437
  [rovingRef]
444
438
  );
445
439
  const ownerDocument = react.useCallback(() => controller.root?.ownerDocument ?? document, [controller]);
446
- chunkEBSDPHPS_cjs.useFocusKey(controller, roving.focusCurrent);
440
+ chunk4UFWFV43_cjs.useFocusKey(controller, roving.focusCurrent);
447
441
  useEscapeInText(controller, onDismiss);
448
- chunkEBSDPHPS_cjs.useOutsidePress(content, ownerDocument, onDismiss);
442
+ chunk4UFWFV43_cjs.useOutsidePress(content, ownerDocument, onDismiss);
449
443
  const choose = (block) => {
450
444
  if (block === null) onDismiss();
451
445
  else controller.run(replaceLink(choice.block, block));
452
446
  controller.focus();
453
447
  };
454
448
  const onKeyDown = (event) => {
455
- if (!roving.owns(event.target) || chunk2QKFRKOP_cjs.isComposingKey(controller, event.nativeEvent)) return;
449
+ if (!roving.owns(event.target) || chunkN25EH2GZ_cjs.isComposingKey(controller, event.nativeEvent)) return;
456
450
  if (event.key === "Escape") onDismiss();
457
451
  if (event.key === "Escape" || event.key === "Tab" && plainKey(event)) {
458
452
  event.preventDefault();
459
453
  controller.focus();
460
454
  } else roving.onKeyDown(event);
461
455
  };
462
- const button = (label, block) => /* @__PURE__ */ jsxRuntime.jsx(chunkEBSDPHPS_cjs.Button, { type: "button", variant: "ghost", size: "sm", onClick: () => choose(block), children: label });
463
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkEBSDPHPS_cjs.Popover, { open: true, modal: false, children: [
464
- /* @__PURE__ */ jsxRuntime.jsx(chunkEBSDPHPS_cjs.PopoverAnchor, { virtualRef: anchor }),
456
+ const button = (label, block) => /* @__PURE__ */ jsxRuntime.jsx(chunk4UFWFV43_cjs.Button, { type: "button", variant: "ghost", size: "sm", onClick: () => choose(block), children: label });
457
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunk4UFWFV43_cjs.Popover, { open: true, modal: false, children: [
458
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4UFWFV43_cjs.PopoverAnchor, { virtualRef: anchor }),
465
459
  /* @__PURE__ */ jsxRuntime.jsxs(
466
- chunkEBSDPHPS_cjs.PopoverContent,
460
+ chunk4UFWFV43_cjs.PopoverContent,
467
461
  {
468
462
  ref,
469
463
  role: "toolbar",
@@ -471,14 +465,14 @@ function LinkChoiceToolbar({ controller, feature: { labels, providers }, choice,
471
465
  side: after,
472
466
  align: "end",
473
467
  sideOffset: 8,
474
- className: chunkEBSDPHPS_cjs.FLOATING_TOOLBAR,
475
- onOpenAutoFocus: chunkEBSDPHPS_cjs.preventDefault,
476
- onCloseAutoFocus: chunkEBSDPHPS_cjs.preventDefault,
477
- onPointerDown: chunkEBSDPHPS_cjs.keepFocus,
478
- onMouseDown: chunkEBSDPHPS_cjs.keepFocus,
468
+ className: chunk4UFWFV43_cjs.FLOATING_TOOLBAR,
469
+ onOpenAutoFocus: chunk4UFWFV43_cjs.preventDefault,
470
+ onCloseAutoFocus: chunk4UFWFV43_cjs.preventDefault,
471
+ onPointerDown: chunk4UFWFV43_cjs.keepFocus,
472
+ onMouseDown: chunk4UFWFV43_cjs.keepFocus,
479
473
  onFocus: roving.onFocus,
480
474
  onKeyDown,
481
- ...chunkEBSDPHPS_cjs.bubblePart(controller),
475
+ ...chunk4UFWFV43_cjs.bubblePart(controller),
482
476
  children: [
483
477
  embed !== null && button(labels.embed, embed),
484
478
  button(labels.bookmark, bookmarkOf(choice.href)),
@@ -495,12 +489,12 @@ function storeAfterPress(controller, request, block) {
495
489
  if (controller.readOnly || controller.root === null) return;
496
490
  controller.readSelectionFromDom();
497
491
  const line = request.at.block;
498
- const onLine = chunkFK7EBZPX_cjs.headBlockId(editor.state.selection) === line;
499
- const place = onLine ? chunkEBSDPHPS_cjs.insertBlockToWrite(block, false, line) : chunkEBSDPHPS_cjs.insertBlocks([block], "stay", line);
492
+ const onLine = chunkZ5EEDCRI_cjs.headBlockId(editor.state.selection) === line;
493
+ const place = onLine ? chunk4UFWFV43_cjs.insertBlockToWrite(block, false, line) : chunk4UFWFV43_cjs.insertBlocks([block], "stay", line);
500
494
  place(editor.state, (tr) => editor.dispatch(tr));
501
495
  }
502
496
  function LinkInputOverlay({ controller, feature }) {
503
- const readOnly = chunk2QKFRKOP_cjs.useReadOnly(controller);
497
+ const readOnly = chunkN25EH2GZ_cjs.useReadOnly(controller);
504
498
  const request = useLinkRequest(controller);
505
499
  const close = react.useCallback(() => requestLink(controller, null), [controller]);
506
500
  react.useEffect(() => {
@@ -514,12 +508,12 @@ function LinkInputPopover({ controller, feature: { labels, providers }, request,
514
508
  const [problem, setProblem] = react.useState(null);
515
509
  const messageId = react.useId();
516
510
  const content = react.useRef(null);
517
- const { anchor, side } = chunkEBSDPHPS_cjs.useRangeAnchor(controller, request.at);
511
+ const { anchor, side } = chunk4UFWFV43_cjs.useRangeAnchor(controller, request.at);
518
512
  const name = request.kind === "embed" ? labels.embedLink : labels.bookmarkLink;
519
513
  const typed = () => typedLink(request.kind, address, providers);
520
514
  const finish = (block) => {
521
515
  onClose();
522
- if (block !== null && !controller.readOnly) controller.run(chunkEBSDPHPS_cjs.insertBlockToWrite(block, false, request.at.block));
516
+ if (block !== null && !controller.readOnly) controller.run(chunk4UFWFV43_cjs.insertBlockToWrite(block, false, request.at.block));
523
517
  controller.focus();
524
518
  };
525
519
  const submit = (event) => {
@@ -530,39 +524,39 @@ function LinkInputPopover({ controller, feature: { labels, providers }, request,
530
524
  };
531
525
  const bookmarkInstead = () => finish(typedLink("bookmark", address, providers).block);
532
526
  const ownerDocument = react.useCallback(() => controller.root?.ownerDocument ?? document, [controller]);
533
- chunkEBSDPHPS_cjs.useOutsidePress(content, ownerDocument, () => {
527
+ chunk4UFWFV43_cjs.useOutsidePress(content, ownerDocument, () => {
534
528
  onClose();
535
529
  const { block } = typed();
536
530
  if (block !== null) setTimeout(() => storeAfterPress(controller, request, block));
537
531
  });
538
532
  const onKeyDown = (event) => {
539
533
  if (event.key !== "Tab" || event.altKey || event.ctrlKey || event.metaKey) return;
540
- if (chunk2QKFRKOP_cjs.isComposingKey(controller, event.nativeEvent)) return;
534
+ if (chunkN25EH2GZ_cjs.isComposingKey(controller, event.nativeEvent)) return;
541
535
  const controls = [...event.currentTarget.querySelectorAll("input, button")];
542
536
  const next = controls.indexOf(event.target) + (event.shiftKey ? -1 : 1);
543
537
  event.preventDefault();
544
538
  if (next >= 0 && next < controls.length) controls[next].focus();
545
539
  else finish(typed().block);
546
540
  };
547
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkEBSDPHPS_cjs.Popover, { open: true, modal: false, children: [
548
- /* @__PURE__ */ jsxRuntime.jsx(chunkEBSDPHPS_cjs.PopoverAnchor, { virtualRef: anchor }),
541
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunk4UFWFV43_cjs.Popover, { open: true, modal: false, children: [
542
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4UFWFV43_cjs.PopoverAnchor, { virtualRef: anchor }),
549
543
  /* @__PURE__ */ jsxRuntime.jsx(
550
- chunkEBSDPHPS_cjs.PopoverContent,
544
+ chunk4UFWFV43_cjs.PopoverContent,
551
545
  {
552
546
  ref: content,
553
547
  "aria-label": name,
554
548
  side,
555
549
  align: "start",
556
550
  className: "w-80 p-2 shadow-md",
557
- onCloseAutoFocus: chunkEBSDPHPS_cjs.preventDefault,
551
+ onCloseAutoFocus: chunk4UFWFV43_cjs.preventDefault,
558
552
  onEscapeKeyDown: (event) => {
559
553
  event.preventDefault();
560
- if (!chunk2QKFRKOP_cjs.isComposingKey(controller, event)) finish(null);
554
+ if (!chunkN25EH2GZ_cjs.isComposingKey(controller, event)) finish(null);
561
555
  },
562
- ...chunkEBSDPHPS_cjs.bubblePart(controller),
556
+ ...chunk4UFWFV43_cjs.bubblePart(controller),
563
557
  children: /* @__PURE__ */ jsxRuntime.jsxs("form", { noValidate: true, className: "quoin-embed-ask", onSubmit: submit, onKeyDown, children: [
564
558
  /* @__PURE__ */ jsxRuntime.jsx(
565
- chunkEBSDPHPS_cjs.Input,
559
+ chunk4UFWFV43_cjs.Input,
566
560
  {
567
561
  type: "url",
568
562
  className: "h-8",
@@ -576,9 +570,9 @@ function LinkInputPopover({ controller, feature: { labels, providers }, request,
576
570
  }
577
571
  }
578
572
  ),
579
- /* @__PURE__ */ jsxRuntime.jsx(chunkEBSDPHPS_cjs.Button, { type: "submit", size: "sm", children: request.kind === "embed" ? labels.embed : labels.bookmark }),
573
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4UFWFV43_cjs.Button, { type: "submit", size: "sm", children: request.kind === "embed" ? labels.embed : labels.bookmark }),
580
574
  problem !== null && /* @__PURE__ */ jsxRuntime.jsx("p", { id: messageId, role: "alert", className: "quoin-embed-ask-message", children: labels[problem] }),
581
- problem === "cannotEmbed" && /* @__PURE__ */ jsxRuntime.jsx(chunkEBSDPHPS_cjs.Button, { type: "button", variant: "outline", size: "sm", onClick: bookmarkInstead, children: labels.bookmarkInstead })
575
+ problem === "cannotEmbed" && /* @__PURE__ */ jsxRuntime.jsx(chunk4UFWFV43_cjs.Button, { type: "button", variant: "outline", size: "sm", onClick: bookmarkInstead, children: labels.bookmarkInstead })
582
576
  ] })
583
577
  }
584
578
  )
@@ -600,7 +594,7 @@ function embedExtension(options = {}) {
600
594
  blockNames: { EMBED: feature.labels.embed, BOOKMARK: feature.labels.bookmark },
601
595
  overlays: [ChoiceOverlay, InputOverlay]
602
596
  };
603
- return chunkFK7EBZPX_cjs.defineExtension({ name: "embed", plugins: [linkChoicePlugin], pasteRules: [pasteLinkChoice], ui });
597
+ return chunkZ5EEDCRI_cjs.defineExtension({ name: "embed", plugins: [linkChoicePlugin], pasteRules: [pasteLinkChoice], ui });
604
598
  }
605
599
 
606
600
  exports.embedExtension = embedExtension;
@@ -1,8 +1,8 @@
1
- import { TableOfContents, insertBlockToWrite, useNodeKeys, blockFragment, selectHandlers, linkedBlockId, focusNode } from './chunk-G6NBQYMM.js';
2
- import { useReadOnly, useEditorState, useIsomorphicLayoutEffect, isComposingKey } from './chunk-2BPXVQBP.js';
1
+ import { TableOfContents, insertBlockToWrite, useNodeKeys, blockFragment, selectHandlers, linkedBlockId, focusNode } from './chunk-ZGFZRVQA.js';
2
+ import { useReadOnly, useEditorState, useIsomorphicLayoutEffect, isComposingKey } from './chunk-MO4UMXMT.js';
3
3
  import { mergeLabels } from './chunk-DLQCTGC3.js';
4
- import { defineExtension, nodeSelection, endOf, headBlockId } from './chunk-5RBMZGKV.js';
5
- import { createSchema, collectHeadings, headingId, nestHeadings } from './chunk-7Y4B7NHO.js';
4
+ import { defineExtension, nodeSelection, endOf, headBlockId } from './chunk-TL2MJOWM.js';
5
+ import { createSchema, collectHeadings, headingId, nestHeadings } from './chunk-I34BFOLL.js';
6
6
  import { useMemo, useRef, useCallback } from 'react';
7
7
  import { jsx, jsxs } from 'react/jsx-runtime';
8
8
 
@@ -191,5 +191,5 @@ function tocExtension(options = {}) {
191
191
  }
192
192
 
193
193
  export { englishTocLabels, headings, tocExtension };
194
- //# sourceMappingURL=chunk-NHNW5DK3.js.map
195
- //# sourceMappingURL=chunk-NHNW5DK3.js.map
194
+ //# sourceMappingURL=chunk-3F76QQ65.js.map
195
+ //# sourceMappingURL=chunk-3F76QQ65.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/extensions/toc/keep-scroll.ts","../src/extensions/toc/go-to-heading.ts","../src/extensions/toc/toc-handlers.ts","../src/extensions/toc/TocList.tsx","../src/extensions/toc/use-entry-focus.ts","../src/extensions/toc/headings.ts","../src/extensions/toc/per-doc.ts","../src/extensions/toc/use-toc-headings.ts","../src/extensions/toc/use-toc-number.ts","../src/extensions/toc/TocBlock.tsx","../src/extensions/toc/toc-labels.ts","../src/extensions/toc/toc-slash-item.ts","../src/extensions/toc/toc-extension.tsx"],"names":["useRef","jsx"],"mappings":"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","file":"chunk-NHNW5DK3.js"}
1
+ {"version":3,"sources":["../src/extensions/toc/keep-scroll.ts","../src/extensions/toc/go-to-heading.ts","../src/extensions/toc/toc-handlers.ts","../src/extensions/toc/TocList.tsx","../src/extensions/toc/use-entry-focus.ts","../src/extensions/toc/headings.ts","../src/extensions/toc/per-doc.ts","../src/extensions/toc/use-toc-headings.ts","../src/extensions/toc/use-toc-number.ts","../src/extensions/toc/TocBlock.tsx","../src/extensions/toc/toc-labels.ts","../src/extensions/toc/toc-slash-item.ts","../src/extensions/toc/toc-extension.tsx"],"names":["useRef","jsx"],"mappings":"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","file":"chunk-3F76QQ65.js"}
@@ -1,4 +1,4 @@
1
- import { sanitizeHref } from './chunk-7Y4B7NHO.js';
1
+ import { sanitizeHref } from './chunk-I34BFOLL.js';
2
2
 
3
3
  // src/extensions/web-address.ts
4
4
  var WEB = /^https?:\/\/[^/?#\s]/i;
@@ -17,5 +17,5 @@ function domainOf(value) {
17
17
  }
18
18
 
19
19
  export { domainOf, webAddress };
20
- //# sourceMappingURL=chunk-DBOZFNWU.js.map
21
- //# sourceMappingURL=chunk-DBOZFNWU.js.map
20
+ //# sourceMappingURL=chunk-3QYFAAQR.js.map
21
+ //# sourceMappingURL=chunk-3QYFAAQR.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/extensions/web-address.ts"],"names":[],"mappings":";;;AAEA,IAAM,MAAM;AAGL,SAAS,WAAW,OAA+B;AACxD,QAAM,OAAO,OAAO,UAAU,WAAW,aAAa,KAAK,IAAI;AAC/D,SAAO,SAAS,QAAQ,IAAI,KAAK,IAAI,IAAI,OAAO;AAClD;AAGO,SAAS,SAAS,OAA8B;AACrD,QAAM,OAAO,WAAW,KAAK;AAC7B,MAAI,SAAS,MAAM,OAAO;AAC1B,MAAI;AACF,WAAO,IAAI,IAAI,IAAI,EAAE,SAAS,QAAQ,WAAW,EAAE;AAAA,EACrD,QAAQ;AACN,WAAO;AAAA,EACT;AACF","file":"chunk-DBOZFNWU.js"}
1
+ {"version":3,"sources":["../src/extensions/web-address.ts"],"names":[],"mappings":";;;AAEA,IAAM,MAAM;AAGL,SAAS,WAAW,OAA+B;AACxD,QAAM,OAAO,OAAO,UAAU,WAAW,aAAa,KAAK,IAAI;AAC/D,SAAO,SAAS,QAAQ,IAAI,KAAK,IAAI,IAAI,OAAO;AAClD;AAGO,SAAS,SAAS,OAA8B;AACrD,QAAM,OAAO,WAAW,KAAK;AAC7B,MAAI,SAAS,MAAM,OAAO;AAC1B,MAAI;AACF,WAAO,IAAI,IAAI,IAAI,EAAE,SAAS,QAAQ,WAAW,EAAE;AAAA,EACrD,QAAQ;AACN,WAAO;AAAA,EACT;AACF","file":"chunk-3QYFAAQR.js"}
@@ -200,6 +200,17 @@ function marksAt(inline, offset, isInclusive = isInclusiveMark) {
200
200
  const after = nodeAt(inline, offset)?.marks ?? [];
201
201
  return before.filter((mark) => isInclusive(mark) || hasMark(after, mark));
202
202
  }
203
+ function rangeHasMark(inline, from, to, type) {
204
+ if (from === to) return hasMark(marksAt(inline, from), type);
205
+ if (from > to) return false;
206
+ let start = 0;
207
+ for (const node of inline) {
208
+ const end = start + nodeLength(node);
209
+ if (end > from && start < to && !hasMark(node.marks, type)) return false;
210
+ start = end;
211
+ }
212
+ return true;
213
+ }
203
214
  function equalNode(a, b) {
204
215
  if (!sameMarkSet(a.marks, b.marks)) return false;
205
216
  if (a.kind === "text") return b.kind === "text" && a.text === b.text;
@@ -541,9 +552,7 @@ function columnAligns(value, cols) {
541
552
  return typeof align === "string" && COLUMN_ALIGNS.includes(align) ? align : null;
542
553
  });
543
554
  }
544
- function widthList(value) {
545
- return Array.isArray(value) && value.every((width) => optionalNumber(width) !== void 0) ? value : void 0;
546
- }
555
+ var validWidths = (value, cols) => Array.isArray(value) && value.length === cols && value.every((width) => (optionalNumber(width) ?? 0) > 0) ? value : null;
547
556
  var tableSpec = {
548
557
  type: "TABLE",
549
558
  flow: "structured",
@@ -558,7 +567,7 @@ var tableSpec = {
558
567
  attrs: withDefined({
559
568
  header: data.header !== false,
560
569
  align: columnAligns(data.align, cols),
561
- widths: widthList(data.widths),
570
+ widths: validWidths(data.widths, cols) ?? void 0,
562
571
  rows: rows.length,
563
572
  cols,
564
573
  extra: extraFields(data, KNOWN8)
@@ -573,10 +582,8 @@ var tableSpec = {
573
582
  { length: countOf(attrs.rows) },
574
583
  (_, r) => Array.from({ length: cols }, (_2, c) => ctx.inline.serialize(regionOf(block, cellKey(r, c)), CELL_WRITE))
575
584
  );
576
- return withExtra(
577
- { rows, header: attrs.header !== false, align: columnAligns(attrs.align, cols), widths: widthList(attrs.widths) },
578
- attrs
579
- );
585
+ const widths = validWidths(attrs.widths, cols) ?? void 0;
586
+ return withExtra({ rows, header: attrs.header !== false, align: columnAligns(attrs.align, cols), widths }, attrs);
580
587
  },
581
588
  initial() {
582
589
  const regions = {};
@@ -3392,6 +3399,7 @@ exports.orderedStart = orderedStart;
3392
3399
  exports.paletteOrUndefined = paletteOrUndefined;
3393
3400
  exports.parseInline = parseInline;
3394
3401
  exports.parseLine = parseLine;
3402
+ exports.rangeHasMark = rangeHasMark;
3395
3403
  exports.removeMark = removeMark;
3396
3404
  exports.removeMarkRange = removeMarkRange;
3397
3405
  exports.replaceBlocks = replaceBlocks;
@@ -3412,4 +3420,5 @@ exports.str = str;
3412
3420
  exports.tableCells = tableCells;
3413
3421
  exports.text = text;
3414
3422
  exports.updateBlock = updateBlock;
3423
+ exports.validWidths = validWidths;
3415
3424
  exports.writtenAttrs = writtenAttrs;