quoin-editor 2.0.1 → 2.0.3

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 (84) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/ai.cjs +34 -34
  3. package/dist/ai.js +3 -3
  4. package/dist/catalogue.cjs +21 -21
  5. package/dist/catalogue.js +12 -12
  6. package/dist/{chunk-BYYCD54G.cjs → chunk-3B5VEXVQ.cjs} +2 -2
  7. package/dist/{chunk-5YAJZSTI.cjs → chunk-4EJJ4ZNC.cjs} +18 -18
  8. package/dist/{chunk-IKZSCTRF.cjs → chunk-55MN4QZU.cjs} +8 -5
  9. package/dist/{chunk-NFO3W644.cjs → chunk-5URH2Y2L.cjs} +22 -20
  10. package/dist/{chunk-B4VCDJSA.js → chunk-77THE3KY.js} +5 -5
  11. package/dist/{chunk-B4VCDJSA.js.map → chunk-77THE3KY.js.map} +1 -1
  12. package/dist/{chunk-V4WQG7FR.cjs → chunk-BCCFJINI.cjs} +70 -65
  13. package/dist/{chunk-NL5J77VD.js → chunk-BNTRGV4A.js} +44 -13
  14. package/dist/chunk-BNTRGV4A.js.map +1 -0
  15. package/dist/{chunk-IW4TMECB.js → chunk-C4SRLMQJ.js} +3 -3
  16. package/dist/{chunk-IW4TMECB.js.map → chunk-C4SRLMQJ.js.map} +1 -1
  17. package/dist/{chunk-CJVJNMOB.cjs → chunk-DZ5XR4O6.cjs} +177 -143
  18. package/dist/{chunk-ZN5DHNSL.js → chunk-FGVTDIHT.js} +80 -45
  19. package/dist/chunk-FGVTDIHT.js.map +1 -0
  20. package/dist/{chunk-66OPHDFA.cjs → chunk-H3TRVI44.cjs} +50 -50
  21. package/dist/{chunk-2UKI26JA.js → chunk-LCGOFL7S.js} +15 -10
  22. package/dist/{chunk-2UKI26JA.js.map → chunk-LCGOFL7S.js.map} +1 -1
  23. package/dist/{chunk-EU5IGKMP.js → chunk-MDIXI7DM.js} +3 -3
  24. package/dist/{chunk-EU5IGKMP.js.map → chunk-MDIXI7DM.js.map} +1 -1
  25. package/dist/{chunk-Z6LAARPB.cjs → chunk-MGN332NY.cjs} +45 -10
  26. package/dist/{chunk-4PIJC4FD.cjs → chunk-NAMZA4NW.cjs} +14 -14
  27. package/dist/{chunk-5X52BAZB.js → chunk-NLRSAOCK.js} +5 -5
  28. package/dist/{chunk-5X52BAZB.js.map → chunk-NLRSAOCK.js.map} +1 -1
  29. package/dist/{chunk-HOSDMHK6.cjs → chunk-OMUXPNCX.cjs} +27 -26
  30. package/dist/{chunk-YABGWOAV.js → chunk-QVWNUUMJ.js} +3 -3
  31. package/dist/{chunk-YABGWOAV.js.map → chunk-QVWNUUMJ.js.map} +1 -1
  32. package/dist/{chunk-6BVE46K7.js → chunk-RNYETN6X.js} +7 -5
  33. package/dist/{chunk-6BVE46K7.js.map → chunk-RNYETN6X.js.map} +1 -1
  34. package/dist/{chunk-77CNOLHY.cjs → chunk-SDFJZNYB.cjs} +3 -3
  35. package/dist/{chunk-LEICOZYK.cjs → chunk-SQHEZ3JY.cjs} +2 -2
  36. package/dist/{chunk-D6CIIWCU.cjs → chunk-UWCU6PJY.cjs} +30 -30
  37. package/dist/{chunk-KQPZTSW3.js → chunk-VQDQBMQY.js} +4 -4
  38. package/dist/{chunk-KQPZTSW3.js.map → chunk-VQDQBMQY.js.map} +1 -1
  39. package/dist/{chunk-M77A3EGD.js → chunk-WMM56LIB.js} +8 -5
  40. package/dist/{chunk-M77A3EGD.js.map → chunk-WMM56LIB.js.map} +1 -1
  41. package/dist/{chunk-MAS4AEF4.js → chunk-YHAVXOAA.js} +6 -5
  42. package/dist/chunk-YHAVXOAA.js.map +1 -0
  43. package/dist/{chunk-J2SVYBTC.js → chunk-YWYTLNAO.js} +4 -4
  44. package/dist/{chunk-J2SVYBTC.js.map → chunk-YWYTLNAO.js.map} +1 -1
  45. package/dist/comments.cjs +30 -30
  46. package/dist/comments.js +3 -3
  47. package/dist/diagram.cjs +6 -6
  48. package/dist/diagram.js +3 -3
  49. package/dist/embed.cjs +5 -5
  50. package/dist/embed.js +3 -3
  51. package/dist/emoji-data.cjs +4 -3
  52. package/dist/emoji-data.js +4 -3
  53. package/dist/emoji-data.js.map +1 -1
  54. package/dist/emoji.cjs +6 -6
  55. package/dist/emoji.js +3 -3
  56. package/dist/find.cjs +7 -7
  57. package/dist/find.js +3 -3
  58. package/dist/headless.cjs +11 -11
  59. package/dist/headless.js +1 -1
  60. package/dist/highlight.cjs +3 -3
  61. package/dist/highlight.js +2 -2
  62. package/dist/index.cjs +23 -23
  63. package/dist/index.d.cts +1 -1
  64. package/dist/index.d.ts +1 -1
  65. package/dist/index.js +2 -2
  66. package/dist/math.cjs +6 -6
  67. package/dist/math.js +4 -4
  68. package/dist/mention.cjs +6 -6
  69. package/dist/mention.js +4 -4
  70. package/dist/presence.cjs +12 -12
  71. package/dist/presence.js +3 -3
  72. package/dist/source.cjs +2 -2
  73. package/dist/source.js +2 -2
  74. package/dist/stats.cjs +6 -6
  75. package/dist/stats.js +3 -3
  76. package/dist/styles.css +1 -1
  77. package/dist/table.cjs +22 -22
  78. package/dist/table.js +3 -3
  79. package/dist/toc.cjs +6 -6
  80. package/dist/toc.js +3 -3
  81. package/package.json +3 -2
  82. package/dist/chunk-MAS4AEF4.js.map +0 -1
  83. package/dist/chunk-NL5J77VD.js.map +0 -1
  84. package/dist/chunk-ZN5DHNSL.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkCJVJNMOB_cjs = require('./chunk-CJVJNMOB.cjs');
