phx-react 1.3.1782 → 1.3.1783
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/plugins/ToolbarPlugin/components/bullet.js +9 -0
- package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/bullet.js.map +1 -1
- package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.d.ts +2 -0
- package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.js +73 -1
- package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.js.map +1 -1
- package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.js +11 -1
- package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.js.map +1 -1
- package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/index.js +29 -7
- package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/index.js.map +1 -1
- package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/bullet.js +9 -0
- package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/bullet.js.map +1 -1
- package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.d.ts +2 -0
- package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.js +73 -3
- package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.js.map +1 -1
- package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.js +11 -1
- package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.js.map +1 -1
- package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/index.js +31 -9
- package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,11 +5,20 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const list_1 = require("@lexical/list");
|
|
6
6
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
7
7
|
const types_1 = require("../../../../types");
|
|
8
|
+
const heading_1 = require("./heading");
|
|
8
9
|
function Bullet({ editor, isActive }) {
|
|
9
10
|
return (react_1.default.createElement("div", { className: 'flex items-center gap-x-2' },
|
|
10
11
|
react_1.default.createElement("button", { type: 'button', "data-color-button": 'true', className: (0, types_1.classNames)('p-1 rounded-md duration-200 cursor-pointer', isActive ? 'bg-gray-200' : 'hover:bg-gray-200'), onClick: () => {
|
|
11
12
|
if (!isActive) {
|
|
13
|
+
const preservedFontSize = (0, heading_1.preserveHeadingFontSizeForList)(editor);
|
|
12
14
|
editor.dispatchCommand(list_1.INSERT_UNORDERED_LIST_COMMAND, undefined);
|
|
15
|
+
if (preservedFontSize !== null) {
|
|
16
|
+
queueMicrotask(() => {
|
|
17
|
+
editor.update(() => {
|
|
18
|
+
(0, heading_1.applyListItemFontSize)(preservedFontSize);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
}
|
|
13
22
|
}
|
|
14
23
|
else {
|
|
15
24
|
editor.dispatchCommand(list_1.REMOVE_LIST_COMMAND, undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bullet.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/bullet.tsx"],"names":[],"mappings":";;
|
|
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"}
|
|
@@ -2,6 +2,8 @@ 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
|
+
export declare function preserveHeadingFontSizeForList(editor: LexicalEditor): null;
|
|
6
|
+
export declare function applyListItemFontSize(defaultFontSize: string): boolean;
|
|
5
7
|
export default function HeaderDropdown({ editor, value }: {
|
|
6
8
|
editor: LexicalEditor;
|
|
7
9
|
value: string;
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DEFAULT_HEADING_FONT_SIZES = void 0;
|
|
4
|
+
exports.preserveHeadingFontSizeForList = preserveHeadingFontSizeForList;
|
|
5
|
+
exports.applyListItemFontSize = applyListItemFontSize;
|
|
4
6
|
exports.default = HeaderDropdown;
|
|
5
7
|
const tslib_1 = require("tslib");
|
|
6
8
|
const selection_1 = require("@lexical/selection");
|
|
7
9
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
8
10
|
const rich_text_1 = require("@lexical/rich-text");
|
|
11
|
+
const list_1 = require("@lexical/list");
|
|
12
|
+
const utils_1 = require("@lexical/utils");
|
|
9
13
|
const lexical_1 = require("lexical");
|
|
10
14
|
exports.DEFAULT_HEADING_FONT_SIZES = {
|
|
11
15
|
h1: '34px',
|
|
@@ -16,13 +20,75 @@ exports.DEFAULT_HEADING_FONT_SIZES = {
|
|
|
16
20
|
h6: '16px',
|
|
17
21
|
};
|
|
18
22
|
function applyHeadingFontSize(node, defaultFontSize) {
|
|
19
|
-
node.getAllTextNodes()
|
|
23
|
+
for (const textNode of node.getAllTextNodes()) {
|
|
20
24
|
const styles = (0, selection_1.getStyleObjectFromCSS)(textNode.getStyle());
|
|
21
25
|
textNode.setStyle((0, selection_1.getCSSFromStyleObject)({
|
|
22
26
|
...styles,
|
|
23
27
|
'font-size': defaultFontSize,
|
|
24
28
|
}));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function getListItemNode(node) {
|
|
32
|
+
return (0, list_1.$isListItemNode)(node) ? node : (0, utils_1.$findMatchingParent)(node, (parent) => (0, list_1.$isListItemNode)(parent));
|
|
33
|
+
}
|
|
34
|
+
function getHeadingNode(node) {
|
|
35
|
+
return (0, rich_text_1.$isHeadingNode)(node) ? node : (0, utils_1.$findMatchingParent)(node, (parent) => (0, rich_text_1.$isHeadingNode)(parent));
|
|
36
|
+
}
|
|
37
|
+
function preserveHeadingFontSizeForList(editor) {
|
|
38
|
+
let preservedFontSize = null;
|
|
39
|
+
editor.update(() => {
|
|
40
|
+
const selection = (0, lexical_1.$getSelection)();
|
|
41
|
+
if (!(0, lexical_1.$isRangeSelection)(selection)) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const headingNodes = new Set();
|
|
45
|
+
const selectedNodes = [selection.anchor.getNode(), selection.focus.getNode(), ...selection.getNodes()];
|
|
46
|
+
for (const node of selectedNodes) {
|
|
47
|
+
const headingNode = getHeadingNode(node);
|
|
48
|
+
if (headingNode !== null) {
|
|
49
|
+
headingNodes.add(headingNode);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
for (const headingNode of headingNodes) {
|
|
53
|
+
const headingFontSize = exports.DEFAULT_HEADING_FONT_SIZES[headingNode.getTag()];
|
|
54
|
+
preservedFontSize = headingFontSize;
|
|
55
|
+
applyHeadingFontSize(headingNode, headingFontSize);
|
|
56
|
+
}
|
|
57
|
+
if (preservedFontSize !== null) {
|
|
58
|
+
(0, selection_1.$patchStyleText)(selection, {
|
|
59
|
+
'font-size': preservedFontSize,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
return preservedFontSize;
|
|
64
|
+
}
|
|
65
|
+
function applyListItemFontSize(defaultFontSize) {
|
|
66
|
+
const selection = (0, lexical_1.$getSelection)();
|
|
67
|
+
if (!(0, lexical_1.$isRangeSelection)(selection)) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
const listItemNodes = new Set();
|
|
71
|
+
const selectedNodes = [selection.anchor.getNode(), selection.focus.getNode(), ...selection.getNodes()];
|
|
72
|
+
for (const node of selectedNodes) {
|
|
73
|
+
const listItemNode = getListItemNode(node);
|
|
74
|
+
if (listItemNode !== null) {
|
|
75
|
+
listItemNodes.add(listItemNode);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (listItemNodes.size === 0) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
for (const listItemNode of listItemNodes) {
|
|
82
|
+
applyHeadingFontSize(listItemNode, defaultFontSize);
|
|
83
|
+
listItemNode.setTextStyle((0, selection_1.getCSSFromStyleObject)({
|
|
84
|
+
...(0, selection_1.getStyleObjectFromCSS)(listItemNode.getTextStyle()),
|
|
85
|
+
'font-size': defaultFontSize,
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
(0, selection_1.$patchStyleText)(selection, {
|
|
89
|
+
'font-size': defaultFontSize,
|
|
25
90
|
});
|
|
91
|
+
return true;
|
|
26
92
|
}
|
|
27
93
|
function HeaderDropdown({ editor, value }) {
|
|
28
94
|
const listHeading = [
|
|
@@ -54,6 +120,9 @@ function HeaderDropdown({ editor, value }) {
|
|
|
54
120
|
const handleChangeFont = (nextValue) => {
|
|
55
121
|
if (nextValue === 'paragraph') {
|
|
56
122
|
editor.update(() => {
|
|
123
|
+
if (applyListItemFontSize('14px')) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
57
126
|
const selection = (0, lexical_1.$getSelection)();
|
|
58
127
|
(0, selection_1.$setBlocksType)(selection, () => (0, lexical_1.$createParagraphNode)());
|
|
59
128
|
(0, selection_1.$patchStyleText)(selection, {
|
|
@@ -71,6 +140,9 @@ function HeaderDropdown({ editor, value }) {
|
|
|
71
140
|
editor.update(() => {
|
|
72
141
|
const selection = (0, lexical_1.$getSelection)();
|
|
73
142
|
const headingTag = nextValue;
|
|
143
|
+
if (applyListItemFontSize(exports.DEFAULT_HEADING_FONT_SIZES[headingTag])) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
74
146
|
(0, selection_1.$setBlocksType)(selection, () => (0, rich_text_1.$createHeadingNode)(headingTag), (prevNode) => applyHeadingFontSize(prevNode, exports.DEFAULT_HEADING_FONT_SIZES[headingTag]));
|
|
75
147
|
});
|
|
76
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heading.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.tsx"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"heading.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,21 @@ exports.default = NumberBullet;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const list_1 = require("@lexical/list");
|
|
6
6
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
7
|
+
const types_1 = require("../../../../types");
|
|
8
|
+
const heading_1 = require("./heading");
|
|
7
9
|
function NumberBullet({ editor, isActive }) {
|
|
8
10
|
return (react_1.default.createElement("div", { className: 'flex items-center gap-x-2' },
|
|
9
|
-
react_1.default.createElement("button", { type: 'button', "data-color-button": 'true', className: 'p-1 rounded-md duration-200
|
|
11
|
+
react_1.default.createElement("button", { type: 'button', "data-color-button": 'true', className: (0, types_1.classNames)('p-1 rounded-md duration-200 cursor-pointer', isActive ? 'bg-gray-200' : 'hover:bg-gray-200'), onClick: () => {
|
|
10
12
|
if (!isActive) {
|
|
13
|
+
const preservedFontSize = (0, heading_1.preserveHeadingFontSizeForList)(editor);
|
|
11
14
|
editor.dispatchCommand(list_1.INSERT_ORDERED_LIST_COMMAND, undefined);
|
|
15
|
+
if (preservedFontSize !== null) {
|
|
16
|
+
queueMicrotask(() => {
|
|
17
|
+
editor.update(() => {
|
|
18
|
+
(0, heading_1.applyListItemFontSize)(preservedFontSize);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
}
|
|
12
22
|
}
|
|
13
23
|
else {
|
|
14
24
|
editor.dispatchCommand(list_1.REMOVE_LIST_COMMAND, undefined);
|
package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-bullet.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.tsx"],"names":[],"mappings":";;
|
|
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"}
|
|
@@ -39,10 +39,19 @@ const blockTypeToBlockName = {
|
|
|
39
39
|
paragraph: 'Normal',
|
|
40
40
|
quote: 'Quote',
|
|
41
41
|
};
|
|
42
|
+
function getBlockTypeFromFontSize(fontSize) {
|
|
43
|
+
var _a;
|
|
44
|
+
const headingType = (_a = Object.entries(heading_1.DEFAULT_HEADING_FONT_SIZES).find(([, size]) => size === fontSize)) === null || _a === void 0 ? void 0 : _a[0];
|
|
45
|
+
return headingType !== undefined ? headingType : 'paragraph';
|
|
46
|
+
}
|
|
47
|
+
function getFontSizeFromStyle(style) {
|
|
48
|
+
return (0, selection_1.getStyleObjectFromCSS)(style)['font-size'];
|
|
49
|
+
}
|
|
42
50
|
function ToolbarPlugin({ apiCdnUpload, disabled, }) {
|
|
43
51
|
const [editor] = (0, LexicalComposerContext_1.useLexicalComposerContext)();
|
|
44
52
|
const [activeEditor, setActiveEditor] = (0, react_1.useState)(editor);
|
|
45
53
|
const [blockType, setBlockType] = (0, react_1.useState)('paragraph');
|
|
54
|
+
const [listBlockType, setListBlockType] = (0, react_1.useState)(null);
|
|
46
55
|
const [fontSize, setFontSize] = (0, react_1.useState)('14px');
|
|
47
56
|
const [fontColor, setFontColor] = (0, react_1.useState)('#000');
|
|
48
57
|
const [elementFormat, setElementFormat] = (0, react_1.useState)('left');
|
|
@@ -78,13 +87,27 @@ function ToolbarPlugin({ apiCdnUpload, disabled, }) {
|
|
|
78
87
|
else {
|
|
79
88
|
setIsLink(false);
|
|
80
89
|
}
|
|
90
|
+
const defaultFontSize = (0, rich_text_1.$isHeadingNode)(element) ? heading_1.DEFAULT_HEADING_FONT_SIZES[element.getTag()] : '14px';
|
|
91
|
+
let selectionFontSize = (0, selection_1.$getSelectionStyleValueForProperty)(selection, 'font-size', defaultFontSize);
|
|
81
92
|
if (elementDOM !== null) {
|
|
82
|
-
|
|
83
|
-
|
|
93
|
+
const parentList = (0, utils_1.$getNearestNodeOfType)(anchorNode, list_1.ListNode);
|
|
94
|
+
if (parentList !== null || (0, list_1.$isListNode)(element)) {
|
|
95
|
+
const listItemNode = (0, list_1.$isListItemNode)(anchorNode)
|
|
96
|
+
? anchorNode
|
|
97
|
+
: (0, utils_1.$findMatchingParent)(anchorNode, (node) => (0, list_1.$isListItemNode)(node));
|
|
98
|
+
const listItemFontSize = (0, list_1.$isListItemNode)(listItemNode)
|
|
99
|
+
? getFontSizeFromStyle(listItemNode.getTextStyle())
|
|
100
|
+
: undefined;
|
|
101
|
+
// @ts-ignore
|
|
84
102
|
const type = parentList ? parentList.getListType() : element.getListType();
|
|
85
|
-
|
|
103
|
+
if (listItemFontSize !== undefined) {
|
|
104
|
+
selectionFontSize = listItemFontSize;
|
|
105
|
+
}
|
|
106
|
+
setListBlockType(type);
|
|
107
|
+
setBlockType(getBlockTypeFromFontSize(selectionFontSize));
|
|
86
108
|
}
|
|
87
109
|
else {
|
|
110
|
+
setListBlockType(null);
|
|
88
111
|
const type = (0, rich_text_1.$isHeadingNode)(element) ? element.getTag() : element.getType();
|
|
89
112
|
if (type in blockTypeToBlockName) {
|
|
90
113
|
setBlockType(type);
|
|
@@ -92,8 +115,7 @@ function ToolbarPlugin({ apiCdnUpload, disabled, }) {
|
|
|
92
115
|
}
|
|
93
116
|
}
|
|
94
117
|
// Handle buttons
|
|
95
|
-
|
|
96
|
-
setFontSize((0, selection_1.$getSelectionStyleValueForProperty)(selection, 'font-size', defaultFontSize));
|
|
118
|
+
setFontSize(selectionFontSize);
|
|
97
119
|
setFontColor((0, selection_1.$getSelectionStyleValueForProperty)(selection, 'color', '#000'));
|
|
98
120
|
let matchingParent;
|
|
99
121
|
if ((0, link_1.$isLinkNode)(parent)) {
|
|
@@ -149,8 +171,8 @@ function ToolbarPlugin({ apiCdnUpload, disabled, }) {
|
|
|
149
171
|
React.createElement(underline_text_1.default, { isActive: isUnderline, editor: activeEditor }),
|
|
150
172
|
React.createElement(text_color_1.default, { editor: activeEditor, color: fontColor }),
|
|
151
173
|
React.createElement(text_align_1.default, { value: elementFormat, editor: activeEditor }),
|
|
152
|
-
React.createElement(bullet_1.default, { isActive:
|
|
153
|
-
React.createElement(number_bullet_1.default, { isActive:
|
|
174
|
+
React.createElement(bullet_1.default, { isActive: listBlockType === 'bullet', editor: activeEditor }),
|
|
175
|
+
React.createElement(number_bullet_1.default, { isActive: listBlockType === 'number', editor: activeEditor }),
|
|
154
176
|
React.createElement(upload_pdf_1.default, { editor: activeEditor, apiCdnUpload: apiCdnUpload }),
|
|
155
177
|
React.createElement(upload_image_1.default, { editor: activeEditor, apiCdnUpload: apiCdnUpload }),
|
|
156
178
|
React.createElement(link_2.default, { editor: activeEditor })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/index.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import { INSERT_UNORDERED_LIST_COMMAND, REMOVE_LIST_COMMAND } from '@lexical/list';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { classNames } from '../../../../types';
|
|
4
|
+
import { applyListItemFontSize, preserveHeadingFontSizeForList } from './heading';
|
|
4
5
|
export default function Bullet({ editor, isActive }) {
|
|
5
6
|
return (React.createElement("div", { className: 'flex items-center gap-x-2' },
|
|
6
7
|
React.createElement("button", { type: 'button', "data-color-button": 'true', className: classNames('p-1 rounded-md duration-200 cursor-pointer', isActive ? 'bg-gray-200' : 'hover:bg-gray-200'), onClick: () => {
|
|
7
8
|
if (!isActive) {
|
|
9
|
+
const preservedFontSize = preserveHeadingFontSizeForList(editor);
|
|
8
10
|
editor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND, undefined);
|
|
11
|
+
if (preservedFontSize !== null) {
|
|
12
|
+
queueMicrotask(() => {
|
|
13
|
+
editor.update(() => {
|
|
14
|
+
applyListItemFontSize(preservedFontSize);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
}
|
|
9
18
|
}
|
|
10
19
|
else {
|
|
11
20
|
editor.dispatchCommand(REMOVE_LIST_COMMAND, undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bullet.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/bullet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAElF,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"bullet.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/bullet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAElF,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAA;AAEjF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAgD;IAC/F,OAAO,CACL,6BAAK,SAAS,EAAC,2BAA2B;QACxC,gCACE,IAAI,EAAC,QAAQ,uBACK,MAAM,EACxB,SAAS,EAAE,UAAU,CACnB,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,8BAA8B,CAAC,MAAM,CAAC,CAAA;oBAEhE,MAAM,CAAC,eAAe,CAAC,6BAA6B,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,qBAAqB,CAAC,iBAAiB,CAAC,CAAA;4BAC1C,CAAC,CAAC,CAAA;wBACJ,CAAC,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,eAAe,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAA;gBACxD,CAAC;YACH,CAAC;YAED;gBACE,6BAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;oBAC5F,8BACE,CAAC,EAAC,uGAAuG,EACzG,IAAI,EAAC,SAAS,GACR;oBACR,8BACE,CAAC,EAAC,6GAA6G,EAC/G,IAAI,EAAC,SAAS,GACR;oBACR,8BACE,CAAC,EAAC,gHAAgH,EAClH,IAAI,EAAC,SAAS,GACR;oBACR,8BACE,CAAC,EAAC,0JAA0J,EAC5J,IAAI,EAAC,SAAS,GACR;oBACR,8BACE,CAAC,EAAC,4JAA4J,EAC9J,IAAI,EAAC,SAAS,GACR;oBACR,8BACE,CAAC,EAAC,mKAAmK,EACrK,IAAI,EAAC,SAAS,GACR,CACJ,CACD,CACA,CACL,CACP,CAAA;AACH,CAAC"}
|
|
@@ -2,6 +2,8 @@ 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
|
+
export declare function preserveHeadingFontSizeForList(editor: LexicalEditor): null;
|
|
6
|
+
export declare function applyListItemFontSize(defaultFontSize: string): boolean;
|
|
5
7
|
export default function HeaderDropdown({ editor, value }: {
|
|
6
8
|
editor: LexicalEditor;
|
|
7
9
|
value: string;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { $patchStyleText, $setBlocksType, getCSSFromStyleObject, getStyleObjectFromCSS } from '@lexical/selection';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { $createHeadingNode, $createQuoteNode } from '@lexical/rich-text';
|
|
4
|
-
import { $
|
|
3
|
+
import { $createHeadingNode, $createQuoteNode, $isHeadingNode, } from '@lexical/rich-text';
|
|
4
|
+
import { $isListItemNode } from '@lexical/list';
|
|
5
|
+
import { $findMatchingParent } from '@lexical/utils';
|
|
6
|
+
import { $createParagraphNode, $getSelection, $isRangeSelection, } from 'lexical';
|
|
5
7
|
export const DEFAULT_HEADING_FONT_SIZES = {
|
|
6
8
|
h1: '34px',
|
|
7
9
|
h2: '29px',
|
|
@@ -11,13 +13,75 @@ export const DEFAULT_HEADING_FONT_SIZES = {
|
|
|
11
13
|
h6: '16px',
|
|
12
14
|
};
|
|
13
15
|
function applyHeadingFontSize(node, defaultFontSize) {
|
|
14
|
-
node.getAllTextNodes()
|
|
16
|
+
for (const textNode of node.getAllTextNodes()) {
|
|
15
17
|
const styles = getStyleObjectFromCSS(textNode.getStyle());
|
|
16
18
|
textNode.setStyle(getCSSFromStyleObject({
|
|
17
19
|
...styles,
|
|
18
20
|
'font-size': defaultFontSize,
|
|
19
21
|
}));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function getListItemNode(node) {
|
|
25
|
+
return $isListItemNode(node) ? node : $findMatchingParent(node, (parent) => $isListItemNode(parent));
|
|
26
|
+
}
|
|
27
|
+
function getHeadingNode(node) {
|
|
28
|
+
return $isHeadingNode(node) ? node : $findMatchingParent(node, (parent) => $isHeadingNode(parent));
|
|
29
|
+
}
|
|
30
|
+
export function preserveHeadingFontSizeForList(editor) {
|
|
31
|
+
let preservedFontSize = null;
|
|
32
|
+
editor.update(() => {
|
|
33
|
+
const selection = $getSelection();
|
|
34
|
+
if (!$isRangeSelection(selection)) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const headingNodes = new Set();
|
|
38
|
+
const selectedNodes = [selection.anchor.getNode(), selection.focus.getNode(), ...selection.getNodes()];
|
|
39
|
+
for (const node of selectedNodes) {
|
|
40
|
+
const headingNode = getHeadingNode(node);
|
|
41
|
+
if (headingNode !== null) {
|
|
42
|
+
headingNodes.add(headingNode);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
for (const headingNode of headingNodes) {
|
|
46
|
+
const headingFontSize = DEFAULT_HEADING_FONT_SIZES[headingNode.getTag()];
|
|
47
|
+
preservedFontSize = headingFontSize;
|
|
48
|
+
applyHeadingFontSize(headingNode, headingFontSize);
|
|
49
|
+
}
|
|
50
|
+
if (preservedFontSize !== null) {
|
|
51
|
+
$patchStyleText(selection, {
|
|
52
|
+
'font-size': preservedFontSize,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
return preservedFontSize;
|
|
57
|
+
}
|
|
58
|
+
export function applyListItemFontSize(defaultFontSize) {
|
|
59
|
+
const selection = $getSelection();
|
|
60
|
+
if (!$isRangeSelection(selection)) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
const listItemNodes = new Set();
|
|
64
|
+
const selectedNodes = [selection.anchor.getNode(), selection.focus.getNode(), ...selection.getNodes()];
|
|
65
|
+
for (const node of selectedNodes) {
|
|
66
|
+
const listItemNode = getListItemNode(node);
|
|
67
|
+
if (listItemNode !== null) {
|
|
68
|
+
listItemNodes.add(listItemNode);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (listItemNodes.size === 0) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
for (const listItemNode of listItemNodes) {
|
|
75
|
+
applyHeadingFontSize(listItemNode, defaultFontSize);
|
|
76
|
+
listItemNode.setTextStyle(getCSSFromStyleObject({
|
|
77
|
+
...getStyleObjectFromCSS(listItemNode.getTextStyle()),
|
|
78
|
+
'font-size': defaultFontSize,
|
|
79
|
+
}));
|
|
80
|
+
}
|
|
81
|
+
$patchStyleText(selection, {
|
|
82
|
+
'font-size': defaultFontSize,
|
|
20
83
|
});
|
|
84
|
+
return true;
|
|
21
85
|
}
|
|
22
86
|
export default function HeaderDropdown({ editor, value }) {
|
|
23
87
|
const listHeading = [
|
|
@@ -49,6 +113,9 @@ export default function HeaderDropdown({ editor, value }) {
|
|
|
49
113
|
const handleChangeFont = (nextValue) => {
|
|
50
114
|
if (nextValue === 'paragraph') {
|
|
51
115
|
editor.update(() => {
|
|
116
|
+
if (applyListItemFontSize('14px')) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
52
119
|
const selection = $getSelection();
|
|
53
120
|
$setBlocksType(selection, () => $createParagraphNode());
|
|
54
121
|
$patchStyleText(selection, {
|
|
@@ -66,6 +133,9 @@ export default function HeaderDropdown({ editor, value }) {
|
|
|
66
133
|
editor.update(() => {
|
|
67
134
|
const selection = $getSelection();
|
|
68
135
|
const headingTag = nextValue;
|
|
136
|
+
if (applyListItemFontSize(DEFAULT_HEADING_FONT_SIZES[headingTag])) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
69
139
|
$setBlocksType(selection, () => $createHeadingNode(headingTag), (prevNode) => applyHeadingFontSize(prevNode, DEFAULT_HEADING_FONT_SIZES[headingTag]));
|
|
70
140
|
});
|
|
71
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heading.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAClH,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,
|
|
1
|
+
{"version":3,"file":"heading.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import { INSERT_ORDERED_LIST_COMMAND, REMOVE_LIST_COMMAND } from '@lexical/list';
|
|
2
2
|
import React from 'react';
|
|
3
|
+
import { classNames } from '../../../../types';
|
|
4
|
+
import { applyListItemFontSize, preserveHeadingFontSizeForList } from './heading';
|
|
3
5
|
export default function NumberBullet({ editor, isActive }) {
|
|
4
6
|
return (React.createElement("div", { className: 'flex items-center gap-x-2' },
|
|
5
|
-
React.createElement("button", { type: 'button', "data-color-button": 'true', className: 'p-1 rounded-md duration-200
|
|
7
|
+
React.createElement("button", { type: 'button', "data-color-button": 'true', className: classNames('p-1 rounded-md duration-200 cursor-pointer', isActive ? 'bg-gray-200' : 'hover:bg-gray-200'), onClick: () => {
|
|
6
8
|
if (!isActive) {
|
|
9
|
+
const preservedFontSize = preserveHeadingFontSizeForList(editor);
|
|
7
10
|
editor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND, undefined);
|
|
11
|
+
if (preservedFontSize !== null) {
|
|
12
|
+
queueMicrotask(() => {
|
|
13
|
+
editor.update(() => {
|
|
14
|
+
applyListItemFontSize(preservedFontSize);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
}
|
|
8
18
|
}
|
|
9
19
|
else {
|
|
10
20
|
editor.dispatchCommand(REMOVE_LIST_COMMAND, undefined);
|
package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-bullet.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEhF,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"number-bullet.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEhF,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAA;AAEjF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAgD;IACrG,OAAO,CACL,6BAAK,SAAS,EAAC,2BAA2B;QACxC,gCACE,IAAI,EAAC,QAAQ,uBACK,MAAM,EACxB,SAAS,EAAE,UAAU,CACnB,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,8BAA8B,CAAC,MAAM,CAAC,CAAA;oBAEhE,MAAM,CAAC,eAAe,CAAC,2BAA2B,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,qBAAqB,CAAC,iBAAiB,CAAC,CAAA;4BAC1C,CAAC,CAAC,CAAA;wBACJ,CAAC,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,eAAe,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAA;gBACxD,CAAC;YACH,CAAC;YAED;gBACE,6BAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;oBAC5F,8BACE,CAAC,EAAC,2aAA2a,EAC7a,IAAI,EAAC,SAAS,GACR;oBACR,8BACE,CAAC,EAAC,+KAA+K,EACjL,IAAI,EAAC,SAAS,GACR;oBACR,8BACE,CAAC,EAAC,oLAAoL,EACtL,IAAI,EAAC,SAAS,GACR;oBACR,8BACE,CAAC,EAAC,qLAAqL,EACvL,IAAI,EAAC,SAAS,GACR;oBACR,8BACE,CAAC,EAAC,2iBAA2iB,EAC7iB,IAAI,EAAC,SAAS,GACR;oBACR,8BACE,CAAC,EAAC,guBAAguB,EACluB,IAAI,EAAC,SAAS,GACR,CACJ,CACD,CACA;QACT,6BAAK,SAAS,EAAC,yBAAyB,GAAO,CAC3C,CACP,CAAA;AACH,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { $isLinkNode, TOGGLE_LINK_COMMAND } from '@lexical/link';
|
|
2
|
-
import { $isListNode, ListNode } from '@lexical/list';
|
|
2
|
+
import { $isListItemNode, $isListNode, ListNode } from '@lexical/list';
|
|
3
3
|
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
|
|
4
4
|
import { $isHeadingNode } from '@lexical/rich-text';
|
|
5
|
-
import { $getSelectionStyleValueForProperty } from '@lexical/selection';
|
|
5
|
+
import { $getSelectionStyleValueForProperty, getStyleObjectFromCSS } from '@lexical/selection';
|
|
6
6
|
import { $findMatchingParent, $getNearestNodeOfType, mergeRegister } from '@lexical/utils';
|
|
7
7
|
import { $getSelection, $isElementNode, $isRangeSelection, $isRootOrShadowRoot, COMMAND_PRIORITY_CRITICAL, COMMAND_PRIORITY_NORMAL, KEY_MODIFIER_COMMAND, SELECTION_CHANGE_COMMAND, } from 'lexical';
|
|
8
8
|
import { useCallback, useEffect, useState } from 'react';
|
|
@@ -35,10 +35,19 @@ const blockTypeToBlockName = {
|
|
|
35
35
|
paragraph: 'Normal',
|
|
36
36
|
quote: 'Quote',
|
|
37
37
|
};
|
|
38
|
+
function getBlockTypeFromFontSize(fontSize) {
|
|
39
|
+
var _a;
|
|
40
|
+
const headingType = (_a = Object.entries(DEFAULT_HEADING_FONT_SIZES).find(([, size]) => size === fontSize)) === null || _a === void 0 ? void 0 : _a[0];
|
|
41
|
+
return headingType !== undefined ? headingType : 'paragraph';
|
|
42
|
+
}
|
|
43
|
+
function getFontSizeFromStyle(style) {
|
|
44
|
+
return getStyleObjectFromCSS(style)['font-size'];
|
|
45
|
+
}
|
|
38
46
|
export default function ToolbarPlugin({ apiCdnUpload, disabled, }) {
|
|
39
47
|
const [editor] = useLexicalComposerContext();
|
|
40
48
|
const [activeEditor, setActiveEditor] = useState(editor);
|
|
41
49
|
const [blockType, setBlockType] = useState('paragraph');
|
|
50
|
+
const [listBlockType, setListBlockType] = useState(null);
|
|
42
51
|
const [fontSize, setFontSize] = useState('14px');
|
|
43
52
|
const [fontColor, setFontColor] = useState('#000');
|
|
44
53
|
const [elementFormat, setElementFormat] = useState('left');
|
|
@@ -74,13 +83,27 @@ export default function ToolbarPlugin({ apiCdnUpload, disabled, }) {
|
|
|
74
83
|
else {
|
|
75
84
|
setIsLink(false);
|
|
76
85
|
}
|
|
86
|
+
const defaultFontSize = $isHeadingNode(element) ? DEFAULT_HEADING_FONT_SIZES[element.getTag()] : '14px';
|
|
87
|
+
let selectionFontSize = $getSelectionStyleValueForProperty(selection, 'font-size', defaultFontSize);
|
|
77
88
|
if (elementDOM !== null) {
|
|
78
|
-
|
|
79
|
-
|
|
89
|
+
const parentList = $getNearestNodeOfType(anchorNode, ListNode);
|
|
90
|
+
if (parentList !== null || $isListNode(element)) {
|
|
91
|
+
const listItemNode = $isListItemNode(anchorNode)
|
|
92
|
+
? anchorNode
|
|
93
|
+
: $findMatchingParent(anchorNode, (node) => $isListItemNode(node));
|
|
94
|
+
const listItemFontSize = $isListItemNode(listItemNode)
|
|
95
|
+
? getFontSizeFromStyle(listItemNode.getTextStyle())
|
|
96
|
+
: undefined;
|
|
97
|
+
// @ts-ignore
|
|
80
98
|
const type = parentList ? parentList.getListType() : element.getListType();
|
|
81
|
-
|
|
99
|
+
if (listItemFontSize !== undefined) {
|
|
100
|
+
selectionFontSize = listItemFontSize;
|
|
101
|
+
}
|
|
102
|
+
setListBlockType(type);
|
|
103
|
+
setBlockType(getBlockTypeFromFontSize(selectionFontSize));
|
|
82
104
|
}
|
|
83
105
|
else {
|
|
106
|
+
setListBlockType(null);
|
|
84
107
|
const type = $isHeadingNode(element) ? element.getTag() : element.getType();
|
|
85
108
|
if (type in blockTypeToBlockName) {
|
|
86
109
|
setBlockType(type);
|
|
@@ -88,8 +111,7 @@ export default function ToolbarPlugin({ apiCdnUpload, disabled, }) {
|
|
|
88
111
|
}
|
|
89
112
|
}
|
|
90
113
|
// Handle buttons
|
|
91
|
-
|
|
92
|
-
setFontSize($getSelectionStyleValueForProperty(selection, 'font-size', defaultFontSize));
|
|
114
|
+
setFontSize(selectionFontSize);
|
|
93
115
|
setFontColor($getSelectionStyleValueForProperty(selection, 'color', '#000'));
|
|
94
116
|
let matchingParent;
|
|
95
117
|
if ($isLinkNode(parent)) {
|
|
@@ -145,8 +167,8 @@ export default function ToolbarPlugin({ apiCdnUpload, disabled, }) {
|
|
|
145
167
|
React.createElement(UnderlineText, { isActive: isUnderline, editor: activeEditor }),
|
|
146
168
|
React.createElement(TextColor, { editor: activeEditor, color: fontColor }),
|
|
147
169
|
React.createElement(TextAlign, { value: elementFormat, editor: activeEditor }),
|
|
148
|
-
React.createElement(Bullet, { isActive:
|
|
149
|
-
React.createElement(NumberBullet, { isActive:
|
|
170
|
+
React.createElement(Bullet, { isActive: listBlockType === 'bullet', editor: activeEditor }),
|
|
171
|
+
React.createElement(NumberBullet, { isActive: listBlockType === 'number', editor: activeEditor }),
|
|
150
172
|
React.createElement(UploadPdf, { editor: activeEditor, apiCdnUpload: apiCdnUpload }),
|
|
151
173
|
React.createElement(UploadImage, { editor: activeEditor, apiCdnUpload: apiCdnUpload }),
|
|
152
174
|
React.createElement(Link, { editor: activeEditor })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/index.tsx"],"names":[],"mappings":"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"}
|