@datalayer/lexical-loro 0.1.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. package/README.md +1 -1
  2. package/package.json +7 -7
  3. package/lib/App.d.ts +0 -2
  4. package/lib/App.js +0 -141
  5. package/lib/Editor.d.ts +0 -2
  6. package/lib/Editor.js +0 -111
  7. package/lib/Settings.d.ts +0 -2
  8. package/lib/Settings.js +0 -57
  9. package/lib/appSettings.d.ts +0 -36
  10. package/lib/appSettings.js +0 -44
  11. package/lib/collab/loro/Bindings.d.ts +0 -41
  12. package/lib/collab/loro/Bindings.js +0 -95
  13. package/lib/collab/loro/Debug.d.ts +0 -33
  14. package/lib/collab/loro/Debug.js +0 -448
  15. package/lib/collab/loro/LexicalCollaborationContext.d.ts +0 -19
  16. package/lib/collab/loro/LexicalCollaborationContext.js +0 -48
  17. package/lib/collab/loro/LexicalCollaborationPlugin.d.ts +0 -24
  18. package/lib/collab/loro/LexicalCollaborationPlugin.js +0 -83
  19. package/lib/collab/loro/State.d.ts +0 -53
  20. package/lib/collab/loro/State.js +0 -90
  21. package/lib/collab/loro/components/LoroCollaborationUI.d.ts +0 -13
  22. package/lib/collab/loro/components/LoroCollaborationUI.js +0 -9
  23. package/lib/collab/loro/components/LoroCollaborators.d.ts +0 -8
  24. package/lib/collab/loro/components/LoroCollaborators.js +0 -97
  25. package/lib/collab/loro/components/index.d.ts +0 -2
  26. package/lib/collab/loro/components/index.js +0 -2
  27. package/lib/collab/loro/index.d.ts +0 -6
  28. package/lib/collab/loro/index.js +0 -6
  29. package/lib/collab/loro/integrators/BaseIntegrator.d.ts +0 -14
  30. package/lib/collab/loro/integrators/BaseIntegrator.js +0 -1
  31. package/lib/collab/loro/integrators/CounterIntegrator.d.ts +0 -23
  32. package/lib/collab/loro/integrators/CounterIntegrator.js +0 -40
  33. package/lib/collab/loro/integrators/ListIntegrator.d.ts +0 -23
  34. package/lib/collab/loro/integrators/ListIntegrator.js +0 -49
  35. package/lib/collab/loro/integrators/MapIntegrator.d.ts +0 -24
  36. package/lib/collab/loro/integrators/MapIntegrator.js +0 -177
  37. package/lib/collab/loro/integrators/TextIntegrator.d.ts +0 -25
  38. package/lib/collab/loro/integrators/TextIntegrator.js +0 -51
  39. package/lib/collab/loro/integrators/TreeIntegrator.d.ts +0 -25
  40. package/lib/collab/loro/integrators/TreeIntegrator.js +0 -201
  41. package/lib/collab/loro/nodes/NodeFactory.d.ts +0 -8
  42. package/lib/collab/loro/nodes/NodeFactory.js +0 -105
  43. package/lib/collab/loro/nodes/NodesMapper.d.ts +0 -111
  44. package/lib/collab/loro/nodes/NodesMapper.js +0 -258
  45. package/lib/collab/loro/propagators/DecoratorNodePropagator.d.ts +0 -60
  46. package/lib/collab/loro/propagators/DecoratorNodePropagator.js +0 -302
  47. package/lib/collab/loro/propagators/ElementNodePropagator.d.ts +0 -62
  48. package/lib/collab/loro/propagators/ElementNodePropagator.js +0 -335
  49. package/lib/collab/loro/propagators/LineBreakNodePropagator.d.ts +0 -57
  50. package/lib/collab/loro/propagators/LineBreakNodePropagator.js +0 -196
  51. package/lib/collab/loro/propagators/RootNodePropagator.d.ts +0 -55
  52. package/lib/collab/loro/propagators/RootNodePropagator.js +0 -168
  53. package/lib/collab/loro/propagators/TextNodePropagator.d.ts +0 -60
  54. package/lib/collab/loro/propagators/TextNodePropagator.js +0 -434
  55. package/lib/collab/loro/propagators/index.d.ts +0 -49
  56. package/lib/collab/loro/propagators/index.js +0 -32
  57. package/lib/collab/loro/provider/websocket.d.ts +0 -116
  58. package/lib/collab/loro/provider/websocket.js +0 -907
  59. package/lib/collab/loro/servers/index.d.ts +0 -0
  60. package/lib/collab/loro/servers/index.js +0 -0
  61. package/lib/collab/loro/servers/ws/callback.d.ts +0 -5
  62. package/lib/collab/loro/servers/ws/callback.js +0 -85
  63. package/lib/collab/loro/servers/ws/server.d.ts +0 -2
  64. package/lib/collab/loro/servers/ws/server.js +0 -25
  65. package/lib/collab/loro/servers/ws/utils.d.ts +0 -40
  66. package/lib/collab/loro/servers/ws/utils.js +0 -513
  67. package/lib/collab/loro/sync/SyncCursors.d.ts +0 -32
  68. package/lib/collab/loro/sync/SyncCursors.js +0 -435
  69. package/lib/collab/loro/sync/SyncLexicalToLoro.d.ts +0 -4
  70. package/lib/collab/loro/sync/SyncLexicalToLoro.js +0 -80
  71. package/lib/collab/loro/sync/SyncLoroToLexical.d.ts +0 -5
  72. package/lib/collab/loro/sync/SyncLoroToLexical.js +0 -96
  73. package/lib/collab/loro/types/LexicalNodeData.d.ts +0 -32
  74. package/lib/collab/loro/types/LexicalNodeData.js +0 -71
  75. package/lib/collab/loro/useCollaboration.d.ts +0 -12
  76. package/lib/collab/loro/useCollaboration.js +0 -248
  77. package/lib/collab/loro/utils/InitialContent.d.ts +0 -64
  78. package/lib/collab/loro/utils/InitialContent.js +0 -109
  79. package/lib/collab/loro/utils/LexicalToLoro.d.ts +0 -18
  80. package/lib/collab/loro/utils/LexicalToLoro.js +0 -96
  81. package/lib/collab/loro/utils/Utils.d.ts +0 -44
  82. package/lib/collab/loro/utils/Utils.js +0 -153
  83. package/lib/collab/loro/wsProvider.d.ts +0 -8
  84. package/lib/collab/loro/wsProvider.js +0 -31
  85. package/lib/collab/utils/invariant.d.ts +0 -1
  86. package/lib/collab/utils/invariant.js +0 -11
  87. package/lib/collab/utils/simpleDiffWithCursor.d.ts +0 -5
  88. package/lib/collab/utils/simpleDiffWithCursor.js +0 -31
  89. package/lib/collab/yjs/Bindings.d.ts +0 -23
  90. package/lib/collab/yjs/Bindings.js +0 -26
  91. package/lib/collab/yjs/Debug.d.ts +0 -23
  92. package/lib/collab/yjs/Debug.js +0 -213
  93. package/lib/collab/yjs/LexicalCollaborationContext.d.ts +0 -10
  94. package/lib/collab/yjs/LexicalCollaborationContext.js +0 -37
  95. package/lib/collab/yjs/LexicalCollaborationPlugin.d.ts +0 -21
  96. package/lib/collab/yjs/LexicalCollaborationPlugin.js +0 -63
  97. package/lib/collab/yjs/State.d.ts +0 -51
  98. package/lib/collab/yjs/State.js +0 -35
  99. package/lib/collab/yjs/nodes/AnyCollabNode.d.ts +0 -5
  100. package/lib/collab/yjs/nodes/AnyCollabNode.js +0 -1
  101. package/lib/collab/yjs/nodes/CollabDecoratorNode.d.ts +0 -22
  102. package/lib/collab/yjs/nodes/CollabDecoratorNode.js +0 -64
  103. package/lib/collab/yjs/nodes/CollabElementNode.d.ts +0 -40
  104. package/lib/collab/yjs/nodes/CollabElementNode.js +0 -462
  105. package/lib/collab/yjs/nodes/CollabLineBreakNode.d.ts +0 -19
  106. package/lib/collab/yjs/nodes/CollabLineBreakNode.js +0 -44
  107. package/lib/collab/yjs/nodes/CollabTextNode.d.ts +0 -25
  108. package/lib/collab/yjs/nodes/CollabTextNode.js +0 -103
  109. package/lib/collab/yjs/provider/websocket.d.ts +0 -88
  110. package/lib/collab/yjs/provider/websocket.js +0 -415
  111. package/lib/collab/yjs/servers/index.d.ts +0 -0
  112. package/lib/collab/yjs/servers/index.js +0 -0
  113. package/lib/collab/yjs/servers/ws/callback.d.ts +0 -5
  114. package/lib/collab/yjs/servers/ws/callback.js +0 -72
  115. package/lib/collab/yjs/servers/ws/server.d.ts +0 -2
  116. package/lib/collab/yjs/servers/ws/server.js +0 -25
  117. package/lib/collab/yjs/servers/ws/utils.d.ts +0 -49
  118. package/lib/collab/yjs/servers/ws/utils.js +0 -284
  119. package/lib/collab/yjs/sync/SyncCursors.d.ts +0 -39
  120. package/lib/collab/yjs/sync/SyncCursors.js +0 -351
  121. package/lib/collab/yjs/sync/SyncEditorStates.d.ts +0 -10
  122. package/lib/collab/yjs/sync/SyncEditorStates.js +0 -200
  123. package/lib/collab/yjs/useCollaboration.d.ts +0 -12
  124. package/lib/collab/yjs/useCollaboration.js +0 -255
  125. package/lib/collab/yjs/utils/Utils.d.ts +0 -25
  126. package/lib/collab/yjs/utils/Utils.js +0 -402
  127. package/lib/collab/yjs/wsProvider.d.ts +0 -3
  128. package/lib/collab/yjs/wsProvider.js +0 -21
  129. package/lib/commenting/index.d.ts +0 -41
  130. package/lib/commenting/index.js +0 -324
  131. package/lib/context/FlashMessageContext.d.ts +0 -7
  132. package/lib/context/FlashMessageContext.js +0 -24
  133. package/lib/context/SettingsContext.d.ts +0 -12
  134. package/lib/context/SettingsContext.js +0 -38
  135. package/lib/context/SharedHistoryContext.d.ts +0 -11
  136. package/lib/context/SharedHistoryContext.js +0 -11
  137. package/lib/context/ToolbarContext.d.ts +0 -65
  138. package/lib/context/ToolbarContext.js +0 -84
  139. package/lib/demo.d.ts +0 -12
  140. package/lib/demo.js +0 -41
  141. package/lib/hooks/useFlashMessage.d.ts +0 -2
  142. package/lib/hooks/useFlashMessage.js +0 -4
  143. package/lib/hooks/useModal.d.ts +0 -5
  144. package/lib/hooks/useModal.js +0 -26
  145. package/lib/hooks/useReport.d.ts +0 -1
  146. package/lib/hooks/useReport.js +0 -46
  147. package/lib/index.d.ts +0 -1
  148. package/lib/index.js +0 -1
  149. package/lib/nodes/AutocompleteNode.d.ts +0 -27
  150. package/lib/nodes/AutocompleteNode.js +0 -56
  151. package/lib/nodes/CounterComponent.d.ts +0 -6
  152. package/lib/nodes/CounterComponent.js +0 -137
  153. package/lib/nodes/CounterNode.d.ts +0 -23
  154. package/lib/nodes/CounterNode.js +0 -47
  155. package/lib/nodes/DateTimeNode/DateTimeComponent.d.ts +0 -8
  156. package/lib/nodes/DateTimeNode/DateTimeComponent.js +0 -119
  157. package/lib/nodes/DateTimeNode/DateTimeNode.d.ts +0 -27
  158. package/lib/nodes/DateTimeNode/DateTimeNode.js +0 -82
  159. package/lib/nodes/EmojiNode.d.ts +0 -18
  160. package/lib/nodes/EmojiNode.js +0 -50
  161. package/lib/nodes/EquationComponent.d.ts +0 -9
  162. package/lib/nodes/EquationComponent.js +0 -75
  163. package/lib/nodes/EquationNode.d.ts +0 -26
  164. package/lib/nodes/EquationNode.js +0 -109
  165. package/lib/nodes/ExcalidrawNode/ExcalidrawComponent.d.ts +0 -8
  166. package/lib/nodes/ExcalidrawNode/ExcalidrawComponent.js +0 -110
  167. package/lib/nodes/ExcalidrawNode/ExcalidrawImage.d.ts +0 -50
  168. package/lib/nodes/ExcalidrawNode/ExcalidrawImage.js +0 -55
  169. package/lib/nodes/ExcalidrawNode/index.d.ts +0 -32
  170. package/lib/nodes/ExcalidrawNode/index.js +0 -117
  171. package/lib/nodes/FigmaNode.d.ts +0 -20
  172. package/lib/nodes/FigmaNode.js +0 -52
  173. package/lib/nodes/ImageComponent.d.ts +0 -16
  174. package/lib/nodes/ImageComponent.js +0 -272
  175. package/lib/nodes/ImageNode.d.ts +0 -50
  176. package/lib/nodes/ImageNode.js +0 -151
  177. package/lib/nodes/InlineImageNode/InlineImageComponent.d.ts +0 -26
  178. package/lib/nodes/InlineImageNode/InlineImageComponent.js +0 -161
  179. package/lib/nodes/InlineImageNode/InlineImageNode.d.ts +0 -59
  180. package/lib/nodes/InlineImageNode/InlineImageNode.js +0 -162
  181. package/lib/nodes/KeywordNode.d.ts +0 -14
  182. package/lib/nodes/KeywordNode.js +0 -33
  183. package/lib/nodes/LayoutContainerNode.d.ts +0 -24
  184. package/lib/nodes/LayoutContainerNode.js +0 -91
  185. package/lib/nodes/LayoutItemNode.d.ts +0 -16
  186. package/lib/nodes/LayoutItemNode.js +0 -65
  187. package/lib/nodes/MentionNode.d.ts +0 -20
  188. package/lib/nodes/MentionNode.js +0 -81
  189. package/lib/nodes/PageBreakNode/index.d.ts +0 -17
  190. package/lib/nodes/PageBreakNode/index.js +0 -83
  191. package/lib/nodes/PlaygroundNodes.d.ts +0 -3
  192. package/lib/nodes/PlaygroundNodes.js +0 -71
  193. package/lib/nodes/PollComponent.d.ts +0 -9
  194. package/lib/nodes/PollComponent.js +0 -85
  195. package/lib/nodes/PollNode.d.ts +0 -43
  196. package/lib/nodes/PollNode.js +0 -153
  197. package/lib/nodes/SpecialTextNode.d.ts +0 -24
  198. package/lib/nodes/SpecialTextNode.js +0 -50
  199. package/lib/nodes/StickyComponent.d.ts +0 -10
  200. package/lib/nodes/StickyComponent.js +0 -162
  201. package/lib/nodes/StickyNode.d.ts +0 -31
  202. package/lib/nodes/StickyNode.js +0 -76
  203. package/lib/nodes/TweetNode.d.ts +0 -21
  204. package/lib/nodes/TweetNode.js +0 -119
  205. package/lib/nodes/YouTubeNode.d.ts +0 -22
  206. package/lib/nodes/YouTubeNode.js +0 -84
  207. package/lib/plugins/ActionsPlugin/index.d.ts +0 -5
  208. package/lib/plugins/ActionsPlugin/index.js +0 -168
  209. package/lib/plugins/AutoEmbedPlugin/index.d.ts +0 -19
  210. package/lib/plugins/AutoEmbedPlugin/index.js +0 -158
  211. package/lib/plugins/AutoLinkPlugin/index.d.ts +0 -2
  212. package/lib/plugins/AutoLinkPlugin/index.js +0 -15
  213. package/lib/plugins/AutocompletePlugin/index.d.ts +0 -10
  214. package/lib/plugins/AutocompletePlugin/index.js +0 -2473
  215. package/lib/plugins/CodeActionMenuPlugin/components/CopyButton/index.d.ts +0 -7
  216. package/lib/plugins/CodeActionMenuPlugin/components/CopyButton/index.js +0 -42
  217. package/lib/plugins/CodeActionMenuPlugin/components/PrettierButton/index.d.ts +0 -17
  218. package/lib/plugins/CodeActionMenuPlugin/components/PrettierButton/index.js +0 -111
  219. package/lib/plugins/CodeActionMenuPlugin/index.d.ts +0 -5
  220. package/lib/plugins/CodeActionMenuPlugin/index.js +0 -104
  221. package/lib/plugins/CodeActionMenuPlugin/utils.d.ts +0 -1
  222. package/lib/plugins/CodeActionMenuPlugin/utils.js +0 -18
  223. package/lib/plugins/CodeHighlightPrismPlugin/index.d.ts +0 -2
  224. package/lib/plugins/CodeHighlightPrismPlugin/index.js +0 -10
  225. package/lib/plugins/CodeHighlightShikiPlugin/index.d.ts +0 -2
  226. package/lib/plugins/CodeHighlightShikiPlugin/index.js +0 -10
  227. package/lib/plugins/CollapsiblePlugin/CollapsibleContainerNode.d.ts +0 -25
  228. package/lib/plugins/CollapsiblePlugin/CollapsibleContainerNode.js +0 -131
  229. package/lib/plugins/CollapsiblePlugin/CollapsibleContentNode.d.ts +0 -16
  230. package/lib/plugins/CollapsiblePlugin/CollapsibleContentNode.js +0 -79
  231. package/lib/plugins/CollapsiblePlugin/CollapsibleTitleNode.d.ts +0 -16
  232. package/lib/plugins/CollapsiblePlugin/CollapsibleTitleNode.js +0 -81
  233. package/lib/plugins/CollapsiblePlugin/CollapsibleUtils.d.ts +0 -2
  234. package/lib/plugins/CollapsiblePlugin/CollapsibleUtils.js +0 -8
  235. package/lib/plugins/CollapsiblePlugin/index.d.ts +0 -3
  236. package/lib/plugins/CollapsiblePlugin/index.js +0 -128
  237. package/lib/plugins/CommentPlugin/index.d.ts +0 -9
  238. package/lib/plugins/CommentPlugin/index.js +0 -460
  239. package/lib/plugins/ComponentPickerPlugin/index.d.ts +0 -2
  240. package/lib/plugins/ComponentPickerPlugin/index.js +0 -276
  241. package/lib/plugins/ContextMenuPlugin/index.d.ts +0 -2
  242. package/lib/plugins/ContextMenuPlugin/index.js +0 -112
  243. package/lib/plugins/CounterPlugin/index.d.ts +0 -3
  244. package/lib/plugins/CounterPlugin/index.js +0 -20
  245. package/lib/plugins/DatalayerPlugin/index.d.ts +0 -2
  246. package/lib/plugins/DatalayerPlugin/index.js +0 -218
  247. package/lib/plugins/DateTimePlugin/index.d.ts +0 -8
  248. package/lib/plugins/DateTimePlugin/index.js +0 -24
  249. package/lib/plugins/DocsPlugin/index.d.ts +0 -2
  250. package/lib/plugins/DocsPlugin/index.js +0 -4
  251. package/lib/plugins/DragDropPastePlugin/index.d.ts +0 -1
  252. package/lib/plugins/DragDropPastePlugin/index.js +0 -33
  253. package/lib/plugins/DraggableBlockPlugin/index.d.ts +0 -12
  254. package/lib/plugins/DraggableBlockPlugin/index.js +0 -36
  255. package/lib/plugins/EmojiPickerPlugin/index.d.ts +0 -1
  256. package/lib/plugins/EmojiPickerPlugin/index.js +0 -80
  257. package/lib/plugins/EmojisPlugin/index.d.ts +0 -2
  258. package/lib/plugins/EmojisPlugin/index.js +0 -52
  259. package/lib/plugins/EquationsPlugin/index.d.ts +0 -14
  260. package/lib/plugins/EquationsPlugin/index.js +0 -34
  261. package/lib/plugins/ExcalidrawPlugin/index.d.ts +0 -5
  262. package/lib/plugins/ExcalidrawPlugin/index.js +0 -44
  263. package/lib/plugins/FigmaPlugin/index.d.ts +0 -4
  264. package/lib/plugins/FigmaPlugin/index.js +0 -20
  265. package/lib/plugins/FloatingLinkEditorPlugin/index.d.ts +0 -15
  266. package/lib/plugins/FloatingLinkEditorPlugin/index.js +0 -280
  267. package/lib/plugins/FloatingTextFormatToolbarPlugin/index.d.ts +0 -7
  268. package/lib/plugins/FloatingTextFormatToolbarPlugin/index.js +0 -219
  269. package/lib/plugins/ImagesPlugin/index.d.ts +0 -24
  270. package/lib/plugins/ImagesPlugin/index.js +0 -195
  271. package/lib/plugins/InlineImagePlugin/index.d.ts +0 -17
  272. package/lib/plugins/InlineImagePlugin/index.js +0 -180
  273. package/lib/plugins/KeywordsPlugin/index.d.ts +0 -2
  274. package/lib/plugins/KeywordsPlugin/index.js +0 -31
  275. package/lib/plugins/LayoutPlugin/InsertLayoutDialog.d.ts +0 -6
  276. package/lib/plugins/LayoutPlugin/InsertLayoutDialog.js +0 -21
  277. package/lib/plugins/LayoutPlugin/LayoutPlugin.d.ts +0 -7
  278. package/lib/plugins/LayoutPlugin/LayoutPlugin.js +0 -131
  279. package/lib/plugins/LinkPlugin/index.d.ts +0 -6
  280. package/lib/plugins/LinkPlugin/index.js +0 -11
  281. package/lib/plugins/MarkdownShortcutPlugin/index.d.ts +0 -2
  282. package/lib/plugins/MarkdownShortcutPlugin/index.js +0 -6
  283. package/lib/plugins/MarkdownTransformers/index.d.ts +0 -8
  284. package/lib/plugins/MarkdownTransformers/index.js +0 -234
  285. package/lib/plugins/MaxLengthPlugin/index.d.ts +0 -3
  286. package/lib/plugins/MaxLengthPlugin/index.js +0 -37
  287. package/lib/plugins/MentionsPlugin/index.d.ts +0 -2
  288. package/lib/plugins/MentionsPlugin/index.js +0 -564
  289. package/lib/plugins/PageBreakPlugin/index.d.ts +0 -4
  290. package/lib/plugins/PageBreakPlugin/index.js +0 -27
  291. package/lib/plugins/PasteLogPlugin/index.d.ts +0 -2
  292. package/lib/plugins/PasteLogPlugin/index.js +0 -27
  293. package/lib/plugins/PollPlugin/index.d.ts +0 -8
  294. package/lib/plugins/PollPlugin/index.js +0 -38
  295. package/lib/plugins/ShortcutsPlugin/index.d.ts +0 -6
  296. package/lib/plugins/ShortcutsPlugin/index.js +0 -112
  297. package/lib/plugins/ShortcutsPlugin/shortcuts.d.ts +0 -59
  298. package/lib/plugins/ShortcutsPlugin/shortcuts.js +0 -169
  299. package/lib/plugins/SpecialTextPlugin/index.d.ts +0 -2
  300. package/lib/plugins/SpecialTextPlugin/index.js +0 -46
  301. package/lib/plugins/SpeechToTextPlugin/index.d.ts +0 -5
  302. package/lib/plugins/SpeechToTextPlugin/index.js +0 -82
  303. package/lib/plugins/StickyPlugin/index.d.ts +0 -2
  304. package/lib/plugins/StickyPlugin/index.js +0 -12
  305. package/lib/plugins/TabFocusPlugin/index.d.ts +0 -1
  306. package/lib/plugins/TabFocusPlugin/index.js +0 -34
  307. package/lib/plugins/TableActionMenuPlugin/index.d.ts +0 -5
  308. package/lib/plugins/TableActionMenuPlugin/index.js +0 -492
  309. package/lib/plugins/TableCellResizer/index.d.ts +0 -3
  310. package/lib/plugins/TableCellResizer/index.js +0 -297
  311. package/lib/plugins/TableHoverActionsPlugin/index.d.ts +0 -4
  312. package/lib/plugins/TableHoverActionsPlugin/index.js +0 -188
  313. package/lib/plugins/TableOfContentsPlugin/index.d.ts +0 -2
  314. package/lib/plugins/TableOfContentsPlugin/index.js +0 -116
  315. package/lib/plugins/TablePlugin.d.ts +0 -31
  316. package/lib/plugins/TablePlugin.js +0 -63
  317. package/lib/plugins/TestRecorderPlugin/index.d.ts +0 -3
  318. package/lib/plugins/TestRecorderPlugin/index.js +0 -346
  319. package/lib/plugins/ToolbarPlugin/fontSize.d.ts +0 -9
  320. package/lib/plugins/ToolbarPlugin/fontSize.js +0 -80
  321. package/lib/plugins/ToolbarPlugin/index.d.ts +0 -9
  322. package/lib/plugins/ToolbarPlugin/index.js +0 -500
  323. package/lib/plugins/ToolbarPlugin/utils.d.ts +0 -26
  324. package/lib/plugins/ToolbarPlugin/utils.js +0 -243
  325. package/lib/plugins/TreeViewPlugin/index.d.ts +0 -2
  326. package/lib/plugins/TreeViewPlugin/index.js +0 -7
  327. package/lib/plugins/TwitterPlugin/index.d.ts +0 -4
  328. package/lib/plugins/TwitterPlugin/index.js +0 -20
  329. package/lib/plugins/TypingPerfPlugin/index.d.ts +0 -2
  330. package/lib/plugins/TypingPerfPlugin/index.js +0 -93
  331. package/lib/plugins/YouTubePlugin/index.d.ts +0 -4
  332. package/lib/plugins/YouTubePlugin/index.js +0 -20
  333. package/lib/server/validation.d.ts +0 -1
  334. package/lib/server/validation.js +0 -111
  335. package/lib/setupEnv.d.ts +0 -2
  336. package/lib/setupEnv.js +0 -25
  337. package/lib/themes/CommentEditorTheme.d.ts +0 -4
  338. package/lib/themes/CommentEditorTheme.js +0 -7
  339. package/lib/themes/PlaygroundEditorTheme.d.ts +0 -4
  340. package/lib/themes/PlaygroundEditorTheme.js +0 -120
  341. package/lib/themes/StickyEditorTheme.d.ts +0 -4
  342. package/lib/themes/StickyEditorTheme.js +0 -7
  343. package/lib/tyes.dt.d.ts +0 -12
  344. package/lib/tyes.dt.js +0 -0
  345. package/lib/ui/Button.d.ts +0 -12
  346. package/lib/ui/Button.js +0 -6
  347. package/lib/ui/ColorPicker.d.ts +0 -14
  348. package/lib/ui/ColorPicker.js +0 -219
  349. package/lib/ui/ContentEditable.d.ts +0 -9
  350. package/lib/ui/ContentEditable.js +0 -6
  351. package/lib/ui/Dialog.d.ts +0 -10
  352. package/lib/ui/Dialog.js +0 -8
  353. package/lib/ui/DropDown.d.ts +0 -18
  354. package/lib/ui/DropDown.js +0 -133
  355. package/lib/ui/DropdownColorPicker.d.ts +0 -13
  356. package/lib/ui/DropdownColorPicker.js +0 -6
  357. package/lib/ui/EquationEditor.d.ts +0 -8
  358. package/lib/ui/EquationEditor.js +0 -11
  359. package/lib/ui/ExcalidrawModal.d.ts +0 -42
  360. package/lib/ui/ExcalidrawModal.js +0 -103
  361. package/lib/ui/FileInput.d.ts +0 -10
  362. package/lib/ui/FileInput.js +0 -5
  363. package/lib/ui/FlashMessage.d.ts +0 -7
  364. package/lib/ui/FlashMessage.js +0 -6
  365. package/lib/ui/ImageResizer.d.ts +0 -17
  366. package/lib/ui/ImageResizer.js +0 -171
  367. package/lib/ui/KatexEquationAlterer.d.ts +0 -8
  368. package/lib/ui/KatexEquationAlterer.js +0 -23
  369. package/lib/ui/KatexRenderer.d.ts +0 -6
  370. package/lib/ui/KatexRenderer.js +0 -24
  371. package/lib/ui/Modal.d.ts +0 -9
  372. package/lib/ui/Modal.js +0 -48
  373. package/lib/ui/Select.d.ts +0 -8
  374. package/lib/ui/Select.js +0 -5
  375. package/lib/ui/Switch.d.ts +0 -8
  376. package/lib/ui/Switch.js +0 -6
  377. package/lib/ui/TextInput.d.ts +0 -13
  378. package/lib/ui/TextInput.js +0 -7
  379. package/lib/utils/docSerialization.d.ts +0 -3
  380. package/lib/utils/docSerialization.js +0 -56
  381. package/lib/utils/emoji-list.d.ts +0 -20
  382. package/lib/utils/emoji-list.js +0 -16605
  383. package/lib/utils/getDOMRangeRect.d.ts +0 -8
  384. package/lib/utils/getDOMRangeRect.js +0 -22
  385. package/lib/utils/getSelectedNode.d.ts +0 -2
  386. package/lib/utils/getSelectedNode.js +0 -24
  387. package/lib/utils/getThemeSelector.d.ts +0 -2
  388. package/lib/utils/getThemeSelector.js +0 -10
  389. package/lib/utils/isMobileWidth.d.ts +0 -7
  390. package/lib/utils/isMobileWidth.js +0 -7
  391. package/lib/utils/joinClasses.d.ts +0 -1
  392. package/lib/utils/joinClasses.js +0 -3
  393. package/lib/utils/setFloatingElemPosition.d.ts +0 -1
  394. package/lib/utils/setFloatingElemPosition.js +0 -55
  395. package/lib/utils/setFloatingElemPositionForLinkEditor.d.ts +0 -1
  396. package/lib/utils/setFloatingElemPositionForLinkEditor.js +0 -32
  397. package/lib/utils/swipe.d.ts +0 -4
  398. package/lib/utils/swipe.js +0 -90
  399. package/lib/utils/url.d.ts +0 -2
  400. package/lib/utils/url.js +0 -27
