@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.
- package/@ekz/lexicalExtensionComponent.dev.js +53 -0
- package/@ekz/lexicalExtensionComponent.dev.mjs +51 -0
- package/@ekz/lexicalExtensionComponent.js +11 -0
- package/@ekz/lexicalExtensionComponent.mjs +12 -0
- package/@ekz/lexicalExtensionComponent.node.mjs +10 -0
- package/@ekz/lexicalExtensionComponent.prod.js +9 -0
- package/@ekz/lexicalExtensionComponent.prod.mjs +9 -0
- package/@ekz/lexicalReactExtension.dev.js +187 -0
- package/@ekz/lexicalReactExtension.dev.mjs +184 -0
- package/@ekz/lexicalReactExtension.js +11 -0
- package/@ekz/lexicalReactExtension.mjs +13 -0
- package/@ekz/lexicalReactExtension.node.mjs +11 -0
- package/@ekz/lexicalReactExtension.prod.js +9 -0
- package/@ekz/lexicalReactExtension.prod.mjs +9 -0
- package/@ekz/lexicalReactPluginHostExtension.dev.js +189 -0
- package/@ekz/lexicalReactPluginHostExtension.dev.mjs +181 -0
- package/@ekz/lexicalReactPluginHostExtension.js +11 -0
- package/@ekz/lexicalReactPluginHostExtension.mjs +18 -0
- package/@ekz/lexicalReactPluginHostExtension.node.mjs +16 -0
- package/@ekz/lexicalReactPluginHostExtension.prod.js +9 -0
- package/@ekz/lexicalReactPluginHostExtension.prod.mjs +9 -0
- package/@ekz/lexicalReactProviderExtension.dev.js +33 -0
- package/@ekz/lexicalReactProviderExtension.dev.mjs +31 -0
- package/@ekz/lexicalReactProviderExtension.js +11 -0
- package/@ekz/lexicalReactProviderExtension.mjs +12 -0
- package/@ekz/lexicalReactProviderExtension.node.mjs +10 -0
- package/@ekz/lexicalReactProviderExtension.prod.js +9 -0
- package/@ekz/lexicalReactProviderExtension.prod.mjs +9 -0
- package/@ekz/lexicalTreeViewExtension.dev.js +57 -0
- package/@ekz/lexicalTreeViewExtension.dev.mjs +54 -0
- package/@ekz/lexicalTreeViewExtension.js +11 -0
- package/@ekz/lexicalTreeViewExtension.mjs +13 -0
- package/@ekz/lexicalTreeViewExtension.node.mjs +11 -0
- package/@ekz/lexicalTreeViewExtension.prod.js +9 -0
- package/@ekz/lexicalTreeViewExtension.prod.mjs +9 -0
- package/ExtensionComponent.d.ts +42 -0
- package/LICENSE +21 -0
- package/LexicalAutoEmbedPlugin.d.ts +39 -0
- package/LexicalAutoEmbedPlugin.dev.js +146 -0
- package/LexicalAutoEmbedPlugin.dev.mjs +141 -0
- package/LexicalAutoEmbedPlugin.js +11 -0
- package/LexicalAutoEmbedPlugin.js.flow +64 -0
- package/LexicalAutoEmbedPlugin.mjs +15 -0
- package/LexicalAutoEmbedPlugin.node.mjs +13 -0
- package/LexicalAutoEmbedPlugin.prod.js +9 -0
- package/LexicalAutoEmbedPlugin.prod.mjs +9 -0
- package/LexicalAutoFocusPlugin.d.ts +12 -0
- package/LexicalAutoFocusPlugin.dev.js +47 -0
- package/LexicalAutoFocusPlugin.dev.mjs +45 -0
- package/LexicalAutoFocusPlugin.js +11 -0
- package/LexicalAutoFocusPlugin.js.flow +14 -0
- package/LexicalAutoFocusPlugin.mjs +12 -0
- package/LexicalAutoFocusPlugin.node.mjs +10 -0
- package/LexicalAutoFocusPlugin.prod.js +9 -0
- package/LexicalAutoFocusPlugin.prod.mjs +9 -0
- package/LexicalAutoLinkPlugin.d.ts +14 -0
- package/LexicalAutoLinkPlugin.dev.js +54 -0
- package/LexicalAutoLinkPlugin.dev.mjs +52 -0
- package/LexicalAutoLinkPlugin.js +11 -0
- package/LexicalAutoLinkPlugin.js.flow +18 -0
- package/LexicalAutoLinkPlugin.mjs +13 -0
- package/LexicalAutoLinkPlugin.node.mjs +11 -0
- package/LexicalAutoLinkPlugin.prod.js +9 -0
- package/LexicalAutoLinkPlugin.prod.mjs +9 -0
- package/LexicalBlockWithAlignableContents.d.ts +21 -0
- package/LexicalBlockWithAlignableContents.dev.js +81 -0
- package/LexicalBlockWithAlignableContents.dev.mjs +79 -0
- package/LexicalBlockWithAlignableContents.js +11 -0
- package/LexicalBlockWithAlignableContents.js.flow +28 -0
- package/LexicalBlockWithAlignableContents.mjs +12 -0
- package/LexicalBlockWithAlignableContents.node.mjs +10 -0
- package/LexicalBlockWithAlignableContents.prod.js +9 -0
- package/LexicalBlockWithAlignableContents.prod.mjs +9 -0
- package/LexicalCharacterLimitPlugin.d.ts +15 -0
- package/LexicalCharacterLimitPlugin.dev.js +292 -0
- package/LexicalCharacterLimitPlugin.dev.mjs +290 -0
- package/LexicalCharacterLimitPlugin.js +11 -0
- package/LexicalCharacterLimitPlugin.js.flow +12 -0
- package/LexicalCharacterLimitPlugin.mjs +12 -0
- package/LexicalCharacterLimitPlugin.node.mjs +10 -0
- package/LexicalCharacterLimitPlugin.prod.js +9 -0
- package/LexicalCharacterLimitPlugin.prod.mjs +9 -0
- package/LexicalCheckListPlugin.d.ts +8 -0
- package/LexicalCheckListPlugin.dev.js +31 -0
- package/LexicalCheckListPlugin.dev.mjs +29 -0
- package/LexicalCheckListPlugin.js +11 -0
- package/LexicalCheckListPlugin.js.flow +10 -0
- package/LexicalCheckListPlugin.mjs +12 -0
- package/LexicalCheckListPlugin.node.mjs +10 -0
- package/LexicalCheckListPlugin.prod.js +9 -0
- package/LexicalCheckListPlugin.prod.mjs +9 -0
- package/LexicalClearEditorPlugin.d.ts +13 -0
- package/LexicalClearEditorPlugin.dev.js +55 -0
- package/LexicalClearEditorPlugin.dev.mjs +53 -0
- package/LexicalClearEditorPlugin.js +11 -0
- package/LexicalClearEditorPlugin.js.flow +14 -0
- package/LexicalClearEditorPlugin.mjs +12 -0
- package/LexicalClearEditorPlugin.node.mjs +10 -0
- package/LexicalClearEditorPlugin.prod.js +9 -0
- package/LexicalClearEditorPlugin.prod.mjs +9 -0
- package/LexicalClickableLinkPlugin.d.ts +11 -0
- package/LexicalClickableLinkPlugin.dev.js +38 -0
- package/LexicalClickableLinkPlugin.dev.mjs +36 -0
- package/LexicalClickableLinkPlugin.js +11 -0
- package/LexicalClickableLinkPlugin.js.flow +12 -0
- package/LexicalClickableLinkPlugin.mjs +12 -0
- package/LexicalClickableLinkPlugin.node.mjs +10 -0
- package/LexicalClickableLinkPlugin.prod.js +9 -0
- package/LexicalClickableLinkPlugin.prod.mjs +9 -0
- package/LexicalCollaborationContext.d.ts +19 -0
- package/LexicalCollaborationContext.dev.js +69 -0
- package/LexicalCollaborationContext.dev.mjs +65 -0
- package/LexicalCollaborationContext.js +11 -0
- package/LexicalCollaborationContext.js.flow +22 -0
- package/LexicalCollaborationContext.mjs +14 -0
- package/LexicalCollaborationContext.node.mjs +12 -0
- package/LexicalCollaborationContext.prod.js +9 -0
- package/LexicalCollaborationContext.prod.mjs +9 -0
- package/LexicalCollaborationPlugin.d.ts +39 -0
- package/LexicalCollaborationPlugin.dev.js +584 -0
- package/LexicalCollaborationPlugin.dev.mjs +569 -0
- package/LexicalCollaborationPlugin.js +11 -0
- package/LexicalCollaborationPlugin.js.flow +50 -0
- package/LexicalCollaborationPlugin.mjs +13 -0
- package/LexicalCollaborationPlugin.node.mjs +11 -0
- package/LexicalCollaborationPlugin.prod.js +9 -0
- package/LexicalCollaborationPlugin.prod.mjs +9 -0
- package/LexicalComposer.d.ts +25 -0
- package/LexicalComposer.dev.js +134 -0
- package/LexicalComposer.dev.mjs +132 -0
- package/LexicalComposer.js +11 -0
- package/LexicalComposer.js.flow +40 -0
- package/LexicalComposer.mjs +12 -0
- package/LexicalComposer.node.mjs +10 -0
- package/LexicalComposer.prod.js +9 -0
- package/LexicalComposer.prod.mjs +9 -0
- package/LexicalComposerContext.d.ts +18 -0
- package/LexicalComposerContext.dev.js +55 -0
- package/LexicalComposerContext.dev.mjs +51 -0
- package/LexicalComposerContext.js +11 -0
- package/LexicalComposerContext.js.flow +27 -0
- package/LexicalComposerContext.mjs +14 -0
- package/LexicalComposerContext.node.mjs +12 -0
- package/LexicalComposerContext.prod.js +9 -0
- package/LexicalComposerContext.prod.mjs +9 -0
- package/LexicalContentEditable.d.ts +26 -0
- package/LexicalContentEditable.dev.js +242 -0
- package/LexicalContentEditable.dev.mjs +239 -0
- package/LexicalContentEditable.js +11 -0
- package/LexicalContentEditable.js.flow +80 -0
- package/LexicalContentEditable.mjs +13 -0
- package/LexicalContentEditable.node.mjs +11 -0
- package/LexicalContentEditable.prod.js +9 -0
- package/LexicalContentEditable.prod.mjs +9 -0
- package/LexicalContextMenuPlugin.d.ts +36 -0
- package/LexicalContextMenuPlugin.dev.js +524 -0
- package/LexicalContextMenuPlugin.dev.mjs +509 -0
- package/LexicalContextMenuPlugin.js +11 -0
- package/LexicalContextMenuPlugin.js.flow +13 -0
- package/LexicalContextMenuPlugin.mjs +13 -0
- package/LexicalContextMenuPlugin.node.mjs +11 -0
- package/LexicalContextMenuPlugin.prod.js +9 -0
- package/LexicalContextMenuPlugin.prod.mjs +9 -0
- package/LexicalDecoratorBlockNode.d.ts +25 -0
- package/LexicalDecoratorBlockNode.dev.js +59 -0
- package/LexicalDecoratorBlockNode.dev.mjs +56 -0
- package/LexicalDecoratorBlockNode.js +11 -0
- package/LexicalDecoratorBlockNode.js.flow +35 -0
- package/LexicalDecoratorBlockNode.mjs +13 -0
- package/LexicalDecoratorBlockNode.node.mjs +11 -0
- package/LexicalDecoratorBlockNode.prod.js +9 -0
- package/LexicalDecoratorBlockNode.prod.mjs +9 -0
- package/LexicalDraggableBlockPlugin.d.ts +18 -0
- package/LexicalDraggableBlockPlugin.dev.js +655 -0
- package/LexicalDraggableBlockPlugin.dev.mjs +653 -0
- package/LexicalDraggableBlockPlugin.js +11 -0
- package/LexicalDraggableBlockPlugin.js.flow +24 -0
- package/LexicalDraggableBlockPlugin.mjs +12 -0
- package/LexicalDraggableBlockPlugin.node.mjs +10 -0
- package/LexicalDraggableBlockPlugin.prod.js +9 -0
- package/LexicalDraggableBlockPlugin.prod.mjs +9 -0
- package/LexicalEditorRefPlugin.d.ts +20 -0
- package/LexicalEditorRefPlugin.dev.js +58 -0
- package/LexicalEditorRefPlugin.dev.mjs +43 -0
- package/LexicalEditorRefPlugin.js +11 -0
- package/LexicalEditorRefPlugin.js.flow +19 -0
- package/LexicalEditorRefPlugin.mjs +12 -0
- package/LexicalEditorRefPlugin.node.mjs +10 -0
- package/LexicalEditorRefPlugin.prod.js +9 -0
- package/LexicalEditorRefPlugin.prod.mjs +9 -0
- package/LexicalErrorBoundary.d.ts +13 -0
- package/LexicalErrorBoundary.dev.js +40 -0
- package/LexicalErrorBoundary.dev.mjs +38 -0
- package/LexicalErrorBoundary.js +11 -0
- package/LexicalErrorBoundary.js.flow +17 -0
- package/LexicalErrorBoundary.mjs +12 -0
- package/LexicalErrorBoundary.node.mjs +10 -0
- package/LexicalErrorBoundary.prod.js +9 -0
- package/LexicalErrorBoundary.prod.mjs +9 -0
- package/LexicalExtensionComponent.js.flow +12 -0
- package/LexicalExtensionComposer.d.ts +69 -0
- package/LexicalExtensionComposer.dev.js +105 -0
- package/LexicalExtensionComposer.dev.mjs +103 -0
- package/LexicalExtensionComposer.js +11 -0
- package/LexicalExtensionComposer.js.flow +20 -0
- package/LexicalExtensionComposer.mjs +12 -0
- package/LexicalExtensionComposer.node.mjs +10 -0
- package/LexicalExtensionComposer.prod.js +9 -0
- package/LexicalExtensionComposer.prod.mjs +9 -0
- package/LexicalHashtagPlugin.d.ts +9 -0
- package/LexicalHashtagPlugin.dev.js +34 -0
- package/LexicalHashtagPlugin.dev.mjs +32 -0
- package/LexicalHashtagPlugin.js +11 -0
- package/LexicalHashtagPlugin.js.flow +10 -0
- package/LexicalHashtagPlugin.mjs +12 -0
- package/LexicalHashtagPlugin.node.mjs +10 -0
- package/LexicalHashtagPlugin.prod.js +9 -0
- package/LexicalHashtagPlugin.prod.mjs +9 -0
- package/LexicalHistoryPlugin.d.ts +14 -0
- package/LexicalHistoryPlugin.dev.js +48 -0
- package/LexicalHistoryPlugin.dev.mjs +46 -0
- package/LexicalHistoryPlugin.js +11 -0
- package/LexicalHistoryPlugin.js.flow +28 -0
- package/LexicalHistoryPlugin.mjs +13 -0
- package/LexicalHistoryPlugin.node.mjs +11 -0
- package/LexicalHistoryPlugin.prod.js +9 -0
- package/LexicalHistoryPlugin.prod.mjs +9 -0
- package/LexicalHorizontalRuleNode.d.ts +25 -0
- package/LexicalHorizontalRuleNode.dev.js +102 -0
- package/LexicalHorizontalRuleNode.dev.mjs +98 -0
- package/LexicalHorizontalRuleNode.js +11 -0
- package/LexicalHorizontalRuleNode.js.flow +27 -0
- package/LexicalHorizontalRuleNode.mjs +15 -0
- package/LexicalHorizontalRuleNode.node.mjs +13 -0
- package/LexicalHorizontalRuleNode.prod.js +9 -0
- package/LexicalHorizontalRuleNode.prod.mjs +9 -0
- package/LexicalHorizontalRulePlugin.d.ts +8 -0
- package/LexicalHorizontalRulePlugin.dev.js +44 -0
- package/LexicalHorizontalRulePlugin.dev.mjs +42 -0
- package/LexicalHorizontalRulePlugin.js +11 -0
- package/LexicalHorizontalRulePlugin.js.flow +12 -0
- package/LexicalHorizontalRulePlugin.mjs +12 -0
- package/LexicalHorizontalRulePlugin.node.mjs +10 -0
- package/LexicalHorizontalRulePlugin.prod.js +9 -0
- package/LexicalHorizontalRulePlugin.prod.mjs +9 -0
- package/LexicalLinkPlugin.d.ts +14 -0
- package/LexicalLinkPlugin.dev.js +43 -0
- package/LexicalLinkPlugin.dev.mjs +41 -0
- package/LexicalLinkPlugin.js +11 -0
- package/LexicalLinkPlugin.js.flow +21 -0
- package/LexicalLinkPlugin.mjs +12 -0
- package/LexicalLinkPlugin.node.mjs +10 -0
- package/LexicalLinkPlugin.prod.js +9 -0
- package/LexicalLinkPlugin.prod.mjs +9 -0
- package/LexicalListPlugin.d.ts +20 -0
- package/LexicalListPlugin.dev.js +55 -0
- package/LexicalListPlugin.dev.mjs +53 -0
- package/LexicalListPlugin.js +11 -0
- package/LexicalListPlugin.js.flow +15 -0
- package/LexicalListPlugin.mjs +12 -0
- package/LexicalListPlugin.node.mjs +10 -0
- package/LexicalListPlugin.prod.js +9 -0
- package/LexicalListPlugin.prod.mjs +9 -0
- package/LexicalMarkdownShortcutPlugin.d.ts +12 -0
- package/LexicalMarkdownShortcutPlugin.dev.js +55 -0
- package/LexicalMarkdownShortcutPlugin.dev.mjs +52 -0
- package/LexicalMarkdownShortcutPlugin.js +11 -0
- package/LexicalMarkdownShortcutPlugin.js.flow +16 -0
- package/LexicalMarkdownShortcutPlugin.mjs +13 -0
- package/LexicalMarkdownShortcutPlugin.node.mjs +11 -0
- package/LexicalMarkdownShortcutPlugin.prod.js +9 -0
- package/LexicalMarkdownShortcutPlugin.prod.mjs +9 -0
- package/LexicalNestedComposer.d.ts +57 -0
- package/LexicalNestedComposer.dev.js +161 -0
- package/LexicalNestedComposer.dev.mjs +159 -0
- package/LexicalNestedComposer.js +11 -0
- package/LexicalNestedComposer.js.flow +26 -0
- package/LexicalNestedComposer.mjs +12 -0
- package/LexicalNestedComposer.node.mjs +10 -0
- package/LexicalNestedComposer.prod.js +9 -0
- package/LexicalNestedComposer.prod.mjs +9 -0
- package/LexicalNodeContextMenuPlugin.d.ts +46 -0
- package/LexicalNodeContextMenuPlugin.dev.js +257 -0
- package/LexicalNodeContextMenuPlugin.dev.mjs +253 -0
- package/LexicalNodeContextMenuPlugin.js +11 -0
- package/LexicalNodeContextMenuPlugin.js.flow +12 -0
- package/LexicalNodeContextMenuPlugin.mjs +14 -0
- package/LexicalNodeContextMenuPlugin.node.mjs +12 -0
- package/LexicalNodeContextMenuPlugin.prod.js +9 -0
- package/LexicalNodeContextMenuPlugin.prod.mjs +9 -0
- package/LexicalNodeEventPlugin.d.ts +13 -0
- package/LexicalNodeEventPlugin.dev.js +61 -0
- package/LexicalNodeEventPlugin.dev.mjs +59 -0
- package/LexicalNodeEventPlugin.js +11 -0
- package/LexicalNodeEventPlugin.js.flow +20 -0
- package/LexicalNodeEventPlugin.mjs +12 -0
- package/LexicalNodeEventPlugin.node.mjs +10 -0
- package/LexicalNodeEventPlugin.prod.js +9 -0
- package/LexicalNodeEventPlugin.prod.mjs +9 -0
- package/LexicalNodeMenuPlugin.d.ts +24 -0
- package/LexicalNodeMenuPlugin.dev.js +527 -0
- package/LexicalNodeMenuPlugin.dev.mjs +524 -0
- package/LexicalNodeMenuPlugin.js +11 -0
- package/LexicalNodeMenuPlugin.js.flow +64 -0
- package/LexicalNodeMenuPlugin.mjs +13 -0
- package/LexicalNodeMenuPlugin.node.mjs +11 -0
- package/LexicalNodeMenuPlugin.prod.js +9 -0
- package/LexicalNodeMenuPlugin.prod.mjs +9 -0
- package/LexicalOnChangePlugin.d.ts +13 -0
- package/LexicalOnChangePlugin.dev.js +72 -0
- package/LexicalOnChangePlugin.dev.mjs +70 -0
- package/LexicalOnChangePlugin.js +11 -0
- package/LexicalOnChangePlugin.js.flow +16 -0
- package/LexicalOnChangePlugin.mjs +12 -0
- package/LexicalOnChangePlugin.node.mjs +10 -0
- package/LexicalOnChangePlugin.prod.js +9 -0
- package/LexicalOnChangePlugin.prod.mjs +9 -0
- package/LexicalPlainTextPlugin.d.ts +14 -0
- package/LexicalPlainTextPlugin.dev.js +235 -0
- package/LexicalPlainTextPlugin.dev.mjs +233 -0
- package/LexicalPlainTextPlugin.js +11 -0
- package/LexicalPlainTextPlugin.js.flow +29 -0
- package/LexicalPlainTextPlugin.mjs +12 -0
- package/LexicalPlainTextPlugin.node.mjs +10 -0
- package/LexicalPlainTextPlugin.prod.js +9 -0
- package/LexicalPlainTextPlugin.prod.mjs +9 -0
- package/LexicalReactExtension.js.flow +68 -0
- package/LexicalReactPluginHostExtension.js.flow +84 -0
- package/LexicalReactProviderExtension.js.flow +12 -0
- package/LexicalRichTextPlugin.d.ts +14 -0
- package/LexicalRichTextPlugin.dev.js +235 -0
- package/LexicalRichTextPlugin.dev.mjs +233 -0
- package/LexicalRichTextPlugin.js +11 -0
- package/LexicalRichTextPlugin.js.flow +29 -0
- package/LexicalRichTextPlugin.mjs +12 -0
- package/LexicalRichTextPlugin.node.mjs +10 -0
- package/LexicalRichTextPlugin.prod.js +9 -0
- package/LexicalRichTextPlugin.prod.mjs +9 -0
- package/LexicalSelectionAlwaysOnDisplay.d.ts +12 -0
- package/LexicalSelectionAlwaysOnDisplay.dev.js +33 -0
- package/LexicalSelectionAlwaysOnDisplay.dev.mjs +31 -0
- package/LexicalSelectionAlwaysOnDisplay.js +11 -0
- package/LexicalSelectionAlwaysOnDisplay.js.flow +15 -0
- package/LexicalSelectionAlwaysOnDisplay.mjs +12 -0
- package/LexicalSelectionAlwaysOnDisplay.node.mjs +10 -0
- package/LexicalSelectionAlwaysOnDisplay.prod.js +9 -0
- package/LexicalSelectionAlwaysOnDisplay.prod.mjs +9 -0
- package/LexicalTabIndentationPlugin.d.ts +17 -0
- package/LexicalTabIndentationPlugin.dev.js +40 -0
- package/LexicalTabIndentationPlugin.dev.mjs +38 -0
- package/LexicalTabIndentationPlugin.js +11 -0
- package/LexicalTabIndentationPlugin.js.flow +21 -0
- package/LexicalTabIndentationPlugin.mjs +13 -0
- package/LexicalTabIndentationPlugin.node.mjs +11 -0
- package/LexicalTabIndentationPlugin.prod.js +9 -0
- package/LexicalTabIndentationPlugin.prod.mjs +9 -0
- package/LexicalTableOfContentsPlugin.d.ts +20 -0
- package/LexicalTableOfContentsPlugin.dev.js +209 -0
- package/LexicalTableOfContentsPlugin.dev.mjs +207 -0
- package/LexicalTableOfContentsPlugin.js +11 -0
- package/LexicalTableOfContentsPlugin.js.flow +18 -0
- package/LexicalTableOfContentsPlugin.mjs +12 -0
- package/LexicalTableOfContentsPlugin.node.mjs +10 -0
- package/LexicalTableOfContentsPlugin.prod.js +9 -0
- package/LexicalTableOfContentsPlugin.prod.mjs +9 -0
- package/LexicalTablePlugin.d.ts +46 -0
- package/LexicalTablePlugin.dev.js +81 -0
- package/LexicalTablePlugin.dev.mjs +79 -0
- package/LexicalTablePlugin.js +11 -0
- package/LexicalTablePlugin.js.flow +15 -0
- package/LexicalTablePlugin.mjs +12 -0
- package/LexicalTablePlugin.node.mjs +10 -0
- package/LexicalTablePlugin.prod.js +9 -0
- package/LexicalTablePlugin.prod.mjs +9 -0
- package/LexicalTreeView.d.ts +37 -0
- package/LexicalTreeView.dev.js +105 -0
- package/LexicalTreeView.dev.mjs +91 -0
- package/LexicalTreeView.js +11 -0
- package/LexicalTreeView.js.flow +21 -0
- package/LexicalTreeView.mjs +12 -0
- package/LexicalTreeView.node.mjs +10 -0
- package/LexicalTreeView.prod.js +9 -0
- package/LexicalTreeView.prod.mjs +9 -0
- package/LexicalTreeViewExtension.js.flow +12 -0
- package/LexicalTypeaheadMenuPlugin.d.ts +40 -0
- package/LexicalTypeaheadMenuPlugin.dev.js +654 -0
- package/LexicalTypeaheadMenuPlugin.dev.mjs +646 -0
- package/LexicalTypeaheadMenuPlugin.js +11 -0
- package/LexicalTypeaheadMenuPlugin.js.flow +83 -0
- package/LexicalTypeaheadMenuPlugin.mjs +18 -0
- package/LexicalTypeaheadMenuPlugin.node.mjs +16 -0
- package/LexicalTypeaheadMenuPlugin.prod.js +9 -0
- package/LexicalTypeaheadMenuPlugin.prod.mjs +9 -0
- package/README.md +90 -0
- package/ReactExtension.d.ts +41 -0
- package/ReactPluginHostExtension.d.ts +56 -0
- package/ReactProviderExtension.d.ts +9 -0
- package/TreeViewExtension.d.ts +18 -0
- package/package.json +1549 -0
- package/shared/LegacyDecorators.d.ts +23 -0
- package/shared/LexicalContentEditableElement.d.ts +43 -0
- package/shared/LexicalMenu.d.ts +52 -0
- package/shared/buildEditorComponent.d.ts +11 -0
- package/shared/mergeRefs.d.ts +9 -0
- package/shared/point.d.ts +21 -0
- package/shared/rect.d.ts +45 -0
- package/shared/types.d.ts +89 -0
- package/shared/useCanShowPlaceholder.d.ts +9 -0
- package/shared/useCharacterLimit.d.ts +16 -0
- package/shared/useDecorators.d.ts +17 -0
- package/shared/useHistory.d.ts +10 -0
- package/shared/useList.d.ts +9 -0
- package/shared/usePlainTextSetup.d.ts +9 -0
- package/shared/useReactDecorators.d.ts +12 -0
- package/shared/useRichTextSetup.d.ts +9 -0
- package/shared/useYjsCollaboration.d.ts +25 -0
- package/useExtensionComponent.d.ts +10 -0
- package/useLexicalEditable.d.ts +16 -0
- package/useLexicalEditable.dev.js +102 -0
- package/useLexicalEditable.dev.mjs +100 -0
- package/useLexicalEditable.js +11 -0
- package/useLexicalEditable.js.flow +12 -0
- package/useLexicalEditable.mjs +12 -0
- package/useLexicalEditable.node.mjs +10 -0
- package/useLexicalEditable.prod.js +9 -0
- package/useLexicalEditable.prod.mjs +9 -0
- package/useLexicalExtensionComponent.dev.js +37 -0
- package/useLexicalExtensionComponent.dev.mjs +34 -0
- package/useLexicalExtensionComponent.js +11 -0
- package/useLexicalExtensionComponent.js.flow +12 -0
- package/useLexicalExtensionComponent.mjs +13 -0
- package/useLexicalExtensionComponent.node.mjs +11 -0
- package/useLexicalExtensionComponent.prod.js +9 -0
- package/useLexicalExtensionComponent.prod.mjs +9 -0
- package/useLexicalIsTextContentEmpty.d.ts +9 -0
- package/useLexicalIsTextContentEmpty.dev.js +60 -0
- package/useLexicalIsTextContentEmpty.dev.mjs +58 -0
- package/useLexicalIsTextContentEmpty.js +11 -0
- package/useLexicalIsTextContentEmpty.js.flow +15 -0
- package/useLexicalIsTextContentEmpty.mjs +12 -0
- package/useLexicalIsTextContentEmpty.node.mjs +10 -0
- package/useLexicalIsTextContentEmpty.prod.js +9 -0
- package/useLexicalIsTextContentEmpty.prod.mjs +9 -0
- package/useLexicalNodeSelection.d.ts +24 -0
- package/useLexicalNodeSelection.dev.js +102 -0
- package/useLexicalNodeSelection.dev.mjs +100 -0
- package/useLexicalNodeSelection.js +11 -0
- package/useLexicalNodeSelection.js.flow +14 -0
- package/useLexicalNodeSelection.mjs +12 -0
- package/useLexicalNodeSelection.node.mjs +10 -0
- package/useLexicalNodeSelection.prod.js +9 -0
- package/useLexicalNodeSelection.prod.mjs +9 -0
- package/useLexicalSubscription.d.ts +17 -0
- package/useLexicalSubscription.dev.js +73 -0
- package/useLexicalSubscription.dev.mjs +71 -0
- package/useLexicalSubscription.js +11 -0
- package/useLexicalSubscription.js.flow +19 -0
- package/useLexicalSubscription.mjs +12 -0
- package/useLexicalSubscription.node.mjs +10 -0
- package/useLexicalSubscription.prod.js +9 -0
- package/useLexicalSubscription.prod.mjs +9 -0
- package/useLexicalTextEntity.d.ts +10 -0
- package/useLexicalTextEntity.dev.js +31 -0
- package/useLexicalTextEntity.dev.mjs +29 -0
- package/useLexicalTextEntity.js +11 -0
- package/useLexicalTextEntity.js.flow +18 -0
- package/useLexicalTextEntity.mjs +12 -0
- package/useLexicalTextEntity.node.mjs +10 -0
- package/useLexicalTextEntity.prod.js +9 -0
- 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 };
|