@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,242 @@
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 LexicalComposerContext = require('@ekz/lexical-react/LexicalComposerContext');
12
+ var react = require('react');
13
+ var jsxRuntime = require('react/jsx-runtime');
14
+ var lexicalText = require('@ekz/lexical-text');
15
+ var lexicalUtils = require('@ekz/lexical-utils');
16
+
17
+ /**
18
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
19
+ *
20
+ * This source code is licensed under the MIT license found in the
21
+ * LICENSE file in the root directory of this source tree.
22
+ *
23
+ */
24
+
25
+ const CAN_USE_DOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';
26
+
27
+ /**
28
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
29
+ *
30
+ * This source code is licensed under the MIT license found in the
31
+ * LICENSE file in the root directory of this source tree.
32
+ *
33
+ */
34
+
35
+
36
+ // This workaround is no longer necessary in React 19,
37
+ // but we currently support React >=17.x
38
+ // https://github.com/facebook/react/pull/26395
39
+ const useLayoutEffectImpl = CAN_USE_DOM ? react.useLayoutEffect : react.useEffect;
40
+
41
+ /**
42
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
43
+ *
44
+ * This source code is licensed under the MIT license found in the
45
+ * LICENSE file in the root directory of this source tree.
46
+ *
47
+ */
48
+
49
+ function mergeRefs(...refs) {
50
+ return value => {
51
+ for (const ref of refs) {
52
+ if (typeof ref === 'function') {
53
+ ref(value);
54
+ } else if (ref != null) {
55
+ ref.current = value;
56
+ }
57
+ }
58
+ };
59
+ }
60
+
61
+ /**
62
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
63
+ *
64
+ * This source code is licensed under the MIT license found in the
65
+ * LICENSE file in the root directory of this source tree.
66
+ *
67
+ */
68
+
69
+ function ContentEditableElementImpl({
70
+ editor,
71
+ ariaActiveDescendant,
72
+ ariaAutoComplete,
73
+ ariaControls,
74
+ ariaDescribedBy,
75
+ ariaErrorMessage,
76
+ ariaExpanded,
77
+ ariaInvalid,
78
+ ariaLabel,
79
+ ariaLabelledBy,
80
+ ariaMultiline,
81
+ ariaOwns,
82
+ ariaRequired,
83
+ autoCapitalize,
84
+ className,
85
+ id,
86
+ role = 'textbox',
87
+ spellCheck = true,
88
+ style,
89
+ tabIndex,
90
+ 'data-testid': testid,
91
+ ...rest
92
+ }, ref) {
93
+ const [isEditable, setEditable] = react.useState(editor.isEditable());
94
+ const handleRef = react.useCallback(rootElement => {
95
+ // defaultView is required for a root element.
96
+ // In multi-window setups, the defaultView may not exist at certain points.
97
+ if (rootElement && rootElement.ownerDocument && rootElement.ownerDocument.defaultView) {
98
+ editor.setRootElement(rootElement);
99
+ } else {
100
+ editor.setRootElement(null);
101
+ }
102
+ }, [editor]);
103
+ const mergedRefs = react.useMemo(() => mergeRefs(ref, handleRef), [handleRef, ref]);
104
+ useLayoutEffectImpl(() => {
105
+ setEditable(editor.isEditable());
106
+ return editor.registerEditableListener(currentIsEditable => {
107
+ setEditable(currentIsEditable);
108
+ });
109
+ }, [editor]);
110
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
111
+ "aria-activedescendant": isEditable ? ariaActiveDescendant : undefined,
112
+ "aria-autocomplete": isEditable ? ariaAutoComplete : 'none',
113
+ "aria-controls": isEditable ? ariaControls : undefined,
114
+ "aria-describedby": ariaDescribedBy
115
+ // for compat, only override aria-errormessage if ariaErrorMessage is defined
116
+ ,
117
+ ...(ariaErrorMessage != null ? {
118
+ 'aria-errormessage': ariaErrorMessage
119
+ } : {}),
120
+ "aria-expanded": isEditable && role === 'combobox' ? !!ariaExpanded : undefined
121
+ // for compat, only override aria-invalid if ariaInvalid is defined
122
+ ,
123
+ ...(ariaInvalid != null ? {
124
+ 'aria-invalid': ariaInvalid
125
+ } : {}),
126
+ "aria-label": ariaLabel,
127
+ "aria-labelledby": ariaLabelledBy,
128
+ "aria-multiline": ariaMultiline,
129
+ "aria-owns": isEditable ? ariaOwns : undefined,
130
+ "aria-readonly": isEditable ? undefined : true,
131
+ "aria-required": ariaRequired,
132
+ autoCapitalize: autoCapitalize,
133
+ className: className,
134
+ contentEditable: isEditable,
135
+ "data-testid": testid,
136
+ id: id,
137
+ ref: mergedRefs,
138
+ role: role,
139
+ spellCheck: spellCheck,
140
+ style: style,
141
+ tabIndex: tabIndex,
142
+ ...rest
143
+ });
144
+ }
145
+ const ContentEditableElement = /*#__PURE__*/react.forwardRef(ContentEditableElementImpl);
146
+
147
+ /**
148
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
149
+ *
150
+ * This source code is licensed under the MIT license found in the
151
+ * LICENSE file in the root directory of this source tree.
152
+ *
153
+ */
154
+
155
+ function canShowPlaceholderFromCurrentEditorState(editor) {
156
+ const currentCanShowPlaceholder = editor.getEditorState().read(lexicalText.$canShowPlaceholderCurry(editor.isComposing()));
157
+ return currentCanShowPlaceholder;
158
+ }
159
+ function useCanShowPlaceholder(editor) {
160
+ const [canShowPlaceholder, setCanShowPlaceholder] = react.useState(() => canShowPlaceholderFromCurrentEditorState(editor));
161
+ useLayoutEffectImpl(() => {
162
+ function resetCanShowPlaceholder() {
163
+ const currentCanShowPlaceholder = canShowPlaceholderFromCurrentEditorState(editor);
164
+ setCanShowPlaceholder(currentCanShowPlaceholder);
165
+ }
166
+ resetCanShowPlaceholder();
167
+ return lexicalUtils.mergeRegister(editor.registerUpdateListener(() => {
168
+ resetCanShowPlaceholder();
169
+ }), editor.registerEditableListener(() => {
170
+ resetCanShowPlaceholder();
171
+ }));
172
+ }, [editor]);
173
+ return canShowPlaceholder;
174
+ }
175
+
176
+ /**
177
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
178
+ *
179
+ * This source code is licensed under the MIT license found in the
180
+ * LICENSE file in the root directory of this source tree.
181
+ *
182
+ */
183
+
184
+
185
+ /**
186
+ * @deprecated This type has been renamed to `ContentEditableProps` to provide a clearer and more descriptive name.
187
+ * For backward compatibility, this type is still exported as `Props`, but it is recommended to migrate to using `ContentEditableProps` instead.
188
+ *
189
+ * This alias is maintained for compatibility purposes but may be removed in future versions.
190
+ * Please update your codebase to use `ContentEditableProps` to ensure long-term maintainability.
191
+ */
192
+
193
+ const ContentEditable = /*#__PURE__*/react.forwardRef(ContentEditableImpl);
194
+ function ContentEditableImpl(props, ref) {
195
+ const {
196
+ placeholder,
197
+ ...rest
198
+ } = props;
199
+ const [editor] = LexicalComposerContext.useLexicalComposerContext();
200
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
201
+ children: [/*#__PURE__*/jsxRuntime.jsx(ContentEditableElement, {
202
+ editor: editor,
203
+ ...rest,
204
+ ref: ref
205
+ }), placeholder != null && /*#__PURE__*/jsxRuntime.jsx(Placeholder, {
206
+ editor: editor,
207
+ content: placeholder
208
+ })]
209
+ });
210
+ }
211
+ function Placeholder({
212
+ content,
213
+ editor
214
+ }) {
215
+ const showPlaceholder = useCanShowPlaceholder(editor);
216
+ const [isEditable, setEditable] = react.useState(editor.isEditable());
217
+ react.useLayoutEffect(() => {
218
+ setEditable(editor.isEditable());
219
+ return editor.registerEditableListener(currentIsEditable => {
220
+ setEditable(currentIsEditable);
221
+ });
222
+ }, [editor]);
223
+ if (!showPlaceholder) {
224
+ return null;
225
+ }
226
+ let placeholder = null;
227
+ if (typeof content === 'function') {
228
+ placeholder = content(isEditable);
229
+ } else if (content !== null) {
230
+ placeholder = content;
231
+ }
232
+ if (placeholder === null) {
233
+ return null;
234
+ }
235
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
236
+ "aria-hidden": true,
237
+ children: placeholder
238
+ });
239
+ }
240
+
241
+ exports.ContentEditable = ContentEditable;
242
+ exports.ContentEditableElement = ContentEditableElement;
@@ -0,0 +1,239 @@
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 } from '@ekz/lexical-react/LexicalComposerContext';
10
+ import { useLayoutEffect, useEffect, forwardRef, useState, useCallback, useMemo } from 'react';
11
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
12
+ import { $canShowPlaceholderCurry } from '@ekz/lexical-text';
13
+ import { mergeRegister } from '@ekz/lexical-utils';
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
+ const CAN_USE_DOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';
24
+
25
+ /**
26
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
27
+ *
28
+ * This source code is licensed under the MIT license found in the
29
+ * LICENSE file in the root directory of this source tree.
30
+ *
31
+ */
32
+
33
+
34
+ // This workaround is no longer necessary in React 19,
35
+ // but we currently support React >=17.x
36
+ // https://github.com/facebook/react/pull/26395
37
+ const useLayoutEffectImpl = CAN_USE_DOM ? useLayoutEffect : useEffect;
38
+
39
+ /**
40
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
41
+ *
42
+ * This source code is licensed under the MIT license found in the
43
+ * LICENSE file in the root directory of this source tree.
44
+ *
45
+ */
46
+
47
+ function mergeRefs(...refs) {
48
+ return value => {
49
+ for (const ref of refs) {
50
+ if (typeof ref === 'function') {
51
+ ref(value);
52
+ } else if (ref != null) {
53
+ ref.current = value;
54
+ }
55
+ }
56
+ };
57
+ }
58
+
59
+ /**
60
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
61
+ *
62
+ * This source code is licensed under the MIT license found in the
63
+ * LICENSE file in the root directory of this source tree.
64
+ *
65
+ */
66
+
67
+ function ContentEditableElementImpl({
68
+ editor,
69
+ ariaActiveDescendant,
70
+ ariaAutoComplete,
71
+ ariaControls,
72
+ ariaDescribedBy,
73
+ ariaErrorMessage,
74
+ ariaExpanded,
75
+ ariaInvalid,
76
+ ariaLabel,
77
+ ariaLabelledBy,
78
+ ariaMultiline,
79
+ ariaOwns,
80
+ ariaRequired,
81
+ autoCapitalize,
82
+ className,
83
+ id,
84
+ role = 'textbox',
85
+ spellCheck = true,
86
+ style,
87
+ tabIndex,
88
+ 'data-testid': testid,
89
+ ...rest
90
+ }, ref) {
91
+ const [isEditable, setEditable] = useState(editor.isEditable());
92
+ const handleRef = useCallback(rootElement => {
93
+ // defaultView is required for a root element.
94
+ // In multi-window setups, the defaultView may not exist at certain points.
95
+ if (rootElement && rootElement.ownerDocument && rootElement.ownerDocument.defaultView) {
96
+ editor.setRootElement(rootElement);
97
+ } else {
98
+ editor.setRootElement(null);
99
+ }
100
+ }, [editor]);
101
+ const mergedRefs = useMemo(() => mergeRefs(ref, handleRef), [handleRef, ref]);
102
+ useLayoutEffectImpl(() => {
103
+ setEditable(editor.isEditable());
104
+ return editor.registerEditableListener(currentIsEditable => {
105
+ setEditable(currentIsEditable);
106
+ });
107
+ }, [editor]);
108
+ return /*#__PURE__*/jsx("div", {
109
+ "aria-activedescendant": isEditable ? ariaActiveDescendant : undefined,
110
+ "aria-autocomplete": isEditable ? ariaAutoComplete : 'none',
111
+ "aria-controls": isEditable ? ariaControls : undefined,
112
+ "aria-describedby": ariaDescribedBy
113
+ // for compat, only override aria-errormessage if ariaErrorMessage is defined
114
+ ,
115
+ ...(ariaErrorMessage != null ? {
116
+ 'aria-errormessage': ariaErrorMessage
117
+ } : {}),
118
+ "aria-expanded": isEditable && role === 'combobox' ? !!ariaExpanded : undefined
119
+ // for compat, only override aria-invalid if ariaInvalid is defined
120
+ ,
121
+ ...(ariaInvalid != null ? {
122
+ 'aria-invalid': ariaInvalid
123
+ } : {}),
124
+ "aria-label": ariaLabel,
125
+ "aria-labelledby": ariaLabelledBy,
126
+ "aria-multiline": ariaMultiline,
127
+ "aria-owns": isEditable ? ariaOwns : undefined,
128
+ "aria-readonly": isEditable ? undefined : true,
129
+ "aria-required": ariaRequired,
130
+ autoCapitalize: autoCapitalize,
131
+ className: className,
132
+ contentEditable: isEditable,
133
+ "data-testid": testid,
134
+ id: id,
135
+ ref: mergedRefs,
136
+ role: role,
137
+ spellCheck: spellCheck,
138
+ style: style,
139
+ tabIndex: tabIndex,
140
+ ...rest
141
+ });
142
+ }
143
+ const ContentEditableElement = /*#__PURE__*/forwardRef(ContentEditableElementImpl);
144
+
145
+ /**
146
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
147
+ *
148
+ * This source code is licensed under the MIT license found in the
149
+ * LICENSE file in the root directory of this source tree.
150
+ *
151
+ */
152
+
153
+ function canShowPlaceholderFromCurrentEditorState(editor) {
154
+ const currentCanShowPlaceholder = editor.getEditorState().read($canShowPlaceholderCurry(editor.isComposing()));
155
+ return currentCanShowPlaceholder;
156
+ }
157
+ function useCanShowPlaceholder(editor) {
158
+ const [canShowPlaceholder, setCanShowPlaceholder] = useState(() => canShowPlaceholderFromCurrentEditorState(editor));
159
+ useLayoutEffectImpl(() => {
160
+ function resetCanShowPlaceholder() {
161
+ const currentCanShowPlaceholder = canShowPlaceholderFromCurrentEditorState(editor);
162
+ setCanShowPlaceholder(currentCanShowPlaceholder);
163
+ }
164
+ resetCanShowPlaceholder();
165
+ return mergeRegister(editor.registerUpdateListener(() => {
166
+ resetCanShowPlaceholder();
167
+ }), editor.registerEditableListener(() => {
168
+ resetCanShowPlaceholder();
169
+ }));
170
+ }, [editor]);
171
+ return canShowPlaceholder;
172
+ }
173
+
174
+ /**
175
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
176
+ *
177
+ * This source code is licensed under the MIT license found in the
178
+ * LICENSE file in the root directory of this source tree.
179
+ *
180
+ */
181
+
182
+
183
+ /**
184
+ * @deprecated This type has been renamed to `ContentEditableProps` to provide a clearer and more descriptive name.
185
+ * For backward compatibility, this type is still exported as `Props`, but it is recommended to migrate to using `ContentEditableProps` instead.
186
+ *
187
+ * This alias is maintained for compatibility purposes but may be removed in future versions.
188
+ * Please update your codebase to use `ContentEditableProps` to ensure long-term maintainability.
189
+ */
190
+
191
+ const ContentEditable = /*#__PURE__*/forwardRef(ContentEditableImpl);
192
+ function ContentEditableImpl(props, ref) {
193
+ const {
194
+ placeholder,
195
+ ...rest
196
+ } = props;
197
+ const [editor] = useLexicalComposerContext();
198
+ return /*#__PURE__*/jsxs(Fragment, {
199
+ children: [/*#__PURE__*/jsx(ContentEditableElement, {
200
+ editor: editor,
201
+ ...rest,
202
+ ref: ref
203
+ }), placeholder != null && /*#__PURE__*/jsx(Placeholder, {
204
+ editor: editor,
205
+ content: placeholder
206
+ })]
207
+ });
208
+ }
209
+ function Placeholder({
210
+ content,
211
+ editor
212
+ }) {
213
+ const showPlaceholder = useCanShowPlaceholder(editor);
214
+ const [isEditable, setEditable] = useState(editor.isEditable());
215
+ useLayoutEffect(() => {
216
+ setEditable(editor.isEditable());
217
+ return editor.registerEditableListener(currentIsEditable => {
218
+ setEditable(currentIsEditable);
219
+ });
220
+ }, [editor]);
221
+ if (!showPlaceholder) {
222
+ return null;
223
+ }
224
+ let placeholder = null;
225
+ if (typeof content === 'function') {
226
+ placeholder = content(isEditable);
227
+ } else if (content !== null) {
228
+ placeholder = content;
229
+ }
230
+ if (placeholder === null) {
231
+ return null;
232
+ }
233
+ return /*#__PURE__*/jsx("div", {
234
+ "aria-hidden": true,
235
+ children: placeholder
236
+ });
237
+ }
238
+
239
+ export { ContentEditable, ContentEditableElement };
@@ -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 LexicalContentEditable = process.env.NODE_ENV !== 'production' ? require('./LexicalContentEditable.dev.js') : require('./LexicalContentEditable.prod.js');
11
+ module.exports = LexicalContentEditable;
@@ -0,0 +1,80 @@
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 { LexicalEditor } from '@ekz/lexical';
11
+ // $FlowFixMe[cannot-resolve-module] - Not able to type this with a flow extension
12
+ import type {TRefFor} from 'CoreTypes.flow';
13
+
14
+ import * as React from 'react';
15
+
16
+ type InlineStyle = {
17
+ [key: string]: mixed,
18
+ };
19
+
20
+ // Due to Flow limitations, we prefer fixed types over the built-in inexact HTMLElement
21
+ type HTMLDivElementDOMProps = $ReadOnly<{
22
+ 'aria-label'?: void | string,
23
+ 'aria-labeledby'?: void | string,
24
+ 'aria-activedescendant'?: void | string,
25
+ 'aria-autocomplete'?: void | string,
26
+ 'aria-describedby'?: void | string,
27
+ 'aria-errormessage'?: void | string,
28
+ 'aria-invalid'?: void | boolean,
29
+ 'aria-owns'?: void | string,
30
+ 'title'?: void | string,
31
+ onClick?: void | ((e: SyntheticEvent<HTMLDivElement>) => mixed),
32
+ autoCapitalize?: void | boolean,
33
+ autoComplete?: void | boolean,
34
+ autoCorrect?: void | boolean,
35
+ id?: void | string,
36
+ className?: void | string,
37
+ 'data-testid'?: void | string,
38
+ role?: void | string,
39
+ spellCheck?: void | boolean,
40
+ suppressContentEditableWarning?: void | boolean,
41
+ tabIndex?: void | number,
42
+ style?: void | InlineStyle | CSSStyleDeclaration,
43
+ 'data-testid'?: void | string,
44
+ }>;
45
+
46
+ export type PlaceholderProps =
47
+ | $ReadOnly<{
48
+ 'aria-placeholder'?: void,
49
+ placeholder?: null,
50
+ }>
51
+ | $ReadOnly<{
52
+ 'aria-placeholder': string,
53
+ placeholder:
54
+ | ((isEditable: boolean) => null | React.Node)
55
+ | null
56
+ | React.Node,
57
+ }>;
58
+
59
+ export type Props = $ReadOnly<{
60
+ ...HTMLDivElementDOMProps,
61
+ ariaActiveDescendant?: string,
62
+ ariaAutoComplete?: string,
63
+ ariaControls?: string,
64
+ ariaDescribedBy?: string,
65
+ ariaErrorMessage?: string,
66
+ ariaExpanded?: boolean,
67
+ ariaInvalid?: boolean,
68
+ ariaLabel?: string,
69
+ ariaLabelledBy?: string,
70
+ ariaMultiline?: boolean,
71
+ ariaOwns?: string,
72
+ ariaRequired?: string,
73
+ autoCapitalize?: boolean,
74
+ ...PlaceholderProps,
75
+ }>;
76
+
77
+ declare export var ContentEditable: component(
78
+ ref?: React.RefSetter<HTMLDivElement>,
79
+ ...Props
80
+ );
@@ -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 './LexicalContentEditable.dev.mjs';
10
+ import * as modProd from './LexicalContentEditable.prod.mjs';
11
+ const mod = process.env.NODE_ENV !== 'production' ? modDev : modProd;
12
+ export const ContentEditable = mod.ContentEditable;
13
+ export const ContentEditableElement = mod.ContentEditableElement;
@@ -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('./LexicalContentEditable.dev.mjs') : import('./LexicalContentEditable.prod.mjs'));
10
+ export const ContentEditable = mod.ContentEditable;
11
+ export const ContentEditableElement = mod.ContentEditableElement;
@@ -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("react"),a=require("react/jsx-runtime"),i=require("@ekz/lexical-text"),r=require("@ekz/lexical-utils");const n="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?t.useLayoutEffect:t.useEffect;function o({editor:e,ariaActiveDescendant:i,ariaAutoComplete:r,ariaControls:o,ariaDescribedBy:l,ariaErrorMessage:s,ariaExpanded:d,ariaInvalid:u,ariaLabel:c,ariaLabelledBy:f,ariaMultiline:b,ariaOwns:x,ariaRequired:m,autoCapitalize:E,className:p,id:C,role:v="textbox",spellCheck:w=!0,style:y,tabIndex:g,"data-testid":L,...h},q){const[j,k]=t.useState(e.isEditable()),R=t.useCallback(t=>{t&&t.ownerDocument&&t.ownerDocument.defaultView?e.setRootElement(t):e.setRootElement(null)},[e]),z=t.useMemo(()=>function(...e){return t=>{for(const a of e)"function"==typeof a?a(t):null!=a&&(a.current=t)}}(q,R),[R,q]);return n(()=>(k(e.isEditable()),e.registerEditableListener(e=>{k(e)})),[e]),a.jsx("div",{"aria-activedescendant":j?i:void 0,"aria-autocomplete":j?r:"none","aria-controls":j?o:void 0,"aria-describedby":l,...null!=s?{"aria-errormessage":s}:{},"aria-expanded":j&&"combobox"===v?!!d:void 0,...null!=u?{"aria-invalid":u}:{},"aria-label":c,"aria-labelledby":f,"aria-multiline":b,"aria-owns":j?x:void 0,"aria-readonly":!j||void 0,"aria-required":m,autoCapitalize:E,className:p,contentEditable:j,"data-testid":L,id:C,ref:z,role:v,spellCheck:w,style:y,tabIndex:g,...h})}const l=t.forwardRef(o);function s(e){return e.getEditorState().read(i.$canShowPlaceholderCurry(e.isComposing()))}const d=t.forwardRef(u);function u(t,i){const{placeholder:r,...n}=t,[o]=e.useLexicalComposerContext();return a.jsxs(a.Fragment,{children:[a.jsx(l,{editor:o,...n,ref:i}),null!=r&&a.jsx(c,{editor:o,content:r})]})}function c({content:e,editor:i}){const o=function(e){const[a,i]=t.useState(()=>s(e));return n(()=>{function t(){const t=s(e);i(t)}return t(),r.mergeRegister(e.registerUpdateListener(()=>{t()}),e.registerEditableListener(()=>{t()}))},[e]),a}(i),[l,d]=t.useState(i.isEditable());if(t.useLayoutEffect(()=>(d(i.isEditable()),i.registerEditableListener(e=>{d(e)})),[i]),!o)return null;let u=null;return"function"==typeof e?u=e(l):null!==e&&(u=e),null===u?null:a.jsx("div",{"aria-hidden":!0,children:u})}exports.ContentEditable=d,exports.ContentEditableElement=l;
@@ -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 e}from"@ekz/lexical-react/LexicalComposerContext";import{useLayoutEffect as t,useEffect as i,forwardRef as a,useState as r,useCallback as n,useMemo as o}from"react";import{jsx as l,jsxs as d,Fragment as c}from"react/jsx-runtime";import{$canShowPlaceholderCurry as s}from"@ekz/lexical-text";import{mergeRegister as u}from"@ekz/lexical-utils";const m="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?t:i;function f({editor:e,ariaActiveDescendant:t,ariaAutoComplete:i,ariaControls:a,ariaDescribedBy:d,ariaErrorMessage:c,ariaExpanded:s,ariaInvalid:u,ariaLabel:f,ariaLabelledBy:b,ariaMultiline:p,ariaOwns:x,ariaRequired:E,autoCapitalize:v,className:w,id:y,role:C="textbox",spellCheck:g=!0,style:L,tabIndex:h,"data-testid":k,...z},D){const[I,R]=r(e.isEditable()),q=n(t=>{t&&t.ownerDocument&&t.ownerDocument.defaultView?e.setRootElement(t):e.setRootElement(null)},[e]),A=o(()=>function(...e){return t=>{for(const i of e)"function"==typeof i?i(t):null!=i&&(i.current=t)}}(D,q),[q,D]);return m(()=>(R(e.isEditable()),e.registerEditableListener(e=>{R(e)})),[e]),l("div",{"aria-activedescendant":I?t:void 0,"aria-autocomplete":I?i:"none","aria-controls":I?a:void 0,"aria-describedby":d,...null!=c?{"aria-errormessage":c}:{},"aria-expanded":I&&"combobox"===C?!!s:void 0,...null!=u?{"aria-invalid":u}:{},"aria-label":f,"aria-labelledby":b,"aria-multiline":p,"aria-owns":I?x:void 0,"aria-readonly":!I||void 0,"aria-required":E,autoCapitalize:v,className:w,contentEditable:I,"data-testid":k,id:y,ref:A,role:C,spellCheck:g,style:L,tabIndex:h,...z})}const b=a(f);function p(e){return e.getEditorState().read(s(e.isComposing()))}const x=a(E);function E(t,i){const{placeholder:a,...r}=t,[n]=e();return d(c,{children:[l(b,{editor:n,...r,ref:i}),null!=a&&l(v,{editor:n,content:a})]})}function v({content:e,editor:i}){const a=function(e){const[t,i]=r(()=>p(e));return m(()=>{function t(){const t=p(e);i(t)}return t(),u(e.registerUpdateListener(()=>{t()}),e.registerEditableListener(()=>{t()}))},[e]),t}(i),[n,o]=r(i.isEditable());if(t(()=>(o(i.isEditable()),i.registerEditableListener(e=>{o(e)})),[i]),!a)return null;let d=null;return"function"==typeof e?d=e(n):null!==e&&(d=e),null===d?null:l("div",{"aria-hidden":!0,children:d})}export{x as ContentEditable,b as ContentEditableElement};
@@ -0,0 +1,36 @@
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 { MenuRenderFn, MenuResolution } from './shared/LexicalMenu';
9
+ import type { JSX } from 'react';
10
+ import { CommandListenerPriority, LexicalNode } from '@ekz/lexical';
11
+ import { ReactPortal, RefObject } from 'react';
12
+ import { MenuOption } from './shared/LexicalMenu';
13
+ export type ContextMenuRenderFn<TOption extends MenuOption> = (anchorElementRef: RefObject<HTMLElement | null>, itemProps: {
14
+ selectedIndex: number | null;
15
+ selectOptionAndCleanUp: (option: TOption) => void;
16
+ setHighlightedIndex: (index: number) => void;
17
+ options: Array<TOption>;
18
+ }, menuProps: {
19
+ setMenuRef: (element: HTMLElement | null) => void;
20
+ }) => ReactPortal | JSX.Element | null;
21
+ export type LexicalContextMenuPluginProps<TOption extends MenuOption> = {
22
+ onSelectOption: (option: TOption, textNodeContainingQuery: LexicalNode | null, closeMenu: () => void, matchingString: string) => void;
23
+ options: Array<TOption>;
24
+ onClose?: () => void;
25
+ onWillOpen?: (event: MouseEvent) => void;
26
+ onOpen?: (resolution: MenuResolution) => void;
27
+ menuRenderFn: ContextMenuRenderFn<TOption>;
28
+ anchorClassName?: string;
29
+ commandPriority?: CommandListenerPriority;
30
+ parent?: HTMLElement;
31
+ };
32
+ /**
33
+ * @deprecated Use LexicalNodeContextMenuPlugin instead.
34
+ */
35
+ export declare function LexicalContextMenuPlugin<TOption extends MenuOption>({ options, onWillOpen, onClose, onOpen, onSelectOption, menuRenderFn: contextMenuRenderFn, anchorClassName, commandPriority, parent, }: LexicalContextMenuPluginProps<TOption>): JSX.Element | null;
36
+ export { MenuOption, MenuRenderFn, MenuResolution };