@datalayer/lexical-loro 0.2.5 → 1.0.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 (399) hide show
  1. package/package.json +1 -1
  2. package/lib/App.d.ts +0 -2
  3. package/lib/App.js +0 -141
  4. package/lib/Editor.d.ts +0 -2
  5. package/lib/Editor.js +0 -115
  6. package/lib/Settings.d.ts +0 -2
  7. package/lib/Settings.js +0 -57
  8. package/lib/appSettings.d.ts +0 -36
  9. package/lib/appSettings.js +0 -48
  10. package/lib/collab/loro/Bindings.d.ts +0 -41
  11. package/lib/collab/loro/Bindings.js +0 -99
  12. package/lib/collab/loro/Debug.d.ts +0 -33
  13. package/lib/collab/loro/Debug.js +0 -452
  14. package/lib/collab/loro/LexicalCollaborationContext.d.ts +0 -19
  15. package/lib/collab/loro/LexicalCollaborationContext.js +0 -52
  16. package/lib/collab/loro/LexicalCollaborationPlugin.d.ts +0 -24
  17. package/lib/collab/loro/LexicalCollaborationPlugin.js +0 -83
  18. package/lib/collab/loro/State.d.ts +0 -53
  19. package/lib/collab/loro/State.js +0 -94
  20. package/lib/collab/loro/components/LoroCollaborationUI.d.ts +0 -13
  21. package/lib/collab/loro/components/LoroCollaborationUI.js +0 -9
  22. package/lib/collab/loro/components/LoroCollaborators.d.ts +0 -8
  23. package/lib/collab/loro/components/LoroCollaborators.js +0 -102
  24. package/lib/collab/loro/components/index.d.ts +0 -2
  25. package/lib/collab/loro/components/index.js +0 -6
  26. package/lib/collab/loro/index.d.ts +0 -6
  27. package/lib/collab/loro/index.js +0 -10
  28. package/lib/collab/loro/integrators/BaseIntegrator.d.ts +0 -14
  29. package/lib/collab/loro/integrators/BaseIntegrator.js +0 -5
  30. package/lib/collab/loro/integrators/CounterIntegrator.d.ts +0 -23
  31. package/lib/collab/loro/integrators/CounterIntegrator.js +0 -44
  32. package/lib/collab/loro/integrators/ListIntegrator.d.ts +0 -23
  33. package/lib/collab/loro/integrators/ListIntegrator.js +0 -53
  34. package/lib/collab/loro/integrators/MapIntegrator.d.ts +0 -24
  35. package/lib/collab/loro/integrators/MapIntegrator.js +0 -235
  36. package/lib/collab/loro/integrators/TextIntegrator.d.ts +0 -25
  37. package/lib/collab/loro/integrators/TextIntegrator.js +0 -55
  38. package/lib/collab/loro/integrators/TreeIntegrator.d.ts +0 -36
  39. package/lib/collab/loro/integrators/TreeIntegrator.js +0 -251
  40. package/lib/collab/loro/nodes/NodeFactory.d.ts +0 -15
  41. package/lib/collab/loro/nodes/NodeFactory.js +0 -101
  42. package/lib/collab/loro/nodes/NodesMapper.d.ts +0 -120
  43. package/lib/collab/loro/nodes/NodesMapper.js +0 -277
  44. package/lib/collab/loro/propagators/DecoratorNodePropagator.d.ts +0 -60
  45. package/lib/collab/loro/propagators/DecoratorNodePropagator.js +0 -306
  46. package/lib/collab/loro/propagators/ElementNodePropagator.d.ts +0 -62
  47. package/lib/collab/loro/propagators/ElementNodePropagator.js +0 -326
  48. package/lib/collab/loro/propagators/LineBreakNodePropagator.d.ts +0 -57
  49. package/lib/collab/loro/propagators/LineBreakNodePropagator.js +0 -200
  50. package/lib/collab/loro/propagators/RootNodePropagator.d.ts +0 -55
  51. package/lib/collab/loro/propagators/RootNodePropagator.js +0 -174
  52. package/lib/collab/loro/propagators/TextNodePropagator.d.ts +0 -60
  53. package/lib/collab/loro/propagators/TextNodePropagator.js +0 -440
  54. package/lib/collab/loro/propagators/index.d.ts +0 -49
  55. package/lib/collab/loro/propagators/index.js +0 -30
  56. package/lib/collab/loro/provider/websocket.d.ts +0 -116
  57. package/lib/collab/loro/provider/websocket.js +0 -911
  58. package/lib/collab/loro/servers/index.d.ts +0 -0
  59. package/lib/collab/loro/servers/index.js +0 -4
  60. package/lib/collab/loro/servers/ws/callback.d.ts +0 -5
  61. package/lib/collab/loro/servers/ws/callback.js +0 -89
  62. package/lib/collab/loro/servers/ws/server.d.ts +0 -2
  63. package/lib/collab/loro/servers/ws/server.js +0 -29
  64. package/lib/collab/loro/servers/ws/utils.d.ts +0 -40
  65. package/lib/collab/loro/servers/ws/utils.js +0 -517
  66. package/lib/collab/loro/sync/SyncCursors.d.ts +0 -32
  67. package/lib/collab/loro/sync/SyncCursors.js +0 -475
  68. package/lib/collab/loro/sync/SyncLexicalToLoro.d.ts +0 -4
  69. package/lib/collab/loro/sync/SyncLexicalToLoro.js +0 -113
  70. package/lib/collab/loro/sync/SyncLoroToLexical.d.ts +0 -5
  71. package/lib/collab/loro/sync/SyncLoroToLexical.js +0 -100
  72. package/lib/collab/loro/types/LexicalNodeData.d.ts +0 -32
  73. package/lib/collab/loro/types/LexicalNodeData.js +0 -75
  74. package/lib/collab/loro/useCollaboration.d.ts +0 -12
  75. package/lib/collab/loro/useCollaboration.js +0 -260
  76. package/lib/collab/loro/utils/InitialContent.d.ts +0 -64
  77. package/lib/collab/loro/utils/InitialContent.js +0 -113
  78. package/lib/collab/loro/utils/LexicalToLoro.d.ts +0 -18
  79. package/lib/collab/loro/utils/LexicalToLoro.js +0 -100
  80. package/lib/collab/loro/utils/Utils.d.ts +0 -44
  81. package/lib/collab/loro/utils/Utils.js +0 -157
  82. package/lib/collab/loro/wsProvider.d.ts +0 -8
  83. package/lib/collab/loro/wsProvider.js +0 -35
  84. package/lib/collab/utils/invariant.d.ts +0 -1
  85. package/lib/collab/utils/invariant.js +0 -15
  86. package/lib/collab/utils/simpleDiffWithCursor.d.ts +0 -5
  87. package/lib/collab/utils/simpleDiffWithCursor.js +0 -35
  88. package/lib/collab/yjs/Bindings.d.ts +0 -23
  89. package/lib/collab/yjs/Bindings.js +0 -26
  90. package/lib/collab/yjs/Debug.d.ts +0 -23
  91. package/lib/collab/yjs/Debug.js +0 -213
  92. package/lib/collab/yjs/LexicalCollaborationContext.d.ts +0 -10
  93. package/lib/collab/yjs/LexicalCollaborationContext.js +0 -37
  94. package/lib/collab/yjs/LexicalCollaborationPlugin.d.ts +0 -21
  95. package/lib/collab/yjs/LexicalCollaborationPlugin.js +0 -63
  96. package/lib/collab/yjs/State.d.ts +0 -51
  97. package/lib/collab/yjs/State.js +0 -35
  98. package/lib/collab/yjs/nodes/AnyCollabNode.d.ts +0 -5
  99. package/lib/collab/yjs/nodes/AnyCollabNode.js +0 -1
  100. package/lib/collab/yjs/nodes/CollabDecoratorNode.d.ts +0 -22
  101. package/lib/collab/yjs/nodes/CollabDecoratorNode.js +0 -64
  102. package/lib/collab/yjs/nodes/CollabElementNode.d.ts +0 -40
  103. package/lib/collab/yjs/nodes/CollabElementNode.js +0 -462
  104. package/lib/collab/yjs/nodes/CollabLineBreakNode.d.ts +0 -19
  105. package/lib/collab/yjs/nodes/CollabLineBreakNode.js +0 -44
  106. package/lib/collab/yjs/nodes/CollabTextNode.d.ts +0 -25
  107. package/lib/collab/yjs/nodes/CollabTextNode.js +0 -103
  108. package/lib/collab/yjs/provider/websocket.d.ts +0 -88
  109. package/lib/collab/yjs/provider/websocket.js +0 -415
  110. package/lib/collab/yjs/servers/index.d.ts +0 -0
  111. package/lib/collab/yjs/servers/index.js +0 -0
  112. package/lib/collab/yjs/servers/ws/callback.d.ts +0 -5
  113. package/lib/collab/yjs/servers/ws/callback.js +0 -72
  114. package/lib/collab/yjs/servers/ws/server.d.ts +0 -2
  115. package/lib/collab/yjs/servers/ws/server.js +0 -25
  116. package/lib/collab/yjs/servers/ws/utils.d.ts +0 -49
  117. package/lib/collab/yjs/servers/ws/utils.js +0 -284
  118. package/lib/collab/yjs/sync/SyncCursors.d.ts +0 -39
  119. package/lib/collab/yjs/sync/SyncCursors.js +0 -351
  120. package/lib/collab/yjs/sync/SyncEditorStates.d.ts +0 -10
  121. package/lib/collab/yjs/sync/SyncEditorStates.js +0 -200
  122. package/lib/collab/yjs/useCollaboration.d.ts +0 -12
  123. package/lib/collab/yjs/useCollaboration.js +0 -255
  124. package/lib/collab/yjs/utils/Utils.d.ts +0 -25
  125. package/lib/collab/yjs/utils/Utils.js +0 -402
  126. package/lib/collab/yjs/wsProvider.d.ts +0 -3
  127. package/lib/collab/yjs/wsProvider.js +0 -21
  128. package/lib/commenting/index.d.ts +0 -41
  129. package/lib/commenting/index.js +0 -328
  130. package/lib/context/FlashMessageContext.d.ts +0 -7
  131. package/lib/context/FlashMessageContext.js +0 -24
  132. package/lib/context/SettingsContext.d.ts +0 -12
  133. package/lib/context/SettingsContext.js +0 -38
  134. package/lib/context/SharedHistoryContext.d.ts +0 -11
  135. package/lib/context/SharedHistoryContext.js +0 -11
  136. package/lib/context/ToolbarContext.d.ts +0 -65
  137. package/lib/context/ToolbarContext.js +0 -84
  138. package/lib/demo.d.ts +0 -12
  139. package/lib/demo.js +0 -45
  140. package/lib/hooks/useFlashMessage.d.ts +0 -2
  141. package/lib/hooks/useFlashMessage.js +0 -8
  142. package/lib/hooks/useModal.d.ts +0 -5
  143. package/lib/hooks/useModal.js +0 -26
  144. package/lib/hooks/useReport.d.ts +0 -1
  145. package/lib/hooks/useReport.js +0 -50
  146. package/lib/index.d.ts +0 -1
  147. package/lib/index.js +0 -5
  148. package/lib/nodes/AutocompleteNode.d.ts +0 -27
  149. package/lib/nodes/AutocompleteNode.js +0 -60
  150. package/lib/nodes/CounterComponent.d.ts +0 -6
  151. package/lib/nodes/CounterComponent.js +0 -137
  152. package/lib/nodes/CounterNode.d.ts +0 -23
  153. package/lib/nodes/CounterNode.js +0 -47
  154. package/lib/nodes/DateTimeNode/DateTimeComponent.d.ts +0 -8
  155. package/lib/nodes/DateTimeNode/DateTimeComponent.js +0 -119
  156. package/lib/nodes/DateTimeNode/DateTimeNode.d.ts +0 -27
  157. package/lib/nodes/DateTimeNode/DateTimeNode.js +0 -82
  158. package/lib/nodes/EmojiNode.d.ts +0 -18
  159. package/lib/nodes/EmojiNode.js +0 -54
  160. package/lib/nodes/EquationComponent.d.ts +0 -9
  161. package/lib/nodes/EquationComponent.js +0 -75
  162. package/lib/nodes/EquationNode.d.ts +0 -26
  163. package/lib/nodes/EquationNode.js +0 -109
  164. package/lib/nodes/ExcalidrawNode/ExcalidrawComponent.d.ts +0 -8
  165. package/lib/nodes/ExcalidrawNode/ExcalidrawComponent.js +0 -110
  166. package/lib/nodes/ExcalidrawNode/ExcalidrawImage.d.ts +0 -50
  167. package/lib/nodes/ExcalidrawNode/ExcalidrawImage.js +0 -55
  168. package/lib/nodes/ExcalidrawNode/index.d.ts +0 -32
  169. package/lib/nodes/ExcalidrawNode/index.js +0 -117
  170. package/lib/nodes/FigmaNode.d.ts +0 -20
  171. package/lib/nodes/FigmaNode.js +0 -52
  172. package/lib/nodes/ImageComponent.d.ts +0 -16
  173. package/lib/nodes/ImageComponent.js +0 -272
  174. package/lib/nodes/ImageNode.d.ts +0 -50
  175. package/lib/nodes/ImageNode.js +0 -151
  176. package/lib/nodes/InlineImageNode/InlineImageComponent.d.ts +0 -26
  177. package/lib/nodes/InlineImageNode/InlineImageComponent.js +0 -161
  178. package/lib/nodes/InlineImageNode/InlineImageNode.d.ts +0 -59
  179. package/lib/nodes/InlineImageNode/InlineImageNode.js +0 -162
  180. package/lib/nodes/KeywordNode.d.ts +0 -14
  181. package/lib/nodes/KeywordNode.js +0 -37
  182. package/lib/nodes/LayoutContainerNode.d.ts +0 -24
  183. package/lib/nodes/LayoutContainerNode.js +0 -95
  184. package/lib/nodes/LayoutItemNode.d.ts +0 -16
  185. package/lib/nodes/LayoutItemNode.js +0 -69
  186. package/lib/nodes/MentionNode.d.ts +0 -20
  187. package/lib/nodes/MentionNode.js +0 -85
  188. package/lib/nodes/PageBreakNode/index.d.ts +0 -17
  189. package/lib/nodes/PageBreakNode/index.js +0 -83
  190. package/lib/nodes/PlaygroundNodes.d.ts +0 -3
  191. package/lib/nodes/PlaygroundNodes.js +0 -75
  192. package/lib/nodes/PollComponent.d.ts +0 -9
  193. package/lib/nodes/PollComponent.js +0 -85
  194. package/lib/nodes/PollNode.d.ts +0 -43
  195. package/lib/nodes/PollNode.js +0 -153
  196. package/lib/nodes/SpecialTextNode.d.ts +0 -24
  197. package/lib/nodes/SpecialTextNode.js +0 -54
  198. package/lib/nodes/StickyComponent.d.ts +0 -10
  199. package/lib/nodes/StickyComponent.js +0 -162
  200. package/lib/nodes/StickyNode.d.ts +0 -31
  201. package/lib/nodes/StickyNode.js +0 -76
  202. package/lib/nodes/TweetNode.d.ts +0 -21
  203. package/lib/nodes/TweetNode.js +0 -119
  204. package/lib/nodes/YouTubeNode.d.ts +0 -22
  205. package/lib/nodes/YouTubeNode.js +0 -84
  206. package/lib/plugins/ActionsPlugin/index.d.ts +0 -5
  207. package/lib/plugins/ActionsPlugin/index.js +0 -168
  208. package/lib/plugins/AutoEmbedPlugin/index.d.ts +0 -19
  209. package/lib/plugins/AutoEmbedPlugin/index.js +0 -158
  210. package/lib/plugins/AutoLinkPlugin/index.d.ts +0 -2
  211. package/lib/plugins/AutoLinkPlugin/index.js +0 -15
  212. package/lib/plugins/AutocompletePlugin/index.d.ts +0 -10
  213. package/lib/plugins/AutocompletePlugin/index.js +0 -2477
  214. package/lib/plugins/CodeActionMenuPlugin/components/CopyButton/index.d.ts +0 -7
  215. package/lib/plugins/CodeActionMenuPlugin/components/CopyButton/index.js +0 -46
  216. package/lib/plugins/CodeActionMenuPlugin/components/PrettierButton/index.d.ts +0 -17
  217. package/lib/plugins/CodeActionMenuPlugin/components/PrettierButton/index.js +0 -115
  218. package/lib/plugins/CodeActionMenuPlugin/index.d.ts +0 -5
  219. package/lib/plugins/CodeActionMenuPlugin/index.js +0 -104
  220. package/lib/plugins/CodeActionMenuPlugin/utils.d.ts +0 -1
  221. package/lib/plugins/CodeActionMenuPlugin/utils.js +0 -22
  222. package/lib/plugins/CodeHighlightPrismPlugin/index.d.ts +0 -2
  223. package/lib/plugins/CodeHighlightPrismPlugin/index.js +0 -14
  224. package/lib/plugins/CodeHighlightShikiPlugin/index.d.ts +0 -2
  225. package/lib/plugins/CodeHighlightShikiPlugin/index.js +0 -14
  226. package/lib/plugins/CollapsiblePlugin/CollapsibleContainerNode.d.ts +0 -25
  227. package/lib/plugins/CollapsiblePlugin/CollapsibleContainerNode.js +0 -135
  228. package/lib/plugins/CollapsiblePlugin/CollapsibleContentNode.d.ts +0 -16
  229. package/lib/plugins/CollapsiblePlugin/CollapsibleContentNode.js +0 -83
  230. package/lib/plugins/CollapsiblePlugin/CollapsibleTitleNode.d.ts +0 -16
  231. package/lib/plugins/CollapsiblePlugin/CollapsibleTitleNode.js +0 -85
  232. package/lib/plugins/CollapsiblePlugin/CollapsibleUtils.d.ts +0 -2
  233. package/lib/plugins/CollapsiblePlugin/CollapsibleUtils.js +0 -12
  234. package/lib/plugins/CollapsiblePlugin/index.d.ts +0 -3
  235. package/lib/plugins/CollapsiblePlugin/index.js +0 -132
  236. package/lib/plugins/CommentPlugin/index.d.ts +0 -9
  237. package/lib/plugins/CommentPlugin/index.js +0 -460
  238. package/lib/plugins/ComponentPickerPlugin/index.d.ts +0 -2
  239. package/lib/plugins/ComponentPickerPlugin/index.js +0 -276
  240. package/lib/plugins/ContextMenuPlugin/index.d.ts +0 -2
  241. package/lib/plugins/ContextMenuPlugin/index.js +0 -112
  242. package/lib/plugins/CounterPlugin/index.d.ts +0 -3
  243. package/lib/plugins/CounterPlugin/index.js +0 -24
  244. package/lib/plugins/DateTimePlugin/index.d.ts +0 -8
  245. package/lib/plugins/DateTimePlugin/index.js +0 -28
  246. package/lib/plugins/DebugPlugin/index.d.ts +0 -3
  247. package/lib/plugins/DebugPlugin/index.js +0 -219
  248. package/lib/plugins/DocsPlugin/index.d.ts +0 -2
  249. package/lib/plugins/DocsPlugin/index.js +0 -4
  250. package/lib/plugins/DragDropPastePlugin/index.d.ts +0 -1
  251. package/lib/plugins/DragDropPastePlugin/index.js +0 -37
  252. package/lib/plugins/DraggableBlockPlugin/index.d.ts +0 -12
  253. package/lib/plugins/DraggableBlockPlugin/index.js +0 -36
  254. package/lib/plugins/EmojiPickerPlugin/index.d.ts +0 -1
  255. package/lib/plugins/EmojiPickerPlugin/index.js +0 -84
  256. package/lib/plugins/EmojisPlugin/index.d.ts +0 -2
  257. package/lib/plugins/EmojisPlugin/index.js +0 -56
  258. package/lib/plugins/EquationsPlugin/index.d.ts +0 -14
  259. package/lib/plugins/EquationsPlugin/index.js +0 -34
  260. package/lib/plugins/ExcalidrawPlugin/index.d.ts +0 -5
  261. package/lib/plugins/ExcalidrawPlugin/index.js +0 -44
  262. package/lib/plugins/FigmaPlugin/index.d.ts +0 -4
  263. package/lib/plugins/FigmaPlugin/index.js +0 -24
  264. package/lib/plugins/FloatingLinkEditorPlugin/index.d.ts +0 -15
  265. package/lib/plugins/FloatingLinkEditorPlugin/index.js +0 -280
  266. package/lib/plugins/FloatingTextFormatToolbarPlugin/index.d.ts +0 -7
  267. package/lib/plugins/FloatingTextFormatToolbarPlugin/index.js +0 -219
  268. package/lib/plugins/ImagesPlugin/index.d.ts +0 -24
  269. package/lib/plugins/ImagesPlugin/index.js +0 -195
  270. package/lib/plugins/InlineImagePlugin/index.d.ts +0 -17
  271. package/lib/plugins/InlineImagePlugin/index.js +0 -180
  272. package/lib/plugins/KeywordsPlugin/index.d.ts +0 -2
  273. package/lib/plugins/KeywordsPlugin/index.js +0 -35
  274. package/lib/plugins/LayoutPlugin/InsertLayoutDialog.d.ts +0 -6
  275. package/lib/plugins/LayoutPlugin/InsertLayoutDialog.js +0 -21
  276. package/lib/plugins/LayoutPlugin/LayoutPlugin.d.ts +0 -7
  277. package/lib/plugins/LayoutPlugin/LayoutPlugin.js +0 -135
  278. package/lib/plugins/LinkPlugin/index.d.ts +0 -6
  279. package/lib/plugins/LinkPlugin/index.js +0 -11
  280. package/lib/plugins/MarkdownShortcutPlugin/index.d.ts +0 -2
  281. package/lib/plugins/MarkdownShortcutPlugin/index.js +0 -6
  282. package/lib/plugins/MarkdownTransformers/index.d.ts +0 -8
  283. package/lib/plugins/MarkdownTransformers/index.js +0 -238
  284. package/lib/plugins/MaxLengthPlugin/index.d.ts +0 -3
  285. package/lib/plugins/MaxLengthPlugin/index.js +0 -41
  286. package/lib/plugins/MentionsPlugin/index.d.ts +0 -2
  287. package/lib/plugins/MentionsPlugin/index.js +0 -564
  288. package/lib/plugins/PageBreakPlugin/index.d.ts +0 -4
  289. package/lib/plugins/PageBreakPlugin/index.js +0 -31
  290. package/lib/plugins/PasteLogPlugin/index.d.ts +0 -2
  291. package/lib/plugins/PasteLogPlugin/index.js +0 -27
  292. package/lib/plugins/PollPlugin/index.d.ts +0 -8
  293. package/lib/plugins/PollPlugin/index.js +0 -38
  294. package/lib/plugins/ShortcutsPlugin/index.d.ts +0 -6
  295. package/lib/plugins/ShortcutsPlugin/index.js +0 -116
  296. package/lib/plugins/ShortcutsPlugin/shortcuts.d.ts +0 -59
  297. package/lib/plugins/ShortcutsPlugin/shortcuts.js +0 -173
  298. package/lib/plugins/SpecialTextPlugin/index.d.ts +0 -2
  299. package/lib/plugins/SpecialTextPlugin/index.js +0 -50
  300. package/lib/plugins/SpeechToTextPlugin/index.d.ts +0 -5
  301. package/lib/plugins/SpeechToTextPlugin/index.js +0 -86
  302. package/lib/plugins/StickyPlugin/index.d.ts +0 -2
  303. package/lib/plugins/StickyPlugin/index.js +0 -16
  304. package/lib/plugins/TabFocusPlugin/index.d.ts +0 -1
  305. package/lib/plugins/TabFocusPlugin/index.js +0 -38
  306. package/lib/plugins/TableActionMenuPlugin/index.d.ts +0 -5
  307. package/lib/plugins/TableActionMenuPlugin/index.js +0 -492
  308. package/lib/plugins/TableCellResizer/index.d.ts +0 -3
  309. package/lib/plugins/TableCellResizer/index.js +0 -297
  310. package/lib/plugins/TableHoverActionsPlugin/index.d.ts +0 -4
  311. package/lib/plugins/TableHoverActionsPlugin/index.js +0 -188
  312. package/lib/plugins/TableOfContentsPlugin/index.d.ts +0 -2
  313. package/lib/plugins/TableOfContentsPlugin/index.js +0 -116
  314. package/lib/plugins/TablePlugin.d.ts +0 -31
  315. package/lib/plugins/TablePlugin.js +0 -63
  316. package/lib/plugins/TestRecorderPlugin/index.d.ts +0 -3
  317. package/lib/plugins/TestRecorderPlugin/index.js +0 -346
  318. package/lib/plugins/ToolbarPlugin/fontSize.d.ts +0 -9
  319. package/lib/plugins/ToolbarPlugin/fontSize.js +0 -84
  320. package/lib/plugins/ToolbarPlugin/index.d.ts +0 -9
  321. package/lib/plugins/ToolbarPlugin/index.js +0 -500
  322. package/lib/plugins/ToolbarPlugin/utils.d.ts +0 -26
  323. package/lib/plugins/ToolbarPlugin/utils.js +0 -247
  324. package/lib/plugins/TreeViewPlugin/index.d.ts +0 -2
  325. package/lib/plugins/TreeViewPlugin/index.js +0 -7
  326. package/lib/plugins/TwitterPlugin/index.d.ts +0 -4
  327. package/lib/plugins/TwitterPlugin/index.js +0 -24
  328. package/lib/plugins/TypingPerfPlugin/index.d.ts +0 -2
  329. package/lib/plugins/TypingPerfPlugin/index.js +0 -97
  330. package/lib/plugins/YouTubePlugin/index.d.ts +0 -4
  331. package/lib/plugins/YouTubePlugin/index.js +0 -24
  332. package/lib/server/validation.d.ts +0 -1
  333. package/lib/server/validation.js +0 -115
  334. package/lib/setupEnv.d.ts +0 -2
  335. package/lib/setupEnv.js +0 -29
  336. package/lib/themes/CommentEditorTheme.d.ts +0 -4
  337. package/lib/themes/CommentEditorTheme.js +0 -11
  338. package/lib/themes/PlaygroundEditorTheme.d.ts +0 -4
  339. package/lib/themes/PlaygroundEditorTheme.js +0 -124
  340. package/lib/themes/StickyEditorTheme.d.ts +0 -4
  341. package/lib/themes/StickyEditorTheme.js +0 -11
  342. package/lib/tyes.dt.d.ts +0 -12
  343. package/lib/tyes.dt.js +0 -4
  344. package/lib/ui/Button.d.ts +0 -12
  345. package/lib/ui/Button.js +0 -6
  346. package/lib/ui/ColorPicker.d.ts +0 -14
  347. package/lib/ui/ColorPicker.js +0 -219
  348. package/lib/ui/ContentEditable.d.ts +0 -9
  349. package/lib/ui/ContentEditable.js +0 -6
  350. package/lib/ui/Dialog.d.ts +0 -10
  351. package/lib/ui/Dialog.js +0 -8
  352. package/lib/ui/DropDown.d.ts +0 -18
  353. package/lib/ui/DropDown.js +0 -133
  354. package/lib/ui/DropdownColorPicker.d.ts +0 -13
  355. package/lib/ui/DropdownColorPicker.js +0 -6
  356. package/lib/ui/EquationEditor.d.ts +0 -8
  357. package/lib/ui/EquationEditor.js +0 -11
  358. package/lib/ui/ExcalidrawModal.d.ts +0 -42
  359. package/lib/ui/ExcalidrawModal.js +0 -103
  360. package/lib/ui/FileInput.d.ts +0 -10
  361. package/lib/ui/FileInput.js +0 -5
  362. package/lib/ui/FlashMessage.d.ts +0 -7
  363. package/lib/ui/FlashMessage.js +0 -6
  364. package/lib/ui/ImageResizer.d.ts +0 -17
  365. package/lib/ui/ImageResizer.js +0 -171
  366. package/lib/ui/KatexEquationAlterer.d.ts +0 -8
  367. package/lib/ui/KatexEquationAlterer.js +0 -23
  368. package/lib/ui/KatexRenderer.d.ts +0 -6
  369. package/lib/ui/KatexRenderer.js +0 -24
  370. package/lib/ui/Modal.d.ts +0 -9
  371. package/lib/ui/Modal.js +0 -48
  372. package/lib/ui/Select.d.ts +0 -8
  373. package/lib/ui/Select.js +0 -5
  374. package/lib/ui/Switch.d.ts +0 -8
  375. package/lib/ui/Switch.js +0 -6
  376. package/lib/ui/TextInput.d.ts +0 -13
  377. package/lib/ui/TextInput.js +0 -7
  378. package/lib/utils/docSerialization.d.ts +0 -3
  379. package/lib/utils/docSerialization.js +0 -60
  380. package/lib/utils/emoji-list.d.ts +0 -20
  381. package/lib/utils/emoji-list.js +0 -16609
  382. package/lib/utils/getDOMRangeRect.d.ts +0 -8
  383. package/lib/utils/getDOMRangeRect.js +0 -26
  384. package/lib/utils/getSelectedNode.d.ts +0 -2
  385. package/lib/utils/getSelectedNode.js +0 -28
  386. package/lib/utils/getThemeSelector.d.ts +0 -2
  387. package/lib/utils/getThemeSelector.js +0 -14
  388. package/lib/utils/isMobileWidth.d.ts +0 -7
  389. package/lib/utils/isMobileWidth.js +0 -11
  390. package/lib/utils/joinClasses.d.ts +0 -1
  391. package/lib/utils/joinClasses.js +0 -7
  392. package/lib/utils/setFloatingElemPosition.d.ts +0 -1
  393. package/lib/utils/setFloatingElemPosition.js +0 -59
  394. package/lib/utils/setFloatingElemPositionForLinkEditor.d.ts +0 -1
  395. package/lib/utils/setFloatingElemPositionForLinkEditor.js +0 -36
  396. package/lib/utils/swipe.d.ts +0 -4
  397. package/lib/utils/swipe.js +0 -94
  398. package/lib/utils/url.d.ts +0 -2
  399. package/lib/utils/url.js +0 -31
