payload-richtext-tiptap 0.0.35 → 0.0.37

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.
@@ -1 +1 @@
1
- {"version":3,"file":"extension-kit.d.ts","sourceRoot":"","sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"names":[],"mappings":"AAyDA,UAAU,iBAAiB;IACzB,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,YAAa,iBAAiB,+LA8GtD,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"extension-kit.d.ts","sourceRoot":"","sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"names":[],"mappings":"AA2DA,UAAU,iBAAiB;IACzB,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,YAAa,iBAAiB,+LA8GtD,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { BlockquoteFigure, CharacterCount, Color, Document, Dropcursor, Figcaption, FileHandler, Focus, FontFamily, FontSize, Heading, Highlight, HorizontalRule, ImageBlock, Link, Placeholder, Selection, SlashCommand, StarterKit, Subscript, Superscript, Table, TableOfContents, TableCell, TableHeader, TableRow, TextAlign, TextStyle, TrailingNode, Typography, Underline, // emojiSuggestion,
2
2
  Columns, Column, TaskItem, TaskList, Twitter, Tiktok, Instagram, Facebook, Linkedin, Youtube, InsideLinks } from "./index.js";
3
+ import { Markdown } from "tiptap-markdown";
3
4
  import { CodeBlockLowlight } from "@tiptap/extension-code-block-lowlight";
4
5
  import { ImageUpload } from "./ImageUpload/ImageUpload.js";
5
6
  import { TableOfContentsNode } from "./TableOfContentsNode/TableOfContentsNode.js";
@@ -37,6 +38,7 @@ export const ExtensionKit = ({ dir })=>[
37
38
  history: false,
38
39
  codeBlock: false
39
40
  }),
