@byline/richtext-lexical 2.2.10 → 2.3.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.
@@ -14,10 +14,16 @@ import type { EditorConfig } from './types';
14
14
  * itself so contributing extensions can attach their toolbar items via
15
15
  * `peerDependencies`.
16
16
  *
17
- * Order matters: stock framework extensions (clear-editor, tab-indent,
18
- * auto-focus) come first; toolbar contract sits ahead of any
19
- * contributing extension; relation-bearing extensions (link, image)
20
- * land near the end.
17
+ * Order matters: stock framework extensions (clear-editor, tab-indent)
18
+ * come first; toolbar contract sits ahead of any contributing extension;
19
+ * relation-bearing extensions (link, image) land near the end.
20
+ *
21
+ * Note: `AutoFocusExtension` is intentionally *not* included. Its root
22
+ * listener fires on every root re-attach (initial mount and after
23
+ * setEditorState swaps), pulling the caret to `rootEnd` — which surfaced
24
+ * as "cursor jumps to the end of the field on tab switch / after save."
25
+ * The pre-extensions default (`autoFocusPlugin: false`) was also off.
26
+ * Callers who want auto-focus can opt in via `lexicalEditor((c) => ...)`.
21
27
  */
22
28
  export declare function defaultExtensionsArray(): AnyLexicalExtensionArgument[];
23
29
  /** Fresh `ExtensionsList` populated with the built-in extensions. */
@@ -1,4 +1,4 @@
1
- import { AutoFocusExtension, ClearEditorExtension, TabIndentationExtension } from "@lexical/extension";
1
+ import { ClearEditorExtension, TabIndentationExtension } from "@lexical/extension";
2
2
  import { CheckListExtension, ListExtension } from "@lexical/list";
3
3
  import { AdmonitionExtension } from "../extensions/admonition/admonition-extension.js";
4
4
  import { AutoEmbedExtension } from "../extensions/auto-embed/auto-embed-extension.js";
@@ -20,7 +20,6 @@ function defaultExtensionsArray() {
20
20
  return [
21
21
  ClearEditorExtension,
22
22
  TabIndentationExtension,
23
- AutoFocusExtension,
24
23
  BylineToolbarExtension,
25
24
  BylineFloatingUIExtension,
26
25
  ListExtension,
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "private": false,
4
4
  "type": "module",
5
5
  "license": "MPL-2.0",
6
- "version": "2.2.10",
6
+ "version": "2.3.1",
7
7
  "engines": {
8
8
  "node": ">=20.9.0"
9
9
  },
@@ -72,9 +72,9 @@
72
72
  "npm-run-all": "^4.1.5",
73
73
  "prism-react-renderer": "^2.4.1",
74
74
  "react-error-boundary": "^6.1.1",
75
- "@byline/client": "2.2.10",
76
- "@byline/ui": "2.2.10",
77
- "@byline/core": "2.2.10"
75
+ "@byline/client": "2.3.1",
76
+ "@byline/core": "2.3.1",
77
+ "@byline/ui": "2.3.1"
78
78
  },
79
79
  "peerDependencies": {
80
80
  "react": "^19.0.0",
@@ -12,11 +12,7 @@
12
12
  * this file.
13
13
  */
14
14
 
15
- import {
16
- AutoFocusExtension,
17
- ClearEditorExtension,
18
- TabIndentationExtension,
19
- } from '@lexical/extension'
15
+ import { ClearEditorExtension, TabIndentationExtension } from '@lexical/extension'
20
16
  import { CheckListExtension, ListExtension } from '@lexical/list'
21
17
  import type { AnyLexicalExtensionArgument } from 'lexical'
22
18
 
@@ -44,17 +40,22 @@ import type { EditorConfig } from './types'
44
40
  * itself so contributing extensions can attach their toolbar items via
45
41
  * `peerDependencies`.
46
42
  *
47
- * Order matters: stock framework extensions (clear-editor, tab-indent,
48
- * auto-focus) come first; toolbar contract sits ahead of any
49
- * contributing extension; relation-bearing extensions (link, image)
50
- * land near the end.
43
+ * Order matters: stock framework extensions (clear-editor, tab-indent)
44
+ * come first; toolbar contract sits ahead of any contributing extension;
45
+ * relation-bearing extensions (link, image) land near the end.
46
+ *
47
+ * Note: `AutoFocusExtension` is intentionally *not* included. Its root
48
+ * listener fires on every root re-attach (initial mount and after
49
+ * setEditorState swaps), pulling the caret to `rootEnd` — which surfaced
50
+ * as "cursor jumps to the end of the field on tab switch / after save."
51
+ * The pre-extensions default (`autoFocusPlugin: false`) was also off.
52
+ * Callers who want auto-focus can opt in via `lexicalEditor((c) => ...)`.
51
53
  */
52
54
  export function defaultExtensionsArray(): AnyLexicalExtensionArgument[] {
53
55
  return [
54
56
  // Always-on stock extensions.
55
57
  ClearEditorExtension,
56
58
  TabIndentationExtension,
57
- AutoFocusExtension,
58
59
 
59
60
  // Toolbar + floating-UI contracts — must be present before any
60
61
  // extension that contributes items to them via `peerDependencies`.