payload-richtext-tiptap 0.0.62 → 0.0.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.d.ts +3 -2
- 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/hooks/useBlockEditor.d.ts +4 -3
- package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.js +4 -2
- package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { openAssetHQType } from "../../types.js";
|
|
2
2
|
import { TiptapProps } from "./types.js";
|
|
3
|
-
export declare const BlockEditor: ({ handleChange, content, openAssetHQHandler, additionalContext, autoFocus, }: TiptapProps & {
|
|
4
|
-
openAssetHQHandler
|
|
3
|
+
export declare const BlockEditor: ({ handleChange, content, openAssetHQHandler, additionalContext, isEditable, autoFocus, }: TiptapProps & {
|
|
4
|
+
openAssetHQHandler?: openAssetHQType;
|
|
5
5
|
additionalContext?: Record<string, any>;
|
|
6
6
|
autoFocus?: boolean;
|
|
7
|
+
isEditable?: boolean;
|
|
7
8
|
}) => import("react").JSX.Element;
|
|
8
9
|
export default BlockEditor;
|
|
9
10
|
//# 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":"AAkBA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAKjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"BlockEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/BlockEditor.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAKjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,eAAO,MAAM,WAAW,6FAOrB,WAAW,GAAG;IACf,kBAAkB,CAAC,EAAE,eAAe,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,gCA6DA,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -15,7 +15,7 @@ import { Sidebar } from "../Sidebar/Sidebar.js";
|
|
|
15
15
|
import { ContentItemMenu } from "../menus/ContentItemMenu/ContentItemMenu.js";
|
|
16
16
|
import { TextMenu } from "../menus/TextMenu/TextMenu.js";
|
|
17
17
|
import { LinkMenu } from "../menus/index.js";
|
|
18
|
-
export const BlockEditor = ({ handleChange, content, openAssetHQHandler, additionalContext, autoFocus = true })=>{
|
|
18
|
+
export const BlockEditor = ({ handleChange, content, openAssetHQHandler, additionalContext, isEditable = true, autoFocus = true })=>{
|
|
19
19
|
const menuContainerRef = useRef(null);
|
|
20
20
|
const editorRef = useRef(null);
|
|
21
21
|
const { editor, users, characterCount, leftSidebar } = useBlockEditor({
|
|
@@ -23,7 +23,8 @@ export const BlockEditor = ({ handleChange, content, openAssetHQHandler, additio
|
|
|
23
23
|
handleChange: handleChange,
|
|
24
24
|
openAssetHQHandler: openAssetHQHandler,
|
|
25
25
|
additionalContext: additionalContext,
|
|
26
|
-
autoFocus
|
|
26
|
+
autoFocus,
|
|
27
|
+
isEditable
|
|
27
28
|
});
|
|
28
29
|
const displayedUsers = users.slice(0, 3);
|
|
29
30
|
const providerValue = useMemo(()=>{
|
|
@@ -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 VideoBlockMenu from \"../../extensions/VideoBlock/components/VideoBlockMenu.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 { openAssetHQType } from \"../../types.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\";\nexport const BlockEditor = ({\n handleChange,\n content,\n openAssetHQHandler,\n additionalContext,\n autoFocus = true,\n}: TiptapProps & {\n openAssetHQHandler
|
|
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 VideoBlockMenu from \"../../extensions/VideoBlock/components/VideoBlockMenu.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 { openAssetHQType } from \"../../types.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\";\nexport const BlockEditor = ({\n handleChange,\n content,\n openAssetHQHandler,\n additionalContext,\n isEditable = true,\n autoFocus = true,\n}: TiptapProps & {\n openAssetHQHandler?: openAssetHQType;\n additionalContext?: Record<string, any>;\n autoFocus?: boolean;\n isEditable?: boolean;\n}) => {\n const menuContainerRef = useRef(null);\n const editorRef = useRef<HTMLDivElement>(null);\n\n const { editor, users, characterCount, leftSidebar } = useBlockEditor({\n content: content,\n handleChange: handleChange,\n openAssetHQHandler: openAssetHQHandler,\n additionalContext: additionalContext,\n autoFocus,\n isEditable,\n });\n\n const displayedUsers = users.slice(0, 3);\n\n const providerValue = useMemo(() => {\n return {};\n }, []);\n\n return (\n editor && (\n <EditorContext.Provider value={providerValue}>\n <div className=\"flex h-full overflow-visible\" ref={menuContainerRef}>\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 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 <VideoBlockMenu editor={editor} appendTo={menuContainerRef} />\n </div>\n </div>\n </EditorContext.Provider>\n )\n );\n};\n\nexport default BlockEditor;\n"],"names":["EditorContent","useMemo","useRef","EditorContext","IframeMenu","ImageBlockMenu","VideoBlockMenu","InsideLinksMenu","ColumnsMenu","SocialMediaMenu","TableColumnMenu","TableRowMenu","useBlockEditor","Sidebar","ContentItemMenu","TextMenu","LinkMenu","BlockEditor","handleChange","content","openAssetHQHandler","additionalContext","isEditable","autoFocus","menuContainerRef","editorRef","editor","users","characterCount","leftSidebar","displayedUsers","slice","providerValue","Provider","value","div","className","ref","isOpen","onClose","close","style","outline","appendTo"],"mappings":"AAAA;;AACA,SAASA,aAAa,QAAQ,gBAAgB;AAC9C,SAAoBC,OAAO,EAAEC,MAAM,QAAQ,QAAQ;AAInD,SAASC,aAAa,QAAQ,iCAAiC;AAC/D,SAASC,UAAU,QAAQ,yCAAyC;AACpE,OAAOC,oBAAoB,2DAA2D;AACtF,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;AAE/D,SAASC,OAAO,QAAQ,wBAAwB;AAChD,SAASC,eAAe,QAAQ,8CAA8C;AAC9E,SAASC,QAAQ,QAAQ,gCAAgC;AACzD,SAASC,QAAQ,QAAQ,oBAAoB;AAE7C,OAAO,MAAMC,cAAc,CAAC,EAC1BC,YAAY,EACZC,OAAO,EACPC,kBAAkB,EAClBC,iBAAiB,EACjBC,aAAa,IAAI,EACjBC,YAAY,IAAI,EAMjB;IACC,MAAMC,mBAAmBtB,OAAO;IAChC,MAAMuB,YAAYvB,OAAuB;IAEzC,MAAM,EAAEwB,MAAM,EAAEC,KAAK,EAAEC,cAAc,EAAEC,WAAW,EAAE,GAAGjB,eAAe;QACpEO,SAASA;QACTD,cAAcA;QACdE,oBAAoBA;QACpBC,mBAAmBA;QACnBE;QACAD;IACF;IAEA,MAAMQ,iBAAiBH,MAAMI,KAAK,CAAC,GAAG;IAEtC,MAAMC,gBAAgB/B,QAAQ;QAC5B,OAAO,CAAC;IACV,GAAG,EAAE;IAEL,OACEyB,wBACE,KAACvB,cAAc8B,QAAQ;QAACC,OAAOF;kBAC7B,cAAA,MAACG;YAAIC,WAAU;YAA+BC,KAAKb;;8BACjD,KAACX;oBACCyB,QAAQT,YAAYS,MAAM;oBAC1BC,SAASV,YAAYW,KAAK;oBAC1Bd,QAAQA;;8BAEV,MAACS;oBAAIC,WAAU;;sCAQb,KAACpC;4BACC0B,QAAQA;4BACRW,KAAKZ;4BACLW,WAAU;4BACVK,OAAO;gCACLC,SAAS;4BACX;;sCAEF,KAAC5B;4BAAgBY,QAAQA;;sCACzB,KAACV;4BAASU,QAAQA;4BAAQiB,UAAUnB;;sCAEpC,KAACT;4BAASW,QAAQA;;sCAClB,KAACtB;4BAAWsB,QAAQA;4BAAQiB,UAAUnB;;sCACtC,KAACf;4BAAgBiB,QAAQA;4BAAQiB,UAAUnB;;sCAC3C,KAACjB;4BAAgBmB,QAAQA;4BAAQiB,UAAUnB;;sCAC3C,KAAChB;4BAAYkB,QAAQA;4BAAQiB,UAAUnB;;sCACvC,KAACb;4BAAae,QAAQA;4BAAQiB,UAAUnB;;sCACxC,KAACd;4BAAgBgB,QAAQA;4BAAQiB,UAAUnB;;sCAC3C,KAACnB;4BAAeqB,QAAQA;4BAAQiB,UAAUnB;;sCAC1C,KAAClB;4BAAeoB,QAAQA;4BAAQiB,UAAUnB;;;;;;;AAMtD,EAAE;AAEF,eAAeP,YAAY"}
|
|
@@ -5,15 +5,16 @@ declare global {
|
|
|
5
5
|
editor: Editor | null;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
export declare const useBlockEditor: ({ content, handleChange, openAssetHQHandler, additionalContext, autoFocus, }: {
|
|
8
|
+
export declare const useBlockEditor: ({ content, handleChange, openAssetHQHandler, additionalContext, autoFocus, isEditable, }: {
|
|
9
9
|
content: {
|
|
10
10
|
html: string;
|
|
11
11
|
json: any;
|
|
12
12
|
};
|
|
13
|
-
handleChange
|
|
14
|
-
openAssetHQHandler
|
|
13
|
+
handleChange?: (data: any) => void;
|
|
14
|
+
openAssetHQHandler?: openAssetHQType;
|
|
15
15
|
additionalContext?: Record<string, any>;
|
|
16
16
|
autoFocus: boolean;
|
|
17
|
+
isEditable?: boolean;
|
|
17
18
|
}) => {
|
|
18
19
|
editor: Editor;
|
|
19
20
|
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,
|
|
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,EAAmB,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/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"}
|
|
@@ -6,7 +6,8 @@ import { useSidebar } from "./useSidebar.js";
|
|
|
6
6
|
import { useTranslation } from "@payloadcms/ui/providers/Translation";
|
|
7
7
|
import TurndownService from "turndown";
|
|
8
8
|
import { gfm } from "turndown-plugin-gfm";
|
|
9
|
-
|
|
9
|
+
const dummyAssetHqHandler = (listener, file)=>{};
|
|
10
|
+
export const useBlockEditor = ({ content, handleChange, openAssetHQHandler, additionalContext, autoFocus, isEditable })=>{
|
|
10
11
|
const leftSidebar = useSidebar();
|
|
11
12
|
const turndownService = new TurndownService({});
|
|
12
13
|
// Use the gfm plugin
|
|
@@ -22,6 +23,7 @@ export const useBlockEditor = ({ content, handleChange, openAssetHQHandler, addi
|
|
|
22
23
|
content: content?.json ?? content ?? {},
|
|
23
24
|
immediatelyRender: false,
|
|
24
25
|
autofocus: autoFocus ?? true,
|
|
26
|
+
editable: isEditable ?? true,
|
|
25
27
|
onCreate: ({ editor })=>{
|
|
26
28
|
// provider?.on('synced', () => {
|
|
27
29
|
// if (editor.isEmpty) {
|
|
@@ -31,7 +33,7 @@ export const useBlockEditor = ({ content, handleChange, openAssetHQHandler, addi
|
|
|
31
33
|
},
|
|
32
34
|
extensions: [
|
|
33
35
|
...ExtensionKit({
|
|
34
|
-
openAssetHQHandler
|
|
36
|
+
openAssetHQHandler: openAssetHQHandler ?? dummyAssetHqHandler
|
|
35
37
|
})
|
|
36
38
|
],
|
|
37
39
|
editorProps: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/fields/TiptapEditor/hooks/useBlockEditor.ts"],"sourcesContent":["\"use client\";\nimport { useEffect, 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 { useTranslation } from \"@payloadcms/ui/providers/Translation\";\nimport TurndownService from \"turndown\";\nimport { gfm } from \"turndown-plugin-gfm\";\nimport { openAssetHQType } from \"../types.js\";\ndeclare global {\n interface Window {\n editor: Editor | null;\n }\n}\n\nexport const useBlockEditor = ({\n content,\n handleChange,\n openAssetHQHandler,\n additionalContext,\n autoFocus,\n}: {\n content: { html: string; json: any };\n handleChange
|
|
1
|
+
{"version":3,"sources":["../../../../../src/fields/TiptapEditor/hooks/useBlockEditor.ts"],"sourcesContent":["\"use client\";\nimport { useEffect, 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 { useTranslation } from \"@payloadcms/ui/providers/Translation\";\nimport TurndownService from \"turndown\";\nimport { gfm } from \"turndown-plugin-gfm\";\nimport { AssetReturnType, openAssetHQType } from \"../types.js\";\ndeclare global {\n interface Window {\n editor: Editor | null;\n }\n}\n\nconst dummyAssetHqHandler = (\n listener: (asset: AssetReturnType) => void,\n file?: File\n) => {};\n\nexport const useBlockEditor = ({\n content,\n handleChange,\n openAssetHQHandler,\n additionalContext,\n autoFocus,\n isEditable,\n}: {\n content: { html: string; json: any };\n handleChange?: (data: any) => void;\n openAssetHQHandler?: openAssetHQType;\n additionalContext?: Record<string, any>;\n autoFocus: boolean;\n isEditable?: boolean;\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 immediatelyRender: false,\n autofocus: autoFocus ?? true,\n editable: isEditable ?? true,\n onCreate: ({ editor }) => {\n // provider?.on('synced', () => {\n // if (editor.isEmpty) {\n // editor.commands.setContent(initialContent)\n // }\n // })\n },\n extensions: [\n ...ExtensionKit({\n openAssetHQHandler: openAssetHQHandler ?? dummyAssetHqHandler,\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\n useEffect(() => {\n if (editor?.storage?.aiCommand) {\n editor.storage.aiCommand.title = additionalContext?.title ?? \"\";\n editor.storage.aiCommand.language = additionalContext?.language ?? \"\";\n }\n }, [editor, additionalContext]);\n\n const users = useMemo(() => {\n if (!editor?.storage?.collaborationCursor?.users) {\n return [];\n }\n\n return editor?.storage?.collaborationCursor?.users.map(\n (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 );\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 (typeof window != \"undefined\") window.editor = editor;\n\n return { editor, users, characterCount, leftSidebar };\n};\n"],"names":["useEffect","useMemo","useEditor","ExtensionKit","useSidebar","useTranslation","TurndownService","gfm","dummyAssetHqHandler","listener","file","useBlockEditor","content","handleChange","openAssetHQHandler","additionalContext","autoFocus","isEditable","leftSidebar","turndownService","use","addRule","filter","replacement","t","i18n","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,QAAQ;AAE3C,SAAiBC,SAAS,QAAQ,gBAAgB;AAElD,OAAOC,kBAAkB,iCAAiC;AAE1D,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,cAAc,QAAQ,uCAAuC;AACtE,OAAOC,qBAAqB,WAAW;AACvC,SAASC,GAAG,QAAQ,sBAAsB;AAQ1C,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,IAAIb,gBAAgB,CAAC;IAC7C,qBAAqB;IACrBa,gBAAgBC,GAAG,CAACb;IACpBY,gBAAgBE,OAAO,CAAC,WAAW;QACjCC,QAAQ;QACRC,aAAa,SAAUX,OAAO;YAC5B,OAAO,SAASA,UAAU;QAC5B;IACF;IACA,MAAM,EAAEY,CAAC,EAAEC,IAAI,EAAE,GAAGpB;IAEpB,MAAMqB,SAASxB,UACb;QACEU,SAASA,SAASe,QAAQf,WAAW,CAAC;QACtCgB,mBAAmB;QACnBC,WAAWb,aAAa;QACxBc,UAAUb,cAAc;QACxBc,UAAU,CAAC,EAAEL,MAAM,EAAE;QACnB,iCAAiC;QACjC,0BAA0B;QAC1B,iDAAiD;QACjD,MAAM;QACN,KAAK;QACP;QACAM,YAAY;eACP7B,aAAa;gBACdW,oBAAoBA,sBAAsBN;YAE5C;SAWD;QACDyB,aAAa;YACXC,YAAY;gBACVC,WAAWV,KAAKW,QAAQ;gBACxBC,cAAc;gBACdC,aAAa;gBACbC,gBAAgB;gBAChBC,OAAO;YACT;QACF;QACAC,UAAU,CAAC,EAAEf,MAAM,EAAE;YACnBb,aAAaa,QAAQgB,aAAa,CAAC;QACrC;IACF,GACA,EAAE;IAGJ1C,UAAU;QACR,IAAI0B,QAAQiB,SAASC,WAAW;YAC9BlB,OAAOiB,OAAO,CAACC,SAAS,CAACC,KAAK,GAAG9B,mBAAmB8B,SAAS;YAC7DnB,OAAOiB,OAAO,CAACC,SAAS,CAACR,QAAQ,GAAGrB,mBAAmBqB,YAAY;QACrE;IACF,GAAG;QAACV;QAAQX;KAAkB;IAE9B,MAAM+B,QAAQ7C,QAAQ;QACpB,IAAI,CAACyB,QAAQiB,SAASI,qBAAqBD,OAAO;YAChD,OAAO,EAAE;QACX;QAEA,OAAOpB,QAAQiB,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;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;QAAgBvC;IAAY;AACtD,EAAE"}
|