41
+ Markdown,
40
42
  CodeBlockLowlight.configure({
41
43
  lowlight,
42
44
  defaultLanguage: null
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"sourcesContent":["import {\n BlockquoteFigure,\n CharacterCount,\n Color,\n Document,\n Dropcursor,\n Emoji,\n Figcaption,\n FileHandler,\n Focus,\n FontFamily,\n FontSize,\n Heading,\n Highlight,\n HorizontalRule,\n ImageBlock,\n Link,\n Placeholder,\n Selection,\n SlashCommand,\n StarterKit,\n Subscript,\n Superscript,\n Table,\n TableOfContents,\n TableCell,\n TableHeader,\n TableRow,\n TextAlign,\n TextStyle,\n TrailingNode,\n Typography,\n Underline,\n // emojiSuggestion,\n Columns,\n Column,\n TaskItem,\n TaskList,\n Twitter,\n Tiktok,\n Instagram,\n Facebook,\n Linkedin,\n Youtube,\n Paragraph,\n InsideLinks,\n} from \"./index.js\";\nimport { CodeBlockLowlight } from \"@tiptap/extension-code-block-lowlight\";\nimport { ImageUpload } from \"./ImageUpload/ImageUpload.js\";\nimport { TableOfContentsNode } from \"./TableOfContentsNode/TableOfContentsNode.js\";\nimport lowlight from \"lowlight\";\nimport TextDirection from \"tiptap-text-direction\";\n\nimport API from \"../lib/api.js\";\nimport History from \"@tiptap/extension-history\";\nimport { Iframe } from \"./Iframe/iframe.js\";\n\ninterface ExtensionKitProps {\n dir?: \"rtl\" | \"ltr\";\n}\n\nexport const ExtensionKit = ({ dir }: ExtensionKitProps) => [\n Document,\n Columns,\n TaskList,\n TaskItem.configure({\n nested: true,\n }),\n Column,\n Selection,\n Heading.configure({\n levels: [1, 2, 3, 4, 5, 6],\n }),\n HorizontalRule,\n StarterKit.configure({\n document: false,\n dropcursor: false,\n heading: false,\n horizontalRule: false,\n blockquote: false,\n history: false,\n codeBlock: false,\n }),\n\n CodeBlockLowlight.configure({\n lowlight,\n defaultLanguage: null,\n }),\n TextStyle,\n FontSize,\n FontFamily,\n Color,\n TrailingNode,\n Link.configure({\n openOnClick: false,\n }),\n Highlight.configure({ multicolor: true }),\n Underline,\n CharacterCount.configure({ limit: 50000 }),\n TableOfContents,\n TableOfContentsNode,\n ImageUpload.configure({}),\n ImageBlock,\n FileHandler.configure({\n allowedMimeTypes: [\"image/png\", \"image/jpeg\", \"image/gif\", \"image/webp\"],\n onDrop: (currentEditor, files, pos) => {\n files.forEach(async () => {\n const url = await API.uploadImage();\n\n currentEditor.chain().setImageBlockAt({ pos, src: url }).focus().run();\n });\n },\n onPaste: (currentEditor, files) => {\n files.forEach(async () => {\n const url = await API.uploadImage();\n\n return currentEditor\n .chain()\n .setImageBlockAt({\n pos: currentEditor.state.selection.anchor,\n src: url,\n })\n .focus()\n .run();\n });\n },\n }),\n // Emoji.configure({\n // enableEmoticons: true,\n // suggestion: emojiSuggestion,\n // }),\n TextAlign.extend({\n addKeyboardShortcuts() {\n return {};\n },\n }).configure({\n types: [\"heading\", \"paragraph\"],\n }),\n Subscript,\n Superscript,\n Table,\n TableCell,\n TableHeader,\n TableRow,\n Typography,\n Placeholder.configure({\n includeChildren: true,\n showOnlyCurrent: false,\n placeholder: () => \"\",\n }),\n SlashCommand,\n Focus,\n Figcaption,\n BlockquoteFigure,\n Dropcursor.configure({\n width: 2,\n class: \"ProseMirror-dropcursor border-black\",\n }),\n History,\n Iframe,\n Twitter,\n Tiktok,\n Instagram,\n Facebook,\n Linkedin,\n Youtube,\n // Paragraph,\n InsideLinks,\n TextDirection.configure({\n types: [\"heading\", \"paragraph\"],\n }),\n];\n\nexport default ExtensionKit;\n"],"names":["BlockquoteFigure","CharacterCount","Color","Document","Dropcursor","Figcaption","FileHandler","Focus","FontFamily","FontSize","Heading","Highlight","HorizontalRule","ImageBlock","Link","Placeholder","Selection","SlashCommand","StarterKit","Subscript","Superscript","Table","TableOfContents","TableCell","TableHeader","TableRow","TextAlign","TextStyle","TrailingNode","Typography","Underline","Columns","Column","TaskItem","TaskList","Twitter","Tiktok","Instagram","Facebook","Linkedin","Youtube","InsideLinks","CodeBlockLowlight","ImageUpload","TableOfContentsNode","lowlight","TextDirection","API","History","Iframe","ExtensionKit","dir","configure","nested","levels","document","dropcursor","heading","horizontalRule","blockquote","history","codeBlock","defaultLanguage","openOnClick","multicolor","limit","allowedMimeTypes","onDrop","currentEditor","files","pos","forEach","url","uploadImage","chain","setImageBlockAt","src","focus","run","onPaste","state","selection","anchor","extend","addKeyboardShortcuts","types","includeChildren","showOnlyCurrent","placeholder","width","class"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"sourcesContent":["import {\n BlockquoteFigure,\n CharacterCount,\n Color,\n Document,\n Dropcursor,\n Emoji,\n Figcaption,\n FileHandler,\n Focus,\n FontFamily,\n FontSize,\n Heading,\n Highlight,\n HorizontalRule,\n ImageBlock,\n Link,\n Placeholder,\n Selection,\n SlashCommand,\n StarterKit,\n Subscript,\n Superscript,\n Table,\n TableOfContents,\n TableCell,\n TableHeader,\n TableRow,\n TextAlign,\n TextStyle,\n TrailingNode,\n Typography,\n Underline,\n // emojiSuggestion,\n Columns,\n Column,\n TaskItem,\n TaskList,\n Twitter,\n Tiktok,\n Instagram,\n Facebook,\n Linkedin,\n Youtube,\n Paragraph,\n InsideLinks,\n} from \"./index.js\";\nimport { Markdown } from \"tiptap-markdown\";\n\nimport { CodeBlockLowlight } from \"@tiptap/extension-code-block-lowlight\";\nimport { ImageUpload } from \"./ImageUpload/ImageUpload.js\";\nimport { TableOfContentsNode } from \"./TableOfContentsNode/TableOfContentsNode.js\";\nimport lowlight from \"lowlight\";\nimport TextDirection from \"tiptap-text-direction\";\n\nimport API from \"../lib/api.js\";\nimport History from \"@tiptap/extension-history\";\nimport { Iframe } from \"./Iframe/iframe.js\";\n\ninterface ExtensionKitProps {\n dir?: \"rtl\" | \"ltr\";\n}\n\nexport const ExtensionKit = ({ dir }: ExtensionKitProps) => [\n Document,\n Columns,\n TaskList,\n TaskItem.configure({\n nested: true,\n }),\n Column,\n Selection,\n Heading.configure({\n levels: [1, 2, 3, 4, 5, 6],\n }),\n HorizontalRule,\n StarterKit.configure({\n document: false,\n dropcursor: false,\n heading: false,\n horizontalRule: false,\n blockquote: false,\n history: false,\n codeBlock: false,\n }),\n Markdown,\n CodeBlockLowlight.configure({\n lowlight,\n defaultLanguage: null,\n }),\n TextStyle,\n FontSize,\n FontFamily,\n Color,\n TrailingNode,\n Link.configure({\n openOnClick: false,\n }),\n Highlight.configure({ multicolor: true }),\n Underline,\n CharacterCount.configure({ limit: 50000 }),\n TableOfContents,\n TableOfContentsNode,\n ImageUpload.configure({}),\n ImageBlock,\n FileHandler.configure({\n allowedMimeTypes: [\"image/png\", \"image/jpeg\", \"image/gif\", \"image/webp\"],\n onDrop: (currentEditor, files, pos) => {\n files.forEach(async () => {\n const url = await API.uploadImage();\n\n currentEditor.chain().setImageBlockAt({ pos, src: url }).focus().run();\n });\n },\n onPaste: (currentEditor, files) => {\n files.forEach(async () => {\n const url = await API.uploadImage();\n\n return currentEditor\n .chain()\n .setImageBlockAt({\n pos: currentEditor.state.selection.anchor,\n src: url,\n })\n .focus()\n .run();\n });\n },\n }),\n // Emoji.configure({\n // enableEmoticons: true,\n // suggestion: emojiSuggestion,\n // }),\n TextAlign.extend({\n addKeyboardShortcuts() {\n return {};\n },\n }).configure({\n types: [\"heading\", \"paragraph\"],\n }),\n Subscript,\n Superscript,\n Table,\n TableCell,\n TableHeader,\n TableRow,\n Typography,\n Placeholder.configure({\n includeChildren: true,\n showOnlyCurrent: false,\n placeholder: () => \"\",\n }),\n SlashCommand,\n Focus,\n Figcaption,\n BlockquoteFigure,\n Dropcursor.configure({\n width: 2,\n class: \"ProseMirror-dropcursor border-black\",\n }),\n History,\n Iframe,\n Twitter,\n Tiktok,\n Instagram,\n Facebook,\n Linkedin,\n Youtube,\n // Paragraph,\n InsideLinks,\n TextDirection.configure({\n types: [\"heading\", \"paragraph\"],\n }),\n];\n\nexport default ExtensionKit;\n"],"names":["BlockquoteFigure","CharacterCount","Color","Document","Dropcursor","Figcaption","FileHandler","Focus","FontFamily","FontSize","Heading","Highlight","HorizontalRule","ImageBlock","Link","Placeholder","Selection","SlashCommand","StarterKit","Subscript","Superscript","Table","TableOfContents","TableCell","TableHeader","TableRow","TextAlign","TextStyle","TrailingNode","Typography","Underline","Columns","Column","TaskItem","TaskList","Twitter","Tiktok","Instagram","Facebook","Linkedin","Youtube","InsideLinks","Markdown","CodeBlockLowlight","ImageUpload","TableOfContentsNode","lowlight","TextDirection","API","History","Iframe","ExtensionKit","dir","configure","nested","levels","document","dropcursor","heading","horizontalRule","blockquote","history","codeBlock","defaultLanguage","openOnClick","multicolor","limit","allowedMimeTypes","onDrop","currentEditor","files","pos","forEach","url","uploadImage","chain","setImageBlockAt","src","focus","run","onPaste","state","selection","anchor","extend","addKeyboardShortcuts","types","includeChildren","showOnlyCurrent","placeholder","width","class"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { TiptapProps } from "./types.js";
2
- export declare const BlockEditor: ({ handleChange, content }: TiptapProps) => import("react").JSX.Element;
2
+ export declare const BlockEditor: ({ handleChange, content, handleChangeMarkdown, }: TiptapProps) => import("react").JSX.Element;
3
3
  export default BlockEditor;
4
4
  //# 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":"AAqBA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,eAAO,MAAM,WAAW,8BAA+B,WAAW,gCAyFjE,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"BlockEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/BlockEditor.tsx"],"names":[],"mappings":"AAqBA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,eAAO,MAAM,WAAW,qDAIrB,WAAW,gCA0Fb,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -16,12 +16,13 @@ import { Sidebar } from "../Sidebar/Sidebar.js";
16
16
  import { ContentItemMenu } from "../menus/ContentItemMenu/ContentItemMenu.js";
17
17
  import { TextMenu } from "../menus/TextMenu/TextMenu.js";
18
18
  import { LinkMenu } from "../menus/index.js";
19
- export const BlockEditor = ({ handleChange, content })=>{
19
+ export const BlockEditor = ({ handleChange, content, handleChangeMarkdown })=>{
20
20
  const menuContainerRef = useRef(null);
21
21
  const editorRef = useRef(null);
22
22
  const { editor, users, characterCount, leftSidebar } = useBlockEditor({
23
23
  content: content,
24
- handleChange: handleChange
24
+ handleChange: handleChange,
25
+ handleChangeMarkdown
25
26
  });
26
27
  const { code } = useLocale();
27
28
  const displayedUsers = users.slice(0, 3);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/BlockEditor.tsx"],"sourcesContent":["\"use client\";\nimport { EditorContent } from \"@tiptap/react\";\nimport { useEffect, useMemo, useRef } from \"react\";\n\nimport { useLocale } from \"@payloadcms/ui/providers/Locale\";\nimport { useTranslation } from \"@payloadcms/ui/providers/Translation\";\nimport { EditorContext } from \"../../context/EditorContext.js\";\nimport { IframeMenu } from \"../../extensions/Iframe/menus/index.js\";\nimport ImageBlockMenu from \"../../extensions/ImageBlock/components/ImageBlockMenu.js\";\nimport { InsideLinksMenu } from \"../../extensions/InsideLinks/menus/index.js\";\nimport { ColumnsMenu } from \"../../extensions/MultiColumn/menus/ColumnsMenu.js\";\nimport { SocialMediaMenu } from \"../../extensions/SocialMedia/menus/index.js\";\nimport {\n TableColumnMenu,\n TableRowMenu,\n} from \"../../extensions/Table/menus/index.js\";\nimport { useBlockEditor } from \"../../hooks/useBlockEditor.js\";\nimport { Sidebar } from \"../Sidebar/Sidebar.js\";\nimport { ContentItemMenu } from \"../menus/ContentItemMenu/ContentItemMenu.js\";\nimport { TextMenu } from \"../menus/TextMenu/TextMenu.js\";\nimport { LinkMenu } from \"../menus/index.js\";\nimport { TiptapProps } from \"./types.js\";\n\nexport const BlockEditor = ({ handleChange, content }: TiptapProps) => {\n const menuContainerRef = useRef(null);\n const editorRef = useRef<HTMLDivElement>(null);\n\n const { editor, users, characterCount, leftSidebar } = useBlockEditor({\n content: content,\n handleChange: handleChange,\n });\n\n const { code } = useLocale();\n\n const displayedUsers = users.slice(0, 3);\n\n const providerValue = useMemo(() => {\n return {};\n }, []);\n\n useEffect(() => {\n if (code === \"ar\" || code === \"fa\") {\n editor?.commands?.setTextDirection(\"rtl\");\n editor?.commands?.setContent(\"dwa\");\n }\n }, [code]);\n\n if (!editor) {\n return null;\n }\n const { i18n } = useTranslation();\n\n // Define the content for different languages\n const contentEn = \"للكتابة...\"; // Content for English or default language\n const contentAr = \"انقر هنا للكتابة...\"; // Content for Arabic language\n const contentFa = \"اینجا کلیک کنید تا شروع به نوشتن کنید...\";\n\n /*switch (i18n.language) {\n case 'ar':\n editor.commands.setContent(contentAr)\n break\n case 'fa':\n editor.commands.setContent(contentFa)\n break\n default:\n editor.commands.setContent(contentEn)\n }*/\n\n return (\n <EditorContext.Provider value={providerValue}>\n <div\n lang={i18n.language}\n className=\"flex h-full overflow-visible\"\n ref={menuContainerRef}\n >\n <Sidebar\n isOpen={leftSidebar.isOpen}\n onClose={leftSidebar.close}\n editor={editor}\n />\n <div className=\"relative flex flex-col flex-1 h-full justify-center items-center \">\n {/* <EditorHeader\n characters={characterCount.characters()}\n users={displayedUsers}\n words={characterCount.words()}\n isSidebarOpen={leftSidebar.isOpen}\n toggleSidebar={leftSidebar.toggle}\n /> */}\n <EditorContent\n editor={editor}\n ref={editorRef}\n lang={i18n.language}\n className=\"flex-1 overflow-y-visible w-full h-full outline-none outline-offset-0\"\n style={{\n outline: \"none\",\n }}\n />\n <ContentItemMenu editor={editor} />\n <LinkMenu editor={editor} appendTo={menuContainerRef} />\n\n <TextMenu editor={editor} />\n <IframeMenu editor={editor} appendTo={menuContainerRef} />\n <SocialMediaMenu editor={editor} appendTo={menuContainerRef} />\n <InsideLinksMenu editor={editor} appendTo={menuContainerRef} />\n <ColumnsMenu editor={editor} appendTo={menuContainerRef} />\n <TableRowMenu editor={editor} appendTo={menuContainerRef} />\n <TableColumnMenu editor={editor} appendTo={menuContainerRef} />\n <ImageBlockMenu editor={editor} appendTo={menuContainerRef} />\n </div>\n </div>\n </EditorContext.Provider>\n );\n};\n\nexport default BlockEditor;\n"],"names":["EditorContent","useEffect","useMemo","useRef","useLocale","useTranslation","EditorContext","IframeMenu","ImageBlockMenu","InsideLinksMenu","ColumnsMenu","SocialMediaMenu","TableColumnMenu","TableRowMenu","useBlockEditor","Sidebar","ContentItemMenu","TextMenu","LinkMenu","BlockEditor","handleChange","content","menuContainerRef","editorRef","editor","users","characterCount","leftSidebar","code","displayedUsers","slice","providerValue","commands","setTextDirection","setContent","i18n","contentEn","contentAr","contentFa","Provider","value","div","lang","language","className","ref","isOpen","onClose","close","style","outline","appendTo"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,aAAa,QAAQ,gBAAgB;AAC9C,SAASC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,QAAQ;AAEnD,SAASC,SAAS,QAAQ,kCAAkC;AAC5D,SAASC,cAAc,QAAQ,uCAAuC;AACtE,SAASC,aAAa,QAAQ,iCAAiC;AAC/D,SAASC,UAAU,QAAQ,yCAAyC;AACpE,OAAOC,oBAAoB,2DAA2D;AACtF,SAASC,eAAe,QAAQ,8CAA8C;AAC9E,SAASC,WAAW,QAAQ,oDAAoD;AAChF,SAASC,eAAe,QAAQ,8CAA8C;AAC9E,SACEC,eAAe,EACfC,YAAY,QACP,wCAAwC;AAC/C,SAASC,cAAc,QAAQ,gCAAgC;AAC/D,SAASC,OAAO,QAAQ,wBAAwB;AAChD,SAASC,eAAe,QAAQ,8CAA8C;AAC9E,SAASC,QAAQ,QAAQ,gCAAgC;AACzD,SAASC,QAAQ,QAAQ,oBAAoB;AAG7C,OAAO,MAAMC,cAAc,CAAC,EAAEC,YAAY,EAAEC,OAAO,EAAe;IAChE,MAAMC,mBAAmBnB,OAAO;IAChC,MAAMoB,YAAYpB,OAAuB;IAEzC,MAAM,EAAEqB,MAAM,EAAEC,KAAK,EAAEC,cAAc,EAAEC,WAAW,EAAE,GAAGb,eAAe;QACpEO,SAASA;QACTD,cAAcA;IAChB;IAEA,MAAM,EAAEQ,IAAI,EAAE,GAAGxB;IAEjB,MAAMyB,iBAAiBJ,MAAMK,KAAK,CAAC,GAAG;IAEtC,MAAMC,gBAAgB7B,QAAQ;QAC5B,OAAO,CAAC;IACV,GAAG,EAAE;IAELD,UAAU;QACR,IAAI2B,SAAS,QAAQA,SAAS,MAAM;YAClCJ,QAAQQ,UAAUC,iBAAiB;YACnCT,QAAQQ,UAAUE,WAAW;QAC/B;IACF,GAAG;QAACN;KAAK;IAET,IAAI,CAACJ,QAAQ;QACX,OAAO;IACT;IACA,MAAM,EAAEW,IAAI,EAAE,GAAG9B;IAEjB,6CAA6C;IAC7C,MAAM+B,YAAY,cAAc,0CAA0C;IAC1E,MAAMC,YAAY,uBAAuB,8BAA8B;IACvE,MAAMC,YAAY;IAElB;;;;;;;;;GASC,GAED,qBACE,KAAChC,cAAciC,QAAQ;QAACC,OAAOT;kBAC7B,cAAA,MAACU;YACCC,MAAMP,KAAKQ,QAAQ;YACnBC,WAAU;YACVC,KAAKvB;;8BAEL,KAACP;oBACC+B,QAAQnB,YAAYmB,MAAM;oBAC1BC,SAASpB,YAAYqB,KAAK;oBAC1BxB,QAAQA;;8BAEV,MAACiB;oBAAIG,WAAU;;sCAQb,KAAC5C;4BACCwB,QAAQA;4BACRqB,KAAKtB;4BACLmB,MAAMP,KAAKQ,QAAQ;4BACnBC,WAAU;4BACVK,OAAO;gCACLC,SAAS;4BACX;;sCAEF,KAAClC;4BAAgBQ,QAAQA;;sCACzB,KAACN;4BAASM,QAAQA;4BAAQ2B,UAAU7B;;sCAEpC,KAACL;4BAASO,QAAQA;;sCAClB,KAACjB;4BAAWiB,QAAQA;4BAAQ2B,UAAU7B;;sCACtC,KAACX;4BAAgBa,QAAQA;4BAAQ2B,UAAU7B;;sCAC3C,KAACb;4BAAgBe,QAAQA;4BAAQ2B,UAAU7B;;sCAC3C,KAACZ;4BAAYc,QAAQA;4BAAQ2B,UAAU7B;;sCACvC,KAACT;4BAAaW,QAAQA;4BAAQ2B,UAAU7B;;sCACxC,KAACV;4BAAgBY,QAAQA;4BAAQ2B,UAAU7B;;sCAC3C,KAACd;4BAAegB,QAAQA;4BAAQ2B,UAAU7B;;;;;;;AAKpD,EAAE;AAEF,eAAeH,YAAY"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/BlockEditor.tsx"],"sourcesContent":["\"use client\";\nimport { EditorContent } from \"@tiptap/react\";\nimport { useEffect, useMemo, useRef } from \"react\";\n\nimport { useLocale } from \"@payloadcms/ui/providers/Locale\";\nimport { useTranslation } from \"@payloadcms/ui/providers/Translation\";\nimport { EditorContext } from \"../../context/EditorContext.js\";\nimport { IframeMenu } from \"../../extensions/Iframe/menus/index.js\";\nimport ImageBlockMenu from \"../../extensions/ImageBlock/components/ImageBlockMenu.js\";\nimport { InsideLinksMenu } from \"../../extensions/InsideLinks/menus/index.js\";\nimport { ColumnsMenu } from \"../../extensions/MultiColumn/menus/ColumnsMenu.js\";\nimport { SocialMediaMenu } from \"../../extensions/SocialMedia/menus/index.js\";\nimport {\n TableColumnMenu,\n TableRowMenu,\n} from \"../../extensions/Table/menus/index.js\";\nimport { useBlockEditor } from \"../../hooks/useBlockEditor.js\";\nimport { Sidebar } from \"../Sidebar/Sidebar.js\";\nimport { ContentItemMenu } from \"../menus/ContentItemMenu/ContentItemMenu.js\";\nimport { TextMenu } from \"../menus/TextMenu/TextMenu.js\";\nimport { LinkMenu } from \"../menus/index.js\";\nimport { TiptapProps } from \"./types.js\";\n\nexport const BlockEditor = ({\n handleChange,\n content,\n handleChangeMarkdown,\n}: TiptapProps) => {\n const menuContainerRef = useRef(null);\n const editorRef = useRef<HTMLDivElement>(null);\n\n const { editor, users, characterCount, leftSidebar } = useBlockEditor({\n content: content,\n handleChange: handleChange,\n handleChangeMarkdown,\n });\n\n const { code } = useLocale();\n\n const displayedUsers = users.slice(0, 3);\n\n const providerValue = useMemo(() => {\n return {};\n }, []);\n\n useEffect(() => {\n if (code === \"ar\" || code === \"fa\") {\n editor?.commands?.setTextDirection(\"rtl\");\n editor?.commands?.setContent(\"dwa\");\n }\n }, [code]);\n\n if (!editor) {\n return null;\n }\n const { i18n } = useTranslation();\n\n // Define the content for different languages\n const contentEn = \"للكتابة...\"; // Content for English or default language\n const contentAr = \"انقر هنا للكتابة...\"; // Content for Arabic language\n const contentFa = \"اینجا کلیک کنید تا شروع به نوشتن کنید...\";\n\n /*switch (i18n.language) {\n case 'ar':\n editor.commands.setContent(contentAr)\n break\n case 'fa':\n editor.commands.setContent(contentFa)\n break\n default:\n editor.commands.setContent(contentEn)\n }*/\n\n return (\n <EditorContext.Provider value={providerValue}>\n <div\n lang={i18n.language}\n className=\"flex h-full overflow-visible\"\n ref={menuContainerRef}\n >\n <Sidebar\n isOpen={leftSidebar.isOpen}\n onClose={leftSidebar.close}\n editor={editor}\n />\n <div className=\"relative flex flex-col flex-1 h-full justify-center items-center \">\n {/* <EditorHeader\n characters={characterCount.characters()}\n users={displayedUsers}\n words={characterCount.words()}\n isSidebarOpen={leftSidebar.isOpen}\n toggleSidebar={leftSidebar.toggle}\n /> */}\n <EditorContent\n editor={editor}\n ref={editorRef}\n lang={i18n.language}\n className=\"flex-1 overflow-y-visible w-full h-full outline-none outline-offset-0\"\n style={{\n outline: \"none\",\n }}\n />\n <ContentItemMenu editor={editor} />\n <LinkMenu editor={editor} appendTo={menuContainerRef} />\n\n <TextMenu editor={editor} />\n <IframeMenu editor={editor} appendTo={menuContainerRef} />\n <SocialMediaMenu editor={editor} appendTo={menuContainerRef} />\n <InsideLinksMenu editor={editor} appendTo={menuContainerRef} />\n <ColumnsMenu editor={editor} appendTo={menuContainerRef} />\n <TableRowMenu editor={editor} appendTo={menuContainerRef} />\n <TableColumnMenu editor={editor} appendTo={menuContainerRef} />\n <ImageBlockMenu editor={editor} appendTo={menuContainerRef} />\n </div>\n </div>\n </EditorContext.Provider>\n );\n};\n\nexport default BlockEditor;\n"],"names":["EditorContent","useEffect","useMemo","useRef","useLocale","useTranslation","EditorContext","IframeMenu","ImageBlockMenu","InsideLinksMenu","ColumnsMenu","SocialMediaMenu","TableColumnMenu","TableRowMenu","useBlockEditor","Sidebar","ContentItemMenu","TextMenu","LinkMenu","BlockEditor","handleChange","content","handleChangeMarkdown","menuContainerRef","editorRef","editor","users","characterCount","leftSidebar","code","displayedUsers","slice","providerValue","commands","setTextDirection","setContent","i18n","contentEn","contentAr","contentFa","Provider","value","div","lang","language","className","ref","isOpen","onClose","close","style","outline","appendTo"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,aAAa,QAAQ,gBAAgB;AAC9C,SAASC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,QAAQ;AAEnD,SAASC,SAAS,QAAQ,kCAAkC;AAC5D,SAASC,cAAc,QAAQ,uCAAuC;AACtE,SAASC,aAAa,QAAQ,iCAAiC;AAC/D,SAASC,UAAU,QAAQ,yCAAyC;AACpE,OAAOC,oBAAoB,2DAA2D;AACtF,SAASC,eAAe,QAAQ,8CAA8C;AAC9E,SAASC,WAAW,QAAQ,oDAAoD;AAChF,SAASC,eAAe,QAAQ,8CAA8C;AAC9E,SACEC,eAAe,EACfC,YAAY,QACP,wCAAwC;AAC/C,SAASC,cAAc,QAAQ,gCAAgC;AAC/D,SAASC,OAAO,QAAQ,wBAAwB;AAChD,SAASC,eAAe,QAAQ,8CAA8C;AAC9E,SAASC,QAAQ,QAAQ,gCAAgC;AACzD,SAASC,QAAQ,QAAQ,oBAAoB;AAG7C,OAAO,MAAMC,cAAc,CAAC,EAC1BC,YAAY,EACZC,OAAO,EACPC,oBAAoB,EACR;IACZ,MAAMC,mBAAmBpB,OAAO;IAChC,MAAMqB,YAAYrB,OAAuB;IAEzC,MAAM,EAAEsB,MAAM,EAAEC,KAAK,EAAEC,cAAc,EAAEC,WAAW,EAAE,GAAGd,eAAe;QACpEO,SAASA;QACTD,cAAcA;QACdE;IACF;IAEA,MAAM,EAAEO,IAAI,EAAE,GAAGzB;IAEjB,MAAM0B,iBAAiBJ,MAAMK,KAAK,CAAC,GAAG;IAEtC,MAAMC,gBAAgB9B,QAAQ;QAC5B,OAAO,CAAC;IACV,GAAG,EAAE;IAELD,UAAU;QACR,IAAI4B,SAAS,QAAQA,SAAS,MAAM;YAClCJ,QAAQQ,UAAUC,iBAAiB;YACnCT,QAAQQ,UAAUE,WAAW;QAC/B;IACF,GAAG;QAACN;KAAK;IAET,IAAI,CAACJ,QAAQ;QACX,OAAO;IACT;IACA,MAAM,EAAEW,IAAI,EAAE,GAAG/B;IAEjB,6CAA6C;IAC7C,MAAMgC,YAAY,cAAc,0CAA0C;IAC1E,MAAMC,YAAY,uBAAuB,8BAA8B;IACvE,MAAMC,YAAY;IAElB;;;;;;;;;GASC,GAED,qBACE,KAACjC,cAAckC,QAAQ;QAACC,OAAOT;kBAC7B,cAAA,MAACU;YACCC,MAAMP,KAAKQ,QAAQ;YACnBC,WAAU;YACVC,KAAKvB;;8BAEL,KAACR;oBACCgC,QAAQnB,YAAYmB,MAAM;oBAC1BC,SAASpB,YAAYqB,KAAK;oBAC1BxB,QAAQA;;8BAEV,MAACiB;oBAAIG,WAAU;;sCAQb,KAAC7C;4BACCyB,QAAQA;4BACRqB,KAAKtB;4BACLmB,MAAMP,KAAKQ,QAAQ;4BACnBC,WAAU;4BACVK,OAAO;gCACLC,SAAS;4BACX;;sCAEF,KAACnC;4BAAgBS,QAAQA;;sCACzB,KAACP;4BAASO,QAAQA;4BAAQ2B,UAAU7B;;sCAEpC,KAACN;4BAASQ,QAAQA;;sCAClB,KAAClB;4BAAWkB,QAAQA;4BAAQ2B,UAAU7B;;sCACtC,KAACZ;4BAAgBc,QAAQA;4BAAQ2B,UAAU7B;;sCAC3C,KAACd;4BAAgBgB,QAAQA;4BAAQ2B,UAAU7B;;sCAC3C,KAACb;4BAAYe,QAAQA;4BAAQ2B,UAAU7B;;sCACvC,KAACV;4BAAaY,QAAQA;4BAAQ2B,UAAU7B;;sCACxC,KAACX;4BAAgBa,QAAQA;4BAAQ2B,UAAU7B;;sCAC3C,KAACf;4BAAeiB,QAAQA;4BAAQ2B,UAAU7B;;;;;;;AAKpD,EAAE;AAEF,eAAeJ,YAAY"}
@@ -1,6 +1,7 @@
1
1
  export interface TiptapProps {
2
2
  hasCollab: boolean;
3
3
  handleChange: (value: any) => void;
4
+ handleChangeMarkdown?: (value: any) => void;
4
5
  content: {
5
6
  html: string;
6
7
  json: any;
@@ -17,8 +18,8 @@ export type EditorUser = {
17
18
  color: string;
18
19
  initials?: string;
19
20
  };
20
- export type AiTone = 'academic' | 'business' | 'casual' | 'childfriendly' | 'conversational' | 'emotional' | 'humorous' | 'informative' | 'inspirational' | string;
21
- export type AiPromptType = 'SHORTEN' | 'EXTEND' | 'SIMPLIFY' | 'TONE';
21
+ export type AiTone = "academic" | "business" | "casual" | "childfriendly" | "conversational" | "emotional" | "humorous" | "informative" | "inspirational" | string;
22
+ export type AiPromptType = "SHORTEN" | "EXTEND" | "SIMPLIFY" | "TONE";
22
23
  export type AiToneOption = {
23
24
  name: string;
24
25
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/types.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;IAClC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAA;CACrC;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,GAAG,CAAA;CACX,CAAA;AACD,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,MAAM,GACd,UAAU,GACV,UAAU,GACV,QAAQ,GACR,eAAe,GACf,gBAAgB,GAChB,WAAW,GACX,UAAU,GACV,aAAa,GACb,eAAe,GACf,MAAM,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAA;AAErE,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/types.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACnC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5C,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC;CACtC;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AACF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,MAAM,GACd,UAAU,GACV,UAAU,GACV,QAAQ,GACR,eAAe,GACf,gBAAgB,GAChB,WAAW,GACX,UAAU,GACV,aAAa,GACb,eAAe,GACf,MAAM,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAEtE,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/types.tsx"],"sourcesContent":["export interface TiptapProps {\n hasCollab: boolean\n handleChange: (value: any) => void\n content: { html: string; json: any }\n}\n\nexport type LanguageOption = {\n name: string\n label: string\n value: any\n}\nexport type EditorUser = {\n clientId: string\n name: string\n color: string\n initials?: string\n}\n\nexport type AiTone =\n | 'academic'\n | 'business'\n | 'casual'\n | 'childfriendly'\n | 'conversational'\n | 'emotional'\n | 'humorous'\n | 'informative'\n | 'inspirational'\n | string\n\nexport type AiPromptType = 'SHORTEN' | 'EXTEND' | 'SIMPLIFY' | 'TONE'\n\nexport type AiToneOption = {\n name: string\n label: string\n value: AiTone\n}\n\nexport type AiImageStyle = {\n name: string\n label: string\n value: string\n}\n"],"names":[],"rangeMappings":"","mappings":"AAsCA,WAIC"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/types.tsx"],"sourcesContent":["export interface TiptapProps {\n hasCollab: boolean;\n handleChange: (value: any) => void;\n handleChangeMarkdown?: (value: any) => void;\n content: { html: string; json: any };\n}\n\nexport type LanguageOption = {\n name: string;\n label: string;\n value: any;\n};\nexport type EditorUser = {\n clientId: string;\n name: string;\n color: string;\n initials?: string;\n};\n\nexport type AiTone =\n | \"academic\"\n | \"business\"\n | \"casual\"\n | \"childfriendly\"\n | \"conversational\"\n | \"emotional\"\n | \"humorous\"\n | \"informative\"\n | \"inspirational\"\n | string;\n\nexport type AiPromptType = \"SHORTEN\" | \"EXTEND\" | \"SIMPLIFY\" | \"TONE\";\n\nexport type AiToneOption = {\n name: string;\n label: string;\n value: AiTone;\n};\n\nexport type AiImageStyle = {\n name: string;\n label: string;\n value: string;\n};\n"],"names":[],"rangeMappings":"","mappings":"AAuCA,WAIE"}
@@ -4,12 +4,13 @@ declare global {
4
4
  editor: Editor | null;
5
5
  }
6
6
  }
7
- export declare const useBlockEditor: ({ content, handleChange, }: {
7
+ export declare const useBlockEditor: ({ content, handleChange, handleChangeMarkdown, }: {
8
8
  content: {
9
9
  html: string;
10
10
  json: any;
11
11
  };
12
12
  handleChange: (data: any) => void;
13
+ handleChangeMarkdown: (data: any) => void;
13
14
  }) => {
14
15
  editor: Editor;
15
16
  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;AASlD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB;CACF;AAED,eAAO,MAAM,cAAc,+BAGxB;IACD,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CACnC;;;;;CAoFA,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,CAAC;AASlD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB;CACF;AAED,eAAO,MAAM,cAAc,qDAIxB;IACD,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAClC,oBAAoB,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CAC3C;;;;;CAqFA,CAAC"}
@@ -6,7 +6,7 @@ import { useSidebar } from "./useSidebar.js";
6
6
  import TurndownService from "turndown";
7
7
  import { gfm } from "turndown-plugin-gfm";
8
8
  import { useTranslation } from "@payloadcms/ui/providers/Translation";
9
- export const useBlockEditor = ({ content, handleChange })=>{
9
+ export const useBlockEditor = ({ content, handleChange, handleChangeMarkdown })=>{
10
10
  const leftSidebar = useSidebar();
11
11
  const turndownService = new TurndownService({});
12
12
  // Use the gfm plugin
@@ -43,6 +43,7 @@ export const useBlockEditor = ({ content, handleChange })=>{
43
43
  },
44
44
  onUpdate: ({ editor })=>{
45
45
  handleChange(editor?.getJSON() ?? {});
46
+ handleChangeMarkdown(editor?.storage?.markdown?.getMarkdown() ?? "");
46
47
  }
47
48
  }, []);
48
49
  const users = useMemo(()=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/fields/TiptapEditor/hooks/useBlockEditor.ts"],"sourcesContent":["\"use client\";\nimport { useMemo } from \"react\";\n\nimport { Editor, useEditor } from \"@tiptap/react\";\n\nimport ExtensionKit from \"../extensions/extension-kit.js\";\nimport { EditorUser } from \"../features/BlockEditor/types.js\";\nimport { useSidebar } from \"./useSidebar.js\";\n\nimport TurndownService from \"turndown\";\nimport { gfm } from \"turndown-plugin-gfm\";\nimport { useTranslation } from \"@payloadcms/ui/providers/Translation\";\ndeclare global {\n interface Window {\n editor: Editor | null;\n }\n}\n\nexport const useBlockEditor = ({\n content,\n handleChange,\n}: {\n content: { html: string; json: any };\n handleChange: (data: any) => void;\n}) => {\n const leftSidebar = useSidebar();\n\n const turndownService = new TurndownService({});\n // Use the gfm plugin\n turndownService.use(gfm);\n turndownService.addRule(\"twitter\", {\n filter: \"div\",\n replacement: function (content) {\n return \"\\n\\n\" + content + \"\\n\\n\";\n },\n });\n const { t, i18n } = useTranslation();\n\n const editor = useEditor(\n {\n content: content?.json ?? content ?? {},\n autofocus: true,\n onCreate: ({ editor }) => {\n // provider?.on('synced', () => {\n // if (editor.isEmpty) {\n // editor.commands.setContent(initialContent)\n // }\n // })\n },\n extensions: [\n ...ExtensionKit({\n // provider,\n }),\n // Collaboration.configure({\n // document: ydoc,\n // }),\n // CollaborationCursor.configure({\n // provider,\n // user: {\n // name: randomElement(userNames),\n // color: randomElement(userColors),\n // },\n // }),\n ],\n editorProps: {\n attributes: {\n languages: i18n.language,\n autocomplete: \"off\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n class: \"min-h-full\",\n },\n },\n onUpdate: ({ editor }) => {\n handleChange(editor?.getJSON() ?? {});\n },\n },\n []\n );\n const users = useMemo(() => {\n if (!editor?.storage.collaborationCursor?.users) {\n return [];\n }\n\n return editor.storage.collaborationCursor?.users.map((user: EditorUser) => {\n const names = user.name?.split(\" \");\n const firstName = names?.[0];\n const lastName = names?.[names.length - 1];\n const initials = `${firstName?.[0] || \"?\"}${lastName?.[0] || \"?\"}`;\n\n return { ...user, initials: initials.length ? initials : \"?\" };\n });\n }, [editor?.storage.collaborationCursor?.users]);\n\n const characterCount = editor?.storage.characterCount || {\n characters: () => 0,\n words: () => 0,\n };\n\n // useEffect(() => {\n // provider?.on('status', (event: { status: WebSocketStatus }) => {\n // setCollabState(event.status)\n // })\n // }, [provider])\n\n if (window) window.editor = editor;\n\n return { editor, users, characterCount, leftSidebar };\n};\n"],"names":["useMemo","useEditor","ExtensionKit","useSidebar","TurndownService","gfm","useTranslation","useBlockEditor","content","handleChange","leftSidebar","turndownService","use","addRule","filter","replacement","t","i18n","editor","json","autofocus","onCreate","extensions","editorProps","attributes","languages","language","autocomplete","autocorrect","autocapitalize","class","onUpdate","getJSON","users","storage","collaborationCursor","map","user","names","name","split","firstName","lastName","length","initials","characterCount","characters","words","window"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,OAAO,QAAQ,QAAQ;AAEhC,SAAiBC,SAAS,QAAQ,gBAAgB;AAElD,OAAOC,kBAAkB,iCAAiC;AAE1D,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,OAAOC,qBAAqB,WAAW;AACvC,SAASC,GAAG,QAAQ,sBAAsB;AAC1C,SAASC,cAAc,QAAQ,uCAAuC;AAOtE,OAAO,MAAMC,iBAAiB,CAAC,EAC7BC,OAAO,EACPC,YAAY,EAIb;IACC,MAAMC,cAAcP;IAEpB,MAAMQ,kBAAkB,IAAIP,gBAAgB,CAAC;IAC7C,qBAAqB;IACrBO,gBAAgBC,GAAG,CAACP;IACpBM,gBAAgBE,OAAO,CAAC,WAAW;QACjCC,QAAQ;QACRC,aAAa,SAAUP,OAAO;YAC5B,OAAO,SAASA,UAAU;QAC5B;IACF;IACA,MAAM,EAAEQ,CAAC,EAAEC,IAAI,EAAE,GAAGX;IAEpB,MAAMY,SAASjB,UACb;QACEO,SAASA,SAASW,QAAQX,WAAW,CAAC;QACtCY,WAAW;QACXC,UAAU,CAAC,EAAEH,MAAM,EAAE;QACnB,iCAAiC;QACjC,0BAA0B;QAC1B,iDAAiD;QACjD,MAAM;QACN,KAAK;QACP;QACAI,YAAY;eACPpB,aAAa;YAEhB;SAWD;QACDqB,aAAa;YACXC,YAAY;gBACVC,WAAWR,KAAKS,QAAQ;gBACxBC,cAAc;gBACdC,aAAa;gBACbC,gBAAgB;gBAChBC,OAAO;YACT;QACF;QACAC,UAAU,CAAC,EAAEb,MAAM,EAAE;YACnBT,aAAaS,QAAQc,aAAa,CAAC;QACrC;IACF,GACA,EAAE;IAEJ,MAAMC,QAAQjC,QAAQ;QACpB,IAAI,CAACkB,QAAQgB,QAAQC,qBAAqBF,OAAO;YAC/C,OAAO,EAAE;QACX;QAEA,OAAOf,OAAOgB,OAAO,CAACC,mBAAmB,EAAEF,MAAMG,IAAI,CAACC;YACpD,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;QAAC1B,QAAQgB,QAAQC,qBAAqBF;KAAM;IAE/C,MAAMY,iBAAiB3B,QAAQgB,QAAQW,kBAAkB;QACvDC,YAAY,IAAM;QAClBC,OAAO,IAAM;IACf;IAEA,oBAAoB;IACpB,qEAAqE;IACrE,mCAAmC;IACnC,OAAO;IACP,iBAAiB;IAEjB,IAAIC,QAAQA,OAAO9B,MAAM,GAAGA;IAE5B,OAAO;QAAEA;QAAQe;QAAOY;QAAgBnC;IAAY;AACtD,EAAE"}
1
+ {"version":3,"sources":["../../../../../src/fields/TiptapEditor/hooks/useBlockEditor.ts"],"sourcesContent":["\"use client\";\nimport { useMemo } from \"react\";\n\nimport { Editor, useEditor } from \"@tiptap/react\";\n\nimport ExtensionKit from \"../extensions/extension-kit.js\";\nimport { EditorUser } from \"../features/BlockEditor/types.js\";\nimport { useSidebar } from \"./useSidebar.js\";\n\nimport TurndownService from \"turndown\";\nimport { gfm } from \"turndown-plugin-gfm\";\nimport { useTranslation } from \"@payloadcms/ui/providers/Translation\";\ndeclare global {\n interface Window {\n editor: Editor | null;\n }\n}\n\nexport const useBlockEditor = ({\n content,\n handleChange,\n handleChangeMarkdown,\n}: {\n content: { html: string; json: any };\n handleChange: (data: any) => void;\n handleChangeMarkdown: (data: any) => void;\n}) => {\n const leftSidebar = useSidebar();\n\n const turndownService = new TurndownService({});\n // Use the gfm plugin\n turndownService.use(gfm);\n turndownService.addRule(\"twitter\", {\n filter: \"div\",\n replacement: function (content) {\n return \"\\n\\n\" + content + \"\\n\\n\";\n },\n });\n const { t, i18n } = useTranslation();\n\n const editor = useEditor(\n {\n content: content?.json ?? content ?? {},\n autofocus: true,\n onCreate: ({ editor }) => {\n // provider?.on('synced', () => {\n // if (editor.isEmpty) {\n // editor.commands.setContent(initialContent)\n // }\n // })\n },\n extensions: [\n ...ExtensionKit({\n // provider,\n }),\n // Collaboration.configure({\n // document: ydoc,\n // }),\n // CollaborationCursor.configure({\n // provider,\n // user: {\n // name: randomElement(userNames),\n // color: randomElement(userColors),\n // },\n // }),\n ],\n editorProps: {\n attributes: {\n languages: i18n.language,\n autocomplete: \"off\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n class: \"min-h-full\",\n },\n },\n onUpdate: ({ editor }) => {\n handleChange(editor?.getJSON() ?? {});\n handleChangeMarkdown(editor?.storage?.markdown?.getMarkdown() ?? \"\");\n },\n },\n []\n );\n const users = useMemo(() => {\n if (!editor?.storage.collaborationCursor?.users) {\n return [];\n }\n\n return editor.storage.collaborationCursor?.users.map((user: EditorUser) => {\n const names = user.name?.split(\" \");\n const firstName = names?.[0];\n const lastName = names?.[names.length - 1];\n const initials = `${firstName?.[0] || \"?\"}${lastName?.[0] || \"?\"}`;\n\n return { ...user, initials: initials.length ? initials : \"?\" };\n });\n }, [editor?.storage.collaborationCursor?.users]);\n\n const characterCount = editor?.storage.characterCount || {\n characters: () => 0,\n words: () => 0,\n };\n\n // useEffect(() => {\n // provider?.on('status', (event: { status: WebSocketStatus }) => {\n // setCollabState(event.status)\n // })\n // }, [provider])\n\n if (window) window.editor = editor;\n\n return { editor, users, characterCount, leftSidebar };\n};\n"],"names":["useMemo","useEditor","ExtensionKit","useSidebar","TurndownService","gfm","useTranslation","useBlockEditor","content","handleChange","handleChangeMarkdown","leftSidebar","turndownService","use","addRule","filter","replacement","t","i18n","editor","json","autofocus","onCreate","extensions","editorProps","attributes","languages","language","autocomplete","autocorrect","autocapitalize","class","onUpdate","getJSON","storage","markdown","getMarkdown","users","collaborationCursor","map","user","names","name","split","firstName","lastName","length","initials","characterCount","characters","words","window"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,OAAO,QAAQ,QAAQ;AAEhC,SAAiBC,SAAS,QAAQ,gBAAgB;AAElD,OAAOC,kBAAkB,iCAAiC;AAE1D,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,OAAOC,qBAAqB,WAAW;AACvC,SAASC,GAAG,QAAQ,sBAAsB;AAC1C,SAASC,cAAc,QAAQ,uCAAuC;AAOtE,OAAO,MAAMC,iBAAiB,CAAC,EAC7BC,OAAO,EACPC,YAAY,EACZC,oBAAoB,EAKrB;IACC,MAAMC,cAAcR;IAEpB,MAAMS,kBAAkB,IAAIR,gBAAgB,CAAC;IAC7C,qBAAqB;IACrBQ,gBAAgBC,GAAG,CAACR;IACpBO,gBAAgBE,OAAO,CAAC,WAAW;QACjCC,QAAQ;QACRC,aAAa,SAAUR,OAAO;YAC5B,OAAO,SAASA,UAAU;QAC5B;IACF;IACA,MAAM,EAAES,CAAC,EAAEC,IAAI,EAAE,GAAGZ;IAEpB,MAAMa,SAASlB,UACb;QACEO,SAASA,SAASY,QAAQZ,WAAW,CAAC;QACtCa,WAAW;QACXC,UAAU,CAAC,EAAEH,MAAM,EAAE;QACnB,iCAAiC;QACjC,0BAA0B;QAC1B,iDAAiD;QACjD,MAAM;QACN,KAAK;QACP;QACAI,YAAY;eACPrB,aAAa;YAEhB;SAWD;QACDsB,aAAa;YACXC,YAAY;gBACVC,WAAWR,KAAKS,QAAQ;gBACxBC,cAAc;gBACdC,aAAa;gBACbC,gBAAgB;gBAChBC,OAAO;YACT;QACF;QACAC,UAAU,CAAC,EAAEb,MAAM,EAAE;YACnBV,aAAaU,QAAQc,aAAa,CAAC;YACnCvB,qBAAqBS,QAAQe,SAASC,UAAUC,iBAAiB;QACnE;IACF,GACA,EAAE;IAEJ,MAAMC,QAAQrC,QAAQ;QACpB,IAAI,CAACmB,QAAQe,QAAQI,qBAAqBD,OAAO;YAC/C,OAAO,EAAE;QACX;QAEA,OAAOlB,OAAOe,OAAO,CAACI,mBAAmB,EAAED,MAAME,IAAI,CAACC;YACpD,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;QAAC5B,QAAQe,QAAQI,qBAAqBD;KAAM;IAE/C,MAAMW,iBAAiB7B,QAAQe,QAAQc,kBAAkB;QACvDC,YAAY,IAAM;QAClBC,OAAO,IAAM;IACf;IAEA,oBAAoB;IACpB,qEAAqE;IACrE,mCAAmC;IACnC,OAAO;IACP,iBAAiB;IAEjB,IAAIC,QAAQA,OAAOhC,MAAM,GAAGA;IAE5B,OAAO;QAAEA;QAAQkB;QAAOW;QAAgBrC;IAAY;AACtD,EAAE"}