4
- var chunkZ6LAARPB_cjs = require('./chunk-Z6LAARPB.cjs');
3
+ var chunkDZ5XR4O6_cjs = require('./chunk-DZ5XR4O6.cjs');
4
+ var chunkMGN332NY_cjs = require('./chunk-MGN332NY.cjs');
5
5
  var chunkZWTIRGY5_cjs = require('./chunk-ZWTIRGY5.cjs');
6
6
  var chunkFK7EBZPX_cjs = require('./chunk-FK7EBZPX.cjs');
7
7
  var chunkI7X7B3WD_cjs = require('./chunk-I7X7B3WD.cjs');
@@ -302,7 +302,9 @@ function findActions(controller) {
302
302
  write(setSearch(editor.state, { ...search, [option]: !search[option] }));
303
303
  },
304
304
  step: (by) => write(stepFind(editor.state, by)),
305
- replace: (replacement) => void replaceCurrent(replacement)(editor.state, write),
305
+ replace(replacement) {
306
+ if (!replaceCurrent(replacement)(editor.state, write)) write(stepFind(editor.state, 1));
307
+ },
306
308
  replaceAll: (replacement) => void replaceAll(replacement)(editor.state, write),
307
309
  close() {
308
310
  const match = currentMatch(current());
@@ -336,15 +338,15 @@ function FindStatus({ labels, value }) {
336
338
  ] });
337
339
  }
338
340
  var TOGGLES = [
339
- { option: "caseSensitive", label: "matchCase", icon: chunkCJVJNMOB_cjs.CaseSensitive },
340
- { option: "wholeWord", label: "wholeWord", icon: chunkCJVJNMOB_cjs.WholeWord },
341
- { option: "regex", label: "regularExpression", icon: chunkCJVJNMOB_cjs.Regex }
341
+ { option: "caseSensitive", label: "matchCase", icon: chunkDZ5XR4O6_cjs.CaseSensitive },
342
+ { option: "wholeWord", label: "wholeWord", icon: chunkDZ5XR4O6_cjs.WholeWord },
343
+ { option: "regex", label: "regularExpression", icon: chunkDZ5XR4O6_cjs.Regex }
342
344
  ];
343
345
  function FindToggles({ labels, options, onToggle }) {
344
346
  return TOGGLES.map(({ option, label, icon: Icon }) => {
345
347
  const name = labels[label];
346
348
  return /* @__PURE__ */ jsxRuntime.jsx(
347
- chunkCJVJNMOB_cjs.Button,
349
+ chunkDZ5XR4O6_cjs.Button,
348
350
  {
349
351
  type: "button",
350
352
  variant: "ghost",
@@ -366,7 +368,7 @@ function useFindShortcut(controller) {
366
368
  const root = controller.root;
367
369
  if (root === null) return;
368
370
  const onKeyDown = (event) => {
369
- if (chunkZ6LAARPB_cjs.isComposingKey(controller, event) || !isFindShortcut(event, controller.isMac)) return;
371
+ if (chunkMGN332NY_cjs.isComposingKey(controller, event) || !isFindShortcut(event, controller.isMac)) return;
370
372
  event.preventDefault();
371
373
  const { editor } = controller;
372
374
  openFind(editor.state, (tr) => editor.dispatch(tr));
@@ -445,7 +447,7 @@ function FindPanel({ controller, labels, value, readOnly }) {
445
447
  children: [
446
448
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1", children: [
447
449
  /* @__PURE__ */ jsxRuntime.jsx(
448
- chunkCJVJNMOB_cjs.Input,
450
+ chunkDZ5XR4O6_cjs.Input,
449
451
  {
450
452
  ref: query,
451
453
  "aria-label": labels.find,
@@ -460,7 +462,7 @@ function FindPanel({ controller, labels, value, readOnly }) {
460
462
  /* @__PURE__ */ jsxRuntime.jsx(FindStatus, { labels, value }),
461
463
  /* @__PURE__ */ jsxRuntime.jsx(FindToggles, { labels, options: value.search, onToggle: actions.toggle }),
462
464
  /* @__PURE__ */ jsxRuntime.jsx(
463
- chunkCJVJNMOB_cjs.Button,
465
+ chunkDZ5XR4O6_cjs.Button,
464
466
  {
465
467
  type: "button",
466
468
  variant: "ghost",
@@ -468,11 +470,11 @@ function FindPanel({ controller, labels, value, readOnly }) {
468
470
  "aria-label": labels.previousMatch,
469
471
  title: labels.previousMatch,
470
472
  onClick: () => actions.step(-1),
471
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkCJVJNMOB_cjs.ChevronUp, { "aria-hidden": true })
473
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.ChevronUp, { "aria-hidden": true })
472
474
  }
473
475
  ),
474
476
  /* @__PURE__ */ jsxRuntime.jsx(
475
- chunkCJVJNMOB_cjs.Button,
477
+ chunkDZ5XR4O6_cjs.Button,
476
478
  {
477
479
  type: "button",
478
480
  variant: "ghost",
@@ -480,11 +482,11 @@ function FindPanel({ controller, labels, value, readOnly }) {
480
482
  "aria-label": labels.nextMatch,
481
483
  title: labels.nextMatch,
482
484
  onClick: () => actions.step(1),
483
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkCJVJNMOB_cjs.ChevronDown, { "aria-hidden": true })
485
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.ChevronDown, { "aria-hidden": true })
484
486
  }
485
487
  ),
486
488
  /* @__PURE__ */ jsxRuntime.jsx(
487
- chunkCJVJNMOB_cjs.Button,
489
+ chunkDZ5XR4O6_cjs.Button,
488
490
  {
489
491
  type: "button",
490
492
  variant: "ghost",
@@ -492,13 +494,13 @@ function FindPanel({ controller, labels, value, readOnly }) {
492
494
  "aria-label": labels.close,
493
495
  title: labels.close,
494
496
  onClick: actions.close,
495
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkCJVJNMOB_cjs.X, { "aria-hidden": true })
497
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.X, { "aria-hidden": true })
496
498
  }
497
499
  )
498
500
  ] }),
499
501
  !readOnly && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1", children: [
500
502
  /* @__PURE__ */ jsxRuntime.jsx(
501
- chunkCJVJNMOB_cjs.Input,
503
+ chunkDZ5XR4O6_cjs.Input,
502
504
  {
503
505
  "aria-label": labels.replaceWith,
504
506
  placeholder: labels.replaceWith,
@@ -508,16 +510,16 @@ function FindPanel({ controller, labels, value, readOnly }) {
508
510
  className: "h-8 w-48"
509
511
  }
510
512
  ),
511
- /* @__PURE__ */ jsxRuntime.jsx(chunkCJVJNMOB_cjs.Button, { type: "button", variant: "outline", size: "sm", onClick: () => actions.replace(replacement), children: labels.replace }),
512
- /* @__PURE__ */ jsxRuntime.jsx(chunkCJVJNMOB_cjs.Button, { type: "button", variant: "outline", size: "sm", onClick: () => actions.replaceAll(replacement), children: labels.replaceAll })
513
+ /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.Button, { type: "button", variant: "outline", size: "sm", onClick: () => actions.replace(replacement), children: labels.replace }),
514
+ /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.Button, { type: "button", variant: "outline", size: "sm", onClick: () => actions.replaceAll(replacement), children: labels.replaceAll })
513
515
  ] })
514
516
  ]
515
517
  }
