payload-richtext-tiptap 0.0.151 → 0.0.153
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +22 -22
- package/README.md +33 -33
- package/dist/src/body/StandardArticle.js.map +1 -1
- package/dist/src/client.js.map +1 -1
- package/dist/src/fields/TiptapEditor/Components.js.map +1 -1
- package/dist/src/fields/TiptapEditor/context/EditorContext.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AIMenuList.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/AICommand/CommandButton.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/AICommand/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/AICommand/types.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Audio/Audio.js +5 -5
- package/dist/src/fields/TiptapEditor/extensions/Audio/Audio.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Audio/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/AudioBlock/AudioBlock.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/AudioBlock/components/AudioBlockMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/AudioBlock/components/AudioBlockView.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/AudioBlock/components/AudioBlockWidth.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/AudioBlock/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/BlockquoteFigure.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Design.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/Quote.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/QuoteCaption.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Document/Document.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Document/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Figcaption/Figcaption.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Figcaption/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Figure/Figure.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Figure/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/FontSize/FontSize.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/FontSize/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Heading/Heading.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Heading/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/HorizontalRule/HorizontalRule.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/HorizontalRule/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Iframe/IframeEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Iframe/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Iframe/menus/IframeMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Iframe/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Image/Image.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Image/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockViewClientside.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockWidth.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/ImageUpload.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/getImageActualSize.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUploader.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/hooks.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLink.client.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/insideLinks.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/menus/InsideLinksMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Link/Link.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Link/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/LinkPreview/EditLinkPreviewPopover.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/LinkPreview/LinkPreview.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/LinkPreview/LinkPreviewEditorPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/LinkPreview/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/LinkPreview/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/LinkPreview/menus/linkPreviewMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/Column.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/Columns.js +3 -3
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/Columns.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/menus/ColumnsMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Paragraph/Paragraph.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Paragraph/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Selection/Selection.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Selection/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/CommandButton.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/MenuList.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/SlashCommand.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/types.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/FacebookEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/InstagramEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/instagram.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/LinkedinEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/linkedin.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/TiktokEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/tiktok.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/TwitterEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/twitter.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/YoutubeEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/youtube.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/SocialMediaMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/constants.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/Cell.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/Header.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/Row.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/Table.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableColumn/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableColumn/utils.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableRow/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableRow/utils.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/utils.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/TrailingNode/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/TrailingNode/trailing-node.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Video/Video.js +5 -5
- package/dist/src/fields/TiptapEditor/extensions/Video/Video.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Video/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/VideoBlock/VideoBlock.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockView.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockViewClientside.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockWidth.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/VideoPlayer.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/components/QualityOption.js +9 -9
- package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/components/QualityOption.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/components/QualitySelector.js +15 -15
- package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/components/QualitySelector.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/events.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/events.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/middleware/SourceInterceptor.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/util/SafeSeek.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/VideoBlock/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/extension-kit.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/EmbedContentInlineRenderer.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/EmbedContentSideRenderer.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/EmbedContentSidebarRenderer.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/FacebookServerside.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/IFrameServerside.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/ImageBlockServerside.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/InsideLinkServerside.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/InstagramServerside.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/LinkedinServerside.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/RenderEmbedClientSide.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.d.ts +2 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.js +3 -2
- package/dist/src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/TiktokServerside.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/TwitterBlockServerside.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/VideoBlockServerside.js +5 -5
- package/dist/src/fields/TiptapEditor/extensions/serverside/VideoBlockServerside.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/YouTubeServerside.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/getAssetsAspectRatio.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/serverside/useAppendRequiredBlocksMarkerClient.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/OneLineEditor.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/components/EditorHeader.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/components/EditorInfo.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/components/OneLiner.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/types.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/ContentItemMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/hooks/useContentItemActions.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/hooks/useData.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/LinkMenu/LinkMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/LinkMenu/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/AITextMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ContentTypePicker.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/EditIframeLinkPopover.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/EditLinkPopover.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/FontFamilyPicker.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/FontSizePicker.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/SocialMediaPopover.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-completion-command.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-draft-selector-commands.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-selector-commands.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuCommands.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuContentTypes.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuStates.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/types.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/EditorPreview.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/markdown.hook.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/utils.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/ColorButton.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/Colorpicker.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/InsideLinksEditorPanel/InsideLinksEditorPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/InsideLinksEditorPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/LinkEditorPanel/LinkEditorPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/LinkEditorPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/LinkPreviewPanel/LinkPreviewPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/LinkPreviewPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Button/Button.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Button/SpanButton.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Button/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Dropdown/Dropdown.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Dropdown/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Icon.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Loader/Loader.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Loader/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Loader/types.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Panel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/PopoverMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Spinner/Spinner.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Spinner/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Surface.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Textarea/Textarea.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Textarea/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Toggle/Toggle.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Toggle/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Toolbar.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Tooltip/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Tooltip/types.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/crazy-spinner.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/scroll-area.js.map +1 -1
- package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.js.map +1 -1
- package/dist/src/fields/TiptapEditor/hooks/useSidebar.js.map +1 -1
- package/dist/src/fields/TiptapEditor/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/api.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/constants.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/data/initialContent.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/extract.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/tiptapSchema.d.ts +86 -86
- package/dist/src/fields/TiptapEditor/lib/tiptapSchema.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/cssVar.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/deepMerge.js +8 -8
- package/dist/src/fields/TiptapEditor/lib/utils/deepMerge.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/getRenderContainer.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/isCustomNodeSelected.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/isRtl.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/isTextSelected.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/partialRequired.js.map +1 -1
- package/dist/src/fields/TiptapEditor/types.d.js.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +196 -204
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/RenderEmbedClientSide.tsx"],"sourcesContent":["import Image from \"next/image.js\";\
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/RenderEmbedClientSide.tsx"],"sourcesContent":["import Image from \"next/image.js\";\nimport {\n FacebookEmbed,\n InstagramEmbed,\n LinkedInEmbed,\n TikTokEmbed,\n XEmbed,\n YouTubeEmbed,\n} from \"react-social-media-embed\";\nimport VideoBlockViewClientside from \"../VideoBlock/components/VideoBlockViewClientside.js\";\nimport { SocialMediaEmbedServerside } from \"../SocialMedia/SocialMediaEmbedServerside.js\";\nimport InsideLinksComponent from \"../InsideLinks/InsideLinksComponent.js\";\nimport { ImageBlockViewClientside } from \"../ImageBlock/components/ImageBlockViewClientside.js\";\n\nfunction checkIfValidLink(link: string) {\n return typeof link === \"string\";\n}\nexport const renderEmbedContent = (content, getVideoAspect) => {\n switch (content.type) {\n case \"twitter\":\n if (!checkIfValidLink(content.attrs.url)) {\n return null;\n }\n return (\n <SocialMediaEmbedServerside>\n <XEmbed url={content.attrs.url || \"\"} width={325} />\n </SocialMediaEmbedServerside>\n );\n case \"youtube\":\n if (!checkIfValidLink(content.attrs.url)) {\n return null;\n }\n return (\n <SocialMediaEmbedServerside>\n <YouTubeEmbed url={content.attrs.url || \"\"} />\n </SocialMediaEmbedServerside>\n );\n case \"instagram\":\n if (!checkIfValidLink(content.attrs.url)) {\n return null;\n }\n return (\n <SocialMediaEmbedServerside>\n <InstagramEmbed\n className=\"max-w-[328px]\"\n url={content.attrs.url || \"\"}\n width={328}\n captioned\n />\n </SocialMediaEmbedServerside>\n );\n case \"tiktok\":\n if (!checkIfValidLink(content.attrs.url)) {\n return null;\n }\n return (\n <SocialMediaEmbedServerside>\n <TikTokEmbed\n className=\"max-w-[328px]\"\n url={content.attrs.url || \"\"}\n width={328}\n />\n </SocialMediaEmbedServerside>\n );\n case \"imageBlock\":\n return <ImageBlockViewClientside content={content} />;\n case \"videoBlock\":\n // @ts-ignore\n return (\n <VideoBlockViewClientside\n node={content}\n getVideoAspect={getVideoAspect}\n />\n );\n case \"facebook\":\n return (\n <SocialMediaEmbedServerside>\n <FacebookEmbed url={content.attrs.url || \"\"} width={550} />\n </SocialMediaEmbedServerside>\n );\n case \"linkedin\":\n if (!checkIfValidLink(content.attrs.url)) {\n return null;\n }\n return (\n <SocialMediaEmbedServerside>\n <LinkedInEmbed\n url={content.attrs.url || \"\"}\n width={325}\n height={570}\n />\n </SocialMediaEmbedServerside>\n );\n case \"insideLinks\":\n return <InsideLinksComponent {...content} />;\n case \"iframe\":\n return (\n <SocialMediaEmbedServerside>\n <div className=\"iframe-wrapper\">\n <iframe src={content?.attrs?.src ?? \"\"} allowFullScreen={true} />\n </div>\n </SocialMediaEmbedServerside>\n );\n default:\n return null;\n }\n};\n"],"names":["FacebookEmbed","InstagramEmbed","LinkedInEmbed","TikTokEmbed","XEmbed","YouTubeEmbed","VideoBlockViewClientside","SocialMediaEmbedServerside","InsideLinksComponent","ImageBlockViewClientside","checkIfValidLink","link","renderEmbedContent","content","getVideoAspect","type","attrs","url","width","className","captioned","node","height","div","iframe","src","allowFullScreen"],"mappings":";AACA,SACEA,aAAa,EACbC,cAAc,EACdC,aAAa,EACbC,WAAW,EACXC,MAAM,EACNC,YAAY,QACP,2BAA2B;AAClC,OAAOC,8BAA8B,uDAAuD;AAC5F,SAASC,0BAA0B,QAAQ,+CAA+C;AAC1F,OAAOC,0BAA0B,yCAAyC;AAC1E,SAASC,wBAAwB,QAAQ,uDAAuD;AAEhG,SAASC,iBAAiBC,IAAY;IACpC,OAAO,OAAOA,SAAS;AACzB;AACA,OAAO,MAAMC,qBAAqB,CAACC,SAASC;IAC1C,OAAQD,QAAQE,IAAI;QAClB,KAAK;YACH,IAAI,CAACL,iBAAiBG,QAAQG,KAAK,CAACC,GAAG,GAAG;gBACxC,OAAO;YACT;YACA,qBACE,KAACV;0BACC,cAAA,KAACH;oBAAOa,KAAKJ,QAAQG,KAAK,CAACC,GAAG,IAAI;oBAAIC,OAAO;;;QAGnD,KAAK;YACH,IAAI,CAACR,iBAAiBG,QAAQG,KAAK,CAACC,GAAG,GAAG;gBACxC,OAAO;YACT;YACA,qBACE,KAACV;0BACC,cAAA,KAACF;oBAAaY,KAAKJ,QAAQG,KAAK,CAACC,GAAG,IAAI;;;QAG9C,KAAK;YACH,IAAI,CAACP,iBAAiBG,QAAQG,KAAK,CAACC,GAAG,GAAG;gBACxC,OAAO;YACT;YACA,qBACE,KAACV;0BACC,cAAA,KAACN;oBACCkB,WAAU;oBACVF,KAAKJ,QAAQG,KAAK,CAACC,GAAG,IAAI;oBAC1BC,OAAO;oBACPE,SAAS;;;QAIjB,KAAK;YACH,IAAI,CAACV,iBAAiBG,QAAQG,KAAK,CAACC,GAAG,GAAG;gBACxC,OAAO;YACT;YACA,qBACE,KAACV;0BACC,cAAA,KAACJ;oBACCgB,WAAU;oBACVF,KAAKJ,QAAQG,KAAK,CAACC,GAAG,IAAI;oBAC1BC,OAAO;;;QAIf,KAAK;YACH,qBAAO,KAACT;gBAAyBI,SAASA;;QAC5C,KAAK;YACH,aAAa;YACb,qBACE,KAACP;gBACCe,MAAMR;gBACNC,gBAAgBA;;QAGtB,KAAK;YACH,qBACE,KAACP;0BACC,cAAA,KAACP;oBAAciB,KAAKJ,QAAQG,KAAK,CAACC,GAAG,IAAI;oBAAIC,OAAO;;;QAG1D,KAAK;YACH,IAAI,CAACR,iBAAiBG,QAAQG,KAAK,CAACC,GAAG,GAAG;gBACxC,OAAO;YACT;YACA,qBACE,KAACV;0BACC,cAAA,KAACL;oBACCe,KAAKJ,QAAQG,KAAK,CAACC,GAAG,IAAI;oBAC1BC,OAAO;oBACPI,QAAQ;;;QAIhB,KAAK;YACH,qBAAO,KAACd;gBAAsB,GAAGK,OAAO;;QAC1C,KAAK;YACH,qBACE,KAACN;0BACC,cAAA,KAACgB;oBAAIJ,WAAU;8BACb,cAAA,KAACK;wBAAOC,KAAKZ,SAASG,OAAOS,OAAO;wBAAIC,iBAAiB;;;;QAIjE;YACE,OAAO;IACX;AACF,EAAE"}
|
|
@@ -3,7 +3,8 @@ import { AdditionalContextType } from '../../features/BlockEditor/types.js';
|
|
|
3
3
|
type Props = {
|
|
4
4
|
body: any;
|
|
5
5
|
additionalContext?: AdditionalContextType;
|
|
6
|
+
containerClassName?: string;
|
|
6
7
|
};
|
|
7
|
-
export declare const ServersideTiptapBody: ({ body, additionalContext }: Props) => React.JSX.Element;
|
|
8
|
+
export declare const ServersideTiptapBody: ({ body, additionalContext, containerClassName }: Props) => React.JSX.Element;
|
|
8
9
|
export {};
|
|
9
10
|
//# sourceMappingURL=ServersideTiptapBody.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServersideTiptapBody.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AA0E1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"ServersideTiptapBody.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AA0E1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAK5E,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,GAAG,CAAC;IACV,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAsCF,eAAO,MAAM,oBAAoB,oDAAqD,KAAK,sBAyF1F,CAAC"}
|
|
@@ -42,6 +42,7 @@ import { FacebookServerside } from './FacebookServerside.js';
|
|
|
42
42
|
import { VideoBlockServerside } from './VideoBlockServerside.js';
|
|
43
43
|
import { InsideLinkServerside } from './InsideLinkServerside.js';
|
|
44
44
|
import { IFrameServerside } from './IFrameServerside.js';
|
|
45
|
+
import { cn } from '../../lib/utils/index.js';
|
|
45
46
|
const DEFAULT_LANG = 'en';
|
|
46
47
|
// Initialize i18n based on additionalContext
|
|
47
48
|
const initializeI18n = (additionalContext)=>{
|
|
@@ -76,14 +77,14 @@ const initializeI18n = (additionalContext)=>{
|
|
|
76
77
|
});
|
|
77
78
|
}
|
|
78
79
|
};
|
|
79
|
-
export const ServersideTiptapBody = ({ body, additionalContext })=>{
|
|
80
|
+
export const ServersideTiptapBody = ({ body, additionalContext, containerClassName })=>{
|
|
80
81
|
if (!body) return null;
|
|
81
82
|
// Initialize i18n synchronously
|
|
82
83
|
initializeI18n(additionalContext);
|
|
83
84
|
const textDirection = additionalContext?.textDirection || i18n.dir();
|
|
84
85
|
return /*#__PURE__*/ _jsx(_Fragment, {
|
|
85
86
|
children: /*#__PURE__*/ _jsx("div", {
|
|
86
|
-
className:
|
|
87
|
+
className: cn('tiptap ProseMirror min-h-full', containerClassName),
|
|
87
88
|
dir: textDirection,
|
|
88
89
|
dangerouslySetInnerHTML: {
|
|
89
90
|
__html: generateHTML(body, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.tsx"],"sourcesContent":["import React from 'react';\
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.tsx"],"sourcesContent":["import React from 'react';\nimport { generateHTML } from '@tiptap/html';\nimport i18n from 'i18next';\n// import { Text } from \"@tiptap/extension-text\";\nimport {\n StarterKit,\n Highlight,\n // CharacterCount,\n Underline,\n Placeholder,\n // Emoji,\n TextAlign,\n TextStyle,\n FontFamily,\n Typography,\n // Color,\n // Dropcursor,\n // CollaborationCursor,\n Subscript,\n // TableOfContents,\n Superscript,\n CodeBlock,\n // BulletList,\n // OrderedList,\n // Collaboration,\n // TaskItem,\n // TaskList,\n // FileHandler,\n // Selection,\n // Focus,\n Table,\n HorizontalRule,\n Heading,\n Document,\n // TrailingNode,\n // FontSize,\n // Figure,\n // Figcaption,\n BlockquoteFigure,\n // Quote,\n // QuoteCaption,\n Link,\n // ImageUpload,\n // ImageBlock,\n // VideoBlock,\n // AudioBlock,\n // Youtube,\n // Instagram,\n // Columns,\n Paragraph,\n // InsideLinks,\n TableCell,\n TableHeader,\n TableRow,\n Column,\n LinkPreview\n // Twitter,\n // Linkedin,\n // Tiktok,\n // Facebook,\n // Instagram,\n // Youtube,\n} from '../index.js';\n\nimport { TwitterBlockServerside } from './TwitterBlockServerside.js';\nimport { YouTubeServerside } from './YouTubeServerside.js';\nimport { InstagramServerside } from './InstagramServerside.js';\nimport { ImageBlockServerside } from './ImageBlockServerside.js';\nimport { TiktokServerside } from './TiktokServerside.js';\nimport { LinkedinServerside } from './LinkedinServerside.js';\nimport { FacebookServerside } from './FacebookServerside.js';\nimport { VideoBlockServerside } from './VideoBlockServerside.js';\nimport { InsideLinkServerside } from './InsideLinkServerside.js';\nimport { IFrameServerside } from './IFrameServerside.js';\nimport { AdditionalContextType } from '../../features/BlockEditor/types.js';\nimport { cn } from '../../lib/utils/index.js';\n\nconst DEFAULT_LANG = 'en';\n\ntype Props = {\n body: any;\n additionalContext?: AdditionalContextType;\n containerClassName?: string;\n};\n\n// Initialize i18n based on additionalContext\nconst initializeI18n = (additionalContext?: AdditionalContextType) => {\n if (!additionalContext) {\n i18n.init({\n fallbackLng: DEFAULT_LANG,\n lng: DEFAULT_LANG,\n returnEmptyString: true,\n resources: {}\n });\n return;\n }\n\n if (additionalContext.language && additionalContext.translations) {\n i18n.init({\n fallbackLng: additionalContext.language,\n lng: additionalContext.language,\n returnEmptyString: true,\n resources: {\n [additionalContext.language]: {\n translation: additionalContext.translations\n }\n }\n });\n return;\n }\n\n if (additionalContext.language) {\n i18n.init({\n fallbackLng: additionalContext?.language,\n lng: additionalContext?.language,\n returnEmptyString: true,\n resources: {}\n });\n }\n};\n\nexport const ServersideTiptapBody = ({ body, additionalContext, containerClassName }: Props) => {\n if (!body) return null;\n\n // Initialize i18n synchronously\n initializeI18n(additionalContext);\n\n const textDirection = additionalContext?.textDirection || i18n.dir();\n\n return (\n <>\n <div\n className={cn('tiptap ProseMirror min-h-full', containerClassName)}\n dir={textDirection}\n dangerouslySetInnerHTML={{\n __html: generateHTML(body, [\n // Text,\n StarterKit.configure({\n paragraph: false,\n document: false,\n dropcursor: false,\n heading: false,\n horizontalRule: false,\n blockquote: false,\n history: false,\n codeBlock: false,\n }),\n Highlight,\n // CharacterCount,\n Underline,\n Placeholder,\n // Emoji,\n TextAlign,\n TextStyle,\n FontFamily,\n Typography,\n // Color,\n // Dropcursor,\n // CollaborationCursor,\n // Subscript,\n // TableOfContents,\n // Superscript,\n CodeBlock,\n // BulletList,\n // OrderedList,\n // Collaboration,\n // TaskItem,\n // TaskList,\n // FileHandler,\n // Selection,\n // Focus,\n Table,\n HorizontalRule,\n Heading,\n Document,\n // TrailingNode,\n // SlashCommand,\n // FontSize,\n // Figure,\n // Figcaption,\n BlockquoteFigure,\n // Quote,\n // QuoteCaption,\n ImageBlockServerside,\n VideoBlockServerside,\n // AudioBlock,\n // Columns,\n TwitterBlockServerside,\n InstagramServerside,\n YouTubeServerside,\n Paragraph,\n Superscript,\n Subscript,\n Link,\n TiktokServerside,\n LinkedinServerside,\n FacebookServerside,\n InsideLinkServerside,\n IFrameServerside,\n // InsideLinks,\n TableCell,\n TableHeader,\n TableRow,\n Column,\n LinkPreview\n ])\n }}\n />\n </>\n );\n};\n"],"names":["React","generateHTML","i18n","StarterKit","Highlight","Underline","Placeholder","TextAlign","TextStyle","FontFamily","Typography","Subscript","Superscript","CodeBlock","Table","HorizontalRule","Heading","Document","BlockquoteFigure","Link","Paragraph","TableCell","TableHeader","TableRow","Column","LinkPreview","TwitterBlockServerside","YouTubeServerside","InstagramServerside","ImageBlockServerside","TiktokServerside","LinkedinServerside","FacebookServerside","VideoBlockServerside","InsideLinkServerside","IFrameServerside","cn","DEFAULT_LANG","initializeI18n","additionalContext","init","fallbackLng","lng","returnEmptyString","resources","language","translations","translation","ServersideTiptapBody","body","containerClassName","textDirection","dir","div","className","dangerouslySetInnerHTML","__html","configure","paragraph","document","dropcursor","heading","horizontalRule","blockquote","history","codeBlock"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/TiktokServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/TiktokServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\n\nexport const TiktokServerside = Node.create({\n name: \"tiktok\",\n\n group: \"block\",\n content: \"inline*\",\n\n parseHTML() {\n return [\n {\n tag: 'a[data-type=\"tiktok\"]',\n },\n ];\n },\n addAttributes() {\n return {\n url: { default: null },\n \"data-id\": { default: null },\n class: { default: \"inline-tiktok\" },\n };\n },\n renderHTML({ HTMLAttributes }) {\n return [\n \"div\",\n mergeAttributes(HTMLAttributes, {\n \"data-type\": \"tiktok\",\n class: `react-renderer node-tiktok ${HTMLAttributes.class}`,\n }),\n 0,\n ];\n },\n});\n"],"names":["Node","mergeAttributes","TiktokServerside","create","name","group","content","parseHTML","tag","addAttributes","url","default","class","renderHTML","HTMLAttributes"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,mBAAmBF,KAAKG,MAAM,CAAC;IAC1CC,MAAM;IAENC,OAAO;IACPC,SAAS;IAETC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IACAC;QACE,OAAO;YACLC,KAAK;gBAAEC,SAAS;YAAK;YACrB,WAAW;gBAAEA,SAAS;YAAK;YAC3BC,OAAO;gBAAED,SAAS;YAAgB;QACpC;IACF;IACAE,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACAb,gBAAgBa,gBAAgB;gBAC9B,aAAa;gBACbF,OAAO,CAAC,2BAA2B,EAAEE,eAAeF,KAAK,EAAE;YAC7D;YACA;SACD;IACH;AACF,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/TwitterBlockServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/TwitterBlockServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\n\nexport const TwitterBlockServerside = Node.create({\n name: \"twitter\",\n group: \"block\",\n content: \"inline*\",\n\n parseHTML() {\n return [\n {\n tag: 'a[data-type=\"twitter\"',\n },\n ];\n },\n addAttributes() {\n return {\n url: { default: null },\n \"data-id\": { default: null },\n class: { default: \"inline-twitter\" },\n };\n },\n renderHTML({ HTMLAttributes }) {\n return [\n \"div\",\n mergeAttributes(HTMLAttributes, {\n \"data-type\": \"twitter\",\n class: `react-renderer node-twitter ${HTMLAttributes.class}`,\n }),\n 0,\n ];\n },\n});\n"],"names":["Node","mergeAttributes","TwitterBlockServerside","create","name","group","content","parseHTML","tag","addAttributes","url","default","class","renderHTML","HTMLAttributes"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,yBAAyBF,KAAKG,MAAM,CAAC;IAChDC,MAAM;IACNC,OAAO;IACPC,SAAS;IAETC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IACAC;QACE,OAAO;YACLC,KAAK;gBAAEC,SAAS;YAAK;YACrB,WAAW;gBAAEA,SAAS;YAAK;YAC3BC,OAAO;gBAAED,SAAS;YAAiB;QACrC;IACF;IACAE,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACAb,gBAAgBa,gBAAgB;gBAC9B,aAAa;gBACbF,OAAO,CAAC,4BAA4B,EAAEE,eAAeF,KAAK,EAAE;YAC9D;YACA;SACD;IACH;AACF,GAAG"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { mergeAttributes, Node } from "@tiptap/core";
|
|
2
|
-
/**
|
|
3
|
-
* Matches an image to a  on input.
|
|
2
|
+
/**
|
|
3
|
+
* Matches an image to a  on input.
|
|
4
4
|
*/ export const inputRegex = /(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/;
|
|
5
|
-
/**
|
|
6
|
-
* This extension allows you to insert images.
|
|
7
|
-
* @see https://www.tiptap.dev/api/nodes/image
|
|
5
|
+
/**
|
|
6
|
+
* This extension allows you to insert images.
|
|
7
|
+
* @see https://www.tiptap.dev/api/nodes/image
|
|
8
8
|
*/ export const VideoBlockServerside = Node.create({
|
|
9
9
|
name: "videoBlock",
|
|
10
10
|
addOptions () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/VideoBlockServerside.ts"],"sourcesContent":["import { mergeAttributes, Node } from \"@tiptap/core\";\
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/VideoBlockServerside.ts"],"sourcesContent":["import { mergeAttributes, Node } from \"@tiptap/core\";\n\nexport interface VideoOptions {\n /**\n * Controls if the image node should be inline or not.\n * @default false\n * @example true\n */\n inline: boolean;\n\n /**\n * Controls if base64 images are allowed. Enable this if you want to allow\n * base64 image urls in the `src` attribute.\n * @default false\n * @example true\n */\n allowBase64: boolean;\n\n /**\n * HTML attributes to add to the image element.\n * @default {}\n * @example { class: 'foo' }\n */\n HTMLAttributes: Record<string, any>;\n}\n\ndeclare module \"@tiptap/core\" {\n interface Commands<ReturnType> {\n video: {\n /**\n * Add an image\n * @param options The image attributes\n * @example\n * editor\n * .commands\n * .setVideo({ src: 'https://tiptap.dev/logo.png', alt: 'tiptap', title: 'tiptap logo' })\n */\n setVideo: (options: {\n src: string;\n alt?: string;\n title?: string;\n poster?: string;\n }) => ReturnType;\n };\n }\n}\n\n/**\n * Matches an image to a  on input.\n */\nexport const inputRegex =\n /(?:^|\\s)(!\\[(.+|:?)]\\((\\S+)(?:(?:\\s+)[\"'](\\S+)[\"'])?\\))$/;\n\n/**\n * This extension allows you to insert images.\n * @see https://www.tiptap.dev/api/nodes/image\n */\nexport const VideoBlockServerside = Node.create<VideoOptions>({\n name: \"videoBlock\",\n\n addOptions() {\n return {\n inline: false,\n allowBase64: false,\n HTMLAttributes: {},\n };\n },\n\n inline() {\n return this.options.inline;\n },\n\n group() {\n return this.options.inline ? \"inline\" : \"block\";\n },\n\n draggable: true,\n\n addAttributes() {\n return {\n \"data-id\": { default: null },\n src: {\n default: \"\",\n parseHTML: (element) => element.getAttribute(\"src\"),\n renderHTML: (attributes) => ({\n src: attributes.src,\n }),\n },\n poster: {\n default: \"\",\n parseHTML: (element) => element.getAttribute(\"poster\"),\n renderHTML: (attributes) => ({\n poster: attributes.poster,\n }),\n },\n playlistUrl: {\n default: \"\",\n parseHTML: (element) => element.getAttribute(\"data-playlist-url\"),\n renderHTML: (attributes) => ({\n \"data-playlist-url\": attributes.playlistUrl,\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 caption: {\n default: true,\n parseHTML: (element) => element.getAttribute(\"data-caption\") === \"true\",\n renderHTML: (attributes) => ({\n \"data-caption\": attributes.caption,\n }),\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: this.options.allowBase64\n ? \"div[src]\"\n : 'div[src]:not([src^=\"data:\"])',\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n \"div\",\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\n ];\n },\n});\n"],"names":["mergeAttributes","Node","inputRegex","VideoBlockServerside","create","name","addOptions","inline","allowBase64","HTMLAttributes","options","group","draggable","addAttributes","default","src","parseHTML","element","getAttribute","renderHTML","attributes","poster","playlistUrl","width","align","alt","undefined","caption","tag"],"mappings":"AAAA,SAASA,eAAe,EAAEC,IAAI,QAAQ,eAAe;AA+CrD;;CAEC,GACD,OAAO,MAAMC,aACX,2DAA2D;AAE7D;;;CAGC,GACD,OAAO,MAAMC,uBAAuBF,KAAKG,MAAM,CAAe;IAC5DC,MAAM;IAENC;QACE,OAAO;YACLC,QAAQ;YACRC,aAAa;YACbC,gBAAgB,CAAC;QACnB;IACF;IAEAF;QACE,OAAO,IAAI,CAACG,OAAO,CAACH,MAAM;IAC5B;IAEAI;QACE,OAAO,IAAI,CAACD,OAAO,CAACH,MAAM,GAAG,WAAW;IAC1C;IAEAK,WAAW;IAEXC;QACE,OAAO;YACL,WAAW;gBAAEC,SAAS;YAAK;YAC3BC,KAAK;gBACHD,SAAS;gBACTE,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3BL,KAAKK,WAAWL,GAAG;oBACrB,CAAA;YACF;YACAM,QAAQ;gBACNP,SAAS;gBACTE,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3BC,QAAQD,WAAWC,MAAM;oBAC3B,CAAA;YACF;YACAC,aAAa;gBACXR,SAAS;gBACTE,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3B,qBAAqBA,WAAWE,WAAW;oBAC7C,CAAA;YACF;YACAC,OAAO;gBACLT,SAAS;gBACTE,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3B,cAAcA,WAAWG,KAAK;oBAChC,CAAA;YACF;YACAC,OAAO;gBACLV,SAAS;gBACTE,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3B,cAAcA,WAAWI,KAAK;oBAChC,CAAA;YACF;YACAC,KAAK;gBACHX,SAASY;gBACTV,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3BK,KAAKL,WAAWK,GAAG;oBACrB,CAAA;YACF;YACAE,SAAS;gBACPb,SAAS;gBACTE,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC,oBAAoB;gBACjEC,YAAY,CAACC,aAAgB,CAAA;wBAC3B,gBAAgBA,WAAWO,OAAO;oBACpC,CAAA;YACF;QACF;IACF;IAEAX;QACE,OAAO;YACL;gBACEY,KAAK,IAAI,CAAClB,OAAO,CAACF,WAAW,GACzB,aACA;YACN;SACD;IACH;IAEAW,YAAW,EAAEV,cAAc,EAAE;QAC3B,OAAO;YACL;YACAT,gBAAgB,IAAI,CAACU,OAAO,CAACD,cAAc,EAAEA;SAC9C;IACH;AACF,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/YouTubeServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/YouTubeServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\n\nexport const YouTubeServerside = Node.create({\n name: \"youtube\",\n\n group: \"block\",\n content: \"inline*\",\n\n parseHTML() {\n return [\n {\n tag: 'a[data-type=\"youtube\"]',\n },\n ];\n },\n addAttributes() {\n return {\n url: { default: null },\n \"data-id\": { default: null },\n class: { default: \"inline-youtube\" },\n };\n },\n renderHTML({ HTMLAttributes }) {\n return [\n \"div\",\n mergeAttributes(HTMLAttributes, {\n \"data-type\": \"youtube\",\n class: `react-renderer node-youtube ${HTMLAttributes.class}`,\n }),\n 0,\n ];\n },\n});\n"],"names":["Node","mergeAttributes","YouTubeServerside","create","name","group","content","parseHTML","tag","addAttributes","url","default","class","renderHTML","HTMLAttributes"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,oBAAoBF,KAAKG,MAAM,CAAC;IAC3CC,MAAM;IAENC,OAAO;IACPC,SAAS;IAETC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IACAC;QACE,OAAO;YACLC,KAAK;gBAAEC,SAAS;YAAK;YACrB,WAAW;gBAAEA,SAAS;YAAK;YAC3BC,OAAO;gBAAED,SAAS;YAAiB;QACrC;IACF;IACAE,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACAb,gBAAgBa,gBAAgB;gBAC9B,aAAa;gBACbF,OAAO,CAAC,4BAA4B,EAAEE,eAAeF,KAAK,EAAE;YAC9D;YACA;SACD;IACH;AACF,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/getAssetsAspectRatio.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from \"react\";\
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/getAssetsAspectRatio.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from \"react\";\n\nexport function useGetAssetsAspectRatio() {\n const [aspectRatio, setAspectRatio] = useState(\"\");\n const [isVertical, setIsVertical] = useState(false);\n const [loading, setLoading] = useState(false);\n const calculateAspectRatio = useCallback(\n async (attrs, type, getVideoAspect) => {\n if (loading) return;\n setLoading(true);\n\n const { src, actualWidth, actualHeight } = attrs;\n if (actualWidth && actualHeight) {\n setIsVertical(actualWidth < actualHeight);\n\n setAspectRatio(`${actualWidth} / ${actualHeight}`);\n setLoading(false);\n return;\n }\n\n if (type === \"VIDEO\" && getVideoAspect) {\n const metadata = await getVideoAspect(src);\n\n if (metadata.width && metadata.height) {\n setIsVertical(metadata.width < metadata.height);\n setAspectRatio(`${metadata.width} / ${metadata.height}`);\n }\n setLoading(false);\n return;\n }\n },\n [loading]\n );\n\n return { aspectRatio, calculateAspectRatio, isVertical };\n}\n"],"names":["useCallback","useState","useGetAssetsAspectRatio","aspectRatio","setAspectRatio","isVertical","setIsVertical","loading","setLoading","calculateAspectRatio","attrs","type","getVideoAspect","src","actualWidth","actualHeight","metadata","width","height"],"mappings":"AAAA,SAASA,WAAW,EAAaC,QAAQ,QAAQ,QAAQ;AAEzD,OAAO,SAASC;IACd,MAAM,CAACC,aAAaC,eAAe,GAAGH,SAAS;IAC/C,MAAM,CAACI,YAAYC,cAAc,GAAGL,SAAS;IAC7C,MAAM,CAACM,SAASC,WAAW,GAAGP,SAAS;IACvC,MAAMQ,uBAAuBT,YAC3B,OAAOU,OAAOC,MAAMC;QAClB,IAAIL,SAAS;QACbC,WAAW;QAEX,MAAM,EAAEK,GAAG,EAAEC,WAAW,EAAEC,YAAY,EAAE,GAAGL;QAC3C,IAAII,eAAeC,cAAc;YAC/BT,cAAcQ,cAAcC;YAE5BX,eAAe,GAAGU,YAAY,GAAG,EAAEC,cAAc;YACjDP,WAAW;YACX;QACF;QAEA,IAAIG,SAAS,WAAWC,gBAAgB;YACtC,MAAMI,WAAW,MAAMJ,eAAeC;YAEtC,IAAIG,SAASC,KAAK,IAAID,SAASE,MAAM,EAAE;gBACrCZ,cAAcU,SAASC,KAAK,GAAGD,SAASE,MAAM;gBAC9Cd,eAAe,GAAGY,SAASC,KAAK,CAAC,GAAG,EAAED,SAASE,MAAM,EAAE;YACzD;YACAV,WAAW;YACX;QACF;IACF,GACA;QAACD;KAAQ;IAGX,OAAO;QAAEJ;QAAaM;QAAsBJ;IAAW;AACzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/index.ts"],"sourcesContent":["export * from \"./FacebookServerside.js\";\
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/index.ts"],"sourcesContent":["export * from \"./FacebookServerside.js\";\nexport * from \"./ImageBlockServerside.js\";\nexport * from \"./InstagramServerside.js\";\nexport * from \"./LinkedinServerside.js\";\nexport * from \"./TiktokServerside.js\";\nexport * from \"./TwitterBlockServerside.js\";\nexport * from \"./VideoBlockServerside.js\";\nexport * from \"./YouTubeServerside.js\";\nexport * from \"./EmbedContentInlineRenderer.js\";\nexport * from \"./EmbedContentSideRenderer.js\";\nexport * from \"./EmbedContentSidebarRenderer.js\";\nexport * from \"./ServersideTiptapBody.js\";\nexport * from \"./useAppendRequiredBlocksMarkerClient.js\";\n"],"names":[],"mappings":"AAAA,cAAc,0BAA0B;AACxC,cAAc,4BAA4B;AAC1C,cAAc,2BAA2B;AACzC,cAAc,0BAA0B;AACxC,cAAc,wBAAwB;AACtC,cAAc,8BAA8B;AAC5C,cAAc,4BAA4B;AAC1C,cAAc,yBAAyB;AACvC,cAAc,kCAAkC;AAChD,cAAc,gCAAgC;AAC9C,cAAc,mCAAmC;AACjD,cAAc,4BAA4B;AAC1C,cAAc,2CAA2C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/useAppendRequiredBlocksMarkerClient.ts"],"sourcesContent":["import { useCallback } from \"react\";\
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/useAppendRequiredBlocksMarkerClient.ts"],"sourcesContent":["import { useCallback } from \"react\";\n\nconst FILTERED_ARTICLE = [\"imageUpload\"];\n\nconst SOCIAL_MEDIA = [\n \"twitter\",\n \"youtube\",\n \"facebook\",\n \"instagram\",\n \"linkedin\",\n \"tiktok\",\n \"imageBlock\",\n \"videoBlock\",\n \"insideLink\",\n];\nexport function appendRequiredBlocksMarkerClient(body) {\n if (!body) return body;\n return {\n ...body,\n content: body.content\n ?.filter((c) => !FILTERED_ARTICLE.includes(c.type))\n ?.map((block, index) => {\n if (SOCIAL_MEDIA.includes(block.type)) {\n return {\n ...block,\n attrs: {\n ...block.attrs,\n \"data-id\": index,\n key: Math.random(),\n side: block.attrs?.class?.includes(\"side\"),\n inline: block.attrs?.class?.includes(\"inline\"),\n },\n };\n }\n\n return block;\n }),\n };\n}\n"],"names":["FILTERED_ARTICLE","SOCIAL_MEDIA","appendRequiredBlocksMarkerClient","body","content","filter","c","includes","type","map","block","index","attrs","key","Math","random","side","class","inline"],"mappings":"AAEA,MAAMA,mBAAmB;IAAC;CAAc;AAExC,MAAMC,eAAe;IACnB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AACD,OAAO,SAASC,iCAAiCC,IAAI;IACnD,IAAI,CAACA,MAAM,OAAOA;IAClB,OAAO;QACL,GAAGA,IAAI;QACPC,SAASD,KAAKC,OAAO,EACjBC,OAAO,CAACC,IAAM,CAACN,iBAAiBO,QAAQ,CAACD,EAAEE,IAAI,IAC/CC,IAAI,CAACC,OAAOC;YACZ,IAAIV,aAAaM,QAAQ,CAACG,MAAMF,IAAI,GAAG;gBACrC,OAAO;oBACL,GAAGE,KAAK;oBACRE,OAAO;wBACL,GAAGF,MAAME,KAAK;wBACd,WAAWD;wBACXE,KAAKC,KAAKC,MAAM;wBAChBC,MAAMN,MAAME,KAAK,EAAEK,OAAOV,SAAS;wBACnCW,QAAQR,MAAME,KAAK,EAAEK,OAAOV,SAAS;oBACvC;gBACF;YACF;YAEA,OAAOG;QACT;IACJ;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/BlockEditor.tsx"],"sourcesContent":["'use client'\
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/BlockEditor.tsx"],"sourcesContent":["'use client'\nimport { EditorContent } from '@tiptap/react'\nimport { useEffect, useMemo, useRef } from 'react'\nimport i18n from 'i18next'\n\nimport { EditorContext } from '../../context/EditorContext.js'\nimport { IframeMenu } from '../../extensions/Iframe/menus/index.js'\nimport ImageBlockMenu from '../../extensions/ImageBlock/components/ImageBlockMenu.js'\nimport { InsideLinksMenu } from '../../extensions/InsideLinks/menus/index.js'\nimport { ColumnsMenu } from '../../extensions/MultiColumn/menus/ColumnsMenu.js'\nimport { SocialMediaMenu } from '../../extensions/SocialMedia/menus/index.js'\n\nimport VideoBlockMenu from '../../extensions/VideoBlock/components/VideoBlockMenu.js'\nimport { useBlockEditor } from '../../hooks/useBlockEditor.js'\nimport { openAssetHQType } from '../../types.js'\nimport { ContentItemMenu } from '../menus/ContentItemMenu/ContentItemMenu.js'\nimport { TextMenu } from '../menus/TextMenu/TextMenu.js'\nimport { LinkMenu } from '../menus/index.js'\nimport { AdditionalContextType, FetchSiteMetadataType, TiptapProps } from './types.js'\nimport i18next from 'i18next'\nimport ILinkPreviewMenu from '../../extensions/LinkPreview/menus/linkPreviewMenu.js'\n\nconst DEFAULT_LANG = 'en'\n\nexport const BlockEditor = ({\n handleChange,\n content,\n openAssetHQHandler,\n additionalContext,\n isEditable = true,\n autoFocus = true,\n dir,\n fetchSiteMetadata,\n}: TiptapProps & {\n openAssetHQHandler?: openAssetHQType\n additionalContext?: AdditionalContextType\n fetchSiteMetadata?: FetchSiteMetadataType\n autoFocus?: boolean\n isEditable?: boolean\n dir?: 'ltr' | 'rtl'\n}) => {\n const menuContainerRef = useRef(null)\n const editorRef = useRef<HTMLDivElement>(null)\n\n const { editor, users, characterCount, leftSidebar } = useBlockEditor({\n content: content,\n handleChange: handleChange,\n openAssetHQHandler: openAssetHQHandler,\n additionalContext: additionalContext,\n autoFocus,\n isEditable,\n dir,\n })\n\n const displayedUsers = users.slice(0, 3)\n const providerValue = useMemo(() => {\n return {}\n }, [])\n useEffect(() => {\n if (!additionalContext) {\n i18n.init({\n fallbackLng: DEFAULT_LANG,\n lng: DEFAULT_LANG,\n returnEmptyString: true,\n resources: {},\n })\n return\n }\n\n if (additionalContext.language && additionalContext.translations) {\n i18n.init({\n fallbackLng: additionalContext.language,\n lng: additionalContext.language,\n returnEmptyString: true,\n resources: {\n [additionalContext.language]: {\n translation: additionalContext.translations,\n },\n },\n })\n return\n }\n if (additionalContext.language) {\n i18n.init({\n fallbackLng: additionalContext?.language,\n lng: additionalContext?.language,\n returnEmptyString: true,\n resources: {},\n })\n }\n }, [additionalContext])\n const sectionDir = dir || i18next.dir()\n return (\n editor && (\n <EditorContext.Provider value={providerValue}>\n <div className='flex h-full overflow-visible' ref={menuContainerRef} dir={sectionDir}>\n <div className='relative flex flex-col flex-1 h-full justify-center items-center '>\n <EditorContent\n dir={sectionDir}\n editor={editor}\n ref={editorRef}\n className='flex-1 overflow-y-visible w-full h-full outline-none outline-offset-0'\n style={{\n outline: 'none',\n }}\n />\n {isEditable && (\n <>\n <ContentItemMenu editor={editor} />\n <LinkMenu editor={editor} appendTo={menuContainerRef} />\n <TextMenu editor={editor} dir={i18next.dir()} />\n <ILinkPreviewMenu\n editor={editor}\n appendTo={menuContainerRef}\n fetchSiteMetadata={fetchSiteMetadata}\n />\n <IframeMenu editor={editor} appendTo={menuContainerRef} />\n <SocialMediaMenu editor={editor} appendTo={menuContainerRef} />\n <InsideLinksMenu editor={editor} appendTo={menuContainerRef} />\n <ColumnsMenu editor={editor} appendTo={menuContainerRef} />\n <ImageBlockMenu editor={editor} appendTo={menuContainerRef} />\n <VideoBlockMenu editor={editor} appendTo={menuContainerRef} />\n </>\n )}\n </div>\n </div>\n </EditorContext.Provider>\n )\n )\n}\n\nexport default BlockEditor\n"],"names":["EditorContent","useEffect","useMemo","useRef","i18n","EditorContext","IframeMenu","ImageBlockMenu","InsideLinksMenu","ColumnsMenu","SocialMediaMenu","VideoBlockMenu","useBlockEditor","ContentItemMenu","TextMenu","LinkMenu","i18next","ILinkPreviewMenu","DEFAULT_LANG","BlockEditor","handleChange","content","openAssetHQHandler","additionalContext","isEditable","autoFocus","dir","fetchSiteMetadata","menuContainerRef","editorRef","editor","users","characterCount","leftSidebar","displayedUsers","slice","providerValue","init","fallbackLng","lng","returnEmptyString","resources","language","translations","translation","sectionDir","Provider","value","div","className","ref","style","outline","appendTo"],"mappings":"AAAA;;AACA,SAASA,aAAa,QAAQ,gBAAe;AAC7C,SAASC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,QAAO;AAClD,OAAOC,UAAU,UAAS;AAE1B,SAASC,aAAa,QAAQ,iCAAgC;AAC9D,SAASC,UAAU,QAAQ,yCAAwC;AACnE,OAAOC,oBAAoB,2DAA0D;AACrF,SAASC,eAAe,QAAQ,8CAA6C;AAC7E,SAASC,WAAW,QAAQ,oDAAmD;AAC/E,SAASC,eAAe,QAAQ,8CAA6C;AAE7E,OAAOC,oBAAoB,2DAA0D;AACrF,SAASC,cAAc,QAAQ,gCAA+B;AAE9D,SAASC,eAAe,QAAQ,8CAA6C;AAC7E,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,QAAQ,QAAQ,oBAAmB;AAE5C,OAAOC,aAAa,UAAS;AAC7B,OAAOC,sBAAsB,wDAAuD;AAEpF,MAAMC,eAAe;AAErB,OAAO,MAAMC,cAAc,CAAC,EAC1BC,YAAY,EACZC,OAAO,EACPC,kBAAkB,EAClBC,iBAAiB,EACjBC,aAAa,IAAI,EACjBC,YAAY,IAAI,EAChBC,GAAG,EACHC,iBAAiB,EAQlB;IACC,MAAMC,mBAAmBzB,OAAO;IAChC,MAAM0B,YAAY1B,OAAuB;IAEzC,MAAM,EAAE2B,MAAM,EAAEC,KAAK,EAAEC,cAAc,EAAEC,WAAW,EAAE,GAAGrB,eAAe;QACpES,SAASA;QACTD,cAAcA;QACdE,oBAAoBA;QACpBC,mBAAmBA;QACnBE;QACAD;QACAE;IACF;IAEA,MAAMQ,iBAAiBH,MAAMI,KAAK,CAAC,GAAG;IACtC,MAAMC,gBAAgBlC,QAAQ;QAC5B,OAAO,CAAC;IACV,GAAG,EAAE;IACLD,UAAU;QACR,IAAI,CAACsB,mBAAmB;YACtBnB,KAAKiC,IAAI,CAAC;gBACRC,aAAapB;gBACbqB,KAAKrB;gBACLsB,mBAAmB;gBACnBC,WAAW,CAAC;YACd;YACA;QACF;QAEA,IAAIlB,kBAAkBmB,QAAQ,IAAInB,kBAAkBoB,YAAY,EAAE;YAChEvC,KAAKiC,IAAI,CAAC;gBACRC,aAAaf,kBAAkBmB,QAAQ;gBACvCH,KAAKhB,kBAAkBmB,QAAQ;gBAC/BF,mBAAmB;gBACnBC,WAAW;oBACT,CAAClB,kBAAkBmB,QAAQ,CAAC,EAAE;wBAC5BE,aAAarB,kBAAkBoB,YAAY;oBAC7C;gBACF;YACF;YACA;QACF;QACA,IAAIpB,kBAAkBmB,QAAQ,EAAE;YAC9BtC,KAAKiC,IAAI,CAAC;gBACRC,aAAaf,mBAAmBmB;gBAChCH,KAAKhB,mBAAmBmB;gBACxBF,mBAAmB;gBACnBC,WAAW,CAAC;YACd;QACF;IACF,GAAG;QAAClB;KAAkB;IACtB,MAAMsB,aAAanB,OAAOV,QAAQU,GAAG;IACrC,OACEI,wBACE,KAACzB,cAAcyC,QAAQ;QAACC,OAAOX;kBAC7B,cAAA,KAACY;YAAIC,WAAU;YAA+BC,KAAKtB;YAAkBF,KAAKmB;sBACxE,cAAA,MAACG;gBAAIC,WAAU;;kCACb,KAACjD;wBACC0B,KAAKmB;wBACLf,QAAQA;wBACRoB,KAAKrB;wBACLoB,WAAU;wBACVE,OAAO;4BACLC,SAAS;wBACX;;oBAED5B,4BACC;;0CACE,KAACX;gCAAgBiB,QAAQA;;0CACzB,KAACf;gCAASe,QAAQA;gCAAQuB,UAAUzB;;0CACpC,KAACd;gCAASgB,QAAQA;gCAAQJ,KAAKV,QAAQU,GAAG;;0CAC1C,KAACT;gCACCa,QAAQA;gCACRuB,UAAUzB;gCACVD,mBAAmBA;;0CAErB,KAACrB;gCAAWwB,QAAQA;gCAAQuB,UAAUzB;;0CACtC,KAAClB;gCAAgBoB,QAAQA;gCAAQuB,UAAUzB;;0CAC3C,KAACpB;gCAAgBsB,QAAQA;gCAAQuB,UAAUzB;;0CAC3C,KAACnB;gCAAYqB,QAAQA;gCAAQuB,UAAUzB;;0CACvC,KAACrB;gCAAeuB,QAAQA;gCAAQuB,UAAUzB;;0CAC1C,KAACjB;gCAAemB,QAAQA;gCAAQuB,UAAUzB;;;;;;;;AAQ1D,EAAC;AAED,eAAeT,YAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/OneLineEditor.tsx"],"sourcesContent":["\"use client\";\
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/OneLineEditor.tsx"],"sourcesContent":["\"use client\";\nimport { EditorContent, useEditor } from \"@tiptap/react\";\nimport i18n from \"i18next\";\nimport { useEffect, useMemo, useRef } from \"react\";\n\nimport { EditorContext } from \"../../context/EditorContext.js\";\n\nimport i18next from \"i18next\";\nimport Text from '@tiptap/extension-text'\nimport Highlight from '@tiptap/extension-highlight'\nimport { AICommand, Heading, Paragraph, StarterKit } from \"../../extensions/index.js\";\nimport OneLiner from \"./components/OneLiner.js\";\nimport { AdditionalContextType, TiptapProps } from \"./types.js\";\nimport { AITextMenu } from \"../menus/TextMenu/AITextMenu.js\";\n\nconst DEFAULT_LANG = \"en\"\n\nexport const OneLineEditor = ({\n handleChange,\n content,\n additionalContext,\n isEditable = true,\n autoFocus = true,\n dir,\n}: TiptapProps & {\n additionalContext?: AdditionalContextType;\n autoFocus?: boolean;\n isEditable?: boolean;\n dir?: \"ltr\" | \"rtl\" | \"auto\";\n}) => {\n const menuContainerRef = useRef(null);\n const editorRef = useRef<HTMLDivElement>(null);\n\n const editor = useEditor(\n {\n content: content?.json ?? content ?? {},\n immediatelyRender: false,\n autofocus: autoFocus ?? true,\n editable: isEditable ?? true,\n onCreate: ({ editor }) => ({\n // provider?.on('synced', () => {\n // if (editor.isEmpty) {\n // editor.commands.setContent(initialContent)\n // }\n // })\n }),\n extensions: [\n OneLiner,\n Text,\n Paragraph,\n AICommand,\n Highlight\n\n ],\n editorProps: {\n attributes: {\n languages: i18next.language,\n autocomplete: \"off\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n class: \"min-h-full\",\n },\n },\n onUpdate: ({ editor }) => {\n handleChange(editor?.getJSON() ?? {});\n },\n },\n []\n );\n\n\n const providerValue = useMemo(() => {\n return {};\n }, []);\n useEffect(() => {\n if (!additionalContext) {\n i18n.init({\n fallbackLng: DEFAULT_LANG,\n lng: DEFAULT_LANG,\n returnEmptyString: true,\n resources: {},\n });\n return\n }\n\n if (additionalContext.language && additionalContext.translations) {\n i18n.init({\n fallbackLng: additionalContext.language,\n lng: additionalContext.language,\n returnEmptyString: true,\n resources: {\n [additionalContext.language]: {\n translation: additionalContext.translations,\n },\n },\n });\n return\n }\n if (additionalContext.language) {\n i18n.init({\n fallbackLng: additionalContext?.language,\n lng: additionalContext?.language,\n returnEmptyString: true,\n resources: {},\n });\n }\n }, []);\n\n return (\n editor && (\n <EditorContext.Provider value={providerValue}>\n <div\n className=\"flex h-full overflow-visible\"\n ref={menuContainerRef}\n dir={i18next.dir()}\n >\n <div className=\"one-liner relative flex flex-col flex-1 h-full justify-center items-center \">\n <EditorContent\n dir={i18next.dir()}\n editor={editor}\n ref={editorRef}\n className=\"flex-1 overflow-y-visible w-full h-full outline-none outline-offset-0\"\n style={{\n outline: \"none\",\n }}\n />\n {isEditable && (\n <>\n <AITextMenu\n editor={editor}\n dir={i18next.dir()}\n />\n </>\n )}\n </div>\n </div>\n </EditorContext.Provider>\n )\n );\n};\n\nexport default OneLineEditor;\n"],"names":["EditorContent","useEditor","i18n","useEffect","useMemo","useRef","EditorContext","i18next","Text","Highlight","AICommand","Paragraph","OneLiner","AITextMenu","DEFAULT_LANG","OneLineEditor","handleChange","content","additionalContext","isEditable","autoFocus","dir","menuContainerRef","editorRef","editor","json","immediatelyRender","autofocus","editable","onCreate","extensions","editorProps","attributes","languages","language","autocomplete","autocorrect","autocapitalize","class","onUpdate","getJSON","providerValue","init","fallbackLng","lng","returnEmptyString","resources","translations","translation","Provider","value","div","className","ref","style","outline"],"mappings":"AAAA;;AACA,SAASA,aAAa,EAAEC,SAAS,QAAQ,gBAAgB;AACzD,OAAOC,UAAU,UAAU;AAC3B,SAASC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,QAAQ;AAEnD,SAASC,aAAa,QAAQ,iCAAiC;AAE/D,OAAOC,aAAa,UAAU;AAC9B,OAAOC,UAAU,yBAAwB;AACzC,OAAOC,eAAe,8BAA6B;AACnD,SAASC,SAAS,EAAWC,SAAS,QAAoB,4BAA4B;AACtF,OAAOC,cAAc,2BAA2B;AAEhD,SAASC,UAAU,QAAQ,kCAAkC;AAE7D,MAAMC,eAAe;AAErB,OAAO,MAAMC,gBAAgB,CAAC,EAC5BC,YAAY,EACZC,OAAO,EACPC,iBAAiB,EACjBC,aAAa,IAAI,EACjBC,YAAY,IAAI,EAChBC,GAAG,EAMJ;IACC,MAAMC,mBAAmBjB,OAAO;IAChC,MAAMkB,YAAYlB,OAAuB;IAEzC,MAAMmB,SAASvB,UACb;QACEgB,SAASA,SAASQ,QAAQR,WAAW,CAAC;QACtCS,mBAAmB;QACnBC,WAAWP,aAAa;QACxBQ,UAAUT,cAAc;QACxBU,UAAU,CAAC,EAAEL,MAAM,EAAE,GAAM,CAAA;YAM3B,CAAA;QACAM,YAAY;YACVlB;YACAJ;YACAG;YACAD;YACAD;SAED;QACDsB,aAAa;YACXC,YAAY;gBACVC,WAAW1B,QAAQ2B,QAAQ;gBAC3BC,cAAc;gBACdC,aAAa;gBACbC,gBAAgB;gBAChBC,OAAO;YACT;QACF;QACAC,UAAU,CAAC,EAAEf,MAAM,EAAE;YACnBR,aAAaQ,QAAQgB,aAAa,CAAC;QACrC;IACF,GACA,EAAE;IAIJ,MAAMC,gBAAgBrC,QAAQ;QAC5B,OAAO,CAAC;IACV,GAAG,EAAE;IACLD,UAAU;QACR,IAAI,CAACe,mBAAmB;YACtBhB,KAAKwC,IAAI,CAAC;gBACRC,aAAa7B;gBACb8B,KAAK9B;gBACL+B,mBAAmB;gBACnBC,WAAW,CAAC;YACd;YACA;QACF;QAEA,IAAI5B,kBAAkBgB,QAAQ,IAAIhB,kBAAkB6B,YAAY,EAAE;YAChE7C,KAAKwC,IAAI,CAAC;gBACRC,aAAazB,kBAAkBgB,QAAQ;gBACvCU,KAAK1B,kBAAkBgB,QAAQ;gBAC/BW,mBAAmB;gBACnBC,WAAW;oBACT,CAAC5B,kBAAkBgB,QAAQ,CAAC,EAAE;wBAC5Bc,aAAa9B,kBAAkB6B,YAAY;oBAC7C;gBACF;YACF;YACA;QACF;QACA,IAAI7B,kBAAkBgB,QAAQ,EAAE;YAC9BhC,KAAKwC,IAAI,CAAC;gBACRC,aAAazB,mBAAmBgB;gBAChCU,KAAK1B,mBAAmBgB;gBACxBW,mBAAmB;gBACnBC,WAAW,CAAC;YACd;QACF;IACF,GAAG,EAAE;IAEL,OACEtB,wBACE,KAAClB,cAAc2C,QAAQ;QAACC,OAAOT;kBAC7B,cAAA,KAACU;YACCC,WAAU;YACVC,KAAK/B;YACLD,KAAKd,QAAQc,GAAG;sBAEhB,cAAA,MAAC8B;gBAAIC,WAAU;;kCACb,KAACpD;wBACCqB,KAAKd,QAAQc,GAAG;wBAChBG,QAAQA;wBACR6B,KAAK9B;wBACL6B,WAAU;wBACVE,OAAO;4BACLC,SAAS;wBACX;;oBAEDpC,4BACC;kCACE,cAAA,KAACN;4BACCW,QAAQA;4BACRH,KAAKd,QAAQc,GAAG;;;;;;;AASlC,EAAE;AAEF,eAAeN,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/BlockEditor/components/EditorHeader.tsx"],"sourcesContent":["import React from \"react\";\
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/BlockEditor/components/EditorHeader.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { PanelLeft, PanelLeftClose } from \"lucide-react\";\nimport { Icon } from \"../../ui/Icon.js\";\nimport { Toolbar } from \"../../ui/Toolbar.js\";\nimport { EditorUser } from \"../types.js\";\nimport { EditorInfo } from \"./EditorInfo.js\";\nimport i18next from \"i18next\";\n\nexport type EditorHeaderProps = {\n isSidebarOpen?: boolean;\n toggleSidebar?: () => void;\n characters: number;\n words: number;\n users: EditorUser[];\n};\n\nexport const EditorHeader = ({\n characters,\n users,\n words,\n isSidebarOpen,\n toggleSidebar,\n}: EditorHeaderProps) => {\n return (\n <div className=\"w-full flex flex-row items-center justify-between flex-none py-2 text-black bg-white border-b border-neutral-200 dark:bg-black dark:text-white dark:border-neutral-800\">\n <div className=\"flex flex-row gap-x-1.5 items-center\">\n <div className=\"flex items-center gap-x-1.5\">\n <Toolbar.Button\n type=\"button\"\n tooltip={isSidebarOpen ?\n i18next.t(\"closeSidebar\") || \"Close sidebar\" :\n i18next.t(\"openSidebar\") || \"Open sidebar\"}\n onClick={toggleSidebar}\n active={isSidebarOpen}\n className={isSidebarOpen ? \"bg-transparent\" : \"\"}\n >\n <Icon icon={isSidebarOpen ? PanelLeftClose : PanelLeft} />\n </Toolbar.Button>\n </div>\n </div>\n <EditorInfo characters={characters} words={words} users={users} />\n </div>\n );\n};\n"],"names":["React","PanelLeft","PanelLeftClose","Icon","Toolbar","EditorInfo","i18next","EditorHeader","characters","users","words","isSidebarOpen","toggleSidebar","div","className","Button","type","tooltip","t","onClick","active","icon"],"mappings":";AAAA,OAAOA,WAAW,QAAQ;AAE1B,SAASC,SAAS,EAAEC,cAAc,QAAQ,eAAe;AACzD,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SAASC,OAAO,QAAQ,sBAAsB;AAE9C,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,OAAOC,aAAa,UAAU;AAU9B,OAAO,MAAMC,eAAe,CAAC,EAC3BC,UAAU,EACVC,KAAK,EACLC,KAAK,EACLC,aAAa,EACbC,aAAa,EACK;IAClB,qBACE,MAACC;QAAIC,WAAU;;0BACb,KAACD;gBAAIC,WAAU;0BACb,cAAA,KAACD;oBAAIC,WAAU;8BACb,cAAA,KAACV,QAAQW,MAAM;wBACbC,MAAK;wBACLC,SAASN,gBACPL,QAAQY,CAAC,CAAC,mBAAmB,kBAC7BZ,QAAQY,CAAC,CAAC,kBAAkB;wBAC9BC,SAASP;wBACTQ,QAAQT;wBACRG,WAAWH,gBAAgB,mBAAmB;kCAE9C,cAAA,KAACR;4BAAKkB,MAAMV,gBAAgBT,iBAAiBD;;;;;0BAInD,KAACI;gBAAWG,YAAYA;gBAAYE,OAAOA;gBAAOD,OAAOA;;;;AAG/D,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/BlockEditor/components/EditorInfo.tsx"],"sourcesContent":["import React, { memo } from \"react\";\
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/BlockEditor/components/EditorInfo.tsx"],"sourcesContent":["import React, { memo } from \"react\";\nimport { EditorUser } from \"../types.js\";\n\nexport type EditorInfoProps = {\n characters: number;\n words: number;\n users: EditorUser[];\n};\n\nexport const EditorInfo = memo(\n ({ characters, users, words }: EditorInfoProps) => {\n return (\n <div className=\"flex items-center\">\n <div className=\"flex flex-col justify-center pr-4 mr-4 text-right border-r border-neutral-200 dark:border-neutral-800\">\n <div className=\"text-xs font-semibold text-neutral-500 dark:text-neutral-400\">\n {words} {words === 1 ? \"word\" : \"words\"}\n </div>\n <div className=\"text-xs font-semibold text-neutral-500 dark:text-neutral-400\">\n {characters} {characters === 1 ? \"character\" : \"characters\"}\n </div>\n </div>\n </div>\n );\n }\n);\n\nEditorInfo.displayName = \"EditorInfo\";\n"],"names":["React","memo","EditorInfo","characters","users","words","div","className","displayName"],"mappings":";AAAA,OAAOA,SAASC,IAAI,QAAQ,QAAQ;AASpC,OAAO,MAAMC,2BAAaD,KACxB,CAAC,EAAEE,UAAU,EAAEC,KAAK,EAAEC,KAAK,EAAmB;IAC5C,qBACE,KAACC;QAAIC,WAAU;kBACb,cAAA,MAACD;YAAIC,WAAU;;8BACb,MAACD;oBAAIC,WAAU;;wBACZF;wBAAM;wBAAEA,UAAU,IAAI,SAAS;;;8BAElC,MAACC;oBAAIC,WAAU;;wBACZJ;wBAAW;wBAAEA,eAAe,IAAI,cAAc;;;;;;AAKzD,GACA;AAEFD,WAAWM,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/BlockEditor/components/OneLiner.tsx"],"sourcesContent":["import { Node } from \"@tiptap/core\";\
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/BlockEditor/components/OneLiner.tsx"],"sourcesContent":["import { Node } from \"@tiptap/core\";\n\nconst OneLiner = Node.create({\n name: \"oneLiner\",\n topNode: true,\n content: \"block\",\n});\n\nexport default OneLiner;"],"names":["Node","OneLiner","create","name","topNode","content"],"mappings":"AAAA,SAASA,IAAI,QAAQ,eAAe;AAEpC,MAAMC,WAAWD,KAAKE,MAAM,CAAC;IACzBC,MAAM;IACNC,SAAS;IACTC,SAAS;AACb;AAEA,eAAeJ,SAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/index.tsx"],"sourcesContent":["export * from \"./BlockEditor.js\";\
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/index.tsx"],"sourcesContent":["export * from \"./BlockEditor.js\";\n"],"names":[],"mappings":"AAAA,cAAc,mBAAmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/types.tsx"],"sourcesContent":["export interface TiptapProps {\
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/types.tsx"],"sourcesContent":["export interface TiptapProps {\n hasCollab: boolean;\n handleChange: (value: any) => void;\n content: { html: string; json: any };\n}\n\nexport type LanguageOption = {\n name: string;\n label: string;\n value: any;\n};\nexport type EditorUser = {\n clientId: string;\n name: string;\n color: string;\n initials?: string;\n};\n\nexport type AiTone =\n | \"academic\"\n | \"business\"\n | \"casual\"\n | \"childfriendly\"\n | \"conversational\"\n | \"emotional\"\n | \"humorous\"\n | \"informative\"\n | \"inspirational\"\n | string;\n\nexport type AiPromptType = \"SHORTEN\" | \"EXTEND\" | \"SIMPLIFY\" | \"TONE\";\n\nexport type AiToneOption = {\n name: string;\n label: string;\n value: AiTone;\n};\n\nexport type AiImageStyle = {\n name: string;\n label: string;\n value: string;\n};\n\nexport type AdditionalContextType = {\n /** standard langauage code */\n language: string;\n /** translation object for the langauge sent down */\n translations: Record<string, string>;\n [k: string]: any;\n};\n\nexport type SiteMetaData = {\n url: string;\n title: string;\n siteName: string;\n description: string;\n mediaType: string;\n contentType: string;\n images: Array<string>;\n videos: [];\n favicons: Array<string>;\n charset: string;\n};\n\nexport type FetchSiteMetadataType = (url: string) => Promise<SiteMetaData>;\n"],"names":[],"mappings":"AAiEA,WAA2E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/menus/ContentItemMenu/ContentItemMenu.tsx"],"sourcesContent":["\"use client\";\
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/menus/ContentItemMenu/ContentItemMenu.tsx"],"sourcesContent":["\"use client\";\nimport { DragHandle } from \"@tiptap-pro/extension-drag-handle-react\";\nimport { Editor } from \"@tiptap/react\";\nimport { Icon } from \"../../ui/Icon.js\";\nimport { Toolbar } from \"../../ui/Toolbar.js\";\n\nimport * as Popover from \"@radix-ui/react-popover\";\nimport {\n Clipboard,\n Copy,\n GripVertical,\n Plus,\n RemoveFormatting,\n Trash2,\n} from \"lucide-react\";\nimport { useEffect, useState } from \"react\";\nimport { DropdownButton } from \"../../ui/Dropdown/Dropdown.js\";\nimport { Surface } from \"../../ui/Surface.js\";\nimport useContentItemActions from \"./hooks/useContentItemActions.js\";\nimport { useData } from \"./hooks/useData.js\";\nimport i18next from \"i18next\";\n\nexport type ContentItemMenuProps = {\n editor: Editor;\n};\n\nexport const ContentItemMenu = ({ editor }: ContentItemMenuProps) => {\n const [menuOpen, setMenuOpen] = useState(false);\n const [tippyOptions, setTippyOptions] = useState();\n const data = useData();\n const actions = useContentItemActions(\n editor,\n data.currentNode,\n data.currentNodePos\n );\n\n useEffect(() => {\n if (menuOpen) {\n editor.commands.setMeta(\"lockDragHandle\", true);\n } else {\n editor.commands.setMeta(\"lockDragHandle\", false);\n }\n }, [editor, menuOpen]);\n\n return (\n <DragHandle\n pluginKey=\"ContentItemMenu\"\n editor={editor}\n onNodeChange={data.handleNodeChange}\n tippyOptions={{\n placement: \"left\",\n offset: [-12, 2],\n zIndex: 99,\n }}\n >\n <div className=\"flex items-center gap-0.5\">\n <Toolbar.Button type=\"button\" onClick={actions.handleAdd}>\n <Icon icon={Plus} />\n </Toolbar.Button>\n <Popover.Root open={menuOpen} onOpenChange={setMenuOpen}>\n <Popover.Trigger asChild>\n <Toolbar.Button type=\"button\">\n <Icon icon={GripVertical} />\n </Toolbar.Button>\n </Popover.Trigger>\n <Popover.Content side=\"bottom\" align=\"start\" sideOffset={8}>\n <Surface className=\"p-2 flex flex-col min-w-[16rem]\">\n <Popover.Close>\n <DropdownButton onClick={actions.resetTextFormatting}>\n <Icon icon={RemoveFormatting} />\n {i18next.t(\"clearFormatting\") || \"Clear formatting\"}\n </DropdownButton>\n </Popover.Close>\n <Popover.Close>\n <DropdownButton onClick={actions.copyNodeToClipboard}>\n <Icon icon={Clipboard} />\n {i18next.t(\"copyToClipboard\") || \"Copy to clipboard\"}\n </DropdownButton>\n </Popover.Close>\n <Popover.Close>\n <DropdownButton onClick={actions.duplicateNode}>\n <Icon icon={Copy} />\n {i18next.t(\"duplicate\") || \"Duplicate\"}\n </DropdownButton>\n </Popover.Close>\n <Toolbar.Divider horizontal />\n <Popover.Close>\n <DropdownButton\n onClick={actions.deleteNode}\n className=\"text-red-500 bg-red-500 dark:text-red-500 hover:bg-red-500 dark:hover:text-red-500 dark:hover:bg-red-500 bg-opacity-10 hover:bg-opacity-20 dark:hover:bg-opacity-20\"\n >\n <Icon icon={Trash2} />\n {i18next.t(\"delete\") || \"Delete\"}\n </DropdownButton>\n </Popover.Close>\n </Surface>\n </Popover.Content>\n </Popover.Root>\n </div>\n </DragHandle>\n );\n};\n"],"names":["DragHandle","Icon","Toolbar","Popover","Clipboard","Copy","GripVertical","Plus","RemoveFormatting","Trash2","useEffect","useState","DropdownButton","Surface","useContentItemActions","useData","i18next","ContentItemMenu","editor","menuOpen","setMenuOpen","tippyOptions","setTippyOptions","data","actions","currentNode","currentNodePos","commands","setMeta","pluginKey","onNodeChange","handleNodeChange","placement","offset","zIndex","div","className","Button","type","onClick","handleAdd","icon","Root","open","onOpenChange","Trigger","asChild","Content","side","align","sideOffset","Close","resetTextFormatting","t","copyNodeToClipboard","duplicateNode","Divider","horizontal","deleteNode"],"mappings":"AAAA;;AACA,SAASA,UAAU,QAAQ,0CAA0C;AAErE,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SAASC,OAAO,QAAQ,sBAAsB;AAE9C,YAAYC,aAAa,0BAA0B;AACnD,SACEC,SAAS,EACTC,IAAI,EACJC,YAAY,EACZC,IAAI,EACJC,gBAAgB,EAChBC,MAAM,QACD,eAAe;AACtB,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAC5C,SAASC,cAAc,QAAQ,gCAAgC;AAC/D,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,OAAOC,2BAA2B,mCAAmC;AACrE,SAASC,OAAO,QAAQ,qBAAqB;AAC7C,OAAOC,aAAa,UAAU;AAM9B,OAAO,MAAMC,kBAAkB,CAAC,EAAEC,MAAM,EAAwB;IAC9D,MAAM,CAACC,UAAUC,YAAY,GAAGT,SAAS;IACzC,MAAM,CAACU,cAAcC,gBAAgB,GAAGX;IACxC,MAAMY,OAAOR;IACb,MAAMS,UAAUV,sBACdI,QACAK,KAAKE,WAAW,EAChBF,KAAKG,cAAc;IAGrBhB,UAAU;QACR,IAAIS,UAAU;YACZD,OAAOS,QAAQ,CAACC,OAAO,CAAC,kBAAkB;QAC5C,OAAO;YACLV,OAAOS,QAAQ,CAACC,OAAO,CAAC,kBAAkB;QAC5C;IACF,GAAG;QAACV;QAAQC;KAAS;IAErB,qBACE,KAACnB;QACC6B,WAAU;QACVX,QAAQA;QACRY,cAAcP,KAAKQ,gBAAgB;QACnCV,cAAc;YACZW,WAAW;YACXC,QAAQ;gBAAC,CAAC;gBAAI;aAAE;YAChBC,QAAQ;QACV;kBAEA,cAAA,MAACC;YAAIC,WAAU;;8BACb,KAAClC,QAAQmC,MAAM;oBAACC,MAAK;oBAASC,SAASf,QAAQgB,SAAS;8BACtD,cAAA,KAACvC;wBAAKwC,MAAMlC;;;8BAEd,MAACJ,QAAQuC,IAAI;oBAACC,MAAMxB;oBAAUyB,cAAcxB;;sCAC1C,KAACjB,QAAQ0C,OAAO;4BAACC,OAAO;sCACtB,cAAA,KAAC5C,QAAQmC,MAAM;gCAACC,MAAK;0CACnB,cAAA,KAACrC;oCAAKwC,MAAMnC;;;;sCAGhB,KAACH,QAAQ4C,OAAO;4BAACC,MAAK;4BAASC,OAAM;4BAAQC,YAAY;sCACvD,cAAA,MAACrC;gCAAQuB,WAAU;;kDACjB,KAACjC,QAAQgD,KAAK;kDACZ,cAAA,MAACvC;4CAAe2B,SAASf,QAAQ4B,mBAAmB;;8DAClD,KAACnD;oDAAKwC,MAAMjC;;gDACXQ,QAAQqC,CAAC,CAAC,sBAAsB;;;;kDAGrC,KAAClD,QAAQgD,KAAK;kDACZ,cAAA,MAACvC;4CAAe2B,SAASf,QAAQ8B,mBAAmB;;8DAClD,KAACrD;oDAAKwC,MAAMrC;;gDACXY,QAAQqC,CAAC,CAAC,sBAAsB;;;;kDAGrC,KAAClD,QAAQgD,KAAK;kDACZ,cAAA,MAACvC;4CAAe2B,SAASf,QAAQ+B,aAAa;;8DAC5C,KAACtD;oDAAKwC,MAAMpC;;gDACXW,QAAQqC,CAAC,CAAC,gBAAgB;;;;kDAG/B,KAACnD,QAAQsD,OAAO;wCAACC,UAAU;;kDAC3B,KAACtD,QAAQgD,KAAK;kDACZ,cAAA,MAACvC;4CACC2B,SAASf,QAAQkC,UAAU;4CAC3BtB,WAAU;;8DAEV,KAACnC;oDAAKwC,MAAMhC;;gDACXO,QAAQqC,CAAC,CAAC,aAAa;;;;;;;;;;;;AAS1C,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/ContentItemMenu/hooks/useContentItemActions.tsx"],"sourcesContent":["import { Node } from '@tiptap/pm/model'\
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/ContentItemMenu/hooks/useContentItemActions.tsx"],"sourcesContent":["import { Node } from '@tiptap/pm/model'\nimport { NodeSelection } from '@tiptap/pm/state'\nimport { Editor } from '@tiptap/react'\nimport { useCallback } from 'react'\n\nconst useContentItemActions = (editor: Editor, currentNode: Node | null, currentNodePos: number) => {\n const resetTextFormatting = useCallback(() => {\n const chain = editor.chain()\n\n chain.setNodeSelection(currentNodePos).unsetAllMarks()\n\n if (currentNode?.type.name !== 'paragraph') {\n chain.setParagraph()\n }\n\n chain.run()\n }, [editor, currentNodePos, currentNode?.type.name])\n\n const duplicateNode = useCallback(() => {\n editor.commands.setNodeSelection(currentNodePos)\n\n const { $anchor } = editor.state.selection\n const selectedNode = $anchor.node(1) || (editor.state.selection as NodeSelection).node\n\n editor\n .chain()\n .setMeta('hideDragHandle', true)\n .insertContentAt(currentNodePos + (currentNode?.nodeSize || 0), selectedNode.toJSON())\n .run()\n }, [editor, currentNodePos, currentNode?.nodeSize])\n\n const copyNodeToClipboard = useCallback(() => {\n editor.chain().setMeta('hideDragHandle', true).setNodeSelection(currentNodePos).run()\n\n document.execCommand('copy')\n }, [editor, currentNodePos])\n\n const deleteNode = useCallback(() => {\n editor.chain().setMeta('hideDragHandle', true).setNodeSelection(currentNodePos).deleteSelection().run()\n }, [editor, currentNodePos])\n\n const handleAdd = useCallback(() => {\n if (currentNodePos !== -1) {\n const currentNodeSize = currentNode?.nodeSize || 0\n const insertPos = currentNodePos + currentNodeSize\n const currentNodeIsEmptyParagraph = currentNode?.type.name === 'paragraph' && currentNode?.content?.size === 0\n const focusPos = currentNodeIsEmptyParagraph ? currentNodePos + 2 : insertPos + 2\n\n editor\n .chain()\n .command(({ dispatch, tr, state }) => {\n if (dispatch) {\n if (currentNodeIsEmptyParagraph) {\n tr.insertText('/', currentNodePos, currentNodePos + 1)\n } else {\n tr.insert(insertPos, state.schema.nodes.paragraph.create(null, [state.schema.text('/')]))\n }\n\n return dispatch(tr)\n }\n\n return true\n })\n .focus(focusPos)\n .run()\n }\n }, [currentNode, currentNodePos, editor])\n\n return {\n resetTextFormatting,\n duplicateNode,\n copyNodeToClipboard,\n deleteNode,\n handleAdd,\n }\n}\n\nexport default useContentItemActions\n"],"names":["useCallback","useContentItemActions","editor","currentNode","currentNodePos","resetTextFormatting","chain","setNodeSelection","unsetAllMarks","type","name","setParagraph","run","duplicateNode","commands","$anchor","state","selection","selectedNode","node","setMeta","insertContentAt","nodeSize","toJSON","copyNodeToClipboard","document","execCommand","deleteNode","deleteSelection","handleAdd","currentNodeSize","insertPos","currentNodeIsEmptyParagraph","content","size","focusPos","command","dispatch","tr","insertText","insert","schema","nodes","paragraph","create","text","focus"],"mappings":"AAGA,SAASA,WAAW,QAAQ,QAAO;AAEnC,MAAMC,wBAAwB,CAACC,QAAgBC,aAA0BC;IACvE,MAAMC,sBAAsBL,YAAY;QACtC,MAAMM,QAAQJ,OAAOI,KAAK;QAE1BA,MAAMC,gBAAgB,CAACH,gBAAgBI,aAAa;QAEpD,IAAIL,aAAaM,KAAKC,SAAS,aAAa;YAC1CJ,MAAMK,YAAY;QACpB;QAEAL,MAAMM,GAAG;IACX,GAAG;QAACV;QAAQE;QAAgBD,aAAaM,KAAKC;KAAK;IAEnD,MAAMG,gBAAgBb,YAAY;QAChCE,OAAOY,QAAQ,CAACP,gBAAgB,CAACH;QAEjC,MAAM,EAAEW,OAAO,EAAE,GAAGb,OAAOc,KAAK,CAACC,SAAS;QAC1C,MAAMC,eAAeH,QAAQI,IAAI,CAAC,MAAM,AAACjB,OAAOc,KAAK,CAACC,SAAS,CAAmBE,IAAI;QAEtFjB,OACGI,KAAK,GACLc,OAAO,CAAC,kBAAkB,MAC1BC,eAAe,CAACjB,iBAAkBD,CAAAA,aAAamB,YAAY,CAAA,GAAIJ,aAAaK,MAAM,IAClFX,GAAG;IACR,GAAG;QAACV;QAAQE;QAAgBD,aAAamB;KAAS;IAElD,MAAME,sBAAsBxB,YAAY;QACtCE,OAAOI,KAAK,GAAGc,OAAO,CAAC,kBAAkB,MAAMb,gBAAgB,CAACH,gBAAgBQ,GAAG;QAEnFa,SAASC,WAAW,CAAC;IACvB,GAAG;QAACxB;QAAQE;KAAe;IAE3B,MAAMuB,aAAa3B,YAAY;QAC7BE,OAAOI,KAAK,GAAGc,OAAO,CAAC,kBAAkB,MAAMb,gBAAgB,CAACH,gBAAgBwB,eAAe,GAAGhB,GAAG;IACvG,GAAG;QAACV;QAAQE;KAAe;IAE3B,MAAMyB,YAAY7B,YAAY;QAC5B,IAAII,mBAAmB,CAAC,GAAG;YACzB,MAAM0B,kBAAkB3B,aAAamB,YAAY;YACjD,MAAMS,YAAY3B,iBAAiB0B;YACnC,MAAME,8BAA8B7B,aAAaM,KAAKC,SAAS,eAAeP,aAAa8B,SAASC,SAAS;YAC7G,MAAMC,WAAWH,8BAA8B5B,iBAAiB,IAAI2B,YAAY;YAEhF7B,OACGI,KAAK,GACL8B,OAAO,CAAC,CAAC,EAAEC,QAAQ,EAAEC,EAAE,EAAEtB,KAAK,EAAE;gBAC/B,IAAIqB,UAAU;oBACZ,IAAIL,6BAA6B;wBAC/BM,GAAGC,UAAU,CAAC,KAAKnC,gBAAgBA,iBAAiB;oBACtD,OAAO;wBACLkC,GAAGE,MAAM,CAACT,WAAWf,MAAMyB,MAAM,CAACC,KAAK,CAACC,SAAS,CAACC,MAAM,CAAC,MAAM;4BAAC5B,MAAMyB,MAAM,CAACI,IAAI,CAAC;yBAAK;oBACzF;oBAEA,OAAOR,SAASC;gBAClB;gBAEA,OAAO;YACT,GACCQ,KAAK,CAACX,UACNvB,GAAG;QACR;IACF,GAAG;QAACT;QAAaC;QAAgBF;KAAO;IAExC,OAAO;QACLG;QACAQ;QACAW;QACAG;QACAE;IACF;AACF;AAEA,eAAe5B,sBAAqB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/ContentItemMenu/hooks/useData.tsx"],"sourcesContent":["import { Node } from '@tiptap/pm/model'\
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/ContentItemMenu/hooks/useData.tsx"],"sourcesContent":["import { Node } from '@tiptap/pm/model'\nimport { Editor } from '@tiptap/core'\nimport { useCallback, useState } from 'react'\n\nexport const useData = () => {\n const [currentNode, setCurrentNode] = useState<Node | null>(null)\n const [currentNodePos, setCurrentNodePos] = useState<number>(-1)\n\n const handleNodeChange = useCallback(\n (data: { node: Node | null; editor: Editor; pos: number }) => {\n if (data.node) {\n setCurrentNode(data.node)\n }\n\n setCurrentNodePos(data.pos)\n },\n [setCurrentNodePos, setCurrentNode],\n )\n\n return {\n currentNode,\n currentNodePos,\n setCurrentNode,\n setCurrentNodePos,\n handleNodeChange,\n }\n}\n"],"names":["useCallback","useState","useData","currentNode","setCurrentNode","currentNodePos","setCurrentNodePos","handleNodeChange","data","node","pos"],"mappings":"AAEA,SAASA,WAAW,EAAEC,QAAQ,QAAQ,QAAO;AAE7C,OAAO,MAAMC,UAAU;IACrB,MAAM,CAACC,aAAaC,eAAe,GAAGH,SAAsB;IAC5D,MAAM,CAACI,gBAAgBC,kBAAkB,GAAGL,SAAiB,CAAC;IAE9D,MAAMM,mBAAmBP,YACvB,CAACQ;QACC,IAAIA,KAAKC,IAAI,EAAE;YACbL,eAAeI,KAAKC,IAAI;QAC1B;QAEAH,kBAAkBE,KAAKE,GAAG;IAC5B,GACA;QAACJ;QAAmBF;KAAe;IAGrC,OAAO;QACLD;QACAE;QACAD;QACAE;QACAC;IACF;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/menus/ContentItemMenu/index.tsx"],"sourcesContent":["export * from \"./ContentItemMenu.js\";\
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/menus/ContentItemMenu/index.tsx"],"sourcesContent":["export * from \"./ContentItemMenu.js\";\n"],"names":[],"mappings":"AAAA,cAAc,uBAAuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/menus/LinkMenu/LinkMenu.tsx"],"sourcesContent":["import { BubbleMenu as BaseBubbleMenu, Editor } from \"@tiptap/react\";\
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/menus/LinkMenu/LinkMenu.tsx"],"sourcesContent":["import { BubbleMenu as BaseBubbleMenu, Editor } from \"@tiptap/react\";\nimport { ReactNode, useCallback, useState } from \"react\";\n\nimport { Instagram, Twitter, Youtube } from \"lucide-react\";\nimport { LinkEditorPanel, LinkPreviewPanel } from \"../../panels/index.js\";\nimport { Surface } from \"../../ui/Surface.js\";\nimport { Toolbar } from \"../../ui/Toolbar.js\";\nimport { MenuProps } from \"../types.js\";\n\nexport const LinkMenu = ({ editor, appendTo }: MenuProps): ReactNode => {\n const [showEdit, setShowEdit] = useState(false);\n\n const shouldShow = useCallback(() => {\n const isActive = editor.isActive(\"link\");\n return isActive;\n }, [editor]);\n\n const shouldShowSocialMedia = useCallback(() => {\n const { href: link, target } = editor.getAttributes(\"link\");\n const isActive = editor.isActive(\"link\");\n return isActive && checkIfMatchesSocialMedia(link);\n }, [editor]);\n\n const { href: link, target } = editor.getAttributes(\"link\");\n\n const handleEdit = useCallback(() => {\n setShowEdit(true);\n }, []);\n\n const onSetLink = useCallback(\n (url: string, openInNewTab?: boolean) => {\n editor\n .chain()\n .focus()\n .extendMarkRange(\"link\")\n .setLink({ href: url, target: openInNewTab ? \"_blank\" : \"\" })\n .run();\n setShowEdit(false);\n },\n [editor]\n );\n\n const onUnsetLink = useCallback(() => {\n editor.chain().focus().extendMarkRange(\"link\").unsetLink().run();\n setShowEdit(false);\n return null;\n }, [editor]);\n\n const onShowEdit = useCallback(() => {\n setShowEdit(true);\n }, []);\n\n const onHideEdit = useCallback(() => {\n setShowEdit(false);\n }, []);\n\n return (\n <>\n <BaseBubbleMenu\n editor={editor}\n pluginKey=\"textMenu\"\n shouldShow={shouldShow}\n updateDelay={0}\n tippyOptions={{\n popperOptions: {\n modifiers: [{ name: \"flip\", enabled: false }],\n },\n appendTo: () => {\n return appendTo?.current;\n },\n onHidden: () => {\n setShowEdit(false);\n },\n }}\n >\n {showEdit ? (\n <LinkEditorPanel\n initialUrl={link}\n initialOpenInNewTab={target === \"_blank\"}\n onSetLink={onSetLink}\n />\n ) : (\n <LinkPreviewPanel\n url={link}\n onClear={onUnsetLink}\n onEdit={handleEdit}\n />\n )}\n </BaseBubbleMenu>\n <BaseBubbleMenu\n editor={editor}\n pluginKey=\"socialMediaTextMenu\"\n shouldShow={shouldShowSocialMedia}\n updateDelay={0}\n tippyOptions={{\n popperOptions: {\n placement: \"bottom-start\",\n },\n placement: \"bottom-start\",\n appendTo: () => {\n return appendTo?.current;\n },\n onHidden: () => {\n setShowEdit(false);\n },\n }}\n >\n <Surface className=\"p-2 min-w-[20rem]\">\n {checkIfMatch(link, editor)}\n </Surface>\n </BaseBubbleMenu>\n </>\n );\n};\n\nexport default LinkMenu;\n\nconst checkIfMatch = (url: string, editor: Editor) => {\n const twitterRegex =\n /^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 if (twitterRegex.test(url)) {\n return (\n <Toolbar.Button\n onClick={() => {\n editor\n .chain()\n .selectParentNode()\n .deleteSelection()\n .insertTwitter(url)\n .run();\n }}\n value=\"continue\"\n className=\"gap-2 px-4 w-full flex justify-start\"\n >\n <Twitter />\n Embed Tweet\n </Toolbar.Button>\n );\n } else if (instagramRegex.test(url)) {\n return (\n <Toolbar.Button\n onClick={() => {\n editor\n .chain()\n .selectParentNode()\n .deleteSelection()\n .insertInstagram(url)\n .run();\n }}\n value=\"continue\"\n className=\"gap-2 px-4 w-full flex justify-start\"\n >\n <Instagram />\n Embed Instagram\n </Toolbar.Button>\n );\n } else if (youtubeRegex.test(url)) {\n return (\n <Toolbar.Button\n onClick={() => {\n editor\n .chain()\n .selectParentNode()\n .deleteSelection()\n .insertYoutube(url)\n .run();\n }}\n value=\"continue\"\n className=\"gap-2 px-4 w-full flex justify-start\"\n >\n <Youtube />\n Embed Youtube\n </Toolbar.Button>\n );\n }\n return null;\n};\n\nconst checkIfMatchesSocialMedia = (url: string) => {\n const twitterRegex =\n /^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 if (twitterRegex.test(url)) {\n return true;\n } else if (instagramRegex.test(url)) {\n return true;\n } else if (youtubeRegex.test(url)) {\n return true;\n }\n return false;\n};\n"],"names":["BubbleMenu","BaseBubbleMenu","useCallback","useState","Instagram","Twitter","Youtube","LinkEditorPanel","LinkPreviewPanel","Surface","Toolbar","LinkMenu","editor","appendTo","showEdit","setShowEdit","shouldShow","isActive","shouldShowSocialMedia","href","link","target","getAttributes","checkIfMatchesSocialMedia","handleEdit","onSetLink","url","openInNewTab","chain","focus","extendMarkRange","setLink","run","onUnsetLink","unsetLink","onShowEdit","onHideEdit","pluginKey","updateDelay","tippyOptions","popperOptions","modifiers","name","enabled","current","onHidden","initialUrl","initialOpenInNewTab","onClear","onEdit","placement","className","checkIfMatch","twitterRegex","instagramRegex","youtubeRegex","test","Button","onClick","selectParentNode","deleteSelection","insertTwitter","value","insertInstagram","insertYoutube"],"mappings":"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"}
|