@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,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "BlockComponent", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return BlockComponent;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _lexical = require("lexical");
|
|
12
|
+
const _elements = require("payload/components/elements");
|
|
13
|
+
const _forms = require("payload/components/forms");
|
|
14
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
|
15
|
+
const _LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
|
|
16
|
+
const _components = require("payload/components");
|
|
17
|
+
const _Blocks = require("payload/components/fields/Blocks");
|
|
18
|
+
const _utilities = require("payload/utilities");
|
|
19
|
+
const _reacti18next = require("react-i18next");
|
|
20
|
+
const _EditorConfigProvider = require("../../../lexical/config/EditorConfigProvider");
|
|
21
|
+
const _FormSavePlugin = require("./FormSavePlugin");
|
|
22
|
+
require("./index.scss");
|
|
23
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
24
|
+
if (typeof WeakMap !== "function") return null;
|
|
25
|
+
var cacheBabelInterop = new WeakMap();
|
|
26
|
+
var cacheNodeInterop = new WeakMap();
|
|
27
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
28
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
29
|
+
})(nodeInterop);
|
|
30
|
+
}
|
|
31
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
32
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
33
|
+
return obj;
|
|
34
|
+
}
|
|
35
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
36
|
+
return {
|
|
37
|
+
default: obj
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
41
|
+
if (cache && cache.has(obj)) {
|
|
42
|
+
return cache.get(obj);
|
|
43
|
+
}
|
|
44
|
+
var newObj = {};
|
|
45
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
46
|
+
for(var key in obj){
|
|
47
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
48
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
49
|
+
if (desc && (desc.get || desc.set)) {
|
|
50
|
+
Object.defineProperty(newObj, key, desc);
|
|
51
|
+
} else {
|
|
52
|
+
newObj[key] = obj[key];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
newObj.default = obj;
|
|
57
|
+
if (cache) {
|
|
58
|
+
cache.set(obj, newObj);
|
|
59
|
+
}
|
|
60
|
+
return newObj;
|
|
61
|
+
}
|
|
62
|
+
const baseClass = 'lexical-block';
|
|
63
|
+
const BlockComponent = (props)=>{
|
|
64
|
+
const { children, className, fields, format, nodeKey } = props;
|
|
65
|
+
const [editor] = (0, _LexicalComposerContext.useLexicalComposerContext)();
|
|
66
|
+
const { editorConfig, field } = (0, _EditorConfigProvider.useEditorConfigContext)();
|
|
67
|
+
const { i18n } = (0, _reacti18next.useTranslation)();
|
|
68
|
+
const [collapsed, setCollapsed] = _react.default.useState(fields.collapsed);
|
|
69
|
+
const [blockName, setBlockName] = _react.default.useState(fields.blockName);
|
|
70
|
+
const path = `${field.path}.${0}`;
|
|
71
|
+
const block = (editorConfig?.resolvedFeatureMap?.get('blocks')?.props)?.blocks?.find((block)=>block.slug === fields?.type);
|
|
72
|
+
const onFormChange = (0, _react.useCallback)(({ formData })=>{
|
|
73
|
+
editor.update(()=>{
|
|
74
|
+
const node = (0, _lexical.$getNodeByKey)(nodeKey);
|
|
75
|
+
if (node) {
|
|
76
|
+
node.setFields({
|
|
77
|
+
blockName: blockName,
|
|
78
|
+
collapsed: collapsed,
|
|
79
|
+
data: formData,
|
|
80
|
+
type: block.slug
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}, [
|
|
85
|
+
block?.slug,
|
|
86
|
+
editor,
|
|
87
|
+
nodeKey,
|
|
88
|
+
collapsed,
|
|
89
|
+
blockName
|
|
90
|
+
]);
|
|
91
|
+
const onCollapsedOrBlockNameChange = (0, _react.useCallback)(()=>{
|
|
92
|
+
editor.update(()=>{
|
|
93
|
+
const node = (0, _lexical.$getNodeByKey)(nodeKey);
|
|
94
|
+
if (node) {
|
|
95
|
+
node.setFields({
|
|
96
|
+
...node.getFields(),
|
|
97
|
+
blockName: blockName,
|
|
98
|
+
collapsed: collapsed
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
}, [
|
|
103
|
+
editor,
|
|
104
|
+
nodeKey,
|
|
105
|
+
collapsed,
|
|
106
|
+
blockName
|
|
107
|
+
]);
|
|
108
|
+
const initialDataRef = _react.default.useRef((0, _forms.buildInitialState)(fields.data || {})) // Store initial value in a ref, so it doesn't change on re-render and only gets initialized once
|
|
109
|
+
;
|
|
110
|
+
// Memoized Form JSX
|
|
111
|
+
const formContent = (0, _react.useMemo)(()=>{
|
|
112
|
+
return block && /*#__PURE__*/ _react.default.createElement(_forms.Form, {
|
|
113
|
+
initialState: initialDataRef?.current
|
|
114
|
+
}, /*#__PURE__*/ _react.default.createElement("div", {
|
|
115
|
+
id: `row-${0}`,
|
|
116
|
+
key: `$row-${0}`
|
|
117
|
+
}, /*#__PURE__*/ _react.default.createElement(_elements.Collapsible, {
|
|
118
|
+
className: "",
|
|
119
|
+
collapsed: collapsed,
|
|
120
|
+
collapsibleStyle: false ? 'error' : 'default',
|
|
121
|
+
header: /*#__PURE__*/ _react.default.createElement("div", {
|
|
122
|
+
className: `${baseClass}__block-header`
|
|
123
|
+
}, /*#__PURE__*/ _react.default.createElement(_components.Pill, {
|
|
124
|
+
className: `${baseClass}__block-pill ${baseClass}__block-pill-${fields.type}`,
|
|
125
|
+
pillStyle: "white"
|
|
126
|
+
}, (0, _utilities.getTranslation)(block.labels.singular, i18n)), /*#__PURE__*/ _react.default.createElement(_Blocks.SectionTitle, {
|
|
127
|
+
customOnChange: (e)=>{
|
|
128
|
+
e.stopPropagation();
|
|
129
|
+
e.preventDefault();
|
|
130
|
+
setBlockName(e.target.value);
|
|
131
|
+
onCollapsedOrBlockNameChange();
|
|
132
|
+
},
|
|
133
|
+
customValue: blockName,
|
|
134
|
+
path: `${path}.blockName`,
|
|
135
|
+
readOnly: field?.admin?.readOnly
|
|
136
|
+
}), false && /*#__PURE__*/ _react.default.createElement(_components.ErrorPill, {
|
|
137
|
+
count: 0,
|
|
138
|
+
withMessage: true
|
|
139
|
+
})),
|
|
140
|
+
key: 0,
|
|
141
|
+
onToggle: (collapsed)=>{
|
|
142
|
+
setCollapsed(collapsed);
|
|
143
|
+
onCollapsedOrBlockNameChange();
|
|
144
|
+
}
|
|
145
|
+
}, /*#__PURE__*/ _react.default.createElement(_forms.HiddenInput, {
|
|
146
|
+
name: `${path}.id`,
|
|
147
|
+
value: 0
|
|
148
|
+
}), /*#__PURE__*/ _react.default.createElement(_forms.RenderFields, {
|
|
149
|
+
className: `${baseClass}__fields`,
|
|
150
|
+
fieldSchema: block.fields.map((field)=>({
|
|
151
|
+
...field,
|
|
152
|
+
path: (0, _forms.createNestedFieldPath)(null, field)
|
|
153
|
+
})),
|
|
154
|
+
fieldTypes: field.fieldTypes,
|
|
155
|
+
margins: "small",
|
|
156
|
+
permissions: field.permissions?.blocks?.[fields?.type]?.fields,
|
|
157
|
+
readOnly: field.admin.readOnly
|
|
158
|
+
}))), /*#__PURE__*/ _react.default.createElement(_FormSavePlugin.FormSavePlugin, {
|
|
159
|
+
fieldSchema: block.fields.map((field)=>({
|
|
160
|
+
...field,
|
|
161
|
+
path: (0, _forms.createNestedFieldPath)(null, field)
|
|
162
|
+
})),
|
|
163
|
+
onChange: onFormChange
|
|
164
|
+
}));
|
|
165
|
+
}, [
|
|
166
|
+
block,
|
|
167
|
+
onFormChange,
|
|
168
|
+
field.fieldTypes,
|
|
169
|
+
field.admin.readOnly
|
|
170
|
+
]);
|
|
171
|
+
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
172
|
+
className: baseClass
|
|
173
|
+
}, formContent);
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvY29tcG9uZW50L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyAkZ2V0Tm9kZUJ5S2V5LCB0eXBlIEVsZW1lbnRGb3JtYXRUeXBlIH0gZnJvbSAnbGV4aWNhbCdcbmltcG9ydCB7IENvbGxhcHNpYmxlIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL2VsZW1lbnRzJ1xuaW1wb3J0IHtcbiAgRm9ybSxcbiAgSGlkZGVuSW5wdXQsXG4gIFJlbmRlckZpZWxkcyxcbiAgYnVpbGRJbml0aWFsU3RhdGUsXG4gIGNyZWF0ZU5lc3RlZEZpZWxkUGF0aCxcbn0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL2Zvcm1zJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgQmxvY2tOb2RlIH0gZnJvbSAnLi4vbm9kZXMvQmxvY2tzTm9kZSdcblxuaW1wb3J0IHsgJGNyZWF0ZUJsb2NrTm9kZSwgdHlwZSBCbG9ja0ZpZWxkcyB9IGZyb20gJy4uL25vZGVzL0Jsb2Nrc05vZGUnXG5jb25zdCBiYXNlQ2xhc3MgPSAnbGV4aWNhbC1ibG9jaydcblxuaW1wb3J0IHR5cGUgeyBEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCB9IGZyb20gJ0BsZXhpY2FsL3JlYWN0L0xleGljYWxDb21wb3NlckNvbnRleHQnXG5pbXBvcnQgeyBFcnJvclBpbGwsIFBpbGwgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMnXG5pbXBvcnQgeyBSb3dBY3Rpb25zLCBTZWN0aW9uVGl0bGUgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvZmllbGRzL0Jsb2NrcydcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5cbmltcG9ydCB0eXBlIHsgQmxvY2tzRmVhdHVyZVByb3BzIH0gZnJvbSAnLi4nXG5cbmltcG9ydCB7IHVzZUVkaXRvckNvbmZpZ0NvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9sZXhpY2FsL2NvbmZpZy9FZGl0b3JDb25maWdQcm92aWRlcidcbmltcG9ydCB7IEZvcm1TYXZlUGx1Z2luIH0gZnJvbSAnLi9Gb3JtU2F2ZVBsdWdpbidcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG50eXBlIFByb3BzID0ge1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgZmllbGRzOiBCbG9ja0ZpZWxkc1xuICBmb3JtYXQ/OiBFbGVtZW50Rm9ybWF0VHlwZVxuICBub2RlS2V5Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBCbG9ja0NvbXBvbmVudDogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIGNsYXNzTmFtZSwgZmllbGRzLCBmb3JtYXQsIG5vZGVLZXkgfSA9IHByb3BzXG4gIGNvbnN0IFtlZGl0b3JdID0gdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCgpXG4gIGNvbnN0IHsgZWRpdG9yQ29uZmlnLCBmaWVsZCB9ID0gdXNlRWRpdG9yQ29uZmlnQ29udGV4dCgpXG4gIGNvbnN0IHsgaTE4biB9ID0gdXNlVHJhbnNsYXRpb24oKVxuICBjb25zdCBbY29sbGFwc2VkLCBzZXRDb2xsYXBzZWRdID0gUmVhY3QudXNlU3RhdGU8Ym9vbGVhbj4oZmllbGRzLmNvbGxhcHNlZClcbiAgY29uc3QgW2Jsb2NrTmFtZSwgc2V0QmxvY2tOYW1lXSA9IFJlYWN0LnVzZVN0YXRlPHN0cmluZz4oZmllbGRzLmJsb2NrTmFtZSlcblxuICBjb25zdCBwYXRoID0gYCR7ZmllbGQucGF0aH0uJHswfWBcblxuICBjb25zdCBibG9jayA9IChcbiAgICBlZGl0b3JDb25maWc/LnJlc29sdmVkRmVhdHVyZU1hcD8uZ2V0KCdibG9ja3MnKT8ucHJvcHMgYXMgQmxvY2tzRmVhdHVyZVByb3BzXG4gICk/LmJsb2Nrcz8uZmluZCgoYmxvY2spID0+IGJsb2NrLnNsdWcgPT09IGZpZWxkcz8udHlwZSlcblxuICBjb25zdCBvbkZvcm1DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoeyBmb3JtRGF0YSB9OiB7IGZvcm1EYXRhOiBEYXRhIH0pID0+IHtcbiAgICAgIGVkaXRvci51cGRhdGUoKCkgPT4ge1xuICAgICAgICBjb25zdCBub2RlOiBCbG9ja05vZGUgPSAkZ2V0Tm9kZUJ5S2V5KG5vZGVLZXkpXG4gICAgICAgIGlmIChub2RlKSB7XG4gICAgICAgICAgbm9kZS5zZXRGaWVsZHMoe1xuICAgICAgICAgICAgYmxvY2tOYW1lOiBibG9ja05hbWUsXG4gICAgICAgICAgICBjb2xsYXBzZWQ6IGNvbGxhcHNlZCxcbiAgICAgICAgICAgIGRhdGE6IGZvcm1EYXRhLFxuICAgICAgICAgICAgdHlwZTogYmxvY2suc2x1ZyxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0sXG4gICAgW2Jsb2NrPy5zbHVnLCBlZGl0b3IsIG5vZGVLZXksIGNvbGxhcHNlZCwgYmxvY2tOYW1lXSxcbiAgKVxuXG4gIGNvbnN0IG9uQ29sbGFwc2VkT3JCbG9ja05hbWVDaGFuZ2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgZWRpdG9yLnVwZGF0ZSgoKSA9PiB7XG4gICAgICBjb25zdCBub2RlOiBCbG9ja05vZGUgPSAkZ2V0Tm9kZUJ5S2V5KG5vZGVLZXkpXG4gICAgICBpZiAobm9kZSkge1xuICAgICAgICBub2RlLnNldEZpZWxkcyh7XG4gICAgICAgICAgLi4ubm9kZS5nZXRGaWVsZHMoKSxcbiAgICAgICAgICBibG9ja05hbWU6IGJsb2NrTmFtZSxcbiAgICAgICAgICBjb2xsYXBzZWQ6IGNvbGxhcHNlZCxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuICB9LCBbZWRpdG9yLCBub2RlS2V5LCBjb2xsYXBzZWQsIGJsb2NrTmFtZV0pXG5cbiAgY29uc3QgaW5pdGlhbERhdGFSZWYgPSBSZWFjdC51c2VSZWY8RGF0YT4oYnVpbGRJbml0aWFsU3RhdGUoZmllbGRzLmRhdGEgfHwge30pKSAvLyBTdG9yZSBpbml0aWFsIHZhbHVlIGluIGEgcmVmLCBzbyBpdCBkb2Vzbid0IGNoYW5nZSBvbiByZS1yZW5kZXIgYW5kIG9ubHkgZ2V0cyBpbml0aWFsaXplZCBvbmNlXG5cbiAgLy8gTWVtb2l6ZWQgRm9ybSBKU1hcbiAgY29uc3QgZm9ybUNvbnRlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgYmxvY2sgJiYgKFxuICAgICAgICA8Rm9ybSBpbml0aWFsU3RhdGU9e2luaXRpYWxEYXRhUmVmPy5jdXJyZW50fT5cbiAgICAgICAgICA8ZGl2IGlkPXtgcm93LSR7MH1gfSBrZXk9e2Akcm93LSR7MH1gfT5cbiAgICAgICAgICAgIDxDb2xsYXBzaWJsZVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJcIlxuICAgICAgICAgICAgICBjb2xsYXBzZWQ9e2NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgY29sbGFwc2libGVTdHlsZT17ZmFsc2UgPyAnZXJyb3InIDogJ2RlZmF1bHQnfVxuICAgICAgICAgICAgICBoZWFkZXI9e1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19ibG9jay1oZWFkZXJgfT5cbiAgICAgICAgICAgICAgICAgIDxQaWxsXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYmxvY2stcGlsbCAke2Jhc2VDbGFzc31fX2Jsb2NrLXBpbGwtJHtmaWVsZHMudHlwZX1gfVxuICAgICAgICAgICAgICAgICAgICBwaWxsU3R5bGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtnZXRUcmFuc2xhdGlvbihibG9jay5sYWJlbHMuc2luZ3VsYXIsIGkxOG4pfVxuICAgICAgICAgICAgICAgICAgPC9QaWxsPlxuICAgICAgICAgICAgICAgICAgPFNlY3Rpb25UaXRsZVxuICAgICAgICAgICAgICAgICAgICBjdXN0b21PbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgc2V0QmxvY2tOYW1lKGUudGFyZ2V0LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ29sbGFwc2VkT3JCbG9ja05hbWVDaGFuZ2UoKVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICBjdXN0b21WYWx1ZT17YmxvY2tOYW1lfVxuICAgICAgICAgICAgICAgICAgICBwYXRoPXtgJHtwYXRofS5ibG9ja05hbWVgfVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17ZmllbGQ/LmFkbWluPy5yZWFkT25seX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7ZmFsc2UgJiYgPEVycm9yUGlsbCBjb3VudD17MH0gd2l0aE1lc3NhZ2UgLz59XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAga2V5PXswfVxuICAgICAgICAgICAgICBvblRvZ2dsZT17KGNvbGxhcHNlZCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldENvbGxhcHNlZChjb2xsYXBzZWQpXG4gICAgICAgICAgICAgICAgb25Db2xsYXBzZWRPckJsb2NrTmFtZUNoYW5nZSgpXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxIaWRkZW5JbnB1dCBuYW1lPXtgJHtwYXRofS5pZGB9IHZhbHVlPXswfSAvPlxuXG4gICAgICAgICAgICAgIDxSZW5kZXJGaWVsZHNcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2ZpZWxkc2B9XG4gICAgICAgICAgICAgICAgZmllbGRTY2hlbWE9e2Jsb2NrLmZpZWxkcy5tYXAoKGZpZWxkKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgLi4uZmllbGQsXG4gICAgICAgICAgICAgICAgICBwYXRoOiBjcmVhdGVOZXN0ZWRGaWVsZFBhdGgobnVsbCwgZmllbGQpLFxuICAgICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgICAgICBmaWVsZFR5cGVzPXtmaWVsZC5maWVsZFR5cGVzfVxuICAgICAgICAgICAgICAgIG1hcmdpbnM9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbnM9e2ZpZWxkLnBlcm1pc3Npb25zPy5ibG9ja3M/LltmaWVsZHM/LnR5cGVdPy5maWVsZHN9XG4gICAgICAgICAgICAgICAgcmVhZE9ubHk9e2ZpZWxkLmFkbWluLnJlYWRPbmx5fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxGb3JtU2F2ZVBsdWdpblxuICAgICAgICAgICAgZmllbGRTY2hlbWE9e2Jsb2NrLmZpZWxkcy5tYXAoKGZpZWxkKSA9PiAoe1xuICAgICAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICAgICAgcGF0aDogY3JlYXRlTmVzdGVkRmllbGRQYXRoKG51bGwsIGZpZWxkKSxcbiAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkZvcm1DaGFuZ2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Gb3JtPlxuICAgICAgKVxuICAgIClcbiAgfSwgW2Jsb2NrLCBvbkZvcm1DaGFuZ2UsIGZpZWxkLmZpZWxkVHlwZXMsIGZpZWxkLmFkbWluLnJlYWRPbmx5XSlcblxuICByZXR1cm4gPGRpdiBjbGFzc05hbWU9e2Jhc2VDbGFzc30+e2Zvcm1Db250ZW50fTwvZGl2PlxufVxuIl0sIm5hbWVzIjpbIkJsb2NrQ29tcG9uZW50IiwiYmFzZUNsYXNzIiwicHJvcHMiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsImZpZWxkcyIsImZvcm1hdCIsIm5vZGVLZXkiLCJlZGl0b3IiLCJ1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IiwiZWRpdG9yQ29uZmlnIiwiZmllbGQiLCJ1c2VFZGl0b3JDb25maWdDb250ZXh0IiwiaTE4biIsInVzZVRyYW5zbGF0aW9uIiwiY29sbGFwc2VkIiwic2V0Q29sbGFwc2VkIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsImJsb2NrTmFtZSIsInNldEJsb2NrTmFtZSIsInBhdGgiLCJibG9jayIsInJlc29sdmVkRmVhdHVyZU1hcCIsImdldCIsImJsb2NrcyIsImZpbmQiLCJzbHVnIiwidHlwZSIsIm9uRm9ybUNoYW5nZSIsInVzZUNhbGxiYWNrIiwiZm9ybURhdGEiLCJ1cGRhdGUiLCJub2RlIiwiJGdldE5vZGVCeUtleSIsInNldEZpZWxkcyIsImRhdGEiLCJvbkNvbGxhcHNlZE9yQmxvY2tOYW1lQ2hhbmdlIiwiZ2V0RmllbGRzIiwiaW5pdGlhbERhdGFSZWYiLCJ1c2VSZWYiLCJidWlsZEluaXRpYWxTdGF0ZSIsImZvcm1Db250ZW50IiwidXNlTWVtbyIsIkZvcm0iLCJpbml0aWFsU3RhdGUiLCJjdXJyZW50IiwiZGl2IiwiaWQiLCJrZXkiLCJDb2xsYXBzaWJsZSIsImNvbGxhcHNpYmxlU3R5bGUiLCJoZWFkZXIiLCJQaWxsIiwicGlsbFN0eWxlIiwiZ2V0VHJhbnNsYXRpb24iLCJsYWJlbHMiLCJzaW5ndWxhciIsIlNlY3Rpb25UaXRsZSIsImN1c3RvbU9uQ2hhbmdlIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwidGFyZ2V0IiwidmFsdWUiLCJjdXN0b21WYWx1ZSIsInJlYWRPbmx5IiwiYWRtaW4iLCJFcnJvclBpbGwiLCJjb3VudCIsIndpdGhNZXNzYWdlIiwib25Ub2dnbGUiLCJIaWRkZW5JbnB1dCIsIm5hbWUiLCJSZW5kZXJGaWVsZHMiLCJmaWVsZFNjaGVtYSIsIm1hcCIsImNyZWF0ZU5lc3RlZEZpZWxkUGF0aCIsImZpZWxkVHlwZXMiLCJtYXJnaW5zIiwicGVybWlzc2lvbnMiLCJGb3JtU2F2ZVBsdWdpbiIsIm9uQ2hhbmdlIl0sIm1hcHBpbmdzIjoiOzs7OytCQXNDYUE7OztlQUFBQTs7O3lCQXRDeUM7MEJBQzFCO3VCQU9yQjsrREFDcUM7d0NBU0Y7NEJBQ1Y7d0JBQ1M7MkJBQ1Y7OEJBQ0E7c0NBSVE7Z0NBQ1I7UUFDeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFkUCxNQUFNQyxZQUFZO0FBd0JYLE1BQU1ELGlCQUFrQyxDQUFDRTtJQUM5QyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLE1BQU0sRUFBRUMsT0FBTyxFQUFFLEdBQUdMO0lBQ3pELE1BQU0sQ0FBQ00sT0FBTyxHQUFHQyxJQUFBQSxpREFBeUI7SUFDMUMsTUFBTSxFQUFFQyxZQUFZLEVBQUVDLEtBQUssRUFBRSxHQUFHQyxJQUFBQSw0Q0FBc0I7SUFDdEQsTUFBTSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsSUFBQUEsNEJBQWM7SUFDL0IsTUFBTSxDQUFDQyxXQUFXQyxhQUFhLEdBQUdDLGNBQUssQ0FBQ0MsUUFBUSxDQUFVYixPQUFPVSxTQUFTO0lBQzFFLE1BQU0sQ0FBQ0ksV0FBV0MsYUFBYSxHQUFHSCxjQUFLLENBQUNDLFFBQVEsQ0FBU2IsT0FBT2MsU0FBUztJQUV6RSxNQUFNRSxPQUFPLENBQUMsRUFBRVYsTUFBTVUsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFFakMsTUFBTUMsUUFBUSxDQUNaWixjQUFjYSxvQkFBb0JDLElBQUksV0FBV3RCLEtBQ25ELEdBQUd1QixRQUFRQyxLQUFLLENBQUNKLFFBQVVBLE1BQU1LLElBQUksS0FBS3RCLFFBQVF1QjtJQUVsRCxNQUFNQyxlQUFlQyxJQUFBQSxrQkFBVyxFQUM5QixDQUFDLEVBQUVDLFFBQVEsRUFBc0I7UUFDL0J2QixPQUFPd0IsTUFBTSxDQUFDO1lBQ1osTUFBTUMsT0FBa0JDLElBQUFBLHNCQUFhLEVBQUMzQjtZQUN0QyxJQUFJMEIsTUFBTTtnQkFDUkEsS0FBS0UsU0FBUyxDQUFDO29CQUNiaEIsV0FBV0E7b0JBQ1hKLFdBQVdBO29CQUNYcUIsTUFBTUw7b0JBQ05ILE1BQU1OLE1BQU1LLElBQUk7Z0JBQ2xCO1lBQ0Y7UUFDRjtJQUNGLEdBQ0E7UUFBQ0wsT0FBT0s7UUFBTW5CO1FBQVFEO1FBQVNRO1FBQVdJO0tBQVU7SUFHdEQsTUFBTWtCLCtCQUErQlAsSUFBQUEsa0JBQVcsRUFBQztRQUMvQ3RCLE9BQU93QixNQUFNLENBQUM7WUFDWixNQUFNQyxPQUFrQkMsSUFBQUEsc0JBQWEsRUFBQzNCO1lBQ3RDLElBQUkwQixNQUFNO2dCQUNSQSxLQUFLRSxTQUFTLENBQUM7b0JBQ2IsR0FBR0YsS0FBS0ssU0FBUyxFQUFFO29CQUNuQm5CLFdBQVdBO29CQUNYSixXQUFXQTtnQkFDYjtZQUNGO1FBQ0Y7SUFDRixHQUFHO1FBQUNQO1FBQVFEO1FBQVNRO1FBQVdJO0tBQVU7SUFFMUMsTUFBTW9CLGlCQUFpQnRCLGNBQUssQ0FBQ3VCLE1BQU0sQ0FBT0MsSUFBQUEsd0JBQWlCLEVBQUNwQyxPQUFPK0IsSUFBSSxJQUFJLENBQUMsSUFBSSxpR0FBaUc7O0lBRWpMLG9CQUFvQjtJQUNwQixNQUFNTSxjQUFjQyxJQUFBQSxjQUFPLEVBQUM7UUFDMUIsT0FDRXJCLHVCQUNFLDZCQUFDc0IsV0FBSTtZQUFDQyxjQUFjTixnQkFBZ0JPO3lCQUNsQyw2QkFBQ0M7WUFBSUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFBRUMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7eUJBQ25DLDZCQUFDQyxxQkFBVztZQUNWOUMsV0FBVTtZQUNWVyxXQUFXQTtZQUNYb0Msa0JBQWtCLFFBQVEsVUFBVTtZQUNwQ0Msc0JBQ0UsNkJBQUNMO2dCQUFJM0MsV0FBVyxDQUFDLEVBQUVILFVBQVUsY0FBYyxDQUFDOzZCQUMxQyw2QkFBQ29ELGdCQUFJO2dCQUNIakQsV0FBVyxDQUFDLEVBQUVILFVBQVUsYUFBYSxFQUFFQSxVQUFVLGFBQWEsRUFBRUksT0FBT3VCLElBQUksQ0FBQyxDQUFDO2dCQUM3RTBCLFdBQVU7ZUFFVEMsSUFBQUEseUJBQWMsRUFBQ2pDLE1BQU1rQyxNQUFNLENBQUNDLFFBQVEsRUFBRTVDLHNCQUV6Qyw2QkFBQzZDLG9CQUFZO2dCQUNYQyxnQkFBZ0IsQ0FBQ0M7b0JBQ2ZBLEVBQUVDLGVBQWU7b0JBQ2pCRCxFQUFFRSxjQUFjO29CQUNoQjFDLGFBQWF3QyxFQUFFRyxNQUFNLENBQUNDLEtBQUs7b0JBQzNCM0I7Z0JBQ0Y7Z0JBQ0E0QixhQUFhOUM7Z0JBQ2JFLE1BQU0sQ0FBQyxFQUFFQSxLQUFLLFVBQVUsQ0FBQztnQkFDekI2QyxVQUFVdkQsT0FBT3dELE9BQU9EO2dCQUV6Qix1QkFBUyw2QkFBQ0UscUJBQVM7Z0JBQUNDLE9BQU87Z0JBQUdDLGFBQUFBOztZQUduQ3JCLEtBQUs7WUFDTHNCLFVBQVUsQ0FBQ3hEO2dCQUNUQyxhQUFhRDtnQkFDYnNCO1lBQ0Y7eUJBRUEsNkJBQUNtQyxrQkFBVztZQUFDQyxNQUFNLENBQUMsRUFBRXBELEtBQUssR0FBRyxDQUFDO1lBQUUyQyxPQUFPOzBCQUV4Qyw2QkFBQ1UsbUJBQVk7WUFDWHRFLFdBQVcsQ0FBQyxFQUFFSCxVQUFVLFFBQVEsQ0FBQztZQUNqQzBFLGFBQWFyRCxNQUFNakIsTUFBTSxDQUFDdUUsR0FBRyxDQUFDLENBQUNqRSxRQUFXLENBQUE7b0JBQ3hDLEdBQUdBLEtBQUs7b0JBQ1JVLE1BQU13RCxJQUFBQSw0QkFBcUIsRUFBQyxNQUFNbEU7Z0JBQ3BDLENBQUE7WUFDQW1FLFlBQVluRSxNQUFNbUUsVUFBVTtZQUM1QkMsU0FBUTtZQUNSQyxhQUFhckUsTUFBTXFFLFdBQVcsRUFBRXZELFFBQVEsQ0FBQ3BCLFFBQVF1QixLQUFLLEVBQUV2QjtZQUN4RDZELFVBQVV2RCxNQUFNd0QsS0FBSyxDQUFDRCxRQUFROzRCQUtwQyw2QkFBQ2UsOEJBQWM7WUFDYk4sYUFBYXJELE1BQU1qQixNQUFNLENBQUN1RSxHQUFHLENBQUMsQ0FBQ2pFLFFBQVcsQ0FBQTtvQkFDeEMsR0FBR0EsS0FBSztvQkFDUlUsTUFBTXdELElBQUFBLDRCQUFxQixFQUFDLE1BQU1sRTtnQkFDcEMsQ0FBQTtZQUNBdUUsVUFBVXJEOztJQUtwQixHQUFHO1FBQUNQO1FBQU9PO1FBQWNsQixNQUFNbUUsVUFBVTtRQUFFbkUsTUFBTXdELEtBQUssQ0FBQ0QsUUFBUTtLQUFDO0lBRWhFLHFCQUFPLDZCQUFDbkI7UUFBSTNDLFdBQVdIO09BQVl5QztBQUNyQyJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type LexicalCommand } from 'lexical';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import './index.scss';
|
|
4
|
+
export declare const INSERT_BLOCK_WITH_DRAWER_COMMAND: LexicalCommand<{
|
|
5
|
+
replace: {
|
|
6
|
+
nodeKey: string;
|
|
7
|
+
} | false;
|
|
8
|
+
}>;
|
|
9
|
+
export declare const BlocksDrawerComponent: React.FC;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Blocks/drawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,cAAc,EAGpB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAA2C,MAAM,OAAO,CAAA;AAQ/D,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,gCAAgC,EAAE,cAAc,CAAC;IAC5D,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAA;CACrC,CAAqD,CAAA;AAmCtD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAwDzC,CAAA"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
INSERT_BLOCK_WITH_DRAWER_COMMAND: function() {
|
|
13
|
+
return INSERT_BLOCK_WITH_DRAWER_COMMAND;
|
|
14
|
+
},
|
|
15
|
+
BlocksDrawerComponent: function() {
|
|
16
|
+
return BlocksDrawerComponent;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _modal = require("@faceless-ui/modal");
|
|
20
|
+
const _LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
|
|
21
|
+
const _lexical = require("lexical");
|
|
22
|
+
const _elements = require("payload/components/elements");
|
|
23
|
+
const _Blocks = require("payload/components/fields/Blocks");
|
|
24
|
+
const _utilities = require("payload/components/utilities");
|
|
25
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
|
26
|
+
const _reacti18next = require("react-i18next");
|
|
27
|
+
const _EditorConfigProvider = require("../../../lexical/config/EditorConfigProvider");
|
|
28
|
+
const _BlocksNode = require("../nodes/BlocksNode");
|
|
29
|
+
const _plugin = require("../plugin");
|
|
30
|
+
require("./index.scss");
|
|
31
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
32
|
+
if (typeof WeakMap !== "function") return null;
|
|
33
|
+
var cacheBabelInterop = new WeakMap();
|
|
34
|
+
var cacheNodeInterop = new WeakMap();
|
|
35
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
36
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
37
|
+
})(nodeInterop);
|
|
38
|
+
}
|
|
39
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
40
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
41
|
+
return obj;
|
|
42
|
+
}
|
|
43
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
44
|
+
return {
|
|
45
|
+
default: obj
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
49
|
+
if (cache && cache.has(obj)) {
|
|
50
|
+
return cache.get(obj);
|
|
51
|
+
}
|
|
52
|
+
var newObj = {};
|
|
53
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
54
|
+
for(var key in obj){
|
|
55
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
56
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
57
|
+
if (desc && (desc.get || desc.set)) {
|
|
58
|
+
Object.defineProperty(newObj, key, desc);
|
|
59
|
+
} else {
|
|
60
|
+
newObj[key] = obj[key];
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
newObj.default = obj;
|
|
65
|
+
if (cache) {
|
|
66
|
+
cache.set(obj, newObj);
|
|
67
|
+
}
|
|
68
|
+
return newObj;
|
|
69
|
+
}
|
|
70
|
+
const baseClass = 'lexical-blocks-drawer';
|
|
71
|
+
const INSERT_BLOCK_WITH_DRAWER_COMMAND = (0, _lexical.createCommand)('INSERT_BLOCK_WITH_DRAWER_COMMAND');
|
|
72
|
+
const insertBlock = ({ blockType, editor, replaceNodeKey })=>{
|
|
73
|
+
if (!replaceNodeKey) {
|
|
74
|
+
editor.dispatchCommand(_plugin.INSERT_BLOCK_COMMAND, {
|
|
75
|
+
blockName: '',
|
|
76
|
+
collapsed: false,
|
|
77
|
+
data: null,
|
|
78
|
+
type: blockType
|
|
79
|
+
});
|
|
80
|
+
} else {
|
|
81
|
+
editor.update(()=>{
|
|
82
|
+
const node = (0, _lexical.$getNodeByKey)(replaceNodeKey);
|
|
83
|
+
if (node) {
|
|
84
|
+
node.replace((0, _BlocksNode.$createBlockNode)({
|
|
85
|
+
blockName: '',
|
|
86
|
+
collapsed: false,
|
|
87
|
+
data: null,
|
|
88
|
+
type: blockType
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
const BlocksDrawerComponent = ()=>{
|
|
95
|
+
const [editor] = (0, _LexicalComposerContext.useLexicalComposerContext)();
|
|
96
|
+
const { editorConfig, uuid } = (0, _EditorConfigProvider.useEditorConfigContext)();
|
|
97
|
+
const [replaceNodeKey, setReplaceNodeKey] = (0, _react.useState)(null);
|
|
98
|
+
const editDepth = (0, _utilities.useEditDepth)();
|
|
99
|
+
const { t } = (0, _reacti18next.useTranslation)('fields');
|
|
100
|
+
const { closeModal, openModal } = (0, _modal.useModal)();
|
|
101
|
+
const labels = {
|
|
102
|
+
plural: t('blocks') || 'Blocks',
|
|
103
|
+
singular: t('block') || 'Block'
|
|
104
|
+
};
|
|
105
|
+
const addRow = (0, _react.useCallback)(async (rowIndex, blockType)=>{
|
|
106
|
+
insertBlock({
|
|
107
|
+
blockType: blockType,
|
|
108
|
+
editor,
|
|
109
|
+
replaceNodeKey
|
|
110
|
+
});
|
|
111
|
+
}, [
|
|
112
|
+
editor,
|
|
113
|
+
replaceNodeKey
|
|
114
|
+
]);
|
|
115
|
+
const drawerSlug = (0, _elements.formatDrawerSlug)({
|
|
116
|
+
depth: editDepth,
|
|
117
|
+
slug: `lexical-rich-text-blocks-` + uuid
|
|
118
|
+
});
|
|
119
|
+
const blocks = (editorConfig?.resolvedFeatureMap?.get('blocks')?.props)?.blocks;
|
|
120
|
+
(0, _react.useEffect)(()=>{
|
|
121
|
+
return editor.registerCommand(INSERT_BLOCK_WITH_DRAWER_COMMAND, (payload)=>{
|
|
122
|
+
setReplaceNodeKey(payload?.replace ? payload?.replace.nodeKey : null);
|
|
123
|
+
openModal(drawerSlug);
|
|
124
|
+
return true;
|
|
125
|
+
}, _lexical.COMMAND_PRIORITY_EDITOR);
|
|
126
|
+
}, [
|
|
127
|
+
editor,
|
|
128
|
+
drawerSlug,
|
|
129
|
+
openModal
|
|
130
|
+
]);
|
|
131
|
+
return /*#__PURE__*/ _react.default.createElement(_Blocks.BlocksDrawer, {
|
|
132
|
+
addRow: addRow,
|
|
133
|
+
addRowIndex: 0,
|
|
134
|
+
blocks: blocks,
|
|
135
|
+
drawerSlug: drawerSlug,
|
|
136
|
+
labels: labels
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvZHJhd2VyL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNb2RhbCB9IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCB7IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQgfSBmcm9tICdAbGV4aWNhbC9yZWFjdC9MZXhpY2FsQ29tcG9zZXJDb250ZXh0J1xuaW1wb3J0IHtcbiAgJGdldE5vZGVCeUtleSxcbiAgQ09NTUFORF9QUklPUklUWV9FRElUT1IsXG4gIHR5cGUgTGV4aWNhbENvbW1hbmQsXG4gIHR5cGUgTGV4aWNhbEVkaXRvcixcbiAgY3JlYXRlQ29tbWFuZCxcbn0gZnJvbSAnbGV4aWNhbCdcbmltcG9ydCB7IGZvcm1hdERyYXdlclNsdWcgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvZWxlbWVudHMnXG5pbXBvcnQgeyBCbG9ja3NEcmF3ZXIgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvZmllbGRzL0Jsb2NrcydcbmltcG9ydCB7IHVzZUVkaXREZXB0aCB9IGZyb20gJ3BheWxvYWQvY29tcG9uZW50cy91dGlsaXRpZXMnXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0IHR5cGUgeyBCbG9ja3NGZWF0dXJlUHJvcHMgfSBmcm9tICcuLidcblxuaW1wb3J0IHsgdXNlRWRpdG9yQ29uZmlnQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2xleGljYWwvY29uZmlnL0VkaXRvckNvbmZpZ1Byb3ZpZGVyJ1xuaW1wb3J0IHsgJGNyZWF0ZUJsb2NrTm9kZSB9IGZyb20gJy4uL25vZGVzL0Jsb2Nrc05vZGUnXG5pbXBvcnQgeyBJTlNFUlRfQkxPQ0tfQ09NTUFORCB9IGZyb20gJy4uL3BsdWdpbidcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuY29uc3QgYmFzZUNsYXNzID0gJ2xleGljYWwtYmxvY2tzLWRyYXdlcidcblxuZXhwb3J0IGNvbnN0IElOU0VSVF9CTE9DS19XSVRIX0RSQVdFUl9DT01NQU5EOiBMZXhpY2FsQ29tbWFuZDx7XG4gIHJlcGxhY2U6IHsgbm9kZUtleTogc3RyaW5nIH0gfCBmYWxzZVxufT4gPSBjcmVhdGVDb21tYW5kKCdJTlNFUlRfQkxPQ0tfV0lUSF9EUkFXRVJfQ09NTUFORCcpXG5cbmNvbnN0IGluc2VydEJsb2NrID0gKHtcbiAgYmxvY2tUeXBlLFxuICBlZGl0b3IsXG4gIHJlcGxhY2VOb2RlS2V5LFxufToge1xuICBibG9ja1R5cGU6IHN0cmluZ1xuICBlZGl0b3I6IExleGljYWxFZGl0b3JcbiAgcmVwbGFjZU5vZGVLZXk6IG51bGwgfCBzdHJpbmdcbn0pID0+IHtcbiAgaWYgKCFyZXBsYWNlTm9kZUtleSkge1xuICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoSU5TRVJUX0JMT0NLX0NPTU1BTkQsIHtcbiAgICAgIGJsb2NrTmFtZTogJycsXG4gICAgICBjb2xsYXBzZWQ6IGZhbHNlLFxuICAgICAgZGF0YTogbnVsbCxcbiAgICAgIHR5cGU6IGJsb2NrVHlwZSxcbiAgICB9KVxuICB9IGVsc2Uge1xuICAgIGVkaXRvci51cGRhdGUoKCkgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9ICRnZXROb2RlQnlLZXkocmVwbGFjZU5vZGVLZXkpXG4gICAgICBpZiAobm9kZSkge1xuICAgICAgICBub2RlLnJlcGxhY2UoXG4gICAgICAgICAgJGNyZWF0ZUJsb2NrTm9kZSh7XG4gICAgICAgICAgICBibG9ja05hbWU6ICcnLFxuICAgICAgICAgICAgY29sbGFwc2VkOiBmYWxzZSxcbiAgICAgICAgICAgIGRhdGE6IG51bGwsXG4gICAgICAgICAgICB0eXBlOiBibG9ja1R5cGUsXG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBCbG9ja3NEcmF3ZXJDb21wb25lbnQ6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBbZWRpdG9yXSA9IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQoKVxuICBjb25zdCB7IGVkaXRvckNvbmZpZywgdXVpZCB9ID0gdXNlRWRpdG9yQ29uZmlnQ29udGV4dCgpXG5cbiAgY29uc3QgW3JlcGxhY2VOb2RlS2V5LCBzZXRSZXBsYWNlTm9kZUtleV0gPSB1c2VTdGF0ZTxudWxsIHwgc3RyaW5nPihudWxsKVxuICBjb25zdCBlZGl0RGVwdGggPSB1c2VFZGl0RGVwdGgoKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdmaWVsZHMnKVxuICBjb25zdCB7IGNsb3NlTW9kYWwsIG9wZW5Nb2RhbCB9ID0gdXNlTW9kYWwoKVxuXG4gIGNvbnN0IGxhYmVscyA9IHtcbiAgICBwbHVyYWw6IHQoJ2Jsb2NrcycpIHx8ICdCbG9ja3MnLFxuICAgIHNpbmd1bGFyOiB0KCdibG9jaycpIHx8ICdCbG9jaycsXG4gIH1cblxuICBjb25zdCBhZGRSb3cgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocm93SW5kZXg6IG51bWJlciwgYmxvY2tUeXBlOiBzdHJpbmcpID0+IHtcbiAgICAgIGluc2VydEJsb2NrKHtcbiAgICAgICAgYmxvY2tUeXBlOiBibG9ja1R5cGUsXG4gICAgICAgIGVkaXRvcixcbiAgICAgICAgcmVwbGFjZU5vZGVLZXksXG4gICAgICB9KVxuICAgIH0sXG4gICAgW2VkaXRvciwgcmVwbGFjZU5vZGVLZXldLFxuICApXG5cbiAgY29uc3QgZHJhd2VyU2x1ZyA9IGZvcm1hdERyYXdlclNsdWcoe1xuICAgIGRlcHRoOiBlZGl0RGVwdGgsXG4gICAgc2x1ZzogYGxleGljYWwtcmljaC10ZXh0LWJsb2Nrcy1gICsgdXVpZCxcbiAgfSlcblxuICBjb25zdCBibG9ja3MgPSAoZWRpdG9yQ29uZmlnPy5yZXNvbHZlZEZlYXR1cmVNYXA/LmdldCgnYmxvY2tzJyk/LnByb3BzIGFzIEJsb2Nrc0ZlYXR1cmVQcm9wcylcbiAgICA/LmJsb2Nrc1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIGVkaXRvci5yZWdpc3RlckNvbW1hbmQ8e1xuICAgICAgcmVwbGFjZTogeyBub2RlS2V5OiBzdHJpbmcgfSB8IGZhbHNlXG4gICAgfT4oXG4gICAgICBJTlNFUlRfQkxPQ0tfV0lUSF9EUkFXRVJfQ09NTUFORCxcbiAgICAgIChwYXlsb2FkKSA9PiB7XG4gICAgICAgIHNldFJlcGxhY2VOb2RlS2V5KHBheWxvYWQ/LnJlcGxhY2UgPyBwYXlsb2FkPy5yZXBsYWNlLm5vZGVLZXkgOiBudWxsKVxuICAgICAgICBvcGVuTW9kYWwoZHJhd2VyU2x1ZylcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH0sXG4gICAgICBDT01NQU5EX1BSSU9SSVRZX0VESVRPUixcbiAgICApXG4gIH0sIFtlZGl0b3IsIGRyYXdlclNsdWcsIG9wZW5Nb2RhbF0pXG5cbiAgcmV0dXJuIChcbiAgICA8QmxvY2tzRHJhd2VyXG4gICAgICBhZGRSb3c9e2FkZFJvd31cbiAgICAgIGFkZFJvd0luZGV4PXswfVxuICAgICAgYmxvY2tzPXtibG9ja3N9XG4gICAgICBkcmF3ZXJTbHVnPXtkcmF3ZXJTbHVnfVxuICAgICAgbGFiZWxzPXtsYWJlbHN9XG4gICAgLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIklOU0VSVF9CTE9DS19XSVRIX0RSQVdFUl9DT01NQU5EIiwiQmxvY2tzRHJhd2VyQ29tcG9uZW50IiwiYmFzZUNsYXNzIiwiY3JlYXRlQ29tbWFuZCIsImluc2VydEJsb2NrIiwiYmxvY2tUeXBlIiwiZWRpdG9yIiwicmVwbGFjZU5vZGVLZXkiLCJkaXNwYXRjaENvbW1hbmQiLCJJTlNFUlRfQkxPQ0tfQ09NTUFORCIsImJsb2NrTmFtZSIsImNvbGxhcHNlZCIsImRhdGEiLCJ0eXBlIiwidXBkYXRlIiwibm9kZSIsIiRnZXROb2RlQnlLZXkiLCJyZXBsYWNlIiwiJGNyZWF0ZUJsb2NrTm9kZSIsInVzZUxleGljYWxDb21wb3NlckNvbnRleHQiLCJlZGl0b3JDb25maWciLCJ1dWlkIiwidXNlRWRpdG9yQ29uZmlnQ29udGV4dCIsInNldFJlcGxhY2VOb2RlS2V5IiwidXNlU3RhdGUiLCJlZGl0RGVwdGgiLCJ1c2VFZGl0RGVwdGgiLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJjbG9zZU1vZGFsIiwib3Blbk1vZGFsIiwidXNlTW9kYWwiLCJsYWJlbHMiLCJwbHVyYWwiLCJzaW5ndWxhciIsImFkZFJvdyIsInVzZUNhbGxiYWNrIiwicm93SW5kZXgiLCJkcmF3ZXJTbHVnIiwiZm9ybWF0RHJhd2VyU2x1ZyIsImRlcHRoIiwic2x1ZyIsImJsb2NrcyIsInJlc29sdmVkRmVhdHVyZU1hcCIsImdldCIsInByb3BzIiwidXNlRWZmZWN0IiwicmVnaXN0ZXJDb21tYW5kIiwicGF5bG9hZCIsIm5vZGVLZXkiLCJDT01NQU5EX1BSSU9SSVRZX0VESVRPUiIsIkJsb2Nrc0RyYXdlciIsImFkZFJvd0luZGV4Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQXVCYUEsZ0NBQWdDO2VBQWhDQTs7SUFxQ0FDLHFCQUFxQjtlQUFyQkE7Ozt1QkE1RFk7d0NBQ2lCO3lCQU9uQzswQkFDMEI7d0JBQ0o7MkJBQ0E7K0RBQzJCOzhCQUN6QjtzQ0FJUTs0QkFDTjt3QkFDSTtRQUM5Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNQLE1BQU1DLFlBQVk7QUFFWCxNQUFNRixtQ0FFUkcsSUFBQUEsc0JBQWEsRUFBQztBQUVuQixNQUFNQyxjQUFjLENBQUMsRUFDbkJDLFNBQVMsRUFDVEMsTUFBTSxFQUNOQyxjQUFjLEVBS2Y7SUFDQyxJQUFJLENBQUNBLGdCQUFnQjtRQUNuQkQsT0FBT0UsZUFBZSxDQUFDQyw0QkFBb0IsRUFBRTtZQUMzQ0MsV0FBVztZQUNYQyxXQUFXO1lBQ1hDLE1BQU07WUFDTkMsTUFBTVI7UUFDUjtJQUNGLE9BQU87UUFDTEMsT0FBT1EsTUFBTSxDQUFDO1lBQ1osTUFBTUMsT0FBT0MsSUFBQUEsc0JBQWEsRUFBQ1Q7WUFDM0IsSUFBSVEsTUFBTTtnQkFDUkEsS0FBS0UsT0FBTyxDQUNWQyxJQUFBQSw0QkFBZ0IsRUFBQztvQkFDZlIsV0FBVztvQkFDWEMsV0FBVztvQkFDWEMsTUFBTTtvQkFDTkMsTUFBTVI7Z0JBQ1I7WUFFSjtRQUNGO0lBQ0Y7QUFDRjtBQUVPLE1BQU1KLHdCQUFrQztJQUM3QyxNQUFNLENBQUNLLE9BQU8sR0FBR2EsSUFBQUEsaURBQXlCO0lBQzFDLE1BQU0sRUFBRUMsWUFBWSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsSUFBQUEsNENBQXNCO0lBRXJELE1BQU0sQ0FBQ2YsZ0JBQWdCZ0Isa0JBQWtCLEdBQUdDLElBQUFBLGVBQVEsRUFBZ0I7SUFDcEUsTUFBTUMsWUFBWUMsSUFBQUEsdUJBQVk7SUFDOUIsTUFBTSxFQUFFQyxDQUFDLEVBQUUsR0FBR0MsSUFBQUEsNEJBQWMsRUFBQztJQUM3QixNQUFNLEVBQUVDLFVBQVUsRUFBRUMsU0FBUyxFQUFFLEdBQUdDLElBQUFBLGVBQVE7SUFFMUMsTUFBTUMsU0FBUztRQUNiQyxRQUFRTixFQUFFLGFBQWE7UUFDdkJPLFVBQVVQLEVBQUUsWUFBWTtJQUMxQjtJQUVBLE1BQU1RLFNBQVNDLElBQUFBLGtCQUFXLEVBQ3hCLE9BQU9DLFVBQWtCaEM7UUFDdkJELFlBQVk7WUFDVkMsV0FBV0E7WUFDWEM7WUFDQUM7UUFDRjtJQUNGLEdBQ0E7UUFBQ0Q7UUFBUUM7S0FBZTtJQUcxQixNQUFNK0IsYUFBYUMsSUFBQUEsMEJBQWdCLEVBQUM7UUFDbENDLE9BQU9mO1FBQ1BnQixNQUFNLENBQUMseUJBQXlCLENBQUMsR0FBR3BCO0lBQ3RDO0lBRUEsTUFBTXFCLFNBQVMsQ0FBQ3RCLGNBQWN1QixvQkFBb0JDLElBQUksV0FBV0MsS0FBMkIsR0FDeEZIO0lBRUpJLElBQUFBLGdCQUFTLEVBQUM7UUFDUixPQUFPeEMsT0FBT3lDLGVBQWUsQ0FHM0IvQyxrQ0FDQSxDQUFDZ0Q7WUFDQ3pCLGtCQUFrQnlCLFNBQVMvQixVQUFVK0IsU0FBUy9CLFFBQVFnQyxVQUFVO1lBQ2hFbkIsVUFBVVE7WUFDVixPQUFPO1FBQ1QsR0FDQVksZ0NBQXVCO0lBRTNCLEdBQUc7UUFBQzVDO1FBQVFnQztRQUFZUjtLQUFVO0lBRWxDLHFCQUNFLDZCQUFDcUIsb0JBQVk7UUFDWGhCLFFBQVFBO1FBQ1JpQixhQUFhO1FBQ2JWLFFBQVFBO1FBQ1JKLFlBQVlBO1FBQ1pOLFFBQVFBOztBQUdkIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Block } from 'payload/types';
|
|
2
|
+
import type { FeatureProvider } from '../types';
|
|
3
|
+
import './index.scss';
|
|
4
|
+
export type BlocksFeatureProps = {
|
|
5
|
+
blocks: Block[];
|
|
6
|
+
};
|
|
7
|
+
export declare const BlocksFeature: (props?: BlocksFeatureProps) => FeatureProvider;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/features/Blocks/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAK1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAK/C,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,aAAa,WAAY,kBAAkB,KAAG,eA4D1D,CAAA"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "BlocksFeature", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return BlocksFeature;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _config = require("payload/config");
|
|
12
|
+
const _utilities = require("payload/utilities");
|
|
13
|
+
const _LexicalMenu = require("../../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu");
|
|
14
|
+
const _Block = require("../../lexical/ui/icons/Block");
|
|
15
|
+
const _drawer = require("./drawer");
|
|
16
|
+
require("./index.scss");
|
|
17
|
+
const _BlocksNode = require("./nodes/BlocksNode");
|
|
18
|
+
const _plugin = require("./plugin");
|
|
19
|
+
const BlocksFeature = (props)=>{
|
|
20
|
+
// Sanitization taken from payload/src/fields/config/sanitize.ts
|
|
21
|
+
if (props?.blocks?.length) {
|
|
22
|
+
props.blocks = props.blocks.map((block)=>({
|
|
23
|
+
...block,
|
|
24
|
+
fields: block.fields.concat(_config.baseBlockFields)
|
|
25
|
+
}));
|
|
26
|
+
props.blocks = props.blocks.map((block)=>{
|
|
27
|
+
const unsanitizedBlock = {
|
|
28
|
+
...block
|
|
29
|
+
};
|
|
30
|
+
unsanitizedBlock.labels = !unsanitizedBlock.labels ? (0, _utilities.formatLabels)(unsanitizedBlock.slug) : unsanitizedBlock.labels;
|
|
31
|
+
// TODO
|
|
32
|
+
/*unsanitizedBlock.fields = sanitizeFields({
|
|
33
|
+
config,
|
|
34
|
+
fields: block.fields,
|
|
35
|
+
validRelationships,
|
|
36
|
+
})*/ return unsanitizedBlock;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
feature: ({ resolvedFeatures, unsanitizedEditorConfig })=>{
|
|
41
|
+
return {
|
|
42
|
+
nodes: [
|
|
43
|
+
{
|
|
44
|
+
node: _BlocksNode.BlockNode,
|
|
45
|
+
type: _BlocksNode.BlockNode.getType()
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
plugins: [
|
|
49
|
+
{
|
|
50
|
+
Component: _plugin.BlocksPlugin,
|
|
51
|
+
position: 'normal'
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
props: props,
|
|
55
|
+
slashMenu: {
|
|
56
|
+
options: [
|
|
57
|
+
{
|
|
58
|
+
options: [
|
|
59
|
+
new _LexicalMenu.SlashMenuOption('Block', {
|
|
60
|
+
Icon: _Block.BlockIcon,
|
|
61
|
+
keywords: [
|
|
62
|
+
'block',
|
|
63
|
+
'blocks'
|
|
64
|
+
],
|
|
65
|
+
onSelect: ({ editor })=>{
|
|
66
|
+
editor.dispatchCommand(_drawer.INSERT_BLOCK_WITH_DRAWER_COMMAND, null);
|
|
67
|
+
}
|
|
68
|
+
})
|
|
69
|
+
],
|
|
70
|
+
title: 'Basic'
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
},
|
|
76
|
+
key: 'blocks'
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmxvY2sgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBiYXNlQmxvY2tGaWVsZHMgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB7IGZvcm1hdExhYmVscyB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuXG5pbXBvcnQgdHlwZSB7IEZlYXR1cmVQcm92aWRlciB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBTbGFzaE1lbnVPcHRpb24gfSBmcm9tICcuLi8uLi9sZXhpY2FsL3BsdWdpbnMvU2xhc2hNZW51L0xleGljYWxUeXBlYWhlYWRNZW51UGx1Z2luL0xleGljYWxNZW51J1xuaW1wb3J0IHsgQmxvY2tJY29uIH0gZnJvbSAnLi4vLi4vbGV4aWNhbC91aS9pY29ucy9CbG9jaydcbmltcG9ydCB7IElOU0VSVF9CTE9DS19XSVRIX0RSQVdFUl9DT01NQU5EIH0gZnJvbSAnLi9kcmF3ZXInXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcbmltcG9ydCB7IEJsb2NrTm9kZSB9IGZyb20gJy4vbm9kZXMvQmxvY2tzTm9kZSdcbmltcG9ydCB7IEJsb2Nrc1BsdWdpbiB9IGZyb20gJy4vcGx1Z2luJ1xuXG5leHBvcnQgdHlwZSBCbG9ja3NGZWF0dXJlUHJvcHMgPSB7XG4gIGJsb2NrczogQmxvY2tbXVxufVxuXG5leHBvcnQgY29uc3QgQmxvY2tzRmVhdHVyZSA9IChwcm9wcz86IEJsb2Nrc0ZlYXR1cmVQcm9wcyk6IEZlYXR1cmVQcm92aWRlciA9PiB7XG4gIC8vIFNhbml0aXphdGlvbiB0YWtlbiBmcm9tIHBheWxvYWQvc3JjL2ZpZWxkcy9jb25maWcvc2FuaXRpemUudHNcbiAgaWYgKHByb3BzPy5ibG9ja3M/Lmxlbmd0aCkge1xuICAgIHByb3BzLmJsb2NrcyA9IHByb3BzLmJsb2Nrcy5tYXAoKGJsb2NrKSA9PiAoe1xuICAgICAgLi4uYmxvY2ssXG4gICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcy5jb25jYXQoYmFzZUJsb2NrRmllbGRzKSxcbiAgICB9KSlcblxuICAgIHByb3BzLmJsb2NrcyA9IHByb3BzLmJsb2Nrcy5tYXAoKGJsb2NrKSA9PiB7XG4gICAgICBjb25zdCB1bnNhbml0aXplZEJsb2NrID0geyAuLi5ibG9jayB9XG4gICAgICB1bnNhbml0aXplZEJsb2NrLmxhYmVscyA9ICF1bnNhbml0aXplZEJsb2NrLmxhYmVsc1xuICAgICAgICA/IGZvcm1hdExhYmVscyh1bnNhbml0aXplZEJsb2NrLnNsdWcpXG4gICAgICAgIDogdW5zYW5pdGl6ZWRCbG9jay5sYWJlbHNcblxuICAgICAgLy8gVE9ET1xuICAgICAgLyp1bnNhbml0aXplZEJsb2NrLmZpZWxkcyA9IHNhbml0aXplRmllbGRzKHtcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzLFxuICAgICAgfSkqL1xuXG4gICAgICByZXR1cm4gdW5zYW5pdGl6ZWRCbG9ja1xuICAgIH0pXG4gIH1cbiAgcmV0dXJuIHtcbiAgICBmZWF0dXJlOiAoeyByZXNvbHZlZEZlYXR1cmVzLCB1bnNhbml0aXplZEVkaXRvckNvbmZpZyB9KSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBub2RlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5vZGU6IEJsb2NrTm9kZSxcbiAgICAgICAgICAgIHR5cGU6IEJsb2NrTm9kZS5nZXRUeXBlKCksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgcGx1Z2luczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIENvbXBvbmVudDogQmxvY2tzUGx1Z2luLFxuICAgICAgICAgICAgcG9zaXRpb246ICdub3JtYWwnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHByb3BzOiBwcm9wcyxcbiAgICAgICAgc2xhc2hNZW51OiB7XG4gICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBvcHRpb25zOiBbXG4gICAgICAgICAgICAgICAgbmV3IFNsYXNoTWVudU9wdGlvbignQmxvY2snLCB7XG4gICAgICAgICAgICAgICAgICBJY29uOiBCbG9ja0ljb24sXG4gICAgICAgICAgICAgICAgICBrZXl3b3JkczogWydibG9jaycsICdibG9ja3MnXSxcbiAgICAgICAgICAgICAgICAgIG9uU2VsZWN0OiAoeyBlZGl0b3IgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBlZGl0b3IuZGlzcGF0Y2hDb21tYW5kKElOU0VSVF9CTE9DS19XSVRIX0RSQVdFUl9DT01NQU5ELCBudWxsKVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgdGl0bGU6ICdCYXNpYycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgfSxcbiAgICBrZXk6ICdibG9ja3MnLFxuICB9XG59XG4iXSwibmFtZXMiOlsiQmxvY2tzRmVhdHVyZSIsInByb3BzIiwiYmxvY2tzIiwibGVuZ3RoIiwibWFwIiwiYmxvY2siLCJmaWVsZHMiLCJjb25jYXQiLCJiYXNlQmxvY2tGaWVsZHMiLCJ1bnNhbml0aXplZEJsb2NrIiwibGFiZWxzIiwiZm9ybWF0TGFiZWxzIiwic2x1ZyIsImZlYXR1cmUiLCJyZXNvbHZlZEZlYXR1cmVzIiwidW5zYW5pdGl6ZWRFZGl0b3JDb25maWciLCJub2RlcyIsIm5vZGUiLCJCbG9ja05vZGUiLCJ0eXBlIiwiZ2V0VHlwZSIsInBsdWdpbnMiLCJDb21wb25lbnQiLCJCbG9ja3NQbHVnaW4iLCJwb3NpdGlvbiIsInNsYXNoTWVudSIsIm9wdGlvbnMiLCJTbGFzaE1lbnVPcHRpb24iLCJJY29uIiwiQmxvY2tJY29uIiwia2V5d29yZHMiLCJvblNlbGVjdCIsImVkaXRvciIsImRpc3BhdGNoQ29tbWFuZCIsIklOU0VSVF9CTE9DS19XSVRIX0RSQVdFUl9DT01NQU5EIiwidGl0bGUiLCJrZXkiXSwibWFwcGluZ3MiOiI7Ozs7K0JBa0JhQTs7O2VBQUFBOzs7d0JBaEJtQjsyQkFDSDs2QkFJRzt1QkFDTjt3QkFDdUI7UUFDMUM7NEJBQ21CO3dCQUNHO0FBTXRCLE1BQU1BLGdCQUFnQixDQUFDQztJQUM1QixnRUFBZ0U7SUFDaEUsSUFBSUEsT0FBT0MsUUFBUUMsUUFBUTtRQUN6QkYsTUFBTUMsTUFBTSxHQUFHRCxNQUFNQyxNQUFNLENBQUNFLEdBQUcsQ0FBQyxDQUFDQyxRQUFXLENBQUE7Z0JBQzFDLEdBQUdBLEtBQUs7Z0JBQ1JDLFFBQVFELE1BQU1DLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDQyx1QkFBZTtZQUM3QyxDQUFBO1FBRUFQLE1BQU1DLE1BQU0sR0FBR0QsTUFBTUMsTUFBTSxDQUFDRSxHQUFHLENBQUMsQ0FBQ0M7WUFDL0IsTUFBTUksbUJBQW1CO2dCQUFFLEdBQUdKLEtBQUs7WUFBQztZQUNwQ0ksaUJBQWlCQyxNQUFNLEdBQUcsQ0FBQ0QsaUJBQWlCQyxNQUFNLEdBQzlDQyxJQUFBQSx1QkFBWSxFQUFDRixpQkFBaUJHLElBQUksSUFDbENILGlCQUFpQkMsTUFBTTtZQUUzQixPQUFPO1lBQ1A7Ozs7UUFJRSxHQUVGLE9BQU9EO1FBQ1Q7SUFDRjtJQUNBLE9BQU87UUFDTEksU0FBUyxDQUFDLEVBQUVDLGdCQUFnQixFQUFFQyx1QkFBdUIsRUFBRTtZQUNyRCxPQUFPO2dCQUNMQyxPQUFPO29CQUNMO3dCQUNFQyxNQUFNQyxxQkFBUzt3QkFDZkMsTUFBTUQscUJBQVMsQ0FBQ0UsT0FBTztvQkFDekI7aUJBQ0Q7Z0JBQ0RDLFNBQVM7b0JBQ1A7d0JBQ0VDLFdBQVdDLG9CQUFZO3dCQUN2QkMsVUFBVTtvQkFDWjtpQkFDRDtnQkFDRHZCLE9BQU9BO2dCQUNQd0IsV0FBVztvQkFDVEMsU0FBUzt3QkFDUDs0QkFDRUEsU0FBUztnQ0FDUCxJQUFJQyw0QkFBZSxDQUFDLFNBQVM7b0NBQzNCQyxNQUFNQyxnQkFBUztvQ0FDZkMsVUFBVTt3Q0FBQzt3Q0FBUztxQ0FBUztvQ0FDN0JDLFVBQVUsQ0FBQyxFQUFFQyxNQUFNLEVBQUU7d0NBQ25CQSxPQUFPQyxlQUFlLENBQUNDLHdDQUFnQyxFQUFFO29DQUMzRDtnQ0FDRjs2QkFDRDs0QkFDREMsT0FBTzt3QkFDVDtxQkFDRDtnQkFDSDtZQUNGO1FBQ0Y7UUFDQUMsS0FBSztJQUNQO0FBQ0YifQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode';
|
|
3
|
+
import type { DOMConversionMap, DOMExportOutput, EditorConfig, ElementFormatType, LexicalEditor, LexicalNode, NodeKey, Spread } from 'lexical';
|
|
4
|
+
import { DecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode';
|
|
5
|
+
export type BlockFields = {
|
|
6
|
+
blockName: string;
|
|
7
|
+
collapsed: boolean;
|
|
8
|
+
/** Block data */
|
|
9
|
+
data: null | unknown;
|
|
10
|
+
/** Block type. This is the slug of the block added to the Blocks Feature */
|
|
11
|
+
type: string;
|
|
12
|
+
};
|
|
13
|
+
export type SerializedBlockNode = Spread<{
|
|
14
|
+
fields: BlockFields;
|
|
15
|
+
}, SerializedDecoratorBlockNode>;
|
|
16
|
+
export declare class BlockNode extends DecoratorBlockNode {
|
|
17
|
+
__fields: BlockFields;
|
|
18
|
+
constructor({ fields, format, key, }: {
|
|
19
|
+
fields: BlockFields;
|
|
20
|
+
format?: ElementFormatType;
|
|
21
|
+
key?: NodeKey;
|
|
22
|
+
});
|
|
23
|
+
static clone(node: BlockNode): BlockNode;
|
|
24
|
+
static getType(): string;
|
|
25
|
+
static importDOM(): DOMConversionMap<HTMLDivElement> | null;
|
|
26
|
+
static importJSON(serializedNode: SerializedBlockNode): BlockNode;
|
|
27
|
+
static isInline(): false;
|
|
28
|
+
decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element;
|
|
29
|
+
exportDOM(): DOMExportOutput;
|
|
30
|
+
exportJSON(): SerializedBlockNode;
|
|
31
|
+
getFields(): BlockFields;
|
|
32
|
+
getId(): string;
|
|
33
|
+
getTextContent(): string;
|
|
34
|
+
setFields(fields: BlockFields): void;
|
|
35
|
+
}
|
|
36
|
+
export declare function $createBlockNode(fields: BlockFields): BlockNode;
|
|
37
|
+
export declare function $isBlockNode(node: BlockNode | LexicalNode | null | undefined): node is BlockNode;
|
|
38
|
+
//# sourceMappingURL=BlocksNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlocksNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Blocks/nodes/BlocksNode.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAA;AAC5F,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,OAAO,EACP,MAAM,EACP,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AAK7E,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,iBAAiB;IACjB,IAAI,EAAE,IAAI,GAAG,OAAO,CAAA;IACpB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC;IACE,MAAM,EAAE,WAAW,CAAA;CACpB,EACD,4BAA4B,CAC7B,CAAA;AAED,qBAAa,SAAU,SAAQ,kBAAkB;IAC/C,QAAQ,EAAE,WAAW,CAAA;gBAET,EACV,MAAM,EACN,MAAM,EACN,GAAG,GACJ,EAAE;QACD,MAAM,EAAE,WAAW,CAAA;QACnB,MAAM,CAAC,EAAE,iBAAiB,CAAA;QAC1B,GAAG,CAAC,EAAE,OAAO,CAAA;KACd;IAKD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;IAQxC,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,gBAAgB,CAAC,cAAc,CAAC,GAAG,IAAI;IAI3D,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,mBAAmB,GAAG,SAAS;IAMjE,MAAM,CAAC,QAAQ,IAAI,KAAK;IAGxB,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO;IAWlE,SAAS,IAAI,eAAe;IAQ5B,UAAU,IAAI,mBAAmB;IASjC,SAAS,IAAI,WAAW;IAGxB,KAAK,IAAI,MAAM;IAIf,cAAc,IAAI,MAAM;IAIxB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAIrC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAI/D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,SAAS,CAEhG"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
BlockNode: function() {
|
|
13
|
+
return BlockNode;
|
|
14
|
+
},
|
|
15
|
+
$createBlockNode: function() {
|
|
16
|
+
return $createBlockNode;
|
|
17
|
+
},
|
|
18
|
+
$isBlockNode: function() {
|
|
19
|
+
return $isBlockNode;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const _LexicalDecoratorBlockNode = require("@lexical/react/LexicalDecoratorBlockNode");
|
|
23
|
+
const _react = /*#__PURE__*/ _interop_require_default(require("react"));
|
|
24
|
+
const _component = require("../component");
|
|
25
|
+
function _interop_require_default(obj) {
|
|
26
|
+
return obj && obj.__esModule ? obj : {
|
|
27
|
+
default: obj
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
class BlockNode extends _LexicalDecoratorBlockNode.DecoratorBlockNode {
|
|
31
|
+
__fields;
|
|
32
|
+
constructor({ fields, format, key }){
|
|
33
|
+
super(format, key);
|
|
34
|
+
this.__fields = fields;
|
|
35
|
+
}
|
|
36
|
+
static clone(node) {
|
|
37
|
+
return new BlockNode({
|
|
38
|
+
fields: node.__fields,
|
|
39
|
+
format: node.__format,
|
|
40
|
+
key: node.__key
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
static getType() {
|
|
44
|
+
return 'block';
|
|
45
|
+
}
|
|
46
|
+
static importDOM() {
|
|
47
|
+
return {};
|
|
48
|
+
}
|
|
49
|
+
static importJSON(serializedNode) {
|
|
50
|
+
const node = $createBlockNode(serializedNode.fields);
|
|
51
|
+
node.setFormat(serializedNode.format);
|
|
52
|
+
return node;
|
|
53
|
+
}
|
|
54
|
+
static isInline() {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
decorate(editor, config) {
|
|
58
|
+
return /*#__PURE__*/ _react.default.createElement(_component.BlockComponent, {
|
|
59
|
+
className: config.theme.block ?? 'LexicalEditorTheme__block',
|
|
60
|
+
fields: this.__fields,
|
|
61
|
+
format: this.__format,
|
|
62
|
+
nodeKey: this.getKey()
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
exportDOM() {
|
|
66
|
+
const element = document.createElement('div');
|
|
67
|
+
const text = document.createTextNode(this.getTextContent());
|
|
68
|
+
element.append(text);
|
|
69
|
+
return {
|
|
70
|
+
element
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
exportJSON() {
|
|
74
|
+
return {
|
|
75
|
+
...super.exportJSON(),
|
|
76
|
+
fields: this.getFields(),
|
|
77
|
+
type: this.getType(),
|
|
78
|
+
version: 1
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
getFields() {
|
|
82
|
+
return this.getLatest().__fields;
|
|
83
|
+
}
|
|
84
|
+
getId() {
|
|
85
|
+
return this.__id;
|
|
86
|
+
}
|
|
87
|
+
getTextContent() {
|
|
88
|
+
return `Block Field`;
|
|
89
|
+
}
|
|
90
|
+
setFields(fields) {
|
|
91
|
+
const writable = this.getWritable();
|
|
92
|
+
writable.__fields = fields;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function $createBlockNode(fields) {
|
|
96
|
+
return new BlockNode({
|
|
97
|
+
fields
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
function $isBlockNode(node) {
|
|
101
|
+
return node instanceof BlockNode;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3Mvbm9kZXMvQmxvY2tzTm9kZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZXJpYWxpemVkRGVjb3JhdG9yQmxvY2tOb2RlIH0gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbERlY29yYXRvckJsb2NrTm9kZSdcbmltcG9ydCB0eXBlIHtcbiAgRE9NQ29udmVyc2lvbk1hcCxcbiAgRE9NRXhwb3J0T3V0cHV0LFxuICBFZGl0b3JDb25maWcsXG4gIEVsZW1lbnRGb3JtYXRUeXBlLFxuICBMZXhpY2FsRWRpdG9yLFxuICBMZXhpY2FsTm9kZSxcbiAgTm9kZUtleSxcbiAgU3ByZWFkLFxufSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgeyBEZWNvcmF0b3JCbG9ja05vZGUgfSBmcm9tICdAbGV4aWNhbC9yZWFjdC9MZXhpY2FsRGVjb3JhdG9yQmxvY2tOb2RlJ1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBCbG9ja0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudCdcblxuZXhwb3J0IHR5cGUgQmxvY2tGaWVsZHMgPSB7XG4gIGJsb2NrTmFtZTogc3RyaW5nXG4gIGNvbGxhcHNlZDogYm9vbGVhblxuICAvKiogQmxvY2sgZGF0YSAqL1xuICBkYXRhOiBudWxsIHwgdW5rbm93blxuICAvKiogQmxvY2sgdHlwZS4gVGhpcyBpcyB0aGUgc2x1ZyBvZiB0aGUgYmxvY2sgYWRkZWQgdG8gdGhlIEJsb2NrcyBGZWF0dXJlICovXG4gIHR5cGU6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBTZXJpYWxpemVkQmxvY2tOb2RlID0gU3ByZWFkPFxuICB7XG4gICAgZmllbGRzOiBCbG9ja0ZpZWxkc1xuICB9LFxuICBTZXJpYWxpemVkRGVjb3JhdG9yQmxvY2tOb2RlXG4+XG5cbmV4cG9ydCBjbGFzcyBCbG9ja05vZGUgZXh0ZW5kcyBEZWNvcmF0b3JCbG9ja05vZGUge1xuICBfX2ZpZWxkczogQmxvY2tGaWVsZHNcblxuICBjb25zdHJ1Y3Rvcih7XG4gICAgZmllbGRzLFxuICAgIGZvcm1hdCxcbiAgICBrZXksXG4gIH06IHtcbiAgICBmaWVsZHM6IEJsb2NrRmllbGRzXG4gICAgZm9ybWF0PzogRWxlbWVudEZvcm1hdFR5cGVcbiAgICBrZXk/OiBOb2RlS2V5XG4gIH0pIHtcbiAgICBzdXBlcihmb3JtYXQsIGtleSlcbiAgICB0aGlzLl9fZmllbGRzID0gZmllbGRzXG4gIH1cblxuICBzdGF0aWMgY2xvbmUobm9kZTogQmxvY2tOb2RlKTogQmxvY2tOb2RlIHtcbiAgICByZXR1cm4gbmV3IEJsb2NrTm9kZSh7XG4gICAgICBmaWVsZHM6IG5vZGUuX19maWVsZHMsXG4gICAgICBmb3JtYXQ6IG5vZGUuX19mb3JtYXQsXG4gICAgICBrZXk6IG5vZGUuX19rZXksXG4gICAgfSlcbiAgfVxuXG4gIHN0YXRpYyBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdibG9jaydcbiAgfVxuXG4gIHN0YXRpYyBpbXBvcnRET00oKTogRE9NQ29udmVyc2lvbk1hcDxIVE1MRGl2RWxlbWVudD4gfCBudWxsIHtcbiAgICByZXR1cm4ge31cbiAgfVxuXG4gIHN0YXRpYyBpbXBvcnRKU09OKHNlcmlhbGl6ZWROb2RlOiBTZXJpYWxpemVkQmxvY2tOb2RlKTogQmxvY2tOb2RlIHtcbiAgICBjb25zdCBub2RlID0gJGNyZWF0ZUJsb2NrTm9kZShzZXJpYWxpemVkTm9kZS5maWVsZHMpXG4gICAgbm9kZS5zZXRGb3JtYXQoc2VyaWFsaXplZE5vZGUuZm9ybWF0KVxuICAgIHJldHVybiBub2RlXG4gIH1cblxuICBzdGF0aWMgaXNJbmxpbmUoKTogZmFsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIGRlY29yYXRlKGVkaXRvcjogTGV4aWNhbEVkaXRvciwgY29uZmlnOiBFZGl0b3JDb25maWcpOiBKU1guRWxlbWVudCB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxCbG9ja0NvbXBvbmVudFxuICAgICAgICBjbGFzc05hbWU9e2NvbmZpZy50aGVtZS5ibG9jayA/PyAnTGV4aWNhbEVkaXRvclRoZW1lX19ibG9jayd9XG4gICAgICAgIGZpZWxkcz17dGhpcy5fX2ZpZWxkc31cbiAgICAgICAgZm9ybWF0PXt0aGlzLl9fZm9ybWF0fVxuICAgICAgICBub2RlS2V5PXt0aGlzLmdldEtleSgpfVxuICAgICAgLz5cbiAgICApXG4gIH1cblxuICBleHBvcnRET00oKTogRE9NRXhwb3J0T3V0cHV0IHtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcblxuICAgIGNvbnN0IHRleHQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0aGlzLmdldFRleHRDb250ZW50KCkpXG4gICAgZWxlbWVudC5hcHBlbmQodGV4dClcbiAgICByZXR1cm4geyBlbGVtZW50IH1cbiAgfVxuXG4gIGV4cG9ydEpTT04oKTogU2VyaWFsaXplZEJsb2NrTm9kZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLmV4cG9ydEpTT04oKSxcbiAgICAgIGZpZWxkczogdGhpcy5nZXRGaWVsZHMoKSxcbiAgICAgIHR5cGU6IHRoaXMuZ2V0VHlwZSgpLFxuICAgICAgdmVyc2lvbjogMSxcbiAgICB9XG4gIH1cblxuICBnZXRGaWVsZHMoKTogQmxvY2tGaWVsZHMge1xuICAgIHJldHVybiB0aGlzLmdldExhdGVzdCgpLl9fZmllbGRzXG4gIH1cbiAgZ2V0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fX2lkXG4gIH1cblxuICBnZXRUZXh0Q29udGVudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgQmxvY2sgRmllbGRgXG4gIH1cblxuICBzZXRGaWVsZHMoZmllbGRzOiBCbG9ja0ZpZWxkcyk6IHZvaWQge1xuICAgIGNvbnN0IHdyaXRhYmxlID0gdGhpcy5nZXRXcml0YWJsZSgpXG4gICAgd3JpdGFibGUuX19maWVsZHMgPSBmaWVsZHNcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gJGNyZWF0ZUJsb2NrTm9kZShmaWVsZHM6IEJsb2NrRmllbGRzKTogQmxvY2tOb2RlIHtcbiAgcmV0dXJuIG5ldyBCbG9ja05vZGUoe1xuICAgIGZpZWxkcyxcbiAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uICRpc0Jsb2NrTm9kZShub2RlOiBCbG9ja05vZGUgfCBMZXhpY2FsTm9kZSB8IG51bGwgfCB1bmRlZmluZWQpOiBub2RlIGlzIEJsb2NrTm9kZSB7XG4gIHJldHVybiBub2RlIGluc3RhbmNlb2YgQmxvY2tOb2RlXG59XG4iXSwibmFtZXMiOlsiQmxvY2tOb2RlIiwiJGNyZWF0ZUJsb2NrTm9kZSIsIiRpc0Jsb2NrTm9kZSIsIkRlY29yYXRvckJsb2NrTm9kZSIsIl9fZmllbGRzIiwiY29uc3RydWN0b3IiLCJmaWVsZHMiLCJmb3JtYXQiLCJrZXkiLCJjbG9uZSIsIm5vZGUiLCJfX2Zvcm1hdCIsIl9fa2V5IiwiZ2V0VHlwZSIsImltcG9ydERPTSIsImltcG9ydEpTT04iLCJzZXJpYWxpemVkTm9kZSIsInNldEZvcm1hdCIsImlzSW5saW5lIiwiZGVjb3JhdGUiLCJlZGl0b3IiLCJjb25maWciLCJCbG9ja0NvbXBvbmVudCIsImNsYXNzTmFtZSIsInRoZW1lIiwiYmxvY2siLCJub2RlS2V5IiwiZ2V0S2V5IiwiZXhwb3J0RE9NIiwiZWxlbWVudCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsInRleHQiLCJjcmVhdGVUZXh0Tm9kZSIsImdldFRleHRDb250ZW50IiwiYXBwZW5kIiwiZXhwb3J0SlNPTiIsImdldEZpZWxkcyIsInR5cGUiLCJ2ZXJzaW9uIiwiZ2V0TGF0ZXN0IiwiZ2V0SWQiLCJfX2lkIiwic2V0RmllbGRzIiwid3JpdGFibGUiLCJnZXRXcml0YWJsZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFpQ2FBLFNBQVM7ZUFBVEE7O0lBc0ZHQyxnQkFBZ0I7ZUFBaEJBOztJQU1BQyxZQUFZO2VBQVpBOzs7MkNBakhtQjs4REFDakI7MkJBRWE7Ozs7OztBQWtCeEIsTUFBTUYsa0JBQWtCRyw2Q0FBa0I7SUFDL0NDLFNBQXFCO0lBRXJCQyxZQUFZLEVBQ1ZDLE1BQU0sRUFDTkMsTUFBTSxFQUNOQyxHQUFHLEVBS0osQ0FBRTtRQUNELEtBQUssQ0FBQ0QsUUFBUUM7UUFDZCxJQUFJLENBQUNKLFFBQVEsR0FBR0U7SUFDbEI7SUFFQSxPQUFPRyxNQUFNQyxJQUFlLEVBQWE7UUFDdkMsT0FBTyxJQUFJVixVQUFVO1lBQ25CTSxRQUFRSSxLQUFLTixRQUFRO1lBQ3JCRyxRQUFRRyxLQUFLQyxRQUFRO1lBQ3JCSCxLQUFLRSxLQUFLRSxLQUFLO1FBQ2pCO0lBQ0Y7SUFFQSxPQUFPQyxVQUFrQjtRQUN2QixPQUFPO0lBQ1Q7SUFFQSxPQUFPQyxZQUFxRDtRQUMxRCxPQUFPLENBQUM7SUFDVjtJQUVBLE9BQU9DLFdBQVdDLGNBQW1DLEVBQWE7UUFDaEUsTUFBTU4sT0FBT1QsaUJBQWlCZSxlQUFlVixNQUFNO1FBQ25ESSxLQUFLTyxTQUFTLENBQUNELGVBQWVULE1BQU07UUFDcEMsT0FBT0c7SUFDVDtJQUVBLE9BQU9RLFdBQWtCO1FBQ3ZCLE9BQU87SUFDVDtJQUNBQyxTQUFTQyxNQUFxQixFQUFFQyxNQUFvQixFQUFlO1FBQ2pFLHFCQUNFLDZCQUFDQyx5QkFBYztZQUNiQyxXQUFXRixPQUFPRyxLQUFLLENBQUNDLEtBQUssSUFBSTtZQUNqQ25CLFFBQVEsSUFBSSxDQUFDRixRQUFRO1lBQ3JCRyxRQUFRLElBQUksQ0FBQ0ksUUFBUTtZQUNyQmUsU0FBUyxJQUFJLENBQUNDLE1BQU07O0lBRzFCO0lBRUFDLFlBQTZCO1FBQzNCLE1BQU1DLFVBQVVDLFNBQVNDLGFBQWEsQ0FBQztRQUV2QyxNQUFNQyxPQUFPRixTQUFTRyxjQUFjLENBQUMsSUFBSSxDQUFDQyxjQUFjO1FBQ3hETCxRQUFRTSxNQUFNLENBQUNIO1FBQ2YsT0FBTztZQUFFSDtRQUFRO0lBQ25CO0lBRUFPLGFBQWtDO1FBQ2hDLE9BQU87WUFDTCxHQUFHLEtBQUssQ0FBQ0EsWUFBWTtZQUNyQjlCLFFBQVEsSUFBSSxDQUFDK0IsU0FBUztZQUN0QkMsTUFBTSxJQUFJLENBQUN6QixPQUFPO1lBQ2xCMEIsU0FBUztRQUNYO0lBQ0Y7SUFFQUYsWUFBeUI7UUFDdkIsT0FBTyxJQUFJLENBQUNHLFNBQVMsR0FBR3BDLFFBQVE7SUFDbEM7SUFDQXFDLFFBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNDLElBQUk7SUFDbEI7SUFFQVIsaUJBQXlCO1FBQ3ZCLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDdEI7SUFFQVMsVUFBVXJDLE1BQW1CLEVBQVE7UUFDbkMsTUFBTXNDLFdBQVcsSUFBSSxDQUFDQyxXQUFXO1FBQ2pDRCxTQUFTeEMsUUFBUSxHQUFHRTtJQUN0QjtBQUNGO0FBRU8sU0FBU0wsaUJBQWlCSyxNQUFtQjtJQUNsRCxPQUFPLElBQUlOLFVBQVU7UUFDbkJNO0lBQ0Y7QUFDRjtBQUVPLFNBQVNKLGFBQWFRLElBQWdEO0lBQzNFLE9BQU9BLGdCQUFnQlY7QUFDekIifQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { type LexicalCommand } from 'lexical';
|
|
3
|
+
import type { BlockFields } from '../nodes/BlocksNode';
|
|
4
|
+
export type InsertBlockPayload = BlockFields;
|
|
5
|
+
export declare const INSERT_BLOCK_COMMAND: LexicalCommand<InsertBlockPayload>;
|
|
6
|
+
export declare function BlocksPlugin(): JSX.Element | null;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Blocks/plugin/index.tsx"],"names":[],"mappings":";AAEA,OAAO,EAA2B,KAAK,cAAc,EAAiB,MAAM,SAAS,CAAA;AAGrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAKtD,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAA;AAE5C,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,kBAAkB,CAC7B,CAAA;AAEvC,wBAAgB,YAAY,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CA0BjD"}
|