@datalayer/lexical-loro 0.2.5 → 1.0.0

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,26 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useCallback, useMemo, useState } from 'react';
3
- import Modal from '../ui/Modal';
4
- export default function useModal() {
5
- const [modalContent, setModalContent] = useState(null);
6
- const onClose = useCallback(() => {
7
- setModalContent(null);
8
- }, []);
9
- const modal = useMemo(() => {
10
- if (modalContent === null) {
11
- return null;
12
- }
13
- const { title, content, closeOnClickOutside } = modalContent;
14
- return (_jsx(Modal, { onClose: onClose, title: title, closeOnClickOutside: closeOnClickOutside, children: content }));
15
- }, [modalContent, onClose]);
16
- const showModal = useCallback((title,
17
- // eslint-disable-next-line no-shadow
18
- getContent, closeOnClickOutside = false) => {
19
- setModalContent({
20
- closeOnClickOutside,
21
- content: getContent(onClose),
22
- title,
23
- });
24
- }, [onClose]);
25
- return [modal, showModal];
26
- }
@@ -1 +0,0 @@
1
- export default function useReport(): (arg0: string) => ReturnType<typeof setTimeout>;
@@ -1,50 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the MIT License.
4
- */
5
- import { useCallback, useEffect, useRef } from 'react';
6
- const getElement = () => {
7
- let element = document.getElementById('report-container');
8
- if (element === null) {
9
- element = document.createElement('div');
10
- element.id = 'report-container';
11
- element.style.position = 'fixed';
12
- element.style.top = '50%';
13
- element.style.left = '50%';
14
- element.style.fontSize = '32px';
15
- element.style.transform = 'translate(-50%, -50px)';
16
- element.style.padding = '20px';
17
- element.style.background = 'rgba(240, 240, 240, 0.4)';
18
- element.style.borderRadius = '20px';
19
- if (document.body) {
20
- document.body.appendChild(element);
21
- }
22
- }
23
- return element;
24
- };
25
- export default function useReport() {
26
- const timer = useRef(null);
27
- const cleanup = useCallback(() => {
28
- if (timer.current !== null) {
29
- clearTimeout(timer.current);
30
- timer.current = null;
31
- }
32
- if (document.body) {
33
- document.body.removeChild(getElement());
34
- }
35
- }, []);
36
- useEffect(() => {
37
- return cleanup;
38
- }, [cleanup]);
39
- return useCallback((content) => {
40
- // eslint-disable-next-line no-console
41
- console.log(content);
42
- const element = getElement();
43
- if (timer.current !== null) {
44
- clearTimeout(timer.current);
45
- }
46
- element.innerHTML = content;
47
- timer.current = setTimeout(cleanup, 1000);
48
- return timer.current;
49
- }, [cleanup]);
50
- }
package/lib/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './collab/loro';
package/lib/index.js DELETED
@@ -1,5 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the MIT License.
4
- */
5
- export * from './collab/loro';
@@ -1,27 +0,0 @@
1
- import type { DOMExportOutput, EditorConfig, LexicalEditor, NodeKey, SerializedTextNode, Spread } from 'lexical';
2
- import { TextNode } from 'lexical';
3
- export type SerializedAutocompleteNode = Spread<{
4
- uuid: string;
5
- }, SerializedTextNode>;
6
- export declare class AutocompleteNode extends TextNode {
7
- /**
8
- * A unique uuid is generated for each session and assigned to the instance.
9
- * This helps to:
10
- * - Ensures max one Autocomplete node per session.
11
- * - Ensure that when collaboration is enabled, this node is not shown in
12
- * other sessions.
13
- * See https://github.com/facebook/lexical/blob/main/packages/lexical-playground/src/plugins/AutocompletePlugin/index.tsx
14
- */
15
- __uuid: string;
16
- static clone(node: AutocompleteNode): AutocompleteNode;
17
- static getType(): 'autocomplete';
18
- static importDOM(): any;
19
- static importJSON(serializedNode: SerializedAutocompleteNode): AutocompleteNode;
20
- exportJSON(): SerializedAutocompleteNode;
21
- constructor(text: string, uuid: string, key?: NodeKey);
22
- updateDOM(prevNode: this, dom: HTMLElement, config: EditorConfig): boolean;
23
- exportDOM(_: LexicalEditor): DOMExportOutput;
24
- excludeFromCopy(): boolean;
25
- createDOM(config: EditorConfig): HTMLElement;
26
- }
27
- export declare function $createAutocompleteNode(text: string, uuid: string): AutocompleteNode;
@@ -1,60 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the MIT License.
4
- */
5
- import { TextNode } from 'lexical';
6
- import { uuid as UUID } from '../plugins/AutocompletePlugin';
7
- export class AutocompleteNode extends TextNode {
8
- /**
9
- * A unique uuid is generated for each session and assigned to the instance.
10
- * This helps to:
11
- * - Ensures max one Autocomplete node per session.
12
- * - Ensure that when collaboration is enabled, this node is not shown in
13
- * other sessions.
14
- * See https://github.com/facebook/lexical/blob/main/packages/lexical-playground/src/plugins/AutocompletePlugin/index.tsx
15
- */
16
- __uuid;
17
- static clone(node) {
18
- return new AutocompleteNode(node.__text, node.__uuid, node.__key);
19
- }
20
- static getType() {
21
- return 'autocomplete';
22
- }
23
- static importDOM() {
24
- // Never import from DOM
25
- return null;
26
- }
27
- static importJSON(serializedNode) {
28
- return $createAutocompleteNode(serializedNode.text, serializedNode.uuid).updateFromJSON(serializedNode);
29
- }
30
- exportJSON() {
31
- return {
32
- ...super.exportJSON(),
33
- uuid: this.__uuid,
34
- };
35
- }
36
- constructor(text, uuid, key) {
37
- super(text, key);
38
- this.__uuid = uuid;
39
- }
40
- updateDOM(prevNode, dom, config) {
41
- return false;
42
- }
43
- exportDOM(_) {
44
- return { element: null };
45
- }
46
- excludeFromCopy() {
47
- return true;
48
- }
49
- createDOM(config) {
50
- const dom = super.createDOM(config);
51
- dom.classList.add(config.theme.autocomplete);
52
- if (this.__uuid !== UUID) {
53
- dom.style.display = 'none';
54
- }
55
- return dom;
56
- }
57
- }
58
- export function $createAutocompleteNode(text, uuid) {
59
- return new AutocompleteNode(text, uuid).setMode('token');
60
- }
@@ -1,6 +0,0 @@
1
- import type { NodeKey } from 'lexical';
2
- import type { JSX } from 'react';
3
- export default function CounterComponent({ value, nodeKey, }: {
4
- value: number;
5
- nodeKey: NodeKey;
6
- }): JSX.Element;
@@ -1,137 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
3
- import { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection';
4
- import { mergeRegister } from '@lexical/utils';
5
- import { $getNodeByKey, $getSelection, $isNodeSelection, CLICK_COMMAND, COMMAND_PRIORITY_LOW, KEY_BACKSPACE_COMMAND, KEY_DELETE_COMMAND, SELECTION_CHANGE_COMMAND, } from 'lexical';
6
- import { useCallback, useEffect, useRef } from 'react';
7
- import { $isCounterNode } from './CounterNode';
8
- export default function CounterComponent({ value, nodeKey, }) {
9
- const [editor] = useLexicalComposerContext();
10
- const [isSelected, setSelected, clearSelection] = useLexicalNodeSelection(nodeKey);
11
- const ref = useRef(null);
12
- const withCounterNode = (cb, onUpdate) => {
13
- editor.update(() => {
14
- const node = $getNodeByKey(nodeKey);
15
- if ($isCounterNode(node)) {
16
- cb(node);
17
- }
18
- }, { onUpdate });
19
- };
20
- const onDelete = useCallback((payload) => {
21
- if (isSelected && $isNodeSelection($getSelection())) {
22
- const event = payload;
23
- event.preventDefault();
24
- const node = $getNodeByKey(nodeKey);
25
- if ($isCounterNode(node)) {
26
- node.remove();
27
- return true;
28
- }
29
- }
30
- return false;
31
- }, [isSelected, nodeKey]);
32
- const onIncrement = useCallback(() => {
33
- withCounterNode((node) => {
34
- node.increment();
35
- });
36
- }, []);
37
- const onDecrement = useCallback(() => {
38
- withCounterNode((node) => {
39
- node.decrement();
40
- });
41
- }, []);
42
- const onReset = useCallback(() => {
43
- withCounterNode((node) => {
44
- node.setValue(0);
45
- });
46
- }, []);
47
- const onClick = useCallback((payload) => {
48
- const event = payload;
49
- if (event.target === ref.current) {
50
- if (event.shiftKey) {
51
- setSelected(!isSelected);
52
- }
53
- else {
54
- clearSelection();
55
- setSelected(true);
56
- }
57
- return true;
58
- }
59
- return false;
60
- }, [isSelected, setSelected, clearSelection]);
61
- useEffect(() => {
62
- return mergeRegister(editor.registerCommand(CLICK_COMMAND, onClick, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_DELETE_COMMAND, onDelete, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_BACKSPACE_COMMAND, onDelete, COMMAND_PRIORITY_LOW), editor.registerCommand(SELECTION_CHANGE_COMMAND, () => {
63
- if ($isNodeSelection($getSelection())) {
64
- return false;
65
- }
66
- clearSelection();
67
- return false;
68
- }, COMMAND_PRIORITY_LOW));
69
- }, [clearSelection, editor, onClick, onDelete]);
70
- useEffect(() => {
71
- const handleClickOutside = (event) => {
72
- if (ref.current && !ref.current.contains(event.target)) {
73
- clearSelection();
74
- }
75
- };
76
- if (isSelected) {
77
- document.addEventListener('mousedown', handleClickOutside);
78
- }
79
- return () => {
80
- document.removeEventListener('mousedown', handleClickOutside);
81
- };
82
- }, [clearSelection, isSelected]);
83
- return (_jsxs("div", { className: `counter-component ${isSelected ? 'selected' : ''}`, ref: ref, style: {
84
- display: 'inline-flex',
85
- alignItems: 'center',
86
- gap: '8px',
87
- padding: '8px 12px',
88
- border: '1px solid #ccc',
89
- borderRadius: '4px',
90
- backgroundColor: isSelected ? '#e3f2fd' : '#f9f9f9',
91
- fontFamily: 'monospace',
92
- fontSize: '14px',
93
- userSelect: 'none',
94
- cursor: 'pointer',
95
- }, children: [_jsx("button", { onClick: (e) => {
96
- e.stopPropagation();
97
- onDecrement();
98
- }, style: {
99
- background: '#dc3545',
100
- color: 'white',
101
- border: 'none',
102
- borderRadius: '3px',
103
- padding: '4px 8px',
104
- cursor: 'pointer',
105
- fontSize: '12px',
106
- fontWeight: 'bold',
107
- }, title: "Decrement", children: "-" }), _jsx("span", { style: {
108
- minWidth: '24px',
109
- textAlign: 'center',
110
- fontWeight: 'bold',
111
- }, children: value }), _jsx("button", { onClick: (e) => {
112
- e.stopPropagation();
113
- onIncrement();
114
- }, style: {
115
- background: '#28a745',
116
- color: 'white',
117
- border: 'none',
118
- borderRadius: '3px',
119
- padding: '4px 8px',
120
- cursor: 'pointer',
121
- fontSize: '12px',
122
- fontWeight: 'bold',
123
- }, title: "Increment", children: "+" }), _jsx("button", { onClick: (e) => {
124
- e.stopPropagation();
125
- onReset();
126
- }, style: {
127
- background: '#6c757d',
128
- color: 'white',
129
- border: 'none',
130
- borderRadius: '3px',
131
- padding: '4px 8px',
132
- cursor: 'pointer',
133
- fontSize: '12px',
134
- fontWeight: 'bold',
135
- marginLeft: '4px',
136
- }, title: "Reset to 0 (demonstrates NodeState)", children: "R" })] }));
137
- }
@@ -1,23 +0,0 @@
1
- import type { LexicalNode } from 'lexical';
2
- import type { JSX } from 'react';
3
- import { DecoratorNode } from 'lexical';
4
- export declare const counterValueState: import("lexical").StateConfig<"counterValue", number>;
5
- export declare class CounterNode extends DecoratorNode<JSX.Element> {
6
- $config(): import("lexical").StaticNodeConfigRecord<"counter", {
7
- extends: typeof DecoratorNode;
8
- stateConfigs: {
9
- flat: true;
10
- stateConfig: import("lexical").StateConfig<"counterValue", number>;
11
- }[];
12
- }>;
13
- getValue(): number;
14
- setValue(value: number): this;
15
- increment(): this;
16
- decrement(): this;
17
- createDOM(): HTMLElement;
18
- updateDOM(): false;
19
- decorate(): JSX.Element;
20
- isIsolated(): true;
21
- }
22
- export declare function $isCounterNode(node: LexicalNode | null | undefined): node is CounterNode;
23
- export declare function $createCounterNode(value?: number): CounterNode;
@@ -1,47 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { $getState, $setState, createState, DecoratorNode, } from 'lexical';
3
- import * as React from 'react';
4
- const CounterComponent = React.lazy(() => import('./CounterComponent'));
5
- export const counterValueState = createState('counterValue', {
6
- parse: (v) => (typeof v === 'number' ? v : 0),
7
- });
8
- export class CounterNode extends DecoratorNode {
9
- $config() {
10
- return this.config('counter', {
11
- extends: DecoratorNode,
12
- stateConfigs: [{ flat: true, stateConfig: counterValueState }],
13
- });
14
- }
15
- getValue() {
16
- return $getState(this, counterValueState);
17
- }
18
- setValue(value) {
19
- return $setState(this, counterValueState, value);
20
- }
21
- increment() {
22
- return $setState(this, counterValueState, prev => prev + 1);
23
- }
24
- decrement() {
25
- return $setState(this, counterValueState, prev => prev - 1);
26
- }
27
- createDOM() {
28
- const div = document.createElement('div');
29
- div.className = 'counter-node';
30
- return div;
31
- }
32
- updateDOM() {
33
- return false;
34
- }
35
- decorate() {
36
- return (_jsx(React.Suspense, { fallback: _jsx("div", { children: "Loading..." }), children: _jsx(CounterComponent, { value: this.getValue(), nodeKey: this.getKey() }) }));
37
- }
38
- isIsolated() {
39
- return true;
40
- }
41
- }
42
- export function $isCounterNode(node) {
43
- return node instanceof CounterNode;
44
- }
45
- export function $createCounterNode(value = 0) {
46
- return new CounterNode().setValue(value);
47
- }
@@ -1,8 +0,0 @@
1
- import type { JSX } from 'react';
2
- import 'react-day-picker/style.css';
3
- import './DateTimeNode.css';
4
- import { NodeKey } from 'lexical';
5
- export default function DateTimeComponent({ dateTime, nodeKey, }: {
6
- dateTime: Date | undefined;
7
- nodeKey: NodeKey;
8
- }): JSX.Element;
@@ -1,119 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import 'react-day-picker/style.css';
3
- import './DateTimeNode.css';
4
- import { autoUpdate, flip, FloatingFocusManager, FloatingOverlay, FloatingPortal, offset, shift, useDismiss, useFloating, useInteractions, useRole, } from '@floating-ui/react';
5
- import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
6
- import { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection';
7
- import { setHours, setMinutes } from 'date-fns';
8
- import { $getNodeByKey } from 'lexical';
9
- import { useEffect, useRef, useState } from 'react';
10
- import { DayPicker } from 'react-day-picker';
11
- import { $isDateTimeNode } from './DateTimeNode';
12
- const userTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
13
- export default function DateTimeComponent({ dateTime, nodeKey, }) {
14
- const [editor] = useLexicalComposerContext();
15
- const [isOpen, setIsOpen] = useState(false);
16
- const ref = useRef(null);
17
- const [selected, setSelected] = useState(dateTime);
18
- const [includeTime, setIncludeTime] = useState(false);
19
- const [timeValue, setTimeValue] = useState('00:00');
20
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
21
- const [isNodeSelected, setNodeSelected, clearNodeSelection] = useLexicalNodeSelection(nodeKey);
22
- const { refs, floatingStyles, context } = useFloating({
23
- elements: {
24
- reference: ref.current,
25
- },
26
- middleware: [
27
- offset(5),
28
- flip({
29
- fallbackPlacements: ['top-start'],
30
- }),
31
- shift({ padding: 10 }),
32
- ],
33
- onOpenChange: setIsOpen,
34
- open: isOpen,
35
- placement: 'bottom-start',
36
- strategy: 'fixed',
37
- whileElementsMounted: autoUpdate,
38
- });
39
- const role = useRole(context, { role: 'dialog' });
40
- const dismiss = useDismiss(context);
41
- const { getFloatingProps } = useInteractions([role, dismiss]);
42
- useEffect(() => {
43
- const dateTimePillRef = ref.current;
44
- function onClick(e) {
45
- e.preventDefault();
46
- setIsOpen(true);
47
- }
48
- if (dateTimePillRef) {
49
- dateTimePillRef.addEventListener('click', onClick);
50
- }
51
- return () => {
52
- if (dateTimePillRef) {
53
- dateTimePillRef.removeEventListener('click', onClick);
54
- }
55
- };
56
- }, [refs, editor]);
57
- const withDateTimeNode = (cb, onUpdate) => {
58
- editor.update(() => {
59
- const node = $getNodeByKey(nodeKey);
60
- if ($isDateTimeNode(node)) {
61
- cb(node);
62
- }
63
- }, { onUpdate });
64
- };
65
- const handleCheckboxChange = (e) => {
66
- withDateTimeNode((node) => {
67
- if (e.target.checked) {
68
- setIncludeTime(true);
69
- }
70
- else {
71
- if (selected) {
72
- const newSelectedDate = setHours(setMinutes(selected, 0), 0);
73
- node.setDateTime(newSelectedDate);
74
- }
75
- setIncludeTime(false);
76
- setTimeValue('00:00');
77
- }
78
- });
79
- };
80
- const handleTimeChange = (e) => {
81
- withDateTimeNode((node) => {
82
- const time = e.target.value;
83
- if (!selected) {
84
- setTimeValue(time);
85
- return;
86
- }
87
- const [hours, minutes] = time
88
- .split(':')
89
- .map((str) => parseInt(str, 10));
90
- const newSelectedDate = setHours(setMinutes(selected, minutes), hours);
91
- setSelected(newSelectedDate);
92
- node.setDateTime(newSelectedDate);
93
- setTimeValue(time);
94
- });
95
- };
96
- const handleDaySelect = (date) => {
97
- withDateTimeNode((node) => {
98
- if (!timeValue || !date) {
99
- setSelected(date);
100
- return;
101
- }
102
- const [hours, minutes] = timeValue
103
- .split(':')
104
- .map((str) => parseInt(str, 10));
105
- const newDate = new Date(date.getFullYear(), date.getMonth(), date.getDate(), hours, minutes);
106
- node.setDateTime(newDate);
107
- setSelected(newDate);
108
- });
109
- };
110
- return (_jsxs("div", { className: `dateTimePill ${isNodeSelected ? 'selected' : ''}`, ref: ref, style: { cursor: 'pointer', width: 'fit-content' }, children: [dateTime?.toDateString() + (includeTime ? ' ' + timeValue : '') ||
111
- 'Invalid Date', isOpen && (_jsx(FloatingPortal, { children: _jsx(FloatingOverlay, { lockScroll: true, children: _jsx(FloatingFocusManager, { context: context, initialFocus: -1, children: _jsxs("div", { className: 'dateTimePicker', ref: refs.setFloating, style: floatingStyles, ...getFloatingProps(), children: [_jsx(DayPicker, { captionLayout: "dropdown", navLayout: "after", fixedWeeks: false, showOutsideDays: false, mode: "single", selected: selected, required: true,
112
- // timeZone="BST" TODO: Support time zone selection
113
- onSelect: handleDaySelect, startMonth: new Date(1925, 0), endMonth: new Date(2042, 7) }), _jsx("form", { style: { marginBlockEnd: '1em' }, children: _jsxs("div", { style: {
114
- overflow: 'hidden',
115
- textOverflow: 'ellipsis',
116
- whiteSpace: 'nowrap',
117
- width: '300px',
118
- }, children: [_jsx("input", { type: "checkbox", id: "option1", name: "option1", value: "value1", checked: includeTime, onChange: handleCheckboxChange }), _jsx("label", { children: _jsx("input", { type: "time", value: timeValue, onChange: handleTimeChange, disabled: !includeTime }) }), _jsxs("span", { children: [" ", userTimeZone] })] }) })] }) }) }) }))] }));
119
- }
@@ -1,27 +0,0 @@
1
- import type { JSX } from 'react';
2
- import { DecoratorNode, DOMExportOutput, LexicalNode, SerializedLexicalNode, Spread, StateConfigValue, StateValueOrUpdater } from 'lexical';
3
- export type SerializedDateTimeNode = Spread<{
4
- dateTime?: string;
5
- }, SerializedLexicalNode>;
6
- declare const dateTimeState: import("lexical").StateConfig<"dateTime", Date>;
7
- export declare class DateTimeNode extends DecoratorNode<JSX.Element> {
8
- $config(): import("lexical").StaticNodeConfigRecord<"datetime", {
9
- extends: typeof DecoratorNode;
10
- importDOM: import("lexical").DOMConversionMap<HTMLElement>;
11
- stateConfigs: {
12
- flat: true;
13
- stateConfig: import("lexical").StateConfig<"dateTime", Date>;
14
- }[];
15
- }>;
16
- getDateTime(): StateConfigValue<typeof dateTimeState>;
17
- setDateTime(valueOrUpdater: StateValueOrUpdater<typeof dateTimeState>): this;
18
- getTextContent(): string;
19
- exportDOM(): DOMExportOutput;
20
- createDOM(): HTMLElement;
21
- updateDOM(): false;
22
- isInline(): boolean;
23
- decorate(): JSX.Element;
24
- }
25
- export declare function $createDateTimeNode(dateTime: Date): DateTimeNode;
26
- export declare function $isDateTimeNode(node: LexicalNode | null | undefined): node is DateTimeNode;
27
- export {};
@@ -1,82 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { $getState, $setState, buildImportMap, createState, DecoratorNode, } from 'lexical';
3
- import * as React from 'react';
4
- const DateTimeComponent = React.lazy(() => import('./DateTimeComponent'));
5
- const getDateTimeText = (dateTime) => {
6
- if (dateTime === undefined) {
7
- return '';
8
- }
9
- const hours = dateTime?.getHours();
10
- const minutes = dateTime?.getMinutes();
11
- return (dateTime.toDateString() +
12
- (hours === 0 && minutes === 0
13
- ? ''
14
- : ` ${hours.toString().padStart(2, '0')}:${minutes
15
- .toString()
16
- .padStart(2, '0')}`));
17
- };
18
- function $convertDateTimeElement(domNode) {
19
- const dateTimeValue = domNode.getAttribute('data-lexical-datetime');
20
- if (dateTimeValue) {
21
- const node = $createDateTimeNode(new Date(Date.parse(dateTimeValue)));
22
- return { node };
23
- }
24
- return null;
25
- }
26
- const dateTimeState = createState('dateTime', {
27
- parse: (v) => new Date(v),
28
- unparse: (v) => v.toISOString(),
29
- });
30
- export class DateTimeNode extends DecoratorNode {
31
- $config() {
32
- return this.config('datetime', {
33
- extends: DecoratorNode,
34
- importDOM: buildImportMap({
35
- span: (domNode) => domNode.getAttribute('data-lexical-datetime') !== null
36
- ? {
37
- conversion: $convertDateTimeElement,
38
- priority: 2,
39
- }
40
- : null,
41
- }),
42
- stateConfigs: [{ flat: true, stateConfig: dateTimeState }],
43
- });
44
- }
45
- getDateTime() {
46
- return $getState(this, dateTimeState);
47
- }
48
- setDateTime(valueOrUpdater) {
49
- return $setState(this, dateTimeState, valueOrUpdater);
50
- }
51
- getTextContent() {
52
- const dateTime = this.getDateTime();
53
- return getDateTimeText(dateTime);
54
- }
55
- exportDOM() {
56
- const element = document.createElement('span');
57
- element.textContent = getDateTimeText(this.getDateTime());
58
- element.setAttribute('data-lexical-datetime', this.getDateTime()?.toString() || '');
59
- return { element };
60
- }
61
- createDOM() {
62
- const element = document.createElement('span');
63
- element.setAttribute('data-lexical-datetime', this.getDateTime()?.toString() || '');
64
- element.style.display = 'inline-block';
65
- return element;
66
- }
67
- updateDOM() {
68
- return false;
69
- }
70
- isInline() {
71
- return true;
72
- }
73
- decorate() {
74
- return (_jsx(DateTimeComponent, { dateTime: this.getDateTime(), nodeKey: this.__key }));
75
- }
76
- }
77
- export function $createDateTimeNode(dateTime) {
78
- return new DateTimeNode().setDateTime(dateTime);
79
- }
80
- export function $isDateTimeNode(node) {
81
- return node instanceof DateTimeNode;
82
- }
@@ -1,18 +0,0 @@
1
- import type { EditorConfig, LexicalNode, NodeKey, SerializedTextNode, Spread } from 'lexical';
2
- import { TextNode } from 'lexical';
3
- export type SerializedEmojiNode = Spread<{
4
- className: string;
5
- }, SerializedTextNode>;
6
- export declare class EmojiNode extends TextNode {
7
- __className: string;
8
- static getType(): string;
9
- static clone(node: EmojiNode): EmojiNode;
10
- constructor(className: string, text: string, key?: NodeKey);
11
- createDOM(config: EditorConfig): HTMLElement;
12
- updateDOM(prevNode: this, dom: HTMLElement, config: EditorConfig): boolean;
13
- static importJSON(serializedNode: SerializedEmojiNode): EmojiNode;
14
- exportJSON(): SerializedEmojiNode;
15
- getClassName(): string;
16
- }
17
- export declare function $isEmojiNode(node: LexicalNode | null | undefined): node is EmojiNode;
18
- export declare function $createEmojiNode(className: string, emojiText: string): EmojiNode;