@depup/lexical__react 0.41.0-depup.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 (471) hide show
  1. package/ExtensionComponent.d.ts +42 -0
  2. package/LICENSE +21 -0
  3. package/LexicalAutoEmbedPlugin.d.ts +39 -0
  4. package/LexicalAutoEmbedPlugin.dev.js +146 -0
  5. package/LexicalAutoEmbedPlugin.dev.mjs +141 -0
  6. package/LexicalAutoEmbedPlugin.js +11 -0
  7. package/LexicalAutoEmbedPlugin.js.flow +64 -0
  8. package/LexicalAutoEmbedPlugin.mjs +15 -0
  9. package/LexicalAutoEmbedPlugin.node.mjs +13 -0
  10. package/LexicalAutoEmbedPlugin.prod.js +9 -0
  11. package/LexicalAutoEmbedPlugin.prod.mjs +9 -0
  12. package/LexicalAutoFocusPlugin.d.ts +12 -0
  13. package/LexicalAutoFocusPlugin.dev.js +47 -0
  14. package/LexicalAutoFocusPlugin.dev.mjs +45 -0
  15. package/LexicalAutoFocusPlugin.js +11 -0
  16. package/LexicalAutoFocusPlugin.js.flow +14 -0
  17. package/LexicalAutoFocusPlugin.mjs +12 -0
  18. package/LexicalAutoFocusPlugin.node.mjs +10 -0
  19. package/LexicalAutoFocusPlugin.prod.js +9 -0
  20. package/LexicalAutoFocusPlugin.prod.mjs +9 -0
  21. package/LexicalAutoLinkPlugin.d.ts +16 -0
  22. package/LexicalAutoLinkPlugin.dev.js +56 -0
  23. package/LexicalAutoLinkPlugin.dev.mjs +54 -0
  24. package/LexicalAutoLinkPlugin.js +11 -0
  25. package/LexicalAutoLinkPlugin.js.flow +18 -0
  26. package/LexicalAutoLinkPlugin.mjs +13 -0
  27. package/LexicalAutoLinkPlugin.node.mjs +11 -0
  28. package/LexicalAutoLinkPlugin.prod.js +9 -0
  29. package/LexicalAutoLinkPlugin.prod.mjs +9 -0
  30. package/LexicalBlockWithAlignableContents.d.ts +21 -0
  31. package/LexicalBlockWithAlignableContents.dev.js +81 -0
  32. package/LexicalBlockWithAlignableContents.dev.mjs +79 -0
  33. package/LexicalBlockWithAlignableContents.js +11 -0
  34. package/LexicalBlockWithAlignableContents.js.flow +28 -0
  35. package/LexicalBlockWithAlignableContents.mjs +12 -0
  36. package/LexicalBlockWithAlignableContents.node.mjs +10 -0
  37. package/LexicalBlockWithAlignableContents.prod.js +9 -0
  38. package/LexicalBlockWithAlignableContents.prod.mjs +9 -0
  39. package/LexicalCharacterLimitPlugin.d.ts +15 -0
  40. package/LexicalCharacterLimitPlugin.dev.js +292 -0
  41. package/LexicalCharacterLimitPlugin.dev.mjs +290 -0
  42. package/LexicalCharacterLimitPlugin.js +11 -0
  43. package/LexicalCharacterLimitPlugin.js.flow +12 -0
  44. package/LexicalCharacterLimitPlugin.mjs +12 -0
  45. package/LexicalCharacterLimitPlugin.node.mjs +10 -0
  46. package/LexicalCharacterLimitPlugin.prod.js +9 -0
  47. package/LexicalCharacterLimitPlugin.prod.mjs +9 -0
  48. package/LexicalCheckListPlugin.d.ts +10 -0
  49. package/LexicalCheckListPlugin.dev.js +35 -0
  50. package/LexicalCheckListPlugin.dev.mjs +33 -0
  51. package/LexicalCheckListPlugin.js +11 -0
  52. package/LexicalCheckListPlugin.js.flow +12 -0
  53. package/LexicalCheckListPlugin.mjs +12 -0
  54. package/LexicalCheckListPlugin.node.mjs +10 -0
  55. package/LexicalCheckListPlugin.prod.js +9 -0
  56. package/LexicalCheckListPlugin.prod.mjs +9 -0
  57. package/LexicalClearEditorPlugin.d.ts +13 -0
  58. package/LexicalClearEditorPlugin.dev.js +55 -0
  59. package/LexicalClearEditorPlugin.dev.mjs +53 -0
  60. package/LexicalClearEditorPlugin.js +11 -0
  61. package/LexicalClearEditorPlugin.js.flow +14 -0
  62. package/LexicalClearEditorPlugin.mjs +12 -0
  63. package/LexicalClearEditorPlugin.node.mjs +10 -0
  64. package/LexicalClearEditorPlugin.prod.js +9 -0
  65. package/LexicalClearEditorPlugin.prod.mjs +9 -0
  66. package/LexicalClickableLinkPlugin.d.ts +11 -0
  67. package/LexicalClickableLinkPlugin.dev.js +38 -0
  68. package/LexicalClickableLinkPlugin.dev.mjs +36 -0
  69. package/LexicalClickableLinkPlugin.js +11 -0
  70. package/LexicalClickableLinkPlugin.js.flow +12 -0
  71. package/LexicalClickableLinkPlugin.mjs +12 -0
  72. package/LexicalClickableLinkPlugin.node.mjs +10 -0
  73. package/LexicalClickableLinkPlugin.prod.js +9 -0
  74. package/LexicalClickableLinkPlugin.prod.mjs +9 -0
  75. package/LexicalCollaborationContext.d.ts +19 -0
  76. package/LexicalCollaborationContext.dev.js +69 -0
  77. package/LexicalCollaborationContext.dev.mjs +65 -0
  78. package/LexicalCollaborationContext.js +11 -0
  79. package/LexicalCollaborationContext.js.flow +22 -0
  80. package/LexicalCollaborationContext.mjs +14 -0
  81. package/LexicalCollaborationContext.node.mjs +12 -0
  82. package/LexicalCollaborationContext.prod.js +9 -0
  83. package/LexicalCollaborationContext.prod.mjs +9 -0
  84. package/LexicalCollaborationPlugin.d.ts +39 -0
  85. package/LexicalCollaborationPlugin.dev.js +584 -0
  86. package/LexicalCollaborationPlugin.dev.mjs +569 -0
  87. package/LexicalCollaborationPlugin.js +11 -0
  88. package/LexicalCollaborationPlugin.js.flow +50 -0
  89. package/LexicalCollaborationPlugin.mjs +13 -0
  90. package/LexicalCollaborationPlugin.node.mjs +11 -0
  91. package/LexicalCollaborationPlugin.prod.js +9 -0
  92. package/LexicalCollaborationPlugin.prod.mjs +9 -0
  93. package/LexicalComposer.d.ts +25 -0
  94. package/LexicalComposer.dev.js +134 -0
  95. package/LexicalComposer.dev.mjs +132 -0
  96. package/LexicalComposer.js +11 -0
  97. package/LexicalComposer.js.flow +40 -0
  98. package/LexicalComposer.mjs +12 -0
  99. package/LexicalComposer.node.mjs +10 -0
  100. package/LexicalComposer.prod.js +9 -0
  101. package/LexicalComposer.prod.mjs +9 -0
  102. package/LexicalComposerContext.d.ts +18 -0
  103. package/LexicalComposerContext.dev.js +55 -0
  104. package/LexicalComposerContext.dev.mjs +51 -0
  105. package/LexicalComposerContext.js +11 -0
  106. package/LexicalComposerContext.js.flow +27 -0
  107. package/LexicalComposerContext.mjs +14 -0
  108. package/LexicalComposerContext.node.mjs +12 -0
  109. package/LexicalComposerContext.prod.js +9 -0
  110. package/LexicalComposerContext.prod.mjs +9 -0
  111. package/LexicalContentEditable.d.ts +26 -0
  112. package/LexicalContentEditable.dev.js +242 -0
  113. package/LexicalContentEditable.dev.mjs +239 -0
  114. package/LexicalContentEditable.js +11 -0
  115. package/LexicalContentEditable.js.flow +80 -0
  116. package/LexicalContentEditable.mjs +13 -0
  117. package/LexicalContentEditable.node.mjs +11 -0
  118. package/LexicalContentEditable.prod.js +9 -0
  119. package/LexicalContentEditable.prod.mjs +9 -0
  120. package/LexicalContextMenuPlugin.d.ts +42 -0
  121. package/LexicalContextMenuPlugin.dev.js +526 -0
  122. package/LexicalContextMenuPlugin.dev.mjs +511 -0
  123. package/LexicalContextMenuPlugin.js +11 -0
  124. package/LexicalContextMenuPlugin.js.flow +13 -0
  125. package/LexicalContextMenuPlugin.mjs +13 -0
  126. package/LexicalContextMenuPlugin.node.mjs +11 -0
  127. package/LexicalContextMenuPlugin.prod.js +9 -0
  128. package/LexicalContextMenuPlugin.prod.mjs +9 -0
  129. package/LexicalDecoratorBlockNode.d.ts +25 -0
  130. package/LexicalDecoratorBlockNode.dev.js +59 -0
  131. package/LexicalDecoratorBlockNode.dev.mjs +56 -0
  132. package/LexicalDecoratorBlockNode.js +11 -0
  133. package/LexicalDecoratorBlockNode.js.flow +35 -0
  134. package/LexicalDecoratorBlockNode.mjs +13 -0
  135. package/LexicalDecoratorBlockNode.node.mjs +11 -0
  136. package/LexicalDecoratorBlockNode.prod.js +9 -0
  137. package/LexicalDecoratorBlockNode.prod.mjs +9 -0
  138. package/LexicalDraggableBlockPlugin.d.ts +18 -0
  139. package/LexicalDraggableBlockPlugin.dev.js +655 -0
  140. package/LexicalDraggableBlockPlugin.dev.mjs +653 -0
  141. package/LexicalDraggableBlockPlugin.js +11 -0
  142. package/LexicalDraggableBlockPlugin.js.flow +24 -0
  143. package/LexicalDraggableBlockPlugin.mjs +12 -0
  144. package/LexicalDraggableBlockPlugin.node.mjs +10 -0
  145. package/LexicalDraggableBlockPlugin.prod.js +9 -0
  146. package/LexicalDraggableBlockPlugin.prod.mjs +9 -0
  147. package/LexicalEditorRefPlugin.d.ts +20 -0
  148. package/LexicalEditorRefPlugin.dev.js +58 -0
  149. package/LexicalEditorRefPlugin.dev.mjs +43 -0
  150. package/LexicalEditorRefPlugin.js +11 -0
  151. package/LexicalEditorRefPlugin.js.flow +19 -0
  152. package/LexicalEditorRefPlugin.mjs +12 -0
  153. package/LexicalEditorRefPlugin.node.mjs +10 -0
  154. package/LexicalEditorRefPlugin.prod.js +9 -0
  155. package/LexicalEditorRefPlugin.prod.mjs +9 -0
  156. package/LexicalErrorBoundary.d.ts +13 -0
  157. package/LexicalErrorBoundary.dev.js +40 -0
  158. package/LexicalErrorBoundary.dev.mjs +38 -0
  159. package/LexicalErrorBoundary.js +11 -0
  160. package/LexicalErrorBoundary.js.flow +17 -0
  161. package/LexicalErrorBoundary.mjs +12 -0
  162. package/LexicalErrorBoundary.node.mjs +10 -0
  163. package/LexicalErrorBoundary.prod.js +9 -0
  164. package/LexicalErrorBoundary.prod.mjs +9 -0
  165. package/LexicalExtensionComponent.dev.js +53 -0
  166. package/LexicalExtensionComponent.dev.mjs +51 -0
  167. package/LexicalExtensionComponent.js +11 -0
  168. package/LexicalExtensionComponent.js.flow +12 -0
  169. package/LexicalExtensionComponent.mjs +12 -0
  170. package/LexicalExtensionComponent.node.mjs +10 -0
  171. package/LexicalExtensionComponent.prod.js +9 -0
  172. package/LexicalExtensionComponent.prod.mjs +9 -0
  173. package/LexicalExtensionComposer.d.ts +69 -0
  174. package/LexicalExtensionComposer.dev.js +105 -0
  175. package/LexicalExtensionComposer.dev.mjs +103 -0
  176. package/LexicalExtensionComposer.js +11 -0
  177. package/LexicalExtensionComposer.js.flow +20 -0
  178. package/LexicalExtensionComposer.mjs +12 -0
  179. package/LexicalExtensionComposer.node.mjs +10 -0
  180. package/LexicalExtensionComposer.prod.js +9 -0
  181. package/LexicalExtensionComposer.prod.mjs +9 -0
  182. package/LexicalHashtagPlugin.d.ts +9 -0
  183. package/LexicalHashtagPlugin.dev.js +34 -0
  184. package/LexicalHashtagPlugin.dev.mjs +32 -0
  185. package/LexicalHashtagPlugin.js +11 -0
  186. package/LexicalHashtagPlugin.js.flow +10 -0
  187. package/LexicalHashtagPlugin.mjs +12 -0
  188. package/LexicalHashtagPlugin.node.mjs +10 -0
  189. package/LexicalHashtagPlugin.prod.js +9 -0
  190. package/LexicalHashtagPlugin.prod.mjs +9 -0
  191. package/LexicalHistoryPlugin.d.ts +14 -0
  192. package/LexicalHistoryPlugin.dev.js +48 -0
  193. package/LexicalHistoryPlugin.dev.mjs +46 -0
  194. package/LexicalHistoryPlugin.js +11 -0
  195. package/LexicalHistoryPlugin.js.flow +28 -0
  196. package/LexicalHistoryPlugin.mjs +13 -0
  197. package/LexicalHistoryPlugin.node.mjs +11 -0
  198. package/LexicalHistoryPlugin.prod.js +9 -0
  199. package/LexicalHistoryPlugin.prod.mjs +9 -0
  200. package/LexicalHorizontalRuleNode.d.ts +25 -0
  201. package/LexicalHorizontalRuleNode.dev.js +102 -0
  202. package/LexicalHorizontalRuleNode.dev.mjs +98 -0
  203. package/LexicalHorizontalRuleNode.js +11 -0
  204. package/LexicalHorizontalRuleNode.js.flow +27 -0
  205. package/LexicalHorizontalRuleNode.mjs +15 -0
  206. package/LexicalHorizontalRuleNode.node.mjs +13 -0
  207. package/LexicalHorizontalRuleNode.prod.js +9 -0
  208. package/LexicalHorizontalRuleNode.prod.mjs +9 -0
  209. package/LexicalHorizontalRulePlugin.d.ts +8 -0
  210. package/LexicalHorizontalRulePlugin.dev.js +44 -0
  211. package/LexicalHorizontalRulePlugin.dev.mjs +42 -0
  212. package/LexicalHorizontalRulePlugin.js +11 -0
  213. package/LexicalHorizontalRulePlugin.js.flow +12 -0
  214. package/LexicalHorizontalRulePlugin.mjs +12 -0
  215. package/LexicalHorizontalRulePlugin.node.mjs +10 -0
  216. package/LexicalHorizontalRulePlugin.prod.js +9 -0
  217. package/LexicalHorizontalRulePlugin.prod.mjs +9 -0
  218. package/LexicalLinkPlugin.d.ts +14 -0
  219. package/LexicalLinkPlugin.dev.js +43 -0
  220. package/LexicalLinkPlugin.dev.mjs +41 -0
  221. package/LexicalLinkPlugin.js +11 -0
  222. package/LexicalLinkPlugin.js.flow +21 -0
  223. package/LexicalLinkPlugin.mjs +12 -0
  224. package/LexicalLinkPlugin.node.mjs +10 -0
  225. package/LexicalLinkPlugin.prod.js +9 -0
  226. package/LexicalLinkPlugin.prod.mjs +9 -0
  227. package/LexicalListPlugin.d.ts +20 -0
  228. package/LexicalListPlugin.dev.js +57 -0
  229. package/LexicalListPlugin.dev.mjs +55 -0
  230. package/LexicalListPlugin.js +11 -0
  231. package/LexicalListPlugin.js.flow +15 -0
  232. package/LexicalListPlugin.mjs +12 -0
  233. package/LexicalListPlugin.node.mjs +10 -0
  234. package/LexicalListPlugin.prod.js +9 -0
  235. package/LexicalListPlugin.prod.mjs +9 -0
  236. package/LexicalMarkdownShortcutPlugin.d.ts +12 -0
  237. package/LexicalMarkdownShortcutPlugin.dev.js +55 -0
  238. package/LexicalMarkdownShortcutPlugin.dev.mjs +52 -0
  239. package/LexicalMarkdownShortcutPlugin.js +11 -0
  240. package/LexicalMarkdownShortcutPlugin.js.flow +16 -0
  241. package/LexicalMarkdownShortcutPlugin.mjs +13 -0
  242. package/LexicalMarkdownShortcutPlugin.node.mjs +11 -0
  243. package/LexicalMarkdownShortcutPlugin.prod.js +9 -0
  244. package/LexicalMarkdownShortcutPlugin.prod.mjs +9 -0
  245. package/LexicalNestedComposer.d.ts +57 -0
  246. package/LexicalNestedComposer.dev.js +161 -0
  247. package/LexicalNestedComposer.dev.mjs +159 -0
  248. package/LexicalNestedComposer.js +11 -0
  249. package/LexicalNestedComposer.js.flow +26 -0
  250. package/LexicalNestedComposer.mjs +12 -0
  251. package/LexicalNestedComposer.node.mjs +10 -0
  252. package/LexicalNestedComposer.prod.js +9 -0
  253. package/LexicalNestedComposer.prod.mjs +9 -0
  254. package/LexicalNodeContextMenuPlugin.d.ts +46 -0
  255. package/LexicalNodeContextMenuPlugin.dev.js +257 -0
  256. package/LexicalNodeContextMenuPlugin.dev.mjs +253 -0
  257. package/LexicalNodeContextMenuPlugin.js +11 -0
  258. package/LexicalNodeContextMenuPlugin.js.flow +12 -0
  259. package/LexicalNodeContextMenuPlugin.mjs +14 -0
  260. package/LexicalNodeContextMenuPlugin.node.mjs +12 -0
  261. package/LexicalNodeContextMenuPlugin.prod.js +9 -0
  262. package/LexicalNodeContextMenuPlugin.prod.mjs +9 -0
  263. package/LexicalNodeEventPlugin.d.ts +13 -0
  264. package/LexicalNodeEventPlugin.dev.js +61 -0
  265. package/LexicalNodeEventPlugin.dev.mjs +59 -0
  266. package/LexicalNodeEventPlugin.js +11 -0
  267. package/LexicalNodeEventPlugin.js.flow +20 -0
  268. package/LexicalNodeEventPlugin.mjs +12 -0
  269. package/LexicalNodeEventPlugin.node.mjs +10 -0
  270. package/LexicalNodeEventPlugin.prod.js +9 -0
  271. package/LexicalNodeEventPlugin.prod.mjs +9 -0
  272. package/LexicalNodeMenuPlugin.d.ts +24 -0
  273. package/LexicalNodeMenuPlugin.dev.js +527 -0
  274. package/LexicalNodeMenuPlugin.dev.mjs +524 -0
  275. package/LexicalNodeMenuPlugin.js +11 -0
  276. package/LexicalNodeMenuPlugin.js.flow +64 -0
  277. package/LexicalNodeMenuPlugin.mjs +13 -0
  278. package/LexicalNodeMenuPlugin.node.mjs +11 -0
  279. package/LexicalNodeMenuPlugin.prod.js +9 -0
  280. package/LexicalNodeMenuPlugin.prod.mjs +9 -0
  281. package/LexicalOnChangePlugin.d.ts +13 -0
  282. package/LexicalOnChangePlugin.dev.js +72 -0
  283. package/LexicalOnChangePlugin.dev.mjs +70 -0
  284. package/LexicalOnChangePlugin.js +11 -0
  285. package/LexicalOnChangePlugin.js.flow +16 -0
  286. package/LexicalOnChangePlugin.mjs +12 -0
  287. package/LexicalOnChangePlugin.node.mjs +10 -0
  288. package/LexicalOnChangePlugin.prod.js +9 -0
  289. package/LexicalOnChangePlugin.prod.mjs +9 -0
  290. package/LexicalPlainTextPlugin.d.ts +14 -0
  291. package/LexicalPlainTextPlugin.dev.js +235 -0
  292. package/LexicalPlainTextPlugin.dev.mjs +233 -0
  293. package/LexicalPlainTextPlugin.js +11 -0
  294. package/LexicalPlainTextPlugin.js.flow +29 -0
  295. package/LexicalPlainTextPlugin.mjs +12 -0
  296. package/LexicalPlainTextPlugin.node.mjs +10 -0
  297. package/LexicalPlainTextPlugin.prod.js +9 -0
  298. package/LexicalPlainTextPlugin.prod.mjs +9 -0
  299. package/LexicalReactExtension.dev.js +187 -0
  300. package/LexicalReactExtension.dev.mjs +184 -0
  301. package/LexicalReactExtension.js +11 -0
  302. package/LexicalReactExtension.js.flow +68 -0
  303. package/LexicalReactExtension.mjs +13 -0
  304. package/LexicalReactExtension.node.mjs +11 -0
  305. package/LexicalReactExtension.prod.js +9 -0
  306. package/LexicalReactExtension.prod.mjs +9 -0
  307. package/LexicalReactPluginHostExtension.dev.js +189 -0
  308. package/LexicalReactPluginHostExtension.dev.mjs +181 -0
  309. package/LexicalReactPluginHostExtension.js +11 -0
  310. package/LexicalReactPluginHostExtension.js.flow +84 -0
  311. package/LexicalReactPluginHostExtension.mjs +18 -0
  312. package/LexicalReactPluginHostExtension.node.mjs +16 -0
  313. package/LexicalReactPluginHostExtension.prod.js +9 -0
  314. package/LexicalReactPluginHostExtension.prod.mjs +9 -0
  315. package/LexicalReactProviderExtension.dev.js +33 -0
  316. package/LexicalReactProviderExtension.dev.mjs +31 -0
  317. package/LexicalReactProviderExtension.js +11 -0
  318. package/LexicalReactProviderExtension.js.flow +12 -0
  319. package/LexicalReactProviderExtension.mjs +12 -0
  320. package/LexicalReactProviderExtension.node.mjs +10 -0
  321. package/LexicalReactProviderExtension.prod.js +9 -0
  322. package/LexicalReactProviderExtension.prod.mjs +9 -0
  323. package/LexicalRichTextPlugin.d.ts +14 -0
  324. package/LexicalRichTextPlugin.dev.js +235 -0
  325. package/LexicalRichTextPlugin.dev.mjs +233 -0
  326. package/LexicalRichTextPlugin.js +11 -0
  327. package/LexicalRichTextPlugin.js.flow +29 -0
  328. package/LexicalRichTextPlugin.mjs +12 -0
  329. package/LexicalRichTextPlugin.node.mjs +10 -0
  330. package/LexicalRichTextPlugin.prod.js +9 -0
  331. package/LexicalRichTextPlugin.prod.mjs +9 -0
  332. package/LexicalSelectionAlwaysOnDisplay.d.ts +12 -0
  333. package/LexicalSelectionAlwaysOnDisplay.dev.js +33 -0
  334. package/LexicalSelectionAlwaysOnDisplay.dev.mjs +31 -0
  335. package/LexicalSelectionAlwaysOnDisplay.js +11 -0
  336. package/LexicalSelectionAlwaysOnDisplay.js.flow +15 -0
  337. package/LexicalSelectionAlwaysOnDisplay.mjs +12 -0
  338. package/LexicalSelectionAlwaysOnDisplay.node.mjs +10 -0
  339. package/LexicalSelectionAlwaysOnDisplay.prod.js +9 -0
  340. package/LexicalSelectionAlwaysOnDisplay.prod.mjs +9 -0
  341. package/LexicalTabIndentationPlugin.d.ts +22 -0
  342. package/LexicalTabIndentationPlugin.dev.js +41 -0
  343. package/LexicalTabIndentationPlugin.dev.mjs +39 -0
  344. package/LexicalTabIndentationPlugin.js +11 -0
  345. package/LexicalTabIndentationPlugin.js.flow +21 -0
  346. package/LexicalTabIndentationPlugin.mjs +13 -0
  347. package/LexicalTabIndentationPlugin.node.mjs +11 -0
  348. package/LexicalTabIndentationPlugin.prod.js +9 -0
  349. package/LexicalTabIndentationPlugin.prod.mjs +9 -0
  350. package/LexicalTableOfContentsPlugin.d.ts +20 -0
  351. package/LexicalTableOfContentsPlugin.dev.js +209 -0
  352. package/LexicalTableOfContentsPlugin.dev.mjs +207 -0
  353. package/LexicalTableOfContentsPlugin.js +11 -0
  354. package/LexicalTableOfContentsPlugin.js.flow +18 -0
  355. package/LexicalTableOfContentsPlugin.mjs +12 -0
  356. package/LexicalTableOfContentsPlugin.node.mjs +10 -0
  357. package/LexicalTableOfContentsPlugin.prod.js +9 -0
  358. package/LexicalTableOfContentsPlugin.prod.mjs +9 -0
  359. package/LexicalTablePlugin.d.ts +46 -0
  360. package/LexicalTablePlugin.dev.js +84 -0
  361. package/LexicalTablePlugin.dev.mjs +82 -0
  362. package/LexicalTablePlugin.js +11 -0
  363. package/LexicalTablePlugin.js.flow +15 -0
  364. package/LexicalTablePlugin.mjs +12 -0
  365. package/LexicalTablePlugin.node.mjs +10 -0
  366. package/LexicalTablePlugin.prod.js +9 -0
  367. package/LexicalTablePlugin.prod.mjs +9 -0
  368. package/LexicalTreeView.d.ts +37 -0
  369. package/LexicalTreeView.dev.js +105 -0
  370. package/LexicalTreeView.dev.mjs +91 -0
  371. package/LexicalTreeView.js +11 -0
  372. package/LexicalTreeView.js.flow +21 -0
  373. package/LexicalTreeView.mjs +12 -0
  374. package/LexicalTreeView.node.mjs +10 -0
  375. package/LexicalTreeView.prod.js +9 -0
  376. package/LexicalTreeView.prod.mjs +9 -0
  377. package/LexicalTreeViewExtension.dev.js +57 -0
  378. package/LexicalTreeViewExtension.dev.mjs +54 -0
  379. package/LexicalTreeViewExtension.js +11 -0
  380. package/LexicalTreeViewExtension.js.flow +12 -0
  381. package/LexicalTreeViewExtension.mjs +13 -0
  382. package/LexicalTreeViewExtension.node.mjs +11 -0
  383. package/LexicalTreeViewExtension.prod.js +9 -0
  384. package/LexicalTreeViewExtension.prod.mjs +9 -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 +32 -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/changes.json +14 -0
  400. package/package.json +1572 -0
  401. package/shared/LegacyDecorators.d.ts +23 -0
  402. package/shared/LexicalContentEditableElement.d.ts +43 -0
  403. package/shared/LexicalMenu.d.ts +52 -0
  404. package/shared/buildEditorComponent.d.ts +11 -0
  405. package/shared/mergeRefs.d.ts +9 -0
  406. package/shared/point.d.ts +21 -0
  407. package/shared/rect.d.ts +45 -0
  408. package/shared/types.d.ts +89 -0
  409. package/shared/useCanShowPlaceholder.d.ts +9 -0
  410. package/shared/useCharacterLimit.d.ts +16 -0
  411. package/shared/useDecorators.d.ts +17 -0
  412. package/shared/useHistory.d.ts +10 -0
  413. package/shared/useList.d.ts +9 -0
  414. package/shared/usePlainTextSetup.d.ts +9 -0
  415. package/shared/useReactDecorators.d.ts +12 -0
  416. package/shared/useRichTextSetup.d.ts +9 -0
  417. package/shared/useYjsCollaboration.d.ts +25 -0
  418. package/useExtensionComponent.d.ts +10 -0
  419. package/useLexicalEditable.d.ts +16 -0
  420. package/useLexicalEditable.dev.js +102 -0
  421. package/useLexicalEditable.dev.mjs +100 -0
  422. package/useLexicalEditable.js +11 -0
  423. package/useLexicalEditable.js.flow +12 -0
  424. package/useLexicalEditable.mjs +12 -0
  425. package/useLexicalEditable.node.mjs +10 -0
  426. package/useLexicalEditable.prod.js +9 -0
  427. package/useLexicalEditable.prod.mjs +9 -0
  428. package/useLexicalExtensionComponent.dev.js +37 -0
  429. package/useLexicalExtensionComponent.dev.mjs +34 -0
  430. package/useLexicalExtensionComponent.js +11 -0
  431. package/useLexicalExtensionComponent.js.flow +12 -0
  432. package/useLexicalExtensionComponent.mjs +13 -0
  433. package/useLexicalExtensionComponent.node.mjs +11 -0
  434. package/useLexicalExtensionComponent.prod.js +9 -0
  435. package/useLexicalExtensionComponent.prod.mjs +9 -0
  436. package/useLexicalIsTextContentEmpty.d.ts +9 -0
  437. package/useLexicalIsTextContentEmpty.dev.js +60 -0
  438. package/useLexicalIsTextContentEmpty.dev.mjs +58 -0
  439. package/useLexicalIsTextContentEmpty.js +11 -0
  440. package/useLexicalIsTextContentEmpty.js.flow +15 -0
  441. package/useLexicalIsTextContentEmpty.mjs +12 -0
  442. package/useLexicalIsTextContentEmpty.node.mjs +10 -0
  443. package/useLexicalIsTextContentEmpty.prod.js +9 -0
  444. package/useLexicalIsTextContentEmpty.prod.mjs +9 -0
  445. package/useLexicalNodeSelection.d.ts +24 -0
  446. package/useLexicalNodeSelection.dev.js +102 -0
  447. package/useLexicalNodeSelection.dev.mjs +100 -0
  448. package/useLexicalNodeSelection.js +11 -0
  449. package/useLexicalNodeSelection.js.flow +14 -0
  450. package/useLexicalNodeSelection.mjs +12 -0
  451. package/useLexicalNodeSelection.node.mjs +10 -0
  452. package/useLexicalNodeSelection.prod.js +9 -0
  453. package/useLexicalNodeSelection.prod.mjs +9 -0
  454. package/useLexicalSubscription.d.ts +17 -0
  455. package/useLexicalSubscription.dev.js +73 -0
  456. package/useLexicalSubscription.dev.mjs +71 -0
  457. package/useLexicalSubscription.js +11 -0
  458. package/useLexicalSubscription.js.flow +19 -0
  459. package/useLexicalSubscription.mjs +12 -0
  460. package/useLexicalSubscription.node.mjs +10 -0
  461. package/useLexicalSubscription.prod.js +9 -0
  462. package/useLexicalSubscription.prod.mjs +9 -0
  463. package/useLexicalTextEntity.d.ts +10 -0
  464. package/useLexicalTextEntity.dev.js +31 -0
  465. package/useLexicalTextEntity.dev.mjs +29 -0
  466. package/useLexicalTextEntity.js +11 -0
  467. package/useLexicalTextEntity.js.flow +18 -0
  468. package/useLexicalTextEntity.mjs +12 -0
  469. package/useLexicalTextEntity.node.mjs +10 -0
  470. package/useLexicalTextEntity.prod.js +9 -0
  471. package/useLexicalTextEntity.prod.mjs +9 -0
