zurfyx-lexical-react 0.39.1-nightly.20251225.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.
- package/README.md +90 -0
- package/dist/ExtensionComponent.d.ts +42 -0
- package/dist/LexicalAutoEmbedPlugin.d.ts +39 -0
- package/dist/LexicalAutoEmbedPlugin.dev.js +146 -0
- package/dist/LexicalAutoEmbedPlugin.dev.mjs +141 -0
- package/dist/LexicalAutoEmbedPlugin.js +11 -0
- package/dist/LexicalAutoEmbedPlugin.mjs +15 -0
- package/dist/LexicalAutoEmbedPlugin.node.mjs +13 -0
- package/dist/LexicalAutoEmbedPlugin.prod.js +9 -0
- package/dist/LexicalAutoEmbedPlugin.prod.mjs +9 -0
- package/dist/LexicalAutoFocusPlugin.d.ts +12 -0
- package/dist/LexicalAutoFocusPlugin.dev.js +47 -0
- package/dist/LexicalAutoFocusPlugin.dev.mjs +45 -0
- package/dist/LexicalAutoFocusPlugin.js +11 -0
- package/dist/LexicalAutoFocusPlugin.mjs +12 -0
- package/dist/LexicalAutoFocusPlugin.node.mjs +10 -0
- package/dist/LexicalAutoFocusPlugin.prod.js +9 -0
- package/dist/LexicalAutoFocusPlugin.prod.mjs +9 -0
- package/dist/LexicalAutoLinkPlugin.d.ts +14 -0
- package/dist/LexicalAutoLinkPlugin.dev.js +54 -0
- package/dist/LexicalAutoLinkPlugin.dev.mjs +52 -0
- package/dist/LexicalAutoLinkPlugin.js +11 -0
- package/dist/LexicalAutoLinkPlugin.mjs +13 -0
- package/dist/LexicalAutoLinkPlugin.node.mjs +11 -0
- package/dist/LexicalAutoLinkPlugin.prod.js +9 -0
- package/dist/LexicalAutoLinkPlugin.prod.mjs +9 -0
- package/dist/LexicalBlockWithAlignableContents.d.ts +21 -0
- package/dist/LexicalBlockWithAlignableContents.dev.js +81 -0
- package/dist/LexicalBlockWithAlignableContents.dev.mjs +79 -0
- package/dist/LexicalBlockWithAlignableContents.js +11 -0
- package/dist/LexicalBlockWithAlignableContents.mjs +12 -0
- package/dist/LexicalBlockWithAlignableContents.node.mjs +10 -0
- package/dist/LexicalBlockWithAlignableContents.prod.js +9 -0
- package/dist/LexicalBlockWithAlignableContents.prod.mjs +9 -0
- package/dist/LexicalCharacterLimitPlugin.d.ts +15 -0
- package/dist/LexicalCharacterLimitPlugin.dev.js +292 -0
- package/dist/LexicalCharacterLimitPlugin.dev.mjs +290 -0
- package/dist/LexicalCharacterLimitPlugin.js +11 -0
- package/dist/LexicalCharacterLimitPlugin.mjs +12 -0
- package/dist/LexicalCharacterLimitPlugin.node.mjs +10 -0
- package/dist/LexicalCharacterLimitPlugin.prod.js +9 -0
- package/dist/LexicalCharacterLimitPlugin.prod.mjs +9 -0
- package/dist/LexicalCheckListPlugin.d.ts +8 -0
- package/dist/LexicalCheckListPlugin.dev.js +31 -0
- package/dist/LexicalCheckListPlugin.dev.mjs +29 -0
- package/dist/LexicalCheckListPlugin.js +11 -0
- package/dist/LexicalCheckListPlugin.mjs +12 -0
- package/dist/LexicalCheckListPlugin.node.mjs +10 -0
- package/dist/LexicalCheckListPlugin.prod.js +9 -0
- package/dist/LexicalCheckListPlugin.prod.mjs +9 -0
- package/dist/LexicalClearEditorPlugin.d.ts +13 -0
- package/dist/LexicalClearEditorPlugin.dev.js +55 -0
- package/dist/LexicalClearEditorPlugin.dev.mjs +53 -0
- package/dist/LexicalClearEditorPlugin.js +11 -0
- package/dist/LexicalClearEditorPlugin.mjs +12 -0
- package/dist/LexicalClearEditorPlugin.node.mjs +10 -0
- package/dist/LexicalClearEditorPlugin.prod.js +9 -0
- package/dist/LexicalClearEditorPlugin.prod.mjs +9 -0
- package/dist/LexicalClickableLinkPlugin.d.ts +11 -0
- package/dist/LexicalClickableLinkPlugin.dev.js +38 -0
- package/dist/LexicalClickableLinkPlugin.dev.mjs +36 -0
- package/dist/LexicalClickableLinkPlugin.js +11 -0
- package/dist/LexicalClickableLinkPlugin.mjs +12 -0
- package/dist/LexicalClickableLinkPlugin.node.mjs +10 -0
- package/dist/LexicalClickableLinkPlugin.prod.js +9 -0
- package/dist/LexicalClickableLinkPlugin.prod.mjs +9 -0
- package/dist/LexicalCollaborationContext.d.ts +19 -0
- package/dist/LexicalCollaborationContext.dev.js +69 -0
- package/dist/LexicalCollaborationContext.dev.mjs +65 -0
- package/dist/LexicalCollaborationContext.js +11 -0
- package/dist/LexicalCollaborationContext.mjs +14 -0
- package/dist/LexicalCollaborationContext.node.mjs +12 -0
- package/dist/LexicalCollaborationContext.prod.js +9 -0
- package/dist/LexicalCollaborationContext.prod.mjs +9 -0
- package/dist/LexicalCollaborationPlugin.d.ts +39 -0
- package/dist/LexicalCollaborationPlugin.dev.js +558 -0
- package/dist/LexicalCollaborationPlugin.dev.mjs +543 -0
- package/dist/LexicalCollaborationPlugin.js +11 -0
- package/dist/LexicalCollaborationPlugin.mjs +13 -0
- package/dist/LexicalCollaborationPlugin.node.mjs +11 -0
- package/dist/LexicalCollaborationPlugin.prod.js +9 -0
- package/dist/LexicalCollaborationPlugin.prod.mjs +9 -0
- package/dist/LexicalComposer.d.ts +25 -0
- package/dist/LexicalComposer.dev.js +134 -0
- package/dist/LexicalComposer.dev.mjs +132 -0
- package/dist/LexicalComposer.js +11 -0
- package/dist/LexicalComposer.mjs +12 -0
- package/dist/LexicalComposer.node.mjs +10 -0
- package/dist/LexicalComposer.prod.js +9 -0
- package/dist/LexicalComposer.prod.mjs +9 -0
- package/dist/LexicalComposerContext.d.ts +18 -0
- package/dist/LexicalComposerContext.dev.js +55 -0
- package/dist/LexicalComposerContext.dev.mjs +51 -0
- package/dist/LexicalComposerContext.js +11 -0
- package/dist/LexicalComposerContext.mjs +14 -0
- package/dist/LexicalComposerContext.node.mjs +12 -0
- package/dist/LexicalComposerContext.prod.js +9 -0
- package/dist/LexicalComposerContext.prod.mjs +9 -0
- package/dist/LexicalContentEditable.d.ts +26 -0
- package/dist/LexicalContentEditable.dev.js +242 -0
- package/dist/LexicalContentEditable.dev.mjs +239 -0
- package/dist/LexicalContentEditable.js +11 -0
- package/dist/LexicalContentEditable.mjs +13 -0
- package/dist/LexicalContentEditable.node.mjs +11 -0
- package/dist/LexicalContentEditable.prod.js +9 -0
- package/dist/LexicalContentEditable.prod.mjs +9 -0
- package/dist/LexicalContextMenuPlugin.d.ts +36 -0
- package/dist/LexicalContextMenuPlugin.dev.js +524 -0
- package/dist/LexicalContextMenuPlugin.dev.mjs +509 -0
- package/dist/LexicalContextMenuPlugin.js +11 -0
- package/dist/LexicalContextMenuPlugin.mjs +13 -0
- package/dist/LexicalContextMenuPlugin.node.mjs +11 -0
- package/dist/LexicalContextMenuPlugin.prod.js +9 -0
- package/dist/LexicalContextMenuPlugin.prod.mjs +9 -0
- package/dist/LexicalDecoratorBlockNode.d.ts +25 -0
- package/dist/LexicalDecoratorBlockNode.dev.js +59 -0
- package/dist/LexicalDecoratorBlockNode.dev.mjs +56 -0
- package/dist/LexicalDecoratorBlockNode.js +11 -0
- package/dist/LexicalDecoratorBlockNode.mjs +13 -0
- package/dist/LexicalDecoratorBlockNode.node.mjs +11 -0
- package/dist/LexicalDecoratorBlockNode.prod.js +9 -0
- package/dist/LexicalDecoratorBlockNode.prod.mjs +9 -0
- package/dist/LexicalDraggableBlockPlugin.d.ts +18 -0
- package/dist/LexicalDraggableBlockPlugin.dev.js +534 -0
- package/dist/LexicalDraggableBlockPlugin.dev.mjs +532 -0
- package/dist/LexicalDraggableBlockPlugin.js +11 -0
- package/dist/LexicalDraggableBlockPlugin.mjs +12 -0
- package/dist/LexicalDraggableBlockPlugin.node.mjs +10 -0
- package/dist/LexicalDraggableBlockPlugin.prod.js +9 -0
- package/dist/LexicalDraggableBlockPlugin.prod.mjs +9 -0
- package/dist/LexicalEditorRefPlugin.d.ts +20 -0
- package/dist/LexicalEditorRefPlugin.dev.js +58 -0
- package/dist/LexicalEditorRefPlugin.dev.mjs +43 -0
- package/dist/LexicalEditorRefPlugin.js +11 -0
- package/dist/LexicalEditorRefPlugin.mjs +12 -0
- package/dist/LexicalEditorRefPlugin.node.mjs +10 -0
- package/dist/LexicalEditorRefPlugin.prod.js +9 -0
- package/dist/LexicalEditorRefPlugin.prod.mjs +9 -0
- package/dist/LexicalErrorBoundary.d.ts +13 -0
- package/dist/LexicalErrorBoundary.dev.js +40 -0
- package/dist/LexicalErrorBoundary.dev.mjs +38 -0
- package/dist/LexicalErrorBoundary.js +11 -0
- package/dist/LexicalErrorBoundary.mjs +12 -0
- package/dist/LexicalErrorBoundary.node.mjs +10 -0
- package/dist/LexicalErrorBoundary.prod.js +9 -0
- package/dist/LexicalErrorBoundary.prod.mjs +9 -0
- package/dist/LexicalExtensionComponent.dev.js +53 -0
- package/dist/LexicalExtensionComponent.dev.mjs +51 -0
- package/dist/LexicalExtensionComponent.js +11 -0
- package/dist/LexicalExtensionComponent.mjs +12 -0
- package/dist/LexicalExtensionComponent.node.mjs +10 -0
- package/dist/LexicalExtensionComponent.prod.js +9 -0
- package/dist/LexicalExtensionComponent.prod.mjs +9 -0
- package/dist/LexicalExtensionComposer.d.ts +69 -0
- package/dist/LexicalExtensionComposer.dev.js +105 -0
- package/dist/LexicalExtensionComposer.dev.mjs +103 -0
- package/dist/LexicalExtensionComposer.js +11 -0
- package/dist/LexicalExtensionComposer.mjs +12 -0
- package/dist/LexicalExtensionComposer.node.mjs +10 -0
- package/dist/LexicalExtensionComposer.prod.js +9 -0
- package/dist/LexicalExtensionComposer.prod.mjs +9 -0
- package/dist/LexicalHashtagPlugin.d.ts +9 -0
- package/dist/LexicalHashtagPlugin.dev.js +34 -0
- package/dist/LexicalHashtagPlugin.dev.mjs +32 -0
- package/dist/LexicalHashtagPlugin.js +11 -0
- package/dist/LexicalHashtagPlugin.mjs +12 -0
- package/dist/LexicalHashtagPlugin.node.mjs +10 -0
- package/dist/LexicalHashtagPlugin.prod.js +9 -0
- package/dist/LexicalHashtagPlugin.prod.mjs +9 -0
- package/dist/LexicalHistoryPlugin.d.ts +14 -0
- package/dist/LexicalHistoryPlugin.dev.js +48 -0
- package/dist/LexicalHistoryPlugin.dev.mjs +46 -0
- package/dist/LexicalHistoryPlugin.js +11 -0
- package/dist/LexicalHistoryPlugin.mjs +13 -0
- package/dist/LexicalHistoryPlugin.node.mjs +11 -0
- package/dist/LexicalHistoryPlugin.prod.js +9 -0
- package/dist/LexicalHistoryPlugin.prod.mjs +9 -0
- package/dist/LexicalHorizontalRuleNode.d.ts +25 -0
- package/dist/LexicalHorizontalRuleNode.dev.js +102 -0
- package/dist/LexicalHorizontalRuleNode.dev.mjs +98 -0
- package/dist/LexicalHorizontalRuleNode.js +11 -0
- package/dist/LexicalHorizontalRuleNode.mjs +15 -0
- package/dist/LexicalHorizontalRuleNode.node.mjs +13 -0
- package/dist/LexicalHorizontalRuleNode.prod.js +9 -0
- package/dist/LexicalHorizontalRuleNode.prod.mjs +9 -0
- package/dist/LexicalHorizontalRulePlugin.d.ts +8 -0
- package/dist/LexicalHorizontalRulePlugin.dev.js +44 -0
- package/dist/LexicalHorizontalRulePlugin.dev.mjs +42 -0
- package/dist/LexicalHorizontalRulePlugin.js +11 -0
- package/dist/LexicalHorizontalRulePlugin.mjs +12 -0
- package/dist/LexicalHorizontalRulePlugin.node.mjs +10 -0
- package/dist/LexicalHorizontalRulePlugin.prod.js +9 -0
- package/dist/LexicalHorizontalRulePlugin.prod.mjs +9 -0
- package/dist/LexicalLinkPlugin.d.ts +14 -0
- package/dist/LexicalLinkPlugin.dev.js +43 -0
- package/dist/LexicalLinkPlugin.dev.mjs +41 -0
- package/dist/LexicalLinkPlugin.js +11 -0
- package/dist/LexicalLinkPlugin.mjs +12 -0
- package/dist/LexicalLinkPlugin.node.mjs +10 -0
- package/dist/LexicalLinkPlugin.prod.js +9 -0
- package/dist/LexicalLinkPlugin.prod.mjs +9 -0
- package/dist/LexicalListPlugin.d.ts +15 -0
- package/dist/LexicalListPlugin.dev.js +56 -0
- package/dist/LexicalListPlugin.dev.mjs +54 -0
- package/dist/LexicalListPlugin.js +11 -0
- package/dist/LexicalListPlugin.mjs +12 -0
- package/dist/LexicalListPlugin.node.mjs +10 -0
- package/dist/LexicalListPlugin.prod.js +9 -0
- package/dist/LexicalListPlugin.prod.mjs +9 -0
- package/dist/LexicalMarkdownShortcutPlugin.d.ts +12 -0
- package/dist/LexicalMarkdownShortcutPlugin.dev.js +55 -0
- package/dist/LexicalMarkdownShortcutPlugin.dev.mjs +52 -0
- package/dist/LexicalMarkdownShortcutPlugin.js +11 -0
- package/dist/LexicalMarkdownShortcutPlugin.mjs +13 -0
- package/dist/LexicalMarkdownShortcutPlugin.node.mjs +11 -0
- package/dist/LexicalMarkdownShortcutPlugin.prod.js +9 -0
- package/dist/LexicalMarkdownShortcutPlugin.prod.mjs +9 -0
- package/dist/LexicalNestedComposer.d.ts +57 -0
- package/dist/LexicalNestedComposer.dev.js +161 -0
- package/dist/LexicalNestedComposer.dev.mjs +159 -0
- package/dist/LexicalNestedComposer.js +11 -0
- package/dist/LexicalNestedComposer.mjs +12 -0
- package/dist/LexicalNestedComposer.node.mjs +10 -0
- package/dist/LexicalNestedComposer.prod.js +9 -0
- package/dist/LexicalNestedComposer.prod.mjs +9 -0
- package/dist/LexicalNodeContextMenuPlugin.d.ts +46 -0
- package/dist/LexicalNodeContextMenuPlugin.dev.js +257 -0
- package/dist/LexicalNodeContextMenuPlugin.dev.mjs +253 -0
- package/dist/LexicalNodeContextMenuPlugin.js +11 -0
- package/dist/LexicalNodeContextMenuPlugin.mjs +14 -0
- package/dist/LexicalNodeContextMenuPlugin.node.mjs +12 -0
- package/dist/LexicalNodeContextMenuPlugin.prod.js +9 -0
- package/dist/LexicalNodeContextMenuPlugin.prod.mjs +9 -0
- package/dist/LexicalNodeEventPlugin.d.ts +13 -0
- package/dist/LexicalNodeEventPlugin.dev.js +61 -0
- package/dist/LexicalNodeEventPlugin.dev.mjs +59 -0
- package/dist/LexicalNodeEventPlugin.js +11 -0
- package/dist/LexicalNodeEventPlugin.mjs +12 -0
- package/dist/LexicalNodeEventPlugin.node.mjs +10 -0
- package/dist/LexicalNodeEventPlugin.prod.js +9 -0
- package/dist/LexicalNodeEventPlugin.prod.mjs +9 -0
- package/dist/LexicalNodeMenuPlugin.d.ts +24 -0
- package/dist/LexicalNodeMenuPlugin.dev.js +527 -0
- package/dist/LexicalNodeMenuPlugin.dev.mjs +524 -0
- package/dist/LexicalNodeMenuPlugin.js +11 -0
- package/dist/LexicalNodeMenuPlugin.mjs +13 -0
- package/dist/LexicalNodeMenuPlugin.node.mjs +11 -0
- package/dist/LexicalNodeMenuPlugin.prod.js +9 -0
- package/dist/LexicalNodeMenuPlugin.prod.mjs +9 -0
- package/dist/LexicalOnChangePlugin.d.ts +13 -0
- package/dist/LexicalOnChangePlugin.dev.js +72 -0
- package/dist/LexicalOnChangePlugin.dev.mjs +70 -0
- package/dist/LexicalOnChangePlugin.js +11 -0
- package/dist/LexicalOnChangePlugin.mjs +12 -0
- package/dist/LexicalOnChangePlugin.node.mjs +10 -0
- package/dist/LexicalOnChangePlugin.prod.js +9 -0
- package/dist/LexicalOnChangePlugin.prod.mjs +9 -0
- package/dist/LexicalPlainTextPlugin.d.ts +14 -0
- package/dist/LexicalPlainTextPlugin.dev.js +235 -0
- package/dist/LexicalPlainTextPlugin.dev.mjs +233 -0
- package/dist/LexicalPlainTextPlugin.js +11 -0
- package/dist/LexicalPlainTextPlugin.mjs +12 -0
- package/dist/LexicalPlainTextPlugin.node.mjs +10 -0
- package/dist/LexicalPlainTextPlugin.prod.js +9 -0
- package/dist/LexicalPlainTextPlugin.prod.mjs +9 -0
- package/dist/LexicalReactExtension.dev.js +187 -0
- package/dist/LexicalReactExtension.dev.mjs +184 -0
- package/dist/LexicalReactExtension.js +11 -0
- package/dist/LexicalReactExtension.mjs +13 -0
- package/dist/LexicalReactExtension.node.mjs +11 -0
- package/dist/LexicalReactExtension.prod.js +9 -0
- package/dist/LexicalReactExtension.prod.mjs +9 -0
- package/dist/LexicalReactPluginHostExtension.dev.js +189 -0
- package/dist/LexicalReactPluginHostExtension.dev.mjs +181 -0
- package/dist/LexicalReactPluginHostExtension.js +11 -0
- package/dist/LexicalReactPluginHostExtension.mjs +18 -0
- package/dist/LexicalReactPluginHostExtension.node.mjs +16 -0
- package/dist/LexicalReactPluginHostExtension.prod.js +9 -0
- package/dist/LexicalReactPluginHostExtension.prod.mjs +9 -0
- package/dist/LexicalReactProviderExtension.dev.js +33 -0
- package/dist/LexicalReactProviderExtension.dev.mjs +31 -0
- package/dist/LexicalReactProviderExtension.js +11 -0
- package/dist/LexicalReactProviderExtension.mjs +12 -0
- package/dist/LexicalReactProviderExtension.node.mjs +10 -0
- package/dist/LexicalReactProviderExtension.prod.js +9 -0
- package/dist/LexicalReactProviderExtension.prod.mjs +9 -0
- package/dist/LexicalRichTextPlugin.d.ts +14 -0
- package/dist/LexicalRichTextPlugin.dev.js +235 -0
- package/dist/LexicalRichTextPlugin.dev.mjs +233 -0
- package/dist/LexicalRichTextPlugin.js +11 -0
- package/dist/LexicalRichTextPlugin.mjs +12 -0
- package/dist/LexicalRichTextPlugin.node.mjs +10 -0
- package/dist/LexicalRichTextPlugin.prod.js +9 -0
- package/dist/LexicalRichTextPlugin.prod.mjs +9 -0
- package/dist/LexicalSelectionAlwaysOnDisplay.d.ts +8 -0
- package/dist/LexicalSelectionAlwaysOnDisplay.dev.js +31 -0
- package/dist/LexicalSelectionAlwaysOnDisplay.dev.mjs +29 -0
- package/dist/LexicalSelectionAlwaysOnDisplay.js +11 -0
- package/dist/LexicalSelectionAlwaysOnDisplay.mjs +12 -0
- package/dist/LexicalSelectionAlwaysOnDisplay.node.mjs +10 -0
- package/dist/LexicalSelectionAlwaysOnDisplay.prod.js +9 -0
- package/dist/LexicalSelectionAlwaysOnDisplay.prod.mjs +9 -0
- package/dist/LexicalTabIndentationPlugin.d.ts +17 -0
- package/dist/LexicalTabIndentationPlugin.dev.js +40 -0
- package/dist/LexicalTabIndentationPlugin.dev.mjs +38 -0
- package/dist/LexicalTabIndentationPlugin.js +11 -0
- package/dist/LexicalTabIndentationPlugin.mjs +13 -0
- package/dist/LexicalTabIndentationPlugin.node.mjs +11 -0
- package/dist/LexicalTabIndentationPlugin.prod.js +9 -0
- package/dist/LexicalTabIndentationPlugin.prod.mjs +9 -0
- package/dist/LexicalTableOfContentsPlugin.d.ts +20 -0
- package/dist/LexicalTableOfContentsPlugin.dev.js +209 -0
- package/dist/LexicalTableOfContentsPlugin.dev.mjs +207 -0
- package/dist/LexicalTableOfContentsPlugin.js +11 -0
- package/dist/LexicalTableOfContentsPlugin.mjs +12 -0
- package/dist/LexicalTableOfContentsPlugin.node.mjs +10 -0
- package/dist/LexicalTableOfContentsPlugin.prod.js +9 -0
- package/dist/LexicalTableOfContentsPlugin.prod.mjs +9 -0
- package/dist/LexicalTablePlugin.d.ts +40 -0
- package/dist/LexicalTablePlugin.dev.js +77 -0
- package/dist/LexicalTablePlugin.dev.mjs +75 -0
- package/dist/LexicalTablePlugin.js +11 -0
- package/dist/LexicalTablePlugin.mjs +12 -0
- package/dist/LexicalTablePlugin.node.mjs +10 -0
- package/dist/LexicalTablePlugin.prod.js +9 -0
- package/dist/LexicalTablePlugin.prod.mjs +9 -0
- package/dist/LexicalTreeView.d.ts +37 -0
- package/dist/LexicalTreeView.dev.js +105 -0
- package/dist/LexicalTreeView.dev.mjs +91 -0
- package/dist/LexicalTreeView.js +11 -0
- package/dist/LexicalTreeView.mjs +12 -0
- package/dist/LexicalTreeView.node.mjs +10 -0
- package/dist/LexicalTreeView.prod.js +9 -0
- package/dist/LexicalTreeView.prod.mjs +9 -0
- package/dist/LexicalTreeViewExtension.dev.js +57 -0
- package/dist/LexicalTreeViewExtension.dev.mjs +54 -0
- package/dist/LexicalTreeViewExtension.js +11 -0
- package/dist/LexicalTreeViewExtension.mjs +13 -0
- package/dist/LexicalTreeViewExtension.node.mjs +11 -0
- package/dist/LexicalTreeViewExtension.prod.js +9 -0
- package/dist/LexicalTreeViewExtension.prod.mjs +9 -0
- package/dist/LexicalTypeaheadMenuPlugin.d.ts +40 -0
- package/dist/LexicalTypeaheadMenuPlugin.dev.js +654 -0
- package/dist/LexicalTypeaheadMenuPlugin.dev.mjs +646 -0
- package/dist/LexicalTypeaheadMenuPlugin.js +11 -0
- package/dist/LexicalTypeaheadMenuPlugin.mjs +18 -0
- package/dist/LexicalTypeaheadMenuPlugin.node.mjs +16 -0
- package/dist/LexicalTypeaheadMenuPlugin.prod.js +9 -0
- package/dist/LexicalTypeaheadMenuPlugin.prod.mjs +9 -0
- package/dist/ReactExtension.d.ts +41 -0
- package/dist/ReactPluginHostExtension.d.ts +56 -0
- package/dist/ReactProviderExtension.d.ts +9 -0
- package/dist/TreeViewExtension.d.ts +18 -0
- package/dist/shared/LegacyDecorators.d.ts +23 -0
- package/dist/shared/LexicalContentEditableElement.d.ts +43 -0
- package/dist/shared/LexicalMenu.d.ts +52 -0
- package/dist/shared/buildEditorComponent.d.ts +11 -0
- package/dist/shared/mergeRefs.d.ts +9 -0
- package/dist/shared/point.d.ts +21 -0
- package/dist/shared/rect.d.ts +45 -0
- package/dist/shared/types.d.ts +89 -0
- package/dist/shared/useCanShowPlaceholder.d.ts +9 -0
- package/dist/shared/useCharacterLimit.d.ts +16 -0
- package/dist/shared/useDecorators.d.ts +17 -0
- package/dist/shared/useHistory.d.ts +10 -0
- package/dist/shared/useList.d.ts +9 -0
- package/dist/shared/usePlainTextSetup.d.ts +9 -0
- package/dist/shared/useReactDecorators.d.ts +12 -0
- package/dist/shared/useRichTextSetup.d.ts +9 -0
- package/dist/shared/useYjsCollaboration.d.ts +25 -0
- package/dist/useExtensionComponent.d.ts +10 -0
- package/dist/useLexicalEditable.d.ts +16 -0
- package/dist/useLexicalEditable.dev.js +102 -0
- package/dist/useLexicalEditable.dev.mjs +100 -0
- package/dist/useLexicalEditable.js +11 -0
- package/dist/useLexicalEditable.mjs +12 -0
- package/dist/useLexicalEditable.node.mjs +10 -0
- package/dist/useLexicalEditable.prod.js +9 -0
- package/dist/useLexicalEditable.prod.mjs +9 -0
- package/dist/useLexicalExtensionComponent.dev.js +37 -0
- package/dist/useLexicalExtensionComponent.dev.mjs +34 -0
- package/dist/useLexicalExtensionComponent.js +11 -0
- package/dist/useLexicalExtensionComponent.mjs +13 -0
- package/dist/useLexicalExtensionComponent.node.mjs +11 -0
- package/dist/useLexicalExtensionComponent.prod.js +9 -0
- package/dist/useLexicalExtensionComponent.prod.mjs +9 -0
- package/dist/useLexicalIsTextContentEmpty.d.ts +9 -0
- package/dist/useLexicalIsTextContentEmpty.dev.js +60 -0
- package/dist/useLexicalIsTextContentEmpty.dev.mjs +58 -0
- package/dist/useLexicalIsTextContentEmpty.js +11 -0
- package/dist/useLexicalIsTextContentEmpty.mjs +12 -0
- package/dist/useLexicalIsTextContentEmpty.node.mjs +10 -0
- package/dist/useLexicalIsTextContentEmpty.prod.js +9 -0
- package/dist/useLexicalIsTextContentEmpty.prod.mjs +9 -0
- package/dist/useLexicalNodeSelection.d.ts +24 -0
- package/dist/useLexicalNodeSelection.dev.js +102 -0
- package/dist/useLexicalNodeSelection.dev.mjs +100 -0
- package/dist/useLexicalNodeSelection.js +11 -0
- package/dist/useLexicalNodeSelection.mjs +12 -0
- package/dist/useLexicalNodeSelection.node.mjs +10 -0
- package/dist/useLexicalNodeSelection.prod.js +9 -0
- package/dist/useLexicalNodeSelection.prod.mjs +9 -0
- package/dist/useLexicalSubscription.d.ts +17 -0
- package/dist/useLexicalSubscription.dev.js +73 -0
- package/dist/useLexicalSubscription.dev.mjs +71 -0
- package/dist/useLexicalSubscription.js +11 -0
- package/dist/useLexicalSubscription.mjs +12 -0
- package/dist/useLexicalSubscription.node.mjs +10 -0
- package/dist/useLexicalSubscription.prod.js +9 -0
- package/dist/useLexicalSubscription.prod.mjs +9 -0
- package/dist/useLexicalTextEntity.d.ts +10 -0
- package/dist/useLexicalTextEntity.dev.js +31 -0
- package/dist/useLexicalTextEntity.dev.mjs +29 -0
- package/dist/useLexicalTextEntity.js +11 -0
- package/dist/useLexicalTextEntity.mjs +12 -0
- package/dist/useLexicalTextEntity.node.mjs +10 -0
- package/dist/useLexicalTextEntity.prod.js +9 -0
- package/dist/useLexicalTextEntity.prod.mjs +9 -0
- package/flow/LexicalAutoEmbedPlugin.js.flow +64 -0
- package/flow/LexicalAutoFocusPlugin.js.flow +14 -0
- package/flow/LexicalAutoLinkPlugin.js.flow +18 -0
- package/flow/LexicalBlockWithAlignableContents.js.flow +28 -0
- package/flow/LexicalCharacterLimitPlugin.js.flow +12 -0
- package/flow/LexicalCheckListPlugin.js.flow +10 -0
- package/flow/LexicalClearEditorPlugin.js.flow +14 -0
- package/flow/LexicalClickableLinkPlugin.js.flow +12 -0
- package/flow/LexicalCollaborationContext.js.flow +22 -0
- package/flow/LexicalCollaborationPlugin.js.flow +50 -0
- package/flow/LexicalComposer.js.flow +40 -0
- package/flow/LexicalComposerContext.js.flow +27 -0
- package/flow/LexicalContentEditable.js.flow +80 -0
- package/flow/LexicalContextMenuPlugin.js.flow +13 -0
- package/flow/LexicalDecoratorBlockNode.js.flow +35 -0
- package/flow/LexicalDraggableBlockPlugin.js.flow +24 -0
- package/flow/LexicalEditorRefPlugin.js.flow +19 -0
- package/flow/LexicalErrorBoundary.js.flow +17 -0
- package/flow/LexicalExtensionComponent.js.flow +12 -0
- package/flow/LexicalExtensionComposer.js.flow +20 -0
- package/flow/LexicalHashtagPlugin.js.flow +10 -0
- package/flow/LexicalHistoryPlugin.js.flow +28 -0
- package/flow/LexicalHorizontalRuleNode.js.flow +27 -0
- package/flow/LexicalHorizontalRulePlugin.js.flow +12 -0
- package/flow/LexicalLinkPlugin.js.flow +21 -0
- package/flow/LexicalListPlugin.js.flow +15 -0
- package/flow/LexicalMarkdownShortcutPlugin.js.flow +16 -0
- package/flow/LexicalNestedComposer.js.flow +26 -0
- package/flow/LexicalNodeContextMenuPlugin.js.flow +12 -0
- package/flow/LexicalNodeEventPlugin.js.flow +20 -0
- package/flow/LexicalNodeMenuPlugin.js.flow +64 -0
- package/flow/LexicalOnChangePlugin.js.flow +16 -0
- package/flow/LexicalPlainTextPlugin.js.flow +29 -0
- package/flow/LexicalReactExtension.js.flow +68 -0
- package/flow/LexicalReactPluginHostExtension.js.flow +84 -0
- package/flow/LexicalReactProviderExtension.js.flow +12 -0
- package/flow/LexicalRichTextPlugin.js.flow +29 -0
- package/flow/LexicalSelectionAlwaysOnDisplay.js.flow +13 -0
- package/flow/LexicalTabIndentationPlugin.js.flow +21 -0
- package/flow/LexicalTableOfContentsPlugin.js.flow +18 -0
- package/flow/LexicalTablePlugin.js.flow +15 -0
- package/flow/LexicalTreeView.js.flow +21 -0
- package/flow/LexicalTreeViewExtension.js.flow +12 -0
- package/flow/LexicalTypeaheadMenuPlugin.js.flow +83 -0
- package/flow/useLexicalEditable.js.flow +12 -0
- package/flow/useLexicalExtensionComponent.js.flow +12 -0
- package/flow/useLexicalIsTextContentEmpty.js.flow +15 -0
- package/flow/useLexicalNodeSelection.js.flow +14 -0
- package/flow/useLexicalSubscription.js.flow +19 -0
- package/flow/useLexicalTextEntity.js.flow +18 -0
- package/npm/ExtensionComponent.d.ts +42 -0
- package/npm/LICENSE +21 -0
- package/npm/LexicalAutoEmbedPlugin.d.ts +39 -0
- package/npm/LexicalAutoEmbedPlugin.dev.js +146 -0
- package/npm/LexicalAutoEmbedPlugin.dev.mjs +141 -0
- package/npm/LexicalAutoEmbedPlugin.js +11 -0
- package/npm/LexicalAutoEmbedPlugin.js.flow +64 -0
- package/npm/LexicalAutoEmbedPlugin.mjs +15 -0
- package/npm/LexicalAutoEmbedPlugin.node.mjs +13 -0
- package/npm/LexicalAutoEmbedPlugin.prod.js +9 -0
- package/npm/LexicalAutoEmbedPlugin.prod.mjs +9 -0
- package/npm/LexicalAutoFocusPlugin.d.ts +12 -0
- package/npm/LexicalAutoFocusPlugin.dev.js +47 -0
- package/npm/LexicalAutoFocusPlugin.dev.mjs +45 -0
- package/npm/LexicalAutoFocusPlugin.js +11 -0
- package/npm/LexicalAutoFocusPlugin.js.flow +14 -0
- package/npm/LexicalAutoFocusPlugin.mjs +12 -0
- package/npm/LexicalAutoFocusPlugin.node.mjs +10 -0
- package/npm/LexicalAutoFocusPlugin.prod.js +9 -0
- package/npm/LexicalAutoFocusPlugin.prod.mjs +9 -0
- package/npm/LexicalAutoLinkPlugin.d.ts +14 -0
- package/npm/LexicalAutoLinkPlugin.dev.js +54 -0
- package/npm/LexicalAutoLinkPlugin.dev.mjs +52 -0
- package/npm/LexicalAutoLinkPlugin.js +11 -0
- package/npm/LexicalAutoLinkPlugin.js.flow +18 -0
- package/npm/LexicalAutoLinkPlugin.mjs +13 -0
- package/npm/LexicalAutoLinkPlugin.node.mjs +11 -0
- package/npm/LexicalAutoLinkPlugin.prod.js +9 -0
- package/npm/LexicalAutoLinkPlugin.prod.mjs +9 -0
- package/npm/LexicalBlockWithAlignableContents.d.ts +21 -0
- package/npm/LexicalBlockWithAlignableContents.dev.js +81 -0
- package/npm/LexicalBlockWithAlignableContents.dev.mjs +79 -0
- package/npm/LexicalBlockWithAlignableContents.js +11 -0
- package/npm/LexicalBlockWithAlignableContents.js.flow +28 -0
- package/npm/LexicalBlockWithAlignableContents.mjs +12 -0
- package/npm/LexicalBlockWithAlignableContents.node.mjs +10 -0
- package/npm/LexicalBlockWithAlignableContents.prod.js +9 -0
- package/npm/LexicalBlockWithAlignableContents.prod.mjs +9 -0
- package/npm/LexicalCharacterLimitPlugin.d.ts +15 -0
- package/npm/LexicalCharacterLimitPlugin.dev.js +292 -0
- package/npm/LexicalCharacterLimitPlugin.dev.mjs +290 -0
- package/npm/LexicalCharacterLimitPlugin.js +11 -0
- package/npm/LexicalCharacterLimitPlugin.js.flow +12 -0
- package/npm/LexicalCharacterLimitPlugin.mjs +12 -0
- package/npm/LexicalCharacterLimitPlugin.node.mjs +10 -0
- package/npm/LexicalCharacterLimitPlugin.prod.js +9 -0
- package/npm/LexicalCharacterLimitPlugin.prod.mjs +9 -0
- package/npm/LexicalCheckListPlugin.d.ts +8 -0
- package/npm/LexicalCheckListPlugin.dev.js +31 -0
- package/npm/LexicalCheckListPlugin.dev.mjs +29 -0
- package/npm/LexicalCheckListPlugin.js +11 -0
- package/npm/LexicalCheckListPlugin.js.flow +10 -0
- package/npm/LexicalCheckListPlugin.mjs +12 -0
- package/npm/LexicalCheckListPlugin.node.mjs +10 -0
- package/npm/LexicalCheckListPlugin.prod.js +9 -0
- package/npm/LexicalCheckListPlugin.prod.mjs +9 -0
- package/npm/LexicalClearEditorPlugin.d.ts +13 -0
- package/npm/LexicalClearEditorPlugin.dev.js +55 -0
- package/npm/LexicalClearEditorPlugin.dev.mjs +53 -0
- package/npm/LexicalClearEditorPlugin.js +11 -0
- package/npm/LexicalClearEditorPlugin.js.flow +14 -0
- package/npm/LexicalClearEditorPlugin.mjs +12 -0
- package/npm/LexicalClearEditorPlugin.node.mjs +10 -0
- package/npm/LexicalClearEditorPlugin.prod.js +9 -0
- package/npm/LexicalClearEditorPlugin.prod.mjs +9 -0
- package/npm/LexicalClickableLinkPlugin.d.ts +11 -0
- package/npm/LexicalClickableLinkPlugin.dev.js +38 -0
- package/npm/LexicalClickableLinkPlugin.dev.mjs +36 -0
- package/npm/LexicalClickableLinkPlugin.js +11 -0
- package/npm/LexicalClickableLinkPlugin.js.flow +12 -0
- package/npm/LexicalClickableLinkPlugin.mjs +12 -0
- package/npm/LexicalClickableLinkPlugin.node.mjs +10 -0
- package/npm/LexicalClickableLinkPlugin.prod.js +9 -0
- package/npm/LexicalClickableLinkPlugin.prod.mjs +9 -0
- package/npm/LexicalCollaborationContext.d.ts +19 -0
- package/npm/LexicalCollaborationContext.dev.js +69 -0
- package/npm/LexicalCollaborationContext.dev.mjs +65 -0
- package/npm/LexicalCollaborationContext.js +11 -0
- package/npm/LexicalCollaborationContext.js.flow +22 -0
- package/npm/LexicalCollaborationContext.mjs +14 -0
- package/npm/LexicalCollaborationContext.node.mjs +12 -0
- package/npm/LexicalCollaborationContext.prod.js +9 -0
- package/npm/LexicalCollaborationContext.prod.mjs +9 -0
- package/npm/LexicalCollaborationPlugin.d.ts +39 -0
- package/npm/LexicalCollaborationPlugin.dev.js +558 -0
- package/npm/LexicalCollaborationPlugin.dev.mjs +543 -0
- package/npm/LexicalCollaborationPlugin.js +11 -0
- package/npm/LexicalCollaborationPlugin.js.flow +50 -0
- package/npm/LexicalCollaborationPlugin.mjs +13 -0
- package/npm/LexicalCollaborationPlugin.node.mjs +11 -0
- package/npm/LexicalCollaborationPlugin.prod.js +9 -0
- package/npm/LexicalCollaborationPlugin.prod.mjs +9 -0
- package/npm/LexicalComposer.d.ts +25 -0
- package/npm/LexicalComposer.dev.js +134 -0
- package/npm/LexicalComposer.dev.mjs +132 -0
- package/npm/LexicalComposer.js +11 -0
- package/npm/LexicalComposer.js.flow +40 -0
- package/npm/LexicalComposer.mjs +12 -0
- package/npm/LexicalComposer.node.mjs +10 -0
- package/npm/LexicalComposer.prod.js +9 -0
- package/npm/LexicalComposer.prod.mjs +9 -0
- package/npm/LexicalComposerContext.d.ts +18 -0
- package/npm/LexicalComposerContext.dev.js +55 -0
- package/npm/LexicalComposerContext.dev.mjs +51 -0
- package/npm/LexicalComposerContext.js +11 -0
- package/npm/LexicalComposerContext.js.flow +27 -0
- package/npm/LexicalComposerContext.mjs +14 -0
- package/npm/LexicalComposerContext.node.mjs +12 -0
- package/npm/LexicalComposerContext.prod.js +9 -0
- package/npm/LexicalComposerContext.prod.mjs +9 -0
- package/npm/LexicalContentEditable.d.ts +26 -0
- package/npm/LexicalContentEditable.dev.js +242 -0
- package/npm/LexicalContentEditable.dev.mjs +239 -0
- package/npm/LexicalContentEditable.js +11 -0
- package/npm/LexicalContentEditable.js.flow +80 -0
- package/npm/LexicalContentEditable.mjs +13 -0
- package/npm/LexicalContentEditable.node.mjs +11 -0
- package/npm/LexicalContentEditable.prod.js +9 -0
- package/npm/LexicalContentEditable.prod.mjs +9 -0
- package/npm/LexicalContextMenuPlugin.d.ts +36 -0
- package/npm/LexicalContextMenuPlugin.dev.js +524 -0
- package/npm/LexicalContextMenuPlugin.dev.mjs +509 -0
- package/npm/LexicalContextMenuPlugin.js +11 -0
- package/npm/LexicalContextMenuPlugin.js.flow +13 -0
- package/npm/LexicalContextMenuPlugin.mjs +13 -0
- package/npm/LexicalContextMenuPlugin.node.mjs +11 -0
- package/npm/LexicalContextMenuPlugin.prod.js +9 -0
- package/npm/LexicalContextMenuPlugin.prod.mjs +9 -0
- package/npm/LexicalDecoratorBlockNode.d.ts +25 -0
- package/npm/LexicalDecoratorBlockNode.dev.js +59 -0
- package/npm/LexicalDecoratorBlockNode.dev.mjs +56 -0
- package/npm/LexicalDecoratorBlockNode.js +11 -0
- package/npm/LexicalDecoratorBlockNode.js.flow +35 -0
- package/npm/LexicalDecoratorBlockNode.mjs +13 -0
- package/npm/LexicalDecoratorBlockNode.node.mjs +11 -0
- package/npm/LexicalDecoratorBlockNode.prod.js +9 -0
- package/npm/LexicalDecoratorBlockNode.prod.mjs +9 -0
- package/npm/LexicalDraggableBlockPlugin.d.ts +18 -0
- package/npm/LexicalDraggableBlockPlugin.dev.js +534 -0
- package/npm/LexicalDraggableBlockPlugin.dev.mjs +532 -0
- package/npm/LexicalDraggableBlockPlugin.js +11 -0
- package/npm/LexicalDraggableBlockPlugin.js.flow +24 -0
- package/npm/LexicalDraggableBlockPlugin.mjs +12 -0
- package/npm/LexicalDraggableBlockPlugin.node.mjs +10 -0
- package/npm/LexicalDraggableBlockPlugin.prod.js +9 -0
- package/npm/LexicalDraggableBlockPlugin.prod.mjs +9 -0
- package/npm/LexicalEditorRefPlugin.d.ts +20 -0
- package/npm/LexicalEditorRefPlugin.dev.js +58 -0
- package/npm/LexicalEditorRefPlugin.dev.mjs +43 -0
- package/npm/LexicalEditorRefPlugin.js +11 -0
- package/npm/LexicalEditorRefPlugin.js.flow +19 -0
- package/npm/LexicalEditorRefPlugin.mjs +12 -0
- package/npm/LexicalEditorRefPlugin.node.mjs +10 -0
- package/npm/LexicalEditorRefPlugin.prod.js +9 -0
- package/npm/LexicalEditorRefPlugin.prod.mjs +9 -0
- package/npm/LexicalErrorBoundary.d.ts +13 -0
- package/npm/LexicalErrorBoundary.dev.js +40 -0
- package/npm/LexicalErrorBoundary.dev.mjs +38 -0
- package/npm/LexicalErrorBoundary.js +11 -0
- package/npm/LexicalErrorBoundary.js.flow +17 -0
- package/npm/LexicalErrorBoundary.mjs +12 -0
- package/npm/LexicalErrorBoundary.node.mjs +10 -0
- package/npm/LexicalErrorBoundary.prod.js +9 -0
- package/npm/LexicalErrorBoundary.prod.mjs +9 -0
- package/npm/LexicalExtensionComponent.dev.js +53 -0
- package/npm/LexicalExtensionComponent.dev.mjs +51 -0
- package/npm/LexicalExtensionComponent.js +11 -0
- package/npm/LexicalExtensionComponent.js.flow +12 -0
- package/npm/LexicalExtensionComponent.mjs +12 -0
- package/npm/LexicalExtensionComponent.node.mjs +10 -0
- package/npm/LexicalExtensionComponent.prod.js +9 -0
- package/npm/LexicalExtensionComponent.prod.mjs +9 -0
- package/npm/LexicalExtensionComposer.d.ts +69 -0
- package/npm/LexicalExtensionComposer.dev.js +105 -0
- package/npm/LexicalExtensionComposer.dev.mjs +103 -0
- package/npm/LexicalExtensionComposer.js +11 -0
- package/npm/LexicalExtensionComposer.js.flow +20 -0
- package/npm/LexicalExtensionComposer.mjs +12 -0
- package/npm/LexicalExtensionComposer.node.mjs +10 -0
- package/npm/LexicalExtensionComposer.prod.js +9 -0
- package/npm/LexicalExtensionComposer.prod.mjs +9 -0
- package/npm/LexicalHashtagPlugin.d.ts +9 -0
- package/npm/LexicalHashtagPlugin.dev.js +34 -0
- package/npm/LexicalHashtagPlugin.dev.mjs +32 -0
- package/npm/LexicalHashtagPlugin.js +11 -0
- package/npm/LexicalHashtagPlugin.js.flow +10 -0
- package/npm/LexicalHashtagPlugin.mjs +12 -0
- package/npm/LexicalHashtagPlugin.node.mjs +10 -0
- package/npm/LexicalHashtagPlugin.prod.js +9 -0
- package/npm/LexicalHashtagPlugin.prod.mjs +9 -0
- package/npm/LexicalHistoryPlugin.d.ts +14 -0
- package/npm/LexicalHistoryPlugin.dev.js +48 -0
- package/npm/LexicalHistoryPlugin.dev.mjs +46 -0
- package/npm/LexicalHistoryPlugin.js +11 -0
- package/npm/LexicalHistoryPlugin.js.flow +28 -0
- package/npm/LexicalHistoryPlugin.mjs +13 -0
- package/npm/LexicalHistoryPlugin.node.mjs +11 -0
- package/npm/LexicalHistoryPlugin.prod.js +9 -0
- package/npm/LexicalHistoryPlugin.prod.mjs +9 -0
- package/npm/LexicalHorizontalRuleNode.d.ts +25 -0
- package/npm/LexicalHorizontalRuleNode.dev.js +102 -0
- package/npm/LexicalHorizontalRuleNode.dev.mjs +98 -0
- package/npm/LexicalHorizontalRuleNode.js +11 -0
- package/npm/LexicalHorizontalRuleNode.js.flow +27 -0
- package/npm/LexicalHorizontalRuleNode.mjs +15 -0
- package/npm/LexicalHorizontalRuleNode.node.mjs +13 -0
- package/npm/LexicalHorizontalRuleNode.prod.js +9 -0
- package/npm/LexicalHorizontalRuleNode.prod.mjs +9 -0
- package/npm/LexicalHorizontalRulePlugin.d.ts +8 -0
- package/npm/LexicalHorizontalRulePlugin.dev.js +44 -0
- package/npm/LexicalHorizontalRulePlugin.dev.mjs +42 -0
- package/npm/LexicalHorizontalRulePlugin.js +11 -0
- package/npm/LexicalHorizontalRulePlugin.js.flow +12 -0
- package/npm/LexicalHorizontalRulePlugin.mjs +12 -0
- package/npm/LexicalHorizontalRulePlugin.node.mjs +10 -0
- package/npm/LexicalHorizontalRulePlugin.prod.js +9 -0
- package/npm/LexicalHorizontalRulePlugin.prod.mjs +9 -0
- package/npm/LexicalLinkPlugin.d.ts +14 -0
- package/npm/LexicalLinkPlugin.dev.js +43 -0
- package/npm/LexicalLinkPlugin.dev.mjs +41 -0
- package/npm/LexicalLinkPlugin.js +11 -0
- package/npm/LexicalLinkPlugin.js.flow +21 -0
- package/npm/LexicalLinkPlugin.mjs +12 -0
- package/npm/LexicalLinkPlugin.node.mjs +10 -0
- package/npm/LexicalLinkPlugin.prod.js +9 -0
- package/npm/LexicalLinkPlugin.prod.mjs +9 -0
- package/npm/LexicalListPlugin.d.ts +15 -0
- package/npm/LexicalListPlugin.dev.js +56 -0
- package/npm/LexicalListPlugin.dev.mjs +54 -0
- package/npm/LexicalListPlugin.js +11 -0
- package/npm/LexicalListPlugin.js.flow +15 -0
- package/npm/LexicalListPlugin.mjs +12 -0
- package/npm/LexicalListPlugin.node.mjs +10 -0
- package/npm/LexicalListPlugin.prod.js +9 -0
- package/npm/LexicalListPlugin.prod.mjs +9 -0
- package/npm/LexicalMarkdownShortcutPlugin.d.ts +12 -0
- package/npm/LexicalMarkdownShortcutPlugin.dev.js +55 -0
- package/npm/LexicalMarkdownShortcutPlugin.dev.mjs +52 -0
- package/npm/LexicalMarkdownShortcutPlugin.js +11 -0
- package/npm/LexicalMarkdownShortcutPlugin.js.flow +16 -0
- package/npm/LexicalMarkdownShortcutPlugin.mjs +13 -0
- package/npm/LexicalMarkdownShortcutPlugin.node.mjs +11 -0
- package/npm/LexicalMarkdownShortcutPlugin.prod.js +9 -0
- package/npm/LexicalMarkdownShortcutPlugin.prod.mjs +9 -0
- package/npm/LexicalNestedComposer.d.ts +57 -0
- package/npm/LexicalNestedComposer.dev.js +161 -0
- package/npm/LexicalNestedComposer.dev.mjs +159 -0
- package/npm/LexicalNestedComposer.js +11 -0
- package/npm/LexicalNestedComposer.js.flow +26 -0
- package/npm/LexicalNestedComposer.mjs +12 -0
- package/npm/LexicalNestedComposer.node.mjs +10 -0
- package/npm/LexicalNestedComposer.prod.js +9 -0
- package/npm/LexicalNestedComposer.prod.mjs +9 -0
- package/npm/LexicalNodeContextMenuPlugin.d.ts +46 -0
- package/npm/LexicalNodeContextMenuPlugin.dev.js +257 -0
- package/npm/LexicalNodeContextMenuPlugin.dev.mjs +253 -0
- package/npm/LexicalNodeContextMenuPlugin.js +11 -0
- package/npm/LexicalNodeContextMenuPlugin.js.flow +12 -0
- package/npm/LexicalNodeContextMenuPlugin.mjs +14 -0
- package/npm/LexicalNodeContextMenuPlugin.node.mjs +12 -0
- package/npm/LexicalNodeContextMenuPlugin.prod.js +9 -0
- package/npm/LexicalNodeContextMenuPlugin.prod.mjs +9 -0
- package/npm/LexicalNodeEventPlugin.d.ts +13 -0
- package/npm/LexicalNodeEventPlugin.dev.js +61 -0
- package/npm/LexicalNodeEventPlugin.dev.mjs +59 -0
- package/npm/LexicalNodeEventPlugin.js +11 -0
- package/npm/LexicalNodeEventPlugin.js.flow +20 -0
- package/npm/LexicalNodeEventPlugin.mjs +12 -0
- package/npm/LexicalNodeEventPlugin.node.mjs +10 -0
- package/npm/LexicalNodeEventPlugin.prod.js +9 -0
- package/npm/LexicalNodeEventPlugin.prod.mjs +9 -0
- package/npm/LexicalNodeMenuPlugin.d.ts +24 -0
- package/npm/LexicalNodeMenuPlugin.dev.js +527 -0
- package/npm/LexicalNodeMenuPlugin.dev.mjs +524 -0
- package/npm/LexicalNodeMenuPlugin.js +11 -0
- package/npm/LexicalNodeMenuPlugin.js.flow +64 -0
- package/npm/LexicalNodeMenuPlugin.mjs +13 -0
- package/npm/LexicalNodeMenuPlugin.node.mjs +11 -0
- package/npm/LexicalNodeMenuPlugin.prod.js +9 -0
- package/npm/LexicalNodeMenuPlugin.prod.mjs +9 -0
- package/npm/LexicalOnChangePlugin.d.ts +13 -0
- package/npm/LexicalOnChangePlugin.dev.js +72 -0
- package/npm/LexicalOnChangePlugin.dev.mjs +70 -0
- package/npm/LexicalOnChangePlugin.js +11 -0
- package/npm/LexicalOnChangePlugin.js.flow +16 -0
- package/npm/LexicalOnChangePlugin.mjs +12 -0
- package/npm/LexicalOnChangePlugin.node.mjs +10 -0
- package/npm/LexicalOnChangePlugin.prod.js +9 -0
- package/npm/LexicalOnChangePlugin.prod.mjs +9 -0
- package/npm/LexicalPlainTextPlugin.d.ts +14 -0
- package/npm/LexicalPlainTextPlugin.dev.js +235 -0
- package/npm/LexicalPlainTextPlugin.dev.mjs +233 -0
- package/npm/LexicalPlainTextPlugin.js +11 -0
- package/npm/LexicalPlainTextPlugin.js.flow +29 -0
- package/npm/LexicalPlainTextPlugin.mjs +12 -0
- package/npm/LexicalPlainTextPlugin.node.mjs +10 -0
- package/npm/LexicalPlainTextPlugin.prod.js +9 -0
- package/npm/LexicalPlainTextPlugin.prod.mjs +9 -0
- package/npm/LexicalReactExtension.dev.js +187 -0
- package/npm/LexicalReactExtension.dev.mjs +184 -0
- package/npm/LexicalReactExtension.js +11 -0
- package/npm/LexicalReactExtension.js.flow +68 -0
- package/npm/LexicalReactExtension.mjs +13 -0
- package/npm/LexicalReactExtension.node.mjs +11 -0
- package/npm/LexicalReactExtension.prod.js +9 -0
- package/npm/LexicalReactExtension.prod.mjs +9 -0
- package/npm/LexicalReactPluginHostExtension.dev.js +189 -0
- package/npm/LexicalReactPluginHostExtension.dev.mjs +181 -0
- package/npm/LexicalReactPluginHostExtension.js +11 -0
- package/npm/LexicalReactPluginHostExtension.js.flow +84 -0
- package/npm/LexicalReactPluginHostExtension.mjs +18 -0
- package/npm/LexicalReactPluginHostExtension.node.mjs +16 -0
- package/npm/LexicalReactPluginHostExtension.prod.js +9 -0
- package/npm/LexicalReactPluginHostExtension.prod.mjs +9 -0
- package/npm/LexicalReactProviderExtension.dev.js +33 -0
- package/npm/LexicalReactProviderExtension.dev.mjs +31 -0
- package/npm/LexicalReactProviderExtension.js +11 -0
- package/npm/LexicalReactProviderExtension.js.flow +12 -0
- package/npm/LexicalReactProviderExtension.mjs +12 -0
- package/npm/LexicalReactProviderExtension.node.mjs +10 -0
- package/npm/LexicalReactProviderExtension.prod.js +9 -0
- package/npm/LexicalReactProviderExtension.prod.mjs +9 -0
- package/npm/LexicalRichTextPlugin.d.ts +14 -0
- package/npm/LexicalRichTextPlugin.dev.js +235 -0
- package/npm/LexicalRichTextPlugin.dev.mjs +233 -0
- package/npm/LexicalRichTextPlugin.js +11 -0
- package/npm/LexicalRichTextPlugin.js.flow +29 -0
- package/npm/LexicalRichTextPlugin.mjs +12 -0
- package/npm/LexicalRichTextPlugin.node.mjs +10 -0
- package/npm/LexicalRichTextPlugin.prod.js +9 -0
- package/npm/LexicalRichTextPlugin.prod.mjs +9 -0
- package/npm/LexicalSelectionAlwaysOnDisplay.d.ts +8 -0
- package/npm/LexicalSelectionAlwaysOnDisplay.dev.js +31 -0
- package/npm/LexicalSelectionAlwaysOnDisplay.dev.mjs +29 -0
- package/npm/LexicalSelectionAlwaysOnDisplay.js +11 -0
- package/npm/LexicalSelectionAlwaysOnDisplay.js.flow +13 -0
- package/npm/LexicalSelectionAlwaysOnDisplay.mjs +12 -0
- package/npm/LexicalSelectionAlwaysOnDisplay.node.mjs +10 -0
- package/npm/LexicalSelectionAlwaysOnDisplay.prod.js +9 -0
- package/npm/LexicalSelectionAlwaysOnDisplay.prod.mjs +9 -0
- package/npm/LexicalTabIndentationPlugin.d.ts +17 -0
- package/npm/LexicalTabIndentationPlugin.dev.js +40 -0
- package/npm/LexicalTabIndentationPlugin.dev.mjs +38 -0
- package/npm/LexicalTabIndentationPlugin.js +11 -0
- package/npm/LexicalTabIndentationPlugin.js.flow +21 -0
- package/npm/LexicalTabIndentationPlugin.mjs +13 -0
- package/npm/LexicalTabIndentationPlugin.node.mjs +11 -0
- package/npm/LexicalTabIndentationPlugin.prod.js +9 -0
- package/npm/LexicalTabIndentationPlugin.prod.mjs +9 -0
- package/npm/LexicalTableOfContentsPlugin.d.ts +20 -0
- package/npm/LexicalTableOfContentsPlugin.dev.js +209 -0
- package/npm/LexicalTableOfContentsPlugin.dev.mjs +207 -0
- package/npm/LexicalTableOfContentsPlugin.js +11 -0
- package/npm/LexicalTableOfContentsPlugin.js.flow +18 -0
- package/npm/LexicalTableOfContentsPlugin.mjs +12 -0
- package/npm/LexicalTableOfContentsPlugin.node.mjs +10 -0
- package/npm/LexicalTableOfContentsPlugin.prod.js +9 -0
- package/npm/LexicalTableOfContentsPlugin.prod.mjs +9 -0
- package/npm/LexicalTablePlugin.d.ts +40 -0
- package/npm/LexicalTablePlugin.dev.js +77 -0
- package/npm/LexicalTablePlugin.dev.mjs +75 -0
- package/npm/LexicalTablePlugin.js +11 -0
- package/npm/LexicalTablePlugin.js.flow +15 -0
- package/npm/LexicalTablePlugin.mjs +12 -0
- package/npm/LexicalTablePlugin.node.mjs +10 -0
- package/npm/LexicalTablePlugin.prod.js +9 -0
- package/npm/LexicalTablePlugin.prod.mjs +9 -0
- package/npm/LexicalTreeView.d.ts +37 -0
- package/npm/LexicalTreeView.dev.js +105 -0
- package/npm/LexicalTreeView.dev.mjs +91 -0
- package/npm/LexicalTreeView.js +11 -0
- package/npm/LexicalTreeView.js.flow +21 -0
- package/npm/LexicalTreeView.mjs +12 -0
- package/npm/LexicalTreeView.node.mjs +10 -0
- package/npm/LexicalTreeView.prod.js +9 -0
- package/npm/LexicalTreeView.prod.mjs +9 -0
- package/npm/LexicalTreeViewExtension.dev.js +57 -0
- package/npm/LexicalTreeViewExtension.dev.mjs +54 -0
- package/npm/LexicalTreeViewExtension.js +11 -0
- package/npm/LexicalTreeViewExtension.js.flow +12 -0
- package/npm/LexicalTreeViewExtension.mjs +13 -0
- package/npm/LexicalTreeViewExtension.node.mjs +11 -0
- package/npm/LexicalTreeViewExtension.prod.js +9 -0
- package/npm/LexicalTreeViewExtension.prod.mjs +9 -0
- package/npm/LexicalTypeaheadMenuPlugin.d.ts +40 -0
- package/npm/LexicalTypeaheadMenuPlugin.dev.js +654 -0
- package/npm/LexicalTypeaheadMenuPlugin.dev.mjs +646 -0
- package/npm/LexicalTypeaheadMenuPlugin.js +11 -0
- package/npm/LexicalTypeaheadMenuPlugin.js.flow +83 -0
- package/npm/LexicalTypeaheadMenuPlugin.mjs +18 -0
- package/npm/LexicalTypeaheadMenuPlugin.node.mjs +16 -0
- package/npm/LexicalTypeaheadMenuPlugin.prod.js +9 -0
- package/npm/LexicalTypeaheadMenuPlugin.prod.mjs +9 -0
- package/npm/README.md +90 -0
- package/npm/ReactExtension.d.ts +41 -0
- package/npm/ReactPluginHostExtension.d.ts +56 -0
- package/npm/ReactProviderExtension.d.ts +9 -0
- package/npm/TreeViewExtension.d.ts +18 -0
- package/npm/package.json +1549 -0
- package/npm/shared/LegacyDecorators.d.ts +23 -0
- package/npm/shared/LexicalContentEditableElement.d.ts +43 -0
- package/npm/shared/LexicalMenu.d.ts +52 -0
- package/npm/shared/buildEditorComponent.d.ts +11 -0
- package/npm/shared/mergeRefs.d.ts +9 -0
- package/npm/shared/point.d.ts +21 -0
- package/npm/shared/rect.d.ts +45 -0
- package/npm/shared/types.d.ts +89 -0
- package/npm/shared/useCanShowPlaceholder.d.ts +9 -0
- package/npm/shared/useCharacterLimit.d.ts +16 -0
- package/npm/shared/useDecorators.d.ts +17 -0
- package/npm/shared/useHistory.d.ts +10 -0
- package/npm/shared/useList.d.ts +9 -0
- package/npm/shared/usePlainTextSetup.d.ts +9 -0
- package/npm/shared/useReactDecorators.d.ts +12 -0
- package/npm/shared/useRichTextSetup.d.ts +9 -0
- package/npm/shared/useYjsCollaboration.d.ts +25 -0
- package/npm/useExtensionComponent.d.ts +10 -0
- package/npm/useLexicalEditable.d.ts +16 -0
- package/npm/useLexicalEditable.dev.js +102 -0
- package/npm/useLexicalEditable.dev.mjs +100 -0
- package/npm/useLexicalEditable.js +11 -0
- package/npm/useLexicalEditable.js.flow +12 -0
- package/npm/useLexicalEditable.mjs +12 -0
- package/npm/useLexicalEditable.node.mjs +10 -0
- package/npm/useLexicalEditable.prod.js +9 -0
- package/npm/useLexicalEditable.prod.mjs +9 -0
- package/npm/useLexicalExtensionComponent.dev.js +37 -0
- package/npm/useLexicalExtensionComponent.dev.mjs +34 -0
- package/npm/useLexicalExtensionComponent.js +11 -0
- package/npm/useLexicalExtensionComponent.js.flow +12 -0
- package/npm/useLexicalExtensionComponent.mjs +13 -0
- package/npm/useLexicalExtensionComponent.node.mjs +11 -0
- package/npm/useLexicalExtensionComponent.prod.js +9 -0
- package/npm/useLexicalExtensionComponent.prod.mjs +9 -0
- package/npm/useLexicalIsTextContentEmpty.d.ts +9 -0
- package/npm/useLexicalIsTextContentEmpty.dev.js +60 -0
- package/npm/useLexicalIsTextContentEmpty.dev.mjs +58 -0
- package/npm/useLexicalIsTextContentEmpty.js +11 -0
- package/npm/useLexicalIsTextContentEmpty.js.flow +15 -0
- package/npm/useLexicalIsTextContentEmpty.mjs +12 -0
- package/npm/useLexicalIsTextContentEmpty.node.mjs +10 -0
- package/npm/useLexicalIsTextContentEmpty.prod.js +9 -0
- package/npm/useLexicalIsTextContentEmpty.prod.mjs +9 -0
- package/npm/useLexicalNodeSelection.d.ts +24 -0
- package/npm/useLexicalNodeSelection.dev.js +102 -0
- package/npm/useLexicalNodeSelection.dev.mjs +100 -0
- package/npm/useLexicalNodeSelection.js +11 -0
- package/npm/useLexicalNodeSelection.js.flow +14 -0
- package/npm/useLexicalNodeSelection.mjs +12 -0
- package/npm/useLexicalNodeSelection.node.mjs +10 -0
- package/npm/useLexicalNodeSelection.prod.js +9 -0
- package/npm/useLexicalNodeSelection.prod.mjs +9 -0
- package/npm/useLexicalSubscription.d.ts +17 -0
- package/npm/useLexicalSubscription.dev.js +73 -0
- package/npm/useLexicalSubscription.dev.mjs +71 -0
- package/npm/useLexicalSubscription.js +11 -0
- package/npm/useLexicalSubscription.js.flow +19 -0
- package/npm/useLexicalSubscription.mjs +12 -0
- package/npm/useLexicalSubscription.node.mjs +10 -0
- package/npm/useLexicalSubscription.prod.js +9 -0
- package/npm/useLexicalSubscription.prod.mjs +9 -0
- package/npm/useLexicalTextEntity.d.ts +10 -0
- package/npm/useLexicalTextEntity.dev.js +31 -0
- package/npm/useLexicalTextEntity.dev.mjs +29 -0
- package/npm/useLexicalTextEntity.js +11 -0
- package/npm/useLexicalTextEntity.js.flow +18 -0
- package/npm/useLexicalTextEntity.mjs +12 -0
- package/npm/useLexicalTextEntity.node.mjs +10 -0
- package/npm/useLexicalTextEntity.prod.js +9 -0
- package/npm/useLexicalTextEntity.prod.mjs +9 -0
- package/package.json +1549 -0
- package/src/ExtensionComponent.tsx +57 -0
- package/src/LexicalAutoEmbedPlugin.tsx +242 -0
- package/src/LexicalAutoFocusPlugin.ts +41 -0
- package/src/LexicalAutoLinkPlugin.ts +57 -0
- package/src/LexicalBlockWithAlignableContents.tsx +119 -0
- package/src/LexicalCharacterLimitPlugin.tsx +91 -0
- package/src/LexicalCheckListPlugin.tsx +20 -0
- package/src/LexicalClearEditorPlugin.ts +26 -0
- package/src/LexicalClickableLinkPlugin.tsx +28 -0
- package/src/LexicalCollaborationContext.tsx +89 -0
- package/src/LexicalCollaborationPlugin.tsx +265 -0
- package/src/LexicalComposer.tsx +151 -0
- package/src/LexicalComposerContext.ts +63 -0
- package/src/LexicalContentEditable.tsx +97 -0
- package/src/LexicalContextMenuPlugin.tsx +169 -0
- package/src/LexicalDecoratorBlockNode.ts +78 -0
- package/src/LexicalDraggableBlockPlugin.tsx +481 -0
- package/src/LexicalEditorRefPlugin.tsx +40 -0
- package/src/LexicalErrorBoundary.tsx +39 -0
- package/src/LexicalExtensionComposer.tsx +117 -0
- package/src/LexicalHashtagPlugin.ts +26 -0
- package/src/LexicalHistoryPlugin.ts +31 -0
- package/src/LexicalHorizontalRuleNode.tsx +123 -0
- package/src/LexicalHorizontalRulePlugin.ts +49 -0
- package/src/LexicalLinkPlugin.ts +32 -0
- package/src/LexicalListPlugin.ts +49 -0
- package/src/LexicalMarkdownShortcutPlugin.tsx +55 -0
- package/src/LexicalNestedComposer.tsx +215 -0
- package/src/LexicalNodeContextMenuPlugin.tsx +316 -0
- package/src/LexicalNodeEventPlugin.ts +73 -0
- package/src/LexicalNodeMenuPlugin.tsx +130 -0
- package/src/LexicalOnChangePlugin.ts +51 -0
- package/src/LexicalPlainTextPlugin.tsx +65 -0
- package/src/LexicalRichTextPlugin.tsx +65 -0
- package/src/LexicalSelectionAlwaysOnDisplay.tsx +20 -0
- package/src/LexicalTabIndentationPlugin.tsx +27 -0
- package/src/LexicalTableOfContentsPlugin.tsx +277 -0
- package/src/LexicalTablePlugin.ts +110 -0
- package/src/LexicalTreeView.tsx +128 -0
- package/src/LexicalTypeaheadMenuPlugin.tsx +354 -0
- package/src/ReactExtension.tsx +113 -0
- package/src/ReactPluginHostExtension.tsx +228 -0
- package/src/ReactProviderExtension.tsx +20 -0
- package/src/TreeViewExtension.tsx +48 -0
- package/src/__tests__/unit/Collaboration.test.ts +563 -0
- package/src/__tests__/unit/CollaborationSnapshot.test.ts +461 -0
- package/src/__tests__/unit/CollaborationWithCollisions.test.ts +246 -0
- package/src/__tests__/unit/LexicalCollaborationPlugin.test.tsx +101 -0
- package/src/__tests__/unit/LexicalComposer.test.tsx +129 -0
- package/src/__tests__/unit/LexicalContentEditableElement.test.tsx +264 -0
- package/src/__tests__/unit/LexicalExtensionComposer.test.tsx +85 -0
- package/src/__tests__/unit/LexicalNestedComposer.test.tsx +1142 -0
- package/src/__tests__/unit/PlainRichTextPlugin.test.tsx +246 -0
- package/src/__tests__/unit/React19.test.tsx +52 -0
- package/src/__tests__/unit/ReactExtension.test.tsx +32 -0
- package/src/__tests__/unit/ReactPluginHostExtension.test.tsx +137 -0
- package/src/__tests__/unit/useLexicalCharacterLimit.test.ts +194 -0
- package/src/__tests__/unit/useLexicalIsTextContentEmpty.test.tsx +96 -0
- package/src/__tests__/unit/useMenuAnchorRef.test.tsx +65 -0
- package/src/__tests__/unit/utils.tsx +356 -0
- package/src/shared/LegacyDecorators.tsx +62 -0
- package/src/shared/LexicalContentEditableElement.tsx +126 -0
- package/src/shared/LexicalMenu.ts +664 -0
- package/src/shared/buildEditorComponent.tsx +61 -0
- package/src/shared/mergeRefs.ts +20 -0
- package/src/shared/point.ts +55 -0
- package/src/shared/rect.ts +158 -0
- package/src/shared/types.ts +106 -0
- package/src/shared/useCanShowPlaceholder.ts +49 -0
- package/src/shared/useCharacterLimit.ts +315 -0
- package/src/shared/useDecorators.tsx +71 -0
- package/src/shared/useHistory.ts +28 -0
- package/src/shared/useList.ts +18 -0
- package/src/shared/usePlainTextSetup.ts +26 -0
- package/src/shared/useReactDecorators.tsx +53 -0
- package/src/shared/useRichTextSetup.ts +26 -0
- package/src/shared/useYjsCollaboration.tsx +666 -0
- package/src/useExtensionComponent.tsx +38 -0
- package/src/useLexicalEditable.ts +33 -0
- package/src/useLexicalIsTextContentEmpty.ts +36 -0
- package/src/useLexicalNodeSelection.ts +114 -0
- package/src/useLexicalSubscription.tsx +51 -0
- package/src/useLexicalTextEntity.ts +29 -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 };
|