516
518
  );
517
519
  }
518
520
  function FindOverlay({ controller, labels }) {
519
- const readOnly = chunkZ6LAARPB_cjs.useReadOnly(controller);
520
- const value = chunkZ6LAARPB_cjs.useEditorState(
521
+ const readOnly = chunkMGN332NY_cjs.useReadOnly(controller);
522
+ const value = chunkMGN332NY_cjs.useEditorState(
521
523
  controller,
522
524
  react.useCallback((state) => chunkFK7EBZPX_cjs.getPluginState(state, findKey), [])
523
525
  );
@@ -1,7 +1,7 @@
1
- import { selectedAtomDecorations, atomKeymap, useSelectionOutOfAtoms, atomAtTarget, plainEnter, selectedAtom } from './chunk-M77A3EGD.js';
1
+ import { selectedAtomDecorations, atomKeymap, useSelectionOutOfAtoms, atomAtTarget, plainEnter, selectedAtom } from './chunk-WMM56LIB.js';
2
2
  import { webAddress } from './chunk-DBOZFNWU.js';
3
- import { suggestionPlugin, useQuoin, SuggestionMenu, replaceTrigger, toError, dismissSuggestion } from './chunk-ZN5DHNSL.js';
4
- import { useReadOnly, useIsomorphicLayoutEffect, isComposingKey } from './chunk-NL5J77VD.js';
3
+ import { suggestionPlugin, useQuoin, SuggestionMenu, replaceTrigger, toError, dismissSuggestion } from './chunk-FGVTDIHT.js';
4
+ import { useReadOnly, useIsomorphicLayoutEffect, isComposingKey } from './chunk-BNTRGV4A.js';
5
5
  import { mergeLabels } from './chunk-DLQCTGC3.js';
6
6
  import { createPluginKey, defineExtension, getPluginState, runCommands, insertMention, insertText } from './chunk-5RBMZGKV.js';
7
7
  import { useEffect, useRef, useMemo, useCallback, useState } from 'react';
@@ -268,5 +268,5 @@ function mentionExtension(options = {}) {
268
268
  }
269
269
 
270
270
  export { englishMentionLabels, mentionExtension };
271
- //# sourceMappingURL=chunk-B4VCDJSA.js.map
272
- //# sourceMappingURL=chunk-B4VCDJSA.js.map
271
+ //# sourceMappingURL=chunk-77THE3KY.js.map
272
+ //# sourceMappingURL=chunk-77THE3KY.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/extensions/mention/mention-feature.ts","../src/extensions/mention/mention-key.ts","../src/extensions/mention/mention-labels.ts","../src/extensions/mention/MentionChip.ts","../src/extensions/mention/choose-mention.ts","../src/extensions/mention/mention-results.ts","../src/extensions/mention/mention-source.ts","../src/extensions/mention/use-close-on-space.ts","../src/extensions/mention/MentionItem.tsx","../src/extensions/mention/MentionMenu.tsx","../src/extensions/mention/use-mention-opening.ts","../src/extensions/mention/use-read-only-chips.ts","../src/extensions/mention/MentionOverlay.tsx","../src/extensions/mention/mention-extension.tsx"],"names":["jsx","useEffect"],"mappings":"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","file":"chunk-B4VCDJSA.js"}
1
+ {"version":3,"sources":["../src/extensions/mention/mention-feature.ts","../src/extensions/mention/mention-key.ts","../src/extensions/mention/mention-labels.ts","../src/extensions/mention/MentionChip.ts","../src/extensions/mention/choose-mention.ts","../src/extensions/mention/mention-results.ts","../src/extensions/mention/mention-source.ts","../src/extensions/mention/use-close-on-space.ts","../src/extensions/mention/MentionItem.tsx","../src/extensions/mention/MentionMenu.tsx","../src/extensions/mention/use-mention-opening.ts","../src/extensions/mention/use-read-only-chips.ts","../src/extensions/mention/MentionOverlay.tsx","../src/extensions/mention/mention-extension.tsx"],"names":["jsx","useEffect"],"mappings":"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","file":"chunk-77THE3KY.js"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkCJVJNMOB_cjs = require('./chunk-CJVJNMOB.cjs');
4
- var chunkZ6LAARPB_cjs = require('./chunk-Z6LAARPB.cjs');
3
+ var chunkDZ5XR4O6_cjs = require('./chunk-DZ5XR4O6.cjs');
4
+ var chunkMGN332NY_cjs = require('./chunk-MGN332NY.cjs');
5
5
  var chunkZWTIRGY5_cjs = require('./chunk-ZWTIRGY5.cjs');
6
6
  var chunkFK7EBZPX_cjs = require('./chunk-FK7EBZPX.cjs');
7
7
  var chunkI7X7B3WD_cjs = require('./chunk-I7X7B3WD.cjs');
@@ -168,7 +168,7 @@ function setCellsMark(type, attrs) {
168
168
  var CONTROLS_SLOT = "data-quoin-table-controls";
169
169
  var controlsSlot = (controller, blockId) => controller.blockElement(blockId)?.querySelector(`[${CONTROLS_SLOT}]`) ?? null;
170
170
  var TableCell = react.memo(function TableCell2({ controller, blockId, row, col, header, align, label }) {
171
- const inRange = chunkZ6LAARPB_cjs.useEditorState(
171
+ const inRange = chunkMGN332NY_cjs.useEditorState(
172
172
  controller,
173
173
  react.useCallback(
174
174
  (state) => {
@@ -187,7 +187,7 @@ var TableCell = react.memo(function TableCell2({ controller, blockId, row, col,
187
187
  "data-col": col,
188
188
  "data-in-range": inRange ? "" : void 0,
189
189
  style: align === null ? void 0 : { textAlign: align },
190
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkZ6LAARPB_cjs.EditableRegion, { block: blockId, region: chunkI7X7B3WD_cjs.cellKey(row, col), label, className: "quoin-table-text" })
190
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkMGN332NY_cjs.EditableRegion, { block: blockId, region: chunkI7X7B3WD_cjs.cellKey(row, col), label, className: "quoin-table-text" })
191
191
  }
192
192
  );
193
193
  });
@@ -464,7 +464,7 @@ function useCellPress(controller, blockId, table, editable) {
464
464
  }, [controller, blockId, table, editable]);
465
465
  }
466
466
  function useRevealCell(controller, blockId) {
467
- const region = chunkZ6LAARPB_cjs.useEditorState(
467
+ const region = chunkMGN332NY_cjs.useEditorState(
468
468
  controller,
469
469
  react.useCallback(
470
470
  (state) => {
@@ -488,20 +488,20 @@ function caretAtGoal(controller, blockId, cell, direction) {
488
488
  const region = chunkI7X7B3WD_cjs.cellKey(...cell);
489
489
  const host = controller.registry.get(blockId, region);
490
490
  const { goalX } = controller;
491
- const line = host && chunkZ6LAARPB_cjs.lineEdgeRect(host, direction < 0);
491
+ const line = host && chunkMGN332NY_cjs.lineEdgeRect(host, direction < 0);
492
492
  if (!host || !line || goalX === null) return null;
493
493
  const box = host.getBoundingClientRect();
494
494
  const x = Math.min(Math.max(goalX, box.left), box.right - 1);
495
- const point = chunkZ6LAARPB_cjs.caretFromPoint(host.ownerDocument, x, line.top + line.height / 2);
496
- const pos = point && chunkZ6LAARPB_cjs.domToPos(controller.registry, point.node, point.offset);
495
+ const point = chunkMGN332NY_cjs.caretFromPoint(host.ownerDocument, x, line.top + line.height / 2);
496
+ const pos = point && chunkMGN332NY_cjs.domToPos(controller.registry, point.node, point.offset);
497
497
  return pos && pos.block === blockId && pos.region === region ? pos : null;
498
498
  }
499
499
  var plainArrow = (event) => event.altKey || event.ctrlKey || event.metaKey ? void 0 : VERTICAL[event.key];
500
500
  function caretOnEdgeLine(controller, head, direction) {
501
501
  const host = controller.registry.get(head.block, head.region);
502
- const point = chunkZ6LAARPB_cjs.posToDom(controller.registry, head);
503
- if (!host || !point || !(direction < 0 ? chunkZ6LAARPB_cjs.isOnFirstLine(host, point) : chunkZ6LAARPB_cjs.isOnLastLine(host, point))) return null;
504
- return { left: chunkZ6LAARPB_cjs.caretClientRect(point)?.left ?? null };
502
+ const point = chunkMGN332NY_cjs.posToDom(controller.registry, head);
503
+ if (!host || !point || !(direction < 0 ? chunkMGN332NY_cjs.isOnFirstLine(host, point) : chunkMGN332NY_cjs.isOnLastLine(host, point))) return null;
504
+ return { left: chunkMGN332NY_cjs.caretClientRect(point)?.left ?? null };
505
505
  }
506
506
  function columnAt(controller, blockId, row, x) {
507
507
  const cells = Array.from(controller.blockElement(blockId)?.querySelector("table")?.rows[row]?.cells ?? []);
@@ -514,7 +514,7 @@ function enterTable(controller, blockId, event) {
514
514
  const { selection } = state;
515
515
  const block = tableBlock(state.doc, blockId);
516
516
  if (direction === void 0 || event.shiftKey || block === null || selection?.kind !== "text") return false;
517
- if (!chunkFK7EBZPX_cjs.isCollapsed(selection) || chunkZ6LAARPB_cjs.neighbourBlock(state.doc, selection.head.block, direction)?.id !== blockId) return false;
517
+ if (!chunkFK7EBZPX_cjs.isCollapsed(selection) || chunkMGN332NY_cjs.neighbourBlock(state.doc, selection.head.block, direction)?.id !== blockId) return false;
518
518
  const caret = caretOnEdgeLine(controller, selection.head, direction);
519
519
  if (caret === null) return false;
520
520
  controller.goalX ??= caret.left;
@@ -554,17 +554,17 @@ function useTableKeys(controller, blockId, editable) {
554
554
  react.useEffect(() => {
555
555
  if (!editable) return;
556
556
  const intercept = (event) => {
557
- if (chunkZ6LAARPB_cjs.isComposingKey(controller, event)) return false;
557
+ if (chunkMGN332NY_cjs.isComposingKey(controller, event)) return false;
558
558
  const handled = typeOver(controller, blockId, event) || moveBetweenRows(controller, blockId, event) || enterTable(controller, blockId, event);
559
559
  if (handled) event.preventDefault();
560
560
  return handled;
561
561
  };
562
- return chunkCJVJNMOB_cjs.interceptKeys(controller, intercept);
562
+ return chunkDZ5XR4O6_cjs.interceptKeys(controller, intercept);
563
563
  }, [controller, blockId, editable]);
564
564
  }
565
565
  var indexes = (from, to) => Array.from({ length: Math.max(to - from, 0) }, (_, i) => from + i);
566
566
  function TableBlock({ block, controller, labels }) {
567
- const readOnly = chunkZ6LAARPB_cjs.useReadOnly(controller);
567
+ const readOnly = chunkMGN332NY_cjs.useReadOnly(controller);
568
568
  const table = react.useRef(null);
569
569
  const { rows, cols } = tableShape(block);
570
570
  const header = block.attrs.header !== false && rows > 0;
@@ -588,7 +588,7 @@ function TableBlock({ block, controller, labels }) {
588
588
  col
589
589
  )) }, index);
590
590
  const scroller = readOnly ? { role: "region", "aria-label": labels.table, tabIndex: 0 } : void 0;
591
- return /* @__PURE__ */ jsxRuntime.jsx("div", { contentEditable: false, className: "quoin-table", "data-readonly": readOnly ? "" : void 0, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `quoin-table-scroll ${readOnly ? chunkCJVJNMOB_cjs.FOCUS_RING : ""}`, ...scroller, children: [
591
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { contentEditable: false, className: "quoin-table", "data-readonly": readOnly ? "" : void 0, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `quoin-table-scroll ${readOnly ? chunkDZ5XR4O6_cjs.FOCUS_RING : ""}`, ...scroller, children: [
592
592
  /* @__PURE__ */ jsxRuntime.jsxs(
593
593
  "table",
594
594
  {
@@ -640,7 +640,7 @@ function ColumnResizer(props) {
640
640
  if (!controller.readOnly) controller.run(setColumnWidth(blockId, col, px, widths));
641
641
  };
642
642
  const onKeyDown = (event) => {
643
- if (chunkZ6LAARPB_cjs.isComposingKey(controller, event.nativeEvent)) return;
643
+ if (chunkMGN332NY_cjs.isComposingKey(controller, event.nativeEvent)) return;
644
644
  const step = event.shiftKey ? LARGE_STEP : STEP;
645
645
  const tab = event.key === "Tab" && !event.altKey && !event.ctrlKey && !event.metaKey;
646
646
  if (event.key === "ArrowLeft" || event.key === "ArrowRight") {
@@ -695,7 +695,7 @@ function ColumnResizer(props) {
695
695
  "aria-valuetext": labels.columnWidth(width),
696
696
  className: "quoin-table-resizer",
697
697
  style,
698
- ...{ [chunkZ6LAARPB_cjs.NATIVE_INTERACTION]: "" },
698
+ ...{ [chunkMGN332NY_cjs.NATIVE_INTERACTION]: "" },
699
699
  onKeyDown,
700
700
  onPointerDown,
701
701
  onPointerMove,
@@ -710,20 +710,20 @@ function HandleMenu({ controller, axis, label, style, items, open, onOpenChange,
710
710
  if (controller.run(item3.command)) controller.announce(item3.done);
711
711
  };
712
712
  const item2 = (entry) => /* @__PURE__ */ jsxRuntime.jsxs(
713
- chunkCJVJNMOB_cjs.DropdownMenuItem,
713
+ chunkDZ5XR4O6_cjs.DropdownMenuItem,
714
714
  {
715
715
  disabled: entry.disabled,
716
716
  className: entry.destructive ? DESTRUCTIVE : void 0,
717
717
  onSelect: () => run(entry),
718
718
  children: [
719
- /* @__PURE__ */ jsxRuntime.jsx(chunkCJVJNMOB_cjs.MenuIcon, { icon: entry.icon }),
719
+ /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.MenuIcon, { icon: entry.icon }),
720
720
  entry.label
721
721
  ]
722
722
  },
723
723
  entry.id
724
724
  );
725
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkCJVJNMOB_cjs.DropdownMenu, { open, onOpenChange, children: [
726
- /* @__PURE__ */ jsxRuntime.jsx(chunkCJVJNMOB_cjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
725
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkDZ5XR4O6_cjs.DropdownMenu, { open, onOpenChange, children: [
726
+ /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
727
727
  "button",
728
728
  {
729
729
  ref: buttonRef,
@@ -733,22 +733,22 @@ function HandleMenu({ controller, axis, label, style, items, open, onOpenChange,
733
733
  "data-axis": axis,
734
734
  className: "quoin-table-handle",
735
735
  style,
736
- children: axis === "row" ? /* @__PURE__ */ jsxRuntime.jsx(chunkCJVJNMOB_cjs.GripVertical, { "aria-hidden": "true" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkCJVJNMOB_cjs.GripHorizontal, { "aria-hidden": "true" })
736
+ children: axis === "row" ? /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.GripVertical, { "aria-hidden": "true" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.GripHorizontal, { "aria-hidden": "true" })
737
737
  }
738
738
  ) }),
739
739
  open && /* @__PURE__ */ jsxRuntime.jsxs(
740
- chunkCJVJNMOB_cjs.DropdownMenuContent,
740
+ chunkDZ5XR4O6_cjs.DropdownMenuContent,
741
741
  {
742
742
  align: "start",
743
743
  "aria-label": label,
744
744
  "aria-labelledby": void 0,
745
- onCloseAutoFocus: chunkCJVJNMOB_cjs.returnFocusToText(controller),
746
- ...chunkCJVJNMOB_cjs.bubblePart(controller),
745
+ onCloseAutoFocus: chunkDZ5XR4O6_cjs.returnFocusToText(controller),
746
+ ...chunkDZ5XR4O6_cjs.bubblePart(controller),
747
747
  children: [
748
748
  items.filter((entry) => !entry.destructive).map(item2),
749
749
  children,
750
750
  items.filter((entry) => entry.destructive).map((entry) => /* @__PURE__ */ jsxRuntime.jsxs(react.Fragment, { children: [
751
- /* @__PURE__ */ jsxRuntime.jsx(chunkCJVJNMOB_cjs.DropdownMenuSeparator, {}),
751
+ /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.DropdownMenuSeparator, {}),
752
752
  item2(entry)
753
753
  ] }, entry.id))
754
754
  ]
@@ -762,31 +762,35 @@ var item = (id, label, icon, command, done, options = {}) => ({ id, label, icon,
762
762
  function rowMenuItems(labels, blockId, row, { rows }) {
763
763
  const { rowInserted, rowMoved, rowDeleted } = labels;
764
764
  return [
765
- item("above", labels.insertRowAbove, chunkCJVJNMOB_cjs.ArrowUpToLine, addRow(blockId, row), rowInserted),
766
- item("below", labels.insertRowBelow, chunkCJVJNMOB_cjs.ArrowDownToLine, addRow(blockId, row + 1), rowInserted),
767
- item("up", labels.moveRowUp, chunkCJVJNMOB_cjs.ArrowUp, moveRow(blockId, row, row - 1), rowMoved, { disabled: row === 0 }),
768
- item("down", labels.moveRowDown, chunkCJVJNMOB_cjs.ArrowDown, moveRow(blockId, row, row + 1), rowMoved, { disabled: row === rows - 1 }),
769
- item("delete", labels.deleteRow, chunkCJVJNMOB_cjs.Trash, removeRow(blockId, row), rowDeleted, { disabled: rows === 1, destructive: true })
765
+ item("above", labels.insertRowAbove, chunkDZ5XR4O6_cjs.ArrowUpToLine, addRow(blockId, row), rowInserted),
766
+ item("below", labels.insertRowBelow, chunkDZ5XR4O6_cjs.ArrowDownToLine, addRow(blockId, row + 1), rowInserted),
767
+ item("up", labels.moveRowUp, chunkDZ5XR4O6_cjs.ArrowUp, moveRow(blockId, row, row - 1), rowMoved, { disabled: row === 0 }),
768
+ item("down", labels.moveRowDown, chunkDZ5XR4O6_cjs.ArrowDown, moveRow(blockId, row, row + 1), rowMoved, { disabled: row === rows - 1 }),
769
+ item("delete", labels.deleteRow, chunkDZ5XR4O6_cjs.Trash, removeRow(blockId, row), rowDeleted, { disabled: rows === 1, destructive: true })
770
770
  ];
771
771
  }
772
- function columnMenuItems(labels, blockId, col, { cols }) {
772
+ function columnMenuItems(labels, blockId, col, { cols }, direction = "ltr") {
773
773
  const { columnInserted, columnMoved, columnDeleted } = labels;
774
+ const onTheRight = direction === "rtl" ? col - 1 : col + 1;
775
+ const onTheLeft = direction === "rtl" ? col + 1 : col - 1;
776
+ const first = col === 0;
774
777
  const last = col === cols - 1;
778
+ const [leftEdge, rightEdge] = direction === "rtl" ? [last, first] : [first, last];
775
779
  return [
776
- item("left", labels.insertColumnLeft, chunkCJVJNMOB_cjs.ArrowLeftToLine, addColumn(blockId, col), columnInserted),
777
- item("right", labels.insertColumnRight, chunkCJVJNMOB_cjs.ArrowRightToLine, addColumn(blockId, col + 1), columnInserted),
778
- item("move-left", labels.moveColumnLeft, chunkCJVJNMOB_cjs.ArrowLeft, moveColumn(blockId, col, col - 1), columnMoved, { disabled: col === 0 }),
779
- item("move-right", labels.moveColumnRight, chunkCJVJNMOB_cjs.ArrowRight, moveColumn(blockId, col, col + 1), columnMoved, { disabled: last }),
780
- item("delete", labels.deleteColumn, chunkCJVJNMOB_cjs.Trash, removeColumn(blockId, col), columnDeleted, {
780
+ item("left", labels.insertColumnLeft, chunkDZ5XR4O6_cjs.ArrowLeftToLine, addColumn(blockId, direction === "rtl" ? col + 1 : col), columnInserted),
781
+ item("right", labels.insertColumnRight, chunkDZ5XR4O6_cjs.ArrowRightToLine, addColumn(blockId, direction === "rtl" ? col : col + 1), columnInserted),
782
+ item("move-left", labels.moveColumnLeft, chunkDZ5XR4O6_cjs.ArrowLeft, moveColumn(blockId, col, onTheLeft), columnMoved, { disabled: leftEdge }),
783
+ item("move-right", labels.moveColumnRight, chunkDZ5XR4O6_cjs.ArrowRight, moveColumn(blockId, col, onTheRight), columnMoved, { disabled: rightEdge }),
784
+ item("delete", labels.deleteColumn, chunkDZ5XR4O6_cjs.Trash, removeColumn(blockId, col), columnDeleted, {
781
785
  disabled: cols === 1,
782
786
  destructive: true
783
787
  })
784
788
  ];
785
789
  }
786
790
  var alignItems = (labels) => [
787
- { value: "left", label: labels.alignLeft, icon: chunkCJVJNMOB_cjs.AlignLeft, done: labels.alignedLeft },
788
- { value: "center", label: labels.alignCenter, icon: chunkCJVJNMOB_cjs.AlignCenter, done: labels.alignedCenter },
789
- { value: "right", label: labels.alignRight, icon: chunkCJVJNMOB_cjs.AlignRight, done: labels.alignedRight }
791
+ { value: "left", label: labels.alignLeft, icon: chunkDZ5XR4O6_cjs.AlignLeft, done: labels.alignedLeft },
792
+ { value: "center", label: labels.alignCenter, icon: chunkDZ5XR4O6_cjs.AlignCenter, done: labels.alignedCenter },
793
+ { value: "right", label: labels.alignRight, icon: chunkDZ5XR4O6_cjs.AlignRight, done: labels.alignedRight }
790
794
  ];
791
795
  var BESIDE = 4;
792
796
  var end = (span) => span.start + span.size;
@@ -798,6 +802,7 @@ var middle = (span) => span.start + span.size / 2;
798
802
  var isTab = (event) => event.key === "Tab" && !event.altKey && !event.ctrlKey && !event.metaKey;
799
803
  function TableHandles(props) {
800
804
  const { controller, labels, block, target, geometry, menu, onMenu, onHold, focusRequested, onFocused } = props;
805
+ const direction = controller.root === null ? "ltr" : chunkMGN332NY_cjs.inlineDirection(controller.root);
801
806
  const rowHandle = react.useRef(null);
802
807
  const columnHandle = react.useRef(null);
803
808
  const resizer = react.useRef(null);
@@ -809,7 +814,7 @@ function TableHandles(props) {
809
814
  const { rowEdge, colEdge } = target;
810
815
  const rowInsertAt = edgeOf(geometry.rows, rowEdge);
811
816
  const columnInsertAt = edgeOf(geometry.cols, colEdge);
812
- chunkZ6LAARPB_cjs.useIsomorphicLayoutEffect(() => {
817
+ chunkMGN332NY_cjs.useIsomorphicLayoutEffect(() => {
813
818
  if (!focusRequested) return;
814
819
  (columnHandle.current ?? rowHandle.current)?.focus();
815
820
  onFocused();
@@ -820,7 +825,7 @@ function TableHandles(props) {
820
825
  const onKeyDown = (event) => {
821
826
  const handles = [rowHandle.current, columnHandle.current].filter((handle) => handle !== null);
822
827
  const index = handles.indexOf(event.target);
823
- if (index === -1 || chunkZ6LAARPB_cjs.isComposingKey(controller, event.nativeEvent)) return;
828
+ if (index === -1 || chunkMGN332NY_cjs.isComposingKey(controller, event.nativeEvent)) return;
824
829
  if (event.key === "ArrowLeft" || event.key === "ArrowRight") handles[(index + 1) % handles.length].focus();
825
830
  else if (isTab(event) && !event.shiftKey && resizer.current !== null) resizer.current.focus();
826
831
  else if (isTab(event) || event.key === "Escape") controller.focus();
@@ -858,7 +863,7 @@ function TableHandles(props) {
858
863
  onOpenChange: opener("row"),
859
864
  buttonRef: rowHandle,
860
865
  children: row === 0 && /* @__PURE__ */ jsxRuntime.jsx(
861
- chunkCJVJNMOB_cjs.DropdownMenuCheckboxItem,
866
+ chunkDZ5XR4O6_cjs.DropdownMenuCheckboxItem,
862
867
  {
863
868
  checked: block.attrs.header !== false,
864
869
  onCheckedChange: (on) => run(toggleHeaderRow(block.id), on ? labels.headerRowOn : labels.headerRowOff),
@@ -874,19 +879,19 @@ function TableHandles(props) {
874
879
  axis: "column",
875
880
  label: labels.columnOptions(col + 1),
876
881
  style: place(middle(geometry.cols[col]), geometry.top),
877
- items: columnMenuItems(labels, block.id, col, shape),
882
+ items: columnMenuItems(labels, block.id, col, shape, direction),
878
883
  open: menu === "column",
879
884
  onOpenChange: opener("column"),
880
885
  buttonRef: columnHandle,
881
886
  children: [
882
- /* @__PURE__ */ jsxRuntime.jsx(chunkCJVJNMOB_cjs.DropdownMenuSeparator, {}),
883
- /* @__PURE__ */ jsxRuntime.jsx(chunkCJVJNMOB_cjs.DropdownMenuRadioGroup, { value: align ?? "", children: alignItems(labels).map(({ value, label, icon, done }) => /* @__PURE__ */ jsxRuntime.jsxs(
884
- chunkCJVJNMOB_cjs.DropdownMenuRadioItem,
887
+ /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.DropdownMenuSeparator, {}),
888
+ /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.DropdownMenuRadioGroup, { value: align ?? "", children: alignItems(labels).map(({ value, label, icon, done }) => /* @__PURE__ */ jsxRuntime.jsxs(
889
+ chunkDZ5XR4O6_cjs.DropdownMenuRadioItem,
885
890
  {
886
891
  value,
887
892
  onSelect: () => align === value ? run(setColumnAlign(block.id, col, null), labels.alignmentCleared) : run(setColumnAlign(block.id, col, value), done),
888
893
  children: [
889
- /* @__PURE__ */ jsxRuntime.jsx(chunkCJVJNMOB_cjs.MenuIcon, { icon }),
894
+ /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.MenuIcon, { icon }),
890
895
  label
891
896
  ]
892
897
  },
@@ -905,10 +910,10 @@ function TableHandles(props) {
905
910
  "data-axis": "row",
906
911
  className: "quoin-table-insert",
907
912
  style: place(geometry.left - BESIDE, rowInsertAt),
908
- onPointerDown: chunkCJVJNMOB_cjs.keepFocus,
909
- onMouseDown: chunkCJVJNMOB_cjs.keepFocus,
913
+ onPointerDown: chunkDZ5XR4O6_cjs.keepFocus,
914
+ onMouseDown: chunkDZ5XR4O6_cjs.keepFocus,
910
915
  onClick: () => run(addRow(block.id, rowEdge), labels.rowInserted),
911
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkCJVJNMOB_cjs.Plus, { "aria-hidden": "true" })
916
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.Plus, { "aria-hidden": "true" })
912
917
  }
913
918
  ),
914
919
  colEdge !== null && columnInsertAt !== null && /* @__PURE__ */ jsxRuntime.jsx(
@@ -920,10 +925,10 @@ function TableHandles(props) {
920
925
  "data-axis": "column",
921
926
  className: "quoin-table-insert",
922
927
  style: place(columnInsertAt, geometry.top),
923
- onPointerDown: chunkCJVJNMOB_cjs.keepFocus,
924
- onMouseDown: chunkCJVJNMOB_cjs.keepFocus,
928
+ onPointerDown: chunkDZ5XR4O6_cjs.keepFocus,
929
+ onMouseDown: chunkDZ5XR4O6_cjs.keepFocus,
925
930
  onClick: () => run(addColumn(block.id, colEdge), labels.columnInserted),
926
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkCJVJNMOB_cjs.Plus, { "aria-hidden": "true" })
931
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.Plus, { "aria-hidden": "true" })
927
932
  }
928
933
  )
929
934
  ] });
@@ -964,7 +969,7 @@ function edgeNear(spans, at, reach) {
964
969
  // src/extensions/table/use-table-geometry.ts
965
970
  function useTableGeometry(controller, blockId, slot) {
966
971
  const [geometry, setGeometry] = react.useState(null);
967
- chunkZ6LAARPB_cjs.useIsomorphicLayoutEffect(() => {
972
+ chunkMGN332NY_cjs.useIsomorphicLayoutEffect(() => {
968
973
  const table = controller.blockElement(blockId)?.querySelector("table");
969
974
  const view = slot.ownerDocument.defaultView;
970
975
  if (!table || !view) return;
@@ -998,7 +1003,7 @@ function useCutCells(controller) {
998
1003
  const onCut = (event) => {
999
1004
  if (controller.readOnly || cellSelection(controller.editor.state) === null) return;
1000
1005
  event.stopPropagation();
1001
- chunkZ6LAARPB_cjs.handleCopy(controller, event, false);
1006
+ chunkMGN332NY_cjs.handleCopy(controller, event, false);
1002
1007
  controller.run(deleteCellContents);
1003
1008
  };
1004
1009
  root.addEventListener("cut", onCut, true);
@@ -1042,9 +1047,9 @@ function focusOf(root) {
1042
1047
  function useTableTarget(controller, held) {
1043
1048
  const [hovered, setHovered] = react.useState(null);
1044
1049
  const [focus, setFocus] = react.useState("none");
1045
- const caret = chunkZ6LAARPB_cjs.useEditorState(controller, caretTarget, sameTarget);
1050
+ const caret = chunkMGN332NY_cjs.useEditorState(controller, caretTarget, sameTarget);
1046
1051
  const hoveredBlock = hovered?.target.block ?? null;
1047
- const shape = chunkZ6LAARPB_cjs.useEditorState(
1052
+ const shape = chunkMGN332NY_cjs.useEditorState(
1048
1053
  controller,
1049
1054
  react.useCallback((state) => hoveredBlock === null ? null : shapeOf(state, hoveredBlock), [hoveredBlock])
1050
1055
  );
@@ -1085,14 +1090,14 @@ function useTableTarget(controller, held) {
1085
1090
  var isFocusKey = (event) => event.key === "F10" && event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey;
1086
1091
  var takesFocusKey = (state) => chunkFK7EBZPX_cjs.isCollapsed(state.selection) || cellSelection(state) !== null;
1087
1092
  function TableControls({ controller, labels }) {
1088
- const readOnly = chunkZ6LAARPB_cjs.useReadOnly(controller);
1093
+ const readOnly = chunkMGN332NY_cjs.useReadOnly(controller);
1089
1094
  const [held, setHeld] = react.useState(null);
1090
1095
  const [focusFor, setFocusFor] = react.useState(null);
1091
1096
  const [slot, setSlot] = react.useState(null);
1092
1097
  const target = useTableTarget(controller, held?.target ?? null);
1093
1098
  useCutCells(controller);
1094
1099
  const blockId = target?.block ?? null;
1095
- const block = chunkZ6LAARPB_cjs.useEditorState(
1100
+ const block = chunkMGN332NY_cjs.useEditorState(
1096
1101
  controller,
1097
1102
  react.useCallback((state) => blockId === null ? null : tableBlock(state.doc, blockId), [blockId])
1098
1103
  );
@@ -1109,13 +1114,13 @@ function TableControls({ controller, labels }) {
1109
1114
  const intercept = (event) => {
1110
1115
  const { state } = controller.editor;
1111
1116
  const caret = caretTarget(state);
1112
- if (!isFocusKey(event) || chunkZ6LAARPB_cjs.isComposingKey(controller, event) || caret === null || !takesFocusKey(state)) return false;
1117
+ if (!isFocusKey(event) || chunkMGN332NY_cjs.isComposingKey(controller, event) || caret === null || !takesFocusKey(state)) return false;
1113
1118
  event.preventDefault();
1114
1119
  setHeld({ target: caret, menu: null });
1115
1120
  setFocusFor(caret.block);
1116
1121
  return true;
1117
1122
  };
1118
- return chunkCJVJNMOB_cjs.interceptKeys(controller, intercept);
1123
+ return chunkDZ5XR4O6_cjs.interceptKeys(controller, intercept);
1119
1124
  }, [controller, readOnly]);
1120
1125
  const onMenu = react.useCallback(
1121
1126
  (menu) => setHeld(menu === null || target === null || block === null ? null : { target, menu, opened: block }),
@@ -1126,7 +1131,7 @@ function TableControls({ controller, labels }) {
1126
1131
  setFocusFor(null);
1127
1132
  setHeld((current) => current?.menu === null ? null : current);
1128
1133
  }, []);
1129
- chunkZ6LAARPB_cjs.useIsomorphicLayoutEffect(() => {
1134
+ chunkMGN332NY_cjs.useIsomorphicLayoutEffect(() => {
1130
1135
  const drawn = block === null || readOnly ? null : controlsSlot(controller, block.id);
1131
1136
  setSlot((current) => current === drawn ? current : drawn);
1132
1137
  });
@@ -1204,7 +1209,7 @@ var tableSlashItem = (labels) => ({
1204
1209
  title: labels.table,
1205
1210
  description: labels.tableDescription,
1206
1211
  group: "advanced",
1207
- icon: chunkCJVJNMOB_cjs.Table,
1212
+ icon: chunkDZ5XR4O6_cjs.Table,
1208
1213
  keywords: ["grid", "rows", "columns", "spreadsheet", "|"],
1209
1214
  command: () => insertTable(NEW_TABLE.rows, NEW_TABLE.cols)
1210
1215
  });