@@ -1,324 +0,0 @@
1
- import { COMMAND_PRIORITY_LOW } from 'lexical';
2
- import { useEffect, useState } from 'react';
3
- import { Array as YArray, Map as YMap, YArrayEvent, } from 'yjs';
4
- import { TOGGLE_CONNECT_COMMAND } from '../collab/yjs/State';
5
- function createUID() {
6
- return Math.random()
7
- .toString(36)
8
- .replace(/[^a-z]+/g, '')
9
- .substring(0, 5);
10
- }
11
- export function createComment(content, author, id, timeStamp, deleted) {
12
- return {
13
- author,
14
- content,
15
- deleted: deleted === undefined ? false : deleted,
16
- id: id === undefined ? createUID() : id,
17
- timeStamp: timeStamp === undefined
18
- ? performance.timeOrigin + performance.now()
19
- : timeStamp,
20
- type: 'comment',
21
- };
22
- }
23
- export function createThread(quote, comments, id) {
24
- return {
25
- comments,
26
- id: id === undefined ? createUID() : id,
27
- quote,
28
- type: 'thread',
29
- };
30
- }
31
- function cloneThread(thread) {
32
- return {
33
- comments: Array.from(thread.comments),
34
- id: thread.id,
35
- quote: thread.quote,
36
- type: 'thread',
37
- };
38
- }
39
- function markDeleted(comment) {
40
- return {
41
- author: comment.author,
42
- content: '[Deleted Comment]',
43
- deleted: true,
44
- id: comment.id,
45
- timeStamp: comment.timeStamp,
46
- type: 'comment',
47
- };
48
- }
49
- function triggerOnChange(commentStore) {
50
- const listeners = commentStore._changeListeners;
51
- for (const listener of listeners) {
52
- listener();
53
- }
54
- }
55
- export class CommentStore {
56
- _editor;
57
- _comments;
58
- _changeListeners;
59
- _collabProvider;
60
- constructor(editor) {
61
- this._comments = [];
62
- this._editor = editor;
63
- this._collabProvider = null;
64
- this._changeListeners = new Set();
65
- }
66
- isCollaborative() {
67
- return this._collabProvider !== null;
68
- }
69
- getComments() {
70
- return this._comments;
71
- }
72
- addComment(commentOrThread, thread, offset) {
73
- const nextComments = Array.from(this._comments);
74
- // The YJS types explicitly use `any` as well.
75
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
76
- const sharedCommentsArray = this._getCollabComments();
77
- if (thread !== undefined && commentOrThread.type === 'comment') {
78
- for (let i = 0; i < nextComments.length; i++) {
79
- const comment = nextComments[i];
80
- if (comment.type === 'thread' && comment.id === thread.id) {
81
- const newThread = cloneThread(comment);
82
- nextComments.splice(i, 1, newThread);
83
- const insertOffset = offset !== undefined ? offset : newThread.comments.length;
84
- if (this.isCollaborative() && sharedCommentsArray !== null) {
85
- const parentSharedArray = sharedCommentsArray
86
- .get(i)
87
- .get('comments');
88
- this._withRemoteTransaction(() => {
89
- const sharedMap = this._createCollabSharedMap(commentOrThread);
90
- parentSharedArray.insert(insertOffset, [sharedMap]);
91
- });
92
- }
93
- newThread.comments.splice(insertOffset, 0, commentOrThread);
94
- break;
95
- }
96
- }
97
- }
98
- else {
99
- const insertOffset = offset !== undefined ? offset : nextComments.length;
100
- if (this.isCollaborative() && sharedCommentsArray !== null) {
101
- this._withRemoteTransaction(() => {
102
- const sharedMap = this._createCollabSharedMap(commentOrThread);
103
- sharedCommentsArray.insert(insertOffset, [sharedMap]);
104
- });
105
- }
106
- nextComments.splice(insertOffset, 0, commentOrThread);
107
- }
108
- this._comments = nextComments;
109
- triggerOnChange(this);
110
- }
111
- deleteCommentOrThread(commentOrThread, thread) {
112
- const nextComments = Array.from(this._comments);
113
- // The YJS types explicitly use `any` as well.
114
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
115
- const sharedCommentsArray = this._getCollabComments();
116
- let commentIndex = null;
117
- if (thread !== undefined) {
118
- for (let i = 0; i < nextComments.length; i++) {
119
- const nextComment = nextComments[i];
120
- if (nextComment.type === 'thread' && nextComment.id === thread.id) {
121
- const newThread = cloneThread(nextComment);
122
- nextComments.splice(i, 1, newThread);
123
- const threadComments = newThread.comments;
124
- commentIndex = threadComments.indexOf(commentOrThread);
125
- if (this.isCollaborative() && sharedCommentsArray !== null) {
126
- const parentSharedArray = sharedCommentsArray
127
- .get(i)
128
- .get('comments');
129
- this._withRemoteTransaction(() => {
130
- parentSharedArray.delete(commentIndex);
131
- });
132
- }
133
- threadComments.splice(commentIndex, 1);
134
- break;
135
- }
136
- }
137
- }
138
- else {
139
- commentIndex = nextComments.indexOf(commentOrThread);
140
- if (this.isCollaborative() && sharedCommentsArray !== null) {
141
- this._withRemoteTransaction(() => {
142
- sharedCommentsArray.delete(commentIndex);
143
- });
144
- }
145
- nextComments.splice(commentIndex, 1);
146
- }
147
- this._comments = nextComments;
148
- triggerOnChange(this);
149
- if (commentOrThread.type === 'comment') {
150
- return {
151
- index: commentIndex,
152
- markedComment: markDeleted(commentOrThread),
153
- };
154
- }
155
- return null;
156
- }
157
- registerOnChange(onChange) {
158
- const changeListeners = this._changeListeners;
159
- changeListeners.add(onChange);
160
- return () => {
161
- changeListeners.delete(onChange);
162
- };
163
- }
164
- _withRemoteTransaction(fn) {
165
- const provider = this._collabProvider;
166
- if (provider !== null) {
167
- const doc = provider.doc;
168
- doc.transact(fn, this);
169
- }
170
- }
171
- _withLocalTransaction(fn) {
172
- const collabProvider = this._collabProvider;
173
- try {
174
- this._collabProvider = null;
175
- fn();
176
- }
177
- finally {
178
- this._collabProvider = collabProvider;
179
- }
180
- }
181
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
182
- _getCollabComments() {
183
- const provider = this._collabProvider;
184
- if (provider !== null) {
185
- const doc = provider.doc;
186
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
187
- return doc.get('comments', YArray);
188
- }
189
- return null;
190
- }
191
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
192
- _createCollabSharedMap(commentOrThread) {
193
- const sharedMap = new YMap();
194
- const type = commentOrThread.type;
195
- const id = commentOrThread.id;
196
- sharedMap.set('type', type);
197
- sharedMap.set('id', id);
198
- if (type === 'comment') {
199
- sharedMap.set('author', commentOrThread.author);
200
- sharedMap.set('content', commentOrThread.content);
201
- sharedMap.set('deleted', commentOrThread.deleted);
202
- sharedMap.set('timeStamp', commentOrThread.timeStamp);
203
- }
204
- else {
205
- sharedMap.set('quote', commentOrThread.quote);
206
- const commentsArray = new YArray();
207
- commentOrThread.comments.forEach((comment, i) => {
208
- const sharedChildComment = this._createCollabSharedMap(comment);
209
- commentsArray.insert(i, [sharedChildComment]);
210
- });
211
- sharedMap.set('comments', commentsArray);
212
- }
213
- return sharedMap;
214
- }
215
- registerCollaboration(provider) {
216
- this._collabProvider = provider;
217
- const sharedCommentsArray = this._getCollabComments();
218
- const connect = () => {
219
- provider.connect();
220
- };
221
- const disconnect = () => {
222
- try {
223
- provider.disconnect();
224
- }
225
- catch (e) {
226
- // Do nothing
227
- }
228
- };
229
- const unsubscribe = this._editor.registerCommand(TOGGLE_CONNECT_COMMAND, (payload) => {
230
- if (connect !== undefined && disconnect !== undefined) {
231
- const shouldConnect = payload;
232
- if (shouldConnect) {
233
- // eslint-disable-next-line no-console
234
- console.log('Comments connected!');
235
- connect();
236
- }
237
- else {
238
- // eslint-disable-next-line no-console
239
- console.log('Comments disconnected!');
240
- disconnect();
241
- }
242
- }
243
- return false;
244
- }, COMMAND_PRIORITY_LOW);
245
- const onSharedCommentChanges = (
246
- // The YJS types explicitly use `any` as well.
247
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
248
- events, transaction) => {
249
- if (transaction.origin !== this) {
250
- for (let i = 0; i < events.length; i++) {
251
- const event = events[i];
252
- if (event instanceof YArrayEvent) {
253
- const target = event.target;
254
- const deltas = event.delta;
255
- let offset = 0;
256
- for (let s = 0; s < deltas.length; s++) {
257
- const delta = deltas[s];
258
- const insert = delta.insert;
259
- const retain = delta.retain;
260
- const del = delta.delete;
261
- const parent = target.parent;
262
- const parentThread = target === sharedCommentsArray
263
- ? undefined
264
- : parent instanceof YMap &&
265
- this._comments.find((t) => t.id === parent.get('id'));
266
- if (Array.isArray(insert)) {
267
- insert
268
- .slice()
269
- .reverse()
270
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
271
- .forEach((map) => {
272
- const id = map.get('id');
273
- const type = map.get('type');
274
- const commentOrThread = type === 'thread'
275
- ? createThread(map.get('quote'), map
276
- .get('comments')
277
- .toArray()
278
- .map((innerComment) => createComment(innerComment.get('content'), innerComment.get('author'), innerComment.get('id'), innerComment.get('timeStamp'), innerComment.get('deleted'))), id)
279
- : createComment(map.get('content'), map.get('author'), id, map.get('timeStamp'), map.get('deleted'));
280
- this._withLocalTransaction(() => {
281
- this.addComment(commentOrThread, parentThread, offset);
282
- });
283
- });
284
- }
285
- else if (typeof retain === 'number') {
286
- offset += retain;
287
- }
288
- else if (typeof del === 'number') {
289
- for (let d = 0; d < del; d++) {
290
- const commentOrThread = parentThread === undefined || !parentThread
291
- ? this._comments[offset]
292
- : parentThread.comments[offset];
293
- this._withLocalTransaction(() => {
294
- this.deleteCommentOrThread(commentOrThread, parentThread);
295
- });
296
- offset++;
297
- }
298
- }
299
- }
300
- }
301
- }
302
- }
303
- };
304
- if (sharedCommentsArray === null) {
305
- return () => null;
306
- }
307
- sharedCommentsArray.observeDeep(onSharedCommentChanges);
308
- connect();
309
- return () => {
310
- sharedCommentsArray.unobserveDeep(onSharedCommentChanges);
311
- unsubscribe();
312
- this._collabProvider = null;
313
- };
314
- }
315
- }
316
- export function useCommentStore(commentStore) {
317
- const [comments, setComments] = useState(commentStore.getComments());
318
- useEffect(() => {
319
- return commentStore.registerOnChange(() => {
320
- setComments(commentStore.getComments());
321
- });
322
- }, [commentStore]);
323
- return comments;
324
- }
@@ -1,7 +0,0 @@
1
- import type { JSX } from 'react';
2
- import { ReactNode } from 'react';
3
- export type ShowFlashMessage = (message?: React.ReactNode, duration?: number) => void;
4
- export declare const FlashMessageContext: ({ children, }: {
5
- children: ReactNode;
6
- }) => JSX.Element;
7
- export declare const useFlashMessageContext: () => ShowFlashMessage;
@@ -1,24 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { createContext, useCallback, useContext, useEffect, useState, } from 'react';
3
- import FlashMessage from '../ui/FlashMessage';
4
- const Context = createContext(undefined);
5
- const INITIAL_STATE = {};
6
- const DEFAULT_DURATION = 1000;
7
- export const FlashMessageContext = ({ children, }) => {
8
- const [props, setProps] = useState(INITIAL_STATE);
9
- const showFlashMessage = useCallback((message, duration) => setProps(message ? { duration, message } : INITIAL_STATE), []);
10
- useEffect(() => {
11
- if (props.message) {
12
- const timeoutId = setTimeout(() => setProps(INITIAL_STATE), props.duration ?? DEFAULT_DURATION);
13
- return () => clearTimeout(timeoutId);
14
- }
15
- }, [props]);
16
- return (_jsxs(Context.Provider, { value: showFlashMessage, children: [children, props.message && _jsx(FlashMessage, { children: props.message })] }));
17
- };
18
- export const useFlashMessageContext = () => {
19
- const ctx = useContext(Context);
20
- if (!ctx) {
21
- throw new Error('Missing FlashMessageContext');
22
- }
23
- return ctx;
24
- };
@@ -1,12 +0,0 @@
1
- import type { SettingName } from '../appSettings';
2
- import type { JSX } from 'react';
3
- import { ReactNode } from 'react';
4
- type SettingsContextShape = {
5
- setOption: (name: SettingName, value: boolean) => void;
6
- settings: Record<SettingName, boolean>;
7
- };
8
- export declare const SettingsContext: ({ children, }: {
9
- children: ReactNode;
10
- }) => JSX.Element;
11
- export declare const useSettings: () => SettingsContextShape;
12
- export {};
@@ -1,38 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useCallback, useContext, useMemo, useState, } from 'react';
3
- import { DEFAULT_SETTINGS, INITIAL_SETTINGS } from '../appSettings';
4
- const Context = createContext({
5
- setOption: (name, value) => {
6
- return;
7
- },
8
- settings: INITIAL_SETTINGS,
9
- });
10
- export const SettingsContext = ({ children, }) => {
11
- const [settings, setSettings] = useState(INITIAL_SETTINGS);
12
- const setOption = useCallback((setting, value) => {
13
- setSettings((options) => ({
14
- ...options,
15
- [setting]: value,
16
- }));
17
- setURLParam(setting, value);
18
- }, []);
19
- const contextValue = useMemo(() => {
20
- return { setOption, settings };
21
- }, [setOption, settings]);
22
- return _jsx(Context.Provider, { value: contextValue, children: children });
23
- };
24
- export const useSettings = () => {
25
- return useContext(Context);
26
- };
27
- function setURLParam(param, value) {
28
- const url = new URL(window.location.href);
29
- const params = new URLSearchParams(url.search);
30
- if (value !== DEFAULT_SETTINGS[param]) {
31
- params.set(param, String(value));
32
- }
33
- else {
34
- params.delete(param);
35
- }
36
- url.search = params.toString();
37
- window.history.pushState(null, '', url.toString());
38
- }
@@ -1,11 +0,0 @@
1
- import type { HistoryState } from '@lexical/react/LexicalHistoryPlugin';
2
- import type { JSX } from 'react';
3
- import { ReactNode } from 'react';
4
- type ContextShape = {
5
- historyState?: HistoryState;
6
- };
7
- export declare const SharedHistoryContext: ({ children, }: {
8
- children: ReactNode;
9
- }) => JSX.Element;
10
- export declare const useSharedHistoryContext: () => ContextShape;
11
- export {};
@@ -1,11 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createEmptyHistoryState } from '@lexical/react/LexicalHistoryPlugin';
3
- import { createContext, useContext, useMemo } from 'react';
4
- const Context = createContext({});
5
- export const SharedHistoryContext = ({ children, }) => {
6
- const historyContext = useMemo(() => ({ historyState: createEmptyHistoryState() }), []);
7
- return _jsx(Context.Provider, { value: historyContext, children: children });
8
- };
9
- export const useSharedHistoryContext = () => {
10
- return useContext(Context);
11
- };
@@ -1,65 +0,0 @@
1
- import type { JSX } from 'react';
2
- import { ElementFormatType } from 'lexical';
3
- import { ReactNode } from 'react';
4
- export declare const MIN_ALLOWED_FONT_SIZE = 8;
5
- export declare const MAX_ALLOWED_FONT_SIZE = 72;
6
- export declare const DEFAULT_FONT_SIZE = 15;
7
- declare const rootTypeToRootName: {
8
- root: string;
9
- table: string;
10
- };
11
- export declare const blockTypeToBlockName: {
12
- bullet: string;
13
- check: string;
14
- code: string;
15
- h1: string;
16
- h2: string;
17
- h3: string;
18
- h4: string;
19
- h5: string;
20
- h6: string;
21
- number: string;
22
- paragraph: string;
23
- quote: string;
24
- };
25
- declare const INITIAL_TOOLBAR_STATE: {
26
- bgColor: string;
27
- blockType: keyof typeof blockTypeToBlockName;
28
- canRedo: boolean;
29
- canUndo: boolean;
30
- codeLanguage: string;
31
- codeTheme: string;
32
- elementFormat: ElementFormatType;
33
- fontColor: string;
34
- fontFamily: string;
35
- fontSize: string;
36
- fontSizeInputValue: string;
37
- isBold: boolean;
38
- isCode: boolean;
39
- isHighlight: boolean;
40
- isImageCaption: boolean;
41
- isItalic: boolean;
42
- isLink: boolean;
43
- isRTL: boolean;
44
- isStrikethrough: boolean;
45
- isSubscript: boolean;
46
- isSuperscript: boolean;
47
- isUnderline: boolean;
48
- isLowercase: boolean;
49
- isUppercase: boolean;
50
- isCapitalize: boolean;
51
- rootType: keyof typeof rootTypeToRootName;
52
- listStartNumber: number | null;
53
- };
54
- type ToolbarState = typeof INITIAL_TOOLBAR_STATE;
55
- type ToolbarStateKey = keyof ToolbarState;
56
- type ToolbarStateValue<Key extends ToolbarStateKey> = ToolbarState[Key];
57
- type ContextShape = {
58
- toolbarState: ToolbarState;
59
- updateToolbarState<Key extends ToolbarStateKey>(key: Key, value: ToolbarStateValue<Key>): void;
60
- };
61
- export declare const ToolbarContext: ({ children, }: {
62
- children: ReactNode;
63
- }) => JSX.Element;
64
- export declare const useToolbarState: () => ContextShape;
65
- export {};
@@ -1,84 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useCallback, useContext, useEffect, useMemo, useState, } from 'react';
3
- export const MIN_ALLOWED_FONT_SIZE = 8;
4
- export const MAX_ALLOWED_FONT_SIZE = 72;
5
- export const DEFAULT_FONT_SIZE = 15;
6
- const rootTypeToRootName = {
7
- root: 'Root',
8
- table: 'Table',
9
- };
10
- export const blockTypeToBlockName = {
11
- bullet: 'Bulleted List',
12
- check: 'Check List',
13
- code: 'Code Block',
14
- h1: 'Heading 1',
15
- h2: 'Heading 2',
16
- h3: 'Heading 3',
17
- h4: 'Heading 4',
18
- h5: 'Heading 5',
19
- h6: 'Heading 6',
20
- number: 'Numbered List',
21
- paragraph: 'Normal',
22
- quote: 'Quote',
23
- };
24
- //disable eslint sorting rule for quick reference to toolbar state
25
- /* eslint-disable sort-keys-fix/sort-keys-fix */
26
- const INITIAL_TOOLBAR_STATE = {
27
- bgColor: '#fff',
28
- blockType: 'paragraph',
29
- canRedo: false,
30
- canUndo: false,
31
- codeLanguage: '',
32
- codeTheme: '',
33
- elementFormat: 'left',
34
- fontColor: '#000',
35
- fontFamily: 'Arial',
36
- // Current font size in px
37
- fontSize: `${DEFAULT_FONT_SIZE}px`,
38
- // Font size input value - for controlled input
39
- fontSizeInputValue: `${DEFAULT_FONT_SIZE}`,
40
- isBold: false,
41
- isCode: false,
42
- isHighlight: false,
43
- isImageCaption: false,
44
- isItalic: false,
45
- isLink: false,
46
- isRTL: false,
47
- isStrikethrough: false,
48
- isSubscript: false,
49
- isSuperscript: false,
50
- isUnderline: false,
51
- isLowercase: false,
52
- isUppercase: false,
53
- isCapitalize: false,
54
- rootType: 'root',
55
- listStartNumber: null,
56
- };
57
- const Context = createContext(undefined);
58
- export const ToolbarContext = ({ children, }) => {
59
- const [toolbarState, setToolbarState] = useState(INITIAL_TOOLBAR_STATE);
60
- const selectionFontSize = toolbarState.fontSize;
61
- const updateToolbarState = useCallback((key, value) => {
62
- setToolbarState((prev) => ({
63
- ...prev,
64
- [key]: value,
65
- }));
66
- }, []);
67
- useEffect(() => {
68
- updateToolbarState('fontSizeInputValue', selectionFontSize.slice(0, -2));
69
- }, [selectionFontSize, updateToolbarState]);
70
- const contextValue = useMemo(() => {
71
- return {
72
- toolbarState,
73
- updateToolbarState,
74
- };
75
- }, [toolbarState, updateToolbarState]);
76
- return _jsx(Context.Provider, { value: contextValue, children: children });
77
- };
78
- export const useToolbarState = () => {
79
- const context = useContext(Context);
80
- if (context === undefined) {
81
- throw new Error('useToolbarState must be used within a ToolbarProvider');
82
- }
83
- return context;
84
- };
package/lib/demo.d.ts DELETED
@@ -1,12 +0,0 @@
1
- import 'prismjs/components/prism-clike';
2
- import 'prismjs/components/prism-javascript';
3
- import 'prismjs/components/prism-markup';
4
- import 'prismjs/components/prism-markdown';
5
- import 'prismjs/components/prism-c';
6
- import 'prismjs/components/prism-css';
7
- import 'prismjs/components/prism-objectivec';
8
- import 'prismjs/components/prism-sql';
9
- import 'prismjs/components/prism-python';
10
- import 'prismjs/components/prism-rust';
11
- import 'prismjs/components/prism-swift';
12
- import './index.css';
package/lib/demo.js DELETED
@@ -1,41 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createRoot } from 'react-dom/client';
3
- // setupEnv must load before App because lexical computes CAN_USE_BEFORE_INPUT
4
- // at import time (disableBeforeInput is used to test legacy events)
5
- import setupEnv from './setupEnv';
6
- // Initialize Prism.js for code highlighting
7
- import Prism from 'prismjs';
8
- import 'prismjs/components/prism-clike';
9
- import 'prismjs/components/prism-javascript';
10
- import 'prismjs/components/prism-markup';
11
- import 'prismjs/components/prism-markdown';
12
- import 'prismjs/components/prism-c';
13
- import 'prismjs/components/prism-css';
14
- import 'prismjs/components/prism-objectivec';
15
- import 'prismjs/components/prism-sql';
16
- import 'prismjs/components/prism-python';
17
- import 'prismjs/components/prism-rust';
18
- import 'prismjs/components/prism-swift';
19
- // Make Prism globally available
20
- window.Prism = Prism;
21
- import App from './App';
22
- import './index.css';
23
- if (setupEnv.disableBeforeInput) {
24
- // vite is really aggressive about tree-shaking, this
25
- // ensures that the side-effects of importing setupEnv happens
26
- }
27
- // Handle runtime errors
28
- const showErrorOverlay = (err) => {
29
- const ErrorOverlay = customElements.get('vite-error-overlay');
30
- if (!ErrorOverlay) {
31
- return;
32
- }
33
- const overlay = new ErrorOverlay(err);
34
- const body = document.body;
35
- if (body !== null) {
36
- body.appendChild(overlay);
37
- }
38
- };
39
- window.addEventListener('error', showErrorOverlay);
40
- window.addEventListener('unhandledrejection', ({ reason }) => showErrorOverlay(reason));
41
- createRoot(document.getElementById('root')).render(_jsx(App, {}));
@@ -1,2 +0,0 @@
1
- import { type ShowFlashMessage } from '../context/FlashMessageContext';
2
- export default function useFlashMessage(): ShowFlashMessage;
@@ -1,4 +0,0 @@
1
- import { useFlashMessageContext, } from '../context/FlashMessageContext';
2
- export default function useFlashMessage() {
3
- return useFlashMessageContext();
4
- }
@@ -1,5 +0,0 @@
1
- import type { JSX } from 'react';
2
- export default function useModal(): [
3
- JSX.Element | null,
4
- (title: string, showModal: (onClose: () => void) => JSX.Element) => void
5
- ];