@notectl/core 1.7.0 → 1.7.1

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 (195) hide show
  1. package/README.md +2 -2
  2. package/dist/chunks/{AttrRegistry-I-VdmRnN.mjs → AttrRegistry-Ci0qAvtS.mjs} +2 -2
  3. package/dist/chunks/{AttrRegistry-I-VdmRnN.mjs.map → AttrRegistry-Ci0qAvtS.mjs.map} +1 -1
  4. package/dist/chunks/AttributedMarkCommands-BETuHXj8.mjs +58 -0
  5. package/dist/chunks/AttributedMarkCommands-BETuHXj8.mjs.map +1 -0
  6. package/dist/chunks/{CaretNavigation-CAJXoaae.mjs → CaretNavigation-qLfeL0So.mjs} +56 -56
  7. package/dist/chunks/{CaretNavigation-CAJXoaae.mjs.map → CaretNavigation-qLfeL0So.mjs.map} +1 -1
  8. package/dist/chunks/ColorGrid-BBkN0AOb.mjs +80 -0
  9. package/dist/chunks/ColorGrid-BBkN0AOb.mjs.map +1 -0
  10. package/dist/chunks/ColorPickerPopup-D3ysvOH-.mjs +37 -0
  11. package/dist/chunks/ColorPickerPopup-D3ysvOH-.mjs.map +1 -0
  12. package/dist/chunks/ColorValidation-CV4f1wu6.mjs +39 -0
  13. package/dist/chunks/ColorValidation-CV4f1wu6.mjs.map +1 -0
  14. package/dist/chunks/{Document-CuwE73FF.mjs → Document-DfZ1NOjs.mjs} +15 -15
  15. package/dist/chunks/{Document-CuwE73FF.mjs.map → Document-DfZ1NOjs.mjs.map} +1 -1
  16. package/dist/chunks/MarkCommands-uybmkw9l.mjs +94 -0
  17. package/dist/chunks/MarkCommands-uybmkw9l.mjs.map +1 -0
  18. package/dist/chunks/{NavigationUtils-CyW0Vo8A.mjs → NavigationUtils-Cspt2ZrK.mjs} +3 -3
  19. package/dist/chunks/{NavigationUtils-CyW0Vo8A.mjs.map → NavigationUtils-Cspt2ZrK.mjs.map} +1 -1
  20. package/dist/chunks/{NodeResolver-B-wzthAQ.mjs → NodeResolver-CzLmmrph.mjs} +2 -2
  21. package/dist/chunks/{NodeResolver-B-wzthAQ.mjs.map → NodeResolver-CzLmmrph.mjs.map} +1 -1
  22. package/dist/chunks/PopupPositioning-Cn6L_mO2.mjs +30 -0
  23. package/dist/chunks/PopupPositioning-Cn6L_mO2.mjs.map +1 -0
  24. package/dist/chunks/RangeIterator-Bye0UtbY.mjs +16 -0
  25. package/dist/chunks/RangeIterator-Bye0UtbY.mjs.map +1 -0
  26. package/dist/chunks/{Selection-DmFDwiPJ.mjs → Selection-BRTab5hO.mjs} +7 -7
  27. package/dist/chunks/{Selection-DmFDwiPJ.mjs.map → Selection-BRTab5hO.mjs.map} +1 -1
  28. package/dist/chunks/ToolbarItem-BpZggUGo.mjs.map +1 -1
  29. package/dist/chunks/{ToolbarKeyboardNav-B32OMv8r.mjs → ToolbarKeyboardNav-DhpL8zNV.mjs} +3 -3
  30. package/dist/chunks/{ToolbarKeyboardNav-B32OMv8r.mjs.map → ToolbarKeyboardNav-DhpL8zNV.mjs.map} +1 -1
  31. package/dist/chunks/{ToolbarPlugin-B6JETWaw.mjs → ToolbarPlugin-B7oJRzpl.mjs} +339 -127
  32. package/dist/chunks/ToolbarPlugin-B7oJRzpl.mjs.map +1 -0
  33. package/dist/chunks/{index-CAV2N-fF.mjs → index-Bt_d4IqB.mjs} +8 -8
  34. package/dist/chunks/{index-CAV2N-fF.mjs.map → index-Bt_d4IqB.mjs.map} +1 -1
  35. package/dist/chunks/{index-pxbbDHVH.mjs → index-CFJFD4lF.mjs} +3 -3
  36. package/dist/chunks/{index-pxbbDHVH.mjs.map → index-CFJFD4lF.mjs.map} +1 -1
  37. package/dist/chunks/{index-C0cEs7Jc.mjs → index-CFPP456m.mjs} +10 -10
  38. package/dist/chunks/{index-C0cEs7Jc.mjs.map → index-CFPP456m.mjs.map} +1 -1
  39. package/dist/chunks/{index-FlTg80Pk.mjs → index-CH1r7DL-.mjs} +257 -298
  40. package/dist/chunks/index-CH1r7DL-.mjs.map +1 -0
  41. package/dist/chunks/{index-D0s0Q8Wc.mjs → index-CfyS_pgH.mjs} +25 -18
  42. package/dist/chunks/index-CfyS_pgH.mjs.map +1 -0
  43. package/dist/chunks/{index-CflvcXSd.mjs → index-Ckzqtn5D.mjs} +17 -14
  44. package/dist/chunks/{index-CflvcXSd.mjs.map → index-Ckzqtn5D.mjs.map} +1 -1
  45. package/dist/chunks/{index-C9gc3Bws.mjs → index-CrKz_IEn.mjs} +32 -32
  46. package/dist/chunks/{index-C9gc3Bws.mjs.map → index-CrKz_IEn.mjs.map} +1 -1
  47. package/dist/chunks/{index-DMt3ojrY.mjs → index-DGKQhSAl.mjs} +2 -2
  48. package/dist/chunks/{index-DMt3ojrY.mjs.map → index-DGKQhSAl.mjs.map} +1 -1
  49. package/dist/chunks/{index-CoeD4T9-.mjs → index-DIvHQtE2.mjs} +10 -7
  50. package/dist/chunks/{index-CoeD4T9-.mjs.map → index-DIvHQtE2.mjs.map} +1 -1
  51. package/dist/chunks/index-DayTn6Re.mjs +166 -0
  52. package/dist/chunks/index-DayTn6Re.mjs.map +1 -0
  53. package/dist/chunks/index-Deag_lVi.mjs +121 -0
  54. package/dist/chunks/index-Deag_lVi.mjs.map +1 -0
  55. package/dist/chunks/{index--z_Txzej.mjs → index-DmuuFS5D.mjs} +6 -6
  56. package/dist/chunks/{index--z_Txzej.mjs.map → index-DmuuFS5D.mjs.map} +1 -1
  57. package/dist/chunks/{index-B9GkDVsx.mjs → index-DoCvDkfj.mjs} +77 -94
  58. package/dist/chunks/index-DoCvDkfj.mjs.map +1 -0
  59. package/dist/chunks/index-DuRNETFv.mjs +296 -0
  60. package/dist/chunks/index-DuRNETFv.mjs.map +1 -0
  61. package/dist/chunks/{index-B-NSeaM4.mjs → index-Dum8yE_t.mjs} +12 -12
  62. package/dist/chunks/{index-B-NSeaM4.mjs.map → index-Dum8yE_t.mjs.map} +1 -1
  63. package/dist/chunks/{index-CNs4QQ8l.mjs → index-Dy6SllXW.mjs} +52 -64
  64. package/dist/chunks/index-Dy6SllXW.mjs.map +1 -0
  65. package/dist/chunks/{index-D8tbbW97.mjs → index-E7OgN7hM.mjs} +2 -2
  66. package/dist/chunks/{index-D8tbbW97.mjs.map → index-E7OgN7hM.mjs.map} +1 -1
  67. package/dist/chunks/{index-DyIwN_67.mjs → index-yhz2qeeh.mjs} +220 -218
  68. package/dist/chunks/index-yhz2qeeh.mjs.map +1 -0
  69. package/dist/commands/AttributedMarkCommands.d.ts +46 -0
  70. package/dist/commands/AttributedMarkCommands.d.ts.map +1 -0
  71. package/dist/commands/CommandHelpers.d.ts +21 -0
  72. package/dist/commands/CommandHelpers.d.ts.map +1 -0
  73. package/dist/commands/Commands.d.ts +2 -8
  74. package/dist/commands/Commands.d.ts.map +1 -1
  75. package/dist/commands/DeleteCommands.d.ts.map +1 -1
  76. package/dist/commands/GapCursorCommands.d.ts.map +1 -1
  77. package/dist/commands/NodeSelectionCommands.d.ts.map +1 -1
  78. package/dist/commands/PasteCommand.d.ts.map +1 -1
  79. package/dist/commands/RangeIterator.d.ts +10 -0
  80. package/dist/commands/RangeIterator.d.ts.map +1 -0
  81. package/dist/editor/DocumentParser.d.ts.map +1 -1
  82. package/dist/editor/DocumentSerializer.d.ts +2 -0
  83. package/dist/editor/DocumentSerializer.d.ts.map +1 -1
  84. package/dist/editor/MarkSerializer.d.ts +11 -0
  85. package/dist/editor/MarkSerializer.d.ts.map +1 -0
  86. package/dist/editor/NotectlEditor.d.ts +6 -3
  87. package/dist/editor/NotectlEditor.d.ts.map +1 -1
  88. package/dist/editor/PaperLayoutController.d.ts +2 -0
  89. package/dist/editor/PaperLayoutController.d.ts.map +1 -1
  90. package/dist/editor/styles/font-select.d.ts +1 -1
  91. package/dist/editor/styles/font-select.d.ts.map +1 -1
  92. package/dist/editor/styles/font-size-select.d.ts +1 -1
  93. package/dist/editor/styles/font-size-select.d.ts.map +1 -1
  94. package/dist/editor/styles/heading-select.d.ts +1 -1
  95. package/dist/editor/styles/heading-select.d.ts.map +1 -1
  96. package/dist/editor/styles/toolbar.d.ts +1 -1
  97. package/dist/editor/styles/toolbar.d.ts.map +1 -1
  98. package/dist/index.d.ts +8 -2
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/input/ClipboardHandler.d.ts +0 -2
  101. package/dist/input/ClipboardHandler.d.ts.map +1 -1
  102. package/dist/model/MarkSpec.d.ts +6 -0
  103. package/dist/model/MarkSpec.d.ts.map +1 -1
  104. package/dist/notectl-core.mjs +2227 -2090
  105. package/dist/notectl-core.mjs.map +1 -1
  106. package/dist/notectl-core.umd.js +2527 -2337
  107. package/dist/notectl-core.umd.js.map +1 -1
  108. package/dist/plugins/PluginManager.d.ts +2 -0
  109. package/dist/plugins/PluginManager.d.ts.map +1 -1
  110. package/dist/plugins/alignment.mjs +1 -1
  111. package/dist/plugins/blockquote.mjs +1 -1
  112. package/dist/plugins/caret-navigation.mjs +1 -1
  113. package/dist/plugins/code-block.mjs +1 -1
  114. package/dist/plugins/font/FontPlugin.d.ts +0 -6
  115. package/dist/plugins/font/FontPlugin.d.ts.map +1 -1
  116. package/dist/plugins/font-size/FontSizeOperations.d.ts.map +1 -1
  117. package/dist/plugins/font-size/FontSizePlugin.d.ts +0 -5
  118. package/dist/plugins/font-size/FontSizePlugin.d.ts.map +1 -1
  119. package/dist/plugins/font-size.mjs +1 -1
  120. package/dist/plugins/font.mjs +1 -1
  121. package/dist/plugins/gap-cursor.mjs +7 -7
  122. package/dist/plugins/hard-break.mjs +2 -25
  123. package/dist/plugins/hard-break.mjs.map +1 -1
  124. package/dist/plugins/heading/HeadingBlockTypePicker.d.ts +1 -7
  125. package/dist/plugins/heading/HeadingBlockTypePicker.d.ts.map +1 -1
  126. package/dist/plugins/heading/HeadingPlugin.d.ts +0 -6
  127. package/dist/plugins/heading/HeadingPlugin.d.ts.map +1 -1
  128. package/dist/plugins/heading.mjs +1 -1
  129. package/dist/plugins/highlight/HighlightPlugin.d.ts.map +1 -1
  130. package/dist/plugins/highlight.mjs +1 -1
  131. package/dist/plugins/horizontal-rule.mjs +1 -1
  132. package/dist/plugins/image/ImagePlugin.d.ts.map +1 -1
  133. package/dist/plugins/image.mjs +1 -1
  134. package/dist/plugins/link/LinkPlugin.d.ts.map +1 -1
  135. package/dist/plugins/link.mjs +1 -1
  136. package/dist/plugins/list/ListPlugin.d.ts.map +1 -1
  137. package/dist/plugins/list.mjs +1 -1
  138. package/dist/plugins/shared/ColorGrid.d.ts +25 -0
  139. package/dist/plugins/shared/ColorGrid.d.ts.map +1 -0
  140. package/dist/plugins/shared/ColorMarkOperations.d.ts.map +1 -1
  141. package/dist/plugins/shared/ColorPickerPopup.d.ts.map +1 -1
  142. package/dist/plugins/shared/ColorValidation.d.ts +13 -2
  143. package/dist/plugins/shared/ColorValidation.d.ts.map +1 -1
  144. package/dist/plugins/shared/PopupKeyboardPatterns.d.ts +43 -0
  145. package/dist/plugins/shared/PopupKeyboardPatterns.d.ts.map +1 -0
  146. package/dist/plugins/shared/PopupManager.d.ts +45 -0
  147. package/dist/plugins/shared/PopupManager.d.ts.map +1 -0
  148. package/dist/plugins/shared/PopupPositioning.d.ts +21 -0
  149. package/dist/plugins/shared/PopupPositioning.d.ts.map +1 -0
  150. package/dist/plugins/strikethrough.mjs +1 -1
  151. package/dist/plugins/super-sub.mjs +1 -1
  152. package/dist/plugins/table/TableBorderColor.d.ts.map +1 -1
  153. package/dist/plugins/table/TableContextMenu.d.ts +2 -1
  154. package/dist/plugins/table/TableContextMenu.d.ts.map +1 -1
  155. package/dist/plugins/table.mjs +1 -1
  156. package/dist/plugins/text-color/TextColorPlugin.d.ts.map +1 -1
  157. package/dist/plugins/text-color.mjs +1 -1
  158. package/dist/plugins/text-formatting.mjs +1 -1
  159. package/dist/plugins/toolbar/ToolbarItem.d.ts +11 -2
  160. package/dist/plugins/toolbar/ToolbarItem.d.ts.map +1 -1
  161. package/dist/plugins/toolbar/ToolbarOverflowController.d.ts +5 -1
  162. package/dist/plugins/toolbar/ToolbarOverflowController.d.ts.map +1 -1
  163. package/dist/plugins/toolbar/ToolbarPlugin.d.ts +1 -0
  164. package/dist/plugins/toolbar/ToolbarPlugin.d.ts.map +1 -1
  165. package/dist/plugins/toolbar/ToolbarPopupController.d.ts +9 -1
  166. package/dist/plugins/toolbar/ToolbarPopupController.d.ts.map +1 -1
  167. package/dist/plugins/toolbar/index.d.ts +1 -1
  168. package/dist/plugins/toolbar/index.d.ts.map +1 -1
  169. package/dist/plugins/toolbar.mjs +1 -1
  170. package/dist/state/BlockTreeOps.d.ts +21 -0
  171. package/dist/state/BlockTreeOps.d.ts.map +1 -0
  172. package/dist/state/InlineContentOps.d.ts +37 -0
  173. package/dist/state/InlineContentOps.d.ts.map +1 -0
  174. package/dist/state/StepApplication.d.ts.map +1 -1
  175. package/dist/test/PluginTestUtils.d.ts +4 -0
  176. package/dist/test/PluginTestUtils.d.ts.map +1 -1
  177. package/package.json +2 -2
  178. package/dist/chunks/ColorNames-BdsHwA2f.mjs +0 -59
  179. package/dist/chunks/ColorNames-BdsHwA2f.mjs.map +0 -1
  180. package/dist/chunks/ColorPickerPopup-xL8ZUfpB.mjs +0 -125
  181. package/dist/chunks/ColorPickerPopup-xL8ZUfpB.mjs.map +0 -1
  182. package/dist/chunks/Commands-CicwYoTQ.mjs +0 -286
  183. package/dist/chunks/Commands-CicwYoTQ.mjs.map +0 -1
  184. package/dist/chunks/MarkCommands-CC37WA7Z.mjs +0 -94
  185. package/dist/chunks/MarkCommands-CC37WA7Z.mjs.map +0 -1
  186. package/dist/chunks/ToolbarPlugin-B6JETWaw.mjs.map +0 -1
  187. package/dist/chunks/index-B9GkDVsx.mjs.map +0 -1
  188. package/dist/chunks/index-CKPrAOr6.mjs +0 -209
  189. package/dist/chunks/index-CKPrAOr6.mjs.map +0 -1
  190. package/dist/chunks/index-CNs4QQ8l.mjs.map +0 -1
  191. package/dist/chunks/index-D0s0Q8Wc.mjs.map +0 -1
  192. package/dist/chunks/index-DfzCof6H.mjs +0 -191
  193. package/dist/chunks/index-DfzCof6H.mjs.map +0 -1
  194. package/dist/chunks/index-DyIwN_67.mjs.map +0 -1
  195. package/dist/chunks/index-FlTg80Pk.mjs.map +0 -1
@@ -1,15 +1,17 @@
1
1
  import { S as t, r as e } from "./resolvePluginLocale-B4w1OkPy.mjs";
2
2
  import { e as n } from "./HTMLUtils-DTqQzcKR.mjs";
