payload-richtext-tiptap 0.0.149 → 0.0.151

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.
@@ -3,6 +3,6 @@ interface ExtensionKitProps {
3
3
  openAssetHQHandler: openAssetHQType;
4
4
  dir?: "ltr" | "rtl";
5
5
  }
6
- export declare const ExtensionKit: ({ dir, openAssetHQHandler, }: ExtensionKitProps) => (import("@tiptap/core").Node<any, any> | import("@tiptap/core").Extension<any, any> | import("@tiptap/core").Mark<import("@tiptap/extension-superscript").SuperscriptExtensionOptions, any>)[];
6
+ export declare const ExtensionKit: ({ dir, openAssetHQHandler, }: ExtensionKitProps) => (import("@tiptap/core").Node<any, any> | import("@tiptap/core").Extension<any, any> | import("@tiptap/core").Mark<import("@tiptap/extension-subscript").SubscriptExtensionOptions, any>)[];
7
7
  export default ExtensionKit;
8
8
  //# sourceMappingURL=extension-kit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extension-kit.d.ts","sourceRoot":"","sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"names":[],"mappings":"AAiDA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,UAAU,iBAAiB;IACzB,kBAAkB,EAAE,eAAe,CAAC;IACpC,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,iCAGtB,iBAAiB,mMA6HnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"extension-kit.d.ts","sourceRoot":"","sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"names":[],"mappings":"AAiDA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,UAAU,iBAAiB;IACzB,kBAAkB,EAAE,eAAe,CAAC;IACpC,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,iCAGtB,iBAAiB,+LA6HnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.tsx"],"sourcesContent":["import React from 'react';\r\nimport { generateHTML } from '@tiptap/html';\r\nimport i18n from 'i18next';\r\n// import { Text } from \"@tiptap/extension-text\";\r\nimport {\r\n StarterKit,\r\n Highlight,\r\n // CharacterCount,\r\n Underline,\r\n Placeholder,\r\n // Emoji,\r\n TextAlign,\r\n TextStyle,\r\n FontFamily,\r\n Typography,\r\n // Color,\r\n // Dropcursor,\r\n // CollaborationCursor,\r\n Subscript,\r\n // TableOfContents,\r\n Superscript,\r\n CodeBlock,\r\n // BulletList,\r\n // OrderedList,\r\n // Collaboration,\r\n // TaskItem,\r\n // TaskList,\r\n // FileHandler,\r\n // Selection,\r\n // Focus,\r\n Table,\r\n HorizontalRule,\r\n Heading,\r\n Document,\r\n // TrailingNode,\r\n // FontSize,\r\n // Figure,\r\n // Figcaption,\r\n BlockquoteFigure,\r\n // Quote,\r\n // QuoteCaption,\r\n Link,\r\n // ImageUpload,\r\n // ImageBlock,\r\n // VideoBlock,\r\n // AudioBlock,\r\n // Youtube,\r\n // Instagram,\r\n // Columns,\r\n Paragraph,\r\n // InsideLinks,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n Column,\r\n LinkPreview\r\n // Twitter,\r\n // Linkedin,\r\n // Tiktok,\r\n // Facebook,\r\n // Instagram,\r\n // Youtube,\r\n} from '../index.js';\r\n\r\nimport { TwitterBlockServerside } from './TwitterBlockServerside.js';\r\nimport { YouTubeServerside } from './YouTubeServerside.js';\r\nimport { InstagramServerside } from './InstagramServerside.js';\r\nimport { ImageBlockServerside } from './ImageBlockServerside.js';\r\nimport { TiktokServerside } from './TiktokServerside.js';\r\nimport { LinkedinServerside } from './LinkedinServerside.js';\r\nimport { FacebookServerside } from './FacebookServerside.js';\r\nimport { VideoBlockServerside } from './VideoBlockServerside.js';\r\nimport { InsideLinkServerside } from './InsideLinkServerside.js';\r\nimport { IFrameServerside } from './IFrameServerside.js';\r\nimport { AdditionalContextType } from '../../features/BlockEditor/types.js';\r\n\r\nconst DEFAULT_LANG = 'en';\r\n\r\ntype Props = {\r\n body: any;\r\n additionalContext?: AdditionalContextType;\r\n};\r\n\r\n// Initialize i18n based on additionalContext\r\nconst initializeI18n = (additionalContext?: AdditionalContextType) => {\r\n if (!additionalContext) {\r\n i18n.init({\r\n fallbackLng: DEFAULT_LANG,\r\n lng: DEFAULT_LANG,\r\n returnEmptyString: true,\r\n resources: {}\r\n });\r\n return;\r\n }\r\n\r\n if (additionalContext.language && additionalContext.translations) {\r\n i18n.init({\r\n fallbackLng: additionalContext.language,\r\n lng: additionalContext.language,\r\n returnEmptyString: true,\r\n resources: {\r\n [additionalContext.language]: {\r\n translation: additionalContext.translations\r\n }\r\n }\r\n });\r\n return;\r\n }\r\n\r\n if (additionalContext.language) {\r\n i18n.init({\r\n fallbackLng: additionalContext?.language,\r\n lng: additionalContext?.language,\r\n returnEmptyString: true,\r\n resources: {}\r\n });\r\n }\r\n};\r\n\r\nexport const ServersideTiptapBody = ({ body, additionalContext }: Props) => {\r\n if (!body) return null;\r\n\r\n // Initialize i18n synchronously\r\n initializeI18n(additionalContext);\r\n\r\n const textDirection = additionalContext?.textDirection || i18n.dir();\r\n\r\n return (\r\n <>\r\n <div\r\n className='tiptap ProseMirror min-h-full'\r\n dir={textDirection}\r\n dangerouslySetInnerHTML={{\r\n __html: generateHTML(body, [\r\n // Text,\r\n StarterKit.configure({\r\n paragraph: false,\r\n document: false,\r\n dropcursor: false,\r\n heading: false,\r\n horizontalRule: false,\r\n blockquote: false,\r\n history: false,\r\n codeBlock: false\r\n }),\r\n Highlight,\r\n // CharacterCount,\r\n Underline,\r\n Placeholder,\r\n // Emoji,\r\n TextAlign,\r\n TextStyle,\r\n FontFamily,\r\n Typography,\r\n // Color,\r\n // Dropcursor,\r\n // CollaborationCursor,\r\n // Subscript,\r\n // TableOfContents,\r\n // Superscript,\r\n CodeBlock,\r\n // BulletList,\r\n // OrderedList,\r\n // Collaboration,\r\n // TaskItem,\r\n // TaskList,\r\n // FileHandler,\r\n // Selection,\r\n // Focus,\r\n Table,\r\n HorizontalRule,\r\n Heading,\r\n Document,\r\n // TrailingNode,\r\n // SlashCommand,\r\n // FontSize,\r\n // Figure,\r\n // Figcaption,\r\n BlockquoteFigure,\r\n // Quote,\r\n // QuoteCaption,\r\n ImageBlockServerside,\r\n VideoBlockServerside,\r\n // AudioBlock,\r\n // Columns,\r\n TwitterBlockServerside,\r\n InstagramServerside,\r\n YouTubeServerside,\r\n Paragraph,\r\n Superscript,\r\n Subscript,\r\n Link,\r\n TiktokServerside,\r\n LinkedinServerside,\r\n FacebookServerside,\r\n InsideLinkServerside,\r\n IFrameServerside,\r\n // InsideLinks,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n Column,\r\n LinkPreview\r\n ])\r\n }}\r\n />\r\n </>\r\n );\r\n};\r\n"],"names":["React","generateHTML","i18n","StarterKit","Highlight","Underline","Placeholder","TextAlign","TextStyle","FontFamily","Typography","Subscript","Superscript","CodeBlock","Table","HorizontalRule","Heading","Document","BlockquoteFigure","Link","Paragraph","TableCell","TableHeader","TableRow","Column","LinkPreview","TwitterBlockServerside","YouTubeServerside","InstagramServerside","ImageBlockServerside","TiktokServerside","LinkedinServerside","FacebookServerside","VideoBlockServerside","InsideLinkServerside","IFrameServerside","DEFAULT_LANG","initializeI18n","additionalContext","init","fallbackLng","lng","returnEmptyString","resources","language","translations","translation","ServersideTiptapBody","body","textDirection","dir","div","className","dangerouslySetInnerHTML","__html","configure","paragraph","document","dropcursor","heading","horizontalRule","blockquote","history","codeBlock"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.tsx"],"sourcesContent":["import React from 'react';\r\nimport { generateHTML } from '@tiptap/html';\r\nimport i18n from 'i18next';\r\n// import { Text } from \"@tiptap/extension-text\";\r\nimport {\r\n StarterKit,\r\n Highlight,\r\n // CharacterCount,\r\n Underline,\r\n Placeholder,\r\n // Emoji,\r\n TextAlign,\r\n TextStyle,\r\n FontFamily,\r\n Typography,\r\n // Color,\r\n // Dropcursor,\r\n // CollaborationCursor,\r\n Subscript,\r\n // TableOfContents,\r\n Superscript,\r\n CodeBlock,\r\n // BulletList,\r\n // OrderedList,\r\n // Collaboration,\r\n // TaskItem,\r\n // TaskList,\r\n // FileHandler,\r\n // Selection,\r\n // Focus,\r\n Table,\r\n HorizontalRule,\r\n Heading,\r\n Document,\r\n // TrailingNode,\r\n // FontSize,\r\n // Figure,\r\n // Figcaption,\r\n BlockquoteFigure,\r\n // Quote,\r\n // QuoteCaption,\r\n Link,\r\n // ImageUpload,\r\n // ImageBlock,\r\n // VideoBlock,\r\n // AudioBlock,\r\n // Youtube,\r\n // Instagram,\r\n // Columns,\r\n Paragraph,\r\n // InsideLinks,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n Column,\r\n LinkPreview\r\n // Twitter,\r\n // Linkedin,\r\n // Tiktok,\r\n // Facebook,\r\n // Instagram,\r\n // Youtube,\r\n} from '../index.js';\r\n\r\nimport { TwitterBlockServerside } from './TwitterBlockServerside.js';\r\nimport { YouTubeServerside } from './YouTubeServerside.js';\r\nimport { InstagramServerside } from './InstagramServerside.js';\r\nimport { ImageBlockServerside } from './ImageBlockServerside.js';\r\nimport { TiktokServerside } from './TiktokServerside.js';\r\nimport { LinkedinServerside } from './LinkedinServerside.js';\r\nimport { FacebookServerside } from './FacebookServerside.js';\r\nimport { VideoBlockServerside } from './VideoBlockServerside.js';\r\nimport { InsideLinkServerside } from './InsideLinkServerside.js';\r\nimport { IFrameServerside } from './IFrameServerside.js';\r\nimport { AdditionalContextType } from '../../features/BlockEditor/types.js';\r\n\r\nconst DEFAULT_LANG = 'en';\r\n\r\ntype Props = {\r\n body: any;\r\n additionalContext?: AdditionalContextType;\r\n};\r\n\r\n// Initialize i18n based on additionalContext\r\nconst initializeI18n = (additionalContext?: AdditionalContextType) => {\r\n if (!additionalContext) {\r\n i18n.init({\r\n fallbackLng: DEFAULT_LANG,\r\n lng: DEFAULT_LANG,\r\n returnEmptyString: true,\r\n resources: {}\r\n });\r\n return;\r\n }\r\n\r\n if (additionalContext.language && additionalContext.translations) {\r\n i18n.init({\r\n fallbackLng: additionalContext.language,\r\n lng: additionalContext.language,\r\n returnEmptyString: true,\r\n resources: {\r\n [additionalContext.language]: {\r\n translation: additionalContext.translations\r\n }\r\n }\r\n });\r\n return;\r\n }\r\n\r\n if (additionalContext.language) {\r\n i18n.init({\r\n fallbackLng: additionalContext?.language,\r\n lng: additionalContext?.language,\r\n returnEmptyString: true,\r\n resources: {}\r\n });\r\n }\r\n};\r\n\r\nexport const ServersideTiptapBody = ({ body, additionalContext }: Props) => {\r\n if (!body) return null;\r\n\r\n // Initialize i18n synchronously\r\n initializeI18n(additionalContext);\r\n\r\n const textDirection = additionalContext?.textDirection || i18n.dir();\r\n\r\n return (\r\n <>\r\n <div\r\n className='tiptap ProseMirror min-h-full'\r\n dir={textDirection}\r\n dangerouslySetInnerHTML={{\r\n __html: generateHTML(body, [\r\n // Text,\r\n StarterKit.configure({\r\n paragraph: false,\r\n document: false,\r\n dropcursor: false,\r\n heading: false,\r\n horizontalRule: false,\r\n blockquote: false,\r\n history: false,\r\n codeBlock: false,\r\n }),\r\n Highlight,\r\n // CharacterCount,\r\n Underline,\r\n Placeholder,\r\n // Emoji,\r\n TextAlign,\r\n TextStyle,\r\n FontFamily,\r\n Typography,\r\n // Color,\r\n // Dropcursor,\r\n // CollaborationCursor,\r\n // Subscript,\r\n // TableOfContents,\r\n // Superscript,\r\n CodeBlock,\r\n // BulletList,\r\n // OrderedList,\r\n // Collaboration,\r\n // TaskItem,\r\n // TaskList,\r\n // FileHandler,\r\n // Selection,\r\n // Focus,\r\n Table,\r\n HorizontalRule,\r\n Heading,\r\n Document,\r\n // TrailingNode,\r\n // SlashCommand,\r\n // FontSize,\r\n // Figure,\r\n // Figcaption,\r\n BlockquoteFigure,\r\n // Quote,\r\n // QuoteCaption,\r\n ImageBlockServerside,\r\n VideoBlockServerside,\r\n // AudioBlock,\r\n // Columns,\r\n TwitterBlockServerside,\r\n InstagramServerside,\r\n YouTubeServerside,\r\n Paragraph,\r\n Superscript,\r\n Subscript,\r\n Link,\r\n TiktokServerside,\r\n LinkedinServerside,\r\n FacebookServerside,\r\n InsideLinkServerside,\r\n IFrameServerside,\r\n // InsideLinks,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n Column,\r\n LinkPreview\r\n ])\r\n }}\r\n />\r\n </>\r\n );\r\n};\r\n"],"names":["React","generateHTML","i18n","StarterKit","Highlight","Underline","Placeholder","TextAlign","TextStyle","FontFamily","Typography","Subscript","Superscript","CodeBlock","Table","HorizontalRule","Heading","Document","BlockquoteFigure","Link","Paragraph","TableCell","TableHeader","TableRow","Column","LinkPreview","TwitterBlockServerside","YouTubeServerside","InstagramServerside","ImageBlockServerside","TiktokServerside","LinkedinServerside","FacebookServerside","VideoBlockServerside","InsideLinkServerside","IFrameServerside","DEFAULT_LANG","initializeI18n","additionalContext","init","fallbackLng","lng","returnEmptyString","resources","language","translations","translation","ServersideTiptapBody","body","textDirection","dir","div","className","dangerouslySetInnerHTML","__html","configure","paragraph","document","dropcursor","heading","horizontalRule","blockquote","history","codeBlock"],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare const BlockEditor: ({ handleChange, content, openAssetHQHandler,
