@webiny/lexical-editor 0.0.0-unstable.1145e7667f

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 (279) 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 +9 -0
  28. package/components/LexicalEditorConfig/LexicalEditorConfig.js +17 -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 +423 -0
  40. package/components/Toolbar/Toolbar.d.ts +13 -0
  41. package/components/Toolbar/Toolbar.js +181 -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 +51 -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 +53 -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 +53 -0
  69. package/components/ToolbarActions/QuoteAction.js.map +1 -0
  70. package/components/ToolbarActions/TypographyAction.d.ts +11 -0
  71. package/components/ToolbarActions/TypographyAction.js +118 -0
  72. package/components/ToolbarActions/TypographyAction.js.map +1 -0
  73. package/components/ToolbarActions/UnderlineAction.d.ts +2 -0
  74. package/components/ToolbarActions/UnderlineAction.js +43 -0
  75. package/components/ToolbarActions/UnderlineAction.js.map +1 -0
  76. package/components/ToolbarPresets/HeadingToolbarPreset.d.ts +2 -0
  77. package/components/ToolbarPresets/HeadingToolbarPreset.js +52 -0
  78. package/components/ToolbarPresets/HeadingToolbarPreset.js.map +1 -0
  79. package/components/ToolbarPresets/ParagraphToolbarPreset.d.ts +2 -0
  80. package/components/ToolbarPresets/ParagraphToolbarPreset.js +67 -0
  81. package/components/ToolbarPresets/ParagraphToolbarPreset.js.map +1 -0
  82. package/context/FontColorActionContext.d.ts +6 -0
  83. package/context/FontColorActionContext.js +10 -0
  84. package/context/FontColorActionContext.js.map +1 -0
  85. package/context/RichTextEditorContext.d.ts +21 -0
  86. package/context/RichTextEditorContext.js +56 -0
  87. package/context/RichTextEditorContext.js.map +1 -0
  88. package/context/SharedHistoryContext.d.ts +11 -0
  89. package/context/SharedHistoryContext.js +26 -0
  90. package/context/SharedHistoryContext.js.map +1 -0
  91. package/context/TypographyActionContext.d.ts +7 -0
  92. package/context/TypographyActionContext.js +10 -0
  93. package/context/TypographyActionContext.js.map +1 -0
  94. package/hooks/useFontColorPicker.d.ts +2 -0
  95. package/hooks/useFontColorPicker.js +15 -0
  96. package/hooks/useFontColorPicker.js.map +1 -0
  97. package/hooks/useRichTextEditor.d.ts +2 -0
  98. package/hooks/useRichTextEditor.js +15 -0
  99. package/hooks/useRichTextEditor.js.map +1 -0
  100. package/hooks/useTypographyAction.d.ts +1 -0
  101. package/hooks/useTypographyAction.js +15 -0
  102. package/hooks/useTypographyAction.js.map +1 -0
  103. package/hooks/useWebinyList.d.ts +2 -0
  104. package/hooks/useWebinyList.js +39 -0
  105. package/hooks/useWebinyList.js.map +1 -0
  106. package/hooks/useWebinyQuote.d.ts +2 -0
  107. package/hooks/useWebinyQuote.js +20 -0
  108. package/hooks/useWebinyQuote.js.map +1 -0
  109. package/images/icons/LICENSE.md +5 -0
  110. package/images/icons/chat-square-quote.svg +1 -0
  111. package/images/icons/chevron-down.svg +1 -0
  112. package/images/icons/code.svg +1 -0
  113. package/images/icons/font-color.svg +1 -0
  114. package/images/icons/link.svg +1 -0
  115. package/images/icons/list-ol.svg +1 -0
  116. package/images/icons/list-ul.svg +1 -0
  117. package/images/icons/pencil-fill.svg +1 -0
  118. package/images/icons/text-center.svg +1 -0
  119. package/images/icons/text-left.svg +1 -0
  120. package/images/icons/text-paragraph.svg +1 -0
  121. package/images/icons/text-right.svg +1 -0
  122. package/images/icons/type-bold.svg +1 -0
  123. package/images/icons/type-h1.svg +1 -0
  124. package/images/icons/type-h2.svg +1 -0
  125. package/images/icons/type-h3.svg +1 -0
  126. package/images/icons/type-h4.svg +1 -0
  127. package/images/icons/type-h5.svg +1 -0
  128. package/images/icons/type-h6.svg +1 -0
  129. package/images/icons/type-italic.svg +1 -0
  130. package/images/icons/type-strikethrough.svg +1 -0
  131. package/images/icons/type-underline.svg +1 -0
  132. package/images/icons/unlink_icon.svg +1 -0
  133. package/index.d.ts +40 -0
  134. package/index.js +281 -0
  135. package/index.js.map +1 -0
  136. package/nodes/FontColorNode.d.ts +43 -0
  137. package/nodes/FontColorNode.js +127 -0
  138. package/nodes/FontColorNode.js.map +1 -0
  139. package/nodes/TypographyElementNode.d.ts +42 -0
  140. package/nodes/TypographyElementNode.js +154 -0
  141. package/nodes/TypographyElementNode.js.map +1 -0
  142. package/nodes/WebinyQuoteNode.d.ts +29 -0
  143. package/nodes/WebinyQuoteNode.js +148 -0
  144. package/nodes/WebinyQuoteNode.js.map +1 -0
  145. package/nodes/list-node/WebinyListItemNode.d.ts +46 -0
  146. package/nodes/list-node/WebinyListItemNode.js +441 -0
  147. package/nodes/list-node/WebinyListItemNode.js.map +1 -0
  148. package/nodes/list-node/WebinyListNode.d.ts +38 -0
  149. package/nodes/list-node/WebinyListNode.js +253 -0
  150. package/nodes/list-node/WebinyListNode.js.map +1 -0
  151. package/nodes/list-node/formatList.d.ts +12 -0
  152. package/nodes/list-node/formatList.js +423 -0
  153. package/nodes/list-node/formatList.js.map +1 -0
  154. package/nodes/webinyNodes.d.ts +7 -0
  155. package/nodes/webinyNodes.js +21 -0
  156. package/nodes/webinyNodes.js.map +1 -0
  157. package/package.json +41 -0
  158. package/plugins/AutoLinkPlugin/AutoLinkPlugin.d.ts +11 -0
  159. package/plugins/AutoLinkPlugin/AutoLinkPlugin.js +46 -0
  160. package/plugins/AutoLinkPlugin/AutoLinkPlugin.js.map +1 -0
  161. package/plugins/AutoLinkPlugin/index.d.ts +1 -0
  162. package/plugins/AutoLinkPlugin/index.js +16 -0
  163. package/plugins/AutoLinkPlugin/index.js.map +1 -0
  164. package/plugins/BlurEventPlugin/BlurEventPlugin.d.ts +7 -0
  165. package/plugins/BlurEventPlugin/BlurEventPlugin.js +28 -0
  166. package/plugins/BlurEventPlugin/BlurEventPlugin.js.map +1 -0
  167. package/plugins/ClickableLinkPlugin/ClickableLinkPlugin.d.ts +17 -0
  168. package/plugins/ClickableLinkPlugin/ClickableLinkPlugin.js +88 -0
  169. package/plugins/ClickableLinkPlugin/ClickableLinkPlugin.js.map +1 -0
  170. package/plugins/ClickableLinkPlugin/index.d.ts +1 -0
  171. package/plugins/ClickableLinkPlugin/index.js +16 -0
  172. package/plugins/ClickableLinkPlugin/index.js.map +1 -0
  173. package/plugins/CodeHighlightPlugin/CodeHighlightPlugin.d.ts +1 -0
  174. package/plugins/CodeHighlightPlugin/CodeHighlightPlugin.js +20 -0
  175. package/plugins/CodeHighlightPlugin/CodeHighlightPlugin.js.map +1 -0
  176. package/plugins/CodeHighlightPlugin/index.d.ts +1 -0
  177. package/plugins/CodeHighlightPlugin/index.js +16 -0
  178. package/plugins/CodeHighlightPlugin/index.js.map +1 -0
  179. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorPlugin.css +118 -0
  180. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorPlugin.d.ts +7 -0
  181. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorPlugin.js +222 -0
  182. package/plugins/FloatingLinkEditorPlugin/FloatingLinkEditorPlugin.js.map +1 -0
  183. package/plugins/FloatingLinkEditorPlugin/index.d.ts +1 -0
  184. package/plugins/FloatingLinkEditorPlugin/index.js +16 -0
  185. package/plugins/FloatingLinkEditorPlugin/index.js.map +1 -0
  186. package/plugins/FontColorPlugin/FontColorPlugin.d.ts +2 -0
  187. package/plugins/FontColorPlugin/FontColorPlugin.js +38 -0
  188. package/plugins/FontColorPlugin/FontColorPlugin.js.map +1 -0
  189. package/plugins/LexicalUpdateStatePlugin/LexicalUpdateStatePlugin.d.ts +8 -0
  190. package/plugins/LexicalUpdateStatePlugin/LexicalUpdateStatePlugin.js +34 -0
  191. package/plugins/LexicalUpdateStatePlugin/LexicalUpdateStatePlugin.js.map +1 -0
  192. package/plugins/LexicalUpdateStatePlugin/index.d.ts +1 -0
  193. package/plugins/LexicalUpdateStatePlugin/index.js +16 -0
  194. package/plugins/LexicalUpdateStatePlugin/index.js.map +1 -0
  195. package/plugins/TypographyPlugin/TypographyPlugin.d.ts +2 -0
  196. package/plugins/TypographyPlugin/TypographyPlugin.js +31 -0
  197. package/plugins/TypographyPlugin/TypographyPlugin.js.map +1 -0
  198. package/plugins/WebinyListPLugin/WebinyListPlugin.d.ts +1 -0
  199. package/plugins/WebinyListPLugin/WebinyListPlugin.js +25 -0
  200. package/plugins/WebinyListPLugin/WebinyListPlugin.js.map +1 -0
  201. package/plugins/WebinyQuoteNodePlugin/WebinyQuoteNodePlugin.d.ts +1 -0
  202. package/plugins/WebinyQuoteNodePlugin/WebinyQuoteNodePlugin.js +24 -0
  203. package/plugins/WebinyQuoteNodePlugin/WebinyQuoteNodePlugin.js.map +1 -0
  204. package/themes/webinyLexicalTheme.css +420 -0
  205. package/themes/webinyLexicalTheme.d.ts +9 -0
  206. package/themes/webinyLexicalTheme.js +87 -0
  207. package/themes/webinyLexicalTheme.js.map +1 -0
  208. package/types.d.ts +61 -0
  209. package/types.js +12 -0
  210. package/types.js.map +1 -0
  211. package/ui/Divider.d.ts +2 -0
  212. package/ui/Divider.js +13 -0
  213. package/ui/Divider.js.map +1 -0
  214. package/ui/DropDown.d.ts +26 -0
  215. package/ui/DropDown.js +173 -0
  216. package/ui/DropDown.js.map +1 -0
  217. package/ui/Input.css +32 -0
  218. package/ui/LinkPreview.css +69 -0
  219. package/ui/LinkPreview.d.ts +12 -0
  220. package/ui/LinkPreview.js +101 -0
  221. package/ui/LinkPreview.js.map +1 -0
  222. package/ui/Placeholder.css +23 -0
  223. package/ui/Placeholder.d.ts +13 -0
  224. package/ui/Placeholder.js +24 -0
  225. package/ui/Placeholder.js.map +1 -0
  226. package/ui/TextInput.d.ts +18 -0
  227. package/ui/TextInput.js +39 -0
  228. package/ui/TextInput.js.map +1 -0
  229. package/ui/ToolbarActionDialog.d.ts +12 -0
  230. package/ui/ToolbarActionDialog.js +106 -0
  231. package/ui/ToolbarActionDialog.js.map +1 -0
  232. package/utils/generateInitialLexicalValue.d.ts +5 -0
  233. package/utils/generateInitialLexicalValue.js +29 -0
  234. package/utils/generateInitialLexicalValue.js.map +1 -0
  235. package/utils/getDOMRangeRect.d.ts +10 -0
  236. package/utils/getDOMRangeRect.js +27 -0
  237. package/utils/getDOMRangeRect.js.map +1 -0
  238. package/utils/getLexicalTextSelectionState.d.ts +5 -0
  239. package/utils/getLexicalTextSelectionState.js +141 -0
  240. package/utils/getLexicalTextSelectionState.js.map +1 -0
  241. package/utils/getSelectedNode.d.ts +2 -0
  242. package/utils/getSelectedNode.js +30 -0
  243. package/utils/getSelectedNode.js.map +1 -0
  244. package/utils/isValidJSON.d.ts +1 -0
  245. package/utils/isValidJSON.js +18 -0
  246. package/utils/isValidJSON.js.map +1 -0
  247. package/utils/isValidLexicalData.d.ts +2 -0
  248. package/utils/isValidLexicalData.js +24 -0
  249. package/utils/isValidLexicalData.js.map +1 -0
  250. package/utils/nodes/clearNodeFormating.d.ts +2 -0
  251. package/utils/nodes/clearNodeFormating.js +28 -0
  252. package/utils/nodes/clearNodeFormating.js.map +1 -0
  253. package/utils/nodes/formatToParagraph.d.ts +2 -0
  254. package/utils/nodes/formatToParagraph.js +19 -0
  255. package/utils/nodes/formatToParagraph.js.map +1 -0
  256. package/utils/nodes/formatToQuote.d.ts +2 -0
  257. package/utils/nodes/formatToQuote.js +20 -0
  258. package/utils/nodes/formatToQuote.js.map +1 -0
  259. package/utils/nodes/list-node.d.ts +11 -0
  260. package/utils/nodes/list-node.js +107 -0
  261. package/utils/nodes/list-node.js.map +1 -0
  262. package/utils/point.d.ts +21 -0
  263. package/utils/point.js +77 -0
  264. package/utils/point.js.map +1 -0
  265. package/utils/rect.d.ts +47 -0
  266. package/utils/rect.js +169 -0
  267. package/utils/rect.js.map +1 -0
  268. package/utils/sanitizeUrl.d.ts +8 -0
  269. package/utils/sanitizeUrl.js +27 -0
  270. package/utils/sanitizeUrl.js.map +1 -0
  271. package/utils/setFloatingElemPosition.d.ts +3 -0
  272. package/utils/setFloatingElemPosition.js +40 -0
  273. package/utils/setFloatingElemPosition.js.map +1 -0
  274. package/utils/styleObjectToString.d.ts +2 -0
  275. package/utils/styleObjectToString.js +22 -0
  276. package/utils/styleObjectToString.js.map +1 -0
  277. package/utils/toTypographyEmotionMap.d.ts +3 -0
  278. package/utils/toTypographyEmotionMap.js +36 -0
  279. package/utils/toTypographyEmotionMap.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ADD_TYPOGRAPHY_ELEMENT_COMMAND","createCommand","TypographyNodeAttrName","TypographyElementNode","value","key","__tag","tag","__styleId","id","__name","name","__css","css","element","theme","typographyStyleValue","emotionMap","undefined","styles","addClassNamesToElement","className","setAttribute","typographyStyles","styleId","type","version","config","document","createElement","addStylesHTMLElement","newElement","$createTypographyNode","direction","getDirection","setDirection","insertAfter","paragraph","$createParagraphNode","children","getChildren","forEach","child","append","replace","node","__key","serializedNode","setFormat","format","setIndent","indent","ElementNode","$isTypographyElementNode"],"sources":["TypographyElementNode.ts"],"sourcesContent":["import {\n $createParagraphNode,\n createCommand,\n EditorConfig,\n ElementNode,\n LexicalCommand,\n LexicalEditor,\n LexicalNode,\n NodeKey,\n SerializedElementNode,\n Spread\n} from \"lexical\";\nimport { WebinyEditorTheme } from \"~/themes/webinyLexicalTheme\";\nimport { TypographyHTMLTag, TypographyValue } from \"~/types\";\nimport { addClassNamesToElement } from \"@lexical/utils\";\n\n// Command and payload\nexport const ADD_TYPOGRAPHY_ELEMENT_COMMAND: LexicalCommand<TypographyPayload> = createCommand(\n \"ADD_TYPOGRAPHY_ELEMENT_COMMAND\"\n);\nconst TypographyNodeAttrName = \"data-typography-style-id\";\n\nexport interface TypographyPayload {\n value: TypographyValue;\n caption?: LexicalEditor;\n key?: NodeKey;\n}\n\n// Node\nexport type SerializedTypographyNode = Spread<\n {\n tag: TypographyHTMLTag;\n styleId: string;\n name: string;\n typographyStyles: Record<string, any>;\n type: \"typography-el-node\";\n version: 1;\n },\n SerializedElementNode\n>;\n\n/**\n * Main responsibility of this node is to apply custom or Webiny theme typography to selected text.\n * Extends the original ElementNode node to add additional transformation and support for webiny theme typography.\n */\nexport class TypographyElementNode extends ElementNode {\n __styleId: string;\n __tag: TypographyHTMLTag;\n __name: string;\n __css: Record<string, any>;\n\n constructor(value: TypographyValue, key?: NodeKey) {\n super(key);\n this.__tag = value.tag;\n this.__styleId = value.id;\n this.__name = value.name;\n this.__css = value.css;\n }\n\n static override getType(): string {\n return \"typography-el-node\";\n }\n\n static override clone(node: TypographyElementNode): TypographyElementNode {\n return new TypographyElementNode(\n {\n css: node.__css,\n id: node.__styleId,\n name: node.__name,\n tag: node.__tag\n },\n node.__key\n );\n }\n getTypographyValue(): TypographyValue {\n return {\n tag: this.__tag,\n css: this.__css,\n id: this.__styleId,\n name: this.__name\n };\n }\n\n addStylesHTMLElement(element: HTMLElement, theme: WebinyEditorTheme): HTMLElement {\n const typographyStyleValue = theme?.emotionMap\n ? theme?.emotionMap[this.__styleId]\n : undefined;\n if (typographyStyleValue) {\n this.__css = typographyStyleValue.styles;\n addClassNamesToElement(element, typographyStyleValue.className);\n }\n element.setAttribute(TypographyNodeAttrName, this.__styleId);\n\n return element;\n }\n\n override exportJSON(): SerializedTypographyNode {\n return {\n ...super.exportJSON(),\n tag: this.__tag,\n typographyStyles: this.__css,\n name: this.__name,\n styleId: this.__styleId,\n type: \"typography-el-node\",\n version: 1\n };\n }\n\n static override importJSON(serializedNode: SerializedTypographyNode): TypographyElementNode {\n const node = new TypographyElementNode({\n id: serializedNode.styleId,\n css: serializedNode.typographyStyles,\n tag: serializedNode.tag,\n name: serializedNode.name\n });\n node.setFormat(serializedNode.format);\n node.setIndent(serializedNode.indent);\n node.setDirection(serializedNode.direction);\n return node;\n }\n\n override createDOM(config: EditorConfig): HTMLElement {\n const tag = this.__tag;\n const element = document.createElement(tag);\n return this.addStylesHTMLElement(element, config.theme);\n }\n\n override updateDOM(): boolean {\n return false;\n }\n\n override insertNewAfter(): TypographyElementNode {\n const newElement = $createTypographyNode({\n tag: this.__tag,\n name: this.__name,\n css: this.__css,\n id: this.__styleId\n });\n const direction = this.getDirection();\n newElement.setDirection(direction);\n this.insertAfter(newElement);\n return newElement;\n }\n\n override collapseAtStart(): true {\n const paragraph = $createParagraphNode();\n const children = this.getChildren();\n children.forEach(child => paragraph.append(child));\n this.replace(paragraph);\n return true;\n }\n}\n\nexport const $createTypographyNode = (\n value: TypographyValue,\n key?: NodeKey\n): TypographyElementNode => {\n return new TypographyElementNode(value, key);\n};\n\nexport const $isTypographyElementNode = (node: ElementNode | LexicalNode | null): boolean => {\n return node instanceof TypographyElementNode;\n};\n"],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /// <reference types="react" />
