@payloadcms/richtext-lexical 0.1.0-beta.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/LICENSE.md +22 -0
- package/dist/cell/index.d.ts +6 -0
- package/dist/cell/index.d.ts.map +1 -0
- package/dist/cell/index.js +86 -0
- package/dist/field/Field.d.ts +6 -0
- package/dist/field/Field.d.ts.map +1 -0
- package/dist/field/Field.js +138 -0
- package/dist/field/features/BlockQuote/index.d.ts +3 -0
- package/dist/field/features/BlockQuote/index.d.ts.map +1 -0
- package/dist/field/features/BlockQuote/index.js +82 -0
- package/dist/field/features/BlockQuote/markdownTransformer.d.ts +3 -0
- package/dist/field/features/BlockQuote/markdownTransformer.d.ts.map +1 -0
- package/dist/field/features/BlockQuote/markdownTransformer.js +50 -0
- package/dist/field/features/Blocks/component/FormSavePlugin.d.ts +12 -0
- package/dist/field/features/Blocks/component/FormSavePlugin.d.ts.map +1 -0
- package/dist/field/features/Blocks/component/FormSavePlugin.js +33 -0
- package/dist/field/features/Blocks/component/index.d.ts +14 -0
- package/dist/field/features/Blocks/component/index.d.ts.map +1 -0
- package/dist/field/features/Blocks/component/index.js +176 -0
- package/dist/field/features/Blocks/drawer/index.d.ts +10 -0
- package/dist/field/features/Blocks/drawer/index.d.ts.map +1 -0
- package/dist/field/features/Blocks/drawer/index.js +140 -0
- package/dist/field/features/Blocks/index.d.ts +8 -0
- package/dist/field/features/Blocks/index.d.ts.map +1 -0
- package/dist/field/features/Blocks/index.js +80 -0
- package/dist/field/features/Blocks/nodes/BlocksNode.d.ts +38 -0
- package/dist/field/features/Blocks/nodes/BlocksNode.d.ts.map +1 -0
- package/dist/field/features/Blocks/nodes/BlocksNode.js +104 -0
- package/dist/field/features/Blocks/plugin/index.d.ts +7 -0
- package/dist/field/features/Blocks/plugin/index.d.ts.map +1 -0
- package/dist/field/features/Blocks/plugin/index.js +86 -0
- package/dist/field/features/Heading/index.d.ts +8 -0
- package/dist/field/features/Heading/index.d.ts.map +1 -0
- package/dist/field/features/Heading/index.js +104 -0
- package/dist/field/features/Heading/markdownTransformer.d.ts +3 -0
- package/dist/field/features/Heading/markdownTransformer.d.ts.map +1 -0
- package/dist/field/features/Heading/markdownTransformer.js +32 -0
- package/dist/field/features/Link/afterReadPromise.d.ts +5 -0
- package/dist/field/features/Link/afterReadPromise.d.ts.map +1 -0
- package/dist/field/features/Link/afterReadPromise.js +51 -0
- package/dist/field/features/Link/drawer/baseFields.d.ts +4 -0
- package/dist/field/features/Link/drawer/baseFields.d.ts.map +1 -0
- package/dist/field/features/Link/drawer/baseFields.js +91 -0
- package/dist/field/features/Link/drawer/index.d.ts +5 -0
- package/dist/field/features/Link/drawer/index.d.ts.map +1 -0
- package/dist/field/features/Link/drawer/index.js +40 -0
- package/dist/field/features/Link/drawer/types.d.ts +8 -0
- package/dist/field/features/Link/drawer/types.d.ts.map +1 -0
- package/dist/field/features/Link/drawer/types.js +6 -0
- package/dist/field/features/Link/index.d.ts +14 -0
- package/dist/field/features/Link/index.d.ts.map +1 -0
- package/dist/field/features/Link/index.js +117 -0
- package/dist/field/features/Link/nodes/AutoLinkNode.d.ts +16 -0
- package/dist/field/features/Link/nodes/AutoLinkNode.d.ts.map +1 -0
- package/dist/field/features/Link/nodes/AutoLinkNode.js +75 -0
- package/dist/field/features/Link/nodes/LinkNode.d.ts +55 -0
- package/dist/field/features/Link/nodes/LinkNode.d.ts.map +1 -0
- package/dist/field/features/Link/nodes/LinkNode.js +368 -0
- package/dist/field/features/Link/plugins/autoLink/index.d.ts +26 -0
- package/dist/field/features/Link/plugins/autoLink/index.d.ts.map +1 -0
- package/dist/field/features/Link/plugins/autoLink/index.js +230 -0
- package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.d.ts +9 -0
- package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -0
- package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.js +301 -0
- package/dist/field/features/Link/plugins/floatingLinkEditor/index.d.ts +7 -0
- package/dist/field/features/Link/plugins/floatingLinkEditor/index.d.ts.map +1 -0
- package/dist/field/features/Link/plugins/floatingLinkEditor/index.js +61 -0
- package/dist/field/features/Link/plugins/floatingLinkEditor/types.d.ts +13 -0
- package/dist/field/features/Link/plugins/floatingLinkEditor/types.d.ts.map +1 -0
- package/dist/field/features/Link/plugins/floatingLinkEditor/types.js +6 -0
- package/dist/field/features/Link/plugins/floatingLinkEditor/utilities.d.ts +12 -0
- package/dist/field/features/Link/plugins/floatingLinkEditor/utilities.d.ts.map +1 -0
- package/dist/field/features/Link/plugins/floatingLinkEditor/utilities.js +44 -0
- package/dist/field/features/Link/plugins/link/index.d.ts +9 -0
- package/dist/field/features/Link/plugins/link/index.d.ts.map +1 -0
- package/dist/field/features/Link/plugins/link/index.js +74 -0
- package/dist/field/features/Paragraph/index.d.ts +3 -0
- package/dist/field/features/Paragraph/index.d.ts.map +1 -0
- package/dist/field/features/Paragraph/index.js +74 -0
- package/dist/field/features/Relationship/afterReadPromise.d.ts +4 -0
- package/dist/field/features/Relationship/afterReadPromise.d.ts.map +1 -0
- package/dist/field/features/Relationship/afterReadPromise.js +34 -0
- package/dist/field/features/Relationship/drawer/index.d.ts +14 -0
- package/dist/field/features/Relationship/drawer/index.d.ts.map +1 -0
- package/dist/field/features/Relationship/drawer/index.js +135 -0
- package/dist/field/features/Relationship/index.d.ts +4 -0
- package/dist/field/features/Relationship/index.d.ts.map +1 -0
- package/dist/field/features/Relationship/index.js +72 -0
- package/dist/field/features/Relationship/nodes/RelationshipNode.d.ts +34 -0
- package/dist/field/features/Relationship/nodes/RelationshipNode.d.ts.map +1 -0
- package/dist/field/features/Relationship/nodes/RelationshipNode.js +165 -0
- package/dist/field/features/Relationship/nodes/components/RelationshipComponent.d.ts +14 -0
- package/dist/field/features/Relationship/nodes/components/RelationshipComponent.d.ts.map +1 -0
- package/dist/field/features/Relationship/nodes/components/RelationshipComponent.js +158 -0
- package/dist/field/features/Relationship/plugins/index.d.ts +6 -0
- package/dist/field/features/Relationship/plugins/index.d.ts.map +1 -0
- package/dist/field/features/Relationship/plugins/index.js +88 -0
- package/dist/field/features/Relationship/utils/EnabledRelationshipsCondition.d.ts +3 -0
- package/dist/field/features/Relationship/utils/EnabledRelationshipsCondition.d.ts.map +1 -0
- package/dist/field/features/Relationship/utils/EnabledRelationshipsCondition.js +75 -0
- package/dist/field/features/Upload/afterReadPromise.d.ts +5 -0
- package/dist/field/features/Upload/afterReadPromise.d.ts.map +1 -0
- package/dist/field/features/Upload/afterReadPromise.js +51 -0
- package/dist/field/features/Upload/component/ExtraFieldsDrawer/index.d.ts +12 -0
- package/dist/field/features/Upload/component/ExtraFieldsDrawer/index.d.ts.map +1 -0
- package/dist/field/features/Upload/component/ExtraFieldsDrawer/index.js +129 -0
- package/dist/field/features/Upload/component/index.d.ts +10 -0
- package/dist/field/features/Upload/component/index.d.ts.map +1 -0
- package/dist/field/features/Upload/component/index.js +188 -0
- package/dist/field/features/Upload/drawer/index.d.ts +14 -0
- package/dist/field/features/Upload/drawer/index.d.ts.map +1 -0
- package/dist/field/features/Upload/drawer/index.js +131 -0
- package/dist/field/features/Upload/index.d.ts +12 -0
- package/dist/field/features/Upload/index.d.ts.map +1 -0
- package/dist/field/features/Upload/index.js +70 -0
- package/dist/field/features/Upload/nodes/UploadNode.d.ts +44 -0
- package/dist/field/features/Upload/nodes/UploadNode.d.ts.map +1 -0
- package/dist/field/features/Upload/nodes/UploadNode.js +153 -0
- package/dist/field/features/Upload/plugin/index.d.ts +7 -0
- package/dist/field/features/Upload/plugin/index.d.ts.map +1 -0
- package/dist/field/features/Upload/plugin/index.js +97 -0
- package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.d.ts +4 -0
- package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.d.ts.map +1 -0
- package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.js +23 -0
- package/dist/field/features/align/index.d.ts +4 -0
- package/dist/field/features/align/index.d.ts.map +1 -0
- package/dist/field/features/align/index.js +67 -0
- package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.d.ts +4 -0
- package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.d.ts.map +1 -0
- package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.js +21 -0
- package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.d.ts +4 -0
- package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.d.ts.map +1 -0
- package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.js +23 -0
- package/dist/field/features/debug/TreeView/index.d.ts +4 -0
- package/dist/field/features/debug/TreeView/index.d.ts.map +1 -0
- package/dist/field/features/debug/TreeView/index.js +30 -0
- package/dist/field/features/debug/TreeView/plugin.d.ts +3 -0
- package/dist/field/features/debug/TreeView/plugin.d.ts.map +1 -0
- package/dist/field/features/debug/TreeView/plugin.js +66 -0
- package/dist/field/features/format/Bold/index.d.ts +3 -0
- package/dist/field/features/format/Bold/index.d.ts.map +1 -0
- package/dist/field/features/format/Bold/index.js +57 -0
- package/dist/field/features/format/Bold/markdownTransformers.d.ts +6 -0
- package/dist/field/features/format/Bold/markdownTransformers.d.ts.map +1 -0
- package/dist/field/features/format/Bold/markdownTransformers.js +58 -0
- package/dist/field/features/format/InlineCode/index.d.ts +3 -0
- package/dist/field/features/format/InlineCode/index.d.ts.map +1 -0
- package/dist/field/features/format/InlineCode/index.js +49 -0
- package/dist/field/features/format/InlineCode/markdownTransformers.d.ts +3 -0
- package/dist/field/features/format/InlineCode/markdownTransformers.d.ts.map +1 -0
- package/dist/field/features/format/InlineCode/markdownTransformers.js +19 -0
- package/dist/field/features/format/Italic/index.d.ts +3 -0
- package/dist/field/features/format/Italic/index.d.ts.map +1 -0
- package/dist/field/features/format/Italic/index.js +50 -0
- package/dist/field/features/format/Italic/markdownTransformers.d.ts +4 -0
- package/dist/field/features/format/Italic/markdownTransformers.d.ts.map +1 -0
- package/dist/field/features/format/Italic/markdownTransformers.js +35 -0
- package/dist/field/features/format/common/floatingSelectToolbarSection.d.ts +4 -0
- package/dist/field/features/format/common/floatingSelectToolbarSection.d.ts.map +1 -0
- package/dist/field/features/format/common/floatingSelectToolbarSection.js +21 -0
- package/dist/field/features/format/strikethrough/index.d.ts +3 -0
- package/dist/field/features/format/strikethrough/index.d.ts.map +1 -0
- package/dist/field/features/format/strikethrough/index.js +49 -0
- package/dist/field/features/format/strikethrough/markdownTransformers.d.ts +3 -0
- package/dist/field/features/format/strikethrough/markdownTransformers.d.ts.map +1 -0
- package/dist/field/features/format/strikethrough/markdownTransformers.js +19 -0
- package/dist/field/features/format/subscript/index.d.ts +3 -0
- package/dist/field/features/format/subscript/index.d.ts.map +1 -0
- package/dist/field/features/format/subscript/index.js +45 -0
- package/dist/field/features/format/superscript/index.d.ts +3 -0
- package/dist/field/features/format/superscript/index.d.ts.map +1 -0
- package/dist/field/features/format/superscript/index.js +45 -0
- package/dist/field/features/format/underline/index.d.ts +3 -0
- package/dist/field/features/format/underline/index.d.ts.map +1 -0
- package/dist/field/features/format/underline/index.js +45 -0
- package/dist/field/features/indent/floatingSelectToolbarIndentSection.d.ts +4 -0
- package/dist/field/features/indent/floatingSelectToolbarIndentSection.d.ts.map +1 -0
- package/dist/field/features/indent/floatingSelectToolbarIndentSection.js +21 -0
- package/dist/field/features/indent/index.d.ts +4 -0
- package/dist/field/features/indent/index.d.ts.map +1 -0
- package/dist/field/features/indent/index.js +67 -0
- package/dist/field/features/lists/CheckList/index.d.ts +3 -0
- package/dist/field/features/lists/CheckList/index.d.ts.map +1 -0
- package/dist/field/features/lists/CheckList/index.js +67 -0
- package/dist/field/features/lists/CheckList/markdownTransformers.d.ts +3 -0
- package/dist/field/features/lists/CheckList/markdownTransformers.d.ts.map +1 -0
- package/dist/field/features/lists/CheckList/markdownTransformers.js +26 -0
- package/dist/field/features/lists/OrderedList/index.d.ts +3 -0
- package/dist/field/features/lists/OrderedList/index.d.ts.map +1 -0
- package/dist/field/features/lists/OrderedList/index.js +65 -0
- package/dist/field/features/lists/OrderedList/markdownTransformer.d.ts +3 -0
- package/dist/field/features/lists/OrderedList/markdownTransformer.d.ts.map +1 -0
- package/dist/field/features/lists/OrderedList/markdownTransformer.js +26 -0
- package/dist/field/features/lists/UnorderedList/index.d.ts +3 -0
- package/dist/field/features/lists/UnorderedList/index.d.ts.map +1 -0
- package/dist/field/features/lists/UnorderedList/index.js +65 -0
- package/dist/field/features/lists/UnorderedList/markdownTransformer.d.ts +3 -0
- package/dist/field/features/lists/UnorderedList/markdownTransformer.d.ts.map +1 -0
- package/dist/field/features/lists/UnorderedList/markdownTransformer.js +26 -0
- package/dist/field/features/lists/common/markdown.d.ts +6 -0
- package/dist/field/features/lists/common/markdown.d.ts.map +1 -0
- package/dist/field/features/lists/common/markdown.js +76 -0
- package/dist/field/features/types.d.ts +95 -0
- package/dist/field/features/types.d.ts.map +1 -0
- package/dist/field/features/types.js +6 -0
- package/dist/field/index.d.ts +4 -0
- package/dist/field/index.d.ts.map +1 -0
- package/dist/field/index.js +60 -0
- package/dist/field/lexical/LexicalEditor.d.ts +5 -0
- package/dist/field/lexical/LexicalEditor.d.ts.map +1 -0
- package/dist/field/lexical/LexicalEditor.js +134 -0
- package/dist/field/lexical/LexicalProvider.d.ts +16 -0
- package/dist/field/lexical/LexicalProvider.d.ts.map +1 -0
- package/dist/field/lexical/LexicalProvider.js +89 -0
- package/dist/field/lexical/config/EditorConfigProvider.d.ts +16 -0
- package/dist/field/lexical/config/EditorConfigProvider.d.ts.map +1 -0
- package/dist/field/lexical/config/EditorConfigProvider.js +96 -0
- package/dist/field/lexical/config/default.d.ts +4 -0
- package/dist/field/lexical/config/default.d.ts.map +1 -0
- package/dist/field/lexical/config/default.js +67 -0
- package/dist/field/lexical/config/loader.d.ts +7 -0
- package/dist/field/lexical/config/loader.d.ts.map +1 -0
- package/dist/field/lexical/config/loader.js +133 -0
- package/dist/field/lexical/config/sanitize.d.ts +5 -0
- package/dist/field/lexical/config/sanitize.d.ts.map +1 -0
- package/dist/field/lexical/config/sanitize.js +138 -0
- package/dist/field/lexical/config/types.d.ts +12 -0
- package/dist/field/lexical/config/types.d.ts.map +1 -0
- package/dist/field/lexical/config/types.js +6 -0
- package/dist/field/lexical/nodes/index.d.ts +6 -0
- package/dist/field/lexical/nodes/index.d.ts.map +1 -0
- package/dist/field/lexical/nodes/index.js +15 -0
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.d.ts +8 -0
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.d.ts.map +1 -0
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.js +135 -0
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts +17 -0
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts.map +1 -0
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.js +289 -0
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts +9 -0
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts.map +1 -0
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js +36 -0
- package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts +6 -0
- package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts.map +1 -0
- package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js +272 -0
- package/dist/field/lexical/plugins/FloatingSelectToolbar/types.d.ts +40 -0
- package/dist/field/lexical/plugins/FloatingSelectToolbar/types.d.ts.map +1 -0
- package/dist/field/lexical/plugins/FloatingSelectToolbar/types.js +6 -0
- package/dist/field/lexical/plugins/MarkdownShortcut/index.d.ts +10 -0
- package/dist/field/lexical/plugins/MarkdownShortcut/index.d.ts.map +1 -0
- package/dist/field/lexical/plugins/MarkdownShortcut/index.js +66 -0
- package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +63 -0
- package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -0
- package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +457 -0
- package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts +26 -0
- package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -0
- package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +281 -0
- package/dist/field/lexical/plugins/SlashMenu/defaultGroups.d.ts +2 -0
- package/dist/field/lexical/plugins/SlashMenu/defaultGroups.d.ts.map +1 -0
- package/dist/field/lexical/plugins/SlashMenu/defaultGroups.js +3 -0
- package/dist/field/lexical/plugins/SlashMenu/index.d.ts +4 -0
- package/dist/field/lexical/plugins/SlashMenu/index.d.ts.map +1 -0
- package/dist/field/lexical/plugins/SlashMenu/index.js +187 -0
- package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts +6 -0
- package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts.map +1 -0
- package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.js +264 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/debounce.d.ts +2 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/debounce.d.ts.map +1 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/debounce.js +24 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.d.ts +2 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.d.ts.map +1 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js +24 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.d.ts +27 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.d.ts.map +1 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.js +160 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.d.ts +3 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.d.ts.map +1 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js +37 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts +6 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.js +346 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.d.ts +3 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.d.ts.map +1 -0
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +59 -0
- package/dist/field/lexical/plugins/handles/utils/getCollapsedMargins.d.ts +5 -0
- package/dist/field/lexical/plugins/handles/utils/getCollapsedMargins.d.ts.map +1 -0
- package/dist/field/lexical/plugins/handles/utils/getCollapsedMargins.js +24 -0
- package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.d.ts +3 -0
- package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.d.ts.map +1 -0
- package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.js +16 -0
- package/dist/field/lexical/plugins/handles/utils/isOnHandleElement.d.ts +2 -0
- package/dist/field/lexical/plugins/handles/utils/isOnHandleElement.d.ts.map +1 -0
- package/dist/field/lexical/plugins/handles/utils/isOnHandleElement.js +15 -0
- package/dist/field/lexical/plugins/handles/utils/setHandlePosition.d.ts +2 -0
- package/dist/field/lexical/plugins/handles/utils/setHandlePosition.d.ts.map +1 -0
- package/dist/field/lexical/plugins/handles/utils/setHandlePosition.js +27 -0
- package/dist/field/lexical/theme/EditorTheme.d.ts +4 -0
- package/dist/field/lexical/theme/EditorTheme.d.ts.map +1 -0
- package/dist/field/lexical/theme/EditorTheme.js +115 -0
- package/dist/field/lexical/ui/ContentEditable.d.ts +6 -0
- package/dist/field/lexical/ui/ContentEditable.d.ts.map +1 -0
- package/dist/field/lexical/ui/ContentEditable.js +59 -0
- package/dist/field/lexical/ui/icons/AI/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/AI/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/AI/index.js +42 -0
- package/dist/field/lexical/ui/icons/AlignCenter/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/AlignCenter/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/AlignCenter/index.js +40 -0
- package/dist/field/lexical/ui/icons/AlignLeft/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/AlignLeft/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/AlignLeft/index.js +40 -0
- package/dist/field/lexical/ui/icons/AlignRight/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/AlignRight/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/AlignRight/index.js +40 -0
- package/dist/field/lexical/ui/icons/Block/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/Block/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/Block/index.js +49 -0
- package/dist/field/lexical/ui/icons/Blockquote/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/Blockquote/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/Blockquote/index.js +31 -0
- package/dist/field/lexical/ui/icons/Bold/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/Bold/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/Bold/index.js +31 -0
- package/dist/field/lexical/ui/icons/Checklist/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/Checklist/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/Checklist/index.js +39 -0
- package/dist/field/lexical/ui/icons/Code/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/Code/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/Code/index.js +34 -0
- package/dist/field/lexical/ui/icons/CodeBlock/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/CodeBlock/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/CodeBlock/index.js +34 -0
- package/dist/field/lexical/ui/icons/H1/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/H1/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/H1/index.js +31 -0
- package/dist/field/lexical/ui/icons/H2/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/H2/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/H2/index.js +31 -0
- package/dist/field/lexical/ui/icons/H3/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/H3/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/H3/index.js +31 -0
- package/dist/field/lexical/ui/icons/H4/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/H4/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/H4/index.js +31 -0
- package/dist/field/lexical/ui/icons/H5/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/H5/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/H5/index.js +31 -0
- package/dist/field/lexical/ui/icons/H6/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/H6/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/H6/index.js +31 -0
- package/dist/field/lexical/ui/icons/IndentDecrease/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/IndentDecrease/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/IndentDecrease/index.js +43 -0
- package/dist/field/lexical/ui/icons/IndentIncrease/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/IndentIncrease/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/IndentIncrease/index.js +43 -0
- package/dist/field/lexical/ui/icons/Italic/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/Italic/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/Italic/index.js +31 -0
- package/dist/field/lexical/ui/icons/Link/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/Link/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/Link/index.js +42 -0
- package/dist/field/lexical/ui/icons/OrderedList/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/OrderedList/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/OrderedList/index.js +46 -0
- package/dist/field/lexical/ui/icons/Relationship/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/Relationship/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/Relationship/index.js +42 -0
- package/dist/field/lexical/ui/icons/Strikethrough/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/Strikethrough/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/Strikethrough/index.js +34 -0
- package/dist/field/lexical/ui/icons/Subscript/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/Subscript/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/Subscript/index.js +31 -0
- package/dist/field/lexical/ui/icons/Superscript/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/Superscript/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/Superscript/index.js +31 -0
- package/dist/field/lexical/ui/icons/Text/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/Text/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/Text/index.js +31 -0
- package/dist/field/lexical/ui/icons/Underline/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/Underline/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/Underline/index.js +34 -0
- package/dist/field/lexical/ui/icons/UnorderedList/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/UnorderedList/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/UnorderedList/index.js +61 -0
- package/dist/field/lexical/ui/icons/Upload/index.d.ts +3 -0
- package/dist/field/lexical/ui/icons/Upload/index.d.ts.map +1 -0
- package/dist/field/lexical/ui/icons/Upload/index.js +43 -0
- package/dist/field/lexical/utils/canUseDOM.d.ts +2 -0
- package/dist/field/lexical/utils/canUseDOM.d.ts.map +1 -0
- package/dist/field/lexical/utils/canUseDOM.js +13 -0
- package/dist/field/lexical/utils/cloneDeep.d.ts +2 -0
- package/dist/field/lexical/utils/cloneDeep.d.ts.map +1 -0
- package/dist/field/lexical/utils/cloneDeep.js +39 -0
- package/dist/field/lexical/utils/getDOMRangeRect.d.ts +2 -0
- package/dist/field/lexical/utils/getDOMRangeRect.d.ts.map +1 -0
- package/dist/field/lexical/utils/getDOMRangeRect.js +26 -0
- package/dist/field/lexical/utils/getSelectedNode.d.ts +3 -0
- package/dist/field/lexical/utils/getSelectedNode.d.ts.map +1 -0
- package/dist/field/lexical/utils/getSelectedNode.js +33 -0
- package/dist/field/lexical/utils/guard.d.ts +9 -0
- package/dist/field/lexical/utils/guard.d.ts.map +1 -0
- package/dist/field/lexical/utils/guard.js +21 -0
- package/dist/field/lexical/utils/invariant.d.ts +2 -0
- package/dist/field/lexical/utils/invariant.d.ts.map +1 -0
- package/dist/field/lexical/utils/invariant.js +22 -0
- package/dist/field/lexical/utils/isMobileWidth.d.ts +9 -0
- package/dist/field/lexical/utils/isMobileWidth.d.ts.map +1 -0
- package/dist/field/lexical/utils/isMobileWidth.js +9 -0
- package/dist/field/lexical/utils/joinClasses.d.ts +9 -0
- package/dist/field/lexical/utils/joinClasses.d.ts.map +1 -0
- package/dist/field/lexical/utils/joinClasses.js +21 -0
- package/dist/field/lexical/utils/markdown/createBlockNode.d.ts +4 -0
- package/dist/field/lexical/utils/markdown/createBlockNode.d.ts.map +1 -0
- package/dist/field/lexical/utils/markdown/createBlockNode.js +20 -0
- package/dist/field/lexical/utils/point.d.ts +22 -0
- package/dist/field/lexical/utils/point.d.ts.map +1 -0
- package/dist/field/lexical/utils/point.js +61 -0
- package/dist/field/lexical/utils/rect.d.ts +54 -0
- package/dist/field/lexical/utils/rect.d.ts.map +1 -0
- package/dist/field/lexical/utils/rect.js +154 -0
- package/dist/field/lexical/utils/setFloatingElemPosition.d.ts +2 -0
- package/dist/field/lexical/utils/setFloatingElemPosition.d.ts.map +1 -0
- package/dist/field/lexical/utils/setFloatingElemPosition.js +55 -0
- package/dist/field/lexical/utils/setFloatingElemPositionForLinkEditor.d.ts +2 -0
- package/dist/field/lexical/utils/setFloatingElemPositionForLinkEditor.d.ts.map +1 -0
- package/dist/field/lexical/utils/setFloatingElemPositionForLinkEditor.js +43 -0
- package/dist/field/lexical/utils/swipe.d.ts +12 -0
- package/dist/field/lexical/utils/swipe.d.ts.map +1 -0
- package/dist/field/lexical/utils/swipe.js +130 -0
- package/dist/field/lexical/utils/url.d.ts +10 -0
- package/dist/field/lexical/utils/url.d.ts.map +1 -0
- package/dist/field/lexical/utils/url.js +40 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +170 -0
- package/dist/populate/defaultValue.d.ts +26 -0
- package/dist/populate/defaultValue.d.ts.map +1 -0
- package/dist/populate/defaultValue.js +41 -0
- package/dist/populate/populate.d.ts +20 -0
- package/dist/populate/populate.d.ts.map +1 -0
- package/dist/populate/populate.js +31 -0
- package/dist/populate/recurseNestedFields.d.ts +16 -0
- package/dist/populate/recurseNestedFields.d.ts.map +1 -0
- package/dist/populate/recurseNestedFields.js +182 -0
- package/dist/populate/richTextRelationshipPromise.d.ts +22 -0
- package/dist/populate/richTextRelationshipPromise.d.ts.map +1 -0
- package/dist/populate/richTextRelationshipPromise.js +71 -0
- package/dist/populate/validation.d.ts +4 -0
- package/dist/populate/validation.d.ts.map +1 -0
- package/dist/populate/validation.js +21 -0
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/package.json +60 -0
- package/src/index.ts +92 -0
|
@@ -0,0 +1,264 @@
|
|
|
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
|
+
*/ "use strict";
|
|
8
|
+
Object.defineProperty(exports, "__esModule", {
|
|
9
|
+
value: true
|
|
10
|
+
});
|
|
11
|
+
Object.defineProperty(exports, "AddBlockHandlePlugin", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function() {
|
|
14
|
+
return AddBlockHandlePlugin;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
const _LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
|
|
18
|
+
const _lexical = require("lexical");
|
|
19
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
|
20
|
+
const _reactdom = require("react-dom");
|
|
21
|
+
const _guard = require("../../../utils/guard");
|
|
22
|
+
const _point = require("../../../utils/point");
|
|
23
|
+
const _rect = require("../../../utils/rect");
|
|
24
|
+
const _LexicalTypeaheadMenuPlugin = require("../../SlashMenu/LexicalTypeaheadMenuPlugin");
|
|
25
|
+
const _getCollapsedMargins = require("../utils/getCollapsedMargins");
|
|
26
|
+
const _getTopLevelNodeKeys = require("../utils/getTopLevelNodeKeys");
|
|
27
|
+
const _isOnHandleElement = require("../utils/isOnHandleElement");
|
|
28
|
+
const _setHandlePosition = require("../utils/setHandlePosition");
|
|
29
|
+
require("./index.scss");
|
|
30
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
31
|
+
if (typeof WeakMap !== "function") return null;
|
|
32
|
+
var cacheBabelInterop = new WeakMap();
|
|
33
|
+
var cacheNodeInterop = new WeakMap();
|
|
34
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
35
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
36
|
+
})(nodeInterop);
|
|
37
|
+
}
|
|
38
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
39
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
40
|
+
return obj;
|
|
41
|
+
}
|
|
42
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
43
|
+
return {
|
|
44
|
+
default: obj
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
48
|
+
if (cache && cache.has(obj)) {
|
|
49
|
+
return cache.get(obj);
|
|
50
|
+
}
|
|
51
|
+
var newObj = {};
|
|
52
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
53
|
+
for(var key in obj){
|
|
54
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
55
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
56
|
+
if (desc && (desc.get || desc.set)) {
|
|
57
|
+
Object.defineProperty(newObj, key, desc);
|
|
58
|
+
} else {
|
|
59
|
+
newObj[key] = obj[key];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
newObj.default = obj;
|
|
64
|
+
if (cache) {
|
|
65
|
+
cache.set(obj, newObj);
|
|
66
|
+
}
|
|
67
|
+
return newObj;
|
|
68
|
+
}
|
|
69
|
+
const SPACE = -24;
|
|
70
|
+
const ADD_BLOCK_MENU_CLASSNAME = 'add-block-menu';
|
|
71
|
+
const Downward = 1;
|
|
72
|
+
const Upward = -1;
|
|
73
|
+
const Indeterminate = 0;
|
|
74
|
+
let prevIndex = Infinity;
|
|
75
|
+
function getCurrentIndex(keysLength) {
|
|
76
|
+
if (keysLength === 0) {
|
|
77
|
+
return Infinity;
|
|
78
|
+
}
|
|
79
|
+
if (prevIndex >= 0 && prevIndex < keysLength) {
|
|
80
|
+
return prevIndex;
|
|
81
|
+
}
|
|
82
|
+
return Math.floor(keysLength / 2);
|
|
83
|
+
}
|
|
84
|
+
function getBlockElement(anchorElem, editor, event, useEdgeAsDefault = false, horizontalOffset = 0) {
|
|
85
|
+
const anchorElementRect = anchorElem.getBoundingClientRect();
|
|
86
|
+
const topLevelNodeKeys = (0, _getTopLevelNodeKeys.getTopLevelNodeKeys)(editor);
|
|
87
|
+
let blockElem = null;
|
|
88
|
+
let blockNode = null;
|
|
89
|
+
let shouldRemove = false;
|
|
90
|
+
// Return null if matching block element is the first or last node
|
|
91
|
+
editor.getEditorState().read(()=>{
|
|
92
|
+
if (useEdgeAsDefault) {
|
|
93
|
+
const [firstNode, lastNode] = [
|
|
94
|
+
editor.getElementByKey(topLevelNodeKeys[0]),
|
|
95
|
+
editor.getElementByKey(topLevelNodeKeys[topLevelNodeKeys.length - 1])
|
|
96
|
+
];
|
|
97
|
+
const [firstNodeRect, lastNodeRect] = [
|
|
98
|
+
firstNode?.getBoundingClientRect(),
|
|
99
|
+
lastNode?.getBoundingClientRect()
|
|
100
|
+
];
|
|
101
|
+
if (firstNodeRect && lastNodeRect) {
|
|
102
|
+
if (event.y < firstNodeRect.top) {
|
|
103
|
+
blockElem = firstNode;
|
|
104
|
+
} else if (event.y > lastNodeRect.bottom) {
|
|
105
|
+
blockElem = lastNode;
|
|
106
|
+
}
|
|
107
|
+
if (blockElem) {
|
|
108
|
+
return {
|
|
109
|
+
blockElem: null,
|
|
110
|
+
shouldRemove
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// Find matching block element
|
|
116
|
+
let index = getCurrentIndex(topLevelNodeKeys.length);
|
|
117
|
+
let direction = Indeterminate;
|
|
118
|
+
while(index >= 0 && index < topLevelNodeKeys.length){
|
|
119
|
+
const key = topLevelNodeKeys[index];
|
|
120
|
+
const elem = editor.getElementByKey(key);
|
|
121
|
+
if (elem === null) {
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
const point = new _point.Point(event.x + horizontalOffset, event.y);
|
|
125
|
+
const domRect = _rect.Rect.fromDOM(elem);
|
|
126
|
+
const { marginBottom, marginTop } = (0, _getCollapsedMargins.getCollapsedMargins)(elem);
|
|
127
|
+
const rect = domRect.generateNewRect({
|
|
128
|
+
bottom: domRect.bottom + marginBottom,
|
|
129
|
+
left: anchorElementRect.left,
|
|
130
|
+
right: anchorElementRect.right,
|
|
131
|
+
top: domRect.top - marginTop
|
|
132
|
+
});
|
|
133
|
+
const { reason: { isOnBottomSide, isOnTopSide }, result } = rect.contains(point);
|
|
134
|
+
if (result) {
|
|
135
|
+
blockElem = elem;
|
|
136
|
+
blockNode = (0, _lexical.$getNodeByKey)(key);
|
|
137
|
+
prevIndex = index;
|
|
138
|
+
// Check if blockNode is an empty text node
|
|
139
|
+
if (!blockNode || blockNode.getType() !== 'paragraph' || blockNode.getTextContent() !== '') {
|
|
140
|
+
blockElem = null;
|
|
141
|
+
shouldRemove = true;
|
|
142
|
+
}
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
if (direction === Indeterminate) {
|
|
146
|
+
if (isOnTopSide) {
|
|
147
|
+
direction = Upward;
|
|
148
|
+
} else if (isOnBottomSide) {
|
|
149
|
+
direction = Downward;
|
|
150
|
+
} else {
|
|
151
|
+
// stop search block element
|
|
152
|
+
direction = Infinity;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
index += direction;
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
return {
|
|
159
|
+
blockElem: blockElem,
|
|
160
|
+
shouldRemove
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
function useAddBlockHandle(editor, anchorElem, isEditable) {
|
|
164
|
+
const scrollerElem = anchorElem.parentElement;
|
|
165
|
+
const menuRef = (0, _react.useRef)(null);
|
|
166
|
+
const [emptyBlockElem, setEmptyBlockElem] = (0, _react.useState)(null);
|
|
167
|
+
(0, _react.useEffect)(()=>{
|
|
168
|
+
function onDocumentMouseMove(event) {
|
|
169
|
+
const target = event.target;
|
|
170
|
+
if (!(0, _guard.isHTMLElement)(target)) {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
let distanceFromScrollerElem = 0;
|
|
174
|
+
// Calculate distance between scrollerElem and target if target is not in scrollerElem
|
|
175
|
+
if (scrollerElem && !scrollerElem.contains(target)) {
|
|
176
|
+
const { bottom, left, right, top } = scrollerElem.getBoundingClientRect();
|
|
177
|
+
const { pageX, pageY } = event;
|
|
178
|
+
const horizontalBuffer = 50;
|
|
179
|
+
const verticalBuffer = 25;
|
|
180
|
+
const adjustedTop = top + window.scrollY;
|
|
181
|
+
const adjustedBottom = bottom + window.scrollY;
|
|
182
|
+
if (pageY < adjustedTop - verticalBuffer || pageY > adjustedBottom + verticalBuffer || pageX < left - horizontalBuffer || pageX > right + horizontalBuffer) {
|
|
183
|
+
setEmptyBlockElem(null);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
// This is used to allow the _emptyBlockElem to be found when the mouse is in the
|
|
187
|
+
// buffer zone around the scrollerElem.
|
|
188
|
+
if (pageX < left || pageX > right) {
|
|
189
|
+
distanceFromScrollerElem = pageX < left ? pageX - left : pageX - right;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
if ((0, _isOnHandleElement.isOnHandleElement)(target, ADD_BLOCK_MENU_CLASSNAME)) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
const { blockElem: _emptyBlockElem, shouldRemove } = getBlockElement(anchorElem, editor, event, false, -distanceFromScrollerElem);
|
|
196
|
+
if (!_emptyBlockElem && !shouldRemove) {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
setEmptyBlockElem(_emptyBlockElem);
|
|
200
|
+
}
|
|
201
|
+
// Since the draggableBlockElem is outside the actual editor, we need to listen to the document
|
|
202
|
+
// to be able to detect when the mouse is outside the editor and respect a buffer around the
|
|
203
|
+
// the scrollerElem to avoid the draggableBlockElem disappearing too early.
|
|
204
|
+
document?.addEventListener('mousemove', onDocumentMouseMove);
|
|
205
|
+
return ()=>{
|
|
206
|
+
document?.removeEventListener('mousemove', onDocumentMouseMove);
|
|
207
|
+
};
|
|
208
|
+
}, [
|
|
209
|
+
scrollerElem,
|
|
210
|
+
anchorElem,
|
|
211
|
+
editor
|
|
212
|
+
]);
|
|
213
|
+
(0, _react.useEffect)(()=>{
|
|
214
|
+
if (menuRef.current) {
|
|
215
|
+
(0, _setHandlePosition.setHandlePosition)(emptyBlockElem, menuRef.current, anchorElem, SPACE);
|
|
216
|
+
}
|
|
217
|
+
}, [
|
|
218
|
+
anchorElem,
|
|
219
|
+
emptyBlockElem
|
|
220
|
+
]);
|
|
221
|
+
const handleAddClick = (0, _react.useCallback)((event)=>{
|
|
222
|
+
if (!emptyBlockElem) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
editor.update(()=>{
|
|
226
|
+
const node = (0, _lexical.$getNearestNodeFromDOMNode)(emptyBlockElem);
|
|
227
|
+
if (!node || node.getType() !== 'paragraph') {
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
editor.focus();
|
|
231
|
+
node.select();
|
|
232
|
+
/*const ns = $createNodeSelection();
|
|
233
|
+
ns.add(node.getKey())
|
|
234
|
+
$setSelection(ns)*/ });
|
|
235
|
+
// Make sure this is called AFTER the editorfocus() event has been processed by the browser
|
|
236
|
+
// Otherwise, this won't work
|
|
237
|
+
setTimeout(()=>{
|
|
238
|
+
editor.dispatchCommand(_LexicalTypeaheadMenuPlugin.ENABLE_SLASH_MENU_COMMAND, {
|
|
239
|
+
rect: emptyBlockElem.getBoundingClientRect()
|
|
240
|
+
});
|
|
241
|
+
}, 0);
|
|
242
|
+
event.stopPropagation();
|
|
243
|
+
event.preventDefault();
|
|
244
|
+
}, [
|
|
245
|
+
editor,
|
|
246
|
+
emptyBlockElem
|
|
247
|
+
]);
|
|
248
|
+
return /*#__PURE__*/ (0, _reactdom.createPortal)(/*#__PURE__*/ _react.createElement(_react.Fragment, null, /*#__PURE__*/ _react.createElement("button", {
|
|
249
|
+
className: "icon add-block-menu",
|
|
250
|
+
onClick: (event)=>{
|
|
251
|
+
handleAddClick(event);
|
|
252
|
+
},
|
|
253
|
+
ref: menuRef,
|
|
254
|
+
type: "button"
|
|
255
|
+
}, /*#__PURE__*/ _react.createElement("div", {
|
|
256
|
+
className: isEditable ? 'icon' : ''
|
|
257
|
+
}))), anchorElem);
|
|
258
|
+
}
|
|
259
|
+
function AddBlockHandlePlugin({ anchorElem = document.body }) {
|
|
260
|
+
const [editor] = (0, _LexicalComposerContext.useLexicalComposerContext)();
|
|
261
|
+
return useAddBlockHandle(editor, anchorElem, editor._editable);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvaGFuZGxlcy9BZGRCbG9ja0hhbmRsZVBsdWdpbi9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE1ldGEgUGxhdGZvcm1zLCBJbmMuIGFuZCBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuaW1wb3J0IHR5cGUgeyBQYXJhZ3JhcGhOb2RlIH0gZnJvbSAnbGV4aWNhbCdcblxuaW1wb3J0IHsgdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCB9IGZyb20gJ0BsZXhpY2FsL3JlYWN0L0xleGljYWxDb21wb3NlckNvbnRleHQnXG5pbXBvcnQge1xuICAkZ2V0TmVhcmVzdE5vZGVGcm9tRE9NTm9kZSxcbiAgJGdldE5vZGVCeUtleSxcbiAgdHlwZSBMZXhpY2FsRWRpdG9yLFxuICB0eXBlIExleGljYWxOb2RlLFxufSBmcm9tICdsZXhpY2FsJ1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5cbmltcG9ydCB7IGlzSFRNTEVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9ndWFyZCdcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvcG9pbnQnXG5pbXBvcnQgeyBSZWN0IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvcmVjdCdcbmltcG9ydCB7IEVOQUJMRV9TTEFTSF9NRU5VX0NPTU1BTkQgfSBmcm9tICcuLi8uLi9TbGFzaE1lbnUvTGV4aWNhbFR5cGVhaGVhZE1lbnVQbHVnaW4nXG5pbXBvcnQgeyBnZXRDb2xsYXBzZWRNYXJnaW5zIH0gZnJvbSAnLi4vdXRpbHMvZ2V0Q29sbGFwc2VkTWFyZ2lucydcbmltcG9ydCB7IGdldFRvcExldmVsTm9kZUtleXMgfSBmcm9tICcuLi91dGlscy9nZXRUb3BMZXZlbE5vZGVLZXlzJ1xuaW1wb3J0IHsgaXNPbkhhbmRsZUVsZW1lbnQgfSBmcm9tICcuLi91dGlscy9pc09uSGFuZGxlRWxlbWVudCdcbmltcG9ydCB7IHNldEhhbmRsZVBvc2l0aW9uIH0gZnJvbSAnLi4vdXRpbHMvc2V0SGFuZGxlUG9zaXRpb24nXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgU1BBQ0UgPSAtMjRcbmNvbnN0IEFERF9CTE9DS19NRU5VX0NMQVNTTkFNRSA9ICdhZGQtYmxvY2stbWVudSdcblxuY29uc3QgRG93bndhcmQgPSAxXG5jb25zdCBVcHdhcmQgPSAtMVxuY29uc3QgSW5kZXRlcm1pbmF0ZSA9IDBcblxubGV0IHByZXZJbmRleCA9IEluZmluaXR5XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnRJbmRleChrZXlzTGVuZ3RoOiBudW1iZXIpOiBudW1iZXIge1xuICBpZiAoa2V5c0xlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBJbmZpbml0eVxuICB9XG4gIGlmIChwcmV2SW5kZXggPj0gMCAmJiBwcmV2SW5kZXggPCBrZXlzTGVuZ3RoKSB7XG4gICAgcmV0dXJuIHByZXZJbmRleFxuICB9XG5cbiAgcmV0dXJuIE1hdGguZmxvb3Ioa2V5c0xlbmd0aCAvIDIpXG59XG5cbmZ1bmN0aW9uIGdldEJsb2NrRWxlbWVudChcbiAgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnQsXG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvcixcbiAgZXZlbnQ6IE1vdXNlRXZlbnQsXG4gIHVzZUVkZ2VBc0RlZmF1bHQgPSBmYWxzZSxcbiAgaG9yaXpvbnRhbE9mZnNldCA9IDAsXG4pOiB7XG4gIGJsb2NrRWxlbTogSFRNTEVsZW1lbnQgfCBudWxsXG4gIHNob3VsZFJlbW92ZTogYm9vbGVhblxufSB7XG4gIGNvbnN0IGFuY2hvckVsZW1lbnRSZWN0ID0gYW5jaG9yRWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICBjb25zdCB0b3BMZXZlbE5vZGVLZXlzID0gZ2V0VG9wTGV2ZWxOb2RlS2V5cyhlZGl0b3IpXG5cbiAgbGV0IGJsb2NrRWxlbTogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbFxuICBsZXQgYmxvY2tOb2RlOiBMZXhpY2FsTm9kZSB8IG51bGwgPSBudWxsXG4gIGxldCBzaG91bGRSZW1vdmUgPSBmYWxzZVxuXG4gIC8vIFJldHVybiBudWxsIGlmIG1hdGNoaW5nIGJsb2NrIGVsZW1lbnQgaXMgdGhlIGZpcnN0IG9yIGxhc3Qgbm9kZVxuICBlZGl0b3IuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKCgpID0+IHtcbiAgICBpZiAodXNlRWRnZUFzRGVmYXVsdCkge1xuICAgICAgY29uc3QgW2ZpcnN0Tm9kZSwgbGFzdE5vZGVdID0gW1xuICAgICAgICBlZGl0b3IuZ2V0RWxlbWVudEJ5S2V5KHRvcExldmVsTm9kZUtleXNbMF0pLFxuICAgICAgICBlZGl0b3IuZ2V0RWxlbWVudEJ5S2V5KHRvcExldmVsTm9kZUtleXNbdG9wTGV2ZWxOb2RlS2V5cy5sZW5ndGggLSAxXSksXG4gICAgICBdXG5cbiAgICAgIGNvbnN0IFtmaXJzdE5vZGVSZWN0LCBsYXN0Tm9kZVJlY3RdID0gW1xuICAgICAgICBmaXJzdE5vZGU/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgICBsYXN0Tm9kZT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgICBdXG5cbiAgICAgIGlmIChmaXJzdE5vZGVSZWN0ICYmIGxhc3ROb2RlUmVjdCkge1xuICAgICAgICBpZiAoZXZlbnQueSA8IGZpcnN0Tm9kZVJlY3QudG9wKSB7XG4gICAgICAgICAgYmxvY2tFbGVtID0gZmlyc3ROb2RlXG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQueSA+IGxhc3ROb2RlUmVjdC5ib3R0b20pIHtcbiAgICAgICAgICBibG9ja0VsZW0gPSBsYXN0Tm9kZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGJsb2NrRWxlbSkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBibG9ja0VsZW06IG51bGwsXG4gICAgICAgICAgICBzaG91bGRSZW1vdmUsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmluZCBtYXRjaGluZyBibG9jayBlbGVtZW50XG4gICAgbGV0IGluZGV4ID0gZ2V0Q3VycmVudEluZGV4KHRvcExldmVsTm9kZUtleXMubGVuZ3RoKVxuICAgIGxldCBkaXJlY3Rpb24gPSBJbmRldGVybWluYXRlXG5cbiAgICB3aGlsZSAoaW5kZXggPj0gMCAmJiBpbmRleCA8IHRvcExldmVsTm9kZUtleXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBrZXkgPSB0b3BMZXZlbE5vZGVLZXlzW2luZGV4XVxuICAgICAgY29uc3QgZWxlbSA9IGVkaXRvci5nZXRFbGVtZW50QnlLZXkoa2V5KVxuICAgICAgaWYgKGVsZW0gPT09IG51bGwpIHtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBvaW50ID0gbmV3IFBvaW50KGV2ZW50LnggKyBob3Jpem9udGFsT2Zmc2V0LCBldmVudC55KVxuICAgICAgY29uc3QgZG9tUmVjdCA9IFJlY3QuZnJvbURPTShlbGVtKVxuICAgICAgY29uc3QgeyBtYXJnaW5Cb3R0b20sIG1hcmdpblRvcCB9ID0gZ2V0Q29sbGFwc2VkTWFyZ2lucyhlbGVtKVxuXG4gICAgICBjb25zdCByZWN0ID0gZG9tUmVjdC5nZW5lcmF0ZU5ld1JlY3Qoe1xuICAgICAgICBib3R0b206IGRvbVJlY3QuYm90dG9tICsgbWFyZ2luQm90dG9tLFxuICAgICAgICBsZWZ0OiBhbmNob3JFbGVtZW50UmVjdC5sZWZ0LFxuICAgICAgICByaWdodDogYW5jaG9yRWxlbWVudFJlY3QucmlnaHQsXG4gICAgICAgIHRvcDogZG9tUmVjdC50b3AgLSBtYXJnaW5Ub3AsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCB7XG4gICAgICAgIHJlYXNvbjogeyBpc09uQm90dG9tU2lkZSwgaXNPblRvcFNpZGUgfSxcbiAgICAgICAgcmVzdWx0LFxuICAgICAgfSA9IHJlY3QuY29udGFpbnMocG9pbnQpXG5cbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgYmxvY2tFbGVtID0gZWxlbVxuICAgICAgICBibG9ja05vZGUgPSAkZ2V0Tm9kZUJ5S2V5KGtleSlcbiAgICAgICAgcHJldkluZGV4ID0gaW5kZXhcblxuICAgICAgICAvLyBDaGVjayBpZiBibG9ja05vZGUgaXMgYW4gZW1wdHkgdGV4dCBub2RlXG4gICAgICAgIGlmIChcbiAgICAgICAgICAhYmxvY2tOb2RlIHx8XG4gICAgICAgICAgYmxvY2tOb2RlLmdldFR5cGUoKSAhPT0gJ3BhcmFncmFwaCcgfHxcbiAgICAgICAgICBibG9ja05vZGUuZ2V0VGV4dENvbnRlbnQoKSAhPT0gJydcbiAgICAgICAgKSB7XG4gICAgICAgICAgYmxvY2tFbGVtID0gbnVsbFxuICAgICAgICAgIHNob3VsZFJlbW92ZSA9IHRydWVcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBpZiAoZGlyZWN0aW9uID09PSBJbmRldGVybWluYXRlKSB7XG4gICAgICAgIGlmIChpc09uVG9wU2lkZSkge1xuICAgICAgICAgIGRpcmVjdGlvbiA9IFVwd2FyZFxuICAgICAgICB9IGVsc2UgaWYgKGlzT25Cb3R0b21TaWRlKSB7XG4gICAgICAgICAgZGlyZWN0aW9uID0gRG93bndhcmRcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBzdG9wIHNlYXJjaCBibG9jayBlbGVtZW50XG4gICAgICAgICAgZGlyZWN0aW9uID0gSW5maW5pdHlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbmRleCArPSBkaXJlY3Rpb25cbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIHtcbiAgICBibG9ja0VsZW06IGJsb2NrRWxlbSxcbiAgICBzaG91bGRSZW1vdmUsXG4gIH1cbn1cblxuZnVuY3Rpb24gdXNlQWRkQmxvY2tIYW5kbGUoXG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvcixcbiAgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnQsXG4gIGlzRWRpdGFibGU6IGJvb2xlYW4sXG4pOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IHNjcm9sbGVyRWxlbSA9IGFuY2hvckVsZW0ucGFyZW50RWxlbWVudFxuXG4gIGNvbnN0IG1lbnVSZWYgPSB1c2VSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtlbXB0eUJsb2NrRWxlbSwgc2V0RW1wdHlCbG9ja0VsZW1dID0gdXNlU3RhdGU8SFRNTEVsZW1lbnQgfCBudWxsPihudWxsKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZnVuY3Rpb24gb25Eb2N1bWVudE1vdXNlTW92ZShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0XG4gICAgICBpZiAoIWlzSFRNTEVsZW1lbnQodGFyZ2V0KSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgbGV0IGRpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbSA9IDBcbiAgICAgIC8vIENhbGN1bGF0ZSBkaXN0YW5jZSBiZXR3ZWVuIHNjcm9sbGVyRWxlbSBhbmQgdGFyZ2V0IGlmIHRhcmdldCBpcyBub3QgaW4gc2Nyb2xsZXJFbGVtXG4gICAgICBpZiAoc2Nyb2xsZXJFbGVtICYmICFzY3JvbGxlckVsZW0uY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICBjb25zdCB7IGJvdHRvbSwgbGVmdCwgcmlnaHQsIHRvcCB9ID0gc2Nyb2xsZXJFbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICAgIGNvbnN0IHsgcGFnZVgsIHBhZ2VZIH0gPSBldmVudFxuICAgICAgICBjb25zdCBob3Jpem9udGFsQnVmZmVyID0gNTBcbiAgICAgICAgY29uc3QgdmVydGljYWxCdWZmZXIgPSAyNVxuICAgICAgICBjb25zdCBhZGp1c3RlZFRvcCA9IHRvcCArIHdpbmRvdy5zY3JvbGxZXG4gICAgICAgIGNvbnN0IGFkanVzdGVkQm90dG9tID0gYm90dG9tICsgd2luZG93LnNjcm9sbFlcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgcGFnZVkgPCBhZGp1c3RlZFRvcCAtIHZlcnRpY2FsQnVmZmVyIHx8XG4gICAgICAgICAgcGFnZVkgPiBhZGp1c3RlZEJvdHRvbSArIHZlcnRpY2FsQnVmZmVyIHx8XG4gICAgICAgICAgcGFnZVggPCBsZWZ0IC0gaG9yaXpvbnRhbEJ1ZmZlciB8fFxuICAgICAgICAgIHBhZ2VYID4gcmlnaHQgKyBob3Jpem9udGFsQnVmZmVyXG4gICAgICAgICkge1xuICAgICAgICAgIHNldEVtcHR5QmxvY2tFbGVtKG51bGwpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGlzIHVzZWQgdG8gYWxsb3cgdGhlIF9lbXB0eUJsb2NrRWxlbSB0byBiZSBmb3VuZCB3aGVuIHRoZSBtb3VzZSBpcyBpbiB0aGVcbiAgICAgICAgLy8gYnVmZmVyIHpvbmUgYXJvdW5kIHRoZSBzY3JvbGxlckVsZW0uXG4gICAgICAgIGlmIChwYWdlWCA8IGxlZnQgfHwgcGFnZVggPiByaWdodCkge1xuICAgICAgICAgIGRpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbSA9IHBhZ2VYIDwgbGVmdCA/IHBhZ2VYIC0gbGVmdCA6IHBhZ2VYIC0gcmlnaHRcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoaXNPbkhhbmRsZUVsZW1lbnQodGFyZ2V0LCBBRERfQkxPQ0tfTUVOVV9DTEFTU05BTUUpKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3QgeyBibG9ja0VsZW06IF9lbXB0eUJsb2NrRWxlbSwgc2hvdWxkUmVtb3ZlIH0gPSBnZXRCbG9ja0VsZW1lbnQoXG4gICAgICAgIGFuY2hvckVsZW0sXG4gICAgICAgIGVkaXRvcixcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIGZhbHNlLFxuICAgICAgICAtZGlzdGFuY2VGcm9tU2Nyb2xsZXJFbGVtLFxuICAgICAgKVxuICAgICAgaWYgKCFfZW1wdHlCbG9ja0VsZW0gJiYgIXNob3VsZFJlbW92ZSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHNldEVtcHR5QmxvY2tFbGVtKF9lbXB0eUJsb2NrRWxlbSlcbiAgICB9XG5cbiAgICAvLyBTaW5jZSB0aGUgZHJhZ2dhYmxlQmxvY2tFbGVtIGlzIG91dHNpZGUgdGhlIGFjdHVhbCBlZGl0b3IsIHdlIG5lZWQgdG8gbGlzdGVuIHRvIHRoZSBkb2N1bWVudFxuICAgIC8vIHRvIGJlIGFibGUgdG8gZGV0ZWN0IHdoZW4gdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGVkaXRvciBhbmQgcmVzcGVjdCBhIGJ1ZmZlciBhcm91bmQgdGhlXG4gICAgLy8gdGhlIHNjcm9sbGVyRWxlbSB0byBhdm9pZCB0aGUgZHJhZ2dhYmxlQmxvY2tFbGVtIGRpc2FwcGVhcmluZyB0b28gZWFybHkuXG4gICAgZG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG9uRG9jdW1lbnRNb3VzZU1vdmUpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG9uRG9jdW1lbnRNb3VzZU1vdmUpXG4gICAgfVxuICB9LCBbc2Nyb2xsZXJFbGVtLCBhbmNob3JFbGVtLCBlZGl0b3JdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG1lbnVSZWYuY3VycmVudCkge1xuICAgICAgc2V0SGFuZGxlUG9zaXRpb24oZW1wdHlCbG9ja0VsZW0sIG1lbnVSZWYuY3VycmVudCwgYW5jaG9yRWxlbSwgU1BBQ0UpXG4gICAgfVxuICB9LCBbYW5jaG9yRWxlbSwgZW1wdHlCbG9ja0VsZW1dKVxuXG4gIGNvbnN0IGhhbmRsZUFkZENsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoIWVtcHR5QmxvY2tFbGVtKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBlZGl0b3IudXBkYXRlKCgpID0+IHtcbiAgICAgICAgY29uc3Qgbm9kZTogUGFyYWdyYXBoTm9kZSA9ICRnZXROZWFyZXN0Tm9kZUZyb21ET01Ob2RlKGVtcHR5QmxvY2tFbGVtKSBhcyBQYXJhZ3JhcGhOb2RlXG4gICAgICAgIGlmICghbm9kZSB8fCBub2RlLmdldFR5cGUoKSAhPT0gJ3BhcmFncmFwaCcpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICBlZGl0b3IuZm9jdXMoKVxuXG4gICAgICAgIG5vZGUuc2VsZWN0KClcbiAgICAgICAgLypjb25zdCBucyA9ICRjcmVhdGVOb2RlU2VsZWN0aW9uKCk7XG4gICAgICAgIG5zLmFkZChub2RlLmdldEtleSgpKVxuICAgICAgICAkc2V0U2VsZWN0aW9uKG5zKSovXG4gICAgICB9KVxuXG4gICAgICAvLyBNYWtlIHN1cmUgdGhpcyBpcyBjYWxsZWQgQUZURVIgdGhlIGVkaXRvcmZvY3VzKCkgZXZlbnQgaGFzIGJlZW4gcHJvY2Vzc2VkIGJ5IHRoZSBicm93c2VyXG4gICAgICAvLyBPdGhlcndpc2UsIHRoaXMgd29uJ3Qgd29ya1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoRU5BQkxFX1NMQVNIX01FTlVfQ09NTUFORCwge1xuICAgICAgICAgIHJlY3Q6IGVtcHR5QmxvY2tFbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgICB9KVxuICAgICAgfSwgMClcblxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICB9LFxuICAgIFtlZGl0b3IsIGVtcHR5QmxvY2tFbGVtXSxcbiAgKVxuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzc05hbWU9XCJpY29uIGFkZC1ibG9jay1tZW51XCJcbiAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgaGFuZGxlQWRkQ2xpY2soZXZlbnQpXG4gICAgICAgIH19XG4gICAgICAgIHJlZj17bWVudVJlZn1cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtpc0VkaXRhYmxlID8gJ2ljb24nIDogJyd9IC8+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICBhbmNob3JFbGVtLFxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBZGRCbG9ja0hhbmRsZVBsdWdpbih7XG4gIGFuY2hvckVsZW0gPSBkb2N1bWVudC5ib2R5LFxufToge1xuICBhbmNob3JFbGVtPzogSFRNTEVsZW1lbnRcbn0pOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IFtlZGl0b3JdID0gdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCgpXG4gIHJldHVybiB1c2VBZGRCbG9ja0hhbmRsZShlZGl0b3IsIGFuY2hvckVsZW0sIGVkaXRvci5fZWRpdGFibGUpXG59XG4iXSwibmFtZXMiOlsiQWRkQmxvY2tIYW5kbGVQbHVnaW4iLCJTUEFDRSIsIkFERF9CTE9DS19NRU5VX0NMQVNTTkFNRSIsIkRvd253YXJkIiwiVXB3YXJkIiwiSW5kZXRlcm1pbmF0ZSIsInByZXZJbmRleCIsIkluZmluaXR5IiwiZ2V0Q3VycmVudEluZGV4Iiwia2V5c0xlbmd0aCIsIk1hdGgiLCJmbG9vciIsImdldEJsb2NrRWxlbWVudCIsImFuY2hvckVsZW0iLCJlZGl0b3IiLCJldmVudCIsInVzZUVkZ2VBc0RlZmF1bHQiLCJob3Jpem9udGFsT2Zmc2V0IiwiYW5jaG9yRWxlbWVudFJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ0b3BMZXZlbE5vZGVLZXlzIiwiZ2V0VG9wTGV2ZWxOb2RlS2V5cyIsImJsb2NrRWxlbSIsImJsb2NrTm9kZSIsInNob3VsZFJlbW92ZSIsImdldEVkaXRvclN0YXRlIiwicmVhZCIsImZpcnN0Tm9kZSIsImxhc3ROb2RlIiwiZ2V0RWxlbWVudEJ5S2V5IiwibGVuZ3RoIiwiZmlyc3ROb2RlUmVjdCIsImxhc3ROb2RlUmVjdCIsInkiLCJ0b3AiLCJib3R0b20iLCJpbmRleCIsImRpcmVjdGlvbiIsImtleSIsImVsZW0iLCJwb2ludCIsIlBvaW50IiwieCIsImRvbVJlY3QiLCJSZWN0IiwiZnJvbURPTSIsIm1hcmdpbkJvdHRvbSIsIm1hcmdpblRvcCIsImdldENvbGxhcHNlZE1hcmdpbnMiLCJyZWN0IiwiZ2VuZXJhdGVOZXdSZWN0IiwibGVmdCIsInJpZ2h0IiwicmVhc29uIiwiaXNPbkJvdHRvbVNpZGUiLCJpc09uVG9wU2lkZSIsInJlc3VsdCIsImNvbnRhaW5zIiwiJGdldE5vZGVCeUtleSIsImdldFR5cGUiLCJnZXRUZXh0Q29udGVudCIsInVzZUFkZEJsb2NrSGFuZGxlIiwiaXNFZGl0YWJsZSIsInNjcm9sbGVyRWxlbSIsInBhcmVudEVsZW1lbnQiLCJtZW51UmVmIiwidXNlUmVmIiwiZW1wdHlCbG9ja0VsZW0iLCJzZXRFbXB0eUJsb2NrRWxlbSIsInVzZVN0YXRlIiwidXNlRWZmZWN0Iiwib25Eb2N1bWVudE1vdXNlTW92ZSIsInRhcmdldCIsImlzSFRNTEVsZW1lbnQiLCJkaXN0YW5jZUZyb21TY3JvbGxlckVsZW0iLCJwYWdlWCIsInBhZ2VZIiwiaG9yaXpvbnRhbEJ1ZmZlciIsInZlcnRpY2FsQnVmZmVyIiwiYWRqdXN0ZWRUb3AiLCJ3aW5kb3ciLCJzY3JvbGxZIiwiYWRqdXN0ZWRCb3R0b20iLCJpc09uSGFuZGxlRWxlbWVudCIsIl9lbXB0eUJsb2NrRWxlbSIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjdXJyZW50Iiwic2V0SGFuZGxlUG9zaXRpb24iLCJoYW5kbGVBZGRDbGljayIsInVzZUNhbGxiYWNrIiwidXBkYXRlIiwibm9kZSIsIiRnZXROZWFyZXN0Tm9kZUZyb21ET01Ob2RlIiwiZm9jdXMiLCJzZWxlY3QiLCJzZXRUaW1lb3V0IiwiZGlzcGF0Y2hDb21tYW5kIiwiRU5BQkxFX1NMQVNIX01FTlVfQ09NTUFORCIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwiY3JlYXRlUG9ydGFsIiwiUmVhY3QiLCJGcmFnbWVudCIsImJ1dHRvbiIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJyZWYiLCJ0eXBlIiwiZGl2IiwiYm9keSIsInVzZUxleGljYWxDb21wb3NlckNvbnRleHQiLCJfZWRpdGFibGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Q0FNQzs7OzsrQkF3UmVBOzs7ZUFBQUE7Ozt3Q0FyUjBCO3lCQU1uQzsrREFDZ0I7MEJBRU07dUJBRUM7dUJBQ1I7c0JBQ0Q7NENBQ3FCO3FDQUNOO3FDQUNBO21DQUNGO21DQUNBO1FBQzNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVAsTUFBTUMsUUFBUSxDQUFDO0FBQ2YsTUFBTUMsMkJBQTJCO0FBRWpDLE1BQU1DLFdBQVc7QUFDakIsTUFBTUMsU0FBUyxDQUFDO0FBQ2hCLE1BQU1DLGdCQUFnQjtBQUV0QixJQUFJQyxZQUFZQztBQUVoQixTQUFTQyxnQkFBZ0JDLFVBQWtCO0lBQ3pDLElBQUlBLGVBQWUsR0FBRztRQUNwQixPQUFPRjtJQUNUO0lBQ0EsSUFBSUQsYUFBYSxLQUFLQSxZQUFZRyxZQUFZO1FBQzVDLE9BQU9IO0lBQ1Q7SUFFQSxPQUFPSSxLQUFLQyxLQUFLLENBQUNGLGFBQWE7QUFDakM7QUFFQSxTQUFTRyxnQkFDUEMsVUFBdUIsRUFDdkJDLE1BQXFCLEVBQ3JCQyxLQUFpQixFQUNqQkMsbUJBQW1CLEtBQUssRUFDeEJDLG1CQUFtQixD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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/DraggableBlockPlugin/debounce.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAEzB,GAAG,EAAE,UAUhC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "debounce", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return debounce;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function debounce(func, wait) {
|
|
12
|
+
let timeout = null;
|
|
13
|
+
return function(...args) {
|
|
14
|
+
const later = ()=>{
|
|
15
|
+
clearTimeout(timeout);
|
|
16
|
+
timeout = null;
|
|
17
|
+
func(...args);
|
|
18
|
+
};
|
|
19
|
+
clearTimeout(timeout);
|
|
20
|
+
timeout = window.setTimeout(later, wait);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvaGFuZGxlcy9EcmFnZ2FibGVCbG9ja1BsdWdpbi9kZWJvdW5jZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZGVib3VuY2UoZnVuYzogRnVuY3Rpb24sIHdhaXQ6IG51bWJlcikge1xuICBsZXQgdGltZW91dDogbnVsbCB8IG51bWJlciA9IG51bGxcbiAgcmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgIGNvbnN0IGxhdGVyID0gKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpXG4gICAgICB0aW1lb3V0ID0gbnVsbFxuICAgICAgZnVuYyguLi5hcmdzKVxuICAgIH1cblxuICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KVxuICAgIHRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dChsYXRlciwgd2FpdClcbiAgfVxufVxuIl0sIm5hbWVzIjpbImRlYm91bmNlIiwiZnVuYyIsIndhaXQiLCJ0aW1lb3V0IiwiYXJncyIsImxhdGVyIiwiY2xlYXJUaW1lb3V0Iiwid2luZG93Iiwic2V0VGltZW91dCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFBZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLFNBQVNDLElBQWMsRUFBRUMsSUFBWTtJQUNuRCxJQUFJQyxVQUF5QjtJQUM3QixPQUFPLFNBQVUsR0FBR0MsSUFBVztRQUM3QixNQUFNQyxRQUFRO1lBQ1pDLGFBQWFIO1lBQ2JBLFVBQVU7WUFDVkYsUUFBUUc7UUFDVjtRQUVBRSxhQUFhSDtRQUNiQSxVQUFVSSxPQUFPQyxVQUFVLENBQUNILE9BQU9IO0lBQ3JDO0FBQ0YifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBoundingRectWithoutTransform.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.ts"],"names":[],"mappings":"AAAA,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAchF"}
|
package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "getBoundingClientRectWithoutTransform", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return getBoundingClientRectWithoutTransform;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function getBoundingClientRectWithoutTransform(elem) {
|
|
12
|
+
const rect = elem.getBoundingClientRect();
|
|
13
|
+
// Extract the translation value from the transform style
|
|
14
|
+
const transformValue = getComputedStyle(elem).getPropertyValue('transform');
|
|
15
|
+
if (!transformValue || transformValue === 'none') {
|
|
16
|
+
return rect;
|
|
17
|
+
}
|
|
18
|
+
const lastNumberOfTransformValue = transformValue.split(',').pop();
|
|
19
|
+
rect.y = rect.y - Number(lastNumberOfTransformValue.replace(')', ''));
|
|
20
|
+
// Return the original bounding rect if no translation is applied
|
|
21
|
+
return rect;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvaGFuZGxlcy9EcmFnZ2FibGVCbG9ja1BsdWdpbi9nZXRCb3VuZGluZ1JlY3RXaXRob3V0VHJhbnNmb3JtLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBnZXRCb3VuZGluZ0NsaWVudFJlY3RXaXRob3V0VHJhbnNmb3JtKGVsZW06IEhUTUxFbGVtZW50KTogRE9NUmVjdCB7XG4gIGNvbnN0IHJlY3QgPSBlbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG5cbiAgLy8gRXh0cmFjdCB0aGUgdHJhbnNsYXRpb24gdmFsdWUgZnJvbSB0aGUgdHJhbnNmb3JtIHN0eWxlXG4gIGNvbnN0IHRyYW5zZm9ybVZhbHVlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtKS5nZXRQcm9wZXJ0eVZhbHVlKCd0cmFuc2Zvcm0nKVxuICBpZiAoIXRyYW5zZm9ybVZhbHVlIHx8IHRyYW5zZm9ybVZhbHVlID09PSAnbm9uZScpIHtcbiAgICByZXR1cm4gcmVjdFxuICB9XG5cbiAgY29uc3QgbGFzdE51bWJlck9mVHJhbnNmb3JtVmFsdWUgPSB0cmFuc2Zvcm1WYWx1ZS5zcGxpdCgnLCcpLnBvcCgpXG4gIHJlY3QueSA9IHJlY3QueSAtIE51bWJlcihsYXN0TnVtYmVyT2ZUcmFuc2Zvcm1WYWx1ZS5yZXBsYWNlKCcpJywgJycpKVxuXG4gIC8vIFJldHVybiB0aGUgb3JpZ2luYWwgYm91bmRpbmcgcmVjdCBpZiBubyB0cmFuc2xhdGlvbiBpcyBhcHBsaWVkXG4gIHJldHVybiByZWN0XG59XG4iXSwibmFtZXMiOlsiZ2V0Qm91bmRpbmdDbGllbnRSZWN0V2l0aG91dFRyYW5zZm9ybSIsImVsZW0iLCJyZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwidHJhbnNmb3JtVmFsdWUiLCJnZXRDb21wdXRlZFN0eWxlIiwiZ2V0UHJvcGVydHlWYWx1ZSIsImxhc3ROdW1iZXJPZlRyYW5zZm9ybVZhbHVlIiwic3BsaXQiLCJwb3AiLCJ5IiwiTnVtYmVyIiwicmVwbGFjZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFBZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLHNDQUFzQ0MsSUFBaUI7SUFDckUsTUFBTUMsT0FBT0QsS0FBS0UscUJBQXFCO0lBRXZDLHlEQUF5RDtJQUN6RCxNQUFNQyxpQkFBaUJDLGlCQUFpQkosTUFBTUssZ0JBQWdCLENBQUM7SUFDL0QsSUFBSSxDQUFDRixrQkFBa0JBLG1CQUFtQixRQUFRO1FBQ2hELE9BQU9GO0lBQ1Q7SUFFQSxNQUFNSyw2QkFBNkJILGVBQWVJLEtBQUssQ0FBQyxLQUFLQyxHQUFHO0lBQ2hFUCxLQUFLUSxDQUFDLEdBQUdSLEtBQUtRLENBQUMsR0FBR0MsT0FBT0osMkJBQTJCSyxPQUFPLENBQUMsS0FBSztJQUVqRSxpRUFBaUU7SUFDakUsT0FBT1Y7QUFDVCJ9
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { LexicalEditor, LexicalNode } from 'lexical';
|
|
2
|
+
import { Point } from '../../../utils/point';
|
|
3
|
+
type Props = {
|
|
4
|
+
anchorElem: HTMLElement;
|
|
5
|
+
cache_treshold?: number;
|
|
6
|
+
editor: LexicalEditor;
|
|
7
|
+
/** fuzzy makes the search not exact. If no exact match found, find the closes node instead of returning null */
|
|
8
|
+
fuzzy?: boolean;
|
|
9
|
+
horizontalOffset?: number;
|
|
10
|
+
point: Point;
|
|
11
|
+
/**
|
|
12
|
+
* The index to start searching from. It can be a considerable performance optimization to start searching from the index of the
|
|
13
|
+
* previously found node, as the node is likely to be close to the next node.
|
|
14
|
+
*/
|
|
15
|
+
startIndex?: number;
|
|
16
|
+
useEdgeAsDefault?: boolean;
|
|
17
|
+
verbose?: boolean;
|
|
18
|
+
};
|
|
19
|
+
type Output = {
|
|
20
|
+
blockElem: HTMLElement | null;
|
|
21
|
+
blockNode: LexicalNode | null;
|
|
22
|
+
foundAtIndex: number;
|
|
23
|
+
isFoundNodeEmptyParagraph: boolean;
|
|
24
|
+
};
|
|
25
|
+
export declare function getNodeCloseToPoint(props: Props): Output;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=getNodeCloseToPoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getNodeCloseToPoint.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAIzD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAW5C,KAAK,KAAK,GAAG;IACX,UAAU,EAAE,WAAW,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,aAAa,CAAA;IACrB,gHAAgH;IAChH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,KAAK,EAAE,KAAK,CAAA;IACZ;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,WAAW,GAAG,IAAI,CAAA;IAC7B,SAAS,EAAE,WAAW,GAAG,IAAI,CAAA;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,yBAAyB,EAAE,OAAO,CAAA;CACnC,CAAA;AAaD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAkLxD"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "getNodeCloseToPoint", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return getNodeCloseToPoint;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _lexical = require("lexical");
|
|
12
|
+
const _point = require("../../../utils/point");
|
|
13
|
+
const _rect = require("../../../utils/rect");
|
|
14
|
+
const _getCollapsedMargins = require("../utils/getCollapsedMargins");
|
|
15
|
+
const _getTopLevelNodeKeys = require("../utils/getTopLevelNodeKeys");
|
|
16
|
+
const _getBoundingRectWithoutTransform = require("./getBoundingRectWithoutTransform");
|
|
17
|
+
// Directions
|
|
18
|
+
const Downward = 1;
|
|
19
|
+
const Upward = -1;
|
|
20
|
+
const Indeterminate = 0;
|
|
21
|
+
const cache = {
|
|
22
|
+
props: null,
|
|
23
|
+
result: null
|
|
24
|
+
};
|
|
25
|
+
function isPointClose(previous, current, threshold = 20) {
|
|
26
|
+
const dx = previous.x - current.x;
|
|
27
|
+
const dy = previous.y - current.y;
|
|
28
|
+
return dx * dx + dy * dy <= threshold * threshold;
|
|
29
|
+
}
|
|
30
|
+
function getNodeCloseToPoint(props) {
|
|
31
|
+
const { anchorElem, cache_treshold = 20, editor, fuzzy = false, horizontalOffset = 0, point: { x, y }, startIndex = 0, useEdgeAsDefault = false, verbose = false } = props;
|
|
32
|
+
// Use cache
|
|
33
|
+
if (cache_treshold > 0 && cache.props && cache.result && cache.props.fuzzy === props.fuzzy && cache.props.horizontalOffset === props.horizontalOffset && cache.props.useEdgeAsDefault === props.useEdgeAsDefault && isPointClose(cache.props.point, props.point, cache_treshold)) {
|
|
34
|
+
if (verbose) {
|
|
35
|
+
//console.log('Returning cached result')
|
|
36
|
+
}
|
|
37
|
+
return cache.result;
|
|
38
|
+
}
|
|
39
|
+
const anchorElementRect = anchorElem.getBoundingClientRect();
|
|
40
|
+
const topLevelNodeKeys = (0, _getTopLevelNodeKeys.getTopLevelNodeKeys)(editor);
|
|
41
|
+
const closestBlockElem = {
|
|
42
|
+
blockElem: null,
|
|
43
|
+
blockNode: null,
|
|
44
|
+
distance: Infinity,
|
|
45
|
+
foundAtIndex: -1,
|
|
46
|
+
isFoundNodeEmptyParagraph: false
|
|
47
|
+
};
|
|
48
|
+
// Return null if matching block element is the first or last node
|
|
49
|
+
editor.getEditorState().read(()=>{
|
|
50
|
+
if (useEdgeAsDefault) {
|
|
51
|
+
const [firstNode, lastNode] = [
|
|
52
|
+
editor.getElementByKey(topLevelNodeKeys[0]),
|
|
53
|
+
editor.getElementByKey(topLevelNodeKeys[topLevelNodeKeys.length - 1])
|
|
54
|
+
];
|
|
55
|
+
const [firstNodeRect, lastNodeRect] = [
|
|
56
|
+
(0, _getBoundingRectWithoutTransform.getBoundingClientRectWithoutTransform)(firstNode),
|
|
57
|
+
(0, _getBoundingRectWithoutTransform.getBoundingClientRectWithoutTransform)(lastNode)
|
|
58
|
+
];
|
|
59
|
+
if (firstNodeRect && lastNodeRect) {
|
|
60
|
+
if (y < firstNodeRect.top) {
|
|
61
|
+
closestBlockElem.blockElem = firstNode;
|
|
62
|
+
closestBlockElem.distance = firstNodeRect.top - y;
|
|
63
|
+
closestBlockElem.blockNode = (0, _lexical.$getNodeByKey)(topLevelNodeKeys[0]);
|
|
64
|
+
closestBlockElem.foundAtIndex = 0;
|
|
65
|
+
} else if (y > lastNodeRect.bottom) {
|
|
66
|
+
closestBlockElem.distance = y - lastNodeRect.bottom;
|
|
67
|
+
closestBlockElem.blockNode = (0, _lexical.$getNodeByKey)(topLevelNodeKeys[topLevelNodeKeys.length - 1]);
|
|
68
|
+
closestBlockElem.blockElem = lastNode;
|
|
69
|
+
closestBlockElem.foundAtIndex = topLevelNodeKeys.length - 1;
|
|
70
|
+
}
|
|
71
|
+
if (closestBlockElem?.blockElem) {
|
|
72
|
+
if (verbose) {
|
|
73
|
+
//console.log('useEdgeAsDefault', useEdgeAsDefault)
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
blockElem: null,
|
|
77
|
+
isFoundNodeEmptyParagraph: false
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// Find matching block element
|
|
83
|
+
let index = startIndex;
|
|
84
|
+
let direction = Indeterminate;
|
|
85
|
+
if (verbose) {
|
|
86
|
+
//console.log('start index', startIndex)
|
|
87
|
+
}
|
|
88
|
+
while(index >= 0 && index < topLevelNodeKeys.length){
|
|
89
|
+
const key = topLevelNodeKeys[index];
|
|
90
|
+
const elem = editor.getElementByKey(key);
|
|
91
|
+
if (elem === null) {
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
const point = new _point.Point(x + horizontalOffset, y);
|
|
95
|
+
//const domRect = Rect.fromDOM(elem)
|
|
96
|
+
// Do not consider transform of blocks when calculating distance
|
|
97
|
+
const domRect = _rect.Rect.fromDOMRect((0, _getBoundingRectWithoutTransform.getBoundingClientRectWithoutTransform)(elem));
|
|
98
|
+
const { marginBottom, marginTop } = (0, _getCollapsedMargins.getCollapsedMargins)(elem);
|
|
99
|
+
const rect = domRect.generateNewRect({
|
|
100
|
+
bottom: domRect.bottom + marginBottom,
|
|
101
|
+
left: anchorElementRect.left,
|
|
102
|
+
right: anchorElementRect.right,
|
|
103
|
+
top: domRect.top - marginTop
|
|
104
|
+
});
|
|
105
|
+
const { distance, isOnBottomSide, isOnTopSide } = rect.distanceFromPoint(point);
|
|
106
|
+
if (verbose) {
|
|
107
|
+
//console.log('distance', distance)
|
|
108
|
+
}
|
|
109
|
+
if (distance === 0) {
|
|
110
|
+
closestBlockElem.blockElem = elem;
|
|
111
|
+
closestBlockElem.blockNode = (0, _lexical.$getNodeByKey)(key);
|
|
112
|
+
closestBlockElem.foundAtIndex = index;
|
|
113
|
+
closestBlockElem.distance = distance;
|
|
114
|
+
// Check if blockNode is an empty text node
|
|
115
|
+
if (closestBlockElem.blockNode && closestBlockElem.blockNode.getType() === 'paragraph' && closestBlockElem.blockNode.getTextContent() === '') {
|
|
116
|
+
if (!fuzzy) {
|
|
117
|
+
closestBlockElem.blockElem = null;
|
|
118
|
+
closestBlockElem.blockNode = null;
|
|
119
|
+
}
|
|
120
|
+
closestBlockElem.isFoundNodeEmptyParagraph = true;
|
|
121
|
+
}
|
|
122
|
+
break;
|
|
123
|
+
} else if (fuzzy) {
|
|
124
|
+
if (distance < closestBlockElem.distance) {
|
|
125
|
+
closestBlockElem.blockElem = elem;
|
|
126
|
+
closestBlockElem.blockNode = (0, _lexical.$getNodeByKey)(key);
|
|
127
|
+
closestBlockElem.distance = distance;
|
|
128
|
+
closestBlockElem.foundAtIndex = index;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
if (direction === Indeterminate) {
|
|
132
|
+
if (isOnTopSide) {
|
|
133
|
+
direction = Upward;
|
|
134
|
+
} else if (isOnBottomSide) {
|
|
135
|
+
direction = Downward;
|
|
136
|
+
} else {
|
|
137
|
+
// stop search block element
|
|
138
|
+
direction = Infinity;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
index += direction;
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
// Store in cache before returning
|
|
145
|
+
cache.props = props;
|
|
146
|
+
cache.result = {
|
|
147
|
+
blockElem: closestBlockElem.blockElem,
|
|
148
|
+
blockNode: closestBlockElem.blockNode,
|
|
149
|
+
foundAtIndex: closestBlockElem.foundAtIndex,
|
|
150
|
+
isFoundNodeEmptyParagraph: closestBlockElem.isFoundNodeEmptyParagraph
|
|
151
|
+
};
|
|
152
|
+
return {
|
|
153
|
+
blockElem: closestBlockElem.blockElem,
|
|
154
|
+
blockNode: closestBlockElem.blockNode,
|
|
155
|
+
foundAtIndex: closestBlockElem.foundAtIndex,
|
|
156
|
+
isFoundNodeEmptyParagraph: closestBlockElem.isFoundNodeEmptyParagraph
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvaGFuZGxlcy9EcmFnZ2FibGVCbG9ja1BsdWdpbi9nZXROb2RlQ2xvc2VUb1BvaW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGV4aWNhbEVkaXRvciwgTGV4aWNhbE5vZGUgfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgeyAkZ2V0Tm9kZUJ5S2V5IH0gZnJvbSAnbGV4aWNhbCdcblxuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9wb2ludCdcbmltcG9ydCB7IFJlY3QgfSBmcm9tICcuLi8uLi8uLi91dGlscy9yZWN0J1xuaW1wb3J0IHsgZ2V0Q29sbGFwc2VkTWFyZ2lucyB9IGZyb20gJy4uL3V0aWxzL2dldENvbGxhcHNlZE1hcmdpbnMnXG5pbXBvcnQgeyBnZXRUb3BMZXZlbE5vZGVLZXlzIH0gZnJvbSAnLi4vdXRpbHMvZ2V0VG9wTGV2ZWxOb2RlS2V5cydcbmltcG9ydCB7IGdldEJvdW5kaW5nQ2xpZW50UmVjdFdpdGhvdXRUcmFuc2Zvcm0gfSBmcm9tICcuL2dldEJvdW5kaW5nUmVjdFdpdGhvdXRUcmFuc2Zvcm0nXG5cbi8vIERpcmVjdGlvbnNcbmNvbnN0IERvd253YXJkID0gMVxuY29uc3QgVXB3YXJkID0gLTFcbmNvbnN0IEluZGV0ZXJtaW5hdGUgPSAwXG5cbnR5cGUgUHJvcHMgPSB7XG4gIGFuY2hvckVsZW06IEhUTUxFbGVtZW50XG4gIGNhY2hlX3RyZXNob2xkPzogbnVtYmVyXG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvclxuICAvKiogZnV6enkgbWFrZXMgdGhlIHNlYXJjaCBub3QgZXhhY3QuIElmIG5vIGV4YWN0IG1hdGNoIGZvdW5kLCBmaW5kIHRoZSBjbG9zZXMgbm9kZSBpbnN0ZWFkIG9mIHJldHVybmluZyBudWxsICovXG4gIGZ1enp5PzogYm9vbGVhblxuICBob3Jpem9udGFsT2Zmc2V0PzogbnVtYmVyXG4gIHBvaW50OiBQb2ludFxuICAvKipcbiAgICogVGhlIGluZGV4IHRvIHN0YXJ0IHNlYXJjaGluZyBmcm9tLiBJdCBjYW4gYmUgYSBjb25zaWRlcmFibGUgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uIHRvIHN0YXJ0IHNlYXJjaGluZyBmcm9tIHRoZSBpbmRleCBvZiB0aGVcbiAgICogcHJldmlvdXNseSBmb3VuZCBub2RlLCBhcyB0aGUgbm9kZSBpcyBsaWtlbHkgdG8gYmUgY2xvc2UgdG8gdGhlIG5leHQgbm9kZS5cbiAgICovXG4gIHN0YXJ0SW5kZXg/OiBudW1iZXJcbiAgdXNlRWRnZUFzRGVmYXVsdD86IGJvb2xlYW5cbiAgdmVyYm9zZT86IGJvb2xlYW5cbn1cblxudHlwZSBPdXRwdXQgPSB7XG4gIGJsb2NrRWxlbTogSFRNTEVsZW1lbnQgfCBudWxsXG4gIGJsb2NrTm9kZTogTGV4aWNhbE5vZGUgfCBudWxsXG4gIGZvdW5kQXRJbmRleDogbnVtYmVyXG4gIGlzRm91bmROb2RlRW1wdHlQYXJhZ3JhcGg6IGJvb2xlYW5cbn1cblxuY29uc3QgY2FjaGUgPSB7XG4gIHByb3BzOiBudWxsIGFzIFByb3BzIHwgbnVsbCxcbiAgcmVzdWx0OiBudWxsIGFzIE91dHB1dCB8IG51bGwsXG59XG5cbmZ1bmN0aW9uIGlzUG9pbnRDbG9zZShwcmV2aW91czogUG9pbnQsIGN1cnJlbnQ6IFBvaW50LCB0aHJlc2hvbGQ6IG51bWJlciA9IDIwKTogYm9vbGVhbiB7XG4gIGNvbnN0IGR4ID0gcHJldmlvdXMueCAtIGN1cnJlbnQueFxuICBjb25zdCBkeSA9IHByZXZpb3VzLnkgLSBjdXJyZW50LnlcbiAgcmV0dXJuIGR4ICogZHggKyBkeSAqIGR5IDw9IHRocmVzaG9sZCAqIHRocmVzaG9sZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Tm9kZUNsb3NlVG9Qb2ludChwcm9wczogUHJvcHMpOiBPdXRwdXQge1xuICBjb25zdCB7XG4gICAgYW5jaG9yRWxlbSxcbiAgICBjYWNoZV90cmVzaG9sZCA9IDIwLFxuICAgIGVkaXRvcixcbiAgICBmdXp6eSA9IGZhbHNlLFxuICAgIGhvcml6b250YWxPZmZzZXQgPSAwLFxuICAgIHBvaW50OiB7IHgsIHkgfSxcbiAgICBzdGFydEluZGV4ID0gMCxcbiAgICB1c2VFZGdlQXNEZWZhdWx0ID0gZmFsc2UsXG4gICAgdmVyYm9zZSA9IGZhbHNlLFxuICB9ID0gcHJvcHNcblxuICAvLyBVc2UgY2FjaGVcbiAgaWYgKFxuICAgIGNhY2hlX3RyZXNob2xkID4gMCAmJlxuICAgIGNhY2hlLnByb3BzICYmXG4gICAgY2FjaGUucmVzdWx0ICYmXG4gICAgY2FjaGUucHJvcHMuZnV6enkgPT09IHByb3BzLmZ1enp5ICYmXG4gICAgY2FjaGUucHJvcHMuaG9yaXpvbnRhbE9mZnNldCA9PT0gcHJvcHMuaG9yaXpvbnRhbE9mZnNldCAmJlxuICAgIGNhY2hlLnByb3BzLnVzZUVkZ2VBc0RlZmF1bHQgPT09IHByb3BzLnVzZUVkZ2VBc0RlZmF1bHQgJiZcbiAgICBpc1BvaW50Q2xvc2UoY2FjaGUucHJvcHMucG9pbnQsIHByb3BzLnBvaW50LCBjYWNoZV90cmVzaG9sZClcbiAgKSB7XG4gICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgIC8vY29uc29sZS5sb2coJ1JldHVybmluZyBjYWNoZWQgcmVzdWx0JylcbiAgICB9XG4gICAgcmV0dXJuIGNhY2hlLnJlc3VsdFxuICB9XG5cbiAgY29uc3QgYW5jaG9yRWxlbWVudFJlY3QgPSBhbmNob3JFbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gIGNvbnN0IHRvcExldmVsTm9kZUtleXMgPSBnZXRUb3BMZXZlbE5vZGVLZXlzKGVkaXRvcilcblxuICBjb25zdCBjbG9zZXN0QmxvY2tFbGVtOiB7XG4gICAgYmxvY2tFbGVtOiBIVE1MRWxlbWVudCB8IG51bGxcbiAgICBibG9ja05vZGU6IExleGljYWxOb2RlIHwgbnVsbFxuICAgIGRpc3RhbmNlOiBudW1iZXJcbiAgICBmb3VuZEF0SW5kZXg6IG51bWJlclxuICAgIGlzRm91bmROb2RlRW1wdHlQYXJhZ3JhcGg6IGJvb2xlYW5cbiAgfSA9IHtcbiAgICBibG9ja0VsZW06IG51bGwsXG4gICAgYmxvY2tOb2RlOiBudWxsLFxuICAgIGRpc3RhbmNlOiBJbmZpbml0eSxcbiAgICBmb3VuZEF0SW5kZXg6IC0xLFxuICAgIGlzRm91bmROb2RlRW1wdHlQYXJhZ3JhcGg6IGZhbHNlLFxuICB9XG5cbiAgLy8gUmV0dXJuIG51bGwgaWYgbWF0Y2hpbmcgYmxvY2sgZWxlbWVudCBpcyB0aGUgZmlyc3Qgb3IgbGFzdCBub2RlXG4gIGVkaXRvci5nZXRFZGl0b3JTdGF0ZSgpLnJlYWQoKCkgPT4ge1xuICAgIGlmICh1c2VFZGdlQXNEZWZhdWx0KSB7XG4gICAgICBjb25zdCBbZmlyc3ROb2RlLCBsYXN0Tm9kZV0gPSBbXG4gICAgICAgIGVkaXRvci5nZXRFbGVtZW50QnlLZXkodG9wTGV2ZWxOb2RlS2V5c1swXSksXG4gICAgICAgIGVkaXRvci5nZXRFbGVtZW50QnlLZXkodG9wTGV2ZWxOb2RlS2V5c1t0b3BMZXZlbE5vZGVLZXlzLmxlbmd0aCAtIDFdKSxcbiAgICAgIF1cblxuICAgICAgY29uc3QgW2ZpcnN0Tm9kZVJlY3QsIGxhc3ROb2RlUmVjdF0gPSBbXG4gICAgICAgIGdldEJvdW5kaW5nQ2xpZW50UmVjdFdpdGhvdXRUcmFuc2Zvcm0oZmlyc3ROb2RlKSxcbiAgICAgICAgZ2V0Qm91bmRpbmdDbGllbnRSZWN0V2l0aG91dFRyYW5zZm9ybShsYXN0Tm9kZSksXG4gICAgICBdXG5cbiAgICAgIGlmIChmaXJzdE5vZGVSZWN0ICYmIGxhc3ROb2RlUmVjdCkge1xuICAgICAgICBpZiAoeSA8IGZpcnN0Tm9kZVJlY3QudG9wKSB7XG4gICAgICAgICAgY2xvc2VzdEJsb2NrRWxlbS5ibG9ja0VsZW0gPSBmaXJzdE5vZGVcbiAgICAgICAgICBjbG9zZXN0QmxvY2tFbGVtLmRpc3RhbmNlID0gZmlyc3ROb2RlUmVjdC50b3AgLSB5XG4gICAgICAgICAgY2xvc2VzdEJsb2NrRWxlbS5ibG9ja05vZGUgPSAkZ2V0Tm9kZUJ5S2V5KHRvcExldmVsTm9kZUtleXNbMF0pXG4gICAgICAgICAgY2xvc2VzdEJsb2NrRWxlbS5mb3VuZEF0SW5kZXggPSAwXG4gICAgICAgIH0gZWxzZSBpZiAoeSA+IGxhc3ROb2RlUmVjdC5ib3R0b20pIHtcbiAgICAgICAgICBjbG9zZXN0QmxvY2tFbGVtLmRpc3RhbmNlID0geSAtIGxhc3ROb2RlUmVjdC5ib3R0b21cbiAgICAgICAgICBjbG9zZXN0QmxvY2tFbGVtLmJsb2NrTm9kZSA9ICRnZXROb2RlQnlLZXkodG9wTGV2ZWxOb2RlS2V5c1t0b3BMZXZlbE5vZGVLZXlzLmxlbmd0aCAtIDFdKVxuICAgICAgICAgIGNsb3Nlc3RCbG9ja0VsZW0uYmxvY2tFbGVtID0gbGFzdE5vZGVcbiAgICAgICAgICBjbG9zZXN0QmxvY2tFbGVtLmZvdW5kQXRJbmRleCA9IHRvcExldmVsTm9kZUtleXMubGVuZ3RoIC0gMVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNsb3Nlc3RCbG9ja0VsZW0/LmJsb2NrRWxlbSkge1xuICAgICAgICAgIGlmICh2ZXJib3NlKSB7XG4gICAgICAgICAgICAvL2NvbnNvbGUubG9nKCd1c2VFZGdlQXNEZWZhdWx0JywgdXNlRWRnZUFzRGVmYXVsdClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYmxvY2tFbGVtOiBudWxsLFxuICAgICAgICAgICAgaXNGb3VuZE5vZGVFbXB0eVBhcmFncmFwaDogZmFsc2UsXG4gICAgICAgICAgfSBhcyBPdXRwdXRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZpbmQgbWF0Y2hpbmcgYmxvY2sgZWxlbWVudFxuICAgIGxldCBpbmRleCA9IHN0YXJ0SW5kZXhcbiAgICBsZXQgZGlyZWN0aW9uID0gSW5kZXRlcm1pbmF0ZVxuXG4gICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgIC8vY29uc29sZS5sb2coJ3N0YXJ0IGluZGV4Jywgc3RhcnRJbmRleClcbiAgICB9XG5cbiAgICB3aGlsZSAoaW5kZXggPj0gMCAmJiBpbmRleCA8IHRvcExldmVsTm9kZUtleXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBrZXkgPSB0b3BMZXZlbE5vZGVLZXlzW2luZGV4XVxuICAgICAgY29uc3QgZWxlbSA9IGVkaXRvci5nZXRFbGVtZW50QnlLZXkoa2V5KVxuICAgICAgaWYgKGVsZW0gPT09IG51bGwpIHtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBvaW50ID0gbmV3IFBvaW50KHggKyBob3Jpem9udGFsT2Zmc2V0LCB5KVxuICAgICAgLy9jb25zdCBkb21SZWN0ID0gUmVjdC5mcm9tRE9NKGVsZW0pXG4gICAgICAvLyBEbyBub3QgY29uc2lkZXIgdHJhbnNmb3JtIG9mIGJsb2NrcyB3aGVuIGNhbGN1bGF0aW5nIGRpc3RhbmNlXG4gICAgICBjb25zdCBkb21SZWN0ID0gUmVjdC5mcm9tRE9NUmVjdChnZXRCb3VuZGluZ0NsaWVudFJlY3RXaXRob3V0VHJhbnNmb3JtKGVsZW0pKVxuXG4gICAgICBjb25zdCB7IG1hcmdpbkJvdHRvbSwgbWFyZ2luVG9wIH0gPSBnZXRDb2xsYXBzZWRNYXJnaW5zKGVsZW0pXG5cbiAgICAgIGNvbnN0IHJlY3QgPSBkb21SZWN0LmdlbmVyYXRlTmV3UmVjdCh7XG4gICAgICAgIGJvdHRvbTogZG9tUmVjdC5ib3R0b20gKyBtYXJnaW5Cb3R0b20sXG4gICAgICAgIGxlZnQ6IGFuY2hvckVsZW1lbnRSZWN0LmxlZnQsXG4gICAgICAgIHJpZ2h0OiBhbmNob3JFbGVtZW50UmVjdC5yaWdodCxcbiAgICAgICAgdG9wOiBkb21SZWN0LnRvcCAtIG1hcmdpblRvcCxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHsgZGlzdGFuY2UsIGlzT25Cb3R0b21TaWRlLCBpc09uVG9wU2lkZSB9ID0gcmVjdC5kaXN0YW5jZUZyb21Qb2ludChwb2ludClcblxuICAgICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgICAgLy9jb25zb2xlLmxvZygnZGlzdGFuY2UnLCBkaXN0YW5jZSlcbiAgICAgIH1cblxuICAgICAgaWYgKGRpc3RhbmNlID09PSAwKSB7XG4gICAgICAgIGNsb3Nlc3RCbG9ja0VsZW0uYmxvY2tFbGVtID0gZWxlbVxuICAgICAgICBjbG9zZXN0QmxvY2tFbGVtLmJsb2NrTm9kZSA9ICRnZXROb2RlQnlLZXkoa2V5KVxuICAgICAgICBjbG9zZXN0QmxvY2tFbGVtLmZvdW5kQXRJbmRleCA9IGluZGV4XG4gICAgICAgIGNsb3Nlc3RCbG9ja0VsZW0uZGlzdGFuY2UgPSBkaXN0YW5jZVxuXG4gICAgICAgIC8vIENoZWNrIGlmIGJsb2NrTm9kZSBpcyBhbiBlbXB0eSB0ZXh0IG5vZGVcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGNsb3Nlc3RCbG9ja0VsZW0uYmxvY2tOb2RlICYmXG4gICAgICAgICAgY2xvc2VzdEJsb2NrRWxlbS5ibG9ja05vZGUuZ2V0VHlwZSgpID09PSAncGFyYWdyYXBoJyAmJlxuICAgICAgICAgIGNsb3Nlc3RCbG9ja0VsZW0uYmxvY2tOb2RlLmdldFRleHRDb250ZW50KCkgPT09ICcnXG4gICAgICAgICkge1xuICAgICAgICAgIGlmICghZnV6enkpIHtcbiAgICAgICAgICAgIGNsb3Nlc3RCbG9ja0VsZW0uYmxvY2tFbGVtID0gbnVsbFxuICAgICAgICAgICAgY2xvc2VzdEJsb2NrRWxlbS5ibG9ja05vZGUgPSBudWxsXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2xvc2VzdEJsb2NrRWxlbS5pc0ZvdW5kTm9kZUVtcHR5UGFyYWdyYXBoID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICB9IGVsc2UgaWYgKGZ1enp5KSB7XG4gICAgICAgIGlmIChkaXN0YW5jZSA8IGNsb3Nlc3RCbG9ja0VsZW0uZGlzdGFuY2UpIHtcbiAgICAgICAgICBjbG9zZXN0QmxvY2tFbGVtLmJsb2NrRWxlbSA9IGVsZW1cbiAgICAgICAgICBjbG9zZXN0QmxvY2tFbGVtLmJsb2NrTm9kZSA9ICRnZXROb2RlQnlLZXkoa2V5KVxuICAgICAgICAgIGNsb3Nlc3RCbG9ja0VsZW0uZGlzdGFuY2UgPSBkaXN0YW5jZVxuICAgICAgICAgIGNsb3Nlc3RCbG9ja0VsZW0uZm91bmRBdEluZGV4ID0gaW5kZXhcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZGlyZWN0aW9uID09PSBJbmRldGVybWluYXRlKSB7XG4gICAgICAgIGlmIChpc09uVG9wU2lkZSkge1xuICAgICAgICAgIGRpcmVjdGlvbiA9IFVwd2FyZFxuICAgICAgICB9IGVsc2UgaWYgKGlzT25Cb3R0b21TaWRlKSB7XG4gICAgICAgICAgZGlyZWN0aW9uID0gRG93bndhcmRcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBzdG9wIHNlYXJjaCBibG9jayBlbGVtZW50XG4gICAgICAgICAgZGlyZWN0aW9uID0gSW5maW5pdHlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbmRleCArPSBkaXJlY3Rpb25cbiAgICB9XG4gIH0pXG5cbiAgLy8gU3RvcmUgaW4gY2FjaGUgYmVmb3JlIHJldHVybmluZ1xuICBjYWNoZS5wcm9wcyA9IHByb3BzXG4gIGNhY2hlLnJlc3VsdCA9IHtcbiAgICBibG9ja0VsZW06IGNsb3Nlc3RCbG9ja0VsZW0uYmxvY2tFbGVtLFxuICAgIGJsb2NrTm9kZTogY2xvc2VzdEJsb2NrRWxlbS5ibG9ja05vZGUsXG4gICAgZm91bmRBdEluZGV4OiBjbG9zZXN0QmxvY2tFbGVtLmZvdW5kQXRJbmRleCxcbiAgICBpc0ZvdW5kTm9kZUVtcHR5UGFyYWdyYXBoOiBjbG9zZXN0QmxvY2tFbGVtLmlzRm91bmROb2RlRW1wdHlQYXJhZ3JhcGgsXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJsb2NrRWxlbTogY2xvc2VzdEJsb2NrRWxlbS5ibG9ja0VsZW0sXG4gICAgYmxvY2tOb2RlOiBjbG9zZXN0QmxvY2tFbGVtLmJsb2NrTm9kZSxcbiAgICBmb3VuZEF0SW5kZXg6IGNsb3Nlc3RCbG9ja0VsZW0uZm91bmRBdEluZGV4LFxuICAgIGlzRm91bmROb2RlRW1wdHlQYXJhZ3JhcGg6IGNsb3Nlc3RCbG9ja0VsZW0uaXNGb3VuZE5vZGVFbXB0eVBhcmFncmFwaCxcbiAgfVxufVxuIl0sIm5hbWVzIjpbImdldE5vZGVDbG9zZVRvUG9pbnQiLCJEb3dud2FyZCIsIlVwd2FyZCIsIkluZGV0ZXJtaW5hdGUiLCJjYWNoZSIsInByb3BzIiwicmVzdWx0IiwiaXNQb2ludENsb3NlIiwicHJldmlvdXMiLCJjdXJyZW50IiwidGhyZXNob2xkIiwiZHgiLCJ4IiwiZHkiLCJ5IiwiYW5jaG9yRWxlbSIsImNhY2hlX3RyZXNob2xkIiwiZWRpdG9yIiwiZnV6enkiLCJob3Jpem9udGFsT2Zmc2V0IiwicG9pbnQiLCJzdGFydEluZGV4IiwidXNlRWRnZUFzRGVmYXVsdCIsInZlcmJvc2UiLCJhbmNob3JFbGVtZW50UmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInRvcExldmVsTm9kZUtleXMiLCJnZXRUb3BMZXZlbE5vZGVLZXlzIiwiY2xvc2VzdEJsb2NrRWxlbSIsImJsb2NrRWxlbSIsImJsb2NrTm9kZSIsImRpc3RhbmNlIiwiSW5maW5pdHkiLCJmb3VuZEF0SW5kZXgiLCJpc0ZvdW5kTm9kZUVtcHR5UGFyYWdyYXBoIiwiZ2V0RWRpdG9yU3RhdGUiLCJyZWFkIiwiZmlyc3ROb2RlIiwibGFzdE5vZGUiLCJnZXRFbGVtZW50QnlLZXkiLCJsZW5ndGgiLCJmaXJzdE5vZGVSZWN0IiwibGFzdE5vZGVSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0V2l0aG91dFRyYW5zZm9ybSIsInRvcCIsIiRnZXROb2RlQnlLZXkiLCJib3R0b20iLCJpbmRleCIsImRpcmVjdGlvbiIsImtleSIsImVsZW0iLCJQb2ludCIsImRvbVJlY3QiLCJSZWN0IiwiZnJvbURPTVJlY3QiLCJtYXJnaW5Cb3R0b20iLCJtYXJnaW5Ub3AiLCJnZXRDb2xsYXBzZWRNYXJnaW5zIiwicmVjdCIsImdlbmVyYXRlTmV3UmVjdCIsImxlZnQiLCJyaWdodCIsImlzT25Cb3R0b21TaWRlIiwiaXNPblRvcFNpZGUiLCJkaXN0YW5jZUZyb21Qb2ludCIsImdldFR5cGUiLCJnZXRUZXh0Q29udGVudCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFrRGdCQTs7O2VBQUFBOzs7eUJBaERjO3VCQUVSO3NCQUNEO3FDQUNlO3FDQUNBO2lEQUNrQjtBQUV0RCxhQUFhO0FBQ2IsTUFBTUMsV0FBVztBQUNqQixNQUFNQyxTQUFTLENBQUM7QUFDaEIsTUFBTUMsZ0JBQWdCO0FBMEJ0QixNQUFNQyxRQUFRO0lBQ1pDLE9BQU87SUFDUEMsUUFBUTtBQUNWO0FBRUEsU0FBU0MsYUFBYUMsUUFBZSxFQUFFQyxPQUFjLEVBQUVDLFlBQW9CLEVBQUU7SUFDM0UsTUFBTUMsS0FBS0gsU0FBU0ksQ0FBQyxHQUFHSCxRQUFRRyxDQUFDO0lBQ2pDLE1BQU1DLEtBQUtMLFNBQVNNLENBQUMsR0FBR0wsUUFBUUssQ0FBQztJQUNqQyxPQUFPSCxLQUFLQSxLQUFLRSxLQUFLQSxNQUFNSCxZQUFZQTtBQUMxQztBQUVPLFNBQVNWLG9CQUFvQkssS0FBWTtJQUM5QyxNQUFNLEVBQ0pVLFVBQVUsRUFDVkMsaUJBQWlCLEVBQUUsRUFDbkJDLE1BQU0sRUFDTkMsUUFBUSxLQUFLLEVBQ2JDLG1CQUFtQixDQUFDLEVBQ3BCQyxPQUFPLEVBQUVSLENBQUMsRUFBRUUsQ0FBQyxFQUFFLEVBQ2ZPLGFBQWEsQ0FBQyxFQUNkQyxtQkFBbUIsS0FBSyxFQUN4QkMsVUFBVSxLQUFLLEVBQ2hCLEdBQUdsQjtJQUVKLFlBQVk7SUFDWixJQUNFVyxpQkFBaUIsS0FDakJaLE1BQU1DLEtBQUssSUFDWEQsTUFBTUUsTUFBTSxJQUNaRixNQUFNQyxLQUFLLENBQUNhLEtBQUssS0FBS2IsTUFBTWEsS0FBSyxJQUNqQ2QsTUFBTUMsS0FBSyxDQUFDYyxnQkFBZ0IsS0FBS2QsTUFBTWMsZ0JBQWdCLElBQ3ZEZixNQUFNQyxLQUFLLENBQUNpQixnQkFBZ0IsS0FBS2pCLE1BQU1pQixnQkFBZ0IsSUFDdkRmLGFBQWFILE1BQU1DLEtBQUssQ0FB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"highlightElemOriginalPosition.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,wBAAgB,6BAA6B,CAC3C,iBAAiB,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EAClD,QAAQ,EAAE,WAAW,EACrB,UAAU,EAAE,WAAW,QA4BxB"}
|