phx-react 1.3.1799 → 1.3.1800

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 (25) hide show
  1. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/bullet.js +3 -3
  2. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/bullet.js.map +1 -1
  3. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/font-size.d.ts +11 -1
  4. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/font-size.js +100 -4
  5. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/font-size.js.map +1 -1
  6. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.d.ts +44 -2
  7. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.js +105 -16
  8. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.js.map +1 -1
  9. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.js +3 -3
  10. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.js.map +1 -1
  11. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/index.js +24 -5
  12. package/dist/cjs/components/TextEditorV2/plugins/ToolbarPlugin/index.js.map +1 -1
  13. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/bullet.js +3 -3
  14. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/bullet.js.map +1 -1
  15. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/font-size.d.ts +11 -1
  16. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/font-size.js +101 -5
  17. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/font-size.js.map +1 -1
  18. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.d.ts +44 -2
  19. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.js +102 -17
  20. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/heading.js.map +1 -1
  21. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.js +3 -3
  22. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/components/number-bullet.js.map +1 -1
  23. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/index.js +25 -6
  24. package/dist/esm/components/TextEditorV2/plugins/ToolbarPlugin/index.js.map +1 -1
  25. package/package.json +1 -1
@@ -10,12 +10,12 @@ function Bullet({ editor, isActive }) {
10
10
  return (react_1.default.createElement("div", { className: 'flex items-center gap-x-2' },
11
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: () => {
12
12
  if (!isActive) {
13
- const preservedFontSize = (0, heading_1.preserveHeadingFontSizeForList)(editor);
13
+ const preservedHeading = (0, heading_1.preserveHeadingFontSizeForList)(editor);
14
14
  editor.dispatchCommand(list_1.INSERT_UNORDERED_LIST_COMMAND, undefined);
15
- if (preservedFontSize !== null) {
15
+ if (preservedHeading !== null) {
16
16
  queueMicrotask(() => {
17
17
  editor.update(() => {
18
- (0, heading_1.applyListItemFontSize)(preservedFontSize);
18
+ (0, heading_1.applyListItemFontSize)(preservedHeading.fontSize, preservedHeading.headingTag);
19
19
  });
20
20
  });
21
21
  }
@@ -1 +1 @@
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"}
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,gBAAgB,GAAG,IAAA,wCAA8B,EAAC,MAAM,CAAC,CAAA;oBAE/D,MAAM,CAAC,eAAe,CAAC,oCAA6B,EAAE,SAAS,CAAC,CAAA;oBAEhE,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;wBAC9B,cAAc,CAAC,GAAG,EAAE;4BAClB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gCACjB,IAAA,+BAAqB,EAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAA;4BAC/E,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"}
@@ -1,6 +1,16 @@
1
1
  import { LexicalEditor } from 'lexical';
2
2
  import React from 'react';
3
- export default function FontSize({ fontSize, editor }: {
3
+ import { type HeadingTagType } from '@lexical/rich-text';
4
+ /**
5
+ * Renders controls for applying inline font size to the current selection.
6
+ * @param props Font size control props.
7
+ * @param props.fontSize Current selected font size.
8
+ * @param props.editor Active Lexical editor.
9
+ * @param props.listHeadingTag Current list heading type that should survive font-size changes.
10
+ * @returns Font size toolbar controls.
11
+ */
12
+ export default function FontSize({ fontSize, editor, listHeadingTag, }: {
4
13
  fontSize: number | null;
5
14
  editor: LexicalEditor;
15
+ listHeadingTag: HeadingTagType | null;
6
16
  }): React.JSX.Element;
@@ -2,10 +2,102 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = FontSize;
4
4
  const tslib_1 = require("tslib");
5
+ const list_1 = require("@lexical/list");
6
+ const utils_1 = require("@lexical/utils");
5
7
  const lexical_1 = require("lexical");
6
8
  const react_1 = tslib_1.__importStar(require("react"));
7
9
  const selection_1 = require("@lexical/selection");
8
- function FontSize({ fontSize, editor }) {
10
+ const heading_1 = require("./heading");
11
+ /**
12
+ * Finds the list item that owns a node.
13
+ * @param node Node inside or equal to a list item.
14
+ * @returns Matching list item, or null when the node is not in a list item.
15
+ */
16
+ function getListItemNode(node) {
17
+ return (0, list_1.$isListItemNode)(node) ? node : (0, utils_1.$findMatchingParent)(node, (parent) => (0, list_1.$isListItemNode)(parent));
18
+ }
19
+ /**
20
+ * Gets selected list items from the current range.
21
+ * @param selection Current range selection.
22
+ * @returns Unique list item nodes touched by the selection.
23
+ */
24
+ function getSelectedListItems(selection) {
25
+ const listItemNodes = new Set();
26
+ const selectedNodes = [selection.anchor.getNode(), selection.focus.getNode(), ...selection.getNodes()];
27
+ for (const node of selectedNodes) {
28
+ const listItemNode = getListItemNode(node);
29
+ if (listItemNode !== null) {
30
+ listItemNodes.add(listItemNode);
31
+ }
32
+ }
33
+ return listItemNodes;
34
+ }
35
+ /**
36
+ * Reads heading metadata from selected list items.
37
+ * @param selection Current range selection.
38
+ * @returns Selected list heading tag, or null when the selection is normal list text.
39
+ */
40
+ function getSelectedListHeadingTag(selection) {
41
+ for (const listItemNode of getSelectedListItems(selection)) {
42
+ const headingTag = (0, heading_1.getListItemHeadingTag)(listItemNode);
43
+ if (headingTag !== null) {
44
+ return headingTag;
45
+ }
46
+ }
47
+ return null;
48
+ }
49
+ /**
50
+ * Applies font size to selected list items and their marker style.
51
+ * @param listItemNodes List items touched by the selection.
52
+ * @param fontSize Font size to apply.
53
+ * @param headingTag Heading type to preserve, or null for normal list text.
54
+ * @param shouldApplyMarkerStyle True when the list marker should receive the selected size.
55
+ */
56
+ function applyListItemFontSize(listItemNodes, fontSize, headingTag, shouldApplyMarkerStyle) {
57
+ for (const listItemNode of listItemNodes) {
58
+ (0, heading_1.setListItemHeadingTag)(listItemNode.getKey(), headingTag);
59
+ if (!shouldApplyMarkerStyle) {
60
+ continue;
61
+ }
62
+ const listItemStyle = {
63
+ ...(0, selection_1.getStyleObjectFromCSS)(listItemNode.getTextStyle()),
64
+ 'font-size': fontSize,
65
+ };
66
+ if (headingTag === null) {
67
+ delete listItemStyle['--phx-list-heading'];
68
+ }
69
+ else {
70
+ listItemStyle['--phx-list-heading'] = headingTag;
71
+ }
72
+ listItemNode.setTextStyle((0, selection_1.getCSSFromStyleObject)(listItemStyle));
73
+ }
74
+ }
75
+ /**
76
+ * Gets the active range selection, restoring the previous range when toolbar focus cleared it.
77
+ * @returns Current or restored range selection, or a root-end selection as a final fallback.
78
+ */
79
+ function getActiveRangeSelection() {
80
+ const selection = (0, lexical_1.$getSelection)();
81
+ if ((0, lexical_1.$isRangeSelection)(selection)) {
82
+ return selection;
83
+ }
84
+ const previousSelection = (0, lexical_1.$getPreviousSelection)();
85
+ if ((0, lexical_1.$isRangeSelection)(previousSelection)) {
86
+ const restoredSelection = previousSelection.clone();
87
+ (0, lexical_1.$setSelection)(restoredSelection);
88
+ return restoredSelection;
89
+ }
90
+ return (0, lexical_1.$getRoot)().selectEnd();
91
+ }
92
+ /**
93
+ * Renders controls for applying inline font size to the current selection.
94
+ * @param props Font size control props.
95
+ * @param props.fontSize Current selected font size.
96
+ * @param props.editor Active Lexical editor.
97
+ * @param props.listHeadingTag Current list heading type that should survive font-size changes.
98
+ * @returns Font size toolbar controls.
99
+ */
100
+ function FontSize({ fontSize, editor, listHeadingTag, }) {
9
101
  const FONT_SIZES = [
10
102
  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,
11
103
  80, 96,
@@ -20,11 +112,15 @@ function FontSize({ fontSize, editor }) {
20
112
  const handleChangeSize = (nextSize) => {
21
113
  const nextFontSize = `${nextSize}px`;
22
114
  editor.update(() => {
23
- const selection = (0, lexical_1.$getSelection)();
24
- const rangeSelection = (0, lexical_1.$isRangeSelection)(selection) ? selection : (0, lexical_1.$getRoot)().selectEnd();
115
+ const rangeSelection = getActiveRangeSelection();
116
+ const selectedListItems = getSelectedListItems(rangeSelection);
117
+ const selectedListHeadingTag = listHeadingTag !== null && listHeadingTag !== void 0 ? listHeadingTag : getSelectedListHeadingTag(rangeSelection);
25
118
  (0, selection_1.$patchStyleText)(rangeSelection, {
26
119
  'font-size': nextFontSize,
27
120
  });
121
+ if (selectedListItems.size > 0) {
122
+ applyListItemFontSize(selectedListItems, nextFontSize, selectedListHeadingTag, !rangeSelection.isCollapsed());
123
+ }
28
124
  if (rangeSelection.isCollapsed()) {
29
125
  const anchorNode = rangeSelection.anchor.getNode();
30
126
  const targetNode = (0, lexical_1.$isElementNode)(anchorNode)
@@ -52,7 +148,7 @@ function FontSize({ fontSize, editor }) {
52
148
  }
53
149
  });
54
150
  setShowDropDown(false);
55
- editor.focus(undefined, { defaultSelection: 'rootEnd' });
151
+ editor.focus();
56
152
  };
57
153
  const handleIncre = (value) => {
58
154
  if (!hasFontSize) {
@@ -1 +1 @@
1
- {"version":3,"file":"font-size.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/font-size.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"font-size.js","sourceRoot":"","sources":["../../../../../../../src/components/TextEditorV2/plugins/ToolbarPlugin/components/font-size.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,37 @@
1
1
  import React from 'react';
2
2
  import { HeadingTagType } from '@lexical/rich-text';
3
+ import { type ListItemNode } from '@lexical/list';
3
4
  import { LexicalEditor } from 'lexical';
4
5
  export declare const DEFAULT_HEADING_FONT_SIZES: Record<HeadingTagType, string>;
6
+ type ListItemBlockType = HeadingTagType | 'paragraph';
7
+ type PreservedListBlock = {
8
+ fontSize: string;
9
+ headingTag: HeadingTagType | null;
10
+ };
11
+ /**
12
+ * Stores block metadata for a list item during the current editor session.
13
+ * @param listItemKey List item node key.
14
+ * @param headingTag Heading type to store, or null to mark the list item as normal text.
15
+ */
16
+ export declare function setListItemHeadingTag(listItemKey: string, headingTag: HeadingTagType | null): void;
17
+ /**
18
+ * Gets the heading tag stored on a list item style.
19
+ * @param style List item text style.
20
+ * @returns Matching heading tag, or null when the style is normal text.
21
+ */
22
+ export declare function getListItemHeadingTagFromStyle(style: string): HeadingTagType | null;
23
+ /**
24
+ * Gets the block type stored for a list item.
25
+ * @param listItemNode List item whose block metadata should be read.
26
+ * @returns Matching block type, or null when no metadata can be inferred.
27
+ */
28
+ export declare function getListItemBlockType(listItemNode: ListItemNode): ListItemBlockType | null;
29
+ /**
30
+ * Gets the heading type stored for a list item.
31
+ * @param listItemNode List item whose heading metadata should be read.
32
+ * @returns Matching heading tag, or null when the list item is normal text.
33
+ */
34
+ export declare function getListItemHeadingTag(listItemNode: ListItemNode): HeadingTagType | null;
5
35
  /**
6
36
  * Gets the heading tag represented by the current selected list item font size.
7
37
  * @param editor Active Lexical editor.
@@ -13,9 +43,21 @@ export declare function getSelectedListHeadingTag(editor: LexicalEditor): Headin
13
43
  * @param headingTag Heading tag to apply.
14
44
  */
15
45
  export declare function applyHeadingTypeToSelection(headingTag: HeadingTagType): void;
16
- export declare function preserveHeadingFontSizeForList(editor: LexicalEditor): null;
17
- export declare function applyListItemFontSize(defaultFontSize: string): boolean;
46
+ /**
47
+ * Preserves block metadata before converting selected content to a list item.
48
+ * @param editor Active Lexical editor.
49
+ * @returns Preserved font size and heading tag, or paragraph metadata when no heading is selected.
50
+ */
51
+ export declare function preserveHeadingFontSizeForList(editor: LexicalEditor): PreservedListBlock | null;
52
+ /**
53
+ * Applies font size and optional heading metadata to selected list items.
54
+ * @param defaultFontSize Font size to apply to the list item content.
55
+ * @param headingTag Heading type to preserve on the list item, or null to reset to normal text.
56
+ * @returns True when at least one list item was updated.
57
+ */
58
+ export declare function applyListItemFontSize(defaultFontSize: string, headingTag?: HeadingTagType | null): boolean;
18
59
  export default function HeaderDropdown({ editor, value }: {
19
60
  editor: LexicalEditor;
20
61
  value: string;
21
62
  }): React.JSX.Element;
63
+ export {};
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_HEADING_FONT_SIZES = void 0;
4
+ exports.setListItemHeadingTag = setListItemHeadingTag;
5
+ exports.getListItemHeadingTagFromStyle = getListItemHeadingTagFromStyle;
6
+ exports.getListItemBlockType = getListItemBlockType;
7
+ exports.getListItemHeadingTag = getListItemHeadingTag;
4
8
  exports.getSelectedListHeadingTag = getSelectedListHeadingTag;
5
9
  exports.applyHeadingTypeToSelection = applyHeadingTypeToSelection;
6
10
  exports.preserveHeadingFontSizeForList = preserveHeadingFontSizeForList;
@@ -21,6 +25,29 @@ exports.DEFAULT_HEADING_FONT_SIZES = {
21
25
  h5: '18px',
22
26
  h6: '16px',
23
27
  };
28
+ const LIST_HEADING_STYLE_PROPERTY = '--phx-list-heading';
29
+ const listItemBlockTypeByKey = new Map();
30
+ /**
31
+ * Checks whether a style value is a supported heading tag.
32
+ * @param value Style value to test.
33
+ * @returns True when the value is a heading tag.
34
+ */
35
+ function isHeadingTag(value) {
36
+ return value !== undefined && value in exports.DEFAULT_HEADING_FONT_SIZES;
37
+ }
38
+ /**
39
+ * Stores block metadata for a list item during the current editor session.
40
+ * @param listItemKey List item node key.
41
+ * @param headingTag Heading type to store, or null to mark the list item as normal text.
42
+ */
43
+ function setListItemHeadingTag(listItemKey, headingTag) {
44
+ if (headingTag === null) {
45
+ listItemBlockTypeByKey.set(listItemKey, 'paragraph');
46
+ }
47
+ else {
48
+ listItemBlockTypeByKey.set(listItemKey, headingTag);
49
+ }
50
+ }
24
51
  /**
25
52
  * Applies the heading font size to every text node inside an element.
26
53
  * @param node Element whose text descendants should receive the font size.
@@ -51,6 +78,42 @@ function getListItemNode(node) {
51
78
  function getHeadingNode(node) {
52
79
  return (0, rich_text_1.$isHeadingNode)(node) ? node : (0, utils_1.$findMatchingParent)(node, (parent) => (0, rich_text_1.$isHeadingNode)(parent));
53
80
  }
81
+ /**
82
+ * Gets the heading tag stored on a list item style.
83
+ * @param style List item text style.
84
+ * @returns Matching heading tag, or null when the style is normal text.
85
+ */
86
+ function getListItemHeadingTagFromStyle(style) {
87
+ const styleObject = (0, selection_1.getStyleObjectFromCSS)(style);
88
+ const storedHeadingTag = styleObject[LIST_HEADING_STYLE_PROPERTY];
89
+ if (isHeadingTag(storedHeadingTag)) {
90
+ return storedHeadingTag;
91
+ }
92
+ const listItemFontSize = styleObject['font-size'];
93
+ const headingEntry = Object.entries(exports.DEFAULT_HEADING_FONT_SIZES).find(([, fontSize]) => fontSize === listItemFontSize);
94
+ return headingEntry !== undefined ? headingEntry[0] : null;
95
+ }
96
+ /**
97
+ * Gets the block type stored for a list item.
98
+ * @param listItemNode List item whose block metadata should be read.
99
+ * @returns Matching block type, or null when no metadata can be inferred.
100
+ */
101
+ function getListItemBlockType(listItemNode) {
102
+ const storedBlockType = listItemBlockTypeByKey.get(listItemNode.getKey());
103
+ if (storedBlockType !== undefined) {
104
+ return storedBlockType;
105
+ }
106
+ return getListItemHeadingTagFromStyle(listItemNode.getTextStyle());
107
+ }
108
+ /**
109
+ * Gets the heading type stored for a list item.
110
+ * @param listItemNode List item whose heading metadata should be read.
111
+ * @returns Matching heading tag, or null when the list item is normal text.
112
+ */
113
+ function getListItemHeadingTag(listItemNode) {
114
+ const blockType = getListItemBlockType(listItemNode);
115
+ return blockType === 'paragraph' ? null : blockType;
116
+ }
54
117
  /**
55
118
  * Checks whether the current range is only part of one top-level block.
56
119
  * @param selection Current range selection.
@@ -85,10 +148,9 @@ function getSelectedListHeadingTag(editor) {
85
148
  if (listItemNode === null) {
86
149
  continue;
87
150
  }
88
- const listItemFontSize = (0, selection_1.getStyleObjectFromCSS)(listItemNode.getTextStyle())['font-size'];
89
- const headingEntry = Object.entries(exports.DEFAULT_HEADING_FONT_SIZES).find(([, fontSize]) => fontSize === listItemFontSize);
90
- if (headingEntry !== undefined) {
91
- selectedHeadingTag = headingEntry[0];
151
+ const headingTag = getListItemHeadingTag(listItemNode);
152
+ if (headingTag !== null) {
153
+ selectedHeadingTag = headingTag;
92
154
  return;
93
155
  }
94
156
  }
@@ -106,13 +168,19 @@ function applyHeadingTypeToSelection(headingTag) {
106
168
  }
107
169
  (0, selection_1.$setBlocksType)(selection, () => (0, rich_text_1.$createHeadingNode)(headingTag), (prevNode) => applyHeadingFontSize(prevNode, exports.DEFAULT_HEADING_FONT_SIZES[headingTag]));
108
170
  }
171
+ /**
172
+ * Preserves block metadata before converting selected content to a list item.
173
+ * @param editor Active Lexical editor.
174
+ * @returns Preserved font size and heading tag, or paragraph metadata when no heading is selected.
175
+ */
109
176
  function preserveHeadingFontSizeForList(editor) {
110
- let preservedFontSize = null;
177
+ let preservedBlock = null;
111
178
  editor.update(() => {
112
179
  const selection = (0, lexical_1.$getSelection)();
113
180
  if (!(0, lexical_1.$isRangeSelection)(selection)) {
114
181
  return;
115
182
  }
183
+ const selectionFontSize = (0, selection_1.$getSelectionStyleValueForProperty)(selection, 'font-size', '14px');
116
184
  const headingNodes = new Set();
117
185
  const selectedNodes = [selection.anchor.getNode(), selection.focus.getNode(), ...selection.getNodes()];
118
186
  for (const node of selectedNodes) {
@@ -122,19 +190,29 @@ function preserveHeadingFontSizeForList(editor) {
122
190
  }
123
191
  }
124
192
  for (const headingNode of headingNodes) {
125
- const headingFontSize = exports.DEFAULT_HEADING_FONT_SIZES[headingNode.getTag()];
126
- preservedFontSize = headingFontSize;
193
+ const headingTag = headingNode.getTag();
194
+ const headingFontSize = exports.DEFAULT_HEADING_FONT_SIZES[headingTag];
195
+ preservedBlock = { fontSize: headingFontSize, headingTag };
127
196
  applyHeadingFontSize(headingNode, headingFontSize);
128
197
  }
129
- if (preservedFontSize !== null) {
198
+ if (preservedBlock === null) {
199
+ preservedBlock = { fontSize: selectionFontSize, headingTag: null };
200
+ }
201
+ if (preservedBlock !== null) {
130
202
  (0, selection_1.$patchStyleText)(selection, {
131
- 'font-size': preservedFontSize,
203
+ 'font-size': preservedBlock.fontSize,
132
204
  });
133
205
  }
134
206
  });
135
- return preservedFontSize;
207
+ return preservedBlock;
136
208
  }
137
- function applyListItemFontSize(defaultFontSize) {
209
+ /**
210
+ * Applies font size and optional heading metadata to selected list items.
211
+ * @param defaultFontSize Font size to apply to the list item content.
212
+ * @param headingTag Heading type to preserve on the list item, or null to reset to normal text.
213
+ * @returns True when at least one list item was updated.
214
+ */
215
+ function applyListItemFontSize(defaultFontSize, headingTag) {
138
216
  const selection = (0, lexical_1.$getSelection)();
139
217
  if (!(0, lexical_1.$isRangeSelection)(selection)) {
140
218
  return false;
@@ -151,11 +229,22 @@ function applyListItemFontSize(defaultFontSize) {
151
229
  return false;
152
230
  }
153
231
  for (const listItemNode of listItemNodes) {
154
- applyHeadingFontSize(listItemNode, defaultFontSize);
155
- listItemNode.setTextStyle((0, selection_1.getCSSFromStyleObject)({
232
+ const listItemStyle = {
156
233
  ...(0, selection_1.getStyleObjectFromCSS)(listItemNode.getTextStyle()),
157
234
  'font-size': defaultFontSize,
158
- }));
235
+ };
236
+ if (headingTag !== undefined) {
237
+ if (headingTag === null) {
238
+ setListItemHeadingTag(listItemNode.getKey(), null);
239
+ delete listItemStyle[LIST_HEADING_STYLE_PROPERTY];
240
+ }
241
+ else {
242
+ setListItemHeadingTag(listItemNode.getKey(), headingTag);
243
+ listItemStyle[LIST_HEADING_STYLE_PROPERTY] = headingTag;
244
+ }
245
+ }
246
+ applyHeadingFontSize(listItemNode, defaultFontSize);
247
+ listItemNode.setTextStyle((0, selection_1.getCSSFromStyleObject)(listItemStyle));
159
248
  }
160
249
  (0, selection_1.$patchStyleText)(selection, {
161
250
  'font-size': defaultFontSize,
@@ -203,7 +292,7 @@ function HeaderDropdown({ editor, value }) {
203
292
  });
204
293
  return;
205
294
  }
206
- if (applyListItemFontSize('14px')) {
295
+ if (applyListItemFontSize('14px', null)) {
207
296
  return;
208
297
  }
209
298
  (0, selection_1.$setBlocksType)(selection, () => (0, lexical_1.$createParagraphNode)(), (prevNode) => applyHeadingFontSize(prevNode, '14px'));
@@ -231,7 +320,7 @@ function HeaderDropdown({ editor, value }) {
231
320
  });
232
321
  return;
233
322
  }
234
- if (applyListItemFontSize(exports.DEFAULT_HEADING_FONT_SIZES[headingTag])) {
323
+ if (applyListItemFontSize(exports.DEFAULT_HEADING_FONT_SIZES[headingTag], headingTag)) {
235
324
  return;
236
325
  }
237
326
  (0, selection_1.$setBlocksType)(selection, () => (0, rich_text_1.$createHeadingNode)(headingTag), (prevNode) => applyHeadingFontSize(prevNode, exports.DEFAULT_HEADING_FONT_SIZES[headingTag]));
@@ -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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"}
@@ -10,12 +10,12 @@ function NumberBullet({ editor, isActive }) {
10
10
  return (react_1.default.createElement("div", { className: 'flex items-center gap-x-2' },
11
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: () => {
12
12
  if (!isActive) {
13
- const preservedFontSize = (0, heading_1.preserveHeadingFontSizeForList)(editor);
13
+ const preservedHeading = (0, heading_1.preserveHeadingFontSizeForList)(editor);
14
14
  editor.dispatchCommand(list_1.INSERT_ORDERED_LIST_COMMAND, undefined);
15
- if (preservedFontSize !== null) {
15
+ if (preservedHeading !== null) {
16
16
  queueMicrotask(() => {
17
17
  editor.update(() => {
18
- (0, heading_1.applyListItemFontSize)(preservedFontSize);
18
+ (0, heading_1.applyListItemFontSize)(preservedHeading.fontSize, preservedHeading.headingTag);
19
19
  });
20
20
  });
21
21
  }
@@ -1 +1 @@
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
+ {"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,gBAAgB,GAAG,IAAA,wCAA8B,EAAC,MAAM,CAAC,CAAA;oBAE/D,MAAM,CAAC,eAAe,CAAC,kCAA2B,EAAE,SAAS,CAAC,CAAA;oBAE9D,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;wBAC9B,cAAc,CAAC,GAAG,EAAE;4BAClB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gCACjB,IAAA,+BAAqB,EAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAA;4BAC/E,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"}
@@ -41,11 +41,29 @@ const blockTypeToBlockName = {
41
41
  paragraph: 'Normal',
42
42
  quote: 'Quote',
43
43
  };
44
+ /**
45
+ * Checks whether a block type is a heading type.
46
+ * @param value Block type to test.
47
+ * @returns True when the value is a heading block type.
48
+ */
49
+ function isHeadingBlockType(value) {
50
+ return value in heading_1.DEFAULT_HEADING_FONT_SIZES;
51
+ }
52
+ /**
53
+ * Gets the fallback block type represented by a list item font size.
54
+ * @param fontSize Font size from the selected list item.
55
+ * @returns Matching heading type, or paragraph when there is no match.
56
+ */
44
57
  function getBlockTypeFromFontSize(fontSize) {
45
58
  var _a;
46
59
  const headingType = (_a = Object.entries(heading_1.DEFAULT_HEADING_FONT_SIZES).find(([, size]) => size === fontSize)) === null || _a === void 0 ? void 0 : _a[0];
47
60
  return headingType !== undefined ? headingType : 'paragraph';
48
61
  }
62
+ /**
63
+ * Reads font size from a serialized style string.
64
+ * @param style Serialized CSS style string.
65
+ * @returns Font size value when present.
66
+ */
49
67
  function getFontSizeFromStyle(style) {
50
68
  return (0, selection_1.getStyleObjectFromCSS)(style)['font-size'];
51
69
  }
@@ -118,20 +136,20 @@ function ToolbarPlugin({ apiCdnUpload, disabled, }) {
118
136
  const listItemFontSize = (0, list_1.$isListItemNode)(listItemNode)
119
137
  ? getFontSizeFromStyle(listItemNode.getTextStyle())
120
138
  : undefined;
139
+ const listItemBlockType = (0, list_1.$isListItemNode)(listItemNode) ? (0, heading_1.getListItemBlockType)(listItemNode) : null;
121
140
  // @ts-ignore
122
141
  const type = parentList ? parentList.getListType() : element.getListType();
123
- if (listItemFontSize !== undefined) {
142
+ if (listItemFontSize !== undefined && !selection.isCollapsed()) {
124
143
  selectionFontSize = listItemFontSize;
125
144
  }
126
145
  setListBlockType(type);
127
- setBlockType(getBlockTypeFromFontSize(selectionFontSize));
146
+ setBlockType(listItemBlockType !== null && listItemBlockType !== void 0 ? listItemBlockType : getBlockTypeFromFontSize(selectionFontSize));
128
147
  }
129
148
  else {
130
149
  setListBlockType(null);
131
150
  const type = (0, rich_text_1.$isHeadingNode)(element) ? element.getTag() : element.getType();
132
151
  if (type in blockTypeToBlockName) {
133
- const fontSizeBlockType = getBlockTypeFromFontSize(selectionFontSize);
134
- setBlockType(type === 'paragraph' && fontSizeBlockType !== 'paragraph' ? fontSizeBlockType : type);
152
+ setBlockType(type);
135
153
  }
136
154
  }
137
155
  }
@@ -183,11 +201,12 @@ function ToolbarPlugin({ apiCdnUpload, disabled, }) {
183
201
  }
184
202
  }, [activeEditor, disabled]);
185
203
  const parsedFontSize = parseInt(fontSize, 10);
204
+ const activeListHeadingTag = listBlockType !== null && isHeadingBlockType(blockType) ? blockType : null;
186
205
  return (React.createElement("div", { className: 'flex relative flex-wrap gap-1 p-2 bg-gray-100 border-b border-gray-300' },
187
206
  disabled && React.createElement("div", { className: 'cursor-not-allowed z-20 absolute inset-0 bg-gray-200 opacity-20' }),
188
207
  React.createElement(DisabledToolbarGroup, { disabled: isImageSelected }, blockType in blockTypeToBlockName && activeEditor === editor && (React.createElement(heading_1.default, { value: blockType, editor: activeEditor }))),
189
208
  React.createElement(DisabledToolbarGroup, { disabled: isImageSelected },
190
- React.createElement(font_size_1.default, { editor: activeEditor, fontSize: Number.isNaN(parsedFontSize) ? null : parsedFontSize })),
209
+ React.createElement(font_size_1.default, { editor: activeEditor, fontSize: Number.isNaN(parsedFontSize) ? null : parsedFontSize, listHeadingTag: activeListHeadingTag })),
191
210
  React.createElement(DisabledToolbarGroup, { disabled: isImageSelected },
192
211
  React.createElement(bold_text_1.default, { isActive: isBold, editor: activeEditor })),
193
212
  React.createElement(DisabledToolbarGroup, { disabled: isImageSelected },