phx-react 1.3.1792 → 1.3.1794

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 (87) hide show
  1. package/dist/cjs/components/TableV6/TableV6.d.ts +2 -1
  2. package/dist/cjs/components/TableV6/TableV6.js +13 -5
  3. package/dist/cjs/components/TableV6/TableV6.js.map +1 -1
  4. package/dist/cjs/components/TextEditorV2/constants.d.ts +1 -1
  5. package/dist/cjs/components/TextEditorV2/constants.js +187 -1
  6. package/dist/cjs/components/TextEditorV2/constants.js.map +1 -1
  7. package/dist/cjs/components/TextEditorV2/editor.js +4 -1
  8. package/dist/cjs/components/TextEditorV2/editor.js.map +1 -1
  9. package/dist/cjs/components/TextEditorV2/nodes/ImageNode.d.ts +99 -3
  10. package/dist/cjs/components/TextEditorV2/nodes/ImageNode.js +143 -9
  11. package/dist/cjs/components/TextEditorV2/nodes/ImageNode.js.map +1 -1
  12. package/dist/cjs/components/TextEditorV2/nodes/InlineImageComponent.d.ts +5 -5
  13. package/dist/cjs/components/TextEditorV2/nodes/InlineImageComponent.js +66 -66
  14. package/dist/cjs/components/TextEditorV2/nodes/InlineImageComponent.js.map +1 -1
  15. package/dist/cjs/components/TextEditorV2/nodes/InlineImageNode.d.ts +90 -1
  16. package/dist/cjs/components/TextEditorV2/nodes/InlineImageNode.js +128 -5
  17. package/dist/cjs/components/TextEditorV2/nodes/InlineImageNode.js.map +1 -1
  18. package/dist/cjs/components/TextEditorV2/nodes/MentionNode.js +2 -0
  19. package/dist/cjs/components/TextEditorV2/nodes/MentionNode.js.map +1 -1
  20. package/dist/cjs/components/TextEditorV2/plugins/ImagesPlugin/index.js +1 -0
  21. package/dist/cjs/components/TextEditorV2/plugins/ImagesPlugin/index.js.map +1 -1
  22. package/dist/cjs/components/TextEditorV2/plugins/InlineImagePlugin/index.d.ts +9 -0
  23. package/dist/cjs/components/TextEditorV2/plugins/InlineImagePlugin/index.js +71 -1
  24. package/dist/cjs/components/TextEditorV2/plugins/InlineImagePlugin/index.js.map +1 -1
  25. package/dist/cjs/components/TextEditorV2/plugins/PreserveFontSizeOnEnterPlugin/index.d.ts +4 -0
  26. package/dist/cjs/components/TextEditorV2/plugins/PreserveFontSizeOnEnterPlugin/index.js +37 -0
  27. package/dist/cjs/components/TextEditorV2/plugins/PreserveFontSizeOnEnterPlugin/index.js.map +1 -1
  28. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/bullet.js +8 -0
  29. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/bullet.js.map +1 -1
  30. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.d.ts +11 -0
  31. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.js +41 -0
  32. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.js.map +1 -1
  33. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.js +8 -0
  34. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.js.map +1 -1
  35. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/text-align.d.ts +7 -1
  36. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/text-align.js +47 -3
  37. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/text-align.js.map +1 -1
  38. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/index.js +42 -12
  39. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/index.js.map +1 -1
  40. package/dist/cjs/components/TextEditorV2/style.js +139 -0
  41. package/dist/cjs/components/TextEditorV2/style.js.map +1 -1
  42. package/dist/cjs/components/TextEditorV2/ui/ImageResizer.js +1 -1
  43. package/dist/cjs/components/TextEditorV2/ui/ImageResizer.js.map +1 -1
  44. package/dist/esm/components/TableV6/TableV6.d.ts +2 -1
  45. package/dist/esm/components/TableV6/TableV6.js +13 -5
  46. package/dist/esm/components/TableV6/TableV6.js.map +1 -1
  47. package/dist/esm/components/TextEditorV2/constants.d.ts +1 -1
  48. package/dist/esm/components/TextEditorV2/constants.js +187 -1
  49. package/dist/esm/components/TextEditorV2/constants.js.map +1 -1
  50. package/dist/esm/components/TextEditorV2/editor.js +4 -1
  51. package/dist/esm/components/TextEditorV2/editor.js.map +1 -1
  52. package/dist/esm/components/TextEditorV2/nodes/ImageNode.d.ts +99 -3
  53. package/dist/esm/components/TextEditorV2/nodes/ImageNode.js +143 -9
  54. package/dist/esm/components/TextEditorV2/nodes/ImageNode.js.map +1 -1
  55. package/dist/esm/components/TextEditorV2/nodes/InlineImageComponent.d.ts +5 -5
  56. package/dist/esm/components/TextEditorV2/nodes/InlineImageComponent.js +66 -65
  57. package/dist/esm/components/TextEditorV2/nodes/InlineImageComponent.js.map +1 -1
  58. package/dist/esm/components/TextEditorV2/nodes/InlineImageNode.d.ts +90 -1
  59. package/dist/esm/components/TextEditorV2/nodes/InlineImageNode.js +128 -5
  60. package/dist/esm/components/TextEditorV2/nodes/InlineImageNode.js.map +1 -1
  61. package/dist/esm/components/TextEditorV2/nodes/MentionNode.js +2 -0
  62. package/dist/esm/components/TextEditorV2/nodes/MentionNode.js.map +1 -1
  63. package/dist/esm/components/TextEditorV2/plugins/ImagesPlugin/index.js +1 -0
  64. package/dist/esm/components/TextEditorV2/plugins/ImagesPlugin/index.js.map +1 -1
  65. package/dist/esm/components/TextEditorV2/plugins/InlineImagePlugin/index.d.ts +9 -0
  66. package/dist/esm/components/TextEditorV2/plugins/InlineImagePlugin/index.js +71 -1
  67. package/dist/esm/components/TextEditorV2/plugins/InlineImagePlugin/index.js.map +1 -1
  68. package/dist/esm/components/TextEditorV2/plugins/PreserveFontSizeOnEnterPlugin/index.d.ts +4 -0
  69. package/dist/esm/components/TextEditorV2/plugins/PreserveFontSizeOnEnterPlugin/index.js +37 -0
  70. package/dist/esm/components/TextEditorV2/plugins/PreserveFontSizeOnEnterPlugin/index.js.map +1 -1
  71. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/bullet.js +9 -1
  72. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/bullet.js.map +1 -1
  73. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.d.ts +11 -0
  74. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.js +39 -0
  75. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.js.map +1 -1
  76. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.js +9 -1
  77. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.js.map +1 -1
  78. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/text-align.d.ts +7 -1
  79. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/text-align.js +48 -4
  80. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/text-align.js.map +1 -1
  81. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/index.js +43 -13
  82. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/index.js.map +1 -1
  83. package/dist/esm/components/TextEditorV2/style.js +139 -0
  84. package/dist/esm/components/TextEditorV2/style.js.map +1 -1
  85. package/dist/esm/components/TextEditorV2/ui/ImageResizer.js +1 -1
  86. package/dist/esm/components/TextEditorV2/ui/ImageResizer.js.map +1 -1
  87. package/package.json +1 -1