6
6
  fetchSiteMetadata?: FetchSiteMetadataType;
7
7
  autoFocus?: boolean;
8
8
  isEditable?: boolean;
9
- dir?: "ltr" | "rtl" | "auto";
9
+ dir?: "ltr" | "rtl";
10
10
  }) => import("react").JSX.Element;
11
11
  export default BlockEditor;
12
12
  //# sourceMappingURL=BlockEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/BlockEditor.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIhD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAMtF,eAAO,MAAM,WAAW,qHASrB,WAAW,GAAG;IACf,kBAAkB,CAAC,EAAE,eAAe,CAAA;IACpC,iBAAiB,CAAC,EAAE,qBAAqB,CAAA;IACzC,iBAAiB,CAAC,EAAE,qBAAqB,CAAA;IACzC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;CAC7B,gCAwFA,CAAA;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"BlockEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/BlockEditor.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIhD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAMtF,eAAO,MAAM,WAAW,qHASrB,WAAW,GAAG;IACf,kBAAkB,CAAC,EAAE,eAAe,CAAA;IACpC,iBAAiB,CAAC,EAAE,qBAAqB,CAAA;IACzC,iBAAiB,CAAC,EAAE,qBAAqB,CAAA;IACzC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;CACpB,gCAyFA,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -26,7 +26,8 @@ export const BlockEditor = ({ handleChange, content, openAssetHQHandler, additio
