@datalayer/lexical-loro 0.1.0 → 0.2.1

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 (400) hide show
  1. package/README.md +1 -1
  2. package/package.json +7 -7
  3. package/lib/App.d.ts +0 -2
  4. package/lib/App.js +0 -141
  5. package/lib/Editor.d.ts +0 -2
  6. package/lib/Editor.js +0 -111
  7. package/lib/Settings.d.ts +0 -2
  8. package/lib/Settings.js +0 -57
  9. package/lib/appSettings.d.ts +0 -36
  10. package/lib/appSettings.js +0 -44
  11. package/lib/collab/loro/Bindings.d.ts +0 -41
  12. package/lib/collab/loro/Bindings.js +0 -95
  13. package/lib/collab/loro/Debug.d.ts +0 -33
  14. package/lib/collab/loro/Debug.js +0 -448
  15. package/lib/collab/loro/LexicalCollaborationContext.d.ts +0 -19
  16. package/lib/collab/loro/LexicalCollaborationContext.js +0 -48
  17. package/lib/collab/loro/LexicalCollaborationPlugin.d.ts +0 -24
  18. package/lib/collab/loro/LexicalCollaborationPlugin.js +0 -83
  19. package/lib/collab/loro/State.d.ts +0 -53
  20. package/lib/collab/loro/State.js +0 -90
  21. package/lib/collab/loro/components/LoroCollaborationUI.d.ts +0 -13
  22. package/lib/collab/loro/components/LoroCollaborationUI.js +0 -9
  23. package/lib/collab/loro/components/LoroCollaborators.d.ts +0 -8
  24. package/lib/collab/loro/components/LoroCollaborators.js +0 -97
  25. package/lib/collab/loro/components/index.d.ts +0 -2
  26. package/lib/collab/loro/components/index.js +0 -2
  27. package/lib/collab/loro/index.d.ts +0 -6
  28. package/lib/collab/loro/index.js +0 -6
  29. package/lib/collab/loro/integrators/BaseIntegrator.d.ts +0 -14
  30. package/lib/collab/loro/integrators/BaseIntegrator.js +0 -1
  31. package/lib/collab/loro/integrators/CounterIntegrator.d.ts +0 -23
  32. package/lib/collab/loro/integrators/CounterIntegrator.js +0 -40
  33. package/lib/collab/loro/integrators/ListIntegrator.d.ts +0 -23
  34. package/lib/collab/loro/integrators/ListIntegrator.js +0 -49
  35. package/lib/collab/loro/integrators/MapIntegrator.d.ts +0 -24
  36. package/lib/collab/loro/integrators/MapIntegrator.js +0 -177
  37. package/lib/collab/loro/integrators/TextIntegrator.d.ts +0 -25
  38. package/lib/collab/loro/integrators/TextIntegrator.js +0 -51
  39. package/lib/collab/loro/integrators/TreeIntegrator.d.ts +0 -25
  40. package/lib/collab/loro/integrators/TreeIntegrator.js +0 -201
  41. package/lib/collab/loro/nodes/NodeFactory.d.ts +0 -8
  42. package/lib/collab/loro/nodes/NodeFactory.js +0 -105
  43. package/lib/collab/loro/nodes/NodesMapper.d.ts +0 -111
  44. package/lib/collab/loro/nodes/NodesMapper.js +0 -258
  45. package/lib/collab/loro/propagators/DecoratorNodePropagator.d.ts +0 -60
  46. package/lib/collab/loro/propagators/DecoratorNodePropagator.js +0 -302
  47. package/lib/collab/loro/propagators/ElementNodePropagator.d.ts +0 -62
  48. package/lib/collab/loro/propagators/ElementNodePropagator.js +0 -335
  49. package/lib/collab/loro/propagators/LineBreakNodePropagator.d.ts +0 -57
  50. package/lib/collab/loro/propagators/LineBreakNodePropagator.js +0 -196
  51. package/lib/collab/loro/propagators/RootNodePropagator.d.ts +0 -55
  52. package/lib/collab/loro/propagators/RootNodePropagator.js +0 -168
  53. package/lib/collab/loro/propagators/TextNodePropagator.d.ts +0 -60
  54. package/lib/collab/loro/propagators/TextNodePropagator.js +0 -434
  55. package/lib/collab/loro/propagators/index.d.ts +0 -49
  56. package/lib/collab/loro/propagators/index.js +0 -32
  57. package/lib/collab/loro/provider/websocket.d.ts +0 -116
  58. package/lib/collab/loro/provider/websocket.js +0 -907
  59. package/lib/collab/loro/servers/index.d.ts +0 -0
  60. package/lib/collab/loro/servers/index.js +0 -0
  61. package/lib/collab/loro/servers/ws/callback.d.ts +0 -5
  62. package/lib/collab/loro/servers/ws/callback.js +0 -85
  63. package/lib/collab/loro/servers/ws/server.d.ts +0 -2
  64. package/lib/collab/loro/servers/ws/server.js +0 -25
  65. package/lib/collab/loro/servers/ws/utils.d.ts +0 -40
  66. package/lib/collab/loro/servers/ws/utils.js +0 -513
  67. package/lib/collab/loro/sync/SyncCursors.d.ts +0 -32
  68. package/lib/collab/loro/sync/SyncCursors.js +0 -435
  69. package/lib/collab/loro/sync/SyncLexicalToLoro.d.ts +0 -4
  70. package/lib/collab/loro/sync/SyncLexicalToLoro.js +0 -80
  71. package/lib/collab/loro/sync/SyncLoroToLexical.d.ts +0 -5
  72. package/lib/collab/loro/sync/SyncLoroToLexical.js +0 -96
  73. package/lib/collab/loro/types/LexicalNodeData.d.ts +0 -32
  74. package/lib/collab/loro/types/LexicalNodeData.js +0 -71
  75. package/lib/collab/loro/useCollaboration.d.ts +0 -12
  76. package/lib/collab/loro/useCollaboration.js +0 -248
  77. package/lib/collab/loro/utils/InitialContent.d.ts +0 -64
  78. package/lib/collab/loro/utils/InitialContent.js +0 -109
  79. package/lib/collab/loro/utils/LexicalToLoro.d.ts +0 -18
  80. package/lib/collab/loro/utils/LexicalToLoro.js +0 -96
  81. package/lib/collab/loro/utils/Utils.d.ts +0 -44
  82. package/lib/collab/loro/utils/Utils.js +0 -153
  83. package/lib/collab/loro/wsProvider.d.ts +0 -8
  84. package/lib/collab/loro/wsProvider.js +0 -31
  85. package/lib/collab/utils/invariant.d.ts +0 -1
  86. package/lib/collab/utils/invariant.js +0 -11
  87. package/lib/collab/utils/simpleDiffWithCursor.d.ts +0 -5
  88. package/lib/collab/utils/simpleDiffWithCursor.js +0 -31
  89. package/lib/collab/yjs/Bindings.d.ts +0 -23
  90. package/lib/collab/yjs/Bindings.js +0 -26
  91. package/lib/collab/yjs/Debug.d.ts +0 -23
  92. package/lib/collab/yjs/Debug.js +0 -213
  93. package/lib/collab/yjs/LexicalCollaborationContext.d.ts +0 -10
  94. package/lib/collab/yjs/LexicalCollaborationContext.js +0 -37
  95. package/lib/collab/yjs/LexicalCollaborationPlugin.d.ts +0 -21
  96. package/lib/collab/yjs/LexicalCollaborationPlugin.js +0 -63
  97. package/lib/collab/yjs/State.d.ts +0 -51
  98. package/lib/collab/yjs/State.js +0 -35
  99. package/lib/collab/yjs/nodes/AnyCollabNode.d.ts +0 -5
  100. package/lib/collab/yjs/nodes/AnyCollabNode.js +0 -1
  101. package/lib/collab/yjs/nodes/CollabDecoratorNode.d.ts +0 -22
  102. package/lib/collab/yjs/nodes/CollabDecoratorNode.js +0 -64
  103. package/lib/collab/yjs/nodes/CollabElementNode.d.ts +0 -40
  104. package/lib/collab/yjs/nodes/CollabElementNode.js +0 -462
  105. package/lib/collab/yjs/nodes/CollabLineBreakNode.d.ts +0 -19
  106. package/lib/collab/yjs/nodes/CollabLineBreakNode.js +0 -44
  107. package/lib/collab/yjs/nodes/CollabTextNode.d.ts +0 -25
  108. package/lib/collab/yjs/nodes/CollabTextNode.js +0 -103
  109. package/lib/collab/yjs/provider/websocket.d.ts +0 -88
  110. package/lib/collab/yjs/provider/websocket.js +0 -415
  111. package/lib/collab/yjs/servers/index.d.ts +0 -0
  112. package/lib/collab/yjs/servers/index.js +0 -0
  113. package/lib/collab/yjs/servers/ws/callback.d.ts +0 -5
  114. package/lib/collab/yjs/servers/ws/callback.js +0 -72
  115. package/lib/collab/yjs/servers/ws/server.d.ts +0 -2
  116. package/lib/collab/yjs/servers/ws/server.js +0 -25
  117. package/lib/collab/yjs/servers/ws/utils.d.ts +0 -49
  118. package/lib/collab/yjs/servers/ws/utils.js +0 -284
  119. package/lib/collab/yjs/sync/SyncCursors.d.ts +0 -39
  120. package/lib/collab/yjs/sync/SyncCursors.js +0 -351
  121. package/lib/collab/yjs/sync/SyncEditorStates.d.ts +0 -10
  122. package/lib/collab/yjs/sync/SyncEditorStates.js +0 -200
  123. package/lib/collab/yjs/useCollaboration.d.ts +0 -12
  124. package/lib/collab/yjs/useCollaboration.js +0 -255
  125. package/lib/collab/yjs/utils/Utils.d.ts +0 -25
  126. package/lib/collab/yjs/utils/Utils.js +0 -402
  127. package/lib/collab/yjs/wsProvider.d.ts +0 -3
  128. package/lib/collab/yjs/wsProvider.js +0 -21
  129. package/lib/commenting/index.d.ts +0 -41
  130. package/lib/commenting/index.js +0 -324
  131. package/lib/context/FlashMessageContext.d.ts +0 -7
  132. package/lib/context/FlashMessageContext.js +0 -24
  133. package/lib/context/SettingsContext.d.ts +0 -12
  134. package/lib/context/SettingsContext.js +0 -38
  135. package/lib/context/SharedHistoryContext.d.ts +0 -11
  136. package/lib/context/SharedHistoryContext.js +0 -11
  137. package/lib/context/ToolbarContext.d.ts +0 -65
  138. package/lib/context/ToolbarContext.js +0 -84
  139. package/lib/demo.d.ts +0 -12
  140. package/lib/demo.js +0 -41
  141. package/lib/hooks/useFlashMessage.d.ts +0 -2
  142. package/lib/hooks/useFlashMessage.js +0 -4
  143. package/lib/hooks/useModal.d.ts +0 -5
  144. package/lib/hooks/useModal.js +0 -26
  145. package/lib/hooks/useReport.d.ts +0 -1
  146. package/lib/hooks/useReport.js +0 -46
  147. package/lib/index.d.ts +0 -1
  148. package/lib/index.js +0 -1
  149. package/lib/nodes/AutocompleteNode.d.ts +0 -27
  150. package/lib/nodes/AutocompleteNode.js +0 -56
  151. package/lib/nodes/CounterComponent.d.ts +0 -6
  152. package/lib/nodes/CounterComponent.js +0 -137
  153. package/lib/nodes/CounterNode.d.ts +0 -23
  154. package/lib/nodes/CounterNode.js +0 -47
  155. package/lib/nodes/DateTimeNode/DateTimeComponent.d.ts +0 -8
  156. package/lib/nodes/DateTimeNode/DateTimeComponent.js +0 -119
  157. package/lib/nodes/DateTimeNode/DateTimeNode.d.ts +0 -27
  158. package/lib/nodes/DateTimeNode/DateTimeNode.js +0 -82
  159. package/lib/nodes/EmojiNode.d.ts +0 -18
  160. package/lib/nodes/EmojiNode.js +0 -50
  161. package/lib/nodes/EquationComponent.d.ts +0 -9
  162. package/lib/nodes/EquationComponent.js +0 -75
  163. package/lib/nodes/EquationNode.d.ts +0 -26
  164. package/lib/nodes/EquationNode.js +0 -109
  165. package/lib/nodes/ExcalidrawNode/ExcalidrawComponent.d.ts +0 -8
  166. package/lib/nodes/ExcalidrawNode/ExcalidrawComponent.js +0 -110
  167. package/lib/nodes/ExcalidrawNode/ExcalidrawImage.d.ts +0 -50
  168. package/lib/nodes/ExcalidrawNode/ExcalidrawImage.js +0 -55
  169. package/lib/nodes/ExcalidrawNode/index.d.ts +0 -32
  170. package/lib/nodes/ExcalidrawNode/index.js +0 -117
  171. package/lib/nodes/FigmaNode.d.ts +0 -20
  172. package/lib/nodes/FigmaNode.js +0 -52
  173. package/lib/nodes/ImageComponent.d.ts +0 -16
  174. package/lib/nodes/ImageComponent.js +0 -272
  175. package/lib/nodes/ImageNode.d.ts +0 -50
  176. package/lib/nodes/ImageNode.js +0 -151
  177. package/lib/nodes/InlineImageNode/InlineImageComponent.d.ts +0 -26
  178. package/lib/nodes/InlineImageNode/InlineImageComponent.js +0 -161
  179. package/lib/nodes/InlineImageNode/InlineImageNode.d.ts +0 -59
  180. package/lib/nodes/InlineImageNode/InlineImageNode.js +0 -162
  181. package/lib/nodes/KeywordNode.d.ts +0 -14
  182. package/lib/nodes/KeywordNode.js +0 -33
  183. package/lib/nodes/LayoutContainerNode.d.ts +0 -24
  184. package/lib/nodes/LayoutContainerNode.js +0 -91
  185. package/lib/nodes/LayoutItemNode.d.ts +0 -16
  186. package/lib/nodes/LayoutItemNode.js +0 -65
  187. package/lib/nodes/MentionNode.d.ts +0 -20
  188. package/lib/nodes/MentionNode.js +0 -81
  189. package/lib/nodes/PageBreakNode/index.d.ts +0 -17
  190. package/lib/nodes/PageBreakNode/index.js +0 -83
  191. package/lib/nodes/PlaygroundNodes.d.ts +0 -3
  192. package/lib/nodes/PlaygroundNodes.js +0 -71
  193. package/lib/nodes/PollComponent.d.ts +0 -9
  194. package/lib/nodes/PollComponent.js +0 -85
  195. package/lib/nodes/PollNode.d.ts +0 -43
  196. package/lib/nodes/PollNode.js +0 -153
  197. package/lib/nodes/SpecialTextNode.d.ts +0 -24
  198. package/lib/nodes/SpecialTextNode.js +0 -50
  199. package/lib/nodes/StickyComponent.d.ts +0 -10
  200. package/lib/nodes/StickyComponent.js +0 -162
  201. package/lib/nodes/StickyNode.d.ts +0 -31
  202. package/lib/nodes/StickyNode.js +0 -76
  203. package/lib/nodes/TweetNode.d.ts +0 -21
  204. package/lib/nodes/TweetNode.js +0 -119
  205. package/lib/nodes/YouTubeNode.d.ts +0 -22
  206. package/lib/nodes/YouTubeNode.js +0 -84
  207. package/lib/plugins/ActionsPlugin/index.d.ts +0 -5
  208. package/lib/plugins/ActionsPlugin/index.js +0 -168
  209. package/lib/plugins/AutoEmbedPlugin/index.d.ts +0 -19
  210. package/lib/plugins/AutoEmbedPlugin/index.js +0 -158
  211. package/lib/plugins/AutoLinkPlugin/index.d.ts +0 -2
  212. package/lib/plugins/AutoLinkPlugin/index.js +0 -15
  213. package/lib/plugins/AutocompletePlugin/index.d.ts +0 -10
  214. package/lib/plugins/AutocompletePlugin/index.js +0 -2473
  215. package/lib/plugins/CodeActionMenuPlugin/components/CopyButton/index.d.ts +0 -7
  216. package/lib/plugins/CodeActionMenuPlugin/components/CopyButton/index.js +0 -42
  217. package/lib/plugins/CodeActionMenuPlugin/components/PrettierButton/index.d.ts +0 -17
  218. package/lib/plugins/CodeActionMenuPlugin/components/PrettierButton/index.js +0 -111
  219. package/lib/plugins/CodeActionMenuPlugin/index.d.ts +0 -5
  220. package/lib/plugins/CodeActionMenuPlugin/index.js +0 -104
  221. package/lib/plugins/CodeActionMenuPlugin/utils.d.ts +0 -1
  222. package/lib/plugins/CodeActionMenuPlugin/utils.js +0 -18
  223. package/lib/plugins/CodeHighlightPrismPlugin/index.d.ts +0 -2
  224. package/lib/plugins/CodeHighlightPrismPlugin/index.js +0 -10
  225. package/lib/plugins/CodeHighlightShikiPlugin/index.d.ts +0 -2
  226. package/lib/plugins/CodeHighlightShikiPlugin/index.js +0 -10
  227. package/lib/plugins/CollapsiblePlugin/CollapsibleContainerNode.d.ts +0 -25
  228. package/lib/plugins/CollapsiblePlugin/CollapsibleContainerNode.js +0 -131
  229. package/lib/plugins/CollapsiblePlugin/CollapsibleContentNode.d.ts +0 -16
  230. package/lib/plugins/CollapsiblePlugin/CollapsibleContentNode.js +0 -79
  231. package/lib/plugins/CollapsiblePlugin/CollapsibleTitleNode.d.ts +0 -16
  232. package/lib/plugins/CollapsiblePlugin/CollapsibleTitleNode.js +0 -81
  233. package/lib/plugins/CollapsiblePlugin/CollapsibleUtils.d.ts +0 -2
  234. package/lib/plugins/CollapsiblePlugin/CollapsibleUtils.js +0 -8
  235. package/lib/plugins/CollapsiblePlugin/index.d.ts +0 -3
  236. package/lib/plugins/CollapsiblePlugin/index.js +0 -128
  237. package/lib/plugins/CommentPlugin/index.d.ts +0 -9
  238. package/lib/plugins/CommentPlugin/index.js +0 -460
  239. package/lib/plugins/ComponentPickerPlugin/index.d.ts +0 -2
  240. package/lib/plugins/ComponentPickerPlugin/index.js +0 -276
  241. package/lib/plugins/ContextMenuPlugin/index.d.ts +0 -2
  242. package/lib/plugins/ContextMenuPlugin/index.js +0 -112
  243. package/lib/plugins/CounterPlugin/index.d.ts +0 -3
  244. package/lib/plugins/CounterPlugin/index.js +0 -20
  245. package/lib/plugins/DatalayerPlugin/index.d.ts +0 -2
  246. package/lib/plugins/DatalayerPlugin/index.js +0 -218
  247. package/lib/plugins/DateTimePlugin/index.d.ts +0 -8
  248. package/lib/plugins/DateTimePlugin/index.js +0 -24
  249. package/lib/plugins/DocsPlugin/index.d.ts +0 -2
  250. package/lib/plugins/DocsPlugin/index.js +0 -4
  251. package/lib/plugins/DragDropPastePlugin/index.d.ts +0 -1
  252. package/lib/plugins/DragDropPastePlugin/index.js +0 -33
  253. package/lib/plugins/DraggableBlockPlugin/index.d.ts +0 -12
  254. package/lib/plugins/DraggableBlockPlugin/index.js +0 -36
  255. package/lib/plugins/EmojiPickerPlugin/index.d.ts +0 -1
  256. package/lib/plugins/EmojiPickerPlugin/index.js +0 -80
  257. package/lib/plugins/EmojisPlugin/index.d.ts +0 -2
  258. package/lib/plugins/EmojisPlugin/index.js +0 -52
  259. package/lib/plugins/EquationsPlugin/index.d.ts +0 -14
  260. package/lib/plugins/EquationsPlugin/index.js +0 -34
  261. package/lib/plugins/ExcalidrawPlugin/index.d.ts +0 -5
  262. package/lib/plugins/ExcalidrawPlugin/index.js +0 -44
  263. package/lib/plugins/FigmaPlugin/index.d.ts +0 -4
  264. package/lib/plugins/FigmaPlugin/index.js +0 -20
  265. package/lib/plugins/FloatingLinkEditorPlugin/index.d.ts +0 -15
  266. package/lib/plugins/FloatingLinkEditorPlugin/index.js +0 -280
  267. package/lib/plugins/FloatingTextFormatToolbarPlugin/index.d.ts +0 -7
  268. package/lib/plugins/FloatingTextFormatToolbarPlugin/index.js +0 -219
  269. package/lib/plugins/ImagesPlugin/index.d.ts +0 -24
  270. package/lib/plugins/ImagesPlugin/index.js +0 -195
  271. package/lib/plugins/InlineImagePlugin/index.d.ts +0 -17
  272. package/lib/plugins/InlineImagePlugin/index.js +0 -180
  273. package/lib/plugins/KeywordsPlugin/index.d.ts +0 -2
  274. package/lib/plugins/KeywordsPlugin/index.js +0 -31
  275. package/lib/plugins/LayoutPlugin/InsertLayoutDialog.d.ts +0 -6
  276. package/lib/plugins/LayoutPlugin/InsertLayoutDialog.js +0 -21
  277. package/lib/plugins/LayoutPlugin/LayoutPlugin.d.ts +0 -7
  278. package/lib/plugins/LayoutPlugin/LayoutPlugin.js +0 -131
  279. package/lib/plugins/LinkPlugin/index.d.ts +0 -6
  280. package/lib/plugins/LinkPlugin/index.js +0 -11
  281. package/lib/plugins/MarkdownShortcutPlugin/index.d.ts +0 -2
  282. package/lib/plugins/MarkdownShortcutPlugin/index.js +0 -6
  283. package/lib/plugins/MarkdownTransformers/index.d.ts +0 -8
  284. package/lib/plugins/MarkdownTransformers/index.js +0 -234
  285. package/lib/plugins/MaxLengthPlugin/index.d.ts +0 -3
  286. package/lib/plugins/MaxLengthPlugin/index.js +0 -37
  287. package/lib/plugins/MentionsPlugin/index.d.ts +0 -2
  288. package/lib/plugins/MentionsPlugin/index.js +0 -564
  289. package/lib/plugins/PageBreakPlugin/index.d.ts +0 -4
  290. package/lib/plugins/PageBreakPlugin/index.js +0 -27
  291. package/lib/plugins/PasteLogPlugin/index.d.ts +0 -2
  292. package/lib/plugins/PasteLogPlugin/index.js +0 -27
  293. package/lib/plugins/PollPlugin/index.d.ts +0 -8
  294. package/lib/plugins/PollPlugin/index.js +0 -38
  295. package/lib/plugins/ShortcutsPlugin/index.d.ts +0 -6
  296. package/lib/plugins/ShortcutsPlugin/index.js +0 -112
  297. package/lib/plugins/ShortcutsPlugin/shortcuts.d.ts +0 -59
  298. package/lib/plugins/ShortcutsPlugin/shortcuts.js +0 -169
  299. package/lib/plugins/SpecialTextPlugin/index.d.ts +0 -2
  300. package/lib/plugins/SpecialTextPlugin/index.js +0 -46
  301. package/lib/plugins/SpeechToTextPlugin/index.d.ts +0 -5
  302. package/lib/plugins/SpeechToTextPlugin/index.js +0 -82
  303. package/lib/plugins/StickyPlugin/index.d.ts +0 -2
  304. package/lib/plugins/StickyPlugin/index.js +0 -12
  305. package/lib/plugins/TabFocusPlugin/index.d.ts +0 -1
  306. package/lib/plugins/TabFocusPlugin/index.js +0 -34
  307. package/lib/plugins/TableActionMenuPlugin/index.d.ts +0 -5
  308. package/lib/plugins/TableActionMenuPlugin/index.js +0 -492
  309. package/lib/plugins/TableCellResizer/index.d.ts +0 -3
  310. package/lib/plugins/TableCellResizer/index.js +0 -297
  311. package/lib/plugins/TableHoverActionsPlugin/index.d.ts +0 -4
  312. package/lib/plugins/TableHoverActionsPlugin/index.js +0 -188
  313. package/lib/plugins/TableOfContentsPlugin/index.d.ts +0 -2
  314. package/lib/plugins/TableOfContentsPlugin/index.js +0 -116
  315. package/lib/plugins/TablePlugin.d.ts +0 -31
  316. package/lib/plugins/TablePlugin.js +0 -63
  317. package/lib/plugins/TestRecorderPlugin/index.d.ts +0 -3
  318. package/lib/plugins/TestRecorderPlugin/index.js +0 -346
  319. package/lib/plugins/ToolbarPlugin/fontSize.d.ts +0 -9
  320. package/lib/plugins/ToolbarPlugin/fontSize.js +0 -80
  321. package/lib/plugins/ToolbarPlugin/index.d.ts +0 -9
  322. package/lib/plugins/ToolbarPlugin/index.js +0 -500
  323. package/lib/plugins/ToolbarPlugin/utils.d.ts +0 -26
  324. package/lib/plugins/ToolbarPlugin/utils.js +0 -243
  325. package/lib/plugins/TreeViewPlugin/index.d.ts +0 -2
  326. package/lib/plugins/TreeViewPlugin/index.js +0 -7
  327. package/lib/plugins/TwitterPlugin/index.d.ts +0 -4
  328. package/lib/plugins/TwitterPlugin/index.js +0 -20
  329. package/lib/plugins/TypingPerfPlugin/index.d.ts +0 -2
  330. package/lib/plugins/TypingPerfPlugin/index.js +0 -93
  331. package/lib/plugins/YouTubePlugin/index.d.ts +0 -4
  332. package/lib/plugins/YouTubePlugin/index.js +0 -20
  333. package/lib/server/validation.d.ts +0 -1
  334. package/lib/server/validation.js +0 -111
  335. package/lib/setupEnv.d.ts +0 -2
  336. package/lib/setupEnv.js +0 -25
  337. package/lib/themes/CommentEditorTheme.d.ts +0 -4
  338. package/lib/themes/CommentEditorTheme.js +0 -7
  339. package/lib/themes/PlaygroundEditorTheme.d.ts +0 -4
  340. package/lib/themes/PlaygroundEditorTheme.js +0 -120
  341. package/lib/themes/StickyEditorTheme.d.ts +0 -4
  342. package/lib/themes/StickyEditorTheme.js +0 -7
  343. package/lib/tyes.dt.d.ts +0 -12
  344. package/lib/tyes.dt.js +0 -0
  345. package/lib/ui/Button.d.ts +0 -12
  346. package/lib/ui/Button.js +0 -6
  347. package/lib/ui/ColorPicker.d.ts +0 -14
  348. package/lib/ui/ColorPicker.js +0 -219
  349. package/lib/ui/ContentEditable.d.ts +0 -9
  350. package/lib/ui/ContentEditable.js +0 -6
  351. package/lib/ui/Dialog.d.ts +0 -10
  352. package/lib/ui/Dialog.js +0 -8
  353. package/lib/ui/DropDown.d.ts +0 -18
  354. package/lib/ui/DropDown.js +0 -133
  355. package/lib/ui/DropdownColorPicker.d.ts +0 -13
  356. package/lib/ui/DropdownColorPicker.js +0 -6
  357. package/lib/ui/EquationEditor.d.ts +0 -8
  358. package/lib/ui/EquationEditor.js +0 -11
  359. package/lib/ui/ExcalidrawModal.d.ts +0 -42
  360. package/lib/ui/ExcalidrawModal.js +0 -103
  361. package/lib/ui/FileInput.d.ts +0 -10
  362. package/lib/ui/FileInput.js +0 -5
  363. package/lib/ui/FlashMessage.d.ts +0 -7
  364. package/lib/ui/FlashMessage.js +0 -6
  365. package/lib/ui/ImageResizer.d.ts +0 -17
  366. package/lib/ui/ImageResizer.js +0 -171
  367. package/lib/ui/KatexEquationAlterer.d.ts +0 -8
  368. package/lib/ui/KatexEquationAlterer.js +0 -23
  369. package/lib/ui/KatexRenderer.d.ts +0 -6
  370. package/lib/ui/KatexRenderer.js +0 -24
  371. package/lib/ui/Modal.d.ts +0 -9
  372. package/lib/ui/Modal.js +0 -48
  373. package/lib/ui/Select.d.ts +0 -8
  374. package/lib/ui/Select.js +0 -5
  375. package/lib/ui/Switch.d.ts +0 -8
  376. package/lib/ui/Switch.js +0 -6
  377. package/lib/ui/TextInput.d.ts +0 -13
  378. package/lib/ui/TextInput.js +0 -7
  379. package/lib/utils/docSerialization.d.ts +0 -3
  380. package/lib/utils/docSerialization.js +0 -56
  381. package/lib/utils/emoji-list.d.ts +0 -20
  382. package/lib/utils/emoji-list.js +0 -16605
  383. package/lib/utils/getDOMRangeRect.d.ts +0 -8
  384. package/lib/utils/getDOMRangeRect.js +0 -22
  385. package/lib/utils/getSelectedNode.d.ts +0 -2
  386. package/lib/utils/getSelectedNode.js +0 -24
  387. package/lib/utils/getThemeSelector.d.ts +0 -2
  388. package/lib/utils/getThemeSelector.js +0 -10
  389. package/lib/utils/isMobileWidth.d.ts +0 -7
  390. package/lib/utils/isMobileWidth.js +0 -7
  391. package/lib/utils/joinClasses.d.ts +0 -1
  392. package/lib/utils/joinClasses.js +0 -3
  393. package/lib/utils/setFloatingElemPosition.d.ts +0 -1
  394. package/lib/utils/setFloatingElemPosition.js +0 -55
  395. package/lib/utils/setFloatingElemPositionForLinkEditor.d.ts +0 -1
  396. package/lib/utils/setFloatingElemPositionForLinkEditor.js +0 -32
  397. package/lib/utils/swipe.d.ts +0 -4
  398. package/lib/utils/swipe.js +0 -90
  399. package/lib/utils/url.d.ts +0 -2
  400. package/lib/utils/url.js +0 -27
