payload-richtext-tiptap 0.0.40 → 0.0.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -47
- package/dist/src/fields/TiptapEditor/Components.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/Components.js +3 -3
- package/dist/src/fields/TiptapEditor/Components.js.map +1 -1
- package/dist/src/fields/TiptapEditor/context/EditorContext.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.d.ts +4 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.js +208 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AIMenuList.d.ts +5 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AIMenuList.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AIMenuList.js +123 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AIMenuList.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/CommandButton.d.ts +10 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/CommandButton.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/CommandButton.js +29 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/CommandButton.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/MenuList.d.ts +5 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/MenuList.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/MenuList.js +123 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/MenuList.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.d.ts +4 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.js +260 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/index.d.ts +2 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/index.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/index.js +3 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/types.d.ts +22 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/types.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/types.js +3 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/types.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/BlockquoteFigure.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Design.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/Quote.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/QuoteCaption.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Document/Document.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Document/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Figcaption/Figcaption.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Figcaption/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Figure/Figure.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Figure/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/FontSize/FontSize.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/FontSize/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Heading/Heading.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Heading/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/HorizontalRule/HorizontalRule.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/HorizontalRule/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Iframe/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Iframe/menus/IframeMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Iframe/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Image/Image.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Image/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockWidth.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/ImageUpload.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/ImageUpload.js +3 -2
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/ImageUpload.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.d.ts +2 -2
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.js +38 -21
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUploader.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/hooks.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLink.client.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/insideLinks.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/menus/InsideLinksMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Link/Link.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Link/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/Column.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/Columns.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/menus/ColumnsMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Paragraph/Paragraph.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Paragraph/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Selection/Selection.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Selection/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/CommandButton.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/MenuList.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/SlashCommand.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/types.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/FacebookEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/InstagramEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/instagram.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/LinkedinEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/linkedin.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/TiktokEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/tiktok.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/TwitterEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/twitter.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/YoutubeEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/youtube.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/SocialMediaMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/constants.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/Cell.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/Header.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/Row.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/Table.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableColumn/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableColumn/utils.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableRow/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableRow/utils.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/utils.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/TableOfContentsNode.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/TrailingNode/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/TrailingNode/trailing-node.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts +3 -1
- package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/extension-kit.js +22 -15
- package/dist/src/fields/TiptapEditor/extensions/extension-kit.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/index.d.ts +1 -0
- package/dist/src/fields/TiptapEditor/extensions/index.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/index.js +1 -0
- package/dist/src/fields/TiptapEditor/extensions/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.d.ts +4 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.js +3 -2
- package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/components/EditorHeader.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/components/EditorInfo.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/types.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/Sidebar/Sidebar.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/Sidebar/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/TableOfContents/TableOfContents.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/TableOfContents/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/ContentItemMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/hooks/useContentItemActions.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/hooks/useData.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/LinkMenu/LinkMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/LinkMenu/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ContentTypePicker.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/EditIframeLinkPopover.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/EditLinkPopover.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/FontFamilyPicker.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/FontSizePicker.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/SocialMediaPopover.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-completion-command.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-draft-selector-commands.d.ts +8 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-draft-selector-commands.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-draft-selector-commands.js +94 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-draft-selector-commands.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-selector-commands.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuCommands.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuContentTypes.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuStates.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/types.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.d.ts +7 -0
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.js +193 -0
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/index.d.ts +2 -0
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/index.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/index.js +3 -0
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.js +29 -17
- package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/ColorButton.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/Colorpicker.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/InsideLinksEditorPanel/InsideLinksEditorPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/InsideLinksEditorPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/LinkEditorPanel/LinkEditorPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/LinkEditorPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/LinkPreviewPanel/LinkPreviewPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/LinkPreviewPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Button/Button.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Button/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Dropdown/Dropdown.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Dropdown/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Icon.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Loader/Loader.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Loader/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Loader/types.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Panel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/PopoverMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Spinner/Spinner.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Spinner/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Surface.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Textarea/Textarea.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Textarea/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Toggle/Toggle.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Toggle/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Toolbar.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Tooltip/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Tooltip/types.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/crazy-spinner.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/scroll-area.js.map +1 -1
- package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.d.ts +3 -1
- package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.js +4 -3
- package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.js.map +1 -1
- package/dist/src/fields/TiptapEditor/hooks/useSidebar.js.map +1 -1
- package/dist/src/fields/TiptapEditor/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/api.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/constants.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/data/initialContent.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/extract.d.ts +3 -0
- package/dist/src/fields/TiptapEditor/lib/extract.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/lib/extract.js +28 -0
- package/dist/src/fields/TiptapEditor/lib/extract.js.map +1 -0
- package/dist/src/fields/TiptapEditor/lib/utils/cssVar.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/deepMerge.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/getRenderContainer.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/isCustomNodeSelected.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/isRtl.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/isTextSelected.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/partialRequired.js.map +1 -1
- package/dist/src/fields/TiptapEditor/types.d.js +3 -0
- package/dist/src/fields/TiptapEditor/types.d.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/styles.css +0 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
3
|
+
import { DropdownButton } from "../../features/ui/Dropdown/Dropdown.js";
|
|
4
|
+
import { Surface } from "../../features/ui/Surface.js";
|
|
5
|
+
import { Icon } from "../../features/ui/Icon.js";
|
|
6
|
+
export const MenuList = /*#__PURE__*/ React.forwardRef((props, ref)=>{
|
|
7
|
+
const scrollContainer = useRef(null);
|
|
8
|
+
const activeItem = useRef(null);
|
|
9
|
+
const [selectedGroupIndex, setSelectedGroupIndex] = useState(0);
|
|
10
|
+
const [selectedCommandIndex, setSelectedCommandIndex] = useState(0);
|
|
11
|
+
// Anytime the groups change, i.e. the user types to narrow it down, we want to
|
|
12
|
+
// reset the current selection to the first menu item
|
|
13
|
+
useEffect(()=>{
|
|
14
|
+
setSelectedGroupIndex(0);
|
|
15
|
+
setSelectedCommandIndex(0);
|
|
16
|
+
}, [
|
|
17
|
+
props.items
|
|
18
|
+
]);
|
|
19
|
+
const selectItem = useCallback((groupIndex, commandIndex)=>{
|
|
20
|
+
const command = props.items[groupIndex].commands[commandIndex];
|
|
21
|
+
props.command(command);
|
|
22
|
+
}, [
|
|
23
|
+
props
|
|
24
|
+
]);
|
|
25
|
+
React.useImperativeHandle(ref, ()=>({
|
|
26
|
+
onKeyDown: ({ event })=>{
|
|
27
|
+
if (event.key === "ArrowDown") {
|
|
28
|
+
if (!props.items.length) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
const commands = props.items[selectedGroupIndex].commands;
|
|
32
|
+
let newCommandIndex = selectedCommandIndex + 1;
|
|
33
|
+
let newGroupIndex = selectedGroupIndex;
|
|
34
|
+
if (commands.length - 1 < newCommandIndex) {
|
|
35
|
+
newCommandIndex = 0;
|
|
36
|
+
newGroupIndex = selectedGroupIndex + 1;
|
|
37
|
+
}
|
|
38
|
+
if (props.items.length - 1 < newGroupIndex) {
|
|
39
|
+
newGroupIndex = 0;
|
|
40
|
+
}
|
|
41
|
+
setSelectedCommandIndex(newCommandIndex);
|
|
42
|
+
setSelectedGroupIndex(newGroupIndex);
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
if (event.key === "ArrowUp") {
|
|
46
|
+
if (!props.items.length) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
let newCommandIndex = selectedCommandIndex - 1;
|
|
50
|
+
let newGroupIndex = selectedGroupIndex;
|
|
51
|
+
if (newCommandIndex < 0) {
|
|
52
|
+
newGroupIndex = selectedGroupIndex - 1;
|
|
53
|
+
newCommandIndex = props.items[newGroupIndex]?.commands.length - 1 || 0;
|
|
54
|
+
}
|
|
55
|
+
if (newGroupIndex < 0) {
|
|
56
|
+
newGroupIndex = props.items.length - 1;
|
|
57
|
+
newCommandIndex = props.items[newGroupIndex].commands.length - 1;
|
|
58
|
+
}
|
|
59
|
+
setSelectedCommandIndex(newCommandIndex);
|
|
60
|
+
setSelectedGroupIndex(newGroupIndex);
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
if (event.key === "Enter") {
|
|
64
|
+
if (!props.items.length || selectedGroupIndex === -1 || selectedCommandIndex === -1) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
selectItem(selectedGroupIndex, selectedCommandIndex);
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
}));
|
|
73
|
+
useEffect(()=>{
|
|
74
|
+
if (activeItem.current && scrollContainer.current) {
|
|
75
|
+
const offsetTop = activeItem.current.offsetTop;
|
|
76
|
+
const offsetHeight = activeItem.current.offsetHeight;
|
|
77
|
+
scrollContainer.current.scrollTop = offsetTop - offsetHeight;
|
|
78
|
+
}
|
|
79
|
+
}, [
|
|
80
|
+
selectedCommandIndex,
|
|
81
|
+
selectedGroupIndex
|
|
82
|
+
]);
|
|
83
|
+
const createCommandClickHandler = useCallback((groupIndex, commandIndex)=>{
|
|
84
|
+
return ()=>{
|
|
85
|
+
selectItem(groupIndex, commandIndex);
|
|
86
|
+
};
|
|
87
|
+
}, [
|
|
88
|
+
selectItem
|
|
89
|
+
]);
|
|
90
|
+
if (!props.items.length) {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
return /*#__PURE__*/ _jsx(Surface, {
|
|
94
|
+
ref: scrollContainer,
|
|
95
|
+
className: "text-black max-h-[min(80vh,24rem)] overflow-auto flex-wrap mb-8 p-2",
|
|
96
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
97
|
+
className: "grid grid-cols-1 gap-0.5",
|
|
98
|
+
children: props.items.map((group, groupIndex)=>/*#__PURE__*/ _jsxs(React.Fragment, {
|
|
99
|
+
children: [
|
|
100
|
+
/*#__PURE__*/ _jsx("div", {
|
|
101
|
+
className: "text-neutral-500 text-[0.65rem] col-[1/-1] mx-2 mt-4 font-semibold tracking-wider select-none uppercase first:mt-0.5",
|
|
102
|
+
children: group.title
|
|
103
|
+
}, `${group.title}`),
|
|
104
|
+
group.commands.map((command, commandIndex)=>/*#__PURE__*/ _jsxs(DropdownButton, {
|
|
105
|
+
isActive: selectedGroupIndex === groupIndex && selectedCommandIndex === commandIndex,
|
|
106
|
+
onClick: createCommandClickHandler(groupIndex, commandIndex),
|
|
107
|
+
children: [
|
|
108
|
+
/*#__PURE__*/ _jsx(Icon, {
|
|
109
|
+
icon: command.icon,
|
|
110
|
+
className: "mr-1"
|
|
111
|
+
}),
|
|
112
|
+
command.label
|
|
113
|
+
]
|
|
114
|
+
}, `${command.label}`))
|
|
115
|
+
]
|
|
116
|
+
}, `${group.title}-wrapper`))
|
|
117
|
+
})
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
MenuList.displayName = "MenuList";
|
|
121
|
+
export default MenuList;
|
|
122
|
+
|
|
123
|
+
//# sourceMappingURL=MenuList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/AICommand/MenuList.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport { DropdownButton } from \"../../features/ui/Dropdown/Dropdown.js\";\nimport { Surface } from \"../../features/ui/Surface.js\";\nimport { Command, MenuListProps } from \"./types.js\";\n\nimport { Icon } from \"../../features/ui/Icon.js\";\n\nexport const MenuList = React.forwardRef((props: MenuListProps, ref) => {\n const scrollContainer = useRef<HTMLDivElement>(null);\n const activeItem = useRef<HTMLButtonElement>(null);\n const [selectedGroupIndex, setSelectedGroupIndex] = useState(0);\n const [selectedCommandIndex, setSelectedCommandIndex] = useState(0);\n\n // Anytime the groups change, i.e. the user types to narrow it down, we want to\n // reset the current selection to the first menu item\n useEffect(() => {\n setSelectedGroupIndex(0);\n setSelectedCommandIndex(0);\n }, [props.items]);\n\n const selectItem = useCallback(\n (groupIndex: number, commandIndex: number) => {\n const command = props.items[groupIndex].commands[commandIndex];\n props.command(command);\n },\n [props]\n );\n\n React.useImperativeHandle(ref, () => ({\n onKeyDown: ({ event }: { event: React.KeyboardEvent }) => {\n if (event.key === \"ArrowDown\") {\n if (!props.items.length) {\n return false;\n }\n\n const commands = props.items[selectedGroupIndex].commands;\n\n let newCommandIndex = selectedCommandIndex + 1;\n let newGroupIndex = selectedGroupIndex;\n\n if (commands.length - 1 < newCommandIndex) {\n newCommandIndex = 0;\n newGroupIndex = selectedGroupIndex + 1;\n }\n\n if (props.items.length - 1 < newGroupIndex) {\n newGroupIndex = 0;\n }\n\n setSelectedCommandIndex(newCommandIndex);\n setSelectedGroupIndex(newGroupIndex);\n\n return true;\n }\n\n if (event.key === \"ArrowUp\") {\n if (!props.items.length) {\n return false;\n }\n\n let newCommandIndex = selectedCommandIndex - 1;\n let newGroupIndex = selectedGroupIndex;\n\n if (newCommandIndex < 0) {\n newGroupIndex = selectedGroupIndex - 1;\n newCommandIndex =\n props.items[newGroupIndex]?.commands.length - 1 || 0;\n }\n\n if (newGroupIndex < 0) {\n newGroupIndex = props.items.length - 1;\n newCommandIndex = props.items[newGroupIndex].commands.length - 1;\n }\n\n setSelectedCommandIndex(newCommandIndex);\n setSelectedGroupIndex(newGroupIndex);\n\n return true;\n }\n\n if (event.key === \"Enter\") {\n if (\n !props.items.length ||\n selectedGroupIndex === -1 ||\n selectedCommandIndex === -1\n ) {\n return false;\n }\n\n selectItem(selectedGroupIndex, selectedCommandIndex);\n\n return true;\n }\n\n return false;\n },\n }));\n\n useEffect(() => {\n if (activeItem.current && scrollContainer.current) {\n const offsetTop = activeItem.current.offsetTop;\n const offsetHeight = activeItem.current.offsetHeight;\n\n scrollContainer.current.scrollTop = offsetTop - offsetHeight;\n }\n }, [selectedCommandIndex, selectedGroupIndex]);\n\n const createCommandClickHandler = useCallback(\n (groupIndex: number, commandIndex: number) => {\n return () => {\n selectItem(groupIndex, commandIndex);\n };\n },\n [selectItem]\n );\n\n if (!props.items.length) {\n return null;\n }\n\n return (\n <Surface\n ref={scrollContainer}\n className=\"text-black max-h-[min(80vh,24rem)] overflow-auto flex-wrap mb-8 p-2\"\n >\n <div className=\"grid grid-cols-1 gap-0.5\">\n {props.items.map((group, groupIndex: number) => (\n <React.Fragment key={`${group.title}-wrapper`}>\n <div\n className=\"text-neutral-500 text-[0.65rem] col-[1/-1] mx-2 mt-4 font-semibold tracking-wider select-none uppercase first:mt-0.5\"\n key={`${group.title}`}\n >\n {group.title}\n </div>\n {group.commands.map((command: Command, commandIndex: number) => (\n <DropdownButton\n key={`${command.label}`}\n isActive={\n selectedGroupIndex === groupIndex &&\n selectedCommandIndex === commandIndex\n }\n onClick={createCommandClickHandler(groupIndex, commandIndex)}\n >\n <Icon icon={command.icon} className=\"mr-1\" />\n {command.label}\n </DropdownButton>\n ))}\n </React.Fragment>\n ))}\n </div>\n </Surface>\n );\n});\n\nMenuList.displayName = \"MenuList\";\n\nexport default MenuList;\n"],"names":["React","useCallback","useEffect","useRef","useState","DropdownButton","Surface","Icon","MenuList","forwardRef","props","ref","scrollContainer","activeItem","selectedGroupIndex","setSelectedGroupIndex","selectedCommandIndex","setSelectedCommandIndex","items","selectItem","groupIndex","commandIndex","command","commands","useImperativeHandle","onKeyDown","event","key","length","newCommandIndex","newGroupIndex","current","offsetTop","offsetHeight","scrollTop","createCommandClickHandler","className","div","map","group","Fragment","title","isActive","onClick","icon","label","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/AICommand/groups.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,eAAO,MAAM,MAAM,EAAE,KAAK,EA8PzB,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import { Book, Columns2, Heading1, Heading2, Heading3, Image, Instagram, Link, List, ListOrdered, Minus, Quote, SquareCode, Table, Twitter, Youtube } from "lucide-react";
|
|
2
|
+
export const GROUPS = [
|
|
3
|
+
{
|
|
4
|
+
name: "format",
|
|
5
|
+
title: "Format",
|
|
6
|
+
commands: [
|
|
7
|
+
{
|
|
8
|
+
name: "heading1",
|
|
9
|
+
label: "Heading 1",
|
|
10
|
+
icon: Heading1,
|
|
11
|
+
description: "High priority section title",
|
|
12
|
+
aliases: [
|
|
13
|
+
"h1"
|
|
14
|
+
],
|
|
15
|
+
action: (editor)=>{
|
|
16
|
+
editor.chain().focus().setHeading({
|
|
17
|
+
level: 1
|
|
18
|
+
}).run();
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: "heading2",
|
|
23
|
+
label: "Heading 2",
|
|
24
|
+
icon: Heading2,
|
|
25
|
+
description: "Medium priority section title",
|
|
26
|
+
aliases: [
|
|
27
|
+
"h2"
|
|
28
|
+
],
|
|
29
|
+
action: (editor)=>{
|
|
30
|
+
editor.chain().focus().setHeading({
|
|
31
|
+
level: 2
|
|
32
|
+
}).run();
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: "heading3",
|
|
37
|
+
label: "Heading 3",
|
|
38
|
+
icon: Heading3,
|
|
39
|
+
description: "Low priority section title",
|
|
40
|
+
aliases: [
|
|
41
|
+
"h3"
|
|
42
|
+
],
|
|
43
|
+
action: (editor)=>{
|
|
44
|
+
editor.chain().focus().setHeading({
|
|
45
|
+
level: 3
|
|
46
|
+
}).run();
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: "bulletList",
|
|
51
|
+
label: "Bullet List",
|
|
52
|
+
icon: List,
|
|
53
|
+
description: "Unordered list of items",
|
|
54
|
+
aliases: [
|
|
55
|
+
"ul"
|
|
56
|
+
],
|
|
57
|
+
action: (editor)=>{
|
|
58
|
+
editor.chain().focus().toggleBulletList().run();
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: "numberedList",
|
|
63
|
+
label: "Numbered List",
|
|
64
|
+
icon: ListOrdered,
|
|
65
|
+
description: "Ordered list of items",
|
|
66
|
+
aliases: [
|
|
67
|
+
"ol"
|
|
68
|
+
],
|
|
69
|
+
action: (editor)=>{
|
|
70
|
+
editor.chain().focus().toggleOrderedList().run();
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
// {
|
|
74
|
+
// name: 'taskList',
|
|
75
|
+
// label: 'Task List',
|
|
76
|
+
// icon: ListTodo,
|
|
77
|
+
// description: 'Task list with todo items',
|
|
78
|
+
// aliases: ['todo'],
|
|
79
|
+
// action: (editor) => {
|
|
80
|
+
// editor.chain().focus().toggleTaskList().run()
|
|
81
|
+
// },
|
|
82
|
+
// },
|
|
83
|
+
{
|
|
84
|
+
name: "blockquote",
|
|
85
|
+
label: "Blockquote",
|
|
86
|
+
icon: Quote,
|
|
87
|
+
description: "Element for quoting",
|
|
88
|
+
action: (editor)=>{
|
|
89
|
+
editor.chain().focus().setBlockquote().run();
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: "codeBlock",
|
|
94
|
+
label: "Code Block",
|
|
95
|
+
icon: SquareCode,
|
|
96
|
+
description: "Code block with syntax highlighting",
|
|
97
|
+
shouldBeHidden: (editor)=>editor.isActive("columns"),
|
|
98
|
+
action: (editor)=>{
|
|
99
|
+
editor.chain().focus().setCodeBlock().run();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
name: "insert",
|
|
106
|
+
title: "Insert",
|
|
107
|
+
commands: [
|
|
108
|
+
{
|
|
109
|
+
name: "table",
|
|
110
|
+
label: "Table",
|
|
111
|
+
icon: Table,
|
|
112
|
+
description: "Insert a table",
|
|
113
|
+
shouldBeHidden: (editor)=>editor.isActive("columns"),
|
|
114
|
+
action: (editor)=>{
|
|
115
|
+
editor.chain().focus().insertTable({
|
|
116
|
+
rows: 3,
|
|
117
|
+
cols: 3,
|
|
118
|
+
withHeaderRow: false
|
|
119
|
+
}).run();
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
name: "image",
|
|
124
|
+
label: "Image",
|
|
125
|
+
icon: Image,
|
|
126
|
+
description: "Insert an image",
|
|
127
|
+
aliases: [
|
|
128
|
+
"img"
|
|
129
|
+
],
|
|
130
|
+
action: (editor)=>{
|
|
131
|
+
editor.chain().focus().setImageUpload().run();
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
name: "columns",
|
|
136
|
+
label: "Columns",
|
|
137
|
+
icon: Columns2,
|
|
138
|
+
description: "Add two column content",
|
|
139
|
+
aliases: [
|
|
140
|
+
"cols"
|
|
141
|
+
],
|
|
142
|
+
shouldBeHidden: (editor)=>editor.isActive("columns"),
|
|
143
|
+
action: (editor)=>{
|
|
144
|
+
editor.chain().focus().setColumns().focus(editor.state.selection.head - 1).run();
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
name: "horizontalRule",
|
|
149
|
+
label: "Horizontal Rule",
|
|
150
|
+
icon: Minus,
|
|
151
|
+
description: "Insert a horizontal divider",
|
|
152
|
+
aliases: [
|
|
153
|
+
"hr"
|
|
154
|
+
],
|
|
155
|
+
action: (editor)=>{
|
|
156
|
+
editor.chain().focus().setHorizontalRule().run();
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
name: "toc",
|
|
161
|
+
label: "Table of Contents",
|
|
162
|
+
icon: Book,
|
|
163
|
+
aliases: [
|
|
164
|
+
"outline"
|
|
165
|
+
],
|
|
166
|
+
description: "Insert a table of contents",
|
|
167
|
+
shouldBeHidden: (editor)=>editor.isActive("columns"),
|
|
168
|
+
action: (editor)=>{
|
|
169
|
+
editor.chain().focus().insertTableOfContents().run();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
name: "embed",
|
|
176
|
+
title: "Embed",
|
|
177
|
+
commands: [
|
|
178
|
+
{
|
|
179
|
+
name: "iframe",
|
|
180
|
+
label: "IFrame",
|
|
181
|
+
icon: Link,
|
|
182
|
+
aliases: [
|
|
183
|
+
"iframe"
|
|
184
|
+
],
|
|
185
|
+
description: "Insert a iframe",
|
|
186
|
+
shouldBeHidden: (editor)=>editor.isActive("iframe"),
|
|
187
|
+
action: (editor)=>{
|
|
188
|
+
editor.chain().focus().setHtml("<div>Embed your content here</div>").run();
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
name: "twitter",
|
|
193
|
+
label: "Twitter Embed",
|
|
194
|
+
icon: Twitter,
|
|
195
|
+
aliases: [
|
|
196
|
+
"x",
|
|
197
|
+
"twitter"
|
|
198
|
+
],
|
|
199
|
+
description: "Insert a Twitter embed",
|
|
200
|
+
shouldBeHidden: (editor)=>editor.isActive("twitter"),
|
|
201
|
+
action: (editor)=>{
|
|
202
|
+
editor.chain().focus().insertTwitter().run();
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
// {
|
|
206
|
+
// name: 'facebook',
|
|
207
|
+
// label: 'Facebook Embed',
|
|
208
|
+
// icon: Facebook,
|
|
209
|
+
// aliases: ['meta', 'facebook'],
|
|
210
|
+
// description: 'Insert a Facebook embed',
|
|
211
|
+
// shouldBeHidden: (editor) => editor.isActive('facebook'),
|
|
212
|
+
// action: (editor) => {
|
|
213
|
+
// editor.chain().focus().insertFacebook().run()
|
|
214
|
+
// },
|
|
215
|
+
// },
|
|
216
|
+
{
|
|
217
|
+
name: "instagram",
|
|
218
|
+
label: "Instagram Embed",
|
|
219
|
+
icon: Instagram,
|
|
220
|
+
aliases: [
|
|
221
|
+
"instagram"
|
|
222
|
+
],
|
|
223
|
+
description: "Insert a Instagram embed",
|
|
224
|
+
shouldBeHidden: (editor)=>editor.isActive("instagram"),
|
|
225
|
+
action: (editor)=>{
|
|
226
|
+
editor.chain().focus().insertInstagram().run();
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
name: "youtube",
|
|
231
|
+
label: "Youtube Embed",
|
|
232
|
+
icon: Youtube,
|
|
233
|
+
aliases: [
|
|
234
|
+
"youtube"
|
|
235
|
+
],
|
|
236
|
+
description: "Insert a Youtube embed",
|
|
237
|
+
shouldBeHidden: (editor)=>editor.isActive("youtube"),
|
|
238
|
+
action: (editor)=>{
|
|
239
|
+
editor.chain().focus().insertYoutube().run();
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
name: "insideLinks",
|
|
244
|
+
label: "TRT Links",
|
|
245
|
+
icon: Youtube,
|
|
246
|
+
aliases: [
|
|
247
|
+
"insideLinks"
|
|
248
|
+
],
|
|
249
|
+
description: "Link internal content such as articles, videos, shows etc.",
|
|
250
|
+
shouldBeHidden: (editor)=>editor.isActive("insideLinks"),
|
|
251
|
+
action: (editor)=>{
|
|
252
|
+
editor.chain().focus().insertInsideLinks({}).run();
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
]
|
|
256
|
+
}
|
|
257
|
+
];
|
|
258
|
+
export default GROUPS;
|
|
259
|
+
|
|
260
|
+
//# sourceMappingURL=groups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/AICommand/groups.ts"],"sourcesContent":["import {\n Book,\n Columns2,\n Facebook,\n Heading1,\n Heading2,\n Heading3,\n Image,\n Instagram,\n Link,\n Linkedin,\n List,\n ListOrdered,\n ListTodo,\n Minus,\n Music,\n Quote,\n SquareCode,\n Table,\n Twitch,\n Twitter,\n Youtube,\n} from \"lucide-react\";\nimport { Group } from \"./types.js\";\n\nexport const GROUPS: Group[] = [\n {\n name: \"format\",\n title: \"Format\",\n commands: [\n {\n name: \"heading1\",\n label: \"Heading 1\",\n icon: Heading1,\n description: \"High priority section title\",\n aliases: [\"h1\"],\n action: (editor) => {\n editor.chain().focus().setHeading({ level: 1 }).run();\n },\n },\n {\n name: \"heading2\",\n label: \"Heading 2\",\n icon: Heading2,\n description: \"Medium priority section title\",\n aliases: [\"h2\"],\n action: (editor) => {\n editor.chain().focus().setHeading({ level: 2 }).run();\n },\n },\n {\n name: \"heading3\",\n label: \"Heading 3\",\n icon: Heading3,\n description: \"Low priority section title\",\n aliases: [\"h3\"],\n action: (editor) => {\n editor.chain().focus().setHeading({ level: 3 }).run();\n },\n },\n {\n name: \"bulletList\",\n label: \"Bullet List\",\n icon: List,\n description: \"Unordered list of items\",\n aliases: [\"ul\"],\n action: (editor) => {\n editor.chain().focus().toggleBulletList().run();\n },\n },\n {\n name: \"numberedList\",\n label: \"Numbered List\",\n icon: ListOrdered,\n description: \"Ordered list of items\",\n aliases: [\"ol\"],\n action: (editor) => {\n editor.chain().focus().toggleOrderedList().run();\n },\n },\n // {\n // name: 'taskList',\n // label: 'Task List',\n // icon: ListTodo,\n // description: 'Task list with todo items',\n // aliases: ['todo'],\n // action: (editor) => {\n // editor.chain().focus().toggleTaskList().run()\n // },\n // },\n {\n name: \"blockquote\",\n label: \"Blockquote\",\n icon: Quote,\n description: \"Element for quoting\",\n action: (editor) => {\n editor.chain().focus().setBlockquote().run();\n },\n },\n {\n name: \"codeBlock\",\n label: \"Code Block\",\n icon: SquareCode,\n description: \"Code block with syntax highlighting\",\n shouldBeHidden: (editor) => editor.isActive(\"columns\"),\n action: (editor) => {\n editor.chain().focus().setCodeBlock().run();\n },\n },\n ],\n },\n {\n name: \"insert\",\n title: \"Insert\",\n commands: [\n {\n name: \"table\",\n label: \"Table\",\n icon: Table,\n description: \"Insert a table\",\n shouldBeHidden: (editor) => editor.isActive(\"columns\"),\n action: (editor) => {\n editor\n .chain()\n .focus()\n .insertTable({ rows: 3, cols: 3, withHeaderRow: false })\n .run();\n },\n },\n {\n name: \"image\",\n label: \"Image\",\n icon: Image,\n description: \"Insert an image\",\n aliases: [\"img\"],\n action: (editor) => {\n editor.chain().focus().setImageUpload().run();\n },\n },\n {\n name: \"columns\",\n label: \"Columns\",\n icon: Columns2,\n description: \"Add two column content\",\n aliases: [\"cols\"],\n shouldBeHidden: (editor) => editor.isActive(\"columns\"),\n action: (editor) => {\n editor\n .chain()\n .focus()\n .setColumns()\n .focus(editor.state.selection.head - 1)\n .run();\n },\n },\n {\n name: \"horizontalRule\",\n label: \"Horizontal Rule\",\n icon: Minus,\n description: \"Insert a horizontal divider\",\n aliases: [\"hr\"],\n action: (editor) => {\n editor.chain().focus().setHorizontalRule().run();\n },\n },\n {\n name: \"toc\",\n label: \"Table of Contents\",\n icon: Book,\n aliases: [\"outline\"],\n description: \"Insert a table of contents\",\n shouldBeHidden: (editor) => editor.isActive(\"columns\"),\n action: (editor) => {\n editor.chain().focus().insertTableOfContents().run();\n },\n },\n ],\n },\n {\n name: \"embed\",\n title: \"Embed\",\n commands: [\n {\n name: \"iframe\",\n label: \"IFrame\",\n icon: Link,\n aliases: [\"iframe\"],\n description: \"Insert a iframe\",\n shouldBeHidden: (editor) => editor.isActive(\"iframe\"),\n action: (editor) => {\n editor\n .chain()\n .focus()\n .setHtml(\"<div>Embed your content here</div>\")\n .run();\n },\n },\n {\n name: \"twitter\",\n label: \"Twitter Embed\",\n icon: Twitter,\n aliases: [\"x\", \"twitter\"],\n description: \"Insert a Twitter embed\",\n shouldBeHidden: (editor) => editor.isActive(\"twitter\"),\n action: (editor) => {\n editor.chain().focus().insertTwitter().run();\n },\n },\n // {\n // name: 'facebook',\n // label: 'Facebook Embed',\n // icon: Facebook,\n // aliases: ['meta', 'facebook'],\n // description: 'Insert a Facebook embed',\n // shouldBeHidden: (editor) => editor.isActive('facebook'),\n // action: (editor) => {\n // editor.chain().focus().insertFacebook().run()\n // },\n // },\n {\n name: \"instagram\",\n label: \"Instagram Embed\",\n icon: Instagram,\n aliases: [\"instagram\"],\n description: \"Insert a Instagram embed\",\n shouldBeHidden: (editor) => editor.isActive(\"instagram\"),\n action: (editor) => {\n editor.chain().focus().insertInstagram().run();\n },\n },\n {\n name: \"youtube\",\n label: \"Youtube Embed\",\n icon: Youtube,\n aliases: [\"youtube\"],\n description: \"Insert a Youtube embed\",\n shouldBeHidden: (editor) => editor.isActive(\"youtube\"),\n action: (editor) => {\n editor.chain().focus().insertYoutube().run();\n },\n },\n {\n name: \"insideLinks\",\n label: \"TRT Links\",\n icon: Youtube,\n aliases: [\"insideLinks\"],\n description:\n \"Link internal content such as articles, videos, shows etc.\",\n shouldBeHidden: (editor) => editor.isActive(\"insideLinks\"),\n action: (editor) => {\n editor.chain().focus().insertInsideLinks({}).run();\n },\n },\n // {\n // name: 'linkedin',\n // label: 'Linkedin Embed',\n // icon: Linkedin,\n // aliases: ['linkedin'],\n // description: 'Insert a Linkedin embed',\n // shouldBeHidden: (editor) => editor.isActive('linkedin'),\n // action: (editor) => {\n\n // editor.chain().focus().insertLinkedin().run()\n // },\n // },\n\n // {\n // name: 'tiktok',\n // label: 'Tiktok Embed',\n // icon: Music,\n // aliases: ['tiktok'],\n // description: 'Insert a Tiktok embed',\n // shouldBeHidden: (editor) => editor.isActive('tiktok'),\n // action: (editor) => {\n // editor.chain().focus().insertTiktok().run()\n // },\n // },\n ],\n },\n];\n\nexport default GROUPS;\n"],"names":["Book","Columns2","Heading1","Heading2","Heading3","Image","Instagram","Link","List","ListOrdered","Minus","Quote","SquareCode","Table","Twitter","Youtube","GROUPS","name","title","commands","label","icon","description","aliases","action","editor","chain","focus","setHeading","level","run","toggleBulletList","toggleOrderedList","setBlockquote","shouldBeHidden","isActive","setCodeBlock","insertTable","rows","cols","withHeaderRow","setImageUpload","setColumns","state","selection","head","setHorizontalRule","insertTableOfContents","setHtml","insertTwitter","insertInstagram","insertYoutube","insertInsideLinks"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/AICommand/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/AICommand/index.ts"],"sourcesContent":["export * from \"./AICommand.js\";\n"],"names":[],"mappings":"AAAA,cAAc,iBAAiB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Editor } from "@tiptap/core";
|
|
2
|
+
import { LucideIcon } from "lucide-react";
|
|
3
|
+
export interface Group {
|
|
4
|
+
name: string;
|
|
5
|
+
title: string;
|
|
6
|
+
commands: Command[];
|
|
7
|
+
}
|
|
8
|
+
export interface Command {
|
|
9
|
+
name: string;
|
|
10
|
+
label: string;
|
|
11
|
+
description: string;
|
|
12
|
+
aliases?: string[];
|
|
13
|
+
icon: LucideIcon;
|
|
14
|
+
action: (editor: Editor) => void;
|
|
15
|
+
shouldBeHidden?: (editor: Editor) => boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface AIMenuListProps {
|
|
18
|
+
editor: Editor;
|
|
19
|
+
items: Group[];
|
|
20
|
+
command: (command: Command) => void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/AICommand/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/AICommand/types.ts"],"sourcesContent":["import { Editor } from \"@tiptap/core\";\nimport { LucideIcon } from \"lucide-react\";\n\nexport interface Group {\n name: string;\n title: string;\n commands: Command[];\n}\n\nexport interface Command {\n name: string;\n label: string;\n description: string;\n aliases?: string[];\n icon: LucideIcon;\n action: (editor: Editor) => void;\n shouldBeHidden?: (editor: Editor) => boolean;\n}\n\nexport interface AIMenuListProps {\n editor: Editor;\n items: Group[];\n command: (command: Command) => void;\n}\n"],"names":[],"mappings":"AAmBA,WAIC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/BlockquoteFigure.ts"],"sourcesContent":["import { mergeAttributes } from \"@tiptap/core\";\nimport { Figure } from \"../Figure/Figure.js\";\nimport { Quote } from \"./Quote/Quote.js\";\nimport { QuoteCaption } from \"./QuoteCaption/QuoteCaption.js\";\n\ndeclare module \"@tiptap/core\" {\n // eslint-disable-next-line no-unused-vars\n interface Commands<ReturnType> {\n blockquoteFigure: {\n setBlockquote: () => ReturnType;\n };\n }\n}\n\nexport const BlockquoteFigure = Figure.extend({\n name: \"blockquoteFigure\",\n\n group: \"block\",\n\n content: \"quote quoteCaption\",\n\n isolating: true,\n\n addExtensions() {\n return [Quote, QuoteCaption];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n \"figure\",\n mergeAttributes(HTMLAttributes, { \"data-type\": this.name }),\n [\"div\", {}, 0],\n ];\n },\n\n addKeyboardShortcuts() {\n return {\n Enter: () => false,\n };\n },\n\n addAttributes() {\n return {\n ...this.parent?.(),\n };\n },\n\n addCommands() {\n return {\n setBlockquote:\n () =>\n ({ state, chain }) => {\n const position = state.selection.$from.start();\n const selectionContent = state.selection.content();\n\n return chain()\n .focus()\n .insertContent({\n type: this.name,\n content: [\n {\n type: \"quote\",\n content: selectionContent.content.toJSON() || [\n {\n type: \"paragraph\",\n attrs: {\n textAlign: \"left\",\n },\n },\n ],\n },\n {\n type: \"quoteCaption\",\n },\n ],\n })\n .focus(position + 1)\n .run();\n },\n };\n },\n});\n\nexport default BlockquoteFigure;\n"],"names":["mergeAttributes","Figure","Quote","QuoteCaption","BlockquoteFigure","extend","name","group","content","isolating","addExtensions","renderHTML","HTMLAttributes","addKeyboardShortcuts","Enter","addAttributes","parent","addCommands","setBlockquote","state","chain","position","selection","$from","start","selectionContent","focus","insertContent","type","toJSON","attrs","textAlign","run"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/BlockquoteFigure.ts"],"sourcesContent":["import { mergeAttributes } from \"@tiptap/core\";\nimport { Figure } from \"../Figure/Figure.js\";\nimport { Quote } from \"./Quote/Quote.js\";\nimport { QuoteCaption } from \"./QuoteCaption/QuoteCaption.js\";\n\ndeclare module \"@tiptap/core\" {\n // eslint-disable-next-line no-unused-vars\n interface Commands<ReturnType> {\n blockquoteFigure: {\n setBlockquote: () => ReturnType;\n };\n }\n}\n\nexport const BlockquoteFigure = Figure.extend({\n name: \"blockquoteFigure\",\n\n group: \"block\",\n\n content: \"quote quoteCaption\",\n\n isolating: true,\n\n addExtensions() {\n return [Quote, QuoteCaption];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n \"figure\",\n mergeAttributes(HTMLAttributes, { \"data-type\": this.name }),\n [\"div\", {}, 0],\n ];\n },\n\n addKeyboardShortcuts() {\n return {\n Enter: () => false,\n };\n },\n\n addAttributes() {\n return {\n ...this.parent?.(),\n };\n },\n\n addCommands() {\n return {\n setBlockquote:\n () =>\n ({ state, chain }) => {\n const position = state.selection.$from.start();\n const selectionContent = state.selection.content();\n\n return chain()\n .focus()\n .insertContent({\n type: this.name,\n content: [\n {\n type: \"quote\",\n content: selectionContent.content.toJSON() || [\n {\n type: \"paragraph\",\n attrs: {\n textAlign: \"left\",\n },\n },\n ],\n },\n {\n type: \"quoteCaption\",\n },\n ],\n })\n .focus(position + 1)\n .run();\n },\n };\n },\n});\n\nexport default BlockquoteFigure;\n"],"names":["mergeAttributes","Figure","Quote","QuoteCaption","BlockquoteFigure","extend","name","group","content","isolating","addExtensions","renderHTML","HTMLAttributes","addKeyboardShortcuts","Enter","addAttributes","parent","addCommands","setBlockquote","state","chain","position","selection","$from","start","selectionContent","focus","insertContent","type","toJSON","attrs","textAlign","run"],"mappings":"AAAA,SAASA,eAAe,QAAQ,eAAe;AAC/C,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,KAAK,QAAQ,mBAAmB;AACzC,SAASC,YAAY,QAAQ,iCAAiC;AAW9D,OAAO,MAAMC,mBAAmBH,OAAOI,MAAM,CAAC;IAC5CC,MAAM;IAENC,OAAO;IAEPC,SAAS;IAETC,WAAW;IAEXC;QACE,OAAO;YAACR;YAAOC;SAAa;IAC9B;IAEAQ,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACAZ,gBAAgBY,gBAAgB;gBAAE,aAAa,IAAI,CAACN,IAAI;YAAC;YACzD;gBAAC;gBAAO,CAAC;gBAAG;aAAE;SACf;IACH;IAEAO;QACE,OAAO;YACLC,OAAO,IAAM;QACf;IACF;IAEAC;QACE,OAAO;YACL,GAAG,IAAI,CAACC,MAAM,IAAI;QACpB;IACF;IAEAC;QACE,OAAO;YACLC,eACE,IACA,CAAC,EAAEC,KAAK,EAAEC,KAAK,EAAE;oBACf,MAAMC,WAAWF,MAAMG,SAAS,CAACC,KAAK,CAACC,KAAK;oBAC5C,MAAMC,mBAAmBN,MAAMG,SAAS,CAACd,OAAO;oBAEhD,OAAOY,QACJM,KAAK,GACLC,aAAa,CAAC;wBACbC,MAAM,IAAI,CAACtB,IAAI;wBACfE,SAAS;4BACP;gCACEoB,MAAM;gCACNpB,SAASiB,iBAAiBjB,OAAO,CAACqB,MAAM,MAAM;oCAC5C;wCACED,MAAM;wCACNE,OAAO;4CACLC,WAAW;wCACb;oCACF;iCACD;4BACH;4BACA;gCACEH,MAAM;4BACR;yBACD;oBACH,GACCF,KAAK,CAACL,WAAW,GACjBW,GAAG;gBACR;QACJ;IACF;AACF,GAAG;AAEH,eAAe5B,iBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/Design.tsx"],"sourcesContent":["import React from 'react'\n\nconst Design = () => {\n return (\n <blockquote className=\"p-4 my-4 border-s-4 border-gray-300 bg-gray-50 w-full\">\n <p className=\"text-xl italic font-medium leading-relaxed text-gray-900 w-full\">\n \"Flowbite is just awesome. It contains tons of predesigned components and pages starting\n from login screen to complex dashboard. Perfect choice for your next SaaS application.\"\n </p>\n </blockquote>\n )\n}\n\nexport default Design\n"],"names":["React","Design","blockquote","className","p"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/Design.tsx"],"sourcesContent":["import React from 'react'\n\nconst Design = () => {\n return (\n <blockquote className=\"p-4 my-4 border-s-4 border-gray-300 bg-gray-50 w-full\">\n <p className=\"text-xl italic font-medium leading-relaxed text-gray-900 w-full\">\n \"Flowbite is just awesome. It contains tons of predesigned components and pages starting\n from login screen to complex dashboard. Perfect choice for your next SaaS application.\"\n </p>\n </blockquote>\n )\n}\n\nexport default Design\n"],"names":["React","Design","blockquote","className","p"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAEzB,MAAMC,SAAS;IACb,qBACE,KAACC;QAAWC,WAAU;kBACpB,cAAA,KAACC;YAAED,WAAU;sBAAkE;;;AAMrF;AAEA,eAAeF,OAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/Quote.ts"],"sourcesContent":["import { Node } from '@tiptap/core'\n\nexport const Quote = Node.create({\n name: 'quote',\n\n content: 'paragraph+',\n\n defining: true,\n\n marks: '',\n\n parseHTML() {\n return [\n {\n tag: 'blockquote',\n },\n ]\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['blockquote', HTMLAttributes, 0]\n },\n\n addKeyboardShortcuts() {\n return {\n Backspace: () => false,\n }\n },\n})\n\nexport default Quote\n"],"names":["Node","Quote","create","name","content","defining","marks","parseHTML","tag","renderHTML","HTMLAttributes","addKeyboardShortcuts","Backspace"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/Quote.ts"],"sourcesContent":["import { Node } from '@tiptap/core'\n\nexport const Quote = Node.create({\n name: 'quote',\n\n content: 'paragraph+',\n\n defining: true,\n\n marks: '',\n\n parseHTML() {\n return [\n {\n tag: 'blockquote',\n },\n ]\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['blockquote', HTMLAttributes, 0]\n },\n\n addKeyboardShortcuts() {\n return {\n Backspace: () => false,\n }\n },\n})\n\nexport default Quote\n"],"names":["Node","Quote","create","name","content","defining","marks","parseHTML","tag","renderHTML","HTMLAttributes","addKeyboardShortcuts","Backspace"],"mappings":"AAAA,SAASA,IAAI,QAAQ,eAAc;AAEnC,OAAO,MAAMC,QAAQD,KAAKE,MAAM,CAAC;IAC/BC,MAAM;IAENC,SAAS;IAETC,UAAU;IAEVC,OAAO;IAEPC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IAEAC,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YAAC;YAAcA;YAAgB;SAAE;IAC1C;IAEAC;QACE,OAAO;YACLC,WAAW,IAAM;QACnB;IACF;AACF,GAAE;AAEF,eAAeX,MAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/index.ts"],"sourcesContent":["export * from \"./Quote.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/index.ts"],"sourcesContent":["export * from \"./Quote.js\";\n"],"names":[],"mappings":"AAAA,cAAc,aAAa"}
|
package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/QuoteCaption.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/QuoteCaption.ts"],"sourcesContent":["import { Node } from '@tiptap/core'\n\nexport const QuoteCaption = Node.create({\n name: 'quoteCaption',\n\n group: 'block',\n\n content: 'text*',\n\n defining: true,\n\n isolating: true,\n\n parseHTML() {\n return [\n {\n tag: 'figcaption',\n },\n ]\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['figcaption', HTMLAttributes, 0]\n },\n\n addKeyboardShortcuts() {\n return {\n // On Enter at the end of line, create new paragraph and focus\n Enter: ({ editor }) => {\n const {\n state: {\n selection: { $from, empty },\n },\n } = editor\n\n if (!empty || $from.parent.type !== this.type) {\n return false\n }\n\n const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2\n\n if (!isAtEnd) {\n return false\n }\n\n const pos = editor.state.selection.$from.end()\n\n return editor.chain().focus(pos).insertContentAt(pos, { type: 'paragraph' }).run()\n },\n }\n },\n})\n\nexport default QuoteCaption\n"],"names":["Node","QuoteCaption","create","name","group","content","defining","isolating","parseHTML","tag","renderHTML","HTMLAttributes","addKeyboardShortcuts","Enter","editor","state","selection","$from","empty","parent","type","isAtEnd","parentOffset","nodeSize","pos","end","chain","focus","insertContentAt","run"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/QuoteCaption.ts"],"sourcesContent":["import { Node } from '@tiptap/core'\n\nexport const QuoteCaption = Node.create({\n name: 'quoteCaption',\n\n group: 'block',\n\n content: 'text*',\n\n defining: true,\n\n isolating: true,\n\n parseHTML() {\n return [\n {\n tag: 'figcaption',\n },\n ]\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['figcaption', HTMLAttributes, 0]\n },\n\n addKeyboardShortcuts() {\n return {\n // On Enter at the end of line, create new paragraph and focus\n Enter: ({ editor }) => {\n const {\n state: {\n selection: { $from, empty },\n },\n } = editor\n\n if (!empty || $from.parent.type !== this.type) {\n return false\n }\n\n const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2\n\n if (!isAtEnd) {\n return false\n }\n\n const pos = editor.state.selection.$from.end()\n\n return editor.chain().focus(pos).insertContentAt(pos, { type: 'paragraph' }).run()\n },\n }\n },\n})\n\nexport default QuoteCaption\n"],"names":["Node","QuoteCaption","create","name","group","content","defining","isolating","parseHTML","tag","renderHTML","HTMLAttributes","addKeyboardShortcuts","Enter","editor","state","selection","$from","empty","parent","type","isAtEnd","parentOffset","nodeSize","pos","end","chain","focus","insertContentAt","run"],"mappings":"AAAA,SAASA,IAAI,QAAQ,eAAc;AAEnC,OAAO,MAAMC,eAAeD,KAAKE,MAAM,CAAC;IACtCC,MAAM;IAENC,OAAO;IAEPC,SAAS;IAETC,UAAU;IAEVC,WAAW;IAEXC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IAEAC,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YAAC;YAAcA;YAAgB;SAAE;IAC1C;IAEAC;QACE,OAAO;YACL,8DAA8D;YAC9DC,OAAO,CAAC,EAAEC,MAAM,EAAE;gBAChB,MAAM,EACJC,OAAO,EACLC,WAAW,EAAEC,KAAK,EAAEC,KAAK,EAAE,EAC5B,EACF,GAAGJ;gBAEJ,IAAI,CAACI,SAASD,MAAME,MAAM,CAACC,IAAI,KAAK,IAAI,CAACA,IAAI,EAAE;oBAC7C,OAAO;gBACT;gBAEA,MAAMC,UAAUJ,MAAMK,YAAY,KAAKL,MAAME,MAAM,CAACI,QAAQ,GAAG;gBAE/D,IAAI,CAACF,SAAS;oBACZ,OAAO;gBACT;gBAEA,MAAMG,MAAMV,OAAOC,KAAK,CAACC,SAAS,CAACC,KAAK,CAACQ,GAAG;gBAE5C,OAAOX,OAAOY,KAAK,GAAGC,KAAK,CAACH,KAAKI,eAAe,CAACJ,KAAK;oBAAEJ,MAAM;gBAAY,GAAGS,GAAG;YAClF;QACF;IACF;AACF,GAAE;AAEF,eAAe5B,aAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/index.ts"],"sourcesContent":["export * from \"./QuoteCaption.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/index.ts"],"sourcesContent":["export * from \"./QuoteCaption.js\";\n"],"names":[],"mappings":"AAAA,cAAc,oBAAoB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/index.ts"],"sourcesContent":["export * from \"./BlockquoteFigure.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/index.ts"],"sourcesContent":["export * from \"./BlockquoteFigure.js\";\n"],"names":[],"mappings":"AAAA,cAAc,wBAAwB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Document/Document.ts"],"sourcesContent":["import { Document as TiptapDocument } from '@tiptap/extension-document'\n\nexport const Document = TiptapDocument.extend({\n content: '(block|columns)+',\n})\n\nexport default Document\n"],"names":["Document","TiptapDocument","extend","content"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Document/Document.ts"],"sourcesContent":["import { Document as TiptapDocument } from '@tiptap/extension-document'\n\nexport const Document = TiptapDocument.extend({\n content: '(block|columns)+',\n})\n\nexport default Document\n"],"names":["Document","TiptapDocument","extend","content"],"mappings":"AAAA,SAASA,YAAYC,cAAc,QAAQ,6BAA4B;AAEvE,OAAO,MAAMD,WAAWC,eAAeC,MAAM,CAAC;IAC5CC,SAAS;AACX,GAAE;AAEF,eAAeH,SAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Document/index.ts"],"sourcesContent":["export * from \"./Document.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Document/index.ts"],"sourcesContent":["export * from \"./Document.js\";\n"],"names":[],"mappings":"AAAA,cAAc,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Figcaption/Figcaption.ts"],"sourcesContent":["import { mergeAttributes, Node } from \"@tiptap/core\";\n\nimport { Image } from \"../Image/Image.js\";\n\nexport const Figcaption = Node.create({\n name: \"figcaption\",\n\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n\n content: \"inline*\",\n\n selectable: false,\n\n draggable: false,\n\n marks: \"link\",\n\n parseHTML() {\n return [\n {\n tag: \"figcaption\",\n },\n ];\n },\n\n addKeyboardShortcuts() {\n return {\n // On Enter at the end of line, create new paragraph and focus\n Enter: ({ editor }) => {\n const {\n state: {\n selection: { $from, empty },\n },\n } = editor;\n\n if (!empty || $from.parent.type !== this.type) {\n return false;\n }\n\n const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;\n\n if (!isAtEnd) {\n return false;\n }\n\n const pos = editor.state.selection.$from.end();\n\n return editor\n .chain()\n .focus(pos)\n .insertContentAt(pos, { type: \"paragraph\" })\n .run();\n },\n\n // On Backspace at the beginning of line,\n // dont delete content of image before\n Backspace: ({ editor }) => {\n const {\n state: {\n selection: { $from, empty },\n },\n } = editor;\n\n if (!empty || $from.parent.type !== this.type) {\n return false;\n }\n\n const isAtStart = $from.parentOffset === 0;\n\n if (!isAtStart) {\n return false;\n }\n\n // if the node before is of type image, don't do anything\n const nodeBefore = editor.state.doc.nodeAt($from.pos - 2);\n if (nodeBefore?.type.name === Image.name) {\n return true;\n }\n\n return false;\n },\n };\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\"figcaption\", mergeAttributes(HTMLAttributes), 0];\n },\n});\n\nexport default Figcaption;\n"],"names":["mergeAttributes","Node","Image","Figcaption","create","name","addOptions","HTMLAttributes","content","selectable","draggable","marks","parseHTML","tag","addKeyboardShortcuts","Enter","editor","state","selection","$from","empty","parent","type","isAtEnd","parentOffset","nodeSize","pos","end","chain","focus","insertContentAt","run","Backspace","isAtStart","nodeBefore","doc","nodeAt","renderHTML"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Figcaption/Figcaption.ts"],"sourcesContent":["import { mergeAttributes, Node } from \"@tiptap/core\";\n\nimport { Image } from \"../Image/Image.js\";\n\nexport const Figcaption = Node.create({\n name: \"figcaption\",\n\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n\n content: \"inline*\",\n\n selectable: false,\n\n draggable: false,\n\n marks: \"link\",\n\n parseHTML() {\n return [\n {\n tag: \"figcaption\",\n },\n ];\n },\n\n addKeyboardShortcuts() {\n return {\n // On Enter at the end of line, create new paragraph and focus\n Enter: ({ editor }) => {\n const {\n state: {\n selection: { $from, empty },\n },\n } = editor;\n\n if (!empty || $from.parent.type !== this.type) {\n return false;\n }\n\n const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;\n\n if (!isAtEnd) {\n return false;\n }\n\n const pos = editor.state.selection.$from.end();\n\n return editor\n .chain()\n .focus(pos)\n .insertContentAt(pos, { type: \"paragraph\" })\n .run();\n },\n\n // On Backspace at the beginning of line,\n // dont delete content of image before\n Backspace: ({ editor }) => {\n const {\n state: {\n selection: { $from, empty },\n },\n } = editor;\n\n if (!empty || $from.parent.type !== this.type) {\n return false;\n }\n\n const isAtStart = $from.parentOffset === 0;\n\n if (!isAtStart) {\n return false;\n }\n\n // if the node before is of type image, don't do anything\n const nodeBefore = editor.state.doc.nodeAt($from.pos - 2);\n if (nodeBefore?.type.name === Image.name) {\n return true;\n }\n\n return false;\n },\n };\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\"figcaption\", mergeAttributes(HTMLAttributes), 0];\n },\n});\n\nexport default Figcaption;\n"],"names":["mergeAttributes","Node","Image","Figcaption","create","name","addOptions","HTMLAttributes","content","selectable","draggable","marks","parseHTML","tag","addKeyboardShortcuts","Enter","editor","state","selection","$from","empty","parent","type","isAtEnd","parentOffset","nodeSize","pos","end","chain","focus","insertContentAt","run","Backspace","isAtStart","nodeBefore","doc","nodeAt","renderHTML"],"mappings":"AAAA,SAASA,eAAe,EAAEC,IAAI,QAAQ,eAAe;AAErD,SAASC,KAAK,QAAQ,oBAAoB;AAE1C,OAAO,MAAMC,aAAaF,KAAKG,MAAM,CAAC;IACpCC,MAAM;IAENC;QACE,OAAO;YACLC,gBAAgB,CAAC;QACnB;IACF;IAEAC,SAAS;IAETC,YAAY;IAEZC,WAAW;IAEXC,OAAO;IAEPC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IAEAC;QACE,OAAO;YACL,8DAA8D;YAC9DC,OAAO,CAAC,EAAEC,MAAM,EAAE;gBAChB,MAAM,EACJC,OAAO,EACLC,WAAW,EAAEC,KAAK,EAAEC,KAAK,EAAE,EAC5B,EACF,GAAGJ;gBAEJ,IAAI,CAACI,SAASD,MAAME,MAAM,CAACC,IAAI,KAAK,IAAI,CAACA,IAAI,EAAE;oBAC7C,OAAO;gBACT;gBAEA,MAAMC,UAAUJ,MAAMK,YAAY,KAAKL,MAAME,MAAM,CAACI,QAAQ,GAAG;gBAE/D,IAAI,CAACF,SAAS;oBACZ,OAAO;gBACT;gBAEA,MAAMG,MAAMV,OAAOC,KAAK,CAACC,SAAS,CAACC,KAAK,CAACQ,GAAG;gBAE5C,OAAOX,OACJY,KAAK,GACLC,KAAK,CAACH,KACNI,eAAe,CAACJ,KAAK;oBAAEJ,MAAM;gBAAY,GACzCS,GAAG;YACR;YAEA,yCAAyC;YACzC,sCAAsC;YACtCC,WAAW,CAAC,EAAEhB,MAAM,EAAE;gBACpB,MAAM,EACJC,OAAO,EACLC,WAAW,EAAEC,KAAK,EAAEC,KAAK,EAAE,EAC5B,EACF,GAAGJ;gBAEJ,IAAI,CAACI,SAASD,MAAME,MAAM,CAACC,IAAI,KAAK,IAAI,CAACA,IAAI,EAAE;oBAC7C,OAAO;gBACT;gBAEA,MAAMW,YAAYd,MAAMK,YAAY,KAAK;gBAEzC,IAAI,CAACS,WAAW;oBACd,OAAO;gBACT;gBAEA,yDAAyD;gBACzD,MAAMC,aAAalB,OAAOC,KAAK,CAACkB,GAAG,CAACC,MAAM,CAACjB,MAAMO,GAAG,GAAG;gBACvD,IAAIQ,YAAYZ,KAAKjB,SAASH,MAAMG,IAAI,EAAE;oBACxC,OAAO;gBACT;gBAEA,OAAO;YACT;QACF;IACF;IAEAgC,YAAW,EAAE9B,cAAc,EAAE;QAC3B,OAAO;YAAC;YAAcP,gBAAgBO;YAAiB;SAAE;IAC3D;AACF,GAAG;AAEH,eAAeJ,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Figcaption/index.ts"],"sourcesContent":["export * from \"./Figcaption.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Figcaption/index.ts"],"sourcesContent":["export * from \"./Figcaption.js\";\n"],"names":[],"mappings":"AAAA,cAAc,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Figure/Figure.ts"],"sourcesContent":["import { mergeAttributes, Node } from '@tiptap/core'\nimport { Plugin } from '@tiptap/pm/state'\n\nexport const Figure = Node.create({\n name: 'figure',\n\n addOptions() {\n return {\n HTMLAttributes: {},\n }\n },\n\n group: 'block',\n\n content: 'block figcaption',\n\n draggable: true,\n\n defining: true,\n\n selectable: true,\n\n parseHTML() {\n return [\n {\n tag: `figure[data-type=\"${this.name}\"]`,\n },\n ]\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['figure', mergeAttributes(HTMLAttributes, { 'data-type': this.name }), 0]\n },\n\n addProseMirrorPlugins() {\n return [\n new Plugin({\n props: {\n handleDOMEvents: {\n // Prevent dragging child nodes from figure\n dragstart: (view, event) => {\n if (!event.target) {\n return false\n }\n\n const pos = view.posAtDOM(event.target as HTMLElement, 0)\n const $pos = view.state.doc.resolve(pos)\n\n if ($pos.parent.type.name === this.type.name) {\n event.preventDefault()\n }\n\n return false\n },\n },\n },\n }),\n ]\n },\n})\n\nexport default Figure\n"],"names":["mergeAttributes","Node","Plugin","Figure","create","name","addOptions","HTMLAttributes","group","content","draggable","defining","selectable","parseHTML","tag","renderHTML","addProseMirrorPlugins","props","handleDOMEvents","dragstart","view","event","target","pos","posAtDOM","$pos","state","doc","resolve","parent","type","preventDefault"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Figure/Figure.ts"],"sourcesContent":["import { mergeAttributes, Node } from '@tiptap/core'\nimport { Plugin } from '@tiptap/pm/state'\n\nexport const Figure = Node.create({\n name: 'figure',\n\n addOptions() {\n return {\n HTMLAttributes: {},\n }\n },\n\n group: 'block',\n\n content: 'block figcaption',\n\n draggable: true,\n\n defining: true,\n\n selectable: true,\n\n parseHTML() {\n return [\n {\n tag: `figure[data-type=\"${this.name}\"]`,\n },\n ]\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['figure', mergeAttributes(HTMLAttributes, { 'data-type': this.name }), 0]\n },\n\n addProseMirrorPlugins() {\n return [\n new Plugin({\n props: {\n handleDOMEvents: {\n // Prevent dragging child nodes from figure\n dragstart: (view, event) => {\n if (!event.target) {\n return false\n }\n\n const pos = view.posAtDOM(event.target as HTMLElement, 0)\n const $pos = view.state.doc.resolve(pos)\n\n if ($pos.parent.type.name === this.type.name) {\n event.preventDefault()\n }\n\n return false\n },\n },\n },\n }),\n ]\n },\n})\n\nexport default Figure\n"],"names":["mergeAttributes","Node","Plugin","Figure","create","name","addOptions","HTMLAttributes","group","content","draggable","defining","selectable","parseHTML","tag","renderHTML","addProseMirrorPlugins","props","handleDOMEvents","dragstart","view","event","target","pos","posAtDOM","$pos","state","doc","resolve","parent","type","preventDefault"],"mappings":"AAAA,SAASA,eAAe,EAAEC,IAAI,QAAQ,eAAc;AACpD,SAASC,MAAM,QAAQ,mBAAkB;AAEzC,OAAO,MAAMC,SAASF,KAAKG,MAAM,CAAC;IAChCC,MAAM;IAENC;QACE,OAAO;YACLC,gBAAgB,CAAC;QACnB;IACF;IAEAC,OAAO;IAEPC,SAAS;IAETC,WAAW;IAEXC,UAAU;IAEVC,YAAY;IAEZC;QACE,OAAO;YACL;gBACEC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAACT,IAAI,CAAC,EAAE,CAAC;YACzC;SACD;IACH;IAEAU,YAAW,EAAER,cAAc,EAAE;QAC3B,OAAO;YAAC;YAAUP,gBAAgBO,gBAAgB;gBAAE,aAAa,IAAI,CAACF,IAAI;YAAC;YAAI;SAAE;IACnF;IAEAW;QACE,OAAO;YACL,IAAId,OAAO;gBACTe,OAAO;oBACLC,iBAAiB;wBACf,2CAA2C;wBAC3CC,WAAW,CAACC,MAAMC;4BAChB,IAAI,CAACA,MAAMC,MAAM,EAAE;gCACjB,OAAO;4BACT;4BAEA,MAAMC,MAAMH,KAAKI,QAAQ,CAACH,MAAMC,MAAM,EAAiB;4BACvD,MAAMG,OAAOL,KAAKM,KAAK,CAACC,GAAG,CAACC,OAAO,CAACL;4BAEpC,IAAIE,KAAKI,MAAM,CAACC,IAAI,CAACzB,IAAI,KAAK,IAAI,CAACyB,IAAI,CAACzB,IAAI,EAAE;gCAC5CgB,MAAMU,cAAc;4BACtB;4BAEA,OAAO;wBACT;oBACF;gBACF;YACF;SACD;IACH;AACF,GAAE;AAEF,eAAe5B,OAAM"}
|