payload-richtext-tiptap 0.0.118 → 0.0.119

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.
@@ -47,7 +47,7 @@ export const useTextmenuCommands = (editor)=>{
47
47
  }).run(), [
48
48
  editor
49
49
  ]);
50
- const onClearHighlight = useCallback(()=>editor.chain().focus().unsetHighlight().run(), [
50
+ const onClearHighlight = useCallback(()=>editor.chain().focus().run(), [
51
51
  editor
52
52
  ]);
53
53
  const onLink = useCallback((url, inNewTab)=>editor.chain().focus().setLink({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuCommands.ts"],"sourcesContent":["import { Editor } from '@tiptap/react'\nimport { useCallback } from 'react'\n\nexport const useTextmenuCommands = (editor: Editor) => {\n const onBold = useCallback(() => editor.chain().focus().toggleBold().run(), [editor])\n const onItalic = useCallback(() => editor.chain().focus().toggleItalic().run(), [editor])\n const onStrike = useCallback(() => editor.chain().focus().toggleStrike().run(), [editor])\n const onUnderline = useCallback(() => editor.chain().focus().toggleUnderline().run(), [editor])\n const onCode = useCallback(() => editor.chain().focus().toggleCode().run(), [editor])\n const onCodeBlock = useCallback(() => editor.chain().focus().toggleCodeBlock().run(), [editor])\n\n const onSubscript = useCallback(() => editor.chain().focus().toggleSubscript().run(), [editor])\n const onSuperscript = useCallback(\n () => editor.chain().focus().toggleSuperscript().run(),\n [editor],\n )\n const onAlignLeft = useCallback(() => editor.chain().focus().setTextAlign('left').run(), [editor])\n const onAlignCenter = useCallback(\n () => editor.chain().focus().setTextAlign('center').run(),\n [editor],\n )\n const onAlignRight = useCallback(\n () => editor.chain().focus().setTextAlign('right').run(),\n [editor],\n )\n const onAlignJustify = useCallback(\n () => editor.chain().focus().setTextAlign('justify').run(),\n [editor],\n )\n\n const onChangeColor = useCallback(\n (color: string) => editor.chain().setColor(color).run(),\n [editor],\n )\n const onClearColor = useCallback(() => editor.chain().focus().unsetColor().run(), [editor])\n\n const onChangeHighlight = useCallback(\n (color: string) => editor.chain().setHighlight({ color }).run(),\n [editor],\n )\n const onClearHighlight = useCallback(\n () => editor.chain().focus().unsetHighlight().run(),\n [editor],\n )\n\n const onLink = useCallback(\n (url: string, inNewTab?: boolean) =>\n editor\n .chain()\n .focus()\n .setLink({ href: url, target: inNewTab ? '_blank' : '' })\n .run(),\n [editor],\n )\n\n // const onSetFont = useCallback(\n // (font: string) => {\n // if (!font || font.length === 0) {\n // return editor.chain().focus().unsetFontFamily().run()\n // }\n // return editor.chain().focus().setFontFamily(font).run()\n // },\n // [editor],\n // )\n\n const onSetFontSize = useCallback(\n (fontSize: string) => {\n if (!fontSize || fontSize.length === 0) {\n return editor.chain().focus().unsetFontSize().run()\n }\n return editor.chain().focus().setFontSize(fontSize).run()\n },\n [editor],\n )\n\n // AI Commands\n const onCompleteSentence = useCallback(() => {\n // TODO\n }, [editor])\n const onEmojify = useCallback(() => {\n // TODO\n }, [editor])\n const onFixSpelling = useCallback(() => {\n // TODO\n }, [editor])\n const onMakeLonger = useCallback(() => {\n // TODO\n }, [editor])\n const onMakeShorter = useCallback(() => {\n // TODO\n }, [editor])\n const onSimplify = useCallback(() => {\n // TODO\n }, [editor])\n const onTldr = useCallback(() => {\n // TODO\n }, [editor])\n const onTone = useCallback(() => {\n // TODO\n }, [editor])\n const onTranslate = useCallback(() => {\n // TODO\n }, [editor])\n\n const onClearFormatting = useCallback(() => {\n editor.chain().focus().clearNodes().unsetAllMarks().run()\n }, [editor])\n\n return {\n onBold,\n onItalic,\n onStrike,\n onUnderline,\n onCode,\n onCodeBlock,\n onSubscript,\n onSuperscript,\n onAlignLeft,\n onAlignCenter,\n onAlignRight,\n onAlignJustify,\n onChangeColor,\n onClearColor,\n onChangeHighlight,\n onClearHighlight,\n // onSetFont,\n onSetFontSize,\n onLink,\n onCompleteSentence,\n onEmojify,\n onFixSpelling,\n onMakeLonger,\n onMakeShorter,\n onSimplify,\n onTldr,\n onTone,\n onTranslate,\n onClearFormatting,\n }\n}\n"],"names":["useCallback","useTextmenuCommands","editor","onBold","chain","focus","toggleBold","run","onItalic","toggleItalic","onStrike","toggleStrike","onUnderline","toggleUnderline","onCode","toggleCode","onCodeBlock","toggleCodeBlock","onSubscript","toggleSubscript","onSuperscript","toggleSuperscript","onAlignLeft","setTextAlign","onAlignCenter","onAlignRight","onAlignJustify","onChangeColor","color","setColor","onClearColor","unsetColor","onChangeHighlight","setHighlight","onClearHighlight","unsetHighlight","onLink","url","inNewTab","setLink","href","target","onSetFontSize","fontSize","length","unsetFontSize","setFontSize","onCompleteSentence","onEmojify","onFixSpelling","onMakeLonger","onMakeShorter","onSimplify","onTldr","onTone","onTranslate","onClearFormatting","clearNodes","unsetAllMarks"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuCommands.ts"],"sourcesContent":["import { Editor } from '@tiptap/react'\nimport { useCallback } from 'react'\n\nexport const useTextmenuCommands = (editor: Editor) => {\n const onBold = useCallback(() => editor.chain().focus().toggleBold().run(), [editor])\n const onItalic = useCallback(() => editor.chain().focus().toggleItalic().run(), [editor])\n const onStrike = useCallback(() => editor.chain().focus().toggleStrike().run(), [editor])\n const onUnderline = useCallback(() => editor.chain().focus().toggleUnderline().run(), [editor])\n const onCode = useCallback(() => editor.chain().focus().toggleCode().run(), [editor])\n const onCodeBlock = useCallback(() => editor.chain().focus().toggleCodeBlock().run(), [editor])\n\n const onSubscript = useCallback(() => editor.chain().focus().toggleSubscript().run(), [editor])\n const onSuperscript = useCallback(\n () => editor.chain().focus().toggleSuperscript().run(),\n [editor],\n )\n const onAlignLeft = useCallback(() => editor.chain().focus().setTextAlign('left').run(), [editor])\n const onAlignCenter = useCallback(\n () => editor.chain().focus().setTextAlign('center').run(),\n [editor],\n )\n const onAlignRight = useCallback(\n () => editor.chain().focus().setTextAlign('right').run(),\n [editor],\n )\n const onAlignJustify = useCallback(\n () => editor.chain().focus().setTextAlign('justify').run(),\n [editor],\n )\n\n const onChangeColor = useCallback(\n (color: string) => editor.chain().setColor(color).run(),\n [editor],\n )\n const onClearColor = useCallback(() => editor.chain().focus().unsetColor().run(), [editor])\n\n const onChangeHighlight = useCallback(\n (color: string) => editor.chain().setHighlight({ color }).run(),\n [editor],\n )\n const onClearHighlight = useCallback(\n () => editor.chain().focus().run(),\n [editor],\n )\n\n const onLink = useCallback(\n (url: string, inNewTab?: boolean) =>\n editor\n .chain()\n .focus()\n .setLink({ href: url, target: inNewTab ? '_blank' : '' })\n .run(),\n [editor],\n )\n\n // const onSetFont = useCallback(\n // (font: string) => {\n // if (!font || font.length === 0) {\n // return editor.chain().focus().unsetFontFamily().run()\n // }\n // return editor.chain().focus().setFontFamily(font).run()\n // },\n // [editor],\n // )\n\n const onSetFontSize = useCallback(\n (fontSize: string) => {\n if (!fontSize || fontSize.length === 0) {\n return editor.chain().focus().unsetFontSize().run()\n }\n return editor.chain().focus().setFontSize(fontSize).run()\n },\n [editor],\n )\n\n // AI Commands\n const onCompleteSentence = useCallback(() => {\n // TODO\n }, [editor])\n const onEmojify = useCallback(() => {\n // TODO\n }, [editor])\n const onFixSpelling = useCallback(() => {\n // TODO\n }, [editor])\n const onMakeLonger = useCallback(() => {\n // TODO\n }, [editor])\n const onMakeShorter = useCallback(() => {\n // TODO\n }, [editor])\n const onSimplify = useCallback(() => {\n // TODO\n }, [editor])\n const onTldr = useCallback(() => {\n // TODO\n }, [editor])\n const onTone = useCallback(() => {\n // TODO\n }, [editor])\n const onTranslate = useCallback(() => {\n // TODO\n }, [editor])\n\n const onClearFormatting = useCallback(() => {\n editor.chain().focus().clearNodes().unsetAllMarks().run()\n }, [editor])\n\n return {\n onBold,\n onItalic,\n onStrike,\n onUnderline,\n onCode,\n onCodeBlock,\n onSubscript,\n onSuperscript,\n onAlignLeft,\n onAlignCenter,\n onAlignRight,\n onAlignJustify,\n onChangeColor,\n onClearColor,\n onChangeHighlight,\n onClearHighlight,\n // onSetFont,\n onSetFontSize,\n onLink,\n onCompleteSentence,\n onEmojify,\n onFixSpelling,\n onMakeLonger,\n onMakeShorter,\n onSimplify,\n onTldr,\n onTone,\n onTranslate,\n onClearFormatting,\n }\n}\n"],"names":["useCallback","useTextmenuCommands","editor","onBold","chain","focus","toggleBold","run","onItalic","toggleItalic","onStrike","toggleStrike","onUnderline","toggleUnderline","onCode","toggleCode","onCodeBlock","toggleCodeBlock","onSubscript","toggleSubscript","onSuperscript","toggleSuperscript","onAlignLeft","setTextAlign","onAlignCenter","onAlignRight","onAlignJustify","onChangeColor","color","setColor","onClearColor","unsetColor","onChangeHighlight","setHighlight","onClearHighlight","onLink","url","inNewTab","setLink","href","target","onSetFontSize","fontSize","length","unsetFontSize","setFontSize","onCompleteSentence","onEmojify","onFixSpelling","onMakeLonger","onMakeShorter","onSimplify","onTldr","onTone","onTranslate","onClearFormatting","clearNodes","unsetAllMarks"],"mappings":"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"}
@@ -131,7 +131,7 @@ export const AIEditorPanel = ({ editor, onOpenChange })=>{
131
131
  hasCompletion ? /*#__PURE__*/ _jsx(AICompletionCommands, {
132
132
  editor: editor,
133
133
  onDiscard: ()=>{
134
- editor?.chain()?.unsetHighlight()?.focus()?.run();
134
+ editor?.chain()?.focus()?.run();
135
135
  onOpenChange(false);
136
136
  },
137
137
  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 if (completion) {\n return complete(completion, {\n body: { option: \"zap\", command: inputValue, language: code ?? \"en\" },\n }).then(() => setInputValue(\"\"));\n }\n const text = getPrevText(editor, { chars: 5000 });\n\n complete(text, {\n body: { option: \"zap\", command: inputValue, language: code ?? \"en\" },\n }).then(() => setInputValue(\"\"));\n }, [code, inputValue, completion]);\n\n return (\n <Surface\n className={`p-2 min-w-[20rem] `}\n style={{\n width: boundigClient?.width,\n }}\n >\n <>\n {(hasCompletion && completion?.length > 10 && (checkJsonCompletion(completion) ? !isLoading : true)) && (\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 (Beta) 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 <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 (Beta) what to do next\"\n : i18next.t(\"askAiPlaceholder\") || \"Ask AI (Beta) 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","body","option","command","language","then","text","chars","className","style","width","div","dir","type","content","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 if (completion) {\n return complete(completion, {\n body: { option: \"zap\", command: inputValue, language: code ?? \"en\" },\n }).then(() => setInputValue(\"\"));\n }\n const text = getPrevText(editor, { chars: 5000 });\n\n complete(text, {\n body: { option: \"zap\", command: inputValue, language: code ?? \"en\" },\n }).then(() => setInputValue(\"\"));\n }, [code, inputValue, completion]);\n\n return (\n <Surface\n className={`p-2 min-w-[20rem] `}\n style={{\n width: boundigClient?.width,\n }}\n >\n <>\n {(hasCompletion && completion?.length > 10 && (checkJsonCompletion(completion) ? !isLoading : true)) && (\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 (Beta) 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 <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 (Beta) what to do next\"\n : i18next.t(\"askAiPlaceholder\") || \"Ask AI (Beta) 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()?.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","body","option","command","language","then","text","chars","className","style","width","div","dir","type","content","ref","value","onChange","target","placeholder","t","autoFocus","onKeyDown","key","Button","onClick","onDiscard","chain","focus","run","messages","onSelect","options"],"mappings":"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"}