2
+ /// <reference types="web" />
3
+ import { DOMConversionMap, EditorConfig, ElementNode, LexicalNode, NodeKey, ParagraphNode, SerializedElementNode, Spread } from "lexical";
4
+ import { WebinyEditorTheme } from "../themes/webinyLexicalTheme";
5
+ import { QuoteBlockHtmlTag, WebinyThemeNode } from "../types";
6
+ export declare type SerializedWebinyQuoteNode = Spread<{
7
+ tag: QuoteBlockHtmlTag;
8
+ styleId: string;
9
+ type: "webiny-quote";
10
+ version: 1;
11
+ }, SerializedElementNode>;
12
+ export declare class WebinyQuoteNode extends ElementNode implements WebinyThemeNode {
13
+ __themeStyleId: string;
14
+ constructor(themeStyleId?: string, key?: NodeKey);
15
+ getStyleId: () => string;
16
+ static getType(): string;
17
+ getTag(): QuoteBlockHtmlTag;
18
+ static clone(node: WebinyQuoteNode): WebinyQuoteNode;
19
+ addThemeStylesToHTMLElement(element: HTMLElement, theme: WebinyEditorTheme): HTMLElement;
20
+ createDOM(config: EditorConfig): HTMLElement;
21
+ updateDOM(): boolean;
22
+ static importDOM(): DOMConversionMap | null;
23
+ static importJSON(serializedNode: SerializedWebinyQuoteNode): WebinyQuoteNode;
24
+ exportJSON(): SerializedWebinyQuoteNode;
25
+ insertNewAfter(): ParagraphNode;
26
+ collapseAtStart(): true;
27
+ }
28
+ export declare function $createWebinyQuoteNode(themeStyleId?: string, key?: NodeKey): WebinyQuoteNode;
29
+ export declare function $isWebinyQuoteNode(node: LexicalNode | null | undefined): node is WebinyQuoteNode;
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.$createWebinyQuoteNode = $createWebinyQuoteNode;
8
+ exports.$isWebinyQuoteNode = $isWebinyQuoteNode;
9
+ exports.WebinyQuoteNode = void 0;
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
14
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
15
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
+ var _lexical = require("lexical");
20
+ var _styleObjectToString = require("../utils/styleObjectToString");
21
+ var _utils = require("@lexical/utils");
22
+ function convertBlockquoteElement() {
23
+ var node = $createWebinyQuoteNode();
24
+ return {
25
+ node: node
26
+ };
27
+ }
28
+ var QuoteNodeAttrName = "data-quote-style-id";
29
+ var WebinyQuoteNode = /*#__PURE__*/function (_ElementNode) {
30
+ (0, _inherits2.default)(WebinyQuoteNode, _ElementNode);
31
+ var _super = (0, _createSuper2.default)(WebinyQuoteNode);
32
+ function WebinyQuoteNode(themeStyleId, key) {
33
+ var _this;
34
+ (0, _classCallCheck2.default)(this, WebinyQuoteNode);
35
+ _this = _super.call(this, key);
36
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "__themeStyleId", void 0);
37
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getStyleId", function () {
38
+ return _this.__themeStyleId;
39
+ });
40
+ _this.__themeStyleId = themeStyleId || "";
41
+ return _this;
42
+ }
43
+ (0, _createClass2.default)(WebinyQuoteNode, [{
44
+ key: "getTag",
45
+ value: function getTag() {
46
+ return "quoteblock";
47
+ }
48
+ }, {
49
+ key: "addThemeStylesToHTMLElement",
50
+ value: function addThemeStylesToHTMLElement(element, theme) {
51
+ var styles = {};
52
+ var typographyValue = theme !== null && theme !== void 0 && theme.emotionMap ? theme.emotionMap[this.__themeStyleId] : undefined;
53
+ if (this.__themeStyleId && typographyValue) {
54
+ styles = typographyValue.styles;
55
+ (0, _utils.addClassNamesToElement)(element, typographyValue === null || typographyValue === void 0 ? void 0 : typographyValue.className);
56
+ }
57
+ element.setAttribute(QuoteNodeAttrName, this.__themeStyleId || "");
58
+ element.style.cssText = (0, _styleObjectToString.styleObjectToString)(styles);
59
+ return element;
60
+ }
61
+
62
+ // View
63
+ }, {
64
+ key: "createDOM",
65
+ value: function createDOM(config) {
66
+ var element = document.createElement("blockquote");
67
+ (0, _utils.addClassNamesToElement)(element, config.theme.quote);
68
+ this.addThemeStylesToHTMLElement(element, config.theme);
69
+ return element;
70
+ }
71
+ }, {
72
+ key: "updateDOM",
73
+ value: function updateDOM() {
74
+ return false;
75
+ }
76
+ }, {
77
+ key: "exportJSON",
78
+ value: function exportJSON() {
79
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _get2.default)((0, _getPrototypeOf2.default)(WebinyQuoteNode.prototype), "exportJSON", this).call(this)), {}, {
80
+ tag: "quoteblock",
81
+ type: "webiny-quote",
82
+ styleId: this.__themeStyleId,
83
+ version: 1
84
+ });
85
+ }
86
+
87
+ // Mutation
88
+ }, {
89
+ key: "insertNewAfter",
90
+ value: function insertNewAfter() {
91
+ var newBlock = (0, _lexical.$createParagraphNode)();
92
+ var direction = this.getDirection();
93
+ newBlock.setDirection(direction);
94
+ this.insertAfter(newBlock);
95
+ return newBlock;
96
+ }
97
+ }, {
98
+ key: "collapseAtStart",
99
+ value: function collapseAtStart() {
100
+ var paragraph = (0, _lexical.$createParagraphNode)();
101
+ var children = this.getChildren();
102
+ children.forEach(function (child) {
103
+ return paragraph.append(child);
104
+ });
105
+ this.replace(paragraph);
106
+ return true;
107
+ }
108
+ }], [{
109
+ key: "getType",
110
+ value: function getType() {
111
+ return "webiny-quote";
112
+ }
113
+ }, {
114
+ key: "clone",
115
+ value: function clone(node) {
116
+ return new WebinyQuoteNode(node.__themeStyleId, node.__key);
117
+ }
118
+ }, {
119
+ key: "importDOM",
120
+ value: function importDOM() {
121
+ return {
122
+ blockquote: function blockquote() {
123
+ return {
124
+ conversion: convertBlockquoteElement,
125
+ priority: 0
126
+ };
127
+ }
128
+ };
129
+ }
130
+ }, {
131
+ key: "importJSON",
132
+ value: function importJSON(serializedNode) {
133
+ var node = $createWebinyQuoteNode(serializedNode.styleId);
134
+ node.setFormat(serializedNode.format);
135
+ node.setIndent(serializedNode.indent);
136
+ node.setDirection(serializedNode.direction);
137
+ return node;
138
+ }
139
+ }]);
140
+ return WebinyQuoteNode;
141
+ }(_lexical.ElementNode);
142
+ exports.WebinyQuoteNode = WebinyQuoteNode;
143
+ function $createWebinyQuoteNode(themeStyleId, key) {
144
+ return new WebinyQuoteNode(themeStyleId, key);
145
+ }
146
+ function $isWebinyQuoteNode(node) {
147
+ return node instanceof WebinyQuoteNode;
148
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"names":["convertBlockquoteElement","node","$createWebinyQuoteNode","QuoteNodeAttrName","WebinyQuoteNode","themeStyleId","key","__themeStyleId","element","theme","styles","typographyValue","emotionMap","undefined","addClassNamesToElement","className","setAttribute","style","cssText","styleObjectToString","config","document","createElement","quote","addThemeStylesToHTMLElement","tag","type","styleId","version","newBlock","$createParagraphNode","direction","getDirection","setDirection","insertAfter","paragraph","children","getChildren","forEach","child","append","replace","__key","blockquote","conversion","priority","serializedNode","setFormat","format","setIndent","indent","ElementNode","$isWebinyQuoteNode"],"sources":["WebinyQuoteNode.ts"],"sourcesContent":["import {\n $createParagraphNode,\n DOMConversionMap,\n EditorConfig,\n ElementNode,\n LexicalNode,\n NodeKey,\n ParagraphNode,\n SerializedElementNode,\n Spread\n} from \"lexical\";\nimport { WebinyEditorTheme } from \"~/themes/webinyLexicalTheme\";\nimport { styleObjectToString } from \"~/utils/styleObjectToString\";\nimport { QuoteBlockHtmlTag, WebinyThemeNode } from \"~/types\";\nimport { addClassNamesToElement } from \"@lexical/utils\";\nimport { CSSObject } from \"@emotion/react\";\n\nfunction convertBlockquoteElement() {\n const node = $createWebinyQuoteNode();\n return {\n node\n };\n}\n\nconst QuoteNodeAttrName = \"data-quote-style-id\";\n\nexport type SerializedWebinyQuoteNode = Spread<\n {\n tag: QuoteBlockHtmlTag;\n styleId: string;\n type: \"webiny-quote\";\n version: 1;\n },\n SerializedElementNode\n>;\n\nexport class WebinyQuoteNode extends ElementNode implements WebinyThemeNode {\n __themeStyleId: string;\n\n constructor(themeStyleId?: string, key?: NodeKey) {\n super(key);\n this.__themeStyleId = themeStyleId || \"\";\n }\n\n getStyleId = (): string => {\n return this.__themeStyleId;\n };\n\n static override getType(): string {\n return \"webiny-quote\";\n }\n\n getTag(): QuoteBlockHtmlTag {\n return \"quoteblock\";\n }\n\n static override clone(node: WebinyQuoteNode): WebinyQuoteNode {\n return new WebinyQuoteNode(node.__themeStyleId, node.__key);\n }\n\n addThemeStylesToHTMLElement(element: HTMLElement, theme: WebinyEditorTheme): HTMLElement {\n let styles: CSSObject = {};\n const typographyValue = theme?.emotionMap\n ? theme.emotionMap[this.__themeStyleId]\n : undefined;\n if (this.__themeStyleId && typographyValue) {\n styles = typographyValue.styles;\n addClassNamesToElement(element, typographyValue?.className);\n }\n\n element.setAttribute(QuoteNodeAttrName, this.__themeStyleId || \"\");\n element.style.cssText = styleObjectToString(styles);\n return element;\n }\n\n // View\n override createDOM(config: EditorConfig): HTMLElement {\n const element = document.createElement(\"blockquote\");\n addClassNamesToElement(element, config.theme.quote);\n this.addThemeStylesToHTMLElement(element, config.theme);\n return element;\n }\n override updateDOM(): boolean {\n return false;\n }\n\n static importDOM(): DOMConversionMap | null {\n return {\n blockquote: () => ({\n conversion: convertBlockquoteElement,\n priority: 0\n })\n };\n }\n\n static override importJSON(serializedNode: SerializedWebinyQuoteNode): WebinyQuoteNode {\n const node = $createWebinyQuoteNode(serializedNode.styleId);\n node.setFormat(serializedNode.format);\n node.setIndent(serializedNode.indent);\n node.setDirection(serializedNode.direction);\n return node;\n }\n\n override exportJSON(): SerializedWebinyQuoteNode {\n return {\n ...super.exportJSON(),\n tag: \"quoteblock\",\n type: \"webiny-quote\",\n styleId: this.__themeStyleId,\n version: 1\n };\n }\n\n // Mutation\n\n override insertNewAfter(): ParagraphNode {\n const newBlock = $createParagraphNode();\n const direction = this.getDirection();\n newBlock.setDirection(direction);\n this.insertAfter(newBlock);\n return newBlock;\n }\n\n override collapseAtStart(): true {\n const paragraph = $createParagraphNode();\n const children = this.getChildren();\n children.forEach(child => paragraph.append(child));\n this.replace(paragraph);\n return true;\n }\n}\n\nexport function $createWebinyQuoteNode(themeStyleId?: string, key?: NodeKey): WebinyQuoteNode {\n return new WebinyQuoteNode(themeStyleId, key);\n}\n\nexport function $isWebinyQuoteNode(node: LexicalNode | null | undefined): node is WebinyQuoteNode {\n return node instanceof WebinyQuoteNode;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAYA;AAEA;AAGA,SAASA,wBAAwB,GAAG;EAChC,IAAMC,IAAI,GAAGC,sBAAsB,EAAE;EACrC,OAAO;IACHD,IAAI,EAAJA;EACJ,CAAC;AACL;AAEA,IAAME,iBAAiB,GAAG,qBAAqB;AAAC,IAYnCC,eAAe;EAAA;EAAA;EAGxB,yBAAYC,YAAqB,EAAEC,GAAa,EAAE;IAAA;IAAA;IAC9C,0BAAMA,GAAG;IAAE;IAAA,yFAIF,YAAc;MACvB,OAAO,MAAKC,cAAc;IAC9B,CAAC;IALG,MAAKA,cAAc,GAAGF,YAAY,IAAI,EAAE;IAAC;EAC7C;EAAC;IAAA;IAAA,OAUD,kBAA4B;MACxB,OAAO,YAAY;IACvB;EAAC;IAAA;IAAA,OAMD,qCAA4BG,OAAoB,EAAEC,KAAwB,EAAe;MACrF,IAAIC,MAAiB,GAAG,CAAC,CAAC;MAC1B,IAAMC,eAAe,GAAGF,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEG,UAAU,GACnCH,KAAK,CAACG,UAAU,CAAC,IAAI,CAACL,cAAc,CAAC,GACrCM,SAAS;MACf,IAAI,IAAI,CAACN,cAAc,IAAII,eAAe,EAAE;QACxCD,MAAM,GAAGC,eAAe,CAACD,MAAM;QAC/B,IAAAI,6BAAsB,EAACN,OAAO,EAAEG,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEI,SAAS,CAAC;MAC/D;MAEAP,OAAO,CAACQ,YAAY,CAACb,iBAAiB,EAAE,IAAI,CAACI,cAAc,IAAI,EAAE,CAAC;MAClEC,OAAO,CAACS,KAAK,CAACC,OAAO,GAAG,IAAAC,wCAAmB,EAACT,MAAM,CAAC;MACnD,OAAOF,OAAO;IAClB;;IAEA;EAAA;IAAA;IAAA,OACA,mBAAmBY,MAAoB,EAAe;MAClD,IAAMZ,OAAO,GAAGa,QAAQ,CAACC,aAAa,CAAC,YAAY,CAAC;MACpD,IAAAR,6BAAsB,EAACN,OAAO,EAAEY,MAAM,CAACX,KAAK,CAACc,KAAK,CAAC;MACnD,IAAI,CAACC,2BAA2B,CAAChB,OAAO,EAAEY,MAAM,CAACX,KAAK,CAAC;MACvD,OAAOD,OAAO;IAClB;EAAC;IAAA;IAAA,OACD,qBAA8B;MAC1B,OAAO,KAAK;IAChB;EAAC;IAAA;IAAA,OAmBD,sBAAiD;MAC7C;QAEIiB,GAAG,EAAE,YAAY;QACjBC,IAAI,EAAE,cAAc;QACpBC,OAAO,EAAE,IAAI,CAACpB,cAAc;QAC5BqB,OAAO,EAAE;MAAC;IAElB;;IAEA;EAAA;IAAA;IAAA,OAEA,0BAAyC;MACrC,IAAMC,QAAQ,GAAG,IAAAC,6BAAoB,GAAE;MACvC,IAAMC,SAAS,GAAG,IAAI,CAACC,YAAY,EAAE;MACrCH,QAAQ,CAACI,YAAY,CAACF,SAAS,CAAC;MAChC,IAAI,CAACG,WAAW,CAACL,QAAQ,CAAC;MAC1B,OAAOA,QAAQ;IACnB;EAAC;IAAA;IAAA,OAED,2BAAiC;MAC7B,IAAMM,SAAS,GAAG,IAAAL,6BAAoB,GAAE;MACxC,IAAMM,QAAQ,GAAG,IAAI,CAACC,WAAW,EAAE;MACnCD,QAAQ,CAACE,OAAO,CAAC,UAAAC,KAAK;QAAA,OAAIJ,SAAS,CAACK,MAAM,CAACD,KAAK,CAAC;MAAA,EAAC;MAClD,IAAI,CAACE,OAAO,CAACN,SAAS,CAAC;MACvB,OAAO,IAAI;IACf;EAAC;IAAA;IAAA,OAjFD,mBAAkC;MAC9B,OAAO,cAAc;IACzB;EAAC;IAAA;IAAA,OAMD,eAAsBlC,IAAqB,EAAmB;MAC1D,OAAO,IAAIG,eAAe,CAACH,IAAI,CAACM,cAAc,EAAEN,IAAI,CAACyC,KAAK,CAAC;IAC/D;EAAC;IAAA;IAAA,OA4BD,qBAA4C;MACxC,OAAO;QACHC,UAAU,EAAE;UAAA,OAAO;YACfC,UAAU,EAAE5C,wBAAwB;YACpC6C,QAAQ,EAAE;UACd,CAAC;QAAA;MACL,CAAC;IACL;EAAC;IAAA;IAAA,OAED,oBAA2BC,cAAyC,EAAmB;MACnF,IAAM7C,IAAI,GAAGC,sBAAsB,CAAC4C,cAAc,CAACnB,OAAO,CAAC;MAC3D1B,IAAI,CAAC8C,SAAS,CAACD,cAAc,CAACE,MAAM,CAAC;MACrC/C,IAAI,CAACgD,SAAS,CAACH,cAAc,CAACI,MAAM,CAAC;MACrCjD,IAAI,CAACgC,YAAY,CAACa,cAAc,CAACf,SAAS,CAAC;MAC3C,OAAO9B,IAAI;IACf;EAAC;EAAA;AAAA,EAjEgCkD,oBAAW;AAAA;AAgGzC,SAASjD,sBAAsB,CAACG,YAAqB,EAAEC,GAAa,EAAmB;EAC1F,OAAO,IAAIF,eAAe,CAACC,YAAY,EAAEC,GAAG,CAAC;AACjD;AAEO,SAAS8C,kBAAkB,CAACnD,IAAoC,EAA2B;EAC9F,OAAOA,IAAI,YAAYG,eAAe;AAC1C"}
@@ -0,0 +1,46 @@
1
+ /// <reference types="react" />
2
+ /// <reference types="web" />
3
+ import { DOMConversionMap, EditorConfig, ElementNode, GridSelection, LexicalNode, NodeKey, NodeSelection, ParagraphNode, RangeSelection, SerializedElementNode } from "lexical";
4
+ import { Spread } from "lexical";
5
+ export declare type SerializedWebinyListItemNode = Spread<{
6
+ checked: boolean | undefined;
7
+ type: "webiny-listitem";
8
+ value: number;
9
+ version: 1;
10
+ }, SerializedElementNode>;
11
+ /** @noInheritDoc */
12
+ export declare class WebinyListItemNode extends ElementNode {
13
+ /** @internal */
14
+ __value: number;
15
+ /** @internal */
16
+ __checked?: boolean;
17
+ static getType(): string;
18
+ static clone(node: WebinyListItemNode): WebinyListItemNode;
19
+ constructor(value?: number, checked?: boolean, key?: NodeKey);
20
+ createDOM(config: EditorConfig): HTMLElement;
21
+ updateDOM(prevNode: WebinyListItemNode, dom: HTMLElement, config: EditorConfig): boolean;
22
+ static importDOM(): DOMConversionMap | null;
23
+ static importJSON(serializedNode: SerializedWebinyListItemNode): WebinyListItemNode;
24
+ exportJSON(): SerializedWebinyListItemNode;
25
+ append(...nodes: LexicalNode[]): this;
26
+ replace<N extends LexicalNode>(replaceWithNode: N): N;
27
+ insertAfter(node: LexicalNode): LexicalNode;
28
+ remove(preserveEmptyParent?: boolean): void;
29
+ insertNewAfter(): WebinyListItemNode | ParagraphNode;
30
+ collapseAtStart(selection: RangeSelection): true;
31
+ getValue(): number;
32
+ setValue(value: number): void;
33
+ getChecked(): boolean | undefined;
34
+ setChecked(checked?: boolean): void;
35
+ toggleChecked(): void;
36
+ getIndent(): number;
37
+ setIndent(indent: number): this;
38
+ canIndent(): false;
39
+ insertBefore(nodeToInsert: LexicalNode): LexicalNode;
40
+ canInsertAfter(node: LexicalNode): boolean;
41
+ canReplaceWith(replacement: LexicalNode): boolean;
42
+ canMergeWith(node: LexicalNode): boolean;
43
+ extractWithChild(child: LexicalNode, selection: RangeSelection | NodeSelection | GridSelection): boolean;
44
+ }
45
+ export declare function $createWebinyListItemNode(checked?: boolean): WebinyListItemNode;
46
+ export declare function $isWebinyListItemNode(node: LexicalNode | null | undefined): node is WebinyListItemNode;