@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,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.TypographyAction = exports.BaseTypographyActionDropDown = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
|
|
12
|
+
var _reactComposition = require("@webiny/react-composition");
|
|
13
|
+
var _TypographyActionContext = require("../../context/TypographyActionContext");
|
|
14
|
+
var _TypographyElementNode = require("../../nodes/TypographyElementNode");
|
|
15
|
+
var _useRichTextEditor2 = require("../../hooks/useRichTextEditor");
|
|
16
|
+
var _webinyList = require("../../commands/webiny-list");
|
|
17
|
+
var _webinyQuote = require("../../commands/webiny-quote");
|
|
18
|
+
var _ParagraphNode = require("../../nodes/ParagraphNode");
|
|
19
|
+
var _HeadingNode = require("../../nodes/HeadingNode");
|
|
20
|
+
var _QuoteNode = require("../../nodes/QuoteNode");
|
|
21
|
+
/*
|
|
22
|
+
* Base composable action component that is mounted on toolbar action as a placeholder for the custom toolbar action.
|
|
23
|
+
* Note: Toa add custom component access trough @see LexicalEditorConfig API
|
|
24
|
+
* */
|
|
25
|
+
var BaseTypographyActionDropDown = (0, _reactComposition.makeComposable)("BaseTypographyActionDropDown", function () {
|
|
26
|
+
(0, _react.useEffect)(function () {
|
|
27
|
+
console.log("Default BaseTypographyActionDropDown, please add your own component");
|
|
28
|
+
}, []);
|
|
29
|
+
return null;
|
|
30
|
+
});
|
|
31
|
+
exports.BaseTypographyActionDropDown = BaseTypographyActionDropDown;
|
|
32
|
+
var TypographyActionDropDown = function TypographyActionDropDown(_ref) {
|
|
33
|
+
var element = _ref.element;
|
|
34
|
+
return /*#__PURE__*/_react.default.createElement(_reactComposition.Compose, {
|
|
35
|
+
component: BaseTypographyActionDropDown,
|
|
36
|
+
with: function _with() {
|
|
37
|
+
return function () {
|
|
38
|
+
return element;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
var TypographyAction = function TypographyAction() {
|
|
44
|
+
var _textBlockSelection$s, _textBlockSelection$s2, _textBlockSelection$s3, _textBlockSelection$s4, _textBlockSelection$s5;
|
|
45
|
+
var _useLexicalComposerCo = (0, _LexicalComposerContext.useLexicalComposerContext)(),
|
|
46
|
+
_useLexicalComposerCo2 = (0, _slicedToArray2.default)(_useLexicalComposerCo, 1),
|
|
47
|
+
editor = _useLexicalComposerCo2[0];
|
|
48
|
+
var _useState = (0, _react.useState)(),
|
|
49
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
50
|
+
typography = _useState2[0],
|
|
51
|
+
setTypography = _useState2[1];
|
|
52
|
+
var _useRichTextEditor = (0, _useRichTextEditor2.useRichTextEditor)(),
|
|
53
|
+
textBlockSelection = _useRichTextEditor.textBlockSelection,
|
|
54
|
+
themeEmotionMap = _useRichTextEditor.themeEmotionMap;
|
|
55
|
+
var isTypographySelected = (textBlockSelection === null || textBlockSelection === void 0 ? void 0 : (_textBlockSelection$s = textBlockSelection.state) === null || _textBlockSelection$s === void 0 ? void 0 : _textBlockSelection$s.typography.isSelected) || false;
|
|
56
|
+
var isParagraphSelected = (textBlockSelection === null || textBlockSelection === void 0 ? void 0 : (_textBlockSelection$s2 = textBlockSelection.state) === null || _textBlockSelection$s2 === void 0 ? void 0 : _textBlockSelection$s2.paragraph.isSelected) || false;
|
|
57
|
+
var isHeadingSelected = (textBlockSelection === null || textBlockSelection === void 0 ? void 0 : (_textBlockSelection$s3 = textBlockSelection.state) === null || _textBlockSelection$s3 === void 0 ? void 0 : _textBlockSelection$s3.heading.isSelected) || false;
|
|
58
|
+
var textType = textBlockSelection === null || textBlockSelection === void 0 ? void 0 : (_textBlockSelection$s4 = textBlockSelection.state) === null || _textBlockSelection$s4 === void 0 ? void 0 : _textBlockSelection$s4.textType;
|
|
59
|
+
var isQuoteSelected = (textBlockSelection === null || textBlockSelection === void 0 ? void 0 : (_textBlockSelection$s5 = textBlockSelection.state) === null || _textBlockSelection$s5 === void 0 ? void 0 : _textBlockSelection$s5.quote.isSelected) || false;
|
|
60
|
+
var setTypographySelect = (0, _react.useCallback)(function (value) {
|
|
61
|
+
setTypography(value);
|
|
62
|
+
}, [typography]);
|
|
63
|
+
var onTypographySelect = (0, _react.useCallback)(function (value) {
|
|
64
|
+
setTypographySelect(value);
|
|
65
|
+
if (value.tag.includes("h") || value.tag.includes("p")) {
|
|
66
|
+
editor.dispatchCommand(_TypographyElementNode.ADD_TYPOGRAPHY_ELEMENT_COMMAND, {
|
|
67
|
+
value: value
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
if (value.tag === "ol") {
|
|
71
|
+
editor.dispatchCommand(_webinyList.INSERT_ORDERED_WEBINY_LIST_COMMAND, {
|
|
72
|
+
themeStyleId: value.id
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
if (value.tag === "ul") {
|
|
76
|
+
editor.dispatchCommand(_webinyList.INSERT_UNORDERED_WEBINY_LIST_COMMAND, {
|
|
77
|
+
themeStyleId: value.id
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
if (value.tag === "quoteblock") {
|
|
81
|
+
editor.dispatchCommand(_webinyQuote.INSERT_WEBINY_QUOTE_COMMAND, {
|
|
82
|
+
themeStyleId: value.id
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}, []);
|
|
86
|
+
(0, _react.useEffect)(function () {
|
|
87
|
+
if (textBlockSelection) {
|
|
88
|
+
var _textBlockSelection$e;
|
|
89
|
+
// header and paragraph elements inserted with typography node
|
|
90
|
+
if ((0, _TypographyElementNode.$isTypographyElementNode)(textBlockSelection === null || textBlockSelection === void 0 ? void 0 : textBlockSelection.element)) {
|
|
91
|
+
var el = textBlockSelection.element;
|
|
92
|
+
setTypography(el.getTypographyValue());
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if ((0, _ParagraphNode.$isParagraphNode)(textBlockSelection === null || textBlockSelection === void 0 ? void 0 : textBlockSelection.element) || (0, _HeadingNode.$isHeadingNode)(textBlockSelection === null || textBlockSelection === void 0 ? void 0 : textBlockSelection.element) || (0, _QuoteNode.$isQuoteNode)(textBlockSelection === null || textBlockSelection === void 0 ? void 0 : textBlockSelection.element)) {
|
|
96
|
+
var elementWithThemeStyle = textBlockSelection === null || textBlockSelection === void 0 ? void 0 : textBlockSelection.element;
|
|
97
|
+
var styleId = elementWithThemeStyle.getTypographyStyleId();
|
|
98
|
+
if (!styleId) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
if (!themeEmotionMap) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
var style = themeEmotionMap[styleId];
|
|
105
|
+
if (style) {
|
|
106
|
+
setTypography({
|
|
107
|
+
name: style === null || style === void 0 ? void 0 : style.name,
|
|
108
|
+
id: style.id,
|
|
109
|
+
css: style.styles,
|
|
110
|
+
tag: style.tag
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// list and quote element
|
|
117
|
+
if (themeEmotionMap && textBlockSelection !== null && textBlockSelection !== void 0 && (_textBlockSelection$e = textBlockSelection.element) !== null && _textBlockSelection$e !== void 0 && _textBlockSelection$e.getStyleId) {
|
|
118
|
+
var _textBlockSelection$e2;
|
|
119
|
+
var themeStyleId = (textBlockSelection === null || textBlockSelection === void 0 ? void 0 : (_textBlockSelection$e2 = textBlockSelection.element) === null || _textBlockSelection$e2 === void 0 ? void 0 : _textBlockSelection$e2.getStyleId()) || undefined;
|
|
120
|
+
if (themeStyleId) {
|
|
121
|
+
var elementStyle = themeEmotionMap[themeStyleId];
|
|
122
|
+
if (elementStyle) {
|
|
123
|
+
setTypography({
|
|
124
|
+
id: elementStyle.id,
|
|
125
|
+
css: elementStyle.styles,
|
|
126
|
+
name: elementStyle.name,
|
|
127
|
+
tag: elementStyle.tag
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}, [isTypographySelected, textType, isQuoteSelected, isParagraphSelected, isHeadingSelected]);
|
|
134
|
+
return /*#__PURE__*/_react.default.createElement(_TypographyActionContext.TypographyActionContext.Provider, {
|
|
135
|
+
value: {
|
|
136
|
+
value: typography,
|
|
137
|
+
applyTypography: onTypographySelect
|
|
138
|
+
}
|
|
139
|
+
}, /*#__PURE__*/_react.default.createElement(BaseTypographyActionDropDown, null));
|
|
140
|
+
};
|
|
141
|
+
exports.TypographyAction = TypographyAction;
|
|
142
|
+
{
|
|
143
|
+
/* Color action settings */
|
|
144
|
+
}
|
|
145
|
+
TypographyAction.TypographyDropDown = TypographyActionDropDown;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BaseTypographyActionDropDown","makeComposable","useEffect","console","log","TypographyActionDropDown","element","TypographyAction","useLexicalComposerContext","editor","useState","typography","setTypography","useRichTextEditor","textBlockSelection","themeEmotionMap","isTypographySelected","state","isSelected","isParagraphSelected","paragraph","isHeadingSelected","heading","textType","isQuoteSelected","quote","setTypographySelect","useCallback","value","onTypographySelect","tag","includes","dispatchCommand","ADD_TYPOGRAPHY_ELEMENT_COMMAND","INSERT_ORDERED_WEBINY_LIST_COMMAND","themeStyleId","id","INSERT_UNORDERED_WEBINY_LIST_COMMAND","INSERT_WEBINY_QUOTE_COMMAND","$isTypographyElementNode","el","getTypographyValue","$isParagraphNode","$isHeadingNode","$isQuoteNode","elementWithThemeStyle","styleId","getTypographyStyleId","style","name","css","styles","getStyleId","undefined","elementStyle","applyTypography","TypographyDropDown"],"sources":["TypographyAction.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\nimport { LexicalCommand } from \"lexical\";\nimport { Compose, makeComposable } from \"@webiny/react-composition\";\nimport { TypographyActionContext } from \"~/context/TypographyActionContext\";\n\nimport { TypographyValue } from \"~/types\";\nimport {\n $isTypographyElementNode,\n ADD_TYPOGRAPHY_ELEMENT_COMMAND,\n TypographyElementNode,\n TypographyPayload\n} from \"~/nodes/TypographyElementNode\";\nimport { useRichTextEditor } from \"~/hooks/useRichTextEditor\";\nimport {\n INSERT_ORDERED_WEBINY_LIST_COMMAND,\n INSERT_UNORDERED_WEBINY_LIST_COMMAND,\n WebinyListCommandPayload\n} from \"~/commands/webiny-list\";\nimport { INSERT_WEBINY_QUOTE_COMMAND, WebinyQuoteCommandPayload } from \"~/commands/webiny-quote\";\nimport { $isParagraphNode } from \"~/nodes/ParagraphNode\";\nimport { $isHeadingNode } from \"~/nodes/HeadingNode\";\nimport { $isQuoteNode } from \"~/nodes/QuoteNode\";\n\n/*\n * Base composable action component that is mounted on toolbar action as a placeholder for the custom toolbar action.\n * Note: Toa add custom component access trough @see LexicalEditorConfig API\n * */\nexport const BaseTypographyActionDropDown = makeComposable(\n \"BaseTypographyActionDropDown\",\n (): JSX.Element | null => {\n useEffect(() => {\n console.log(\"Default BaseTypographyActionDropDown, please add your own component\");\n }, []);\n return null;\n }\n);\n\ninterface TypographyActionDropdownProps {\n element: JSX.Element;\n}\n\nconst TypographyActionDropDown: React.FC<TypographyActionDropdownProps> = ({\n element\n}): JSX.Element => {\n return <Compose component={BaseTypographyActionDropDown} with={() => () => element} />;\n};\n\nexport interface TypographyAction extends React.FC<unknown> {\n TypographyDropDown: typeof TypographyActionDropDown;\n}\n\nexport const TypographyAction: TypographyAction = () => {\n const [editor] = useLexicalComposerContext();\n const [typography, setTypography] = useState<TypographyValue>();\n const { textBlockSelection, themeEmotionMap } = useRichTextEditor();\n const isTypographySelected = textBlockSelection?.state?.typography.isSelected || false;\n const isParagraphSelected = textBlockSelection?.state?.paragraph.isSelected || false;\n const isHeadingSelected = textBlockSelection?.state?.heading.isSelected || false;\n const textType = textBlockSelection?.state?.textType;\n const isQuoteSelected = textBlockSelection?.state?.quote.isSelected || false;\n const setTypographySelect = useCallback(\n (value: TypographyValue) => {\n setTypography(value);\n },\n [typography]\n );\n\n const onTypographySelect = useCallback((value: TypographyValue) => {\n setTypographySelect(value);\n if (value.tag.includes(\"h\") || value.tag.includes(\"p\")) {\n editor.dispatchCommand<LexicalCommand<TypographyPayload>>(\n ADD_TYPOGRAPHY_ELEMENT_COMMAND,\n {\n value\n }\n );\n }\n\n if (value.tag === \"ol\") {\n editor.dispatchCommand<LexicalCommand<WebinyListCommandPayload>>(\n INSERT_ORDERED_WEBINY_LIST_COMMAND,\n {\n themeStyleId: value.id\n }\n );\n }\n\n if (value.tag === \"ul\") {\n editor.dispatchCommand<LexicalCommand<WebinyListCommandPayload>>(\n INSERT_UNORDERED_WEBINY_LIST_COMMAND,\n {\n themeStyleId: value.id\n }\n );\n }\n\n if (value.tag === \"quoteblock\") {\n editor.dispatchCommand<LexicalCommand<WebinyQuoteCommandPayload>>(\n INSERT_WEBINY_QUOTE_COMMAND,\n {\n themeStyleId: value.id\n }\n );\n }\n }, []);\n\n useEffect(() => {\n if (textBlockSelection) {\n // header and paragraph elements inserted with typography node\n if ($isTypographyElementNode(textBlockSelection?.element)) {\n const el = textBlockSelection.element as TypographyElementNode;\n setTypography(el.getTypographyValue());\n return;\n }\n\n if (\n $isParagraphNode(textBlockSelection?.element) ||\n $isHeadingNode(textBlockSelection?.element) ||\n $isQuoteNode(textBlockSelection?.element)\n ) {\n const elementWithThemeStyle = textBlockSelection?.element;\n const styleId = elementWithThemeStyle.getTypographyStyleId();\n if (!styleId) {\n return;\n }\n\n if (!themeEmotionMap) {\n return;\n }\n\n const style = themeEmotionMap[styleId];\n if (style) {\n setTypography({\n name: style?.name,\n id: style.id,\n css: style.styles,\n tag: style.tag\n });\n }\n return;\n }\n\n // list and quote element\n if (themeEmotionMap && textBlockSelection?.element?.getStyleId) {\n const themeStyleId = textBlockSelection?.element?.getStyleId() || undefined;\n if (themeStyleId) {\n const elementStyle = themeEmotionMap[themeStyleId];\n if (elementStyle) {\n setTypography({\n id: elementStyle.id,\n css: elementStyle.styles,\n name: elementStyle.name,\n tag: elementStyle.tag\n });\n }\n }\n }\n }\n }, [isTypographySelected, textType, isQuoteSelected, isParagraphSelected, isHeadingSelected]);\n\n return (\n <TypographyActionContext.Provider\n value={{\n value: typography,\n applyTypography: onTypographySelect\n }}\n >\n <BaseTypographyActionDropDown />\n </TypographyActionContext.Provider>\n );\n};\n\n{\n /* Color action settings */\n}\nTypographyAction.TypographyDropDown = TypographyActionDropDown;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.UnderlineAction = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
|
|
12
|
+
var _lexical = require("lexical");
|
|
13
|
+
var _useRichTextEditor2 = require("../../hooks/useRichTextEditor");
|
|
14
|
+
var UnderlineAction = function UnderlineAction() {
|
|
15
|
+
var _textBlockSelection$s;
|
|
16
|
+
var _useLexicalComposerCo = (0, _LexicalComposerContext.useLexicalComposerContext)(),
|
|
17
|
+
_useLexicalComposerCo2 = (0, _slicedToArray2.default)(_useLexicalComposerCo, 1),
|
|
18
|
+
editor = _useLexicalComposerCo2[0];
|
|
19
|
+
var _useState = (0, _react.useState)(false),
|
|
20
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
21
|
+
isUnderline = _useState2[0],
|
|
22
|
+
setIsUnderline = _useState2[1];
|
|
23
|
+
var _useRichTextEditor = (0, _useRichTextEditor2.useRichTextEditor)(),
|
|
24
|
+
textBlockSelection = _useRichTextEditor.textBlockSelection;
|
|
25
|
+
var isUnderlineSelected = !!(textBlockSelection !== null && textBlockSelection !== void 0 && (_textBlockSelection$s = textBlockSelection.state) !== null && _textBlockSelection$s !== void 0 && _textBlockSelection$s.underline);
|
|
26
|
+
(0, _react.useEffect)(function () {
|
|
27
|
+
setIsUnderline(isUnderlineSelected);
|
|
28
|
+
}, [isUnderlineSelected]);
|
|
29
|
+
var handleClick = function handleClick() {
|
|
30
|
+
editor.dispatchCommand(_lexical.FORMAT_TEXT_COMMAND, "underline");
|
|
31
|
+
setIsUnderline(!isUnderline);
|
|
32
|
+
};
|
|
33
|
+
return /*#__PURE__*/_react.default.createElement("button", {
|
|
34
|
+
onClick: function onClick() {
|
|
35
|
+
return handleClick();
|
|
36
|
+
},
|
|
37
|
+
className: "popup-item spaced " + (isUnderline ? "active" : ""),
|
|
38
|
+
"aria-label": "Format text as italic"
|
|
39
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
40
|
+
className: "format underline"
|
|
41
|
+
}));
|
|
42
|
+
};
|
|
43
|
+
exports.UnderlineAction = UnderlineAction;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["UnderlineAction","useLexicalComposerContext","editor","useState","isUnderline","setIsUnderline","useRichTextEditor","textBlockSelection","isUnderlineSelected","state","underline","useEffect","handleClick","dispatchCommand","FORMAT_TEXT_COMMAND"],"sources":["UnderlineAction.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\nimport { FORMAT_TEXT_COMMAND } from \"lexical\";\nimport { useRichTextEditor } from \"~/hooks/useRichTextEditor\";\n\nexport const UnderlineAction = () => {\n const [editor] = useLexicalComposerContext();\n const [isUnderline, setIsUnderline] = useState(false);\n const { textBlockSelection } = useRichTextEditor();\n const isUnderlineSelected = !!textBlockSelection?.state?.underline;\n\n useEffect(() => {\n setIsUnderline(isUnderlineSelected);\n }, [isUnderlineSelected]);\n\n const handleClick = () => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, \"underline\");\n setIsUnderline(!isUnderline);\n };\n\n return (\n <button\n onClick={() => handleClick()}\n className={\"popup-item spaced \" + (isUnderline ? \"active\" : \"\")}\n aria-label=\"Format text as italic\"\n >\n <i className=\"format underline\" />\n </button>\n );\n};\n"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AAEO,IAAMA,eAAe,GAAG,SAAlBA,eAAe,GAAS;EAAA;EACjC,4BAAiB,IAAAC,iDAAyB,GAAE;IAAA;IAArCC,MAAM;EACb,gBAAsC,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAA9CC,WAAW;IAAEC,cAAc;EAClC,yBAA+B,IAAAC,qCAAiB,GAAE;IAA1CC,kBAAkB,sBAAlBA,kBAAkB;EAC1B,IAAMC,mBAAmB,GAAG,CAAC,EAACD,kBAAkB,aAAlBA,kBAAkB,wCAAlBA,kBAAkB,CAAEE,KAAK,kDAAzB,sBAA2BC,SAAS;EAElE,IAAAC,gBAAS,EAAC,YAAM;IACZN,cAAc,CAACG,mBAAmB,CAAC;EACvC,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EAEzB,IAAMI,WAAW,GAAG,SAAdA,WAAW,GAAS;IACtBV,MAAM,CAACW,eAAe,CAACC,4BAAmB,EAAE,WAAW,CAAC;IACxDT,cAAc,CAAC,CAACD,WAAW,CAAC;EAChC,CAAC;EAED,oBACI;IACI,OAAO,EAAE;MAAA,OAAMQ,WAAW,EAAE;IAAA,CAAC;IAC7B,SAAS,EAAE,oBAAoB,IAAIR,WAAW,GAAG,QAAQ,GAAG,EAAE,CAAE;IAChE,cAAW;EAAuB,gBAElC;IAAG,SAAS,EAAC;EAAkB,EAAG,CAC7B;AAEjB,CAAC;AAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.HeadingToolbarPreset = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _BoldAction = require("../ToolbarActions/BoldAction");
|
|
10
|
+
var _AddToolbarAction = require("../AddToolbarAction");
|
|
11
|
+
var _ItalicAction = require("../ToolbarActions/ItalicAction");
|
|
12
|
+
var _UnderlineAction = require("../ToolbarActions/UnderlineAction");
|
|
13
|
+
var _CodeHighlightAction = require("../ToolbarActions/CodeHighlightAction");
|
|
14
|
+
var _LinkAction = require("../ToolbarActions/LinkAction");
|
|
15
|
+
var _FontSizeAction = require("../ToolbarActions/FontSizeAction");
|
|
16
|
+
var _Divider = require("../../ui/Divider");
|
|
17
|
+
var _FontColorAction = require("../ToolbarActions/FontColorAction");
|
|
18
|
+
var _TypographyAction = require("../ToolbarActions/TypographyAction");
|
|
19
|
+
var _TextAlignmentAction = require("../ToolbarActions/TextAlignmentAction");
|
|
20
|
+
var HeadingToolbarPreset = function HeadingToolbarPreset() {
|
|
21
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
22
|
+
element: /*#__PURE__*/_react.default.createElement(_FontSizeAction.FontSizeAction, null),
|
|
23
|
+
type: "heading"
|
|
24
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
25
|
+
element: /*#__PURE__*/_react.default.createElement(_FontColorAction.FontColorAction, null),
|
|
26
|
+
type: "heading"
|
|
27
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
28
|
+
element: /*#__PURE__*/_react.default.createElement(_TypographyAction.TypographyAction, null),
|
|
29
|
+
type: "heading"
|
|
30
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
31
|
+
element: /*#__PURE__*/_react.default.createElement(_TextAlignmentAction.TextAlignmentAction, null),
|
|
32
|
+
type: "heading"
|
|
33
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
34
|
+
element: /*#__PURE__*/_react.default.createElement(_Divider.Divider, null),
|
|
35
|
+
type: "heading"
|
|
36
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
37
|
+
element: /*#__PURE__*/_react.default.createElement(_BoldAction.BoldAction, null),
|
|
38
|
+
type: "heading"
|
|
39
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
40
|
+
element: /*#__PURE__*/_react.default.createElement(_ItalicAction.ItalicAction, null),
|
|
41
|
+
type: "heading"
|
|
42
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
43
|
+
element: /*#__PURE__*/_react.default.createElement(_UnderlineAction.UnderlineAction, null),
|
|
44
|
+
type: "heading"
|
|
45
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
46
|
+
element: /*#__PURE__*/_react.default.createElement(_CodeHighlightAction.CodeHighlightAction, null),
|
|
47
|
+
type: "heading"
|
|
48
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
49
|
+
element: /*#__PURE__*/_react.default.createElement(_Divider.Divider, null),
|
|
50
|
+
type: "heading"
|
|
51
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
52
|
+
element: /*#__PURE__*/_react.default.createElement(_LinkAction.LinkAction, null),
|
|
53
|
+
type: "heading"
|
|
54
|
+
}));
|
|
55
|
+
};
|
|
56
|
+
exports.HeadingToolbarPreset = HeadingToolbarPreset;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HeadingToolbarPreset"],"sources":["HeadingToolbarPreset.tsx"],"sourcesContent":["import React from \"react\";\nimport { BoldAction } from \"~/components/ToolbarActions/BoldAction\";\nimport { AddToolbarAction } from \"~/components/AddToolbarAction\";\nimport { ItalicAction } from \"~/components/ToolbarActions/ItalicAction\";\nimport { UnderlineAction } from \"~/components/ToolbarActions/UnderlineAction\";\nimport { CodeHighlightAction } from \"~/components/ToolbarActions/CodeHighlightAction\";\nimport { LinkAction } from \"~/components/ToolbarActions/LinkAction\";\nimport { FontSizeAction } from \"~/components/ToolbarActions/FontSizeAction\";\nimport { Divider } from \"~/ui/Divider\";\nimport { FontColorAction } from \"~/components/ToolbarActions/FontColorAction\";\nimport { TypographyAction } from \"~/components/ToolbarActions/TypographyAction\";\nimport { TextAlignmentAction } from \"~/components/ToolbarActions/TextAlignmentAction\";\n\nexport const HeadingToolbarPreset = () => {\n return (\n <>\n <AddToolbarAction element={<FontSizeAction />} type={\"heading\"} />\n <AddToolbarAction element={<FontColorAction />} type={\"heading\"} />\n <AddToolbarAction element={<TypographyAction />} type={\"heading\"} />\n <AddToolbarAction element={<TextAlignmentAction />} type={\"heading\"} />\n <AddToolbarAction element={<Divider />} type={\"heading\"} />\n <AddToolbarAction element={<BoldAction />} type={\"heading\"} />\n <AddToolbarAction element={<ItalicAction />} type={\"heading\"} />\n <AddToolbarAction element={<UnderlineAction />} type={\"heading\"} />\n <AddToolbarAction element={<CodeHighlightAction />} type={\"heading\"} />\n <AddToolbarAction element={<Divider />} type={\"heading\"} />\n <AddToolbarAction element={<LinkAction />} type={\"heading\"} />\n </>\n );\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoB,GAAS;EACtC,oBACI,yEACI,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,8BAAc,OAAI;IAAC,IAAI,EAAE;EAAU,EAAG,eAClE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,gCAAe,OAAI;IAAC,IAAI,EAAE;EAAU,EAAG,eACnE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,kCAAgB,OAAI;IAAC,IAAI,EAAE;EAAU,EAAG,eACpE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,wCAAmB,OAAI;IAAC,IAAI,EAAE;EAAU,EAAG,eACvE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,gBAAO,OAAI;IAAC,IAAI,EAAE;EAAU,EAAG,eAC3D,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,sBAAU,OAAI;IAAC,IAAI,EAAE;EAAU,EAAG,eAC9D,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,0BAAY,OAAI;IAAC,IAAI,EAAE;EAAU,EAAG,eAChE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,gCAAe,OAAI;IAAC,IAAI,EAAE;EAAU,EAAG,eACnE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,wCAAmB,OAAI;IAAC,IAAI,EAAE;EAAU,EAAG,eACvE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,gBAAO,OAAI;IAAC,IAAI,EAAE;EAAU,EAAG,eAC3D,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,sBAAU,OAAI;IAAC,IAAI,EAAE;EAAU,EAAG,CAC/D;AAEX,CAAC;AAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ParagraphToolbarPreset = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _BoldAction = require("../ToolbarActions/BoldAction");
|
|
10
|
+
var _AddToolbarAction = require("../AddToolbarAction");
|
|
11
|
+
var _ItalicAction = require("../ToolbarActions/ItalicAction");
|
|
12
|
+
var _UnderlineAction = require("../ToolbarActions/UnderlineAction");
|
|
13
|
+
var _CodeHighlightAction = require("../ToolbarActions/CodeHighlightAction");
|
|
14
|
+
var _LinkAction = require("../ToolbarActions/LinkAction");
|
|
15
|
+
var _FontSizeAction = require("../ToolbarActions/FontSizeAction");
|
|
16
|
+
var _Divider = require("../../ui/Divider");
|
|
17
|
+
var _NumberedListAction = require("../ToolbarActions/NumberedListAction");
|
|
18
|
+
var _BulletListAction = require("../ToolbarActions/BulletListAction");
|
|
19
|
+
var _QuoteAction = require("../ToolbarActions/QuoteAction");
|
|
20
|
+
var _FontColorAction = require("../ToolbarActions/FontColorAction");
|
|
21
|
+
var _TypographyAction = require("../ToolbarActions/TypographyAction");
|
|
22
|
+
var _TextAlignmentAction = require("../ToolbarActions/TextAlignmentAction");
|
|
23
|
+
var ParagraphToolbarPreset = function ParagraphToolbarPreset() {
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
25
|
+
element: /*#__PURE__*/_react.default.createElement(_FontSizeAction.FontSizeAction, null),
|
|
26
|
+
type: "paragraph"
|
|
27
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
28
|
+
element: /*#__PURE__*/_react.default.createElement(_FontColorAction.FontColorAction, null),
|
|
29
|
+
type: "paragraph"
|
|
30
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
31
|
+
element: /*#__PURE__*/_react.default.createElement(_TypographyAction.TypographyAction, null),
|
|
32
|
+
type: "paragraph"
|
|
33
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
34
|
+
element: /*#__PURE__*/_react.default.createElement(_TextAlignmentAction.TextAlignmentAction, null),
|
|
35
|
+
type: "paragraph"
|
|
36
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
37
|
+
element: /*#__PURE__*/_react.default.createElement(_Divider.Divider, null),
|
|
38
|
+
type: "paragraph"
|
|
39
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
40
|
+
element: /*#__PURE__*/_react.default.createElement(_BoldAction.BoldAction, null),
|
|
41
|
+
type: "paragraph"
|
|
42
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
43
|
+
element: /*#__PURE__*/_react.default.createElement(_ItalicAction.ItalicAction, null),
|
|
44
|
+
type: "paragraph"
|
|
45
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
46
|
+
element: /*#__PURE__*/_react.default.createElement(_UnderlineAction.UnderlineAction, null),
|
|
47
|
+
type: "paragraph"
|
|
48
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
49
|
+
element: /*#__PURE__*/_react.default.createElement(_CodeHighlightAction.CodeHighlightAction, null),
|
|
50
|
+
type: "paragraph"
|
|
51
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
52
|
+
element: /*#__PURE__*/_react.default.createElement(_Divider.Divider, null),
|
|
53
|
+
type: "paragraph"
|
|
54
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
55
|
+
element: /*#__PURE__*/_react.default.createElement(_NumberedListAction.NumberedListAction, null),
|
|
56
|
+
type: "paragraph"
|
|
57
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
58
|
+
element: /*#__PURE__*/_react.default.createElement(_BulletListAction.BulletListAction, null),
|
|
59
|
+
type: "paragraph"
|
|
60
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
61
|
+
element: /*#__PURE__*/_react.default.createElement(_Divider.Divider, null),
|
|
62
|
+
type: "paragraph"
|
|
63
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
64
|
+
element: /*#__PURE__*/_react.default.createElement(_LinkAction.LinkAction, null),
|
|
65
|
+
type: "paragraph"
|
|
66
|
+
}), /*#__PURE__*/_react.default.createElement(_AddToolbarAction.AddToolbarAction, {
|
|
67
|
+
element: /*#__PURE__*/_react.default.createElement(_QuoteAction.QuoteAction, null),
|
|
68
|
+
type: "paragraph"
|
|
69
|
+
}));
|
|
70
|
+
};
|
|
71
|
+
exports.ParagraphToolbarPreset = ParagraphToolbarPreset;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ParagraphToolbarPreset"],"sources":["ParagraphToolbarPreset.tsx"],"sourcesContent":["import React from \"react\";\nimport { BoldAction } from \"~/components/ToolbarActions/BoldAction\";\nimport { AddToolbarAction } from \"~/components/AddToolbarAction\";\nimport { ItalicAction } from \"~/components/ToolbarActions/ItalicAction\";\nimport { UnderlineAction } from \"~/components/ToolbarActions/UnderlineAction\";\nimport { CodeHighlightAction } from \"~/components/ToolbarActions/CodeHighlightAction\";\nimport { LinkAction } from \"~/components/ToolbarActions/LinkAction\";\nimport { FontSizeAction } from \"~/components/ToolbarActions/FontSizeAction\";\nimport { Divider } from \"~/ui/Divider\";\nimport { NumberedListAction } from \"~/components/ToolbarActions/NumberedListAction\";\nimport { BulletListAction } from \"~/components/ToolbarActions/BulletListAction\";\nimport { QuoteAction } from \"~/components/ToolbarActions/QuoteAction\";\nimport { FontColorAction } from \"~/components/ToolbarActions/FontColorAction\";\nimport { TypographyAction } from \"~/components/ToolbarActions/TypographyAction\";\nimport { TextAlignmentAction } from \"~/components/ToolbarActions/TextAlignmentAction\";\n\nexport const ParagraphToolbarPreset = () => {\n return (\n <>\n <AddToolbarAction element={<FontSizeAction />} type={\"paragraph\"} />\n <AddToolbarAction element={<FontColorAction />} type={\"paragraph\"} />\n <AddToolbarAction element={<TypographyAction />} type={\"paragraph\"} />\n <AddToolbarAction element={<TextAlignmentAction />} type={\"paragraph\"} />\n <AddToolbarAction element={<Divider />} type={\"paragraph\"} />\n <AddToolbarAction element={<BoldAction />} type={\"paragraph\"} />\n <AddToolbarAction element={<ItalicAction />} type={\"paragraph\"} />\n <AddToolbarAction element={<UnderlineAction />} type={\"paragraph\"} />\n <AddToolbarAction element={<CodeHighlightAction />} type={\"paragraph\"} />\n <AddToolbarAction element={<Divider />} type={\"paragraph\"} />\n <AddToolbarAction element={<NumberedListAction />} type={\"paragraph\"} />\n <AddToolbarAction element={<BulletListAction />} type={\"paragraph\"} />\n <AddToolbarAction element={<Divider />} type={\"paragraph\"} />\n <AddToolbarAction element={<LinkAction />} type={\"paragraph\"} />\n <AddToolbarAction element={<QuoteAction />} type={\"paragraph\"} />\n </>\n );\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAsB,GAAS;EACxC,oBACI,yEACI,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,8BAAc,OAAI;IAAC,IAAI,EAAE;EAAY,EAAG,eACpE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,gCAAe,OAAI;IAAC,IAAI,EAAE;EAAY,EAAG,eACrE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,kCAAgB,OAAI;IAAC,IAAI,EAAE;EAAY,EAAG,eACtE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,wCAAmB,OAAI;IAAC,IAAI,EAAE;EAAY,EAAG,eACzE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,gBAAO,OAAI;IAAC,IAAI,EAAE;EAAY,EAAG,eAC7D,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,sBAAU,OAAI;IAAC,IAAI,EAAE;EAAY,EAAG,eAChE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,0BAAY,OAAI;IAAC,IAAI,EAAE;EAAY,EAAG,eAClE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,gCAAe,OAAI;IAAC,IAAI,EAAE;EAAY,EAAG,eACrE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,wCAAmB,OAAI;IAAC,IAAI,EAAE;EAAY,EAAG,eACzE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,gBAAO,OAAI;IAAC,IAAI,EAAE;EAAY,EAAG,eAC7D,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,sCAAkB,OAAI;IAAC,IAAI,EAAE;EAAY,EAAG,eACxE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,kCAAgB,OAAI;IAAC,IAAI,EAAE;EAAY,EAAG,eACtE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,gBAAO,OAAI;IAAC,IAAI,EAAE;EAAY,EAAG,eAC7D,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,sBAAU,OAAI;IAAC,IAAI,EAAE;EAAY,EAAG,eAChE,6BAAC,kCAAgB;IAAC,OAAO,eAAE,6BAAC,wBAAW,OAAI;IAAC,IAAI,EAAE;EAAY,EAAG,CAClE;AAEX,CAAC;AAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.FontColorActionContext = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var FontColorActionContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
10
|
+
exports.FontColorActionContext = FontColorActionContext;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FontColorActionContext","React","createContext","undefined"],"sources":["FontColorActionContext.tsx"],"sourcesContent":["import React from \"react\";\n\nexport interface FontColorActionContext {\n /*\n * @desc Current selected color value\n * */\n value: string;\n\n /*\n * @desc Apply color to selected text.\n * @params: value\n */\n applyColor: (value: string, themeColorName: string | undefined) => void;\n}\n\nexport const FontColorActionContext = React.createContext<FontColorActionContext | undefined>(\n undefined\n);\n"],"mappings":";;;;;;;AAAA;AAeO,IAAMA,sBAAsB,gBAAGC,cAAK,CAACC,aAAa,CACrDC,SAAS,CACZ;AAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { TextBlockSelection, ThemeEmotionMap, ToolbarType } from "../types";
|
|
3
|
+
import { WebinyTheme } from "../themes/webinyLexicalTheme";
|
|
4
|
+
import { LexicalEditor } from "lexical";
|
|
5
|
+
export interface RichTextEditorContext {
|
|
6
|
+
nodeIsText: boolean;
|
|
7
|
+
setNodeIsText: (nodeIsText: boolean) => void;
|
|
8
|
+
toolbarType?: ToolbarType;
|
|
9
|
+
setToolbarType: (type: ToolbarType) => void;
|
|
10
|
+
textBlockSelection: TextBlockSelection | null;
|
|
11
|
+
setTextBlockSelection: (textBlockSelection: TextBlockSelection) => void;
|
|
12
|
+
theme?: WebinyTheme;
|
|
13
|
+
setTheme: (theme: WebinyTheme) => void;
|
|
14
|
+
themeEmotionMap?: ThemeEmotionMap;
|
|
15
|
+
setThemeEmotionMap: (themeEmotionMap?: ThemeEmotionMap) => void;
|
|
16
|
+
activeEditor?: LexicalEditor;
|
|
17
|
+
setActiveEditor: (editor: LexicalEditor) => void;
|
|
18
|
+
isEditable: boolean;
|
|
19
|
+
setIsEditable: (isEditable: boolean) => void;
|
|
20
|
+
}
|
|
21
|
+
export declare const RichTextEditorContext: React.Context<RichTextEditorContext | undefined>;
|
|
22
|
+
interface RichTextEditorProviderProps {
|
|
23
|
+
children?: React.ReactNode | React.ReactNode[];
|
|
24
|
+
}
|
|
25
|
+
export declare const RichTextEditorProvider: React.FC<RichTextEditorProviderProps>;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.RichTextEditorProvider = exports.RichTextEditorContext = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var RichTextEditorContext = /*#__PURE__*/(0, _react.createContext)(undefined);
|
|
12
|
+
exports.RichTextEditorContext = RichTextEditorContext;
|
|
13
|
+
var RichTextEditorProvider = function RichTextEditorProvider(_ref) {
|
|
14
|
+
var children = _ref.children;
|
|
15
|
+
var _useState = (0, _react.useState)(false),
|
|
16
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
17
|
+
nodeIsText = _useState2[0],
|
|
18
|
+
setIsText = _useState2[1];
|
|
19
|
+
var _useState3 = (0, _react.useState)(),
|
|
20
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
21
|
+
toolbarType = _useState4[0],
|
|
22
|
+
setToolbarType = _useState4[1];
|
|
23
|
+
var _useState5 = (0, _react.useState)(undefined),
|
|
24
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
25
|
+
theme = _useState6[0],
|
|
26
|
+
setTheme = _useState6[1];
|
|
27
|
+
var _useState7 = (0, _react.useState)(undefined),
|
|
28
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
29
|
+
themeEmotionMap = _useState8[0],
|
|
30
|
+
setThemeEmotionMap = _useState8[1];
|
|
31
|
+
var _useState9 = (0, _react.useState)(),
|
|
32
|
+
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
33
|
+
activeEditor = _useState10[0],
|
|
34
|
+
setActiveEditor = _useState10[1];
|
|
35
|
+
var _useState11 = (0, _react.useState)(false),
|
|
36
|
+
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
37
|
+
isEditable = _useState12[0],
|
|
38
|
+
setIsEditable = _useState12[1];
|
|
39
|
+
/*
|
|
40
|
+
* @desc Keeps data from current user text selection like range selection, nodes, node key...
|
|
41
|
+
*/
|
|
42
|
+
var _useState13 = (0, _react.useState)(null),
|
|
43
|
+
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
44
|
+
textBlockSelection = _useState14[0],
|
|
45
|
+
setTextBlockSelection = _useState14[1];
|
|
46
|
+
var setNodeIsText = function setNodeIsText(nodeIsText) {
|
|
47
|
+
setIsText(nodeIsText);
|
|
48
|
+
};
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement(RichTextEditorContext.Provider, {
|
|
50
|
+
value: {
|
|
51
|
+
nodeIsText: nodeIsText,
|
|
52
|
+
setNodeIsText: setNodeIsText,
|
|
53
|
+
toolbarType: toolbarType,
|
|
54
|
+
setToolbarType: setToolbarType,
|
|
55
|
+
textBlockSelection: textBlockSelection,
|
|
56
|
+
setTextBlockSelection: setTextBlockSelection,
|
|
57
|
+
theme: theme,
|
|
58
|
+
setTheme: setTheme,
|
|
59
|
+
themeEmotionMap: themeEmotionMap,
|
|
60
|
+
setThemeEmotionMap: setThemeEmotionMap,
|
|
61
|
+
activeEditor: activeEditor,
|
|
62
|
+
setActiveEditor: setActiveEditor,
|
|
63
|
+
isEditable: isEditable,
|
|
64
|
+
setIsEditable: setIsEditable
|
|
65
|
+
}
|
|
66
|
+
}, children);
|
|
67
|
+
};
|
|
68
|
+
exports.RichTextEditorProvider = RichTextEditorProvider;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["RichTextEditorContext","createContext","undefined","RichTextEditorProvider","children","useState","nodeIsText","setIsText","toolbarType","setToolbarType","theme","setTheme","themeEmotionMap","setThemeEmotionMap","activeEditor","setActiveEditor","isEditable","setIsEditable","textBlockSelection","setTextBlockSelection","setNodeIsText"],"sources":["RichTextEditorContext.tsx"],"sourcesContent":["import React, { createContext, useState } from \"react\";\nimport { TextBlockSelection, ThemeEmotionMap, ToolbarType } from \"~/types\";\nimport { WebinyTheme } from \"~/themes/webinyLexicalTheme\";\nimport { LexicalEditor } from \"lexical\";\n\nexport interface RichTextEditorContext {\n nodeIsText: boolean;\n setNodeIsText: (nodeIsText: boolean) => void;\n toolbarType?: ToolbarType;\n setToolbarType: (type: ToolbarType) => void;\n textBlockSelection: TextBlockSelection | null;\n setTextBlockSelection: (textBlockSelection: TextBlockSelection) => void;\n theme?: WebinyTheme;\n setTheme: (theme: WebinyTheme) => void;\n themeEmotionMap?: ThemeEmotionMap;\n setThemeEmotionMap: (themeEmotionMap?: ThemeEmotionMap) => void;\n activeEditor?: LexicalEditor;\n setActiveEditor: (editor: LexicalEditor) => void;\n isEditable: boolean;\n setIsEditable: (isEditable: boolean) => void;\n}\n\nexport const RichTextEditorContext = createContext<RichTextEditorContext | undefined>(undefined);\n\ninterface RichTextEditorProviderProps {\n children?: React.ReactNode | React.ReactNode[];\n}\n\nexport const RichTextEditorProvider: React.FC<RichTextEditorProviderProps> = ({ children }) => {\n const [nodeIsText, setIsText] = useState<boolean>(false);\n const [toolbarType, setToolbarType] = useState<ToolbarType | undefined>();\n const [theme, setTheme] = useState<WebinyTheme | undefined>(undefined);\n const [themeEmotionMap, setThemeEmotionMap] = useState<ThemeEmotionMap | undefined>(undefined);\n const [activeEditor, setActiveEditor] = useState<LexicalEditor>();\n const [isEditable, setIsEditable] = useState<boolean>(false);\n /*\n * @desc Keeps data from current user text selection like range selection, nodes, node key...\n */\n const [textBlockSelection, setTextBlockSelection] = useState<TextBlockSelection | null>(null);\n\n const setNodeIsText = (nodeIsText: boolean) => {\n setIsText(nodeIsText);\n };\n\n return (\n <RichTextEditorContext.Provider\n value={{\n nodeIsText,\n setNodeIsText,\n toolbarType,\n setToolbarType,\n textBlockSelection,\n setTextBlockSelection,\n theme,\n setTheme,\n themeEmotionMap,\n setThemeEmotionMap,\n activeEditor,\n setActiveEditor,\n isEditable,\n setIsEditable\n }}\n >\n {children}\n </RichTextEditorContext.Provider>\n );\n};\n"],"mappings":";;;;;;;;;AAAA;AAsBO,IAAMA,qBAAqB,gBAAG,IAAAC,oBAAa,EAAoCC,SAAS,CAAC;AAAC;AAM1F,IAAMC,sBAA6D,GAAG,SAAhEA,sBAA6D,OAAqB;EAAA,IAAfC,QAAQ,QAARA,QAAQ;EACpF,gBAAgC,IAAAC,eAAQ,EAAU,KAAK,CAAC;IAAA;IAAjDC,UAAU;IAAEC,SAAS;EAC5B,iBAAsC,IAAAF,eAAQ,GAA2B;IAAA;IAAlEG,WAAW;IAAEC,cAAc;EAClC,iBAA0B,IAAAJ,eAAQ,EAA0BH,SAAS,CAAC;IAAA;IAA/DQ,KAAK;IAAEC,QAAQ;EACtB,iBAA8C,IAAAN,eAAQ,EAA8BH,SAAS,CAAC;IAAA;IAAvFU,eAAe;IAAEC,kBAAkB;EAC1C,iBAAwC,IAAAR,eAAQ,GAAiB;IAAA;IAA1DS,YAAY;IAAEC,eAAe;EACpC,kBAAoC,IAAAV,eAAQ,EAAU,KAAK,CAAC;IAAA;IAArDW,UAAU;IAAEC,aAAa;EAChC;AACJ;AACA;EACI,kBAAoD,IAAAZ,eAAQ,EAA4B,IAAI,CAAC;IAAA;IAAtFa,kBAAkB;IAAEC,qBAAqB;EAEhD,IAAMC,aAAa,GAAG,SAAhBA,aAAa,CAAId,UAAmB,EAAK;IAC3CC,SAAS,CAACD,UAAU,CAAC;EACzB,CAAC;EAED,oBACI,6BAAC,qBAAqB,CAAC,QAAQ;IAC3B,KAAK,EAAE;MACHA,UAAU,EAAVA,UAAU;MACVc,aAAa,EAAbA,aAAa;MACbZ,WAAW,EAAXA,WAAW;MACXC,cAAc,EAAdA,cAAc;MACdS,kBAAkB,EAAlBA,kBAAkB;MAClBC,qBAAqB,EAArBA,qBAAqB;MACrBT,KAAK,EAALA,KAAK;MACLC,QAAQ,EAARA,QAAQ;MACRC,eAAe,EAAfA,eAAe;MACfC,kBAAkB,EAAlBA,kBAAkB;MAClBC,YAAY,EAAZA,YAAY;MACZC,eAAe,EAAfA,eAAe;MACfC,UAAU,EAAVA,UAAU;MACVC,aAAa,EAAbA;IACJ;EAAE,GAEDb,QAAQ,CACoB;AAEzC,CAAC;AAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="web" />
|
|
2
|
+
import { ReactNode } from "react";
|
|
3
|
+
import { HistoryState } from "@lexical/history";
|
|
4
|
+
declare type ContextShape = {
|
|
5
|
+
historyState?: HistoryState;
|
|
6
|
+
};
|
|
7
|
+
export declare const SharedHistoryContext: ({ children }: {
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
}) => JSX.Element;
|
|
10
|
+
export declare const useSharedHistoryContext: () => ContextShape;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useSharedHistoryContext = exports.SharedHistoryContext = void 0;
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _history = require("@lexical/history");
|
|
10
|
+
var Context = /*#__PURE__*/(0, React.createContext)({});
|
|
11
|
+
var SharedHistoryContext = function SharedHistoryContext(_ref) {
|
|
12
|
+
var children = _ref.children;
|
|
13
|
+
var historyContext = (0, React.useMemo)(function () {
|
|
14
|
+
return {
|
|
15
|
+
historyState: (0, _history.createEmptyHistoryState)()
|
|
16
|
+
};
|
|
17
|
+
}, []);
|
|
18
|
+
return /*#__PURE__*/React.createElement(Context.Provider, {
|
|
19
|
+
value: historyContext
|
|
20
|
+
}, children);
|
|
21
|
+
};
|
|
22
|
+
exports.SharedHistoryContext = SharedHistoryContext;
|
|
23
|
+
var useSharedHistoryContext = function useSharedHistoryContext() {
|
|
24
|
+
return (0, React.useContext)(Context);
|
|
25
|
+
};
|
|
26
|
+
exports.useSharedHistoryContext = useSharedHistoryContext;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Context","createContext","SharedHistoryContext","children","historyContext","useMemo","historyState","createEmptyHistoryState","useSharedHistoryContext","useContext"],"sources":["SharedHistoryContext.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { createContext, ReactNode, useContext, useMemo } from \"react\";\nimport { createEmptyHistoryState, HistoryState } from \"@lexical/history\";\n\ntype ContextShape = {\n historyState?: HistoryState;\n};\n\nconst Context: React.Context<ContextShape> = createContext({});\n\nexport const SharedHistoryContext = ({ children }: { children: ReactNode }): JSX.Element => {\n const historyContext = useMemo(() => ({ historyState: createEmptyHistoryState() }), []);\n return <Context.Provider value={historyContext}>{children}</Context.Provider>;\n};\n\nexport const useSharedHistoryContext = (): ContextShape => {\n return useContext(Context);\n};\n"],"mappings":";;;;;;;AAAA;AAEA;AAMA,IAAMA,OAAoC,gBAAG,IAAAC,mBAAa,EAAC,CAAC,CAAC,CAAC;AAEvD,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoB,OAA2D;EAAA,IAArDC,QAAQ,QAARA,QAAQ;EAC3C,IAAMC,cAAc,GAAG,IAAAC,aAAO,EAAC;IAAA,OAAO;MAAEC,YAAY,EAAE,IAAAC,gCAAuB;IAAG,CAAC;EAAA,CAAC,EAAE,EAAE,CAAC;EACvF,oBAAO,oBAAC,OAAO,CAAC,QAAQ;IAAC,KAAK,EAAEH;EAAe,GAAED,QAAQ,CAAoB;AACjF,CAAC;AAAC;AAEK,IAAMK,uBAAuB,GAAG,SAA1BA,uBAAuB,GAAuB;EACvD,OAAO,IAAAC,gBAAU,EAACT,OAAO,CAAC;AAC9B,CAAC;AAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ElementFormatType } from "lexical";
|
|
3
|
+
export interface TextAlignmentActionContextProps {
|
|
4
|
+
value: ElementFormatType;
|
|
5
|
+
applyTextAlignment: (value: ElementFormatType) => void;
|
|
6
|
+
outdentText: () => void;
|
|
7
|
+
indentText: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const TextAlignmentActionContext: React.Context<TextAlignmentActionContextProps | undefined>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TextAlignmentActionContext = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var TextAlignmentActionContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
10
|
+
exports.TextAlignmentActionContext = TextAlignmentActionContext;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TextAlignmentActionContext","React","createContext","undefined"],"sources":["TextAlignmentActionContextProps.tsx"],"sourcesContent":["import React from \"react\";\nimport { ElementFormatType } from \"lexical\";\n\nexport interface TextAlignmentActionContextProps {\n /*\n * Selected text alignment value\n * */\n value: ElementFormatType;\n\n /*\n * Apply text alignment to selected text\n */\n applyTextAlignment: (value: ElementFormatType) => void;\n\n outdentText: () => void;\n\n indentText: () => void;\n}\n\nexport const TextAlignmentActionContext = React.createContext<\n TextAlignmentActionContextProps | undefined\n>(undefined);\n"],"mappings":";;;;;;;AAAA;AAmBO,IAAMA,0BAA0B,gBAAGC,cAAK,CAACC,aAAa,CAE3DC,SAAS,CAAC;AAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { TypographyValue } from "../types";
|
|
3
|
+
export interface TypographyActionContextProps {
|
|
4
|
+
value: TypographyValue | undefined;
|
|
5
|
+
applyTypography: (value: TypographyValue) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const TypographyActionContext: React.Context<TypographyActionContextProps | undefined>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TypographyActionContext = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var TypographyActionContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
10
|
+
exports.TypographyActionContext = TypographyActionContext;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TypographyActionContext","React","createContext","undefined"],"sources":["TypographyActionContext.tsx"],"sourcesContent":["import React from \"react\";\nimport { TypographyValue } from \"~/types\";\n\nexport interface TypographyActionContextProps {\n /*\n * @desc Current selected typography\n * */\n value: TypographyValue | undefined;\n\n /*\n * @desc Apply font family to selected text.\n * @params: value\n */\n applyTypography: (value: TypographyValue) => void;\n}\n\nexport const TypographyActionContext = React.createContext<\n TypographyActionContextProps | undefined\n>(undefined);\n"],"mappings":";;;;;;;AAAA;AAgBO,IAAMA,uBAAuB,gBAAGC,cAAK,CAACC,aAAa,CAExDC,SAAS,CAAC;AAAC"}
|