@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,247 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the MIT License.
4
- */
5
- /**
6
- * Copyright (c) Meta Platforms, Inc. and affiliates.
7
- *
8
- * This source code is licensed under the MIT license found in the
9
- * LICENSE file in the root directory of this source tree.
10
- *
11
- */
12
- import { $createCodeNode } from '@lexical/code';
13
- import { INSERT_CHECK_LIST_COMMAND, INSERT_ORDERED_LIST_COMMAND, INSERT_UNORDERED_LIST_COMMAND, } from '@lexical/list';
14
- import { $isDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode';
15
- import { $createHeadingNode, $createQuoteNode, $isHeadingNode, $isQuoteNode, } from '@lexical/rich-text';
16
- import { $patchStyleText, $setBlocksType } from '@lexical/selection';
17
- import { $isTableSelection } from '@lexical/table';
18
- import { $getNearestBlockElementAncestorOrThrow } from '@lexical/utils';
19
- import { $createParagraphNode, $getSelection, $isRangeSelection, $isTextNode, } from 'lexical';
20
- import { DEFAULT_FONT_SIZE, MAX_ALLOWED_FONT_SIZE, MIN_ALLOWED_FONT_SIZE, } from '../../context/ToolbarContext';
21
- // eslint-disable-next-line no-shadow
22
- export var UpdateFontSizeType;
23
- (function (UpdateFontSizeType) {
24
- UpdateFontSizeType[UpdateFontSizeType["increment"] = 1] = "increment";
25
- UpdateFontSizeType[UpdateFontSizeType["decrement"] = 2] = "decrement";
26
- })(UpdateFontSizeType || (UpdateFontSizeType = {}));
27
- /**
28
- * Calculates the new font size based on the update type.
29
- * @param currentFontSize - The current font size
30
- * @param updateType - The type of change, either increment or decrement
31
- * @returns the next font size
32
- */
33
- export const calculateNextFontSize = (currentFontSize, updateType) => {
34
- if (!updateType) {
35
- return currentFontSize;
36
- }
37
- let updatedFontSize = currentFontSize;
38
- switch (updateType) {
39
- case UpdateFontSizeType.decrement:
40
- switch (true) {
41
- case currentFontSize > MAX_ALLOWED_FONT_SIZE:
42
- updatedFontSize = MAX_ALLOWED_FONT_SIZE;
43
- break;
44
- case currentFontSize >= 48:
45
- updatedFontSize -= 12;
46
- break;
47
- case currentFontSize >= 24:
48
- updatedFontSize -= 4;
49
- break;
50
- case currentFontSize >= 14:
51
- updatedFontSize -= 2;
52
- break;
53
- case currentFontSize >= 9:
54
- updatedFontSize -= 1;
55
- break;
56
- default:
57
- updatedFontSize = MIN_ALLOWED_FONT_SIZE;
58
- break;
59
- }
60
- break;
61
- case UpdateFontSizeType.increment:
62
- switch (true) {
63
- case currentFontSize < MIN_ALLOWED_FONT_SIZE:
64
- updatedFontSize = MIN_ALLOWED_FONT_SIZE;
65
- break;
66
- case currentFontSize < 12:
67
- updatedFontSize += 1;
68
- break;
69
- case currentFontSize < 20:
70
- updatedFontSize += 2;
71
- break;
72
- case currentFontSize < 36:
73
- updatedFontSize += 4;
74
- break;
75
- case currentFontSize <= 60:
76
- updatedFontSize += 12;
77
- break;
78
- default:
79
- updatedFontSize = MAX_ALLOWED_FONT_SIZE;
80
- break;
81
- }
82
- break;
83
- default:
84
- break;
85
- }
86
- return updatedFontSize;
87
- };
88
- /**
89
- * Patches the selection with the updated font size.
90
- */
91
- export const updateFontSizeInSelection = (editor, newFontSize, updateType) => {
92
- const getNextFontSize = (prevFontSize) => {
93
- if (!prevFontSize) {
94
- prevFontSize = `${DEFAULT_FONT_SIZE}px`;
95
- }
96
- prevFontSize = prevFontSize.slice(0, -2);
97
- const nextFontSize = calculateNextFontSize(Number(prevFontSize), updateType);
98
- return `${nextFontSize}px`;
99
- };
100
- editor.update(() => {
101
- if (editor.isEditable()) {
102
- const selection = $getSelection();
103
- if (selection !== null) {
104
- $patchStyleText(selection, {
105
- 'font-size': newFontSize || getNextFontSize,
106
- });
107
- }
108
- }
109
- });
110
- };
111
- export const updateFontSize = (editor, updateType, inputValue) => {
112
- if (inputValue !== '') {
113
- const nextFontSize = calculateNextFontSize(Number(inputValue), updateType);
114
- updateFontSizeInSelection(editor, String(nextFontSize) + 'px', null);
115
- }
116
- else {
117
- updateFontSizeInSelection(editor, null, updateType);
118
- }
119
- };
120
- export const formatParagraph = (editor) => {
121
- editor.update(() => {
122
- const selection = $getSelection();
123
- $setBlocksType(selection, () => $createParagraphNode());
124
- });
125
- };
126
- export const formatHeading = (editor, blockType, headingSize) => {
127
- if (blockType !== headingSize) {
128
- editor.update(() => {
129
- const selection = $getSelection();
130
- $setBlocksType(selection, () => $createHeadingNode(headingSize));
131
- });
132
- }
133
- };
134
- export const formatBulletList = (editor, blockType) => {
135
- if (blockType !== 'bullet') {
136
- editor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND, undefined);
137
- }
138
- else {
139
- formatParagraph(editor);
140
- }
141
- };
142
- export const formatCheckList = (editor, blockType) => {
143
- if (blockType !== 'check') {
144
- editor.dispatchCommand(INSERT_CHECK_LIST_COMMAND, undefined);
145
- }
146
- else {
147
- formatParagraph(editor);
148
- }
149
- };
150
- export const formatNumberedList = (editor, blockType) => {
151
- if (blockType !== 'number') {
152
- editor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND, undefined);
153
- }
154
- else {
155
- formatParagraph(editor);
156
- }
157
- };
158
- export const formatQuote = (editor, blockType) => {
159
- if (blockType !== 'quote') {
160
- editor.update(() => {
161
- const selection = $getSelection();
162
- $setBlocksType(selection, () => $createQuoteNode());
163
- });
164
- }
165
- };
166
- export const formatCode = (editor, blockType) => {
167
- if (blockType !== 'code') {
168
- editor.update(() => {
169
- let selection = $getSelection();
170
- if (!selection) {
171
- return;
172
- }
173
- if (!$isRangeSelection(selection) || selection.isCollapsed()) {
174
- $setBlocksType(selection, () => $createCodeNode());
175
- }
176
- else {
177
- const textContent = selection.getTextContent();
178
- const codeNode = $createCodeNode();
179
- selection.insertNodes([codeNode]);
180
- selection = $getSelection();
181
- if ($isRangeSelection(selection)) {
182
- selection.insertRawText(textContent);
183
- }
184
- }
185
- });
186
- }
187
- };
188
- export const clearFormatting = (editor) => {
189
- editor.update(() => {
190
- const selection = $getSelection();
191
- if ($isRangeSelection(selection) || $isTableSelection(selection)) {
192
- const anchor = selection.anchor;
193
- const focus = selection.focus;
194
- const nodes = selection.getNodes();
195
- const extractedNodes = selection.extract();
196
- if (anchor.key === focus.key && anchor.offset === focus.offset) {
197
- return;
198
- }
199
- nodes.forEach((node, idx) => {
200
- // We split the first and last node by the selection
201
- // So that we don't format unselected text inside those nodes
202
- if ($isTextNode(node)) {
203
- // Use a separate variable to ensure TS does not lose the refinement
204
- let textNode = node;
205
- if (idx === 0 && anchor.offset !== 0) {
206
- textNode = textNode.splitText(anchor.offset)[1] || textNode;
207
- }
208
- if (idx === nodes.length - 1) {
209
- textNode = textNode.splitText(focus.offset)[0] || textNode;
210
- }
211
- /**
212
- * If the selected text has one format applied
213
- * selecting a portion of the text, could
214
- * clear the format to the wrong portion of the text.
215
- *
216
- * The cleared text is based on the length of the selected text.
217
- */
218
- // We need this in case the selected text only has one format
219
- const extractedTextNode = extractedNodes[0];
220
- if (nodes.length === 1 && $isTextNode(extractedTextNode)) {
221
- textNode = extractedTextNode;
222
- }
223
- if (textNode.__style !== '') {
224
- textNode.setStyle('');
225
- }
226
- if (textNode.__format !== 0) {
227
- textNode.setFormat(0);
228
- }
229
- const nearestBlockElement = $getNearestBlockElementAncestorOrThrow(textNode);
230
- if (nearestBlockElement.__format !== 0) {
231
- nearestBlockElement.setFormat('');
232
- }
233
- if (nearestBlockElement.__indent !== 0) {
234
- nearestBlockElement.setIndent(0);
235
- }
236
- node = textNode;
237
- }
238
- else if ($isHeadingNode(node) || $isQuoteNode(node)) {
239
- node.replace($createParagraphNode(), true);
240
- }
241
- else if ($isDecoratorBlockNode(node)) {
242
- node.setFormat('');
243
- }
244
- });
245
- }
246
- });
247
- };
@@ -1,2 +0,0 @@
1
- import type { JSX } from 'react';
2
- export default function TreeViewPlugin(): JSX.Element;
@@ -1,7 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
3
- import { TreeView } from '@lexical/react/LexicalTreeView';
4
- export default function TreeViewPlugin() {
5
- const [editor] = useLexicalComposerContext();
6
- return (_jsx(TreeView, { viewClassName: "tree-view-output", treeTypeButtonClassName: "debug-treetype-button", timeTravelPanelClassName: "debug-timetravel-panel", timeTravelButtonClassName: "debug-timetravel-button", timeTravelPanelSliderClassName: "debug-timetravel-panel-slider", timeTravelPanelButtonClassName: "debug-timetravel-panel-button", editor: editor }));
7
- }
@@ -1,4 +0,0 @@
1
- import type { JSX } from 'react';
2
- import { LexicalCommand } from 'lexical';
3
- export declare const INSERT_TWEET_COMMAND: LexicalCommand<string>;
4
- export default function TwitterPlugin(): JSX.Element | null;
@@ -1,24 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the MIT License.
4
- */
5
- import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
6
- import { $insertNodeToNearestRoot } from '@lexical/utils';
7
- import { COMMAND_PRIORITY_EDITOR, createCommand } from 'lexical';
8
- import { useEffect } from 'react';
9
- import { $createTweetNode, TweetNode } from '../../nodes/TweetNode';
10
- export const INSERT_TWEET_COMMAND = createCommand('INSERT_TWEET_COMMAND');
11
- export default function TwitterPlugin() {
12
- const [editor] = useLexicalComposerContext();
13
- useEffect(() => {
14
- if (!editor.hasNodes([TweetNode])) {
15
- throw new Error('TwitterPlugin: TweetNode not registered on editor');
16
- }
17
- return editor.registerCommand(INSERT_TWEET_COMMAND, (payload) => {
18
- const tweetNode = $createTweetNode(payload);
19
- $insertNodeToNearestRoot(tweetNode);
20
- return true;
21
- }, COMMAND_PRIORITY_EDITOR);
22
- }, [editor]);
23
- return null;
24
- }
@@ -1,2 +0,0 @@
1
- import type { JSX } from 'react';
2
- export default function TypingPerfPlugin(): JSX.Element | null;
@@ -1,97 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the MIT License.
4
- */
5
- import { useEffect } from 'react';
6
- import useReport from '../../hooks/useReport';
7
- const validInputTypes = new Set([
8
- 'insertText',
9
- 'insertCompositionText',
10
- 'insertFromComposition',
11
- 'insertLineBreak',
12
- 'insertParagraph',
13
- 'deleteCompositionText',
14
- 'deleteContentBackward',
15
- 'deleteByComposition',
16
- 'deleteContent',
17
- 'deleteContentForward',
18
- 'deleteWordBackward',
19
- 'deleteWordForward',
20
- 'deleteHardLineBackward',
21
- 'deleteSoftLineBackward',
22
- 'deleteHardLineForward',
23
- 'deleteSoftLineForward',
24
- ]);
25
- export default function TypingPerfPlugin() {
26
- const report = useReport();
27
- useEffect(() => {
28
- let start = 0;
29
- let timerId;
30
- let keyPressTimerId;
31
- let log = [];
32
- let invalidatingEvent = false;
33
- const measureEventEnd = function logKeyPress() {
34
- if (keyPressTimerId != null) {
35
- if (invalidatingEvent) {
36
- invalidatingEvent = false;
37
- }
38
- else {
39
- log.push(performance.now() - start);
40
- }
41
- clearTimeout(keyPressTimerId);
42
- keyPressTimerId = null;
43
- }
44
- };
45
- const measureEventStart = function measureEvent() {
46
- if (timerId != null) {
47
- clearTimeout(timerId);
48
- timerId = null;
49
- }
50
- // We use a setTimeout(0) instead of requestAnimationFrame, due to
51
- // inconsistencies between the sequencing of rAF in different browsers.
52
- keyPressTimerId = setTimeout(measureEventEnd, 0);
53
- // Schedule a timer to report the results.
54
- timerId = setTimeout(() => {
55
- const total = log.reduce((a, b) => a + b, 0);
56
- const reportedText = 'Typing Perf: ' + Math.round((total / log.length) * 100) / 100 + 'ms';
57
- report(reportedText);
58
- log = [];
59
- }, 2000);
60
- // Make the time after we do the previous logic, so we don't measure the overhead
61
- // for it all.
62
- start = performance.now();
63
- };
64
- const beforeInputHandler = function beforeInputHandler(event) {
65
- if (!validInputTypes.has(event.inputType) || invalidatingEvent) {
66
- invalidatingEvent = false;
67
- return;
68
- }
69
- measureEventStart();
70
- };
71
- const keyDownHandler = function keyDownHandler(event) {
72
- const key = event.key;
73
- if (key === 'Backspace' || key === 'Enter') {
74
- measureEventStart();
75
- }
76
- };
77
- const pasteHandler = function pasteHandler() {
78
- invalidatingEvent = true;
79
- };
80
- const cutHandler = function cutHandler() {
81
- invalidatingEvent = true;
82
- };
83
- window.addEventListener('keydown', keyDownHandler, true);
84
- window.addEventListener('selectionchange', measureEventEnd, true);
85
- window.addEventListener('beforeinput', beforeInputHandler, true);
86
- window.addEventListener('paste', pasteHandler, true);
87
- window.addEventListener('cut', cutHandler, true);
88
- return () => {
89
- window.removeEventListener('keydown', keyDownHandler, true);
90
- window.removeEventListener('selectionchange', measureEventEnd, true);
91
- window.removeEventListener('beforeinput', beforeInputHandler, true);
92
- window.removeEventListener('paste', pasteHandler, true);
93
- window.removeEventListener('cut', cutHandler, true);
94
- };
95
- }, [report]);
96
- return null;
97
- }
@@ -1,4 +0,0 @@
1
- import type { JSX } from 'react';
2
- import { LexicalCommand } from 'lexical';
3
- export declare const INSERT_YOUTUBE_COMMAND: LexicalCommand<string>;
4
- export default function YouTubePlugin(): JSX.Element | null;
@@ -1,24 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the MIT License.
4
- */
5
- import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
6
- import { $insertNodeToNearestRoot } from '@lexical/utils';
7
- import { COMMAND_PRIORITY_EDITOR, createCommand } from 'lexical';
8
- import { useEffect } from 'react';
9
- import { $createYouTubeNode, YouTubeNode } from '../../nodes/YouTubeNode';
10
- export const INSERT_YOUTUBE_COMMAND = createCommand('INSERT_YOUTUBE_COMMAND');
11
- export default function YouTubePlugin() {
12
- const [editor] = useLexicalComposerContext();
13
- useEffect(() => {
14
- if (!editor.hasNodes([YouTubeNode])) {
15
- throw new Error('YouTubePlugin: YouTubeNode not registered on editor');
16
- }
17
- return editor.registerCommand(INSERT_YOUTUBE_COMMAND, (payload) => {
18
- const youTubeNode = $createYouTubeNode(payload);
19
- $insertNodeToNearestRoot(youTubeNode);
20
- return true;
21
- }, COMMAND_PRIORITY_EDITOR);
22
- }, [editor]);
23
- return null;
24
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,115 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the MIT License.
4
- */
5
- import { createHeadlessEditor } from '@lexical/headless';
6
- import { $isMarkNode, $unwrapMarkNode } from '@lexical/mark';
7
- import * as http from 'http';
8
- import { $getRoot, $isElementNode } from 'lexical';
9
- import * as url from 'url';
10
- import PlaygroundNodes from '../nodes/PlaygroundNodes';
11
- const hostname = 'localhost';
12
- const port = 1235;
13
- let stringifiedEditorStateJSON = '';
14
- global.__DEV__ = true;
15
- const editor = createHeadlessEditor({
16
- namespace: 'validation',
17
- nodes: [...PlaygroundNodes],
18
- onError: (error) => {
19
- console.error(error);
20
- },
21
- });
22
- const getJSONData = (req) => {
23
- const body = [];
24
- return new Promise((resolve) => {
25
- req
26
- .on('data', (chunk) => {
27
- body.push(chunk);
28
- })
29
- .on('end', () => {
30
- resolve(Buffer.concat(body).toString());
31
- })
32
- .on('error', (error) => {
33
- // eslint-disable-next-line no-console
34
- console.log(error);
35
- });
36
- });
37
- };
38
- const $sanitizeNode = (node) => {
39
- if ($isMarkNode(node)) {
40
- $unwrapMarkNode(node);
41
- return;
42
- }
43
- if ($isElementNode(node)) {
44
- const children = node.getChildren();
45
- for (const child of children) {
46
- $sanitizeNode(child);
47
- }
48
- }
49
- };
50
- const validateEditorState = async (stringifiedJSON) => {
51
- if (stringifiedEditorStateJSON === stringifiedJSON) {
52
- return true;
53
- }
54
- const prevEditorState = editor.getEditorState();
55
- const nextEditorState = editor.parseEditorState(stringifiedJSON);
56
- editor.setEditorState(nextEditorState);
57
- editor.update(() => {
58
- const root = $getRoot();
59
- $sanitizeNode(root);
60
- });
61
- await Promise.resolve().then();
62
- const assertion = JSON.stringify(editor.getEditorState().toJSON());
63
- const success = assertion === stringifiedEditorStateJSON;
64
- if (success) {
65
- // eslint-disable-next-line no-console
66
- console.log('Editor state updated successfully.');
67
- editor.setEditorState(nextEditorState);
68
- stringifiedEditorStateJSON = assertion;
69
- }
70
- else {
71
- // eslint-disable-next-line no-console
72
- console.log('Editor state was rejected!');
73
- editor.setEditorState(prevEditorState);
74
- }
75
- return success;
76
- };
77
- const server = http.createServer(async (req, res) => {
78
- const pathname = url.parse(req.url).pathname;
79
- const { method } = req;
80
- res.setHeader('Content-Type', 'application/json');
81
- res.setHeader('Access-Control-Allow-Origin', '*');
82
- res.setHeader('Access-Control-Request-Method', '*');
83
- res.setHeader('Access-Control-Allow-Methods', 'OPTIONS, POST, GET');
84
- res.setHeader('Access-Control-Allow-Headers', '*');
85
- if (method === 'OPTIONS') {
86
- res.end();
87
- return;
88
- }
89
- if (method === 'POST' && pathname === '/setEditorState') {
90
- const stringifiedJSON = await getJSONData(req);
91
- const editorState = editor.parseEditorState(stringifiedJSON);
92
- editor.setEditorState(editorState);
93
- stringifiedEditorStateJSON = stringifiedJSON;
94
- res.statusCode = 200;
95
- res.end();
96
- }
97
- else if (method === 'POST' && pathname === '/validateEditorState') {
98
- const stringifiedJSON = await getJSONData(req);
99
- if (await validateEditorState(stringifiedJSON)) {
100
- res.statusCode = 200;
101
- }
102
- else {
103
- res.statusCode = 403;
104
- }
105
- res.end();
106
- }
107
- else {
108
- res.statusCode = 404;
109
- res.end();
110
- }
111
- });
112
- server.listen(port, hostname, () => {
113
- // eslint-disable-next-line no-console
114
- console.log(`Read-only validation server running at http://${hostname}:${port}/`);
115
- });
package/lib/setupEnv.d.ts DELETED
@@ -1,2 +0,0 @@
1
- declare const _default: Record<"useYjs" | "disableBeforeInput" | "emptyEditor" | "hasLinkAttributes" | "isAutocomplete" | "isCharLimit" | "isCharLimitUtf8" | "isCodeHighlighted" | "isCodeShiki" | "isCollab" | "isMaxLength" | "isRichText" | "listStrictIndent" | "measureTypingPerf" | "selectionAlwaysOnDisplay" | "shouldAllowHighlightingWithBrackets" | "shouldPreserveNewLinesInMarkdown" | "shouldUseLexicalContextMenu" | "showNestedEditorTreeView" | "showTableOfContents" | "showTreeView" | "tableCellBackgroundColor" | "tableCellMerge" | "tableHorizontalScroll" | "debug", boolean>;
2
- export default _default;
package/lib/setupEnv.js DELETED
@@ -1,29 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the MIT License.
4
- */
5
- import { INITIAL_SETTINGS } from './appSettings';
6
- // Export a function so this is not tree-shaken,
7
- // but evaluate it immediately so it executes before
8
- // lexical computes CAN_USE_BEFORE_INPUT
9
- export default (() => {
10
- // override default options with query parameters if any
11
- const urlSearchParams = new URLSearchParams(window.location.search);
12
- for (const param of Object.keys(INITIAL_SETTINGS)) {
13
- if (urlSearchParams.has(param)) {
14
- try {
15
- const value = JSON.parse(urlSearchParams.get(param) ?? 'true');
16
- INITIAL_SETTINGS[param] = Boolean(value);
17
- }
18
- catch (error) {
19
- console.warn(`Unable to parse query parameter "${param}"`);
20
- }
21
- }
22
- }
23
- if (INITIAL_SETTINGS.disableBeforeInput) {
24
- delete window.InputEvent.prototype.getTargetRanges;
25
- }
26
- // @ts-ignore
27
- window.EXCALIDRAW_ASSET_PATH = process.env.EXCALIDRAW_ASSET_PATH;
28
- return INITIAL_SETTINGS;
29
- })();
@@ -1,4 +0,0 @@
1
- import type { EditorThemeClasses } from 'lexical';
2
- import './CommentEditorTheme.css';
3
- declare const theme: EditorThemeClasses;
4
- export default theme;
@@ -1,11 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the MIT License.
4
- */
5
- import './CommentEditorTheme.css';
6
- import baseTheme from './PlaygroundEditorTheme';
7
- const theme = {
8
- ...baseTheme,
9
- paragraph: 'CommentEditorTheme__paragraph',
10
- };
11
- export default theme;
@@ -1,4 +0,0 @@
1
- import type { EditorThemeClasses } from 'lexical';
2
- import './PlaygroundEditorTheme.css';
3
- declare const theme: EditorThemeClasses;
4
- export default theme;