@mdxeditor/editor 0.20.0 → 0.21.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.
@@ -37,7 +37,7 @@ export interface MDXEditorProps {
37
37
  /**
38
38
  * pass if you would like to have the editor automatically focused when mounted.
39
39
  */
40
- autoFocus?: boolean;
40
+ autoFocus?: boolean | 'rootStart' | 'rootEnd';
41
41
  /**
42
42
  * Triggered when focus leaves the editor
43
43
  */
@@ -95,7 +95,7 @@ export declare const codeBlockSystem: SystemSpec<[SystemSpec<[], (r: Realm) => {
95
95
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
96
96
  contentEditableClassName: RealmNode<string>;
97
97
  placeholder: RealmNode<ReactNode>;
98
- autoFocus: RealmNode<boolean>;
98
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
99
99
  readOnly: RealmNode<boolean>;
100
100
  composerChildren: RealmNode<ComponentType<{}>[]>;
101
101
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -147,7 +147,7 @@ export declare const codeBlockSystem: SystemSpec<[SystemSpec<[], (r: Realm) => {
147
147
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
148
148
  contentEditableClassName: RealmNode<string>;
149
149
  placeholder: RealmNode<ReactNode>;
150
- autoFocus: RealmNode<boolean>;
150
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
151
151
  readOnly: RealmNode<boolean>;
152
152
  composerChildren: RealmNode<ComponentType<{}>[]>;
153
153
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -222,7 +222,7 @@ codeBlockPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
222
222
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
223
223
  contentEditableClassName: RealmNode<string>;
224
224
  placeholder: RealmNode<ReactNode>;
225
- autoFocus: RealmNode<boolean>;
225
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
226
226
  readOnly: RealmNode<boolean>;
227
227
  composerChildren: RealmNode<ComponentType<{}>[]>;
228
228
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -274,7 +274,7 @@ codeBlockPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
274
274
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
275
275
  contentEditableClassName: RealmNode<string>;
276
276
  placeholder: RealmNode<ReactNode>;
277
- autoFocus: RealmNode<boolean>;
277
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
278
278
  readOnly: RealmNode<boolean>;
279
279
  composerChildren: RealmNode<ComponentType<{}>[]>;
280
280
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -341,7 +341,7 @@ codeBlockPluginHooks: {
341
341
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
342
342
  contentEditableClassName: RealmNode<string>;
343
343
  placeholder: RealmNode<ReactNode>;
344
- autoFocus: RealmNode<boolean>;
344
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
345
345
  readOnly: RealmNode<boolean>;
346
346
  composerChildren: RealmNode<ComponentType<{}>[]>;
347
347
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -399,7 +399,7 @@ codeBlockPluginHooks: {
399
399
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
400
400
  contentEditableClassName: RealmNode<string>;
401
401
  placeholder: RealmNode<ReactNode>;
402
- autoFocus: RealmNode<boolean>;
402
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
403
403
  readOnly: RealmNode<boolean>;
404
404
  composerChildren: RealmNode<ComponentType<{}>[]>;
405
405
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -457,7 +457,7 @@ codeBlockPluginHooks: {
457
457
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
458
458
  contentEditableClassName: RealmNode<string>;
459
459
  placeholder: RealmNode<ReactNode>;
460
- autoFocus: RealmNode<boolean>;
460
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
461
461
  readOnly: RealmNode<boolean>;
462
462
  composerChildren: RealmNode<ComponentType<{}>[]>;
463
463
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -514,7 +514,7 @@ codeBlockPluginHooks: {
514
514
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
515
515
  contentEditableClassName: RealmNode<string>;
516
516
  placeholder: RealmNode<ReactNode>;
517
- autoFocus: RealmNode<boolean>;
517
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
518
518
  readOnly: RealmNode<boolean>;
519
519
  composerChildren: RealmNode<ComponentType<{}>[]>;
520
520
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -572,7 +572,7 @@ codeBlockPluginHooks: {
572
572
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
573
573
  contentEditableClassName: RealmNode<string>;
574
574
  placeholder: RealmNode<ReactNode>;
575
- autoFocus: RealmNode<boolean>;
575
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
576
576
  readOnly: RealmNode<boolean>;
577
577
  composerChildren: RealmNode<ComponentType<{}>[]>;
578
578
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -630,7 +630,7 @@ codeBlockPluginHooks: {
630
630
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
631
631
  contentEditableClassName: RealmNode<string>;
632
632
  placeholder: RealmNode<ReactNode>;
633
- autoFocus: RealmNode<boolean>;
633
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
634
634
  readOnly: RealmNode<boolean>;
635
635
  composerChildren: RealmNode<ComponentType<{}>[]>;
636
636
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -43,7 +43,7 @@ export declare const codeMirrorSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
43
43
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
44
44
  contentEditableClassName: RealmNode<string>;
45
45
  placeholder: RealmNode<ReactNode>;
46
- autoFocus: RealmNode<boolean>;
46
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
47
47
  readOnly: RealmNode<boolean>;
48
48
  composerChildren: RealmNode<ComponentType<{}>[]>;
49
49
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -95,7 +95,7 @@ export declare const codeMirrorSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
95
95
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
96
96
  contentEditableClassName: RealmNode<string>;
97
97
  placeholder: RealmNode<ReactNode>;
98
- autoFocus: RealmNode<boolean>;
98
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
99
99
  readOnly: RealmNode<boolean>;
100
100
  composerChildren: RealmNode<ComponentType<{}>[]>;
101
101
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -147,7 +147,7 @@ export declare const codeMirrorSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
147
147
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
148
148
  contentEditableClassName: RealmNode<string>;
149
149
  placeholder: RealmNode<ReactNode>;
150
- autoFocus: RealmNode<boolean>;
150
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
151
151
  readOnly: RealmNode<boolean>;
152
152
  composerChildren: RealmNode<ComponentType<{}>[]>;
153
153
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -204,7 +204,7 @@ export declare const codeMirrorSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
204
204
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
205
205
  contentEditableClassName: RealmNode<string>;
206
206
  placeholder: RealmNode<ReactNode>;
207
- autoFocus: RealmNode<boolean>;
207
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
208
208
  readOnly: RealmNode<boolean>;
209
209
  composerChildren: RealmNode<ComponentType<{}>[]>;
210
210
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -270,7 +270,7 @@ codeMirrorPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
270
270
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
271
271
  contentEditableClassName: RealmNode<string>;
272
272
  placeholder: RealmNode<ReactNode>;
273
- autoFocus: RealmNode<boolean>;
273
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
274
274
  readOnly: RealmNode<boolean>;
275
275
  composerChildren: RealmNode<ComponentType<{}>[]>;
276
276
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -322,7 +322,7 @@ codeMirrorPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
322
322
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
323
323
  contentEditableClassName: RealmNode<string>;
324
324
  placeholder: RealmNode<ReactNode>;
325
- autoFocus: RealmNode<boolean>;
325
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
326
326
  readOnly: RealmNode<boolean>;
327
327
  composerChildren: RealmNode<ComponentType<{}>[]>;
328
328
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -374,7 +374,7 @@ codeMirrorPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
374
374
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
375
375
  contentEditableClassName: RealmNode<string>;
376
376
  placeholder: RealmNode<ReactNode>;
377
- autoFocus: RealmNode<boolean>;
377
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
378
378
  readOnly: RealmNode<boolean>;
379
379
  composerChildren: RealmNode<ComponentType<{}>[]>;
380
380
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -431,7 +431,7 @@ codeMirrorPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
431
431
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
432
432
  contentEditableClassName: RealmNode<string>;
433
433
  placeholder: RealmNode<ReactNode>;
434
- autoFocus: RealmNode<boolean>;
434
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
435
435
  readOnly: RealmNode<boolean>;
436
436
  composerChildren: RealmNode<ComponentType<{}>[]>;
437
437
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -505,7 +505,7 @@ codeMirrorHooks: {
505
505
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
506
506
  contentEditableClassName: RealmNode<string>;
507
507
  placeholder: RealmNode<ReactNode>;
508
- autoFocus: RealmNode<boolean>;
508
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
509
509
  readOnly: RealmNode<boolean>;
510
510
  composerChildren: RealmNode<ComponentType<{}>[]>;
511
511
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -569,7 +569,7 @@ codeMirrorHooks: {
569
569
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
570
570
  contentEditableClassName: RealmNode<string>;
571
571
  placeholder: RealmNode<ReactNode>;
572
- autoFocus: RealmNode<boolean>;
572
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
573
573
  readOnly: RealmNode<boolean>;
574
574
  composerChildren: RealmNode<ComponentType<{}>[]>;
575
575
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -633,7 +633,7 @@ codeMirrorHooks: {
633
633
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
634
634
  contentEditableClassName: RealmNode<string>;
635
635
  placeholder: RealmNode<ReactNode>;
636
- autoFocus: RealmNode<boolean>;
636
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
637
637
  readOnly: RealmNode<boolean>;
638
638
  composerChildren: RealmNode<ComponentType<{}>[]>;
639
639
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -696,7 +696,7 @@ codeMirrorHooks: {
696
696
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
697
697
  contentEditableClassName: RealmNode<string>;
698
698
  placeholder: RealmNode<ReactNode>;
699
- autoFocus: RealmNode<boolean>;
699
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
700
700
  readOnly: RealmNode<boolean>;
701
701
  composerChildren: RealmNode<ComponentType<{}>[]>;
702
702
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -760,7 +760,7 @@ codeMirrorHooks: {
760
760
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
761
761
  contentEditableClassName: RealmNode<string>;
762
762
  placeholder: RealmNode<ReactNode>;
763
- autoFocus: RealmNode<boolean>;
763
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
764
764
  readOnly: RealmNode<boolean>;
765
765
  composerChildren: RealmNode<ComponentType<{}>[]>;
766
766
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -824,7 +824,7 @@ codeMirrorHooks: {
824
824
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
825
825
  contentEditableClassName: RealmNode<string>;
826
826
  placeholder: RealmNode<ReactNode>;
827
- autoFocus: RealmNode<boolean>;
827
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
828
828
  readOnly: RealmNode<boolean>;
829
829
  composerChildren: RealmNode<ComponentType<{}>[]>;
830
830
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -58,7 +58,7 @@ export declare const coreSystem: SystemSpec<[], (r: Realm) => {
58
58
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
59
59
  contentEditableClassName: RealmNode<string>;
60
60
  placeholder: RealmNode<React.ReactNode>;
61
- autoFocus: RealmNode<boolean>;
61
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
62
62
  readOnly: RealmNode<boolean>;
63
63
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
64
64
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -85,7 +85,7 @@ interface CorePluginParams {
85
85
  initialMarkdown: string;
86
86
  contentEditableClassName: string;
87
87
  placeholder?: React.ReactNode;
88
- autoFocus: boolean;
88
+ autoFocus: boolean | 'rootStart' | 'rootEnd';
89
89
  onChange: (markdown: string) => void;
90
90
  onBlur?: (e: FocusEvent) => void;
91
91
  toMarkdownOptions: NonNullable<LexicalConvertOptions['toMarkdownOptions']>;
@@ -123,7 +123,7 @@ corePlugin: PluginConstructor<SystemSpec<[], (r: Realm) => {
123
123
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
124
124
  contentEditableClassName: RealmNode<string>;
125
125
  placeholder: RealmNode<React.ReactNode>;
126
- autoFocus: RealmNode<boolean>;
126
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
127
127
  readOnly: RealmNode<boolean>;
128
128
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
129
129
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -178,7 +178,7 @@ corePluginHooks: {
178
178
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
179
179
  contentEditableClassName: RealmNode<string>;
180
180
  placeholder: RealmNode<React.ReactNode>;
181
- autoFocus: RealmNode<boolean>;
181
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
182
182
  readOnly: RealmNode<boolean>;
183
183
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
184
184
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -231,7 +231,7 @@ corePluginHooks: {
231
231
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
232
232
  contentEditableClassName: RealmNode<string>;
233
233
  placeholder: RealmNode<React.ReactNode>;
234
- autoFocus: RealmNode<boolean>;
234
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
235
235
  readOnly: RealmNode<boolean>;
236
236
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
237
237
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -284,7 +284,7 @@ corePluginHooks: {
284
284
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
285
285
  contentEditableClassName: RealmNode<string>;
286
286
  placeholder: RealmNode<React.ReactNode>;
287
- autoFocus: RealmNode<boolean>;
287
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
288
288
  readOnly: RealmNode<boolean>;
289
289
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
290
290
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -336,7 +336,7 @@ corePluginHooks: {
336
336
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
337
337
  contentEditableClassName: RealmNode<string>;
338
338
  placeholder: RealmNode<React.ReactNode>;
339
- autoFocus: RealmNode<boolean>;
339
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
340
340
  readOnly: RealmNode<boolean>;
341
341
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
342
342
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -389,7 +389,7 @@ corePluginHooks: {
389
389
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
390
390
  contentEditableClassName: RealmNode<string>;
391
391
  placeholder: RealmNode<React.ReactNode>;
392
- autoFocus: RealmNode<boolean>;
392
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
393
393
  readOnly: RealmNode<boolean>;
394
394
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
395
395
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -442,7 +442,7 @@ corePluginHooks: {
442
442
  editorRootElementRef: RealmNode<React.RefObject<HTMLDivElement> | null>;
443
443
  contentEditableClassName: RealmNode<string>;
444
444
  placeholder: RealmNode<React.ReactNode>;
445
- autoFocus: RealmNode<boolean>;
445
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
446
446
  readOnly: RealmNode<boolean>;
447
447
  composerChildren: RealmNode<React.ComponentType<{}>[]>;
448
448
  addComposerChild: RealmNode<React.ComponentType<{}>>;
@@ -2,7 +2,7 @@ import { createEmptyHistoryState } from "@lexical/react/LexicalHistoryPlugin.js"
2
2
  import { $isHeadingNode } from "@lexical/rich-text";
3
3
  import { $setBlocksType } from "@lexical/selection";
4
4
  import { $findMatchingParent, $wrapNodeInElement, $insertNodeToNearestRoot } from "@lexical/utils";
5
- import { createCommand, SELECTION_CHANGE_COMMAND, $getRoot, COMMAND_PRIORITY_CRITICAL, BLUR_COMMAND, KEY_DOWN_COMMAND, COMMAND_PRIORITY_LOW, FORMAT_TEXT_COMMAND, $isRootOrShadowRoot, $getSelection, $isRangeSelection, $insertNodes, $createParagraphNode, ParagraphNode, TextNode } from "lexical";
5
+ import { createCommand, SELECTION_CHANGE_COMMAND, $getRoot, COMMAND_PRIORITY_CRITICAL, BLUR_COMMAND, KEY_DOWN_COMMAND, FORMAT_TEXT_COMMAND, $isRootOrShadowRoot, $getSelection, $isRangeSelection, $insertNodes, $createParagraphNode, ParagraphNode, TextNode } from "lexical";
6
6
  import { exportMarkdownFromLexical } from "../../exportMarkdownFromLexical.js";
7
7
  import { importMarkdownToLexical } from "../../importMarkdownToLexical.js";
8
8
  import { LexicalLinebreakVisitor } from "./LexicalLinebreakVisitor.js";
@@ -160,8 +160,9 @@ const coreSystem = system((r) => {
160
160
  markdown: r.getValue(initialMarkdown),
161
161
  syntaxExtensions: r.getValue(syntaxExtensions)
162
162
  });
163
- if (r.getValue(autoFocus)) {
164
- setTimeout(() => theRootEditor.focus(noop, { defaultSelection: "rootStart" }));
163
+ const autoFocusValue = r.getValue(autoFocus);
164
+ if (autoFocusValue) {
165
+ setTimeout(() => theRootEditor.focus(noop, { defaultSelection: autoFocusValue === true ? "rootStart" : autoFocusValue }));
165
166
  }
166
167
  });
167
168
  r.pub(createActiveEditorSubscription, (editor) => {
@@ -196,14 +197,18 @@ const coreSystem = system((r) => {
196
197
  KEY_DOWN_COMMAND,
197
198
  (event) => {
198
199
  const { keyCode, ctrlKey, metaKey } = event;
199
- if (keyCode === 65 && controlOrMeta(metaKey, ctrlKey)) {
200
+ let shouldOverride = false;
201
+ theRootEditor.getEditorState().read(() => {
202
+ var _a;
203
+ shouldOverride = ((_a = $getRoot().getFirstChild()) == null ? void 0 : _a.getType()) === "frontmatter";
204
+ });
205
+ if (keyCode === 65 && controlOrMeta(metaKey, ctrlKey) && shouldOverride) {
200
206
  event.preventDefault();
207
+ event.stopImmediatePropagation();
201
208
  theRootEditor.update(() => {
202
209
  var _a;
203
- const root = $getRoot();
204
- const skipFirstChild = ((_a = root.getFirstChild()) == null ? void 0 : _a.getType()) === "frontmatter";
205
- root.select(skipFirstChild ? 1 : 0, root.getChildrenSize());
206
210
  const rootElement = theRootEditor.getRootElement();
211
+ (_a = window.getSelection()) == null ? void 0 : _a.selectAllChildren(rootElement);
207
212
  rootElement.focus({
208
213
  preventScroll: true
209
214
  });
@@ -212,7 +217,7 @@ const coreSystem = system((r) => {
212
217
  }
213
218
  return false;
214
219
  },
215
- COMMAND_PRIORITY_LOW
220
+ COMMAND_PRIORITY_CRITICAL
216
221
  );
217
222
  });
218
223
  const composerChildren = r.node([]);
@@ -44,7 +44,7 @@ export declare const diffSourceSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
44
44
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
45
45
  contentEditableClassName: RealmNode<string>;
46
46
  placeholder: RealmNode<ReactNode>;
47
- autoFocus: RealmNode<boolean>;
47
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
48
48
  readOnly: RealmNode<boolean>;
49
49
  composerChildren: RealmNode<ComponentType<{}>[]>;
50
50
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -96,7 +96,7 @@ export declare const diffSourceSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
96
96
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
97
97
  contentEditableClassName: RealmNode<string>;
98
98
  placeholder: RealmNode<ReactNode>;
99
- autoFocus: RealmNode<boolean>;
99
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
100
100
  readOnly: RealmNode<boolean>;
101
101
  composerChildren: RealmNode<ComponentType<{}>[]>;
102
102
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -155,7 +155,7 @@ diffSourcePlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
155
155
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
156
156
  contentEditableClassName: RealmNode<string>;
157
157
  placeholder: RealmNode<ReactNode>;
158
- autoFocus: RealmNode<boolean>;
158
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
159
159
  readOnly: RealmNode<boolean>;
160
160
  composerChildren: RealmNode<ComponentType<{}>[]>;
161
161
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -207,7 +207,7 @@ diffSourcePlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
207
207
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
208
208
  contentEditableClassName: RealmNode<string>;
209
209
  placeholder: RealmNode<ReactNode>;
210
- autoFocus: RealmNode<boolean>;
210
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
211
211
  readOnly: RealmNode<boolean>;
212
212
  composerChildren: RealmNode<ComponentType<{}>[]>;
213
213
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -273,7 +273,7 @@ diffSourcePluginHooks: {
273
273
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
274
274
  contentEditableClassName: RealmNode<string>;
275
275
  placeholder: RealmNode<ReactNode>;
276
- autoFocus: RealmNode<boolean>;
276
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
277
277
  readOnly: RealmNode<boolean>;
278
278
  composerChildren: RealmNode<ComponentType<{}>[]>;
279
279
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -330,7 +330,7 @@ diffSourcePluginHooks: {
330
330
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
331
331
  contentEditableClassName: RealmNode<string>;
332
332
  placeholder: RealmNode<ReactNode>;
333
- autoFocus: RealmNode<boolean>;
333
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
334
334
  readOnly: RealmNode<boolean>;
335
335
  composerChildren: RealmNode<ComponentType<{}>[]>;
336
336
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -387,7 +387,7 @@ diffSourcePluginHooks: {
387
387
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
388
388
  contentEditableClassName: RealmNode<string>;
389
389
  placeholder: RealmNode<ReactNode>;
390
- autoFocus: RealmNode<boolean>;
390
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
391
391
  readOnly: RealmNode<boolean>;
392
392
  composerChildren: RealmNode<ComponentType<{}>[]>;
393
393
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -443,7 +443,7 @@ diffSourcePluginHooks: {
443
443
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
444
444
  contentEditableClassName: RealmNode<string>;
445
445
  placeholder: RealmNode<ReactNode>;
446
- autoFocus: RealmNode<boolean>;
446
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
447
447
  readOnly: RealmNode<boolean>;
448
448
  composerChildren: RealmNode<ComponentType<{}>[]>;
449
449
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -500,7 +500,7 @@ diffSourcePluginHooks: {
500
500
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
501
501
  contentEditableClassName: RealmNode<string>;
502
502
  placeholder: RealmNode<ReactNode>;
503
- autoFocus: RealmNode<boolean>;
503
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
504
504
  readOnly: RealmNode<boolean>;
505
505
  composerChildren: RealmNode<ComponentType<{}>[]>;
506
506
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -557,7 +557,7 @@ diffSourcePluginHooks: {
557
557
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
558
558
  contentEditableClassName: RealmNode<string>;
559
559
  placeholder: RealmNode<ReactNode>;
560
- autoFocus: RealmNode<boolean>;
560
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
561
561
  readOnly: RealmNode<boolean>;
562
562
  composerChildren: RealmNode<ComponentType<{}>[]>;
563
563
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -101,7 +101,7 @@ export declare const directivesSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
101
101
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
102
102
  contentEditableClassName: RealmNode<string>;
103
103
  placeholder: RealmNode<ReactNode>;
104
- autoFocus: RealmNode<boolean>;
104
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
105
105
  readOnly: RealmNode<boolean>;
106
106
  composerChildren: RealmNode<ComponentType<{}>[]>;
107
107
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -153,7 +153,7 @@ export declare const directivesSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
153
153
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
154
154
  contentEditableClassName: RealmNode<string>;
155
155
  placeholder: RealmNode<ReactNode>;
156
- autoFocus: RealmNode<boolean>;
156
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
157
157
  readOnly: RealmNode<boolean>;
158
158
  composerChildren: RealmNode<ComponentType<{}>[]>;
159
159
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -223,7 +223,7 @@ directivesPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
223
223
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
224
224
  contentEditableClassName: RealmNode<string>;
225
225
  placeholder: RealmNode<ReactNode>;
226
- autoFocus: RealmNode<boolean>;
226
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
227
227
  readOnly: RealmNode<boolean>;
228
228
  composerChildren: RealmNode<ComponentType<{}>[]>;
229
229
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -275,7 +275,7 @@ directivesPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
275
275
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
276
276
  contentEditableClassName: RealmNode<string>;
277
277
  placeholder: RealmNode<ReactNode>;
278
- autoFocus: RealmNode<boolean>;
278
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
279
279
  readOnly: RealmNode<boolean>;
280
280
  composerChildren: RealmNode<ComponentType<{}>[]>;
281
281
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -336,7 +336,7 @@ directivesPluginHooks: {
336
336
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
337
337
  contentEditableClassName: RealmNode<string>;
338
338
  placeholder: RealmNode<ReactNode>;
339
- autoFocus: RealmNode<boolean>;
339
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
340
340
  readOnly: RealmNode<boolean>;
341
341
  composerChildren: RealmNode<ComponentType<{}>[]>;
342
342
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -392,7 +392,7 @@ directivesPluginHooks: {
392
392
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
393
393
  contentEditableClassName: RealmNode<string>;
394
394
  placeholder: RealmNode<ReactNode>;
395
- autoFocus: RealmNode<boolean>;
395
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
396
396
  readOnly: RealmNode<boolean>;
397
397
  composerChildren: RealmNode<ComponentType<{}>[]>;
398
398
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -448,7 +448,7 @@ directivesPluginHooks: {
448
448
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
449
449
  contentEditableClassName: RealmNode<string>;
450
450
  placeholder: RealmNode<ReactNode>;
451
- autoFocus: RealmNode<boolean>;
451
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
452
452
  readOnly: RealmNode<boolean>;
453
453
  composerChildren: RealmNode<ComponentType<{}>[]>;
454
454
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -503,7 +503,7 @@ directivesPluginHooks: {
503
503
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
504
504
  contentEditableClassName: RealmNode<string>;
505
505
  placeholder: RealmNode<ReactNode>;
506
- autoFocus: RealmNode<boolean>;
506
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
507
507
  readOnly: RealmNode<boolean>;
508
508
  composerChildren: RealmNode<ComponentType<{}>[]>;
509
509
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -559,7 +559,7 @@ directivesPluginHooks: {
559
559
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
560
560
  contentEditableClassName: RealmNode<string>;
561
561
  placeholder: RealmNode<ReactNode>;
562
- autoFocus: RealmNode<boolean>;
562
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
563
563
  readOnly: RealmNode<boolean>;
564
564
  composerChildren: RealmNode<ComponentType<{}>[]>;
565
565
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -615,7 +615,7 @@ directivesPluginHooks: {
615
615
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
616
616
  contentEditableClassName: RealmNode<string>;
617
617
  placeholder: RealmNode<ReactNode>;
618
- autoFocus: RealmNode<boolean>;
618
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
619
619
  readOnly: RealmNode<boolean>;
620
620
  composerChildren: RealmNode<ComponentType<{}>[]>;
621
621
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -42,7 +42,7 @@ export declare const frontmatterSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
42
42
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
43
43
  contentEditableClassName: RealmNode<string>;
44
44
  placeholder: RealmNode<ReactNode>;
45
- autoFocus: RealmNode<boolean>;
45
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
46
46
  readOnly: RealmNode<boolean>;
47
47
  composerChildren: RealmNode<ComponentType<{}>[]>;
48
48
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -94,7 +94,7 @@ export declare const frontmatterSystem: SystemSpec<[SystemSpec<[], (r: Realm) =>
94
94
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
95
95
  contentEditableClassName: RealmNode<string>;
96
96
  placeholder: RealmNode<ReactNode>;
97
- autoFocus: RealmNode<boolean>;
97
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
98
98
  readOnly: RealmNode<boolean>;
99
99
  composerChildren: RealmNode<ComponentType<{}>[]>;
100
100
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -154,7 +154,7 @@ frontmatterPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
154
154
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
155
155
  contentEditableClassName: RealmNode<string>;
156
156
  placeholder: RealmNode<ReactNode>;
157
- autoFocus: RealmNode<boolean>;
157
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
158
158
  readOnly: RealmNode<boolean>;
159
159
  composerChildren: RealmNode<ComponentType<{}>[]>;
160
160
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -206,7 +206,7 @@ frontmatterPlugin: PluginConstructor<SystemSpec<[SystemSpec<[], (r: Realm) => {
206
206
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
207
207
  contentEditableClassName: RealmNode<string>;
208
208
  placeholder: RealmNode<ReactNode>;
209
- autoFocus: RealmNode<boolean>;
209
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
210
210
  readOnly: RealmNode<boolean>;
211
211
  composerChildren: RealmNode<ComponentType<{}>[]>;
212
212
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -271,7 +271,7 @@ frontmatterPluginHooks: {
271
271
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
272
272
  contentEditableClassName: RealmNode<string>;
273
273
  placeholder: RealmNode<ReactNode>;
274
- autoFocus: RealmNode<boolean>;
274
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
275
275
  readOnly: RealmNode<boolean>;
276
276
  composerChildren: RealmNode<ComponentType<{}>[]>;
277
277
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -329,7 +329,7 @@ frontmatterPluginHooks: {
329
329
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
330
330
  contentEditableClassName: RealmNode<string>;
331
331
  placeholder: RealmNode<ReactNode>;
332
- autoFocus: RealmNode<boolean>;
332
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
333
333
  readOnly: RealmNode<boolean>;
334
334
  composerChildren: RealmNode<ComponentType<{}>[]>;
335
335
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -387,7 +387,7 @@ frontmatterPluginHooks: {
387
387
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
388
388
  contentEditableClassName: RealmNode<string>;
389
389
  placeholder: RealmNode<ReactNode>;
390
- autoFocus: RealmNode<boolean>;
390
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
391
391
  readOnly: RealmNode<boolean>;
392
392
  composerChildren: RealmNode<ComponentType<{}>[]>;
393
393
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -444,7 +444,7 @@ frontmatterPluginHooks: {
444
444
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
445
445
  contentEditableClassName: RealmNode<string>;
446
446
  placeholder: RealmNode<ReactNode>;
447
- autoFocus: RealmNode<boolean>;
447
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
448
448
  readOnly: RealmNode<boolean>;
449
449
  composerChildren: RealmNode<ComponentType<{}>[]>;
450
450
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -502,7 +502,7 @@ frontmatterPluginHooks: {
502
502
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
503
503
  contentEditableClassName: RealmNode<string>;
504
504
  placeholder: RealmNode<ReactNode>;
505
- autoFocus: RealmNode<boolean>;
505
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
506
506
  readOnly: RealmNode<boolean>;
507
507
  composerChildren: RealmNode<ComponentType<{}>[]>;
508
508
  addComposerChild: RealmNode<ComponentType<{}>>;
@@ -560,7 +560,7 @@ frontmatterPluginHooks: {
560
560
  editorRootElementRef: RealmNode<RefObject<HTMLDivElement> | null>;
561
561
  contentEditableClassName: RealmNode<string>;
562
562
  placeholder: RealmNode<ReactNode>;
563
- autoFocus: RealmNode<boolean>;
563
+ autoFocus: RealmNode<boolean | "rootStart" | "rootEnd">;
564
564
  readOnly: RealmNode<boolean>;
565
565
  composerChildren: RealmNode<ComponentType<{}>[]>;
566
566
  addComposerChild: RealmNode<ComponentType<{}>>;