@notectl/core 1.0.8 → 1.6.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 (269) hide show
  1. package/dist/chunks/{AttrRegistry-D-przlzb.mjs → AttrRegistry-I-VdmRnN.mjs} +2 -2
  2. package/dist/chunks/{AttrRegistry-D-przlzb.mjs.map → AttrRegistry-I-VdmRnN.mjs.map} +1 -1
  3. package/dist/chunks/CaretNavigation-CAJXoaae.mjs +311 -0
  4. package/dist/chunks/CaretNavigation-CAJXoaae.mjs.map +1 -0
  5. package/dist/chunks/ColorNames-BdsHwA2f.mjs +59 -0
  6. package/dist/chunks/ColorNames-BdsHwA2f.mjs.map +1 -0
  7. package/dist/chunks/ColorPickerPopup-xL8ZUfpB.mjs +125 -0
  8. package/dist/chunks/ColorPickerPopup-xL8ZUfpB.mjs.map +1 -0
  9. package/dist/chunks/Commands-CicwYoTQ.mjs +286 -0
  10. package/dist/chunks/Commands-CicwYoTQ.mjs.map +1 -0
  11. package/dist/chunks/{Document-CI3iCwEP.mjs → Document-CuwE73FF.mjs} +35 -22
  12. package/dist/chunks/{Document-CI3iCwEP.mjs.map → Document-CuwE73FF.mjs.map} +1 -1
  13. package/dist/chunks/HTMLUtils-DTqQzcKR.mjs +35 -0
  14. package/dist/chunks/HTMLUtils-DTqQzcKR.mjs.map +1 -0
  15. package/dist/chunks/MarkCommands-CC37WA7Z.mjs +94 -0
  16. package/dist/chunks/MarkCommands-CC37WA7Z.mjs.map +1 -0
  17. package/dist/chunks/NavigationUtils-CyW0Vo8A.mjs +47 -0
  18. package/dist/chunks/NavigationUtils-CyW0Vo8A.mjs.map +1 -0
  19. package/dist/chunks/{NodeResolver-D68ZLXti.mjs → NodeResolver-B-wzthAQ.mjs} +2 -2
  20. package/dist/chunks/{NodeResolver-D68ZLXti.mjs.map → NodeResolver-B-wzthAQ.mjs.map} +1 -1
  21. package/dist/chunks/Platform-S_xqIqcM.mjs +26 -0
  22. package/dist/chunks/Platform-S_xqIqcM.mjs.map +1 -0
  23. package/dist/chunks/Selection-DmFDwiPJ.mjs +52 -0
  24. package/dist/chunks/Selection-DmFDwiPJ.mjs.map +1 -0
  25. package/dist/chunks/ToolbarItem-BpZggUGo.mjs +8 -0
  26. package/dist/chunks/ToolbarItem-BpZggUGo.mjs.map +1 -0
  27. package/dist/chunks/ToolbarPlugin-B6JETWaw.mjs +818 -0
  28. package/dist/chunks/ToolbarPlugin-B6JETWaw.mjs.map +1 -0
  29. package/dist/chunks/index--z_Txzej.mjs +467 -0
  30. package/dist/chunks/index--z_Txzej.mjs.map +1 -0
  31. package/dist/chunks/{index-o6hDR07y.mjs → index-83QoUENW.mjs} +25 -20
  32. package/dist/chunks/index-83QoUENW.mjs.map +1 -0
  33. package/dist/chunks/{index-CT3HGdQt.mjs → index-B0UFAfyb.mjs} +13 -13
  34. package/dist/chunks/{index-CT3HGdQt.mjs.map → index-B0UFAfyb.mjs.map} +1 -1
  35. package/dist/chunks/{index-C2GQoHot.mjs → index-BDMP86F4.mjs} +40 -40
  36. package/dist/chunks/{index-C2GQoHot.mjs.map → index-BDMP86F4.mjs.map} +1 -1
  37. package/dist/chunks/{index-Bsp4LC5t.mjs → index-BWXkaC2Z.mjs} +36 -36
  38. package/dist/chunks/index-BWXkaC2Z.mjs.map +1 -0
  39. package/dist/chunks/{index-C-YWHOcC.mjs → index-BigJ0z6n.mjs} +22 -22
  40. package/dist/chunks/{index-C-YWHOcC.mjs.map → index-BigJ0z6n.mjs.map} +1 -1
  41. package/dist/chunks/{index-uTnc9y7M.mjs → index-CPjf45-o.mjs} +28 -28
  42. package/dist/chunks/index-CPjf45-o.mjs.map +1 -0
  43. package/dist/chunks/{index-BAk1EG1x.mjs → index-CPyHuEzh.mjs} +106 -106
  44. package/dist/chunks/index-CPyHuEzh.mjs.map +1 -0
  45. package/dist/chunks/{index-Ct0ivLhO.mjs → index-D4GKlc-A.mjs} +256 -259
  46. package/dist/chunks/index-D4GKlc-A.mjs.map +1 -0
  47. package/dist/chunks/{index-BRYzYOYC.mjs → index-D67mP19g.mjs} +29 -29
  48. package/dist/chunks/index-D67mP19g.mjs.map +1 -0
  49. package/dist/chunks/index-D8tbbW97.mjs +73 -0
  50. package/dist/chunks/index-D8tbbW97.mjs.map +1 -0
  51. package/dist/chunks/{index-DC1EK22F.mjs → index-DIAXWwgJ.mjs} +24 -19
  52. package/dist/chunks/index-DIAXWwgJ.mjs.map +1 -0
  53. package/dist/chunks/{index-BSFLNveF.mjs → index-DQryjfJs.mjs} +352 -341
  54. package/dist/chunks/index-DQryjfJs.mjs.map +1 -0
  55. package/dist/chunks/index-DRZwd-1W.mjs +187 -0
  56. package/dist/chunks/index-DRZwd-1W.mjs.map +1 -0
  57. package/dist/chunks/{index-BYgspns5.mjs → index-DUC1X43Z.mjs} +54 -54
  58. package/dist/chunks/index-DUC1X43Z.mjs.map +1 -0
  59. package/dist/chunks/{index-CxiWyUho.mjs → index-DipAT_Q9.mjs} +31 -31
  60. package/dist/chunks/index-DipAT_Q9.mjs.map +1 -0
  61. package/dist/chunks/{index-D3CQWJiw.mjs → index-tBDVaSjG.mjs} +81 -61
  62. package/dist/chunks/index-tBDVaSjG.mjs.map +1 -0
  63. package/dist/chunks/resolvePluginLocale-B4w1OkPy.mjs.map +1 -1
  64. package/dist/commands/Commands.d.ts +13 -45
  65. package/dist/commands/Commands.d.ts.map +1 -1
  66. package/dist/commands/DeleteCommands.d.ts +15 -0
  67. package/dist/commands/DeleteCommands.d.ts.map +1 -0
  68. package/dist/commands/GapCursorCommands.d.ts +24 -0
  69. package/dist/commands/GapCursorCommands.d.ts.map +1 -0
  70. package/dist/commands/MarkCommands.d.ts +19 -0
  71. package/dist/commands/MarkCommands.d.ts.map +1 -0
  72. package/dist/commands/MovementCommands.d.ts +27 -0
  73. package/dist/commands/MovementCommands.d.ts.map +1 -0
  74. package/dist/commands/NodeSelectionCommands.d.ts +24 -0
  75. package/dist/commands/NodeSelectionCommands.d.ts.map +1 -0
  76. package/dist/commands/PasteCommand.d.ts.map +1 -1
  77. package/dist/commands/WordBoundary.d.ts +12 -0
  78. package/dist/commands/WordBoundary.d.ts.map +1 -0
  79. package/dist/editor/DocumentSerializer.d.ts.map +1 -1
  80. package/dist/editor/NotectlEditor.d.ts +34 -6
  81. package/dist/editor/NotectlEditor.d.ts.map +1 -1
  82. package/dist/editor/styles/list.d.ts +2 -0
  83. package/dist/editor/styles/list.d.ts.map +1 -1
  84. package/dist/editor/styles/toolbar.d.ts +1 -1
  85. package/dist/editor/styles/toolbar.d.ts.map +1 -1
  86. package/dist/index.d.ts +31 -10
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/input/ClipboardHandler.d.ts +2 -0
  89. package/dist/input/ClipboardHandler.d.ts.map +1 -1
  90. package/dist/input/CompositionTracker.d.ts +14 -0
  91. package/dist/input/CompositionTracker.d.ts.map +1 -0
  92. package/dist/input/FileHandlerRegistry.d.ts +16 -0
  93. package/dist/input/FileHandlerRegistry.d.ts.map +1 -0
  94. package/dist/input/InputHandler.d.ts +8 -4
  95. package/dist/input/InputHandler.d.ts.map +1 -1
  96. package/dist/input/InputRuleRegistry.d.ts +9 -0
  97. package/dist/input/InputRuleRegistry.d.ts.map +1 -0
  98. package/dist/input/KeyboardHandler.d.ts +22 -5
  99. package/dist/input/KeyboardHandler.d.ts.map +1 -1
  100. package/dist/input/Keymap.d.ts +11 -0
  101. package/dist/input/Keymap.d.ts.map +1 -1
  102. package/dist/input/KeymapRegistry.d.ts +19 -0
  103. package/dist/input/KeymapRegistry.d.ts.map +1 -0
  104. package/dist/input/LegacyHTMLNormalizer.d.ts +18 -0
  105. package/dist/input/LegacyHTMLNormalizer.d.ts.map +1 -0
  106. package/dist/input/PasteHandler.d.ts +7 -0
  107. package/dist/input/PasteHandler.d.ts.map +1 -1
  108. package/dist/model/Document.d.ts +8 -0
  109. package/dist/model/Document.d.ts.map +1 -1
  110. package/dist/model/GraphemeUtils.d.ts +20 -0
  111. package/dist/model/GraphemeUtils.d.ts.map +1 -0
  112. package/dist/model/HTMLParser.d.ts +13 -0
  113. package/dist/model/HTMLParser.d.ts.map +1 -1
  114. package/dist/model/HTMLUtils.d.ts +6 -1
  115. package/dist/model/HTMLUtils.d.ts.map +1 -1
  116. package/dist/model/NavigationUtils.d.ts +16 -0
  117. package/dist/model/NavigationUtils.d.ts.map +1 -0
  118. package/dist/model/SchemaRegistry.d.ts +0 -39
  119. package/dist/model/SchemaRegistry.d.ts.map +1 -1
  120. package/dist/model/Selection.d.ts +14 -3
  121. package/dist/model/Selection.d.ts.map +1 -1
  122. package/dist/notectl-core.mjs +2831 -2420
  123. package/dist/notectl-core.mjs.map +1 -1
  124. package/dist/notectl-core.umd.js +3616 -2013
  125. package/dist/notectl-core.umd.js.map +1 -1
  126. package/dist/plugins/Plugin.d.ts +34 -5
  127. package/dist/plugins/Plugin.d.ts.map +1 -1
  128. package/dist/plugins/PluginManager.d.ts +31 -1
  129. package/dist/plugins/PluginManager.d.ts.map +1 -1
  130. package/dist/plugins/alignment/AlignmentPlugin.d.ts.map +1 -1
  131. package/dist/plugins/alignment.mjs +1 -1
  132. package/dist/plugins/blockquote.mjs +1 -1
  133. package/dist/plugins/caret-navigation/CaretNavigationPlugin.d.ts +35 -0
  134. package/dist/plugins/caret-navigation/CaretNavigationPlugin.d.ts.map +1 -0
  135. package/dist/plugins/caret-navigation/index.d.ts +2 -0
  136. package/dist/plugins/caret-navigation/index.d.ts.map +1 -0
  137. package/dist/plugins/caret-navigation.mjs +5 -0
  138. package/dist/plugins/caret-navigation.mjs.map +1 -0
  139. package/dist/plugins/code-block/CodeBlockKeyboardHandlers.d.ts.map +1 -1
  140. package/dist/plugins/code-block/CodeBlockPlugin.d.ts.map +1 -1
  141. package/dist/plugins/code-block.mjs +1 -1
  142. package/dist/plugins/font/FontPlugin.d.ts.map +1 -1
  143. package/dist/plugins/font-size/FontSizeOperations.d.ts.map +1 -1
  144. package/dist/plugins/font-size.mjs +1 -1
  145. package/dist/plugins/font.mjs +1 -1
  146. package/dist/plugins/gap-cursor/GapCursorPlugin.d.ts +15 -0
  147. package/dist/plugins/gap-cursor/GapCursorPlugin.d.ts.map +1 -0
  148. package/dist/plugins/gap-cursor/index.d.ts +2 -0
  149. package/dist/plugins/gap-cursor/index.d.ts.map +1 -0
  150. package/dist/plugins/gap-cursor.mjs +65 -0
  151. package/dist/plugins/gap-cursor.mjs.map +1 -0
  152. package/dist/plugins/hard-break.mjs +1 -1
  153. package/dist/plugins/heading/BlockTypePickerRegistry.d.ts +9 -0
  154. package/dist/plugins/heading/BlockTypePickerRegistry.d.ts.map +1 -0
  155. package/dist/plugins/heading/HeadingBlockTypePicker.d.ts +14 -0
  156. package/dist/plugins/heading/HeadingBlockTypePicker.d.ts.map +1 -0
  157. package/dist/plugins/heading/HeadingCommands.d.ts +5 -0
  158. package/dist/plugins/heading/HeadingCommands.d.ts.map +1 -0
  159. package/dist/plugins/heading/HeadingInputRules.d.ts +5 -0
  160. package/dist/plugins/heading/HeadingInputRules.d.ts.map +1 -0
  161. package/dist/plugins/heading/HeadingKeyboardHandlers.d.ts +5 -0
  162. package/dist/plugins/heading/HeadingKeyboardHandlers.d.ts.map +1 -0
  163. package/dist/plugins/heading/HeadingPlugin.d.ts +1 -41
  164. package/dist/plugins/heading/HeadingPlugin.d.ts.map +1 -1
  165. package/dist/plugins/heading.mjs +1 -1
  166. package/dist/plugins/highlight/HighlightPlugin.d.ts.map +1 -1
  167. package/dist/plugins/highlight.mjs +1 -1
  168. package/dist/plugins/horizontal-rule/HorizontalRulePlugin.d.ts.map +1 -1
  169. package/dist/plugins/horizontal-rule.mjs +1 -1
  170. package/dist/plugins/image/ImageCommands.d.ts.map +1 -1
  171. package/dist/plugins/image/ImagePlugin.d.ts.map +1 -1
  172. package/dist/plugins/image.mjs +1 -1
  173. package/dist/plugins/link/LinkPlugin.d.ts.map +1 -1
  174. package/dist/plugins/link.mjs +1 -1
  175. package/dist/plugins/list/ListPlugin.d.ts +9 -0
  176. package/dist/plugins/list/ListPlugin.d.ts.map +1 -1
  177. package/dist/plugins/list.mjs +1 -1
  178. package/dist/plugins/print/PrintStyleCollector.d.ts.map +1 -1
  179. package/dist/plugins/print/PrintTypes.d.ts +5 -1
  180. package/dist/plugins/print/PrintTypes.d.ts.map +1 -1
  181. package/dist/plugins/shared/ColorMarkOperations.d.ts.map +1 -1
  182. package/dist/plugins/shared/ColorValidation.d.ts +7 -0
  183. package/dist/plugins/shared/ColorValidation.d.ts.map +1 -1
  184. package/dist/plugins/strikethrough/StrikethroughPlugin.d.ts.map +1 -1
  185. package/dist/plugins/strikethrough.mjs +1 -1
  186. package/dist/plugins/super-sub/SuperSubPlugin.d.ts.map +1 -1
  187. package/dist/plugins/super-sub.mjs +1 -1
  188. package/dist/plugins/table/TableCommands.d.ts.map +1 -1
  189. package/dist/plugins/table/TableNavigation.d.ts.map +1 -1
  190. package/dist/plugins/table/TablePlugin.d.ts.map +1 -1
  191. package/dist/plugins/table.mjs +1 -1
  192. package/dist/plugins/text-color/TextColorPlugin.d.ts.map +1 -1
  193. package/dist/plugins/text-color.mjs +1 -1
  194. package/dist/plugins/text-formatting/TextFormattingPlugin.d.ts.map +1 -1
  195. package/dist/plugins/text-formatting.mjs +1 -1
  196. package/dist/plugins/toolbar/ToolbarItem.d.ts.map +1 -1
  197. package/dist/plugins/toolbar/ToolbarLocale.d.ts +1 -0
  198. package/dist/plugins/toolbar/ToolbarLocale.d.ts.map +1 -1
  199. package/dist/plugins/toolbar/ToolbarOverflowBehavior.d.ts +23 -0
  200. package/dist/plugins/toolbar/ToolbarOverflowBehavior.d.ts.map +1 -0
  201. package/dist/plugins/toolbar/ToolbarOverflowController.d.ts +56 -0
  202. package/dist/plugins/toolbar/ToolbarOverflowController.d.ts.map +1 -0
  203. package/dist/plugins/toolbar/ToolbarPlugin.d.ts +17 -0
  204. package/dist/plugins/toolbar/ToolbarPlugin.d.ts.map +1 -1
  205. package/dist/plugins/toolbar/ToolbarRegistry.d.ts +12 -0
  206. package/dist/plugins/toolbar/ToolbarRegistry.d.ts.map +1 -0
  207. package/dist/plugins/toolbar.mjs +2 -2
  208. package/dist/state/EditorState.d.ts.map +1 -1
  209. package/dist/state/History.d.ts.map +1 -1
  210. package/dist/state/ReadonlyGuard.d.ts +6 -0
  211. package/dist/state/ReadonlyGuard.d.ts.map +1 -0
  212. package/dist/state/SelectionTransactions.d.ts +10 -0
  213. package/dist/state/SelectionTransactions.d.ts.map +1 -0
  214. package/dist/state/Transaction.d.ts +4 -0
  215. package/dist/state/Transaction.d.ts.map +1 -1
  216. package/dist/test/TestUtils.d.ts +23 -0
  217. package/dist/test/TestUtils.d.ts.map +1 -1
  218. package/dist/view/CaretNavigation.d.ts +48 -0
  219. package/dist/view/CaretNavigation.d.ts.map +1 -0
  220. package/dist/view/CursorWrapper.d.ts +19 -0
  221. package/dist/view/CursorWrapper.d.ts.map +1 -0
  222. package/dist/view/DomPointUtils.d.ts +20 -0
  223. package/dist/view/DomPointUtils.d.ts.map +1 -0
  224. package/dist/view/EditorView.d.ts +45 -0
  225. package/dist/view/EditorView.d.ts.map +1 -1
  226. package/dist/view/MarkRendering.d.ts +7 -0
  227. package/dist/view/MarkRendering.d.ts.map +1 -0
  228. package/dist/view/NodeViewRegistry.d.ts +9 -0
  229. package/dist/view/NodeViewRegistry.d.ts.map +1 -0
  230. package/dist/view/Platform.d.ts +29 -0
  231. package/dist/view/Platform.d.ts.map +1 -0
  232. package/dist/view/Reconciler.d.ts +4 -0
  233. package/dist/view/Reconciler.d.ts.map +1 -1
  234. package/dist/view/SelectionSync.d.ts +2 -0
  235. package/dist/view/SelectionSync.d.ts.map +1 -1
  236. package/dist/view/ViewMovementCommands.d.ts +40 -0
  237. package/dist/view/ViewMovementCommands.d.ts.map +1 -0
  238. package/package.json +10 -2
  239. package/dist/chunks/ColorNames-iaWsSZx1.mjs +0 -35
  240. package/dist/chunks/ColorNames-iaWsSZx1.mjs.map +0 -1
  241. package/dist/chunks/ColorValidation-Dyy4Bye8.mjs +0 -140
  242. package/dist/chunks/ColorValidation-Dyy4Bye8.mjs.map +0 -1
  243. package/dist/chunks/Commands-CSpSwGXv.mjs +0 -461
  244. package/dist/chunks/Commands-CSpSwGXv.mjs.map +0 -1
  245. package/dist/chunks/HTMLUtils-0wvCRvJc.mjs +0 -7
  246. package/dist/chunks/HTMLUtils-0wvCRvJc.mjs.map +0 -1
  247. package/dist/chunks/Selection-D5ZjXoB7.mjs +0 -44
  248. package/dist/chunks/Selection-D5ZjXoB7.mjs.map +0 -1
  249. package/dist/chunks/ToolbarItem-ugDymuXi.mjs +0 -7
  250. package/dist/chunks/ToolbarItem-ugDymuXi.mjs.map +0 -1
  251. package/dist/chunks/ToolbarPlugin-DY2xaJiu.mjs +0 -368
  252. package/dist/chunks/ToolbarPlugin-DY2xaJiu.mjs.map +0 -1
  253. package/dist/chunks/index-BAk1EG1x.mjs.map +0 -1
  254. package/dist/chunks/index-BRYzYOYC.mjs.map +0 -1
  255. package/dist/chunks/index-BSFLNveF.mjs.map +0 -1
  256. package/dist/chunks/index-BYgspns5.mjs.map +0 -1
  257. package/dist/chunks/index-B_3qDrUN.mjs +0 -64
  258. package/dist/chunks/index-B_3qDrUN.mjs.map +0 -1
  259. package/dist/chunks/index-Bsp4LC5t.mjs.map +0 -1
  260. package/dist/chunks/index-Ct0ivLhO.mjs.map +0 -1
  261. package/dist/chunks/index-CxiWyUho.mjs.map +0 -1
  262. package/dist/chunks/index-D3CQWJiw.mjs.map +0 -1
  263. package/dist/chunks/index-DC1EK22F.mjs.map +0 -1
  264. package/dist/chunks/index-Dh76rR13.mjs +0 -196
  265. package/dist/chunks/index-Dh76rR13.mjs.map +0 -1
  266. package/dist/chunks/index-o6hDR07y.mjs.map +0 -1
  267. package/dist/chunks/index-uTnc9y7M.mjs.map +0 -1
  268. package/dist/input/SourceNormalizer.d.ts +0 -7
  269. package/dist/input/SourceNormalizer.d.ts.map +0 -1
