payload-richtext-tiptap 0.0.96 → 0.0.97

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.
@@ -0,0 +1,9 @@
1
+ import { AdditionalContextType, TiptapProps } from "./types.js";
2
+ export declare const OneLineEditor: ({ handleChange, content, additionalContext, isEditable, autoFocus, dir, }: TiptapProps & {
3
+ additionalContext?: AdditionalContextType;
4
+ autoFocus?: boolean;
5
+ isEditable?: boolean;
6
+ dir?: "ltr" | "rtl" | "auto";
7
+ }) => import("react").JSX.Element;
8
+ export default OneLineEditor;
9
+ //# sourceMappingURL=OneLineEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OneLineEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/OneLineEditor.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAKhE,eAAO,MAAM,aAAa,8EAOvB,WAAW,GAAG;IACf,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;CAC9B,gCA8GA,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,110 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { EditorContent, useEditor } from "@tiptap/react";
4
+ import i18n from "i18next";
5
+ import { useEffect, useMemo, useRef } from "react";
6
+ import { EditorContext } from "../../context/EditorContext.js";
7
+ import i18next from "i18next";
8
+ import Text from '@tiptap/extension-text';
9
+ import Highlight from '@tiptap/extension-highlight';
10
+ import { AICommand, Paragraph } from "../../extensions/index.js";
11
+ import OneLiner from "./components/OneLiner.js";
12
+ import { AITextMenu } from "../menus/TextMenu/AITextMenu.js";
13
+ const DEFAULT_LANG = "en";
14
+ export const OneLineEditor = ({ handleChange, content, additionalContext, isEditable = true, autoFocus = true, dir })=>{
15
+ const menuContainerRef = useRef(null);
16
+ const editorRef = useRef(null);
17
+ const editor = useEditor({
18
+ content: content?.json ?? content ?? {},
19
+ immediatelyRender: false,
20
+ autofocus: autoFocus ?? true,
21
+ editable: isEditable ?? true,
22
+ onCreate: ({ editor })=>({
23
+ }),
24
+ extensions: [
25
+ OneLiner,
26
+ Text,
27
+ Paragraph,
28
+ AICommand,
29
+ Highlight
30
+ ],
31
+ editorProps: {
32
+ attributes: {
33
+ languages: i18next.language,
34
+ autocomplete: "off",
35
+ autocorrect: "off",
36
+ autocapitalize: "off",
37
+ class: "min-h-full"
38
+ }
39
+ },
40
+ onUpdate: ({ editor })=>{
41
+ handleChange(editor?.getJSON() ?? {});
42
+ }
43
+ }, []);
44
+ const providerValue = useMemo(()=>{
45
+ return {};
46
+ }, []);
47
+ useEffect(()=>{
48
+ if (!additionalContext) {
49
+ i18n.init({
50
+ fallbackLng: DEFAULT_LANG,
51
+ lng: DEFAULT_LANG,
52
+ returnEmptyString: true,
53
+ resources: {}
54
+ });
55
+ return;
56
+ }
57
+ if (additionalContext.language && additionalContext.translations) {
58
+ i18n.init({
59
+ fallbackLng: additionalContext.language,
60
+ lng: additionalContext.language,
61
+ returnEmptyString: true,
62
+ resources: {
63
+ [additionalContext.language]: {
64
+ translation: additionalContext.translations
65
+ }
66
+ }
67
+ });
68
+ return;
69
+ }
70
+ if (additionalContext.language) {
71
+ i18n.init({
72
+ fallbackLng: additionalContext?.language,
73
+ lng: additionalContext?.language,
74
+ returnEmptyString: true,
75
+ resources: {}
76
+ });
77
+ }
78
+ }, []);
79
+ return editor && /*#__PURE__*/ _jsx(EditorContext.Provider, {
80
+ value: providerValue,
81
+ children: /*#__PURE__*/ _jsx("div", {
82
+ className: "flex h-full overflow-visible",
83
+ ref: menuContainerRef,
84
+ dir: i18next.dir(),
85
+ children: /*#__PURE__*/ _jsxs("div", {
86
+ className: "one-liner relative flex flex-col flex-1 h-full justify-center items-center ",
87
+ children: [
88
+ /*#__PURE__*/ _jsx(EditorContent, {
89
+ dir: i18next.dir(),
90
+ editor: editor,
91
+ ref: editorRef,
92
+ className: "flex-1 overflow-y-visible w-full h-full outline-none outline-offset-0",
93
+ style: {
94
+ outline: "none"
95
+ }
96
+ }),
97
+ isEditable && /*#__PURE__*/ _jsx(_Fragment, {
98
+ children: /*#__PURE__*/ _jsx(AITextMenu, {
99
+ editor: editor,
100
+ dir: i18next.dir()
101
+ })
102
+ })
103
+ ]
104
+ })
105
+ })
106
+ });
107
+ };
108
+ export default OneLineEditor;
109
+
110
+ //# sourceMappingURL=OneLineEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/OneLineEditor.tsx"],"sourcesContent":["\"use client\";\nimport { EditorContent, useEditor } from \"@tiptap/react\";\nimport i18n from \"i18next\";\nimport { useEffect, useMemo, useRef } from \"react\";\n\nimport { EditorContext } from \"../../context/EditorContext.js\";\n\nimport i18next from \"i18next\";\nimport Text from '@tiptap/extension-text'\nimport Highlight from '@tiptap/extension-highlight'\nimport { AICommand, Heading, Paragraph, StarterKit } from \"../../extensions/index.js\";\nimport OneLiner from \"./components/OneLiner.js\";\nimport { AdditionalContextType, TiptapProps } from \"./types.js\";\nimport { AITextMenu } from \"../menus/TextMenu/AITextMenu.js\";\n\nconst DEFAULT_LANG = \"en\"\n\nexport const OneLineEditor = ({\n handleChange,\n content,\n additionalContext,\n isEditable = true,\n autoFocus = true,\n dir,\n}: TiptapProps & {\n additionalContext?: AdditionalContextType;\n autoFocus?: boolean;\n isEditable?: boolean;\n dir?: \"ltr\" | \"rtl\" | \"auto\";\n}) => {\n const menuContainerRef = useRef(null);\n const editorRef = useRef<HTMLDivElement>(null);\n\n const editor = useEditor(\n {\n content: content?.json ?? content ?? {},\n immediatelyRender: false,\n autofocus: autoFocus ?? true,\n editable: isEditable ?? true,\n onCreate: ({ editor }) => ({\n // provider?.on('synced', () => {\n // if (editor.isEmpty) {\n // editor.commands.setContent(initialContent)\n // }\n // })\n }),\n extensions: [\n OneLiner,\n Text,\n Paragraph,\n AICommand,\n Highlight\n\n ],\n editorProps: {\n attributes: {\n languages: i18next.language,\n autocomplete: \"off\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n class: \"min-h-full\",\n },\n },\n onUpdate: ({ editor }) => {\n handleChange(editor?.getJSON() ?? {});\n },\n },\n []\n );\n\n\n const providerValue = useMemo(() => {\n return {};\n }, []);\n useEffect(() => {\n if (!additionalContext) {\n i18n.init({\n fallbackLng: DEFAULT_LANG,\n lng: DEFAULT_LANG,\n returnEmptyString: true,\n resources: {},\n });\n return\n }\n\n if (additionalContext.language && additionalContext.translations) {\n i18n.init({\n fallbackLng: additionalContext.language,\n lng: additionalContext.language,\n returnEmptyString: true,\n resources: {\n [additionalContext.language]: {\n translation: additionalContext.translations,\n },\n },\n });\n return\n }\n if (additionalContext.language) {\n i18n.init({\n fallbackLng: additionalContext?.language,\n lng: additionalContext?.language,\n returnEmptyString: true,\n resources: {},\n });\n }\n }, []);\n\n return (\n editor && (\n <EditorContext.Provider value={providerValue}>\n <div\n className=\"flex h-full overflow-visible\"\n ref={menuContainerRef}\n dir={i18next.dir()}\n >\n <div className=\"one-liner relative flex flex-col flex-1 h-full justify-center items-center \">\n <EditorContent\n dir={i18next.dir()}\n editor={editor}\n ref={editorRef}\n className=\"flex-1 overflow-y-visible w-full h-full outline-none outline-offset-0\"\n style={{\n outline: \"none\",\n }}\n />\n {isEditable && (\n <>\n <AITextMenu\n editor={editor}\n dir={i18next.dir()}\n />\n </>\n )}\n </div>\n </div>\n </EditorContext.Provider>\n )\n );\n};\n\nexport default OneLineEditor;\n"],"names":["EditorContent","useEditor","i18n","useEffect","useMemo","useRef","EditorContext","i18next","Text","Highlight","AICommand","Paragraph","OneLiner","AITextMenu","DEFAULT_LANG","OneLineEditor","handleChange","content","additionalContext","isEditable","autoFocus","dir","menuContainerRef","editorRef","editor","json","immediatelyRender","autofocus","editable","onCreate","extensions","editorProps","attributes","languages","language","autocomplete","autocorrect","autocapitalize","class","onUpdate","getJSON","providerValue","init","fallbackLng","lng","returnEmptyString","resources","translations","translation","Provider","value","div","className","ref","style","outline"],"mappings":"AAAA;;AACA,SAASA,aAAa,EAAEC,SAAS,QAAQ,gBAAgB;AACzD,OAAOC,UAAU,UAAU;AAC3B,SAASC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,QAAQ;AAEnD,SAASC,aAAa,QAAQ,iCAAiC;AAE/D,OAAOC,aAAa,UAAU;AAC9B,OAAOC,UAAU,yBAAwB;AACzC,OAAOC,eAAe,8BAA6B;AACnD,SAASC,SAAS,EAAWC,SAAS,QAAoB,4BAA4B;AACtF,OAAOC,cAAc,2BAA2B;AAEhD,SAASC,UAAU,QAAQ,kCAAkC;AAE7D,MAAMC,eAAe;AAErB,OAAO,MAAMC,gBAAgB,CAAC,EAC5BC,YAAY,EACZC,OAAO,EACPC,iBAAiB,EACjBC,aAAa,IAAI,EACjBC,YAAY,IAAI,EAChBC,GAAG,EAMJ;IACC,MAAMC,mBAAmBjB,OAAO;IAChC,MAAMkB,YAAYlB,OAAuB;IAEzC,MAAMmB,SAASvB,UACb;QACEgB,SAASA,SAASQ,QAAQR,WAAW,CAAC;QACtCS,mBAAmB;QACnBC,WAAWP,aAAa;QACxBQ,UAAUT,cAAc;QACxBU,UAAU,CAAC,EAAEL,MAAM,EAAE,GAAM,CAAA;YAM3B,CAAA;QACAM,YAAY;YACVlB;YACAJ;YACAG;YACAD;YACAD;SAED;QACDsB,aAAa;YACXC,YAAY;gBACVC,WAAW1B,QAAQ2B,QAAQ;gBAC3BC,cAAc;gBACdC,aAAa;gBACbC,gBAAgB;gBAChBC,OAAO;YACT;QACF;QACAC,UAAU,CAAC,EAAEf,MAAM,EAAE;YACnBR,aAAaQ,QAAQgB,aAAa,CAAC;QACrC;IACF,GACA,EAAE;IAIJ,MAAMC,gBAAgBrC,QAAQ;QAC5B,OAAO,CAAC;IACV,GAAG,EAAE;IACLD,UAAU;QACR,IAAI,CAACe,mBAAmB;YACtBhB,KAAKwC,IAAI,CAAC;gBACRC,aAAa7B;gBACb8B,KAAK9B;gBACL+B,mBAAmB;gBACnBC,WAAW,CAAC;YACd;YACA;QACF;QAEA,IAAI5B,kBAAkBgB,QAAQ,IAAIhB,kBAAkB6B,YAAY,EAAE;YAChE7C,KAAKwC,IAAI,CAAC;gBACRC,aAAazB,kBAAkBgB,QAAQ;gBACvCU,KAAK1B,kBAAkBgB,QAAQ;gBAC/BW,mBAAmB;gBACnBC,WAAW;oBACT,CAAC5B,kBAAkBgB,QAAQ,CAAC,EAAE;wBAC5Bc,aAAa9B,kBAAkB6B,YAAY;oBAC7C;gBACF;YACF;YACA;QACF;QACA,IAAI7B,kBAAkBgB,QAAQ,EAAE;YAC9BhC,KAAKwC,IAAI,CAAC;gBACRC,aAAazB,mBAAmBgB;gBAChCU,KAAK1B,mBAAmBgB;gBACxBW,mBAAmB;gBACnBC,WAAW,CAAC;YACd;QACF;IACF,GAAG,EAAE;IAEL,OACEtB,wBACE,KAAClB,cAAc2C,QAAQ;QAACC,OAAOT;kBAC7B,cAAA,KAACU;YACCC,WAAU;YACVC,KAAK/B;YACLD,KAAKd,QAAQc,GAAG;sBAEhB,cAAA,MAAC8B;gBAAIC,WAAU;;kCACb,KAACpD;wBACCqB,KAAKd,QAAQc,GAAG;wBAChBG,QAAQA;wBACR6B,KAAK9B;wBACL6B,WAAU;wBACVE,OAAO;4BACLC,SAAS;wBACX;;oBAEDpC,4BACC;kCACE,cAAA,KAACN;4BACCW,QAAQA;4BACRH,KAAKd,QAAQc,GAAG;;;;;;;AASlC,EAAE;AAEF,eAAeN,cAAc"}
@@ -0,0 +1,4 @@
1
+ import { Node } from "@tiptap/core";
2
+ declare const OneLiner: Node<any, any>;
3
+ export default OneLiner;
4
+ //# sourceMappingURL=OneLiner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OneLiner.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/BlockEditor/components/OneLiner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,QAAA,MAAM,QAAQ,gBAIZ,CAAC;AAEH,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Node } from "@tiptap/core";
2
+ const OneLiner = Node.create({
3
+ name: "oneLiner",
4
+ topNode: true,
5
+ content: "block"
6
+ });
7
+ export default OneLiner;
8
+
9
+ //# sourceMappingURL=OneLiner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/BlockEditor/components/OneLiner.tsx"],"sourcesContent":["import { Node } from \"@tiptap/core\";\n\nconst OneLiner = Node.create({\n name: \"oneLiner\",\n topNode: true,\n content: \"block\",\n});\n\nexport default OneLiner;"],"names":["Node","OneLiner","create","name","topNode","content"],"mappings":"AAAA,SAASA,IAAI,QAAQ,eAAe;AAEpC,MAAMC,WAAWD,KAAKE,MAAM,CAAC;IACzBC,MAAM;IACNC,SAAS;IACTC,SAAS;AACb;AAEA,eAAeJ,SAAS"}
@@ -0,0 +1,7 @@
1
+ import { Editor } from "@tiptap/react";
2
+ export type TextMenuProps = {
3
+ editor: Editor;
4
+ dir: "rtl" | "ltr" | "auto";
5
+ };
6
+ export declare const AITextMenu: ({ editor, dir }: TextMenuProps) => import("react").JSX.Element;
7
+ //# sourceMappingURL=AITextMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AITextMenu.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/AITextMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,EAAE,MAAM,eAAe,CAAC;AAkBnD,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,UAAU,oBAAqB,aAAa,gCA2CxD,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { BubbleMenu } from "@tiptap/react";
3
+ import { Sparkles } from "lucide-react";
4
+ import { useState } from "react";
5
+ import { AIEditorPanel } from "../../panels/AIEditorPanel/AIEditorPanel.js";
6
+ import { Icon } from "../../ui/Icon.js";
7
+ import { Toolbar } from "../../ui/Toolbar.js";
8
+ // import { FontFamilyPicker } from "./components/FontFamilyPicker.js";
9
+ import i18next from "i18next";
10
+ import { useTextmenuCommands } from "./hooks/useTextmenuCommands.js";
11
+ import { useTextmenuContentTypes } from "./hooks/useTextmenuContentTypes.js";
12
+ import { useTextmenuStates } from "./hooks/useTextmenuStates.js";
13
+ export const AITextMenu = ({ editor, dir })=>{
14
+ const commands = useTextmenuCommands(editor);
15
+ const states = useTextmenuStates(editor);
16
+ const blockOptions = useTextmenuContentTypes(editor);
17
+ const [openAi, setOpenAi] = useState(false);
18
+ return /*#__PURE__*/ _jsx(BubbleMenu, {
19
+ tippyOptions: {
20
+ placement: "auto",
21
+ popperOptions: {
22
+ placement: "auto"
23
+ },
24
+ onHide: ()=>{
25
+ setOpenAi(false);
26
+ }
27
+ },
28
+ editor: editor,
29
+ pluginKey: "textMenu",
30
+ shouldShow: states.shouldShow,
31
+ updateDelay: 100,
32
+ children: openAi ? /*#__PURE__*/ _jsx(AIEditorPanel, {
33
+ editor: editor,
34
+ onOpenChange: (value)=>{
35
+ setOpenAi(value);
36
+ }
37
+ }) : /*#__PURE__*/ _jsx(Toolbar.Wrapper, {
38
+ children: /*#__PURE__*/ _jsxs(Toolbar.Button, {
39
+ className: "text-purple-500 hover:text-purple-600 active:text-purple-600 dark:text-purple-400 dark:hover:text-purple-300 dark:active:text-purple-400",
40
+ activeClassname: "text-purple-600 hover:text-purple-600 dark:text-purple-400 dark:hover:text-purple-200",
41
+ onClick: ()=>setOpenAi(true),
42
+ children: [
43
+ /*#__PURE__*/ _jsx(Icon, {
44
+ icon: Sparkles,
45
+ className: "mr-1"
46
+ }),
47
+ i18next.t("aiTools") || "AI Tools"
48
+ ]
49
+ })
50
+ })
51
+ });
52
+ };
53
+
54
+ //# sourceMappingURL=AITextMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/AITextMenu.tsx"],"sourcesContent":["import { BubbleMenu, Editor } from \"@tiptap/react\";\nimport {\n Sparkles\n} from \"lucide-react\";\nimport { memo, useState } from \"react\";\nimport { AIEditorPanel } from \"../../panels/AIEditorPanel/AIEditorPanel.js\";\nimport { ColorPicker } from \"../../panels/index.js\";\nimport { Icon } from \"../../ui/Icon.js\";\nimport { Toolbar } from \"../../ui/Toolbar.js\";\nimport { ContentTypePicker } from \"./components/ContentTypePicker.js\";\n// import { FontFamilyPicker } from \"./components/FontFamilyPicker.js\";\nimport i18next from \"i18next\";\nimport { FontSizePicker } from \"./components/FontSizePicker.js\";\nimport { useTextmenuCommands } from \"./hooks/useTextmenuCommands.js\";\nimport { useTextmenuContentTypes } from \"./hooks/useTextmenuContentTypes.js\";\nimport { useTextmenuStates } from \"./hooks/useTextmenuStates.js\";\n\n\nexport type TextMenuProps = {\n editor: Editor;\n dir: \"rtl\" | \"ltr\" | \"auto\";\n};\n\nexport const AITextMenu = ({ editor, dir }: TextMenuProps) => {\n const commands = useTextmenuCommands(editor);\n const states = useTextmenuStates(editor);\n const blockOptions = useTextmenuContentTypes(editor);\n const [openAi, setOpenAi] = useState(false);\n\n return (\n <BubbleMenu\n tippyOptions={{\n placement: \"auto\",\n popperOptions: {\n placement: \"auto\",\n },\n onHide: () => {\n setOpenAi(false);\n },\n }}\n editor={editor}\n pluginKey=\"textMenu\"\n shouldShow={states.shouldShow}\n updateDelay={100}\n >\n {openAi ? (\n <AIEditorPanel\n editor={editor}\n onOpenChange={(value) => {\n setOpenAi(value);\n }}\n />\n ) : (\n <Toolbar.Wrapper>\n <Toolbar.Button\n className=\"text-purple-500 hover:text-purple-600 active:text-purple-600 dark:text-purple-400 dark:hover:text-purple-300 dark:active:text-purple-400\"\n activeClassname=\"text-purple-600 hover:text-purple-600 dark:text-purple-400 dark:hover:text-purple-200\"\n onClick={() => setOpenAi(true)}\n >\n <Icon icon={Sparkles} className=\"mr-1\" />\n {i18next.t(\"aiTools\") || \"AI Tools\"}\n </Toolbar.Button>\n </Toolbar.Wrapper>\n )}\n </BubbleMenu>\n );\n};\n"],"names":["BubbleMenu","Sparkles","useState","AIEditorPanel","Icon","Toolbar","i18next","useTextmenuCommands","useTextmenuContentTypes","useTextmenuStates","AITextMenu","editor","dir","commands","states","blockOptions","openAi","setOpenAi","tippyOptions","placement","popperOptions","onHide","pluginKey","shouldShow","updateDelay","onOpenChange","value","Wrapper","Button","className","activeClassname","onClick","icon","t"],"mappings":";AAAA,SAASA,UAAU,QAAgB,gBAAgB;AACnD,SACEC,QAAQ,QACH,eAAe;AACtB,SAAeC,QAAQ,QAAQ,QAAQ;AACvC,SAASC,aAAa,QAAQ,8CAA8C;AAE5E,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SAASC,OAAO,QAAQ,sBAAsB;AAE9C,uEAAuE;AACvE,OAAOC,aAAa,UAAU;AAE9B,SAASC,mBAAmB,QAAQ,iCAAiC;AACrE,SAASC,uBAAuB,QAAQ,qCAAqC;AAC7E,SAASC,iBAAiB,QAAQ,+BAA+B;AAQjE,OAAO,MAAMC,aAAa,CAAC,EAAEC,MAAM,EAAEC,GAAG,EAAiB;IACvD,MAAMC,WAAWN,oBAAoBI;IACrC,MAAMG,SAASL,kBAAkBE;IACjC,MAAMI,eAAeP,wBAAwBG;IAC7C,MAAM,CAACK,QAAQC,UAAU,GAAGf,SAAS;IAErC,qBACE,KAACF;QACCkB,cAAc;YACZC,WAAW;YACXC,eAAe;gBACbD,WAAW;YACb;YACAE,QAAQ;gBACNJ,UAAU;YACZ;QACF;QACAN,QAAQA;QACRW,WAAU;QACVC,YAAYT,OAAOS,UAAU;QAC7BC,aAAa;kBAEZR,uBACC,KAACb;YACCQ,QAAQA;YACRc,cAAc,CAACC;gBACbT,UAAUS;YACZ;2BAGF,KAACrB,QAAQsB,OAAO;sBACd,cAAA,MAACtB,QAAQuB,MAAM;gBACbC,WAAU;gBACVC,iBAAgB;gBAChBC,SAAS,IAAMd,UAAU;;kCAEzB,KAACb;wBAAK4B,MAAM/B;wBAAU4B,WAAU;;oBAC/BvB,QAAQ2B,CAAC,CAAC,cAAc;;;;;AAMrC,EAAE"}
@@ -134,7 +134,7 @@ export const AIEditorPanel = ({ editor, onOpenChange })=>{
134
134
  hasCompletion ? /*#__PURE__*/ _jsx(AICompletionCommands, {
135
135
  editor: editor,
136
136
  onDiscard: ()=>{
137
- editor.chain().unsetHighlight().focus().run();
137
+ editor?.chain()?.unsetHighlight()?.focus()?.run();
138
138
  onOpenChange(false);
139
139
  },
140
140
  completion: completion
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.tsx"],"sourcesContent":["\"use client\";\n\nimport { useLocale } from \"@payloadcms/ui/providers/Locale\";\nimport { Editor } from \"@tiptap/react\";\nimport { useCompletion } from \"ai/react\";\nimport { ArrowRight, Sparkles } from \"lucide-react\";\nimport { useCallback, useRef, useState } from \"react\";\nimport TextareaAutosize from \"react-textarea-autosize\";\n\nimport i18next from \"i18next\";\nimport Markdown from \"react-markdown\";\nimport { extractMarkdown } from \"../../../lib/extract.js\";\nimport { getPrevText } from \"../../../lib/utils/index.js\";\nimport AICompletionCommands from \"../../menus/TextMenu/components/ai-completion-command.js\";\nimport AISelectorCommands from \"../../menus/TextMenu/components/ai-selector-commands.js\";\nimport { Surface } from \"../../ui/Surface.js\";\nimport { Toolbar } from \"../../ui/Toolbar.js\";\nimport CrazySpinner from \"../../ui/crazy-spinner.js\";\nimport { ScrollArea } from \"../../ui/scroll-area.js\";\nimport { checkJsonCompletion, formatCompletion } from \"./utils.js\";\nexport type AIEditorPanelProps = {\n editor: Editor;\n onOpenChange: (value: boolean) => void;\n};\n\nexport const AIEditorPanel = ({ editor, onOpenChange }: AIEditorPanelProps) => {\n const [inputValue, setInputValue] = useState(\"\");\n const { code } = useLocale();\n const { view } = editor;\n\n const editorNode = view.dom as HTMLElement;\n const boundigClient = editorNode.getBoundingClientRect();\n const inputRef = useRef<HTMLTextAreaElement>(null);\n\n\n\n const { completion, complete, isLoading } = useCompletion({\n // id: \"novel\",\n api: \"/api/generate\",\n onResponse: (response) => {\n if (response.status === 429) {\n console.log(\"You have reached your request limit for the day.\");\n\n return;\n }\n },\n onError: (e) => {\n console.log(\"ERROR\", e.message);\n },\n });\n\n const hasCompletion = completion.length > 0;\n const handleClick = useCallback(() => {\n const editorSelection = editor.state.selection.content().content.toJSON()\n if (completion) {\n return complete(completion, {\n body: { option: \"zap\", command: inputValue, language: code ?? \"en\", selection: formatCompletion(completion) },\n }).then(() => setInputValue(\"\"));\n }\n const text = getPrevText(editor, { chars: 5000 });\n\n complete(text, {\n body: { option: \"zap\", command: inputValue, language: code ?? \"en\", selection: formatCompletion(completion) },\n }).then(() => setInputValue(\"\"));\n }, [code, inputValue, completion]);\n\n return (\n <Surface\n className={`p-2 min-w-[20rem] `}\n style={{\n width: boundigClient?.width,\n }}\n >\n <>\n {hasCompletion && !isLoading && (\n <div className=\"flex w-full\">\n <ScrollArea>\n <div\n className=\"prose p-2 px-4 prose-sm\"\n dir={i18next.dir()}\n >\n <Markdown>{checkJsonCompletion(completion) ? extractMarkdown({ type: 'doc', content: formatCompletion(completion) as any }) : completion}</Markdown>\n </div>\n </ScrollArea>\n </div>\n )}\n\n {isLoading && (\n <div className=\"flex h-12 w-full items-center px-4 text-sm font-medium text-muted-foreground text-blue-500\">\n <Sparkles className=\"mr-2 h-4 w-4 shrink-0 \" />\n AI is thinking\n <div className=\"ml-2 mt-1\">\n <CrazySpinner />\n </div>\n </div>\n )}\n\n {!isLoading && (\n <>\n <div className=\"flex justify-between items-center\">\n {/* <CommandInput\n value={inputValue}\n onValueChange={setInputValue}\n autoFocus\n placeholder={\n hasCompletion ? 'Tell AI what to do next' : 'Ask AI to edit or generate...'\n }\n // onFocus={() => addAIHighlight(editor)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') handleClick()\n }}\n /> */}\n <Sparkles className=\"mr-2 h-4 w-4 shrink-0 text-blue-500 \" />\n <TextareaAutosize\n ref={inputRef}\n className=\"w-full p-2 text-black bg-white rounded dark:bg-black dark:text-white focus:outline-none\"\n value={inputValue}\n onChange={(e) => {\n setInputValue(e.target.value);\n }}\n placeholder={\n hasCompletion\n ? i18next.t(\"tellAiPlaceholder\") || \"Tell AI what to do next\"\n : i18next.t(\"askAiPlaceholder\") || \"Ask AI to edit or generate...\"\n }\n autoFocus\n // onFocus={() => {\n // addAIHighlight(editor)}}\n\n onKeyDown={(e) => {\n if (e.key === \"Enter\") handleClick();\n }}\n />\n <Toolbar.Button\n // size=\"icon\"\n\n // className=\"absolute right-2 top-1/2 h-6 w-6 -translate-y-1/2 rounded-full bg-zinc-100 hover:bg-zinc-150\"\n onClick={handleClick}\n >\n <ArrowRight />\n </Toolbar.Button>\n </div>\n {hasCompletion ? (\n <AICompletionCommands\n editor={editor}\n onDiscard={() => {\n editor.chain().unsetHighlight().focus().run();\n onOpenChange(false);\n }}\n completion={completion}\n />\n ) : (\n <AISelectorCommands\n messages={completion}\n editor={editor}\n onSelect={(value, options) => {\n complete(value, { body: options });\n }}\n />\n )}\n </>\n )}\n </>\n </Surface>\n );\n};\n\n"],"names":["useLocale","useCompletion","ArrowRight","Sparkles","useCallback","useRef","useState","TextareaAutosize","i18next","Markdown","extractMarkdown","getPrevText","AICompletionCommands","AISelectorCommands","Surface","Toolbar","CrazySpinner","ScrollArea","checkJsonCompletion","formatCompletion","AIEditorPanel","editor","onOpenChange","inputValue","setInputValue","code","view","editorNode","dom","boundigClient","getBoundingClientRect","inputRef","completion","complete","isLoading","api","onResponse","response","status","console","log","onError","e","message","hasCompletion","length","handleClick","editorSelection","state","selection","content","toJSON","body","option","command","language","then","text","chars","className","style","width","div","dir","type","ref","value","onChange","target","placeholder","t","autoFocus","onKeyDown","key","Button","onClick","onDiscard","chain","unsetHighlight","focus","run","messages","onSelect","options"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.tsx"],"sourcesContent":["\"use client\";\n\nimport { useLocale } from \"@payloadcms/ui/providers/Locale\";\nimport { Editor } from \"@tiptap/react\";\nimport { useCompletion } from \"ai/react\";\nimport { ArrowRight, Sparkles } from \"lucide-react\";\nimport { useCallback, useRef, useState } from \"react\";\nimport TextareaAutosize from \"react-textarea-autosize\";\n\nimport i18next from \"i18next\";\nimport Markdown from \"react-markdown\";\nimport { extractMarkdown } from \"../../../lib/extract.js\";\nimport { getPrevText } from \"../../../lib/utils/index.js\";\nimport AICompletionCommands from \"../../menus/TextMenu/components/ai-completion-command.js\";\nimport AISelectorCommands from \"../../menus/TextMenu/components/ai-selector-commands.js\";\nimport { Surface } from \"../../ui/Surface.js\";\nimport { Toolbar } from \"../../ui/Toolbar.js\";\nimport CrazySpinner from \"../../ui/crazy-spinner.js\";\nimport { ScrollArea } from \"../../ui/scroll-area.js\";\nimport { checkJsonCompletion, formatCompletion } from \"./utils.js\";\nexport type AIEditorPanelProps = {\n editor: Editor;\n onOpenChange: (value: boolean) => void;\n};\n\nexport const AIEditorPanel = ({ editor, onOpenChange }: AIEditorPanelProps) => {\n const [inputValue, setInputValue] = useState(\"\");\n const { code } = useLocale();\n const { view } = editor;\n\n const editorNode = view.dom as HTMLElement;\n const boundigClient = editorNode.getBoundingClientRect();\n const inputRef = useRef<HTMLTextAreaElement>(null);\n\n\n\n const { completion, complete, isLoading } = useCompletion({\n // id: \"novel\",\n api: \"/api/generate\",\n onResponse: (response) => {\n if (response.status === 429) {\n console.log(\"You have reached your request limit for the day.\");\n\n return;\n }\n },\n onError: (e) => {\n console.log(\"ERROR\", e.message);\n },\n });\n\n const hasCompletion = completion.length > 0;\n const handleClick = useCallback(() => {\n const editorSelection = editor.state.selection.content().content.toJSON()\n if (completion) {\n return complete(completion, {\n body: { option: \"zap\", command: inputValue, language: code ?? \"en\", selection: formatCompletion(completion) },\n }).then(() => setInputValue(\"\"));\n }\n const text = getPrevText(editor, { chars: 5000 });\n\n complete(text, {\n body: { option: \"zap\", command: inputValue, language: code ?? \"en\", selection: formatCompletion(completion) },\n }).then(() => setInputValue(\"\"));\n }, [code, inputValue, completion]);\n\n return (\n <Surface\n className={`p-2 min-w-[20rem] `}\n style={{\n width: boundigClient?.width,\n }}\n >\n <>\n {hasCompletion && !isLoading && (\n <div className=\"flex w-full\">\n <ScrollArea>\n <div\n className=\"prose p-2 px-4 prose-sm\"\n dir={i18next.dir()}\n >\n <Markdown>{checkJsonCompletion(completion) ? extractMarkdown({ type: 'doc', content: formatCompletion(completion) as any }) : completion}</Markdown>\n </div>\n </ScrollArea>\n </div>\n )}\n\n {isLoading && (\n <div className=\"flex h-12 w-full items-center px-4 text-sm font-medium text-muted-foreground text-blue-500\">\n <Sparkles className=\"mr-2 h-4 w-4 shrink-0 \" />\n AI is thinking\n <div className=\"ml-2 mt-1\">\n <CrazySpinner />\n </div>\n </div>\n )}\n\n {!isLoading && (\n <>\n <div className=\"flex justify-between items-center\">\n {/* <CommandInput\n value={inputValue}\n onValueChange={setInputValue}\n autoFocus\n placeholder={\n hasCompletion ? 'Tell AI what to do next' : 'Ask AI to edit or generate...'\n }\n // onFocus={() => addAIHighlight(editor)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') handleClick()\n }}\n /> */}\n <Sparkles className=\"mr-2 h-4 w-4 shrink-0 text-blue-500 \" />\n <TextareaAutosize\n ref={inputRef}\n className=\"w-full p-2 text-black bg-white rounded dark:bg-black dark:text-white focus:outline-none\"\n value={inputValue}\n onChange={(e) => {\n setInputValue(e.target.value);\n }}\n placeholder={\n hasCompletion\n ? i18next.t(\"tellAiPlaceholder\") || \"Tell AI what to do next\"\n : i18next.t(\"askAiPlaceholder\") || \"Ask AI to edit or generate...\"\n }\n autoFocus\n // onFocus={() => {\n // addAIHighlight(editor)}}\n\n onKeyDown={(e) => {\n if (e.key === \"Enter\") handleClick();\n }}\n />\n <Toolbar.Button\n // size=\"icon\"\n\n // className=\"absolute right-2 top-1/2 h-6 w-6 -translate-y-1/2 rounded-full bg-zinc-100 hover:bg-zinc-150\"\n onClick={handleClick}\n >\n <ArrowRight />\n </Toolbar.Button>\n </div>\n {hasCompletion ? (\n <AICompletionCommands\n editor={editor}\n onDiscard={() => {\n editor?.chain()?.unsetHighlight()?.focus()?.run();\n onOpenChange(false);\n }}\n completion={completion}\n />\n ) : (\n <AISelectorCommands\n messages={completion}\n editor={editor}\n onSelect={(value, options) => {\n complete(value, { body: options });\n }}\n />\n )}\n </>\n )}\n </>\n </Surface>\n );\n};\n\n"],"names":["useLocale","useCompletion","ArrowRight","Sparkles","useCallback","useRef","useState","TextareaAutosize","i18next","Markdown","extractMarkdown","getPrevText","AICompletionCommands","AISelectorCommands","Surface","Toolbar","CrazySpinner","ScrollArea","checkJsonCompletion","formatCompletion","AIEditorPanel","editor","onOpenChange","inputValue","setInputValue","code","view","editorNode","dom","boundigClient","getBoundingClientRect","inputRef","completion","complete","isLoading","api","onResponse","response","status","console","log","onError","e","message","hasCompletion","length","handleClick","editorSelection","state","selection","content","toJSON","body","option","command","language","then","text","chars","className","style","width","div","dir","type","ref","value","onChange","target","placeholder","t","autoFocus","onKeyDown","key","Button","onClick","onDiscard","chain","unsetHighlight","focus","run","messages","onSelect","options"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export { TipTapEditor } from "./fields/TiptapEditor/index.js";
2
2
  export { EditorComponent } from "./fields/TiptapEditor/Components.js";
3
+ export { OneLineEditor } from "./fields/TiptapEditor/features/BlockEditor/OneLineEditor.js";
3
4
  export { BlockEditor } from "./fields/TiptapEditor/features/BlockEditor/BlockEditor.js";
4
5
  export { extractMarkdown, extractTiptapJson, extractTiptapJsonFromHTML, getHtml, } from "./fields/TiptapEditor/lib/extract.js";
5
6
  export * from "./fields/TiptapEditor/extensions/serverside/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,2DAA2D,CAAC;AACxF,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,OAAO,GACR,MAAM,sCAAsC,CAAC;AAE9C,cAAc,sDAAsD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,6DAA6D,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,2DAA2D,CAAC;AACxF,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,OAAO,GACR,MAAM,sCAAsC,CAAC;AAE9C,cAAc,sDAAsD,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export { TipTapEditor } from "./fields/TiptapEditor/index.js";
2
2
  export { EditorComponent } from "./fields/TiptapEditor/Components.js";
3
+ export { OneLineEditor } from "./fields/TiptapEditor/features/BlockEditor/OneLineEditor.js";
3
4
  export { BlockEditor } from "./fields/TiptapEditor/features/BlockEditor/BlockEditor.js";
4
5
  export { extractMarkdown, extractTiptapJson, extractTiptapJsonFromHTML, getHtml } from "./fields/TiptapEditor/lib/extract.js";
5
6
  export * from "./fields/TiptapEditor/extensions/serverside/index.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export { TipTapEditor } from \"./fields/TiptapEditor/index.js\";\nexport { EditorComponent } from \"./fields/TiptapEditor/Components.js\";\nexport { BlockEditor } from \"./fields/TiptapEditor/features/BlockEditor/BlockEditor.js\";\nexport {\n extractMarkdown,\n extractTiptapJson,\n extractTiptapJsonFromHTML,\n getHtml,\n} from \"./fields/TiptapEditor/lib/extract.js\";\n\nexport * from \"./fields/TiptapEditor/extensions/serverside/index.js\";\n"],"names":["TipTapEditor","EditorComponent","BlockEditor","extractMarkdown","extractTiptapJson","extractTiptapJsonFromHTML","getHtml"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iCAAiC;AAC9D,SAASC,eAAe,QAAQ,sCAAsC;AACtE,SAASC,WAAW,QAAQ,4DAA4D;AACxF,SACEC,eAAe,EACfC,iBAAiB,EACjBC,yBAAyB,EACzBC,OAAO,QACF,uCAAuC;AAE9C,cAAc,uDAAuD"}
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export { TipTapEditor } from \"./fields/TiptapEditor/index.js\";\nexport { EditorComponent } from \"./fields/TiptapEditor/Components.js\";\nexport { OneLineEditor } from \"./fields/TiptapEditor/features/BlockEditor/OneLineEditor.js\";\nexport { BlockEditor } from \"./fields/TiptapEditor/features/BlockEditor/BlockEditor.js\";\nexport {\n extractMarkdown,\n extractTiptapJson,\n extractTiptapJsonFromHTML,\n getHtml,\n} from \"./fields/TiptapEditor/lib/extract.js\";\n\nexport * from \"./fields/TiptapEditor/extensions/serverside/index.js\";\n"],"names":["TipTapEditor","EditorComponent","OneLineEditor","BlockEditor","extractMarkdown","extractTiptapJson","extractTiptapJsonFromHTML","getHtml"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iCAAiC;AAC9D,SAASC,eAAe,QAAQ,sCAAsC;AACtE,SAASC,aAAa,QAAQ,8DAA8D;AAC5F,SAASC,WAAW,QAAQ,4DAA4D;AACxF,SACEC,eAAe,EACfC,iBAAiB,EACjBC,yBAAyB,EACzBC,OAAO,QACF,uCAAuC;AAE9C,cAAc,uDAAuD"}