@@ -1,11 +1,11 @@
1
1
  import type { Position } from './InlineImageNode';
2
2
  import type { LexicalEditor, NodeKey } from 'lexical';
3
3
  import * as React from 'react';
4
- export declare function UpdateInlineImageDialog({ activeEditor, nodeKey, onClose, }: {
5
- activeEditor: LexicalEditor;
6
- nodeKey: NodeKey;
7
- onClose(): void;
8
- }): React.JSX.Element;
4
+ /**
5
+ * Renders an inline image node with selection, resize, and caption behavior.
6
+ * @param props Inline image component props.
7
+ * @returns Inline image decorator element.
8
+ */
9
9
  export default function InlineImageComponent({ altText, caption, height, nodeKey, position, showCaption, src, width, }: {
10
10
  altText: string;
11
11
  caption: LexicalEditor;
@@ -7,19 +7,19 @@ import { mergeRegister } from '@lexical/utils';
7
7
  import { $getNodeByKey, $getSelection, $isNodeSelection, $setSelection, CLICK_COMMAND, COMMAND_PRIORITY_LOW, DRAGSTART_COMMAND, KEY_BACKSPACE_COMMAND, KEY_DELETE_COMMAND, KEY_ENTER_COMMAND, KEY_ESCAPE_COMMAND, SELECTION_CHANGE_COMMAND, } from 'lexical';
8
8
  import * as React from 'react';
9
9
  import { Suspense, useCallback, useEffect, useRef, useState } from 'react';
10
- import useModal from '../hooks/useModal';
11
10
  import FloatingLinkEditorPlugin from '../plugins/FloatingLinkEditorPlugin';
12
11
  import FloatingTextFormatToolbarPlugin from '../plugins/FloatingTextFormatToolbarPlugin';
13
12
  import LinkPlugin from '../plugins/LinkPlugin';
14
- import Button from '../ui/Button';
15
13
  import ContentEditable from '../ui/ContentEditable';
16
- import { DialogActions } from '../ui/Dialog';
14
+ import ImageResizer from '../ui/ImageResizer';
17
15
  import Placeholder from '../ui/Placeholder';
18
- import Select from '../ui/Select';
19
- import TextInput from '../ui/TextInput';
20
16
  import { $isInlineImageNode } from './InlineImageNode';
21
17
  import { LexicalErrorBoundary } from '../shared/LexicalErrorBoundary';
22
18
  const imageCache = new Set();
19
+ /**
20
+ * Suspends rendering until an image source has loaded.
21
+ * @param src Image source URL to preload.
22
+ */
23
23
  function useSuspenseImage(src) {
24
24
  if (!imageCache.has(src)) {
25
25
  throw new Promise((resolve) => {
@@ -32,6 +32,11 @@ function useSuspenseImage(src) {
32
32
  });
33
33
  }
34
34
  }
35
+ /**
36
+ * Renders an image after ensuring its source is loaded.
37
+ * @param props Lazy image render props.
38
+ * @returns Rendered image element.
39
+ */
35
40
  function LazyImage({ altText, className, height, imageRef, position, src, width, }) {
36
41
  useSuspenseImage(src);
37
42
  return (React.createElement("img", { ref: imageRef, alt: altText, className: className || undefined, "data-position": position, draggable: 'false', src: src, style: {
@@ -40,48 +45,23 @@ function LazyImage({ altText, className, height, imageRef, position, src, width,
40
45
  width,
41
46
  } }));
42
47
  }
43
- export function UpdateInlineImageDialog({ activeEditor, nodeKey, onClose, }) {
44
- const editorState = activeEditor.getEditorState();
45
- const node = editorState.read(() => $getNodeByKey(nodeKey));
46
- const [altText, setAltText] = useState(node.getAltText());
47
- const [showCaption, setShowCaption] = useState(node.getShowCaption());
48
- const [position, setPosition] = useState(node.getPosition());
49
- const handleShowCaptionChange = (e) => {
50
- setShowCaption(e.target.checked);
51
- };
52
- const handlePositionChange = (e) => {
53
- setPosition(e.target.value);
54
- };
55
- const handleOnConfirm = () => {
56
- const payload = { altText, position, showCaption };
57
- if (node) {
58
- activeEditor.update(() => {
59
- node.update(payload);
60
- });
61
- }
62
- onClose();
63
- };
64
- return (React.createElement(React.Fragment, null,
65
- React.createElement("div", { style: { marginBottom: '1em' } },
66
- React.createElement(TextInput, { "data-test-id": 'image-modal-alt-text-input', label: 'Alt Text', onChange: setAltText, placeholder: 'Descriptive alternative text', value: altText })),
67
- React.createElement(Select, { id: 'position-select', label: 'Position', name: 'position', onChange: handlePositionChange, style: { marginBottom: '1em', width: '208px' }, value: position },
68
- React.createElement("option", { value: 'left' }, "Left"),
69
- React.createElement("option", { value: 'right' }, "Right"),
70
- React.createElement("option", { value: 'full' }, "Full Width")),
71
- React.createElement("div", { className: 'Input__wrapper' },
72
- React.createElement("input", { checked: showCaption, id: 'caption', onChange: handleShowCaptionChange, type: 'checkbox' }),
73
- React.createElement("label", { htmlFor: 'caption' }, "Show Caption")),
74
- React.createElement(DialogActions, null,
75
- React.createElement(Button, { "data-test-id": 'image-modal-file-upload-btn', onClick: () => handleOnConfirm() }, "Confirm"))));
76
- }
48
+ /**
49
+ * Renders an inline image node with selection, resize, and caption behavior.
50
+ * @param props Inline image component props.
51
+ * @returns Inline image decorator element.
52
+ */
77
53
  export default function InlineImageComponent({ altText, caption, height, nodeKey, position, showCaption, src, width, }) {
78
- const [modal, showModal] = useModal();
79
54
  const imageRef = useRef(null);
80
- const buttonRef = useRef(null);
81
55
  const [isSelected, setSelected, clearSelection] = useLexicalNodeSelection(nodeKey);
56
+ const [isResizing, setIsResizing] = useState(false);
82
57
  const [editor] = useLexicalComposerContext();
83
58
  const [selection, setSelection] = useState(null);
84
59
  const activeEditorRef = useRef(null);
60
+ /**
61
+ * Removes the selected inline image when delete or backspace is pressed.
62
+ * @param payload Keyboard event from the editor command.
63
+ * @returns False to allow other command handlers to continue.
64
+ */
85
65
  const onDelete = useCallback((payload) => {
86
66
  if (isSelected && $isNodeSelection($getSelection())) {
87
67
  const event = payload;
@@ -93,27 +73,28 @@ export default function InlineImageComponent({ altText, caption, height, nodeKey
93
73
  }
94
74
  return false;
95
75
  }, [isSelected, nodeKey]);
76
+ /**
77
+ * Moves focus into the caption editor when enter is pressed on a selected image.
78
+ * @param event Keyboard event from the editor command.
79
+ * @returns True when focus moved into the caption editor.
80
+ */
96
81
  const onEnter = useCallback((event) => {
97
82
  const latestSelection = $getSelection();
98
- const buttonElem = buttonRef.current;
99
- if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {
100
- if (showCaption) {
101
- // Move focus into nested editor
102
- $setSelection(null);
103
- event.preventDefault();
104
- caption.focus();
105
- return true;
106
- }
107
- else if (buttonElem !== null && buttonElem !== document.activeElement) {
108
- event.preventDefault();
109
- buttonElem.focus();
110
- return true;
111
- }
83
+ if (isSelected && showCaption && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {
84
+ // Move focus into nested editor
85
+ $setSelection(null);
86
+ event.preventDefault();
87
+ caption.focus();
88
+ return true;
112
89
  }
113
90
  return false;
114
91
  }, [caption, isSelected, showCaption]);
115
- const onEscape = useCallback((event) => {
116
- if (activeEditorRef.current === caption || buttonRef.current === event.target) {
92
+ /**
93
+ * Restores focus from the caption editor back to the inline image node.
94
+ * @returns True when focus was restored to the parent editor.
95
+ */
96
+ const onEscape = useCallback(() => {
97
+ if (activeEditorRef.current === caption) {
117
98
  $setSelection(null);
118
99
  editor.update(() => {
119
100
  setSelected(true);
@@ -137,6 +118,9 @@ export default function InlineImageComponent({ altText, caption, height, nodeKey
137
118
  return false;
138
119
  }, COMMAND_PRIORITY_LOW), editor.registerCommand(CLICK_COMMAND, (payload) => {
139
120
  const event = payload;
121
+ if (isResizing) {
122
+ return true;
123
+ }
140
124
  if (event.target === imageRef.current) {
141
125
  if (event.shiftKey) {
142
126
  setSelected(!isSelected);
@@ -161,15 +145,32 @@ export default function InlineImageComponent({ altText, caption, height, nodeKey
161
145
  isMounted = false;
162
146
  unregister();
163
147
  };
164
- }, [clearSelection, editor, isSelected, nodeKey, onDelete, onEnter, onEscape, setSelected]);
165
- const draggable = isSelected && $isNodeSelection(selection);
166
- const isFocused = isSelected;
148
+ }, [clearSelection, editor, isResizing, isSelected, nodeKey, onDelete, onEnter, onEscape, setSelected]);
149
+ /**
150
+ * Persists resized image dimensions back to the Lexical node.
151
+ * @param nextWidth Next image width.
152
+ * @param nextHeight Next image height.
153
+ */
154
+ const onResizeEnd = (nextWidth, nextHeight) => {
155
+ editor.update(() => {
156
+ const node = $getNodeByKey(nodeKey);
157
+ if ($isInlineImageNode(node)) {
158
+ node.setWidthAndHeight(nextWidth, nextHeight);
159
+ }
160
+ });
161
+ setIsResizing(false);
162
+ };
163
+ /**
164
+ * Marks the image as actively resizing.
165
+ */
166
+ const onResizeStart = () => {
167
+ setIsResizing(true);
168
+ };
169
+ const draggable = isSelected && $isNodeSelection(selection) && !isResizing;
170
+ const isFocused = isSelected || isResizing;
167
171
  return (React.createElement(Suspense, { fallback: null },
168
172
  React.createElement(React.Fragment, null,
169
173
  React.createElement("div", { draggable: draggable },
170
- React.createElement("button", { ref: buttonRef, className: 'image-edit-button', onClick: () => {
171
- showModal('Update Inline Image', (onClose) => (React.createElement(UpdateInlineImageDialog, { activeEditor: editor, nodeKey: nodeKey, onClose: onClose })));
172
- }, type: 'button' }, "Edit"),
173
174
  React.createElement(LazyImage, { altText: altText, className: isFocused ? `focused ${$isNodeSelection(selection) ? 'draggable' : ''}` : null, height: height, imageRef: imageRef, position: position, src: src, width: width })),
174
175
  showCaption && (React.createElement("div", { className: 'image-caption-container' },
175
176
  React.createElement(LexicalNestedComposer, { initialEditor: caption },
@@ -179,7 +180,7 @@ export default function InlineImageComponent({ altText, caption, height, nodeKey
179
180
  console.log('FloatingLinkEditorPlugin');
180
181
  } }),
181
182
  React.createElement(FloatingTextFormatToolbarPlugin, null),
182
- React.createElement(RichTextPlugin, { contentEditable: React.createElement(ContentEditable, { className: 'InlineImageNode__contentEditable' }), ErrorBoundary: LexicalErrorBoundary, placeholder: React.createElement(Placeholder, { className: 'InlineImageNode__placeholder' }, "Enter a caption...") }))))),
183
- modal));
183
+ React.createElement(RichTextPlugin, { contentEditable: React.createElement(ContentEditable, { className: 'InlineImageNode__contentEditable' }), ErrorBoundary: LexicalErrorBoundary, placeholder: React.createElement(Placeholder, { className: 'InlineImageNode__placeholder' }, "Enter a caption...") })))),
184
+ $isNodeSelection(selection) && isFocused && (React.createElement(ImageResizer, { editor: editor, imageRef: imageRef, onResizeEnd: onResizeEnd, onResizeStart: onResizeStart })))));
184
185
  }
185
186
  //# sourceMappingURL=InlineImageComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InlineImageComponent.js","sourceRoot":"","sources":["../../../../../src/components/TextEditorV2/nodes/InlineImageComponent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InlineImageComponent.js","sourceRoot":"","sources":["../../../../../src/components/TextEditorV2/nodes/InlineImageComponent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC1E,OAAO,wBAAwB,MAAM,qCAAqC,CAAA;AAC1E,OAAO,+BAA+B,MAAM,4CAA4C,CAAA;AACxF,OAAO,UAAU,MAAM,uBAAuB,CAAA;AAC9C,OAAO,eAAe,MAAM,uBAAuB,CAAA;AACnD,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAC7C,OAAO,WAAW,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAErE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;AAE5B;;;GAGG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5B,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAA;YACvB,GAAG,CAAC,GAAG,GAAG,GAAG,CAAA;YACb,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;gBAChB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACnB,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,EACjB,OAAO,EACP,SAAS,EACT,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,KAAK,GASN;IACC,gBAAgB,CAAC,GAAG,CAAC,CAAA;IACrB,OAAO,CACL,6BACE,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,SAAS,IAAI,SAAS,mBAClB,QAAQ,EACvB,SAAS,EAAC,OAAO,EACjB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE;YACL,OAAO,EAAE,OAAO;YAChB,MAAM;YACN,KAAK;SACN,GACD,CACH,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,OAAO,EACP,OAAO,EACP,MAAM,EACN,OAAO,EACP,QAAQ,EACR,WAAW,EACX,GAAG,EACH,KAAK,GAUN;IACC,MAAM,QAAQ,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAA;IACtD,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,cAAc,CAAC,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAA;IAClF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAA;IAC5D,MAAM,CAAC,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAuB,IAAI,CAAC,CAAA;IACtE,MAAM,eAAe,GAAG,MAAM,CAAuB,IAAI,CAAC,CAAA;IAE1D;;;;OAIG;IACH,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,OAAsB,EAAE,EAAE;QACzB,IAAI,UAAU,IAAI,gBAAgB,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAkB,OAAO,CAAA;YACpC,KAAK,CAAC,cAAc,EAAE,CAAA;YACtB,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;YACnC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,EAAE,CAAA;YACf,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,EACD,CAAC,UAAU,EAAE,OAAO,CAAC,CACtB,CAAA;IAED;;;;OAIG;IACH,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,KAAoB,EAAE,EAAE;QACvB,MAAM,eAAe,GAAG,aAAa,EAAE,CAAA;QACvC,IAAI,UAAU,IAAI,WAAW,IAAI,gBAAgB,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9G,gCAAgC;YAChC,aAAa,CAAC,IAAI,CAAC,CAAA;YACnB,KAAK,CAAC,cAAc,EAAE,CAAA;YACtB,OAAO,CAAC,KAAK,EAAE,CAAA;YACf,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,EACD,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CACnC,CAAA;IAED;;;OAGG;IACH,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,IAAI,eAAe,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YACxC,aAAa,CAAC,IAAI,CAAC,CAAA;YACnB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gBACjB,WAAW,CAAC,IAAI,CAAC,CAAA;gBACjB,MAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,EAAE,CAAA;gBACjD,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;oBAC/B,iBAAiB,CAAC,KAAK,EAAE,CAAA;gBAC3B,CAAC;YACH,CAAC,CAAC,CAAA;YACF,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;IAElC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,IAAI,CAAA;QACpB,MAAM,UAAU,GAAG,aAAa,CAC9B,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;YAChD,IAAI,SAAS,EAAE,CAAC;gBACd,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;YACvD,CAAC;QACH,CAAC,CAAC,EACF,MAAM,CAAC,eAAe,CACpB,wBAAwB,EACxB,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE;YAClB,eAAe,CAAC,OAAO,GAAG,YAAY,CAAA;YACtC,OAAO,KAAK,CAAA;QACd,CAAC,EACD,oBAAoB,CACrB,EACD,MAAM,CAAC,eAAe,CACpB,aAAa,EACb,CAAC,OAAO,EAAE,EAAE;YACV,MAAM,KAAK,GAAG,OAAO,CAAA;YACrB,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,IAAI,CAAA;YACb,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnB,WAAW,CAAC,CAAC,UAAU,CAAC,CAAA;gBAC1B,CAAC;qBAAM,CAAC;oBACN,cAAc,EAAE,CAAA;oBAChB,WAAW,CAAC,IAAI,CAAC,CAAA;gBACnB,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC,EACD,oBAAoB,CACrB,EACD,MAAM,CAAC,eAAe,CACpB,iBAAiB,EACjB,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtC,iFAAiF;gBACjF,4DAA4D;gBAC5D,KAAK,CAAC,cAAc,EAAE,CAAA;gBACtB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC,EACD,oBAAoB,CACrB,EACD,MAAM,CAAC,eAAe,CAAC,kBAAkB,EAAE,QAAQ,EAAE,oBAAoB,CAAC,EAC1E,MAAM,CAAC,eAAe,CAAC,qBAAqB,EAAE,QAAQ,EAAE,oBAAoB,CAAC,EAC7E,MAAM,CAAC,eAAe,CAAC,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,CAAC,EACxE,MAAM,CAAC,eAAe,CAAC,kBAAkB,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAC3E,CAAA;QACD,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,KAAK,CAAA;YACjB,UAAU,EAAE,CAAA;QACd,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;IAEvG;;;;OAIG;IACH,MAAM,WAAW,GAAG,CAAC,SAA6B,EAAE,UAA8B,EAAE,EAAE;QACpF,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;YACnC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC,CAAC,CAAA;QACF,aAAa,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC,CAAA;IAED;;OAEG;IACH,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,aAAa,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,UAAU,IAAI,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAA;IAC1E,MAAM,SAAS,GAAG,UAAU,IAAI,UAAU,CAAA;IAE1C,OAAO,CACL,oBAAC,QAAQ,IAAC,QAAQ,EAAE,IAAI;QACtB;YACE,6BAAK,SAAS,EAAE,SAAS;gBACvB,oBAAC,SAAS,IACR,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EACzF,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,GACZ,CACE;YACL,WAAW,IAAI,CACd,6BAAK,SAAS,EAAC,yBAAyB;gBACtC,oBAAC,qBAAqB,IAAC,aAAa,EAAE,OAAO;oBAC3C,oBAAC,eAAe,OAAG;oBACnB,oBAAC,UAAU,OAAG;oBACd,oBAAC,wBAAwB,IACvB,cAAc,EAAE,KAAK,EACrB,iBAAiB,EAAE,GAAG,EAAE;4BACtB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;wBACzC,CAAC,GACD;oBACF,oBAAC,+BAA+B,OAAG;oBACnC,oBAAC,cAAc,IACb,eAAe,EAAE,oBAAC,eAAe,IAAC,SAAS,EAAC,kCAAkC,GAAG,EACjF,aAAa,EAAE,oBAAoB,EACnC,WAAW,EAAE,oBAAC,WAAW,IAAC,SAAS,EAAC,8BAA8B,yBAAiC,GACnG,CACoB,CACpB,CACP;YACA,gBAAgB,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAC3C,oBAAC,YAAY,IAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,GAAI,CAC7G,CACA,CACM,CACZ,CAAA;AACH,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { DOMConversionMap, DOMExportOutput, EditorConfig, LexicalEditor, LexicalNode, NodeKey, SerializedEditor, SerializedLexicalNode, Spread } from 'lexical';
2
2
  import { DecoratorNode } from 'lexical';
3
3
  import * as React from 'react';
4
- export type Position = 'left' | 'right' | 'full' | undefined;
4
+ export type Position = 'left' | 'right' | 'full' | 'center' | undefined;
5
5
  export interface InlineImagePayload {
6
6
  altText: string;
7
7
  caption?: LexicalEditor;
@@ -34,21 +34,110 @@ export declare class InlineImageNode extends DecoratorNode<React.JSX.Element> {
34
34
  __showCaption: boolean;
35
35
  __caption: LexicalEditor;
36
36
  __position: Position;
37
+ /**
38
+ * Gets the Lexical node type for inline image nodes.
39
+ * @returns Inline image node type.
40
+ */
37
41
  static getType(): string;
42
+ /**
43
+ * Clones an existing inline image node.
44
+ * @param node Inline image node to clone.
45
+ * @returns Cloned inline image node.
46
+ */
38
47
  static clone(node: InlineImageNode): InlineImageNode;
48
+ /**
49
+ * Imports a serialized inline image node into the editor state.
50
+ * @param serializedNode Serialized inline image node payload.
51
+ * @returns Hydrated inline image node.
52
+ */
39
53
  static importJSON(serializedNode: SerializedInlineImageNode): InlineImageNode;
54
+ /**
55
+ * Defines DOM import conversions for inline image elements.
56
+ * @returns DOM conversion map for inline image imports.
57
+ */
40
58
  static importDOM(): DOMConversionMap | null;
59
+ /**
60
+ * Creates an inline image node instance.
61
+ * @param src Image source URL.
62
+ * @param altText Accessible alt text.
63
+ * @param position Inline image alignment position.
64
+ * @param width Initial image width.
65
+ * @param height Initial image height.
66
+ * @param showCaption Whether the caption editor is visible.
67
+ * @param caption Nested caption editor.
68
+ * @param key Optional Lexical node key.
69
+ */
41
70
  constructor(src: string, altText: string, position: Position, width?: 'inherit' | number, height?: 'inherit' | number, showCaption?: boolean, caption?: LexicalEditor, key?: NodeKey);
71
+ /**
72
+ * Exports this inline image node to DOM.
73
+ * @returns DOM export output containing the inline image wrapper.
74
+ */
42
75
  exportDOM(): DOMExportOutput;
76
+ /**
77
+ * Serializes this inline image node.
78
+ * @returns Serialized inline image node payload.
79
+ */
43
80
  exportJSON(): SerializedInlineImageNode;
81
+ /**
82
+ * Gets the image source URL.
83
+ * @returns Image source URL.
84
+ */
44
85
  getSrc(): string;
86
+ /**
87
+ * Gets the image alt text.
88
+ * @returns Image alt text.
89
+ */
45
90
  getAltText(): string;
91
+ /**
92
+ * Gets whether the caption editor is visible.
93
+ * @returns True when caption is shown.
94
+ */
46
95
  getShowCaption(): boolean;
96
+ /**
97
+ * Gets the current inline image alignment position.
98
+ * @returns Current inline image position.
99
+ */
47
100
  getPosition(): Position;
101
+ /**
102
+ * Updates the stored image dimensions.
103
+ * @param width Next image width.
104
+ * @param height Next image height.
105
+ */
106
+ setWidthAndHeight(width: 'inherit' | number, height: 'inherit' | number): void;
107
+ /**
108
+ * Updates mutable inline image fields.
109
+ * @param payload Partial inline image update payload.
110
+ */
48
111
  update(payload: UpdateInlineImagePayload): void;
112
+ /**
113
+ * Creates the DOM wrapper for this inline image node.
114
+ * @param config Lexical editor config.
115
+ * @returns Inline image wrapper element.
116
+ */
49
117
  createDOM(config: EditorConfig): HTMLElement;
118
+ /**
119
+ * Updates the DOM wrapper when node state changes.
120
+ * @param prevNode Previous inline image node state.
121
+ * @param dom Existing inline image wrapper element.
122
+ * @param config Lexical editor config.
123
+ * @returns False because the existing DOM element is reused.
124
+ */
50
125
  updateDOM(prevNode: InlineImageNode, dom: HTMLElement, config: EditorConfig): false;
126
+ /**
127
+ * Renders the React decorator for this inline image node.
128
+ * @returns Inline image decorator element.
129
+ */
51
130
  decorate(): React.JSX.Element;
52
131
  }
132
+ /**
133
+ * Creates and inserts a replacement inline image node.
134
+ * @param payload Inline image node creation payload.
135
+ * @returns Created inline image node.
136
+ */
53
137
  export declare function $createInlineImageNode({ altText, caption, height, key, position, showCaption, src, width, }: InlineImagePayload): InlineImageNode;
138
+ /**
139
+ * Checks whether a Lexical node is an InlineImageNode.
140
+ * @param node Node to test.
141
+ * @returns True when the node is an InlineImageNode.
142
+ */
54
143
  export declare function $isInlineImageNode(node: LexicalNode | null | undefined): node is InlineImageNode;
@@ -2,21 +2,62 @@ import { $applyNodeReplacement, createEditor, DecoratorNode } from 'lexical';
2
2
  import * as React from 'react';
3
3
  import { Suspense } from 'react';
4
4
  const InlineImageComponent = React.lazy(() => import('./InlineImageComponent'));
5
+ /**
6
+ * Gets the inline image position encoded in a wrapper class name.
7
+ * @param className Wrapper class name to inspect.
8
+ * @returns Matching inline image position, or undefined when no position class exists.
9
+ */
10
+ function getPositionFromClassName(className) {
11
+ if (className.includes('position-left')) {
12
+ return 'left';
13
+ }
14
+ if (className.includes('position-right')) {
15
+ return 'right';
16
+ }
17
+ if (className.includes('position-full')) {
18
+ return 'full';
19
+ }
20
+ if (className.includes('position-center')) {
21
+ return 'center';
22
+ }
23
+ return undefined;
24
+ }
25
+ /**
26
+ * Converts an imported DOM image element into an InlineImageNode.
27
+ * @param domNode DOM node provided by Lexical import.
28
+ * @returns DOM conversion output for inline image nodes, or null for unsupported nodes.
29
+ */
5
30
  function convertInlineImageElement(domNode) {
31
+ var _a;
6
32
  if (domNode instanceof HTMLImageElement) {
7
33
  const { alt: altText, height, src, width } = domNode;
8
- const node = $createInlineImageNode({ altText, height, src, width });
34
+ const position = getPositionFromClassName(((_a = domNode.parentElement) === null || _a === void 0 ? void 0 : _a.className) || '');
35
+ const node = $createInlineImageNode({ altText, height, position, src, width });
9
36
  return { node };
10
37
  }
11
38
  return null;
12
39
  }
13
40
  export class InlineImageNode extends DecoratorNode {
41
+ /**
42
+ * Gets the Lexical node type for inline image nodes.
43
+ * @returns Inline image node type.
44
+ */
14
45
  static getType() {
15
46
  return 'inline-image';
16
47
  }
48
+ /**
49
+ * Clones an existing inline image node.
50
+ * @param node Inline image node to clone.
51
+ * @returns Cloned inline image node.
52
+ */
17
53
  static clone(node) {
18
54
  return new InlineImageNode(node.__src, node.__altText, node.__position, node.__width, node.__height, node.__showCaption, node.__caption, node.__key);
19
55
  }
56
+ /**
57
+ * Imports a serialized inline image node into the editor state.
58
+ * @param serializedNode Serialized inline image node payload.
59
+ * @returns Hydrated inline image node.
60
+ */
20
61
  static importJSON(serializedNode) {
21
62
  const { altText, caption, height, position, showCaption, src, width } = serializedNode;
22
63
  const node = $createInlineImageNode({
@@ -34,6 +75,10 @@ export class InlineImageNode extends DecoratorNode {
34
75
  }
35
76
  return node;
36
77
  }
78
+ /**
79
+ * Defines DOM import conversions for inline image elements.
80
+ * @returns DOM conversion map for inline image imports.
81
+ */
37
82
  static importDOM() {
38
83
  return {
39
84
  img: () => ({
@@ -42,6 +87,17 @@ export class InlineImageNode extends DecoratorNode {
42
87
  }),
43
88
  };
44
89
  }
90
+ /**
91
+ * Creates an inline image node instance.
92
+ * @param src Image source URL.
93
+ * @param altText Accessible alt text.
94
+ * @param position Inline image alignment position.
95
+ * @param width Initial image width.
96
+ * @param height Initial image height.
97
+ * @param showCaption Whether the caption editor is visible.
98
+ * @param caption Nested caption editor.
99
+ * @param key Optional Lexical node key.
100
+ */
45
101
  constructor(src, altText, position, width, height, showCaption, caption, key) {
46
102
  super(key);
47
103
  this.__src = src;
@@ -52,14 +108,25 @@ export class InlineImageNode extends DecoratorNode {
52
108
  this.__caption = caption || createEditor();
53
109
  this.__position = position;
54
110
  }
111
+ /**
112
+ * Exports this inline image node to DOM.
113
+ * @returns DOM export output containing the inline image wrapper.
114
+ */
55
115
  exportDOM() {
116
+ const wrapper = document.createElement('span');
117
+ wrapper.className = `inline-editor-image position-${this.__position || 'center'}`;
56
118
  const element = document.createElement('img');
57
119
  element.setAttribute('src', this.__src);
58
120
  element.setAttribute('alt', this.__altText);
59
121
  element.setAttribute('width', this.__width.toString());
60
122
  element.setAttribute('height', this.__height.toString());
61
- return { element };
123
+ wrapper.appendChild(element);
124
+ return { element: wrapper };
62
125
  }
126
+ /**
127
+ * Serializes this inline image node.
128
+ * @returns Serialized inline image node payload.
129
+ */
63
130
  exportJSON() {
64
131
  return {
65
132
  altText: this.getAltText(),
@@ -73,18 +140,48 @@ export class InlineImageNode extends DecoratorNode {
73
140
  width: this.__width === 'inherit' ? 0 : this.__width,
74
141
  };
75
142
  }
143
+ /**
144
+ * Gets the image source URL.
145
+ * @returns Image source URL.
146
+ */
76
147
  getSrc() {
77
148
  return this.__src;
78
149
  }
150
+ /**
151
+ * Gets the image alt text.
152
+ * @returns Image alt text.
153
+ */
79
154
  getAltText() {
80
155
  return this.__altText;
81
156
  }
157
+ /**
158
+ * Gets whether the caption editor is visible.
159
+ * @returns True when caption is shown.
160
+ */
82
161
  getShowCaption() {
83
162
  return this.__showCaption;
84
163
  }
164
+ /**
165
+ * Gets the current inline image alignment position.
166
+ * @returns Current inline image position.
167
+ */
85
168
  getPosition() {
86
169
  return this.__position;
87
170
  }
171
+ /**
172
+ * Updates the stored image dimensions.
173
+ * @param width Next image width.
174
+ * @param height Next image height.
175
+ */
176
+ setWidthAndHeight(width, height) {
177
+ const writable = this.getWritable();
178
+ writable.__width = width;
179
+ writable.__height = height;
180
+ }
181
+ /**
182
+ * Updates mutable inline image fields.
183
+ * @param payload Partial inline image update payload.
184
+ */
88
185
  update(payload) {
89
186
  const writable = this.getWritable();
90
187
  const { altText, position, showCaption } = payload;
@@ -99,32 +196,58 @@ export class InlineImageNode extends DecoratorNode {
99
196
  }
100
197
  }
101
198
  // View
199
+ /**
200
+ * Creates the DOM wrapper for this inline image node.
201
+ * @param config Lexical editor config.
202
+ * @returns Inline image wrapper element.
203
+ */
102
204
  createDOM(config) {
103
205
  const span = document.createElement('span');
104
- const className = `${config.theme.inlineImage} position-${this.__position}`;
206
+ const className = `${config.theme.inlineImage} position-${this.__position || 'center'}`;
105
207
  if (className !== undefined) {
106
208
  span.className = className;
107
209
  }
108
210
  return span;
109
211
  }
212
+ /**
213
+ * Updates the DOM wrapper when node state changes.
214
+ * @param prevNode Previous inline image node state.
215
+ * @param dom Existing inline image wrapper element.
216
+ * @param config Lexical editor config.
217
+ * @returns False because the existing DOM element is reused.
218
+ */
110
219
  updateDOM(prevNode, dom, config) {
111
220
  const position = this.__position;
112
221
  if (position !== prevNode.__position) {
113
- const className = `${config.theme.inlineImage} position-${position}`;
222
+ const className = `${config.theme.inlineImage} position-${position || 'center'}`;
114
223
  if (className !== undefined) {
115
224
  dom.className = className;
116
225
  }
117
226
  }
118
227
  return false;
119
228
  }
229
+ /**
230
+ * Renders the React decorator for this inline image node.
231
+ * @returns Inline image decorator element.
232
+ */
120
233
  decorate() {
121
234
  return (React.createElement(Suspense, { fallback: null },
122
235
  React.createElement(InlineImageComponent, { altText: this.__altText, caption: this.__caption, height: this.__height, nodeKey: this.getKey(), position: this.__position, showCaption: this.__showCaption, src: this.__src, width: this.__width })));
123
236
  }
124
237
  }
238
+ /**
239
+ * Creates and inserts a replacement inline image node.
240
+ * @param payload Inline image node creation payload.
241
+ * @returns Created inline image node.
242
+ */
125
243
  export function $createInlineImageNode({ altText, caption, height, key, position, showCaption, src, width, }) {
126
- return $applyNodeReplacement(new InlineImageNode(src, altText, position, width, height, showCaption, caption, key));
244
+ return $applyNodeReplacement(new InlineImageNode(src, altText, position || 'center', width, height, showCaption, caption, key));
127
245
  }
246
+ /**
247
+ * Checks whether a Lexical node is an InlineImageNode.
248
+ * @param node Node to test.
249
+ * @returns True when the node is an InlineImageNode.
250
+ */
128
251
  export function $isInlineImageNode(node) {
129
252
  return node instanceof InlineImageNode;
130
253
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InlineImageNode.js","sourceRoot":"","sources":["../../../../../src/components/TextEditorV2/nodes/InlineImageNode.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InlineImageNode.js","sourceRoot":"","sources":["../../../../../src/components/TextEditorV2/nodes/InlineImageNode.tsx"],"names":[],"mappings":"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"}
@@ -46,6 +46,8 @@ export class MentionNode extends TextNode {
46
46
  }
47
47
  exportDOM() {
48
48
  const element = document.createElement('span');
49
+ element.className = 'mention';
50
+ element.style.cssText = mentionStyle;
49
51
  element.setAttribute('data-lexical-mention', 'true');
50
52
  element.textContent = this.__text;
51
53
  return { element };