@@ -1,15 +1,21 @@
1
1
  import { DecorationSet } from '../decorations/Decoration.js';
2
+ import { FileHandler, FileHandlerRegistry } from '../input/FileHandlerRegistry.js';
2
3
  import { InputRule } from '../input/InputRule.js';
3
- import { Keymap } from '../input/Keymap.js';
4
+ import { InputRuleRegistry } from '../input/InputRuleRegistry.js';
5
+ import { Keymap, KeymapOptions } from '../input/Keymap.js';
6
+ import { KeymapRegistry } from '../input/KeymapRegistry.js';
4
7
  import { InlineNodeSpec } from '../model/InlineNodeSpec.js';
5
8
  import { MarkSpec } from '../model/MarkSpec.js';
6
9
  import { NodeSpec } from '../model/NodeSpec.js';
7
- import { FileHandler, SchemaRegistry } from '../model/SchemaRegistry.js';
10
+ import { SchemaRegistry } from '../model/SchemaRegistry.js';
8
11
  import { EditorState } from '../state/EditorState.js';
9
12
  import { Transaction } from '../state/Transaction.js';
10
13
  import { NodeViewFactory } from '../view/NodeView.js';
14
+ import { NodeViewRegistry } from '../view/NodeViewRegistry.js';
11
15
  import { BlockTypePickerEntry } from './heading/BlockTypePickerEntry.js';
