@webiny/lexical-editor 0.0.0-unstable.085ff6572f
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/LICENSE +21 -0
- package/README.md +17 -0
- package/commands/webiny-list.d.ts +7 -0
- package/commands/webiny-list.js +13 -0
- package/commands/webiny-list.js.map +1 -0
- package/commands/webiny-quote.d.ts +5 -0
- package/commands/webiny-quote.js +9 -0
- package/commands/webiny-quote.js.map +1 -0
- package/components/AddRichTextEditorNodeType.d.ts +6 -0
- package/components/AddRichTextEditorNodeType.js +28 -0
- package/components/AddRichTextEditorNodeType.js.map +1 -0
- package/components/AddRichTextEditorPlugin.d.ts +12 -0
- package/components/AddRichTextEditorPlugin.js +33 -0
- package/components/AddRichTextEditorPlugin.js.map +1 -0
- package/components/AddToolbarAction.d.ts +7 -0
- package/components/AddToolbarAction.js +33 -0
- package/components/AddToolbarAction.js.map +1 -0
- package/components/Editor/HeadingEditor.d.ts +7 -0
- package/components/Editor/HeadingEditor.js +29 -0
- package/components/Editor/HeadingEditor.js.map +1 -0
- package/components/Editor/ParagraphEditor.d.ts +7 -0
- package/components/Editor/ParagraphEditor.js +30 -0
- package/components/Editor/ParagraphEditor.js.map +1 -0
- package/components/Editor/RichTextEditor.d.ts +26 -0
- package/components/Editor/RichTextEditor.js +138 -0
- package/components/Editor/RichTextEditor.js.map +1 -0
- package/components/LexicalEditorConfig/LexicalEditorConfig.d.ts +11 -0
- package/components/LexicalEditorConfig/LexicalEditorConfig.js +19 -0
- package/components/LexicalEditorConfig/LexicalEditorConfig.js.map +1 -0
- package/components/LexicalHtmlRenderer.d.ts +16 -0
- package/components/LexicalHtmlRenderer.js +67 -0
- package/components/LexicalHtmlRenderer.js.map +1 -0
- package/components/Toolbar/HeadingToolbar.d.ts +12 -0
- package/components/Toolbar/HeadingToolbar.js +23 -0
- package/components/Toolbar/HeadingToolbar.js.map +1 -0
- package/components/Toolbar/ParagraphToolbar.d.ts +12 -0
- package/components/Toolbar/ParagraphToolbar.js +23 -0
- package/components/Toolbar/ParagraphToolbar.js.map +1 -0
- package/components/Toolbar/Toolbar.css +435 -0
- package/components/Toolbar/Toolbar.d.ts +13 -0
- package/components/Toolbar/Toolbar.js +215 -0
- package/components/Toolbar/Toolbar.js.map +1 -0
- package/components/ToolbarActions/BoldAction.d.ts +2 -0
- package/components/ToolbarActions/BoldAction.js +43 -0
- package/components/ToolbarActions/BoldAction.js.map +1 -0
- package/components/ToolbarActions/BulletListAction.d.ts +2 -0
- package/components/ToolbarActions/BulletListAction.js +56 -0
- package/components/ToolbarActions/BulletListAction.js.map +1 -0
- package/components/ToolbarActions/CodeHighlightAction.d.ts +2 -0
- package/components/ToolbarActions/CodeHighlightAction.js +43 -0
- package/components/ToolbarActions/CodeHighlightAction.js.map +1 -0
- package/components/ToolbarActions/FontColorAction.d.ts +11 -0
- package/components/ToolbarActions/FontColorAction.js +83 -0
- package/components/ToolbarActions/FontColorAction.js.map +1 -0
- package/components/ToolbarActions/FontSizeAction.d.ts +2 -0
- package/components/ToolbarActions/FontSizeAction.js +101 -0
- package/components/ToolbarActions/FontSizeAction.js.map +1 -0
- package/components/ToolbarActions/ItalicAction.d.ts +2 -0
- package/components/ToolbarActions/ItalicAction.js +43 -0
- package/components/ToolbarActions/ItalicAction.js.map +1 -0
- package/components/ToolbarActions/LinkAction.d.ts +2 -0
- package/components/ToolbarActions/LinkAction.js +64 -0
- package/components/ToolbarActions/LinkAction.js.map +1 -0
- package/components/ToolbarActions/NumberedListAction.d.ts +2 -0
- package/components/ToolbarActions/NumberedListAction.js +58 -0
- package/components/ToolbarActions/NumberedListAction.js.map +1 -0
- package/components/ToolbarActions/QuoteAction.d.ts +2 -0
- package/components/ToolbarActions/QuoteAction.js +52 -0
- package/components/ToolbarActions/QuoteAction.js.map +1 -0
- package/components/ToolbarActions/TextAlignmentAction.d.ts +11 -0
- package/components/ToolbarActions/TextAlignmentAction.js +70 -0
- package/components/ToolbarActions/TextAlignmentAction.js.map +1 -0
- package/components/ToolbarActions/TypographyAction.d.ts +11 -0
- package/components/ToolbarActions/TypographyAction.js +145 -0
- package/components/ToolbarActions/TypographyAction.js.map +1 -0
- package/components/ToolbarActions/UnderlineAction.d.ts +2 -0
- package/components/ToolbarActions/UnderlineAction.js +43 -0
- package/components/ToolbarActions/UnderlineAction.js.map +1 -0
- package/components/ToolbarPresets/HeadingToolbarPreset.d.ts +2 -0
- package/components/ToolbarPresets/HeadingToolbarPreset.js +56 -0
- package/components/ToolbarPresets/HeadingToolbarPreset.js.map +1 -0
- package/components/ToolbarPresets/ParagraphToolbarPreset.d.ts +2 -0
- package/components/ToolbarPresets/ParagraphToolbarPreset.js +71 -0
- package/components/ToolbarPresets/ParagraphToolbarPreset.js.map +1 -0
- package/context/FontColorActionContext.d.ts +6 -0
- package/context/FontColorActionContext.js +10 -0
- package/context/FontColorActionContext.js.map +1 -0
- package/context/RichTextEditorContext.d.ts +26 -0
- package/context/RichTextEditorContext.js +68 -0
- package/context/RichTextEditorContext.js.map +1 -0
- package/context/SharedHistoryContext.d.ts +11 -0
- package/context/SharedHistoryContext.js +26 -0
- package/context/SharedHistoryContext.js.map +1 -0
- package/context/TextAlignmentActionContextProps.d.ts +9 -0
- package/context/TextAlignmentActionContextProps.js +10 -0
- package/context/TextAlignmentActionContextProps.js.map +1 -0
- package/context/TypographyActionContext.d.ts +7 -0
- package/context/TypographyActionContext.js +10 -0
- package/context/TypographyActionContext.js.map +1 -0
- package/hooks/useFontColorPicker.d.ts +2 -0
- package/hooks/useFontColorPicker.js +15 -0
- package/hooks/useFontColorPicker.js.map +1 -0
- package/hooks/useList.d.ts +2 -0
- package/hooks/useList.js +39 -0
- package/hooks/useList.js.map +1 -0
- package/hooks/useQuote.d.ts +2 -0
- package/hooks/useQuote.js +20 -0
- package/hooks/useQuote.js.map +1 -0
- package/hooks/useRichTextEditor.d.ts +2 -0
- package/hooks/useRichTextEditor.js +15 -0
- package/hooks/useRichTextEditor.js.map +1 -0
- package/hooks/useTextAlignmentAction.d.ts +1 -0
- package/hooks/useTextAlignmentAction.js +15 -0
- package/hooks/useTextAlignmentAction.js.map +1 -0
- package/hooks/useTypographyAction.d.ts +1 -0
- package/hooks/useTypographyAction.js +15 -0
- package/hooks/useTypographyAction.js.map +1 -0
- package/images/icons/LICENSE.md +5 -0
- package/images/icons/chat-square-quote.svg +1 -0
- package/images/icons/chevron-down.svg +1 -0
- package/images/icons/code.svg +1 -0
- package/images/icons/font-color.svg +1 -0
- package/images/icons/indent.svg +3 -0
- package/images/icons/justify.svg +3 -0
- package/images/icons/link.svg +1 -0
- package/images/icons/list-ol.svg +1 -0
- package/images/icons/list-ul.svg +1 -0
- package/images/icons/outdent.svg +3 -0
- package/images/icons/pencil-fill.svg +1 -0
- package/images/icons/text-center.svg +1 -0
- package/images/icons/text-left.svg +1 -0
- package/images/icons/text-paragraph.svg +1 -0
- package/images/icons/text-right.svg +1 -0
- package/images/icons/type-bold.svg +1 -0
- package/images/icons/type-h1.svg +1 -0
- package/images/icons/type-h2.svg +1 -0
- package/images/icons/type-h3.svg +1 -0
- package/images/icons/type-h4.svg +1 -0
- package/images/icons/type-h5.svg +1 -0
- package/images/icons/type-h6.svg +1 -0
- package/images/icons/type-italic.svg +1 -0
- package/images/icons/type-strikethrough.svg +1 -0
- package/images/icons/type-underline.svg +1 -0
- package/images/icons/unlink_icon.svg +1 -0
- package/index.d.ts +42 -0
- package/index.js +295 -0
- package/index.js.map +1 -0
- package/nodes/FontColorNode.d.ts +43 -0
- package/nodes/FontColorNode.js +127 -0
- package/nodes/FontColorNode.js.map +1 -0
- package/nodes/HeadingNode.d.ts +34 -0
- package/nodes/HeadingNode.js +192 -0
- package/nodes/HeadingNode.js.map +1 -0
- package/nodes/ListItemNode.d.ts +46 -0
- package/nodes/ListItemNode.js +441 -0
- package/nodes/ListItemNode.js.map +1 -0
- package/nodes/ListNode/formatList.d.ts +12 -0
- package/nodes/ListNode/formatList.js +424 -0
- package/nodes/ListNode/formatList.js.map +1 -0
- package/nodes/ListNode.d.ts +42 -0
- package/nodes/ListNode.js +294 -0
- package/nodes/ListNode.js.map +1 -0
- package/nodes/ParagraphNode.d.ts +32 -0
- package/nodes/ParagraphNode.js +218 -0
- package/nodes/ParagraphNode.js.map +1 -0
- package/nodes/QuoteNode.d.ts +34 -0
- package/nodes/QuoteNode.js +225 -0
- package/nodes/QuoteNode.js.map +1 -0
- package/nodes/TypographyElementNode.d.ts +42 -0
- package/nodes/TypographyElementNode.js +155 -0
- package/nodes/TypographyElementNode.js.map +1 -0
- package/nodes/types.d.ts +15 -0
- package/nodes/types.js +5 -0
- package/nodes/types.js.map +1 -0
- package/nodes/webinyNodes.d.ts +7 -0
- package/nodes/webinyNodes.js +45 -0
- package/nodes/webinyNodes.js.map +1 -0
- package/package.json +41 -0
- package/plugins/AutoLinkPlugin/AutoLinkPlugin.d.ts +11 -0
- package/plugins/AutoLinkPlugin/AutoLinkPlugin.js +46 -0
- package/plugins/AutoLinkPlugin/AutoLinkPlugin.js.map +1 -0
- package/plugins/AutoLinkPlugin/index.d.ts +1 -0
- package/plugins/AutoLinkPlugin/index.js +16 -0
- package/plugins/AutoLinkPlugin/index.js.map +1 -0
- package/plugins/BlurEventPlugin/BlurEventPlugin.d.ts +7 -0
- package/plugins/BlurEventPlugin/BlurEventPlugin.js +28 -0
- package/plugins/BlurEventPlugin/BlurEventPlugin.js.map +1 -0
- package/plugins/ClickableLinkPlugin/ClickableLinkPlugin.d.ts +17 -0
- package/plugins/ClickableLinkPlugin/ClickableLinkPlugin.js +88 -0
- package/plugins/ClickableLinkPlugin/ClickableLinkPlugin.js.map +1 -0
- package/plugins/ClickableLinkPlugin/index.d.ts +1 -0
- package/plugins/ClickableLinkPlugin/index.js +16 -0
- package/plugins/ClickableLinkPlugin/index.js.map +1 -0
- package/plugins/CodeHighlightPlugin/CodeHighlightPlugin.d.ts +1 -0
- package/plugins/CodeHighlightPlugin/CodeHighlightPlugin.js +20 -0
- package/plugins/CodeHighlightPlugin/CodeHighlightPlugin.js.map +1 -0
- package/plugins/CodeHighlightPlugin/index.d.ts +1 -0
- package/plugins/CodeHighlightPlugin/index.js +16 -0
- package/plugins/CodeHighlightPlugin/index.js.map +1 -0
- package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorPlugin.css +118 -0
- package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorPlugin.d.ts +7 -0
- package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorPlugin.js +222 -0
- package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorPlugin.js.map +1 -0
- package/plugins/FloatingLinkEditorPlugin/index.d.ts +1 -0
- package/plugins/FloatingLinkEditorPlugin/index.js +16 -0
- package/plugins/FloatingLinkEditorPlugin/index.js.map +1 -0
- package/plugins/FontColorPlugin/FontColorPlugin.d.ts +2 -0
- package/plugins/FontColorPlugin/FontColorPlugin.js +39 -0
- package/plugins/FontColorPlugin/FontColorPlugin.js.map +1 -0
- package/plugins/LexicalUpdateStatePlugin/LexicalUpdateStatePlugin.d.ts +8 -0
- package/plugins/LexicalUpdateStatePlugin/LexicalUpdateStatePlugin.js +34 -0
- package/plugins/LexicalUpdateStatePlugin/LexicalUpdateStatePlugin.js.map +1 -0
- package/plugins/LexicalUpdateStatePlugin/index.d.ts +1 -0
- package/plugins/LexicalUpdateStatePlugin/index.js +16 -0
- package/plugins/LexicalUpdateStatePlugin/index.js.map +1 -0
- package/plugins/TypographyPlugin/TypographyPlugin.d.ts +2 -0
- package/plugins/TypographyPlugin/TypographyPlugin.js +35 -0
- package/plugins/TypographyPlugin/TypographyPlugin.js.map +1 -0
- package/plugins/WebinyListPLugin/WebinyListPlugin.d.ts +1 -0
- package/plugins/WebinyListPLugin/WebinyListPlugin.js +25 -0
- package/plugins/WebinyListPLugin/WebinyListPlugin.js.map +1 -0
- package/plugins/WebinyQuoteNodePlugin/WebinyQuoteNodePlugin.d.ts +1 -0
- package/plugins/WebinyQuoteNodePlugin/WebinyQuoteNodePlugin.js +24 -0
- package/plugins/WebinyQuoteNodePlugin/WebinyQuoteNodePlugin.js.map +1 -0
- package/themes/webinyLexicalTheme.css +429 -0
- package/themes/webinyLexicalTheme.d.ts +9 -0
- package/themes/webinyLexicalTheme.js +87 -0
- package/themes/webinyLexicalTheme.js.map +1 -0
- package/types.d.ts +63 -0
- package/types.js +25 -0
- package/types.js.map +1 -0
- package/ui/Divider.d.ts +2 -0
- package/ui/Divider.js +13 -0
- package/ui/Divider.js.map +1 -0
- package/ui/DropDown.d.ts +26 -0
- package/ui/DropDown.js +206 -0
- package/ui/DropDown.js.map +1 -0
- package/ui/Input.css +32 -0
- package/ui/LinkPreview.css +69 -0
- package/ui/LinkPreview.d.ts +12 -0
- package/ui/LinkPreview.js +101 -0
- package/ui/LinkPreview.js.map +1 -0
- package/ui/Placeholder.css +23 -0
- package/ui/Placeholder.d.ts +13 -0
- package/ui/Placeholder.js +24 -0
- package/ui/Placeholder.js.map +1 -0
- package/ui/TextInput.d.ts +18 -0
- package/ui/TextInput.js +39 -0
- package/ui/TextInput.js.map +1 -0
- package/ui/ToolbarActionDialog.d.ts +12 -0
- package/ui/ToolbarActionDialog.js +106 -0
- package/ui/ToolbarActionDialog.js.map +1 -0
- package/utils/findTypographyStyleByHtmlTag.d.ts +8 -0
- package/utils/findTypographyStyleByHtmlTag.js +16 -0
- package/utils/findTypographyStyleByHtmlTag.js.map +1 -0
- package/utils/generateInitialLexicalValue.d.ts +5 -0
- package/utils/generateInitialLexicalValue.js +30 -0
- package/utils/generateInitialLexicalValue.js.map +1 -0
- package/utils/getDOMRangeRect.d.ts +10 -0
- package/utils/getDOMRangeRect.js +27 -0
- package/utils/getDOMRangeRect.js.map +1 -0
- package/utils/getLexicalTextSelectionState.d.ts +5 -0
- package/utils/getLexicalTextSelectionState.js +163 -0
- package/utils/getLexicalTextSelectionState.js.map +1 -0
- package/utils/getSelectedNode.d.ts +2 -0
- package/utils/getSelectedNode.js +30 -0
- package/utils/getSelectedNode.js.map +1 -0
- package/utils/isValidJSON.d.ts +1 -0
- package/utils/isValidJSON.js +18 -0
- package/utils/isValidJSON.js.map +1 -0
- package/utils/isValidLexicalData.d.ts +2 -0
- package/utils/isValidLexicalData.js +24 -0
- package/utils/isValidLexicalData.js.map +1 -0
- package/utils/nodes/clearNodeFormating.d.ts +2 -0
- package/utils/nodes/clearNodeFormating.js +28 -0
- package/utils/nodes/clearNodeFormating.js.map +1 -0
- package/utils/nodes/formatToHeading.d.ts +3 -0
- package/utils/nodes/formatToHeading.js +25 -0
- package/utils/nodes/formatToHeading.js.map +1 -0
- package/utils/nodes/formatToParagraph.d.ts +2 -0
- package/utils/nodes/formatToParagraph.js +20 -0
- package/utils/nodes/formatToParagraph.js.map +1 -0
- package/utils/nodes/formatToQuote.d.ts +2 -0
- package/utils/nodes/formatToQuote.js +25 -0
- package/utils/nodes/formatToQuote.js.map +1 -0
- package/utils/nodes/listNode.d.ts +11 -0
- package/utils/nodes/listNode.js +107 -0
- package/utils/nodes/listNode.js.map +1 -0
- package/utils/point.d.ts +21 -0
- package/utils/point.js +77 -0
- package/utils/point.js.map +1 -0
- package/utils/rect.d.ts +47 -0
- package/utils/rect.js +169 -0
- package/utils/rect.js.map +1 -0
- package/utils/sanitizeUrl.d.ts +8 -0
- package/utils/sanitizeUrl.js +27 -0
- package/utils/sanitizeUrl.js.map +1 -0
- package/utils/setFloatingElemPosition.d.ts +3 -0
- package/utils/setFloatingElemPosition.js +40 -0
- package/utils/setFloatingElemPosition.js.map +1 -0
- package/utils/styleObjectToString.d.ts +2 -0
- package/utils/styleObjectToString.js +22 -0
- package/utils/styleObjectToString.js.map +1 -0
- package/utils/toTypographyEmotionMap.d.ts +3 -0
- package/utils/toTypographyEmotionMap.js +36 -0
- package/utils/toTypographyEmotionMap.js.map +1 -0
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.$createListItemNode = $createListItemNode;
|
|
8
|
+
exports.$isListItemNode = $isListItemNode;
|
|
9
|
+
exports.ListItemNode = void 0;
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
16
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
17
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
18
|
+
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
19
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
20
|
+
var _lexical = require("lexical");
|
|
21
|
+
var _ListNode = require("./ListNode");
|
|
22
|
+
var _utils = require("@lexical/utils");
|
|
23
|
+
var _formatList = require("./ListNode/formatList");
|
|
24
|
+
var _ParagraphNode = require("./ParagraphNode");
|
|
25
|
+
/** @noInheritDoc */
|
|
26
|
+
var ListItemNode = /*#__PURE__*/function (_ElementNode) {
|
|
27
|
+
(0, _inherits2.default)(ListItemNode, _ElementNode);
|
|
28
|
+
var _super = (0, _createSuper2.default)(ListItemNode);
|
|
29
|
+
function ListItemNode(value, checked, key) {
|
|
30
|
+
var _this;
|
|
31
|
+
(0, _classCallCheck2.default)(this, ListItemNode);
|
|
32
|
+
_this = _super.call(this, key);
|
|
33
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "__value", void 0);
|
|
34
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "__checked", void 0);
|
|
35
|
+
_this.__value = value === undefined ? 1 : value;
|
|
36
|
+
_this.__checked = checked;
|
|
37
|
+
return _this;
|
|
38
|
+
}
|
|
39
|
+
(0, _createClass2.default)(ListItemNode, [{
|
|
40
|
+
key: "createDOM",
|
|
41
|
+
value: function createDOM(config) {
|
|
42
|
+
var element = document.createElement("li");
|
|
43
|
+
var parent = this.getParent();
|
|
44
|
+
if ((0, _ListNode.$isListNode)(parent)) {
|
|
45
|
+
(0, _formatList.updateChildrenListItemValue)(parent);
|
|
46
|
+
updateListItemChecked(element, this, null, parent);
|
|
47
|
+
}
|
|
48
|
+
element.value = this.__value;
|
|
49
|
+
$setListItemThemeClassNames(element, config.theme, this);
|
|
50
|
+
return element;
|
|
51
|
+
}
|
|
52
|
+
}, {
|
|
53
|
+
key: "updateDOM",
|
|
54
|
+
value: function updateDOM(prevNode, dom, config) {
|
|
55
|
+
var parent = this.getParent();
|
|
56
|
+
if ((0, _ListNode.$isListNode)(parent)) {
|
|
57
|
+
(0, _formatList.updateChildrenListItemValue)(parent);
|
|
58
|
+
updateListItemChecked(dom, this, prevNode, parent);
|
|
59
|
+
}
|
|
60
|
+
// @ts-expect-error - this is always HTMLListItemElement
|
|
61
|
+
dom.value = this.__value;
|
|
62
|
+
$setListItemThemeClassNames(dom, config.theme, this);
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
}, {
|
|
66
|
+
key: "exportJSON",
|
|
67
|
+
value: function exportJSON() {
|
|
68
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _get2.default)((0, _getPrototypeOf2.default)(ListItemNode.prototype), "exportJSON", this).call(this)), {}, {
|
|
69
|
+
checked: this.getChecked(),
|
|
70
|
+
type: "webiny-listitem",
|
|
71
|
+
value: this.getValue(),
|
|
72
|
+
version: 1
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}, {
|
|
76
|
+
key: "append",
|
|
77
|
+
value: function append() {
|
|
78
|
+
for (var i = 0; i < arguments.length; i++) {
|
|
79
|
+
var node = i < 0 || arguments.length <= i ? undefined : arguments[i];
|
|
80
|
+
if ((0, _lexical.$isElementNode)(node) && this.canMergeWith(node)) {
|
|
81
|
+
var children = node.getChildren();
|
|
82
|
+
this.append.apply(this, (0, _toConsumableArray2.default)(children));
|
|
83
|
+
node.remove();
|
|
84
|
+
} else {
|
|
85
|
+
(0, _get2.default)((0, _getPrototypeOf2.default)(ListItemNode.prototype), "append", this).call(this, node);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
}, {
|
|
91
|
+
key: "replace",
|
|
92
|
+
value: function replace(replaceWithNode) {
|
|
93
|
+
if ($isListItemNode(replaceWithNode)) {
|
|
94
|
+
return (0, _get2.default)((0, _getPrototypeOf2.default)(ListItemNode.prototype), "replace", this).call(this, replaceWithNode);
|
|
95
|
+
}
|
|
96
|
+
var list = this.getParentOrThrow();
|
|
97
|
+
if ((0, _ListNode.$isListNode)(list)) {
|
|
98
|
+
var childrenKeys = list.__children;
|
|
99
|
+
var childrenLength = childrenKeys.length;
|
|
100
|
+
var index = childrenKeys.indexOf(this.__key);
|
|
101
|
+
if (index === 0) {
|
|
102
|
+
list.insertBefore(replaceWithNode);
|
|
103
|
+
} else if (index === childrenLength - 1) {
|
|
104
|
+
list.insertAfter(replaceWithNode);
|
|
105
|
+
} else {
|
|
106
|
+
// Split the list
|
|
107
|
+
var newList = (0, _ListNode.$createListNode)(list.getListType(), list.getStyleId());
|
|
108
|
+
var children = list.getChildren();
|
|
109
|
+
for (var i = index + 1; i < childrenLength; i++) {
|
|
110
|
+
var child = children[i];
|
|
111
|
+
newList.append(child);
|
|
112
|
+
}
|
|
113
|
+
list.insertAfter(replaceWithNode);
|
|
114
|
+
replaceWithNode.insertAfter(newList);
|
|
115
|
+
}
|
|
116
|
+
this.remove();
|
|
117
|
+
if (childrenLength === 1) {
|
|
118
|
+
list.remove();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return replaceWithNode;
|
|
122
|
+
}
|
|
123
|
+
}, {
|
|
124
|
+
key: "insertAfter",
|
|
125
|
+
value: function insertAfter(node) {
|
|
126
|
+
var listNode = this.getParentOrThrow();
|
|
127
|
+
if (!(0, _ListNode.$isListNode)(listNode)) {
|
|
128
|
+
console.log("insertAfter: webiny list node is not parent of list item node");
|
|
129
|
+
return listNode;
|
|
130
|
+
}
|
|
131
|
+
var siblings = this.getNextSiblings();
|
|
132
|
+
if ($isListItemNode(node)) {
|
|
133
|
+
var after = (0, _get2.default)((0, _getPrototypeOf2.default)(ListItemNode.prototype), "insertAfter", this).call(this, node);
|
|
134
|
+
var afterListNode = node.getParentOrThrow();
|
|
135
|
+
if ((0, _ListNode.$isListNode)(afterListNode)) {
|
|
136
|
+
afterListNode;
|
|
137
|
+
}
|
|
138
|
+
return after;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// Attempt to merge if the list is of the same type.
|
|
142
|
+
|
|
143
|
+
if ((0, _ListNode.$isListNode)(node) && node.getListType() === listNode.getListType()) {
|
|
144
|
+
var child = node;
|
|
145
|
+
var children = node.getChildren();
|
|
146
|
+
for (var i = children.length - 1; i >= 0; i--) {
|
|
147
|
+
child = children[i];
|
|
148
|
+
this.insertAfter(child);
|
|
149
|
+
}
|
|
150
|
+
return child;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// Otherwise, split the list
|
|
154
|
+
// Split the lists and insert the node in between them
|
|
155
|
+
listNode.insertAfter(node);
|
|
156
|
+
if (siblings.length !== 0) {
|
|
157
|
+
var newListNode = (0, _ListNode.$createListNode)(listNode.getListType());
|
|
158
|
+
siblings.forEach(function (sibling) {
|
|
159
|
+
return newListNode.append(sibling);
|
|
160
|
+
});
|
|
161
|
+
node.insertAfter(newListNode);
|
|
162
|
+
}
|
|
163
|
+
return node;
|
|
164
|
+
}
|
|
165
|
+
}, {
|
|
166
|
+
key: "remove",
|
|
167
|
+
value: function remove(preserveEmptyParent) {
|
|
168
|
+
var nextSibling = this.getNextSibling();
|
|
169
|
+
(0, _get2.default)((0, _getPrototypeOf2.default)(ListItemNode.prototype), "remove", this).call(this, preserveEmptyParent);
|
|
170
|
+
if (nextSibling !== null) {
|
|
171
|
+
var parent = nextSibling.getParent();
|
|
172
|
+
if ((0, _ListNode.$isListNode)(parent)) {
|
|
173
|
+
(0, _formatList.updateChildrenListItemValue)(parent);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}, {
|
|
178
|
+
key: "insertNewAfter",
|
|
179
|
+
value: function insertNewAfter() {
|
|
180
|
+
var newElement = $createListItemNode(this.__checked == null ? undefined : false);
|
|
181
|
+
this.insertAfter(newElement);
|
|
182
|
+
return newElement;
|
|
183
|
+
}
|
|
184
|
+
}, {
|
|
185
|
+
key: "collapseAtStart",
|
|
186
|
+
value: function collapseAtStart(selection) {
|
|
187
|
+
var paragraph = (0, _ParagraphNode.$createParagraphNode)();
|
|
188
|
+
var children = this.getChildren();
|
|
189
|
+
children.forEach(function (child) {
|
|
190
|
+
return paragraph.append(child);
|
|
191
|
+
});
|
|
192
|
+
var listNode = this.getParentOrThrow();
|
|
193
|
+
var listNodeParent = listNode.getParentOrThrow();
|
|
194
|
+
var isIndented = $isListItemNode(listNodeParent);
|
|
195
|
+
if (listNode.getChildrenSize() === 1) {
|
|
196
|
+
if (isIndented) {
|
|
197
|
+
// if the list node is nested, we just want to remove it,
|
|
198
|
+
// effectively unindenting it.
|
|
199
|
+
listNode.remove();
|
|
200
|
+
listNodeParent.select();
|
|
201
|
+
} else {
|
|
202
|
+
listNode.replace(paragraph);
|
|
203
|
+
// If we have selection on the list item, we'll need to move it
|
|
204
|
+
// to the paragraph
|
|
205
|
+
var anchor = selection.anchor;
|
|
206
|
+
var focus = selection.focus;
|
|
207
|
+
var key = paragraph.getKey();
|
|
208
|
+
if (anchor.type === "element" && anchor.getNode().is(this)) {
|
|
209
|
+
anchor.set(key, anchor.offset, "element");
|
|
210
|
+
}
|
|
211
|
+
if (focus.type === "element" && focus.getNode().is(this)) {
|
|
212
|
+
focus.set(key, focus.offset, "element");
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
} else {
|
|
216
|
+
listNode.insertBefore(paragraph);
|
|
217
|
+
this.remove();
|
|
218
|
+
}
|
|
219
|
+
return true;
|
|
220
|
+
}
|
|
221
|
+
}, {
|
|
222
|
+
key: "getValue",
|
|
223
|
+
value: function getValue() {
|
|
224
|
+
var self = this.getLatest();
|
|
225
|
+
return self.__value;
|
|
226
|
+
}
|
|
227
|
+
}, {
|
|
228
|
+
key: "setValue",
|
|
229
|
+
value: function setValue(value) {
|
|
230
|
+
var self = this.getWritable();
|
|
231
|
+
self.__value = value;
|
|
232
|
+
}
|
|
233
|
+
}, {
|
|
234
|
+
key: "getChecked",
|
|
235
|
+
value: function getChecked() {
|
|
236
|
+
var self = this.getLatest();
|
|
237
|
+
return self.__checked;
|
|
238
|
+
}
|
|
239
|
+
}, {
|
|
240
|
+
key: "setChecked",
|
|
241
|
+
value: function setChecked(checked) {
|
|
242
|
+
var self = this.getWritable();
|
|
243
|
+
self.__checked = checked;
|
|
244
|
+
}
|
|
245
|
+
}, {
|
|
246
|
+
key: "toggleChecked",
|
|
247
|
+
value: function toggleChecked() {
|
|
248
|
+
this.setChecked(!this.__checked);
|
|
249
|
+
}
|
|
250
|
+
}, {
|
|
251
|
+
key: "getIndent",
|
|
252
|
+
value: function getIndent() {
|
|
253
|
+
// If we don't have a parent, we are likely serializing
|
|
254
|
+
var parent = this.getParent();
|
|
255
|
+
if (parent === null) {
|
|
256
|
+
return this.getLatest().__indent;
|
|
257
|
+
}
|
|
258
|
+
// ListItemNode should always have a ListNode for a parent.
|
|
259
|
+
var listNodeParent = parent.getParentOrThrow();
|
|
260
|
+
var indentLevel = 0;
|
|
261
|
+
while ($isListItemNode(listNodeParent)) {
|
|
262
|
+
listNodeParent = listNodeParent.getParentOrThrow().getParentOrThrow();
|
|
263
|
+
indentLevel++;
|
|
264
|
+
}
|
|
265
|
+
return indentLevel;
|
|
266
|
+
}
|
|
267
|
+
}, {
|
|
268
|
+
key: "setIndent",
|
|
269
|
+
value: function setIndent(indent) {
|
|
270
|
+
var currentIndent = this.getIndent();
|
|
271
|
+
while (currentIndent !== indent) {
|
|
272
|
+
if (currentIndent < indent) {
|
|
273
|
+
(0, _formatList.$handleIndent)([this]);
|
|
274
|
+
currentIndent++;
|
|
275
|
+
} else {
|
|
276
|
+
(0, _formatList.$handleOutdent)([this]);
|
|
277
|
+
currentIndent--;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
return this;
|
|
281
|
+
}
|
|
282
|
+
}, {
|
|
283
|
+
key: "canIndent",
|
|
284
|
+
value: function canIndent() {
|
|
285
|
+
// Indent/outdent is handled specifically in the RichText logic.
|
|
286
|
+
|
|
287
|
+
return false;
|
|
288
|
+
}
|
|
289
|
+
}, {
|
|
290
|
+
key: "insertBefore",
|
|
291
|
+
value: function insertBefore(nodeToInsert) {
|
|
292
|
+
if ($isListItemNode(nodeToInsert)) {
|
|
293
|
+
var parent = this.getParentOrThrow();
|
|
294
|
+
if ((0, _ListNode.$isListNode)(parent)) {
|
|
295
|
+
var siblings = this.getNextSiblings();
|
|
296
|
+
(0, _formatList.updateChildrenListItemValue)(parent, siblings);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
return (0, _get2.default)((0, _getPrototypeOf2.default)(ListItemNode.prototype), "insertBefore", this).call(this, nodeToInsert);
|
|
300
|
+
}
|
|
301
|
+
}, {
|
|
302
|
+
key: "canInsertAfter",
|
|
303
|
+
value: function canInsertAfter(node) {
|
|
304
|
+
return (0, _ListNode.$isListNode)(node);
|
|
305
|
+
}
|
|
306
|
+
}, {
|
|
307
|
+
key: "canReplaceWith",
|
|
308
|
+
value: function canReplaceWith(replacement) {
|
|
309
|
+
return $isListItemNode(replacement);
|
|
310
|
+
}
|
|
311
|
+
}, {
|
|
312
|
+
key: "canMergeWith",
|
|
313
|
+
value: function canMergeWith(node) {
|
|
314
|
+
return (0, _ParagraphNode.$isParagraphNode)(node) || $isListItemNode(node);
|
|
315
|
+
}
|
|
316
|
+
}, {
|
|
317
|
+
key: "extractWithChild",
|
|
318
|
+
value: function extractWithChild(child, selection) {
|
|
319
|
+
if (!(0, _lexical.$isRangeSelection)(selection)) {
|
|
320
|
+
return false;
|
|
321
|
+
}
|
|
322
|
+
var anchorNode = selection.anchor.getNode();
|
|
323
|
+
var focusNode = selection.focus.getNode();
|
|
324
|
+
return this.isParentOf(anchorNode) && this.isParentOf(focusNode) && this.getTextContent().length === selection.getTextContent().length;
|
|
325
|
+
}
|
|
326
|
+
}], [{
|
|
327
|
+
key: "getType",
|
|
328
|
+
value: /** @internal */
|
|
329
|
+
|
|
330
|
+
/** @internal */
|
|
331
|
+
|
|
332
|
+
function getType() {
|
|
333
|
+
return "webiny-listitem";
|
|
334
|
+
}
|
|
335
|
+
}, {
|
|
336
|
+
key: "clone",
|
|
337
|
+
value: function clone(node) {
|
|
338
|
+
return new ListItemNode(node.__value, node.__checked, node.__key);
|
|
339
|
+
}
|
|
340
|
+
}, {
|
|
341
|
+
key: "importDOM",
|
|
342
|
+
value: function importDOM() {
|
|
343
|
+
return {
|
|
344
|
+
li: function li() {
|
|
345
|
+
return {
|
|
346
|
+
conversion: convertListItemElement,
|
|
347
|
+
priority: 0
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
}, {
|
|
353
|
+
key: "importJSON",
|
|
354
|
+
value: function importJSON(serializedNode) {
|
|
355
|
+
var node = new ListItemNode(serializedNode.value, serializedNode.checked);
|
|
356
|
+
node.setFormat(serializedNode.format);
|
|
357
|
+
node.setIndent(serializedNode.indent);
|
|
358
|
+
node.setDirection(serializedNode.direction);
|
|
359
|
+
return node;
|
|
360
|
+
}
|
|
361
|
+
}]);
|
|
362
|
+
return ListItemNode;
|
|
363
|
+
}(_lexical.ElementNode);
|
|
364
|
+
exports.ListItemNode = ListItemNode;
|
|
365
|
+
function $setListItemThemeClassNames(dom, editorThemeClasses, node) {
|
|
366
|
+
var classesToAdd = [];
|
|
367
|
+
var classesToRemove = [];
|
|
368
|
+
var listTheme = editorThemeClasses.list;
|
|
369
|
+
var listItemClassName = listTheme ? listTheme.listitem : undefined;
|
|
370
|
+
var nestedListItemClassName;
|
|
371
|
+
if (listTheme && listTheme.nested) {
|
|
372
|
+
nestedListItemClassName = listTheme.nested.listitem;
|
|
373
|
+
}
|
|
374
|
+
if (listItemClassName !== undefined) {
|
|
375
|
+
var listItemClasses = listItemClassName.split(" ");
|
|
376
|
+
classesToAdd.push.apply(classesToAdd, (0, _toConsumableArray2.default)(listItemClasses));
|
|
377
|
+
}
|
|
378
|
+
if (listTheme) {
|
|
379
|
+
var parentNode = node.getParent();
|
|
380
|
+
var isCheckList = (0, _ListNode.$isListNode)(parentNode) && (parentNode === null || parentNode === void 0 ? void 0 : parentNode.getListType()) === "check";
|
|
381
|
+
var checked = node.getChecked();
|
|
382
|
+
if (!isCheckList || checked) {
|
|
383
|
+
classesToRemove.push(listTheme.listitemUnchecked);
|
|
384
|
+
}
|
|
385
|
+
if (!isCheckList || !checked) {
|
|
386
|
+
classesToRemove.push(listTheme.listitemChecked);
|
|
387
|
+
}
|
|
388
|
+
if (isCheckList) {
|
|
389
|
+
classesToAdd.push(checked ? listTheme.listitemChecked : listTheme.listitemUnchecked);
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
if (nestedListItemClassName !== undefined) {
|
|
393
|
+
var nestedListItemClasses = nestedListItemClassName.split(" ");
|
|
394
|
+
if (node.getChildren().some(function (child) {
|
|
395
|
+
return (0, _ListNode.$isListNode)(child);
|
|
396
|
+
})) {
|
|
397
|
+
classesToAdd.push.apply(classesToAdd, (0, _toConsumableArray2.default)(nestedListItemClasses));
|
|
398
|
+
} else {
|
|
399
|
+
classesToRemove.push.apply(classesToRemove, (0, _toConsumableArray2.default)(nestedListItemClasses));
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
if (classesToRemove.length > 0) {
|
|
403
|
+
_utils.removeClassNamesFromElement.apply(void 0, [dom].concat(classesToRemove));
|
|
404
|
+
}
|
|
405
|
+
if (classesToAdd.length > 0) {
|
|
406
|
+
_utils.addClassNamesToElement.apply(void 0, [dom].concat(classesToAdd));
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
function updateListItemChecked(dom, listItemNode, prevListItemNode, listNode) {
|
|
410
|
+
var isCheckList = listNode.getListType() === "check";
|
|
411
|
+
if (isCheckList) {
|
|
412
|
+
// Only add attributes for leaf list items
|
|
413
|
+
if ((0, _ListNode.$isListNode)(listItemNode.getFirstChild())) {
|
|
414
|
+
dom.removeAttribute("role");
|
|
415
|
+
dom.removeAttribute("tabIndex");
|
|
416
|
+
dom.removeAttribute("aria-checked");
|
|
417
|
+
} else {
|
|
418
|
+
dom.setAttribute("role", "checkbox");
|
|
419
|
+
dom.setAttribute("tabIndex", "-1");
|
|
420
|
+
if (!prevListItemNode || listItemNode.__checked !== prevListItemNode.__checked) {
|
|
421
|
+
dom.setAttribute("aria-checked", listItemNode.getChecked() ? "true" : "false");
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
} else {
|
|
425
|
+
// Clean up checked state
|
|
426
|
+
if (listItemNode.getChecked() != null) {
|
|
427
|
+
listItemNode.setChecked(undefined);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
function convertListItemElement() {
|
|
432
|
+
return {
|
|
433
|
+
node: $createListItemNode()
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
function $createListItemNode(checked) {
|
|
437
|
+
return new ListItemNode(undefined, checked);
|
|
438
|
+
}
|
|
439
|
+
function $isListItemNode(node) {
|
|
440
|
+
return node instanceof ListItemNode;
|
|
441
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ListItemNode","value","checked","key","__value","undefined","__checked","config","element","document","createElement","parent","getParent","$isListNode","updateChildrenListItemValue","updateListItemChecked","$setListItemThemeClassNames","theme","prevNode","dom","getChecked","type","getValue","version","i","length","node","$isElementNode","canMergeWith","children","getChildren","append","remove","replaceWithNode","$isListItemNode","list","getParentOrThrow","childrenKeys","__children","childrenLength","index","indexOf","__key","insertBefore","insertAfter","newList","$createListNode","getListType","getStyleId","child","listNode","console","log","siblings","getNextSiblings","after","afterListNode","newListNode","forEach","sibling","preserveEmptyParent","nextSibling","getNextSibling","newElement","$createListItemNode","selection","paragraph","$createParagraphNode","listNodeParent","isIndented","getChildrenSize","select","replace","anchor","focus","getKey","getNode","is","set","offset","self","getLatest","getWritable","setChecked","__indent","indentLevel","indent","currentIndent","getIndent","$handleIndent","$handleOutdent","nodeToInsert","replacement","$isParagraphNode","$isRangeSelection","anchorNode","focusNode","isParentOf","getTextContent","li","conversion","convertListItemElement","priority","serializedNode","setFormat","format","setIndent","setDirection","direction","ElementNode","editorThemeClasses","classesToAdd","classesToRemove","listTheme","listItemClassName","listitem","nestedListItemClassName","nested","listItemClasses","split","push","parentNode","isCheckList","listitemUnchecked","listitemChecked","nestedListItemClasses","some","removeClassNamesFromElement","addClassNamesToElement","listItemNode","prevListItemNode","getFirstChild","removeAttribute","setAttribute"],"sources":["ListItemNode.ts"],"sourcesContent":["import {\n $isElementNode,\n $isRangeSelection,\n DOMConversionMap,\n DOMConversionOutput,\n EditorConfig,\n EditorThemeClasses,\n ElementNode,\n GridSelection,\n LexicalNode,\n NodeKey,\n NodeSelection,\n ParagraphNode,\n RangeSelection,\n SerializedElementNode\n} from \"lexical\";\nimport { Spread } from \"lexical\";\nimport { $createListNode, $isListNode, ListNode } from \"~/nodes/ListNode\";\nimport { addClassNamesToElement, removeClassNamesFromElement } from \"@lexical/utils\";\nimport {\n $handleIndent,\n $handleOutdent,\n updateChildrenListItemValue\n} from \"~/nodes/ListNode/formatList\";\nimport { $createParagraphNode, $isParagraphNode } from \"~/nodes/ParagraphNode\";\n\nexport type SerializedWebinyListItemNode = Spread<\n {\n checked: boolean | undefined;\n type: \"webiny-listitem\";\n value: number;\n version: 1;\n },\n SerializedElementNode\n>;\n\n/** @noInheritDoc */\nexport class ListItemNode extends ElementNode {\n /** @internal */\n __value: number;\n /** @internal */\n __checked?: boolean;\n\n static override getType(): string {\n return \"webiny-listitem\";\n }\n\n static override clone(node: ListItemNode): ListItemNode {\n return new ListItemNode(node.__value, node.__checked, node.__key);\n }\n\n constructor(value?: number, checked?: boolean, key?: NodeKey) {\n super(key);\n this.__value = value === undefined ? 1 : value;\n this.__checked = checked;\n }\n\n override createDOM(config: EditorConfig): HTMLElement {\n const element = document.createElement(\"li\");\n const parent = this.getParent();\n\n if ($isListNode(parent)) {\n updateChildrenListItemValue(parent);\n updateListItemChecked(element, this, null, parent);\n }\n element.value = this.__value;\n $setListItemThemeClassNames(element, config.theme, this);\n\n return element;\n }\n\n override updateDOM(prevNode: ListItemNode, dom: HTMLElement, config: EditorConfig): boolean {\n const parent = this.getParent();\n\n if ($isListNode(parent)) {\n updateChildrenListItemValue(parent);\n updateListItemChecked(dom, this, prevNode, parent);\n }\n // @ts-expect-error - this is always HTMLListItemElement\n dom.value = this.__value;\n\n $setListItemThemeClassNames(dom, config.theme, this);\n\n return false;\n }\n\n static importDOM(): DOMConversionMap | null {\n return {\n li: () => ({\n conversion: convertListItemElement,\n priority: 0\n })\n };\n }\n\n static override importJSON(serializedNode: SerializedWebinyListItemNode): ListItemNode {\n const node = new ListItemNode(serializedNode.value, serializedNode.checked);\n node.setFormat(serializedNode.format);\n node.setIndent(serializedNode.indent);\n node.setDirection(serializedNode.direction);\n return node;\n }\n\n override exportJSON(): SerializedWebinyListItemNode {\n return {\n ...super.exportJSON(),\n checked: this.getChecked(),\n type: \"webiny-listitem\",\n value: this.getValue(),\n version: 1\n };\n }\n\n override append(...nodes: LexicalNode[]): this {\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n\n if ($isElementNode(node) && this.canMergeWith(node)) {\n const children = node.getChildren();\n this.append(...children);\n node.remove();\n } else {\n super.append(node);\n }\n }\n\n return this;\n }\n\n override replace<N extends LexicalNode>(replaceWithNode: N): N {\n if ($isListItemNode(replaceWithNode)) {\n return super.replace(replaceWithNode);\n }\n\n const list = this.getParentOrThrow();\n\n if ($isListNode(list)) {\n const childrenKeys = list.__children;\n const childrenLength = childrenKeys.length;\n const index = childrenKeys.indexOf(this.__key);\n\n if (index === 0) {\n list.insertBefore(replaceWithNode);\n } else if (index === childrenLength - 1) {\n list.insertAfter(replaceWithNode);\n } else {\n // Split the list\n const newList = $createListNode(list.getListType(), list.getStyleId());\n const children = list.getChildren();\n\n for (let i = index + 1; i < childrenLength; i++) {\n const child = children[i];\n newList.append(child);\n }\n list.insertAfter(replaceWithNode);\n replaceWithNode.insertAfter(newList);\n }\n this.remove();\n\n if (childrenLength === 1) {\n list.remove();\n }\n }\n\n return replaceWithNode;\n }\n\n override insertAfter(node: LexicalNode): LexicalNode {\n const listNode = this.getParentOrThrow();\n\n if (!$isListNode(listNode)) {\n console.log(\"insertAfter: webiny list node is not parent of list item node\");\n return listNode;\n }\n\n const siblings = this.getNextSiblings();\n\n if ($isListItemNode(node)) {\n const after = super.insertAfter(node);\n const afterListNode = node.getParentOrThrow();\n\n if ($isListNode(afterListNode)) {\n afterListNode;\n }\n\n return after;\n }\n\n // Attempt to merge if the list is of the same type.\n\n if ($isListNode(node) && node.getListType() === listNode.getListType()) {\n let child = node;\n const children = node.getChildren<ListNode>();\n\n for (let i = children.length - 1; i >= 0; i--) {\n child = children[i];\n\n this.insertAfter(child);\n }\n\n return child;\n }\n\n // Otherwise, split the list\n // Split the lists and insert the node in between them\n listNode.insertAfter(node);\n\n if (siblings.length !== 0) {\n const newListNode = $createListNode(listNode.getListType());\n\n siblings.forEach(sibling => newListNode.append(sibling));\n\n node.insertAfter(newListNode);\n }\n\n return node;\n }\n\n override remove(preserveEmptyParent?: boolean): void {\n const nextSibling = this.getNextSibling();\n super.remove(preserveEmptyParent);\n\n if (nextSibling !== null) {\n const parent = nextSibling.getParent();\n\n if ($isListNode(parent)) {\n updateChildrenListItemValue(parent);\n }\n }\n }\n\n override insertNewAfter(): ListItemNode | ParagraphNode {\n const newElement = $createListItemNode(this.__checked == null ? undefined : false);\n this.insertAfter(newElement);\n\n return newElement;\n }\n\n override collapseAtStart(selection: RangeSelection): true {\n const paragraph = $createParagraphNode();\n const children = this.getChildren();\n children.forEach(child => paragraph.append(child));\n const listNode = this.getParentOrThrow();\n const listNodeParent = listNode.getParentOrThrow();\n const isIndented = $isListItemNode(listNodeParent);\n\n if (listNode.getChildrenSize() === 1) {\n if (isIndented) {\n // if the list node is nested, we just want to remove it,\n // effectively unindenting it.\n listNode.remove();\n listNodeParent.select();\n } else {\n listNode.replace(paragraph);\n // If we have selection on the list item, we'll need to move it\n // to the paragraph\n const anchor = selection.anchor;\n const focus = selection.focus;\n const key = paragraph.getKey();\n\n if (anchor.type === \"element\" && anchor.getNode().is(this)) {\n anchor.set(key, anchor.offset, \"element\");\n }\n\n if (focus.type === \"element\" && focus.getNode().is(this)) {\n focus.set(key, focus.offset, \"element\");\n }\n }\n } else {\n listNode.insertBefore(paragraph);\n this.remove();\n }\n\n return true;\n }\n\n getValue(): number {\n const self = this.getLatest();\n\n return self.__value;\n }\n\n setValue(value: number): void {\n const self = this.getWritable();\n self.__value = value;\n }\n\n getChecked(): boolean | undefined {\n const self = this.getLatest();\n\n return self.__checked;\n }\n\n setChecked(checked?: boolean): void {\n const self = this.getWritable();\n self.__checked = checked;\n }\n\n toggleChecked(): void {\n this.setChecked(!this.__checked);\n }\n\n override getIndent(): number {\n // If we don't have a parent, we are likely serializing\n const parent = this.getParent();\n if (parent === null) {\n return this.getLatest().__indent;\n }\n // ListItemNode should always have a ListNode for a parent.\n let listNodeParent = parent.getParentOrThrow();\n let indentLevel = 0;\n while ($isListItemNode(listNodeParent)) {\n listNodeParent = listNodeParent.getParentOrThrow().getParentOrThrow();\n indentLevel++;\n }\n\n return indentLevel;\n }\n\n override setIndent(indent: number): this {\n let currentIndent = this.getIndent();\n while (currentIndent !== indent) {\n if (currentIndent < indent) {\n $handleIndent([this]);\n currentIndent++;\n } else {\n $handleOutdent([this]);\n currentIndent--;\n }\n }\n\n return this;\n }\n\n override canIndent(): false {\n // Indent/outdent is handled specifically in the RichText logic.\n\n return false;\n }\n\n override insertBefore(nodeToInsert: LexicalNode): LexicalNode {\n if ($isListItemNode(nodeToInsert)) {\n const parent = this.getParentOrThrow();\n\n if ($isListNode(parent)) {\n const siblings = this.getNextSiblings();\n updateChildrenListItemValue(parent, siblings);\n }\n }\n\n return super.insertBefore(nodeToInsert);\n }\n\n override canInsertAfter(node: LexicalNode): boolean {\n return $isListNode(node);\n }\n\n override canReplaceWith(replacement: LexicalNode): boolean {\n return $isListItemNode(replacement);\n }\n\n override canMergeWith(node: LexicalNode): boolean {\n return $isParagraphNode(node) || $isListItemNode(node);\n }\n\n override extractWithChild(\n child: LexicalNode,\n selection: RangeSelection | NodeSelection | GridSelection\n ): boolean {\n if (!$isRangeSelection(selection)) {\n return false;\n }\n\n const anchorNode = selection.anchor.getNode();\n const focusNode = selection.focus.getNode();\n\n return (\n this.isParentOf(anchorNode) &&\n this.isParentOf(focusNode) &&\n this.getTextContent().length === selection.getTextContent().length\n );\n }\n}\n\nfunction $setListItemThemeClassNames(\n dom: HTMLElement,\n editorThemeClasses: EditorThemeClasses,\n node: ListItemNode\n): void {\n const classesToAdd = [];\n const classesToRemove = [];\n const listTheme = editorThemeClasses.list;\n const listItemClassName = listTheme ? listTheme.listitem : undefined;\n let nestedListItemClassName;\n\n if (listTheme && listTheme.nested) {\n nestedListItemClassName = listTheme.nested.listitem;\n }\n\n if (listItemClassName !== undefined) {\n const listItemClasses = listItemClassName.split(\" \");\n classesToAdd.push(...listItemClasses);\n }\n\n if (listTheme) {\n const parentNode = node.getParent();\n const isCheckList = $isListNode(parentNode) && parentNode?.getListType() === \"check\";\n const checked = node.getChecked();\n\n if (!isCheckList || checked) {\n classesToRemove.push(listTheme.listitemUnchecked);\n }\n\n if (!isCheckList || !checked) {\n classesToRemove.push(listTheme.listitemChecked);\n }\n\n if (isCheckList) {\n classesToAdd.push(checked ? listTheme.listitemChecked : listTheme.listitemUnchecked);\n }\n }\n\n if (nestedListItemClassName !== undefined) {\n const nestedListItemClasses = nestedListItemClassName.split(\" \");\n\n if (node.getChildren().some(child => $isListNode(child))) {\n classesToAdd.push(...nestedListItemClasses);\n } else {\n classesToRemove.push(...nestedListItemClasses);\n }\n }\n\n if (classesToRemove.length > 0) {\n removeClassNamesFromElement(dom, ...classesToRemove);\n }\n\n if (classesToAdd.length > 0) {\n addClassNamesToElement(dom, ...classesToAdd);\n }\n}\n\nfunction updateListItemChecked(\n dom: HTMLElement,\n listItemNode: ListItemNode,\n prevListItemNode: ListItemNode | null,\n listNode: ListNode\n): void {\n const isCheckList = listNode.getListType() === \"check\";\n\n if (isCheckList) {\n // Only add attributes for leaf list items\n if ($isListNode(listItemNode.getFirstChild())) {\n dom.removeAttribute(\"role\");\n dom.removeAttribute(\"tabIndex\");\n dom.removeAttribute(\"aria-checked\");\n } else {\n dom.setAttribute(\"role\", \"checkbox\");\n dom.setAttribute(\"tabIndex\", \"-1\");\n\n if (!prevListItemNode || listItemNode.__checked !== prevListItemNode.__checked) {\n dom.setAttribute(\"aria-checked\", listItemNode.getChecked() ? \"true\" : \"false\");\n }\n }\n } else {\n // Clean up checked state\n if (listItemNode.getChecked() != null) {\n listItemNode.setChecked(undefined);\n }\n }\n}\n\nfunction convertListItemElement(): DOMConversionOutput {\n return { node: $createListItemNode() };\n}\n\nexport function $createListItemNode(checked?: boolean): ListItemNode {\n return new ListItemNode(undefined, checked);\n}\n\nexport function $isListItemNode(node: LexicalNode | null | undefined): node is ListItemNode {\n return node instanceof ListItemNode;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { LexicalEditor, LexicalNode } from "lexical";
|
|
2
|
+
import { ListNode } from "../ListNode";
|
|
3
|
+
import { ListItemNode } from "../ListItemNode";
|
|
4
|
+
import { ListType } from "@lexical/list";
|
|
5
|
+
export declare function insertList(editor: LexicalEditor, listType: ListType, styleId?: string): void;
|
|
6
|
+
export declare function removeList(editor: LexicalEditor): void;
|
|
7
|
+
export declare function updateChildrenListItemValue(list: ListNode, children?: Array<LexicalNode>): void;
|
|
8
|
+
export declare function $handleIndent(WebinyListItemNodes: Array<ListItemNode>): void;
|
|
9
|
+
export declare function $handleOutdent(WebinyListItemNodes: Array<ListItemNode>): void;
|
|
10
|
+
export declare function indentList(): void;
|
|
11
|
+
export declare function outdentList(): void;
|
|
12
|
+
export declare function $handleListInsertParagraph(): boolean;
|