@ekz/lexical-react 0.40.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 (470) hide show
  1. package/@ekz/lexicalExtensionComponent.dev.js +53 -0
  2. package/@ekz/lexicalExtensionComponent.dev.mjs +51 -0
  3. package/@ekz/lexicalExtensionComponent.js +11 -0
  4. package/@ekz/lexicalExtensionComponent.mjs +12 -0
  5. package/@ekz/lexicalExtensionComponent.node.mjs +10 -0
  6. package/@ekz/lexicalExtensionComponent.prod.js +9 -0
  7. package/@ekz/lexicalExtensionComponent.prod.mjs +9 -0
  8. package/@ekz/lexicalReactExtension.dev.js +187 -0
  9. package/@ekz/lexicalReactExtension.dev.mjs +184 -0
  10. package/@ekz/lexicalReactExtension.js +11 -0
  11. package/@ekz/lexicalReactExtension.mjs +13 -0
  12. package/@ekz/lexicalReactExtension.node.mjs +11 -0
  13. package/@ekz/lexicalReactExtension.prod.js +9 -0
  14. package/@ekz/lexicalReactExtension.prod.mjs +9 -0
  15. package/@ekz/lexicalReactPluginHostExtension.dev.js +189 -0
  16. package/@ekz/lexicalReactPluginHostExtension.dev.mjs +181 -0
  17. package/@ekz/lexicalReactPluginHostExtension.js +11 -0
  18. package/@ekz/lexicalReactPluginHostExtension.mjs +18 -0
  19. package/@ekz/lexicalReactPluginHostExtension.node.mjs +16 -0
  20. package/@ekz/lexicalReactPluginHostExtension.prod.js +9 -0
  21. package/@ekz/lexicalReactPluginHostExtension.prod.mjs +9 -0
  22. package/@ekz/lexicalReactProviderExtension.dev.js +33 -0
  23. package/@ekz/lexicalReactProviderExtension.dev.mjs +31 -0
  24. package/@ekz/lexicalReactProviderExtension.js +11 -0
  25. package/@ekz/lexicalReactProviderExtension.mjs +12 -0
  26. package/@ekz/lexicalReactProviderExtension.node.mjs +10 -0
  27. package/@ekz/lexicalReactProviderExtension.prod.js +9 -0
  28. package/@ekz/lexicalReactProviderExtension.prod.mjs +9 -0
  29. package/@ekz/lexicalTreeViewExtension.dev.js +57 -0
  30. package/@ekz/lexicalTreeViewExtension.dev.mjs +54 -0
  31. package/@ekz/lexicalTreeViewExtension.js +11 -0
  32. package/@ekz/lexicalTreeViewExtension.mjs +13 -0
  33. package/@ekz/lexicalTreeViewExtension.node.mjs +11 -0
  34. package/@ekz/lexicalTreeViewExtension.prod.js +9 -0
  35. package/@ekz/lexicalTreeViewExtension.prod.mjs +9 -0
  36. package/ExtensionComponent.d.ts +42 -0
  37. package/LICENSE +21 -0
  38. package/LexicalAutoEmbedPlugin.d.ts +39 -0
  39. package/LexicalAutoEmbedPlugin.dev.js +146 -0
  40. package/LexicalAutoEmbedPlugin.dev.mjs +141 -0
  41. package/LexicalAutoEmbedPlugin.js +11 -0
  42. package/LexicalAutoEmbedPlugin.js.flow +64 -0
  43. package/LexicalAutoEmbedPlugin.mjs +15 -0
  44. package/LexicalAutoEmbedPlugin.node.mjs +13 -0
  45. package/LexicalAutoEmbedPlugin.prod.js +9 -0
  46. package/LexicalAutoEmbedPlugin.prod.mjs +9 -0
  47. package/LexicalAutoFocusPlugin.d.ts +12 -0
  48. package/LexicalAutoFocusPlugin.dev.js +47 -0
  49. package/LexicalAutoFocusPlugin.dev.mjs +45 -0
  50. package/LexicalAutoFocusPlugin.js +11 -0
  51. package/LexicalAutoFocusPlugin.js.flow +14 -0
  52. package/LexicalAutoFocusPlugin.mjs +12 -0
  53. package/LexicalAutoFocusPlugin.node.mjs +10 -0
  54. package/LexicalAutoFocusPlugin.prod.js +9 -0
  55. package/LexicalAutoFocusPlugin.prod.mjs +9 -0
  56. package/LexicalAutoLinkPlugin.d.ts +14 -0
  57. package/LexicalAutoLinkPlugin.dev.js +54 -0
  58. package/LexicalAutoLinkPlugin.dev.mjs +52 -0
  59. package/LexicalAutoLinkPlugin.js +11 -0
  60. package/LexicalAutoLinkPlugin.js.flow +18 -0
  61. package/LexicalAutoLinkPlugin.mjs +13 -0
  62. package/LexicalAutoLinkPlugin.node.mjs +11 -0
  63. package/LexicalAutoLinkPlugin.prod.js +9 -0
  64. package/LexicalAutoLinkPlugin.prod.mjs +9 -0
  65. package/LexicalBlockWithAlignableContents.d.ts +21 -0
  66. package/LexicalBlockWithAlignableContents.dev.js +81 -0
  67. package/LexicalBlockWithAlignableContents.dev.mjs +79 -0
  68. package/LexicalBlockWithAlignableContents.js +11 -0
  69. package/LexicalBlockWithAlignableContents.js.flow +28 -0
  70. package/LexicalBlockWithAlignableContents.mjs +12 -0
  71. package/LexicalBlockWithAlignableContents.node.mjs +10 -0
  72. package/LexicalBlockWithAlignableContents.prod.js +9 -0
  73. package/LexicalBlockWithAlignableContents.prod.mjs +9 -0
  74. package/LexicalCharacterLimitPlugin.d.ts +15 -0
  75. package/LexicalCharacterLimitPlugin.dev.js +292 -0
  76. package/LexicalCharacterLimitPlugin.dev.mjs +290 -0
  77. package/LexicalCharacterLimitPlugin.js +11 -0
  78. package/LexicalCharacterLimitPlugin.js.flow +12 -0
  79. package/LexicalCharacterLimitPlugin.mjs +12 -0
  80. package/LexicalCharacterLimitPlugin.node.mjs +10 -0
  81. package/LexicalCharacterLimitPlugin.prod.js +9 -0
  82. package/LexicalCharacterLimitPlugin.prod.mjs +9 -0
  83. package/LexicalCheckListPlugin.d.ts +8 -0
  84. package/LexicalCheckListPlugin.dev.js +31 -0
  85. package/LexicalCheckListPlugin.dev.mjs +29 -0
  86. package/LexicalCheckListPlugin.js +11 -0
  87. package/LexicalCheckListPlugin.js.flow +10 -0
  88. package/LexicalCheckListPlugin.mjs +12 -0
  89. package/LexicalCheckListPlugin.node.mjs +10 -0
  90. package/LexicalCheckListPlugin.prod.js +9 -0
  91. package/LexicalCheckListPlugin.prod.mjs +9 -0
  92. package/LexicalClearEditorPlugin.d.ts +13 -0
  93. package/LexicalClearEditorPlugin.dev.js +55 -0
  94. package/LexicalClearEditorPlugin.dev.mjs +53 -0
  95. package/LexicalClearEditorPlugin.js +11 -0
  96. package/LexicalClearEditorPlugin.js.flow +14 -0
  97. package/LexicalClearEditorPlugin.mjs +12 -0
  98. package/LexicalClearEditorPlugin.node.mjs +10 -0
  99. package/LexicalClearEditorPlugin.prod.js +9 -0
  100. package/LexicalClearEditorPlugin.prod.mjs +9 -0
  101. package/LexicalClickableLinkPlugin.d.ts +11 -0
  102. package/LexicalClickableLinkPlugin.dev.js +38 -0
  103. package/LexicalClickableLinkPlugin.dev.mjs +36 -0
  104. package/LexicalClickableLinkPlugin.js +11 -0
  105. package/LexicalClickableLinkPlugin.js.flow +12 -0
  106. package/LexicalClickableLinkPlugin.mjs +12 -0
  107. package/LexicalClickableLinkPlugin.node.mjs +10 -0
  108. package/LexicalClickableLinkPlugin.prod.js +9 -0
  109. package/LexicalClickableLinkPlugin.prod.mjs +9 -0
  110. package/LexicalCollaborationContext.d.ts +19 -0
  111. package/LexicalCollaborationContext.dev.js +69 -0
  112. package/LexicalCollaborationContext.dev.mjs +65 -0
  113. package/LexicalCollaborationContext.js +11 -0
  114. package/LexicalCollaborationContext.js.flow +22 -0
  115. package/LexicalCollaborationContext.mjs +14 -0
  116. package/LexicalCollaborationContext.node.mjs +12 -0
  117. package/LexicalCollaborationContext.prod.js +9 -0
  118. package/LexicalCollaborationContext.prod.mjs +9 -0
  119. package/LexicalCollaborationPlugin.d.ts +39 -0
  120. package/LexicalCollaborationPlugin.dev.js +584 -0
  121. package/LexicalCollaborationPlugin.dev.mjs +569 -0
  122. package/LexicalCollaborationPlugin.js +11 -0
  123. package/LexicalCollaborationPlugin.js.flow +50 -0
  124. package/LexicalCollaborationPlugin.mjs +13 -0
  125. package/LexicalCollaborationPlugin.node.mjs +11 -0
  126. package/LexicalCollaborationPlugin.prod.js +9 -0
  127. package/LexicalCollaborationPlugin.prod.mjs +9 -0
  128. package/LexicalComposer.d.ts +25 -0
  129. package/LexicalComposer.dev.js +134 -0
  130. package/LexicalComposer.dev.mjs +132 -0
  131. package/LexicalComposer.js +11 -0
  132. package/LexicalComposer.js.flow +40 -0
  133. package/LexicalComposer.mjs +12 -0
  134. package/LexicalComposer.node.mjs +10 -0
  135. package/LexicalComposer.prod.js +9 -0
  136. package/LexicalComposer.prod.mjs +9 -0
  137. package/LexicalComposerContext.d.ts +18 -0
  138. package/LexicalComposerContext.dev.js +55 -0
  139. package/LexicalComposerContext.dev.mjs +51 -0
  140. package/LexicalComposerContext.js +11 -0
  141. package/LexicalComposerContext.js.flow +27 -0
  142. package/LexicalComposerContext.mjs +14 -0
  143. package/LexicalComposerContext.node.mjs +12 -0
  144. package/LexicalComposerContext.prod.js +9 -0
  145. package/LexicalComposerContext.prod.mjs +9 -0
  146. package/LexicalContentEditable.d.ts +26 -0
  147. package/LexicalContentEditable.dev.js +242 -0
  148. package/LexicalContentEditable.dev.mjs +239 -0
  149. package/LexicalContentEditable.js +11 -0
  150. package/LexicalContentEditable.js.flow +80 -0
  151. package/LexicalContentEditable.mjs +13 -0
  152. package/LexicalContentEditable.node.mjs +11 -0
  153. package/LexicalContentEditable.prod.js +9 -0
  154. package/LexicalContentEditable.prod.mjs +9 -0
  155. package/LexicalContextMenuPlugin.d.ts +36 -0
  156. package/LexicalContextMenuPlugin.dev.js +524 -0
  157. package/LexicalContextMenuPlugin.dev.mjs +509 -0
  158. package/LexicalContextMenuPlugin.js +11 -0
  159. package/LexicalContextMenuPlugin.js.flow +13 -0
  160. package/LexicalContextMenuPlugin.mjs +13 -0
  161. package/LexicalContextMenuPlugin.node.mjs +11 -0
  162. package/LexicalContextMenuPlugin.prod.js +9 -0
  163. package/LexicalContextMenuPlugin.prod.mjs +9 -0
  164. package/LexicalDecoratorBlockNode.d.ts +25 -0
  165. package/LexicalDecoratorBlockNode.dev.js +59 -0
  166. package/LexicalDecoratorBlockNode.dev.mjs +56 -0
  167. package/LexicalDecoratorBlockNode.js +11 -0
  168. package/LexicalDecoratorBlockNode.js.flow +35 -0
  169. package/LexicalDecoratorBlockNode.mjs +13 -0
  170. package/LexicalDecoratorBlockNode.node.mjs +11 -0
  171. package/LexicalDecoratorBlockNode.prod.js +9 -0
  172. package/LexicalDecoratorBlockNode.prod.mjs +9 -0
  173. package/LexicalDraggableBlockPlugin.d.ts +18 -0
  174. package/LexicalDraggableBlockPlugin.dev.js +655 -0
  175. package/LexicalDraggableBlockPlugin.dev.mjs +653 -0
  176. package/LexicalDraggableBlockPlugin.js +11 -0
  177. package/LexicalDraggableBlockPlugin.js.flow +24 -0
  178. package/LexicalDraggableBlockPlugin.mjs +12 -0
  179. package/LexicalDraggableBlockPlugin.node.mjs +10 -0
  180. package/LexicalDraggableBlockPlugin.prod.js +9 -0
  181. package/LexicalDraggableBlockPlugin.prod.mjs +9 -0
  182. package/LexicalEditorRefPlugin.d.ts +20 -0
  183. package/LexicalEditorRefPlugin.dev.js +58 -0
  184. package/LexicalEditorRefPlugin.dev.mjs +43 -0
  185. package/LexicalEditorRefPlugin.js +11 -0
  186. package/LexicalEditorRefPlugin.js.flow +19 -0
  187. package/LexicalEditorRefPlugin.mjs +12 -0
  188. package/LexicalEditorRefPlugin.node.mjs +10 -0
  189. package/LexicalEditorRefPlugin.prod.js +9 -0
  190. package/LexicalEditorRefPlugin.prod.mjs +9 -0
  191. package/LexicalErrorBoundary.d.ts +13 -0
  192. package/LexicalErrorBoundary.dev.js +40 -0
  193. package/LexicalErrorBoundary.dev.mjs +38 -0
  194. package/LexicalErrorBoundary.js +11 -0
  195. package/LexicalErrorBoundary.js.flow +17 -0
  196. package/LexicalErrorBoundary.mjs +12 -0
  197. package/LexicalErrorBoundary.node.mjs +10 -0
  198. package/LexicalErrorBoundary.prod.js +9 -0
  199. package/LexicalErrorBoundary.prod.mjs +9 -0
  200. package/LexicalExtensionComponent.js.flow +12 -0
  201. package/LexicalExtensionComposer.d.ts +69 -0
  202. package/LexicalExtensionComposer.dev.js +105 -0
  203. package/LexicalExtensionComposer.dev.mjs +103 -0
  204. package/LexicalExtensionComposer.js +11 -0
  205. package/LexicalExtensionComposer.js.flow +20 -0
  206. package/LexicalExtensionComposer.mjs +12 -0
  207. package/LexicalExtensionComposer.node.mjs +10 -0
  208. package/LexicalExtensionComposer.prod.js +9 -0
  209. package/LexicalExtensionComposer.prod.mjs +9 -0
  210. package/LexicalHashtagPlugin.d.ts +9 -0
  211. package/LexicalHashtagPlugin.dev.js +34 -0
  212. package/LexicalHashtagPlugin.dev.mjs +32 -0
  213. package/LexicalHashtagPlugin.js +11 -0
  214. package/LexicalHashtagPlugin.js.flow +10 -0
  215. package/LexicalHashtagPlugin.mjs +12 -0
  216. package/LexicalHashtagPlugin.node.mjs +10 -0
  217. package/LexicalHashtagPlugin.prod.js +9 -0
  218. package/LexicalHashtagPlugin.prod.mjs +9 -0
  219. package/LexicalHistoryPlugin.d.ts +14 -0
  220. package/LexicalHistoryPlugin.dev.js +48 -0
  221. package/LexicalHistoryPlugin.dev.mjs +46 -0
  222. package/LexicalHistoryPlugin.js +11 -0
  223. package/LexicalHistoryPlugin.js.flow +28 -0
  224. package/LexicalHistoryPlugin.mjs +13 -0
  225. package/LexicalHistoryPlugin.node.mjs +11 -0
  226. package/LexicalHistoryPlugin.prod.js +9 -0
  227. package/LexicalHistoryPlugin.prod.mjs +9 -0
  228. package/LexicalHorizontalRuleNode.d.ts +25 -0
  229. package/LexicalHorizontalRuleNode.dev.js +102 -0
  230. package/LexicalHorizontalRuleNode.dev.mjs +98 -0
  231. package/LexicalHorizontalRuleNode.js +11 -0
  232. package/LexicalHorizontalRuleNode.js.flow +27 -0
  233. package/LexicalHorizontalRuleNode.mjs +15 -0
  234. package/LexicalHorizontalRuleNode.node.mjs +13 -0
  235. package/LexicalHorizontalRuleNode.prod.js +9 -0
  236. package/LexicalHorizontalRuleNode.prod.mjs +9 -0
  237. package/LexicalHorizontalRulePlugin.d.ts +8 -0
  238. package/LexicalHorizontalRulePlugin.dev.js +44 -0
  239. package/LexicalHorizontalRulePlugin.dev.mjs +42 -0
  240. package/LexicalHorizontalRulePlugin.js +11 -0
  241. package/LexicalHorizontalRulePlugin.js.flow +12 -0
  242. package/LexicalHorizontalRulePlugin.mjs +12 -0
  243. package/LexicalHorizontalRulePlugin.node.mjs +10 -0
  244. package/LexicalHorizontalRulePlugin.prod.js +9 -0
  245. package/LexicalHorizontalRulePlugin.prod.mjs +9 -0
  246. package/LexicalLinkPlugin.d.ts +14 -0
  247. package/LexicalLinkPlugin.dev.js +43 -0
  248. package/LexicalLinkPlugin.dev.mjs +41 -0
  249. package/LexicalLinkPlugin.js +11 -0
  250. package/LexicalLinkPlugin.js.flow +21 -0
  251. package/LexicalLinkPlugin.mjs +12 -0
  252. package/LexicalLinkPlugin.node.mjs +10 -0
  253. package/LexicalLinkPlugin.prod.js +9 -0
  254. package/LexicalLinkPlugin.prod.mjs +9 -0
  255. package/LexicalListPlugin.d.ts +20 -0
  256. package/LexicalListPlugin.dev.js +55 -0
  257. package/LexicalListPlugin.dev.mjs +53 -0
  258. package/LexicalListPlugin.js +11 -0
  259. package/LexicalListPlugin.js.flow +15 -0
  260. package/LexicalListPlugin.mjs +12 -0
  261. package/LexicalListPlugin.node.mjs +10 -0
  262. package/LexicalListPlugin.prod.js +9 -0
  263. package/LexicalListPlugin.prod.mjs +9 -0
  264. package/LexicalMarkdownShortcutPlugin.d.ts +12 -0
  265. package/LexicalMarkdownShortcutPlugin.dev.js +55 -0
  266. package/LexicalMarkdownShortcutPlugin.dev.mjs +52 -0
  267. package/LexicalMarkdownShortcutPlugin.js +11 -0
  268. package/LexicalMarkdownShortcutPlugin.js.flow +16 -0
  269. package/LexicalMarkdownShortcutPlugin.mjs +13 -0
  270. package/LexicalMarkdownShortcutPlugin.node.mjs +11 -0
  271. package/LexicalMarkdownShortcutPlugin.prod.js +9 -0
  272. package/LexicalMarkdownShortcutPlugin.prod.mjs +9 -0
  273. package/LexicalNestedComposer.d.ts +57 -0
  274. package/LexicalNestedComposer.dev.js +161 -0
  275. package/LexicalNestedComposer.dev.mjs +159 -0
  276. package/LexicalNestedComposer.js +11 -0
  277. package/LexicalNestedComposer.js.flow +26 -0
  278. package/LexicalNestedComposer.mjs +12 -0
  279. package/LexicalNestedComposer.node.mjs +10 -0
  280. package/LexicalNestedComposer.prod.js +9 -0
  281. package/LexicalNestedComposer.prod.mjs +9 -0
  282. package/LexicalNodeContextMenuPlugin.d.ts +46 -0
  283. package/LexicalNodeContextMenuPlugin.dev.js +257 -0
  284. package/LexicalNodeContextMenuPlugin.dev.mjs +253 -0
  285. package/LexicalNodeContextMenuPlugin.js +11 -0
  286. package/LexicalNodeContextMenuPlugin.js.flow +12 -0
  287. package/LexicalNodeContextMenuPlugin.mjs +14 -0
  288. package/LexicalNodeContextMenuPlugin.node.mjs +12 -0
  289. package/LexicalNodeContextMenuPlugin.prod.js +9 -0
  290. package/LexicalNodeContextMenuPlugin.prod.mjs +9 -0
  291. package/LexicalNodeEventPlugin.d.ts +13 -0
  292. package/LexicalNodeEventPlugin.dev.js +61 -0
  293. package/LexicalNodeEventPlugin.dev.mjs +59 -0
  294. package/LexicalNodeEventPlugin.js +11 -0
  295. package/LexicalNodeEventPlugin.js.flow +20 -0
  296. package/LexicalNodeEventPlugin.mjs +12 -0
  297. package/LexicalNodeEventPlugin.node.mjs +10 -0
  298. package/LexicalNodeEventPlugin.prod.js +9 -0
  299. package/LexicalNodeEventPlugin.prod.mjs +9 -0
  300. package/LexicalNodeMenuPlugin.d.ts +24 -0
  301. package/LexicalNodeMenuPlugin.dev.js +527 -0
  302. package/LexicalNodeMenuPlugin.dev.mjs +524 -0
  303. package/LexicalNodeMenuPlugin.js +11 -0
  304. package/LexicalNodeMenuPlugin.js.flow +64 -0
  305. package/LexicalNodeMenuPlugin.mjs +13 -0
  306. package/LexicalNodeMenuPlugin.node.mjs +11 -0
  307. package/LexicalNodeMenuPlugin.prod.js +9 -0
  308. package/LexicalNodeMenuPlugin.prod.mjs +9 -0
  309. package/LexicalOnChangePlugin.d.ts +13 -0
  310. package/LexicalOnChangePlugin.dev.js +72 -0
  311. package/LexicalOnChangePlugin.dev.mjs +70 -0
  312. package/LexicalOnChangePlugin.js +11 -0
  313. package/LexicalOnChangePlugin.js.flow +16 -0
  314. package/LexicalOnChangePlugin.mjs +12 -0
  315. package/LexicalOnChangePlugin.node.mjs +10 -0
  316. package/LexicalOnChangePlugin.prod.js +9 -0
  317. package/LexicalOnChangePlugin.prod.mjs +9 -0
  318. package/LexicalPlainTextPlugin.d.ts +14 -0
  319. package/LexicalPlainTextPlugin.dev.js +235 -0
  320. package/LexicalPlainTextPlugin.dev.mjs +233 -0
  321. package/LexicalPlainTextPlugin.js +11 -0
  322. package/LexicalPlainTextPlugin.js.flow +29 -0
  323. package/LexicalPlainTextPlugin.mjs +12 -0
  324. package/LexicalPlainTextPlugin.node.mjs +10 -0
  325. package/LexicalPlainTextPlugin.prod.js +9 -0
  326. package/LexicalPlainTextPlugin.prod.mjs +9 -0
  327. package/LexicalReactExtension.js.flow +68 -0
  328. package/LexicalReactPluginHostExtension.js.flow +84 -0
  329. package/LexicalReactProviderExtension.js.flow +12 -0
  330. package/LexicalRichTextPlugin.d.ts +14 -0
  331. package/LexicalRichTextPlugin.dev.js +235 -0
  332. package/LexicalRichTextPlugin.dev.mjs +233 -0
  333. package/LexicalRichTextPlugin.js +11 -0
  334. package/LexicalRichTextPlugin.js.flow +29 -0
  335. package/LexicalRichTextPlugin.mjs +12 -0
  336. package/LexicalRichTextPlugin.node.mjs +10 -0
  337. package/LexicalRichTextPlugin.prod.js +9 -0
  338. package/LexicalRichTextPlugin.prod.mjs +9 -0
  339. package/LexicalSelectionAlwaysOnDisplay.d.ts +12 -0
  340. package/LexicalSelectionAlwaysOnDisplay.dev.js +33 -0
  341. package/LexicalSelectionAlwaysOnDisplay.dev.mjs +31 -0
  342. package/LexicalSelectionAlwaysOnDisplay.js +11 -0
  343. package/LexicalSelectionAlwaysOnDisplay.js.flow +15 -0
  344. package/LexicalSelectionAlwaysOnDisplay.mjs +12 -0
  345. package/LexicalSelectionAlwaysOnDisplay.node.mjs +10 -0
  346. package/LexicalSelectionAlwaysOnDisplay.prod.js +9 -0
  347. package/LexicalSelectionAlwaysOnDisplay.prod.mjs +9 -0
  348. package/LexicalTabIndentationPlugin.d.ts +17 -0
  349. package/LexicalTabIndentationPlugin.dev.js +40 -0
  350. package/LexicalTabIndentationPlugin.dev.mjs +38 -0
  351. package/LexicalTabIndentationPlugin.js +11 -0
  352. package/LexicalTabIndentationPlugin.js.flow +21 -0
  353. package/LexicalTabIndentationPlugin.mjs +13 -0
  354. package/LexicalTabIndentationPlugin.node.mjs +11 -0
  355. package/LexicalTabIndentationPlugin.prod.js +9 -0
  356. package/LexicalTabIndentationPlugin.prod.mjs +9 -0
  357. package/LexicalTableOfContentsPlugin.d.ts +20 -0
  358. package/LexicalTableOfContentsPlugin.dev.js +209 -0
  359. package/LexicalTableOfContentsPlugin.dev.mjs +207 -0
  360. package/LexicalTableOfContentsPlugin.js +11 -0
  361. package/LexicalTableOfContentsPlugin.js.flow +18 -0
  362. package/LexicalTableOfContentsPlugin.mjs +12 -0
  363. package/LexicalTableOfContentsPlugin.node.mjs +10 -0
  364. package/LexicalTableOfContentsPlugin.prod.js +9 -0
  365. package/LexicalTableOfContentsPlugin.prod.mjs +9 -0
  366. package/LexicalTablePlugin.d.ts +46 -0
  367. package/LexicalTablePlugin.dev.js +81 -0
  368. package/LexicalTablePlugin.dev.mjs +79 -0
  369. package/LexicalTablePlugin.js +11 -0
  370. package/LexicalTablePlugin.js.flow +15 -0
  371. package/LexicalTablePlugin.mjs +12 -0
  372. package/LexicalTablePlugin.node.mjs +10 -0
  373. package/LexicalTablePlugin.prod.js +9 -0
  374. package/LexicalTablePlugin.prod.mjs +9 -0
  375. package/LexicalTreeView.d.ts +37 -0
  376. package/LexicalTreeView.dev.js +105 -0
  377. package/LexicalTreeView.dev.mjs +91 -0
  378. package/LexicalTreeView.js +11 -0
  379. package/LexicalTreeView.js.flow +21 -0
  380. package/LexicalTreeView.mjs +12 -0
  381. package/LexicalTreeView.node.mjs +10 -0
  382. package/LexicalTreeView.prod.js +9 -0
  383. package/LexicalTreeView.prod.mjs +9 -0
  384. package/LexicalTreeViewExtension.js.flow +12 -0
  385. package/LexicalTypeaheadMenuPlugin.d.ts +40 -0
  386. package/LexicalTypeaheadMenuPlugin.dev.js +654 -0
  387. package/LexicalTypeaheadMenuPlugin.dev.mjs +646 -0
  388. package/LexicalTypeaheadMenuPlugin.js +11 -0
  389. package/LexicalTypeaheadMenuPlugin.js.flow +83 -0
  390. package/LexicalTypeaheadMenuPlugin.mjs +18 -0
  391. package/LexicalTypeaheadMenuPlugin.node.mjs +16 -0
  392. package/LexicalTypeaheadMenuPlugin.prod.js +9 -0
  393. package/LexicalTypeaheadMenuPlugin.prod.mjs +9 -0
  394. package/README.md +90 -0
  395. package/ReactExtension.d.ts +41 -0
  396. package/ReactPluginHostExtension.d.ts +56 -0
  397. package/ReactProviderExtension.d.ts +9 -0
  398. package/TreeViewExtension.d.ts +18 -0
  399. package/package.json +1549 -0
  400. package/shared/LegacyDecorators.d.ts +23 -0
  401. package/shared/LexicalContentEditableElement.d.ts +43 -0
  402. package/shared/LexicalMenu.d.ts +52 -0
  403. package/shared/buildEditorComponent.d.ts +11 -0
  404. package/shared/mergeRefs.d.ts +9 -0
  405. package/shared/point.d.ts +21 -0
  406. package/shared/rect.d.ts +45 -0
  407. package/shared/types.d.ts +89 -0
  408. package/shared/useCanShowPlaceholder.d.ts +9 -0
  409. package/shared/useCharacterLimit.d.ts +16 -0
  410. package/shared/useDecorators.d.ts +17 -0
  411. package/shared/useHistory.d.ts +10 -0
  412. package/shared/useList.d.ts +9 -0
  413. package/shared/usePlainTextSetup.d.ts +9 -0
  414. package/shared/useReactDecorators.d.ts +12 -0
  415. package/shared/useRichTextSetup.d.ts +9 -0
  416. package/shared/useYjsCollaboration.d.ts +25 -0
  417. package/useExtensionComponent.d.ts +10 -0
  418. package/useLexicalEditable.d.ts +16 -0
  419. package/useLexicalEditable.dev.js +102 -0
  420. package/useLexicalEditable.dev.mjs +100 -0
  421. package/useLexicalEditable.js +11 -0
  422. package/useLexicalEditable.js.flow +12 -0
  423. package/useLexicalEditable.mjs +12 -0
  424. package/useLexicalEditable.node.mjs +10 -0
  425. package/useLexicalEditable.prod.js +9 -0
  426. package/useLexicalEditable.prod.mjs +9 -0
  427. package/useLexicalExtensionComponent.dev.js +37 -0
  428. package/useLexicalExtensionComponent.dev.mjs +34 -0
  429. package/useLexicalExtensionComponent.js +11 -0
  430. package/useLexicalExtensionComponent.js.flow +12 -0
  431. package/useLexicalExtensionComponent.mjs +13 -0
  432. package/useLexicalExtensionComponent.node.mjs +11 -0
  433. package/useLexicalExtensionComponent.prod.js +9 -0
  434. package/useLexicalExtensionComponent.prod.mjs +9 -0
  435. package/useLexicalIsTextContentEmpty.d.ts +9 -0
  436. package/useLexicalIsTextContentEmpty.dev.js +60 -0
  437. package/useLexicalIsTextContentEmpty.dev.mjs +58 -0
  438. package/useLexicalIsTextContentEmpty.js +11 -0
  439. package/useLexicalIsTextContentEmpty.js.flow +15 -0
  440. package/useLexicalIsTextContentEmpty.mjs +12 -0
  441. package/useLexicalIsTextContentEmpty.node.mjs +10 -0
  442. package/useLexicalIsTextContentEmpty.prod.js +9 -0
  443. package/useLexicalIsTextContentEmpty.prod.mjs +9 -0
  444. package/useLexicalNodeSelection.d.ts +24 -0
  445. package/useLexicalNodeSelection.dev.js +102 -0
  446. package/useLexicalNodeSelection.dev.mjs +100 -0
  447. package/useLexicalNodeSelection.js +11 -0
  448. package/useLexicalNodeSelection.js.flow +14 -0
  449. package/useLexicalNodeSelection.mjs +12 -0
  450. package/useLexicalNodeSelection.node.mjs +10 -0
  451. package/useLexicalNodeSelection.prod.js +9 -0
  452. package/useLexicalNodeSelection.prod.mjs +9 -0
  453. package/useLexicalSubscription.d.ts +17 -0
  454. package/useLexicalSubscription.dev.js +73 -0
  455. package/useLexicalSubscription.dev.mjs +71 -0
  456. package/useLexicalSubscription.js +11 -0
  457. package/useLexicalSubscription.js.flow +19 -0
  458. package/useLexicalSubscription.mjs +12 -0
  459. package/useLexicalSubscription.node.mjs +10 -0
  460. package/useLexicalSubscription.prod.js +9 -0
  461. package/useLexicalSubscription.prod.mjs +9 -0
  462. package/useLexicalTextEntity.d.ts +10 -0
  463. package/useLexicalTextEntity.dev.js +31 -0
  464. package/useLexicalTextEntity.dev.mjs +29 -0
  465. package/useLexicalTextEntity.js +11 -0
  466. package/useLexicalTextEntity.js.flow +18 -0
  467. package/useLexicalTextEntity.mjs +12 -0
  468. package/useLexicalTextEntity.node.mjs +10 -0
  469. package/useLexicalTextEntity.prod.js +9 -0
  470. package/useLexicalTextEntity.prod.mjs +9 -0
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import * as modDev from './LexicalTableOfContentsPlugin.dev.mjs';
10
+ import * as modProd from './LexicalTableOfContentsPlugin.prod.mjs';
11
+ const mod = process.env.NODE_ENV !== 'production' ? modDev : modProd;
12
+ export const TableOfContentsPlugin = mod.TableOfContentsPlugin;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ const mod = await (process.env.NODE_ENV !== 'production' ? import('./LexicalTableOfContentsPlugin.dev.mjs') : import('./LexicalTableOfContentsPlugin.prod.mjs'));
10
+ export const TableOfContentsPlugin = mod.TableOfContentsPlugin;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ "use strict";var e=require("@ekz/lexical-react/LexicalComposerContext"),t=require("@ekz/lexical-rich-text"),n=require("@ekz/lexical-utils"),o=require("@ekz/lexical"),r=require("react");function i(e){return[e.getKey(),e.getTextContent(),e.getTag()]}function s(e,t,n){if(null===t)return n;const o=i(t);let r=[];if(null===e){if(n.length>0&&n[0][0]===t.__key)return n;r=[o,...n]}else for(let i=0;i<n.length;i++){const s=n[i][0];if(r.push(n[i]),s===e.getKey()&&s!==t.getKey()){if(i+1<n.length&&n[i+1][0]===t.__key)return n;r.push(o)}}return r}function u(e,t){const n=[];for(const o of t)o[0]!==e&&n.push(o);return n}function l(e,t){const n=[];for(const o of t)o[0]===e.getKey()?n.push(i(e)):n.push(o);return n}function c(e,t,n){const o=[],r=i(t);e||o.push(r);for(const i of n)i[0]!==t.getKey()&&(o.push(i),e&&i[0]===e.getKey()&&o.push(r));return o}function d(e){let o=n.$getNextRightPreorderNode(e);for(;null!==o&&!t.$isHeadingNode(o);)o=n.$getNextRightPreorderNode(o);return o}exports.TableOfContentsPlugin=function({children:n}){const[i,g]=r.useState([]),[f]=e.useLexicalComposerContext();return r.useEffect(()=>{let e=[];f.getEditorState().read(()=>{const n=r=>{for(const i of r.getChildren())t.$isHeadingNode(i)?e.push([i.getKey(),i.getTextContent(),i.getTag()]):o.$isElementNode(i)&&n(i)};n(o.$getRoot()),g(e)});const n=f.registerUpdateListener(({editorState:n,dirtyElements:r})=>{n.read(()=>{const n=r=>{for(const i of r.getChildren())if(t.$isHeadingNode(i)){const t=d(i);e=c(t,i,e),g(e)}else o.$isElementNode(i)&&n(i)};o.$getRoot().getChildren().forEach(e=>{o.$isElementNode(e)&&r.get(e.__key)&&n(e)})})}),r=f.registerMutationListener(t.HeadingNode,t=>{f.getEditorState().read(()=>{for(const[n,r]of t)if("created"===r){const t=o.$getNodeByKey(n);if(null!==t){const n=d(t);e=s(n,t,e)}}else if("destroyed"===r)e=u(n,e);else if("updated"===r){const t=o.$getNodeByKey(n);if(null!==t){const n=d(t);e=c(n,t,e)}}g(e)})},{skipInitialization:!0}),i=f.registerMutationListener(o.TextNode,n=>{f.getEditorState().read(()=>{for(const[r,i]of n)if("updated"===i){const n=o.$getNodeByKey(r);if(null!==n){const o=n.getParentOrThrow();t.$isHeadingNode(o)&&(e=l(o,e),g(e))}}})},{skipInitialization:!0});return()=>{r(),i(),n()}},[f]),n(i,f)};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import{useLexicalComposerContext as t}from"@ekz/lexical-react/LexicalComposerContext";import{HeadingNode as e,$isHeadingNode as n}from"@ekz/lexical-rich-text";import{$getNextRightPreorderNode as r}from"@ekz/lexical-utils";import{$getRoot as o,$isElementNode as i,$getNodeByKey as s,TextNode as f}from"@ekz/lexical";import{useState as c,useEffect as l}from"react";function u(t){return[t.getKey(),t.getTextContent(),t.getTag()]}function a(t,e,n){if(null===e)return n;const r=u(e);let o=[];if(null===t){if(n.length>0&&n[0][0]===e.__key)return n;o=[r,...n]}else for(let i=0;i<n.length;i++){const s=n[i][0];if(o.push(n[i]),s===t.getKey()&&s!==e.getKey()){if(i+1<n.length&&n[i+1][0]===e.__key)return n;o.push(r)}}return o}function g(t,e){const n=[];for(const r of e)r[0]!==t&&n.push(r);return n}function d(t,e){const n=[];for(const r of e)r[0]===t.getKey()?n.push(u(t)):n.push(r);return n}function p(t,e,n){const r=[],o=u(e);t||r.push(o);for(const i of n)i[0]!==e.getKey()&&(r.push(i),t&&i[0]===t.getKey()&&r.push(o));return r}function h(t){let e=r(t);for(;null!==e&&!n(e);)e=r(e);return e}function m({children:r}){const[u,m]=c([]),[y]=t();return l(()=>{let t=[];y.getEditorState().read(()=>{const e=r=>{for(const o of r.getChildren())n(o)?t.push([o.getKey(),o.getTextContent(),o.getTag()]):i(o)&&e(o)};e(o()),m(t)});const r=y.registerUpdateListener(({editorState:e,dirtyElements:r})=>{e.read(()=>{const e=r=>{for(const o of r.getChildren())if(n(o)){const e=h(o);t=p(e,o,t),m(t)}else i(o)&&e(o)};o().getChildren().forEach(t=>{i(t)&&r.get(t.__key)&&e(t)})})}),c=y.registerMutationListener(e,e=>{y.getEditorState().read(()=>{for(const[n,r]of e)if("created"===r){const e=s(n);if(null!==e){const n=h(e);t=a(n,e,t)}}else if("destroyed"===r)t=g(n,t);else if("updated"===r){const e=s(n);if(null!==e){const n=h(e);t=p(n,e,t)}}m(t)})},{skipInitialization:!0}),l=y.registerMutationListener(f,e=>{y.getEditorState().read(()=>{for(const[r,o]of e)if("updated"===o){const e=s(r);if(null!==e){const r=e.getParentOrThrow();n(r)&&(t=d(r,t),m(t))}}})},{skipInitialization:!0});return()=>{c(),l(),r()}},[y]),r(u,y)}export{m as TableOfContentsPlugin};
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+ import type { JSX } from 'react';
9
+ export interface TablePluginProps {
10
+ /**
11
+ * When `false` (default `true`), merged cell support (colspan and rowspan) will be disabled and all
12
+ * tables will be forced into a regular grid with 1x1 table cells.
13
+ */
14
+ hasCellMerge?: boolean;
15
+ /**
16
+ * When `false` (default `true`), the background color of TableCellNode will always be removed.
17
+ */
18
+ hasCellBackgroundColor?: boolean;
19
+ /**
20
+ * When `true` (default `true`), the tab key can be used to navigate table cells.
21
+ */
22
+ hasTabHandler?: boolean;
23
+ /**
24
+ * When `true` (default `false`), tables will be wrapped in a `<div>` to enable horizontal scrolling
25
+ */
26
+ hasHorizontalScroll?: boolean;
27
+ /**
28
+ * When `true` (default `false`), nested tables will be allowed.
29
+ *
30
+ * @experimental Nested tables are not officially supported.
31
+ */
32
+ hasNestedTables?: boolean;
33
+ /**
34
+ * When `true` (default `false`), nested tables will be resized to fit the width of the parent table cell.
35
+ *
36
+ * @experimental Nested tables are not officially supported.
37
+ */
38
+ hasFitNestedTables?: boolean;
39
+ }
40
+ /**
41
+ * A plugin to enable all of the features of Lexical's TableNode.
42
+ *
43
+ * @param props - See type for documentation
44
+ * @returns An element to render in your LexicalComposer
45
+ */
46
+ export declare function TablePlugin({ hasCellMerge, hasCellBackgroundColor, hasTabHandler, hasHorizontalScroll, hasNestedTables, hasFitNestedTables, }: TablePluginProps): JSX.Element | null;
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ 'use strict';
10
+
11
+ var lexicalExtension = require('@ekz/lexical-extension');
12
+ var LexicalComposerContext = require('@ekz/lexical-react/LexicalComposerContext');
13
+ var lexicalTable = require('@ekz/lexical-table');
14
+ var react = require('react');
15
+
16
+ /**
17
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
18
+ *
19
+ * This source code is licensed under the MIT license found in the
20
+ * LICENSE file in the root directory of this source tree.
21
+ *
22
+ */
23
+
24
+ /**
25
+ * A plugin to enable all of the features of Lexical's TableNode.
26
+ *
27
+ * @param props - See type for documentation
28
+ * @returns An element to render in your LexicalComposer
29
+ */
30
+ function TablePlugin({
31
+ hasCellMerge = true,
32
+ hasCellBackgroundColor = true,
33
+ hasTabHandler = true,
34
+ hasHorizontalScroll = false,
35
+ hasNestedTables = false,
36
+ hasFitNestedTables = false
37
+ }) {
38
+ const [editor] = LexicalComposerContext.useLexicalComposerContext();
39
+ react.useEffect(() => {
40
+ const hadHorizontalScroll = lexicalTable.$isScrollableTablesActive(editor);
41
+ if (hadHorizontalScroll !== hasHorizontalScroll) {
42
+ lexicalTable.setScrollableTablesActive(editor, hasHorizontalScroll);
43
+ // Registering the transform has the side-effect of marking all existing
44
+ // TableNodes as dirty. The handler is immediately unregistered.
45
+ editor.registerNodeTransform(lexicalTable.TableNode, () => {})();
46
+ }
47
+ }, [editor, hasHorizontalScroll]);
48
+ const hasNestedTablesSignal = usePropSignal(hasNestedTables);
49
+ const hasFitNestedTablesSignal = usePropSignal(hasFitNestedTables);
50
+ react.useEffect(() => lexicalTable.registerTablePlugin(editor), [editor, hasNestedTablesSignal, hasFitNestedTablesSignal]);
51
+ react.useEffect(() => lexicalTable.registerTableSelectionObserver(editor, hasTabHandler), [editor, hasTabHandler]);
52
+
53
+ // Unmerge cells when the feature isn't enabled
54
+ react.useEffect(() => {
55
+ if (!hasCellMerge) {
56
+ return lexicalTable.registerTableCellUnmergeTransform(editor);
57
+ }
58
+ }, [editor, hasCellMerge]);
59
+
60
+ // Remove cell background color when feature is disabled
61
+ react.useEffect(() => {
62
+ if (hasCellBackgroundColor) {
63
+ return;
64
+ }
65
+ return editor.registerNodeTransform(lexicalTable.TableCellNode, node => {
66
+ if (node.getBackgroundColor() !== null) {
67
+ node.setBackgroundColor(null);
68
+ }
69
+ });
70
+ }, [editor, hasCellBackgroundColor, hasCellMerge]);
71
+ return null;
72
+ }
73
+ function usePropSignal(value) {
74
+ const [configSignal] = react.useState(() => lexicalExtension.signal(value));
75
+ if (configSignal.peek() !== value) {
76
+ configSignal.value = value;
77
+ }
78
+ return configSignal;
79
+ }
80
+
81
+ exports.TablePlugin = TablePlugin;
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import { signal } from '@ekz/lexical-extension';
10
+ import { useLexicalComposerContext } from '@ekz/lexical-react/LexicalComposerContext';
11
+ import { $isScrollableTablesActive, setScrollableTablesActive, TableNode, registerTablePlugin, registerTableSelectionObserver, registerTableCellUnmergeTransform, TableCellNode } from '@ekz/lexical-table';
12
+ import { useEffect, useState } from 'react';
13
+
14
+ /**
15
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
16
+ *
17
+ * This source code is licensed under the MIT license found in the
18
+ * LICENSE file in the root directory of this source tree.
19
+ *
20
+ */
21
+
22
+ /**
23
+ * A plugin to enable all of the features of Lexical's TableNode.
24
+ *
25
+ * @param props - See type for documentation
26
+ * @returns An element to render in your LexicalComposer
27
+ */
28
+ function TablePlugin({
29
+ hasCellMerge = true,
30
+ hasCellBackgroundColor = true,
31
+ hasTabHandler = true,
32
+ hasHorizontalScroll = false,
33
+ hasNestedTables = false,
34
+ hasFitNestedTables = false
35
+ }) {
36
+ const [editor] = useLexicalComposerContext();
37
+ useEffect(() => {
38
+ const hadHorizontalScroll = $isScrollableTablesActive(editor);
39
+ if (hadHorizontalScroll !== hasHorizontalScroll) {
40
+ setScrollableTablesActive(editor, hasHorizontalScroll);
41
+ // Registering the transform has the side-effect of marking all existing
42
+ // TableNodes as dirty. The handler is immediately unregistered.
43
+ editor.registerNodeTransform(TableNode, () => {})();
44
+ }
45
+ }, [editor, hasHorizontalScroll]);
46
+ const hasNestedTablesSignal = usePropSignal(hasNestedTables);
47
+ const hasFitNestedTablesSignal = usePropSignal(hasFitNestedTables);
48
+ useEffect(() => registerTablePlugin(editor), [editor, hasNestedTablesSignal, hasFitNestedTablesSignal]);
49
+ useEffect(() => registerTableSelectionObserver(editor, hasTabHandler), [editor, hasTabHandler]);
50
+
51
+ // Unmerge cells when the feature isn't enabled
52
+ useEffect(() => {
53
+ if (!hasCellMerge) {
54
+ return registerTableCellUnmergeTransform(editor);
55
+ }
56
+ }, [editor, hasCellMerge]);
57
+
58
+ // Remove cell background color when feature is disabled
59
+ useEffect(() => {
60
+ if (hasCellBackgroundColor) {
61
+ return;
62
+ }
63
+ return editor.registerNodeTransform(TableCellNode, node => {
64
+ if (node.getBackgroundColor() !== null) {
65
+ node.setBackgroundColor(null);
66
+ }
67
+ });
68
+ }, [editor, hasCellBackgroundColor, hasCellMerge]);
69
+ return null;
70
+ }
71
+ function usePropSignal(value) {
72
+ const [configSignal] = useState(() => signal(value));
73
+ if (configSignal.peek() !== value) {
74
+ configSignal.value = value;
75
+ }
76
+ return configSignal;
77
+ }
78
+
79
+ export { TablePlugin };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ 'use strict'
10
+ const LexicalTablePlugin = process.env.NODE_ENV !== 'production' ? require('./LexicalTablePlugin.dev.js') : require('./LexicalTablePlugin.prod.js');
11
+ module.exports = LexicalTablePlugin;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict
8
+ */
9
+
10
+ type Props = $ReadOnly<{
11
+ hasCellMerge?: boolean,
12
+ hasCellBackgroundColor?: boolean,
13
+ hasTabHandler?: boolean,
14
+ }>;
15
+ declare export function TablePlugin(props: Props): null;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import * as modDev from './LexicalTablePlugin.dev.mjs';
10
+ import * as modProd from './LexicalTablePlugin.prod.mjs';
11
+ const mod = process.env.NODE_ENV !== 'production' ? modDev : modProd;
12
+ export const TablePlugin = mod.TablePlugin;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ const mod = await (process.env.NODE_ENV !== 'production' ? import('./LexicalTablePlugin.dev.mjs') : import('./LexicalTablePlugin.prod.mjs'));
10
+ export const TablePlugin = mod.TablePlugin;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ "use strict";var e=require("@ekz/lexical-extension"),r=require("@ekz/lexical-react/LexicalComposerContext"),l=require("@ekz/lexical-table"),t=require("react");function s(r){const[l]=t.useState(()=>e.signal(r));return l.peek()!==r&&(l.value=r),l}exports.TablePlugin=function({hasCellMerge:e=!0,hasCellBackgroundColor:a=!0,hasTabHandler:o=!0,hasHorizontalScroll:n=!1,hasNestedTables:i=!1,hasFitNestedTables:c=!1}){const[u]=r.useLexicalComposerContext();t.useEffect(()=>{l.$isScrollableTablesActive(u)!==n&&(l.setScrollableTablesActive(u,n),u.registerNodeTransform(l.TableNode,()=>{})())},[u,n]);const f=s(i),b=s(c);return t.useEffect(()=>l.registerTablePlugin(u),[u,f,b]),t.useEffect(()=>l.registerTableSelectionObserver(u,o),[u,o]),t.useEffect(()=>{if(!e)return l.registerTableCellUnmergeTransform(u)},[u,e]),t.useEffect(()=>{if(!a)return u.registerNodeTransform(l.TableCellNode,e=>{null!==e.getBackgroundColor()&&e.setBackgroundColor(null)})},[u,a,e]),null};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import{signal as e}from"@ekz/lexical-extension";import{useLexicalComposerContext as r}from"@ekz/lexical-react/LexicalComposerContext";import{$isScrollableTablesActive as o,setScrollableTablesActive as l,TableNode as t,registerTablePlugin as a,registerTableSelectionObserver as n,registerTableCellUnmergeTransform as s,TableCellNode as i}from"@ekz/lexical-table";import{useEffect as c,useState as u}from"react";function m({hasCellMerge:e=!0,hasCellBackgroundColor:u=!0,hasTabHandler:m=!0,hasHorizontalScroll:d=!1,hasNestedTables:g=!1,hasFitNestedTables:k=!1}){const[p]=r();c(()=>{o(p)!==d&&(l(p,d),p.registerNodeTransform(t,()=>{})())},[p,d]);const x=f(g),C=f(k);return c(()=>a(p),[p,x,C]),c(()=>n(p,m),[p,m]),c(()=>{if(!e)return s(p)},[p,e]),c(()=>{if(!u)return p.registerNodeTransform(i,e=>{null!==e.getBackgroundColor()&&e.setBackgroundColor(null)})},[p,u,e]),null}function f(r){const[o]=u(()=>e(r));return o.peek()!==r&&(o.value=r),o}export{m as TablePlugin};
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+ import type { LexicalEditor } from '@ekz/lexical';
9
+ import type { JSX } from 'react';
10
+ import { CustomPrintNodeFn } from '@ekz/lexical-devtools-core';
11
+ /**
12
+ * TreeView is a React component that provides a visual representation of
13
+ * the Lexical editor's state and enables debugging features like time travel
14
+ * and custom tree node rendering.
15
+ *
16
+ * @param {Object} props - The properties passed to the TreeView component.
17
+ * @param {LexicalEditor} props.editor - The Lexical editor instance to be visualized and debugged.
18
+ * @param {string} [props.treeTypeButtonClassName] - Custom class name for the tree type toggle button.
19
+ * @param {string} [props.timeTravelButtonClassName] - Custom class name for the time travel toggle button.
20
+ * @param {string} [props.timeTravelPanelButtonClassName] - Custom class name for buttons inside the time travel panel.
21
+ * @param {string} [props.timeTravelPanelClassName] - Custom class name for the overall time travel panel container.
22
+ * @param {string} [props.timeTravelPanelSliderClassName] - Custom class name for the time travel slider in the panel.
23
+ * @param {string} [props.viewClassName] - Custom class name for the tree view container.
24
+ * @param {CustomPrintNodeFn} [props.customPrintNode] - A function for customizing the display of nodes in the tree.
25
+ *
26
+ * @returns {JSX.Element} - A React element that visualizes the editor's state and supports debugging interactions.
27
+ */
28
+ export declare function TreeView({ treeTypeButtonClassName, timeTravelButtonClassName, timeTravelPanelSliderClassName, timeTravelPanelButtonClassName, timeTravelPanelClassName, viewClassName, editor, customPrintNode, }: {
29
+ editor: LexicalEditor;
30
+ treeTypeButtonClassName?: string;
31
+ timeTravelButtonClassName?: string;
32
+ timeTravelPanelButtonClassName?: string;
33
+ timeTravelPanelClassName?: string;
34
+ timeTravelPanelSliderClassName?: string;
35
+ viewClassName?: string;
36
+ customPrintNode?: CustomPrintNodeFn;
37
+ }): JSX.Element;
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ 'use strict';
10
+
11
+ var lexicalDevtoolsCore = require('@ekz/lexical-devtools-core');
12
+ var lexicalUtils = require('@ekz/lexical-utils');
13
+ var React = require('react');
14
+ var jsxRuntime = require('react/jsx-runtime');
15
+
16
+ function _interopNamespaceDefault(e) {
17
+ var n = Object.create(null);
18
+ if (e) {
19
+ for (var k in e) {
20
+ n[k] = e[k];
21
+ }
22
+ }
23
+ n.default = e;
24
+ return n;
25
+ }
26
+
27
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
28
+
29
+ /**
30
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
31
+ *
32
+ * This source code is licensed under the MIT license found in the
33
+ * LICENSE file in the root directory of this source tree.
34
+ *
35
+ */
36
+
37
+ function TreeView({
38
+ treeTypeButtonClassName,
39
+ timeTravelButtonClassName,
40
+ timeTravelPanelSliderClassName,
41
+ timeTravelPanelButtonClassName,
42
+ timeTravelPanelClassName,
43
+ viewClassName,
44
+ editor,
45
+ customPrintNode
46
+ }) {
47
+ const treeElementRef = /*#__PURE__*/React__namespace.createRef();
48
+ const [editorCurrentState, setEditorCurrentState] = React.useState(editor.getEditorState());
49
+ const commandsLog = lexicalDevtoolsCore.useLexicalCommandsLog(editor);
50
+ React.useEffect(() => {
51
+ // Registers listeners to update the tree view when the editor state changes
52
+ return lexicalUtils.mergeRegister(editor.registerUpdateListener(({
53
+ editorState
54
+ }) => {
55
+ setEditorCurrentState(editorState);
56
+ }), editor.registerEditableListener(() => {
57
+ setEditorCurrentState(editor.getEditorState());
58
+ }));
59
+ }, [editor]);
60
+ React.useEffect(() => {
61
+ const element = treeElementRef.current;
62
+ if (element !== null) {
63
+ // Assigns the editor instance to the tree view DOM element for internal tracking
64
+ // @ts-ignore Internal field used by Lexical
65
+ element.__lexicalEditor = editor;
66
+ return () => {
67
+ // Cleans up the reference when the component is unmounted
68
+ // @ts-ignore Internal field used by Lexical
69
+ element.__lexicalEditor = null;
70
+ };
71
+ }
72
+ }, [editor, treeElementRef]);
73
+
74
+ /**
75
+ * Handles toggling the readonly state of the editor.
76
+ *
77
+ * @param {boolean} isReadonly - Whether the editor should be set to readonly.
78
+ */
79
+ const handleEditorReadOnly = isReadonly => {
80
+ const rootElement = editor.getRootElement();
81
+ if (rootElement == null) {
82
+ return;
83
+ }
84
+ rootElement.contentEditable = isReadonly ? 'false' : 'true';
85
+ };
86
+ return /*#__PURE__*/jsxRuntime.jsx(lexicalDevtoolsCore.TreeView, {
87
+ treeTypeButtonClassName: treeTypeButtonClassName,
88
+ timeTravelButtonClassName: timeTravelButtonClassName,
89
+ timeTravelPanelSliderClassName: timeTravelPanelSliderClassName,
90
+ timeTravelPanelButtonClassName: timeTravelPanelButtonClassName,
91
+ viewClassName: viewClassName,
92
+ timeTravelPanelClassName: timeTravelPanelClassName,
93
+ setEditorReadOnly: handleEditorReadOnly,
94
+ editorState: editorCurrentState,
95
+ setEditorState: state => editor.setEditorState(state),
96
+ generateContent: async function (exportDOM) {
97
+ // Generates the content for the tree view, allowing customization with exportDOM and customPrintNode
98
+ return lexicalDevtoolsCore.generateContent(editor, commandsLog, exportDOM, customPrintNode);
99
+ },
100
+ ref: treeElementRef,
101
+ commandsLog: commandsLog
102
+ });
103
+ }
104
+
105
+ exports.TreeView = TreeView;
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import { useLexicalCommandsLog, TreeView as TreeView$1, generateContent } from '@ekz/lexical-devtools-core';
10
+ import { mergeRegister } from '@ekz/lexical-utils';
11
+ import * as React from 'react';
12
+ import { useState, useEffect } from 'react';
13
+ import { jsx } from 'react/jsx-runtime';
14
+
15
+ /**
16
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
17
+ *
18
+ * This source code is licensed under the MIT license found in the
19
+ * LICENSE file in the root directory of this source tree.
20
+ *
21
+ */
22
+
23
+ function TreeView({
24
+ treeTypeButtonClassName,
25
+ timeTravelButtonClassName,
26
+ timeTravelPanelSliderClassName,
27
+ timeTravelPanelButtonClassName,
28
+ timeTravelPanelClassName,
29
+ viewClassName,
30
+ editor,
31
+ customPrintNode
32
+ }) {
33
+ const treeElementRef = /*#__PURE__*/React.createRef();
34
+ const [editorCurrentState, setEditorCurrentState] = useState(editor.getEditorState());
35
+ const commandsLog = useLexicalCommandsLog(editor);
36
+ useEffect(() => {
37
+ // Registers listeners to update the tree view when the editor state changes
38
+ return mergeRegister(editor.registerUpdateListener(({
39
+ editorState
40
+ }) => {
41
+ setEditorCurrentState(editorState);
42
+ }), editor.registerEditableListener(() => {
43
+ setEditorCurrentState(editor.getEditorState());
44
+ }));
45
+ }, [editor]);
46
+ useEffect(() => {
47
+ const element = treeElementRef.current;
48
+ if (element !== null) {
49
+ // Assigns the editor instance to the tree view DOM element for internal tracking
50
+ // @ts-ignore Internal field used by Lexical
51
+ element.__lexicalEditor = editor;
52
+ return () => {
53
+ // Cleans up the reference when the component is unmounted
54
+ // @ts-ignore Internal field used by Lexical
55
+ element.__lexicalEditor = null;
56
+ };
57
+ }
58
+ }, [editor, treeElementRef]);
59
+
60
+ /**
61
+ * Handles toggling the readonly state of the editor.
62
+ *
63
+ * @param {boolean} isReadonly - Whether the editor should be set to readonly.
64
+ */
65
+ const handleEditorReadOnly = isReadonly => {
66
+ const rootElement = editor.getRootElement();
67
+ if (rootElement == null) {
68
+ return;
69
+ }
70
+ rootElement.contentEditable = isReadonly ? 'false' : 'true';
71
+ };
72
+ return /*#__PURE__*/jsx(TreeView$1, {
73
+ treeTypeButtonClassName: treeTypeButtonClassName,
74
+ timeTravelButtonClassName: timeTravelButtonClassName,
75
+ timeTravelPanelSliderClassName: timeTravelPanelSliderClassName,
76
+ timeTravelPanelButtonClassName: timeTravelPanelButtonClassName,
77
+ viewClassName: viewClassName,
78
+ timeTravelPanelClassName: timeTravelPanelClassName,
79
+ setEditorReadOnly: handleEditorReadOnly,
80
+ editorState: editorCurrentState,
81
+ setEditorState: state => editor.setEditorState(state),
82
+ generateContent: async function (exportDOM) {
83
+ // Generates the content for the tree view, allowing customization with exportDOM and customPrintNode
84
+ return generateContent(editor, commandsLog, exportDOM, customPrintNode);
85
+ },
86
+ ref: treeElementRef,
87
+ commandsLog: commandsLog
88
+ });
89
+ }
90
+
91
+ export { TreeView };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ 'use strict'
10
+ const LexicalTreeView = process.env.NODE_ENV !== 'production' ? require('./LexicalTreeView.dev.js') : require('./LexicalTreeView.prod.js');
11
+ module.exports = LexicalTreeView;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict
8
+ */
9
+
10
+ import type {CustomPrintNodeFn} from '@ekz/lexical-devtools-core';
11
+ import type {LexicalEditor} from '@ekz/lexical';
12
+
13
+ declare export function TreeView(props: {
14
+ timeTravelPanelClassName: string,
15
+ timeTravelPanelSliderClassName: string,
16
+ timeTravelPanelButtonClassName: string,
17
+ timeTravelButtonClassName: string,
18
+ viewClassName: string,
19
+ editor: LexicalEditor,
20
+ customPrintNode?: CustomPrintNodeFn,
21
+ }): React.Node;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import * as modDev from './LexicalTreeView.dev.mjs';
10
+ import * as modProd from './LexicalTreeView.prod.mjs';
11
+ const mod = process.env.NODE_ENV !== 'production' ? modDev : modProd;
12
+ export const TreeView = mod.TreeView;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ const mod = await (process.env.NODE_ENV !== 'production' ? import('./LexicalTreeView.dev.mjs') : import('./LexicalTreeView.prod.mjs'));
10
+ export const TreeView = mod.TreeView;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ "use strict";var e=require("@ekz/lexical-devtools-core"),t=require("@ekz/lexical-utils"),a=require("react"),r=require("react/jsx-runtime");function l(e){var t=Object.create(null);if(e)for(var a in e)t[a]=e[a];return t.default=e,t}var s=l(a);exports.TreeView=function({treeTypeButtonClassName:l,timeTravelButtonClassName:i,timeTravelPanelSliderClassName:n,timeTravelPanelButtonClassName:o,timeTravelPanelClassName:u,viewClassName:m,editor:c,customPrintNode:d}){const v=s.createRef(),[C,f]=a.useState(c.getEditorState()),N=e.useLexicalCommandsLog(c);return a.useEffect(()=>t.mergeRegister(c.registerUpdateListener(({editorState:e})=>{f(e)}),c.registerEditableListener(()=>{f(c.getEditorState())})),[c]),a.useEffect(()=>{const e=v.current;if(null!==e)return e.__lexicalEditor=c,()=>{e.__lexicalEditor=null}},[c,v]),r.jsx(e.TreeView,{treeTypeButtonClassName:l,timeTravelButtonClassName:i,timeTravelPanelSliderClassName:n,timeTravelPanelButtonClassName:o,viewClassName:m,timeTravelPanelClassName:u,setEditorReadOnly:e=>{const t=c.getRootElement();null!=t&&(t.contentEditable=e?"false":"true")},editorState:C,setEditorState:e=>c.setEditorState(e),generateContent:async function(t){return e.generateContent(c,N,t,d)},ref:v,commandsLog:N})};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import{useLexicalCommandsLog as e,TreeView as t,generateContent as a}from"@ekz/lexical-devtools-core";import{mergeRegister as r}from"@ekz/lexical-utils";import*as l from"react";import{useState as i,useEffect as o}from"react";import{jsx as s}from"react/jsx-runtime";function n({treeTypeButtonClassName:n,timeTravelButtonClassName:m,timeTravelPanelSliderClassName:c,timeTravelPanelButtonClassName:d,timeTravelPanelClassName:u,viewClassName:C,editor:N,customPrintNode:f}){const v=l.createRef(),[T,E]=i(N.getEditorState()),p=e(N);o(()=>r(N.registerUpdateListener(({editorState:e})=>{E(e)}),N.registerEditableListener(()=>{E(N.getEditorState())})),[N]),o(()=>{const e=v.current;if(null!==e)return e.__lexicalEditor=N,()=>{e.__lexicalEditor=null}},[N,v]);return s(t,{treeTypeButtonClassName:n,timeTravelButtonClassName:m,timeTravelPanelSliderClassName:c,timeTravelPanelButtonClassName:d,viewClassName:C,timeTravelPanelClassName:u,setEditorReadOnly:e=>{const t=N.getRootElement();null!=t&&(t.contentEditable=e?"false":"true")},editorState:T,setEditorState:e=>N.setEditorState(e),generateContent:async function(e){return a(N,p,e,f)},ref:v,commandsLog:p})}export{n as TreeView};