26
26
  openAssetHQHandler: openAssetHQHandler,
27
27
  additionalContext: additionalContext,
28
28
  autoFocus,
29
- isEditable
29
+ isEditable,
30
+ dir
30
31
  });
31
32
  const displayedUsers = users.slice(0, 3);
32
33
  const providerValue = useMemo(()=>{
@@ -66,17 +67,18 @@ export const BlockEditor = ({ handleChange, content, openAssetHQHandler, additio
66
67
  }, [
67
68
  additionalContext
68
69
  ]);
70
+ const sectionDir = dir || i18next.dir();
69
71
  return editor && /*#__PURE__*/ _jsx(EditorContext.Provider, {
70
72
  value: providerValue,
71
73
  children: /*#__PURE__*/ _jsx("div", {
72
74
  className: "flex h-full overflow-visible",
73
75
  ref: menuContainerRef,
74
- dir: i18next.dir(),
76
+ dir: sectionDir,
75
77
  children: /*#__PURE__*/ _jsxs("div", {
76
78
  className: "relative flex flex-col flex-1 h-full justify-center items-center ",
77
79
  children: [
78
80
  /*#__PURE__*/ _jsx(EditorContent, {
79
- dir: i18next.dir(),
81
+ dir: sectionDir,
80
82
  editor: editor,
81
83
  ref: editorRef,
82
84
  className: "flex-1 overflow-y-visible w-full h-full outline-none outline-offset-0",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/BlockEditor.tsx"],"sourcesContent":["'use client'\r\nimport { EditorContent } from '@tiptap/react'\r\nimport { useEffect, useMemo, useRef } from 'react'\r\nimport i18n from 'i18next'\r\n\r\nimport { EditorContext } from '../../context/EditorContext.js'\r\nimport { IframeMenu } from '../../extensions/Iframe/menus/index.js'\r\nimport ImageBlockMenu from '../../extensions/ImageBlock/components/ImageBlockMenu.js'\r\nimport { InsideLinksMenu } from '../../extensions/InsideLinks/menus/index.js'\r\nimport { ColumnsMenu } from '../../extensions/MultiColumn/menus/ColumnsMenu.js'\r\nimport { SocialMediaMenu } from '../../extensions/SocialMedia/menus/index.js'\r\n\r\nimport VideoBlockMenu from '../../extensions/VideoBlock/components/VideoBlockMenu.js'\r\nimport { useBlockEditor } from '../../hooks/useBlockEditor.js'\r\nimport { openAssetHQType } from '../../types.js'\r\nimport { ContentItemMenu } from '../menus/ContentItemMenu/ContentItemMenu.js'\r\nimport { TextMenu } from '../menus/TextMenu/TextMenu.js'\r\nimport { LinkMenu } from '../menus/index.js'\r\nimport { AdditionalContextType, FetchSiteMetadataType, TiptapProps } from './types.js'\r\nimport i18next from 'i18next'\r\nimport ILinkPreviewMenu from '../../extensions/LinkPreview/menus/linkPreviewMenu.js'\r\n\r\nconst DEFAULT_LANG = 'en'\r\n\r\nexport const BlockEditor = ({\r\n handleChange,\r\n content,\r\n openAssetHQHandler,\r\n additionalContext,\r\n isEditable = true,\r\n autoFocus = true,\r\n dir,\r\n fetchSiteMetadata,\r\n}: TiptapProps & {\r\n openAssetHQHandler?: openAssetHQType\r\n additionalContext?: AdditionalContextType\r\n fetchSiteMetadata?: FetchSiteMetadataType\r\n autoFocus?: boolean\r\n isEditable?: boolean\r\n dir?: 'ltr' | 'rtl' | 'auto'\r\n}) => {\r\n const menuContainerRef = useRef(null)\r\n const editorRef = useRef<HTMLDivElement>(null)\r\n\r\n const { editor, users, characterCount, leftSidebar } = useBlockEditor({\r\n content: content,\r\n handleChange: handleChange,\r\n openAssetHQHandler: openAssetHQHandler,\r\n additionalContext: additionalContext,\r\n autoFocus,\r\n isEditable,\r\n })\r\n\r\n const displayedUsers = users.slice(0, 3)\r\n const providerValue = useMemo(() => {\r\n return {}\r\n }, [])\r\n useEffect(() => {\r\n if (!additionalContext) {\r\n i18n.init({\r\n fallbackLng: DEFAULT_LANG,\r\n lng: DEFAULT_LANG,\r\n returnEmptyString: true,\r\n resources: {},\r\n })\r\n return\r\n }\r\n\r\n if (additionalContext.language && additionalContext.translations) {\r\n i18n.init({\r\n fallbackLng: additionalContext.language,\r\n lng: additionalContext.language,\r\n returnEmptyString: true,\r\n resources: {\r\n [additionalContext.language]: {\r\n translation: additionalContext.translations,\r\n },\r\n },\r\n })\r\n return\r\n }\r\n if (additionalContext.language) {\r\n i18n.init({\r\n fallbackLng: additionalContext?.language,\r\n lng: additionalContext?.language,\r\n returnEmptyString: true,\r\n resources: {},\r\n })\r\n }\r\n }, [additionalContext])\r\n\r\n return (\r\n editor && (\r\n <EditorContext.Provider value={providerValue}>\r\n <div className='flex h-full overflow-visible' ref={menuContainerRef} dir={i18next.dir()}>\r\n <div className='relative flex flex-col flex-1 h-full justify-center items-center '>\r\n <EditorContent\r\n dir={i18next.dir()}\r\n editor={editor}\r\n ref={editorRef}\r\n className='flex-1 overflow-y-visible w-full h-full outline-none outline-offset-0'\r\n style={{\r\n outline: 'none',\r\n }}\r\n />\r\n {isEditable && (\r\n <>\r\n <ContentItemMenu editor={editor} />\r\n <LinkMenu editor={editor} appendTo={menuContainerRef} />\r\n <TextMenu editor={editor} dir={i18next.dir()} />\r\n <ILinkPreviewMenu\r\n editor={editor}\r\n appendTo={menuContainerRef}\r\n fetchSiteMetadata={fetchSiteMetadata}\r\n />\r\n <IframeMenu editor={editor} appendTo={menuContainerRef} />\r\n <SocialMediaMenu editor={editor} appendTo={menuContainerRef} />\r\n <InsideLinksMenu editor={editor} appendTo={menuContainerRef} />\r\n <ColumnsMenu editor={editor} appendTo={menuContainerRef} />\r\n <ImageBlockMenu editor={editor} appendTo={menuContainerRef} />\r\n <VideoBlockMenu editor={editor} appendTo={menuContainerRef} />\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n </EditorContext.Provider>\r\n )\r\n )\r\n}\r\n\r\nexport default BlockEditor\r\n"],"names":["EditorContent","useEffect","useMemo","useRef","i18n","EditorContext","IframeMenu","ImageBlockMenu","InsideLinksMenu","ColumnsMenu","SocialMediaMenu","VideoBlockMenu","useBlockEditor","ContentItemMenu","TextMenu","LinkMenu","i18next","ILinkPreviewMenu","DEFAULT_LANG","BlockEditor","handleChange","content","openAssetHQHandler","additionalContext","isEditable","autoFocus","dir","fetchSiteMetadata","menuContainerRef","editorRef","editor","users","characterCount","leftSidebar","displayedUsers","slice","providerValue","init","fallbackLng","lng","returnEmptyString","resources","language","translations","translation","Provider","value","div","className","ref","style","outline","appendTo"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/BlockEditor.tsx"],"sourcesContent":["'use client'\r\nimport { EditorContent } from '@tiptap/react'\r\nimport { useEffect, useMemo, useRef } from 'react'\r\nimport i18n from 'i18next'\r\n\r\nimport { EditorContext } from '../../context/EditorContext.js'\r\nimport { IframeMenu } from '../../extensions/Iframe/menus/index.js'\r\nimport ImageBlockMenu from '../../extensions/ImageBlock/components/ImageBlockMenu.js'\r\nimport { InsideLinksMenu } from '../../extensions/InsideLinks/menus/index.js'\r\nimport { ColumnsMenu } from '../../extensions/MultiColumn/menus/ColumnsMenu.js'\r\nimport { SocialMediaMenu } from '../../extensions/SocialMedia/menus/index.js'\r\n\r\nimport VideoBlockMenu from '../../extensions/VideoBlock/components/VideoBlockMenu.js'\r\nimport { useBlockEditor } from '../../hooks/useBlockEditor.js'\r\nimport { openAssetHQType } from '../../types.js'\r\nimport { ContentItemMenu } from '../menus/ContentItemMenu/ContentItemMenu.js'\r\nimport { TextMenu } from '../menus/TextMenu/TextMenu.js'\r\nimport { LinkMenu } from '../menus/index.js'\r\nimport { AdditionalContextType, FetchSiteMetadataType, TiptapProps } from './types.js'\r\nimport i18next from 'i18next'\r\nimport ILinkPreviewMenu from '../../extensions/LinkPreview/menus/linkPreviewMenu.js'\r\n\r\nconst DEFAULT_LANG = 'en'\r\n\r\nexport const BlockEditor = ({\r\n handleChange,\r\n content,\r\n openAssetHQHandler,\r\n additionalContext,\r\n isEditable = true,\r\n autoFocus = true,\r\n dir,\r\n fetchSiteMetadata,\r\n}: TiptapProps & {\r\n openAssetHQHandler?: openAssetHQType\r\n additionalContext?: AdditionalContextType\r\n fetchSiteMetadata?: FetchSiteMetadataType\r\n autoFocus?: boolean\r\n isEditable?: boolean\r\n dir?: 'ltr' | 'rtl'\r\n}) => {\r\n const menuContainerRef = useRef(null)\r\n const editorRef = useRef<HTMLDivElement>(null)\r\n\r\n const { editor, users, characterCount, leftSidebar } = useBlockEditor({\r\n content: content,\r\n handleChange: handleChange,\r\n openAssetHQHandler: openAssetHQHandler,\r\n additionalContext: additionalContext,\r\n autoFocus,\r\n isEditable,\r\n dir,\r\n })\r\n\r\n const displayedUsers = users.slice(0, 3)\r\n const providerValue = useMemo(() => {\r\n return {}\r\n }, [])\r\n useEffect(() => {\r\n if (!additionalContext) {\r\n i18n.init({\r\n fallbackLng: DEFAULT_LANG,\r\n lng: DEFAULT_LANG,\r\n returnEmptyString: true,\r\n resources: {},\r\n })\r\n return\r\n }\r\n\r\n if (additionalContext.language && additionalContext.translations) {\r\n i18n.init({\r\n fallbackLng: additionalContext.language,\r\n lng: additionalContext.language,\r\n returnEmptyString: true,\r\n resources: {\r\n [additionalContext.language]: {\r\n translation: additionalContext.translations,\r\n },\r\n },\r\n })\r\n return\r\n }\r\n if (additionalContext.language) {\r\n i18n.init({\r\n fallbackLng: additionalContext?.language,\r\n lng: additionalContext?.language,\r\n returnEmptyString: true,\r\n resources: {},\r\n })\r\n }\r\n }, [additionalContext])\r\n const sectionDir = dir || i18next.dir()\r\n return (\r\n editor && (\r\n <EditorContext.Provider value={providerValue}>\r\n <div className='flex h-full overflow-visible' ref={menuContainerRef} dir={sectionDir}>\r\n <div className='relative flex flex-col flex-1 h-full justify-center items-center '>\r\n <EditorContent\r\n dir={sectionDir}\r\n editor={editor}\r\n ref={editorRef}\r\n className='flex-1 overflow-y-visible w-full h-full outline-none outline-offset-0'\r\n style={{\r\n outline: 'none',\r\n }}\r\n />\r\n {isEditable && (\r\n <>\r\n <ContentItemMenu editor={editor} />\r\n <LinkMenu editor={editor} appendTo={menuContainerRef} />\r\n <TextMenu editor={editor} dir={i18next.dir()} />\r\n <ILinkPreviewMenu\r\n editor={editor}\r\n appendTo={menuContainerRef}\r\n fetchSiteMetadata={fetchSiteMetadata}\r\n />\r\n <IframeMenu editor={editor} appendTo={menuContainerRef} />\r\n <SocialMediaMenu editor={editor} appendTo={menuContainerRef} />\r\n <InsideLinksMenu editor={editor} appendTo={menuContainerRef} />\r\n <ColumnsMenu editor={editor} appendTo={menuContainerRef} />\r\n <ImageBlockMenu editor={editor} appendTo={menuContainerRef} />\r\n <VideoBlockMenu editor={editor} appendTo={menuContainerRef} />\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n </EditorContext.Provider>\r\n )\r\n )\r\n}\r\n\r\nexport default BlockEditor\r\n"],"names":["EditorContent","useEffect","useMemo","useRef","i18n","EditorContext","IframeMenu","ImageBlockMenu","InsideLinksMenu","ColumnsMenu","SocialMediaMenu","VideoBlockMenu","useBlockEditor","ContentItemMenu","TextMenu","LinkMenu","i18next","ILinkPreviewMenu","DEFAULT_LANG","BlockEditor","handleChange","content","openAssetHQHandler","additionalContext","isEditable","autoFocus","dir","fetchSiteMetadata","menuContainerRef","editorRef","editor","users","characterCount","leftSidebar","displayedUsers","slice","providerValue","init","fallbackLng","lng","returnEmptyString","resources","language","translations","translation","sectionDir","Provider","value","div","className","ref","style","outline","appendTo"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { Editor } from "@tiptap/react";
2
- import { openAssetHQType } from "../types.js";
1
+ import { Editor } from '@tiptap/react';
2
+ import { openAssetHQType } from '../types.js';
3
3
  declare global {
4
4
  interface Window {
5
5
  editor: Editor | null;
6
6
  }
7
7
  }
8
- export declare const useBlockEditor: ({ content, handleChange, openAssetHQHandler, additionalContext, autoFocus, isEditable, }: {
8
+ export declare const useBlockEditor: ({ content, handleChange, openAssetHQHandler, additionalContext, autoFocus, isEditable, dir, }: {
9
9
  content: {
10
10
  html: string;
11
11
  json: any;
@@ -15,6 +15,7 @@ export declare const useBlockEditor: ({ content, handleChange, openAssetHQHandle
15
15
  additionalContext?: Record<string, any>;
16
16
  autoFocus: boolean;
17
17
  isEditable?: boolean;
18
+ dir?: "ltr" | "rtl";
18
19
  }) => {
19
20
  editor: Editor;
20
21
  users: any;
@@ -1 +1 @@
1
- {"version":3,"file":"useBlockEditor.d.ts","sourceRoot":"","sources":["../../../../../src/fields/TiptapEditor/hooks/useBlockEditor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAa,MAAM,eAAe,CAAC;AAQlD,OAAO,EAAmB,eAAe,EAAE,MAAM,aAAa,CAAC;AAG/D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB;CACF;AAOD,eAAO,MAAM,cAAc,6FAOxB;IACD,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,eAAe,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;;;;;CAiGA,CAAC"}
1
+ {"version":3,"file":"useBlockEditor.d.ts","sourceRoot":"","sources":["../../../../../src/fields/TiptapEditor/hooks/useBlockEditor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAa,MAAM,eAAe,CAAA;AAQjD,OAAO,EAAmB,eAAe,EAAE,MAAM,aAAa,CAAA;AAG9D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KACtB;CACF;AAID,eAAO,MAAM,cAAc,kGAQxB;IACD,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAA;IACpC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAA;IAClC,kBAAkB,CAAC,EAAE,eAAe,CAAA;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvC,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;CACpB;;;;;CA+FA,CAAA"}
@@ -1,21 +1,21 @@
1
- "use client";
2
- import { useEffect, useMemo } from "react";
3
- import { useEditor } from "@tiptap/react";
4
- import ExtensionKit from "../extensions/extension-kit.js";
5
- import { useSidebar } from "./useSidebar.js";
6
- import TurndownService from "turndown";
7
- import { gfm } from "turndown-plugin-gfm";
8
- import i18next from "i18next";
1
+ 'use client';
2
+ import { useEffect, useMemo } from 'react';
3
+ import { useEditor } from '@tiptap/react';
4
+ import ExtensionKit from '../extensions/extension-kit.js';
5
+ import { useSidebar } from './useSidebar.js';
6
+ import TurndownService from 'turndown';
7
+ import { gfm } from 'turndown-plugin-gfm';
8
+ import i18next from 'i18next';
9
9
  const dummyAssetHqHandler = (listener, file)=>{};
10
- export const useBlockEditor = ({ content, handleChange, openAssetHQHandler, additionalContext, autoFocus, isEditable })=>{
10
+ export const useBlockEditor = ({ content, handleChange, openAssetHQHandler, additionalContext, autoFocus, isEditable, dir })=>{
11
11
  const leftSidebar = useSidebar();
12
12
  const turndownService = new TurndownService({});
13
13
  // Use the gfm plugin
14
14
  turndownService.use(gfm);
15
- turndownService.addRule("twitter", {
16
- filter: "div",
15
+ turndownService.addRule('twitter', {
16
+ filter: 'div',
17
17
  replacement: function(content) {
18
- return "\n\n" + content + "\n\n";
18
+ return '\n\n' + content + '\n\n';
19
19
  }
20
20
  });
21
21
  const editor = useEditor({
@@ -27,17 +27,17 @@ export const useBlockEditor = ({ content, handleChange, openAssetHQHandler, addi
27
27
  }),
28
28
  extensions: [
29
29
  ...ExtensionKit({
30
- dir: i18next.dir(),
30
+ dir: dir || i18next.dir(),
31
31
  openAssetHQHandler: openAssetHQHandler ?? dummyAssetHqHandler
32
32
  })
33
33
  ],
34
34
  editorProps: {
35
35
  attributes: {
36
36
  languages: i18next.language,
37
- autocomplete: "off",
38
- autocorrect: "off",
39
- autocapitalize: "off",
40
- class: "min-h-full"
37
+ autocomplete: 'off',
38
+ autocorrect: 'off',
39
+ autocapitalize: 'off',
40
+ class: 'min-h-full'
41
41
  }
42
42
  },
43
43
  onUpdate: ({ editor })=>{
@@ -46,8 +46,8 @@ export const useBlockEditor = ({ content, handleChange, openAssetHQHandler, addi
46
46
  }, []);
47
47
  useEffect(()=>{
48
48
  if (editor?.storage?.aiCommand) {
49
- editor.storage.aiCommand.title = additionalContext?.title ?? "";
50
- editor.storage.aiCommand.language = additionalContext?.language ?? "";
49
+ editor.storage.aiCommand.title = additionalContext?.title ?? '';
50
+ editor.storage.aiCommand.language = additionalContext?.language ?? '';
51
51
  }
52
52
  }, [
53
53
  editor,
@@ -58,13 +58,13 @@ export const useBlockEditor = ({ content, handleChange, openAssetHQHandler, addi
58
58
  return [];
59
59
  }
60
60
  return editor?.storage?.collaborationCursor?.users.map((user)=>{
61
- const names = user.name?.split(" ");
61
+ const names = user.name?.split(' ');
62
62
  const firstName = names?.[0];
63
63
  const lastName = names?.[names.length - 1];
64
- const initials = `${firstName?.[0] || "?"}${lastName?.[0] || "?"}`;
64
+ const initials = `${firstName?.[0] || '?'}${lastName?.[0] || '?'}`;
65
65
  return {
66
66
  ...user,
67
- initials: initials.length ? initials : "?"
67
+ initials: initials.length ? initials : '?'
68
68
  };
69
69
  });
70
70
  }, [
@@ -79,7 +79,7 @@ export const useBlockEditor = ({ content, handleChange, openAssetHQHandler, addi
79
79
  // setCollabState(event.status)
80
80
  // })
81
81
  // }, [provider])
82
- if (typeof window != "undefined") window.editor = editor;
82
+ if (typeof window != 'undefined') window.editor = editor;
83
83
  return {
84
84
  editor,
85
85
  users,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/fields/TiptapEditor/hooks/useBlockEditor.ts"],"sourcesContent":["\"use client\";\r\nimport { useEffect, useMemo } from \"react\";\r\n\r\nimport { Editor, useEditor } from \"@tiptap/react\";\r\n\r\nimport ExtensionKit from \"../extensions/extension-kit.js\";\r\nimport { EditorUser } from \"../features/BlockEditor/types.js\";\r\nimport { useSidebar } from \"./useSidebar.js\";\r\n\r\nimport TurndownService from \"turndown\";\r\nimport { gfm } from \"turndown-plugin-gfm\";\r\nimport { AssetReturnType, openAssetHQType } from \"../types.js\";\r\nimport i18next from \"i18next\";\r\n\r\ndeclare global {\r\n interface Window {\r\n editor: Editor | null;\r\n }\r\n}\r\n\r\nconst dummyAssetHqHandler = (\r\n listener: (asset: AssetReturnType) => void,\r\n file?: File\r\n) => {};\r\n\r\nexport const useBlockEditor = ({\r\n content,\r\n handleChange,\r\n openAssetHQHandler,\r\n additionalContext,\r\n autoFocus,\r\n isEditable,\r\n}: {\r\n content: { html: string; json: any };\r\n handleChange?: (data: any) => void;\r\n openAssetHQHandler?: openAssetHQType;\r\n additionalContext?: Record<string, any>;\r\n autoFocus: boolean;\r\n isEditable?: boolean;\r\n}) => {\r\n const leftSidebar = useSidebar();\r\n\r\n const turndownService = new TurndownService({});\r\n // Use the gfm plugin\r\n turndownService.use(gfm);\r\n turndownService.addRule(\"twitter\", {\r\n filter: \"div\",\r\n replacement: function (content) {\r\n return \"\\n\\n\" + content + \"\\n\\n\";\r\n },\r\n });\r\n\r\n const editor = useEditor(\r\n {\r\n content: content?.json ?? content ?? {},\r\n immediatelyRender: false,\r\n autofocus: autoFocus ?? true,\r\n editable: isEditable ?? true,\r\n onCreate: ({ editor }) => ({\r\n // provider?.on('synced', () => {\r\n // if (editor.isEmpty) {\r\n // editor.commands.setContent(initialContent)\r\n // }\r\n // })\r\n }),\r\n extensions: [\r\n ...ExtensionKit({\r\n dir: i18next.dir(),\r\n openAssetHQHandler: openAssetHQHandler ?? dummyAssetHqHandler,\r\n // provider,\r\n }),\r\n // Collaboration.configure({\r\n // document: ydoc,\r\n // }),\r\n // CollaborationCursor.configure({\r\n // provider,\r\n // user: {\r\n // name: randomElement(userNames),\r\n // color: randomElement(userColors),\r\n // },\r\n // }),\r\n ],\r\n editorProps: {\r\n attributes: {\r\n languages: i18next.language,\r\n autocomplete: \"off\",\r\n autocorrect: \"off\",\r\n autocapitalize: \"off\",\r\n class: \"min-h-full\",\r\n },\r\n },\r\n onUpdate: ({ editor }) => {\r\n handleChange(editor?.getJSON() ?? {});\r\n },\r\n },\r\n []\r\n );\r\n\r\n useEffect(() => {\r\n if (editor?.storage?.aiCommand) {\r\n editor.storage.aiCommand.title = additionalContext?.title ?? \"\";\r\n editor.storage.aiCommand.language = additionalContext?.language ?? \"\";\r\n }\r\n }, [editor, additionalContext]);\r\n\r\n const users = useMemo(() => {\r\n if (!editor?.storage?.collaborationCursor?.users) {\r\n return [];\r\n }\r\n\r\n return editor?.storage?.collaborationCursor?.users.map(\r\n (user: EditorUser) => {\r\n const names = user.name?.split(\" \");\r\n const firstName = names?.[0];\r\n const lastName = names?.[names.length - 1];\r\n const initials = `${firstName?.[0] || \"?\"}${lastName?.[0] || \"?\"}`;\r\n\r\n return { ...user, initials: initials.length ? initials : \"?\" };\r\n }\r\n );\r\n }, [editor?.storage.collaborationCursor?.users]);\r\n\r\n const characterCount = editor?.storage.characterCount || {\r\n characters: () => 0,\r\n words: () => 0,\r\n };\r\n\r\n // useEffect(() => {\r\n // provider?.on('status', (event: { status: WebSocketStatus }) => {\r\n // setCollabState(event.status)\r\n // })\r\n // }, [provider])\r\n\r\n if (typeof window != \"undefined\") window.editor = editor;\r\n\r\n return { editor, users, characterCount, leftSidebar };\r\n};\r\n"],"names":["useEffect","useMemo","useEditor","ExtensionKit","useSidebar","TurndownService","gfm","i18next","dummyAssetHqHandler","listener","file","useBlockEditor","content","handleChange","openAssetHQHandler","additionalContext","autoFocus","isEditable","leftSidebar","turndownService","use","addRule","filter","replacement","editor","json","immediatelyRender","autofocus","editable","onCreate","extensions","dir","editorProps","attributes","languages","language","autocomplete","autocorrect","autocapitalize","class","onUpdate","getJSON","storage","aiCommand","title","users","collaborationCursor","map","user","names","name","split","firstName","lastName","length","initials","characterCount","characters","words","window"],"mappings":"AAAA;AACA,SAASA,SAAS,EAAEC,OAAO,QAAQ,QAAQ;AAE3C,SAAiBC,SAAS,QAAQ,gBAAgB;AAElD,OAAOC,kBAAkB,iCAAiC;AAE1D,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,OAAOC,qBAAqB,WAAW;AACvC,SAASC,GAAG,QAAQ,sBAAsB;AAE1C,OAAOC,aAAa,UAAU;AAQ9B,MAAMC,sBAAsB,CAC1BC,UACAC,QACI;AAEN,OAAO,MAAMC,iBAAiB,CAAC,EAC7BC,OAAO,EACPC,YAAY,EACZC,kBAAkB,EAClBC,iBAAiB,EACjBC,SAAS,EACTC,UAAU,EAQX;IACC,MAAMC,cAAcd;IAEpB,MAAMe,kBAAkB,IAAId,gBAAgB,CAAC;IAC7C,qBAAqB;IACrBc,gBAAgBC,GAAG,CAACd;IACpBa,gBAAgBE,OAAO,CAAC,WAAW;QACjCC,QAAQ;QACRC,aAAa,SAAUX,OAAO;YAC5B,OAAO,SAASA,UAAU;QAC5B;IACF;IAEA,MAAMY,SAAStB,UACb;QACEU,SAASA,SAASa,QAAQb,WAAW,CAAC;QACtCc,mBAAmB;QACnBC,WAAWX,aAAa;QACxBY,UAAUX,cAAc;QACxBY,UAAU,CAAC,EAAEL,MAAM,EAAE,GAAM,CAAA;YAM3B,CAAA;QACAM,YAAY;eACP3B,aAAa;gBACd4B,KAAKxB,QAAQwB,GAAG;gBAChBjB,oBAAoBA,sBAAsBN;YAE5C;SAWD;QACDwB,aAAa;YACXC,YAAY;gBACVC,WAAW3B,QAAQ4B,QAAQ;gBAC3BC,cAAc;gBACdC,aAAa;gBACbC,gBAAgB;gBAChBC,OAAO;YACT;QACF;QACAC,UAAU,CAAC,EAAEhB,MAAM,EAAE;YACnBX,aAAaW,QAAQiB,aAAa,CAAC;QACrC;IACF,GACA,EAAE;IAGJzC,UAAU;QACR,IAAIwB,QAAQkB,SAASC,WAAW;YAC9BnB,OAAOkB,OAAO,CAACC,SAAS,CAACC,KAAK,GAAG7B,mBAAmB6B,SAAS;YAC7DpB,OAAOkB,OAAO,CAACC,SAAS,CAACR,QAAQ,GAAGpB,mBAAmBoB,YAAY;QACrE;IACF,GAAG;QAACX;QAAQT;KAAkB;IAE9B,MAAM8B,QAAQ5C,QAAQ;QACpB,IAAI,CAACuB,QAAQkB,SAASI,qBAAqBD,OAAO;YAChD,OAAO,EAAE;QACX;QAEA,OAAOrB,QAAQkB,SAASI,qBAAqBD,MAAME,IACjD,CAACC;YACC,MAAMC,QAAQD,KAAKE,IAAI,EAAEC,MAAM;YAC/B,MAAMC,YAAYH,OAAO,CAAC,EAAE;YAC5B,MAAMI,WAAWJ,OAAO,CAACA,MAAMK,MAAM,GAAG,EAAE;YAC1C,MAAMC,WAAW,CAAC,EAAEH,WAAW,CAAC,EAAE,IAAI,IAAI,EAAEC,UAAU,CAAC,EAAE,IAAI,IAAI,CAAC;YAElE,OAAO;gBAAE,GAAGL,IAAI;gBAAEO,UAAUA,SAASD,MAAM,GAAGC,WAAW;YAAI;QAC/D;IAEJ,GAAG;QAAC/B,QAAQkB,QAAQI,qBAAqBD;KAAM;IAE/C,MAAMW,iBAAiBhC,QAAQkB,QAAQc,kBAAkB;QACvDC,YAAY,IAAM;QAClBC,OAAO,IAAM;IACf;IAEA,oBAAoB;IACpB,qEAAqE;IACrE,mCAAmC;IACnC,OAAO;IACP,iBAAiB;IAEjB,IAAI,OAAOC,UAAU,aAAaA,OAAOnC,MAAM,GAAGA;IAElD,OAAO;QAAEA;QAAQqB;QAAOW;QAAgBtC;IAAY;AACtD,EAAE"}
1
+ {"version":3,"sources":["../../../../../src/fields/TiptapEditor/hooks/useBlockEditor.ts"],"sourcesContent":["'use client'\r\nimport { useEffect, useMemo } from 'react'\r\n\r\nimport { Editor, useEditor } from '@tiptap/react'\r\n\r\nimport ExtensionKit from '../extensions/extension-kit.js'\r\nimport { EditorUser } from '../features/BlockEditor/types.js'\r\nimport { useSidebar } from './useSidebar.js'\r\n\r\nimport TurndownService from 'turndown'\r\nimport { gfm } from 'turndown-plugin-gfm'\r\nimport { AssetReturnType, openAssetHQType } from '../types.js'\r\nimport i18next from 'i18next'\r\n\r\ndeclare global {\r\n interface Window {\r\n editor: Editor | null\r\n }\r\n}\r\n\r\nconst dummyAssetHqHandler = (listener: (asset: AssetReturnType) => void, file?: File) => {}\r\n\r\nexport const useBlockEditor = ({\r\n content,\r\n handleChange,\r\n openAssetHQHandler,\r\n additionalContext,\r\n autoFocus,\r\n isEditable,\r\n dir,\r\n}: {\r\n content: { html: string; json: any }\r\n handleChange?: (data: any) => void\r\n openAssetHQHandler?: openAssetHQType\r\n additionalContext?: Record<string, any>\r\n autoFocus: boolean\r\n isEditable?: boolean\r\n dir?: 'ltr' | 'rtl'\r\n}) => {\r\n const leftSidebar = useSidebar()\r\n\r\n const turndownService = new TurndownService({})\r\n // Use the gfm plugin\r\n turndownService.use(gfm)\r\n turndownService.addRule('twitter', {\r\n filter: 'div',\r\n replacement: function (content) {\r\n return '\\n\\n' + content + '\\n\\n'\r\n },\r\n })\r\n\r\n const editor = useEditor(\r\n {\r\n content: content?.json ?? content ?? {},\r\n immediatelyRender: false,\r\n autofocus: autoFocus ?? true,\r\n editable: isEditable ?? true,\r\n onCreate: ({ editor }) => ({\r\n // provider?.on('synced', () => {\r\n // if (editor.isEmpty) {\r\n // editor.commands.setContent(initialContent)\r\n // }\r\n // })\r\n }),\r\n extensions: [\r\n ...ExtensionKit({\r\n dir: dir || i18next.dir(),\r\n openAssetHQHandler: openAssetHQHandler ?? dummyAssetHqHandler,\r\n // provider,\r\n }),\r\n // Collaboration.configure({\r\n // document: ydoc,\r\n // }),\r\n // CollaborationCursor.configure({\r\n // provider,\r\n // user: {\r\n // name: randomElement(userNames),\r\n // color: randomElement(userColors),\r\n // },\r\n // }),\r\n ],\r\n editorProps: {\r\n attributes: {\r\n languages: i18next.language,\r\n autocomplete: 'off',\r\n autocorrect: 'off',\r\n autocapitalize: 'off',\r\n class: 'min-h-full',\r\n },\r\n },\r\n onUpdate: ({ editor }) => {\r\n handleChange(editor?.getJSON() ?? {})\r\n },\r\n },\r\n [],\r\n )\r\n\r\n useEffect(() => {\r\n if (editor?.storage?.aiCommand) {\r\n editor.storage.aiCommand.title = additionalContext?.title ?? ''\r\n editor.storage.aiCommand.language = additionalContext?.language ?? ''\r\n }\r\n }, [editor, additionalContext])\r\n\r\n const users = useMemo(() => {\r\n if (!editor?.storage?.collaborationCursor?.users) {\r\n return []\r\n }\r\n\r\n return editor?.storage?.collaborationCursor?.users.map((user: EditorUser) => {\r\n const names = user.name?.split(' ')\r\n const firstName = names?.[0]\r\n const lastName = names?.[names.length - 1]\r\n const initials = `${firstName?.[0] || '?'}${lastName?.[0] || '?'}`\r\n\r\n return { ...user, initials: initials.length ? initials : '?' }\r\n })\r\n }, [editor?.storage.collaborationCursor?.users])\r\n\r\n const characterCount = editor?.storage.characterCount || {\r\n characters: () => 0,\r\n words: () => 0,\r\n }\r\n\r\n // useEffect(() => {\r\n // provider?.on('status', (event: { status: WebSocketStatus }) => {\r\n // setCollabState(event.status)\r\n // })\r\n // }, [provider])\r\n\r\n if (typeof window != 'undefined') window.editor = editor\r\n\r\n return { editor, users, characterCount, leftSidebar }\r\n}\r\n"],"names":["useEffect","useMemo","useEditor","ExtensionKit","useSidebar","TurndownService","gfm","i18next","dummyAssetHqHandler","listener","file","useBlockEditor","content","handleChange","openAssetHQHandler","additionalContext","autoFocus","isEditable","dir","leftSidebar","turndownService","use","addRule","filter","replacement","editor","json","immediatelyRender","autofocus","editable","onCreate","extensions","editorProps","attributes","languages","language","autocomplete","autocorrect","autocapitalize","class","onUpdate","getJSON","storage","aiCommand","title","users","collaborationCursor","map","user","names","name","split","firstName","lastName","length","initials","characterCount","characters","words","window"],"mappings":"AAAA;AACA,SAASA,SAAS,EAAEC,OAAO,QAAQ,QAAO;AAE1C,SAAiBC,SAAS,QAAQ,gBAAe;AAEjD,OAAOC,kBAAkB,iCAAgC;AAEzD,SAASC,UAAU,QAAQ,kBAAiB;AAE5C,OAAOC,qBAAqB,WAAU;AACtC,SAASC,GAAG,QAAQ,sBAAqB;AAEzC,OAAOC,aAAa,UAAS;AAQ7B,MAAMC,sBAAsB,CAACC,UAA4CC,QAAiB;AAE1F,OAAO,MAAMC,iBAAiB,CAAC,EAC7BC,OAAO,EACPC,YAAY,EACZC,kBAAkB,EAClBC,iBAAiB,EACjBC,SAAS,EACTC,UAAU,EACVC,GAAG,EASJ;IACC,MAAMC,cAAcf;IAEpB,MAAMgB,kBAAkB,IAAIf,gBAAgB,CAAC;IAC7C,qBAAqB;IACrBe,gBAAgBC,GAAG,CAACf;IACpBc,gBAAgBE,OAAO,CAAC,WAAW;QACjCC,QAAQ;QACRC,aAAa,SAAUZ,OAAO;YAC5B,OAAO,SAASA,UAAU;QAC5B;IACF;IAEA,MAAMa,SAASvB,UACb;QACEU,SAASA,SAASc,QAAQd,WAAW,CAAC;QACtCe,mBAAmB;QACnBC,WAAWZ,aAAa;QACxBa,UAAUZ,cAAc;QACxBa,UAAU,CAAC,EAAEL,MAAM,EAAE,GAAM,CAAA;YAM3B,CAAA;QACAM,YAAY;eACP5B,aAAa;gBACde,KAAKA,OAAOX,QAAQW,GAAG;gBACvBJ,oBAAoBA,sBAAsBN;YAE5C;SAWD;QACDwB,aAAa;YACXC,YAAY;gBACVC,WAAW3B,QAAQ4B,QAAQ;gBAC3BC,cAAc;gBACdC,aAAa;gBACbC,gBAAgB;gBAChBC,OAAO;YACT;QACF;QACAC,UAAU,CAAC,EAAEf,MAAM,EAAE;YACnBZ,aAAaY,QAAQgB,aAAa,CAAC;QACrC;IACF,GACA,EAAE;IAGJzC,UAAU;QACR,IAAIyB,QAAQiB,SAASC,WAAW;YAC9BlB,OAAOiB,OAAO,CAACC,SAAS,CAACC,KAAK,GAAG7B,mBAAmB6B,SAAS;YAC7DnB,OAAOiB,OAAO,CAACC,SAAS,CAACR,QAAQ,GAAGpB,mBAAmBoB,YAAY;QACrE;IACF,GAAG;QAACV;QAAQV;KAAkB;IAE9B,MAAM8B,QAAQ5C,QAAQ;QACpB,IAAI,CAACwB,QAAQiB,SAASI,qBAAqBD,OAAO;YAChD,OAAO,EAAE;QACX;QAEA,OAAOpB,QAAQiB,SAASI,qBAAqBD,MAAME,IAAI,CAACC;YACtD,MAAMC,QAAQD,KAAKE,IAAI,EAAEC,MAAM;YAC/B,MAAMC,YAAYH,OAAO,CAAC,EAAE;YAC5B,MAAMI,WAAWJ,OAAO,CAACA,MAAMK,MAAM,GAAG,EAAE;YAC1C,MAAMC,WAAW,CAAC,EAAEH,WAAW,CAAC,EAAE,IAAI,IAAI,EAAEC,UAAU,CAAC,EAAE,IAAI,IAAI,CAAC;YAElE,OAAO;gBAAE,GAAGL,IAAI;gBAAEO,UAAUA,SAASD,MAAM,GAAGC,WAAW;YAAI;QAC/D;IACF,GAAG;QAAC9B,QAAQiB,QAAQI,qBAAqBD;KAAM;IAE/C,MAAMW,iBAAiB/B,QAAQiB,QAAQc,kBAAkB;QACvDC,YAAY,IAAM;QAClBC,OAAO,IAAM;IACf;IAEA,oBAAoB;IACpB,qEAAqE;IACrE,mCAAmC;IACnC,OAAO;IACP,iBAAiB;IAEjB,IAAI,OAAOC,UAAU,aAAaA,OAAOlC,MAAM,GAAGA;IAElD,OAAO;QAAEA;QAAQoB;QAAOW;QAAgBrC;IAAY;AACtD,EAAC"}