@@ -0,0 +1,184 @@
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 { ContentEditable } from '@lexical/react/LexicalContentEditable';
10
+ import { LexicalErrorBoundary } from '@lexical/react/LexicalErrorBoundary';
11
+ import { ReactProviderExtension } from '@lexical/react/ReactProviderExtension';
12
+ import { defineExtension, declarePeerDependency, shallowMergeConfig } from 'lexical';
13
+ import { LexicalComposerContext } from '@lexical/react/LexicalComposerContext';
14
+ import { useMemo, useSyncExternalStore, Suspense } from 'react';
15
+ import { createPortal } from 'react-dom';
16
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
17
+
18
+ /**
19
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
20
+ *
21
+ * This source code is licensed under the MIT license found in the
22
+ * LICENSE file in the root directory of this source tree.
23
+ *
24
+ */
25
+
26
+ // Do not require this module directly! Use normal `invariant` calls.
27
+
28
+ function formatDevErrorMessage(message) {
29
+ throw new Error(message);
30
+ }
31
+
32
+ /**
33
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
34
+ *
35
+ * This source code is licensed under the MIT license found in the
36
+ * LICENSE file in the root directory of this source tree.
37
+ *
38
+ */
39
+
40
+ /** @internal */
41
+ function useReactDecorators(editor, ErrorBoundary) {
42
+ const [subscribe, getSnapshot] = useMemo(() => [cb => editor.registerDecoratorListener(cb), () => editor.getDecorators()], [editor]);
43
+ const decorators = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
44
+
45
+ // Return decorators defined as React Portals
46
+ return useMemo(() => {
47
+ const decoratedPortals = [];
48
+ for (const nodeKey in decorators) {
49
+ const element = editor.getElementByKey(nodeKey);
50
+ if (element !== null) {
51
+ const reactDecorator = /*#__PURE__*/jsx(ErrorBoundary, {
52
+ onError: e => {
53
+ editor._onError(e);
54
+ },
55
+ children: /*#__PURE__*/jsx(Suspense, {
56
+ fallback: null,
57
+ children: decorators[nodeKey]
58
+ })
59
+ });
60
+ decoratedPortals.push(/*#__PURE__*/createPortal(reactDecorator, element, nodeKey));
61
+ }
62
+ }
63
+ return decoratedPortals;
64
+ }, [ErrorBoundary, decorators, editor]);
65
+ }
66
+
67
+ /**
68
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
69
+ *
70
+ * This source code is licensed under the MIT license found in the
71
+ * LICENSE file in the root directory of this source tree.
72
+ *
73
+ */
74
+ function buildEditorComponent(config, context) {
75
+ const [editor] = context;
76
+ const rawConfigDecorators = config.decorators.map(El =>
77
+ // eslint-disable-next-line react/jsx-key -- wrapped later
78
+ typeof El === 'function' ? /*#__PURE__*/jsx(El, {
79
+ context: context
80
+ }) : El);
81
+ return function EditorComponent(props) {
82
+ const {
83
+ EditorChildrenComponent = config.EditorChildrenComponent,
84
+ ErrorBoundary = config.ErrorBoundary,
85
+ contentEditable = config.contentEditable,
86
+ children
87
+ } = props;
88
+ const decorators = useReactDecorators(editor, ErrorBoundary);
89
+ const configDecorators = useMemo(() => rawConfigDecorators.map((decorator, i) => /*#__PURE__*/jsx(ErrorBoundary, {
90
+ onError: e => {
91
+ editor._onError(e);
92
+ }
93
+ // eslint-disable-next-line react/no-array-index-key -- no natural key
94
+ ,
95
+ children: /*#__PURE__*/jsx(Suspense, {
96
+ fallback: null,
97
+ children: decorator
98
+ })
99
+ }, i)), [ErrorBoundary]);
100
+ return /*#__PURE__*/jsx(LexicalComposerContext.Provider, {
101
+ value: context,
102
+ children: /*#__PURE__*/jsxs(EditorChildrenComponent, {
103
+ context: context,
104
+ contentEditable: contentEditable,
105
+ children: [children, configDecorators, decorators]
106
+ })
107
+ });
108
+ };
109
+ }
110
+
111
+ /**
112
+ * @example
113
+ * The default EditorChildrenComponent implementation
114
+ * ```jsx
115
+ * return (
116
+ * <>
117
+ * {contentEditable}
118
+ * {children}
119
+ * </>
120
+ * );
121
+ * ```
122
+ */
123
+ function DefaultEditorChildrenComponent({
124
+ contentEditable,
125
+ children
126
+ }) {
127
+ return /*#__PURE__*/jsxs(Fragment, {
128
+ children: [contentEditable, children]
129
+ });
130
+ }
131
+ const initialConfig = {
132
+ EditorChildrenComponent: DefaultEditorChildrenComponent,
133
+ ErrorBoundary: LexicalErrorBoundary,
134
+ contentEditable: /*#__PURE__*/jsx(ContentEditable, {}),
135
+ decorators: []
136
+ };
137
+
138
+ /**
139
+ * An extension to use or configure React for use with Lexical. In an editor, you
140
+ * would typically use {@link LexicalExtensionComposer} (for React projects) or
141
+ * {@link ReactPluginHostExtension} (to use React Extensions and plug-ins in a non-React
142
+ * project).
143
+ *
144
+ * See {@link ReactConfig} for more detailed exextensionations of how to use
145
+ * the config for this Extension.
146
+ *
147
+ * For an Extension developer, you can defineConfig() override the extension with
148
+ * decorators to add JSX inside the editor context that is not
149
+ * location-dependent (e.g. floating UI that does not need to be mounted in
150
+ * some specific location, or effects that return null).
151
+ */
152
+ const ReactExtension = defineExtension({
153
+ build(editor, config, state) {
154
+ const providerPeer = state.getPeer(ReactProviderExtension.name);
155
+ if (!providerPeer) {
156
+ {
157
+ formatDevErrorMessage(`No ReactProviderExtension detected. You must use ReactPluginHostExtension or LexicalExtensionComposer to host React extensions. The following extensions depend on ReactExtension: ${[...state.getDirectDependentNames()].join(' ')}`);
158
+ }
159
+ }
160
+ const context = [editor, {
161
+ getTheme: () => editor._config.theme
162
+ }];
163
+ const Component = buildEditorComponent(config, context);
164
+ return {
165
+ Component,
166
+ context
167
+ };
168
+ },
169
+ config: initialConfig,
170
+ mergeConfig(a, b) {
171
+ const config = shallowMergeConfig(a, b);
172
+ if (b.decorators) {
173
+ config.decorators = b.decorators.length > 0 ? [...a.decorators, ...b.decorators] : a.decorators;
174
+ }
175
+ return config;
176
+ },
177
+ name: '@lexical/react/React',
178
+ peerDependencies: [
179
+ // We are not trying to avoid the import, just the direct dependency,
180
+ // so using the extension directly is fine.
181
+ declarePeerDependency(ReactProviderExtension.name)]
182
+ });
183
+
184
+ export { DefaultEditorChildrenComponent, ReactExtension };
@@ -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 LexicalReactExtension = process.env.NODE_ENV !== 'production' ? require('./LexicalReactExtension.dev.js') : require('./LexicalReactExtension.prod.js');
11
+ module.exports = LexicalReactExtension;
@@ -0,0 +1,68 @@
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
+ /**
11
+ * LexicalReactExtension
12
+ */
13
+
14
+ import type {LexicalExtension} from 'lexical';
15
+ import type {LexicalComposerContextWithEditor} from '@lexical/react/LexicalComposerContext';
16
+
17
+ export interface EditorChildrenComponentProps {
18
+ context: LexicalComposerContextWithEditor;
19
+ contentEditable: null | React.Node;
20
+ children?: React.Node;
21
+ }
22
+
23
+ export type EditorChildrenComponentType = (
24
+ props: EditorChildrenComponentProps,
25
+ ) => React.Node | null;
26
+
27
+ export interface DecoratorComponentProps {
28
+ context: LexicalComposerContextWithEditor;
29
+ }
30
+ export type DecoratorComponentType =
31
+ | React.Node
32
+ | ((props: DecoratorComponentProps) => React.Node | null);
33
+
34
+ export type EditorComponentProps = {
35
+ EditorChildrenComponent: EditorChildrenComponentType;
36
+ children?: React.Node;
37
+ contentEditable: React.Node | null;
38
+ ErrorBoundary: ErrorBoundaryType;
39
+ };
40
+
41
+ export type EditorComponentType = (
42
+ props: Partial<EditorComponentProps>,
43
+ ) => React.Node;
44
+
45
+ export type ReactConfig = {
46
+ contentEditable: React.Node | null;
47
+ ErrorBoundary: ErrorBoundaryType;
48
+ EditorChildrenComponent: EditorChildrenComponentType;
49
+ decorators: $ReadOnlyArray<DecoratorComponentType>;
50
+ };
51
+
52
+ export type ReactOutputs = {
53
+ Component: EditorComponentType;
54
+ context: LexicalComposerContextWithEditor;
55
+ };
56
+
57
+ export type ErrorBoundaryProps = {
58
+ children: React.Node;
59
+ onError: (error: Error) => void;
60
+ };
61
+
62
+ export type ErrorBoundaryType = React.ComponentType<ErrorBoundaryProps>;
63
+
64
+ declare export function DefaultEditorChildrenComponent(props: EditorChildrenComponentProps): React.Node;
65
+ declare export var ReactExtension: LexicalExtension<ReactConfig, "@lexical/react/React", {
66
+ Component: (props: Partial<EditorComponentProps>) => React.Node;
67
+ context: LexicalComposerContextWithEditor;
68
+ }, void>;
@@ -0,0 +1,13 @@
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 './LexicalReactExtension.dev.mjs';
10
+ import * as modProd from './LexicalReactExtension.prod.mjs';
11
+ const mod = process.env.NODE_ENV !== 'production' ? modDev : modProd;
12
+ export const DefaultEditorChildrenComponent = mod.DefaultEditorChildrenComponent;
13
+ export const ReactExtension = mod.ReactExtension;
@@ -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
+ const mod = await (process.env.NODE_ENV !== 'production' ? import('./LexicalReactExtension.dev.mjs') : import('./LexicalReactExtension.prod.mjs'));
10
+ export const DefaultEditorChildrenComponent = mod.DefaultEditorChildrenComponent;
11
+ export const ReactExtension = mod.ReactExtension;
@@ -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("@lexical/react/LexicalContentEditable"),r=require("@lexical/react/LexicalErrorBoundary"),n=require("@lexical/react/ReactProviderExtension"),t=require("lexical"),o=require("@lexical/react/LexicalComposerContext"),i=require("react"),c=require("react-dom"),a=require("react/jsx-runtime");function s(e,r){const[n]=r,t=e.decorators.map(e=>"function"==typeof e?a.jsx(e,{context:r}):e);return function(s){const{EditorChildrenComponent:l=e.EditorChildrenComponent,ErrorBoundary:d=e.ErrorBoundary,contentEditable:u=e.contentEditable,children:x}=s,E=function(e,r){const[n,t]=i.useMemo(()=>[r=>e.registerDecoratorListener(r),()=>e.getDecorators()],[e]),o=i.useSyncExternalStore(n,t,t);return i.useMemo(()=>{const n=[];for(const t in o){const s=e.getElementByKey(t);if(null!==s){const l=a.jsx(r,{onError:r=>{e._onError(r)},children:a.jsx(i.Suspense,{fallback:null,children:o[t]})});n.push(c.createPortal(l,s,t))}}return n},[r,o,e])}(n,d),m=i.useMemo(()=>t.map((e,r)=>a.jsx(d,{onError:e=>{n._onError(e)},children:a.jsx(i.Suspense,{fallback:null,children:e})},r)),[d]);return a.jsx(o.LexicalComposerContext.Provider,{value:r,children:a.jsxs(l,{context:r,contentEditable:u,children:[x,m,E]})})}}function l({contentEditable:e,children:r}){return a.jsxs(a.Fragment,{children:[e,r]})}const d={EditorChildrenComponent:l,ErrorBoundary:r.LexicalErrorBoundary,contentEditable:a.jsx(e.ContentEditable,{}),decorators:[]},u=t.defineExtension({build(e,r,t){t.getPeer(n.ReactProviderExtension.name)||function(e,...r){const n=new URL("https://lexical.dev/docs/error"),t=new URLSearchParams;t.append("code",e);for(const e of r)t.append("v",e);throw n.search=t.toString(),Error(`Minified Lexical error #${e}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}(321,[...t.getDirectDependentNames()].join(" "));const o=[e,{getTheme:()=>e._config.theme}];return{Component:s(r,o),context:o}},config:d,mergeConfig(e,r){const n=t.shallowMergeConfig(e,r);return r.decorators&&(n.decorators=r.decorators.length>0?[...e.decorators,...r.decorators]:e.decorators),n},name:"@lexical/react/React",peerDependencies:[t.declarePeerDependency(n.ReactProviderExtension.name)]});exports.DefaultEditorChildrenComponent=l,exports.ReactExtension=u;
@@ -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{ContentEditable as r}from"@lexical/react/LexicalContentEditable";import{LexicalErrorBoundary as e}from"@lexical/react/LexicalErrorBoundary";import{ReactProviderExtension as o}from"@lexical/react/ReactProviderExtension";import{defineExtension as t,declarePeerDependency as n,shallowMergeConfig as c}from"lexical";import{LexicalComposerContext as i}from"@lexical/react/LexicalComposerContext";import{useMemo as a,useSyncExternalStore as l,Suspense as d}from"react";import{createPortal as s}from"react-dom";import{jsx as m,jsxs as f,Fragment as u}from"react/jsx-runtime";function p(r,e){const[o]=e,t=r.decorators.map(r=>"function"==typeof r?m(r,{context:e}):r);return function(n){const{EditorChildrenComponent:c=r.EditorChildrenComponent,ErrorBoundary:u=r.ErrorBoundary,contentEditable:p=r.contentEditable,children:h}=n,E=function(r,e){const[o,t]=a(()=>[e=>r.registerDecoratorListener(e),()=>r.getDecorators()],[r]),n=l(o,t,t);return a(()=>{const o=[];for(const t in n){const c=r.getElementByKey(t);if(null!==c){const i=m(e,{onError:e=>{r._onError(e)},children:m(d,{fallback:null,children:n[t]})});o.push(s(i,c,t))}}return o},[e,n,r])}(o,u),x=a(()=>t.map((r,e)=>m(u,{onError:r=>{o._onError(r)},children:m(d,{fallback:null,children:r})},e)),[u]);return m(i.Provider,{value:e,children:f(c,{context:e,contentEditable:p,children:[h,x,E]})})}}function h({contentEditable:r,children:e}){return f(u,{children:[r,e]})}const E={EditorChildrenComponent:h,ErrorBoundary:e,contentEditable:m(r,{}),decorators:[]},x=t({build(r,e,t){t.getPeer(o.name)||function(r,...e){const o=new URL("https://lexical.dev/docs/error"),t=new URLSearchParams;t.append("code",r);for(const r of e)t.append("v",r);throw o.search=t.toString(),Error(`Minified Lexical error #${r}; visit ${o.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}(321,[...t.getDirectDependentNames()].join(" "));const n=[r,{getTheme:()=>r._config.theme}];return{Component:p(e,n),context:n}},config:E,mergeConfig(r,e){const o=c(r,e);return e.decorators&&(o.decorators=e.decorators.length>0?[...r.decorators,...e.decorators]:r.decorators),o},name:"@lexical/react/React",peerDependencies:[n(o.name)]});export{h as DefaultEditorChildrenComponent,x as ReactExtension};
@@ -0,0 +1,189 @@
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 extension = require('@lexical/extension');
12
+ var ReactExtension = require('@lexical/react/ReactExtension');
13
+ var ReactProviderExtension = require('@lexical/react/ReactProviderExtension');
14
+ var utils = require('@lexical/utils');
15
+ var lexical = require('lexical');
16
+ var react = require('react');
17
+ var reactDom = require('react-dom');
18
+ var client = require('react-dom/client');
19
+ var jsxRuntime = require('react/jsx-runtime');
20
+
21
+ /**
22
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
23
+ *
24
+ * This source code is licensed under the MIT license found in the
25
+ * LICENSE file in the root directory of this source tree.
26
+ *
27
+ */
28
+
29
+ // Do not require this module directly! Use normal `invariant` calls.
30
+
31
+ function formatDevErrorMessage(message) {
32
+ throw new Error(message);
33
+ }
34
+
35
+ function mountReactExtensionComponent(editor, opts) {
36
+ const {
37
+ props,
38
+ extension: extension$1,
39
+ ...rest
40
+ } = opts;
41
+ const {
42
+ Component
43
+ } = extension.getExtensionDependencyFromEditor(editor, extension$1).output;
44
+ const element = props ? /*#__PURE__*/jsxRuntime.jsx(Component, {
45
+ ...props
46
+ }) : null;
47
+ mountReactPluginElement(editor, {
48
+ ...rest,
49
+ element
50
+ });
51
+ }
52
+ function mountReactPluginComponent(editor, opts) {
53
+ const {
54
+ Component,
55
+ props,
56
+ ...rest
57
+ } = opts;
58
+ mountReactPluginElement(editor, {
59
+ ...rest,
60
+ element: props ? /*#__PURE__*/jsxRuntime.jsx(Component, {
61
+ ...props
62
+ }) : null
63
+ });
64
+ }
65
+ function mountReactPluginElement(editor, opts) {
66
+ extension.getExtensionDependencyFromEditor(editor, ReactPluginHostExtension).output.mountReactPlugin(opts);
67
+ }
68
+ function mountReactPluginHost(editor, container) {
69
+ extension.getExtensionDependencyFromEditor(editor, ReactPluginHostExtension).output.mountReactPluginHost(container);
70
+ }
71
+ const REACT_PLUGIN_HOST_MOUNT_ROOT_COMMAND = lexical.createCommand('REACT_PLUGIN_HOST_MOUNT_ROOT_COMMAND');
72
+ const REACT_PLUGIN_HOST_MOUNT_PLUGIN_COMMAND = lexical.createCommand('REACT_PLUGIN_HOST_MOUNT_PLUGIN_COMMAND');
73
+ function PluginHostDecorator({
74
+ context: [editor]
75
+ }) {
76
+ const {
77
+ mountedPluginsStore
78
+ } = extension.getExtensionDependencyFromEditor(editor, ReactPluginHostExtension).output;
79
+ const {
80
+ ErrorBoundary
81
+ } = extension.getExtensionDependencyFromEditor(editor, ReactExtension.ReactExtension).config;
82
+ const onError = editor._onError.bind(editor);
83
+ const [{
84
+ plugins
85
+ }, setMountedPlugins] = react.useState(() => mountedPluginsStore.peek());
86
+ react.useEffect(() => extension.effect(() => setMountedPlugins(mountedPluginsStore.value)), [mountedPluginsStore]);
87
+ const children = [];
88
+ for (const {
89
+ key,
90
+ element,
91
+ domNode
92
+ } of plugins.values()) {
93
+ if (!element) {
94
+ continue;
95
+ }
96
+ const wrapped = /*#__PURE__*/jsxRuntime.jsx(ErrorBoundary, {
97
+ onError: onError,
98
+ children: /*#__PURE__*/jsxRuntime.jsx(react.Suspense, {
99
+ fallback: null,
100
+ children: element
101
+ })
102
+ }, key);
103
+ children.push(domNode ? /*#__PURE__*/reactDom.createPortal(wrapped, domNode, key) : wrapped);
104
+ }
105
+ return children.length > 0 ? /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
106
+ children: children
107
+ }) : null;
108
+ }
109
+
110
+ /**
111
+ * This extension provides a React host for editors that are not built
112
+ * with LexicalExtensionComposer (e.g. you are using Vanilla JS or some
113
+ * other framework).
114
+ *
115
+ * You must use {@link mountReactPluginHost} for any React content to work.
116
+ * Afterwards, you may use {@link mountReactExtensionComponent} to
117
+ * render UI for a specific React Extension.
118
+ * {@link mountReactPluginComponent} and
119
+ * {@link mountReactPluginElement} can be used to render
120
+ * legacy React plug-ins (or any React content).
121
+ */
122
+ const ReactPluginHostExtension = lexical.defineExtension({
123
+ build(editor, config, state) {
124
+ const mountedPluginsStore = extension.signal({
125
+ plugins: new Map()
126
+ });
127
+ return {
128
+ mountReactPlugin: arg => {
129
+ editor.dispatchCommand(REACT_PLUGIN_HOST_MOUNT_PLUGIN_COMMAND, arg);
130
+ },
131
+ // Using outputs to wrap commands will give us better error messages
132
+ // if the mount functions are called on an editor without this extension
133
+ mountReactPluginHost: container => editor.dispatchCommand(REACT_PLUGIN_HOST_MOUNT_ROOT_COMMAND, {
134
+ root: client.createRoot(container)
135
+ }),
136
+ mountedPluginsStore
137
+ };
138
+ },
139
+ dependencies: [ReactProviderExtension.ReactProviderExtension, lexical.configExtension(ReactExtension.ReactExtension, {
140
+ decorators: [PluginHostDecorator]
141
+ })],
142
+ name: '@lexical/react/ReactPluginHost',
143
+ register(editor, _config, state) {
144
+ let root;
145
+ const {
146
+ mountedPluginsStore
147
+ } = state.getOutput();
148
+ const {
149
+ Component
150
+ } = state.getDependency(ReactExtension.ReactExtension).output;
151
+ return utils.mergeRegister(() => {
152
+ if (root) {
153
+ root.unmount();
154
+ }
155
+ extension.untracked(() => {
156
+ mountedPluginsStore.value.plugins.clear();
157
+ });
158
+ }, editor.registerCommand(REACT_PLUGIN_HOST_MOUNT_PLUGIN_COMMAND, arg => {
159
+ // This runs before the PluginHost version
160
+ extension.untracked(() => {
161
+ const {
162
+ plugins
163
+ } = mountedPluginsStore.value;
164
+ plugins.set(arg.key, arg);
165
+ mountedPluginsStore.value = {
166
+ plugins
167
+ };
168
+ });
169
+ return false;
170
+ }, lexical.COMMAND_PRIORITY_CRITICAL), editor.registerCommand(REACT_PLUGIN_HOST_MOUNT_ROOT_COMMAND, arg => {
171
+ if (!(root === undefined)) {
172
+ formatDevErrorMessage(`ReactPluginHostExtension: Root is already mounted`);
173
+ }
174
+ root = arg.root;
175
+ root.render(/*#__PURE__*/jsxRuntime.jsx(Component, {
176
+ contentEditable: null
177
+ }));
178
+ return true;
179
+ }, lexical.COMMAND_PRIORITY_EDITOR));
180
+ }
181
+ });
182
+
183
+ exports.REACT_PLUGIN_HOST_MOUNT_PLUGIN_COMMAND = REACT_PLUGIN_HOST_MOUNT_PLUGIN_COMMAND;
184
+ exports.REACT_PLUGIN_HOST_MOUNT_ROOT_COMMAND = REACT_PLUGIN_HOST_MOUNT_ROOT_COMMAND;
185
+ exports.ReactPluginHostExtension = ReactPluginHostExtension;
186
+ exports.mountReactExtensionComponent = mountReactExtensionComponent;
187
+ exports.mountReactPluginComponent = mountReactPluginComponent;
188
+ exports.mountReactPluginElement = mountReactPluginElement;
189
+ exports.mountReactPluginHost = mountReactPluginHost;
@@ -0,0 +1,181 @@
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 { untracked, signal, getExtensionDependencyFromEditor, effect } from '@lexical/extension';
10
+ import { ReactExtension } from '@lexical/react/ReactExtension';
11
+ import { ReactProviderExtension } from '@lexical/react/ReactProviderExtension';
12
+ import { mergeRegister } from '@lexical/utils';
13
+ import { createCommand, defineExtension, configExtension, COMMAND_PRIORITY_CRITICAL, COMMAND_PRIORITY_EDITOR } from 'lexical';
14
+ import { useState, useEffect, Suspense } from 'react';
15
+ import { createPortal } from 'react-dom';
16
+ import { createRoot } from 'react-dom/client';
17
+ import { jsx, Fragment } from 'react/jsx-runtime';
18
+
19
+ /**
20
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
21
+ *
22
+ * This source code is licensed under the MIT license found in the
23
+ * LICENSE file in the root directory of this source tree.
24
+ *
25
+ */
26
+
27
+ // Do not require this module directly! Use normal `invariant` calls.
28
+
29
+ function formatDevErrorMessage(message) {
30
+ throw new Error(message);
31
+ }
32
+
33
+ function mountReactExtensionComponent(editor, opts) {
34
+ const {
35
+ props,
36
+ extension,
37
+ ...rest
38
+ } = opts;
39
+ const {
40
+ Component
41
+ } = getExtensionDependencyFromEditor(editor, extension).output;
42
+ const element = props ? /*#__PURE__*/jsx(Component, {
43
+ ...props
44
+ }) : null;
45
+ mountReactPluginElement(editor, {
46
+ ...rest,
47
+ element
48
+ });
49
+ }
50
+ function mountReactPluginComponent(editor, opts) {
51
+ const {
52
+ Component,
53
+ props,
54
+ ...rest
55
+ } = opts;
56
+ mountReactPluginElement(editor, {
57
+ ...rest,
58
+ element: props ? /*#__PURE__*/jsx(Component, {
59
+ ...props
60
+ }) : null
61
+ });
62
+ }
63
+ function mountReactPluginElement(editor, opts) {
64
+ getExtensionDependencyFromEditor(editor, ReactPluginHostExtension).output.mountReactPlugin(opts);
65
+ }
66
+ function mountReactPluginHost(editor, container) {
67
+ getExtensionDependencyFromEditor(editor, ReactPluginHostExtension).output.mountReactPluginHost(container);
68
+ }
69
+ const REACT_PLUGIN_HOST_MOUNT_ROOT_COMMAND = createCommand('REACT_PLUGIN_HOST_MOUNT_ROOT_COMMAND');
70
+ const REACT_PLUGIN_HOST_MOUNT_PLUGIN_COMMAND = createCommand('REACT_PLUGIN_HOST_MOUNT_PLUGIN_COMMAND');
71
+ function PluginHostDecorator({
72
+ context: [editor]
73
+ }) {
74
+ const {
75
+ mountedPluginsStore
76
+ } = getExtensionDependencyFromEditor(editor, ReactPluginHostExtension).output;
77
+ const {
78
+ ErrorBoundary
79
+ } = getExtensionDependencyFromEditor(editor, ReactExtension).config;
80
+ const onError = editor._onError.bind(editor);
81
+ const [{
82
+ plugins
83
+ }, setMountedPlugins] = useState(() => mountedPluginsStore.peek());
84
+ useEffect(() => effect(() => setMountedPlugins(mountedPluginsStore.value)), [mountedPluginsStore]);
85
+ const children = [];
86
+ for (const {
87
+ key,
88
+ element,
89
+ domNode
90
+ } of plugins.values()) {
91
+ if (!element) {
92
+ continue;
93
+ }
94
+ const wrapped = /*#__PURE__*/jsx(ErrorBoundary, {
95
+ onError: onError,
96
+ children: /*#__PURE__*/jsx(Suspense, {
97
+ fallback: null,
98
+ children: element
99
+ })
100
+ }, key);
101
+ children.push(domNode ? /*#__PURE__*/createPortal(wrapped, domNode, key) : wrapped);
102
+ }
103
+ return children.length > 0 ? /*#__PURE__*/jsx(Fragment, {
104
+ children: children
105
+ }) : null;
106
+ }
107
+
108
+ /**
109
+ * This extension provides a React host for editors that are not built
110
+ * with LexicalExtensionComposer (e.g. you are using Vanilla JS or some
111
+ * other framework).
112
+ *
113
+ * You must use {@link mountReactPluginHost} for any React content to work.
114
+ * Afterwards, you may use {@link mountReactExtensionComponent} to
115
+ * render UI for a specific React Extension.
116
+ * {@link mountReactPluginComponent} and
117
+ * {@link mountReactPluginElement} can be used to render
118
+ * legacy React plug-ins (or any React content).
119
+ */
120
+ const ReactPluginHostExtension = defineExtension({
121
+ build(editor, config, state) {
122
+ const mountedPluginsStore = signal({
123
+ plugins: new Map()
124
+ });
125
+ return {
126
+ mountReactPlugin: arg => {
127
+ editor.dispatchCommand(REACT_PLUGIN_HOST_MOUNT_PLUGIN_COMMAND, arg);
128
+ },
129
+ // Using outputs to wrap commands will give us better error messages
130
+ // if the mount functions are called on an editor without this extension
131
+ mountReactPluginHost: container => editor.dispatchCommand(REACT_PLUGIN_HOST_MOUNT_ROOT_COMMAND, {
132
+ root: createRoot(container)
133
+ }),
134
+ mountedPluginsStore
135
+ };
136
+ },
137
+ dependencies: [ReactProviderExtension, configExtension(ReactExtension, {
138
+ decorators: [PluginHostDecorator]
139
+ })],
140
+ name: '@lexical/react/ReactPluginHost',
141
+ register(editor, _config, state) {
142
+ let root;
143
+ const {
144
+ mountedPluginsStore
145
+ } = state.getOutput();
146
+ const {
147
+ Component
148
+ } = state.getDependency(ReactExtension).output;
149
+ return mergeRegister(() => {
150
+ if (root) {
151
+ root.unmount();
152
+ }
153
+ untracked(() => {
154
+ mountedPluginsStore.value.plugins.clear();
155
+ });
156
+ }, editor.registerCommand(REACT_PLUGIN_HOST_MOUNT_PLUGIN_COMMAND, arg => {
157
+ // This runs before the PluginHost version
158
+ untracked(() => {
159
+ const {
160
+ plugins
161
+ } = mountedPluginsStore.value;
162
+ plugins.set(arg.key, arg);
163
+ mountedPluginsStore.value = {
164
+ plugins
165
+ };
166
+ });
167
+ return false;
168
+ }, COMMAND_PRIORITY_CRITICAL), editor.registerCommand(REACT_PLUGIN_HOST_MOUNT_ROOT_COMMAND, arg => {
169
+ if (!(root === undefined)) {
170
+ formatDevErrorMessage(`ReactPluginHostExtension: Root is already mounted`);
171
+ }
172
+ root = arg.root;
173
+ root.render(/*#__PURE__*/jsx(Component, {
174
+ contentEditable: null
175
+ }));
176
+ return true;
177
+ }, COMMAND_PRIORITY_EDITOR));
178
+ }
179
+ });
180
+
181
+ export { REACT_PLUGIN_HOST_MOUNT_PLUGIN_COMMAND, REACT_PLUGIN_HOST_MOUNT_ROOT_COMMAND, ReactPluginHostExtension, mountReactExtensionComponent, mountReactPluginComponent, mountReactPluginElement, mountReactPluginHost };