payload-richtext-tiptap 0.0.40 → 0.0.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -47
- package/dist/src/fields/TiptapEditor/Components.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/Components.js +3 -3
- package/dist/src/fields/TiptapEditor/Components.js.map +1 -1
- package/dist/src/fields/TiptapEditor/context/EditorContext.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.d.ts +4 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.js +208 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AIMenuList.d.ts +5 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AIMenuList.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AIMenuList.js +123 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/AIMenuList.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/CommandButton.d.ts +10 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/CommandButton.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/CommandButton.js +29 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/CommandButton.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/MenuList.d.ts +5 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/MenuList.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/MenuList.js +123 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/MenuList.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.d.ts +4 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.js +260 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/index.d.ts +2 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/index.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/index.js +3 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/types.d.ts +22 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/types.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/types.js +3 -0
- package/dist/src/fields/TiptapEditor/extensions/AICommand/types.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/BlockquoteFigure.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Design.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/Quote.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/QuoteCaption.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Document/Document.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Document/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Figcaption/Figcaption.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Figcaption/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Figure/Figure.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Figure/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/FontSize/FontSize.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/FontSize/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Heading/Heading.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Heading/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/HorizontalRule/HorizontalRule.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/HorizontalRule/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Iframe/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Iframe/menus/IframeMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Iframe/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Image/Image.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Image/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockWidth.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageBlock/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/ImageUpload.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/ImageUpload.js +3 -2
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/ImageUpload.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.d.ts +2 -2
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.js +38 -21
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUploader.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/hooks.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLink.client.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/insideLinks.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/menus/InsideLinksMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/InsideLinks/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Link/Link.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Link/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/Column.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/Columns.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/menus/ColumnsMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/MultiColumn/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Paragraph/Paragraph.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Paragraph/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Selection/Selection.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Selection/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/CommandButton.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/MenuList.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/SlashCommand.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/types.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/FacebookEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/InstagramEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/instagram.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/LinkedinEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/linkedin.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/TiktokEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/tiktok.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/TwitterEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/twitter.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/YoutubeEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/youtube.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/SocialMediaMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/constants.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/Cell.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/Header.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/Row.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/Table.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableColumn/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableColumn/utils.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableRow/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableRow/utils.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Table/utils.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/TableOfContentsNode.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/TrailingNode/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/TrailingNode/trailing-node.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts +3 -1
- package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/extension-kit.js +22 -15
- package/dist/src/fields/TiptapEditor/extensions/extension-kit.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/index.d.ts +1 -0
- package/dist/src/fields/TiptapEditor/extensions/index.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/index.js +1 -0
- package/dist/src/fields/TiptapEditor/extensions/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.d.ts +4 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.js +3 -2
- package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/components/EditorHeader.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/components/EditorInfo.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/BlockEditor/types.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/Sidebar/Sidebar.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/Sidebar/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/TableOfContents/TableOfContents.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/TableOfContents/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/ContentItemMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/hooks/useContentItemActions.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/hooks/useData.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/LinkMenu/LinkMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/LinkMenu/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ContentTypePicker.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/EditIframeLinkPopover.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/EditLinkPopover.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/FontFamilyPicker.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/FontSizePicker.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/SocialMediaPopover.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-completion-command.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-draft-selector-commands.d.ts +8 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-draft-selector-commands.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-draft-selector-commands.js +94 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-draft-selector-commands.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-selector-commands.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuCommands.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuContentTypes.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuStates.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/types.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.d.ts +7 -0
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.js +193 -0
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/index.d.ts +2 -0
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/index.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/index.js +3 -0
- package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/index.js.map +1 -0
- package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.js +29 -17
- package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/ColorButton.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/Colorpicker.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/InsideLinksEditorPanel/InsideLinksEditorPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/InsideLinksEditorPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/LinkEditorPanel/LinkEditorPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/LinkEditorPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/LinkPreviewPanel/LinkPreviewPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/LinkPreviewPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/panels/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Button/Button.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Button/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Dropdown/Dropdown.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Dropdown/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Icon.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Loader/Loader.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Loader/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Loader/types.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Panel/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/PopoverMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Spinner/Spinner.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Spinner/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Surface.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Textarea/Textarea.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Textarea/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Toggle/Toggle.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Toggle/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Toolbar.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Tooltip/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/Tooltip/types.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/crazy-spinner.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/ui/scroll-area.js.map +1 -1
- package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.d.ts +3 -1
- package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.js +4 -3
- package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.js.map +1 -1
- package/dist/src/fields/TiptapEditor/hooks/useSidebar.js.map +1 -1
- package/dist/src/fields/TiptapEditor/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/api.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/constants.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/data/initialContent.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/extract.d.ts +3 -0
- package/dist/src/fields/TiptapEditor/lib/extract.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/lib/extract.js +28 -0
- package/dist/src/fields/TiptapEditor/lib/extract.js.map +1 -0
- package/dist/src/fields/TiptapEditor/lib/utils/cssVar.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/deepMerge.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/getRenderContainer.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/index.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/isCustomNodeSelected.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/isRtl.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/isTextSelected.js.map +1 -1
- package/dist/src/fields/TiptapEditor/lib/utils/partialRequired.js.map +1 -1
- package/dist/src/fields/TiptapEditor/types.d.js +3 -0
- package/dist/src/fields/TiptapEditor/types.d.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/styles.css +0 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIEditorPanel.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"AIEditorPanel.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAevC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,aAAa,6BAA8B,kBAAkB,gCAuJzE,CAAC"}
|
|
@@ -3,7 +3,8 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
3
3
|
import { useLocale } from "@payloadcms/ui/providers/Locale";
|
|
4
4
|
import { useCompletion } from "ai/react";
|
|
5
5
|
import { ArrowRight, Sparkles } from "lucide-react";
|
|
6
|
-
import { useCallback, useState } from "react";
|
|
6
|
+
import { useCallback, useRef, useState } from "react";
|
|
7
|
+
import TextareaAutosize from "react-textarea-autosize";
|
|
7
8
|
import Markdown from "react-markdown";
|
|
8
9
|
import { getPrevText } from "../../../lib/utils/index.js";
|
|
9
10
|
import { isRTL } from "../../../lib/utils/isRtl.js";
|
|
@@ -16,6 +17,10 @@ import { ScrollArea } from "../../ui/scroll-area.js";
|
|
|
16
17
|
export const AIEditorPanel = ({ editor, onOpenChange })=>{
|
|
17
18
|
const [inputValue, setInputValue] = useState("");
|
|
18
19
|
const { code } = useLocale();
|
|
20
|
+
const { view } = editor;
|
|
21
|
+
const editorNode = view.dom;
|
|
22
|
+
const boundigClient = editorNode.getBoundingClientRect();
|
|
23
|
+
const inputRef = useRef(null);
|
|
19
24
|
// const { status, messages, input, submitMessage, handleInputChange } = useAssistant({
|
|
20
25
|
// // id: "novel",
|
|
21
26
|
// api: "/api/assistant",
|
|
@@ -44,13 +49,15 @@ export const AIEditorPanel = ({ editor, onOpenChange })=>{
|
|
|
44
49
|
});
|
|
45
50
|
const hasCompletion = completion.length > 0;
|
|
46
51
|
const handleClick = useCallback(()=>{
|
|
47
|
-
if (completion)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
if (completion) {
|
|
53
|
+
return complete(completion, {
|
|
54
|
+
body: {
|
|
55
|
+
option: "zap",
|
|
56
|
+
command: inputValue,
|
|
57
|
+
language: code ?? "en"
|
|
58
|
+
}
|
|
59
|
+
}).then(()=>setInputValue(""));
|
|
60
|
+
}
|
|
54
61
|
const text = getPrevText(editor, {
|
|
55
62
|
chars: 5000
|
|
56
63
|
});
|
|
@@ -62,14 +69,18 @@ export const AIEditorPanel = ({ editor, onOpenChange })=>{
|
|
|
62
69
|
}
|
|
63
70
|
}).then(()=>setInputValue(""));
|
|
64
71
|
}, [
|
|
65
|
-
code
|
|
72
|
+
code,
|
|
73
|
+
inputValue
|
|
66
74
|
]);
|
|
67
75
|
return /*#__PURE__*/ _jsx(Surface, {
|
|
68
|
-
className:
|
|
76
|
+
className: `p-2 min-w-[20rem] `,
|
|
77
|
+
style: {
|
|
78
|
+
width: boundigClient?.width
|
|
79
|
+
},
|
|
69
80
|
children: /*#__PURE__*/ _jsxs(_Fragment, {
|
|
70
81
|
children: [
|
|
71
82
|
hasCompletion && /*#__PURE__*/ _jsx("div", {
|
|
72
|
-
className: "flex
|
|
83
|
+
className: "flex w-full",
|
|
73
84
|
children: /*#__PURE__*/ _jsx(ScrollArea, {
|
|
74
85
|
children: /*#__PURE__*/ _jsx("div", {
|
|
75
86
|
className: "prose p-2 px-4 prose-sm",
|
|
@@ -101,7 +112,8 @@ export const AIEditorPanel = ({ editor, onOpenChange })=>{
|
|
|
101
112
|
/*#__PURE__*/ _jsx(Sparkles, {
|
|
102
113
|
className: "mr-2 h-4 w-4 shrink-0 text-blue-500 "
|
|
103
114
|
}),
|
|
104
|
-
/*#__PURE__*/ _jsx(
|
|
115
|
+
/*#__PURE__*/ _jsx(TextareaAutosize, {
|
|
116
|
+
ref: inputRef,
|
|
105
117
|
className: "w-full p-2 text-black bg-white rounded dark:bg-black dark:text-white focus:outline-none",
|
|
106
118
|
value: inputValue,
|
|
107
119
|
onChange: (e)=>{
|
|
@@ -109,7 +121,8 @@ export const AIEditorPanel = ({ editor, onOpenChange })=>{
|
|
|
109
121
|
},
|
|
110
122
|
placeholder: hasCompletion ? "Tell AI what to do next" : "Ask AI to edit or generate...",
|
|
111
123
|
autoFocus: true,
|
|
112
|
-
// onFocus={() =>
|
|
124
|
+
// onFocus={() => {
|
|
125
|
+
// addAIHighlight(editor)}}
|
|
113
126
|
onKeyDown: (e)=>{
|
|
114
127
|
if (e.key === "Enter") handleClick();
|
|
115
128
|
}
|
|
@@ -131,10 +144,9 @@ export const AIEditorPanel = ({ editor, onOpenChange })=>{
|
|
|
131
144
|
completion: completion
|
|
132
145
|
}) : /*#__PURE__*/ _jsx(AISelectorCommands, {
|
|
133
146
|
editor: editor,
|
|
134
|
-
onSelect: (value
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
});
|
|
147
|
+
onSelect: (value)=>{
|
|
148
|
+
setInputValue(value);
|
|
149
|
+
inputRef.current.focus();
|
|
138
150
|
}
|
|
139
151
|
})
|
|
140
152
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.tsx"],"sourcesContent":["\"use client\";\n\nimport { useLocale } from \"@payloadcms/ui/providers/Locale\";\nimport { Editor } from \"@tiptap/react\";\nimport { useCompletion } from \"ai/react\";\nimport { ArrowRight, Sparkles } from \"lucide-react\";\nimport { useCallback, useState } from \"react\";\nimport Markdown from \"react-markdown\";\nimport { getPrevText } from \"../../../lib/utils/index.js\";\nimport { isRTL } from \"../../../lib/utils/isRtl.js\";\nimport AICompletionCommands from \"../../menus/TextMenu/components/ai-completion-command.js\";\nimport AISelectorCommands from \"../../menus/TextMenu/components/ai-selector-commands.js\";\nimport { Surface } from \"../../ui/Surface.js\";\nimport { Toolbar } from \"../../ui/Toolbar.js\";\nimport CrazySpinner from \"../../ui/crazy-spinner.js\";\nimport { ScrollArea } from \"../../ui/scroll-area.js\";\nexport type AIEditorPanelProps = {\n editor: Editor;\n onOpenChange: (value: boolean) => void;\n};\n\nexport const AIEditorPanel = ({ editor, onOpenChange }: AIEditorPanelProps) => {\n const [inputValue, setInputValue] = useState(\"\");\n const { code } = useLocale();\n\n // const { status, messages, input, submitMessage, handleInputChange } = useAssistant({\n // // id: \"novel\",\n // api: \"/api/assistant\",\n // onResponse: (response) => {\n // if (response.status === 429) {\n // toast.error(\"You have reached your request limit for the day.\");\n // return;\n // }\n // },\n // onError: (e) => {\n // toast.error(e.message);\n // },\n // });\n\n const { completion, complete, isLoading } = useCompletion({\n // id: \"novel\",\n api: \"/api/generate\",\n onResponse: (response) => {\n if (response.status === 429) {\n console.log(\"You have reached your request limit for the day.\");\n\n return;\n }\n },\n onError: (e) => {\n console.log(\"ERROR\", e.message);\n },\n });\n\n const hasCompletion = completion.length > 0;\n const handleClick = useCallback(() => {\n if (completion)\n return complete(completion, {\n body: { option: \"zap\", command: inputValue, language: code ?? \"en\" },\n }).then(() => setInputValue(\"\"));\n const text = getPrevText(editor, { chars: 5000 });\n\n complete(text, {\n body: { option: \"zap\", command: inputValue, language: code ?? \"en\" },\n }).then(() => setInputValue(\"\"));\n }, [code]);\n return (\n <Surface
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.tsx"],"sourcesContent":["\"use client\";\n\nimport { useLocale } from \"@payloadcms/ui/providers/Locale\";\nimport { Editor } from \"@tiptap/react\";\nimport { useCompletion } from \"ai/react\";\nimport { ArrowRight, Sparkles } from \"lucide-react\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport TextareaAutosize from \"react-textarea-autosize\";\n\nimport Markdown from \"react-markdown\";\nimport { getPrevText } from \"../../../lib/utils/index.js\";\nimport { isRTL } from \"../../../lib/utils/isRtl.js\";\nimport AICompletionCommands from \"../../menus/TextMenu/components/ai-completion-command.js\";\nimport AISelectorCommands from \"../../menus/TextMenu/components/ai-selector-commands.js\";\nimport { Surface } from \"../../ui/Surface.js\";\nimport { Toolbar } from \"../../ui/Toolbar.js\";\nimport CrazySpinner from \"../../ui/crazy-spinner.js\";\nimport { ScrollArea } from \"../../ui/scroll-area.js\";\nexport type AIEditorPanelProps = {\n editor: Editor;\n onOpenChange: (value: boolean) => void;\n};\n\nexport const AIEditorPanel = ({ editor, onOpenChange }: AIEditorPanelProps) => {\n const [inputValue, setInputValue] = useState(\"\");\n const { code } = useLocale();\n const { view } = editor;\n\n const editorNode = view.dom as HTMLElement;\n const boundigClient = editorNode.getBoundingClientRect();\n const inputRef = useRef<HTMLTextAreaElement>(null);\n\n // const { status, messages, input, submitMessage, handleInputChange } = useAssistant({\n // // id: \"novel\",\n // api: \"/api/assistant\",\n // onResponse: (response) => {\n // if (response.status === 429) {\n // toast.error(\"You have reached your request limit for the day.\");\n // return;\n // }\n // },\n // onError: (e) => {\n // toast.error(e.message);\n // },\n // });\n\n const { completion, complete, isLoading } = useCompletion({\n // id: \"novel\",\n api: \"/api/generate\",\n onResponse: (response) => {\n if (response.status === 429) {\n console.log(\"You have reached your request limit for the day.\");\n\n return;\n }\n },\n onError: (e) => {\n console.log(\"ERROR\", e.message);\n },\n });\n\n const hasCompletion = completion.length > 0;\n const handleClick = useCallback(() => {\n if (completion) {\n return complete(completion, {\n body: { option: \"zap\", command: inputValue, language: code ?? \"en\" },\n }).then(() => setInputValue(\"\"));\n }\n const text = getPrevText(editor, { chars: 5000 });\n\n complete(text, {\n body: { option: \"zap\", command: inputValue, language: code ?? \"en\" },\n }).then(() => setInputValue(\"\"));\n }, [code, inputValue]);\n\n return (\n <Surface\n className={`p-2 min-w-[20rem] `}\n style={{\n width: boundigClient?.width,\n }}\n >\n <>\n {hasCompletion && (\n <div className=\"flex w-full\">\n <ScrollArea>\n <div\n className=\"prose p-2 px-4 prose-sm\"\n dir={isRTL(completion) ? \"rtl\" : \"ltr\"}\n >\n <Markdown>{completion}</Markdown>\n </div>\n </ScrollArea>\n </div>\n )}\n\n {isLoading && (\n <div className=\"flex h-12 w-full items-center px-4 text-sm font-medium text-muted-foreground text-blue-500\">\n <Sparkles className=\"mr-2 h-4 w-4 shrink-0 \" />\n AI is thinking\n <div className=\"ml-2 mt-1\">\n <CrazySpinner />\n </div>\n </div>\n )}\n\n {!isLoading && (\n <>\n <div className=\"flex justify-between items-center\">\n {/* <CommandInput\n value={inputValue}\n onValueChange={setInputValue}\n autoFocus\n placeholder={\n hasCompletion ? 'Tell AI what to do next' : 'Ask AI to edit or generate...'\n }\n // onFocus={() => addAIHighlight(editor)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') handleClick()\n }}\n /> */}\n <Sparkles className=\"mr-2 h-4 w-4 shrink-0 text-blue-500 \" />\n <TextareaAutosize\n ref={inputRef}\n className=\"w-full p-2 text-black bg-white rounded dark:bg-black dark:text-white focus:outline-none\"\n value={inputValue}\n onChange={(e) => {\n setInputValue(e.target.value);\n }}\n placeholder={\n hasCompletion\n ? \"Tell AI what to do next\"\n : \"Ask AI to edit or generate...\"\n }\n autoFocus\n // onFocus={() => {\n // addAIHighlight(editor)}}\n\n onKeyDown={(e) => {\n if (e.key === \"Enter\") handleClick();\n }}\n />\n <Toolbar.Button\n // size=\"icon\"\n\n // className=\"absolute right-2 top-1/2 h-6 w-6 -translate-y-1/2 rounded-full bg-zinc-100 hover:bg-zinc-150\"\n onClick={handleClick}\n >\n <ArrowRight />\n </Toolbar.Button>\n </div>\n {hasCompletion ? (\n <AICompletionCommands\n editor={editor}\n onDiscard={() => {\n editor.chain().unsetHighlight().focus().run();\n onOpenChange(false);\n }}\n completion={completion}\n />\n ) : (\n <AISelectorCommands\n editor={editor}\n onSelect={(value) => {\n setInputValue(value);\n inputRef.current.focus();\n }}\n />\n )}\n </>\n )}\n </>\n </Surface>\n );\n};\n"],"names":["useLocale","useCompletion","ArrowRight","Sparkles","useCallback","useRef","useState","TextareaAutosize","Markdown","getPrevText","isRTL","AICompletionCommands","AISelectorCommands","Surface","Toolbar","CrazySpinner","ScrollArea","AIEditorPanel","editor","onOpenChange","inputValue","setInputValue","code","view","editorNode","dom","boundigClient","getBoundingClientRect","inputRef","completion","complete","isLoading","api","onResponse","response","status","console","log","onError","e","message","hasCompletion","length","handleClick","body","option","command","language","then","text","chars","className","style","width","div","dir","ref","value","onChange","target","placeholder","autoFocus","onKeyDown","key","Button","onClick","onDiscard","chain","unsetHighlight","focus","run","onSelect","current"],"mappings":"AAAA;;AAEA,SAASA,SAAS,QAAQ,kCAAkC;AAE5D,SAASC,aAAa,QAAQ,WAAW;AACzC,SAASC,UAAU,EAAEC,QAAQ,QAAQ,eAAe;AACpD,SAASC,WAAW,EAAaC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AACjE,OAAOC,sBAAsB,0BAA0B;AAEvD,OAAOC,cAAc,iBAAiB;AACtC,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,KAAK,QAAQ,8BAA8B;AACpD,OAAOC,0BAA0B,2DAA2D;AAC5F,OAAOC,wBAAwB,0DAA0D;AACzF,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,OAAOC,kBAAkB,4BAA4B;AACrD,SAASC,UAAU,QAAQ,0BAA0B;AAMrD,OAAO,MAAMC,gBAAgB,CAAC,EAAEC,MAAM,EAAEC,YAAY,EAAsB;IACxE,MAAM,CAACC,YAAYC,cAAc,GAAGf,SAAS;IAC7C,MAAM,EAAEgB,IAAI,EAAE,GAAGtB;IACjB,MAAM,EAAEuB,IAAI,EAAE,GAAGL;IAEjB,MAAMM,aAAaD,KAAKE,GAAG;IAC3B,MAAMC,gBAAgBF,WAAWG,qBAAqB;IACtD,MAAMC,WAAWvB,OAA4B;IAE7C,uFAAuF;IACvF,oBAAoB;IACpB,2BAA2B;IAC3B,gCAAgC;IAChC,qCAAqC;IACrC,yEAAyE;IACzE,gBAAgB;IAChB,QAAQ;IACR,OAAO;IACP,sBAAsB;IACtB,8BAA8B;IAC9B,OAAO;IACP,MAAM;IAEN,MAAM,EAAEwB,UAAU,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAG9B,cAAc;QACxD,eAAe;QACf+B,KAAK;QACLC,YAAY,CAACC;YACX,IAAIA,SAASC,MAAM,KAAK,KAAK;gBAC3BC,QAAQC,GAAG,CAAC;gBAEZ;YACF;QACF;QACAC,SAAS,CAACC;YACRH,QAAQC,GAAG,CAAC,SAASE,EAAEC,OAAO;QAChC;IACF;IAEA,MAAMC,gBAAgBZ,WAAWa,MAAM,GAAG;IAC1C,MAAMC,cAAcvC,YAAY;QAC9B,IAAIyB,YAAY;YACd,OAAOC,SAASD,YAAY;gBAC1Be,MAAM;oBAAEC,QAAQ;oBAAOC,SAAS1B;oBAAY2B,UAAUzB,QAAQ;gBAAK;YACrE,GAAG0B,IAAI,CAAC,IAAM3B,cAAc;QAC9B;QACA,MAAM4B,OAAOxC,YAAYS,QAAQ;YAAEgC,OAAO;QAAK;QAE/CpB,SAASmB,MAAM;YACbL,MAAM;gBAAEC,QAAQ;gBAAOC,SAAS1B;gBAAY2B,UAAUzB,QAAQ;YAAK;QACrE,GAAG0B,IAAI,CAAC,IAAM3B,cAAc;IAC9B,GAAG;QAACC;QAAMF;KAAW;IAErB,qBACE,KAACP;QACCsC,WAAW,CAAC,kBAAkB,CAAC;QAC/BC,OAAO;YACLC,OAAO3B,eAAe2B;QACxB;kBAEA,cAAA;;gBACGZ,+BACC,KAACa;oBAAIH,WAAU;8BACb,cAAA,KAACnC;kCACC,cAAA,KAACsC;4BACCH,WAAU;4BACVI,KAAK7C,MAAMmB,cAAc,QAAQ;sCAEjC,cAAA,KAACrB;0CAAUqB;;;;;gBAMlBE,2BACC,MAACuB;oBAAIH,WAAU;;sCACb,KAAChD;4BAASgD,WAAU;;wBAA4B;sCAEhD,KAACG;4BAAIH,WAAU;sCACb,cAAA,KAACpC;;;;gBAKN,CAACgB,2BACA;;sCACE,MAACuB;4BAAIH,WAAU;;8CAab,KAAChD;oCAASgD,WAAU;;8CACpB,KAAC5C;oCACCiD,KAAK5B;oCACLuB,WAAU;oCACVM,OAAOrC;oCACPsC,UAAU,CAACnB;wCACTlB,cAAckB,EAAEoB,MAAM,CAACF,KAAK;oCAC9B;oCACAG,aACEnB,gBACI,4BACA;oCAENoB,SAAS;oCACT,mBAAmB;oCACnB,6BAA6B;oCAE7BC,WAAW,CAACvB;wCACV,IAAIA,EAAEwB,GAAG,KAAK,SAASpB;oCACzB;;8CAEF,KAAC7B,QAAQkD,MAAM;oCACb,cAAc;oCAEd,4GAA4G;oCAC5GC,SAAStB;8CAET,cAAA,KAACzC;;;;wBAGJuC,8BACC,KAAC9B;4BACCO,QAAQA;4BACRgD,WAAW;gCACThD,OAAOiD,KAAK,GAAGC,cAAc,GAAGC,KAAK,GAAGC,GAAG;gCAC3CnD,aAAa;4BACf;4BACAU,YAAYA;2CAGd,KAACjB;4BACCM,QAAQA;4BACRqD,UAAU,CAACd;gCACTpC,cAAcoC;gCACd7B,SAAS4C,OAAO,CAACH,KAAK;4BACxB;;;;;;;AAQhB,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/AIEditorPanel/index.tsx"],"sourcesContent":["export * from \"./AIEditorPanel.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/AIEditorPanel/index.tsx"],"sourcesContent":["export * from \"./AIEditorPanel.js\";\n"],"names":[],"mappings":"AAAA,cAAc,qBAAqB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/Colorpicker/ColorButton.tsx"],"sourcesContent":["import React, { memo, useCallback } from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\nexport type ColorButtonProps = {\n color?: string;\n active?: boolean;\n onColorChange?: (color: string) => void; // eslint-disable-line no-unused-vars\n};\n\nexport const ColorButton = memo(\n ({ color, active, onColorChange }: ColorButtonProps) => {\n const wrapperClassName = cn(\n \"flex items-center justify-center px-1.5 py-1.5 rounded group\",\n !active && \"hover:bg-neutral-100\",\n active && \"bg-neutral-100\"\n );\n const bubbleClassName = cn(\n \"w-4 h-4 rounded bg-slate-100 shadow-sm ring-offset-2 ring-current\",\n !active && `hover:ring-1`,\n active && `ring-1`\n );\n\n const handleClick = useCallback(() => {\n if (onColorChange) {\n onColorChange(color || \"\");\n }\n }, [onColorChange, color]);\n\n return (\n <button type=\"button\" onClick={handleClick} className={wrapperClassName}>\n <div\n style={{ backgroundColor: color, color: color }}\n className={bubbleClassName}\n ></div>\n </button>\n );\n }\n);\n\nColorButton.displayName = \"ColorButton\";\n"],"names":["React","memo","useCallback","cn","ColorButton","color","active","onColorChange","wrapperClassName","bubbleClassName","handleClick","button","type","onClick","className","div","style","backgroundColor","displayName"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/Colorpicker/ColorButton.tsx"],"sourcesContent":["import React, { memo, useCallback } from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\nexport type ColorButtonProps = {\n color?: string;\n active?: boolean;\n onColorChange?: (color: string) => void; // eslint-disable-line no-unused-vars\n};\n\nexport const ColorButton = memo(\n ({ color, active, onColorChange }: ColorButtonProps) => {\n const wrapperClassName = cn(\n \"flex items-center justify-center px-1.5 py-1.5 rounded group\",\n !active && \"hover:bg-neutral-100\",\n active && \"bg-neutral-100\"\n );\n const bubbleClassName = cn(\n \"w-4 h-4 rounded bg-slate-100 shadow-sm ring-offset-2 ring-current\",\n !active && `hover:ring-1`,\n active && `ring-1`\n );\n\n const handleClick = useCallback(() => {\n if (onColorChange) {\n onColorChange(color || \"\");\n }\n }, [onColorChange, color]);\n\n return (\n <button type=\"button\" onClick={handleClick} className={wrapperClassName}>\n <div\n style={{ backgroundColor: color, color: color }}\n className={bubbleClassName}\n ></div>\n </button>\n );\n }\n);\n\nColorButton.displayName = \"ColorButton\";\n"],"names":["React","memo","useCallback","cn","ColorButton","color","active","onColorChange","wrapperClassName","bubbleClassName","handleClick","button","type","onClick","className","div","style","backgroundColor","displayName"],"mappings":";AAAA,OAAOA,SAASC,IAAI,EAAEC,WAAW,QAAQ,QAAQ;AACjD,SAASC,EAAE,QAAQ,8BAA8B;AAQjD,OAAO,MAAMC,4BAAcH,KACzB,CAAC,EAAEI,KAAK,EAAEC,MAAM,EAAEC,aAAa,EAAoB;IACjD,MAAMC,mBAAmBL,GACvB,gEACA,CAACG,UAAU,wBACXA,UAAU;IAEZ,MAAMG,kBAAkBN,GACtB,qEACA,CAACG,UAAU,CAAC,YAAY,CAAC,EACzBA,UAAU,CAAC,MAAM,CAAC;IAGpB,MAAMI,cAAcR,YAAY;QAC9B,IAAIK,eAAe;YACjBA,cAAcF,SAAS;QACzB;IACF,GAAG;QAACE;QAAeF;KAAM;IAEzB,qBACE,KAACM;QAAOC,MAAK;QAASC,SAASH;QAAaI,WAAWN;kBACrD,cAAA,KAACO;YACCC,OAAO;gBAAEC,iBAAiBZ;gBAAOA,OAAOA;YAAM;YAC9CS,WAAWL;;;AAInB,GACA;AAEFL,YAAYc,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/Colorpicker/Colorpicker.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { HexColorPicker } from \"react-colorful\";\nimport { ColorButton } from \"./ColorButton.js\";\nimport { Toolbar } from \"../../ui/Toolbar.js\";\nimport { Icon } from \"../../ui/Icon.js\";\nimport { themeColors } from \"../../../lib/constants.js\";\nimport { Undo } from \"lucide-react\";\n\nexport type ColorPickerProps = {\n color?: string;\n onChange?: (color: string) => void;\n onClear?: () => void;\n};\n\nexport const ColorPicker = ({ color, onChange, onClear }: ColorPickerProps) => {\n const [colorInputValue, setColorInputValue] = useState(color || \"\");\n\n const handleColorUpdate = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setColorInputValue(event.target.value);\n },\n []\n );\n\n const handleColorChange = useCallback(() => {\n const isCorrectColor = /^#([0-9A-F]{3}){1,2}$/i.test(colorInputValue);\n\n if (!isCorrectColor) {\n if (onChange) {\n onChange(\"\");\n }\n\n return;\n }\n\n if (onChange) {\n onChange(colorInputValue);\n }\n }, [colorInputValue, onChange]);\n\n return (\n <div className=\"flex flex-col gap-2\">\n <HexColorPicker\n className=\"w-full\"\n color={color || \"\"}\n onChange={onChange}\n />\n <input\n type=\"text\"\n className=\"w-full p-2 text-black bg-white border rounded dark:bg-black dark:text-white border-neutral-200 dark:border-neutral-800 focus:outline-1 focus:ring-0 focus:outline-neutral-300 dark:focus:outline-neutral-700\"\n placeholder=\"#000000\"\n value={colorInputValue}\n onChange={handleColorUpdate}\n onBlur={handleColorChange}\n />\n <div className=\"flex flex-wrap items-center gap-1 max-w-[15rem]\">\n {themeColors.map((currentColor) => (\n <ColorButton\n active={currentColor === color}\n color={currentColor}\n key={currentColor}\n onColorChange={onChange}\n />\n ))}\n <Toolbar.Button tooltip=\"Reset color to default\" onClick={onClear}>\n <Icon icon={Undo} />\n </Toolbar.Button>\n </div>\n </div>\n );\n};\n"],"names":["React","useCallback","useState","HexColorPicker","ColorButton","Toolbar","Icon","themeColors","Undo","ColorPicker","color","onChange","onClear","colorInputValue","setColorInputValue","handleColorUpdate","event","target","value","handleColorChange","isCorrectColor","test","div","className","input","type","placeholder","onBlur","map","currentColor","active","onColorChange","Button","tooltip","onClick","icon"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/Colorpicker/Colorpicker.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { HexColorPicker } from \"react-colorful\";\nimport { ColorButton } from \"./ColorButton.js\";\nimport { Toolbar } from \"../../ui/Toolbar.js\";\nimport { Icon } from \"../../ui/Icon.js\";\nimport { themeColors } from \"../../../lib/constants.js\";\nimport { Undo } from \"lucide-react\";\n\nexport type ColorPickerProps = {\n color?: string;\n onChange?: (color: string) => void;\n onClear?: () => void;\n};\n\nexport const ColorPicker = ({ color, onChange, onClear }: ColorPickerProps) => {\n const [colorInputValue, setColorInputValue] = useState(color || \"\");\n\n const handleColorUpdate = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setColorInputValue(event.target.value);\n },\n []\n );\n\n const handleColorChange = useCallback(() => {\n const isCorrectColor = /^#([0-9A-F]{3}){1,2}$/i.test(colorInputValue);\n\n if (!isCorrectColor) {\n if (onChange) {\n onChange(\"\");\n }\n\n return;\n }\n\n if (onChange) {\n onChange(colorInputValue);\n }\n }, [colorInputValue, onChange]);\n\n return (\n <div className=\"flex flex-col gap-2\">\n <HexColorPicker\n className=\"w-full\"\n color={color || \"\"}\n onChange={onChange}\n />\n <input\n type=\"text\"\n className=\"w-full p-2 text-black bg-white border rounded dark:bg-black dark:text-white border-neutral-200 dark:border-neutral-800 focus:outline-1 focus:ring-0 focus:outline-neutral-300 dark:focus:outline-neutral-700\"\n placeholder=\"#000000\"\n value={colorInputValue}\n onChange={handleColorUpdate}\n onBlur={handleColorChange}\n />\n <div className=\"flex flex-wrap items-center gap-1 max-w-[15rem]\">\n {themeColors.map((currentColor) => (\n <ColorButton\n active={currentColor === color}\n color={currentColor}\n key={currentColor}\n onColorChange={onChange}\n />\n ))}\n <Toolbar.Button tooltip=\"Reset color to default\" onClick={onClear}>\n <Icon icon={Undo} />\n </Toolbar.Button>\n </div>\n </div>\n );\n};\n"],"names":["React","useCallback","useState","HexColorPicker","ColorButton","Toolbar","Icon","themeColors","Undo","ColorPicker","color","onChange","onClear","colorInputValue","setColorInputValue","handleColorUpdate","event","target","value","handleColorChange","isCorrectColor","test","div","className","input","type","placeholder","onBlur","map","currentColor","active","onColorChange","Button","tooltip","onClick","icon"],"mappings":";AAAA,OAAOA,SAASC,WAAW,EAAEC,QAAQ,QAAQ,QAAQ;AACrD,SAASC,cAAc,QAAQ,iBAAiB;AAChD,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SAASC,WAAW,QAAQ,4BAA4B;AACxD,SAASC,IAAI,QAAQ,eAAe;AAQpC,OAAO,MAAMC,cAAc,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,OAAO,EAAoB;IACxE,MAAM,CAACC,iBAAiBC,mBAAmB,GAAGZ,SAASQ,SAAS;IAEhE,MAAMK,oBAAoBd,YACxB,CAACe;QACCF,mBAAmBE,MAAMC,MAAM,CAACC,KAAK;IACvC,GACA,EAAE;IAGJ,MAAMC,oBAAoBlB,YAAY;QACpC,MAAMmB,iBAAiB,yBAAyBC,IAAI,CAACR;QAErD,IAAI,CAACO,gBAAgB;YACnB,IAAIT,UAAU;gBACZA,SAAS;YACX;YAEA;QACF;QAEA,IAAIA,UAAU;YACZA,SAASE;QACX;IACF,GAAG;QAACA;QAAiBF;KAAS;IAE9B,qBACE,MAACW;QAAIC,WAAU;;0BACb,KAACpB;gBACCoB,WAAU;gBACVb,OAAOA,SAAS;gBAChBC,UAAUA;;0BAEZ,KAACa;gBACCC,MAAK;gBACLF,WAAU;gBACVG,aAAY;gBACZR,OAAOL;gBACPF,UAAUI;gBACVY,QAAQR;;0BAEV,MAACG;gBAAIC,WAAU;;oBACZhB,YAAYqB,GAAG,CAAC,CAACC,6BAChB,KAACzB;4BACC0B,QAAQD,iBAAiBnB;4BACzBA,OAAOmB;4BAEPE,eAAepB;2BADVkB;kCAIT,KAACxB,QAAQ2B,MAAM;wBAACC,SAAQ;wBAAyBC,SAAStB;kCACxD,cAAA,KAACN;4BAAK6B,MAAM3B;;;;;;;AAKtB,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/Colorpicker/index.tsx"],"sourcesContent":["export * from \"./Colorpicker.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/Colorpicker/index.tsx"],"sourcesContent":["export * from \"./Colorpicker.js\";\n"],"names":[],"mappings":"AAAA,cAAc,mBAAmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { Link } from \"lucide-react\";\nimport { Button } from \"../../ui/Button/Button.js\";\nimport { Icon } from \"../../ui/Icon.js\";\nimport { Surface } from \"../../ui/Surface.js\";\n\nexport type IframeLinkEditorPanelProps = {\n initialSrc?: string;\n initialOpenInNewTab?: boolean;\n onSetLink: (src: string) => void;\n};\n\nexport const useLinkEditorState = ({\n initialSrc,\n onSetLink,\n}: IframeLinkEditorPanelProps) => {\n const [url, setUrl] = useState(initialSrc || \"\");\n\n const onChange = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n setUrl(event.target.value);\n },\n []\n );\n\n // const isValidUrl = useMemo(() => /^(\\S+):(\\/\\/)?\\S+$/.test(url), [url]);\n\n const handleSubmit = useCallback(\n (e: React.FormEvent) => {\n e.preventDefault();\n // if (isValidUrl) {\n onSetLink(url);\n // }\n },\n [url, onSetLink]\n );\n\n return {\n url,\n setUrl,\n onChange,\n handleSubmit,\n };\n};\n\nexport const IframeLinkEditorPanel = ({\n onSetLink,\n initialOpenInNewTab,\n initialSrc,\n}: IframeLinkEditorPanelProps) => {\n const state = useLinkEditorState({\n onSetLink,\n initialOpenInNewTab,\n initialSrc,\n });\n\n return (\n <Surface className=\"p-2\">\n <div className=\"flex items-center gap-2\">\n <label className=\"flex items-center gap-2 p-2 rounded-lg bg-neutral-100 dark:bg-neutral-900 cursor-text\">\n <Icon icon={Link} className=\"flex-none text-black dark:text-white\" />\n <textarea\n className=\"flex-1 bg-transparent outline-none min-w-[12rem] text-black text-sm dark:text-white\"\n placeholder=\"Enter Embed Code\"\n value={state.url}\n onChange={state.onChange}\n />\n </label>\n <Button\n variant=\"primary\"\n buttonSize=\"small\"\n type=\"button\"\n onClick={(e) => {\n state.handleSubmit(e);\n }}\n // disabled={!state.isValidUrl}\n >\n Set Link\n </Button>\n </div>\n </Surface>\n );\n};\n"],"names":["React","useCallback","useState","Link","Button","Icon","Surface","useLinkEditorState","initialSrc","onSetLink","url","setUrl","onChange","event","target","value","handleSubmit","e","preventDefault","IframeLinkEditorPanel","initialOpenInNewTab","state","className","div","label","icon","textarea","placeholder","variant","buttonSize","type","onClick"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { Link } from \"lucide-react\";\nimport { Button } from \"../../ui/Button/Button.js\";\nimport { Icon } from \"../../ui/Icon.js\";\nimport { Surface } from \"../../ui/Surface.js\";\n\nexport type IframeLinkEditorPanelProps = {\n initialSrc?: string;\n initialOpenInNewTab?: boolean;\n onSetLink: (src: string) => void;\n};\n\nexport const useLinkEditorState = ({\n initialSrc,\n onSetLink,\n}: IframeLinkEditorPanelProps) => {\n const [url, setUrl] = useState(initialSrc || \"\");\n\n const onChange = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n setUrl(event.target.value);\n },\n []\n );\n\n // const isValidUrl = useMemo(() => /^(\\S+):(\\/\\/)?\\S+$/.test(url), [url]);\n\n const handleSubmit = useCallback(\n (e: React.FormEvent) => {\n e.preventDefault();\n // if (isValidUrl) {\n onSetLink(url);\n // }\n },\n [url, onSetLink]\n );\n\n return {\n url,\n setUrl,\n onChange,\n handleSubmit,\n };\n};\n\nexport const IframeLinkEditorPanel = ({\n onSetLink,\n initialOpenInNewTab,\n initialSrc,\n}: IframeLinkEditorPanelProps) => {\n const state = useLinkEditorState({\n onSetLink,\n initialOpenInNewTab,\n initialSrc,\n });\n\n return (\n <Surface className=\"p-2\">\n <div className=\"flex items-center gap-2\">\n <label className=\"flex items-center gap-2 p-2 rounded-lg bg-neutral-100 dark:bg-neutral-900 cursor-text\">\n <Icon icon={Link} className=\"flex-none text-black dark:text-white\" />\n <textarea\n className=\"flex-1 bg-transparent outline-none min-w-[12rem] text-black text-sm dark:text-white\"\n placeholder=\"Enter Embed Code\"\n value={state.url}\n onChange={state.onChange}\n />\n </label>\n <Button\n variant=\"primary\"\n buttonSize=\"small\"\n type=\"button\"\n onClick={(e) => {\n state.handleSubmit(e);\n }}\n // disabled={!state.isValidUrl}\n >\n Set Link\n </Button>\n </div>\n </Surface>\n );\n};\n"],"names":["React","useCallback","useState","Link","Button","Icon","Surface","useLinkEditorState","initialSrc","onSetLink","url","setUrl","onChange","event","target","value","handleSubmit","e","preventDefault","IframeLinkEditorPanel","initialOpenInNewTab","state","className","div","label","icon","textarea","placeholder","variant","buttonSize","type","onClick"],"mappings":";AAAA,OAAOA,SAASC,WAAW,EAAEC,QAAQ,QAAQ,QAAQ;AACrD,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SAASC,OAAO,QAAQ,sBAAsB;AAQ9C,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,UAAU,EACVC,SAAS,EACkB;IAC3B,MAAM,CAACC,KAAKC,OAAO,GAAGT,SAASM,cAAc;IAE7C,MAAMI,WAAWX,YACf,CAACY;QACCF,OAAOE,MAAMC,MAAM,CAACC,KAAK;IAC3B,GACA,EAAE;IAGJ,2EAA2E;IAE3E,MAAMC,eAAef,YACnB,CAACgB;QACCA,EAAEC,cAAc;QAChB,oBAAoB;QACpBT,UAAUC;IACV,IAAI;IACN,GACA;QAACA;QAAKD;KAAU;IAGlB,OAAO;QACLC;QACAC;QACAC;QACAI;IACF;AACF,EAAE;AAEF,OAAO,MAAMG,wBAAwB,CAAC,EACpCV,SAAS,EACTW,mBAAmB,EACnBZ,UAAU,EACiB;IAC3B,MAAMa,QAAQd,mBAAmB;QAC/BE;QACAW;QACAZ;IACF;IAEA,qBACE,KAACF;QAAQgB,WAAU;kBACjB,cAAA,MAACC;YAAID,WAAU;;8BACb,MAACE;oBAAMF,WAAU;;sCACf,KAACjB;4BAAKoB,MAAMtB;4BAAMmB,WAAU;;sCAC5B,KAACI;4BACCJ,WAAU;4BACVK,aAAY;4BACZZ,OAAOM,MAAMX,GAAG;4BAChBE,UAAUS,MAAMT,QAAQ;;;;8BAG5B,KAACR;oBACCwB,SAAQ;oBACRC,YAAW;oBACXC,MAAK;oBACLC,SAAS,CAACd;wBACRI,MAAML,YAAY,CAACC;oBACrB;8BAED;;;;;AAMT,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/index.tsx"],"sourcesContent":["export * from \"./IframeLinkEditorPanel.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/index.tsx"],"sourcesContent":["export * from \"./IframeLinkEditorPanel.js\";\n"],"names":[],"mappings":"AAAA,cAAc,6BAA6B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/InsideLinksEditorPanel/InsideLinksEditorPanel.tsx"],"sourcesContent":["import { ContentRelationship } from \"../../../extensions/InsideLinks/InsideLink.client.js\";\nimport { Surface } from \"../../ui/Surface.js\";\n\nexport type InsideLinksEditorPanelProps = {\n onRelationshipSelect: ({\n thumbnail,\n title,\n id,\n type,\n url,\n }: {\n id: string;\n type: string;\n thumbnail: string;\n title: string;\n url: string;\n }) => void;\n onCancel: () => void;\n};\n\nexport const InsideLinksEditorPanel = ({\n onRelationshipSelect,\n onCancel,\n}: // initialOpenInNewTab,\nInsideLinksEditorPanelProps) => {\n return (\n <Surface className=\"p-2\">\n <div className=\"flex flex-col items-center gap-2 p-1\">\n <ContentRelationship\n setRelationship={({ id, thumbnail, title, type, url }) => {\n onRelationshipSelect({ id, thumbnail, title, type, url });\n }}\n cancelSelection={() => {\n onCancel();\n }}\n />\n <span className=\"mt-1 mb-0 text-sm\">Add Internal Link to Contents</span>\n </div>\n </Surface>\n );\n};\n"],"names":["ContentRelationship","Surface","InsideLinksEditorPanel","onRelationshipSelect","onCancel","className","div","setRelationship","id","thumbnail","title","type","url","cancelSelection","span"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/InsideLinksEditorPanel/InsideLinksEditorPanel.tsx"],"sourcesContent":["import { ContentRelationship } from \"../../../extensions/InsideLinks/InsideLink.client.js\";\nimport { Surface } from \"../../ui/Surface.js\";\n\nexport type InsideLinksEditorPanelProps = {\n onRelationshipSelect: ({\n thumbnail,\n title,\n id,\n type,\n url,\n }: {\n id: string;\n type: string;\n thumbnail: string;\n title: string;\n url: string;\n }) => void;\n onCancel: () => void;\n};\n\nexport const InsideLinksEditorPanel = ({\n onRelationshipSelect,\n onCancel,\n}: // initialOpenInNewTab,\nInsideLinksEditorPanelProps) => {\n return (\n <Surface className=\"p-2\">\n <div className=\"flex flex-col items-center gap-2 p-1\">\n <ContentRelationship\n setRelationship={({ id, thumbnail, title, type, url }) => {\n onRelationshipSelect({ id, thumbnail, title, type, url });\n }}\n cancelSelection={() => {\n onCancel();\n }}\n />\n <span className=\"mt-1 mb-0 text-sm\">Add Internal Link to Contents</span>\n </div>\n </Surface>\n );\n};\n"],"names":["ContentRelationship","Surface","InsideLinksEditorPanel","onRelationshipSelect","onCancel","className","div","setRelationship","id","thumbnail","title","type","url","cancelSelection","span"],"mappings":";AAAA,SAASA,mBAAmB,QAAQ,uDAAuD;AAC3F,SAASC,OAAO,QAAQ,sBAAsB;AAmB9C,OAAO,MAAMC,yBAAyB,CAAC,EACrCC,oBAAoB,EACpBC,QAAQ,EAEiB;IACzB,qBACE,KAACH;QAAQI,WAAU;kBACjB,cAAA,MAACC;YAAID,WAAU;;8BACb,KAACL;oBACCO,iBAAiB,CAAC,EAAEC,EAAE,EAAEC,SAAS,EAAEC,KAAK,EAAEC,IAAI,EAAEC,GAAG,EAAE;wBACnDT,qBAAqB;4BAAEK;4BAAIC;4BAAWC;4BAAOC;4BAAMC;wBAAI;oBACzD;oBACAC,iBAAiB;wBACfT;oBACF;;8BAEF,KAACU;oBAAKT,WAAU;8BAAoB;;;;;AAI5C,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/InsideLinksEditorPanel/index.tsx"],"sourcesContent":["export * from \"./InsideLinksEditorPanel.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/InsideLinksEditorPanel/index.tsx"],"sourcesContent":["export * from \"./InsideLinksEditorPanel.js\";\n"],"names":[],"mappings":"AAAA,cAAc,8BAA8B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/LinkEditorPanel/LinkEditorPanel.tsx"],"sourcesContent":["import { Link } from \"lucide-react\";\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport { Button } from \"../../ui/Button/Button.js\";\nimport { Icon } from \"../../ui/Icon.js\";\nimport { Surface } from \"../../ui/Surface.js\";\nimport { Toggle } from \"../../ui/Toggle/Toggle.js\";\n\nexport type LinkEditorPanelProps = {\n initialUrl?: string;\n initialOpenInNewTab?: boolean;\n onSetLink: (url: string, openInNewTab?: boolean) => void;\n};\n\nexport const useLinkEditorState = ({\n initialUrl,\n initialOpenInNewTab,\n onSetLink,\n}: LinkEditorPanelProps) => {\n const [url, setUrl] = useState(initialUrl || \"\");\n const [openInNewTab, setOpenInNewTab] = useState(\n initialOpenInNewTab || false\n );\n\n const onChange = useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n setUrl(event.target.value);\n }, []);\n\n const isValidUrl = useMemo(() => /^(\\S+):(\\/\\/)?\\S+$/.test(url), [url]);\n\n const handleSubmit = useCallback(\n (e: React.FormEvent) => {\n e.preventDefault();\n if (isValidUrl) {\n onSetLink(url, openInNewTab);\n }\n },\n [url, isValidUrl, openInNewTab, onSetLink]\n );\n\n return {\n url,\n setUrl,\n openInNewTab,\n setOpenInNewTab,\n onChange,\n handleSubmit,\n isValidUrl,\n };\n};\n\nexport const LinkEditorPanel = ({\n onSetLink,\n initialOpenInNewTab,\n initialUrl,\n}: LinkEditorPanelProps) => {\n const state = useLinkEditorState({\n onSetLink,\n initialOpenInNewTab,\n initialUrl,\n });\n\n return (\n <Surface className=\"p-2\">\n <div className=\"flex items-center gap-2\">\n <label className=\"flex items-center gap-2 p-2 rounded-lg bg-neutral-100 dark:bg-neutral-900 cursor-text\">\n <Icon icon={Link} className=\"flex-none text-black dark:text-white\" />\n <input\n type=\"url\"\n className=\"flex-1 bg-transparent outline-none min-w-[12rem] text-black text-sm dark:text-white\"\n placeholder=\"Enter URL\"\n value={state.url}\n onChange={state.onChange}\n />\n </label>\n <Button\n variant=\"primary\"\n buttonSize=\"small\"\n type=\"button\"\n onClick={(e) => {\n state.handleSubmit(e);\n }}\n disabled={!state.isValidUrl}\n >\n Set Link\n </Button>\n <div className=\"mt-3\">\n <label className=\"flex items-center justify-start gap-2 text-sm font-semibold cursor-pointer select-none text-neutral-500 dark:text-neutral-400\">\n Open in new tab\n <Toggle\n active={state.openInNewTab}\n onChange={state.setOpenInNewTab}\n />\n </label>\n </div>\n </div>\n </Surface>\n );\n};\n"],"names":["Link","React","useCallback","useMemo","useState","Button","Icon","Surface","Toggle","useLinkEditorState","initialUrl","initialOpenInNewTab","onSetLink","url","setUrl","openInNewTab","setOpenInNewTab","onChange","event","target","value","isValidUrl","test","handleSubmit","e","preventDefault","LinkEditorPanel","state","className","div","label","icon","input","type","placeholder","variant","buttonSize","onClick","disabled","active"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/LinkEditorPanel/LinkEditorPanel.tsx"],"sourcesContent":["import { Link } from \"lucide-react\";\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport { Button } from \"../../ui/Button/Button.js\";\nimport { Icon } from \"../../ui/Icon.js\";\nimport { Surface } from \"../../ui/Surface.js\";\nimport { Toggle } from \"../../ui/Toggle/Toggle.js\";\n\nexport type LinkEditorPanelProps = {\n initialUrl?: string;\n initialOpenInNewTab?: boolean;\n onSetLink: (url: string, openInNewTab?: boolean) => void;\n};\n\nexport const useLinkEditorState = ({\n initialUrl,\n initialOpenInNewTab,\n onSetLink,\n}: LinkEditorPanelProps) => {\n const [url, setUrl] = useState(initialUrl || \"\");\n const [openInNewTab, setOpenInNewTab] = useState(\n initialOpenInNewTab || false\n );\n\n const onChange = useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n setUrl(event.target.value);\n }, []);\n\n const isValidUrl = useMemo(() => /^(\\S+):(\\/\\/)?\\S+$/.test(url), [url]);\n\n const handleSubmit = useCallback(\n (e: React.FormEvent) => {\n e.preventDefault();\n if (isValidUrl) {\n onSetLink(url, openInNewTab);\n }\n },\n [url, isValidUrl, openInNewTab, onSetLink]\n );\n\n return {\n url,\n setUrl,\n openInNewTab,\n setOpenInNewTab,\n onChange,\n handleSubmit,\n isValidUrl,\n };\n};\n\nexport const LinkEditorPanel = ({\n onSetLink,\n initialOpenInNewTab,\n initialUrl,\n}: LinkEditorPanelProps) => {\n const state = useLinkEditorState({\n onSetLink,\n initialOpenInNewTab,\n initialUrl,\n });\n\n return (\n <Surface className=\"p-2\">\n <div className=\"flex items-center gap-2\">\n <label className=\"flex items-center gap-2 p-2 rounded-lg bg-neutral-100 dark:bg-neutral-900 cursor-text\">\n <Icon icon={Link} className=\"flex-none text-black dark:text-white\" />\n <input\n type=\"url\"\n className=\"flex-1 bg-transparent outline-none min-w-[12rem] text-black text-sm dark:text-white\"\n placeholder=\"Enter URL\"\n value={state.url}\n onChange={state.onChange}\n />\n </label>\n <Button\n variant=\"primary\"\n buttonSize=\"small\"\n type=\"button\"\n onClick={(e) => {\n state.handleSubmit(e);\n }}\n disabled={!state.isValidUrl}\n >\n Set Link\n </Button>\n <div className=\"mt-3\">\n <label className=\"flex items-center justify-start gap-2 text-sm font-semibold cursor-pointer select-none text-neutral-500 dark:text-neutral-400\">\n Open in new tab\n <Toggle\n active={state.openInNewTab}\n onChange={state.setOpenInNewTab}\n />\n </label>\n </div>\n </div>\n </Surface>\n );\n};\n"],"names":["Link","React","useCallback","useMemo","useState","Button","Icon","Surface","Toggle","useLinkEditorState","initialUrl","initialOpenInNewTab","onSetLink","url","setUrl","openInNewTab","setOpenInNewTab","onChange","event","target","value","isValidUrl","test","handleSubmit","e","preventDefault","LinkEditorPanel","state","className","div","label","icon","input","type","placeholder","variant","buttonSize","onClick","disabled","active"],"mappings":";AAAA,SAASA,IAAI,QAAQ,eAAe;AACpC,OAAOC,SAASC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,QAAQ;AAC9D,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,MAAM,QAAQ,4BAA4B;AAQnD,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,UAAU,EACVC,mBAAmB,EACnBC,SAAS,EACY;IACrB,MAAM,CAACC,KAAKC,OAAO,GAAGV,SAASM,cAAc;IAC7C,MAAM,CAACK,cAAcC,gBAAgB,GAAGZ,SACtCO,uBAAuB;IAGzB,MAAMM,WAAWf,YAAY,CAACgB;QAC5BJ,OAAOI,MAAMC,MAAM,CAACC,KAAK;IAC3B,GAAG,EAAE;IAEL,MAAMC,aAAalB,QAAQ,IAAM,qBAAqBmB,IAAI,CAACT,MAAM;QAACA;KAAI;IAEtE,MAAMU,eAAerB,YACnB,CAACsB;QACCA,EAAEC,cAAc;QAChB,IAAIJ,YAAY;YACdT,UAAUC,KAAKE;QACjB;IACF,GACA;QAACF;QAAKQ;QAAYN;QAAcH;KAAU;IAG5C,OAAO;QACLC;QACAC;QACAC;QACAC;QACAC;QACAM;QACAF;IACF;AACF,EAAE;AAEF,OAAO,MAAMK,kBAAkB,CAAC,EAC9Bd,SAAS,EACTD,mBAAmB,EACnBD,UAAU,EACW;IACrB,MAAMiB,QAAQlB,mBAAmB;QAC/BG;QACAD;QACAD;IACF;IAEA,qBACE,KAACH;QAAQqB,WAAU;kBACjB,cAAA,MAACC;YAAID,WAAU;;8BACb,MAACE;oBAAMF,WAAU;;sCACf,KAACtB;4BAAKyB,MAAM/B;4BAAM4B,WAAU;;sCAC5B,KAACI;4BACCC,MAAK;4BACLL,WAAU;4BACVM,aAAY;4BACZd,OAAOO,MAAMd,GAAG;4BAChBI,UAAUU,MAAMV,QAAQ;;;;8BAG5B,KAACZ;oBACC8B,SAAQ;oBACRC,YAAW;oBACXH,MAAK;oBACLI,SAAS,CAACb;wBACRG,MAAMJ,YAAY,CAACC;oBACrB;oBACAc,UAAU,CAACX,MAAMN,UAAU;8BAC5B;;8BAGD,KAACQ;oBAAID,WAAU;8BACb,cAAA,MAACE;wBAAMF,WAAU;;4BAAgI;0CAE/I,KAACpB;gCACC+B,QAAQZ,MAAMZ,YAAY;gCAC1BE,UAAUU,MAAMX,eAAe;;;;;;;;AAO7C,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/LinkEditorPanel/index.tsx"],"sourcesContent":["export * from \"./LinkEditorPanel.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/LinkEditorPanel/index.tsx"],"sourcesContent":["export * from \"./LinkEditorPanel.js\";\n"],"names":[],"mappings":"AAAA,cAAc,uBAAuB"}
|
package/dist/src/fields/TiptapEditor/features/panels/LinkPreviewPanel/LinkPreviewPanel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/LinkPreviewPanel/LinkPreviewPanel.tsx"],"sourcesContent":["import { Pen, Trash2 } from \"lucide-react\";\nimport { Icon } from \"../../ui/Icon.js\";\nimport { Surface } from \"../../ui/Surface.js\";\nimport { Toolbar } from \"../../ui/Toolbar.js\";\nimport Tooltip from \"../../ui/Tooltip/index.js\";\nexport type LinkPreviewPanelProps = {\n url: string;\n onEdit: () => void;\n onClear: () => void;\n};\n\nexport const LinkPreviewPanel = ({\n onClear,\n onEdit,\n url,\n}: LinkPreviewPanelProps) => {\n return (\n <Surface className=\"flex items-center gap-2 p-2\">\n <a\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-sm underline break-all\"\n >\n {url}\n </a>\n <Toolbar.Divider />\n <Tooltip title=\"Edit link\">\n <Toolbar.Button type=\"button\" onClick={onEdit}>\n <Icon icon={Pen} />\n </Toolbar.Button>\n </Tooltip>\n <Tooltip title=\"Remove link\">\n <Toolbar.Button type=\"button\" onClick={onClear}>\n <Icon icon={Trash2} />\n </Toolbar.Button>\n </Tooltip>\n </Surface>\n );\n};\n"],"names":["Pen","Trash2","Icon","Surface","Toolbar","Tooltip","LinkPreviewPanel","onClear","onEdit","url","className","a","href","target","rel","Divider","title","Button","type","onClick","icon"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/LinkPreviewPanel/LinkPreviewPanel.tsx"],"sourcesContent":["import { Pen, Trash2 } from \"lucide-react\";\nimport { Icon } from \"../../ui/Icon.js\";\nimport { Surface } from \"../../ui/Surface.js\";\nimport { Toolbar } from \"../../ui/Toolbar.js\";\nimport Tooltip from \"../../ui/Tooltip/index.js\";\nexport type LinkPreviewPanelProps = {\n url: string;\n onEdit: () => void;\n onClear: () => void;\n};\n\nexport const LinkPreviewPanel = ({\n onClear,\n onEdit,\n url,\n}: LinkPreviewPanelProps) => {\n return (\n <Surface className=\"flex items-center gap-2 p-2\">\n <a\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-sm underline break-all\"\n >\n {url}\n </a>\n <Toolbar.Divider />\n <Tooltip title=\"Edit link\">\n <Toolbar.Button type=\"button\" onClick={onEdit}>\n <Icon icon={Pen} />\n </Toolbar.Button>\n </Tooltip>\n <Tooltip title=\"Remove link\">\n <Toolbar.Button type=\"button\" onClick={onClear}>\n <Icon icon={Trash2} />\n </Toolbar.Button>\n </Tooltip>\n </Surface>\n );\n};\n"],"names":["Pen","Trash2","Icon","Surface","Toolbar","Tooltip","LinkPreviewPanel","onClear","onEdit","url","className","a","href","target","rel","Divider","title","Button","type","onClick","icon"],"mappings":";AAAA,SAASA,GAAG,EAAEC,MAAM,QAAQ,eAAe;AAC3C,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,OAAOC,aAAa,4BAA4B;AAOhD,OAAO,MAAMC,mBAAmB,CAAC,EAC/BC,OAAO,EACPC,MAAM,EACNC,GAAG,EACmB;IACtB,qBACE,MAACN;QAAQO,WAAU;;0BACjB,KAACC;gBACCC,MAAMH;gBACNI,QAAO;gBACPC,KAAI;gBACJJ,WAAU;0BAETD;;0BAEH,KAACL,QAAQW,OAAO;0BAChB,KAACV;gBAAQW,OAAM;0BACb,cAAA,KAACZ,QAAQa,MAAM;oBAACC,MAAK;oBAASC,SAASX;8BACrC,cAAA,KAACN;wBAAKkB,MAAMpB;;;;0BAGhB,KAACK;gBAAQW,OAAM;0BACb,cAAA,KAACZ,QAAQa,MAAM;oBAACC,MAAK;oBAASC,SAASZ;8BACrC,cAAA,KAACL;wBAAKkB,MAAMnB;;;;;;AAKtB,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/LinkPreviewPanel/index.tsx"],"sourcesContent":["export * from \"./LinkPreviewPanel.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/LinkPreviewPanel/index.tsx"],"sourcesContent":["export * from \"./LinkPreviewPanel.js\";\n"],"names":[],"mappings":"AAAA,cAAc,wBAAwB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { Button } from \"../../ui/Button/Button.js\";\nimport { Surface } from \"../../ui/Surface.js\";\n\nexport type SocialMediaEditorPanelProps = {\n initialSrc?: string;\n initialOpenInNewTab?: boolean;\n onSetLink: (src: string) => void;\n placeholderText: string;\n buttonText: string;\n descriptionText: string;\n};\n\nexport const useLinkEditorState = ({\n initialSrc,\n onSetLink,\n}: SocialMediaEditorPanelProps) => {\n const [url, setUrl] = useState(initialSrc || \"\");\n\n const onChange = useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n setUrl(event.target.value);\n }, []);\n\n // const isValidUrl = useMemo(() => /^(\\S+):(\\/\\/)?\\S+$/.test(url), [url]);\n\n const handleSubmit = useCallback(\n (e: React.FormEvent) => {\n e.preventDefault();\n // if (isValidUrl) {\n onSetLink(url);\n // }\n },\n [url, onSetLink]\n );\n\n return {\n url,\n setUrl,\n onChange,\n handleSubmit,\n };\n};\n\nexport const SocialMediaEditorPanel = ({\n onSetLink,\n initialOpenInNewTab,\n initialSrc,\n placeholderText,\n buttonText,\n descriptionText,\n}: SocialMediaEditorPanelProps) => {\n const state = useLinkEditorState({\n onSetLink,\n initialOpenInNewTab,\n initialSrc,\n placeholderText,\n buttonText,\n descriptionText,\n });\n\n return (\n <Surface className=\"p-2\">\n <div className=\"flex flex-col items-center gap-2 p-1\">\n <label className=\"flex items-center gap-2 p-2 rounded-lg bg-neutral-100 dark:bg-neutral-900 cursor-text w-full\">\n {/* <Icon icon={Link} className=\"flex-none text-black dark:text-white\" /> */}\n <input\n className=\"flex-1 bg-transparent outline-none min-w-[276px] text-black text-sm dark:text-white\"\n placeholder={placeholderText}\n value={state.url}\n onChange={state.onChange}\n />\n </label>\n <Button\n variant=\"primary\"\n buttonSize=\"medium\"\n className=\"w-full m-2\"\n type=\"button\"\n onClick={(e) => {\n state.handleSubmit(e);\n }}\n // disabled={!state.isValidUrl}\n >\n {buttonText}\n </Button>\n <span className=\"mt-1 mb-0 text-sm\">{descriptionText}</span>\n </div>\n </Surface>\n );\n};\n"],"names":["React","useCallback","useState","Button","Surface","useLinkEditorState","initialSrc","onSetLink","url","setUrl","onChange","event","target","value","handleSubmit","e","preventDefault","SocialMediaEditorPanel","initialOpenInNewTab","placeholderText","buttonText","descriptionText","state","className","div","label","input","placeholder","variant","buttonSize","type","onClick","span"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { Button } from \"../../ui/Button/Button.js\";\nimport { Surface } from \"../../ui/Surface.js\";\n\nexport type SocialMediaEditorPanelProps = {\n initialSrc?: string;\n initialOpenInNewTab?: boolean;\n onSetLink: (src: string) => void;\n placeholderText: string;\n buttonText: string;\n descriptionText: string;\n};\n\nexport const useLinkEditorState = ({\n initialSrc,\n onSetLink,\n}: SocialMediaEditorPanelProps) => {\n const [url, setUrl] = useState(initialSrc || \"\");\n\n const onChange = useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n setUrl(event.target.value);\n }, []);\n\n // const isValidUrl = useMemo(() => /^(\\S+):(\\/\\/)?\\S+$/.test(url), [url]);\n\n const handleSubmit = useCallback(\n (e: React.FormEvent) => {\n e.preventDefault();\n // if (isValidUrl) {\n onSetLink(url);\n // }\n },\n [url, onSetLink]\n );\n\n return {\n url,\n setUrl,\n onChange,\n handleSubmit,\n };\n};\n\nexport const SocialMediaEditorPanel = ({\n onSetLink,\n initialOpenInNewTab,\n initialSrc,\n placeholderText,\n buttonText,\n descriptionText,\n}: SocialMediaEditorPanelProps) => {\n const state = useLinkEditorState({\n onSetLink,\n initialOpenInNewTab,\n initialSrc,\n placeholderText,\n buttonText,\n descriptionText,\n });\n\n return (\n <Surface className=\"p-2\">\n <div className=\"flex flex-col items-center gap-2 p-1\">\n <label className=\"flex items-center gap-2 p-2 rounded-lg bg-neutral-100 dark:bg-neutral-900 cursor-text w-full\">\n {/* <Icon icon={Link} className=\"flex-none text-black dark:text-white\" /> */}\n <input\n className=\"flex-1 bg-transparent outline-none min-w-[276px] text-black text-sm dark:text-white\"\n placeholder={placeholderText}\n value={state.url}\n onChange={state.onChange}\n />\n </label>\n <Button\n variant=\"primary\"\n buttonSize=\"medium\"\n className=\"w-full m-2\"\n type=\"button\"\n onClick={(e) => {\n state.handleSubmit(e);\n }}\n // disabled={!state.isValidUrl}\n >\n {buttonText}\n </Button>\n <span className=\"mt-1 mb-0 text-sm\">{descriptionText}</span>\n </div>\n </Surface>\n );\n};\n"],"names":["React","useCallback","useState","Button","Surface","useLinkEditorState","initialSrc","onSetLink","url","setUrl","onChange","event","target","value","handleSubmit","e","preventDefault","SocialMediaEditorPanel","initialOpenInNewTab","placeholderText","buttonText","descriptionText","state","className","div","label","input","placeholder","variant","buttonSize","type","onClick","span"],"mappings":";AAAA,OAAOA,SAASC,WAAW,EAAEC,QAAQ,QAAQ,QAAQ;AACrD,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,OAAO,QAAQ,sBAAsB;AAW9C,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,UAAU,EACVC,SAAS,EACmB;IAC5B,MAAM,CAACC,KAAKC,OAAO,GAAGP,SAASI,cAAc;IAE7C,MAAMI,WAAWT,YAAY,CAACU;QAC5BF,OAAOE,MAAMC,MAAM,CAACC,KAAK;IAC3B,GAAG,EAAE;IAEL,2EAA2E;IAE3E,MAAMC,eAAeb,YACnB,CAACc;QACCA,EAAEC,cAAc;QAChB,oBAAoB;QACpBT,UAAUC;IACV,IAAI;IACN,GACA;QAACA;QAAKD;KAAU;IAGlB,OAAO;QACLC;QACAC;QACAC;QACAI;IACF;AACF,EAAE;AAEF,OAAO,MAAMG,yBAAyB,CAAC,EACrCV,SAAS,EACTW,mBAAmB,EACnBZ,UAAU,EACVa,eAAe,EACfC,UAAU,EACVC,eAAe,EACa;IAC5B,MAAMC,QAAQjB,mBAAmB;QAC/BE;QACAW;QACAZ;QACAa;QACAC;QACAC;IACF;IAEA,qBACE,KAACjB;QAAQmB,WAAU;kBACjB,cAAA,MAACC;YAAID,WAAU;;8BACb,KAACE;oBAAMF,WAAU;8BAEf,cAAA,KAACG;wBACCH,WAAU;wBACVI,aAAaR;wBACbN,OAAOS,MAAMd,GAAG;wBAChBE,UAAUY,MAAMZ,QAAQ;;;8BAG5B,KAACP;oBACCyB,SAAQ;oBACRC,YAAW;oBACXN,WAAU;oBACVO,MAAK;oBACLC,SAAS,CAAChB;wBACRO,MAAMR,YAAY,CAACC;oBACrB;8BAGCK;;8BAEH,KAACY;oBAAKT,WAAU;8BAAqBF;;;;;AAI7C,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/index.tsx"],"sourcesContent":["export * from \"./SocialMediaEditorPanel.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/index.tsx"],"sourcesContent":["export * from \"./SocialMediaEditorPanel.js\";\n"],"names":[],"mappings":"AAAA,cAAc,8BAA8B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/panels/index.tsx"],"sourcesContent":["export * from \"./Colorpicker/index.js\";\nexport * from \"./LinkEditorPanel/index.js\";\nexport * from \"./LinkPreviewPanel/index.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/panels/index.tsx"],"sourcesContent":["export * from \"./Colorpicker/index.js\";\nexport * from \"./LinkEditorPanel/index.js\";\nexport * from \"./LinkPreviewPanel/index.js\";\n"],"names":[],"mappings":"AAAA,cAAc,yBAAyB;AACvC,cAAc,6BAA6B;AAC3C,cAAc,8BAA8B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Button/Button.tsx"],"sourcesContent":["import React from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\nexport type ButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"quaternary\"\n | \"ghost\";\nexport type ButtonSize = \"medium\" | \"small\" | \"icon\" | \"iconSmall\";\n\nexport type ButtonProps = {\n variant?: ButtonVariant;\n active?: boolean;\n activeClassname?: string;\n buttonSize?: ButtonSize;\n} & React.ButtonHTMLAttributes<HTMLButtonElement>;\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n active,\n buttonSize = \"medium\",\n children,\n disabled,\n variant = \"primary\",\n className,\n activeClassname,\n ...rest\n },\n ref\n ) => {\n const buttonClassName = cn(\n \"flex group items-center justify-center border border-transparent gap-2 text-base font-semibold rounded-md disabled:opacity-50 whitespace-nowrap\",\n\n variant === \"primary\" &&\n cn(\n \"text-white bg-black border-black dark:text-black dark:bg-white dark:border-white\",\n !disabled &&\n !active &&\n \"hover:bg-neutral-800 active:bg-neutral-900 dark:hover:bg-neutral-200 dark:active:bg-neutral-300\",\n active && cn(\"bg-neutral-900 dark:bg-neutral-300\", activeClassname)\n ),\n\n variant === \"secondary\" &&\n cn(\n \"text-neutral-900 dark:text-white\",\n !disabled &&\n !active &&\n \"hover:bg-neutral-100 active:bg-neutral-200 dark:hover:bg-neutral-900 dark:active:bg-neutral-800\",\n active && \"bg-neutral-200 dark:bg-neutral-800\"\n ),\n\n variant === \"tertiary\" &&\n cn(\n \"bg-neutral-50 text-neutral-900 dark:bg-neutral-900 dark:text-white dark:border-neutral-900\",\n !disabled &&\n !active &&\n \"hover:bg-neutral-100 active:bg-neutral-200 dark:hover:bg-neutral-800 dark:active:bg-neutral-700\",\n active && cn(\"bg-neutral-200 dark:bg-neutral-800\", activeClassname)\n ),\n\n variant === \"ghost\" &&\n cn(\n \"bg-transparent border-transparent text-neutral-500 dark:text-neutral-400\",\n !disabled &&\n !active &&\n \"hover:bg-black/5 hover:text-neutral-700 active:bg-black/10 active:text-neutral-800 dark:hover:bg-white/10 dark:hover:text-neutral-300 dark:active:text-neutral-200\",\n active &&\n cn(\n \"bg-black/10 text-neutral-800 dark:bg-white/20 dark:text-neutral-200\",\n activeClassname\n )\n ),\n\n buttonSize === \"medium\" && \"py-2 px-3\",\n buttonSize === \"small\" && \"py-1 px-2\",\n buttonSize === \"icon\" && \"w-8 h-8\",\n buttonSize === \"iconSmall\" && \"w-6 h-6\",\n\n className\n );\n\n return (\n <button\n type=\"button\"\n ref={ref}\n disabled={disabled}\n className={buttonClassName}\n {...rest}\n >\n {children}\n </button>\n );\n }\n);\n\nButton.displayName = \"Button\";\n"],"names":["React","cn","Button","forwardRef","active","buttonSize","children","disabled","variant","className","activeClassname","rest","ref","buttonClassName","button","type","displayName"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Button/Button.tsx"],"sourcesContent":["import React from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\nexport type ButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"quaternary\"\n | \"ghost\";\nexport type ButtonSize = \"medium\" | \"small\" | \"icon\" | \"iconSmall\";\n\nexport type ButtonProps = {\n variant?: ButtonVariant;\n active?: boolean;\n activeClassname?: string;\n buttonSize?: ButtonSize;\n} & React.ButtonHTMLAttributes<HTMLButtonElement>;\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n active,\n buttonSize = \"medium\",\n children,\n disabled,\n variant = \"primary\",\n className,\n activeClassname,\n ...rest\n },\n ref\n ) => {\n const buttonClassName = cn(\n \"flex group items-center justify-center border border-transparent gap-2 text-base font-semibold rounded-md disabled:opacity-50 whitespace-nowrap\",\n\n variant === \"primary\" &&\n cn(\n \"text-white bg-black border-black dark:text-black dark:bg-white dark:border-white\",\n !disabled &&\n !active &&\n \"hover:bg-neutral-800 active:bg-neutral-900 dark:hover:bg-neutral-200 dark:active:bg-neutral-300\",\n active && cn(\"bg-neutral-900 dark:bg-neutral-300\", activeClassname)\n ),\n\n variant === \"secondary\" &&\n cn(\n \"text-neutral-900 dark:text-white\",\n !disabled &&\n !active &&\n \"hover:bg-neutral-100 active:bg-neutral-200 dark:hover:bg-neutral-900 dark:active:bg-neutral-800\",\n active && \"bg-neutral-200 dark:bg-neutral-800\"\n ),\n\n variant === \"tertiary\" &&\n cn(\n \"bg-neutral-50 text-neutral-900 dark:bg-neutral-900 dark:text-white dark:border-neutral-900\",\n !disabled &&\n !active &&\n \"hover:bg-neutral-100 active:bg-neutral-200 dark:hover:bg-neutral-800 dark:active:bg-neutral-700\",\n active && cn(\"bg-neutral-200 dark:bg-neutral-800\", activeClassname)\n ),\n\n variant === \"ghost\" &&\n cn(\n \"bg-transparent border-transparent text-neutral-500 dark:text-neutral-400\",\n !disabled &&\n !active &&\n \"hover:bg-black/5 hover:text-neutral-700 active:bg-black/10 active:text-neutral-800 dark:hover:bg-white/10 dark:hover:text-neutral-300 dark:active:text-neutral-200\",\n active &&\n cn(\n \"bg-black/10 text-neutral-800 dark:bg-white/20 dark:text-neutral-200\",\n activeClassname\n )\n ),\n\n buttonSize === \"medium\" && \"py-2 px-3\",\n buttonSize === \"small\" && \"py-1 px-2\",\n buttonSize === \"icon\" && \"w-8 h-8\",\n buttonSize === \"iconSmall\" && \"w-6 h-6\",\n\n className\n );\n\n return (\n <button\n type=\"button\"\n ref={ref}\n disabled={disabled}\n className={buttonClassName}\n {...rest}\n >\n {children}\n </button>\n );\n }\n);\n\nButton.displayName = \"Button\";\n"],"names":["React","cn","Button","forwardRef","active","buttonSize","children","disabled","variant","className","activeClassname","rest","ref","buttonClassName","button","type","displayName"],"mappings":";AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,EAAE,QAAQ,8BAA8B;AAiBjD,OAAO,MAAMC,uBAASF,MAAMG,UAAU,CACpC,CACE,EACEC,MAAM,EACNC,aAAa,QAAQ,EACrBC,QAAQ,EACRC,QAAQ,EACRC,UAAU,SAAS,EACnBC,SAAS,EACTC,eAAe,EACf,GAAGC,MACJ,EACDC;IAEA,MAAMC,kBAAkBZ,GACtB,mJAEAO,YAAY,aACVP,GACE,oFACA,CAACM,YACC,CAACH,UACD,mGACFA,UAAUH,GAAG,sCAAsCS,mBAGvDF,YAAY,eACVP,GACE,oCACA,CAACM,YACC,CAACH,UACD,mGACFA,UAAU,uCAGdI,YAAY,cACVP,GACE,8FACA,CAACM,YACC,CAACH,UACD,mGACFA,UAAUH,GAAG,sCAAsCS,mBAGvDF,YAAY,WACVP,GACE,4EACA,CAACM,YACC,CAACH,UACD,sKACFA,UACEH,GACE,uEACAS,mBAIRL,eAAe,YAAY,aAC3BA,eAAe,WAAW,aAC1BA,eAAe,UAAU,WACzBA,eAAe,eAAe,WAE9BI;IAGF,qBACE,KAACK;QACCC,MAAK;QACLH,KAAKA;QACLL,UAAUA;QACVE,WAAWI;QACV,GAAGF,IAAI;kBAEPL;;AAGP,GACA;AAEFJ,OAAOc,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Button/index.tsx"],"sourcesContent":["export * from \"./Button.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Button/index.tsx"],"sourcesContent":["export * from \"./Button.js\";\n"],"names":[],"mappings":"AAAA,cAAc,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Dropdown/Dropdown.tsx"],"sourcesContent":["import React from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\nexport const DropdownCategoryTitle = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n return (\n <div className=\"text-[.65rem] font-semibold mb-1 uppercase text-neutral-500 dark:text-neutral-400 px-1.5\">\n {children}\n </div>\n );\n};\n\nexport const DropdownButton = ({\n children,\n isActive,\n onClick,\n disabled,\n className,\n}: {\n children: React.ReactNode;\n isActive?: boolean;\n onClick?: () => void;\n disabled?: boolean;\n className?: string;\n}) => {\n const buttonClass = cn(\n \"flex items-center gap-2 p-1.5 text-sm font-medium text-neutral-500 dark:text-neutral-400 text-left bg-transparent w-full rounded outline-none\",\n !isActive && !disabled,\n \"hover:bg-neutral-100 hover:text-neutral-800 dark:hover:bg-neutral-900 dark:hover:text-neutral-200\",\n isActive &&\n !disabled &&\n \"bg-neutral-100 text-neutral-800 dark:bg-neutral-900 dark:text-neutral-200\",\n disabled && \"text-neutral-400 cursor-not-allowed dark:text-neutral-600\",\n className\n );\n\n return (\n <button\n type=\"button\"\n className={buttonClass}\n disabled={disabled}\n onClick={onClick}\n >\n {children}\n </button>\n );\n};\n"],"names":["React","cn","DropdownCategoryTitle","children","div","className","DropdownButton","isActive","onClick","disabled","buttonClass","button","type"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Dropdown/Dropdown.tsx"],"sourcesContent":["import React from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\nexport const DropdownCategoryTitle = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n return (\n <div className=\"text-[.65rem] font-semibold mb-1 uppercase text-neutral-500 dark:text-neutral-400 px-1.5\">\n {children}\n </div>\n );\n};\n\nexport const DropdownButton = ({\n children,\n isActive,\n onClick,\n disabled,\n className,\n}: {\n children: React.ReactNode;\n isActive?: boolean;\n onClick?: () => void;\n disabled?: boolean;\n className?: string;\n}) => {\n const buttonClass = cn(\n \"flex items-center gap-2 p-1.5 text-sm font-medium text-neutral-500 dark:text-neutral-400 text-left bg-transparent w-full rounded outline-none\",\n !isActive && !disabled,\n \"hover:bg-neutral-100 hover:text-neutral-800 dark:hover:bg-neutral-900 dark:hover:text-neutral-200\",\n isActive &&\n !disabled &&\n \"bg-neutral-100 text-neutral-800 dark:bg-neutral-900 dark:text-neutral-200\",\n disabled && \"text-neutral-400 cursor-not-allowed dark:text-neutral-600\",\n className\n );\n\n return (\n <button\n type=\"button\"\n className={buttonClass}\n disabled={disabled}\n onClick={onClick}\n >\n {children}\n </button>\n );\n};\n"],"names":["React","cn","DropdownCategoryTitle","children","div","className","DropdownButton","isActive","onClick","disabled","buttonClass","button","type"],"mappings":";AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,EAAE,QAAQ,8BAA8B;AAEjD,OAAO,MAAMC,wBAAwB,CAAC,EACpCC,QAAQ,EAGT;IACC,qBACE,KAACC;QAAIC,WAAU;kBACZF;;AAGP,EAAE;AAEF,OAAO,MAAMG,iBAAiB,CAAC,EAC7BH,QAAQ,EACRI,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRJ,SAAS,EAOV;IACC,MAAMK,cAAcT,GAClB,iJACA,CAACM,YAAY,CAACE,UACd,qGACAF,YACE,CAACE,YACD,6EACFA,YAAY,6DACZJ;IAGF,qBACE,KAACM;QACCC,MAAK;QACLP,WAAWK;QACXD,UAAUA;QACVD,SAASA;kBAERL;;AAGP,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Dropdown/index.tsx"],"sourcesContent":["export * from \"./Dropdown.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Dropdown/index.tsx"],"sourcesContent":["export * from \"./Dropdown.js\";\n"],"names":[],"mappings":"AAAA,cAAc,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/ui/Icon.tsx"],"sourcesContent":["import { LucideIcon } from \"lucide-react\";\nimport { memo } from \"react\";\nimport { cn } from \"../../lib/utils/index.js\";\n\nexport type IconProps = {\n icon: LucideIcon;\n // name: keyof typeof icons\n className?: string;\n strokeWidth?: number;\n};\n\nexport const Icon = memo(({ icon, className, strokeWidth }: IconProps) => {\n const IconComponent = icon;\n\n if (!IconComponent) {\n return null;\n }\n\n return (\n <IconComponent\n className={cn(\"w-4 h-4\", className)}\n strokeWidth={strokeWidth || 2.5}\n />\n );\n});\n\nIcon.displayName = \"Icon\";\n"],"names":["memo","cn","Icon","icon","className","strokeWidth","IconComponent","displayName"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/ui/Icon.tsx"],"sourcesContent":["import { LucideIcon } from \"lucide-react\";\nimport { memo } from \"react\";\nimport { cn } from \"../../lib/utils/index.js\";\n\nexport type IconProps = {\n icon: LucideIcon;\n // name: keyof typeof icons\n className?: string;\n strokeWidth?: number;\n};\n\nexport const Icon = memo(({ icon, className, strokeWidth }: IconProps) => {\n const IconComponent = icon;\n\n if (!IconComponent) {\n return null;\n }\n\n return (\n <IconComponent\n className={cn(\"w-4 h-4\", className)}\n strokeWidth={strokeWidth || 2.5}\n />\n );\n});\n\nIcon.displayName = \"Icon\";\n"],"names":["memo","cn","Icon","icon","className","strokeWidth","IconComponent","displayName"],"mappings":";AACA,SAASA,IAAI,QAAQ,QAAQ;AAC7B,SAASC,EAAE,QAAQ,2BAA2B;AAS9C,OAAO,MAAMC,qBAAOF,KAAK,CAAC,EAAEG,IAAI,EAAEC,SAAS,EAAEC,WAAW,EAAa;IACnE,MAAMC,gBAAgBH;IAEtB,IAAI,CAACG,eAAe;QAClB,OAAO;IACT;IAEA,qBACE,KAACA;QACCF,WAAWH,GAAG,WAAWG;QACzBC,aAAaA,eAAe;;AAGlC,GAAG;AAEHH,KAAKK,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Loader/Loader.tsx"],"sourcesContent":["import React from \"react\";\nimport { createPortal } from \"react-dom\";\n\nimport { LoaderProps, LoadingWrapperProps } from \"./types.js\";\n\nconst LoadingWrapper = ({ label }: LoadingWrapperProps) => {\n return (\n <div className=\"flex flex-col items-center justify-center gap-2 p-4 text-white bg-black rounded-lg shadow-2xl dark:text-black dark:bg-white\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"w-8 h-8 animate-spin\"\n >\n <path d=\"M21 12a9 9 0 1 1-6.219-8.56\" />\n </svg>\n {label && (\n <p className=\"text-sm font-semibold leading-tight text-white dark:text-black\">\n {label}\n </p>\n )}\n </div>\n );\n};\n\nexport const Loader = ({ hasOverlay = true, label }: LoaderProps) => {\n return hasOverlay ? (\n createPortal(\n <div className=\"items-center justify-center bg-black/60 flex h-full w-full fixed top-0 left-0 select-none z-[9999]\">\n <LoadingWrapper label={label} />\n </div>,\n document.body\n )\n ) : (\n <LoadingWrapper label={label} />\n );\n};\n\nexport default Loader;\n"],"names":["React","createPortal","LoadingWrapper","label","div","className","svg","xmlns","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","path","d","p","Loader","hasOverlay","document","body"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Loader/Loader.tsx"],"sourcesContent":["import React from \"react\";\nimport { createPortal } from \"react-dom\";\n\nimport { LoaderProps, LoadingWrapperProps } from \"./types.js\";\n\nconst LoadingWrapper = ({ label }: LoadingWrapperProps) => {\n return (\n <div className=\"flex flex-col items-center justify-center gap-2 p-4 text-white bg-black rounded-lg shadow-2xl dark:text-black dark:bg-white\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"w-8 h-8 animate-spin\"\n >\n <path d=\"M21 12a9 9 0 1 1-6.219-8.56\" />\n </svg>\n {label && (\n <p className=\"text-sm font-semibold leading-tight text-white dark:text-black\">\n {label}\n </p>\n )}\n </div>\n );\n};\n\nexport const Loader = ({ hasOverlay = true, label }: LoaderProps) => {\n return hasOverlay ? (\n createPortal(\n <div className=\"items-center justify-center bg-black/60 flex h-full w-full fixed top-0 left-0 select-none z-[9999]\">\n <LoadingWrapper label={label} />\n </div>,\n document.body\n )\n ) : (\n <LoadingWrapper label={label} />\n );\n};\n\nexport default Loader;\n"],"names":["React","createPortal","LoadingWrapper","label","div","className","svg","xmlns","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","path","d","p","Loader","hasOverlay","document","body"],"mappings":";AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,YAAY,QAAQ,YAAY;AAIzC,MAAMC,iBAAiB,CAAC,EAAEC,KAAK,EAAuB;IACpD,qBACE,MAACC;QAAIC,WAAU;;0BACb,KAACC;gBACCC,OAAM;gBACNC,SAAQ;gBACRC,MAAK;gBACLC,QAAO;gBACPC,aAAY;gBACZC,eAAc;gBACdC,gBAAe;gBACfR,WAAU;0BAEV,cAAA,KAACS;oBAAKC,GAAE;;;YAETZ,uBACC,KAACa;gBAAEX,WAAU;0BACVF;;;;AAKX;AAEA,OAAO,MAAMc,SAAS,CAAC,EAAEC,aAAa,IAAI,EAAEf,KAAK,EAAe;IAC9D,OAAOe,2BACLjB,2BACE,KAACG;QAAIC,WAAU;kBACb,cAAA,KAACH;YAAeC,OAAOA;;QAEzBgB,SAASC,IAAI,kBAGf,KAAClB;QAAeC,OAAOA;;AAE3B,EAAE;AAEF,eAAec,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Loader/index.ts"],"sourcesContent":["export * from \"./Loader.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Loader/index.ts"],"sourcesContent":["export * from \"./Loader.js\";\n"],"names":[],"mappings":"AAAA,cAAc,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Loader/types.ts"],"sourcesContent":["export interface LoadingWrapperProps {\n label?: string\n}\n\nexport interface LoaderProps extends LoadingWrapperProps {\n hasOverlay?: boolean\n}\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Loader/types.ts"],"sourcesContent":["export interface LoadingWrapperProps {\n label?: string\n}\n\nexport interface LoaderProps extends LoadingWrapperProps {\n hasOverlay?: boolean\n}\n"],"names":[],"mappings":"AAIA,WAEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Panel/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Surface } from \"../Surface.js\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\nexport type PanelProps = {\n spacing?: \"medium\" | \"small\";\n noShadow?: boolean;\n asChild?: boolean;\n} & React.HTMLAttributes<HTMLDivElement>;\n\nexport const Panel = forwardRef<HTMLDivElement, PanelProps>(\n ({ asChild, className, children, spacing, noShadow, ...rest }, ref) => {\n const panelClass = cn(\n \"p-2\",\n spacing === \"small\" && \"p-[0.2rem]\",\n className\n );\n\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp ref={ref} {...rest}>\n <Surface className={panelClass} withShadow={!noShadow}>\n {children}\n </Surface>\n </Comp>\n );\n }\n);\n\nPanel.displayName = \"Panel\";\n\nexport const PanelDivider = forwardRef<\n HTMLDivElement,\n { asChild?: boolean } & React.HTMLAttributes<HTMLDivElement>\n>(({ asChild, className, children, ...rest }, ref) => {\n const dividerClass = cn(\"border-b border-b-black/10 mb-2 pb-2\", className);\n\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp className={dividerClass} {...rest} ref={ref}>\n {children}\n </Comp>\n );\n});\n\nPanelDivider.displayName = \"PanelDivider\";\n\nexport const PanelHeader = forwardRef<\n HTMLDivElement,\n { asChild?: boolean } & React.HTMLAttributes<HTMLDivElement>\n>(({ asChild, className, children, ...rest }, ref) => {\n const headerClass = cn(\n \"border-b border-b-black/10 text-sm mb-2 pb-2\",\n className\n );\n\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp className={headerClass} {...rest} ref={ref}>\n {children}\n </Comp>\n );\n});\n\nPanelHeader.displayName = \"PanelHeader\";\n\nexport const PanelSection = forwardRef<\n HTMLDivElement,\n { asChild?: boolean } & React.HTMLAttributes<HTMLDivElement>\n>(({ asChild, className, children, ...rest }, ref) => {\n const sectionClass = cn(\"mt-4 first:mt-1\", className);\n\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp className={sectionClass} {...rest} ref={ref}>\n {children}\n </Comp>\n );\n});\n\nPanelSection.displayName = \"PanelSection\";\n\nexport const PanelHeadline = forwardRef<\n HTMLDivElement,\n { asChild?: boolean } & React.HTMLAttributes<HTMLDivElement>\n>(({ asChild, className, children, ...rest }, ref) => {\n const headlineClass = cn(\n \"text-black/80 dark:text-white/80 text-xs font-medium mb-2 ml-1.5\",\n className\n );\n\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp className={headlineClass} {...rest} ref={ref}>\n {children}\n </Comp>\n );\n});\n\nPanelHeadline.displayName = \"PanelHeadline\";\n\nexport const PanelFooter = forwardRef<\n HTMLDivElement,\n { asChild?: boolean } & React.HTMLAttributes<HTMLDivElement>\n>(({ asChild, className, children, ...rest }, ref) => {\n const footerClass = cn(\n \"border-t border-black/10 text-sm mt-2 pt-2\",\n className\n );\n\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp className={footerClass} {...rest} ref={ref}>\n {children}\n </Comp>\n );\n});\n\nPanelFooter.displayName = \"PanelFooter\";\n"],"names":["React","forwardRef","Slot","Surface","cn","Panel","asChild","className","children","spacing","noShadow","rest","ref","panelClass","Comp","withShadow","displayName","PanelDivider","dividerClass","PanelHeader","headerClass","PanelSection","sectionClass","PanelHeadline","headlineClass","PanelFooter","footerClass"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Panel/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { forwardRef } from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Surface } from \"../Surface.js\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\nexport type PanelProps = {\n spacing?: \"medium\" | \"small\";\n noShadow?: boolean;\n asChild?: boolean;\n} & React.HTMLAttributes<HTMLDivElement>;\n\nexport const Panel = forwardRef<HTMLDivElement, PanelProps>(\n ({ asChild, className, children, spacing, noShadow, ...rest }, ref) => {\n const panelClass = cn(\n \"p-2\",\n spacing === \"small\" && \"p-[0.2rem]\",\n className\n );\n\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp ref={ref} {...rest}>\n <Surface className={panelClass} withShadow={!noShadow}>\n {children}\n </Surface>\n </Comp>\n );\n }\n);\n\nPanel.displayName = \"Panel\";\n\nexport const PanelDivider = forwardRef<\n HTMLDivElement,\n { asChild?: boolean } & React.HTMLAttributes<HTMLDivElement>\n>(({ asChild, className, children, ...rest }, ref) => {\n const dividerClass = cn(\"border-b border-b-black/10 mb-2 pb-2\", className);\n\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp className={dividerClass} {...rest} ref={ref}>\n {children}\n </Comp>\n );\n});\n\nPanelDivider.displayName = \"PanelDivider\";\n\nexport const PanelHeader = forwardRef<\n HTMLDivElement,\n { asChild?: boolean } & React.HTMLAttributes<HTMLDivElement>\n>(({ asChild, className, children, ...rest }, ref) => {\n const headerClass = cn(\n \"border-b border-b-black/10 text-sm mb-2 pb-2\",\n className\n );\n\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp className={headerClass} {...rest} ref={ref}>\n {children}\n </Comp>\n );\n});\n\nPanelHeader.displayName = \"PanelHeader\";\n\nexport const PanelSection = forwardRef<\n HTMLDivElement,\n { asChild?: boolean } & React.HTMLAttributes<HTMLDivElement>\n>(({ asChild, className, children, ...rest }, ref) => {\n const sectionClass = cn(\"mt-4 first:mt-1\", className);\n\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp className={sectionClass} {...rest} ref={ref}>\n {children}\n </Comp>\n );\n});\n\nPanelSection.displayName = \"PanelSection\";\n\nexport const PanelHeadline = forwardRef<\n HTMLDivElement,\n { asChild?: boolean } & React.HTMLAttributes<HTMLDivElement>\n>(({ asChild, className, children, ...rest }, ref) => {\n const headlineClass = cn(\n \"text-black/80 dark:text-white/80 text-xs font-medium mb-2 ml-1.5\",\n className\n );\n\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp className={headlineClass} {...rest} ref={ref}>\n {children}\n </Comp>\n );\n});\n\nPanelHeadline.displayName = \"PanelHeadline\";\n\nexport const PanelFooter = forwardRef<\n HTMLDivElement,\n { asChild?: boolean } & React.HTMLAttributes<HTMLDivElement>\n>(({ asChild, className, children, ...rest }, ref) => {\n const footerClass = cn(\n \"border-t border-black/10 text-sm mt-2 pt-2\",\n className\n );\n\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp className={footerClass} {...rest} ref={ref}>\n {children}\n </Comp>\n );\n});\n\nPanelFooter.displayName = \"PanelFooter\";\n"],"names":["React","forwardRef","Slot","Surface","cn","Panel","asChild","className","children","spacing","noShadow","rest","ref","panelClass","Comp","withShadow","displayName","PanelDivider","dividerClass","PanelHeader","headerClass","PanelSection","sectionClass","PanelHeadline","headlineClass","PanelFooter","footerClass"],"mappings":";AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,UAAU,QAAQ,QAAQ;AACnC,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,EAAE,QAAQ,8BAA8B;AAQjD,OAAO,MAAMC,sBAAQJ,WACnB,CAAC,EAAEK,OAAO,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGC,MAAM,EAAEC;IAC7D,MAAMC,aAAaT,GACjB,OACAK,YAAY,WAAW,cACvBF;IAGF,MAAMO,OAAOR,UAAUJ,OAAO;IAE9B,qBACE,KAACY;QAAKF,KAAKA;QAAM,GAAGD,IAAI;kBACtB,cAAA,KAACR;YAAQI,WAAWM;YAAYE,YAAY,CAACL;sBAC1CF;;;AAIT,GACA;AAEFH,MAAMW,WAAW,GAAG;AAEpB,OAAO,MAAMC,6BAAehB,WAG1B,CAAC,EAAEK,OAAO,EAAEC,SAAS,EAAEC,QAAQ,EAAE,GAAGG,MAAM,EAAEC;IAC5C,MAAMM,eAAed,GAAG,wCAAwCG;IAEhE,MAAMO,OAAOR,UAAUJ,OAAO;IAE9B,qBACE,KAACY;QAAKP,WAAWW;QAAe,GAAGP,IAAI;QAAEC,KAAKA;kBAC3CJ;;AAGP,GAAG;AAEHS,aAAaD,WAAW,GAAG;AAE3B,OAAO,MAAMG,4BAAclB,WAGzB,CAAC,EAAEK,OAAO,EAAEC,SAAS,EAAEC,QAAQ,EAAE,GAAGG,MAAM,EAAEC;IAC5C,MAAMQ,cAAchB,GAClB,gDACAG;IAGF,MAAMO,OAAOR,UAAUJ,OAAO;IAE9B,qBACE,KAACY;QAAKP,WAAWa;QAAc,GAAGT,IAAI;QAAEC,KAAKA;kBAC1CJ;;AAGP,GAAG;AAEHW,YAAYH,WAAW,GAAG;AAE1B,OAAO,MAAMK,6BAAepB,WAG1B,CAAC,EAAEK,OAAO,EAAEC,SAAS,EAAEC,QAAQ,EAAE,GAAGG,MAAM,EAAEC;IAC5C,MAAMU,eAAelB,GAAG,mBAAmBG;IAE3C,MAAMO,OAAOR,UAAUJ,OAAO;IAE9B,qBACE,KAACY;QAAKP,WAAWe;QAAe,GAAGX,IAAI;QAAEC,KAAKA;kBAC3CJ;;AAGP,GAAG;AAEHa,aAAaL,WAAW,GAAG;AAE3B,OAAO,MAAMO,8BAAgBtB,WAG3B,CAAC,EAAEK,OAAO,EAAEC,SAAS,EAAEC,QAAQ,EAAE,GAAGG,MAAM,EAAEC;IAC5C,MAAMY,gBAAgBpB,GACpB,oEACAG;IAGF,MAAMO,OAAOR,UAAUJ,OAAO;IAE9B,qBACE,KAACY;QAAKP,WAAWiB;QAAgB,GAAGb,IAAI;QAAEC,KAAKA;kBAC5CJ;;AAGP,GAAG;AAEHe,cAAcP,WAAW,GAAG;AAE5B,OAAO,MAAMS,4BAAcxB,WAGzB,CAAC,EAAEK,OAAO,EAAEC,SAAS,EAAEC,QAAQ,EAAE,GAAGG,MAAM,EAAEC;IAC5C,MAAMc,cAActB,GAClB,8CACAG;IAGF,MAAMO,OAAOR,UAAUJ,OAAO;IAE9B,qBACE,KAACY;QAAKP,WAAWmB;QAAc,GAAGf,IAAI;QAAEC,KAAKA;kBAC1CJ;;AAGP,GAAG;AAEHiB,YAAYT,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/ui/PopoverMenu.tsx"],"sourcesContent":["import * as Popover from \"@radix-ui/react-popover\";\nimport { LucideIcon } from \"lucide-react\";\nimport React, { forwardRef } from \"react\";\nimport { cn } from \"../../lib/utils/index.js\";\nimport { Surface } from \"./Surface.js\";\nimport { Toolbar } from \"./Toolbar.js\";\n\nexport const Trigger = Popover.Trigger;\nexport const Portal = Popover.Portal;\n\nexport type MenuProps = {\n children: React.ReactNode;\n trigger: React.ReactNode;\n triggerClassName?: string;\n customTrigger?: boolean;\n isOpen?: boolean;\n onOpenChange?: (state: boolean) => void;\n withPortal?: boolean;\n tooltip?: string;\n isActive?: boolean;\n};\n\nexport const Menu = ({\n customTrigger,\n trigger,\n triggerClassName,\n children,\n isOpen,\n withPortal,\n tooltip,\n onOpenChange,\n}: MenuProps) => {\n return (\n <Popover.Root onOpenChange={onOpenChange}>\n {customTrigger ? (\n <Trigger asChild>{trigger}</Trigger>\n ) : (\n <Trigger asChild>\n <Toolbar.Button\n type=\"button\"\n className={triggerClassName}\n tooltip={!isOpen ? tooltip : \"\"}\n >\n {trigger}\n </Toolbar.Button>\n </Trigger>\n )}\n {withPortal ? (\n <Popover.Portal>\n <Popover.Content asChild sideOffset={8}>\n <Surface className=\"min-w-[15rem] p-2 flex flex-col gap-0.5 max-h-80 overflow-auto z-[9999]\">\n {children}\n </Surface>\n </Popover.Content>\n </Popover.Portal>\n ) : (\n <Popover.Content asChild sideOffset={8}>\n <Surface className=\"min-w-[15rem] p-2 flex flex-col gap-0.5 max-h-80 overflow-auto z-[9999]\">\n {children}\n </Surface>\n </Popover.Content>\n )}\n </Popover.Root>\n );\n};\n\nMenu.displayName = \"Menu\";\n\nexport const Item = ({\n label,\n close = true,\n icon,\n iconComponent,\n disabled,\n onClick,\n isActive,\n}: {\n label: string | React.ReactNode;\n icon?: LucideIcon;\n iconComponent?: React.ReactNode;\n close?: boolean;\n disabled?: boolean;\n onClick: () => void;\n isActive?: boolean;\n}) => {\n const className = cn(\n \"flex items-center gap-2 p-1.5 text-sm font-medium text-neutral-500 text-left bg-transparent w-full rounded outline-none\",\n !isActive && !disabled,\n \"hover:bg-neutral-100 hover:text-neutral-800 dark:hover:bg-neutral-900 dark:hover:text-neutral-200\",\n isActive &&\n !disabled &&\n \"bg-neutral-100 text-neutral-800 dark:bg-neutral-900 dark:text-neutral-200\",\n disabled && \"text-neutral-400 cursor-not-allowed dark:text-neutral-600\"\n );\n\n const IconComponent = icon ? icon : null;\n const IconCustomComponent = iconComponent || null;\n\n const ItemComponent = close ? Popover.Close : \"button\";\n\n return (\n <ItemComponent className={className} onClick={onClick} disabled={disabled}>\n {IconComponent && <IconComponent className=\"w-4 h-4\" />}\n {IconCustomComponent}\n {label}\n </ItemComponent>\n );\n};\n\nexport type CategoryTitle = {\n children: React.ReactNode;\n};\n\nexport const CategoryTitle = ({ children }: CategoryTitle) => {\n return (\n <div className=\"mt-4 first:mt-1.5 mb-1.5 text-[0.625rem] font-medium text-neutral-400 dark:text-neutral-600 uppercase select-none px-1\">\n {children}\n </div>\n );\n};\n\nexport const Divider = forwardRef<HTMLHRElement>((props, ref) => {\n return (\n <hr\n {...props}\n ref={ref}\n className=\"my-1 border-neutral-200 dark:border-neutral-800\"\n />\n );\n});\n\nDivider.displayName = \"Divider\";\n"],"names":["Popover","React","forwardRef","cn","Surface","Toolbar","Trigger","Portal","Menu","customTrigger","trigger","triggerClassName","children","isOpen","withPortal","tooltip","onOpenChange","Root","asChild","Button","type","className","Content","sideOffset","displayName","Item","label","close","icon","iconComponent","disabled","onClick","isActive","IconComponent","IconCustomComponent","ItemComponent","Close","CategoryTitle","div","Divider","props","ref","hr"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/ui/PopoverMenu.tsx"],"sourcesContent":["import * as Popover from \"@radix-ui/react-popover\";\nimport { LucideIcon } from \"lucide-react\";\nimport React, { forwardRef } from \"react\";\nimport { cn } from \"../../lib/utils/index.js\";\nimport { Surface } from \"./Surface.js\";\nimport { Toolbar } from \"./Toolbar.js\";\n\nexport const Trigger = Popover.Trigger;\nexport const Portal = Popover.Portal;\n\nexport type MenuProps = {\n children: React.ReactNode;\n trigger: React.ReactNode;\n triggerClassName?: string;\n customTrigger?: boolean;\n isOpen?: boolean;\n onOpenChange?: (state: boolean) => void;\n withPortal?: boolean;\n tooltip?: string;\n isActive?: boolean;\n};\n\nexport const Menu = ({\n customTrigger,\n trigger,\n triggerClassName,\n children,\n isOpen,\n withPortal,\n tooltip,\n onOpenChange,\n}: MenuProps) => {\n return (\n <Popover.Root onOpenChange={onOpenChange}>\n {customTrigger ? (\n <Trigger asChild>{trigger}</Trigger>\n ) : (\n <Trigger asChild>\n <Toolbar.Button\n type=\"button\"\n className={triggerClassName}\n tooltip={!isOpen ? tooltip : \"\"}\n >\n {trigger}\n </Toolbar.Button>\n </Trigger>\n )}\n {withPortal ? (\n <Popover.Portal>\n <Popover.Content asChild sideOffset={8}>\n <Surface className=\"min-w-[15rem] p-2 flex flex-col gap-0.5 max-h-80 overflow-auto z-[9999]\">\n {children}\n </Surface>\n </Popover.Content>\n </Popover.Portal>\n ) : (\n <Popover.Content asChild sideOffset={8}>\n <Surface className=\"min-w-[15rem] p-2 flex flex-col gap-0.5 max-h-80 overflow-auto z-[9999]\">\n {children}\n </Surface>\n </Popover.Content>\n )}\n </Popover.Root>\n );\n};\n\nMenu.displayName = \"Menu\";\n\nexport const Item = ({\n label,\n close = true,\n icon,\n iconComponent,\n disabled,\n onClick,\n isActive,\n}: {\n label: string | React.ReactNode;\n icon?: LucideIcon;\n iconComponent?: React.ReactNode;\n close?: boolean;\n disabled?: boolean;\n onClick: () => void;\n isActive?: boolean;\n}) => {\n const className = cn(\n \"flex items-center gap-2 p-1.5 text-sm font-medium text-neutral-500 text-left bg-transparent w-full rounded outline-none\",\n !isActive && !disabled,\n \"hover:bg-neutral-100 hover:text-neutral-800 dark:hover:bg-neutral-900 dark:hover:text-neutral-200\",\n isActive &&\n !disabled &&\n \"bg-neutral-100 text-neutral-800 dark:bg-neutral-900 dark:text-neutral-200\",\n disabled && \"text-neutral-400 cursor-not-allowed dark:text-neutral-600\"\n );\n\n const IconComponent = icon ? icon : null;\n const IconCustomComponent = iconComponent || null;\n\n const ItemComponent = close ? Popover.Close : \"button\";\n\n return (\n <ItemComponent className={className} onClick={onClick} disabled={disabled}>\n {IconComponent && <IconComponent className=\"w-4 h-4\" />}\n {IconCustomComponent}\n {label}\n </ItemComponent>\n );\n};\n\nexport type CategoryTitle = {\n children: React.ReactNode;\n};\n\nexport const CategoryTitle = ({ children }: CategoryTitle) => {\n return (\n <div className=\"mt-4 first:mt-1.5 mb-1.5 text-[0.625rem] font-medium text-neutral-400 dark:text-neutral-600 uppercase select-none px-1\">\n {children}\n </div>\n );\n};\n\nexport const Divider = forwardRef<HTMLHRElement>((props, ref) => {\n return (\n <hr\n {...props}\n ref={ref}\n className=\"my-1 border-neutral-200 dark:border-neutral-800\"\n />\n );\n});\n\nDivider.displayName = \"Divider\";\n"],"names":["Popover","React","forwardRef","cn","Surface","Toolbar","Trigger","Portal","Menu","customTrigger","trigger","triggerClassName","children","isOpen","withPortal","tooltip","onOpenChange","Root","asChild","Button","type","className","Content","sideOffset","displayName","Item","label","close","icon","iconComponent","disabled","onClick","isActive","IconComponent","IconCustomComponent","ItemComponent","Close","CategoryTitle","div","Divider","props","ref","hr"],"mappings":";AAAA,YAAYA,aAAa,0BAA0B;AAEnD,OAAOC,SAASC,UAAU,QAAQ,QAAQ;AAC1C,SAASC,EAAE,QAAQ,2BAA2B;AAC9C,SAASC,OAAO,QAAQ,eAAe;AACvC,SAASC,OAAO,QAAQ,eAAe;AAEvC,OAAO,MAAMC,UAAUN,QAAQM,OAAO,CAAC;AACvC,OAAO,MAAMC,SAASP,QAAQO,MAAM,CAAC;AAcrC,OAAO,MAAMC,OAAO,CAAC,EACnBC,aAAa,EACbC,OAAO,EACPC,gBAAgB,EAChBC,QAAQ,EACRC,MAAM,EACNC,UAAU,EACVC,OAAO,EACPC,YAAY,EACF;IACV,qBACE,MAAChB,QAAQiB,IAAI;QAACD,cAAcA;;YACzBP,8BACC,KAACH;gBAAQY,OAAO;0BAAER;+BAElB,KAACJ;gBAAQY,OAAO;0BACd,cAAA,KAACb,QAAQc,MAAM;oBACbC,MAAK;oBACLC,WAAWV;oBACXI,SAAS,CAACF,SAASE,UAAU;8BAE5BL;;;YAINI,2BACC,KAACd,QAAQO,MAAM;0BACb,cAAA,KAACP,QAAQsB,OAAO;oBAACJ,OAAO;oBAACK,YAAY;8BACnC,cAAA,KAACnB;wBAAQiB,WAAU;kCAChBT;;;+BAKP,KAACZ,QAAQsB,OAAO;gBAACJ,OAAO;gBAACK,YAAY;0BACnC,cAAA,KAACnB;oBAAQiB,WAAU;8BAChBT;;;;;AAMb,EAAE;AAEFJ,KAAKgB,WAAW,GAAG;AAEnB,OAAO,MAAMC,OAAO,CAAC,EACnBC,KAAK,EACLC,QAAQ,IAAI,EACZC,IAAI,EACJC,aAAa,EACbC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EAST;IACC,MAAMX,YAAYlB,GAChB,4HACA,CAAC6B,YAAY,CAACF,UACd,qGACAE,YACE,CAACF,YACD,6EACFA,YAAY;IAGd,MAAMG,gBAAgBL,OAAOA,OAAO;IACpC,MAAMM,sBAAsBL,iBAAiB;IAE7C,MAAMM,gBAAgBR,QAAQ3B,QAAQoC,KAAK,GAAG;IAE9C,qBACE,MAACD;QAAcd,WAAWA;QAAWU,SAASA;QAASD,UAAUA;;YAC9DG,+BAAiB,KAACA;gBAAcZ,WAAU;;YAC1Ca;YACAR;;;AAGP,EAAE;AAMF,OAAO,MAAMW,gBAAgB,CAAC,EAAEzB,QAAQ,EAAiB;IACvD,qBACE,KAAC0B;QAAIjB,WAAU;kBACZT;;AAGP,EAAE;AAEF,OAAO,MAAM2B,wBAAUrC,WAA0B,CAACsC,OAAOC;IACvD,qBACE,KAACC;QACE,GAAGF,KAAK;QACTC,KAAKA;QACLpB,WAAU;;AAGhB,GAAG;AAEHkB,QAAQf,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Spinner/Spinner.tsx"],"sourcesContent":["import React from \"react\";\nimport { HTMLProps, forwardRef } from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\nexport const Spinner = forwardRef<HTMLDivElement, HTMLProps<HTMLDivElement>>(\n ({ className, ...rest }, ref) => {\n const spinnerClass = cn(\n \"animate-spin rounded-full border-2 border-current border-t-transparent h-4 w-4\",\n className\n );\n\n return <div className={spinnerClass} ref={ref} {...rest} />;\n }\n);\n\nSpinner.displayName = \"Spinner\";\n"],"names":["React","forwardRef","cn","Spinner","className","rest","ref","spinnerClass","div","displayName"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Spinner/Spinner.tsx"],"sourcesContent":["import React from \"react\";\nimport { HTMLProps, forwardRef } from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\nexport const Spinner = forwardRef<HTMLDivElement, HTMLProps<HTMLDivElement>>(\n ({ className, ...rest }, ref) => {\n const spinnerClass = cn(\n \"animate-spin rounded-full border-2 border-current border-t-transparent h-4 w-4\",\n className\n );\n\n return <div className={spinnerClass} ref={ref} {...rest} />;\n }\n);\n\nSpinner.displayName = \"Spinner\";\n"],"names":["React","forwardRef","cn","Spinner","className","rest","ref","spinnerClass","div","displayName"],"mappings":";AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAAoBC,UAAU,QAAQ,QAAQ;AAC9C,SAASC,EAAE,QAAQ,8BAA8B;AAEjD,OAAO,MAAMC,wBAAUF,WACrB,CAAC,EAAEG,SAAS,EAAE,GAAGC,MAAM,EAAEC;IACvB,MAAMC,eAAeL,GACnB,kFACAE;IAGF,qBAAO,KAACI;QAAIJ,WAAWG;QAAcD,KAAKA;QAAM,GAAGD,IAAI;;AACzD,GACA;AAEFF,QAAQM,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Spinner/index.tsx"],"sourcesContent":["export * from \"./Spinner.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Spinner/index.tsx"],"sourcesContent":["export * from \"./Spinner.js\";\n"],"names":[],"mappings":"AAAA,cAAc,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/ui/Surface.tsx"],"sourcesContent":["import React, { HTMLProps, forwardRef } from \"react\";\nimport { cn } from \"../../lib/utils/index.js\";\n\nexport type SurfaceProps = HTMLProps<HTMLDivElement> & {\n withShadow?: boolean;\n withBorder?: boolean;\n};\n\nexport const Surface = forwardRef<HTMLDivElement, SurfaceProps>(\n (\n { children, className, withShadow = true, withBorder = true, ...props },\n ref\n ) => {\n const surfaceClass = cn(\n className,\n \"bg-white rounded-lg dark:bg-black\",\n withShadow ? \"shadow-sm\" : \"\",\n withBorder ? \"border border-neutral-200 dark:border-neutral-800\" : \"\"\n );\n\n return (\n <div className={surfaceClass} {...props} ref={ref}>\n {children}\n </div>\n );\n }\n);\n\nSurface.displayName = \"Surface\";\n"],"names":["React","forwardRef","cn","Surface","children","className","withShadow","withBorder","props","ref","surfaceClass","div","displayName"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/ui/Surface.tsx"],"sourcesContent":["import React, { HTMLProps, forwardRef } from \"react\";\nimport { cn } from \"../../lib/utils/index.js\";\n\nexport type SurfaceProps = HTMLProps<HTMLDivElement> & {\n withShadow?: boolean;\n withBorder?: boolean;\n};\n\nexport const Surface = forwardRef<HTMLDivElement, SurfaceProps>(\n (\n { children, className, withShadow = true, withBorder = true, ...props },\n ref\n ) => {\n const surfaceClass = cn(\n className,\n \"bg-white rounded-lg dark:bg-black\",\n withShadow ? \"shadow-sm\" : \"\",\n withBorder ? \"border border-neutral-200 dark:border-neutral-800\" : \"\"\n );\n\n return (\n <div className={surfaceClass} {...props} ref={ref}>\n {children}\n </div>\n );\n }\n);\n\nSurface.displayName = \"Surface\";\n"],"names":["React","forwardRef","cn","Surface","children","className","withShadow","withBorder","props","ref","surfaceClass","div","displayName"],"mappings":";AAAA,OAAOA,SAAoBC,UAAU,QAAQ,QAAQ;AACrD,SAASC,EAAE,QAAQ,2BAA2B;AAO9C,OAAO,MAAMC,wBAAUF,WACrB,CACE,EAAEG,QAAQ,EAAEC,SAAS,EAAEC,aAAa,IAAI,EAAEC,aAAa,IAAI,EAAE,GAAGC,OAAO,EACvEC;IAEA,MAAMC,eAAeR,GACnBG,WACA,qCACAC,aAAa,cAAc,IAC3BC,aAAa,sDAAsD;IAGrE,qBACE,KAACI;QAAIN,WAAWK;QAAe,GAAGF,KAAK;QAAEC,KAAKA;kBAC3CL;;AAGP,GACA;AAEFD,QAAQS,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Textarea/Textarea.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\nexport const Textarea = forwardRef<\n HTMLTextAreaElement,\n React.TextareaHTMLAttributes<HTMLTextAreaElement>\n>(({ className, ...rest }, ref) => {\n const textAreaClassName = cn(\n \"bg-black/5 border-0 rounded-lg caret-black block text-black text-sm font-medium h-[4.5rem] px-2 py-1 w-full\",\n \"dark:bg-white/10 dark:text-white dark:caret-white\",\n \"hover:bg-black/10\",\n \"dark:hover:bg-white/20\",\n \"focus:bg-transparent active:bg-transparent focus:outline focus:outline-black active:outline active:outline-black\",\n \"dark:focus:outline-white dark:active:outline-white\",\n className\n );\n\n return <textarea className={textAreaClassName} ref={ref} {...rest} />;\n});\n\nTextarea.displayName = \"Textarea\";\n"],"names":["React","forwardRef","cn","Textarea","className","rest","ref","textAreaClassName","textarea","displayName"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Textarea/Textarea.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\nexport const Textarea = forwardRef<\n HTMLTextAreaElement,\n React.TextareaHTMLAttributes<HTMLTextAreaElement>\n>(({ className, ...rest }, ref) => {\n const textAreaClassName = cn(\n \"bg-black/5 border-0 rounded-lg caret-black block text-black text-sm font-medium h-[4.5rem] px-2 py-1 w-full\",\n \"dark:bg-white/10 dark:text-white dark:caret-white\",\n \"hover:bg-black/10\",\n \"dark:hover:bg-white/20\",\n \"focus:bg-transparent active:bg-transparent focus:outline focus:outline-black active:outline active:outline-black\",\n \"dark:focus:outline-white dark:active:outline-white\",\n className\n );\n\n return <textarea className={textAreaClassName} ref={ref} {...rest} />;\n});\n\nTextarea.displayName = \"Textarea\";\n"],"names":["React","forwardRef","cn","Textarea","className","rest","ref","textAreaClassName","textarea","displayName"],"mappings":";AAAA,OAAOA,SAASC,UAAU,QAAQ,QAAQ;AAC1C,SAASC,EAAE,QAAQ,8BAA8B;AAEjD,OAAO,MAAMC,yBAAWF,WAGtB,CAAC,EAAEG,SAAS,EAAE,GAAGC,MAAM,EAAEC;IACzB,MAAMC,oBAAoBL,GACxB,+GACA,qDACA,qBACA,0BACA,oHACA,sDACAE;IAGF,qBAAO,KAACI;QAASJ,WAAWG;QAAmBD,KAAKA;QAAM,GAAGD,IAAI;;AACnE,GAAG;AAEHF,SAASM,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Textarea/index.tsx"],"sourcesContent":["export * from \"./Textarea.js\";\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/Textarea/index.tsx"],"sourcesContent":["export * from \"./Textarea.js\";\n"],"names":[],"mappings":"AAAA,cAAc,gBAAgB"}
|