@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.
Files changed (306) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +17 -0
  3. package/commands/webiny-list.d.ts +7 -0
  4. package/commands/webiny-list.js +13 -0
  5. package/commands/webiny-list.js.map +1 -0
  6. package/commands/webiny-quote.d.ts +5 -0
  7. package/commands/webiny-quote.js +9 -0
  8. package/commands/webiny-quote.js.map +1 -0
  9. package/components/AddRichTextEditorNodeType.d.ts +6 -0
  10. package/components/AddRichTextEditorNodeType.js +28 -0
  11. package/components/AddRichTextEditorNodeType.js.map +1 -0
  12. package/components/AddRichTextEditorPlugin.d.ts +12 -0
  13. package/components/AddRichTextEditorPlugin.js +33 -0
  14. package/components/AddRichTextEditorPlugin.js.map +1 -0
  15. package/components/AddToolbarAction.d.ts +7 -0
  16. package/components/AddToolbarAction.js +33 -0
  17. package/components/AddToolbarAction.js.map +1 -0
  18. package/components/Editor/HeadingEditor.d.ts +7 -0
  19. package/components/Editor/HeadingEditor.js +29 -0
  20. package/components/Editor/HeadingEditor.js.map +1 -0
  21. package/components/Editor/ParagraphEditor.d.ts +7 -0
  22. package/components/Editor/ParagraphEditor.js +30 -0
  23. package/components/Editor/ParagraphEditor.js.map +1 -0
  24. package/components/Editor/RichTextEditor.d.ts +26 -0
  25. package/components/Editor/RichTextEditor.js +138 -0
  26. package/components/Editor/RichTextEditor.js.map +1 -0
  27. package/components/LexicalEditorConfig/LexicalEditorConfig.d.ts +11 -0
  28. package/components/LexicalEditorConfig/LexicalEditorConfig.js +19 -0
  29. package/components/LexicalEditorConfig/LexicalEditorConfig.js.map +1 -0
  30. package/components/LexicalHtmlRenderer.d.ts +16 -0
  31. package/components/LexicalHtmlRenderer.js +67 -0
  32. package/components/LexicalHtmlRenderer.js.map +1 -0
  33. package/components/Toolbar/HeadingToolbar.d.ts +12 -0
  34. package/components/Toolbar/HeadingToolbar.js +23 -0
  35. package/components/Toolbar/HeadingToolbar.js.map +1 -0
  36. package/components/Toolbar/ParagraphToolbar.d.ts +12 -0
  37. package/components/Toolbar/ParagraphToolbar.js +23 -0
  38. package/components/Toolbar/ParagraphToolbar.js.map +1 -0
  39. package/components/Toolbar/Toolbar.css +435 -0
  40. package/components/Toolbar/Toolbar.d.ts +13 -0
  41. package/components/Toolbar/Toolbar.js +215 -0
  42. package/components/Toolbar/Toolbar.js.map +1 -0
  43. package/components/ToolbarActions/BoldAction.d.ts +2 -0
  44. package/components/ToolbarActions/BoldAction.js +43 -0
  45. package/components/ToolbarActions/BoldAction.js.map +1 -0
  46. package/components/ToolbarActions/BulletListAction.d.ts +2 -0
  47. package/components/ToolbarActions/BulletListAction.js +56 -0
  48. package/components/ToolbarActions/BulletListAction.js.map +1 -0
  49. package/components/ToolbarActions/CodeHighlightAction.d.ts +2 -0
  50. package/components/ToolbarActions/CodeHighlightAction.js +43 -0
  51. package/components/ToolbarActions/CodeHighlightAction.js.map +1 -0
  52. package/components/ToolbarActions/FontColorAction.d.ts +11 -0
  53. package/components/ToolbarActions/FontColorAction.js +83 -0
  54. package/components/ToolbarActions/FontColorAction.js.map +1 -0
  55. package/components/ToolbarActions/FontSizeAction.d.ts +2 -0
  56. package/components/ToolbarActions/FontSizeAction.js +101 -0
  57. package/components/ToolbarActions/FontSizeAction.js.map +1 -0
  58. package/components/ToolbarActions/ItalicAction.d.ts +2 -0
  59. package/components/ToolbarActions/ItalicAction.js +43 -0
  60. package/components/ToolbarActions/ItalicAction.js.map +1 -0
  61. package/components/ToolbarActions/LinkAction.d.ts +2 -0
  62. package/components/ToolbarActions/LinkAction.js +64 -0
  63. package/components/ToolbarActions/LinkAction.js.map +1 -0
  64. package/components/ToolbarActions/NumberedListAction.d.ts +2 -0
  65. package/components/ToolbarActions/NumberedListAction.js +58 -0
  66. package/components/ToolbarActions/NumberedListAction.js.map +1 -0
  67. package/components/ToolbarActions/QuoteAction.d.ts +2 -0
  68. package/components/ToolbarActions/QuoteAction.js +52 -0
  69. package/components/ToolbarActions/QuoteAction.js.map +1 -0
  70. package/components/ToolbarActions/TextAlignmentAction.d.ts +11 -0
  71. package/components/ToolbarActions/TextAlignmentAction.js +70 -0
  72. package/components/ToolbarActions/TextAlignmentAction.js.map +1 -0
  73. package/components/ToolbarActions/TypographyAction.d.ts +11 -0
  74. package/components/ToolbarActions/TypographyAction.js +145 -0
  75. package/components/ToolbarActions/TypographyAction.js.map +1 -0
  76. package/components/ToolbarActions/UnderlineAction.d.ts +2 -0
  77. package/components/ToolbarActions/UnderlineAction.js +43 -0
  78. package/components/ToolbarActions/UnderlineAction.js.map +1 -0
  79. package/components/ToolbarPresets/HeadingToolbarPreset.d.ts +2 -0
  80. package/components/ToolbarPresets/HeadingToolbarPreset.js +56 -0
  81. package/components/ToolbarPresets/HeadingToolbarPreset.js.map +1 -0
  82. package/components/ToolbarPresets/ParagraphToolbarPreset.d.ts +2 -0
  83. package/components/ToolbarPresets/ParagraphToolbarPreset.js +71 -0
  84. package/components/ToolbarPresets/ParagraphToolbarPreset.js.map +1 -0
  85. package/context/FontColorActionContext.d.ts +6 -0
  86. package/context/FontColorActionContext.js +10 -0
  87. package/context/FontColorActionContext.js.map +1 -0
  88. package/context/RichTextEditorContext.d.ts +26 -0
  89. package/context/RichTextEditorContext.js +68 -0
  90. package/context/RichTextEditorContext.js.map +1 -0
  91. package/context/SharedHistoryContext.d.ts +11 -0
  92. package/context/SharedHistoryContext.js +26 -0
  93. package/context/SharedHistoryContext.js.map +1 -0
  94. package/context/TextAlignmentActionContextProps.d.ts +9 -0
  95. package/context/TextAlignmentActionContextProps.js +10 -0
  96. package/context/TextAlignmentActionContextProps.js.map +1 -0
  97. package/context/TypographyActionContext.d.ts +7 -0
  98. package/context/TypographyActionContext.js +10 -0
  99. package/context/TypographyActionContext.js.map +1 -0
  100. package/hooks/useFontColorPicker.d.ts +2 -0
  101. package/hooks/useFontColorPicker.js +15 -0
  102. package/hooks/useFontColorPicker.js.map +1 -0
  103. package/hooks/useList.d.ts +2 -0
  104. package/hooks/useList.js +39 -0
  105. package/hooks/useList.js.map +1 -0
  106. package/hooks/useQuote.d.ts +2 -0
  107. package/hooks/useQuote.js +20 -0
  108. package/hooks/useQuote.js.map +1 -0
  109. package/hooks/useRichTextEditor.d.ts +2 -0
  110. package/hooks/useRichTextEditor.js +15 -0
  111. package/hooks/useRichTextEditor.js.map +1 -0
  112. package/hooks/useTextAlignmentAction.d.ts +1 -0
  113. package/hooks/useTextAlignmentAction.js +15 -0
  114. package/hooks/useTextAlignmentAction.js.map +1 -0
  115. package/hooks/useTypographyAction.d.ts +1 -0
  116. package/hooks/useTypographyAction.js +15 -0
  117. package/hooks/useTypographyAction.js.map +1 -0
  118. package/images/icons/LICENSE.md +5 -0
  119. package/images/icons/chat-square-quote.svg +1 -0
  120. package/images/icons/chevron-down.svg +1 -0
  121. package/images/icons/code.svg +1 -0
  122. package/images/icons/font-color.svg +1 -0
  123. package/images/icons/indent.svg +3 -0
  124. package/images/icons/justify.svg +3 -0
  125. package/images/icons/link.svg +1 -0
  126. package/images/icons/list-ol.svg +1 -0
  127. package/images/icons/list-ul.svg +1 -0
  128. package/images/icons/outdent.svg +3 -0
  129. package/images/icons/pencil-fill.svg +1 -0
  130. package/images/icons/text-center.svg +1 -0
  131. package/images/icons/text-left.svg +1 -0
  132. package/images/icons/text-paragraph.svg +1 -0
  133. package/images/icons/text-right.svg +1 -0
  134. package/images/icons/type-bold.svg +1 -0
  135. package/images/icons/type-h1.svg +1 -0
  136. package/images/icons/type-h2.svg +1 -0
  137. package/images/icons/type-h3.svg +1 -0
  138. package/images/icons/type-h4.svg +1 -0
  139. package/images/icons/type-h5.svg +1 -0
  140. package/images/icons/type-h6.svg +1 -0
  141. package/images/icons/type-italic.svg +1 -0
  142. package/images/icons/type-strikethrough.svg +1 -0
  143. package/images/icons/type-underline.svg +1 -0
  144. package/images/icons/unlink_icon.svg +1 -0
  145. package/index.d.ts +42 -0
  146. package/index.js +295 -0
  147. package/index.js.map +1 -0
  148. package/nodes/FontColorNode.d.ts +43 -0
  149. package/nodes/FontColorNode.js +127 -0
  150. package/nodes/FontColorNode.js.map +1 -0
  151. package/nodes/HeadingNode.d.ts +34 -0
  152. package/nodes/HeadingNode.js +192 -0
  153. package/nodes/HeadingNode.js.map +1 -0
  154. package/nodes/ListItemNode.d.ts +46 -0
  155. package/nodes/ListItemNode.js +441 -0
  156. package/nodes/ListItemNode.js.map +1 -0
  157. package/nodes/ListNode/formatList.d.ts +12 -0
  158. package/nodes/ListNode/formatList.js +424 -0
  159. package/nodes/ListNode/formatList.js.map +1 -0
  160. package/nodes/ListNode.d.ts +42 -0
  161. package/nodes/ListNode.js +294 -0
  162. package/nodes/ListNode.js.map +1 -0
  163. package/nodes/ParagraphNode.d.ts +32 -0
  164. package/nodes/ParagraphNode.js +218 -0
  165. package/nodes/ParagraphNode.js.map +1 -0
  166. package/nodes/QuoteNode.d.ts +34 -0
  167. package/nodes/QuoteNode.js +225 -0
  168. package/nodes/QuoteNode.js.map +1 -0
  169. package/nodes/TypographyElementNode.d.ts +42 -0
  170. package/nodes/TypographyElementNode.js +155 -0
  171. package/nodes/TypographyElementNode.js.map +1 -0
  172. package/nodes/types.d.ts +15 -0
  173. package/nodes/types.js +5 -0
  174. package/nodes/types.js.map +1 -0
  175. package/nodes/webinyNodes.d.ts +7 -0
  176. package/nodes/webinyNodes.js +45 -0
  177. package/nodes/webinyNodes.js.map +1 -0
  178. package/package.json +41 -0
  179. package/plugins/AutoLinkPlugin/AutoLinkPlugin.d.ts +11 -0
  180. package/plugins/AutoLinkPlugin/AutoLinkPlugin.js +46 -0
  181. package/plugins/AutoLinkPlugin/AutoLinkPlugin.js.map +1 -0
  182. package/plugins/AutoLinkPlugin/index.d.ts +1 -0
  183. package/plugins/AutoLinkPlugin/index.js +16 -0
  184. package/plugins/AutoLinkPlugin/index.js.map +1 -0
  185. package/plugins/BlurEventPlugin/BlurEventPlugin.d.ts +7 -0
  186. package/plugins/BlurEventPlugin/BlurEventPlugin.js +28 -0
  187. package/plugins/BlurEventPlugin/BlurEventPlugin.js.map +1 -0
  188. package/plugins/ClickableLinkPlugin/ClickableLinkPlugin.d.ts +17 -0
  189. package/plugins/ClickableLinkPlugin/ClickableLinkPlugin.js +88 -0
  190. package/plugins/ClickableLinkPlugin/ClickableLinkPlugin.js.map +1 -0
  191. package/plugins/ClickableLinkPlugin/index.d.ts +1 -0
  192. package/plugins/ClickableLinkPlugin/index.js +16 -0
  193. package/plugins/ClickableLinkPlugin/index.js.map +1 -0
  194. package/plugins/CodeHighlightPlugin/CodeHighlightPlugin.d.ts +1 -0
  195. package/plugins/CodeHighlightPlugin/CodeHighlightPlugin.js +20 -0
  196. package/plugins/CodeHighlightPlugin/CodeHighlightPlugin.js.map +1 -0
  197. package/plugins/CodeHighlightPlugin/index.d.ts +1 -0
  198. package/plugins/CodeHighlightPlugin/index.js +16 -0
  199. package/plugins/CodeHighlightPlugin/index.js.map +1 -0
  200. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorPlugin.css +118 -0
  201. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorPlugin.d.ts +7 -0
  202. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorPlugin.js +222 -0
  203. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorPlugin.js.map +1 -0
  204. package/plugins/FloatingLinkEditorPlugin/index.d.ts +1 -0
  205. package/plugins/FloatingLinkEditorPlugin/index.js +16 -0
  206. package/plugins/FloatingLinkEditorPlugin/index.js.map +1 -0
  207. package/plugins/FontColorPlugin/FontColorPlugin.d.ts +2 -0
  208. package/plugins/FontColorPlugin/FontColorPlugin.js +39 -0
  209. package/plugins/FontColorPlugin/FontColorPlugin.js.map +1 -0
  210. package/plugins/LexicalUpdateStatePlugin/LexicalUpdateStatePlugin.d.ts +8 -0
  211. package/plugins/LexicalUpdateStatePlugin/LexicalUpdateStatePlugin.js +34 -0
  212. package/plugins/LexicalUpdateStatePlugin/LexicalUpdateStatePlugin.js.map +1 -0
  213. package/plugins/LexicalUpdateStatePlugin/index.d.ts +1 -0
  214. package/plugins/LexicalUpdateStatePlugin/index.js +16 -0
  215. package/plugins/LexicalUpdateStatePlugin/index.js.map +1 -0
  216. package/plugins/TypographyPlugin/TypographyPlugin.d.ts +2 -0
  217. package/plugins/TypographyPlugin/TypographyPlugin.js +35 -0
  218. package/plugins/TypographyPlugin/TypographyPlugin.js.map +1 -0
  219. package/plugins/WebinyListPLugin/WebinyListPlugin.d.ts +1 -0
  220. package/plugins/WebinyListPLugin/WebinyListPlugin.js +25 -0
  221. package/plugins/WebinyListPLugin/WebinyListPlugin.js.map +1 -0
  222. package/plugins/WebinyQuoteNodePlugin/WebinyQuoteNodePlugin.d.ts +1 -0
  223. package/plugins/WebinyQuoteNodePlugin/WebinyQuoteNodePlugin.js +24 -0
  224. package/plugins/WebinyQuoteNodePlugin/WebinyQuoteNodePlugin.js.map +1 -0
  225. package/themes/webinyLexicalTheme.css +429 -0
  226. package/themes/webinyLexicalTheme.d.ts +9 -0
  227. package/themes/webinyLexicalTheme.js +87 -0
  228. package/themes/webinyLexicalTheme.js.map +1 -0
  229. package/types.d.ts +63 -0
  230. package/types.js +25 -0
  231. package/types.js.map +1 -0
  232. package/ui/Divider.d.ts +2 -0
  233. package/ui/Divider.js +13 -0
  234. package/ui/Divider.js.map +1 -0
  235. package/ui/DropDown.d.ts +26 -0
  236. package/ui/DropDown.js +206 -0
  237. package/ui/DropDown.js.map +1 -0
  238. package/ui/Input.css +32 -0
  239. package/ui/LinkPreview.css +69 -0
  240. package/ui/LinkPreview.d.ts +12 -0
  241. package/ui/LinkPreview.js +101 -0
  242. package/ui/LinkPreview.js.map +1 -0
  243. package/ui/Placeholder.css +23 -0
  244. package/ui/Placeholder.d.ts +13 -0
  245. package/ui/Placeholder.js +24 -0
  246. package/ui/Placeholder.js.map +1 -0
  247. package/ui/TextInput.d.ts +18 -0
  248. package/ui/TextInput.js +39 -0
  249. package/ui/TextInput.js.map +1 -0
  250. package/ui/ToolbarActionDialog.d.ts +12 -0
  251. package/ui/ToolbarActionDialog.js +106 -0
  252. package/ui/ToolbarActionDialog.js.map +1 -0
  253. package/utils/findTypographyStyleByHtmlTag.d.ts +8 -0
  254. package/utils/findTypographyStyleByHtmlTag.js +16 -0
  255. package/utils/findTypographyStyleByHtmlTag.js.map +1 -0
  256. package/utils/generateInitialLexicalValue.d.ts +5 -0
  257. package/utils/generateInitialLexicalValue.js +30 -0
  258. package/utils/generateInitialLexicalValue.js.map +1 -0
  259. package/utils/getDOMRangeRect.d.ts +10 -0
  260. package/utils/getDOMRangeRect.js +27 -0
  261. package/utils/getDOMRangeRect.js.map +1 -0
  262. package/utils/getLexicalTextSelectionState.d.ts +5 -0
  263. package/utils/getLexicalTextSelectionState.js +163 -0
  264. package/utils/getLexicalTextSelectionState.js.map +1 -0
  265. package/utils/getSelectedNode.d.ts +2 -0
  266. package/utils/getSelectedNode.js +30 -0
  267. package/utils/getSelectedNode.js.map +1 -0
  268. package/utils/isValidJSON.d.ts +1 -0
  269. package/utils/isValidJSON.js +18 -0
  270. package/utils/isValidJSON.js.map +1 -0
  271. package/utils/isValidLexicalData.d.ts +2 -0
  272. package/utils/isValidLexicalData.js +24 -0
  273. package/utils/isValidLexicalData.js.map +1 -0
  274. package/utils/nodes/clearNodeFormating.d.ts +2 -0
  275. package/utils/nodes/clearNodeFormating.js +28 -0
  276. package/utils/nodes/clearNodeFormating.js.map +1 -0
  277. package/utils/nodes/formatToHeading.d.ts +3 -0
  278. package/utils/nodes/formatToHeading.js +25 -0
  279. package/utils/nodes/formatToHeading.js.map +1 -0
  280. package/utils/nodes/formatToParagraph.d.ts +2 -0
  281. package/utils/nodes/formatToParagraph.js +20 -0
  282. package/utils/nodes/formatToParagraph.js.map +1 -0
  283. package/utils/nodes/formatToQuote.d.ts +2 -0
  284. package/utils/nodes/formatToQuote.js +25 -0
  285. package/utils/nodes/formatToQuote.js.map +1 -0
  286. package/utils/nodes/listNode.d.ts +11 -0
  287. package/utils/nodes/listNode.js +107 -0
  288. package/utils/nodes/listNode.js.map +1 -0
  289. package/utils/point.d.ts +21 -0
  290. package/utils/point.js +77 -0
  291. package/utils/point.js.map +1 -0
  292. package/utils/rect.d.ts +47 -0
  293. package/utils/rect.js +169 -0
  294. package/utils/rect.js.map +1 -0
  295. package/utils/sanitizeUrl.d.ts +8 -0
  296. package/utils/sanitizeUrl.js +27 -0
  297. package/utils/sanitizeUrl.js.map +1 -0
  298. package/utils/setFloatingElemPosition.d.ts +3 -0
  299. package/utils/setFloatingElemPosition.js +40 -0
  300. package/utils/setFloatingElemPosition.js.map +1 -0
  301. package/utils/styleObjectToString.d.ts +2 -0
  302. package/utils/styleObjectToString.js +22 -0
  303. package/utils/styleObjectToString.js.map +1 -0
  304. package/utils/toTypographyEmotionMap.d.ts +3 -0
  305. package/utils/toTypographyEmotionMap.js +36 -0
  306. 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,2 @@
1
+ /// <reference types="react" />
2
+ export declare const UnderlineAction: () => JSX.Element;
@@ -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,2 @@
1
+ /// <reference types="react" />
2
+ export declare const HeadingToolbarPreset: () => JSX.Element;
@@ -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,2 @@
1
+ /// <reference types="react" />
2
+ export declare const ParagraphToolbarPreset: () => JSX.Element;
@@ -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,6 @@
1
+ import React from "react";
2
+ export interface FontColorActionContext {
3
+ value: string;
4
+ applyColor: (value: string, themeColorName: string | undefined) => void;
5
+ }
6
+ export declare const FontColorActionContext: React.Context<FontColorActionContext | 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.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"}
@@ -0,0 +1,2 @@
1
+ import { FontColorActionContext } from "../context/FontColorActionContext";
2
+ export declare function useFontColorPicker(): FontColorActionContext;