16
+ import { BlockTypePickerRegistry } from './heading/BlockTypePickerRegistry.js';
12
17
  import { ToolbarItem } from './toolbar/ToolbarItem.js';
18
+ import { ToolbarRegistry } from './toolbar/ToolbarRegistry.js';
13
19
  /** Type-safe event key for compile-time payload checking. */
14
20
  export declare class EventKey<T> {
15
21
  readonly id: string;
@@ -23,10 +29,15 @@ export declare class ServiceKey<T> {
23
29
  constructor(id: string);
24
30
  }
25
31
  export type CommandHandler = () => boolean;
32
+ export interface CommandOptions {
33
+ /** When true, the command may execute even if the editor is in read-only mode. */
34
+ readonly readonlyAllowed?: boolean;
35
+ }
26
36
  export interface CommandEntry {
27
37
  readonly name: string;
28
38
  readonly handler: CommandHandler;
29
39
  readonly pluginId: string;
40
+ readonly readonlyAllowed: boolean;
30
41
  }
31
42
  export type PluginEventCallback<T = unknown> = (payload: T) => void;
32
43
  export interface PluginEventBus {
@@ -37,32 +48,48 @@ export interface PluginEventBus {
37
48
  export type PluginConfig = Record<string, unknown>;
38
49
  export type MiddlewareNext = (tr: Transaction) => void;
39
50
  export type TransactionMiddleware = (tr: Transaction, state: EditorState, next: MiddlewareNext) => void;
51
+ export interface MiddlewareOptions {
52
+ /** Human-readable name for debugging and introspection. */
53
+ readonly name?: string;
54
+ /** Execution priority (lower values run first). Defaults to 100. */
55
+ readonly priority?: number;
56
+ }
40
57
  export interface PluginContext {
41
58
  getState(): EditorState;
42
59
  dispatch(transaction: Transaction): void;
43
60
  getContainer(): HTMLElement;
44
61
  getPluginContainer(position: 'top' | 'bottom'): HTMLElement;
45
- registerCommand(name: string, handler: CommandHandler): void;
62
+ registerCommand(name: string, handler: CommandHandler, options?: CommandOptions): void;
46
63
  executeCommand(name: string): boolean;
47
64
  getEventBus(): PluginEventBus;
48
- registerMiddleware(middleware: TransactionMiddleware, priority?: number): void;
65
+ registerMiddleware(middleware: TransactionMiddleware, options?: MiddlewareOptions): void;
49
66
  registerService<T>(key: ServiceKey<T>, service: T): void;
50
67
  getService<T>(key: ServiceKey<T>): T | undefined;
51
68
  updateConfig(config: PluginConfig): void;
52
69
  registerNodeSpec<T extends string>(spec: NodeSpec<T>): void;
53
70
  registerMarkSpec<T extends string>(spec: MarkSpec<T>): void;
54
71
  registerNodeView(type: string, factory: NodeViewFactory): void;
55
- registerKeymap(keymap: Keymap): void;
72
+ registerKeymap(keymap: Keymap, options?: KeymapOptions): void;
56
73
  registerInputRule(rule: InputRule): void;
57
74
  registerToolbarItem(item: ToolbarItem): void;
58
75
  registerInlineNodeSpec<T extends string>(spec: InlineNodeSpec<T>): void;
59
76
  registerFileHandler(pattern: string, handler: FileHandler): void;
60
77
  registerBlockTypePickerEntry(entry: BlockTypePickerEntry): void;
61
78
  getSchemaRegistry(): SchemaRegistry;
79
+ getKeymapRegistry(): KeymapRegistry;
80
+ getInputRuleRegistry(): InputRuleRegistry;
81
+ getFileHandlerRegistry(): FileHandlerRegistry;
82
+ getNodeViewRegistry(): NodeViewRegistry;
83
+ getToolbarRegistry(): ToolbarRegistry;
84
+ getBlockTypePickerRegistry(): BlockTypePickerRegistry;
62
85
  /** Registers a CSS string to be added to the editor's adopted stylesheets. */
63
86
  registerStyleSheet(css: string): void;
87
+ /** Returns whether the editor is currently in read-only mode. */
88
+ isReadOnly(): boolean;
64
89
  /** Pushes a screen reader announcement via the editor's aria-live region. */
65
90
  announce(text: string): void;
91
+ /** Returns whether the announcer live region currently has content. */
92
+ hasAnnouncement(): boolean;
66
93
  }
67
94
  export interface Plugin<TConfig extends Record<string, unknown> = Record<string, unknown>> {
68
95
  readonly id: string;
@@ -75,6 +102,8 @@ export interface Plugin<TConfig extends Record<string, unknown> = Record<string,
75
102
  onConfigure?(config: TConfig): void;
76
103
  /** Called after ALL plugins have been initialized. */
77
104
  onReady?(): void | Promise<void>;
105
+ /** Called when the editor's read-only mode changes. */
106
+ onReadOnlyChange?(readonly: boolean): void;
78
107
  /**
79
108
  * Returns decorations for the given state.
80
109
  * Called after state.apply() but BEFORE reconciliation.
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/Plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/Plugin.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,20 @@
1
1
  import { DecorationSet } from '../decorations/Decoration.js';
2
+ import { FileHandlerRegistry } from '../input/FileHandlerRegistry.js';
3
+ import { InputRuleRegistry } from '../input/InputRuleRegistry.js';
4
+ import { KeymapRegistry } from '../input/KeymapRegistry.js';
2
5
  import { SchemaRegistry } from '../model/SchemaRegistry.js';
3
6
  import { EditorState } from '../state/EditorState.js';
4
7
  import { Transaction } from '../state/Transaction.js';
8
+ import { NodeViewRegistry } from '../view/NodeViewRegistry.js';
5
9
  import { EventKey, Plugin, PluginConfig, PluginEventCallback, ServiceKey } from './Plugin.js';
10
+ import { BlockTypePickerRegistry } from './heading/BlockTypePickerRegistry.js';
11
+ import { ToolbarRegistry } from './toolbar/ToolbarRegistry.js';
12
+ /** Describes a registered middleware for introspection. */
13
+ export interface MiddlewareInfo {
14
+ readonly name: string;
15
+ readonly priority: number;
16
+ readonly pluginId: string;
17
+ }
6
18
  export interface PluginManagerInitOptions {
7
19
  getState(): EditorState;
8
20
  dispatch(transaction: Transaction): void;
@@ -10,6 +22,8 @@ export interface PluginManagerInitOptions {
10
22
  getPluginContainer(position: 'top' | 'bottom'): HTMLElement;
11
23
  /** Pushes a screen reader announcement via the editor's aria-live region. */
12
24
  announce?(text: string): void;
25
+ /** Returns whether the announcer live region currently has content. */
26
+ hasAnnouncement?(): boolean;
13
27
  /** Called after all plugin init() calls complete, before onReady(). */
14
28
  onBeforeReady?(): void | Promise<void>;
15
29
  }
@@ -22,10 +36,18 @@ export declare class PluginManager {
22
36
  private readonly eventBus;
23
37
  private readonly pluginStyleSheets;
24
38
  readonly schemaRegistry: SchemaRegistry;
39
+ readonly keymapRegistry: KeymapRegistry;
40
+ readonly inputRuleRegistry: InputRuleRegistry;
41
+ readonly fileHandlerRegistry: FileHandlerRegistry;
42
+ readonly nodeViewRegistry: NodeViewRegistry;
43
+ readonly toolbarRegistry: ToolbarRegistry;
44
+ readonly blockTypePickerRegistry: BlockTypePickerRegistry;
25
45
  private middlewareSorted;
26
46
  private initOrder;
27
47
  private initialized;
28
48
  private initializing;
49
+ private readOnly;
50
+ private readonlyBypassActive;
29
51
  /**
30
52
  * Registers a system-level service before plugin init.
31
53
  * Used by the editor to provide global services (e.g. LocaleService).
@@ -44,12 +66,20 @@ export declare class PluginManager {
44
66
  * If no middleware is registered, calls finalDispatch directly.
45
67
  */
46
68
  dispatchWithMiddleware(tr: Transaction, state: EditorState, finalDispatch: (tr: Transaction) => void): void;
47
- /** Executes a named command. Returns false if command not found. */
69
+ /** Executes a named command. Returns false if command not found or editor is read-only. */
48
70
  executeCommand(name: string): boolean;
71
+ /** Returns true when a readonlyAllowed command is currently executing. */
72
+ isReadonlyBypassed(): boolean;
49
73
  /** Configures a plugin at runtime via onConfigure(). */
50
74
  configurePlugin(pluginId: string, config: PluginConfig): void;
75
+ /** Returns the current read-only state. */
76
+ isReadOnly(): boolean;
77
+ /** Updates read-only state and notifies all plugins. */
78
+ setReadOnly(readonly: boolean): void;
51
79
  /** Returns all registered plugin IDs. */
52
80
  getPluginIds(): string[];
81
+ /** Returns the middleware chain in execution order, for debugging and introspection. */
82
+ getMiddlewareChain(): readonly MiddlewareInfo[];
53
83
  /** Gets a plugin by ID. */
54
84
  get(id: string): Plugin | undefined;
55
85
  /** Gets a registered service by typed key. */
@@ -1 +1 @@
1
- {"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../../src/plugins/PluginManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../../src/plugins/PluginManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AlignmentPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/alignment/AlignmentPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI/E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,eAAe;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IAC/C,mHAAmH;IACnH,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAC5D,iEAAiE;IACjE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;CAClC;AAUD,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAQpE,CAAC;AAIF,qBAAa,eAAgB,YAAW,MAAM;IAC7C,QAAQ,CAAC,EAAE,eAAe;IAC1B,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,cAAc,CAAuB;gBAEjC,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAQ7C,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAalC;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,iBAAiB;IAYzB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,WAAW;CAInB"}
1
+ {"version":3,"file":"AlignmentPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/alignment/AlignmentPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI/E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,eAAe;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IAC/C,mHAAmH;IACnH,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAC5D,iEAAiE;IACjE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;CAClC;AAUD,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAQpE,CAAC;AAIF,qBAAa,eAAgB,YAAW,MAAM;IAC7C,QAAQ,CAAC,EAAE,eAAe;IAC1B,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,cAAc,CAAuB;gBAEjC,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAQ7C,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAalC;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,iBAAiB;IAYzB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,WAAW;CAInB"}
@@ -1,4 +1,4 @@
1
- import { A, d } from "../chunks/index-C-YWHOcC.mjs";
1
+ import { A, d } from "../chunks/index-BigJ0z6n.mjs";
2
2
  export {
3
3
  A as ALIGNMENT_ICONS,
4
4
  d as AlignmentPlugin
@@ -1,4 +1,4 @@
1
- import { b } from "../chunks/index-uTnc9y7M.mjs";
1
+ import { b } from "../chunks/index-CPjf45-o.mjs";
2
2
  export {
3
3
  b as BlockquotePlugin
4
4
  };
@@ -0,0 +1,35 @@
1
+ import { EditorState } from '../../state/EditorState.js';
2
+ import { Transaction } from '../../state/Transaction.js';
3
+ import { Plugin, PluginContext } from '../Plugin.js';
4
+ export declare class CaretNavigationPlugin implements Plugin {
5
+ readonly id = "caret-navigation";
6
+ readonly name = "Caret Navigation";
7
+ readonly priority = 4;
8
+ private context;
9
+ private lastAnnouncedBlockId;
10
+ private announceTimer;
11
+ private announce;
12
+ init(context: PluginContext): void;
13
+ /** Announces block-type on cross-block cursor movement (debounced). */
14
+ onStateChange(_oldState: EditorState, newState: EditorState, _tr: Transaction): void;
15
+ destroy(): void;
16
+ /** Dispatches a model-based movement command (no DOM needed). */
17
+ private modelCommand;
18
+ /** Extends selection by one character based on visual left/right intent. */
19
+ private extendCharacterVisual;
20
+ /** Dispatches a view-based movement command (uses container + Selection.modify). */
21
+ private viewMoveCommand;
22
+ /** Dispatches a view-based move command with visual direction mapping for RTL. */
23
+ private viewMoveVisual;
24
+ /** Dispatches a view-based extend command. */
25
+ private viewExtendCommand;
26
+ private dispatchViewCommand;
27
+ /** Dispatches a view-based extend command with visual direction mapping for RTL. */
28
+ private viewExtendVisual;
29
+ /**
30
+ * Resolves logical movement direction from visual left/right intent.
31
+ * In RTL blocks, visual directions are mirrored in offset space.
32
+ */
33
+ private resolveLogicalHorizontalDirection;
34
+ }
35
+ //# sourceMappingURL=CaretNavigationPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CaretNavigationPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/caret-navigation/CaretNavigationPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAgB9D,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA2B1D,qBAAa,qBAAsB,YAAW,MAAM;IACnD,QAAQ,CAAC,EAAE,sBAAsB;IACjC,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,QAAQ,KAAK;IAEtB,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,oBAAoB,CAAwB;IACpD,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,QAAQ,CAAyC;IAEzD,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAmElC,uEAAuE;IACvE,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI;IAwCpF,OAAO,IAAI,IAAI;IAOf,iEAAiE;IACjE,OAAO,CAAC,YAAY;IAUpB,4EAA4E;IAC5E,OAAO,CAAC,qBAAqB;IAa7B,oFAAoF;IACpF,OAAO,CAAC,eAAe;IAOvB,kFAAkF;IAClF,OAAO,CAAC,cAAc;IAStB,8CAA8C;IAC9C,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,mBAAmB;IAgB3B,oFAAoF;IACpF,OAAO,CAAC,gBAAgB;IAYxB;;;OAGG;IACH,OAAO,CAAC,iCAAiC;CAiBzC"}
@@ -0,0 +1,2 @@
1
+ export { CaretNavigationPlugin } from './CaretNavigationPlugin.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/caret-navigation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { C } from "../chunks/index--z_Txzej.mjs";
2
+ export {
3
+ C as CaretNavigationPlugin
4
+ };
5
+ //# sourceMappingURL=caret-navigation.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caret-navigation.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +1 @@
1
- {"version":3,"file":"CodeBlockKeyboardHandlers.d.ts","sourceRoot":"","sources":["../../../src/plugins/code-block/CodeBlockKeyboardHandlers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAkC5E,kDAAkD;AAClD,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,eAAe,EACvB,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,GACpE,IAAI,CAuBN;AAsFD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAkB5D"}
1
+ {"version":3,"file":"CodeBlockKeyboardHandlers.d.ts","sourceRoot":"","sources":["../../../src/plugins/code-block/CodeBlockKeyboardHandlers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAkC5E,kDAAkD;AAClD,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,eAAe,EACvB,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,GACpE,IAAI,CAuBN;AAsFD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAkB5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"CodeBlockPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/code-block/CodeBlockPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAYrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAO1D,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,qBAAqB,CAAC;AAIzF,OAAO,EACN,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,WAAW,GAChB,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,eAAgB,YAAW,MAAM;IAC7C,QAAQ,CAAC,EAAE,gBAAgB;IAC3B,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyD;IACxF,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAQ7C,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAgBlC,OAAO,IAAI,IAAI;IAIf,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI;IA8BnF,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa;IA+B9C,OAAO,CAAC,gBAAgB;IA+CxB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,eAAe;CAQvB"}
1
+ {"version":3,"file":"CodeBlockPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/code-block/CodeBlockPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAiBrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAO1D,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,qBAAqB,CAAC;AAIzF,OAAO,EACN,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,WAAW,GAChB,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,eAAgB,YAAW,MAAM;IAC7C,QAAQ,CAAC,EAAE,gBAAgB;IAC3B,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyD;IACxF,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAQ7C,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAgBlC,OAAO,IAAI,IAAI;IAIf,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI;IAgCnF,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa;IA+B9C,OAAO,CAAC,gBAAgB;IA+CxB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,eAAe;CAQvB"}
@@ -1,4 +1,4 @@
1
- import { b, c } from "../chunks/index-BAk1EG1x.mjs";
1
+ import { b, c } from "../chunks/index-CPyHuEzh.mjs";
2
2
  export {
3
3
  b as CODE_BLOCK_SERVICE_KEY,
4
4
  c as CodeBlockPlugin
@@ -1 +1 @@
1
- {"version":3,"file":"FontPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/font/FontPlugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIhE,OAAO,QAAQ,6BAA6B,CAAC;IAC5C,UAAU,gBAAgB;QACzB,IAAI,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KACzB;CACD;AAID,4CAA4C;AAC5C,MAAM,WAAW,kBAAkB;IAClC,wEAAwE;IACxE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC9B,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;IACrF;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACnD;AAID,MAAM,WAAW,UAAU;IAC1B;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,sEAAsE;IACtE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;CAC7B;AAID,qBAAa,UAAW,YAAW,MAAM;IACxC,QAAQ,CAAC,EAAE,UAAU;IACrB,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,oBAAoB,CAAiC;IAC7D,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,UAAU,CAAgC;gBAEtC,MAAM,EAAE,UAAU;IAI9B,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAWlC,OAAO,IAAI,IAAI;IAOf,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI;IAMpF,OAAO,CAAC,gBAAgB;IAoCxB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,KAAK,WAAW,GAUtB;IAED,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,YAAY;IAIpB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI;IAyBhD,SAAS,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAyC9E,OAAO,CAAC,UAAU;IAuClB,qFAAqF;IACrF,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,eAAe;IA0CvB,OAAO,CAAC,cAAc;CAgCtB"}
1
+ {"version":3,"file":"FontPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/font/FontPlugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIhE,OAAO,QAAQ,6BAA6B,CAAC;IAC5C,UAAU,gBAAgB;QACzB,IAAI,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KACzB;CACD;AAID,4CAA4C;AAC5C,MAAM,WAAW,kBAAkB;IAClC,wEAAwE;IACxE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC9B,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;IACrF;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACnD;AAID,MAAM,WAAW,UAAU;IAC1B;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,sEAAsE;IACtE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;CAC7B;AAID,qBAAa,UAAW,YAAW,MAAM;IACxC,QAAQ,CAAC,EAAE,UAAU;IACrB,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,oBAAoB,CAAiC;IAC7D,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,UAAU,CAAgC;gBAEtC,MAAM,EAAE,UAAU;IAI9B,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAWlC,OAAO,IAAI,IAAI;IAOf,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI;IAMpF,OAAO,CAAC,gBAAgB;IAoCxB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,KAAK,WAAW,GAUtB;IAED,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,YAAY;IAIpB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI;IAyBhD,SAAS,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAyC9E,OAAO,CAAC,UAAU;IAuClB,qFAAqF;IACrF,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,eAAe;IA0CvB,OAAO,CAAC,cAAc;CAgCtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"FontSizeOperations.d.ts","sourceRoot":"","sources":["../../../src/plugins/font-size/FontSizeOperations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIlD,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAW/D;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAKpF;AAED,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAE5D;AAID,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAgC/F;AAED,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CA8BlF;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAC3B,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,IAAI,GAAG,MAAM,EACxB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,WAAW,EAAE,MAAM,GACjB,OAAO,CAST;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAM1F;AAID,gFAAgF;AAChF,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,IAAI,GAAG,MAAM,EACxB,KAAK,EAAE,SAAS,MAAM,EAAE,GACtB,MAAM,GAAG,IAAI,CAYf"}
1
+ {"version":3,"file":"FontSizeOperations.d.ts","sourceRoot":"","sources":["../../../src/plugins/font-size/FontSizeOperations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIlD,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAW/D;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAKpF;AAED,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAE5D;AAID,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAgC/F;AAED,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CA8BlF;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAC3B,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,IAAI,GAAG,MAAM,EACxB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,WAAW,EAAE,MAAM,GACjB,OAAO,CAST;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAM1F;AAID,gFAAgF;AAChF,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,IAAI,GAAG,MAAM,EACxB,KAAK,EAAE,SAAS,MAAM,EAAE,GACtB,MAAM,GAAG,IAAI,CAYf"}
@@ -1,4 +1,4 @@
1
- import { b } from "../chunks/index-BYgspns5.mjs";
1
+ import { b } from "../chunks/index-DUC1X43Z.mjs";
2
2
  export {
3
3
  b as FontSizePlugin
4
4
  };
@@ -1,4 +1,4 @@
1
- import { b } from "../chunks/index-CxiWyUho.mjs";
1
+ import { b } from "../chunks/index-DipAT_Q9.mjs";
2
2
  export {
3
3
  b as FontPlugin
4
4
  };
@@ -0,0 +1,15 @@
1
+ import { EditorState } from '../../state/EditorState.js';
2
+ import { Transaction } from '../../state/Transaction.js';
3
+ import { Plugin, PluginContext } from '../Plugin.js';
4
+ export declare class GapCursorPlugin implements Plugin {
5
+ readonly id = "gap-cursor";
6
+ readonly name = "Gap Cursor";
7
+ readonly priority = 5;
8
+ private context;
9
+ private gapElement;
10
+ init(context: PluginContext): void;
11
+ onStateChange(oldState: EditorState, newState: EditorState, _tr: Transaction): void;
12
+ destroy(): void;
13
+ private removeGapElement;
14
+ }
15
+ //# sourceMappingURL=GapCursorPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GapCursorPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/gap-cursor/GapCursorPlugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA+B1D,qBAAa,eAAgB,YAAW,MAAM;IAC7C,QAAQ,CAAC,EAAE,gBAAgB;IAC3B,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,QAAQ,KAAK;IAEtB,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,UAAU,CAA4B;IAE9C,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IA8BlC,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI;IA+BnF,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,gBAAgB;CAMxB"}
@@ -0,0 +1,2 @@
1
+ export { GapCursorPlugin } from './GapCursorPlugin.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/gap-cursor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,65 @@
1
+ import { a as t } from "../chunks/Selection-DmFDwiPJ.mjs";
2
+ import { n as e } from "../chunks/CaretNavigation-CAJXoaae.mjs";
3
+ const n = "notectl-gap-cursor", o = `
4
+ .${n} {
5
+ position: relative;
6
+ display: block;
7
+ height: 0;
8
+ pointer-events: none;
9
+ }
10
+ .${n}::before {
11
+ content: '';
12
+ display: block;
13
+ position: absolute;
14
+ left: 0;
15
+ width: 100%;
16
+ height: 1px;
17
+ background: currentColor;
18
+ animation: notectl-gap-blink 1.1s step-end infinite;
19
+ }
20
+ @media (prefers-reduced-motion: reduce) {
21
+ .${n}::before {
22
+ animation: none;
23
+ }
24
+ }
25
+ @keyframes notectl-gap-blink {
26
+ 50% { opacity: 0; }
27
+ }
28
+ `;
29
+ class r {
30
+ id = "gap-cursor";
31
+ name = "Gap Cursor";
32
+ priority = 5;
33
+ context = null;
34
+ gapElement = null;
35
+ init(n2) {
36
+ this.context = n2, n2.registerStyleSheet(o);
37
+ const r2 = { ArrowLeft: "left", ArrowRight: "right", ArrowUp: "up", ArrowDown: "down" }, i = {};
38
+ for (const [o2, s] of Object.entries(r2)) i[o2] = () => {
39
+ const o3 = n2.getState();
40
+ if (!t(o3.selection)) return false;
41
+ const r3 = e(o3, s);
42
+ return !!r3 && (n2.dispatch(r3), true);
43
+ };
44
+ n2.registerKeymap(i, { priority: "navigation" });
45
+ }
46
+ onStateChange(e2, o2, r2) {
47
+ if (this.removeGapElement(), !t(o2.selection)) return;
48
+ const i = this.context?.getContainer();
49
+ if (!i) return;
50
+ const s = o2.selection, a = i.querySelector(`[data-block-id="${s.blockId}"]`);
51
+ if (!a) return;
52
+ const c = document.createElement("div");
53
+ c.className = n, c.setAttribute("role", "presentation"), c.setAttribute("aria-hidden", "true"), "before" === s.side ? a.parentNode?.insertBefore(c, a) : a.parentNode?.insertBefore(c, a.nextSibling), this.gapElement = c, t(e2.selection) || this.context?.announce("Gap cursor active. Type to insert new paragraph.");
54
+ }
55
+ destroy() {
56
+ this.removeGapElement(), this.context = null;
57
+ }
58
+ removeGapElement() {
59
+ this.gapElement && (this.gapElement.remove(), this.gapElement = null);
60
+ }
61
+ }
62
+ export {
63
+ r as GapCursorPlugin
64
+ };
65
+ //# sourceMappingURL=gap-cursor.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gap-cursor.mjs","sources":["../../src/plugins/gap-cursor/GapCursorPlugin.ts"],"sourcesContent":["/**\n * GapCursorPlugin: renders a virtual cursor at boundaries of void blocks\n * where no native browser caret can exist (e.g. between two HRs or at\n * the document edge adjacent to a void block).\n */\n\nimport { isGapCursor } from '../../model/Selection.js';\nimport type { EditorState } from '../../state/EditorState.js';\nimport type { Transaction } from '../../state/Transaction.js';\nimport { navigateFromGapCursor } from '../../view/CaretNavigation.js';\nimport type { Plugin, PluginContext } from '../Plugin.js';\n\nconst GAP_CURSOR_CLASS = 'notectl-gap-cursor';\n\nconst GAP_CURSOR_CSS = `\n.${GAP_CURSOR_CLASS} {\n\tposition: relative;\n\tdisplay: block;\n\theight: 0;\n\tpointer-events: none;\n}\n.${GAP_CURSOR_CLASS}::before {\n\tcontent: '';\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 0;\n\twidth: 100%;\n\theight: 1px;\n\tbackground: currentColor;\n\tanimation: notectl-gap-blink 1.1s step-end infinite;\n}\n@media (prefers-reduced-motion: reduce) {\n\t.${GAP_CURSOR_CLASS}::before {\n\t\tanimation: none;\n\t}\n}\n@keyframes notectl-gap-blink {\n\t50% { opacity: 0; }\n}\n`;\n\nexport class GapCursorPlugin implements Plugin {\n\treadonly id = 'gap-cursor';\n\treadonly name = 'Gap Cursor';\n\treadonly priority = 5;\n\n\tprivate context: PluginContext | null = null;\n\tprivate gapElement: HTMLElement | null = null;\n\n\tinit(context: PluginContext): void {\n\t\tthis.context = context;\n\n\t\tcontext.registerStyleSheet(GAP_CURSOR_CSS);\n\n\t\tconst directions: Record<string, 'left' | 'right' | 'up' | 'down'> = {\n\t\t\tArrowLeft: 'left',\n\t\t\tArrowRight: 'right',\n\t\t\tArrowUp: 'up',\n\t\t\tArrowDown: 'down',\n\t\t};\n\n\t\tconst keymap: Record<string, () => boolean> = {};\n\t\tfor (const [key, dir] of Object.entries(directions)) {\n\t\t\tkeymap[key] = (): boolean => {\n\t\t\t\tconst state: EditorState = context.getState();\n\t\t\t\tif (!isGapCursor(state.selection)) return false;\n\n\t\t\t\tconst tr: Transaction | null = navigateFromGapCursor(state, dir);\n\t\t\t\tif (tr) {\n\t\t\t\t\tcontext.dispatch(tr);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}\n\n\t\tcontext.registerKeymap(keymap, { priority: 'navigation' });\n\t}\n\n\tonStateChange(oldState: EditorState, newState: EditorState, _tr: Transaction): void {\n\t\tthis.removeGapElement();\n\n\t\tif (!isGapCursor(newState.selection)) return;\n\n\t\tconst container: HTMLElement | undefined = this.context?.getContainer();\n\t\tif (!container) return;\n\n\t\tconst sel = newState.selection;\n\t\tconst blockEl: Element | null = container.querySelector(`[data-block-id=\"${sel.blockId}\"]`);\n\t\tif (!blockEl) return;\n\n\t\tconst gap: HTMLElement = document.createElement('div');\n\t\tgap.className = GAP_CURSOR_CLASS;\n\t\tgap.setAttribute('role', 'presentation');\n\t\tgap.setAttribute('aria-hidden', 'true');\n\n\t\tif (sel.side === 'before') {\n\t\t\tblockEl.parentNode?.insertBefore(gap, blockEl);\n\t\t} else {\n\t\t\tblockEl.parentNode?.insertBefore(gap, blockEl.nextSibling);\n\t\t}\n\n\t\tthis.gapElement = gap;\n\n\t\t// Announce for screen readers\n\t\tif (!isGapCursor(oldState.selection)) {\n\t\t\tthis.context?.announce('Gap cursor active. Type to insert new paragraph.');\n\t\t}\n\t}\n\n\tdestroy(): void {\n\t\tthis.removeGapElement();\n\t\tthis.context = null;\n\t}\n\n\tprivate removeGapElement(): void {\n\t\tif (this.gapElement) {\n\t\t\tthis.gapElement.remove();\n\t\t\tthis.gapElement = null;\n\t\t}\n\t}\n}\n"],"names":["GAP_CURSOR_CLASS","GAP_CURSOR_CSS","GapCursorPlugin","id","name","priority","context","gapElement","this","registerStyleSheet","directions","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","keymap","key","dir","Object","entries","state","getState","isGapCursor","selection","tr","navigateFromGapCursor","dispatch","registerKeymap","oldState","newState","_tr","removeGapElement","container","getContainer","sel","blockEl","querySelector","blockId","gap","document","createElement","className","setAttribute","side","parentNode","insertBefore","nextSibling","announce","destroy","remove"],"mappings":";;AAYA,MAAMA,IAAmB,sBAEnBC,IAAiB;AAAA,GACpBD,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAMAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAWCA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AASG,MAAME,EAAAA;AAAAA,EACHC,KAAK;AAAA,EACLC,OAAO;AAAA,EACPC,WAAW;AAAA,EAEZC,UAAgC;AAAA,EAChCC,aAAiC;AAAA,EAEzC,KAAKD;AACJE,SAAKF,UAAUA,IAEfA,GAAQG,mBAAmBR;AAE3B,UAAMS,KAA+D,EACpEC,WAAW,QACXC,YAAY,SACZC,SAAS,MACTC,WAAW,OAAA,GAGNC,IAAwC,CAAA;AAC9C,eAAA,CAAYC,IAAKC,CAAAA,KAAQC,OAAOC,QAAQT,EAAAA,EACvCK,GAAOC,EAAAA,IAAO,MAAA;AACb,YAAMI,KAAqBd,GAAQe;AACnC,UAAA,CAAKC,EAAYF,GAAMG,SAAAA,EAAY,QAAA;AAEnC,YAAMC,KAAyBC,EAAsBL,IAAOH;AAC5D,aAAA,CAAA,CAAIO,OACHlB,GAAQoB,SAASF,EAAAA,GAAAA;AAAAA;AAOpBlB,IAAAA,GAAQqB,eAAeZ,GAAQ,EAAEV,UAAU;EAC5C;AAAA,EAEA,cAAcuB,IAAuBC,IAAuBC,IAAAA;AAG3D,QAFAtB,KAAKuB,iBAAAA,GAAAA,CAEAT,EAAYO,GAASN,SAAAA,EAAY;AAEtC,UAAMS,IAAqCxB,KAAKF,SAAS2B,aAAAA;AACzD,SAAKD,EAAW;AAEhB,UAAME,IAAML,GAASN,WACfY,IAA0BH,EAAUI,cAAc,mBAAmBF,EAAIG,OAAAA,IAAAA;AAC/E,QAAA,CAAKF,EAAS;AAEd,UAAMG,IAAmBC,SAASC,cAAc;AAChDF,MAAIG,YAAYzC,GAChBsC,EAAII,aAAa,QAAQ,cAAA,GACzBJ,EAAII,aAAa,eAAe,MAAA,GAEf,aAAbR,EAAIS,OACPR,EAAQS,YAAYC,aAAaP,GAAKH,CAAAA,IAEtCA,EAAQS,YAAYC,aAAaP,GAAKH,EAAQW,cAG/CtC,KAAKD,aAAa+B,GAGbhB,EAAYM,GAASL,cACzBf,KAAKF,SAASyC,SAAS,kDAAA;AAAA,EAEzB;AAAA,EAEA,UAAAC;AACCxC,SAAKuB,iBAAAA,GACLvB,KAAKF,UAAU;AAAA,EAChB;AAAA,EAEQ,mBAAAyB;AACHvB,SAAKD,eACRC,KAAKD,WAAW0C,UAChBzC,KAAKD,aAAa;AAAA,EAEpB;AAAA;"}
@@ -1,4 +1,4 @@
1
- import { m as e } from "../chunks/Commands-CSpSwGXv.mjs";
1
+ import { h as e } from "../chunks/Commands-CicwYoTQ.mjs";
2
2
  class r {
3
3
  id = "hard-break";
4
4
  name = "Hard Break";
@@ -0,0 +1,9 @@
1
+ import { BlockTypePickerEntry } from './BlockTypePickerEntry.js';
2
+ export declare class BlockTypePickerRegistry {
3
+ private readonly _entries;
4
+ registerBlockTypePickerEntry(entry: BlockTypePickerEntry): void;
5
+ getBlockTypePickerEntries(): readonly BlockTypePickerEntry[];
6
+ removeBlockTypePickerEntry(id: string): void;
7
+ clear(): void;
8
+ }
9
+ //# sourceMappingURL=BlockTypePickerRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockTypePickerRegistry.d.ts","sourceRoot":"","sources":["../../../src/plugins/heading/BlockTypePickerRegistry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,qBAAa,uBAAuB;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2C;IAEpE,4BAA4B,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAO/D,yBAAyB,IAAI,SAAS,oBAAoB,EAAE;IAI5D,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI5C,KAAK,IAAI,IAAI;CAGb"}
@@ -0,0 +1,14 @@
1
+ import { EditorState } from '../../state/EditorState.js';
2
+ import { PluginContext } from '../Plugin.js';
3
+ import { HeadingLocale } from './HeadingLocale.js';
4
+ import { HeadingConfig } from './HeadingPlugin.js';
5
+ /** Registers block type picker entries for paragraph, title, subtitle, and heading levels. */
6
+ export declare function registerHeadingPickerEntries(context: PluginContext, config: HeadingConfig, locale: HeadingLocale): void;
7
+ /** Registers the heading toolbar dropdown with a custom picker popup. */
8
+ export declare function registerHeadingToolbarItem(context: PluginContext, config: HeadingConfig, locale: HeadingLocale): void;
9
+ /**
10
+ * Updates the combobox label in the toolbar to reflect the current block type.
11
+ * Returns the resolved HTMLSpanElement (cached across calls) for reuse.
12
+ */
13
+ export declare function updateComboLabel(state: EditorState, context: PluginContext, locale: HeadingLocale, cachedLabel: HTMLSpanElement | null): HTMLSpanElement | null;
14
+ //# sourceMappingURL=HeadingBlockTypePicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadingBlockTypePicker.d.ts","sourceRoot":"","sources":["../../../src/plugins/heading/HeadingBlockTypePicker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,oBAAoB,CAAC;AAItE,8FAA8F;AAC9F,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,GACnB,IAAI,CAqDN;AAID,yEAAyE;AACzE,wBAAgB,0BAA0B,CACzC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,GACnB,IAAI,CAqBN;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,eAAe,GAAG,IAAI,GACjC,eAAe,GAAG,IAAI,CAYxB"}
@@ -0,0 +1,5 @@
1
+ import { PluginContext } from '../Plugin.js';
2
+ import { HeadingConfig } from './HeadingPlugin.js';
3
+ /** Registers all heading commands (setTitle, setSubtitle, setHeadingN, toggleHeading, setParagraph). */
4
+ export declare function registerHeadingCommands(context: PluginContext, config: HeadingConfig): void;
5
+ //# sourceMappingURL=HeadingCommands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadingCommands.d.ts","sourceRoot":"","sources":["../../../src/plugins/heading/HeadingCommands.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,oBAAoB,CAAC;AAEtE,wGAAwG;AACxG,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAY3F"}
@@ -0,0 +1,5 @@
1
+ import { PluginContext } from '../Plugin.js';
2
+ import { HeadingConfig } from './HeadingPlugin.js';
3
+ /** Registers markdown-style input rules (e.g. `# ` → H1) for configured heading levels. */
4
+ export declare function registerHeadingInputRules(context: PluginContext, config: HeadingConfig): void;
5
+ //# sourceMappingURL=HeadingInputRules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadingInputRules.d.ts","sourceRoot":"","sources":["../../../src/plugins/heading/HeadingInputRules.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,2FAA2F;AAC3F,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAwB7F"}
@@ -0,0 +1,5 @@
1
+ import { PluginContext } from '../Plugin.js';
2
+ import { HeadingConfig } from './HeadingPlugin.js';
3
+ /** Registers all heading keyboard handlers (Enter, Mod-Shift-N shortcuts). */
4
+ export declare function registerHeadingKeymaps(context: PluginContext, config: HeadingConfig): void;
5
+ //# sourceMappingURL=HeadingKeyboardHandlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadingKeyboardHandlers.d.ts","sourceRoot":"","sources":["../../../src/plugins/heading/HeadingKeyboardHandlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAsCxD,8EAA8E;AAC9E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAY1F"}
@@ -36,47 +36,7 @@ export declare class HeadingPlugin implements Plugin {
36
36
  constructor(config?: Partial<HeadingConfig>);
37
37
  init(context: PluginContext): void;
38
38
  destroy(): void;
39
- onStateChange(_oldState: EditorState, newState: EditorState, _tr: Transaction): void;
39
+ onStateChange(_oldState: EditorState, _newState: EditorState, _tr: Transaction): void;
40
40
  private registerNodeSpecs;
41
- private registerCommands;
42
- private registerKeymaps;
43
- private registerInputRules;
44
- private registerPickerEntries;
45
- private registerToolbarItem;
46
- private getHeadingLabel;
47
- private updateComboLabel;
48
- private getActiveLabel;
49
- private dismissPopup;
50
- private renderHeadingPopup;
51
- private createPickerItem;
52
- private static readonly HEADING_TYPES;
53
- /**
54
- * Handles Enter inside a heading block.
55
- * Empty heading → convert to paragraph.
56
- * Cursor at end → split and convert new block to paragraph.
57
- * Cursor in middle → normal split (both stay heading).
58
- */
59
- private handleEnter;
60
- /**
61
- * Toggles between a special block type (title/subtitle) and paragraph.
62
- * If the block is already that type, resets to paragraph.
63
- */
64
- private toggleSpecialBlock;
65
- /**
66
- * Toggles between heading (at given level) and paragraph.
67
- * If the block is already a heading at the same level, resets to paragraph.
68
- */
69
- private toggleHeading;
70
- private setBlockType;
71
- /**
72
- * Adds removeMark steps for each excluded mark type found
73
- * on the block's inline text content.
74
- */
75
- private stripExcludedMarks;
76
- /**
77
- * Clears excluded mark types from stored marks so that
78
- * subsequent typing does not reintroduce them.
79
- */
80
- private clearExcludedStoredMarks;
81
41
  }
82
42
  //# sourceMappingURL=HeadingPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeadingPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/heading/HeadingPlugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAsB,MAAM,4BAA4B,CAAC;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGtE,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIzE,OAAO,QAAQ,6BAA6B,CAAC;IAC5C,UAAU,gBAAgB;QACzB,OAAO,EAAE;YAAE,KAAK,EAAE,YAAY,CAAC;YAAC,KAAK,CAAC,EAAE,cAAc,CAAA;SAAE,CAAC;QACzD,KAAK,EAAE;YAAE,KAAK,CAAC,EAAE,cAAc,CAAA;SAAE,CAAC;QAClC,QAAQ,EAAE;YAAE,KAAK,CAAC,EAAE,cAAc,CAAA;SAAE,CAAC;KACrC;CACD;AAID,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjD,MAAM,WAAW,aAAa;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,yEAAyE;IACzE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;CAChC;AAmBD,qBAAa,aAAc,YAAW,MAAM;IAC3C,QAAQ,CAAC,EAAE,aAAa;IACxB,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,UAAU,CAAgC;gBAEtC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAI3C,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAYlC,OAAO,IAAI,IAAI;IAKf,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI;IAIpF,OAAO,CAAC,iBAAiB;IA+DzB,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,qBAAqB;IAuD7B,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,kBAAkB;IAgC1B,OAAO,CAAC,gBAAgB;IAoCxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAIlC;IAEH;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAyCnB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,YAAY;IA0BpB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;CAgBhC"}
1
+ {"version":3,"file":"HeadingPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/heading/HeadingPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAStE,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIzE,OAAO,QAAQ,6BAA6B,CAAC;IAC5C,UAAU,gBAAgB;QACzB,OAAO,EAAE;YAAE,KAAK,EAAE,YAAY,CAAC;YAAC,KAAK,CAAC,EAAE,cAAc,CAAA;SAAE,CAAC;QACzD,KAAK,EAAE;YAAE,KAAK,CAAC,EAAE,cAAc,CAAA;SAAE,CAAC;QAClC,QAAQ,EAAE;YAAE,KAAK,CAAC,EAAE,cAAc,CAAA;SAAE,CAAC;KACrC;CACD;AAID,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjD,MAAM,WAAW,aAAa;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,yEAAyE;IACzE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;CAChC;AAmBD,qBAAa,aAAc,YAAW,MAAM;IAC3C,QAAQ,CAAC,EAAE,aAAa;IACxB,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,QAAQ,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,UAAU,CAAgC;gBAEtC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAI3C,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAalC,OAAO,IAAI,IAAI;IAKf,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI;IAKrF,OAAO,CAAC,iBAAiB;CA8DzB"}
@@ -1,4 +1,4 @@
1
- import { b } from "../chunks/index-Dh76rR13.mjs";
1
+ import { b } from "../chunks/index-DRZwd-1W.mjs";
2
2
  export {
3
3
  b as HeadingPlugin
4
4
  };