payload-richtext-tiptap 0.0.7 → 0.0.9
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/dist/src/fields/TiptapEditor/Components.js.map +1 -0
- package/dist/src/fields/TiptapEditor/context/EditorContext.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/BlockquoteFigure.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Design.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/Quote.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/QuoteCaption.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Document/Document.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Document/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Figcaption/Figcaption.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Figcaption/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Figure/Figure.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Figure/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/FontSize/FontSize.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/FontSize/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Heading/Heading.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Heading/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/HorizontalRule/HorizontalRule.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/HorizontalRule/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Iframe/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Iframe/menus/IframeMenu.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Iframe/menus/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Image/Image.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Image/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockMenu.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockWidth.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/ImageUpload.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUploader.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/hooks.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLink.client.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/insideLinks.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/menus/InsideLinksMenu.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/menus/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Link/Link.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Link/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/Column.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/Columns.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/menus/ColumnsMenu.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/menus/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Paragraph/Paragraph.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Paragraph/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Selection/Selection.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Selection/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/CommandButton.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/MenuList.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/SlashCommand.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/types.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/FacebookEmbed.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/InstagramEmbed.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/instagram.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/LinkedinEmbed.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/linkedin.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/TiktokEmbed.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/tiktok.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/TwitterEmbed.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/twitter.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/YoutubeEmbed.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/youtube.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/SocialMediaMenu.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/constants.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Table/Cell.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Table/Header.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Table/Row.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Table/Table.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Table/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableColumn/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableColumn/utils.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableRow/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableRow/utils.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Table/utils.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/TableOfContentsNode.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/TrailingNode/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/TrailingNode/trailing-node.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/extension-kit.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/BlockEditor/components/EditorHeader.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/BlockEditor/components/EditorInfo.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/BlockEditor/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/BlockEditor/types.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/Sidebar/Sidebar.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/Sidebar/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/TableOfContents/TableOfContents.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/TableOfContents/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/ContentItemMenu.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/hooks/useContentItemActions.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/hooks/useData.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/LinkMenu/LinkMenu.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/LinkMenu/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ContentTypePicker.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/EditIframeLinkPopover.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/EditLinkPopover.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/FontFamilyPicker.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/FontSizePicker.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/SocialMediaPopover.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-completion-command.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-selector-commands.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuCommands.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuContentTypes.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuStates.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/types.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/ColorButton.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/Colorpicker.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/InsideLinksEditorPanel/InsideLinksEditorPanel.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/InsideLinksEditorPanel/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/LinkEditorPanel/LinkEditorPanel.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/LinkEditorPanel/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/LinkPreviewPanel/LinkPreviewPanel.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/LinkPreviewPanel/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Button/Button.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Button/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Dropdown/Dropdown.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Dropdown/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Icon.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Loader/Loader.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Loader/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Loader/types.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Panel/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/PopoverMenu.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Spinner/Spinner.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Spinner/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Surface.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Textarea/Textarea.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Textarea/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Toggle/Toggle.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Toggle/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Toolbar.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Tooltip/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/Tooltip/types.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/crazy-spinner.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/ui/scroll-area.js.map +1 -0
- package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.js.map +1 -0
- package/dist/src/fields/TiptapEditor/hooks/useSidebar.js.map +1 -0
- package/dist/src/fields/TiptapEditor/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/lib/api.js.map +1 -0
- package/dist/src/fields/TiptapEditor/lib/constants.js.map +1 -0
- package/dist/src/fields/TiptapEditor/lib/data/initialContent.js.map +1 -0
- package/dist/src/fields/TiptapEditor/lib/utils/cssVar.js.map +1 -0
- package/dist/src/fields/TiptapEditor/lib/utils/deepMerge.js.map +1 -0
- package/dist/src/fields/TiptapEditor/lib/utils/getRenderContainer.js.map +1 -0
- package/dist/src/fields/TiptapEditor/lib/utils/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/lib/utils/isCustomNodeSelected.js.map +1 -0
- package/dist/src/fields/TiptapEditor/lib/utils/isRtl.js.map +1 -0
- package/dist/src/fields/TiptapEditor/lib/utils/isTextSelected.js.map +1 -0
- package/dist/src/fields/TiptapEditor/lib/utils/partialRequired.js.map +1 -0
- package/dist/src/index.js.map +1 -0
- package/package.json +7 -7
- package/dist/fields/TiptapEditor/Components.js.map +0 -1
- package/dist/fields/TiptapEditor/context/EditorContext.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/BlockquoteFigure/BlockquoteFigure.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/BlockquoteFigure/Design.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/Quote.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/QuoteCaption.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/BlockquoteFigure/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Document/Document.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Document/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Figcaption/Figcaption.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Figcaption/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Figure/Figure.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Figure/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/FontSize/FontSize.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/FontSize/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Heading/Heading.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Heading/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/HorizontalRule/HorizontalRule.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/HorizontalRule/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Iframe/iframe.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Iframe/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Iframe/menus/IframeMenu.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Iframe/menus/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Image/Image.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Image/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockMenu.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockWidth.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/ImageBlock/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/ImageUpload/ImageUpload.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/ImageUpload/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/ImageUpload/view/ImageUploader.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/ImageUpload/view/hooks.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/ImageUpload/view/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/InsideLinks/InsideLink.client.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/InsideLinks/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/InsideLinks/insideLinks.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/InsideLinks/menus/InsideLinksMenu.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/InsideLinks/menus/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Link/Link.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Link/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/MultiColumn/Column.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/MultiColumn/Columns.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/MultiColumn/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/MultiColumn/menus/ColumnsMenu.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/MultiColumn/menus/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Paragraph/Paragraph.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Paragraph/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Selection/Selection.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Selection/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SlashCommand/CommandButton.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SlashCommand/MenuList.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SlashCommand/SlashCommand.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SlashCommand/groups.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SlashCommand/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SlashCommand/types.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Facebook/FacebookEmbed.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Facebook/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Instagram/InstagramEmbed.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Instagram/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Instagram/instagram.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Linkedin/LinkedinEmbed.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Linkedin/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Linkedin/linkedin.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Tiktok/TiktokEmbed.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Tiktok/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Tiktok/tiktok.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Twitter/TwitterEmbed.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Twitter/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Twitter/twitter.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Youtube/YoutubeEmbed.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Youtube/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/Youtube/youtube.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/menus/SocialMediaMenu.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/menus/constants.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/SocialMedia/menus/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Table/Cell.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Table/Header.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Table/Row.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Table/Table.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Table/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Table/menus/TableColumn/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Table/menus/TableColumn/utils.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Table/menus/TableRow/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Table/menus/TableRow/utils.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Table/menus/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/Table/utils.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/TableOfContentsNode/TableOfContentsNode.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/TableOfContentsNode/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/TrailingNode/index.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/TrailingNode/trailing-node.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/extension-kit.js.map +0 -1
- package/dist/fields/TiptapEditor/extensions/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/BlockEditor/BlockEditor.js.map +0 -1
- package/dist/fields/TiptapEditor/features/BlockEditor/components/EditorHeader.js.map +0 -1
- package/dist/fields/TiptapEditor/features/BlockEditor/components/EditorInfo.js.map +0 -1
- package/dist/fields/TiptapEditor/features/BlockEditor/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/BlockEditor/types.js.map +0 -1
- package/dist/fields/TiptapEditor/features/Sidebar/Sidebar.js.map +0 -1
- package/dist/fields/TiptapEditor/features/Sidebar/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/TableOfContents/TableOfContents.js.map +0 -1
- package/dist/fields/TiptapEditor/features/TableOfContents/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/ContentItemMenu/ContentItemMenu.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/ContentItemMenu/hooks/useContentItemActions.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/ContentItemMenu/hooks/useData.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/ContentItemMenu/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/LinkMenu/LinkMenu.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/LinkMenu/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/TextMenu/TextMenu.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/TextMenu/components/ContentTypePicker.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/TextMenu/components/EditIframeLinkPopover.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/TextMenu/components/EditLinkPopover.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/TextMenu/components/FontFamilyPicker.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/TextMenu/components/FontSizePicker.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/TextMenu/components/SocialMediaPopover.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/TextMenu/components/ai-completion-command.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/TextMenu/components/ai-selector-commands.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuCommands.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuContentTypes.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuStates.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/TextMenu/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/menus/types.js.map +0 -1
- package/dist/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.js.map +0 -1
- package/dist/fields/TiptapEditor/features/panels/AIEditorPanel/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/panels/Colorpicker/ColorButton.js.map +0 -1
- package/dist/fields/TiptapEditor/features/panels/Colorpicker/Colorpicker.js.map +0 -1
- package/dist/fields/TiptapEditor/features/panels/Colorpicker/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js.map +0 -1
- package/dist/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/panels/InsideLinksEditorPanel/InsideLinksEditorPanel.js.map +0 -1
- package/dist/fields/TiptapEditor/features/panels/InsideLinksEditorPanel/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/panels/LinkEditorPanel/LinkEditorPanel.js.map +0 -1
- package/dist/fields/TiptapEditor/features/panels/LinkEditorPanel/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/panels/LinkPreviewPanel/LinkPreviewPanel.js.map +0 -1
- package/dist/fields/TiptapEditor/features/panels/LinkPreviewPanel/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.js.map +0 -1
- package/dist/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/panels/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Button/Button.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Button/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Dropdown/Dropdown.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Dropdown/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Icon.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Loader/Loader.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Loader/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Loader/types.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Panel/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/PopoverMenu.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Spinner/Spinner.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Spinner/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Surface.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Textarea/Textarea.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Textarea/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Toggle/Toggle.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Toggle/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Toolbar.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Tooltip/index.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/Tooltip/types.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/crazy-spinner.js.map +0 -1
- package/dist/fields/TiptapEditor/features/ui/scroll-area.js.map +0 -1
- package/dist/fields/TiptapEditor/hooks/useBlockEditor.js.map +0 -1
- package/dist/fields/TiptapEditor/hooks/useSidebar.js.map +0 -1
- package/dist/fields/TiptapEditor/index.js.map +0 -1
- package/dist/fields/TiptapEditor/lib/api.js.map +0 -1
- package/dist/fields/TiptapEditor/lib/constants.js.map +0 -1
- package/dist/fields/TiptapEditor/lib/data/initialContent.js.map +0 -1
- package/dist/fields/TiptapEditor/lib/utils/cssVar.js.map +0 -1
- package/dist/fields/TiptapEditor/lib/utils/deepMerge.js.map +0 -1
- package/dist/fields/TiptapEditor/lib/utils/getRenderContainer.js.map +0 -1
- package/dist/fields/TiptapEditor/lib/utils/index.js.map +0 -1
- package/dist/fields/TiptapEditor/lib/utils/isCustomNodeSelected.js.map +0 -1
- package/dist/fields/TiptapEditor/lib/utils/isRtl.js.map +0 -1
- package/dist/fields/TiptapEditor/lib/utils/isTextSelected.js.map +0 -1
- package/dist/fields/TiptapEditor/lib/utils/partialRequired.js.map +0 -1
- package/dist/index.js.map +0 -1
- /package/dist/{fields → src/fields}/TiptapEditor/Components.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/context/EditorContext.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/BlockquoteFigure/BlockquoteFigure.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/BlockquoteFigure/Design.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/BlockquoteFigure/Quote/Quote.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/BlockquoteFigure/Quote/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/QuoteCaption.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/BlockquoteFigure/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Document/Document.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Document/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Figcaption/Figcaption.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Figcaption/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Figure/Figure.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Figure/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/FontSize/FontSize.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/FontSize/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Heading/Heading.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Heading/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/HorizontalRule/HorizontalRule.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/HorizontalRule/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Iframe/iframe.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Iframe/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Iframe/menus/IframeMenu.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Iframe/menus/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Image/Image.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Image/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/ImageBlock/ImageBlock.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/ImageBlock/components/ImageBlockMenu.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/ImageBlock/components/ImageBlockWidth.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/ImageBlock/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/ImageUpload/ImageUpload.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/ImageUpload/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/ImageUpload/view/ImageUpload.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/ImageUpload/view/ImageUploader.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/ImageUpload/view/hooks.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/ImageUpload/view/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/InsideLinks/InsideLink.client.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/InsideLinks/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/InsideLinks/insideLinks.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/InsideLinks/menus/InsideLinksMenu.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/InsideLinks/menus/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Link/Link.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Link/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/MultiColumn/Column.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/MultiColumn/Columns.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/MultiColumn/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/MultiColumn/menus/ColumnsMenu.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/MultiColumn/menus/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Paragraph/Paragraph.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Paragraph/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Selection/Selection.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Selection/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SlashCommand/CommandButton.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SlashCommand/MenuList.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SlashCommand/SlashCommand.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SlashCommand/groups.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SlashCommand/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SlashCommand/types.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Facebook/FacebookEmbed.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Facebook/facebook.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Facebook/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Instagram/InstagramEmbed.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Instagram/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Instagram/instagram.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Linkedin/LinkedinEmbed.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Linkedin/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Linkedin/linkedin.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Tiktok/TiktokEmbed.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Tiktok/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Tiktok/tiktok.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Twitter/TwitterEmbed.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Twitter/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Twitter/twitter.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Youtube/YoutubeEmbed.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Youtube/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/Youtube/youtube.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/menus/SocialMediaMenu.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/menus/constants.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/SocialMedia/menus/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Table/Cell.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Table/Header.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Table/Row.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Table/Table.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Table/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Table/menus/TableColumn/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Table/menus/TableColumn/utils.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Table/menus/TableRow/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Table/menus/TableRow/utils.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Table/menus/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/Table/utils.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/TableOfContentsNode/TableOfContentsNode.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/TableOfContentsNode/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/TrailingNode/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/TrailingNode/trailing-node.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/extension-kit.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/extensions/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/BlockEditor/BlockEditor.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/BlockEditor/components/EditorHeader.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/BlockEditor/components/EditorInfo.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/BlockEditor/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/BlockEditor/types.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/Sidebar/Sidebar.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/Sidebar/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/TableOfContents/TableOfContents.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/TableOfContents/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/ContentItemMenu/ContentItemMenu.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/ContentItemMenu/hooks/useContentItemActions.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/ContentItemMenu/hooks/useData.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/ContentItemMenu/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/LinkMenu/LinkMenu.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/LinkMenu/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/TextMenu/TextMenu.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/TextMenu/components/ContentTypePicker.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/TextMenu/components/EditIframeLinkPopover.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/TextMenu/components/EditLinkPopover.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/TextMenu/components/FontFamilyPicker.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/TextMenu/components/FontSizePicker.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/TextMenu/components/SocialMediaPopover.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/TextMenu/components/ai-completion-command.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/TextMenu/components/ai-selector-commands.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuCommands.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuContentTypes.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuStates.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/TextMenu/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/menus/types.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/panels/AIEditorPanel/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/panels/Colorpicker/ColorButton.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/panels/Colorpicker/Colorpicker.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/panels/Colorpicker/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/panels/IframeLinkEditorPanel/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/panels/InsideLinksEditorPanel/InsideLinksEditorPanel.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/panels/InsideLinksEditorPanel/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/panels/LinkEditorPanel/LinkEditorPanel.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/panels/LinkEditorPanel/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/panels/LinkPreviewPanel/LinkPreviewPanel.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/panels/LinkPreviewPanel/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/panels/SocialMediaEditorPanel/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/panels/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Button/Button.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Button/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Dropdown/Dropdown.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Dropdown/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Icon.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Loader/Loader.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Loader/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Loader/types.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Panel/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/PopoverMenu.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Spinner/Spinner.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Spinner/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Surface.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Textarea/Textarea.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Textarea/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Toggle/Toggle.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Toggle/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Toolbar.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Tooltip/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/Tooltip/types.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/crazy-spinner.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/features/ui/scroll-area.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/hooks/useBlockEditor.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/hooks/useSidebar.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/lib/api.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/lib/constants.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/lib/data/initialContent.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/lib/utils/cssVar.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/lib/utils/deepMerge.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/lib/utils/getRenderContainer.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/lib/utils/index.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/lib/utils/isCustomNodeSelected.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/lib/utils/isRtl.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/lib/utils/isTextSelected.js +0 -0
- /package/dist/{fields → src/fields}/TiptapEditor/lib/utils/partialRequired.js +0 -0
- /package/dist/{index.js → src/index.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/fields/TiptapEditor/Components.tsx"],"sourcesContent":["\"use client\";\nimport React, { useCallback, useEffect, useState } from \"react\";\n\n// import 'cal-sans'\n\n// import '@fontsource/inter/100.css'\n// import '@fontsource/inter/200.css'\n// import '@fontsource/inter/300.css'\n// import '@fontsource/inter/400.css'\n// import '@fontsource/inter/500.css'\n// import '@fontsource/inter/600.css'\n// import '@fontsource/inter/700.css'\n// import { BlockEditor } from './features/BlockEditor'\nimport { useField } from \"@payloadcms/ui/forms/useField\";\nimport { useLocale } from \"@payloadcms/ui/providers/Locale\";\nimport { BlockEditor } from \"./features/BlockEditor/BlockEditor.jsx\";\nimport { CustomComponent, JSONField, ServerProps } from \"payload\";\n\ntype Props = JSONField & ServerProps;\n\nconst useDarkmode = () => {\n const [isDarkMode, setIsDarkMode] = useState<boolean>(\n typeof window !== \"undefined\"\n ? document.documentElement.getAttribute(\"data-theme\") === \"dark\"\n : false\n );\n\n useEffect(() => {\n const mediaQuery = window.matchMedia(\"(prefers-color-scheme: dark)\");\n const handleChange = () => setIsDarkMode(mediaQuery.matches);\n mediaQuery.addEventListener(\"change\", handleChange);\n return () => mediaQuery.removeEventListener(\"change\", handleChange);\n }, []);\n\n useEffect(() => {\n document.documentElement.classList.toggle(\"dark\", isDarkMode);\n }, [isDarkMode]);\n\n const toggleDarkMode = useCallback(\n () => setIsDarkMode((isDark) => !isDark),\n []\n );\n const lightMode = useCallback(() => setIsDarkMode(false), []);\n const darkMode = useCallback(() => setIsDarkMode(true), []);\n\n return {\n isDarkMode,\n toggleDarkMode,\n lightMode,\n darkMode,\n };\n};\n\nexport const EditorComponent: CustomComponent = (props) => {\n const { value, setValue } = useField<any>({\n path: props.name,\n });\n\n useDarkmode();\n const hasCollab = false;\n // const { i18n } = useTranslation()\n\n const { code } = useLocale();\n return (\n <div\n lang={code}\n className=\"content-field content-field-disabled\"\n style={{ width: \"100%\", height: \"100%\", overflow: \"visible\" }}\n >\n {/* {DarkModeSwitcher} */}\n {/* <FieldLabel label={props?.label ?? capitalize(props?.name) ?? ''} /> */}\n <BlockEditor\n hasCollab={hasCollab}\n content={value}\n handleChange={(value) => {\n setValue(value);\n }}\n />\n </div>\n );\n};\n"],"names":["React","useCallback","useEffect","useState","useField","useLocale","BlockEditor","useDarkmode","isDarkMode","setIsDarkMode","window","document","documentElement","getAttribute","mediaQuery","matchMedia","handleChange","matches","addEventListener","removeEventListener","classList","toggle","toggleDarkMode","isDark","lightMode","darkMode","EditorComponent","props","value","setValue","path","name","hasCollab","code","div","lang","className","style","width","height","overflow","content"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAEhE,oBAAoB;AAEpB,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,uDAAuD;AACvD,SAASC,QAAQ,QAAQ,gCAAgC;AACzD,SAASC,SAAS,QAAQ,kCAAkC;AAC5D,SAASC,WAAW,QAAQ,yCAAyC;AAKrE,MAAMC,cAAc;IAClB,MAAM,CAACC,YAAYC,cAAc,GAAGN,SAClC,OAAOO,WAAW,cACdC,SAASC,eAAe,CAACC,YAAY,CAAC,kBAAkB,SACxD;IAGNX,UAAU;QACR,MAAMY,aAAaJ,OAAOK,UAAU,CAAC;QACrC,MAAMC,eAAe,IAAMP,cAAcK,WAAWG,OAAO;QAC3DH,WAAWI,gBAAgB,CAAC,UAAUF;QACtC,OAAO,IAAMF,WAAWK,mBAAmB,CAAC,UAAUH;IACxD,GAAG,EAAE;IAELd,UAAU;QACRS,SAASC,eAAe,CAACQ,SAAS,CAACC,MAAM,CAAC,QAAQb;IACpD,GAAG;QAACA;KAAW;IAEf,MAAMc,iBAAiBrB,YACrB,IAAMQ,cAAc,CAACc,SAAW,CAACA,SACjC,EAAE;IAEJ,MAAMC,YAAYvB,YAAY,IAAMQ,cAAc,QAAQ,EAAE;IAC5D,MAAMgB,WAAWxB,YAAY,IAAMQ,cAAc,OAAO,EAAE;IAE1D,OAAO;QACLD;QACAc;QACAE;QACAC;IACF;AACF;AAEA,OAAO,MAAMC,kBAAmC,CAACC;IAC/C,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAE,GAAGzB,SAAc;QACxC0B,MAAMH,MAAMI,IAAI;IAClB;IAEAxB;IACA,MAAMyB,YAAY;IAClB,oCAAoC;IAEpC,MAAM,EAAEC,IAAI,EAAE,GAAG5B;IACjB,qBACE,KAAC6B;QACCC,MAAMF;QACNG,WAAU;QACVC,OAAO;YAAEC,OAAO;YAAQC,QAAQ;YAAQC,UAAU;QAAU;kBAI5D,cAAA,KAAClC;YACC0B,WAAWA;YACXS,SAASb;YACTZ,cAAc,CAACY;gBACbC,SAASD;YACX;;;AAIR,EAAE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/fields/TiptapEditor/context/EditorContext.ts"],"sourcesContent":["'use client'\nimport { createContext } from 'react'\n\nexport const EditorContext = createContext({})\n"],"names":["createContext","EditorContext"],"rangeMappings":";;","mappings":"AAAA;AACA,SAASA,aAAa,QAAQ,QAAO;AAErC,OAAO,MAAMC,gBAAgBD,cAAc,CAAC,GAAE"}
|
|
@@ -0,0 +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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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"}
|
|
@@ -0,0 +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"],"rangeMappings":";;;;;;;;;;;","mappings":";AAAA,OAAOA,WAAW,QAAO;AAEzB,MAAMC,SAAS;IACb,qBACE,KAACC;QAAWC,WAAU;kBACpB,cAAA,KAACC;YAAED,WAAU;sBAAkE;;;AAMrF;AAEA,eAAeF,OAAM"}
|
|
@@ -0,0 +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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;","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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/index.ts"],"sourcesContent":["export * from \"./Quote.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,aAAa"}
|
package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/QuoteCaption.js.map
ADDED
|
@@ -0,0 +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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/index.ts"],"sourcesContent":["export * from \"./QuoteCaption.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,oBAAoB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/BlockquoteFigure/index.ts"],"sourcesContent":["export * from \"./BlockquoteFigure.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,wBAAwB"}
|
|
@@ -0,0 +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"],"rangeMappings":";;;;","mappings":"AAAA,SAASA,YAAYC,cAAc,QAAQ,6BAA4B;AAEvE,OAAO,MAAMD,WAAWC,eAAeC,MAAM,CAAC;IAC5CC,SAAS;AACX,GAAE;AAEF,eAAeH,SAAQ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Document/index.ts"],"sourcesContent":["export * from \"./Document.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,gBAAgB"}
|
|
@@ -0,0 +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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Figcaption/index.ts"],"sourcesContent":["export * from \"./Figcaption.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,kBAAkB"}
|
|
@@ -0,0 +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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Figure/index.ts"],"sourcesContent":["export * from \"./Figure.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,cAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/FontSize/FontSize.ts"],"sourcesContent":["import { Extension } from '@tiptap/core'\nimport '@tiptap/extension-text-style'\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n fontSize: {\n setFontSize: (size: string) => ReturnType\n unsetFontSize: () => ReturnType\n }\n }\n}\n\nexport const FontSize = Extension.create({\n name: 'fontSize',\n\n addOptions() {\n return {\n types: ['textStyle'],\n }\n },\n\n addGlobalAttributes() {\n return [\n {\n types: ['paragraph'],\n attributes: {\n class: {},\n },\n },\n {\n types: this.options.types,\n attributes: {\n fontSize: {\n parseHTML: element => element.style.fontSize.replace(/['\"]+/g, ''),\n renderHTML: attributes => {\n if (!attributes.fontSize) {\n return {}\n }\n\n return {\n style: `font-size: ${attributes.fontSize}`,\n }\n },\n },\n },\n },\n ]\n },\n\n addCommands() {\n return {\n setFontSize:\n (fontSize: string) =>\n ({ chain }) =>\n chain().setMark('textStyle', { fontSize }).run(),\n unsetFontSize:\n () =>\n ({ chain }) =>\n chain().setMark('textStyle', { fontSize: null }).removeEmptyTextStyle().run(),\n }\n },\n})\n\nexport default FontSize\n"],"names":["Extension","FontSize","create","name","addOptions","types","addGlobalAttributes","attributes","class","options","fontSize","parseHTML","element","style","replace","renderHTML","addCommands","setFontSize","chain","setMark","run","unsetFontSize","removeEmptyTextStyle"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,SAAS,QAAQ,eAAc;AACxC,OAAO,+BAA8B;AAWrC,OAAO,MAAMC,WAAWD,UAAUE,MAAM,CAAC;IACvCC,MAAM;IAENC;QACE,OAAO;YACLC,OAAO;gBAAC;aAAY;QACtB;IACF;IAEAC;QACE,OAAO;YACL;gBACED,OAAO;oBAAC;iBAAY;gBACpBE,YAAY;oBACVC,OAAO,CAAC;gBACV;YACF;YACA;gBACEH,OAAO,IAAI,CAACI,OAAO,CAACJ,KAAK;gBACzBE,YAAY;oBACVG,UAAU;wBACRC,WAAWC,CAAAA,UAAWA,QAAQC,KAAK,CAACH,QAAQ,CAACI,OAAO,CAAC,UAAU;wBAC/DC,YAAYR,CAAAA;4BACV,IAAI,CAACA,WAAWG,QAAQ,EAAE;gCACxB,OAAO,CAAC;4BACV;4BAEA,OAAO;gCACLG,OAAO,CAAC,WAAW,EAAEN,WAAWG,QAAQ,CAAC,CAAC;4BAC5C;wBACF;oBACF;gBACF;YACF;SACD;IACH;IAEAM;QACE,OAAO;YACLC,aACE,CAACP,WACD,CAAC,EAAEQ,KAAK,EAAE,GACRA,QAAQC,OAAO,CAAC,aAAa;wBAAET;oBAAS,GAAGU,GAAG;YAClDC,eACE,IACA,CAAC,EAAEH,KAAK,EAAE,GACRA,QAAQC,OAAO,CAAC,aAAa;wBAAET,UAAU;oBAAK,GAAGY,oBAAoB,GAAGF,GAAG;QACjF;IACF;AACF,GAAE;AAEF,eAAenB,SAAQ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/FontSize/index.ts"],"sourcesContent":["export * from \"./FontSize.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,gBAAgB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Heading/Heading.ts"],"sourcesContent":["import { mergeAttributes } from '@tiptap/core'\nimport TiptapHeading from '@tiptap/extension-heading'\nimport type { Level } from '@tiptap/extension-heading'\n\nexport const Heading = TiptapHeading.extend({\n renderHTML({ node, HTMLAttributes }) {\n const nodeLevel = parseInt(node.attrs.level, 10) as Level\n const hasLevel = this.options.levels.includes(nodeLevel)\n const level = hasLevel ? nodeLevel : this.options.levels[0]\n\n return [`h${level}`, mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0]\n },\n})\n\nexport default Heading\n"],"names":["mergeAttributes","TiptapHeading","Heading","extend","renderHTML","node","HTMLAttributes","nodeLevel","parseInt","attrs","level","hasLevel","options","levels","includes"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAAA,SAASA,eAAe,QAAQ,eAAc;AAC9C,OAAOC,mBAAmB,4BAA2B;AAGrD,OAAO,MAAMC,UAAUD,cAAcE,MAAM,CAAC;IAC1CC,YAAW,EAAEC,IAAI,EAAEC,cAAc,EAAE;QACjC,MAAMC,YAAYC,SAASH,KAAKI,KAAK,CAACC,KAAK,EAAE;QAC7C,MAAMC,WAAW,IAAI,CAACC,OAAO,CAACC,MAAM,CAACC,QAAQ,CAACP;QAC9C,MAAMG,QAAQC,WAAWJ,YAAY,IAAI,CAACK,OAAO,CAACC,MAAM,CAAC,EAAE;QAE3D,OAAO;YAAC,CAAC,CAAC,EAAEH,MAAM,CAAC;YAAEV,gBAAgB,IAAI,CAACY,OAAO,CAACN,cAAc,EAAEA;YAAiB;SAAE;IACvF;AACF,GAAE;AAEF,eAAeJ,QAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Heading/index.ts"],"sourcesContent":["export * from \"./Heading.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,eAAe"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/HorizontalRule/HorizontalRule.ts"],"sourcesContent":["import { mergeAttributes } from '@tiptap/core'\nimport TiptapHorizontalRule from '@tiptap/extension-horizontal-rule'\n\nexport const HorizontalRule = TiptapHorizontalRule.extend({\n renderHTML() {\n return ['div', mergeAttributes(this.options.HTMLAttributes, { 'data-type': this.name }), ['hr']]\n },\n})\n\nexport default HorizontalRule\n"],"names":["mergeAttributes","TiptapHorizontalRule","HorizontalRule","extend","renderHTML","options","HTMLAttributes","name"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,eAAe,QAAQ,eAAc;AAC9C,OAAOC,0BAA0B,oCAAmC;AAEpE,OAAO,MAAMC,iBAAiBD,qBAAqBE,MAAM,CAAC;IACxDC;QACE,OAAO;YAAC;YAAOJ,gBAAgB,IAAI,CAACK,OAAO,CAACC,cAAc,EAAE;gBAAE,aAAa,IAAI,CAACC,IAAI;YAAC;YAAI;gBAAC;aAAK;SAAC;IAClG;AACF,GAAE;AAEF,eAAeL,eAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/HorizontalRule/index.ts"],"sourcesContent":["export * from \"./HorizontalRule.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,sBAAsB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Iframe/iframe.ts"],"sourcesContent":["declare module '@tiptap/core' {\n interface Commands<ReturnType> {\n iframe: {\n /**\n * Add an image\n */\n\n setHtml: (value: string) => ReturnType\n }\n }\n}\n\nimport { Node, mergeAttributes } from '@tiptap/core'\n\nexport const Iframe = Node.create({\n name: 'iframe',\n inline: false,\n group: 'block',\n\n addOptions() {\n return {\n HTMLAttributes: { frameborder: 0 },\n }\n },\n\n addAttributes() {\n return {\n src: { default: null },\n editorValue: { default: null },\n HTMLAttributes: {\n default: null,\n renderHTML: (attributes) => {\n return attributes.HTMLAttributes || {}\n },\n },\n }\n },\n\n parseHTML() {\n return [{ tag: 'iframe' }]\n },\n\n addNodeView() {\n return ({ editor, node }) => {\n const div = document.createElement('div')\n div.className = 'aspect-w-16 aspect-h-9' + (editor.isEditable ? ' cursor-pointer' : '')\n const iframe = document.createElement('iframe')\n if (editor.isEditable) {\n iframe.className = 'pointer-events-none'\n }\n iframe.width = '640'\n iframe.height = '360'\n iframe.allow =\n 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share'\n iframe.referrerPolicy = 'strict-origin-when-cross-origin'\n iframe.allowFullscreen = true\n iframe.src = node.attrs.src\n div.append(iframe)\n return {\n dom: div,\n }\n }\n },\n\n addCommands() {\n return {\n setHtml:\n (value) =>\n ({ commands, state }) => {\n let attributes: Record<string, any> = {\n editorValue: value,\n }\n\n if (value?.includes('youtube.com')) {\n const ytValue = value?.split('v=')?.[1]?.split('&')?.[0]\n attributes = {\n ...attributes,\n\n src: `https://www.youtube.com/embed/${ytValue}?controls=0`,\n title: 'YouTube video player',\n }\n } else if (value?.includes('instagram.com')) {\n const instagramValue = value?.split('p/')?.[1]?.split('/')?.[0]\n attributes = {\n ...attributes,\n\n src: `https://www.instagram.com/p/${instagramValue}/embed`,\n title: 'Instagram',\n }\n } else if (isValidHttpUrl(value)) {\n attributes = {\n ...attributes,\n\n src: value,\n }\n } else if (value?.includes('iframe')) {\n const parser = new DOMParser()\n const html = parser.parseFromString(value, 'text/html')\n const attrNames = html.getElementsByTagName('iframe')?.[0]?.getAttributeNames()\n\n attrNames?.forEach((attr) => {\n attributes[attr] = html.getElementsByTagName('iframe')?.[0]?.getAttribute(attr)\n })\n } else {\n const htmlData = 'data:text/html;charset=utf-8,' + encodeURI(value)\n attributes = {\n ...attributes,\n src: htmlData,\n }\n }\n\n return commands.insertContent({\n type: 'iframe',\n attrs: attributes,\n })\n },\n }\n },\n})\n\nfunction isValidHttpUrl(string: string) {\n let url\n\n try {\n url = new URL(string)\n } catch (_) {\n return false\n }\n\n return url.protocol === 'http:' || url.protocol === 'https:'\n}\n"],"names":["Node","Iframe","create","name","inline","group","addOptions","HTMLAttributes","frameborder","addAttributes","src","default","editorValue","renderHTML","attributes","parseHTML","tag","addNodeView","editor","node","div","document","createElement","className","isEditable","iframe","width","height","allow","referrerPolicy","allowFullscreen","attrs","append","dom","addCommands","setHtml","value","commands","state","includes","ytValue","split","title","instagramValue","isValidHttpUrl","parser","DOMParser","html","parseFromString","attrNames","getElementsByTagName","getAttributeNames","forEach","attr","getAttribute","htmlData","encodeURI","insertContent","type","string","url","URL","_","protocol"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Iframe/index.ts"],"sourcesContent":["export * from \"./iframe.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,cAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/Iframe/menus/IframeMenu.tsx"],"sourcesContent":["import { BubbleMenu as BaseBubbleMenu } from \"@tiptap/react\";\nimport React, { useCallback } from \"react\";\nimport { sticky } from \"tippy.js\";\nimport { v4 as uuid } from \"uuid\";\n\nimport { EditIframeLinkPopover } from \"../../../features/menus/TextMenu/components/EditIframeLinkPopover.jsx\";\nimport { MenuProps } from \"../../../features/menus/types.js\";\nimport { Toolbar } from \"../../../features/ui/Toolbar.jsx\";\nimport { getRenderContainer } from \"../../../lib/utils/index.js\";\n\nexport const IframeMenu = ({ editor, appendTo }: MenuProps) => {\n const getReferenceClientRect = useCallback(() => {\n const renderContainer = getRenderContainer(editor, \"iframe\");\n const rect =\n renderContainer?.getBoundingClientRect() ||\n new DOMRect(-1000, -1000, 0, 0);\n\n return rect;\n }, [editor]);\n\n const shouldShow = useCallback(() => {\n const isIframe = editor.isActive(\"iframe\");\n return isIframe;\n }, [editor]);\n\n const onHtml = useCallback(\n (html: string) => editor.chain().focus().setHtml(html).run(),\n [editor]\n );\n return (\n <BaseBubbleMenu\n editor={editor}\n pluginKey={`iframeMenu`}\n shouldShow={shouldShow}\n tippyOptions={{ popperOptions: { placement: \"top-start\" } }}\n updateDelay={100}\n >\n <Toolbar.Wrapper>\n <Toolbar.Button\n type=\"button\"\n tooltip=\"Sidebar left\"\n active={true}\n // onClick={onColumnLeft}\n >\n <EditIframeLinkPopover\n onSetLink={onHtml}\n initialSrcLink={editor?.getAttributes(\"iframe\")?.editorValue ?? \"\"}\n />\n </Toolbar.Button>\n </Toolbar.Wrapper>\n </BaseBubbleMenu>\n );\n};\n\nexport default IframeMenu;\n"],"names":["BubbleMenu","BaseBubbleMenu","React","useCallback","EditIframeLinkPopover","Toolbar","getRenderContainer","IframeMenu","editor","appendTo","getReferenceClientRect","renderContainer","rect","getBoundingClientRect","DOMRect","shouldShow","isIframe","isActive","onHtml","html","chain","focus","setHtml","run","pluginKey","tippyOptions","popperOptions","placement","updateDelay","Wrapper","Button","type","tooltip","active","onSetLink","initialSrcLink","getAttributes","editorValue"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,cAAcC,cAAc,QAAQ,gBAAgB;AAC7D,OAAOC,SAASC,WAAW,QAAQ,QAAQ;AAI3C,SAASC,qBAAqB,QAAQ,wEAAwE;AAE9G,SAASC,OAAO,QAAQ,mCAAmC;AAC3D,SAASC,kBAAkB,QAAQ,8BAA8B;AAEjE,OAAO,MAAMC,aAAa,CAAC,EAAEC,MAAM,EAAEC,QAAQ,EAAa;IACxD,MAAMC,yBAAyBP,YAAY;QACzC,MAAMQ,kBAAkBL,mBAAmBE,QAAQ;QACnD,MAAMI,OACJD,iBAAiBE,2BACjB,IAAIC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG;QAE/B,OAAOF;IACT,GAAG;QAACJ;KAAO;IAEX,MAAMO,aAAaZ,YAAY;QAC7B,MAAMa,WAAWR,OAAOS,QAAQ,CAAC;QACjC,OAAOD;IACT,GAAG;QAACR;KAAO;IAEX,MAAMU,SAASf,YACb,CAACgB,OAAiBX,OAAOY,KAAK,GAAGC,KAAK,GAAGC,OAAO,CAACH,MAAMI,GAAG,IAC1D;QAACf;KAAO;IAEV,qBACE,KAACP;QACCO,QAAQA;QACRgB,WAAW,CAAC,UAAU,CAAC;QACvBT,YAAYA;QACZU,cAAc;YAAEC,eAAe;gBAAEC,WAAW;YAAY;QAAE;QAC1DC,aAAa;kBAEb,cAAA,KAACvB,QAAQwB,OAAO;sBACd,cAAA,KAACxB,QAAQyB,MAAM;gBACbC,MAAK;gBACLC,SAAQ;gBACRC,QAAQ;0BAGR,cAAA,KAAC7B;oBACC8B,WAAWhB;oBACXiB,gBAAgB3B,QAAQ4B,cAAc,WAAWC,eAAe;;;;;AAM5E,EAAE;AAEF,eAAe9B,WAAW"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/Iframe/menus/index.ts"],"sourcesContent":["export * from \"./IframeMenu.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,kBAAkB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Image/Image.ts"],"sourcesContent":["import { Image as BaseImage } from '@tiptap/extension-image'\n\nexport const Image = BaseImage.extend({\n group: 'block',\n})\n\nexport default Image\n"],"names":["Image","BaseImage","extend","group"],"rangeMappings":";;;;","mappings":"AAAA,SAASA,SAASC,SAAS,QAAQ,0BAAyB;AAE5D,OAAO,MAAMD,QAAQC,UAAUC,MAAM,CAAC;IACpCC,OAAO;AACT,GAAE;AAEF,eAAeH,MAAK"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Image/index.ts"],"sourcesContent":["export * from \"./Image.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,aAAa"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.ts"],"sourcesContent":["import { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport { mergeAttributes, Range } from \"@tiptap/core\";\n\nimport { ImageBlockView } from \"./components/ImageBlockView.jsx\";\nimport { Image } from \"../Image/Image.js\";\n\ndeclare module \"@tiptap/core\" {\n interface Commands<ReturnType> {\n imageBlock: {\n setImageBlock: (attributes: { src: string }) => ReturnType;\n setImageBlockAt: (attributes: {\n src: string;\n pos: number | Range;\n }) => ReturnType;\n setImageBlockAlign: (align: \"left\" | \"center\" | \"right\") => ReturnType;\n setImageBlockWidth: (width: number) => ReturnType;\n };\n }\n}\n\nexport const ImageBlock = Image.extend({\n name: \"imageBlock\",\n\n group: \"block\",\n\n defining: true,\n\n isolating: true,\n\n addAttributes() {\n return {\n src: {\n default: \"\",\n parseHTML: (element) => element.getAttribute(\"src\"),\n renderHTML: (attributes) => ({\n src: attributes.src,\n }),\n },\n width: {\n default: \"100%\",\n parseHTML: (element) => element.getAttribute(\"data-width\"),\n renderHTML: (attributes) => ({\n \"data-width\": attributes.width,\n }),\n },\n align: {\n default: \"center\",\n parseHTML: (element) => element.getAttribute(\"data-align\"),\n renderHTML: (attributes) => ({\n \"data-align\": attributes.align,\n }),\n },\n alt: {\n default: undefined,\n parseHTML: (element) => element.getAttribute(\"alt\"),\n renderHTML: (attributes) => ({\n alt: attributes.alt,\n }),\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'img[src*=\"tiptap.dev\"]:not([src^=\"data:\"]), img[src*=\"windows.net\"]:not([src^=\"data:\"])',\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n \"img\",\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\n ];\n },\n\n addCommands() {\n return {\n setImageBlock:\n (attrs) =>\n ({ commands }) => {\n return commands.insertContent({\n type: \"imageBlock\",\n attrs: { src: attrs.src },\n });\n },\n\n setImageBlockAt:\n (attrs) =>\n ({ commands }) => {\n return commands.insertContentAt(attrs.pos, {\n type: \"imageBlock\",\n attrs: { src: attrs.src },\n });\n },\n\n setImageBlockAlign:\n (align) =>\n ({ commands }) =>\n commands.updateAttributes(\"imageBlock\", { align }),\n\n setImageBlockWidth:\n (width) =>\n ({ commands }) =>\n commands.updateAttributes(\"imageBlock\", {\n width: `${Math.max(0, Math.min(100, width))}%`,\n }),\n };\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(ImageBlockView);\n },\n});\n\nexport default ImageBlock;\n"],"names":["ReactNodeViewRenderer","mergeAttributes","ImageBlockView","Image","ImageBlock","extend","name","group","defining","isolating","addAttributes","src","default","parseHTML","element","getAttribute","renderHTML","attributes","width","align","alt","undefined","tag","HTMLAttributes","options","addCommands","setImageBlock","attrs","commands","insertContent","type","setImageBlockAt","insertContentAt","pos","setImageBlockAlign","updateAttributes","setImageBlockWidth","Math","max","min","addNodeView"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,qBAAqB,QAAQ,gBAAgB;AACtD,SAASC,eAAe,QAAe,eAAe;AAEtD,SAASC,cAAc,QAAQ,kCAAkC;AACjE,SAASC,KAAK,QAAQ,oBAAoB;AAgB1C,OAAO,MAAMC,aAAaD,MAAME,MAAM,CAAC;IACrCC,MAAM;IAENC,OAAO;IAEPC,UAAU;IAEVC,WAAW;IAEXC;QACE,OAAO;YACLC,KAAK;gBACHC,SAAS;gBACTC,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3BN,KAAKM,WAAWN,GAAG;oBACrB,CAAA;YACF;YACAO,OAAO;gBACLN,SAAS;gBACTC,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3B,cAAcA,WAAWC,KAAK;oBAChC,CAAA;YACF;YACAC,OAAO;gBACLP,SAAS;gBACTC,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3B,cAAcA,WAAWE,KAAK;oBAChC,CAAA;YACF;YACAC,KAAK;gBACHR,SAASS;gBACTR,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3BG,KAAKH,WAAWG,GAAG;oBACrB,CAAA;YACF;QACF;IACF;IAEAP;QACE,OAAO;YACL;gBACES,KAAK;YACP;SACD;IACH;IAEAN,YAAW,EAAEO,cAAc,EAAE;QAC3B,OAAO;YACL;YACAtB,gBAAgB,IAAI,CAACuB,OAAO,CAACD,cAAc,EAAEA;SAC9C;IACH;IAEAE;QACE,OAAO;YACLC,eACE,CAACC,QACD,CAAC,EAAEC,QAAQ,EAAE;oBACX,OAAOA,SAASC,aAAa,CAAC;wBAC5BC,MAAM;wBACNH,OAAO;4BAAEhB,KAAKgB,MAAMhB,GAAG;wBAAC;oBAC1B;gBACF;YAEFoB,iBACE,CAACJ,QACD,CAAC,EAAEC,QAAQ,EAAE;oBACX,OAAOA,SAASI,eAAe,CAACL,MAAMM,GAAG,EAAE;wBACzCH,MAAM;wBACNH,OAAO;4BAAEhB,KAAKgB,MAAMhB,GAAG;wBAAC;oBAC1B;gBACF;YAEFuB,oBACE,CAACf,QACD,CAAC,EAAES,QAAQ,EAAE,GACXA,SAASO,gBAAgB,CAAC,cAAc;wBAAEhB;oBAAM;YAEpDiB,oBACE,CAAClB,QACD,CAAC,EAAEU,QAAQ,EAAE,GACXA,SAASO,gBAAgB,CAAC,cAAc;wBACtCjB,OAAO,CAAC,EAAEmB,KAAKC,GAAG,CAAC,GAAGD,KAAKE,GAAG,CAAC,KAAKrB,QAAQ,CAAC,CAAC;oBAChD;QACN;IACF;IAEAsB;QACE,OAAOxC,sBAAsBE;IAC/B;AACF,GAAG;AAEH,eAAeE,WAAW"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockMenu.tsx"],"sourcesContent":["import { BubbleMenu as BaseBubbleMenu } from \"@tiptap/react\";\nimport { ReactNode, useCallback, useRef } from \"react\";\nimport { Instance, sticky } from \"tippy.js\";\nimport { v4 as uuid } from \"uuid\";\n\nimport {\n AlignHorizontalDistributeCenter,\n AlignHorizontalDistributeEnd,\n AlignHorizontalDistributeStart,\n} from \"lucide-react\";\nimport { MenuProps } from \"../../../features/menus/types.js\";\nimport { Icon } from \"../../../features/ui/Icon.jsx\";\nimport { Toolbar } from \"../../../features/ui/Toolbar.jsx\";\nimport { getRenderContainer } from \"../../../lib/utils/index.js\";\nimport { ImageBlockWidth } from \"./ImageBlockWidth.jsx\";\n\nexport const ImageBlockMenu = ({ editor, appendTo }: MenuProps): ReactNode => {\n const menuRef = useRef<HTMLDivElement>(null);\n const tippyInstance = useRef<Instance | null>(null);\n\n const getReferenceClientRect = useCallback(() => {\n const renderContainer = getRenderContainer(editor, \"node-imageBlock\");\n const rect =\n renderContainer?.getBoundingClientRect() ||\n new DOMRect(-1000, -1000, 0, 0);\n\n return rect;\n }, [editor]);\n\n const shouldShow = useCallback(() => {\n const isActive = editor.isActive(\"imageBlock\");\n\n return isActive;\n }, [editor]);\n\n const onAlignImageLeft = useCallback(() => {\n editor\n .chain()\n .focus(undefined, { scrollIntoView: false })\n .setImageBlockAlign(\"left\")\n .run();\n }, [editor]);\n\n const onAlignImageCenter = useCallback(() => {\n editor\n .chain()\n .focus(undefined, { scrollIntoView: false })\n .setImageBlockAlign(\"center\")\n .run();\n }, [editor]);\n\n const onAlignImageRight = useCallback(() => {\n editor\n .chain()\n .focus(undefined, { scrollIntoView: false })\n .setImageBlockAlign(\"right\")\n .run();\n }, [editor]);\n\n const onWidthChange = useCallback(\n (value: number) => {\n editor\n .chain()\n .focus(undefined, { scrollIntoView: false })\n .setImageBlockWidth(value)\n .run();\n },\n [editor]\n );\n\n return (\n <BaseBubbleMenu\n editor={editor}\n pluginKey={`imageBlockMenu-${uuid()}`}\n shouldShow={shouldShow}\n updateDelay={0}\n tippyOptions={{\n offset: [0, 8],\n popperOptions: {\n modifiers: [{ name: \"flip\", enabled: false }],\n },\n getReferenceClientRect,\n onCreate: (instance: Instance) => {\n tippyInstance.current = instance;\n },\n appendTo: () => {\n return appendTo?.current;\n },\n plugins: [sticky],\n sticky: \"popper\",\n }}\n >\n <Toolbar.Wrapper shouldShowContent={shouldShow()} ref={menuRef}>\n <Toolbar.Button\n type=\"button\"\n tooltip=\"Align image left\"\n active={editor.isActive(\"imageBlock\", { align: \"left\" })}\n onClick={onAlignImageLeft}\n >\n <Icon icon={AlignHorizontalDistributeStart} />\n </Toolbar.Button>\n <Toolbar.Button\n type=\"button\"\n tooltip=\"Align image center\"\n active={editor.isActive(\"imageBlock\", { align: \"center\" })}\n onClick={onAlignImageCenter}\n >\n <Icon icon={AlignHorizontalDistributeCenter} />\n </Toolbar.Button>\n <Toolbar.Button\n type=\"button\"\n tooltip=\"Align image right\"\n active={editor.isActive(\"imageBlock\", { align: \"right\" })}\n onClick={onAlignImageRight}\n >\n <Icon icon={AlignHorizontalDistributeEnd} />\n </Toolbar.Button>\n <Toolbar.Divider />\n <ImageBlockWidth\n onChange={onWidthChange}\n value={parseInt(editor.getAttributes(\"imageBlock\").width)}\n />\n </Toolbar.Wrapper>\n </BaseBubbleMenu>\n );\n};\n\nexport default ImageBlockMenu;\n"],"names":["BubbleMenu","BaseBubbleMenu","useCallback","useRef","sticky","v4","uuid","AlignHorizontalDistributeCenter","AlignHorizontalDistributeEnd","AlignHorizontalDistributeStart","Icon","Toolbar","getRenderContainer","ImageBlockWidth","ImageBlockMenu","editor","appendTo","menuRef","tippyInstance","getReferenceClientRect","renderContainer","rect","getBoundingClientRect","DOMRect","shouldShow","isActive","onAlignImageLeft","chain","focus","undefined","scrollIntoView","setImageBlockAlign","run","onAlignImageCenter","onAlignImageRight","onWidthChange","value","setImageBlockWidth","pluginKey","updateDelay","tippyOptions","offset","popperOptions","modifiers","name","enabled","onCreate","instance","current","plugins","Wrapper","shouldShowContent","ref","Button","type","tooltip","active","align","onClick","icon","Divider","onChange","parseInt","getAttributes","width"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.tsx"],"sourcesContent":["import { Node } from \"@tiptap/pm/model\";\nimport { Editor, NodeViewWrapper } from \"@tiptap/react\";\nimport React, { useCallback, useRef } from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\ninterface ImageBlockViewProps {\n editor: Editor;\n getPos: () => number;\n node: Node & {\n attrs: {\n src: string;\n };\n };\n updateAttributes: (attrs: Record<string, string>) => void;\n}\n\nexport const ImageBlockView = (props: ImageBlockViewProps) => {\n const { editor, getPos, node } = props;\n const imageWrapperRef = useRef<HTMLDivElement>(null);\n const { src } = node.attrs;\n\n const wrapperClassName = cn(\n node.attrs.align === \"left\" ? \"ml-0\" : \"ml-auto\",\n node.attrs.align === \"right\" ? \"mr-0\" : \"mr-auto\",\n node.attrs.align === \"center\" && \"mx-auto\"\n );\n\n const onClick = useCallback(() => {\n editor.commands.setNodeSelection(getPos());\n }, [getPos, editor.commands]);\n\n return (\n <NodeViewWrapper>\n <div className={wrapperClassName} style={{ width: node.attrs.width }}>\n <div contentEditable={false} ref={imageWrapperRef}>\n <img className=\"block\" src={src} alt=\"\" onClick={onClick} />\n </div>\n </div>\n </NodeViewWrapper>\n );\n};\n\nexport default ImageBlockView;\n"],"names":["NodeViewWrapper","React","useCallback","useRef","cn","ImageBlockView","props","editor","getPos","node","imageWrapperRef","src","attrs","wrapperClassName","align","onClick","commands","setNodeSelection","div","className","style","width","contentEditable","ref","img","alt"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AACA,SAAiBA,eAAe,QAAQ,gBAAgB;AACxD,OAAOC,SAASC,WAAW,EAAEC,MAAM,QAAQ,QAAQ;AACnD,SAASC,EAAE,QAAQ,8BAA8B;AAajD,OAAO,MAAMC,iBAAiB,CAACC;IAC7B,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGH;IACjC,MAAMI,kBAAkBP,OAAuB;IAC/C,MAAM,EAAEQ,GAAG,EAAE,GAAGF,KAAKG,KAAK;IAE1B,MAAMC,mBAAmBT,GACvBK,KAAKG,KAAK,CAACE,KAAK,KAAK,SAAS,SAAS,WACvCL,KAAKG,KAAK,CAACE,KAAK,KAAK,UAAU,SAAS,WACxCL,KAAKG,KAAK,CAACE,KAAK,KAAK,YAAY;IAGnC,MAAMC,UAAUb,YAAY;QAC1BK,OAAOS,QAAQ,CAACC,gBAAgB,CAACT;IACnC,GAAG;QAACA;QAAQD,OAAOS,QAAQ;KAAC;IAE5B,qBACE,KAAChB;kBACC,cAAA,KAACkB;YAAIC,WAAWN;YAAkBO,OAAO;gBAAEC,OAAOZ,KAAKG,KAAK,CAACS,KAAK;YAAC;sBACjE,cAAA,KAACH;gBAAII,iBAAiB;gBAAOC,KAAKb;0BAChC,cAAA,KAACc;oBAAIL,WAAU;oBAAQR,KAAKA;oBAAKc,KAAI;oBAAGV,SAASA;;;;;AAK3D,EAAE;AAEF,eAAeV,eAAe"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockWidth.tsx"],"sourcesContent":["import React, { memo, useCallback, useEffect, useState } from 'react'\n\nexport type ImageBlockWidthProps = {\n onChange: (value: number) => void\n value: number\n}\n\nexport const ImageBlockWidth = memo(({ onChange, value }: ImageBlockWidthProps) => {\n const [currentValue, setCurrentValue] = useState(value)\n\n useEffect(() => {\n setCurrentValue(value)\n }, [value])\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange(parseInt(e.target.value))\n },\n [onChange],\n )\n\n return (\n <div className=\"flex items-center gap-2\">\n <input\n className=\"h-2 bg-neutral-200 border-0 rounded appearance-none fill-neutral-300\"\n type=\"range\"\n min=\"25\"\n max=\"100\"\n step=\"25\"\n onChange={handleChange}\n value={currentValue}\n />\n <span className=\"text-xs font-semibold text-neutral-500 select-none\">{value}%</span>\n </div>\n )\n})\n\nImageBlockWidth.displayName = 'ImageBlockWidth'\n"],"names":["React","memo","useCallback","useEffect","useState","ImageBlockWidth","onChange","value","currentValue","setCurrentValue","handleChange","e","parseInt","target","div","className","input","type","min","max","step","span","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,OAAOA,SAASC,IAAI,EAAEC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAOrE,OAAO,MAAMC,gCAAkBJ,KAAK,CAAC,EAAEK,QAAQ,EAAEC,KAAK,EAAwB;IAC5E,MAAM,CAACC,cAAcC,gBAAgB,GAAGL,SAASG;IAEjDJ,UAAU;QACRM,gBAAgBF;IAClB,GAAG;QAACA;KAAM;IAEV,MAAMG,eAAeR,YACnB,CAACS;QACCL,SAASM,SAASD,EAAEE,MAAM,CAACN,KAAK;IAClC,GACA;QAACD;KAAS;IAGZ,qBACE,MAACQ;QAAIC,WAAU;;0BACb,KAACC;gBACCD,WAAU;gBACVE,MAAK;gBACLC,KAAI;gBACJC,KAAI;gBACJC,MAAK;gBACLd,UAAUI;gBACVH,OAAOC;;0BAET,MAACa;gBAAKN,WAAU;;oBAAsDR;oBAAM;;;;;AAGlF,GAAE;AAEFF,gBAAgBiB,WAAW,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/index.ts"],"sourcesContent":["export * from \"./ImageBlock.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,kBAAkB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/ImageUpload/ImageUpload.ts"],"sourcesContent":["import { Node, ReactNodeViewRenderer } from \"@tiptap/react\";\nimport { ImageUpload as ImageUploadComponent } from \"./view/ImageUpload.jsx\";\n\ndeclare module \"@tiptap/core\" {\n interface Commands<ReturnType> {\n imageUpload: {\n setImageUpload: () => ReturnType;\n };\n }\n}\n\nexport const ImageUpload = Node.create({\n name: \"imageUpload\",\n\n isolating: true,\n\n defining: true,\n\n group: \"block\",\n\n draggable: true,\n\n selectable: true,\n\n inline: false,\n\n parseHTML() {\n return [\n {\n tag: `div[data-type=\"${this.name}\"]`,\n },\n ];\n },\n\n renderHTML() {\n return [\"div\", { \"data-type\": this.name }];\n },\n\n addCommands() {\n return {\n setImageUpload:\n () =>\n ({ commands }) =>\n commands.insertContent(`<div data-type=\"${this.name}\"></div>`),\n };\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(ImageUploadComponent);\n },\n});\n\nexport default ImageUpload;\n"],"names":["Node","ReactNodeViewRenderer","ImageUpload","ImageUploadComponent","create","name","isolating","defining","group","draggable","selectable","inline","parseHTML","tag","renderHTML","addCommands","setImageUpload","commands","insertContent","addNodeView"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,IAAI,EAAEC,qBAAqB,QAAQ,gBAAgB;AAC5D,SAASC,eAAeC,oBAAoB,QAAQ,yBAAyB;AAU7E,OAAO,MAAMD,cAAcF,KAAKI,MAAM,CAAC;IACrCC,MAAM;IAENC,WAAW;IAEXC,UAAU;IAEVC,OAAO;IAEPC,WAAW;IAEXC,YAAY;IAEZC,QAAQ;IAERC;QACE,OAAO;YACL;gBACEC,KAAK,CAAC,eAAe,EAAE,IAAI,CAACR,IAAI,CAAC,EAAE,CAAC;YACtC;SACD;IACH;IAEAS;QACE,OAAO;YAAC;YAAO;gBAAE,aAAa,IAAI,CAACT,IAAI;YAAC;SAAE;IAC5C;IAEAU;QACE,OAAO;YACLC,gBACE,IACA,CAAC,EAAEC,QAAQ,EAAE,GACXA,SAASC,aAAa,CAAC,CAAC,gBAAgB,EAAE,IAAI,CAACb,IAAI,CAAC,QAAQ,CAAC;QACnE;IACF;IAEAc;QACE,OAAOlB,sBAAsBE;IAC/B;AACF,GAAG;AAEH,eAAeD,YAAY"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/ImageUpload/index.ts"],"sourcesContent":["export * from \"./ImageUpload.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,mBAAmB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.tsx"],"sourcesContent":["import { Upload } from \"@payloadcms/ui/fields/Upload\";\nimport { Editor, NodeViewWrapper } from \"@tiptap/react\";\nimport { useCallback } from \"react\";\n\nexport const ImageUpload = ({\n getPos,\n editor,\n}: {\n getPos: () => number;\n editor: Editor;\n}) => {\n const onUpload = useCallback(\n (url: string) => {\n if (url) {\n editor\n .chain()\n .setImageBlock({ src: url })\n .deleteRange({ from: getPos(), to: getPos() })\n .focus()\n .run();\n }\n },\n [getPos, editor]\n );\n\n return (\n <NodeViewWrapper>\n <div className=\"p-0 m-0\" data-drag-handle>\n {/* <RenderFields\n fieldMap={[\n {\n name: 'thumbnail',\n type: 'upload',\n\n },\n ]}\n path=\"media\"\n readOnly={false}\n schemaPath=\"\"\n // fieldTypes={fieldTypes}\n // fields={sidebarFields}\n // permissions={permissions.fields}\n // readOnly={!hasSavePermission}\n /> */}\n {/* <ImageUploader onUpload={onUpload} /> */}\n <Upload />\n </div>\n </NodeViewWrapper>\n );\n};\n\nexport default ImageUpload;\n"],"names":["Upload","NodeViewWrapper","useCallback","ImageUpload","getPos","editor","onUpload","url","chain","setImageBlock","src","deleteRange","from","to","focus","run","div","className","data-drag-handle"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,MAAM,QAAQ,+BAA+B;AACtD,SAAiBC,eAAe,QAAQ,gBAAgB;AACxD,SAASC,WAAW,QAAQ,QAAQ;AAEpC,OAAO,MAAMC,cAAc,CAAC,EAC1BC,MAAM,EACNC,MAAM,EAIP;IACC,MAAMC,WAAWJ,YACf,CAACK;QACC,IAAIA,KAAK;YACPF,OACGG,KAAK,GACLC,aAAa,CAAC;gBAAEC,KAAKH;YAAI,GACzBI,WAAW,CAAC;gBAAEC,MAAMR;gBAAUS,IAAIT;YAAS,GAC3CU,KAAK,GACLC,GAAG;QACR;IACF,GACA;QAACX;QAAQC;KAAO;IAGlB,qBACE,KAACJ;kBACC,cAAA,KAACe;YAAIC,WAAU;YAAUC,kBAAgB;sBAkBvC,cAAA,KAAClB;;;AAIT,EAAE;AAEF,eAAeG,YAAY"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUploader.tsx"],"sourcesContent":["import { Image, Upload } from \"lucide-react\";\nimport { ChangeEvent, useCallback } from \"react\";\nimport { Button } from \"../../../features/ui/Button/Button.jsx\";\nimport { Icon } from \"../../../features/ui/Icon.jsx\";\nimport { Spinner } from \"../../../features/ui/Spinner/Spinner.jsx\";\nimport { cn } from \"../../../lib/utils/index.js\";\nimport { useDropZone, useFileUpload, useUploader } from \"./hooks.js\";\nexport const ImageUploader = ({\n onUpload,\n}: {\n onUpload: (url: string) => void;\n}) => {\n const { loading, uploadFile } = useUploader({ onUpload });\n const { handleUploadClick, ref } = useFileUpload();\n const { draggedInside, onDrop, onDragEnter, onDragLeave } = useDropZone({\n uploader: uploadFile,\n });\n\n const onFileChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) =>\n e.target.files ? uploadFile() : null,\n [uploadFile]\n );\n\n if (loading) {\n return (\n <div className=\"flex items-center justify-center p-8 rounded-lg min-h-[10rem] bg-opacity-80\">\n <Spinner className=\"text-neutral-500\" size={1.5} />\n </div>\n );\n }\n\n const wrapperClass = cn(\n \"flex flex-col items-center justify-center px-8 py-10 rounded-lg bg-opacity-80\",\n draggedInside && \"bg-neutral-100\"\n );\n\n return (\n <div\n className={wrapperClass}\n onDrop={onDrop}\n onDragOver={onDragEnter}\n onDragLeave={onDragLeave}\n contentEditable={false}\n >\n <Icon\n icon={Image}\n className=\"w-12 h-12 mb-4 text-black dark:text-white opacity-20\"\n />\n <div className=\"flex flex-col items-center justify-center gap-2\">\n <div className=\"text-sm font-medium text-center text-neutral-400 dark:text-neutral-500\">\n {draggedInside ? \"Drop image here\" : \"Drag and drop or\"}\n </div>\n <div>\n <Button\n type=\"button\"\n disabled={draggedInside}\n onClick={handleUploadClick}\n variant=\"primary\"\n buttonSize=\"small\"\n >\n <Icon icon={Upload} />\n Upload an image\n </Button>\n </div>\n </div>\n <input\n className=\"w-0 h-0 overflow-hidden opacity-0\"\n ref={ref}\n type=\"file\"\n accept=\".jpg,.jpeg,.png,.webp,.gif\"\n onChange={onFileChange}\n />\n </div>\n );\n};\n\nexport default ImageUploader;\n"],"names":["Image","Upload","useCallback","Button","Icon","Spinner","cn","useDropZone","useFileUpload","useUploader","ImageUploader","onUpload","loading","uploadFile","handleUploadClick","ref","draggedInside","onDrop","onDragEnter","onDragLeave","uploader","onFileChange","e","target","files","div","className","size","wrapperClass","onDragOver","contentEditable","icon","type","disabled","onClick","variant","buttonSize","input","accept","onChange"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,KAAK,EAAEC,MAAM,QAAQ,eAAe;AAC7C,SAAsBC,WAAW,QAAQ,QAAQ;AACjD,SAASC,MAAM,QAAQ,yCAAyC;AAChE,SAASC,IAAI,QAAQ,gCAAgC;AACrD,SAASC,OAAO,QAAQ,2CAA2C;AACnE,SAASC,EAAE,QAAQ,8BAA8B;AACjD,SAASC,WAAW,EAAEC,aAAa,EAAEC,WAAW,QAAQ,aAAa;AACrE,OAAO,MAAMC,gBAAgB,CAAC,EAC5BC,QAAQ,EAGT;IACC,MAAM,EAAEC,OAAO,EAAEC,UAAU,EAAE,GAAGJ,YAAY;QAAEE;IAAS;IACvD,MAAM,EAAEG,iBAAiB,EAAEC,GAAG,EAAE,GAAGP;IACnC,MAAM,EAAEQ,aAAa,EAAEC,MAAM,EAAEC,WAAW,EAAEC,WAAW,EAAE,GAAGZ,YAAY;QACtEa,UAAUP;IACZ;IAEA,MAAMQ,eAAenB,YACnB,CAACoB,IACCA,EAAEC,MAAM,CAACC,KAAK,GAAGX,eAAe,MAClC;QAACA;KAAW;IAGd,IAAID,SAAS;QACX,qBACE,KAACa;YAAIC,WAAU;sBACb,cAAA,KAACrB;gBAAQqB,WAAU;gBAAmBC,MAAM;;;IAGlD;IAEA,MAAMC,eAAetB,GACnB,iFACAU,iBAAiB;IAGnB,qBACE,MAACS;QACCC,WAAWE;QACXX,QAAQA;QACRY,YAAYX;QACZC,aAAaA;QACbW,iBAAiB;;0BAEjB,KAAC1B;gBACC2B,MAAM/B;gBACN0B,WAAU;;0BAEZ,MAACD;gBAAIC,WAAU;;kCACb,KAACD;wBAAIC,WAAU;kCACZV,gBAAgB,oBAAoB;;kCAEvC,KAACS;kCACC,cAAA,MAACtB;4BACC6B,MAAK;4BACLC,UAAUjB;4BACVkB,SAASpB;4BACTqB,SAAQ;4BACRC,YAAW;;8CAEX,KAAChC;oCAAK2B,MAAM9B;;gCAAU;;;;;;0BAK5B,KAACoC;gBACCX,WAAU;gBACVX,KAAKA;gBACLiB,MAAK;gBACLM,QAAO;gBACPC,UAAUlB;;;;AAIlB,EAAE;AAEF,eAAeX,cAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageUpload/view/hooks.ts"],"sourcesContent":["import { DragEvent, useCallback, useEffect, useRef, useState } from \"react\";\nimport API from \"../../../lib/api.js\";\n\nexport const useUploader = ({\n onUpload,\n}: {\n onUpload: (url: string) => void;\n}) => {\n const [loading, setLoading] = useState(false);\n\n const uploadFile = useCallback(async () => {\n setLoading(true);\n try {\n const url = await API.uploadImage();\n\n onUpload(url);\n } catch (errPayload: any) {\n const error = errPayload?.response?.data?.error || \"Something went wrong\";\n // toast(error)\n console.log(\"ERROR\", error);\n }\n setLoading(false);\n }, [onUpload]);\n\n return { loading, uploadFile };\n};\n\nexport const useFileUpload = () => {\n const fileInput = useRef<HTMLInputElement>(null);\n\n const handleUploadClick = useCallback(() => {\n fileInput.current?.click();\n }, []);\n\n return { ref: fileInput, handleUploadClick };\n};\n\nexport const useDropZone = ({\n uploader,\n}: {\n uploader: (file: File) => void;\n}) => {\n const [isDragging, setIsDragging] = useState<boolean>(false);\n const [draggedInside, setDraggedInside] = useState<boolean>(false);\n\n useEffect(() => {\n const dragStartHandler = () => {\n setIsDragging(true);\n };\n\n const dragEndHandler = () => {\n setIsDragging(false);\n };\n\n document.body.addEventListener(\"dragstart\", dragStartHandler);\n document.body.addEventListener(\"dragend\", dragEndHandler);\n\n return () => {\n document.body.removeEventListener(\"dragstart\", dragStartHandler);\n document.body.removeEventListener(\"dragend\", dragEndHandler);\n };\n }, []);\n\n const onDrop = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n setDraggedInside(false);\n if (e.dataTransfer.files.length === 0) {\n return;\n }\n\n const fileList = e.dataTransfer.files;\n\n const files: File[] = [];\n\n for (let i = 0; i < fileList.length; i += 1) {\n const item = fileList.item(i);\n if (item) {\n files.push(item);\n }\n }\n\n if (files.some((file) => file.type.indexOf(\"image\") === -1)) {\n return;\n }\n\n e.preventDefault();\n\n const filteredFiles = files.filter((f) => f.type.indexOf(\"image\") !== -1);\n\n const file = filteredFiles.length > 0 ? filteredFiles[0] : undefined;\n\n if (file) {\n uploader(file);\n }\n },\n [uploader]\n );\n\n const onDragEnter = () => {\n setDraggedInside(true);\n };\n\n const onDragLeave = () => {\n setDraggedInside(false);\n };\n\n return { isDragging, draggedInside, onDragEnter, onDragLeave, onDrop };\n};\n"],"names":["useCallback","useEffect","useRef","useState","API","useUploader","onUpload","loading","setLoading","uploadFile","url","uploadImage","errPayload","error","response","data","console","log","useFileUpload","fileInput","handleUploadClick","current","click","ref","useDropZone","uploader","isDragging","setIsDragging","draggedInside","setDraggedInside","dragStartHandler","dragEndHandler","document","body","addEventListener","removeEventListener","onDrop","e","dataTransfer","files","length","fileList","i","item","push","some","file","type","indexOf","preventDefault","filteredFiles","filter","f","undefined","onDragEnter","onDragLeave"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAAoBA,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AAC5E,OAAOC,SAAS,sBAAsB;AAEtC,OAAO,MAAMC,cAAc,CAAC,EAC1BC,QAAQ,EAGT;IACC,MAAM,CAACC,SAASC,WAAW,GAAGL,SAAS;IAEvC,MAAMM,aAAaT,YAAY;QAC7BQ,WAAW;QACX,IAAI;YACF,MAAME,MAAM,MAAMN,IAAIO,WAAW;YAEjCL,SAASI;QACX,EAAE,OAAOE,YAAiB;YACxB,MAAMC,QAAQD,YAAYE,UAAUC,MAAMF,SAAS;YACnD,eAAe;YACfG,QAAQC,GAAG,CAAC,SAASJ;QACvB;QACAL,WAAW;IACb,GAAG;QAACF;KAAS;IAEb,OAAO;QAAEC;QAASE;IAAW;AAC/B,EAAE;AAEF,OAAO,MAAMS,gBAAgB;IAC3B,MAAMC,YAAYjB,OAAyB;IAE3C,MAAMkB,oBAAoBpB,YAAY;QACpCmB,UAAUE,OAAO,EAAEC;IACrB,GAAG,EAAE;IAEL,OAAO;QAAEC,KAAKJ;QAAWC;IAAkB;AAC7C,EAAE;AAEF,OAAO,MAAMI,cAAc,CAAC,EAC1BC,QAAQ,EAGT;IACC,MAAM,CAACC,YAAYC,cAAc,GAAGxB,SAAkB;IACtD,MAAM,CAACyB,eAAeC,iBAAiB,GAAG1B,SAAkB;IAE5DF,UAAU;QACR,MAAM6B,mBAAmB;YACvBH,cAAc;QAChB;QAEA,MAAMI,iBAAiB;YACrBJ,cAAc;QAChB;QAEAK,SAASC,IAAI,CAACC,gBAAgB,CAAC,aAAaJ;QAC5CE,SAASC,IAAI,CAACC,gBAAgB,CAAC,WAAWH;QAE1C,OAAO;YACLC,SAASC,IAAI,CAACE,mBAAmB,CAAC,aAAaL;YAC/CE,SAASC,IAAI,CAACE,mBAAmB,CAAC,WAAWJ;QAC/C;IACF,GAAG,EAAE;IAEL,MAAMK,SAASpC,YACb,CAACqC;QACCR,iBAAiB;QACjB,IAAIQ,EAAEC,YAAY,CAACC,KAAK,CAACC,MAAM,KAAK,GAAG;YACrC;QACF;QAEA,MAAMC,WAAWJ,EAAEC,YAAY,CAACC,KAAK;QAErC,MAAMA,QAAgB,EAAE;QAExB,IAAK,IAAIG,IAAI,GAAGA,IAAID,SAASD,MAAM,EAAEE,KAAK,EAAG;YAC3C,MAAMC,OAAOF,SAASE,IAAI,CAACD;YAC3B,IAAIC,MAAM;gBACRJ,MAAMK,IAAI,CAACD;YACb;QACF;QAEA,IAAIJ,MAAMM,IAAI,CAAC,CAACC,OAASA,KAAKC,IAAI,CAACC,OAAO,CAAC,aAAa,CAAC,IAAI;YAC3D;QACF;QAEAX,EAAEY,cAAc;QAEhB,MAAMC,gBAAgBX,MAAMY,MAAM,CAAC,CAACC,IAAMA,EAAEL,IAAI,CAACC,OAAO,CAAC,aAAa,CAAC;QAEvE,MAAMF,OAAOI,cAAcV,MAAM,GAAG,IAAIU,aAAa,CAAC,EAAE,GAAGG;QAE3D,IAAIP,MAAM;YACRrB,SAASqB;QACX;IACF,GACA;QAACrB;KAAS;IAGZ,MAAM6B,cAAc;QAClBzB,iBAAiB;IACnB;IAEA,MAAM0B,cAAc;QAClB1B,iBAAiB;IACnB;IAEA,OAAO;QAAEH;QAAYE;QAAe0B;QAAaC;QAAanB;IAAO;AACvE,EAAE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageUpload/view/index.tsx"],"sourcesContent":["export * from \"./ImageUpload.jsx\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,oBAAoB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/InsideLinks/InsideLink.client.tsx"],"sourcesContent":["\"use client\";\n\n// import { CustomRelationShipComponent } from '@/components/CustomRelationshipComponent'\n// import { PayloadAsyncSelect } from '@/components/PayloadAsyncSelect'\nimport { Button } from \"@payloadcms/ui/elements/Button\";\nimport { useCallback, useState } from \"react\";\n\nconst limit = 10;\nexport const ContentRelationship = ({\n setRelationship,\n cancelSelection,\n}: {\n type?: string;\n relationId?: string;\n cancelSelection: () => void;\n setRelationship: ({\n id,\n type,\n thumbnail,\n title,\n url,\n }: {\n id: string;\n type: string;\n thumbnail: string;\n title: string;\n url: string;\n }) => void;\n}) => {\n const [optionType, setOptionType] = useState(\"articles\");\n const [relationOption, setRelationOption] = useState<any>(null);\n const opts = [\n {\n label: \"Article\",\n value: \"articles\",\n },\n {\n label: \"Video\",\n value: \"video\",\n },\n {\n label: \"Audio\",\n value: \"audios\",\n },\n // {\n // label: 'Media',\n // value: 'media',\n // },\n ];\n\n const fetchContentTypes = useCallback(\n async (search: any, loadedOptions: any, { page }: any) => {\n try {\n // Perform your API call with the endpoint and inputValue\n\n return {\n options: opts,\n hasMore: opts?.length === limit,\n additional: {\n page: page + 1,\n },\n };\n } catch (error) {\n // console.error('Error fetching data:', error)\n }\n },\n []\n );\n return (\n <div className=\"w-full min-w-[300px] \">\n {/* <PayloadAsyncSelect\n fetchData={fetchContentTypes as any}\n handleChange={(val: string) => {\n setOptionType(val);\n }}\n defaultValue={opts?.find((option) => {\n return option.value === optionType;\n })}\n cacheOptions={null}\n /> */}\n\n {/* <CustomRelationShipComponent\n label={`${\n opts?.find((option) => {\n return option.value === optionType\n })?.label\n } Content`}\n collection={optionType}\n key={optionType}\n value={relationOption?.id ?? null}\n handleChange={(val: any) => {\n setRelationOption(val)\n }}\n handleInitialLoad={(val: any) => {\n setRelationOption(val)\n }}\n /> */}\n\n <div>\n <Button\n onClick={() => {\n let url = \"\";\n const topic = relationOption?.topics?.[0]?.slug ?? \"\";\n switch (optionType) {\n case \"articles\":\n url = `/${topic}/${relationOption?.slug}`;\n break;\n case \"video\":\n url = `/video/${relationOption?.slug}`;\n\n break;\n case \"audios\":\n url = `/audio/${relationOption?.slug}`;\n break;\n }\n setRelationship({\n id: relationOption?.id,\n type: optionType,\n thumbnail: relationOption?.thumbnail?.url,\n title: relationOption?.title,\n url: url,\n });\n }}\n >\n Save\n </Button>\n\n {/* <Button\n onClick={() => {\n cancelSelection()\n }}\n >\n Cancel\n </Button> */}\n </div>\n </div>\n );\n};\n"],"names":["Button","useCallback","useState","limit","ContentRelationship","setRelationship","cancelSelection","optionType","setOptionType","relationOption","setRelationOption","opts","label","value","fetchContentTypes","search","loadedOptions","page","options","hasMore","length","additional","error","div","className","onClick","url","topic","topics","slug","id","type","thumbnail","title"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAEA,yFAAyF;AACzF,uEAAuE;AACvE,SAASA,MAAM,QAAQ,iCAAiC;AACxD,SAASC,WAAW,EAAEC,QAAQ,QAAQ,QAAQ;AAE9C,MAAMC,QAAQ;AACd,OAAO,MAAMC,sBAAsB,CAAC,EAClCC,eAAe,EACfC,eAAe,EAkBhB;IACC,MAAM,CAACC,YAAYC,cAAc,GAAGN,SAAS;IAC7C,MAAM,CAACO,gBAAgBC,kBAAkB,GAAGR,SAAc;IAC1D,MAAMS,OAAO;QACX;YACEC,OAAO;YACPC,OAAO;QACT;QACA;YACED,OAAO;YACPC,OAAO;QACT;QACA;YACED,OAAO;YACPC,OAAO;QACT;KAKD;IAED,MAAMC,oBAAoBb,YACxB,OAAOc,QAAaC,eAAoB,EAAEC,IAAI,EAAO;QACnD,IAAI;YACF,yDAAyD;YAEzD,OAAO;gBACLC,SAASP;gBACTQ,SAASR,MAAMS,WAAWjB;gBAC1BkB,YAAY;oBACVJ,MAAMA,OAAO;gBACf;YACF;QACF,EAAE,OAAOK,OAAO;QACd,+CAA+C;QACjD;IACF,GACA,EAAE;IAEJ,qBACE,KAACC;QAAIC,WAAU;kBA6Bb,cAAA,KAACD;sBACC,cAAA,KAACvB;gBACCyB,SAAS;oBACP,IAAIC,MAAM;oBACV,MAAMC,QAAQlB,gBAAgBmB,QAAQ,CAAC,EAAE,EAAEC,QAAQ;oBACnD,OAAQtB;wBACN,KAAK;4BACHmB,MAAM,CAAC,CAAC,EAAEC,MAAM,CAAC,EAAElB,gBAAgBoB,KAAK,CAAC;4BACzC;wBACF,KAAK;4BACHH,MAAM,CAAC,OAAO,EAAEjB,gBAAgBoB,KAAK,CAAC;4BAEtC;wBACF,KAAK;4BACHH,MAAM,CAAC,OAAO,EAAEjB,gBAAgBoB,KAAK,CAAC;4BACtC;oBACJ;oBACAxB,gBAAgB;wBACdyB,IAAIrB,gBAAgBqB;wBACpBC,MAAMxB;wBACNyB,WAAWvB,gBAAgBuB,WAAWN;wBACtCO,OAAOxB,gBAAgBwB;wBACvBP,KAAKA;oBACP;gBACF;0BACD;;;;AAcT,EAAE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.tsx"],"sourcesContent":["import { ExternalLinkIcon } from \"@payloadcms/ui/graphics/ExternalLink\";\nimport { NodeViewContent, NodeViewWrapper } from \"@tiptap/react\";\nimport { isRTL } from \"../../lib/utils/isRtl.js\";\n\nexport default (props: any) => {\n return (\n <NodeViewWrapper\n className=\"react-component\"\n onClick={() => {\n props.editor.commands.setNodeSelection(props.getPos());\n }}\n >\n <NodeViewContent contentEditable=\"false\" className=\"socialMediaContainer\">\n {props?.node.type.spec.draggable ? (\n <div draggable=\"true\" data-drag-handle=\"\" style={{ width: \"100%\" }}>\n {!props?.node?.attrs?.id ?? \"\" ? (\n <div\n className=\"w-full bg-zinc-100 py-8 px-6 flex items-center justify-center gap-2 socialMediaCard\"\n draggable=\"true\"\n data-drag-handle=\"\"\n contentEditable=\"false\"\n >\n <ExternalLinkIcon className=\"h-6 w-6\" />\n\n <p\n className=\"w-full flex items-center justify-start mt-0\"\n style={{\n marginTop: 0,\n }}\n >\n Add Internal Content Links\n {/* {text} */}\n </p>\n </div>\n ) : (\n <div className=\"flex justify-center items-center w-full gap-x-6\">\n <div className=\"flex justify-center items-center\">\n <div className=\"w-[32px] h-[64px] bg-blue-400\"></div>\n <img\n src={props?.node?.attrs?.thumbnail ?? \"\"}\n width={212}\n height={120}\n alt={\"\"}\n className=\"-ml-6 !w-[212px] !h-[120px] object-cover\"\n />\n </div>\n <div className=\"flex flex-col justidy-start items-start font-trt gap-y-2 \">\n <a\n className=\"text-black dark:text-white text-lg capitalize w-full\"\n // href={`https://test-payload.trtglobal.tech/en${props?.node?.attrs?.url}` ?? ''}\n\n dir={isRTL(\"بیشتر بخوانید\" ?? \"\") ? \"rtl\" : \"ltr\"}\n >\n بیشتر بخوانید\n </a>\n <h3\n className=\"text-2xl font-bold !mt-0 w-full\"\n dir={isRTL(props?.node?.attrs?.title ?? \"\") ? \"rtl\" : \"ltr\"}\n >\n {props?.node?.attrs?.title}\n </h3>\n </div>\n </div>\n )}\n </div>\n ) : null}\n </NodeViewContent>\n </NodeViewWrapper>\n );\n};\n"],"names":["ExternalLinkIcon","NodeViewContent","NodeViewWrapper","isRTL","props","className","onClick","editor","commands","setNodeSelection","getPos","contentEditable","node","type","spec","draggable","div","data-drag-handle","style","width","attrs","id","p","marginTop","img","src","thumbnail","height","alt","a","dir","h3","title"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,gBAAgB,QAAQ,uCAAuC;AACxE,SAASC,eAAe,EAAEC,eAAe,QAAQ,gBAAgB;AACjE,SAASC,KAAK,QAAQ,2BAA2B;AAEjD,eAAe,CAAA,CAACC;IACd,qBACE,KAACF;QACCG,WAAU;QACVC,SAAS;YACPF,MAAMG,MAAM,CAACC,QAAQ,CAACC,gBAAgB,CAACL,MAAMM,MAAM;QACrD;kBAEA,cAAA,KAACT;YAAgBU,iBAAgB;YAAQN,WAAU;sBAChDD,OAAOQ,KAAKC,KAAKC,KAAKC,0BACrB,KAACC;gBAAID,WAAU;gBAAOE,oBAAiB;gBAAGC,OAAO;oBAAEC,OAAO;gBAAO;0BAC9D,CAACf,OAAOQ,MAAMQ,OAAOC,MAAM,mBAC1B,MAACL;oBACCX,WAAU;oBACVU,WAAU;oBACVE,oBAAiB;oBACjBN,iBAAgB;;sCAEhB,KAACX;4BAAiBK,WAAU;;sCAE5B,KAACiB;4BACCjB,WAAU;4BACVa,OAAO;gCACLK,WAAW;4BACb;sCACD;;;mCAMH,MAACP;oBAAIX,WAAU;;sCACb,MAACW;4BAAIX,WAAU;;8CACb,KAACW;oCAAIX,WAAU;;8CACf,KAACmB;oCACCC,KAAKrB,OAAOQ,MAAMQ,OAAOM,aAAa;oCACtCP,OAAO;oCACPQ,QAAQ;oCACRC,KAAK;oCACLvB,WAAU;;;;sCAGd,MAACW;4BAAIX,WAAU;;8CACb,KAACwB;oCACCxB,WAAU;oCACV,kFAAkF;oCAElFyB,KAAK3B,MAAM,mBAAmB,MAAM,QAAQ;8CAC7C;;8CAGD,KAAC4B;oCACC1B,WAAU;oCACVyB,KAAK3B,MAAMC,OAAOQ,MAAMQ,OAAOY,SAAS,MAAM,QAAQ;8CAErD5B,OAAOQ,MAAMQ,OAAOY;;;;;;iBAM7B;;;AAIZ,CAAA,EAAE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/InsideLinks/index.ts"],"sourcesContent":["export * from \"./insideLinks.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,mBAAmB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/InsideLinks/insideLinks.ts"],"sourcesContent":["declare module \"@tiptap/core\" {\n interface Commands<ReturnType> {\n insideLinks: {\n /**\n * Add an image\n */\n\n insertInsideLinks: ({\n thumbnail,\n title,\n id,\n type,\n url,\n }: {\n thumbnail?: string;\n title?: string;\n id?: string;\n type?: string;\n url?: string;\n }) => ReturnType;\n };\n }\n}\n\nimport { Node, mergeAttributes } from \"@tiptap/core\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport InsideLinksComponent from \"./InsideLinksComponent.jsx\";\n\nexport const InsideLinks = Node.create({\n name: \"insideLinks\",\n\n group: \"block\",\n content: \"inline*\",\n draggable: true,\n\n // content: 'inline*',\n\n parseHTML() {\n return [\n {\n tag: 'div[data-type=\"insideLinks\"]',\n },\n ];\n },\n\n addAttributes() {\n return {\n thumbnail: { default: null },\n title: { default: null },\n id: { default: null },\n type: { default: null },\n url: { default: null },\n };\n },\n\n addKeyboardShortcuts() {\n return {\n \"Mod-Enter\": () => {\n return this.editor\n .chain()\n .insertContentAt(this.editor.state.selection.head, {\n type: this.type.name,\n })\n .focus()\n .run();\n },\n };\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n \"div\",\n mergeAttributes(HTMLAttributes, { \"data-type\": \"insideLinks\" }),\n 0,\n ];\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(InsideLinksComponent);\n },\n\n addCommands() {\n return {\n insertInsideLinks:\n ({\n thumbnail,\n title,\n id,\n type,\n url,\n }: {\n thumbnail?: string;\n title?: string;\n id?: string;\n type?: string;\n url?: string;\n }) =>\n ({ commands, state }) => {\n return commands.insertContent({\n type: \"insideLinks\",\n attrs: {\n thumbnail,\n title,\n id,\n type,\n url,\n },\n });\n },\n };\n },\n});\n\nfunction isValidHttpUrl(string: string) {\n let url;\n\n try {\n url = new URL(string);\n } catch (_) {\n return false;\n }\n\n return url.protocol === \"http:\" || url.protocol === \"https:\";\n}\n"],"names":["Node","mergeAttributes","ReactNodeViewRenderer","InsideLinksComponent","InsideLinks","create","name","group","content","draggable","parseHTML","tag","addAttributes","thumbnail","default","title","id","type","url","addKeyboardShortcuts","editor","chain","insertContentAt","state","selection","head","focus","run","renderHTML","HTMLAttributes","addNodeView","addCommands","insertInsideLinks","commands","insertContent","attrs","isValidHttpUrl","string","URL","_","protocol"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAwBA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AACrD,SAASC,qBAAqB,QAAQ,gBAAgB;AACtD,OAAOC,0BAA0B,6BAA6B;AAE9D,OAAO,MAAMC,cAAcJ,KAAKK,MAAM,CAAC;IACrCC,MAAM;IAENC,OAAO;IACPC,SAAS;IACTC,WAAW;IAEX,sBAAsB;IAEtBC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IAEAC;QACE,OAAO;YACLC,WAAW;gBAAEC,SAAS;YAAK;YAC3BC,OAAO;gBAAED,SAAS;YAAK;YACvBE,IAAI;gBAAEF,SAAS;YAAK;YACpBG,MAAM;gBAAEH,SAAS;YAAK;YACtBI,KAAK;gBAAEJ,SAAS;YAAK;QACvB;IACF;IAEAK;QACE,OAAO;YACL,aAAa;gBACX,OAAO,IAAI,CAACC,MAAM,CACfC,KAAK,GACLC,eAAe,CAAC,IAAI,CAACF,MAAM,CAACG,KAAK,CAACC,SAAS,CAACC,IAAI,EAAE;oBACjDR,MAAM,IAAI,CAACA,IAAI,CAACX,IAAI;gBACtB,GACCoB,KAAK,GACLC,GAAG;YACR;QACF;IACF;IAEAC,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACA5B,gBAAgB4B,gBAAgB;gBAAE,aAAa;YAAc;YAC7D;SACD;IACH;IAEAC;QACE,OAAO5B,sBAAsBC;IAC/B;IAEA4B;QACE,OAAO;YACLC,mBACE,CAAC,EACCnB,SAAS,EACTE,KAAK,EACLC,EAAE,EACFC,IAAI,EACJC,GAAG,EAOJ,GACD,CAAC,EAAEe,QAAQ,EAAEV,KAAK,EAAE;oBAClB,OAAOU,SAASC,aAAa,CAAC;wBAC5BjB,MAAM;wBACNkB,OAAO;4BACLtB;4BACAE;4BACAC;4BACAC;4BACAC;wBACF;oBACF;gBACF;QACJ;IACF;AACF,GAAG;AAEH,SAASkB,eAAeC,MAAc;IACpC,IAAInB;IAEJ,IAAI;QACFA,MAAM,IAAIoB,IAAID;IAChB,EAAE,OAAOE,GAAG;QACV,OAAO;IACT;IAEA,OAAOrB,IAAIsB,QAAQ,KAAK,WAAWtB,IAAIsB,QAAQ,KAAK;AACtD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/InsideLinks/menus/InsideLinksMenu.tsx"],"sourcesContent":["import { BubbleMenu as BaseBubbleMenu } from \"@tiptap/react\";\nimport { useCallback } from \"react\";\n\nimport { MenuProps } from \"../../../features/menus/types.js\";\nimport { InsideLinksEditorPanel } from \"../../../features/panels/InsideLinksEditorPanel/index.jsx\";\n\nexport const InsideLinksMenu = ({ editor, appendTo }: MenuProps) => {\n const shouldShow = useCallback(() => {\n const isInsideLinks = editor.isActive(\"insideLinks\");\n return isInsideLinks;\n }, [editor]);\n\n const onRelationshipSelect = useCallback(\n ({\n id,\n type,\n thumbnail,\n title,\n url,\n }: {\n id: string;\n type: string;\n thumbnail: string;\n title: string;\n url: string;\n }) => {\n editor\n .chain()\n .focus()\n .insertInsideLinks({ id, type, thumbnail, title, url })\n .run();\n },\n [editor]\n );\n\n return (\n <BaseBubbleMenu\n editor={editor}\n pluginKey={`socialMediaMenu`}\n shouldShow={shouldShow}\n tippyOptions={{\n popperOptions: { placement: \"bottom\" },\n placement: \"bottom\",\n // appendTo: () => {\n // return appendTo?.current\n // },\n }}\n updateDelay={100}\n >\n <p>Inside Links</p>\n <InsideLinksEditorPanel\n onRelationshipSelect={onRelationshipSelect}\n onCancel={() => {\n editor.chain().blur().run();\n }}\n />\n {/* <SocialMediaPopover onSetLink={onHtml} initialSrcLink={''} /> */}\n {/* \n <Toolbar.Wrapper>\n <to\n <Toolbar.Button\n type=\"button\"\n tooltip=\"Sidebar left\"\n active={true}\n // onClick={onColumnLeft}\n >\n <SocialMediaPopover onSetLink={onHtml} initialSrcLink={''} />\n </Toolbar.Button>\n </Toolbar.Wrapper> */}\n </BaseBubbleMenu>\n );\n};\n\nexport default InsideLinksMenu;\n"],"names":["BubbleMenu","BaseBubbleMenu","useCallback","InsideLinksEditorPanel","InsideLinksMenu","editor","appendTo","shouldShow","isInsideLinks","isActive","onRelationshipSelect","id","type","thumbnail","title","url","chain","focus","insertInsideLinks","run","pluginKey","tippyOptions","popperOptions","placement","updateDelay","p","onCancel","blur"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,cAAcC,cAAc,QAAQ,gBAAgB;AAC7D,SAASC,WAAW,QAAQ,QAAQ;AAGpC,SAASC,sBAAsB,QAAQ,4DAA4D;AAEnG,OAAO,MAAMC,kBAAkB,CAAC,EAAEC,MAAM,EAAEC,QAAQ,EAAa;IAC7D,MAAMC,aAAaL,YAAY;QAC7B,MAAMM,gBAAgBH,OAAOI,QAAQ,CAAC;QACtC,OAAOD;IACT,GAAG;QAACH;KAAO;IAEX,MAAMK,uBAAuBR,YAC3B,CAAC,EACCS,EAAE,EACFC,IAAI,EACJC,SAAS,EACTC,KAAK,EACLC,GAAG,EAOJ;QACCV,OACGW,KAAK,GACLC,KAAK,GACLC,iBAAiB,CAAC;YAAEP;YAAIC;YAAMC;YAAWC;YAAOC;QAAI,GACpDI,GAAG;IACR,GACA;QAACd;KAAO;IAGV,qBACE,MAACJ;QACCI,QAAQA;QACRe,WAAW,CAAC,eAAe,CAAC;QAC5Bb,YAAYA;QACZc,cAAc;YACZC,eAAe;gBAAEC,WAAW;YAAS;YACrCA,WAAW;QAIb;QACAC,aAAa;;0BAEb,KAACC;0BAAE;;0BACH,KAACtB;gBACCO,sBAAsBA;gBACtBgB,UAAU;oBACRrB,OAAOW,KAAK,GAAGW,IAAI,GAAGR,GAAG;gBAC3B;;;;AAiBR,EAAE;AAEF,eAAef,gBAAgB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/InsideLinks/menus/index.ts"],"sourcesContent":["export * from \"./InsideLinksMenu.jsx\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,wBAAwB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Link/Link.ts"],"sourcesContent":["import { PasteRule, mergeAttributes } from '@tiptap/core'\nimport TiptapLink from '@tiptap/extension-link'\nimport { Plugin } from '@tiptap/pm/state'\nimport { EditorView } from '@tiptap/pm/view'\n\nexport const Link = TiptapLink.extend({\n inclusive: false,\n\n parseHTML() {\n return [{ tag: 'a[href]:not([data-type=\"button\"]):not([href *= \"javascript:\" i])' }]\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['a', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, { class: 'link' }), 0]\n },\n\n addPasteRules() {\n const twitterRegex = /^https:\\/\\/twitter\\.com\\/([a-zA-Z0-9_-]+)\\/status\\/(\\d+)/g\n const instagramRegex = /^https:\\/\\/www\\.instagram\\.com\\/p\\/([A-Za-z0-9_-]+)/g\n const youtubeRegex =\n /^((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|live\\/|v\\/)?)([\\w\\-]+)(\\S+)?/g\n\n return [\n new PasteRule({\n find: twitterRegex,\n handler: ({ commands, match, state, pasteEvent, chain }) => {\n const matchUrl = match?.[0]\n chain().selectParentNode().deleteSelection().insertTwitter(matchUrl).run()\n },\n }),\n new PasteRule({\n find: instagramRegex,\n handler: ({ commands, match, state, pasteEvent, chain }) => {\n const matchUrl = match?.[0]\n chain().selectParentNode().deleteSelection().insertInstagram(matchUrl).run()\n },\n }),\n new PasteRule({\n find: youtubeRegex,\n handler: ({ commands, match, state, pasteEvent, chain }) => {\n const matchUrl = match?.[0]\n chain().selectParentNode().deleteSelection().insertYoutube(matchUrl).run()\n },\n }),\n ]\n },\n addProseMirrorPlugins() {\n const { editor } = this\n\n return [\n ...(this.parent?.() || []),\n new Plugin({\n props: {\n handleKeyDown: (view: EditorView, event: KeyboardEvent) => {\n const { selection } = editor.state\n\n if (event.key === 'Escape' && selection.empty !== true) {\n editor.commands.focus(selection.to, { scrollIntoView: false })\n }\n\n return false\n },\n },\n }),\n ]\n },\n})\n\nexport default Link\n"],"names":["PasteRule","mergeAttributes","TiptapLink","Plugin","Link","extend","inclusive","parseHTML","tag","renderHTML","HTMLAttributes","options","class","addPasteRules","twitterRegex","instagramRegex","youtubeRegex","find","handler","commands","match","state","pasteEvent","chain","matchUrl","selectParentNode","deleteSelection","insertTwitter","run","insertInstagram","insertYoutube","addProseMirrorPlugins","editor","parent","props","handleKeyDown","view","event","selection","key","empty","focus","to","scrollIntoView"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,SAAS,EAAEC,eAAe,QAAQ,eAAc;AACzD,OAAOC,gBAAgB,yBAAwB;AAC/C,SAASC,MAAM,QAAQ,mBAAkB;AAGzC,OAAO,MAAMC,OAAOF,WAAWG,MAAM,CAAC;IACpCC,WAAW;IAEXC;QACE,OAAO;YAAC;gBAAEC,KAAK;YAAmE;SAAE;IACtF;IAEAC,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YAAC;YAAKT,gBAAgB,IAAI,CAACU,OAAO,CAACD,cAAc,EAAEA,gBAAgB;gBAAEE,OAAO;YAAO;YAAI;SAAE;IAClG;IAEAC;QACE,MAAMC,eAAe;QACrB,MAAMC,iBAAiB;QACvB,MAAMC,eACJ;QAEF,OAAO;YACL,IAAIhB,UAAU;gBACZiB,MAAMH;gBACNI,SAAS,CAAC,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,EAAEC,UAAU,EAAEC,KAAK,EAAE;oBACrD,MAAMC,WAAWJ,OAAO,CAAC,EAAE;oBAC3BG,QAAQE,gBAAgB,GAAGC,eAAe,GAAGC,aAAa,CAACH,UAAUI,GAAG;gBAC1E;YACF;YACA,IAAI5B,UAAU;gBACZiB,MAAMF;gBACNG,SAAS,CAAC,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,EAAEC,UAAU,EAAEC,KAAK,EAAE;oBACrD,MAAMC,WAAWJ,OAAO,CAAC,EAAE;oBAC3BG,QAAQE,gBAAgB,GAAGC,eAAe,GAAGG,eAAe,CAACL,UAAUI,GAAG;gBAC5E;YACF;YACA,IAAI5B,UAAU;gBACZiB,MAAMD;gBACNE,SAAS,CAAC,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,EAAEC,UAAU,EAAEC,KAAK,EAAE;oBACrD,MAAMC,WAAWJ,OAAO,CAAC,EAAE;oBAC3BG,QAAQE,gBAAgB,GAAGC,eAAe,GAAGI,aAAa,CAACN,UAAUI,GAAG;gBAC1E;YACF;SACD;IACH;IACAG;QACE,MAAM,EAAEC,MAAM,EAAE,GAAG,IAAI;QAEvB,OAAO;eACD,IAAI,CAACC,MAAM,QAAQ,EAAE;YACzB,IAAI9B,OAAO;gBACT+B,OAAO;oBACLC,eAAe,CAACC,MAAkBC;wBAChC,MAAM,EAAEC,SAAS,EAAE,GAAGN,OAAOX,KAAK;wBAElC,IAAIgB,MAAME,GAAG,KAAK,YAAYD,UAAUE,KAAK,KAAK,MAAM;4BACtDR,OAAOb,QAAQ,CAACsB,KAAK,CAACH,UAAUI,EAAE,EAAE;gCAAEC,gBAAgB;4BAAM;wBAC9D;wBAEA,OAAO;oBACT;gBACF;YACF;SACD;IACH;AACF,GAAE;AAEF,eAAevC,KAAI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Link/index.ts"],"sourcesContent":["export * from \"./Link.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,YAAY"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/MultiColumn/Column.ts"],"sourcesContent":["import { Node, mergeAttributes } from '@tiptap/core'\n\nexport const Column = Node.create({\n name: 'column',\n\n content: 'block+',\n\n isolating: true,\n\n addAttributes() {\n return {\n position: {\n default: '',\n parseHTML: element => element.getAttribute('data-position'),\n renderHTML: attributes => ({ 'data-position': attributes.position }),\n },\n }\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['div', mergeAttributes(HTMLAttributes, { 'data-type': 'column' }), 0]\n },\n\n parseHTML() {\n return [\n {\n tag: 'div[data-type=\"column\"]',\n },\n ]\n },\n})\n\nexport default Column\n"],"names":["Node","mergeAttributes","Column","create","name","content","isolating","addAttributes","position","default","parseHTML","element","getAttribute","renderHTML","attributes","HTMLAttributes","tag"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAc;AAEpD,OAAO,MAAMC,SAASF,KAAKG,MAAM,CAAC;IAChCC,MAAM;IAENC,SAAS;IAETC,WAAW;IAEXC;QACE,OAAO;YACLC,UAAU;gBACRC,SAAS;gBACTC,WAAWC,CAAAA,UAAWA,QAAQC,YAAY,CAAC;gBAC3CC,YAAYC,CAAAA,aAAe,CAAA;wBAAE,iBAAiBA,WAAWN,QAAQ;oBAAC,CAAA;YACpE;QACF;IACF;IAEAK,YAAW,EAAEE,cAAc,EAAE;QAC3B,OAAO;YAAC;YAAOd,gBAAgBc,gBAAgB;gBAAE,aAAa;YAAS;YAAI;SAAE;IAC/E;IAEAL;QACE,OAAO;YACL;gBACEM,KAAK;YACP;SACD;IACH;AACF,GAAE;AAEF,eAAed,OAAM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/MultiColumn/Columns.ts"],"sourcesContent":["import { Node } from '@tiptap/core'\n\nexport enum ColumnLayout {\n SidebarLeft = 'sidebar-left',\n SidebarRight = 'sidebar-right',\n TwoColumn = 'two-column',\n}\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n columns: {\n setColumns: () => ReturnType\n setLayout: (layout: ColumnLayout) => ReturnType\n }\n }\n}\n\nexport const Columns = Node.create({\n name: 'columns',\n\n group: 'columns',\n\n content: 'column column',\n\n defining: true,\n\n isolating: true,\n\n addAttributes() {\n return {\n layout: {\n default: ColumnLayout.TwoColumn,\n },\n }\n },\n\n addCommands() {\n return {\n setColumns:\n () =>\n ({ commands }) =>\n commands.insertContent(\n `<div data-type=\"columns\"><div data-type=\"column\" data-position=\"left\"><p></p></div><div data-type=\"column\" data-position=\"right\"><p></p></div></div>`,\n ),\n setLayout:\n (layout: ColumnLayout) =>\n ({ commands }) =>\n commands.updateAttributes('columns', { layout }),\n }\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['div', { 'data-type': 'columns', class: `layout-${HTMLAttributes.layout}` }, 0]\n },\n\n parseHTML() {\n return [\n {\n tag: 'div[data-type=\"columns\"]',\n },\n ]\n },\n})\n\nexport default Columns\n"],"names":["Node","ColumnLayout","Columns","create","name","group","content","defining","isolating","addAttributes","layout","default","addCommands","setColumns","commands","insertContent","setLayout","updateAttributes","renderHTML","HTMLAttributes","class","parseHTML","tag"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,IAAI,QAAQ,eAAc;;UAEvBC;;;;GAAAA,iBAAAA;AAeZ,OAAO,MAAMC,UAAUF,KAAKG,MAAM,CAAC;IACjCC,MAAM;IAENC,OAAO;IAEPC,SAAS;IAETC,UAAU;IAEVC,WAAW;IAEXC;QACE,OAAO;YACLC,QAAQ;gBACNC,OAAO;YACT;QACF;IACF;IAEAC;QACE,OAAO;YACLC,YACE,IACA,CAAC,EAAEC,QAAQ,EAAE,GACXA,SAASC,aAAa,CACpB,CAAC,oJAAoJ,CAAC;YAE5JC,WACE,CAACN,SACD,CAAC,EAAEI,QAAQ,EAAE,GACXA,SAASG,gBAAgB,CAAC,WAAW;wBAAEP;oBAAO;QACpD;IACF;IAEAQ,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YAAC;YAAO;gBAAE,aAAa;gBAAWC,OAAO,CAAC,OAAO,EAAED,eAAeT,MAAM,CAAC,CAAC;YAAC;YAAG;SAAE;IACzF;IAEAW;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;AACF,GAAE;AAEF,eAAepB,QAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/MultiColumn/index.ts"],"sourcesContent":["export * from \"./Columns.js\";\nexport * from \"./Column.js\";\n"],"names":[],"rangeMappings":";","mappings":"AAAA,cAAc,eAAe;AAC7B,cAAc,cAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/MultiColumn/menus/ColumnsMenu.tsx"],"sourcesContent":["import { BubbleMenu as BaseBubbleMenu } from \"@tiptap/react\";\nimport { useCallback } from \"react\";\nimport { sticky } from \"tippy.js\";\nimport { v4 as uuid } from \"uuid\";\n\nimport { Columns2, PanelLeft, PanelRight } from \"lucide-react\";\nimport { MenuProps } from \"../../../features/menus/types.js\";\nimport { Icon } from \"../../../features/ui/Icon.jsx\";\nimport { Toolbar } from \"../../../features/ui/Toolbar.jsx\";\nimport { getRenderContainer } from \"../../../lib/utils/index.js\";\nimport { ColumnLayout } from \"../Columns.js\";\n\nexport const ColumnsMenu = ({ editor, appendTo }: MenuProps) => {\n const getReferenceClientRect = useCallback(() => {\n const renderContainer = getRenderContainer(editor, \"columns\");\n const rect =\n renderContainer?.getBoundingClientRect() ||\n new DOMRect(-1000, -1000, 0, 0);\n\n return rect;\n }, [editor]);\n\n const shouldShow = useCallback(() => {\n const isColumns = editor.isActive(\"columns\");\n return isColumns;\n }, [editor]);\n\n const onColumnLeft = useCallback(() => {\n editor.chain().focus().setLayout(ColumnLayout.SidebarLeft).run();\n }, [editor]);\n\n const onColumnRight = useCallback(() => {\n editor.chain().focus().setLayout(ColumnLayout.SidebarRight).run();\n }, [editor]);\n\n const onColumnTwo = useCallback(() => {\n editor.chain().focus().setLayout(ColumnLayout.TwoColumn).run();\n }, [editor]);\n\n return (\n <BaseBubbleMenu\n editor={editor}\n pluginKey={`columnsMenu-${uuid()}`}\n shouldShow={shouldShow}\n updateDelay={0}\n tippyOptions={{\n offset: [0, 8],\n popperOptions: {\n modifiers: [{ name: \"flip\", enabled: false }],\n },\n getReferenceClientRect,\n appendTo: () => appendTo?.current,\n plugins: [sticky],\n sticky: \"popper\",\n }}\n >\n <Toolbar.Wrapper>\n <Toolbar.Button\n type=\"button\"\n tooltip=\"Sidebar left\"\n active={editor.isActive(\"columns\", {\n layout: ColumnLayout.SidebarLeft,\n })}\n onClick={onColumnLeft}\n >\n <Icon icon={PanelLeft} />\n </Toolbar.Button>\n <Toolbar.Button\n type=\"button\"\n tooltip=\"Two columns\"\n active={editor.isActive(\"columns\", {\n layout: ColumnLayout.TwoColumn,\n })}\n onClick={onColumnTwo}\n >\n <Icon icon={Columns2} />\n </Toolbar.Button>\n <Toolbar.Button\n type=\"button\"\n tooltip=\"Sidebar right\"\n active={editor.isActive(\"columns\", {\n layout: ColumnLayout.SidebarRight,\n })}\n onClick={onColumnRight}\n >\n <Icon icon={PanelRight} />\n </Toolbar.Button>\n </Toolbar.Wrapper>\n </BaseBubbleMenu>\n );\n};\n\nexport default ColumnsMenu;\n"],"names":["BubbleMenu","BaseBubbleMenu","useCallback","sticky","v4","uuid","Columns2","PanelLeft","PanelRight","Icon","Toolbar","getRenderContainer","ColumnLayout","ColumnsMenu","editor","appendTo","getReferenceClientRect","renderContainer","rect","getBoundingClientRect","DOMRect","shouldShow","isColumns","isActive","onColumnLeft","chain","focus","setLayout","SidebarLeft","run","onColumnRight","SidebarRight","onColumnTwo","TwoColumn","pluginKey","updateDelay","tippyOptions","offset","popperOptions","modifiers","name","enabled","current","plugins","Wrapper","Button","type","tooltip","active","layout","onClick","icon"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,cAAcC,cAAc,QAAQ,gBAAgB;AAC7D,SAASC,WAAW,QAAQ,QAAQ;AACpC,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,MAAMC,IAAI,QAAQ,OAAO;AAElC,SAASC,QAAQ,EAAEC,SAAS,EAAEC,UAAU,QAAQ,eAAe;AAE/D,SAASC,IAAI,QAAQ,gCAAgC;AACrD,SAASC,OAAO,QAAQ,mCAAmC;AAC3D,SAASC,kBAAkB,QAAQ,8BAA8B;AACjE,SAASC,YAAY,QAAQ,gBAAgB;AAE7C,OAAO,MAAMC,cAAc,CAAC,EAAEC,MAAM,EAAEC,QAAQ,EAAa;IACzD,MAAMC,yBAAyBd,YAAY;QACzC,MAAMe,kBAAkBN,mBAAmBG,QAAQ;QACnD,MAAMI,OACJD,iBAAiBE,2BACjB,IAAIC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG;QAE/B,OAAOF;IACT,GAAG;QAACJ;KAAO;IAEX,MAAMO,aAAanB,YAAY;QAC7B,MAAMoB,YAAYR,OAAOS,QAAQ,CAAC;QAClC,OAAOD;IACT,GAAG;QAACR;KAAO;IAEX,MAAMU,eAAetB,YAAY;QAC/BY,OAAOW,KAAK,GAAGC,KAAK,GAAGC,SAAS,CAACf,aAAagB,WAAW,EAAEC,GAAG;IAChE,GAAG;QAACf;KAAO;IAEX,MAAMgB,gBAAgB5B,YAAY;QAChCY,OAAOW,KAAK,GAAGC,KAAK,GAAGC,SAAS,CAACf,aAAamB,YAAY,EAAEF,GAAG;IACjE,GAAG;QAACf;KAAO;IAEX,MAAMkB,cAAc9B,YAAY;QAC9BY,OAAOW,KAAK,GAAGC,KAAK,GAAGC,SAAS,CAACf,aAAaqB,SAAS,EAAEJ,GAAG;IAC9D,GAAG;QAACf;KAAO;IAEX,qBACE,KAACb;QACCa,QAAQA;QACRoB,WAAW,CAAC,YAAY,EAAE7B,OAAO,CAAC;QAClCgB,YAAYA;QACZc,aAAa;QACbC,cAAc;YACZC,QAAQ;gBAAC;gBAAG;aAAE;YACdC,eAAe;gBACbC,WAAW;oBAAC;wBAAEC,MAAM;wBAAQC,SAAS;oBAAM;iBAAE;YAC/C;YACAzB;YACAD,UAAU,IAAMA,UAAU2B;YAC1BC,SAAS;gBAACxC;aAAO;YACjBA,QAAQ;QACV;kBAEA,cAAA,MAACO,QAAQkC,OAAO;;8BACd,KAAClC,QAAQmC,MAAM;oBACbC,MAAK;oBACLC,SAAQ;oBACRC,QAAQlC,OAAOS,QAAQ,CAAC,WAAW;wBACjC0B,QAAQrC,aAAagB,WAAW;oBAClC;oBACAsB,SAAS1B;8BAET,cAAA,KAACf;wBAAK0C,MAAM5C;;;8BAEd,KAACG,QAAQmC,MAAM;oBACbC,MAAK;oBACLC,SAAQ;oBACRC,QAAQlC,OAAOS,QAAQ,CAAC,WAAW;wBACjC0B,QAAQrC,aAAaqB,SAAS;oBAChC;oBACAiB,SAASlB;8BAET,cAAA,KAACvB;wBAAK0C,MAAM7C;;;8BAEd,KAACI,QAAQmC,MAAM;oBACbC,MAAK;oBACLC,SAAQ;oBACRC,QAAQlC,OAAOS,QAAQ,CAAC,WAAW;wBACjC0B,QAAQrC,aAAamB,YAAY;oBACnC;oBACAmB,SAASpB;8BAET,cAAA,KAACrB;wBAAK0C,MAAM3C;;;;;;AAKtB,EAAE;AAEF,eAAeK,YAAY"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/MultiColumn/menus/index.ts"],"sourcesContent":["export * from \"./ColumnsMenu.jsx\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,oBAAoB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Paragraph/Paragraph.ts"],"sourcesContent":["import { mergeAttributes } from \"@tiptap/core\";\nimport TiptapParagraph from \"@tiptap/extension-paragraph\";\n\nexport const Paragraph = TiptapParagraph.extend({\n renderHTML({ node, HTMLAttributes }) {\n return [\n `p`,\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\n 0,\n ];\n },\n});\n\nexport default Paragraph;\n"],"names":["mergeAttributes","TiptapParagraph","Paragraph","extend","renderHTML","node","HTMLAttributes","options"],"rangeMappings":";;;;;;;;;;;","mappings":"AAAA,SAASA,eAAe,QAAQ,eAAe;AAC/C,OAAOC,qBAAqB,8BAA8B;AAE1D,OAAO,MAAMC,YAAYD,gBAAgBE,MAAM,CAAC;IAC9CC,YAAW,EAAEC,IAAI,EAAEC,cAAc,EAAE;QACjC,OAAO;YACL,CAAC,CAAC,CAAC;YACHN,gBAAgB,IAAI,CAACO,OAAO,CAACD,cAAc,EAAEA;YAC7C;SACD;IACH;AACF,GAAG;AAEH,eAAeJ,UAAU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Paragraph/index.ts"],"sourcesContent":["export * from \"./Paragraph.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,iBAAiB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Selection/Selection.ts"],"sourcesContent":["import { Extension } from '@tiptap/core'\nimport { Plugin, PluginKey } from '@tiptap/pm/state'\nimport { Decoration, DecorationSet } from '@tiptap/pm/view'\n\nexport const Selection = Extension.create({\n name: 'selection',\n\n addProseMirrorPlugins() {\n const { editor } = this\n\n return [\n new Plugin({\n key: new PluginKey('selection'),\n props: {\n decorations(state) {\n if (state.selection.empty) {\n return null\n }\n\n if (editor.isFocused === true) {\n return null\n }\n\n return DecorationSet.create(state.doc, [\n Decoration.inline(state.selection.from, state.selection.to, {\n class: 'selection',\n }),\n ])\n },\n },\n }),\n ]\n },\n})\n\nexport default Selection\n"],"names":["Extension","Plugin","PluginKey","Decoration","DecorationSet","Selection","create","name","addProseMirrorPlugins","editor","key","props","decorations","state","selection","empty","isFocused","doc","inline","from","to","class"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,SAAS,QAAQ,eAAc;AACxC,SAASC,MAAM,EAAEC,SAAS,QAAQ,mBAAkB;AACpD,SAASC,UAAU,EAAEC,aAAa,QAAQ,kBAAiB;AAE3D,OAAO,MAAMC,YAAYL,UAAUM,MAAM,CAAC;IACxCC,MAAM;IAENC;QACE,MAAM,EAAEC,MAAM,EAAE,GAAG,IAAI;QAEvB,OAAO;YACL,IAAIR,OAAO;gBACTS,KAAK,IAAIR,UAAU;gBACnBS,OAAO;oBACLC,aAAYC,KAAK;wBACf,IAAIA,MAAMC,SAAS,CAACC,KAAK,EAAE;4BACzB,OAAO;wBACT;wBAEA,IAAIN,OAAOO,SAAS,KAAK,MAAM;4BAC7B,OAAO;wBACT;wBAEA,OAAOZ,cAAcE,MAAM,CAACO,MAAMI,GAAG,EAAE;4BACrCd,WAAWe,MAAM,CAACL,MAAMC,SAAS,CAACK,IAAI,EAAEN,MAAMC,SAAS,CAACM,EAAE,EAAE;gCAC1DC,OAAO;4BACT;yBACD;oBACH;gBACF;YACF;SACD;IACH;AACF,GAAE;AAEF,eAAehB,UAAS"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Selection/index.ts"],"sourcesContent":["export * from \"./Selection.js\";\n"],"names":[],"rangeMappings":"","mappings":"AAAA,cAAc,iBAAiB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/SlashCommand/CommandButton.tsx"],"sourcesContent":["import { LucideIcon } from \"lucide-react\";\nimport { forwardRef } from \"react\";\nimport { Icon } from \"../../features/ui/Icon.jsx\";\nimport { cn } from \"../../lib/utils/index.js\";\n\nexport type CommandButtonProps = {\n active?: boolean;\n description: string;\n icon: LucideIcon;\n onClick: () => void;\n title: string;\n};\n\nexport const CommandButton = forwardRef<HTMLButtonElement, CommandButtonProps>(\n ({ active, icon, onClick, title }, ref) => {\n const wrapperClass = cn(\n \"flex text-neutral-500 items-center text-xs font-semibold justify-start p-1.5 gap-2 rounded\",\n !active && \"bg-transparent hover:bg-neutral-50 hover:text-black\",\n active && \"bg-neutral-100 text-black hover:bg-neutral-100\"\n );\n\n return (\n <button\n type=\"button\"\n ref={ref}\n onClick={onClick}\n className={wrapperClass}\n >\n <Icon icon={icon} className=\"w-3 h-3\" />\n <div className=\"flex flex-col items-start justify-start\">\n <div className=\"text-sm font-medium\">{title}</div>\n </div>\n </button>\n );\n }\n);\n\nCommandButton.displayName = \"CommandButton\";\n"],"names":["forwardRef","Icon","cn","CommandButton","active","icon","onClick","title","ref","wrapperClass","button","type","className","div","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AACA,SAASA,UAAU,QAAQ,QAAQ;AACnC,SAASC,IAAI,QAAQ,6BAA6B;AAClD,SAASC,EAAE,QAAQ,2BAA2B;AAU9C,OAAO,MAAMC,8BAAgBH,WAC3B,CAAC,EAAEI,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,KAAK,EAAE,EAAEC;IACjC,MAAMC,eAAeP,GACnB,8FACA,CAACE,UAAU,uDACXA,UAAU;IAGZ,qBACE,MAACM;QACCC,MAAK;QACLH,KAAKA;QACLF,SAASA;QACTM,WAAWH;;0BAEX,KAACR;gBAAKI,MAAMA;gBAAMO,WAAU;;0BAC5B,KAACC;gBAAID,WAAU;0BACb,cAAA,KAACC;oBAAID,WAAU;8BAAuBL;;;;;AAI9C,GACA;AAEFJ,cAAcW,WAAW,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/SlashCommand/MenuList.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport { DropdownButton } from \"../../features/ui/Dropdown/Dropdown.jsx\";\nimport { Surface } from \"../../features/ui/Surface.jsx\";\nimport { Command, MenuListProps } from \"./types.js\";\n\nimport { Icon } from \"../../features/ui/Icon.jsx\";\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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/SlashCommand/SlashCommand.ts"],"sourcesContent":["import { Editor, Extension } from \"@tiptap/core\";\nimport { ReactRenderer } from \"@tiptap/react\";\nimport Suggestion, {\n SuggestionProps,\n SuggestionKeyDownProps,\n} from \"@tiptap/suggestion\";\nimport { PluginKey } from \"@tiptap/pm/state\";\nimport tippy from \"tippy.js\";\n\nimport { GROUPS } from \"./groups.js\";\nimport { MenuList } from \"./MenuList.jsx\";\n\nconst extensionName = \"slashCommand\";\n\nlet popup: any;\n\nexport const SlashCommand = Extension.create({\n name: extensionName,\n\n priority: 200,\n\n onCreate() {\n const t = tippy as any;\n popup = t(\"body\", {\n interactive: true,\n trigger: \"manual\",\n placement: \"bottom-start\",\n theme: \"slash-command\",\n maxWidth: \"16rem\",\n offset: [16, 8],\n popperOptions: {\n strategy: \"fixed\",\n modifiers: [\n {\n name: \"flip\",\n enabled: false,\n },\n ],\n },\n });\n },\n\n addProseMirrorPlugins() {\n return [\n Suggestion({\n editor: this.editor,\n char: \"/\",\n allowSpaces: true,\n startOfLine: true,\n pluginKey: new PluginKey(extensionName),\n allow: ({ state, range }) => {\n const $from = state.doc.resolve(range.from);\n const isRootDepth = $from.depth === 1;\n const isParagraph = $from.parent.type.name === \"paragraph\";\n const isStartOfNode = $from.parent.textContent?.charAt(0) === \"/\";\n // TODO\n const isInColumn = this.editor.isActive(\"column\");\n\n const afterContent = $from.parent.textContent?.substring(\n $from.parent.textContent?.indexOf(\"/\")\n );\n const isValidAfterContent = !afterContent?.endsWith(\" \");\n\n return (\n ((isRootDepth && isParagraph && isStartOfNode) ||\n (isInColumn && isParagraph && isStartOfNode)) &&\n isValidAfterContent\n );\n },\n command: ({ editor, props }: { editor: Editor; props: any }) => {\n const { view, state } = editor;\n const { $head, $from } = view.state.selection;\n\n const end = $from.pos;\n const from = $head?.nodeBefore\n ? end -\n ($head.nodeBefore.text?.substring(\n $head.nodeBefore.text?.indexOf(\"/\")\n ).length ?? 0)\n : $from.start();\n\n const tr = state.tr.deleteRange(from, end);\n view.dispatch(tr);\n\n props.action(editor);\n view.focus();\n },\n items: ({ query }: { query: string }) => {\n const withFilteredCommands = GROUPS.map((group) => ({\n ...group,\n commands: group.commands\n .filter((item) => {\n const labelNormalized = item.label.toLowerCase().trim();\n const queryNormalized = query.toLowerCase().trim();\n\n if (item.aliases) {\n const aliases = item.aliases.map((alias) =>\n alias.toLowerCase().trim()\n );\n\n return (\n labelNormalized.includes(queryNormalized) ||\n aliases.includes(queryNormalized)\n );\n }\n\n return labelNormalized.includes(queryNormalized);\n })\n .filter((command) =>\n command.shouldBeHidden\n ? !command.shouldBeHidden(this.editor)\n : true\n ),\n }));\n\n const withoutEmptyGroups = withFilteredCommands.filter((group) => {\n if (group.commands.length > 0) {\n return true;\n }\n\n return false;\n });\n\n const withEnabledSettings = withoutEmptyGroups.map((group) => ({\n ...group,\n commands: group.commands.map((command) => ({\n ...command,\n isEnabled: true,\n })),\n }));\n\n return withEnabledSettings;\n },\n render: () => {\n let component: any;\n\n let scrollHandler: (() => void) | null = null;\n\n return {\n onStart: (props: SuggestionProps) => {\n component = new ReactRenderer(MenuList, {\n props,\n editor: props.editor,\n });\n\n const { view } = props.editor;\n\n const editorNode = view.dom as HTMLElement;\n\n const getReferenceClientRect = () => {\n if (!props.clientRect) {\n return props.editor.storage[extensionName].rect;\n }\n\n const rect = props.clientRect();\n\n if (!rect) {\n return props.editor.storage[extensionName].rect;\n }\n\n let yPos = rect.y;\n\n if (\n rect.top + component.element.offsetHeight + 40 >\n window.innerHeight\n ) {\n const diff =\n rect.top +\n component.element.offsetHeight -\n window.innerHeight +\n 40;\n yPos = rect.y - diff;\n }\n\n // Account for when the editor is bound inside a container that doesn't go all the way to the edge of the screen\n const editorXOffset = editorNode.getBoundingClientRect().x;\n return new DOMRect(rect.x, yPos, rect.width, rect.height);\n };\n\n scrollHandler = () => {\n popup?.[0].setProps({\n getReferenceClientRect,\n });\n };\n\n view.dom.parentElement?.addEventListener(\"scroll\", scrollHandler);\n\n popup?.[0].setProps({\n getReferenceClientRect,\n appendTo: () => document.body,\n content: component.element,\n });\n\n popup?.[0].show();\n },\n\n onUpdate(props: SuggestionProps) {\n component.updateProps(props);\n\n const { view } = props.editor;\n\n const editorNode = view.dom as HTMLElement;\n\n const getReferenceClientRect = () => {\n if (!props.clientRect) {\n return props.editor.storage[extensionName].rect;\n }\n\n const rect = props.clientRect();\n\n if (!rect) {\n return props.editor.storage[extensionName].rect;\n }\n\n // Account for when the editor is bound inside a container that doesn't go all the way to the edge of the screen\n return new DOMRect(rect.x, rect.y, rect.width, rect.height);\n };\n\n let scrollHandler = () => {\n popup?.[0].setProps({\n getReferenceClientRect,\n });\n };\n\n view.dom.parentElement?.addEventListener(\"scroll\", scrollHandler);\n\n // eslint-disable-next-line no-param-reassign\n props.editor.storage[extensionName].rect = props.clientRect\n ? getReferenceClientRect()\n : {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n };\n popup?.[0].setProps({\n getReferenceClientRect,\n });\n },\n\n onKeyDown(props: SuggestionKeyDownProps) {\n if (props.event.key === \"Escape\") {\n popup?.[0].hide();\n\n return true;\n }\n\n if (!popup?.[0].state.isShown) {\n popup?.[0].show();\n }\n\n return component.ref?.onKeyDown(props);\n },\n\n onExit(props) {\n popup?.[0].hide();\n if (scrollHandler) {\n const { view } = props.editor;\n view.dom.parentElement?.removeEventListener(\n \"scroll\",\n scrollHandler\n );\n }\n component.destroy();\n },\n };\n },\n }),\n ];\n },\n\n addStorage() {\n return {\n rect: {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n },\n };\n },\n});\n\nexport default SlashCommand;\n"],"names":["Extension","ReactRenderer","Suggestion","PluginKey","tippy","GROUPS","MenuList","extensionName","popup","SlashCommand","create","name","priority","onCreate","t","interactive","trigger","placement","theme","maxWidth","offset","popperOptions","strategy","modifiers","enabled","addProseMirrorPlugins","editor","char","allowSpaces","startOfLine","pluginKey","allow","state","range","$from","doc","resolve","from","isRootDepth","depth","isParagraph","parent","type","isStartOfNode","textContent","charAt","isInColumn","isActive","afterContent","substring","indexOf","isValidAfterContent","endsWith","command","props","view","$head","selection","end","pos","nodeBefore","text","length","start","tr","deleteRange","dispatch","action","focus","items","query","withFilteredCommands","map","group","commands","filter","item","labelNormalized","label","toLowerCase","trim","queryNormalized","aliases","alias","includes","shouldBeHidden","withoutEmptyGroups","withEnabledSettings","isEnabled","render","component","scrollHandler","onStart","editorNode","dom","getReferenceClientRect","clientRect","storage","rect","yPos","y","top","element","offsetHeight","window","innerHeight","diff","editorXOffset","getBoundingClientRect","x","DOMRect","width","height","setProps","parentElement","addEventListener","appendTo","document","body","content","show","onUpdate","updateProps","left","right","bottom","onKeyDown","event","key","hide","isShown","ref","onExit","removeEventListener","destroy","addStorage"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|