phx-react 1.3.1769 → 1.3.1770
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/dist/cjs/components/TextEditorV2/editor.js +2 -0
- package/dist/cjs/components/TextEditorV2/editor.js.map +1 -1
- package/dist/cjs/components/TextEditorV2/plugins/PreserveFontSizeOnEnterPlugin/index.d.ts +1 -0
- package/dist/cjs/components/TextEditorV2/plugins/PreserveFontSizeOnEnterPlugin/index.js +78 -0
- package/dist/cjs/components/TextEditorV2/plugins/PreserveFontSizeOnEnterPlugin/index.js.map +1 -0
- package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/font-size.js +27 -1
- package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/font-size.js.map +1 -1
- package/dist/esm/components/TextEditorV2/editor.js +2 -0
- package/dist/esm/components/TextEditorV2/editor.js.map +1 -1
- package/dist/esm/components/TextEditorV2/plugins/PreserveFontSizeOnEnterPlugin/index.d.ts +1 -0
- package/dist/esm/components/TextEditorV2/plugins/PreserveFontSizeOnEnterPlugin/index.js +75 -0
- package/dist/esm/components/TextEditorV2/plugins/PreserveFontSizeOnEnterPlugin/index.js.map +1 -0
- package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/font-size.js +29 -3
- package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/font-size.js.map +1 -1
- package/package.json +1 -1
|
@@ -26,6 +26,7 @@ const InlineImagePlugin_1 = tslib_1.__importDefault(require("./plugins/InlineIma
|
|
|
26
26
|
const ListMaxIndentLevelPlugin_1 = tslib_1.__importDefault(require("./plugins/ListMaxIndentLevelPlugin"));
|
|
27
27
|
const MaxLengthPlugin_1 = require("./plugins/MaxLengthPlugin");
|
|
28
28
|
const SanitizePastePlugin_1 = tslib_1.__importDefault(require("./plugins/SanitizePastePlugin"));
|
|
29
|
+
const PreserveFontSizeOnEnterPlugin_1 = tslib_1.__importDefault(require("./plugins/PreserveFontSizeOnEnterPlugin"));
|
|
29
30
|
const ContentEditable_1 = tslib_1.__importDefault(require("./ui/ContentEditable"));
|
|
30
31
|
const ToolbarPlugin_1 = tslib_1.__importDefault(require("./plugins/ToolbarPlugin"));
|
|
31
32
|
const SettingsContext_1 = require("./context/SettingsContext");
|
|
@@ -121,6 +122,7 @@ function PHXTextEditorV2({ defaultValue, label, onChange, placeholder, apiCdnUpl
|
|
|
121
122
|
React.createElement(LexicalOnChangePlugin_1.OnChangePlugin, { onChange: handleChange }),
|
|
122
123
|
React.createElement(LexicalHistoryPlugin_1.HistoryPlugin, { externalHistoryState: historyState }),
|
|
123
124
|
React.createElement(SanitizePastePlugin_1.default, null),
|
|
125
|
+
React.createElement(PreserveFontSizeOnEnterPlugin_1.default, null),
|
|
124
126
|
React.createElement(LexicalRichTextPlugin_1.RichTextPlugin, { contentEditable: React.createElement(ContentEditable_1.default, { className: 'PHXTextEditorV2__contentEditable px-2 py-1.5 h-[20rem] overflow-y-auto outline-none' }), ErrorBoundary: LexicalErrorBoundary_1.LexicalErrorBoundary, placeholder: React.createElement("p", { className: 'absolute top-1.5 left-2 text-xs text-[#999] z-10 overflow-hidden text-ellipsis inline-block select-none pointer-events-none' }, placeholder) }),
|
|
125
127
|
React.createElement(LexicalListPlugin_1.ListPlugin, null),
|
|
126
128
|
React.createElement(LexicalCheckListPlugin_1.CheckListPlugin, null),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.js","sourceRoot":"","sources":["../../../../src/components/TextEditorV2/editor.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"editor.js","sourceRoot":"","sources":["../../../../src/components/TextEditorV2/editor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function PreserveFontSizeOnEnterPlugin(): null;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = PreserveFontSizeOnEnterPlugin;
|
|
4
|
+
const LexicalComposerContext_1 = require("@lexical/react/LexicalComposerContext");
|
|
5
|
+
const lexical_1 = require("lexical");
|
|
6
|
+
const selection_1 = require("@lexical/selection");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
function getFontSizeFromStyle(style) {
|
|
9
|
+
var _a;
|
|
10
|
+
return ((_a = (0, selection_1.getStyleObjectFromCSS)(style)) === null || _a === void 0 ? void 0 : _a['font-size']) || '';
|
|
11
|
+
}
|
|
12
|
+
function getCollapsedSelectionFontSize() {
|
|
13
|
+
const selection = (0, lexical_1.$getSelection)();
|
|
14
|
+
if (!(0, lexical_1.$isRangeSelection)(selection) || !selection.isCollapsed()) {
|
|
15
|
+
return '';
|
|
16
|
+
}
|
|
17
|
+
const selectionFontSize = (0, selection_1.$getSelectionStyleValueForProperty)(selection, 'font-size', '');
|
|
18
|
+
if (selectionFontSize) {
|
|
19
|
+
return selectionFontSize;
|
|
20
|
+
}
|
|
21
|
+
const anchor = selection.anchor;
|
|
22
|
+
const anchorNode = anchor.getNode();
|
|
23
|
+
if ((0, lexical_1.$isTextNode)(anchorNode)) {
|
|
24
|
+
return getFontSizeFromStyle(anchorNode.getStyle());
|
|
25
|
+
}
|
|
26
|
+
if ((0, lexical_1.$isElementNode)(anchorNode)) {
|
|
27
|
+
const previousNode = anchor.offset > 0 ? anchorNode.getChildAtIndex(anchor.offset - 1) : null;
|
|
28
|
+
const nextNode = anchorNode.getChildAtIndex(anchor.offset);
|
|
29
|
+
if ((0, lexical_1.$isTextNode)(previousNode)) {
|
|
30
|
+
return getFontSizeFromStyle(previousNode.getStyle());
|
|
31
|
+
}
|
|
32
|
+
if ((0, lexical_1.$isTextNode)(nextNode)) {
|
|
33
|
+
return getFontSizeFromStyle(nextNode.getStyle());
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return '';
|
|
37
|
+
}
|
|
38
|
+
function PreserveFontSizeOnEnterPlugin() {
|
|
39
|
+
const [editor] = (0, LexicalComposerContext_1.useLexicalComposerContext)();
|
|
40
|
+
(0, react_1.useEffect)(() => {
|
|
41
|
+
return editor.registerCommand(lexical_1.INSERT_PARAGRAPH_COMMAND, () => {
|
|
42
|
+
const selection = (0, lexical_1.$getSelection)();
|
|
43
|
+
const fontSize = getCollapsedSelectionFontSize();
|
|
44
|
+
if (!(0, lexical_1.$isRangeSelection)(selection) || !selection.isCollapsed() || !fontSize) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
const insertedBlock = selection.insertParagraph();
|
|
48
|
+
if ((0, lexical_1.$isElementNode)(insertedBlock)) {
|
|
49
|
+
const insertedBlockKey = insertedBlock.getKey();
|
|
50
|
+
const blockStyles = (0, selection_1.getStyleObjectFromCSS)(insertedBlock.getStyle());
|
|
51
|
+
const fontSizeStyle = (0, selection_1.getCSSFromStyleObject)({ 'font-size': fontSize });
|
|
52
|
+
insertedBlock.setStyle((0, selection_1.getCSSFromStyleObject)({
|
|
53
|
+
...blockStyles,
|
|
54
|
+
'font-size': fontSize,
|
|
55
|
+
}));
|
|
56
|
+
insertedBlock.setTextStyle(fontSizeStyle);
|
|
57
|
+
insertedBlock.selectStart();
|
|
58
|
+
const applyFontSizeToInsertedElement = () => {
|
|
59
|
+
const insertedElement = editor.getElementByKey(insertedBlockKey);
|
|
60
|
+
insertedElement === null || insertedElement === void 0 ? void 0 : insertedElement.style.setProperty('font-size', fontSize);
|
|
61
|
+
};
|
|
62
|
+
if (typeof queueMicrotask === 'function') {
|
|
63
|
+
queueMicrotask(applyFontSizeToInsertedElement);
|
|
64
|
+
}
|
|
65
|
+
requestAnimationFrame(applyFontSizeToInsertedElement);
|
|
66
|
+
}
|
|
67
|
+
const nextSelection = (0, lexical_1.$getSelection)();
|
|
68
|
+
if ((0, lexical_1.$isRangeSelection)(nextSelection) && nextSelection.isCollapsed()) {
|
|
69
|
+
(0, selection_1.$patchStyleText)(nextSelection, {
|
|
70
|
+
'font-size': fontSize,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return true;
|
|
74
|
+
}, lexical_1.COMMAND_PRIORITY_CRITICAL);
|
|
75
|
+
}, [editor]);
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/TextEditorV2/plugins/PreserveFontSizeOnEnterPlugin/index.tsx"],"names":[],"mappings":";;AAyDA,gDA0DC;AAnHD,kFAAiF;AACjF,qCAOgB;AAChB,kDAK2B;AAC3B,iCAAiC;AAEjC,SAAS,oBAAoB,CAAC,KAAa;;IACzC,OAAO,CAAA,MAAA,IAAA,iCAAqB,EAAC,KAAK,CAAC,0CAAG,WAAW,CAAC,KAAI,EAAE,CAAA;AAC1D,CAAC;AAED,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,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,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"}
|
|
@@ -18,12 +18,38 @@ function FontSize({ fontSize, editor }) {
|
|
|
18
18
|
const ref = (0, react_1.useRef)(null);
|
|
19
19
|
const [showDropdown, setShowDropDown] = (0, react_1.useState)(false);
|
|
20
20
|
const handleChangeSize = (nextSize) => {
|
|
21
|
+
const nextFontSize = `${nextSize}px`;
|
|
21
22
|
editor.update(() => {
|
|
22
23
|
const selection = (0, lexical_1.$getSelection)();
|
|
23
24
|
const rangeSelection = (0, lexical_1.$isRangeSelection)(selection) ? selection : (0, lexical_1.$getRoot)().selectEnd();
|
|
24
25
|
(0, selection_1.$patchStyleText)(rangeSelection, {
|
|
25
|
-
'font-size':
|
|
26
|
+
'font-size': nextFontSize,
|
|
26
27
|
});
|
|
28
|
+
if (rangeSelection.isCollapsed()) {
|
|
29
|
+
const anchorNode = rangeSelection.anchor.getNode();
|
|
30
|
+
const targetNode = (0, lexical_1.$isElementNode)(anchorNode)
|
|
31
|
+
? anchorNode
|
|
32
|
+
: (0, lexical_1.$isTextNode)(anchorNode)
|
|
33
|
+
? anchorNode.getTopLevelElement()
|
|
34
|
+
: null;
|
|
35
|
+
if ((0, lexical_1.$isElementNode)(targetNode)) {
|
|
36
|
+
const targetNodeKey = targetNode.getKey();
|
|
37
|
+
const styles = (0, selection_1.getStyleObjectFromCSS)(targetNode.getStyle());
|
|
38
|
+
targetNode.setStyle((0, selection_1.getCSSFromStyleObject)({
|
|
39
|
+
...styles,
|
|
40
|
+
'font-size': nextFontSize,
|
|
41
|
+
}));
|
|
42
|
+
targetNode.setTextStyle((0, selection_1.getCSSFromStyleObject)({ 'font-size': nextFontSize }));
|
|
43
|
+
const applyFontSizeToTargetElement = () => {
|
|
44
|
+
const targetElement = editor.getElementByKey(targetNodeKey);
|
|
45
|
+
targetElement === null || targetElement === void 0 ? void 0 : targetElement.style.setProperty('font-size', nextFontSize);
|
|
46
|
+
};
|
|
47
|
+
if (typeof queueMicrotask === 'function') {
|
|
48
|
+
queueMicrotask(applyFontSizeToTargetElement);
|
|
49
|
+
}
|
|
50
|
+
requestAnimationFrame(applyFontSizeToTargetElement);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
27
53
|
});
|
|
28
54
|
setShowDropDown(false);
|
|
29
55
|
editor.focus(undefined, { defaultSelection: 'rootEnd' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font-size.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/font-size.tsx"],"names":[],"mappings":";;AAIA,
|
|
1
|
+
{"version":3,"file":"font-size.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/font-size.tsx"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ import InlineImagePlugin from './plugins/InlineImagePlugin';
|
|
|
22
22
|
import ListMaxIndentLevelPlugin from './plugins/ListMaxIndentLevelPlugin';
|
|
23
23
|
import { MaxLengthPlugin } from './plugins/MaxLengthPlugin';
|
|
24
24
|
import SanitizePastePlugin from './plugins/SanitizePastePlugin';
|
|
25
|
+
import PreserveFontSizeOnEnterPlugin from './plugins/PreserveFontSizeOnEnterPlugin';
|
|
25
26
|
import ContentEditable from './ui/ContentEditable';
|
|
26
27
|
import ToolbarPlugin from './plugins/ToolbarPlugin';
|
|
27
28
|
import { useSettings } from './context/SettingsContext';
|
|
@@ -117,6 +118,7 @@ export default function PHXTextEditorV2({ defaultValue, label, onChange, placeho
|
|
|
117
118
|
React.createElement(OnChangePlugin, { onChange: handleChange }),
|
|
118
119
|
React.createElement(HistoryPlugin, { externalHistoryState: historyState }),
|
|
119
120
|
React.createElement(SanitizePastePlugin, null),
|
|
121
|
+
React.createElement(PreserveFontSizeOnEnterPlugin, null),
|
|
120
122
|
React.createElement(RichTextPlugin, { contentEditable: React.createElement(ContentEditable, { className: 'PHXTextEditorV2__contentEditable px-2 py-1.5 h-[20rem] overflow-y-auto outline-none' }), ErrorBoundary: LexicalErrorBoundary, placeholder: React.createElement("p", { className: 'absolute top-1.5 left-2 text-xs text-[#999] z-10 overflow-hidden text-ellipsis inline-block select-none pointer-events-none' }, placeholder) }),
|
|
121
123
|
React.createElement(ListPlugin, null),
|
|
122
124
|
React.createElement(CheckListPlugin, null),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.js","sourceRoot":"","sources":["../../../../src/components/TextEditorV2/editor.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editor.js","sourceRoot":"","sources":["../../../../src/components/TextEditorV2/editor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function PreserveFontSizeOnEnterPlugin(): null;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
|
|
2
|
+
import { $getSelection, $isElementNode, $isRangeSelection, $isTextNode, COMMAND_PRIORITY_CRITICAL, INSERT_PARAGRAPH_COMMAND, } from 'lexical';
|
|
3
|
+
import { $getSelectionStyleValueForProperty, $patchStyleText, getCSSFromStyleObject, getStyleObjectFromCSS, } from '@lexical/selection';
|
|
4
|
+
import { useEffect } from 'react';
|
|
5
|
+
function getFontSizeFromStyle(style) {
|
|
6
|
+
var _a;
|
|
7
|
+
return ((_a = getStyleObjectFromCSS(style)) === null || _a === void 0 ? void 0 : _a['font-size']) || '';
|
|
8
|
+
}
|
|
9
|
+
function getCollapsedSelectionFontSize() {
|
|
10
|
+
const selection = $getSelection();
|
|
11
|
+
if (!$isRangeSelection(selection) || !selection.isCollapsed()) {
|
|
12
|
+
return '';
|
|
13
|
+
}
|
|
14
|
+
const selectionFontSize = $getSelectionStyleValueForProperty(selection, 'font-size', '');
|
|
15
|
+
if (selectionFontSize) {
|
|
16
|
+
return selectionFontSize;
|
|
17
|
+
}
|
|
18
|
+
const anchor = selection.anchor;
|
|
19
|
+
const anchorNode = anchor.getNode();
|
|
20
|
+
if ($isTextNode(anchorNode)) {
|
|
21
|
+
return getFontSizeFromStyle(anchorNode.getStyle());
|
|
22
|
+
}
|
|
23
|
+
if ($isElementNode(anchorNode)) {
|
|
24
|
+
const previousNode = anchor.offset > 0 ? anchorNode.getChildAtIndex(anchor.offset - 1) : null;
|
|
25
|
+
const nextNode = anchorNode.getChildAtIndex(anchor.offset);
|
|
26
|
+
if ($isTextNode(previousNode)) {
|
|
27
|
+
return getFontSizeFromStyle(previousNode.getStyle());
|
|
28
|
+
}
|
|
29
|
+
if ($isTextNode(nextNode)) {
|
|
30
|
+
return getFontSizeFromStyle(nextNode.getStyle());
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return '';
|
|
34
|
+
}
|
|
35
|
+
export default function PreserveFontSizeOnEnterPlugin() {
|
|
36
|
+
const [editor] = useLexicalComposerContext();
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
return editor.registerCommand(INSERT_PARAGRAPH_COMMAND, () => {
|
|
39
|
+
const selection = $getSelection();
|
|
40
|
+
const fontSize = getCollapsedSelectionFontSize();
|
|
41
|
+
if (!$isRangeSelection(selection) || !selection.isCollapsed() || !fontSize) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
const insertedBlock = selection.insertParagraph();
|
|
45
|
+
if ($isElementNode(insertedBlock)) {
|
|
46
|
+
const insertedBlockKey = insertedBlock.getKey();
|
|
47
|
+
const blockStyles = getStyleObjectFromCSS(insertedBlock.getStyle());
|
|
48
|
+
const fontSizeStyle = getCSSFromStyleObject({ 'font-size': fontSize });
|
|
49
|
+
insertedBlock.setStyle(getCSSFromStyleObject({
|
|
50
|
+
...blockStyles,
|
|
51
|
+
'font-size': fontSize,
|
|
52
|
+
}));
|
|
53
|
+
insertedBlock.setTextStyle(fontSizeStyle);
|
|
54
|
+
insertedBlock.selectStart();
|
|
55
|
+
const applyFontSizeToInsertedElement = () => {
|
|
56
|
+
const insertedElement = editor.getElementByKey(insertedBlockKey);
|
|
57
|
+
insertedElement === null || insertedElement === void 0 ? void 0 : insertedElement.style.setProperty('font-size', fontSize);
|
|
58
|
+
};
|
|
59
|
+
if (typeof queueMicrotask === 'function') {
|
|
60
|
+
queueMicrotask(applyFontSizeToInsertedElement);
|
|
61
|
+
}
|
|
62
|
+
requestAnimationFrame(applyFontSizeToInsertedElement);
|
|
63
|
+
}
|
|
64
|
+
const nextSelection = $getSelection();
|
|
65
|
+
if ($isRangeSelection(nextSelection) && nextSelection.isCollapsed()) {
|
|
66
|
+
$patchStyleText(nextSelection, {
|
|
67
|
+
'font-size': fontSize,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return true;
|
|
71
|
+
}, COMMAND_PRIORITY_CRITICAL);
|
|
72
|
+
}, [editor]);
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/TextEditorV2/plugins/PreserveFontSizeOnEnterPlugin/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { $getRoot, $getSelection, $isRangeSelection } from 'lexical';
|
|
1
|
+
import { $getRoot, $getSelection, $isElementNode, $isRangeSelection, $isTextNode } from 'lexical';
|
|
2
2
|
import React, { useEffect, useRef, useState } from 'react';
|
|
3
|
-
import { $patchStyleText } from '@lexical/selection';
|
|
3
|
+
import { $patchStyleText, getCSSFromStyleObject, getStyleObjectFromCSS } from '@lexical/selection';
|
|
4
4
|
export default function FontSize({ fontSize, editor }) {
|
|
5
5
|
const FONT_SIZES = [
|
|
6
6
|
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72,
|
|
@@ -14,12 +14,38 @@ export default function FontSize({ fontSize, editor }) {
|
|
|
14
14
|
const ref = useRef(null);
|
|
15
15
|
const [showDropdown, setShowDropDown] = useState(false);
|
|
16
16
|
const handleChangeSize = (nextSize) => {
|
|
17
|
+
const nextFontSize = `${nextSize}px`;
|
|
17
18
|
editor.update(() => {
|
|
18
19
|
const selection = $getSelection();
|
|
19
20
|
const rangeSelection = $isRangeSelection(selection) ? selection : $getRoot().selectEnd();
|
|
20
21
|
$patchStyleText(rangeSelection, {
|
|
21
|
-
'font-size':
|
|
22
|
+
'font-size': nextFontSize,
|
|
22
23
|
});
|
|
24
|
+
if (rangeSelection.isCollapsed()) {
|
|
25
|
+
const anchorNode = rangeSelection.anchor.getNode();
|
|
26
|
+
const targetNode = $isElementNode(anchorNode)
|
|
27
|
+
? anchorNode
|
|
28
|
+
: $isTextNode(anchorNode)
|
|
29
|
+
? anchorNode.getTopLevelElement()
|
|
30
|
+
: null;
|
|
31
|
+
if ($isElementNode(targetNode)) {
|
|
32
|
+
const targetNodeKey = targetNode.getKey();
|
|
33
|
+
const styles = getStyleObjectFromCSS(targetNode.getStyle());
|
|
34
|
+
targetNode.setStyle(getCSSFromStyleObject({
|
|
35
|
+
...styles,
|
|
36
|
+
'font-size': nextFontSize,
|
|
37
|
+
}));
|
|
38
|
+
targetNode.setTextStyle(getCSSFromStyleObject({ 'font-size': nextFontSize }));
|
|
39
|
+
const applyFontSizeToTargetElement = () => {
|
|
40
|
+
const targetElement = editor.getElementByKey(targetNodeKey);
|
|
41
|
+
targetElement === null || targetElement === void 0 ? void 0 : targetElement.style.setProperty('font-size', nextFontSize);
|
|
42
|
+
};
|
|
43
|
+
if (typeof queueMicrotask === 'function') {
|
|
44
|
+
queueMicrotask(applyFontSizeToTargetElement);
|
|
45
|
+
}
|
|
46
|
+
requestAnimationFrame(applyFontSizeToTargetElement);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
23
49
|
});
|
|
24
50
|
setShowDropDown(false);
|
|
25
51
|
editor.focus(undefined, { defaultSelection: 'rootEnd' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font-size.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/font-size.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAiB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"font-size.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/font-size.tsx"],"names":[],"mappings":"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"}
|