@@ -1,161 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import './InlineImageNode.css';
3
- import { AutoFocusPlugin } from '@lexical/react/LexicalAutoFocusPlugin';
4
- import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
5
- import { LexicalErrorBoundary } from '@lexical/react/LexicalErrorBoundary';
6
- import { LexicalNestedComposer } from '@lexical/react/LexicalNestedComposer';
7
- import { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin';
8
- import { useLexicalEditable } from '@lexical/react/useLexicalEditable';
9
- import { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection';
10
- import { mergeRegister } from '@lexical/utils';
11
- import { $getNodeByKey, $getSelection, $isNodeSelection, $setSelection, CLICK_COMMAND, COMMAND_PRIORITY_LOW, DRAGSTART_COMMAND, KEY_ENTER_COMMAND, KEY_ESCAPE_COMMAND, SELECTION_CHANGE_COMMAND, } from 'lexical';
12
- import { Suspense, useCallback, useEffect, useRef, useState } from 'react';
13
- import useModal from '../../hooks/useModal';
14
- import LinkPlugin from '../../plugins/LinkPlugin';
15
- import Button from '../../ui/Button';
16
- import ContentEditable from '../../ui/ContentEditable';
17
- import { DialogActions } from '../../ui/Dialog';
18
- import Select from '../../ui/Select';
19
- import TextInput from '../../ui/TextInput';
20
- const imageCache = new Set();
21
- function useSuspenseImage(src) {
22
- if (!imageCache.has(src)) {
23
- throw new Promise((resolve) => {
24
- const img = new Image();
25
- img.src = src;
26
- img.onload = () => {
27
- imageCache.add(src);
28
- resolve(null);
29
- };
30
- });
31
- }
32
- }
33
- function LazyImage({ altText, className, imageRef, src, width, height, position, }) {
34
- useSuspenseImage(src);
35
- return (_jsx("img", { className: className || undefined, src: src, alt: altText, ref: imageRef, "data-position": position, style: {
36
- display: 'block',
37
- height,
38
- width,
39
- }, draggable: "false" }));
40
- }
41
- export function UpdateInlineImageDialog({ activeEditor, nodeKey, onClose, }) {
42
- const editorState = activeEditor.getEditorState();
43
- const node = editorState.read(() => $getNodeByKey(nodeKey));
44
- const [altText, setAltText] = useState(node.getAltText());
45
- const [showCaption, setShowCaption] = useState(node.getShowCaption());
46
- const [position, setPosition] = useState(node.getPosition());
47
- const handleShowCaptionChange = (e) => {
48
- setShowCaption(e.target.checked);
49
- };
50
- const handlePositionChange = (e) => {
51
- setPosition(e.target.value);
52
- };
53
- const handleOnConfirm = () => {
54
- const payload = { altText, position, showCaption };
55
- if (node) {
56
- activeEditor.update(() => {
57
- node.update(payload);
58
- });
59
- }
60
- onClose();
61
- };
62
- return (_jsxs(_Fragment, { children: [_jsx("div", { style: { marginBottom: '1em' }, children: _jsx(TextInput, { label: "Alt Text", placeholder: "Descriptive alternative text", onChange: setAltText, value: altText, "data-test-id": "image-modal-alt-text-input" }) }), _jsxs(Select, { style: { marginBottom: '1em', width: '208px' }, value: position, label: "Position", name: "position", id: "position-select", onChange: handlePositionChange, children: [_jsx("option", { value: "left", children: "Left" }), _jsx("option", { value: "right", children: "Right" }), _jsx("option", { value: "full", children: "Full Width" })] }), _jsxs("div", { className: "Input__wrapper", children: [_jsx("input", { id: "caption", type: "checkbox", checked: showCaption, onChange: handleShowCaptionChange }), _jsx("label", { htmlFor: "caption", children: "Show Caption" })] }), _jsx(DialogActions, { children: _jsx(Button, { "data-test-id": "image-modal-file-upload-btn", onClick: () => handleOnConfirm(), children: "Confirm" }) })] }));
63
- }
64
- export default function InlineImageComponent({ src, altText, nodeKey, width, height, showCaption, caption, position, }) {
65
- const [modal, showModal] = useModal();
66
- const imageRef = useRef(null);
67
- const buttonRef = useRef(null);
68
- const [isSelected, setSelected, clearSelection] = useLexicalNodeSelection(nodeKey);
69
- const [editor] = useLexicalComposerContext();
70
- const [selection, setSelection] = useState(null);
71
- const activeEditorRef = useRef(null);
72
- const isEditable = useLexicalEditable();
73
- const $onEnter = useCallback((event) => {
74
- const latestSelection = $getSelection();
75
- const buttonElem = buttonRef.current;
76
- if (isSelected &&
77
- $isNodeSelection(latestSelection) &&
78
- latestSelection.getNodes().length === 1) {
79
- if (showCaption) {
80
- // Move focus into nested editor
81
- $setSelection(null);
82
- event.preventDefault();
83
- caption.focus();
84
- return true;
85
- }
86
- else if (buttonElem !== null &&
87
- buttonElem !== document.activeElement) {
88
- event.preventDefault();
89
- buttonElem.focus();
90
- return true;
91
- }
92
- }
93
- return false;
94
- }, [caption, isSelected, showCaption]);
95
- const $onEscape = useCallback((event) => {
96
- if (activeEditorRef.current === caption ||
97
- buttonRef.current === event.target) {
98
- $setSelection(null);
99
- editor.update(() => {
100
- setSelected(true);
101
- const parentRootElement = editor.getRootElement();
102
- if (parentRootElement !== null) {
103
- parentRootElement.focus();
104
- }
105
- });
106
- return true;
107
- }
108
- return false;
109
- }, [caption, editor, setSelected]);
110
- useEffect(() => {
111
- let isMounted = true;
112
- const unregister = mergeRegister(editor.registerUpdateListener(({ editorState }) => {
113
- if (isMounted) {
114
- setSelection(editorState.read(() => $getSelection()));
115
- }
116
- }), editor.registerCommand(SELECTION_CHANGE_COMMAND, (_, activeEditor) => {
117
- activeEditorRef.current = activeEditor;
118
- return false;
119
- }, COMMAND_PRIORITY_LOW), editor.registerCommand(CLICK_COMMAND, (payload) => {
120
- const event = payload;
121
- if (event.target === imageRef.current) {
122
- if (event.shiftKey) {
123
- setSelected(!isSelected);
124
- }
125
- else {
126
- clearSelection();
127
- setSelected(true);
128
- }
129
- return true;
130
- }
131
- return false;
132
- }, COMMAND_PRIORITY_LOW), editor.registerCommand(DRAGSTART_COMMAND, (event) => {
133
- if (event.target === imageRef.current) {
134
- // TODO This is just a temporary workaround for FF to behave like other browsers.
135
- // Ideally, this handles drag & drop too (and all browsers).
136
- event.preventDefault();
137
- return true;
138
- }
139
- return false;
140
- }, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_ENTER_COMMAND, $onEnter, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_ESCAPE_COMMAND, $onEscape, COMMAND_PRIORITY_LOW));
141
- return () => {
142
- isMounted = false;
143
- unregister();
144
- };
145
- }, [
146
- clearSelection,
147
- editor,
148
- isSelected,
149
- nodeKey,
150
- $onEnter,
151
- $onEscape,
152
- setSelected,
153
- ]);
154
- const draggable = isSelected && $isNodeSelection(selection);
155
- const isFocused = isSelected && isEditable;
156
- return (_jsxs(Suspense, { fallback: null, children: [_jsxs(_Fragment, { children: [_jsxs("span", { draggable: draggable, children: [isEditable && (_jsx("button", { className: "image-edit-button", ref: buttonRef, onClick: () => {
157
- showModal('Update Inline Image', (onClose) => (_jsx(UpdateInlineImageDialog, { activeEditor: editor, nodeKey: nodeKey, onClose: onClose })));
158
- }, children: "Edit" })), _jsx(LazyImage, { className: isFocused
159
- ? `focused ${$isNodeSelection(selection) ? 'draggable' : ''}`
160
- : null, src: src, altText: altText, imageRef: imageRef, width: width, height: height, position: position })] }), showCaption && (_jsx("span", { className: "image-caption-container", children: _jsxs(LexicalNestedComposer, { initialEditor: caption, children: [_jsx(AutoFocusPlugin, {}), _jsx(LinkPlugin, {}), _jsx(RichTextPlugin, { contentEditable: _jsx(ContentEditable, { placeholder: "Enter a caption...", placeholderClassName: "InlineImageNode__placeholder", className: "InlineImageNode__contentEditable" }), ErrorBoundary: LexicalErrorBoundary })] }) }))] }), modal] }));
161
- }
@@ -1,59 +0,0 @@
1
- import type { DOMConversionMap, DOMExportOutput, EditorConfig, LexicalEditor, LexicalNode, LexicalUpdateJSON, NodeKey, SerializedEditor, SerializedLexicalNode, Spread } from 'lexical';
2
- import type { JSX } from 'react';
3
- import { DecoratorNode } from 'lexical';
4
- export type Position = 'left' | 'right' | 'full' | undefined;
5
- export interface InlineImagePayload {
6
- altText: string;
7
- caption?: LexicalEditor;
8
- height?: number;
9
- key?: NodeKey;
10
- showCaption?: boolean;
11
- src: string;
12
- width?: number;
13
- position?: Position;
14
- }
15
- export interface UpdateInlineImagePayload {
16
- altText?: string;
17
- showCaption?: boolean;
18
- position?: Position;
19
- }
20
- export type SerializedInlineImageNode = Spread<{
21
- altText: string;
22
- caption: SerializedEditor;
23
- height?: number;
24
- showCaption: boolean;
25
- src: string;
26
- width?: number;
27
- position?: Position;
28
- }, SerializedLexicalNode>;
29
- export declare class InlineImageNode extends DecoratorNode<JSX.Element> {
30
- __src: string;
31
- __altText: string;
32
- __width: 'inherit' | number;
33
- __height: 'inherit' | number;
34
- __showCaption: boolean;
35
- __caption: LexicalEditor;
36
- __position: Position;
37
- static getType(): string;
38
- static clone(node: InlineImageNode): InlineImageNode;
39
- static importJSON(serializedNode: SerializedInlineImageNode): InlineImageNode;
40
- updateFromJSON(serializedNode: LexicalUpdateJSON<SerializedInlineImageNode>): this;
41
- static importDOM(): DOMConversionMap | null;
42
- constructor(src: string, altText: string, position: Position, width?: 'inherit' | number, height?: 'inherit' | number, showCaption?: boolean, caption?: LexicalEditor, key?: NodeKey);
43
- exportDOM(): DOMExportOutput;
44
- exportJSON(): SerializedInlineImageNode;
45
- getSrc(): string;
46
- getAltText(): string;
47
- setAltText(altText: string): void;
48
- setWidthAndHeight(width: 'inherit' | number, height: 'inherit' | number): void;
49
- getShowCaption(): boolean;
50
- setShowCaption(showCaption: boolean): void;
51
- getPosition(): Position;
52
- setPosition(position: Position): void;
53
- update(payload: UpdateInlineImagePayload): void;
54
- createDOM(config: EditorConfig): HTMLElement;
55
- updateDOM(prevNode: this, dom: HTMLElement, config: EditorConfig): false;
56
- decorate(): JSX.Element;
57
- }
58
- export declare function $createInlineImageNode({ altText, position, height, src, width, showCaption, caption, key, }: InlineImagePayload): InlineImageNode;
59
- export declare function $isInlineImageNode(node: LexicalNode | null | undefined): node is InlineImageNode;
@@ -1,162 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { addClassNamesToElement, removeClassNamesFromElement, } from '@lexical/utils';
3
- import { $applyNodeReplacement, createEditor, DecoratorNode, isHTMLElement, } from 'lexical';
4
- import * as React from 'react';
5
- const InlineImageComponent = React.lazy(() => import('./InlineImageComponent'));
6
- function $convertInlineImageElement(domNode) {
7
- if (isHTMLElement(domNode) && domNode.nodeName === 'IMG') {
8
- const { alt: altText, src, width, height } = domNode;
9
- const node = $createInlineImageNode({ altText, height, src, width });
10
- return { node };
11
- }
12
- return null;
13
- }
14
- function getPositionClass(position) {
15
- return typeof position === 'string' ? `position-${position}` : undefined;
16
- }
17
- export class InlineImageNode extends DecoratorNode {
18
- __src;
19
- __altText;
20
- __width;
21
- __height;
22
- __showCaption;
23
- __caption;
24
- __position;
25
- static getType() {
26
- return 'inline-image';
27
- }
28
- static clone(node) {
29
- return new InlineImageNode(node.__src, node.__altText, node.__position, node.__width, node.__height, node.__showCaption, node.__caption, node.__key);
30
- }
31
- static importJSON(serializedNode) {
32
- const { altText, height, width, src, showCaption, position } = serializedNode;
33
- return $createInlineImageNode({
34
- altText,
35
- height,
36
- position,
37
- showCaption,
38
- src,
39
- width,
40
- }).updateFromJSON(serializedNode);
41
- }
42
- updateFromJSON(serializedNode) {
43
- const { caption } = serializedNode;
44
- const node = super.updateFromJSON(serializedNode);
45
- const nestedEditor = node.__caption;
46
- const editorState = nestedEditor.parseEditorState(caption.editorState);
47
- if (!editorState.isEmpty()) {
48
- nestedEditor.setEditorState(editorState);
49
- }
50
- return node;
51
- }
52
- static importDOM() {
53
- return {
54
- img: (node) => ({
55
- conversion: $convertInlineImageElement,
56
- priority: 0,
57
- }),
58
- };
59
- }
60
- constructor(src, altText, position, width, height, showCaption, caption, key) {
61
- super(key);
62
- this.__src = src;
63
- this.__altText = altText;
64
- this.__width = width || 'inherit';
65
- this.__height = height || 'inherit';
66
- this.__showCaption = showCaption || false;
67
- this.__caption = caption || createEditor();
68
- this.__position = position;
69
- }
70
- exportDOM() {
71
- const element = document.createElement('img');
72
- element.setAttribute('src', this.__src);
73
- element.setAttribute('alt', this.__altText);
74
- element.setAttribute('width', this.__width.toString());
75
- element.setAttribute('height', this.__height.toString());
76
- return { element };
77
- }
78
- exportJSON() {
79
- return {
80
- ...super.exportJSON(),
81
- altText: this.getAltText(),
82
- caption: this.__caption.toJSON(),
83
- height: this.__height === 'inherit' ? 0 : this.__height,
84
- position: this.__position,
85
- showCaption: this.__showCaption,
86
- src: this.getSrc(),
87
- width: this.__width === 'inherit' ? 0 : this.__width,
88
- };
89
- }
90
- getSrc() {
91
- return this.__src;
92
- }
93
- getAltText() {
94
- return this.__altText;
95
- }
96
- setAltText(altText) {
97
- const writable = this.getWritable();
98
- writable.__altText = altText;
99
- }
100
- setWidthAndHeight(width, height) {
101
- const writable = this.getWritable();
102
- writable.__width = width;
103
- writable.__height = height;
104
- }
105
- getShowCaption() {
106
- return this.__showCaption;
107
- }
108
- setShowCaption(showCaption) {
109
- const writable = this.getWritable();
110
- writable.__showCaption = showCaption;
111
- }
112
- getPosition() {
113
- return this.__position;
114
- }
115
- setPosition(position) {
116
- const writable = this.getWritable();
117
- writable.__position = position;
118
- }
119
- update(payload) {
120
- const writable = this.getWritable();
121
- const { altText, showCaption, position } = payload;
122
- if (altText !== undefined) {
123
- writable.__altText = altText;
124
- }
125
- if (showCaption !== undefined) {
126
- writable.__showCaption = showCaption;
127
- }
128
- if (position !== undefined) {
129
- writable.__position = position;
130
- }
131
- }
132
- // View
133
- createDOM(config) {
134
- const span = document.createElement('span');
135
- for (const cls of [
136
- config.theme.inlineImage,
137
- getPositionClass(this.__position),
138
- ]) {
139
- if (cls) {
140
- addClassNamesToElement(span, cls);
141
- }
142
- }
143
- return span;
144
- }
145
- updateDOM(prevNode, dom, config) {
146
- const position = this.__position;
147
- if (position !== prevNode.__position) {
148
- removeClassNamesFromElement(dom, getPositionClass(prevNode.__position));
149
- addClassNamesToElement(dom, getPositionClass(position));
150
- }
151
- return false;
152
- }
153
- decorate() {
154
- return (_jsx(InlineImageComponent, { src: this.__src, altText: this.__altText, width: this.__width, height: this.__height, nodeKey: this.getKey(), showCaption: this.__showCaption, caption: this.__caption, position: this.__position }));
155
- }
156
- }
157
- export function $createInlineImageNode({ altText, position, height, src, width, showCaption, caption, key, }) {
158
- return $applyNodeReplacement(new InlineImageNode(src, altText, position, width, height, showCaption, caption, key));
159
- }
160
- export function $isInlineImageNode(node) {
161
- return node instanceof InlineImageNode;
162
- }
@@ -1,14 +0,0 @@
1
- import type { EditorConfig, LexicalNode, SerializedTextNode } from 'lexical';
2
- import { TextNode } from 'lexical';
3
- export type SerializedKeywordNode = SerializedTextNode;
4
- export declare class KeywordNode extends TextNode {
5
- static getType(): string;
6
- static clone(node: KeywordNode): KeywordNode;
7
- static importJSON(serializedNode: SerializedKeywordNode): KeywordNode;
8
- createDOM(config: EditorConfig): HTMLElement;
9
- canInsertTextBefore(): boolean;
10
- canInsertTextAfter(): boolean;
11
- isTextEntity(): true;
12
- }
13
- export declare function $createKeywordNode(keyword?: string): KeywordNode;
14
- export declare function $isKeywordNode(node: LexicalNode | null | undefined): boolean;
@@ -1,33 +0,0 @@
1
- import { $applyNodeReplacement, TextNode } from 'lexical';
2
- export class KeywordNode extends TextNode {
3
- static getType() {
4
- return 'keyword';
5
- }
6
- static clone(node) {
7
- return new KeywordNode(node.__text, node.__key);
8
- }
9
- static importJSON(serializedNode) {
10
- return $createKeywordNode().updateFromJSON(serializedNode);
11
- }
12
- createDOM(config) {
13
- const dom = super.createDOM(config);
14
- dom.style.cursor = 'default';
15
- dom.className = 'keyword';
16
- return dom;
17
- }
18
- canInsertTextBefore() {
19
- return false;
20
- }
21
- canInsertTextAfter() {
22
- return false;
23
- }
24
- isTextEntity() {
25
- return true;
26
- }
27
- }
28
- export function $createKeywordNode(keyword = '') {
29
- return $applyNodeReplacement(new KeywordNode(keyword));
30
- }
31
- export function $isKeywordNode(node) {
32
- return node instanceof KeywordNode;
33
- }
@@ -1,24 +0,0 @@
1
- import type { DOMConversionMap, DOMExportOutput, EditorConfig, LexicalNode, LexicalUpdateJSON, NodeKey, SerializedElementNode, Spread } from 'lexical';
2
- import { ElementNode } from 'lexical';
3
- export type SerializedLayoutContainerNode = Spread<{
4
- templateColumns: string;
5
- }, SerializedElementNode>;
6
- export declare class LayoutContainerNode extends ElementNode {
7
- __templateColumns: string;
8
- constructor(templateColumns: string, key?: NodeKey);
9
- static getType(): string;
10
- static clone(node: LayoutContainerNode): LayoutContainerNode;
11
- createDOM(config: EditorConfig): HTMLElement;
12
- exportDOM(): DOMExportOutput;
13
- updateDOM(prevNode: this, dom: HTMLElement): boolean;
14
- static importDOM(): DOMConversionMap | null;
15
- static importJSON(json: SerializedLayoutContainerNode): LayoutContainerNode;
16
- updateFromJSON(serializedNode: LexicalUpdateJSON<SerializedLayoutContainerNode>): this;
17
- isShadowRoot(): boolean;
18
- canBeEmpty(): boolean;
19
- exportJSON(): SerializedLayoutContainerNode;
20
- getTemplateColumns(): string;
21
- setTemplateColumns(templateColumns: string): this;
22
- }
23
- export declare function $createLayoutContainerNode(templateColumns?: string): LayoutContainerNode;
24
- export declare function $isLayoutContainerNode(node: LexicalNode | null | undefined): node is LayoutContainerNode;
@@ -1,91 +0,0 @@
1
- import { addClassNamesToElement } from '@lexical/utils';
2
- import { ElementNode } from 'lexical';
3
- function $convertLayoutContainerElement(domNode) {
4
- const styleAttributes = window.getComputedStyle(domNode);
5
- const templateColumns = styleAttributes.getPropertyValue('grid-template-columns');
6
- if (templateColumns) {
7
- const node = $createLayoutContainerNode(templateColumns);
8
- return { node };
9
- }
10
- return null;
11
- }
12
- export class LayoutContainerNode extends ElementNode {
13
- __templateColumns;
14
- constructor(templateColumns, key) {
15
- super(key);
16
- this.__templateColumns = templateColumns;
17
- }
18
- static getType() {
19
- return 'layout-container';
20
- }
21
- static clone(node) {
22
- return new LayoutContainerNode(node.__templateColumns, node.__key);
23
- }
24
- createDOM(config) {
25
- const dom = document.createElement('div');
26
- dom.style.gridTemplateColumns = this.__templateColumns;
27
- if (typeof config.theme.layoutContainer === 'string') {
28
- addClassNamesToElement(dom, config.theme.layoutContainer);
29
- }
30
- return dom;
31
- }
32
- exportDOM() {
33
- const element = document.createElement('div');
34
- element.style.gridTemplateColumns = this.__templateColumns;
35
- element.setAttribute('data-lexical-layout-container', 'true');
36
- return { element };
37
- }
38
- updateDOM(prevNode, dom) {
39
- if (prevNode.__templateColumns !== this.__templateColumns) {
40
- dom.style.gridTemplateColumns = this.__templateColumns;
41
- }
42
- return false;
43
- }
44
- static importDOM() {
45
- return {
46
- div: (domNode) => {
47
- if (!domNode.hasAttribute('data-lexical-layout-container')) {
48
- return null;
49
- }
50
- return {
51
- conversion: $convertLayoutContainerElement,
52
- priority: 2,
53
- };
54
- },
55
- };
56
- }
57
- static importJSON(json) {
58
- return $createLayoutContainerNode().updateFromJSON(json);
59
- }
60
- updateFromJSON(serializedNode) {
61
- return super
62
- .updateFromJSON(serializedNode)
63
- .setTemplateColumns(serializedNode.templateColumns);
64
- }
65
- isShadowRoot() {
66
- return true;
67
- }
68
- canBeEmpty() {
69
- return false;
70
- }
71
- exportJSON() {
72
- return {
73
- ...super.exportJSON(),
74
- templateColumns: this.__templateColumns,
75
- };
76
- }
77
- getTemplateColumns() {
78
- return this.getLatest().__templateColumns;
79
- }
80
- setTemplateColumns(templateColumns) {
81
- const self = this.getWritable();
82
- self.__templateColumns = templateColumns;
83
- return self;
84
- }
85
- }
86
- export function $createLayoutContainerNode(templateColumns = '') {
87
- return new LayoutContainerNode(templateColumns);
88
- }
89
- export function $isLayoutContainerNode(node) {
90
- return node instanceof LayoutContainerNode;
91
- }
@@ -1,16 +0,0 @@
1
- import type { DOMConversionMap, EditorConfig, LexicalNode, SerializedElementNode } from 'lexical';
2
- import { ElementNode } from 'lexical';
3
- export type SerializedLayoutItemNode = SerializedElementNode;
4
- export declare function $isEmptyLayoutItemNode(node: LexicalNode): boolean;
5
- export declare class LayoutItemNode extends ElementNode {
6
- static getType(): string;
7
- static clone(node: LayoutItemNode): LayoutItemNode;
8
- createDOM(config: EditorConfig): HTMLElement;
9
- updateDOM(): boolean;
10
- collapseAtStart(): boolean;
11
- static importDOM(): DOMConversionMap | null;
12
- static importJSON(serializedNode: SerializedLayoutItemNode): LayoutItemNode;
13
- isShadowRoot(): boolean;
14
- }
15
- export declare function $createLayoutItemNode(): LayoutItemNode;
16
- export declare function $isLayoutItemNode(node: LexicalNode | null | undefined): node is LayoutItemNode;
@@ -1,65 +0,0 @@
1
- import { addClassNamesToElement } from '@lexical/utils';
2
- import { $isParagraphNode, ElementNode } from 'lexical';
3
- function $convertLayoutItemElement() {
4
- return { node: $createLayoutItemNode() };
5
- }
6
- export function $isEmptyLayoutItemNode(node) {
7
- if (!$isLayoutItemNode(node) || node.getChildrenSize() !== 1) {
8
- return false;
9
- }
10
- const firstChild = node.getFirstChild();
11
- return $isParagraphNode(firstChild) && firstChild.isEmpty();
12
- }
13
- export class LayoutItemNode extends ElementNode {
14
- static getType() {
15
- return 'layout-item';
16
- }
17
- static clone(node) {
18
- return new LayoutItemNode(node.__key);
19
- }
20
- createDOM(config) {
21
- const dom = document.createElement('div');
22
- dom.setAttribute('data-lexical-layout-item', 'true');
23
- if (typeof config.theme.layoutItem === 'string') {
24
- addClassNamesToElement(dom, config.theme.layoutItem);
25
- }
26
- return dom;
27
- }
28
- updateDOM() {
29
- return false;
30
- }
31
- collapseAtStart() {
32
- const parent = this.getParentOrThrow();
33
- if (this.is(parent.getFirstChild()) &&
34
- parent.getChildren().every($isEmptyLayoutItemNode)) {
35
- parent.remove();
36
- return true;
37
- }
38
- return false;
39
- }
40
- static importDOM() {
41
- return {
42
- div: (domNode) => {
43
- if (!domNode.hasAttribute('data-lexical-layout-item')) {
44
- return null;
45
- }
46
- return {
47
- conversion: $convertLayoutItemElement,
48
- priority: 2,
49
- };
50
- },
51
- };
52
- }
53
- static importJSON(serializedNode) {
54
- return $createLayoutItemNode().updateFromJSON(serializedNode);
55
- }
56
- isShadowRoot() {
57
- return true;
58
- }
59
- }
60
- export function $createLayoutItemNode() {
61
- return new LayoutItemNode();
62
- }
63
- export function $isLayoutItemNode(node) {
64
- return node instanceof LayoutItemNode;
65
- }
@@ -1,20 +0,0 @@
1
- import { type DOMConversionMap, type DOMExportOutput, type EditorConfig, type LexicalNode, type NodeKey, type SerializedTextNode, type Spread, TextNode } from 'lexical';
2
- export type SerializedMentionNode = Spread<{
3
- mentionName: string;
4
- }, SerializedTextNode>;
5
- export declare class MentionNode extends TextNode {
6
- __mention: string;
7
- static getType(): string;
8
- static clone(node: MentionNode): MentionNode;
9
- static importJSON(serializedNode: SerializedMentionNode): MentionNode;
10
- constructor(mentionName: string, text?: string, key?: NodeKey);
11
- exportJSON(): SerializedMentionNode;
12
- createDOM(config: EditorConfig): HTMLElement;
13
- exportDOM(): DOMExportOutput;
14
- static importDOM(): DOMConversionMap | null;
15
- isTextEntity(): true;
16
- canInsertTextBefore(): boolean;
17
- canInsertTextAfter(): boolean;
18
- }
19
- export declare function $createMentionNode(mentionName: string, textContent?: string): MentionNode;
20
- export declare function $isMentionNode(node: LexicalNode | null | undefined): node is MentionNode;