@@ -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,37 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the MIT License.
4
- */
5
- import { $applyNodeReplacement, TextNode } from 'lexical';
6
- export class KeywordNode extends TextNode {
7
- static getType() {
8
- return 'keyword';
9
- }
10
- static clone(node) {
11
- return new KeywordNode(node.__text, node.__key);
12
- }
13
- static importJSON(serializedNode) {
14
- return $createKeywordNode().updateFromJSON(serializedNode);
15
- }
16
- createDOM(config) {
17
- const dom = super.createDOM(config);
18
- dom.style.cursor = 'default';
19
- dom.className = 'keyword';
20
- return dom;
21
- }
22
- canInsertTextBefore() {
23
- return false;
24
- }
25
- canInsertTextAfter() {
26
- return false;
27
- }
28
- isTextEntity() {
29
- return true;
30
- }
31
- }
32
- export function $createKeywordNode(keyword = '') {
33
- return $applyNodeReplacement(new KeywordNode(keyword));
34
- }
35
- export function $isKeywordNode(node) {
36
- return node instanceof KeywordNode;
37
- }
@@ -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,95 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the MIT License.
4
- */
5
- import { addClassNamesToElement } from '@lexical/utils';
6
- import { ElementNode } from 'lexical';
7
- function $convertLayoutContainerElement(domNode) {
8
- const styleAttributes = window.getComputedStyle(domNode);
9
- const templateColumns = styleAttributes.getPropertyValue('grid-template-columns');
10
- if (templateColumns) {
11
- const node = $createLayoutContainerNode(templateColumns);
12
- return { node };
13
- }
14
- return null;
15
- }
16
- export class LayoutContainerNode extends ElementNode {
17
- __templateColumns;
18
- constructor(templateColumns, key) {
19
- super(key);
20
- this.__templateColumns = templateColumns;
21
- }
22
- static getType() {
23
- return 'layout-container';
24
- }
25
- static clone(node) {
26
- return new LayoutContainerNode(node.__templateColumns, node.__key);
27
- }
28
- createDOM(config) {
29
- const dom = document.createElement('div');
30
- dom.style.gridTemplateColumns = this.__templateColumns;
31
- if (typeof config.theme.layoutContainer === 'string') {
32
- addClassNamesToElement(dom, config.theme.layoutContainer);
33
- }
34
- return dom;
35
- }
36
- exportDOM() {
37
- const element = document.createElement('div');
38
- element.style.gridTemplateColumns = this.__templateColumns;
39
- element.setAttribute('data-lexical-layout-container', 'true');
40
- return { element };
41
- }
42
- updateDOM(prevNode, dom) {
43
- if (prevNode.__templateColumns !== this.__templateColumns) {
44
- dom.style.gridTemplateColumns = this.__templateColumns;
45
- }
46
- return false;
47
- }
48
- static importDOM() {
49
- return {
50
- div: (domNode) => {
51
- if (!domNode.hasAttribute('data-lexical-layout-container')) {
52
- return null;
53
- }
54
- return {
55
- conversion: $convertLayoutContainerElement,
56
- priority: 2,
57
- };
58
- },
59
- };
60
- }
61
- static importJSON(json) {
62
- return $createLayoutContainerNode().updateFromJSON(json);
63
- }
64
- updateFromJSON(serializedNode) {
65
- return super
66
- .updateFromJSON(serializedNode)
67
- .setTemplateColumns(serializedNode.templateColumns);
68
- }
69
- isShadowRoot() {
70
- return true;
71
- }
72
- canBeEmpty() {
73
- return false;
74
- }
75
- exportJSON() {
76
- return {
77
- ...super.exportJSON(),
78
- templateColumns: this.__templateColumns,
79
- };
80
- }
81
- getTemplateColumns() {
82
- return this.getLatest().__templateColumns;
83
- }
84
- setTemplateColumns(templateColumns) {
85
- const self = this.getWritable();
86
- self.__templateColumns = templateColumns;
87
- return self;
88
- }
89
- }
90
- export function $createLayoutContainerNode(templateColumns = '') {
91
- return new LayoutContainerNode(templateColumns);
92
- }
93
- export function $isLayoutContainerNode(node) {
94
- return node instanceof LayoutContainerNode;
95
- }
@@ -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,69 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the MIT License.
4
- */
5
- import { addClassNamesToElement } from '@lexical/utils';
6
- import { $isParagraphNode, ElementNode } from 'lexical';
7
- function $convertLayoutItemElement() {
8
- return { node: $createLayoutItemNode() };
9
- }
10
- export function $isEmptyLayoutItemNode(node) {
11
- if (!$isLayoutItemNode(node) || node.getChildrenSize() !== 1) {
12
- return false;
13
- }
14
- const firstChild = node.getFirstChild();
15
- return $isParagraphNode(firstChild) && firstChild.isEmpty();
16
- }
17
- export class LayoutItemNode extends ElementNode {
18
- static getType() {
19
- return 'layout-item';
20
- }
21
- static clone(node) {
22
- return new LayoutItemNode(node.__key);
23
- }
24
- createDOM(config) {
25
- const dom = document.createElement('div');
26
- dom.setAttribute('data-lexical-layout-item', 'true');
27
- if (typeof config.theme.layoutItem === 'string') {
28
- addClassNamesToElement(dom, config.theme.layoutItem);
29
- }
30
- return dom;
31
- }
32
- updateDOM() {
33
- return false;
34
- }
35
- collapseAtStart() {
36
- const parent = this.getParentOrThrow();
37
- if (this.is(parent.getFirstChild()) &&
38
- parent.getChildren().every($isEmptyLayoutItemNode)) {
39
- parent.remove();
40
- return true;
41
- }
42
- return false;
43
- }
44
- static importDOM() {
45
- return {
46
- div: (domNode) => {
47
- if (!domNode.hasAttribute('data-lexical-layout-item')) {
48
- return null;
49
- }
50
- return {
51
- conversion: $convertLayoutItemElement,
52
- priority: 2,
53
- };
54
- },
55
- };
56
- }
57
- static importJSON(serializedNode) {
58
- return $createLayoutItemNode().updateFromJSON(serializedNode);
59
- }
60
- isShadowRoot() {
61
- return true;
62
- }
63
- }
64
- export function $createLayoutItemNode() {
65
- return new LayoutItemNode();
66
- }
67
- export function $isLayoutItemNode(node) {
68
- return node instanceof LayoutItemNode;
69
- }
@@ -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;