@lexical/overflow 0.44.1-nightly.20260519.0 → 0.45.0

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.
package/package.json CHANGED
@@ -8,34 +8,48 @@
8
8
  "overflow"
9
9
  ],
10
10
  "license": "MIT",
11
- "version": "0.44.1-nightly.20260519.0",
12
- "main": "LexicalOverflow.js",
13
- "types": "index.d.ts",
11
+ "version": "0.45.0",
12
+ "main": "./dist/LexicalOverflow.js",
13
+ "types": "./dist/index.d.ts",
14
14
  "repository": {
15
15
  "type": "git",
16
16
  "url": "git+https://github.com/facebook/lexical.git",
17
17
  "directory": "packages/lexical-overflow"
18
18
  },
19
- "module": "LexicalOverflow.mjs",
19
+ "module": "./dist/LexicalOverflow.mjs",
20
20
  "sideEffects": false,
21
21
  "exports": {
22
22
  ".": {
23
+ "source": "./src/index.ts",
23
24
  "import": {
24
- "types": "./index.d.ts",
25
- "development": "./LexicalOverflow.dev.mjs",
26
- "production": "./LexicalOverflow.prod.mjs",
27
- "node": "./LexicalOverflow.node.mjs",
28
- "default": "./LexicalOverflow.mjs"
25
+ "types": "./dist/index.d.ts",
26
+ "development": "./dist/LexicalOverflow.dev.mjs",
27
+ "production": "./dist/LexicalOverflow.prod.mjs",
28
+ "node": "./dist/LexicalOverflow.node.mjs",
29
+ "default": "./dist/LexicalOverflow.mjs"
29
30
  },
30
31
  "require": {
31
- "types": "./index.d.ts",
32
- "development": "./LexicalOverflow.dev.js",
33
- "production": "./LexicalOverflow.prod.js",
34
- "default": "./LexicalOverflow.js"
32
+ "types": "./dist/index.d.ts",
33
+ "development": "./dist/LexicalOverflow.dev.js",
34
+ "production": "./dist/LexicalOverflow.prod.js",
35
+ "default": "./dist/LexicalOverflow.js"
35
36
  }
36
37
  }
37
38
  },
38
39
  "dependencies": {
39
- "lexical": "0.44.1-nightly.20260519.0"
40
- }
40
+ "lexical": "0.45.0"
41
+ },
42
+ "files": [
43
+ "dist",
44
+ "src",
45
+ "!src/__tests__",
46
+ "!src/__bench__",
47
+ "!src/__mocks__",
48
+ "!src/**/*.test.ts",
49
+ "!src/**/*.test.tsx",
50
+ "!src/**/*.bench.ts",
51
+ "!src/**/*.bench.tsx",
52
+ "README.md",
53
+ "LICENSE"
54
+ ]
41
55
  }
package/src/index.ts ADDED
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import type {
10
+ EditorConfig,
11
+ LexicalNode,
12
+ RangeSelection,
13
+ SerializedElementNode,
14
+ } from 'lexical';
15
+
16
+ import {$applyNodeReplacement, defineExtension, ElementNode} from 'lexical';
17
+
18
+ export type SerializedOverflowNode = SerializedElementNode;
19
+
20
+ /** @noInheritDoc */
21
+ export class OverflowNode extends ElementNode {
22
+ /** @internal */
23
+ $config() {
24
+ return this.config('overflow', {
25
+ $transform(node: OverflowNode) {
26
+ if (node.isEmpty()) {
27
+ node.remove();
28
+ }
29
+ },
30
+ extends: ElementNode,
31
+ });
32
+ }
33
+
34
+ createDOM(config: EditorConfig): HTMLElement {
35
+ const div = document.createElement('span');
36
+ const className = config.theme.characterLimit;
37
+ if (typeof className === 'string') {
38
+ div.className = className;
39
+ }
40
+ return div;
41
+ }
42
+
43
+ updateDOM(prevNode: this, dom: HTMLElement): boolean {
44
+ return false;
45
+ }
46
+
47
+ insertNewAfter(
48
+ selection: RangeSelection,
49
+ restoreSelection = true,
50
+ ): null | LexicalNode {
51
+ const parent = this.getParentOrThrow();
52
+ return parent.insertNewAfter(selection, restoreSelection);
53
+ }
54
+
55
+ excludeFromCopy(): boolean {
56
+ return true;
57
+ }
58
+ }
59
+
60
+ export function $createOverflowNode(): OverflowNode {
61
+ return $applyNodeReplacement(new OverflowNode());
62
+ }
63
+
64
+ export function $isOverflowNode(
65
+ node: LexicalNode | null | undefined,
66
+ ): node is OverflowNode {
67
+ return node instanceof OverflowNode;
68
+ }
69
+
70
+ /**
71
+ * Configures {@link OverflowNode}
72
+ */
73
+ export const OverflowExtension = defineExtension({
74
+ name: '@lexical/overflow',
75
+ nodes: () => [OverflowNode],
76
+ });
File without changes
File without changes