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
@@ -16,23 +16,44 @@ const UploadFile_1 = require("../../../UploadFile");
16
16
  const Select_1 = require("../../../Select");
17
17
  const Input_1 = require("../../../Input");
18
18
  const Checkbox_1 = require("../../../Checkbox");
19
+ /**
20
+ * Gets the DOM selection for a target window when DOM APIs are available.
21
+ * @param targetWindow Window to read selection from.
22
+ * @returns DOM selection, or null when unavailable.
23
+ */
19
24
  const getDOMSelection = (targetWindow) => canUseDOM_1.CAN_USE_DOM ? (targetWindow || window).getSelection() : null;
20
25
  exports.INSERT_INLINE_IMAGE_COMMAND = (0, lexical_1.createCommand)('INSERT_INLINE_IMAGE_COMMAND');
26
+ /**
27
+ * Renders the modal used to insert an inline image.
28
+ * @param props Insert inline image modal props.
29
+ * @returns Inline image insert modal element.
30
+ */
21
31
  function InsertInlineImageModal({ activeEditor, setShow, show, }) {
22
32
  const [cdnLink, setCdnLink] = (0, react_1.useState)('');
23
- let position = 'left';
33
+ let position = 'center';
24
34
  let altText = 'photo';
25
35
  let fileName = '';
26
36
  let showCaption = false;
37
+ /**
38
+ * Hides the modal and resets local upload state.
39
+ */
27
40
  const onHide = () => {
28
41
  setShow(false);
29
42
  setCdnLink('');
30
43
  fileName = '';
31
44
  };
45
+ /**
46
+ * Stores uploaded file metadata returned from the CDN uploader.
47
+ * @param fileUpload Uploaded file object.
48
+ * @param linkCdn CDN URLs returned by the uploader.
49
+ */
32
50
  const handleListenUpload = (fileUpload, linkCdn) => {
33
51
  fileName = fileUpload.name;
34
52
  setCdnLink(linkCdn[0]);
35
53
  };
54
+ /**
55
+ * Dispatches the inline image insert command with the current modal values.
56
+ */
36
57
  const handleSubmit = () => {
37
58
  activeEditor.dispatchCommand(exports.INSERT_INLINE_IMAGE_COMMAND, {
38
59
  altText,
@@ -42,9 +63,17 @@ function InsertInlineImageModal({ activeEditor, setShow, show, }) {
42
63
  });
43
64
  onHide();
44
65
  };
66
+ /**
67
+ * Updates caption visibility from the checkbox field.
68
+ * @param e Checkbox change event.
69
+ */
45
70
  const handleShowCaptionChange = (e) => {
46
71
  showCaption = e.target.checked;
47
72
  };
73
+ /**
74
+ * Updates the selected inline image position.
75
+ * @param e Select change event.
76
+ */
48
77
  const handlePositionChange = (e) => {
49
78
  position = e.target.value;
50
79
  };
@@ -56,10 +85,15 @@ function InsertInlineImageModal({ activeEditor, setShow, show, }) {
56
85
  border: '1px gray solid',
57
86
  } },
58
87
  React.createElement("option", { value: 'left' }, "Left"),
88
+ React.createElement("option", { value: 'center' }, "Center"),
59
89
  React.createElement("option", { value: 'right' }, "Right"),
60
90
  React.createElement("option", { value: 'full' }, "Full Width")),
61
91
  React.createElement(Checkbox_1.PHXCheckbox, { key: 'show_cation', onChange: handleShowCaptionChange, title: 'Show Caption' }))));
62
92
  }