3
- import { i as o, a as r, c as l, e as i, b as a } from "./Selection-DmFDwiPJ.mjs";
4
- import { g as s, a as c, b as d } from "./ColorNames-BdsHwA2f.mjs";
5
- import { n as u } from "./ToolbarKeyboardNav-B32OMv8r.mjs";
6
- import { u as b, e as h, f as p, j as f, b as m } from "./Document-CuwE73FF.mjs";
7
- import { n as g } from "./TypeBrands-C09nE2qO.mjs";
8
- function w() {
9
- const t2 = p(g("paragraph"), [f("")], h());
10
- return p(g("table_cell"), [t2], h());
11
- }
12
- function v(t2, e2) {
3
+ import { i as o, a as r, d as l, e as i, b as a } from "./Selection-BRTab5hO.mjs";
4
+ import { a as s } from "./ColorValidation-CV4f1wu6.mjs";
5
+ import { g as c, r as d } from "./ColorGrid-BBkN0AOb.mjs";
6
+ import { q as u, u as b, k as h, f as p, a as f } from "./Document-DfZ1NOjs.mjs";
7
+ import { n as m } from "./TypeBrands-C09nE2qO.mjs";
8
+ import { p as g } from "./PopupPositioning-Cn6L_mO2.mjs";
9
+ import { a as w } from "./ToolbarKeyboardNav-DhpL8zNV.mjs";
10
+ function v() {
11
+ const t2 = h(m("paragraph"), [p("")], b());
12
+ return h(m("table_cell"), [t2], b());
13
+ }
14
+ function x(t2, e2) {
13
15
  const n2 = t2.getNodePath(e2);
14
16
  if (!n2) return null;
15
17
  let o2 = null, r2 = null, l2 = null, i2 = null;
@@ -19,31 +21,31 @@ function v(t2, e2) {
19
21
  }
20
22
  const a2 = t2.getBlock(e2);
21
23
  if ("table_cell" === a2?.type && (i2 = e2), !(o2 && r2 && i2 && l2)) return null;
22
- const s2 = t2.doc.children.findIndex((t3) => t3.id === o2), c2 = b(r2), d2 = c2.findIndex((t3) => t3.id === l2);
24
+ const s2 = t2.doc.children.findIndex((t3) => t3.id === o2), c2 = u(r2), d2 = c2.findIndex((t3) => t3.id === l2);
23
25
  if (-1 === d2) return null;
24
- const u2 = c2[d2];
25
- if (!u2) return null;
26
- const h2 = b(u2), p2 = h2.findIndex((t3) => t3.id === i2);
26
+ const b2 = c2[d2];
27
+ if (!b2) return null;
28
+ const h2 = u(b2), p2 = h2.findIndex((t3) => t3.id === i2);
27
29
  if (-1 === p2) return null;
28
30
  const f2 = h2.length, m2 = c2.length;
29
31
  return { tableId: o2, tableIndex: s2, rowId: l2, rowIndex: d2, cellId: i2, colIndex: p2, totalRows: m2, totalCols: f2 };
30
32
  }
31
- function x(t2, e2, n2, o2) {
33
+ function C(t2, e2, n2, o2) {
32
34
  const r2 = t2.getBlock(e2);
33
35
  if (!r2) return null;
34
- const l2 = b(r2)[n2];
36
+ const l2 = u(r2)[n2];
35
37
  if (!l2) return null;
36
- const i2 = b(l2)[o2];
38
+ const i2 = u(l2)[o2];
37
39
  return i2?.id ?? null;
38
40
  }
39
- function C(t2, e2) {
41
+ function I(t2, e2) {
40
42
  const n2 = t2.getBlock(e2);
41
43
  if (!n2) return e2;
42
- const o2 = b(n2)[0];
44
+ const o2 = u(n2)[0];
43
45
  if (!o2) return e2;
44
46
  let r2 = o2;
45
47
  for (; ; ) {
46
- const t3 = b(r2)[0];
48
+ const t3 = u(r2)[0];
47
49
  if (!t3) return r2.id;
48
50
  r2 = t3;
49
51
  }
@@ -51,16 +53,16 @@ function C(t2, e2) {
51
53
  function y(t2, e2) {
52
54
  const n2 = t2.getBlock(e2);
53
55
  if (!n2) return e2;
54
- const o2 = b(n2), r2 = o2[o2.length - 1];
56
+ const o2 = u(n2), r2 = o2[o2.length - 1];
55
57
  if (!r2) return e2;
56
58
  let l2 = r2;
57
59
  for (; ; ) {
58
- const t3 = b(l2), e3 = t3[t3.length - 1];
60
+ const t3 = u(l2), e3 = t3[t3.length - 1];
59
61
  if (!e3) return l2.id;
60
62
  l2 = e3;
61
63
  }
62
64
  }
63
- function I(t2, e2) {
65
+ function R(t2, e2) {
64
66
  const n2 = t2.getNodePath(e2);
65
67
  if (!n2) return false;
66
68
  for (const e3 of n2) {
@@ -69,7 +71,7 @@ function I(t2, e2) {
69
71
  }
70
72
  return false;
71
73
  }
72
- const R = { insertRowAbove: "Insert Row Above", insertRowBelow: "Insert Row Below", insertColumnLeft: "Insert Column Left", insertColumnRight: "Insert Column Right", deleteRow: "Delete Row", deleteColumn: "Delete Column", borderColorLabel: "Border Color...", deleteTable: "Delete Table", tableActions: "Table actions", menuKeyboardHint: "↑↓ Navigate · Enter Select · Esc Close", insertRow: "Insert row", insertColumn: "Insert column", addRow: "Add row", addColumn: "Add column", tableActionsHint: "Table actions (Right-click or Shift+F10)", contextMenuHint: "Right-click or Shift+F10 for table actions", borderColor: "Border color", defaultColor: "Default", noBorders: "No borders", borderColorPicker: "Border color picker", announceBorderColorSet: (t2) => `Table border color set to ${t2}`, announceBorderReset: "Table borders reset to default", borderSwatchLabel: (t2) => `Border ${t2}`, announceRowInsertedAbove: "Row inserted above", announceRowInsertedBelow: "Row inserted below", announceColumnInserted: (t2) => `Column inserted ${t2}`, announceRowDeleted: "Row deleted", announceColumnDeleted: "Column deleted", announceTableDeleted: "Table deleted", insertTable: "Insert Table", tableAriaLabel: (t2, e2) => `Table with ${t2} rows and ${e2} columns`, tableAriaDescription: "Right-click or press Shift+F10 for table actions" }, k = { insertRowAbove: "Zeile oberhalb einfügen", insertRowBelow: "Zeile unterhalb einfügen", insertColumnLeft: "Spalte links einfügen", insertColumnRight: "Spalte rechts einfügen", deleteRow: "Zeile löschen", deleteColumn: "Spalte löschen", borderColorLabel: "Rahmenfarbe…", deleteTable: "Tabelle löschen", tableActions: "Tabellenaktionen", menuKeyboardHint: "↑↓ Navigieren · Eingabe Auswählen · Esc Schließen", insertRow: "Zeile einfügen", insertColumn: "Spalte einfügen", addRow: "Zeile hinzufügen", addColumn: "Spalte hinzufügen", tableActionsHint: "Tabellenaktionen (Rechtsklick oder Umschalt+F10)", contextMenuHint: "Rechtsklick oder Umschalt+F10 für Tabellenaktionen", borderColor: "Rahmenfarbe", defaultColor: "Standard", noBorders: "Keine Rahmen", borderColorPicker: "Rahmenfarbe auswählen", announceBorderColorSet: (t2) => `Tabellenrahmenfarbe auf ${t2} gesetzt`, announceBorderReset: "Tabellenrahmen auf Standard zurückgesetzt", borderSwatchLabel: (t2) => `Rahmen ${t2}`, announceRowInsertedAbove: "Zeile oberhalb eingefügt", announceRowInsertedBelow: "Zeile unterhalb eingefügt", announceColumnInserted: (t2) => `Spalte ${t2} eingefügt`, announceRowDeleted: "Zeile gelöscht", announceColumnDeleted: "Spalte gelöscht", announceTableDeleted: "Tabelle gelöscht", insertTable: "Tabelle einfügen", tableAriaLabel: (t2, e2) => `Tabelle mit ${t2} Zeilen und ${e2} Spalten`, tableAriaDescription: "Rechtsklick oder Umschalt+F10 für Tabellenaktionen" }, A = { insertRowAbove: "Insertar fila arriba", insertRowBelow: "Insertar fila abajo", insertColumnLeft: "Insertar columna a la izquierda", insertColumnRight: "Insertar columna a la derecha", deleteRow: "Eliminar fila", deleteColumn: "Eliminar columna", borderColorLabel: "Color del borde…", deleteTable: "Eliminar tabla", tableActions: "Acciones de tabla", menuKeyboardHint: "↑↓ Navegar · Enter Seleccionar · Esc Cerrar", insertRow: "Insertar fila", insertColumn: "Insertar columna", addRow: "Añadir fila", addColumn: "Añadir columna", tableActionsHint: "Acciones de tabla (clic derecho o Mayús+F10)", contextMenuHint: "Clic derecho o Mayús+F10 para acciones de tabla", borderColor: "Color del borde", defaultColor: "Predeterminado", noBorders: "Sin bordes", borderColorPicker: "Selector de color de borde", announceBorderColorSet: (t2) => `Color del borde de tabla establecido en ${t2}`, announceBorderReset: "Bordes de tabla restablecidos a predeterminado", borderSwatchLabel: (t2) => `Borde ${t2}`, announceRowInsertedAbove: "Fila insertada arriba", announceRowInsertedBelow: "Fila insertada abajo", announceColumnInserted: (t2) => `Columna insertada ${t2}`, announceRowDeleted: "Fila eliminada", announceColumnDeleted: "Columna eliminada", announceTableDeleted: "Tabla eliminada", insertTable: "Insertar tabla", tableAriaLabel: (t2, e2) => `Tabla con ${t2} filas y ${e2} columnas`, tableAriaDescription: "Clic derecho o Mayús+F10 para acciones de tabla" }, S = { insertRowAbove: "Insérer une ligne au-dessus", insertRowBelow: "Insérer une ligne en dessous", insertColumnLeft: "Insérer une colonne à gauche", insertColumnRight: "Insérer une colonne à droite", deleteRow: "Supprimer la ligne", deleteColumn: "Supprimer la colonne", borderColorLabel: "Couleur de bordure…", deleteTable: "Supprimer le tableau", tableActions: "Actions du tableau", menuKeyboardHint: "↑↓ Naviguer · Entrée Sélectionner · Échap Fermer", insertRow: "Insérer une ligne", insertColumn: "Insérer une colonne", addRow: "Ajouter une ligne", addColumn: "Ajouter une colonne", tableActionsHint: "Actions du tableau (clic droit ou Maj+F10)", contextMenuHint: "Clic droit ou Maj+F10 pour les actions du tableau", borderColor: "Couleur de bordure", defaultColor: "Par défaut", noBorders: "Sans bordure", borderColorPicker: "Sélecteur de couleur de bordure", announceBorderColorSet: (t2) => `Couleur de bordure du tableau définie sur ${t2}`, announceBorderReset: "Bordures du tableau réinitialisées par défaut", borderSwatchLabel: (t2) => `Bordure ${t2}`, announceRowInsertedAbove: "Ligne insérée au-dessus", announceRowInsertedBelow: "Ligne insérée en dessous", announceColumnInserted: (t2) => `Colonne insérée à ${t2}`, announceRowDeleted: "Ligne supprimée", announceColumnDeleted: "Colonne supprimée", announceTableDeleted: "Tableau supprimé", insertTable: "Insérer un tableau", tableAriaLabel: (t2, e2) => `Tableau avec ${t2} lignes et ${e2} colonnes`, tableAriaDescription: "Clic droit ou Maj+F10 pour les actions du tableau" }, L = { insertRowAbove: "在上方插入行", insertRowBelow: "在下方插入行", insertColumnLeft: "在左侧插入列", insertColumnRight: "在右侧插入列", deleteRow: "删除行", deleteColumn: "删除列", borderColorLabel: "边框颜色…", deleteTable: "删除表格", tableActions: "表格操作", menuKeyboardHint: "↑↓ 导航 · Enter 选择 · Esc 关闭", insertRow: "插入行", insertColumn: "插入列", addRow: "添加行", addColumn: "添加列", tableActionsHint: "表格操作(右键或 Shift+F10)", contextMenuHint: "右键或 Shift+F10 打开表格操作", borderColor: "边框颜色", defaultColor: "默认", noBorders: "无边框", borderColorPicker: "边框颜色选择器", announceBorderColorSet: (t2) => `表格边框颜色已设置为${t2}`, announceBorderReset: "表格边框已重置为默认", borderSwatchLabel: (t2) => `边框 ${t2}`, announceRowInsertedAbove: "已在上方插入行", announceRowInsertedBelow: "已在下方插入行", announceColumnInserted: (t2) => `已插入列到${t2}`, announceRowDeleted: "行已删除", announceColumnDeleted: "列已删除", announceTableDeleted: "表格已删除", insertTable: "插入表格", tableAriaLabel: (t2, e2) => `表格,${t2} 行 ${e2} 列`, tableAriaDescription: "右键或 Shift+F10 打开表格操作" }, B = { insertRowAbove: "Вставить строку сверху", insertRowBelow: "Вставить строку снизу", insertColumnLeft: "Вставить столбец слева", insertColumnRight: "Вставить столбец справа", deleteRow: "Удалить строку", deleteColumn: "Удалить столбец", borderColorLabel: "Цвет границы…", deleteTable: "Удалить таблицу", tableActions: "Действия с таблицей", menuKeyboardHint: "↑↓ Навигация · Enter Выбрать · Esc Закрыть", insertRow: "Вставить строку", insertColumn: "Вставить столбец", addRow: "Добавить строку", addColumn: "Добавить столбец", tableActionsHint: "Действия с таблицей (ПКМ или Shift+F10)", contextMenuHint: "ПКМ или Shift+F10 для действий с таблицей", borderColor: "Цвет границы", defaultColor: "По умолчанию", noBorders: "Без границ", borderColorPicker: "Выбор цвета границы", announceBorderColorSet: (t2) => `Цвет границы таблицы установлен на ${t2}`, announceBorderReset: "Границы таблицы сброшены по умолчанию", borderSwatchLabel: (t2) => `Граница ${t2}`, announceRowInsertedAbove: "Строка вставлена сверху", announceRowInsertedBelow: "Строка вставлена снизу", announceColumnInserted: (t2) => `Столбец вставлен ${t2}`, announceRowDeleted: "Строка удалена", announceColumnDeleted: "Столбец удален", announceTableDeleted: "Таблица удалена", insertTable: "Вставить таблицу", tableAriaLabel: (t2, e2) => `Таблица: ${t2} строк, ${e2} столбцов`, tableAriaDescription: "ПКМ или Shift+F10 для действий с таблицей" }, E = { insertRowAbove: "إدراج صف أعلى", insertRowBelow: "إدراج صف أسفل", insertColumnLeft: "إدراج عمود على اليسار", insertColumnRight: "إدراج عمود على اليمين", deleteRow: "حذف الصف", deleteColumn: "حذف العمود", borderColorLabel: "لون الحدود…", deleteTable: "حذف الجدول", tableActions: "إجراءات الجدول", menuKeyboardHint: "↑↓ تنقل · Enter تحديد · Esc إغلاق", insertRow: "إدراج صف", insertColumn: "إدراج عمود", addRow: "إضافة صف", addColumn: "إضافة عمود", tableActionsHint: "إجراءات الجدول (انقر بزر الماوس الأيمن أو Shift+F10)", contextMenuHint: "انقر بزر الماوس الأيمن أو Shift+F10 لإجراءات الجدول", borderColor: "لون الحدود", defaultColor: "افتراضي", noBorders: "بدون حدود", borderColorPicker: "منتقي لون الحدود", announceBorderColorSet: (t2) => `تم تعيين لون حدود الجدول إلى ${t2}`, announceBorderReset: "تم إعادة تعيين حدود الجدول إلى الافتراضي", borderSwatchLabel: (t2) => `حدود ${t2}`, announceRowInsertedAbove: "تم إدراج صف أعلى", announceRowInsertedBelow: "تم إدراج صف أسفل", announceColumnInserted: (t2) => `تم إدراج عمود ${t2}`, announceRowDeleted: "تم حذف الصف", announceColumnDeleted: "تم حذف العمود", announceTableDeleted: "تم حذف الجدول", insertTable: "إدراج جدول", tableAriaLabel: (t2, e2) => `جدول من ${t2} صفوف و ${e2} أعمدة`, tableAriaDescription: "انقر بزر الماوس الأيمن أو Shift+F10 لإجراءات الجدول" }, T = { insertRowAbove: "ऊपर पंक्ति डालें", insertRowBelow: "नीचे पंक्ति डालें", insertColumnLeft: "बाएं स्तंभ डालें", insertColumnRight: "दाएं स्तंभ डालें", deleteRow: "पंक्ति हटाएं", deleteColumn: "स्तंभ हटाएं", borderColorLabel: "बॉर्डर रंग…", deleteTable: "तालिका हटाएं", tableActions: "तालिका क्रियाएं", menuKeyboardHint: "↑↓ नेविगेशन · Enter चुनें · Esc बंद करें", insertRow: "पंक्ति डालें", insertColumn: "स्तंभ डालें", addRow: "पंक्ति जोड़ें", addColumn: "स्तंभ जोड़ें", tableActionsHint: "तालिका क्रियाएं (राइट-क्लिक या Shift+F10)", contextMenuHint: "तालिका क्रियाओं के लिए राइट-क्लिक या Shift+F10", borderColor: "बॉर्डर रंग", defaultColor: "डिफ़ॉल्ट", noBorders: "कोई बॉर्डर नहीं", borderColorPicker: "बॉर्डर रंग चुनें", announceBorderColorSet: (t2) => `तालिका बॉर्डर रंग ${t2} पर सेट किया गया`, announceBorderReset: "तालिका बॉर्डर डिफ़ॉल्ट पर रीसेट किया गया", borderSwatchLabel: (t2) => `बॉर्डर ${t2}`, announceRowInsertedAbove: "ऊपर पंक्ति डाली गई", announceRowInsertedBelow: "नीचे पंक्ति डाली गई", announceColumnInserted: (t2) => `स्तंभ ${t2} डाला गया`, announceRowDeleted: "पंक्ति हटाई गई", announceColumnDeleted: "स्तंभ हटाया गया", announceTableDeleted: "तालिका हटाई गई", insertTable: "तालिका डालें", tableAriaLabel: (t2, e2) => `तालिका: ${t2} पंक्तियां और ${e2} स्तंभ`, tableAriaDescription: "तालिका क्रियाओं के लिए राइट-क्लिक या Shift+F10" }, D = { en: R, de: k, es: A, fr: S, zh: L, ru: B, ar: E, hi: T }, M = ["#000000", "#434343", "#666666", "#999999", "#b7b7b7", "#cccccc", "#d9d9d9", "#efefef", "#980000", "#cc0000", "#e69138", "#f1c232", "#6aa84f", "#45818e", "#3c78d8", "#3d85c6", "#674ea7", "#a64d79", "#0b5394", "#38761d"], H = /* @__PURE__ */ new Set(["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"]);
74
+ const k = { insertRowAbove: "Insert Row Above", insertRowBelow: "Insert Row Below", insertColumnLeft: "Insert Column Left", insertColumnRight: "Insert Column Right", deleteRow: "Delete Row", deleteColumn: "Delete Column", borderColorLabel: "Border Color...", deleteTable: "Delete Table", tableActions: "Table actions", menuKeyboardHint: "↑↓ Navigate · Enter Select · Esc Close", insertRow: "Insert row", insertColumn: "Insert column", addRow: "Add row", addColumn: "Add column", tableActionsHint: "Table actions (Right-click or Shift+F10)", contextMenuHint: "Right-click or Shift+F10 for table actions", borderColor: "Border color", defaultColor: "Default", noBorders: "No borders", borderColorPicker: "Border color picker", announceBorderColorSet: (t2) => `Table border color set to ${t2}`, announceBorderReset: "Table borders reset to default", borderSwatchLabel: (t2) => `Border ${t2}`, announceRowInsertedAbove: "Row inserted above", announceRowInsertedBelow: "Row inserted below", announceColumnInserted: (t2) => `Column inserted ${t2}`, announceRowDeleted: "Row deleted", announceColumnDeleted: "Column deleted", announceTableDeleted: "Table deleted", insertTable: "Insert Table", tableAriaLabel: (t2, e2) => `Table with ${t2} rows and ${e2} columns`, tableAriaDescription: "Right-click or press Shift+F10 for table actions" }, S = { insertRowAbove: "Zeile oberhalb einfügen", insertRowBelow: "Zeile unterhalb einfügen", insertColumnLeft: "Spalte links einfügen", insertColumnRight: "Spalte rechts einfügen", deleteRow: "Zeile löschen", deleteColumn: "Spalte löschen", borderColorLabel: "Rahmenfarbe…", deleteTable: "Tabelle löschen", tableActions: "Tabellenaktionen", menuKeyboardHint: "↑↓ Navigieren · Eingabe Auswählen · Esc Schließen", insertRow: "Zeile einfügen", insertColumn: "Spalte einfügen", addRow: "Zeile hinzufügen", addColumn: "Spalte hinzufügen", tableActionsHint: "Tabellenaktionen (Rechtsklick oder Umschalt+F10)", contextMenuHint: "Rechtsklick oder Umschalt+F10 für Tabellenaktionen", borderColor: "Rahmenfarbe", defaultColor: "Standard", noBorders: "Keine Rahmen", borderColorPicker: "Rahmenfarbe auswählen", announceBorderColorSet: (t2) => `Tabellenrahmenfarbe auf ${t2} gesetzt`, announceBorderReset: "Tabellenrahmen auf Standard zurückgesetzt", borderSwatchLabel: (t2) => `Rahmen ${t2}`, announceRowInsertedAbove: "Zeile oberhalb eingefügt", announceRowInsertedBelow: "Zeile unterhalb eingefügt", announceColumnInserted: (t2) => `Spalte ${t2} eingefügt`, announceRowDeleted: "Zeile gelöscht", announceColumnDeleted: "Spalte gelöscht", announceTableDeleted: "Tabelle gelöscht", insertTable: "Tabelle einfügen", tableAriaLabel: (t2, e2) => `Tabelle mit ${t2} Zeilen und ${e2} Spalten`, tableAriaDescription: "Rechtsklick oder Umschalt+F10 für Tabellenaktionen" }, A = { insertRowAbove: "Insertar fila arriba", insertRowBelow: "Insertar fila abajo", insertColumnLeft: "Insertar columna a la izquierda", insertColumnRight: "Insertar columna a la derecha", deleteRow: "Eliminar fila", deleteColumn: "Eliminar columna", borderColorLabel: "Color del borde…", deleteTable: "Eliminar tabla", tableActions: "Acciones de tabla", menuKeyboardHint: "↑↓ Navegar · Enter Seleccionar · Esc Cerrar", insertRow: "Insertar fila", insertColumn: "Insertar columna", addRow: "Añadir fila", addColumn: "Añadir columna", tableActionsHint: "Acciones de tabla (clic derecho o Mayús+F10)", contextMenuHint: "Clic derecho o Mayús+F10 para acciones de tabla", borderColor: "Color del borde", defaultColor: "Predeterminado", noBorders: "Sin bordes", borderColorPicker: "Selector de color de borde", announceBorderColorSet: (t2) => `Color del borde de tabla establecido en ${t2}`, announceBorderReset: "Bordes de tabla restablecidos a predeterminado", borderSwatchLabel: (t2) => `Borde ${t2}`, announceRowInsertedAbove: "Fila insertada arriba", announceRowInsertedBelow: "Fila insertada abajo", announceColumnInserted: (t2) => `Columna insertada ${t2}`, announceRowDeleted: "Fila eliminada", announceColumnDeleted: "Columna eliminada", announceTableDeleted: "Tabla eliminada", insertTable: "Insertar tabla", tableAriaLabel: (t2, e2) => `Tabla con ${t2} filas y ${e2} columnas`, tableAriaDescription: "Clic derecho o Mayús+F10 para acciones de tabla" }, L = { insertRowAbove: "Insérer une ligne au-dessus", insertRowBelow: "Insérer une ligne en dessous", insertColumnLeft: "Insérer une colonne à gauche", insertColumnRight: "Insérer une colonne à droite", deleteRow: "Supprimer la ligne", deleteColumn: "Supprimer la colonne", borderColorLabel: "Couleur de bordure…", deleteTable: "Supprimer le tableau", tableActions: "Actions du tableau", menuKeyboardHint: "↑↓ Naviguer · Entrée Sélectionner · Échap Fermer", insertRow: "Insérer une ligne", insertColumn: "Insérer une colonne", addRow: "Ajouter une ligne", addColumn: "Ajouter une colonne", tableActionsHint: "Actions du tableau (clic droit ou Maj+F10)", contextMenuHint: "Clic droit ou Maj+F10 pour les actions du tableau", borderColor: "Couleur de bordure", defaultColor: "Par défaut", noBorders: "Sans bordure", borderColorPicker: "Sélecteur de couleur de bordure", announceBorderColorSet: (t2) => `Couleur de bordure du tableau définie sur ${t2}`, announceBorderReset: "Bordures du tableau réinitialisées par défaut", borderSwatchLabel: (t2) => `Bordure ${t2}`, announceRowInsertedAbove: "Ligne insérée au-dessus", announceRowInsertedBelow: "Ligne insérée en dessous", announceColumnInserted: (t2) => `Colonne insérée à ${t2}`, announceRowDeleted: "Ligne supprimée", announceColumnDeleted: "Colonne supprimée", announceTableDeleted: "Tableau supprimé", insertTable: "Insérer un tableau", tableAriaLabel: (t2, e2) => `Tableau avec ${t2} lignes et ${e2} colonnes`, tableAriaDescription: "Clic droit ou Maj+F10 pour les actions du tableau" }, B = { insertRowAbove: "在上方插入行", insertRowBelow: "在下方插入行", insertColumnLeft: "在左侧插入列", insertColumnRight: "在右侧插入列", deleteRow: "删除行", deleteColumn: "删除列", borderColorLabel: "边框颜色…", deleteTable: "删除表格", tableActions: "表格操作", menuKeyboardHint: "↑↓ 导航 · Enter 选择 · Esc 关闭", insertRow: "插入行", insertColumn: "插入列", addRow: "添加行", addColumn: "添加列", tableActionsHint: "表格操作(右键或 Shift+F10)", contextMenuHint: "右键或 Shift+F10 打开表格操作", borderColor: "边框颜色", defaultColor: "默认", noBorders: "无边框", borderColorPicker: "边框颜色选择器", announceBorderColorSet: (t2) => `表格边框颜色已设置为${t2}`, announceBorderReset: "表格边框已重置为默认", borderSwatchLabel: (t2) => `边框 ${t2}`, announceRowInsertedAbove: "已在上方插入行", announceRowInsertedBelow: "已在下方插入行", announceColumnInserted: (t2) => `已插入列到${t2}`, announceRowDeleted: "行已删除", announceColumnDeleted: "列已删除", announceTableDeleted: "表格已删除", insertTable: "插入表格", tableAriaLabel: (t2, e2) => `表格,${t2} 行 ${e2} 列`, tableAriaDescription: "右键或 Shift+F10 打开表格操作" }, T = { insertRowAbove: "Вставить строку сверху", insertRowBelow: "Вставить строку снизу", insertColumnLeft: "Вставить столбец слева", insertColumnRight: "Вставить столбец справа", deleteRow: "Удалить строку", deleteColumn: "Удалить столбец", borderColorLabel: "Цвет границы…", deleteTable: "Удалить таблицу", tableActions: "Действия с таблицей", menuKeyboardHint: "↑↓ Навигация · Enter Выбрать · Esc Закрыть", insertRow: "Вставить строку", insertColumn: "Вставить столбец", addRow: "Добавить строку", addColumn: "Добавить столбец", tableActionsHint: "Действия с таблицей (ПКМ или Shift+F10)", contextMenuHint: "ПКМ или Shift+F10 для действий с таблицей", borderColor: "Цвет границы", defaultColor: "По умолчанию", noBorders: "Без границ", borderColorPicker: "Выбор цвета границы", announceBorderColorSet: (t2) => `Цвет границы таблицы установлен на ${t2}`, announceBorderReset: "Границы таблицы сброшены по умолчанию", borderSwatchLabel: (t2) => `Граница ${t2}`, announceRowInsertedAbove: "Строка вставлена сверху", announceRowInsertedBelow: "Строка вставлена снизу", announceColumnInserted: (t2) => `Столбец вставлен ${t2}`, announceRowDeleted: "Строка удалена", announceColumnDeleted: "Столбец удален", announceTableDeleted: "Таблица удалена", insertTable: "Вставить таблицу", tableAriaLabel: (t2, e2) => `Таблица: ${t2} строк, ${e2} столбцов`, tableAriaDescription: "ПКМ или Shift+F10 для действий с таблицей" }, E = { insertRowAbove: "إدراج صف أعلى", insertRowBelow: "إدراج صف أسفل", insertColumnLeft: "إدراج عمود على اليسار", insertColumnRight: "إدراج عمود على اليمين", deleteRow: "حذف الصف", deleteColumn: "حذف العمود", borderColorLabel: "لون الحدود…", deleteTable: "حذف الجدول", tableActions: "إجراءات الجدول", menuKeyboardHint: "↑↓ تنقل · Enter تحديد · Esc إغلاق", insertRow: "إدراج صف", insertColumn: "إدراج عمود", addRow: "إضافة صف", addColumn: "إضافة عمود", tableActionsHint: "إجراءات الجدول (انقر بزر الماوس الأيمن أو Shift+F10)", contextMenuHint: "انقر بزر الماوس الأيمن أو Shift+F10 لإجراءات الجدول", borderColor: "لون الحدود", defaultColor: "افتراضي", noBorders: "بدون حدود", borderColorPicker: "منتقي لون الحدود", announceBorderColorSet: (t2) => `تم تعيين لون حدود الجدول إلى ${t2}`, announceBorderReset: "تم إعادة تعيين حدود الجدول إلى الافتراضي", borderSwatchLabel: (t2) => `حدود ${t2}`, announceRowInsertedAbove: "تم إدراج صف أعلى", announceRowInsertedBelow: "تم إدراج صف أسفل", announceColumnInserted: (t2) => `تم إدراج عمود ${t2}`, announceRowDeleted: "تم حذف الصف", announceColumnDeleted: "تم حذف العمود", announceTableDeleted: "تم حذف الجدول", insertTable: "إدراج جدول", tableAriaLabel: (t2, e2) => `جدول من ${t2} صفوف و ${e2} أعمدة`, tableAriaDescription: "انقر بزر الماوس الأيمن أو Shift+F10 لإجراءات الجدول" }, D = { insertRowAbove: "ऊपर पंक्ति डालें", insertRowBelow: "नीचे पंक्ति डालें", insertColumnLeft: "बाएं स्तंभ डालें", insertColumnRight: "दाएं स्तंभ डालें", deleteRow: "पंक्ति हटाएं", deleteColumn: "स्तंभ हटाएं", borderColorLabel: "बॉर्डर रंग…", deleteTable: "तालिका हटाएं", tableActions: "तालिका क्रियाएं", menuKeyboardHint: "↑↓ नेविगेशन · Enter चुनें · Esc बंद करें", insertRow: "पंक्ति डालें", insertColumn: "स्तंभ डालें", addRow: "पंक्ति जोड़ें", addColumn: "स्तंभ जोड़ें", tableActionsHint: "तालिका क्रियाएं (राइट-क्लिक या Shift+F10)", contextMenuHint: "तालिका क्रियाओं के लिए राइट-क्लिक या Shift+F10", borderColor: "बॉर्डर रंग", defaultColor: "डिफ़ॉल्ट", noBorders: "कोई बॉर्डर नहीं", borderColorPicker: "बॉर्डर रंग चुनें", announceBorderColorSet: (t2) => `तालिका बॉर्डर रंग ${t2} पर सेट किया गया`, announceBorderReset: "तालिका बॉर्डर डिफ़ॉल्ट पर रीसेट किया गया", borderSwatchLabel: (t2) => `बॉर्डर ${t2}`, announceRowInsertedAbove: "ऊपर पंक्ति डाली गई", announceRowInsertedBelow: "नीचे पंक्ति डाली गई", announceColumnInserted: (t2) => `स्तंभ ${t2} डाला गया`, announceRowDeleted: "पंक्ति हटाई गई", announceColumnDeleted: "स्तंभ हटाया गया", announceTableDeleted: "तालिका हटाई गई", insertTable: "तालिका डालें", tableAriaLabel: (t2, e2) => `तालिका: ${t2} पंक्तियां और ${e2} स्तंभ`, tableAriaDescription: "तालिका क्रियाओं के लिए राइट-क्लिक या Shift+F10" }, M = { en: k, de: S, es: A, fr: L, zh: B, ru: T, ar: E, hi: D }, H = ["#000000", "#434343", "#666666", "#999999", "#b7b7b7", "#cccccc", "#d9d9d9", "#efefef", "#980000", "#cc0000", "#e69138", "#f1c232", "#6aa84f", "#45818e", "#3c78d8", "#3d85c6", "#674ea7", "#a64d79", "#0b5394", "#38761d"];
73
75
  function $(t2, e2, n2) {
74
76
  const o2 = t2.getBlock(e2);
75
77
  if (!o2 || "table" !== o2.type) return null;
@@ -82,21 +84,21 @@ function $(t2, e2, n2) {
82
84
  const l2 = { ...o2.attrs, borderColor: n2 };
83
85
  return t2.transaction("command").setNodeAttr(r2, l2).setSelection(t2.selection).build();
84
86
  }
85
- function N(t2, e2, n2 = R) {
87
+ function P(t2, e2, n2 = k) {
86
88
  const l2 = t2.getState();
87
89
  if (o(l2.selection) || r(l2.selection)) return false;
88
- const i2 = v(l2, l2.selection.anchor.blockId);
90
+ const i2 = x(l2, l2.selection.anchor.blockId);
89
91
  if (!i2) return false;
90
92
  const a2 = $(l2, i2.tableId, e2);
91
93
  if (!a2) return false;
92
94
  t2.dispatch(a2);
93
- const c2 = "none" === e2 ? "none" : s(e2);
94
- return t2.announce(n2.announceBorderColorSet(c2)), true;
95
+ const s2 = "none" === e2 ? "none" : c(e2);
96
+ return t2.announce(n2.announceBorderColorSet(s2)), true;
95
97
  }
96
- function P(t2, e2 = R) {
98
+ function N(t2, e2 = k) {
97
99
  const n2 = t2.getState();
98
100
  if (o(n2.selection) || r(n2.selection)) return false;
99
- const l2 = v(n2, n2.selection.anchor.blockId);
101
+ const l2 = x(n2, n2.selection.anchor.blockId);
100
102
  if (!l2) return false;
101
103
  const i2 = $(n2, l2.tableId, void 0);
102
104
  return !!i2 && (t2.dispatch(i2), t2.announce(e2.announceBorderReset), true);
@@ -105,118 +107,74 @@ function z(t2, e2) {
105
107
  const n2 = t2.getBlock(e2);
106
108
  if (n2) return n2.attrs?.borderColor;
107
109
  }
108
- function F(t2, e2, n2, o2, r2 = R) {
110
+ function F(t2, e2, n2, o2, r2 = k) {
109
111
  t2.classList.add("notectl-color-picker");
110
- const l2 = z(e2.getState(), n2), i2 = M.length, a2 = Math.ceil(i2 / 5), d2 = document.createElement("button");
111
- d2.type = "button", d2.className = "notectl-color-picker__default", d2.textContent = r2.defaultColor, d2.addEventListener("mousedown", (t3) => {
112
- t3.preventDefault(), t3.stopPropagation(), P(e2, r2), o2();
113
- }), d2.addEventListener("keydown", (t3) => {
112
+ const l2 = z(e2.getState(), n2), i2 = document.createElement("button");
113
+ i2.type = "button", i2.className = "notectl-color-picker__default", i2.textContent = r2.defaultColor, i2.addEventListener("mousedown", (t3) => {
114
+ t3.preventDefault(), t3.stopPropagation(), N(e2, r2), o2();
115
+ }), i2.addEventListener("keydown", (t3) => {
114
116
  "Escape" === t3.key && (t3.preventDefault(), o2());
115
- }), t2.appendChild(d2);
116
- const b2 = document.createElement("button");
117
- b2.type = "button", b2.className = "notectl-color-picker__default", b2.textContent = r2.noBorders, b2.addEventListener("mousedown", (t3) => {
118
- t3.preventDefault(), t3.stopPropagation(), N(e2, "none", r2), o2();
119
- }), b2.addEventListener("keydown", (t3) => {
117
+ }), t2.appendChild(i2);
118
+ const a2 = document.createElement("button");
119
+ a2.type = "button", a2.className = "notectl-color-picker__default", a2.textContent = r2.noBorders, a2.addEventListener("mousedown", (t3) => {
120
+ t3.preventDefault(), t3.stopPropagation(), P(e2, "none", r2), o2();
121
+ }), a2.addEventListener("keydown", (t3) => {
120
122
  "Escape" === t3.key && (t3.preventDefault(), o2());
121
- }), t2.appendChild(b2);
122
- const h2 = document.createElement("div");
123
- h2.className = "notectl-color-picker__grid", h2.setAttribute("role", "grid"), h2.setAttribute("aria-label", r2.borderColorPicker);
124
- const p2 = [];
125
- let f2 = 0;
126
- for (let t3 = 0; t3 < a2; t3++) {
127
- const n3 = document.createElement("div");
128
- n3.setAttribute("role", "row");
129
- for (let a3 = 0; a3 < 5; a3++) {
130
- const d3 = 5 * t3 + a3;
131
- if (d3 >= i2) break;
132
- const u2 = M[d3], b3 = s(u2), h3 = !!l2 && l2.toLowerCase() === u2.toLowerCase(), m2 = document.createElement("button");
133
- m2.type = "button", m2.className = "notectl-color-picker__swatch", m2.setAttribute("role", "gridcell"), m2.setAttribute("aria-label", r2.borderSwatchLabel(b3)), m2.setAttribute("aria-selected", String(h3)), m2.dataset.index = String(d3), m2.style.backgroundColor = u2, m2.title = b3, c(u2) && (m2.style.border = "1px solid #d0d0d0"), h3 && (m2.classList.add("notectl-color-picker__swatch--active"), f2 = d3), m2.addEventListener("mousedown", (t4) => {
134
- t4.preventDefault(), t4.stopPropagation(), N(e2, u2, r2), o2();
135
- }), p2.push(m2), n3.appendChild(m2);
136
- }
137
- h2.appendChild(n3);
138
- }
139
- _(p2, f2), h2.addEventListener("keydown", (t3) => {
140
- if ("Escape" === t3.key) return t3.preventDefault(), void o2();
141
- if ("Enter" === t3.key || " " === t3.key) {
142
- t3.preventDefault();
143
- const n3 = t3.target.dataset.index;
144
- if (void 0 !== n3) {
145
- const t4 = M[Number(n3)];
146
- t4 && (N(e2, t4, r2), o2());
147
- }
148
- return;
149
- }
150
- if (H.has(t3.key)) {
151
- t3.preventDefault();
152
- const e3 = Math.floor(f2 / 5) + 1, n3 = f2 % 5 + 1, [o3, r3] = u(e3, n3, a2, 5, t3.key);
153
- let l3 = 5 * (o3 - 1) + (r3 - 1);
154
- return l3 >= i2 && (l3 = i2 - 1), f2 = l3, _(p2, f2), void p2[f2]?.focus();
155
- }
156
- if ("Home" === t3.key || "End" === t3.key) {
157
- t3.preventDefault();
158
- const e3 = 5 * Math.floor(f2 / 5), n3 = Math.min(e3 + 5 - 1, i2 - 1);
159
- f2 = "Home" === t3.key ? e3 : n3, _(p2, f2), p2[f2]?.focus();
160
- }
161
- }), t2.appendChild(h2);
162
- }
163
- function _(t2, e2) {
164
- for (let n2 = 0; n2 < t2.length; n2++) {
165
- const o2 = t2[n2];
166
- o2 && o2.setAttribute("tabindex", n2 === e2 ? "0" : "-1");
167
- }
123
+ }), t2.appendChild(a2), d(t2, { colors: H, columns: 5, ariaLabel: r2.borderColorPicker, ariaLabelPrefix: "", activeColor: l2 ?? null, swatchLabel: r2.borderSwatchLabel, titleAsName: true, onSelect: (t3) => {
124
+ P(e2, t3, r2), o2();
125
+ }, onClose: o2 });
168
126
  }
169
- function j(t2, e2, n2) {
127
+ function _(t2, e2, n2) {
170
128
  const o2 = t2.getBlock(e2);
171
129
  if (!o2) return null;
172
- const r2 = b(o2), i2 = r2[0] ? b(r2[0]).length : 0;
130
+ const r2 = u(o2), i2 = r2[0] ? u(r2[0]).length : 0;
173
131
  if (0 === i2) return null;
174
132
  const a2 = (function(t3) {
175
133
  const e3 = [];
176
- for (let n3 = 0; n3 < t3; n3++) e3.push(w());
177
- return p(g("table_row"), e3, h());
178
- })(i2), s2 = t2.transaction("command").insertNode([e2], n2, a2), c2 = b(a2)[0], d2 = c2 ? b(c2)[0] : void 0;
134
+ for (let n3 = 0; n3 < t3; n3++) e3.push(v());
135
+ return h(m("table_row"), e3, b());
136
+ })(i2), s2 = t2.transaction("command").insertNode([e2], n2, a2), c2 = u(a2)[0], d2 = c2 ? u(c2)[0] : void 0;
179
137
  return d2 ? s2.setSelection(l(d2.id, 0)) : c2 && s2.setSelection(l(c2.id, 0)), s2.build();
180
138
  }
181
- function V(t2, e2, n2) {
139
+ function j(t2, e2, n2) {
182
140
  const o2 = t2.getBlock(e2);
183
141
  if (!o2) return null;
184
- const r2 = b(o2), l2 = t2.transaction("command");
142
+ const r2 = u(o2), l2 = t2.transaction("command");
185
143
  for (const t3 of r2) {
186
- const o3 = w();
144
+ const o3 = v();
187
145
  l2.insertNode([e2, t3.id], n2, o3);
188
146
  }
189
147
  return l2.setSelection(t2.selection), l2.build();
190
148
  }
191
- function Z(t2, e2, n2, o2 = 0) {
149
+ function V(t2, e2, n2, o2 = 0) {
192
150
  const r2 = t2.getBlock(e2);
193
151
  if (!r2) return null;
194
- if (b(r2).length <= 1) return O(t2, e2);
195
- const i2 = t2.transaction("command").removeNode([e2], n2), a2 = x(t2, e2, n2 > 0 ? n2 - 1 : 1, o2);
152
+ if (u(r2).length <= 1) return q(t2, e2);
153
+ const i2 = t2.transaction("command").removeNode([e2], n2), a2 = C(t2, e2, n2 > 0 ? n2 - 1 : 1, o2);
196
154
  if (a2) {
197
- const e3 = C(t2, a2);
155
+ const e3 = I(t2, a2);
198
156
  i2.setSelection(l(e3, 0));
199
157
  }
200
158
  return i2.build();
201
159
  }
202
- function q(t2, e2, n2, o2 = 0) {
160
+ function Z(t2, e2, n2, o2 = 0) {
203
161
  const r2 = t2.getBlock(e2);
204
162
  if (!r2) return null;
205
- const i2 = b(r2);
206
- if ((i2[0] ? b(i2[0]).length : 0) <= 1) return O(t2, e2);
163
+ const i2 = u(r2);
164
+ if ((i2[0] ? u(i2[0]).length : 0) <= 1) return q(t2, e2);
207
165
  const a2 = t2.transaction("command");
208
166
  for (let t3 = i2.length - 1; t3 >= 0; t3--) {
209
167
  const o3 = i2[t3];
210
168
  o3 && a2.removeNode([e2, o3.id], n2);
211
169
  }
212
- const s2 = x(t2, e2, o2, n2 > 0 ? n2 - 1 : 1);
170
+ const s2 = C(t2, e2, o2, n2 > 0 ? n2 - 1 : 1);
213
171
  if (s2) {
214
- const e3 = C(t2, s2);
172
+ const e3 = I(t2, s2);
215
173
  a2.setSelection(l(e3, 0));
216
174
  }
217
175
  return a2.build();
218
176
  }
219
- function O(t2, e2) {
177
+ function q(t2, e2) {
220
178
  const n2 = t2.doc.children.findIndex((t3) => t3.id === e2);
221
179
  if (-1 === n2) return null;
222
180
  const o2 = t2.transaction("command").removeNode([], n2), r2 = t2.doc.children[n2 + 1];
@@ -224,7 +182,7 @@ function O(t2, e2) {
224
182
  const i2 = t2.doc.children[n2 - 1];
225
183
  return i2 && o2.setSelection(l(i2.id, 0)), o2.build();
226
184
  }
227
- function K(t2, e2, n2) {
185
+ function O(t2, e2, n2) {
228
186
  const i2 = t2.getState(), a2 = i2.selection;
229
187
  if (o(a2) || r(a2)) return false;
230
188
  const s2 = a2.anchor.blockId;
@@ -244,57 +202,57 @@ function K(t2, e2, n2) {
244
202
  }
245
203
  -1 === c2 && (c2 = i2.doc.children.length - 1);
246
204
  const d2 = (function(t3, e3) {
247
- const n3 = h(), o2 = [];
205
+ const n3 = b(), o2 = [];
248
206
  for (let n4 = 0; n4 < t3; n4++) {
249
207
  const t4 = [];
250
- for (let n5 = 0; n5 < e3; n5++) t4.push(w());
251
- o2.push(p(g("table_row"), t4, h()));
208
+ for (let n5 = 0; n5 < e3; n5++) t4.push(v());
209
+ o2.push(h(m("table_row"), t4, b()));
252
210
  }
253
- return p(g("table"), o2, n3);
254
- })(e2, n2), u2 = p(g("paragraph")), f2 = c2 + 1, m2 = i2.transaction("command").insertNode([], f2, d2).insertNode([], f2 + 1, u2), v2 = b(d2)[0], x2 = v2 ? b(v2)[0] : void 0, C2 = x2 ? b(x2)[0] : void 0;
255
- return C2 ? m2.setSelection(l(C2.id, 0)) : x2 && m2.setSelection(l(x2.id, 0)), t2.dispatch(m2.build()), true;
211
+ return h(m("table"), o2, n3);
212
+ })(e2, n2), p2 = h(m("paragraph")), f2 = c2 + 1, g2 = i2.transaction("command").insertNode([], f2, d2).insertNode([], f2 + 1, p2), w2 = u(d2)[0], x2 = w2 ? u(w2)[0] : void 0, C2 = x2 ? u(x2)[0] : void 0;
213
+ return C2 ? g2.setSelection(l(C2.id, 0)) : x2 && g2.setSelection(l(x2.id, 0)), t2.dispatch(g2.build()), true;
256
214
  }
257
- function U(t2, e2) {
215
+ function K(t2, e2) {
258
216
  const n2 = t2.getState();
259
217
  if (o(n2.selection) || r(n2.selection)) return false;
260
- const l2 = v(n2, n2.selection.anchor.blockId);
218
+ const l2 = x(n2, n2.selection.anchor.blockId);
261
219
  if (!l2) return false;
262
- const i2 = j(n2, l2.tableId, l2.rowIndex + 1);
220
+ const i2 = _(n2, l2.tableId, l2.rowIndex + 1);
263
221
  return !!i2 && (t2.dispatch(i2), t2.announce(e2?.announceRowInsertedBelow ?? "Row inserted below"), true);
264
222
  }
265
223
  function Y(t2, e2, n2) {
266
224
  const l2 = t2.getState();
267
225
  if (o(l2.selection) || r(l2.selection)) return false;
268
- const i2 = v(l2, l2.selection.anchor.blockId);
226
+ const i2 = x(l2, l2.selection.anchor.blockId);
269
227
  if (!i2) return false;
270
- const a2 = "left" === e2 ? i2.colIndex : i2.colIndex + 1, s2 = V(l2, i2.tableId, a2);
228
+ const a2 = "left" === e2 ? i2.colIndex : i2.colIndex + 1, s2 = j(l2, i2.tableId, a2);
271
229
  return !!s2 && (t2.dispatch(s2), t2.announce(n2?.announceColumnInserted(e2) ?? `Column inserted ${e2}`), true);
272
230
  }
273
- function W(t2, e2) {
274
- t2.registerCommand("insertTable", () => K(t2, 3, 3)), t2.registerCommand("addRowAbove", () => (function(t3, e3) {
231
+ function U(t2, e2) {
232
+ t2.registerCommand("insertTable", () => O(t2, 3, 3)), t2.registerCommand("addRowAbove", () => (function(t3, e3) {
275
233
  const n2 = t3.getState();
276
234
  if (o(n2.selection) || r(n2.selection)) return false;
277
- const l2 = v(n2, n2.selection.anchor.blockId);
235
+ const l2 = x(n2, n2.selection.anchor.blockId);
278
236
  if (!l2) return false;
279
- const i2 = j(n2, l2.tableId, l2.rowIndex);
237
+ const i2 = _(n2, l2.tableId, l2.rowIndex);
280
238
  return !!i2 && (t3.dispatch(i2), t3.announce(e3?.announceRowInsertedAbove ?? "Row inserted above"), true);
281
- })(t2, e2)), t2.registerCommand("addRowBelow", () => U(t2, e2)), t2.registerCommand("addColumnLeft", () => (function(t3, e3) {
239
+ })(t2, e2)), t2.registerCommand("addRowBelow", () => K(t2, e2)), t2.registerCommand("addColumnLeft", () => (function(t3, e3) {
282
240
  return Y(t3, "left", e3);
283
241
  })(t2, e2)), t2.registerCommand("addColumnRight", () => (function(t3, e3) {
284
242
  return Y(t3, "right", e3);
285
243
  })(t2, e2)), t2.registerCommand("deleteRow", () => (function(t3, e3) {
286
244
  const n2 = t3.getState();
287
245
  if (o(n2.selection) || r(n2.selection)) return false;
288
- const l2 = v(n2, n2.selection.anchor.blockId);
246
+ const l2 = x(n2, n2.selection.anchor.blockId);
289
247
  if (!l2) return false;
290
- const i2 = Z(n2, l2.tableId, l2.rowIndex, l2.colIndex);
248
+ const i2 = V(n2, l2.tableId, l2.rowIndex, l2.colIndex);
291
249
  return !!i2 && (t3.dispatch(i2), t3.announce(e3?.announceRowDeleted ?? "Row deleted"), true);
292
250
  })(t2, e2)), t2.registerCommand("deleteColumn", () => (function(t3, e3) {
293
251
  const n2 = t3.getState();
294
252
  if (o(n2.selection) || r(n2.selection)) return false;
295
- const l2 = v(n2, n2.selection.anchor.blockId);
253
+ const l2 = x(n2, n2.selection.anchor.blockId);
296
254
  if (!l2) return false;
297
- const i2 = q(n2, l2.tableId, l2.colIndex, l2.rowIndex);
255
+ const i2 = Z(n2, l2.tableId, l2.colIndex, l2.rowIndex);
298
256
  return !!i2 && (t3.dispatch(i2), t3.announce(e3?.announceColumnDeleted ?? "Column deleted"), true);
299
257
  })(t2, e2)), t2.registerCommand("selectTable", () => (function(t3) {
300
258
  const e3 = t3.getState(), n2 = e3.selection;
@@ -303,7 +261,7 @@ function W(t2, e2) {
303
261
  return "table" === t4?.type;
304
262
  }
305
263
  if (r(n2)) return false;
306
- const l2 = v(e3, n2.anchor.blockId);
264
+ const l2 = x(e3, n2.anchor.blockId);
307
265
  if (!l2) return false;
308
266
  const a2 = e3.getNodePath(l2.tableId);
309
267
  if (!a2) return false;
@@ -316,114 +274,115 @@ function W(t2, e2) {
316
274
  return "table" !== e5?.type ? null : { tableId: e5.id };
317
275
  }
318
276
  if (r(t4.selection)) return null;
319
- const e4 = v(t4, t4.selection.anchor.blockId);
277
+ const e4 = x(t4, t4.selection.anchor.blockId);
320
278
  return e4 ? { tableId: e4.tableId } : null;
321
279
  })(n2);
322
280
  if (!l2) return false;
323
- const i2 = O(n2, l2.tableId);
281
+ const i2 = q(n2, l2.tableId);
324
282
  return !!i2 && (t3.dispatch(i2), t3.announce(e3?.announceTableDeleted ?? "Table deleted"), true);
325
283
  })(t2, e2));
326
284
  }
327
- function X(t2, e2, n2, o2, r2, l2 = R) {
328
- let i2 = true, a2 = null;
329
- const s2 = document.createElement("div");
330
- s2.className = "notectl-table-context-menu", s2.setAttribute("role", "menu"), s2.setAttribute("aria-label", l2.tableActions), s2.setAttribute("contenteditable", "false");
331
- const c2 = [];
332
- let d2 = 0;
333
- const u2 = (function(t3) {
285
+ function W(t2, e2, n2, o2, r2, l2 = k, i2) {
286
+ let a2 = true, s2 = null, c2 = null;
287
+ const d2 = document.createElement("div");
288
+ d2.className = "notectl-table-context-menu", d2.setAttribute("role", "menu"), d2.setAttribute("aria-label", l2.tableActions), d2.setAttribute("contenteditable", "false");
289
+ const u2 = [];
290
+ let b2 = 0;
291
+ const h2 = (function(t3) {
334
292
  return [{ type: "item", label: t3.insertRowAbove, command: "addRowAbove" }, { type: "item", label: t3.insertRowBelow, command: "addRowBelow" }, { type: "separator" }, { type: "item", label: t3.insertColumnLeft, command: "addColumnLeft" }, { type: "item", label: t3.insertColumnRight, command: "addColumnRight" }, { type: "separator" }, { type: "item", label: t3.deleteRow, command: "deleteRow" }, { type: "item", label: t3.deleteColumn, command: "deleteColumn" }, { type: "separator" }, { type: "submenu", label: t3.borderColorLabel, id: "borderColor" }, { type: "separator" }, { type: "item", label: t3.deleteTable, command: "deleteTable" }];
335
293
  })(l2);
336
- for (const t3 of u2) {
294
+ for (const t3 of h2) {
337
295
  if ("separator" === t3.type) {
338
296
  const t4 = document.createElement("div");
339
- t4.setAttribute("role", "separator"), s2.appendChild(t4);
297
+ t4.setAttribute("role", "separator"), d2.appendChild(t4);
340
298
  continue;
341
299
  }
342
300
  const n3 = document.createElement("button");
343
301
  n3.type = "button", n3.setAttribute("role", "menuitem"), n3.textContent = t3.label, "submenu" === t3.type && (n3.dataset.submenu = t3.id, n3.setAttribute("aria-haspopup", "true"), n3.setAttribute("aria-expanded", "false")), "item" === t3.type && (n3.dataset.command = t3.command), n3.addEventListener("mousedown", (t4) => {
344
302
  t4.preventDefault(), t4.stopPropagation();
345
303
  }), n3.addEventListener("click", (o3) => {
346
- o3.stopPropagation(), "item" === t3.type ? (e2.executeCommand(t3.command), m2()) : "submenu" === t3.type && h2(n3);
347
- }), c2.push(n3), s2.appendChild(n3);
348
- }
349
- const b2 = document.createElement("div");
350
- function h2(o3) {
351
- p2(), o3.setAttribute("aria-expanded", "true"), a2 = document.createElement("div"), a2.className = "notectl-table-context-menu", a2.style.position = "fixed", a2.setAttribute("contenteditable", "false"), a2.addEventListener("keydown", (t3) => {
352
- t3.stopPropagation(), "ArrowLeft" === t3.key && (t3.preventDefault(), p2(), o3.focus());
353
- }), F(a2, e2, n2, () => {
354
- m2();
355
- }, l2), t2.appendChild(a2);
356
- const r3 = o3.getBoundingClientRect(), i3 = s2.getBoundingClientRect();
357
- let c3 = i3.right + 2, d3 = r3.top;
358
- const u3 = window.innerWidth, b3 = window.innerHeight;
359
- c3 + 200 > u3 && (c3 = i3.left - 200 - 2), d3 + 200 > b3 && (d3 = b3 - 200), a2.style.left = `${c3}px`, a2.style.top = `${d3}px`, requestAnimationFrame(() => {
360
- const t3 = a2?.querySelector("button");
361
- t3?.focus();
362
- });
304
+ o3.stopPropagation(), "item" === t3.type ? (e2.executeCommand(t3.command), C2()) : "submenu" === t3.type && f2(n3);
305
+ }), u2.push(n3), d2.appendChild(n3);
306
+ }
307
+ const p2 = document.createElement("div");
308
+ function f2(o3) {
309
+ if (m2(), o3.setAttribute("aria-expanded", "true"), i2) {
310
+ const t3 = { close: () => C2(), getElement: () => d2 };
311
+ c2 = i2.open({ anchor: o3, position: "right", referenceNode: d2, parent: t3, onClose: () => {
312
+ c2 = null, s2 = null, v2();
313
+ }, content: (t4, r3) => {
314
+ t4.className = "notectl-table-context-menu", t4.setAttribute("contenteditable", "false"), s2 = t4, t4.addEventListener("keydown", (t5) => {
315
+ t5.stopPropagation(), "ArrowLeft" === t5.key && (t5.preventDefault(), r3(), o3.focus());
316
+ }), F(t4, e2, n2, () => C2(), l2);
317
+ } });
318
+ } else {
319
+ s2 = document.createElement("div"), s2.className = "notectl-table-context-menu", s2.style.position = "fixed", s2.setAttribute("contenteditable", "false"), s2.addEventListener("keydown", (t3) => {
320
+ t3.stopPropagation(), "ArrowLeft" === t3.key && (t3.preventDefault(), m2(), o3.focus());
321
+ }), F(s2, e2, n2, () => C2(), l2), t2.appendChild(s2);
322
+ const r3 = o3.getBoundingClientRect(), i3 = d2.getBoundingClientRect();
323
+ let a3 = i3.right + 2, c3 = r3.top;
324
+ const u3 = window.innerWidth, b3 = window.innerHeight;
325
+ a3 + 200 > u3 && (a3 = i3.left - 200 - 2), c3 + 200 > b3 && (c3 = b3 - 200), s2.style.left = `${a3}px`, s2.style.top = `${c3}px`, requestAnimationFrame(() => {
326
+ const t3 = s2?.querySelector("button");
327
+ t3?.focus();
328
+ });
329
+ }
330
+ }
331
+ function m2() {
332
+ c2 ? (c2.close(), c2 = null, s2 = null) : s2 && (s2.remove(), s2 = null), v2();
363
333
  }
364
- function p2() {
365
- a2 && (a2.remove(), a2 = null);
366
- for (const t3 of c2) t3.dataset.submenu && t3.setAttribute("aria-expanded", "false");
334
+ function v2() {
335
+ for (const t3 of u2) t3.dataset.submenu && t3.setAttribute("aria-expanded", "false");
367
336
  }
368
- b2.className = "notectl-table-context-menu__hint", b2.setAttribute("aria-hidden", "true"), b2.textContent = l2.menuKeyboardHint, s2.appendChild(b2), G(c2, d2), s2.addEventListener("keydown", (t3) => {
337
+ p2.className = "notectl-table-context-menu__hint", p2.setAttribute("aria-hidden", "true"), p2.textContent = l2.menuKeyboardHint, d2.appendChild(p2), w(u2, b2), d2.addEventListener("keydown", (t3) => {
369
338
  switch (t3.stopPropagation(), t3.key) {
370
339
  case "Escape":
371
- return t3.preventDefault(), void m2();
340
+ return t3.preventDefault(), void C2();
372
341
  case "ArrowDown":
373
- return t3.preventDefault(), d2 = (d2 + 1) % c2.length, G(c2, d2), void c2[d2]?.focus();
342
+ return t3.preventDefault(), b2 = (b2 + 1) % u2.length, w(u2, b2), void u2[b2]?.focus();
374
343
  case "ArrowUp":
375
- return t3.preventDefault(), d2 = (d2 - 1 + c2.length) % c2.length, G(c2, d2), void c2[d2]?.focus();
344
+ return t3.preventDefault(), b2 = (b2 - 1 + u2.length) % u2.length, w(u2, b2), void u2[b2]?.focus();
376
345
  case "ArrowRight": {
377
346
  t3.preventDefault();
378
- const e3 = c2[d2];
379
- return void (e3?.dataset.submenu && h2(e3));
347
+ const e3 = u2[b2];
348
+ return void (e3?.dataset.submenu && f2(e3));
380
349
  }
381
350
  case "ArrowLeft":
382
- return t3.preventDefault(), p2(), void c2[d2]?.focus();
351
+ return t3.preventDefault(), m2(), void u2[b2]?.focus();
383
352
  case "Enter":
384
353
  case " ": {
385
354
  t3.preventDefault();
386
- const n3 = c2[d2];
355
+ const n3 = u2[b2];
387
356
  if (!n3) return;
388
- return void (n3.dataset.submenu ? h2(n3) : n3.dataset.command && (e2.executeCommand(n3.dataset.command), m2()));
357
+ return void (n3.dataset.submenu ? f2(n3) : n3.dataset.command && (e2.executeCommand(n3.dataset.command), C2()));
389
358
  }
390
359
  case "Home":
391
- return t3.preventDefault(), d2 = 0, G(c2, d2), void c2[d2]?.focus();
360
+ return t3.preventDefault(), b2 = 0, w(u2, b2), void u2[b2]?.focus();
392
361
  case "End":
393
- return t3.preventDefault(), d2 = c2.length - 1, G(c2, d2), void c2[d2]?.focus();
362
+ return t3.preventDefault(), b2 = u2.length - 1, w(u2, b2), void u2[b2]?.focus();
394
363
  }
395
- }), (function(t3, e3) {
396
- const n3 = window.innerWidth, o3 = window.innerHeight;
397
- let r3 = e3.left, l3 = e3.top;
398
- r3 + 200 > n3 && (r3 = n3 - 200), l3 + 340 > o3 && (l3 = o3 - 340), r3 < 0 && (r3 = 0), l3 < 0 && (l3 = 0), t3.style.left = `${r3}px`, t3.style.top = `${l3}px`;
399
- })(s2, o2), t2.appendChild(s2), c2[0]?.focus(), requestAnimationFrame(() => {
400
- i2 && c2[0] && c2[0].focus();
364
+ }), g(d2, o2, { position: "below-start" }), t2.appendChild(d2), u2[0]?.focus(), requestAnimationFrame(() => {
365
+ a2 && u2[0] && u2[0].focus();
401
366
  });
402
- const f2 = (t3) => {
367
+ const x2 = (t3) => {
403
368
  const e3 = t3.composedPath();
404
- e3.includes(s2) || a2 && e3.includes(a2) || m2();
369
+ e3.includes(d2) || s2 && e3.includes(s2) || C2();
405
370
  };
406
- function m2() {
407
- i2 && (i2 = false, p2(), s2.remove(), document.removeEventListener("mousedown", f2, true), r2?.());
371
+ function C2() {
372
+ a2 && (a2 = false, m2(), d2.remove(), document.removeEventListener("mousedown", x2, true), r2?.());
408
373
  }
409
374
  return setTimeout(() => {
410
- document.addEventListener("mousedown", f2, true);
411
- }, 0), { isOpen: () => i2, close: m2, destroy: m2 };
412
- }
413
- function G(t2, e2) {
414
- for (let n2 = 0; n2 < t2.length; n2++) {
415
- const o2 = t2[n2];
416
- o2 && o2.setAttribute("tabindex", n2 === e2 ? "0" : "-1");
417
- }
375
+ document.addEventListener("mousedown", x2, true);
376
+ }, 0), { isOpen: () => a2, close: C2, destroy: C2 };
418
377
  }
419
- function J(t2, e2) {
378
+ function X(t2, e2) {
420
379
  const n2 = t2.getState();
421
380
  if (o(n2.selection) || r(n2.selection)) return false;
422
- const l2 = n2.selection, i2 = v(n2, l2.anchor.blockId);
381
+ const l2 = n2.selection, i2 = x(n2, l2.anchor.blockId);
423
382
  return !!i2 && e2(n2, l2, i2);
424
383
  }
425
- function Q(t2) {
426
- return J(t2, (e2, n2, o2) => {
384
+ function G(t2) {
385
+ return X(t2, (e2, n2, o2) => {
427
386
  const r2 = o2.tableIndex + 1;
428
387
  if (r2 >= e2.doc.children.length) return false;
429
388
  const i2 = e2.doc.children[r2];
@@ -432,69 +391,69 @@ function Q(t2) {
432
391
  return t2.dispatch(a2), true;
433
392
  });
434
393
  }
435
- let tt = null;
436
- function et(t2, e2, n2, o2) {
437
- const r2 = t2.getState(), i2 = x(r2, e2, n2, o2);
394
+ let J = null;
395
+ function Q(t2, e2, n2, o2) {
396
+ const r2 = t2.getState(), i2 = C(r2, e2, n2, o2);
438
397
  if (!i2) return false;
439
- const a2 = C(r2, i2), s2 = r2.transaction("command").setSelection(l(a2, 0)).build();
398
+ const a2 = I(r2, i2), s2 = r2.transaction("command").setSelection(l(a2, 0)).build();
440
399
  return t2.dispatch(s2), true;
441
400
  }
442
- function nt(t2, e2, n2, o2) {
443
- const r2 = t2.getState(), i2 = x(r2, e2, n2, o2);
401
+ function tt(t2, e2, n2, o2) {
402
+ const r2 = t2.getState(), i2 = C(r2, e2, n2, o2);
444
403
  if (!i2) return false;
445
404
  const a2 = y(r2, i2), s2 = r2.getBlock(a2);
446
405
  if (!s2) return false;
447
- const c2 = m(s2), d2 = r2.transaction("command").setSelection(l(a2, c2)).build();
406
+ const c2 = f(s2), d2 = r2.transaction("command").setSelection(l(a2, c2)).build();
448
407
  return t2.dispatch(d2), true;
449
408
  }
450
- function ot(t2, e2) {
409
+ function et(t2, e2) {
451
410
  const n2 = t2.getState(), o2 = n2.getNodePath(e2);
452
411
  if (!o2) return false;
453
412
  const r2 = n2.transaction("input").setSelection(i(e2, o2)).build();
454
413
  return t2.dispatch(r2), true;
455
414
  }
456
- const rt = '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M6 1v10M1 6h10" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/></svg>';
457
- function lt(t2, e2, n2) {
415
+ const nt = '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M6 1v10M1 6h10" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/></svg>';
416
+ function ot(t2, e2, n2) {
458
417
  const o2 = document.createElement("button");
459
418
  return o2.className = t2, o2.innerHTML = e2, o2.title = n2, o2.type = "button", o2.setAttribute("aria-label", n2), o2.setAttribute("contenteditable", "false"), o2.addEventListener("mousedown", (t3) => {
460
419
  t3.preventDefault(), t3.stopPropagation();
461
420
  }), o2;
462
421
  }
463
- function it(t2, e2) {
422
+ function rt(t2, e2) {
464
423
  const n2 = document.createElement("div");
465
424
  n2.className = `ntbl-insert-line ntbl-insert-line--${t2}`, n2.setAttribute("contenteditable", "false"), n2.setAttribute("data-notectl-no-print", "");
466
- const o2 = lt("ntbl-insert-btn", rt, e2 ?? ("horizontal" === t2 ? "Insert row" : "Insert column"));
425
+ const o2 = ot("ntbl-insert-btn", nt, e2 ?? ("horizontal" === t2 ? "Insert row" : "Insert column"));
467
426
  return n2.appendChild(o2), n2;
468
427
  }
469
- function at(t2, e2) {
428
+ function lt(t2, e2) {
470
429
  const n2 = document.createElement("button");
471
430
  n2.className = `ntbl-add-zone ${t2}`, n2.type = "button", n2.setAttribute("contenteditable", "false"), n2.setAttribute("aria-label", e2), n2.setAttribute("data-notectl-no-print", ""), n2.title = e2;
472
431
  const o2 = document.createElement("span");
473
- return o2.className = "ntbl-add-icon", o2.innerHTML = rt, n2.appendChild(o2), n2.addEventListener("mousedown", (t3) => {
432
+ return o2.className = "ntbl-add-icon", o2.innerHTML = nt, n2.appendChild(o2), n2.addEventListener("mousedown", (t3) => {
474
433
  t3.preventDefault(), t3.stopPropagation();
475
434
  }), n2;
476
435
  }
477
- function st(t2) {
436
+ function it(t2) {
478
437
  const e2 = document.createElement("div");
479
438
  return e2.className = t2, e2.setAttribute("contenteditable", "false"), e2.setAttribute("data-notectl-no-print", ""), e2;
480
439
  }
481
- function ct(t2, e2) {
440
+ function at(t2, e2) {
482
441
  "none" === e2 ? (t2.style.backgroundColor = "transparent", t2.style.border = "1px dashed rgba(128,128,128,0.4)") : e2 ? (t2.style.backgroundColor = e2, t2.style.border = "1px solid rgba(0,0,0,0.15)") : (t2.style.backgroundColor = "var(--notectl-border)", t2.style.border = "1px solid rgba(0,0,0,0.15)");
483
442
  }
484
- function dt(t2, e2, n2, o2) {
443
+ function st(t2, e2, n2, o2) {
485
444
  const r2 = document.createElement("div");
486
445
  r2.className = `ntbl-handle ${t2}`, r2.dataset.index = String(e2);
487
- const l2 = lt("ntbl-handle-delete", '<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 10 10" fill="none"><path d="M2 2l6 6M8 2l-6 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>', n2);
446
+ const l2 = ot("ntbl-handle-delete", '<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 10 10" fill="none"><path d="M2 2l6 6M8 2l-6 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>', n2);
488
447
  return l2.addEventListener("click", (t3) => {
489
448
  t3.preventDefault(), t3.stopPropagation(), o2(e2);
490
449
  }), r2.appendChild(l2), r2;
491
450
  }
492
- function ut(t2, e2) {
451
+ function ct(t2, e2) {
493
452
  let n2 = 0, o2 = 0, r2 = t2;
494
453
  for (; r2 && r2 !== e2; ) n2 += r2.offsetTop, o2 += r2.offsetLeft, r2 = r2.offsetParent;
495
454
  return { top: n2, left: o2 };
496
455
  }
497
- class bt {
456
+ class dt {
498
457
  tableId;
499
458
  numRows;
500
459
  numCols;
@@ -552,16 +511,16 @@ class bt {
552
511
  onMouseLeave = () => {
553
512
  this.hideInsertLines();
554
513
  };
555
- constructor(t2, e2, n2, o2, r2, l2, i2 = R) {
556
- if (this.container = t2, this.tableEl = e2, this.getState = o2, this.dispatchFn = r2, this.pluginContext = l2 ?? null, this.locale = i2, this.tableId = n2.id, this.numRows = b(n2).length, this.numCols = this.countCols(n2), this.colBar = st("ntbl-col-bar"), this.rowBar = st("ntbl-row-bar"), this.insertLineH = it("horizontal", i2.insertRow), this.insertLineV = it("vertical", i2.insertColumn), this.addRowZone = at("ntbl-add-row", i2.addRow), this.addColZone = at("ntbl-add-col", i2.addColumn), this.deleteTableBtn = lt("ntbl-delete-table-btn", '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M9 3h6m-9 4h12M10 11v6m4-6v6m-9 3h14l-1-13H6L5 20z" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/></svg>', i2.deleteTable), this.deleteTableBtn.setAttribute("data-notectl-no-print", ""), l2) {
514
+ constructor(t2, e2, n2, o2, r2, l2, i2 = k) {
515
+ if (this.container = t2, this.tableEl = e2, this.getState = o2, this.dispatchFn = r2, this.pluginContext = l2 ?? null, this.locale = i2, this.tableId = n2.id, this.numRows = u(n2).length, this.numCols = this.countCols(n2), this.colBar = it("ntbl-col-bar"), this.rowBar = it("ntbl-row-bar"), this.insertLineH = rt("horizontal", i2.insertRow), this.insertLineV = rt("vertical", i2.insertColumn), this.addRowZone = lt("ntbl-add-row", i2.addRow), this.addColZone = lt("ntbl-add-col", i2.addColumn), this.deleteTableBtn = ot("ntbl-delete-table-btn", '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M9 3h6m-9 4h12M10 11v6m4-6v6m-9 3h14l-1-13H6L5 20z" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/></svg>', i2.deleteTable), this.deleteTableBtn.setAttribute("data-notectl-no-print", ""), l2) {
557
516
  const t3 = z(o2(), this.tableId);
558
517
  this.borderColorBtn = (function(t4) {
559
- const e3 = lt("ntbl-border-color-btn", '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M3 3h18v18H3V3zm0 6h18M3 15h18M9 3v18M15 3v18" stroke="currentColor" stroke-width="1.5"/></svg>', "Border color");
518
+ const e3 = ot("ntbl-border-color-btn", '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none"><path d="M3 3h18v18H3V3zm0 6h18M3 15h18M9 3v18M15 3v18" stroke="currentColor" stroke-width="1.5"/></svg>', "Border color");
560
519
  e3.setAttribute("data-notectl-no-print", "");
561
520
  const n3 = document.createElement("span");
562
- return n3.className = "ntbl-border-color-swatch", ct(n3, t4), e3.appendChild(n3), e3;
521
+ return n3.className = "ntbl-border-color-swatch", at(n3, t4), e3.appendChild(n3), e3;
563
522
  })(t3), this.actionsBtn = (function(t4) {
564
- const e3 = lt("ntbl-actions-btn", '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="currentColor"><circle cx="12" cy="5" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="12" cy="19" r="2"/></svg>', t4 ?? "Table actions (Right-click or Shift+F10)");
523
+ const e3 = ot("ntbl-actions-btn", '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="currentColor"><circle cx="12" cy="5" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="12" cy="19" r="2"/></svg>', t4 ?? "Table actions (Right-click or Shift+F10)");
565
524
  return e3.setAttribute("data-notectl-no-print", ""), e3;
566
525
  })(i2.tableActionsHint);
567
526
  } else this.borderColorBtn = null, this.actionsBtn = null;
@@ -574,12 +533,12 @@ class bt {
574
533
  }
575
534
  update(t2) {
576
535
  this.tableId = t2.id;
577
- const e2 = b(t2).length, n2 = this.countCols(t2);
536
+ const e2 = u(t2).length, n2 = this.countCols(t2);
578
537
  if (e2 === this.numRows && n2 === this.numCols || (this.numRows = e2, this.numCols = n2, this.rebuildColHandles(), this.rebuildRowHandles()), this.borderColorBtn) {
579
538
  const e3 = this.borderColorBtn.querySelector(".ntbl-border-color-swatch");
580
539
  if (e3) {
581
540
  const n3 = t2.attrs?.borderColor;
582
- ct(e3, n3);
541
+ at(e3, n3);
583
542
  }
584
543
  }
585
544
  requestAnimationFrame(() => this.positionControls());
@@ -590,15 +549,15 @@ class bt {
590
549
  bindEventListeners() {
591
550
  const t2 = this.insertLineH.querySelector(".ntbl-insert-btn"), e2 = this.insertLineV.querySelector(".ntbl-insert-btn");
592
551
  if (t2.addEventListener("click", () => {
593
- this.activeRowIndex >= 0 && this.dispatchTransaction(j(this.getState(), this.tableId, this.activeRowIndex));
552
+ this.activeRowIndex >= 0 && this.dispatchTransaction(_(this.getState(), this.tableId, this.activeRowIndex));
594
553
  }), e2.addEventListener("click", () => {
595
- this.activeColIndex >= 0 && this.dispatchTransaction(V(this.getState(), this.tableId, this.activeColIndex));
554
+ this.activeColIndex >= 0 && this.dispatchTransaction(j(this.getState(), this.tableId, this.activeColIndex));
596
555
  }), this.addRowZone.addEventListener("click", () => {
597
- this.dispatchTransaction(j(this.getState(), this.tableId, this.numRows));
556
+ this.dispatchTransaction(_(this.getState(), this.tableId, this.numRows));
598
557
  }), this.addColZone.addEventListener("click", () => {
599
- this.dispatchTransaction(V(this.getState(), this.tableId, this.numCols));
558
+ this.dispatchTransaction(j(this.getState(), this.tableId, this.numCols));
600
559
  }), this.deleteTableBtn.addEventListener("click", () => {
601
- this.dispatchTransaction(O(this.getState(), this.tableId));
560
+ this.dispatchTransaction(q(this.getState(), this.tableId));
602
561
  }), this.borderColorBtn && this.pluginContext) {
603
562
  const t3 = this.pluginContext;
604
563
  this.borderColorBtn.addEventListener("click", () => {
@@ -617,7 +576,7 @@ class bt {
617
576
  if (this.activeContextMenu?.isOpen()) return this.activeContextMenu.close(), void (this.activeContextMenu = null);
618
577
  if (!this.actionsBtn) return;
619
578
  const e2 = this.actionsBtn.getBoundingClientRect(), n2 = new DOMRect(e2.left, e2.bottom + 4, 0, 0);
620
- this.activeContextMenu = X(this.container, t2, this.tableId, n2, () => {
579
+ this.activeContextMenu = W(this.container, t2, this.tableId, n2, () => {
621
580
  this.activeContextMenu = null;
622
581
  }, this.locale);
623
582
  }
@@ -633,8 +592,8 @@ class bt {
633
592
  t2 && this.dispatchFn(t2);
634
593
  }
635
594
  countCols(t2) {
636
- const e2 = b(t2);
637
- return e2[0] ? b(e2[0]).length : 0;
595
+ const e2 = u(t2);
596
+ return e2[0] ? u(e2[0]).length : 0;
638
597
  }
639
598
  positionControls() {
640
599
  !(function(t2, e2, n2) {
@@ -660,18 +619,18 @@ class bt {
660
619
  }
661
620
  t2.style.height = `${l2}px`;
662
621
  })(this.rowBar, this.tableEl), (function(t2, e2, n2, o2) {
663
- const r2 = ut(n2, o2), l2 = n2.offsetHeight, i2 = n2.offsetWidth;
622
+ const r2 = ct(n2, o2), l2 = n2.offsetHeight, i2 = n2.offsetWidth;
664
623
  t2.style.width = `${i2}px`, t2.style.left = `${r2.left}px`, e2.style.height = `${l2}px`, e2.style.top = `${r2.top}px`;
665
624
  })(this.addRowZone, this.addColZone, this.tableEl, this.container);
666
625
  }
667
626
  showHorizontalLine(t2) {
668
627
  this.activeRowIndex = t2.index;
669
- const e2 = ut(this.tableEl, this.container);
628
+ const e2 = ct(this.tableEl, this.container);
670
629
  this.insertLineH.style.top = e2.top + t2.position - 1 + "px", this.insertLineH.style.left = `${e2.left}px`, this.insertLineH.style.width = `${this.tableEl.offsetWidth}px`, this.insertLineH.classList.add("ntbl-insert-line--visible");
671
630
  }
672
631
  showVerticalLine(t2) {
673
632
  this.activeColIndex = t2.index;
674
- const e2 = ut(this.tableEl, this.container);
633
+ const e2 = ct(this.tableEl, this.container);
675
634
  this.insertLineV.style.left = e2.left + t2.position - 1 + "px", this.insertLineV.style.top = `${e2.top}px`, this.insertLineV.style.height = `${this.tableEl.offsetHeight}px`, this.insertLineV.classList.add("ntbl-insert-line--visible");
676
635
  }
677
636
  hideInsertLines() {
@@ -686,8 +645,8 @@ class bt {
686
645
  rebuildColHandles() {
687
646
  this.colBar.innerHTML = "";
688
647
  for (let t2 = 0; t2 < this.numCols; t2++) {
689
- const e2 = dt("ntbl-col-handle", t2, "Delete column", (t3) => {
690
- this.dispatchTransaction(q(this.getState(), this.tableId, t3));
648
+ const e2 = st("ntbl-col-handle", t2, "Delete column", (t3) => {
649
+ this.dispatchTransaction(Z(this.getState(), this.tableId, t3));
691
650
  });
692
651
  this.colBar.appendChild(e2);
693
652
  }
@@ -695,19 +654,19 @@ class bt {
695
654
  rebuildRowHandles() {
696
655
  this.rowBar.innerHTML = "";
697
656
  for (let t2 = 0; t2 < this.numRows; t2++) {
698
- const e2 = dt("ntbl-row-handle", t2, "Delete row", (t3) => {
699
- this.dispatchTransaction(Z(this.getState(), this.tableId, t3));
657
+ const e2 = st("ntbl-row-handle", t2, "Delete row", (t3) => {
658
+ this.dispatchTransaction(V(this.getState(), this.tableId, t3));
700
659
  });
701
660
  this.rowBar.appendChild(e2);
702
661
  }
703
662
  }
704
663
  }
705
- function ht(t2, e2) {
664
+ function ut(t2, e2) {
706
665
  "none" === e2 ? (t2.style.setProperty("--ntbl-border-color", "transparent"), t2.classList.add("notectl-table--borderless")) : e2 ? (t2.style.setProperty("--ntbl-border-color", e2), t2.classList.remove("notectl-table--borderless")) : (t2.style.removeProperty("--ntbl-border-color"), t2.classList.remove("notectl-table--borderless"));
707
666
  }
708
- const pt = new t("tableSelection");
709
- const ft = { maxPickerRows: 8, maxPickerCols: 8 }, mt = "border-collapse: collapse; width: 100%; table-layout: fixed";
710
- class gt {
667
+ const bt = new t("tableSelection");
668
+ const ht = { maxPickerRows: 8, maxPickerCols: 8 }, pt = "border-collapse: collapse; width: 100%; table-layout: fixed";
669
+ class ft {
711
670
  id = "table";
712
671
  name = "Table";
713
672
  priority = 40;
@@ -717,74 +676,74 @@ class gt {
717
676
  cleanupMouseSelection = null;
718
677
  context = null;
719
678
  constructor(t2) {
720
- this.config = { ...ft, ...t2 };
679
+ this.config = { ...ht, ...t2 };
721
680
  }
722
681
  init(t2) {
723
- this.locale = e(D, t2, this.config.locale), t2.registerStyleSheet('\n/* Table */\n.notectl-table-wrapper {\n margin: 8px 0;\n overflow-x: auto;\n position: relative;\n}\n\n.notectl-table {\n width: 100%;\n border-collapse: collapse;\n table-layout: fixed;\n}\n\n.notectl-table td {\n border: 1px solid var(--ntbl-border-color, var(--notectl-border));\n padding: 8px 12px;\n min-width: 60px;\n vertical-align: top;\n min-height: 1.6em;\n}\n\n.notectl-table--borderless td {\n border: 1px dashed rgba(128, 128, 128, 0.15);\n}\n\n@media print {\n .notectl-table--borderless td {\n border: none;\n }\n}\n\n.notectl-table td:focus-within {\n outline: 2px solid var(--notectl-primary);\n outline-offset: -2px;\n}\n\n.notectl-table-cell--selected {\n background: var(--notectl-primary-muted);\n}\n\n/* Table Context Menu */\n.notectl-table-context-menu {\n position: fixed;\n background: var(--notectl-surface-overlay);\n border: 1px solid var(--notectl-border);\n border-radius: 6px;\n box-shadow: 0 4px 12px var(--notectl-shadow);\n padding: 4px 0;\n min-width: 180px;\n z-index: 10000;\n}\n\n.notectl-table-context-menu button {\n display: block;\n width: 100%;\n padding: 8px 12px;\n text-align: left;\n border: none;\n background: none;\n cursor: pointer;\n font-size: 14px;\n color: var(--notectl-fg);\n font-family: inherit;\n}\n\n.notectl-table-context-menu button:hover {\n background: var(--notectl-hover-bg);\n}\n\n.notectl-table-context-menu hr {\n border: none;\n border-top: 1px solid var(--notectl-border);\n margin: 4px 0;\n}\n\n/* === Table Controls === */\n\n/* Outer container for table + controls */\n.ntbl-container {\n position: relative;\n margin: 8px 0;\n padding: 24px 0 0 24px;\n}\n\n.ntbl-container .notectl-table-wrapper {\n margin: 0;\n}\n\n.ntbl-container.notectl-table--selected .notectl-table-wrapper {\n outline: 2px solid var(--notectl-primary-fg);\n outline-offset: 2px;\n border-radius: 6px;\n}\n\n/* --- Column Handle Bar --- */\n.ntbl-col-bar {\n position: absolute;\n top: 0;\n left: 24px;\n height: 20px;\n display: flex;\n opacity: 0;\n transition: opacity 0.2s ease;\n z-index: 3;\n pointer-events: none;\n}\n\n.ntbl-container:hover .ntbl-col-bar,\n.ntbl-container:focus-within .ntbl-col-bar {\n opacity: 1;\n pointer-events: auto;\n}\n\n.ntbl-container.notectl-table--selected .ntbl-col-bar {\n opacity: 1;\n pointer-events: auto;\n}\n\n/* --- Row Handle Bar --- */\n.ntbl-row-bar {\n position: absolute;\n top: 24px;\n left: 0;\n width: 20px;\n display: flex;\n flex-direction: column;\n opacity: 0;\n transition: opacity 0.2s ease;\n z-index: 3;\n pointer-events: none;\n}\n\n.ntbl-container:hover .ntbl-row-bar,\n.ntbl-container:focus-within .ntbl-row-bar {\n opacity: 1;\n pointer-events: auto;\n}\n\n.ntbl-container.notectl-table--selected .ntbl-row-bar {\n opacity: 1;\n pointer-events: auto;\n}\n\n/* --- Handle (shared base) --- */\n.ntbl-handle {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: background 0.15s ease;\n border-radius: 3px;\n}\n\n.ntbl-col-handle {\n height: 100%;\n background: var(--notectl-hover-bg);\n border-radius: 4px 4px 0 0;\n}\n\n.ntbl-col-handle:hover {\n background: var(--notectl-border);\n}\n\n.ntbl-row-handle {\n width: 100%;\n background: var(--notectl-hover-bg);\n border-radius: 4px 0 0 4px;\n}\n\n.ntbl-row-handle:hover {\n background: var(--notectl-border);\n}\n\n/* --- Handle Delete Button --- */\n.ntbl-handle-delete {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n border: none;\n background: transparent;\n color: var(--notectl-fg-muted);\n cursor: pointer;\n border-radius: 3px;\n padding: 0;\n opacity: 0;\n transform: scale(0.7);\n transition: opacity 0.15s, transform 0.15s,\n background 0.15s, color 0.15s;\n}\n\n.ntbl-handle:hover .ntbl-handle-delete,\n.ntbl-handle:focus-within .ntbl-handle-delete {\n opacity: 1;\n transform: scale(1);\n}\n\n.ntbl-handle-delete:hover,\n.ntbl-handle-delete:focus-visible {\n background: var(--notectl-danger-muted);\n color: var(--notectl-danger);\n}\n\n.ntbl-handle-delete:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n/* --- Insert Lines --- */\n.ntbl-insert-line {\n position: absolute;\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.15s ease;\n z-index: 6;\n}\n\n.ntbl-insert-line--visible {\n opacity: 1;\n pointer-events: auto;\n}\n\n.ntbl-insert-line--horizontal {\n height: 2px;\n background: linear-gradient(\n 90deg,\n transparent,\n var(--notectl-primary) 8%,\n var(--notectl-primary) 92%,\n transparent\n );\n box-shadow: 0 0 6px var(--notectl-focus-ring);\n}\n\n.ntbl-insert-line--vertical {\n width: 2px;\n background: linear-gradient(\n 180deg,\n transparent,\n var(--notectl-primary) 8%,\n var(--notectl-primary) 92%,\n transparent\n );\n box-shadow: 0 0 6px var(--notectl-focus-ring);\n}\n\n/* --- Insert Button on Line --- */\n.ntbl-insert-btn {\n position: absolute;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: var(--notectl-bg);\n border: 2px solid var(--notectl-primary);\n color: var(--notectl-primary);\n cursor: pointer;\n pointer-events: all;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n box-shadow: 0 2px 8px var(--notectl-focus-ring);\n transition: background 0.15s, color 0.15s,\n transform 0.15s, box-shadow 0.15s;\n}\n\n.ntbl-insert-line--horizontal .ntbl-insert-btn {\n left: 50%;\n top: -9px;\n transform: translateX(-50%);\n}\n\n.ntbl-insert-line--vertical .ntbl-insert-btn {\n top: 50%;\n left: -9px;\n transform: translateY(-50%);\n}\n\n.ntbl-insert-btn:hover,\n.ntbl-insert-btn:focus-visible {\n background: var(--notectl-primary);\n color: var(--notectl-bg);\n box-shadow: 0 2px 12px var(--notectl-focus-ring);\n}\n\n.ntbl-insert-btn:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-insert-line--horizontal .ntbl-insert-btn:hover {\n transform: translateX(-50%) scale(1.2);\n}\n\n.ntbl-insert-line--vertical .ntbl-insert-btn:hover {\n transform: translateY(-50%) scale(1.2);\n}\n\n/* --- Add Row / Add Column Zones --- */\n.ntbl-add-zone {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n user-select: none;\n opacity: 0;\n transition: opacity 0.2s ease, background 0.2s ease,\n border-color 0.2s ease;\n}\n\n.ntbl-container:hover .ntbl-add-zone,\n.ntbl-container:focus-within .ntbl-add-zone {\n opacity: 1;\n}\n\n.ntbl-container.notectl-table--selected .ntbl-add-zone {\n opacity: 1;\n}\n\n.ntbl-delete-table-btn {\n position: absolute;\n top: 0;\n left: 0;\n width: 20px;\n height: 20px;\n border: 1px solid var(--notectl-danger);\n border-radius: 4px;\n background: var(--notectl-bg);\n color: var(--notectl-danger);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transition: opacity 0.2s ease, background 0.15s, border-color 0.15s;\n z-index: 7;\n}\n\n.ntbl-container:hover .ntbl-delete-table-btn,\n.ntbl-container:focus-within .ntbl-delete-table-btn,\n.ntbl-container.notectl-table--selected .ntbl-delete-table-btn {\n opacity: 1;\n}\n\n.ntbl-delete-table-btn:hover,\n.ntbl-delete-table-btn:focus-visible {\n background: var(--notectl-danger-muted);\n border-color: var(--notectl-danger);\n}\n\n.ntbl-delete-table-btn:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n/* --- Context Menu Discovery Hint --- */\n.ntbl-context-hint {\n position: absolute;\n top: 4px;\n right: 0;\n font-size: 11px;\n color: var(--notectl-fg-muted);\n padding: 2px 8px;\n border-radius: 4px;\n opacity: 0;\n transition: opacity 0.2s ease;\n pointer-events: none;\n white-space: nowrap;\n z-index: 5;\n}\n\n.ntbl-container:hover .ntbl-context-hint,\n.ntbl-container:focus-within .ntbl-context-hint,\n.ntbl-container.notectl-table--selected .ntbl-context-hint {\n opacity: 1;\n}\n\n/* --- Table Actions Button --- */\n.ntbl-actions-btn {\n position: absolute;\n top: 0;\n left: 48px;\n width: 20px;\n height: 20px;\n border: 1px solid var(--notectl-border);\n border-radius: 4px;\n background: var(--notectl-bg);\n color: var(--notectl-fg-muted);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transition: opacity 0.2s ease, background 0.15s, border-color 0.15s;\n z-index: 7;\n cursor: pointer;\n padding: 0;\n}\n\n.ntbl-container:hover .ntbl-actions-btn,\n.ntbl-container:focus-within .ntbl-actions-btn,\n.ntbl-container.notectl-table--selected .ntbl-actions-btn {\n opacity: 1;\n}\n\n.ntbl-actions-btn:hover,\n.ntbl-actions-btn:focus-visible {\n background: var(--notectl-hover-bg);\n border-color: var(--notectl-primary);\n}\n\n.ntbl-actions-btn:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n/* --- Border Color Button --- */\n.ntbl-border-color-btn {\n position: absolute;\n top: 0;\n left: 24px;\n width: 20px;\n height: 20px;\n border: 1px solid var(--notectl-border);\n border-radius: 4px;\n background: var(--notectl-bg);\n color: var(--notectl-fg-muted);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transition: opacity 0.2s ease, background 0.15s, border-color 0.15s;\n z-index: 7;\n cursor: pointer;\n padding: 0;\n}\n\n.ntbl-container:hover .ntbl-border-color-btn,\n.ntbl-container:focus-within .ntbl-border-color-btn,\n.ntbl-container.notectl-table--selected .ntbl-border-color-btn {\n opacity: 1;\n}\n\n.ntbl-border-color-btn:hover,\n.ntbl-border-color-btn:focus-visible {\n background: var(--notectl-hover-bg);\n border-color: var(--notectl-primary);\n}\n\n.ntbl-border-color-btn:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-border-color-swatch {\n width: 10px;\n height: 10px;\n border-radius: 2px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n}\n\n/* --- Context Menu Keyboard Hint --- */\n.notectl-table-context-menu__hint {\n padding: 4px 12px 6px;\n font-size: 11px;\n color: var(--notectl-fg-muted);\n border-top: 1px solid var(--notectl-border);\n margin-top: 4px;\n text-align: center;\n user-select: none;\n}\n\n/* --- Context Menu Focus --- */\n.notectl-table-context-menu button:focus-visible {\n outline: none;\n background: var(--notectl-primary-muted);\n box-shadow: inset 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.notectl-table-context-menu [role="separator"] {\n border: none;\n border-top: 1px solid var(--notectl-border);\n margin: 4px 0;\n height: 0;\n}\n\n.ntbl-add-row {\n bottom: 0;\n height: 24px;\n border: 1px dashed var(--notectl-border);\n border-radius: 0 0 6px 6px;\n border-top: none;\n color: var(--notectl-fg-muted);\n transform: translateY(100%);\n}\n\n.ntbl-add-row:hover,\n.ntbl-add-row:focus-visible {\n background: var(--notectl-primary-muted);\n border-color: var(--notectl-primary);\n color: var(--notectl-primary);\n}\n\n.ntbl-add-row:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-add-col {\n right: 0;\n top: 24px;\n width: 24px;\n border: 1px dashed var(--notectl-border);\n border-radius: 0 6px 6px 0;\n border-left: none;\n color: var(--notectl-fg-muted);\n transform: translateX(100%);\n}\n\n.ntbl-add-col:hover,\n.ntbl-add-col:focus-visible {\n background: var(--notectl-primary-muted);\n border-color: var(--notectl-primary);\n color: var(--notectl-primary);\n}\n\n.ntbl-add-col:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-add-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform 0.2s ease;\n}\n\n.ntbl-add-zone:hover .ntbl-add-icon {\n transform: scale(1.15);\n}\n'), this.context = t2, this.registerNodeSpecs(t2), this.registerNodeViews(t2), W(t2, this.locale), t2.registerCommand("resetTableBorderColor", () => P(t2, this.locale)), (function(t3, e2) {
682
+ this.locale = e(M, t2, this.config.locale), t2.registerStyleSheet('\n/* Table */\n.notectl-table-wrapper {\n margin: 8px 0;\n overflow-x: auto;\n position: relative;\n}\n\n.notectl-table {\n width: 100%;\n border-collapse: collapse;\n table-layout: fixed;\n}\n\n.notectl-table td {\n border: 1px solid var(--ntbl-border-color, var(--notectl-border));\n padding: 8px 12px;\n min-width: 60px;\n vertical-align: top;\n min-height: 1.6em;\n}\n\n.notectl-table--borderless td {\n border: 1px dashed rgba(128, 128, 128, 0.15);\n}\n\n@media print {\n .notectl-table--borderless td {\n border: none;\n }\n}\n\n.notectl-table td:focus-within {\n outline: 2px solid var(--notectl-primary);\n outline-offset: -2px;\n}\n\n.notectl-table-cell--selected {\n background: var(--notectl-primary-muted);\n}\n\n/* Table Context Menu */\n.notectl-table-context-menu {\n position: fixed;\n background: var(--notectl-surface-overlay);\n border: 1px solid var(--notectl-border);\n border-radius: 6px;\n box-shadow: 0 4px 12px var(--notectl-shadow);\n padding: 4px 0;\n min-width: 180px;\n z-index: 10000;\n}\n\n.notectl-table-context-menu button {\n display: block;\n width: 100%;\n padding: 8px 12px;\n text-align: left;\n border: none;\n background: none;\n cursor: pointer;\n font-size: 14px;\n color: var(--notectl-fg);\n font-family: inherit;\n}\n\n.notectl-table-context-menu button:hover {\n background: var(--notectl-hover-bg);\n}\n\n.notectl-table-context-menu hr {\n border: none;\n border-top: 1px solid var(--notectl-border);\n margin: 4px 0;\n}\n\n/* === Table Controls === */\n\n/* Outer container for table + controls */\n.ntbl-container {\n position: relative;\n margin: 8px 0;\n padding: 24px 0 0 24px;\n}\n\n.ntbl-container .notectl-table-wrapper {\n margin: 0;\n}\n\n.ntbl-container.notectl-table--selected .notectl-table-wrapper {\n outline: 2px solid var(--notectl-primary-fg);\n outline-offset: 2px;\n border-radius: 6px;\n}\n\n/* --- Column Handle Bar --- */\n.ntbl-col-bar {\n position: absolute;\n top: 0;\n left: 24px;\n height: 20px;\n display: flex;\n opacity: 0;\n transition: opacity 0.2s ease;\n z-index: 3;\n pointer-events: none;\n}\n\n.ntbl-container:hover .ntbl-col-bar,\n.ntbl-container:focus-within .ntbl-col-bar {\n opacity: 1;\n pointer-events: auto;\n}\n\n.ntbl-container.notectl-table--selected .ntbl-col-bar {\n opacity: 1;\n pointer-events: auto;\n}\n\n/* --- Row Handle Bar --- */\n.ntbl-row-bar {\n position: absolute;\n top: 24px;\n left: 0;\n width: 20px;\n display: flex;\n flex-direction: column;\n opacity: 0;\n transition: opacity 0.2s ease;\n z-index: 3;\n pointer-events: none;\n}\n\n.ntbl-container:hover .ntbl-row-bar,\n.ntbl-container:focus-within .ntbl-row-bar {\n opacity: 1;\n pointer-events: auto;\n}\n\n.ntbl-container.notectl-table--selected .ntbl-row-bar {\n opacity: 1;\n pointer-events: auto;\n}\n\n/* --- Handle (shared base) --- */\n.ntbl-handle {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: background 0.15s ease;\n border-radius: 3px;\n}\n\n.ntbl-col-handle {\n height: 100%;\n background: var(--notectl-hover-bg);\n border-radius: 4px 4px 0 0;\n}\n\n.ntbl-col-handle:hover {\n background: var(--notectl-border);\n}\n\n.ntbl-row-handle {\n width: 100%;\n background: var(--notectl-hover-bg);\n border-radius: 4px 0 0 4px;\n}\n\n.ntbl-row-handle:hover {\n background: var(--notectl-border);\n}\n\n/* --- Handle Delete Button --- */\n.ntbl-handle-delete {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n border: none;\n background: transparent;\n color: var(--notectl-fg-muted);\n cursor: pointer;\n border-radius: 3px;\n padding: 0;\n opacity: 0;\n transform: scale(0.7);\n transition: opacity 0.15s, transform 0.15s,\n background 0.15s, color 0.15s;\n}\n\n.ntbl-handle:hover .ntbl-handle-delete,\n.ntbl-handle:focus-within .ntbl-handle-delete {\n opacity: 1;\n transform: scale(1);\n}\n\n.ntbl-handle-delete:hover,\n.ntbl-handle-delete:focus-visible {\n background: var(--notectl-danger-muted);\n color: var(--notectl-danger);\n}\n\n.ntbl-handle-delete:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n/* --- Insert Lines --- */\n.ntbl-insert-line {\n position: absolute;\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.15s ease;\n z-index: 6;\n}\n\n.ntbl-insert-line--visible {\n opacity: 1;\n pointer-events: auto;\n}\n\n.ntbl-insert-line--horizontal {\n height: 2px;\n background: linear-gradient(\n 90deg,\n transparent,\n var(--notectl-primary) 8%,\n var(--notectl-primary) 92%,\n transparent\n );\n box-shadow: 0 0 6px var(--notectl-focus-ring);\n}\n\n.ntbl-insert-line--vertical {\n width: 2px;\n background: linear-gradient(\n 180deg,\n transparent,\n var(--notectl-primary) 8%,\n var(--notectl-primary) 92%,\n transparent\n );\n box-shadow: 0 0 6px var(--notectl-focus-ring);\n}\n\n/* --- Insert Button on Line --- */\n.ntbl-insert-btn {\n position: absolute;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: var(--notectl-bg);\n border: 2px solid var(--notectl-primary);\n color: var(--notectl-primary);\n cursor: pointer;\n pointer-events: all;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n box-shadow: 0 2px 8px var(--notectl-focus-ring);\n transition: background 0.15s, color 0.15s,\n transform 0.15s, box-shadow 0.15s;\n}\n\n.ntbl-insert-line--horizontal .ntbl-insert-btn {\n left: 50%;\n top: -9px;\n transform: translateX(-50%);\n}\n\n.ntbl-insert-line--vertical .ntbl-insert-btn {\n top: 50%;\n left: -9px;\n transform: translateY(-50%);\n}\n\n.ntbl-insert-btn:hover,\n.ntbl-insert-btn:focus-visible {\n background: var(--notectl-primary);\n color: var(--notectl-bg);\n box-shadow: 0 2px 12px var(--notectl-focus-ring);\n}\n\n.ntbl-insert-btn:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-insert-line--horizontal .ntbl-insert-btn:hover {\n transform: translateX(-50%) scale(1.2);\n}\n\n.ntbl-insert-line--vertical .ntbl-insert-btn:hover {\n transform: translateY(-50%) scale(1.2);\n}\n\n/* --- Add Row / Add Column Zones --- */\n.ntbl-add-zone {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n user-select: none;\n opacity: 0;\n transition: opacity 0.2s ease, background 0.2s ease,\n border-color 0.2s ease;\n}\n\n.ntbl-container:hover .ntbl-add-zone,\n.ntbl-container:focus-within .ntbl-add-zone {\n opacity: 1;\n}\n\n.ntbl-container.notectl-table--selected .ntbl-add-zone {\n opacity: 1;\n}\n\n.ntbl-delete-table-btn {\n position: absolute;\n top: 0;\n left: 0;\n width: 20px;\n height: 20px;\n border: 1px solid var(--notectl-danger);\n border-radius: 4px;\n background: var(--notectl-bg);\n color: var(--notectl-danger);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transition: opacity 0.2s ease, background 0.15s, border-color 0.15s;\n z-index: 7;\n}\n\n.ntbl-container:hover .ntbl-delete-table-btn,\n.ntbl-container:focus-within .ntbl-delete-table-btn,\n.ntbl-container.notectl-table--selected .ntbl-delete-table-btn {\n opacity: 1;\n}\n\n.ntbl-delete-table-btn:hover,\n.ntbl-delete-table-btn:focus-visible {\n background: var(--notectl-danger-muted);\n border-color: var(--notectl-danger);\n}\n\n.ntbl-delete-table-btn:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n/* --- Context Menu Discovery Hint --- */\n.ntbl-context-hint {\n position: absolute;\n top: 4px;\n right: 0;\n font-size: 11px;\n color: var(--notectl-fg-muted);\n padding: 2px 8px;\n border-radius: 4px;\n opacity: 0;\n transition: opacity 0.2s ease;\n pointer-events: none;\n white-space: nowrap;\n z-index: 5;\n}\n\n.ntbl-container:hover .ntbl-context-hint,\n.ntbl-container:focus-within .ntbl-context-hint,\n.ntbl-container.notectl-table--selected .ntbl-context-hint {\n opacity: 1;\n}\n\n/* --- Table Actions Button --- */\n.ntbl-actions-btn {\n position: absolute;\n top: 0;\n left: 48px;\n width: 20px;\n height: 20px;\n border: 1px solid var(--notectl-border);\n border-radius: 4px;\n background: var(--notectl-bg);\n color: var(--notectl-fg-muted);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transition: opacity 0.2s ease, background 0.15s, border-color 0.15s;\n z-index: 7;\n cursor: pointer;\n padding: 0;\n}\n\n.ntbl-container:hover .ntbl-actions-btn,\n.ntbl-container:focus-within .ntbl-actions-btn,\n.ntbl-container.notectl-table--selected .ntbl-actions-btn {\n opacity: 1;\n}\n\n.ntbl-actions-btn:hover,\n.ntbl-actions-btn:focus-visible {\n background: var(--notectl-hover-bg);\n border-color: var(--notectl-primary);\n}\n\n.ntbl-actions-btn:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n/* --- Border Color Button --- */\n.ntbl-border-color-btn {\n position: absolute;\n top: 0;\n left: 24px;\n width: 20px;\n height: 20px;\n border: 1px solid var(--notectl-border);\n border-radius: 4px;\n background: var(--notectl-bg);\n color: var(--notectl-fg-muted);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transition: opacity 0.2s ease, background 0.15s, border-color 0.15s;\n z-index: 7;\n cursor: pointer;\n padding: 0;\n}\n\n.ntbl-container:hover .ntbl-border-color-btn,\n.ntbl-container:focus-within .ntbl-border-color-btn,\n.ntbl-container.notectl-table--selected .ntbl-border-color-btn {\n opacity: 1;\n}\n\n.ntbl-border-color-btn:hover,\n.ntbl-border-color-btn:focus-visible {\n background: var(--notectl-hover-bg);\n border-color: var(--notectl-primary);\n}\n\n.ntbl-border-color-btn:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-border-color-swatch {\n width: 10px;\n height: 10px;\n border-radius: 2px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n}\n\n/* --- Context Menu Keyboard Hint --- */\n.notectl-table-context-menu__hint {\n padding: 4px 12px 6px;\n font-size: 11px;\n color: var(--notectl-fg-muted);\n border-top: 1px solid var(--notectl-border);\n margin-top: 4px;\n text-align: center;\n user-select: none;\n}\n\n/* --- Context Menu Focus --- */\n.notectl-table-context-menu button:focus-visible {\n outline: none;\n background: var(--notectl-primary-muted);\n box-shadow: inset 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.notectl-table-context-menu [role="separator"] {\n border: none;\n border-top: 1px solid var(--notectl-border);\n margin: 4px 0;\n height: 0;\n}\n\n.ntbl-add-row {\n bottom: 0;\n height: 24px;\n border: 1px dashed var(--notectl-border);\n border-radius: 0 0 6px 6px;\n border-top: none;\n color: var(--notectl-fg-muted);\n transform: translateY(100%);\n}\n\n.ntbl-add-row:hover,\n.ntbl-add-row:focus-visible {\n background: var(--notectl-primary-muted);\n border-color: var(--notectl-primary);\n color: var(--notectl-primary);\n}\n\n.ntbl-add-row:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-add-col {\n right: 0;\n top: 24px;\n width: 24px;\n border: 1px dashed var(--notectl-border);\n border-radius: 0 6px 6px 0;\n border-left: none;\n color: var(--notectl-fg-muted);\n transform: translateX(100%);\n}\n\n.ntbl-add-col:hover,\n.ntbl-add-col:focus-visible {\n background: var(--notectl-primary-muted);\n border-color: var(--notectl-primary);\n color: var(--notectl-primary);\n}\n\n.ntbl-add-col:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--notectl-focus-ring);\n}\n\n.ntbl-add-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform 0.2s ease;\n}\n\n.ntbl-add-zone:hover .ntbl-add-icon {\n transform: scale(1.15);\n}\n'), this.context = t2, this.registerNodeSpecs(t2), this.registerNodeViews(t2), U(t2, this.locale), t2.registerCommand("resetTableBorderColor", () => N(t2, this.locale)), (function(t3, e2) {
724
683
  const n2 = { Tab: () => (function(t4, e3) {
725
- return J(t4, (n3, o2, r2) => r2.colIndex < r2.totalCols - 1 ? et(t4, r2.tableId, r2.rowIndex, r2.colIndex + 1) : r2.rowIndex < r2.totalRows - 1 ? et(t4, r2.tableId, r2.rowIndex + 1, 0) : (U(t4, e3), true));
684
+ return X(t4, (n3, o2, r2) => r2.colIndex < r2.totalCols - 1 ? Q(t4, r2.tableId, r2.rowIndex, r2.colIndex + 1) : r2.rowIndex < r2.totalRows - 1 ? Q(t4, r2.tableId, r2.rowIndex + 1, 0) : (K(t4, e3), true));
726
685
  })(t3, e2), "Shift-Tab": () => (function(t4) {
727
- return J(t4, (e3, n3, o2) => o2.colIndex > 0 ? et(t4, o2.tableId, o2.rowIndex, o2.colIndex - 1) : !(o2.rowIndex > 0) || et(t4, o2.tableId, o2.rowIndex - 1, o2.totalCols - 1));
686
+ return X(t4, (e3, n3, o2) => o2.colIndex > 0 ? Q(t4, o2.tableId, o2.rowIndex, o2.colIndex - 1) : !(o2.rowIndex > 0) || Q(t4, o2.tableId, o2.rowIndex - 1, o2.totalCols - 1));
728
687
  })(t3), Enter: () => (function(t4) {
729
688
  const e3 = t4.getState();
730
689
  if (o(e3.selection) || r(e3.selection)) return false;
731
690
  const n3 = e3.getBlock(e3.selection.anchor.blockId);
732
691
  if (n3 && "paragraph" !== n3.type) return false;
733
- const l2 = v(e3, e3.selection.anchor.blockId);
734
- return !!l2 && (!(l2.rowIndex < l2.totalRows - 1) || et(t4, l2.tableId, l2.rowIndex + 1, l2.colIndex));
692
+ const l2 = x(e3, e3.selection.anchor.blockId);
693
+ return !!l2 && (!(l2.rowIndex < l2.totalRows - 1) || Q(t4, l2.tableId, l2.rowIndex + 1, l2.colIndex));
735
694
  })(t3), Backspace: () => (function(t4) {
736
- return J(t4, (e3, n3, o2) => {
695
+ return X(t4, (e3, n3, o2) => {
737
696
  if (!a(n3)) return false;
738
697
  if (0 !== n3.anchor.offset) return false;
739
698
  if (0 !== o2.rowIndex || 0 !== o2.colIndex) return false;
740
- const r2 = C(e3, o2.cellId);
741
- return n3.anchor.blockId === r2 && ot(t4, o2.tableId);
699
+ const r2 = I(e3, o2.cellId);
700
+ return n3.anchor.blockId === r2 && et(t4, o2.tableId);
742
701
  });
743
702
  })(t3), Delete: () => (function(t4) {
744
- return J(t4, (e3, n3, o2) => {
703
+ return X(t4, (e3, n3, o2) => {
745
704
  if (!a(n3)) return false;
746
705
  const r2 = e3.getBlock(n3.anchor.blockId);
747
706
  if (!r2) return false;
748
- const l2 = m(r2);
707
+ const l2 = f(r2);
749
708
  if (n3.anchor.offset !== l2) return false;
750
709
  if (o2.rowIndex !== o2.totalRows - 1 || o2.colIndex !== o2.totalCols - 1) return false;
751
710
  const i2 = y(e3, o2.cellId);
752
- return n3.anchor.blockId === i2 && ot(t4, o2.tableId);
711
+ return n3.anchor.blockId === i2 && et(t4, o2.tableId);
753
712
  });
754
713
  })(t3), ArrowDown: () => (function(t4) {
755
- return J(t4, (e3, n3, o2) => {
714
+ return X(t4, (e3, n3, o2) => {
756
715
  const r2 = y(e3, o2.cellId);
757
- return n3.anchor.blockId === r2 && (o2.rowIndex >= o2.totalRows - 1 ? Q(t4) : et(t4, o2.tableId, o2.rowIndex + 1, o2.colIndex));
716
+ return n3.anchor.blockId === r2 && (o2.rowIndex >= o2.totalRows - 1 ? G(t4) : Q(t4, o2.tableId, o2.rowIndex + 1, o2.colIndex));
758
717
  });
759
718
  })(t3), ArrowUp: () => (function(t4) {
760
- return J(t4, (e3, n3, o2) => {
761
- const r2 = C(e3, o2.cellId);
762
- return n3.anchor.blockId === r2 && !(o2.rowIndex <= 0) && et(t4, o2.tableId, o2.rowIndex - 1, o2.colIndex);
719
+ return X(t4, (e3, n3, o2) => {
720
+ const r2 = I(e3, o2.cellId);
721
+ return n3.anchor.blockId === r2 && !(o2.rowIndex <= 0) && Q(t4, o2.tableId, o2.rowIndex - 1, o2.colIndex);
763
722
  });
764
723
  })(t3), ArrowRight: () => (function(t4) {
765
- return J(t4, (e3, n3, o2) => {
724
+ return X(t4, (e3, n3, o2) => {
766
725
  if (!a(n3)) return false;
767
726
  const r2 = e3.getBlock(n3.anchor.blockId);
768
727
  if (!r2) return false;
769
- const l2 = m(r2);
728
+ const l2 = f(r2);
770
729
  if (n3.anchor.offset !== l2) return false;
771
730
  const i2 = y(e3, o2.cellId);
772
- return n3.anchor.blockId === i2 && (o2.colIndex < o2.totalCols - 1 ? et(t4, o2.tableId, o2.rowIndex, o2.colIndex + 1) : !(o2.rowIndex < o2.totalRows - 1) || et(t4, o2.tableId, o2.rowIndex + 1, 0));
731
+ return n3.anchor.blockId === i2 && (o2.colIndex < o2.totalCols - 1 ? Q(t4, o2.tableId, o2.rowIndex, o2.colIndex + 1) : !(o2.rowIndex < o2.totalRows - 1) || Q(t4, o2.tableId, o2.rowIndex + 1, 0));
773
732
  });
774
733
  })(t3), ArrowLeft: () => (function(t4) {
775
- return J(t4, (e3, n3, o2) => {
734
+ return X(t4, (e3, n3, o2) => {
776
735
  if (!a(n3)) return false;
777
736
  if (0 !== n3.anchor.offset) return false;
778
- const r2 = C(e3, o2.cellId);
779
- return n3.anchor.blockId === r2 && (o2.colIndex > 0 ? nt(t4, o2.tableId, o2.rowIndex, o2.colIndex - 1) : !(o2.rowIndex > 0) || nt(t4, o2.tableId, o2.rowIndex - 1, o2.totalCols - 1));
737
+ const r2 = I(e3, o2.cellId);
738
+ return n3.anchor.blockId === r2 && (o2.colIndex > 0 ? tt(t4, o2.tableId, o2.rowIndex, o2.colIndex - 1) : !(o2.rowIndex > 0) || tt(t4, o2.tableId, o2.rowIndex - 1, o2.totalCols - 1));
780
739
  });
781
- })(t3), Escape: () => Q(t3), "Shift-F10": () => (function(t4) {
782
- return J(t4, (e3, n3, o2) => {
740
+ })(t3), Escape: () => G(t3), "Shift-F10": () => (function(t4) {
741
+ return X(t4, (e3, n3, o2) => {
783
742
  const r2 = t4.getContainer(), l2 = r2.querySelector(`[data-block-id="${o2.cellId}"]`);
784
743
  if (!l2) return false;
785
744
  const i2 = l2.getBoundingClientRect(), a2 = new DOMRect(i2.left + i2.width / 2, i2.bottom, 0, 0), s2 = r2.querySelector(`[data-block-id="${o2.tableId}"].ntbl-container`) ?? r2;
786
- return tt?.close(), tt = X(s2, t4, o2.tableId, a2, () => {
787
- tt = null;
745
+ return J?.close(), J = W(s2, t4, o2.tableId, a2, () => {
746
+ J = null;
788
747
  }), true;
789
748
  });
790
749
  })(t3) };
@@ -796,7 +755,7 @@ class gt {
796
755
  if (!e2) return n2 = [], void (o2 = /* @__PURE__ */ new Set());
797
756
  const r4 = t3.getState(), l2 = [], i2 = Math.min(e2.fromRow, e2.toRow), a2 = Math.max(e2.fromRow, e2.toRow), s2 = Math.min(e2.fromCol, e2.toCol), c2 = Math.max(e2.fromCol, e2.toCol);
798
757
  for (let t4 = i2; t4 <= a2; t4++) for (let n3 = s2; n3 <= c2; n3++) {
799
- const o3 = x(r4, e2.tableId, t4, n3);
758
+ const o3 = C(r4, e2.tableId, t4, n3);
800
759
  o3 && l2.push(o3);
801
760
  }
802
761
  n2 = l2, o2 = new Set(l2);
@@ -808,7 +767,7 @@ class gt {
808
767
  }
809
768
  })(t3, o2);
810
769
  }, getSelectedCellIds: () => n2, isSelected: (t4) => o2.has(t4) };
811
- return t3.registerService(pt, r2), r2;
770
+ return t3.registerService(bt, r2), r2;
812
771
  })(t2);
813
772
  }
814
773
  onReady() {
@@ -819,13 +778,13 @@ class gt {
819
778
  const l3 = n3.target.closest("td[data-block-id]");
820
779
  if (l3) if (n3.shiftKey) {
821
780
  if (o2) {
822
- const r3 = v(t2.getState(), l3.getAttribute("data-block-id"));
781
+ const r3 = x(t2.getState(), l3.getAttribute("data-block-id"));
823
782
  if (!r3 || r3.tableId !== o2.tableId) return;
824
783
  n3.preventDefault(), e2.setSelectedRange({ tableId: o2.tableId, fromRow: o2.row, fromCol: o2.col, toRow: r3.rowIndex, toCol: r3.colIndex });
825
784
  }
826
785
  } else {
827
786
  e2.setSelectedRange(null);
828
- const n4 = v(t2.getState(), l3.getAttribute("data-block-id"));
787
+ const n4 = x(t2.getState(), l3.getAttribute("data-block-id"));
829
788
  if (!n4) return;
830
789
  o2 = { tableId: n4.tableId, row: n4.rowIndex, col: n4.colIndex }, r2 = true;
831
790
  }
@@ -835,7 +794,7 @@ class gt {
835
794
  if (!r2 || !o2) return;
836
795
  const l3 = n3.target.closest("td[data-block-id]");
837
796
  if (!l3) return;
838
- const i3 = v(t2.getState(), l3.getAttribute("data-block-id"));
797
+ const i3 = x(t2.getState(), l3.getAttribute("data-block-id"));
839
798
  i3 && i3.tableId === o2.tableId && (i3.rowIndex === o2.row && i3.colIndex === o2.col || (n3.preventDefault(), e2.setSelectedRange({ tableId: o2.tableId, fromRow: o2.row, fromCol: o2.col, toRow: i3.rowIndex, toCol: i3.colIndex })));
840
799
  }
841
800
  function a2() {
@@ -852,7 +811,7 @@ class gt {
852
811
  onStateChange(t2, e2, n2) {
853
812
  if (this.selectionService?.getSelectedRange()) {
854
813
  const t3 = e2.selection;
855
- (o(t3) || r(t3) || !I(e2, t3.anchor.blockId)) && this.selectionService.setSelectedRange(null);
814
+ (o(t3) || r(t3) || !R(e2, t3.anchor.blockId)) && this.selectionService.setSelectedRange(null);
856
815
  }
857
816
  }
858
817
  registerNodeSpecs(t2) {
@@ -861,7 +820,7 @@ class gt {
861
820
  return e2.className = "notectl-table-wrapper", e2.setAttribute("data-block-id", t3.id), e2;
862
821
  }, toHTML(t3, e2) {
863
822
  const o2 = t3.attrs?.borderColor, r2 = (function(t4) {
864
- return t4 ? "none" === t4 ? `${mt}; --ntbl-bc: transparent` : d(t4) ? `${mt}; --ntbl-bc: ${n(t4)}` : mt : mt;
823
+ return t4 ? "none" === t4 ? `${pt}; --ntbl-bc: transparent` : s(t4) ? `${pt}; --ntbl-bc: ${n(t4)}` : pt : pt;
865
824
  })(o2);
866
825
  return `<table style="${r2}">${e2}</table>`;
867
826
  }, sanitize: { tags: ["table", "tbody"] } }), t2.registerNodeSpec({ type: "table_row", group: "table_content", content: { allow: ["table_cell"], min: 1 }, toDOM(t3) {
@@ -876,7 +835,7 @@ class gt {
876
835
  }, sanitize: { tags: ["td"], attrs: ["colspan", "rowspan"] } });
877
836
  }
878
837
  registerNodeViews(t2) {
879
- t2.getSchemaRegistry(), t2.registerNodeView("table", /* @__PURE__ */ (function(t3, e2, n2 = R) {
838
+ t2.getSchemaRegistry(), t2.registerNodeView("table", /* @__PURE__ */ (function(t3, e2, n2 = k) {
880
839
  return (t4, o2, r2) => {
881
840
  const l2 = document.createElement("div");
882
841
  l2.className = "ntbl-container", l2.setAttribute("data-block-id", t4.id), l2.setAttribute("data-selectable", "true");
@@ -884,29 +843,29 @@ class gt {
884
843
  i2.className = "notectl-table-wrapper";
885
844
  const a2 = document.createElement("table");
886
845
  a2.className = "notectl-table", a2.setAttribute("role", "table");
887
- const s2 = b(t4), c2 = s2.length, d2 = s2[0] ? b(s2[0]).length : 0;
846
+ const s2 = u(t4), c2 = s2.length, d2 = s2[0] ? u(s2[0]).length : 0;
888
847
  a2.setAttribute("aria-label", n2.tableAriaLabel(c2, d2)), a2.setAttribute("aria-description", n2.tableAriaDescription);
889
- const u2 = document.createElement("tbody");
890
- a2.appendChild(u2), i2.appendChild(a2), l2.appendChild(i2), ht(a2, t4.attrs?.borderColor);
848
+ const b2 = document.createElement("tbody");
849
+ a2.appendChild(b2), i2.appendChild(a2), l2.appendChild(i2), ut(a2, t4.attrs?.borderColor);
891
850
  const h2 = document.createElement("div");
892
851
  h2.className = "notectl-sr-only", h2.setAttribute("aria-live", "polite"), h2.setAttribute("aria-atomic", "true"), l2.appendChild(h2);
893
852
  const p2 = (function(t5, e3, n3, o3, r3, l3, i3) {
894
- return new bt(t5, e3, n3, o3, r3, l3, i3);
853
+ return new dt(t5, e3, n3, o3, r3, l3, i3);
895
854
  })(l2, a2, t4, o2, r2, e2, n2);
896
855
  let f2 = null, m2 = t4.id;
897
856
  const g2 = (t5) => {
898
857
  if (!e2) return;
899
858
  t5.preventDefault(), t5.stopPropagation(), f2?.close();
900
859
  const o3 = new DOMRect(t5.clientX, t5.clientY, 0, 0);
901
- f2 = X(l2, e2, m2, o3, () => {
860
+ f2 = W(l2, e2, m2, o3, () => {
902
861
  f2 = null;
903
862
  }, n2);
904
863
  };
905
- return a2.addEventListener("contextmenu", g2), { dom: l2, contentDOM: u2, update(t5) {
864
+ return a2.addEventListener("contextmenu", g2), { dom: l2, contentDOM: b2, update(t5) {
906
865
  if ("table" !== t5.type) return false;
907
866
  m2 = t5.id, l2.setAttribute("data-block-id", t5.id), l2.setAttribute("data-selectable", "true");
908
- const e3 = b(t5), o3 = e3.length, r3 = e3[0] ? b(e3[0]).length : 0;
909
- return a2.setAttribute("aria-label", n2.tableAriaLabel(o3, r3)), ht(a2, t5.attrs?.borderColor), p2.update(t5), false;
867
+ const e3 = u(t5), o3 = e3.length, r3 = e3[0] ? u(e3[0]).length : 0;
868
+ return a2.setAttribute("aria-label", n2.tableAriaLabel(o3, r3)), ut(a2, t5.attrs?.borderColor), p2.update(t5), false;
910
869
  }, destroy() {
911
870
  f2?.destroy(), a2.removeEventListener("contextmenu", g2), p2.destroy();
912
871
  }, selectNode() {
@@ -937,28 +896,28 @@ class gt {
937
896
  registerToolbarItem(t2) {
938
897
  const e2 = this.config.maxPickerRows ?? 8, n2 = this.config.maxPickerCols ?? 8;
939
898
  t2.registerToolbarItem({ id: "table", group: "insert", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 3h18v18H3V3zm2 2v4h6V5H5zm8 0v4h6V5h-6zm-8 6v4h6v-4H5zm8 0v4h6v-4h-6zm-8 6v4h6v-4H5zm8 0v4h6v-4h-6z"/></svg>', label: this.locale.insertTable, tooltip: this.locale.insertTable, command: "insertTable", priority: 80, separatorAfter: this.config.separatorAfter, popupType: "gridPicker", popupConfig: { maxRows: e2, maxCols: n2, onSelect: (e3, n3) => {
940
- K(t2, e3, n3);
941
- } }, isActive: (t3) => !o(t3.selection) && !r(t3.selection) && I(t3, t3.selection.anchor.blockId) });
899
+ O(t2, e3, n3);
900
+ } }, isActive: (t3) => !o(t3.selection) && !r(t3.selection) && R(t3, t3.selection.anchor.blockId) });
942
901
  }
943
902
  }
944
903
  export {
945
- M as B,
946
- gt as T,
947
- D as a,
904
+ H as B,
905
+ ft as T,
906
+ M as a,
948
907
  E as b,
949
- k as c,
950
- R as d,
908
+ S as c,
909
+ k as d,
951
910
  A as e,
952
- S as f,
953
- T as g,
954
- B as h,
955
- L as i,
956
- pt as j,
957
- v as k,
958
- I as l,
959
- X as m,
911
+ L as f,
912
+ D as g,
913
+ T as h,
914
+ B as i,
915
+ bt as j,
916
+ x as k,
917
+ R as l,
918
+ W as m,
960
919
  z as n,
961
- P as r,
962
- N as s
920
+ N as r,
921
+ P as s
963
922
  };
964
- //# sourceMappingURL=index-FlTg80Pk.mjs.map
923
+ //# sourceMappingURL=index-CH1r7DL-.mjs.map