@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,162 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import './StickyNode.css';
3
- import { useCollaborationContext } from '@lexical/react/LexicalCollaborationContext';
4
- import { CollaborationPlugin } from '@lexical/react/LexicalCollaborationPlugin';
5
- import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
6
- import { LexicalErrorBoundary } from '@lexical/react/LexicalErrorBoundary';
7
- import { HistoryPlugin } from '@lexical/react/LexicalHistoryPlugin';
8
- import { LexicalNestedComposer } from '@lexical/react/LexicalNestedComposer';
9
- import { PlainTextPlugin } from '@lexical/react/LexicalPlainTextPlugin';
10
- import { calculateZoomLevel } from '@lexical/utils';
11
- import { $getNodeByKey } from 'lexical';
12
- import { useEffect, useLayoutEffect, useRef } from 'react';
13
- import { createWebsocketProvider } from '../collab/yjs/wsProvider';
14
- import { useSharedHistoryContext } from '../context/SharedHistoryContext';
15
- import StickyEditorTheme from '../themes/StickyEditorTheme';
16
- import ContentEditable from '../ui/ContentEditable';
17
- import { $isStickyNode } from './StickyNode';
18
- function positionSticky(stickyElem, positioning) {
19
- const style = stickyElem.style;
20
- const rootElementRect = positioning.rootElementRect;
21
- const rectLeft = rootElementRect !== null ? rootElementRect.left : 0;
22
- const rectTop = rootElementRect !== null ? rootElementRect.top : 0;
23
- style.top = rectTop + positioning.y + 'px';
24
- style.left = rectLeft + positioning.x + 'px';
25
- }
26
- export default function StickyComponent({ x, y, nodeKey, color, caption, }) {
27
- const [editor] = useLexicalComposerContext();
28
- const stickyContainerRef = useRef(null);
29
- const positioningRef = useRef({
30
- isDragging: false,
31
- offsetX: 0,
32
- offsetY: 0,
33
- rootElementRect: null,
34
- x: 0,
35
- y: 0,
36
- });
37
- const { isCollabActive } = useCollaborationContext();
38
- useEffect(() => {
39
- const position = positioningRef.current;
40
- position.x = x;
41
- position.y = y;
42
- const stickyContainer = stickyContainerRef.current;
43
- if (stickyContainer !== null) {
44
- positionSticky(stickyContainer, position);
45
- }
46
- }, [x, y]);
47
- useLayoutEffect(() => {
48
- const position = positioningRef.current;
49
- const resizeObserver = new ResizeObserver((entries) => {
50
- for (let i = 0; i < entries.length; i++) {
51
- const entry = entries[i];
52
- const { target } = entry;
53
- position.rootElementRect = target.getBoundingClientRect();
54
- const stickyContainer = stickyContainerRef.current;
55
- if (stickyContainer !== null) {
56
- positionSticky(stickyContainer, position);
57
- }
58
- }
59
- });
60
- const removeRootListener = editor.registerRootListener((nextRootElem, prevRootElem) => {
61
- if (prevRootElem !== null) {
62
- resizeObserver.unobserve(prevRootElem);
63
- }
64
- if (nextRootElem !== null) {
65
- resizeObserver.observe(nextRootElem);
66
- }
67
- });
68
- const handleWindowResize = () => {
69
- const rootElement = editor.getRootElement();
70
- const stickyContainer = stickyContainerRef.current;
71
- if (rootElement !== null && stickyContainer !== null) {
72
- position.rootElementRect = rootElement.getBoundingClientRect();
73
- positionSticky(stickyContainer, position);
74
- }
75
- };
76
- window.addEventListener('resize', handleWindowResize);
77
- return () => {
78
- window.removeEventListener('resize', handleWindowResize);
79
- removeRootListener();
80
- };
81
- }, [editor]);
82
- useEffect(() => {
83
- const stickyContainer = stickyContainerRef.current;
84
- if (stickyContainer !== null) {
85
- // Delay adding transition so we don't trigger the
86
- // transition on load of the sticky.
87
- setTimeout(() => {
88
- stickyContainer.style.setProperty('transition', 'top 0.3s ease 0s, left 0.3s ease 0s');
89
- }, 500);
90
- }
91
- }, []);
92
- const handlePointerMove = (event) => {
93
- const stickyContainer = stickyContainerRef.current;
94
- const positioning = positioningRef.current;
95
- const rootElementRect = positioning.rootElementRect;
96
- const zoom = calculateZoomLevel(stickyContainer);
97
- if (stickyContainer !== null &&
98
- positioning.isDragging &&
99
- rootElementRect !== null) {
100
- positioning.x =
101
- event.pageX / zoom - positioning.offsetX - rootElementRect.left;
102
- positioning.y =
103
- event.pageY / zoom - positioning.offsetY - rootElementRect.top;
104
- positionSticky(stickyContainer, positioning);
105
- }
106
- };
107
- const handlePointerUp = (event) => {
108
- const stickyContainer = stickyContainerRef.current;
109
- const positioning = positioningRef.current;
110
- if (stickyContainer !== null) {
111
- positioning.isDragging = false;
112
- stickyContainer.classList.remove('dragging');
113
- editor.update(() => {
114
- const node = $getNodeByKey(nodeKey);
115
- if ($isStickyNode(node)) {
116
- node.setPosition(positioning.x, positioning.y);
117
- }
118
- });
119
- }
120
- document.removeEventListener('pointermove', handlePointerMove);
121
- document.removeEventListener('pointerup', handlePointerUp);
122
- };
123
- const handleDelete = () => {
124
- editor.update(() => {
125
- const node = $getNodeByKey(nodeKey);
126
- if ($isStickyNode(node)) {
127
- node.remove();
128
- }
129
- });
130
- };
131
- const handleColorChange = () => {
132
- editor.update(() => {
133
- const node = $getNodeByKey(nodeKey);
134
- if ($isStickyNode(node)) {
135
- node.toggleColor();
136
- }
137
- });
138
- };
139
- const { historyState } = useSharedHistoryContext();
140
- return (_jsx("div", { ref: stickyContainerRef, className: "sticky-note-container", children: _jsxs("div", { className: `sticky-note ${color}`, onPointerDown: (event) => {
141
- const stickyContainer = stickyContainerRef.current;
142
- if (stickyContainer == null ||
143
- event.button === 2 ||
144
- event.target !== stickyContainer.firstChild) {
145
- // Right click or click on editor should not work
146
- return;
147
- }
148
- const stickContainer = stickyContainer;
149
- const positioning = positioningRef.current;
150
- if (stickContainer !== null) {
151
- const { top, left } = stickContainer.getBoundingClientRect();
152
- const zoom = calculateZoomLevel(stickContainer);
153
- positioning.offsetX = event.clientX / zoom - left;
154
- positioning.offsetY = event.clientY / zoom - top;
155
- positioning.isDragging = true;
156
- stickContainer.classList.add('dragging');
157
- document.addEventListener('pointermove', handlePointerMove);
158
- document.addEventListener('pointerup', handlePointerUp);
159
- event.preventDefault();
160
- }
161
- }, children: [_jsx("button", { onClick: handleDelete, className: "delete", "aria-label": "Delete sticky note", title: "Delete", children: "X" }), _jsx("button", { onClick: handleColorChange, className: "color", "aria-label": "Change sticky note color", title: "Color", children: _jsx("i", { className: "bucket" }) }), _jsxs(LexicalNestedComposer, { initialEditor: caption, initialTheme: StickyEditorTheme, children: [isCollabActive ? (_jsx(CollaborationPlugin, { id: caption.getKey(), providerFactory: createWebsocketProvider, shouldBootstrap: true })) : (_jsx(HistoryPlugin, { externalHistoryState: historyState })), _jsx(PlainTextPlugin, { contentEditable: _jsx(ContentEditable, { placeholder: "What's up?", placeholderClassName: "StickyNode__placeholder", className: "StickyNode__contentEditable" }), ErrorBoundary: LexicalErrorBoundary })] })] }) }));
162
- }
@@ -1,31 +0,0 @@
1
- import type { EditorConfig, LexicalEditor, LexicalNode, LexicalUpdateJSON, NodeKey, SerializedEditor, SerializedLexicalNode, Spread } from 'lexical';
2
- import type { JSX } from 'react';
3
- import { DecoratorNode } from 'lexical';
4
- type StickyNoteColor = 'pink' | 'yellow';
5
- export type SerializedStickyNode = Spread<{
6
- xOffset: number;
7
- yOffset: number;
8
- color: StickyNoteColor;
9
- caption: SerializedEditor;
10
- }, SerializedLexicalNode>;
11
- export declare class StickyNode extends DecoratorNode<JSX.Element> {
12
- __x: number;
13
- __y: number;
14
- __color: StickyNoteColor;
15
- __caption: LexicalEditor;
16
- static getType(): string;
17
- static clone(node: StickyNode): StickyNode;
18
- static importJSON(serializedNode: SerializedStickyNode): StickyNode;
19
- updateFromJSON(serializedNode: LexicalUpdateJSON<SerializedStickyNode>): this;
20
- constructor(x: number, y: number, color: 'pink' | 'yellow', caption?: LexicalEditor, key?: NodeKey);
21
- exportJSON(): SerializedStickyNode;
22
- createDOM(config: EditorConfig): HTMLElement;
23
- updateDOM(): false;
24
- setPosition(x: number, y: number): void;
25
- toggleColor(): void;
26
- decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element;
27
- isIsolated(): true;
28
- }
29
- export declare function $isStickyNode(node: LexicalNode | null | undefined): node is StickyNode;
30
- export declare function $createStickyNode(xOffset: number, yOffset: number): StickyNode;
31
- export {};
@@ -1,76 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { $setSelection, createEditor, DecoratorNode } from 'lexical';
3
- import * as React from 'react';
4
- import { createPortal } from 'react-dom';
5
- const StickyComponent = React.lazy(() => import('./StickyComponent'));
6
- export class StickyNode extends DecoratorNode {
7
- __x;
8
- __y;
9
- __color;
10
- __caption;
11
- static getType() {
12
- return 'sticky';
13
- }
14
- static clone(node) {
15
- return new StickyNode(node.__x, node.__y, node.__color, node.__caption, node.__key);
16
- }
17
- static importJSON(serializedNode) {
18
- return new StickyNode(serializedNode.xOffset, serializedNode.yOffset, serializedNode.color).updateFromJSON(serializedNode);
19
- }
20
- updateFromJSON(serializedNode) {
21
- const stickyNode = super.updateFromJSON(serializedNode);
22
- const caption = serializedNode.caption;
23
- const nestedEditor = stickyNode.__caption;
24
- const editorState = nestedEditor.parseEditorState(caption.editorState);
25
- if (!editorState.isEmpty()) {
26
- nestedEditor.setEditorState(editorState);
27
- }
28
- return stickyNode;
29
- }
30
- constructor(x, y, color, caption, key) {
31
- super(key);
32
- this.__x = x;
33
- this.__y = y;
34
- this.__caption = caption || createEditor();
35
- this.__color = color;
36
- }
37
- exportJSON() {
38
- return {
39
- ...super.exportJSON(),
40
- caption: this.__caption.toJSON(),
41
- color: this.__color,
42
- xOffset: this.__x,
43
- yOffset: this.__y,
44
- };
45
- }
46
- createDOM(config) {
47
- const div = document.createElement('div');
48
- div.style.display = 'contents';
49
- return div;
50
- }
51
- updateDOM() {
52
- return false;
53
- }
54
- setPosition(x, y) {
55
- const writable = this.getWritable();
56
- writable.__x = x;
57
- writable.__y = y;
58
- $setSelection(null);
59
- }
60
- toggleColor() {
61
- const writable = this.getWritable();
62
- writable.__color = writable.__color === 'pink' ? 'yellow' : 'pink';
63
- }
64
- decorate(editor, config) {
65
- return createPortal(_jsx(StickyComponent, { color: this.__color, x: this.__x, y: this.__y, nodeKey: this.getKey(), caption: this.__caption }), document.body);
66
- }
67
- isIsolated() {
68
- return true;
69
- }
70
- }
71
- export function $isStickyNode(node) {
72
- return node instanceof StickyNode;
73
- }
74
- export function $createStickyNode(xOffset, yOffset) {
75
- return new StickyNode(xOffset, yOffset, 'yellow');
76
- }
@@ -1,21 +0,0 @@
1
- import type { DOMConversionMap, DOMExportOutput, EditorConfig, ElementFormatType, LexicalEditor, LexicalNode, NodeKey, Spread } from 'lexical';
2
- import type { JSX } from 'react';
3
- import { DecoratorBlockNode, SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode';
4
- export type SerializedTweetNode = Spread<{
5
- id: string;
6
- }, SerializedDecoratorBlockNode>;
7
- export declare class TweetNode extends DecoratorBlockNode {
8
- __id: string;
9
- static getType(): string;
10
- static clone(node: TweetNode): TweetNode;
11
- static importJSON(serializedNode: SerializedTweetNode): TweetNode;
12
- exportJSON(): SerializedTweetNode;
13
- static importDOM(): DOMConversionMap<HTMLDivElement> | null;
14
- exportDOM(): DOMExportOutput;
15
- constructor(id: string, format?: ElementFormatType, key?: NodeKey);
16
- getId(): string;
17
- getTextContent(_includeInert?: boolean | undefined, _includeDirectionless?: false | undefined): string;
18
- decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element;
19
- }
20
- export declare function $createTweetNode(tweetID: string): TweetNode;
21
- export declare function $isTweetNode(node: TweetNode | LexicalNode | null | undefined): node is TweetNode;
@@ -1,119 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { BlockWithAlignableContents } from '@lexical/react/LexicalBlockWithAlignableContents';
3
- import { DecoratorBlockNode, } from '@lexical/react/LexicalDecoratorBlockNode';
4
- import { useCallback, useEffect, useRef, useState } from 'react';
5
- const WIDGET_SCRIPT_URL = 'https://platform.twitter.com/widgets.js';
6
- function $convertTweetElement(domNode) {
7
- const id = domNode.getAttribute('data-lexical-tweet-id');
8
- if (id) {
9
- const node = $createTweetNode(id);
10
- return { node };
11
- }
12
- return null;
13
- }
14
- let isTwitterScriptLoading = true;
15
- function TweetComponent({ className, format, loadingComponent, nodeKey, onError, onLoad, tweetID, }) {
16
- const containerRef = useRef(null);
17
- const previousTweetIDRef = useRef('');
18
- const [isTweetLoading, setIsTweetLoading] = useState(false);
19
- const createTweet = useCallback(async () => {
20
- try {
21
- // @ts-expect-error Twitter is attached to the window.
22
- await window.twttr.widgets.createTweet(tweetID, containerRef.current);
23
- setIsTweetLoading(false);
24
- isTwitterScriptLoading = false;
25
- if (onLoad) {
26
- onLoad();
27
- }
28
- }
29
- catch (error) {
30
- if (onError) {
31
- onError(String(error));
32
- }
33
- }
34
- }, [onError, onLoad, tweetID]);
35
- useEffect(() => {
36
- if (tweetID !== previousTweetIDRef.current) {
37
- setIsTweetLoading(true);
38
- if (isTwitterScriptLoading) {
39
- const script = document.createElement('script');
40
- script.src = WIDGET_SCRIPT_URL;
41
- script.async = true;
42
- document.body?.appendChild(script);
43
- script.onload = createTweet;
44
- if (onError) {
45
- script.onerror = onError;
46
- }
47
- }
48
- else {
49
- createTweet();
50
- }
51
- if (previousTweetIDRef) {
52
- previousTweetIDRef.current = tweetID;
53
- }
54
- }
55
- }, [createTweet, onError, tweetID]);
56
- return (_jsxs(BlockWithAlignableContents, { className: className, format: format, nodeKey: nodeKey, children: [isTweetLoading ? loadingComponent : null, _jsx("div", { style: { display: 'inline-block', width: '550px' }, ref: containerRef })] }));
57
- }
58
- export class TweetNode extends DecoratorBlockNode {
59
- __id;
60
- static getType() {
61
- return 'tweet';
62
- }
63
- static clone(node) {
64
- return new TweetNode(node.__id, node.__format, node.__key);
65
- }
66
- static importJSON(serializedNode) {
67
- return $createTweetNode(serializedNode.id).updateFromJSON(serializedNode);
68
- }
69
- exportJSON() {
70
- return {
71
- ...super.exportJSON(),
72
- id: this.getId(),
73
- };
74
- }
75
- static importDOM() {
76
- return {
77
- div: (domNode) => {
78
- if (!domNode.hasAttribute('data-lexical-tweet-id')) {
79
- return null;
80
- }
81
- return {
82
- conversion: $convertTweetElement,
83
- priority: 2,
84
- };
85
- },
86
- };
87
- }
88
- exportDOM() {
89
- const element = document.createElement('div');
90
- element.setAttribute('data-lexical-tweet-id', this.__id);
91
- const text = document.createTextNode(this.getTextContent());
92
- element.append(text);
93
- return { element };
94
- }
95
- constructor(id, format, key) {
96
- super(format, key);
97
- this.__id = id;
98
- }
99
- getId() {
100
- return this.__id;
101
- }
102
- getTextContent(_includeInert, _includeDirectionless) {
103
- return `https://x.com/i/web/status/${this.__id}`;
104
- }
105
- decorate(editor, config) {
106
- const embedBlockTheme = config.theme.embedBlock || {};
107
- const className = {
108
- base: embedBlockTheme.base || '',
109
- focus: embedBlockTheme.focus || '',
110
- };
111
- return (_jsx(TweetComponent, { className: className, format: this.__format, loadingComponent: "Loading...", nodeKey: this.getKey(), tweetID: this.__id }));
112
- }
113
- }
114
- export function $createTweetNode(tweetID) {
115
- return new TweetNode(tweetID);
116
- }
117
- export function $isTweetNode(node) {
118
- return node instanceof TweetNode;
119
- }
@@ -1,22 +0,0 @@
1
- import type { DOMConversionMap, DOMExportOutput, EditorConfig, ElementFormatType, LexicalEditor, LexicalNode, NodeKey, Spread } from 'lexical';
2
- import type { JSX } from 'react';
3
- import { DecoratorBlockNode, SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode';
4
- export type SerializedYouTubeNode = Spread<{
5
- videoID: string;
6
- }, SerializedDecoratorBlockNode>;
7
- export declare class YouTubeNode extends DecoratorBlockNode {
8
- __id: string;
9
- static getType(): string;
10
- static clone(node: YouTubeNode): YouTubeNode;
11
- static importJSON(serializedNode: SerializedYouTubeNode): YouTubeNode;
12
- exportJSON(): SerializedYouTubeNode;
13
- constructor(id: string, format?: ElementFormatType, key?: NodeKey);
14
- exportDOM(): DOMExportOutput;
15
- static importDOM(): DOMConversionMap | null;
16
- updateDOM(): false;
17
- getId(): string;
18
- getTextContent(_includeInert?: boolean | undefined, _includeDirectionless?: false | undefined): string;
19
- decorate(_editor: LexicalEditor, config: EditorConfig): JSX.Element;
20
- }
21
- export declare function $createYouTubeNode(videoID: string): YouTubeNode;
22
- export declare function $isYouTubeNode(node: YouTubeNode | LexicalNode | null | undefined): node is YouTubeNode;
@@ -1,84 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { BlockWithAlignableContents } from '@lexical/react/LexicalBlockWithAlignableContents';
3
- import { DecoratorBlockNode, } from '@lexical/react/LexicalDecoratorBlockNode';
4
- function YouTubeComponent({ className, format, nodeKey, videoID, }) {
5
- return (_jsx(BlockWithAlignableContents, { className: className, format: format, nodeKey: nodeKey, children: _jsx("iframe", { width: "560", height: "315", src: `https://www.youtube-nocookie.com/embed/${videoID}`, frameBorder: "0", allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture", allowFullScreen: true, title: "YouTube video" }) }));
6
- }
7
- function $convertYoutubeElement(domNode) {
8
- const videoID = domNode.getAttribute('data-lexical-youtube');
9
- if (videoID) {
10
- const node = $createYouTubeNode(videoID);
11
- return { node };
12
- }
13
- return null;
14
- }
15
- export class YouTubeNode extends DecoratorBlockNode {
16
- __id;
17
- static getType() {
18
- return 'youtube';
19
- }
20
- static clone(node) {
21
- return new YouTubeNode(node.__id, node.__format, node.__key);
22
- }
23
- static importJSON(serializedNode) {
24
- return $createYouTubeNode(serializedNode.videoID).updateFromJSON(serializedNode);
25
- }
26
- exportJSON() {
27
- return {
28
- ...super.exportJSON(),
29
- videoID: this.__id,
30
- };
31
- }
32
- constructor(id, format, key) {
33
- super(format, key);
34
- this.__id = id;
35
- }
36
- exportDOM() {
37
- const element = document.createElement('iframe');
38
- element.setAttribute('data-lexical-youtube', this.__id);
39
- element.setAttribute('width', '560');
40
- element.setAttribute('height', '315');
41
- element.setAttribute('src', `https://www.youtube-nocookie.com/embed/${this.__id}`);
42
- element.setAttribute('frameborder', '0');
43
- element.setAttribute('allow', 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture');
44
- element.setAttribute('allowfullscreen', 'true');
45
- element.setAttribute('title', 'YouTube video');
46
- return { element };
47
- }
48
- static importDOM() {
49
- return {
50
- iframe: (domNode) => {
51
- if (!domNode.hasAttribute('data-lexical-youtube')) {
52
- return null;
53
- }
54
- return {
55
- conversion: $convertYoutubeElement,
56
- priority: 1,
57
- };
58
- },
59
- };
60
- }
61
- updateDOM() {
62
- return false;
63
- }
64
- getId() {
65
- return this.__id;
66
- }
67
- getTextContent(_includeInert, _includeDirectionless) {
68
- return `https://www.youtube.com/watch?v=${this.__id}`;
69
- }
70
- decorate(_editor, config) {
71
- const embedBlockTheme = config.theme.embedBlock || {};
72
- const className = {
73
- base: embedBlockTheme.base || '',
74
- focus: embedBlockTheme.focus || '',
75
- };
76
- return (_jsx(YouTubeComponent, { className: className, format: this.__format, nodeKey: this.getKey(), videoID: this.__id }));
77
- }
78
- }
79
- export function $createYouTubeNode(videoID) {
80
- return new YouTubeNode(videoID);
81
- }
82
- export function $isYouTubeNode(node) {
83
- return node instanceof YouTubeNode;
84
- }
@@ -1,5 +0,0 @@
1
- import type { JSX } from 'react';
2
- export default function ActionsPlugin({ isRichText, shouldPreserveNewLinesInMarkdown, }: {
3
- isRichText: boolean;
4
- shouldPreserveNewLinesInMarkdown: boolean;
5
- }): JSX.Element;