93
+ /**
94
+ * Registers inline image insertion and drag/drop behavior with Lexical.
95
+ * @returns Null because the plugin renders no UI.
96
+ */
63
97
  function InlineImagePlugin() {
64
98
  const [editor] = (0, LexicalComposerContext_1.useLexicalComposerContext)();
65
99
  (0, react_1.useEffect)(() => {
@@ -78,6 +112,11 @@ function InlineImagePlugin() {
78
112
  return null;
79
113
  }
80
114
  const TRANSPARENT_IMAGE = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';
115
+ /**
116
+ * Starts dragging the currently selected inline image.
117
+ * @param event Drag start event from Lexical.
118
+ * @returns True when drag data was written.
119
+ */
81
120
  function onDragStart(event) {
82
121
  const img = document.createElement('img');
83
122
  img.src = TRANSPARENT_IMAGE;
@@ -97,6 +136,7 @@ function onDragStart(event) {
97
136
  caption: node.__caption,
98
137
  height: node.__height,
99
138
  key: node.getKey(),
139
+ position: node.__position,
100
140
  showCaption: node.__showCaption,
101
141
  src: node.__src,
102
142
  width: node.__width,
@@ -105,6 +145,11 @@ function onDragStart(event) {
105
145
  }));
106
146
  return true;
107
147
  }
148
+ /**
149
+ * Handles drag over behavior for selected inline images.
150
+ * @param event Drag over event from Lexical.
151
+ * @returns True when an inline image is being dragged.
152
+ */
108
153
  function onDragover(event) {
109
154
  const node = getImageNodeInSelection();
110
155
  if (!node) {
@@ -115,6 +160,12 @@ function onDragover(event) {
115
160
  }
116
161
  return true;
117
162
  }
163
+ /**
164
+ * Drops the dragged inline image into a valid editor location.
165
+ * @param event Drop event from Lexical.
166
+ * @param editor Active Lexical editor.
167
+ * @returns True when a selected inline image handled the drop.
168
+ */
118
169
  function onDrop(event, editor) {
119
170
  const node = getImageNodeInSelection();
120
171
  if (!node) {
@@ -137,6 +188,10 @@ function onDrop(event, editor) {
137
188
  }
138
189
  return true;
139
190
  }
191
+ /**
192
+ * Gets the selected inline image node.
193
+ * @returns Selected inline image node, or null when selection is not an inline image.
194
+ */
140
195
  function getImageNodeInSelection() {
141
196
  const selection = (0, lexical_1.$getSelection)();
142
197
  if (!(0, lexical_1.$isNodeSelection)(selection)) {
@@ -146,6 +201,11 @@ function getImageNodeInSelection() {
146
201
  const node = nodes[0];
147
202
  return (0, InlineImageNode_1.$isInlineImageNode)(node) ? node : null;
148
203
  }
204
+ /**
205
+ * Reads inline image payload from drag data.
206
+ * @param event Drag event carrying data transfer payload.
207
+ * @returns Inline image payload, or null when drag data is not an image payload.
208
+ */
149
209
  function getDragImageData(event) {
150
210
  var _a;
151
211
  const dragData = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('application/x-lexical-drag');
@@ -158,6 +218,11 @@ function getDragImageData(event) {
158
218
  }
159
219
  return data;
160
220
  }
221
+ /**
222
+ * Checks whether an inline image can be dropped on the current event target.
223
+ * @param event Drag event to inspect.
224
+ * @returns True when the target is a valid editor drop location.
225
+ */
161
226
  function canDropImage(event) {
162
227
  const target = event.target;
163
228
  return !!(target &&
@@ -166,6 +231,11 @@ function canDropImage(event) {
166
231
  target.parentElement &&
167
232
  target.parentElement.closest('div.ContentEditable__root'));
168
233
  }
234
+ /**
235
+ * Gets the DOM range at the drag event location.
236
+ * @param event Drag event to inspect.
237
+ * @returns DOM range for the drop location.
238
+ */
169
239
  function getDragSelection(event) {
170
240
  let range;
171
241
  const target = event.target;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/TextEditorV2/plugins/InlineImagePlugin/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/TextEditorV2/plugins/InlineImagePlugin/index.tsx"],"names":[],"mappings":"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"}
@@ -1 +1,5 @@
1
+ /**
2
+ * Preserves font size when inserting a paragraph with Enter.
3
+ * @returns Null because the plugin renders no UI.
4
+ */
1
5
  export default function PreserveFontSizeOnEnterPlugin(): null;
@@ -3,12 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = PreserveFontSizeOnEnterPlugin;
4
4
  const LexicalComposerContext_1 = require("@lexical/react/LexicalComposerContext");
5
5
  const lexical_1 = require("lexical");
6
+ const list_1 = require("@lexical/list");
6
7
  const selection_1 = require("@lexical/selection");
7
8
  const react_1 = require("react");
9
+ /**
10
+ * Extracts font size from a CSS style string.
11
+ * @param style CSS style text to parse.
12
+ * @returns Font size value, or an empty string when absent.
13
+ */
8
14
  function getFontSizeFromStyle(style) {
9
15
  var _a;
10
16
  return ((_a = (0, selection_1.getStyleObjectFromCSS)(style)) === null || _a === void 0 ? void 0 : _a['font-size']) || '';
11
17
  }
18
+ /**
19
+ * Gets the font size that should be preserved for a collapsed selection.
20
+ * @returns Font size value, or an empty string when no font size is available.
21
+ */
12
22
  function getCollapsedSelectionFontSize() {
13
23
  const selection = (0, lexical_1.$getSelection)();
14
24
  if (!(0, lexical_1.$isRangeSelection)(selection) || !selection.isCollapsed()) {
@@ -35,6 +45,30 @@ function getCollapsedSelectionFontSize() {
35
45
  }
36
46
  return '';
37
47
  }
48
+ /**
49
+ * Checks whether the current selection is inside an empty list item.
50
+ * @returns True when the collapsed selection is in an empty list item.
51
+ */
52
+ function isSelectionInEmptyListItem() {
53
+ const selection = (0, lexical_1.$getSelection)();
54
+ if (!(0, lexical_1.$isRangeSelection)(selection) || !selection.isCollapsed()) {
55
+ return false;
56
+ }
57
+ const anchorNode = selection.anchor.getNode();
58
+ if ((0, list_1.$isListItemNode)(anchorNode) && anchorNode.getChildrenSize() === 0) {
59
+ return true;
60
+ }
61
+ if (!(0, lexical_1.$isTextNode)(anchorNode)) {
62
+ return false;
63
+ }
64
+ const parent = anchorNode.getParent();
65
+ return ((0, list_1.$isListItemNode)(parent) &&
66
+ parent.getChildren().every((node) => (0, lexical_1.$isTextNode)(node) && node.getTextContent().trim() === ''));
67
+ }
68
+ /**
69
+ * Preserves font size when inserting a paragraph with Enter.
70
+ * @returns Null because the plugin renders no UI.
71
+ */
38
72
  function PreserveFontSizeOnEnterPlugin() {
39
73
  const [editor] = (0, LexicalComposerContext_1.useLexicalComposerContext)();
40
74
  (0, react_1.useEffect)(() => {
@@ -44,6 +78,9 @@ function PreserveFontSizeOnEnterPlugin() {
44
78
  if (!(0, lexical_1.$isRangeSelection)(selection) || !selection.isCollapsed() || !fontSize) {
45
79
  return false;
46
80
  }
81
+ if (isSelectionInEmptyListItem()) {
82
+ return false;
83
+ }
47
84
  const insertedBlock = selection.insertParagraph();
48
85
  if ((0, lexical_1.$isElementNode)(insertedBlock)) {
49
86
  const insertedBlockKey = insertedBlock.getKey();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/TextEditorV2/plugins/PreserveFontSizeOnEnterPlugin/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/TextEditorV2/plugins/PreserveFontSizeOnEnterPlugin/index.tsx"],"names":[],"mappings":";;AAoGA,gDA8DC;AAlKD,kFAAiF;AACjF,qCAOgB;AAChB,wCAA+C;AAC/C,kDAK2B;AAC3B,iCAAiC;AAEjC;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,KAAa;;IACzC,OAAO,CAAA,MAAA,IAAA,iCAAqB,EAAC,KAAK,CAAC,0CAAG,WAAW,CAAC,KAAI,EAAE,CAAA;AAC1D,CAAC;AAED;;;GAGG;AACH,SAAS,6BAA6B;IACpC,MAAM,SAAS,GAAG,IAAA,uBAAa,GAAE,CAAA;IAEjC,IAAI,CAAC,IAAA,2BAAiB,EAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QAC9D,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAA,8CAAkC,EAAC,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,CAAA;IAExF,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;IAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;IAEnC,IAAI,IAAA,qBAAW,EAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,oBAAoB,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,IAAA,wBAAc,EAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC7F,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAE1D,IAAI,IAAA,qBAAW,EAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO,oBAAoB,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAA;QACtD,CAAC;QAED,IAAI,IAAA,qBAAW,EAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;;GAGG;AACH,SAAS,0BAA0B;IACjC,MAAM,SAAS,GAAG,IAAA,uBAAa,GAAE,CAAA;IAEjC,IAAI,CAAC,IAAA,2BAAiB,EAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IAE7C,IAAI,IAAA,sBAAe,EAAC,UAAU,CAAC,IAAI,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,IAAA,qBAAW,EAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,CAAA;IAErC,OAAO,CACL,IAAA,sBAAe,EAAC,MAAM,CAAC;QACvB,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,qBAAW,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAC/F,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,SAAwB,6BAA6B;IACnD,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,kDAAyB,GAAE,CAAA;IAE5C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,OAAO,MAAM,CAAC,eAAe,CAC3B,kCAAwB,EACxB,GAAG,EAAE;YACH,MAAM,SAAS,GAAG,IAAA,uBAAa,GAAE,CAAA;YACjC,MAAM,QAAQ,GAAG,6BAA6B,EAAE,CAAA;YAEhD,IAAI,CAAC,IAAA,2BAAiB,EAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC3E,OAAO,KAAK,CAAA;YACd,CAAC;YAED,IAAI,0BAA0B,EAAE,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAA;YACd,CAAC;YAED,MAAM,aAAa,GAAG,SAAS,CAAC,eAAe,EAAE,CAAA;YAEjD,IAAI,IAAA,wBAAc,EAAC,aAAa,CAAC,EAAE,CAAC;gBAClC,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,EAAE,CAAA;gBAC/C,MAAM,WAAW,GAAG,IAAA,iCAAqB,EAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACnE,MAAM,aAAa,GAAG,IAAA,iCAAqB,EAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAA;gBAEtE,aAAa,CAAC,QAAQ,CACpB,IAAA,iCAAqB,EAAC;oBACpB,GAAG,WAAW;oBACd,WAAW,EAAE,QAAQ;iBACtB,CAAC,CACH,CAAA;gBACD,aAAa,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;gBACzC,aAAa,CAAC,WAAW,EAAE,CAAA;gBAE3B,MAAM,8BAA8B,GAAG,GAAG,EAAE;oBAC1C,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAA;oBAEhE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;gBAC3D,CAAC,CAAA;gBAED,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;oBACzC,cAAc,CAAC,8BAA8B,CAAC,CAAA;gBAChD,CAAC;gBAED,qBAAqB,CAAC,8BAA8B,CAAC,CAAA;YACvD,CAAC;YAED,MAAM,aAAa,GAAG,IAAA,uBAAa,GAAE,CAAA;YAErC,IAAI,IAAA,2BAAiB,EAAC,aAAa,CAAC,IAAI,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;gBACpE,IAAA,2BAAe,EAAC,aAAa,EAAE;oBAC7B,WAAW,EAAE,QAAQ;iBACtB,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC,EACD,mCAAyB,CAC1B,CAAA;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -21,7 +21,15 @@ function Bullet({ editor, isActive }) {
21
21
  }
22
22
  }
23
23
  else {
24
+ const headingTag = (0, heading_1.getSelectedListHeadingTag)(editor);
24
25
  editor.dispatchCommand(list_1.REMOVE_LIST_COMMAND, undefined);
26
+ if (headingTag !== null) {
27
+ queueMicrotask(() => {
28
+ editor.update(() => {
29
+ (0, heading_1.applyHeadingTypeToSelection)(headingTag);
30
+ });
31
+ });
32
+ }
25
33
  }
26
34
  } },
27
35
  react_1.default.createElement("span", null,
@@ -1 +1 @@
1
- {"version":3,"file":"bullet.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/bullet.tsx"],"names":[],"mappings":";;AAMA,yBA2DC;;AAjED,wCAAkF;AAElF,0DAAyB;AACzB,6CAA8C;AAC9C,uCAAiF;AAEjF,SAAwB,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAgD;IAC/F,OAAO,CACL,uCAAK,SAAS,EAAC,2BAA2B;QACxC,0CACE,IAAI,EAAC,QAAQ,uBACK,MAAM,EACxB,SAAS,EAAE,IAAA,kBAAU,EACnB,4CAA4C,EAC5C,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAC/C,EACD,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,iBAAiB,GAAG,IAAA,wCAA8B,EAAC,MAAM,CAAC,CAAA;oBAEhE,MAAM,CAAC,eAAe,CAAC,oCAA6B,EAAE,SAAS,CAAC,CAAA;oBAEhE,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;wBAC/B,cAAc,CAAC,GAAG,EAAE;4BAClB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gCACjB,IAAA,+BAAqB,EAAC,iBAAiB,CAAC,CAAA;4BAC1C,CAAC,CAAC,CAAA;wBACJ,CAAC,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,eAAe,CAAC,0BAAmB,EAAE,SAAS,CAAC,CAAA;gBACxD,CAAC;YACH,CAAC;YAED;gBACE,uCAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;oBAC5F,wCACE,CAAC,EAAC,uGAAuG,EACzG,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,6GAA6G,EAC/G,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,gHAAgH,EAClH,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,0JAA0J,EAC5J,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,4JAA4J,EAC9J,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,mKAAmK,EACrK,IAAI,EAAC,SAAS,GACR,CACJ,CACD,CACA,CACL,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"bullet.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/bullet.tsx"],"names":[],"mappings":";;AAWA,yBAqEC;;AAhFD,wCAAkF;AAElF,0DAAyB;AACzB,6CAA8C;AAC9C,uCAKkB;AAElB,SAAwB,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAgD;IAC/F,OAAO,CACL,uCAAK,SAAS,EAAC,2BAA2B;QACxC,0CACE,IAAI,EAAC,QAAQ,uBACK,MAAM,EACxB,SAAS,EAAE,IAAA,kBAAU,EACnB,4CAA4C,EAC5C,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAC/C,EACD,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,iBAAiB,GAAG,IAAA,wCAA8B,EAAC,MAAM,CAAC,CAAA;oBAEhE,MAAM,CAAC,eAAe,CAAC,oCAA6B,EAAE,SAAS,CAAC,CAAA;oBAEhE,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;wBAC/B,cAAc,CAAC,GAAG,EAAE;4BAClB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gCACjB,IAAA,+BAAqB,EAAC,iBAAiB,CAAC,CAAA;4BAC1C,CAAC,CAAC,CAAA;wBACJ,CAAC,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,GAAG,IAAA,mCAAyB,EAAC,MAAM,CAAC,CAAA;oBAEpD,MAAM,CAAC,eAAe,CAAC,0BAAmB,EAAE,SAAS,CAAC,CAAA;oBAEtD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;wBACxB,cAAc,CAAC,GAAG,EAAE;4BAClB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gCACjB,IAAA,qCAA2B,EAAC,UAAU,CAAC,CAAA;4BACzC,CAAC,CAAC,CAAA;wBACJ,CAAC,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED;gBACE,uCAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;oBAC5F,wCACE,CAAC,EAAC,uGAAuG,EACzG,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,6GAA6G,EAC/G,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,gHAAgH,EAClH,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,0JAA0J,EAC5J,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,4JAA4J,EAC9J,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,mKAAmK,EACrK,IAAI,EAAC,SAAS,GACR,CACJ,CACD,CACA,CACL,CACP,CAAA;AACH,CAAC"}
@@ -2,6 +2,17 @@ import React from 'react';
2
2
  import { HeadingTagType } from '@lexical/rich-text';
3
3
  import { LexicalEditor } from 'lexical';
4
4
  export declare const DEFAULT_HEADING_FONT_SIZES: Record<HeadingTagType, string>;
5
+ /**
6
+ * Gets the heading tag represented by the current selected list item font size.
7
+ * @param editor Active Lexical editor.
8
+ * @returns Matching heading tag, or null when the selected list item is normal text.
9
+ */
10
+ export declare function getSelectedListHeadingTag(editor: LexicalEditor): HeadingTagType | null;
11
+ /**
12
+ * Converts the current selected blocks to a heading tag while preserving heading font size.
13
+ * @param headingTag Heading tag to apply.
14
+ */
15
+ export declare function applyHeadingTypeToSelection(headingTag: HeadingTagType): void;
5
16
  export declare function preserveHeadingFontSizeForList(editor: LexicalEditor): null;
6
17
  export declare function applyListItemFontSize(defaultFontSize: string): boolean;
7
18
  export default function HeaderDropdown({ editor, value }: {
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_HEADING_FONT_SIZES = void 0;
4
+ exports.getSelectedListHeadingTag = getSelectedListHeadingTag;
5
+ exports.applyHeadingTypeToSelection = applyHeadingTypeToSelection;
4
6
  exports.preserveHeadingFontSizeForList = preserveHeadingFontSizeForList;
5
7
  exports.applyListItemFontSize = applyListItemFontSize;
6
8
  exports.default = HeaderDropdown;
@@ -34,6 +36,45 @@ function getListItemNode(node) {
34
36
  function getHeadingNode(node) {
35
37
  return (0, rich_text_1.$isHeadingNode)(node) ? node : (0, utils_1.$findMatchingParent)(node, (parent) => (0, rich_text_1.$isHeadingNode)(parent));
36
38
  }
39
+ /**
40
+ * Gets the heading tag represented by the current selected list item font size.
41
+ * @param editor Active Lexical editor.
42
+ * @returns Matching heading tag, or null when the selected list item is normal text.
43
+ */
44
+ function getSelectedListHeadingTag(editor) {
45
+ let selectedHeadingTag = null;
46
+ editor.getEditorState().read(() => {
47
+ const selection = (0, lexical_1.$getSelection)();
48
+ if (!(0, lexical_1.$isRangeSelection)(selection)) {
49
+ return;
50
+ }
51
+ const selectedNodes = [selection.anchor.getNode(), selection.focus.getNode(), ...selection.getNodes()];
52
+ for (const node of selectedNodes) {
53
+ const listItemNode = getListItemNode(node);
54
+ if (listItemNode === null) {
55
+ continue;
56
+ }
57
+ const listItemFontSize = (0, selection_1.getStyleObjectFromCSS)(listItemNode.getTextStyle())['font-size'];
58
+ const headingEntry = Object.entries(exports.DEFAULT_HEADING_FONT_SIZES).find(([, fontSize]) => fontSize === listItemFontSize);
59
+ if (headingEntry !== undefined) {
60
+ selectedHeadingTag = headingEntry[0];
61
+ return;
62
+ }
63
+ }
64
+ });
65
+ return selectedHeadingTag;
66
+ }
67
+ /**
68
+ * Converts the current selected blocks to a heading tag while preserving heading font size.
69
+ * @param headingTag Heading tag to apply.
70
+ */
71
+ function applyHeadingTypeToSelection(headingTag) {
72
+ const selection = (0, lexical_1.$getSelection)();
73
+ if (!(0, lexical_1.$isRangeSelection)(selection)) {
74
+ return;
75
+ }
76
+ (0, selection_1.$setBlocksType)(selection, () => (0, rich_text_1.$createHeadingNode)(headingTag), (prevNode) => applyHeadingFontSize(prevNode, exports.DEFAULT_HEADING_FONT_SIZES[headingTag]));
77
+ }
37
78
  function preserveHeadingFontSizeForList(editor) {
38
79
  let preservedFontSize = null;
39
80
  editor.update(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"heading.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heading.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.tsx"],"names":[],"mappings":"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"}
@@ -21,7 +21,15 @@ function NumberBullet({ editor, isActive }) {
21
21
  }
22
22
  }
23
23
  else {
24
+ const headingTag = (0, heading_1.getSelectedListHeadingTag)(editor);
24
25
  editor.dispatchCommand(list_1.REMOVE_LIST_COMMAND, undefined);
26
+ if (headingTag !== null) {
27
+ queueMicrotask(() => {
28
+ editor.update(() => {
29
+ (0, heading_1.applyHeadingTypeToSelection)(headingTag);
30
+ });
31
+ });
32
+ }
25
33
  }
26
34
  } },
27
35
  react_1.default.createElement("span", null,
@@ -1 +1 @@
1
- {"version":3,"file":"number-bullet.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.tsx"],"names":[],"mappings":";;AAMA,+BA4DC;;AAlED,wCAAgF;AAEhF,0DAAyB;AACzB,6CAA8C;AAC9C,uCAAiF;AAEjF,SAAwB,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAgD;IACrG,OAAO,CACL,uCAAK,SAAS,EAAC,2BAA2B;QACxC,0CACE,IAAI,EAAC,QAAQ,uBACK,MAAM,EACxB,SAAS,EAAE,IAAA,kBAAU,EACnB,4CAA4C,EAC5C,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAC/C,EACD,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,iBAAiB,GAAG,IAAA,wCAA8B,EAAC,MAAM,CAAC,CAAA;oBAEhE,MAAM,CAAC,eAAe,CAAC,kCAA2B,EAAE,SAAS,CAAC,CAAA;oBAE9D,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;wBAC/B,cAAc,CAAC,GAAG,EAAE;4BAClB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gCACjB,IAAA,+BAAqB,EAAC,iBAAiB,CAAC,CAAA;4BAC1C,CAAC,CAAC,CAAA;wBACJ,CAAC,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,eAAe,CAAC,0BAAmB,EAAE,SAAS,CAAC,CAAA;gBACxD,CAAC;YACH,CAAC;YAED;gBACE,uCAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;oBAC5F,wCACE,CAAC,EAAC,2aAA2a,EAC7a,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,+KAA+K,EACjL,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,oLAAoL,EACtL,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,qLAAqL,EACvL,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,2iBAA2iB,EAC7iB,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,guBAAguB,EACluB,IAAI,EAAC,SAAS,GACR,CACJ,CACD,CACA;QACT,uCAAK,SAAS,EAAC,yBAAyB,GAAO,CAC3C,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"number-bullet.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.tsx"],"names":[],"mappings":";;AAWA,+BAsEC;;AAjFD,wCAAgF;AAEhF,0DAAyB;AACzB,6CAA8C;AAC9C,uCAKkB;AAElB,SAAwB,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAgD;IACrG,OAAO,CACL,uCAAK,SAAS,EAAC,2BAA2B;QACxC,0CACE,IAAI,EAAC,QAAQ,uBACK,MAAM,EACxB,SAAS,EAAE,IAAA,kBAAU,EACnB,4CAA4C,EAC5C,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAC/C,EACD,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,iBAAiB,GAAG,IAAA,wCAA8B,EAAC,MAAM,CAAC,CAAA;oBAEhE,MAAM,CAAC,eAAe,CAAC,kCAA2B,EAAE,SAAS,CAAC,CAAA;oBAE9D,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;wBAC/B,cAAc,CAAC,GAAG,EAAE;4BAClB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gCACjB,IAAA,+BAAqB,EAAC,iBAAiB,CAAC,CAAA;4BAC1C,CAAC,CAAC,CAAA;wBACJ,CAAC,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,GAAG,IAAA,mCAAyB,EAAC,MAAM,CAAC,CAAA;oBAEpD,MAAM,CAAC,eAAe,CAAC,0BAAmB,EAAE,SAAS,CAAC,CAAA;oBAEtD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;wBACxB,cAAc,CAAC,GAAG,EAAE;4BAClB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gCACjB,IAAA,qCAA2B,EAAC,UAAU,CAAC,CAAA;4BACzC,CAAC,CAAC,CAAA;wBACJ,CAAC,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED;gBACE,uCAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;oBAC5F,wCACE,CAAC,EAAC,2aAA2a,EAC7a,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,+KAA+K,EACjL,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,oLAAoL,EACtL,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,qLAAqL,EACvL,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,2iBAA2iB,EAC7iB,IAAI,EAAC,SAAS,GACR;oBACR,wCACE,CAAC,EAAC,guBAAguB,EACluB,IAAI,EAAC,SAAS,GACR,CACJ,CACD,CACA;QACT,uCAAK,SAAS,EAAC,yBAAyB,GAAO,CAC3C,CACP,CAAA;AACH,CAAC"}
@@ -1,6 +1,12 @@
1
1
  import { ElementFormatType, LexicalEditor } from 'lexical';
2
2
  import React from 'react';
3
- export default function TextAlign({ editor, value }: {
3
+ /**
4
+ * Renders toolbar controls for text and image alignment.
5
+ * @param props Text alignment toolbar props.
6
+ * @returns Text alignment toolbar element.
7
+ */
8
+ export default function TextAlign({ editor, isImageSelected, value, }: {
4
9
  editor: LexicalEditor;
10
+ isImageSelected: boolean;
5
11
  value: ElementFormatType;
6
12
  }): React.JSX.Element;
@@ -5,7 +5,44 @@ const tslib_1 = require("tslib");
5
5
  const lexical_1 = require("lexical");
6
6
  const react_1 = tslib_1.__importDefault(require("react"));
7
7
  const types_1 = require("../../../../types");
8
- function TextAlign({ editor, value }) {
8
+ const ImageNode_1 = require("../../../nodes/ImageNode");
9
+ const InlineImageNode_1 = require("../../../nodes/InlineImageNode");
10
+ /**
11
+ * Applies alignment directly to selected image nodes.
12
+ * @param editor Active Lexical editor.
13
+ * @param value Requested alignment value.
14
+ * @returns True when at least one selected image was formatted.
15
+ */
16
+ function formatSelectedImage(editor, value) {
17
+ if (value !== 'left' && value !== 'center' && value !== 'right') {
18
+ return false;
19
+ }
20
+ let formatted = false;
21
+ editor.update(() => {
22
+ const selection = (0, lexical_1.$getSelection)();
23
+ if (!(0, lexical_1.$isNodeSelection)(selection)) {
24
+ return;
25
+ }
26
+ for (const selectedNode of selection.getNodes()) {
27
+ const node = (0, lexical_1.$getNodeByKey)(selectedNode.getKey());
28
+ if ((0, ImageNode_1.$isImageNode)(node)) {
29
+ node.setPosition(value);
30
+ formatted = true;
31
+ }
32
+ if ((0, InlineImageNode_1.$isInlineImageNode)(node)) {
33
+ node.update({ position: value });
34
+ formatted = true;
35
+ }
36
+ }
37
+ });
38
+ return formatted;
39
+ }
40
+ /**
41
+ * Renders toolbar controls for text and image alignment.
42
+ * @param props Text alignment toolbar props.
43
+ * @returns Text alignment toolbar element.
44
+ */
45
+ function TextAlign({ editor, isImageSelected, value, }) {
9
46
  const data = [
10
47
  {
11
48
  icon: (react_1.default.createElement("svg", { width: '20', height: '20', viewBox: '0 0 20 20', fill: 'none', xmlns: 'http://www.w3.org/2000/svg' },
@@ -42,8 +79,15 @@ function TextAlign({ editor, value }) {
42
79
  ];
43
80
  return (react_1.default.createElement("div", { className: 'flex items-center gap-x-2' },
44
81
  data.map((button, index) => {
45
- return (react_1.default.createElement("button", { key: index, type: 'button', "data-color-button": 'true', className: (0, types_1.classNames)('p-1 rounded-md duration-200 cursor-pointer', value === button.value ? 'bg-gray-200' : 'hover:bg-gray-200'), onClick: () => {
46
- editor.dispatchCommand(lexical_1.FORMAT_ELEMENT_COMMAND, button.value);
82
+ const isDisabled = isImageSelected && button.value === 'justify';
83
+ return (react_1.default.createElement("button", { key: index, type: 'button', "data-color-button": 'true', disabled: isDisabled, className: (0, types_1.classNames)('p-1 rounded-md duration-200 cursor-pointer', isDisabled ? 'cursor-not-allowed opacity-40' : '', value === button.value ? 'bg-gray-200' : 'hover:bg-gray-200'), onClick: () => {
84
+ if (isDisabled) {
85
+ return;
86
+ }
87
+ const format = button.value;
88
+ if (!formatSelectedImage(editor, format)) {
89
+ editor.dispatchCommand(lexical_1.FORMAT_ELEMENT_COMMAND, format);
90
+ }
47
91
  } }, button.icon));
48
92
  }),
49
93
  react_1.default.createElement("div", { className: 'w-[1px] h-5 bg-gray-300' })));
@@ -1 +1 @@
1
- {"version":3,"file":"text-align.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/text-align.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text-align.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/text-align.tsx"],"names":[],"mappings":"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"}
@@ -25,6 +25,8 @@ const number_bullet_1 = tslib_1.__importDefault(require("./components/number-bul
25
25
  const upload_pdf_1 = tslib_1.__importDefault(require("./components/upload-pdf"));
26
26
  const upload_image_1 = tslib_1.__importDefault(require("./components/upload-image"));
27
27
  const link_2 = tslib_1.__importDefault(require("./components/link"));
28
+ const ImageNode_1 = require("../../nodes/ImageNode");
29
+ const InlineImageNode_1 = require("../../nodes/InlineImageNode");
28
30
  const blockTypeToBlockName = {
29
31
  bullet: 'Bulleted List',
30
32
  check: 'Check List',
@@ -47,6 +49,11 @@ function getBlockTypeFromFontSize(fontSize) {
47
49
  function getFontSizeFromStyle(style) {
48
50
  return (0, selection_1.getStyleObjectFromCSS)(style)['font-size'];
49
51
  }
52
+ function DisabledToolbarGroup({ children, disabled, }) {
53
+ return (React.createElement("div", { className: disabled ? 'relative cursor-not-allowed opacity-40' : undefined },
54
+ children,
55
+ disabled && React.createElement("div", { className: 'absolute inset-0 z-10 cursor-not-allowed' })));
56
+ }
50
57
  function ToolbarPlugin({ apiCdnUpload, disabled, }) {
51
58
  const [editor] = (0, LexicalComposerContext_1.useLexicalComposerContext)();
52
59
  const [activeEditor, setActiveEditor] = (0, react_1.useState)(editor);
@@ -55,13 +62,26 @@ function ToolbarPlugin({ apiCdnUpload, disabled, }) {
55
62
  const [fontSize, setFontSize] = (0, react_1.useState)('14px');
56
63
  const [fontColor, setFontColor] = (0, react_1.useState)('#000');
57
64
  const [elementFormat, setElementFormat] = (0, react_1.useState)('left');
65
+ const [isImageSelected, setIsImageSelected] = (0, react_1.useState)(false);
58
66
  const [isLink, setIsLink] = (0, react_1.useState)(false);
59
67
  const [isBold, setIsBold] = (0, react_1.useState)(false);
60
68
  const [isItalic, setIsItalic] = (0, react_1.useState)(false);
61
69
  const [isUnderline, setIsUnderline] = (0, react_1.useState)(false);
62
70
  const $updateToolbar = (0, react_1.useCallback)(() => {
63
71
  const selection = (0, lexical_1.$getSelection)();
72
+ if ((0, lexical_1.$isNodeSelection)(selection)) {
73
+ const node = selection.getNodes()[0];
74
+ if ((0, ImageNode_1.$isImageNode)(node) || (0, InlineImageNode_1.$isInlineImageNode)(node)) {
75
+ setIsImageSelected(true);
76
+ setElementFormat((node.getPosition() || 'center'));
77
+ }
78
+ else {
79
+ setIsImageSelected(false);
80
+ }
81
+ return;
82
+ }
64
83
  if ((0, lexical_1.$isRangeSelection)(selection)) {
84
+ setIsImageSelected(false);
65
85
  const anchorNode = selection.anchor.getNode();
66
86
  let element = anchorNode.getKey() === 'root'
67
87
  ? anchorNode
@@ -164,17 +184,27 @@ function ToolbarPlugin({ apiCdnUpload, disabled, }) {
164
184
  const parsedFontSize = parseInt(fontSize, 10);
165
185
  return (React.createElement("div", { className: 'flex relative flex-wrap gap-1 p-2 bg-gray-100 border-b border-gray-300' },
166
186
  disabled && React.createElement("div", { className: 'cursor-not-allowed z-20 absolute inset-0 bg-gray-200 opacity-20' }),
167
- blockType in blockTypeToBlockName && activeEditor === editor && (React.createElement(heading_1.default, { value: blockType, editor: activeEditor })),
168
- React.createElement(font_size_1.default, { editor: activeEditor, fontSize: Number.isNaN(parsedFontSize) ? null : parsedFontSize }),
169
- React.createElement(bold_text_1.default, { isActive: isBold, editor: activeEditor }),
170
- React.createElement(italic_text_1.default, { isActive: isItalic, editor: activeEditor }),
171
- React.createElement(underline_text_1.default, { isActive: isUnderline, editor: activeEditor }),
172
- React.createElement(text_color_1.default, { editor: activeEditor, color: fontColor }),
173
- React.createElement(text_align_1.default, { value: elementFormat, editor: activeEditor }),
174
- React.createElement(bullet_1.default, { isActive: listBlockType === 'bullet', editor: activeEditor }),
175
- React.createElement(number_bullet_1.default, { isActive: listBlockType === 'number', editor: activeEditor }),
176
- React.createElement(upload_pdf_1.default, { editor: activeEditor, apiCdnUpload: apiCdnUpload }),
177
- React.createElement(upload_image_1.default, { editor: activeEditor, apiCdnUpload: apiCdnUpload }),
178
- React.createElement(link_2.default, { editor: activeEditor })));
187
+ React.createElement(DisabledToolbarGroup, { disabled: isImageSelected }, blockType in blockTypeToBlockName && activeEditor === editor && (React.createElement(heading_1.default, { value: blockType, editor: activeEditor }))),
188
+ React.createElement(DisabledToolbarGroup, { disabled: isImageSelected },
189
+ React.createElement(font_size_1.default, { editor: activeEditor, fontSize: Number.isNaN(parsedFontSize) ? null : parsedFontSize })),
190
+ React.createElement(DisabledToolbarGroup, { disabled: isImageSelected },
191
+ React.createElement(bold_text_1.default, { isActive: isBold, editor: activeEditor })),
192
+ React.createElement(DisabledToolbarGroup, { disabled: isImageSelected },
193
+ React.createElement(italic_text_1.default, { isActive: isItalic, editor: activeEditor })),
194
+ React.createElement(DisabledToolbarGroup, { disabled: isImageSelected },
195
+ React.createElement(underline_text_1.default, { isActive: isUnderline, editor: activeEditor })),
196
+ React.createElement(DisabledToolbarGroup, { disabled: isImageSelected },
197
+ React.createElement(text_color_1.default, { editor: activeEditor, color: fontColor })),
198
+ React.createElement(text_align_1.default, { value: elementFormat, editor: activeEditor, isImageSelected: isImageSelected }),
199
+ React.createElement(DisabledToolbarGroup, { disabled: isImageSelected },
200
+ React.createElement(bullet_1.default, { isActive: listBlockType === 'bullet', editor: activeEditor })),
201
+ React.createElement(DisabledToolbarGroup, { disabled: isImageSelected },
202
+ React.createElement(number_bullet_1.default, { isActive: listBlockType === 'number', editor: activeEditor })),
203
+ React.createElement(DisabledToolbarGroup, { disabled: isImageSelected },
204
+ React.createElement(upload_pdf_1.default, { editor: activeEditor, apiCdnUpload: apiCdnUpload })),
205
+ React.createElement(DisabledToolbarGroup, { disabled: isImageSelected },
206
+ React.createElement(upload_image_1.default, { editor: activeEditor, apiCdnUpload: apiCdnUpload })),
207
+ React.createElement(DisabledToolbarGroup, { disabled: isImageSelected },
208
+ React.createElement(link_2.default, { editor: activeEditor }))));
179
209
  }
180
210
  //# sourceMappingURL=index.js.map