payload-richtext-tiptap 0.0.41 → 0.0.42

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.
Files changed (77) hide show
  1. package/dist/src/fields/TiptapEditor/Components.d.ts.map +1 -1
  2. package/dist/src/fields/TiptapEditor/Components.js +3 -3
  3. package/dist/src/fields/TiptapEditor/Components.js.map +1 -1
  4. package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.d.ts +4 -0
  5. package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.d.ts.map +1 -0
  6. package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.js +208 -0
  7. package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.js.map +1 -0
  8. package/dist/src/fields/TiptapEditor/extensions/AICommand/AIMenuList.d.ts +5 -0
  9. package/dist/src/fields/TiptapEditor/extensions/AICommand/AIMenuList.d.ts.map +1 -0
  10. package/dist/src/fields/TiptapEditor/extensions/AICommand/AIMenuList.js +123 -0
  11. package/dist/src/fields/TiptapEditor/extensions/AICommand/AIMenuList.js.map +1 -0
  12. package/dist/src/fields/TiptapEditor/extensions/AICommand/CommandButton.d.ts +10 -0
  13. package/dist/src/fields/TiptapEditor/extensions/AICommand/CommandButton.d.ts.map +1 -0
  14. package/dist/src/fields/TiptapEditor/extensions/AICommand/CommandButton.js +29 -0
  15. package/dist/src/fields/TiptapEditor/extensions/AICommand/CommandButton.js.map +1 -0
  16. package/dist/src/fields/TiptapEditor/extensions/AICommand/MenuList.d.ts +5 -0
  17. package/dist/src/fields/TiptapEditor/extensions/AICommand/MenuList.d.ts.map +1 -0
  18. package/dist/src/fields/TiptapEditor/extensions/AICommand/MenuList.js +123 -0
  19. package/dist/src/fields/TiptapEditor/extensions/AICommand/MenuList.js.map +1 -0
  20. package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.d.ts +4 -0
  21. package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.d.ts.map +1 -0
  22. package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.js +260 -0
  23. package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.js.map +1 -0
  24. package/dist/src/fields/TiptapEditor/extensions/AICommand/index.d.ts +2 -0
  25. package/dist/src/fields/TiptapEditor/extensions/AICommand/index.d.ts.map +1 -0
  26. package/dist/src/fields/TiptapEditor/extensions/AICommand/index.js +3 -0
  27. package/dist/src/fields/TiptapEditor/extensions/AICommand/index.js.map +1 -0
  28. package/dist/src/fields/TiptapEditor/extensions/AICommand/types.d.ts +22 -0
  29. package/dist/src/fields/TiptapEditor/extensions/AICommand/types.d.ts.map +1 -0
  30. package/dist/src/fields/TiptapEditor/extensions/AICommand/types.js +3 -0
  31. package/dist/src/fields/TiptapEditor/extensions/AICommand/types.js.map +1 -0
  32. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/ImageUpload.d.ts.map +1 -1
  33. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/ImageUpload.js +3 -2
  34. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/ImageUpload.js.map +1 -1
  35. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.d.ts +2 -2
  36. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.d.ts.map +1 -1
  37. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.js +38 -21
  38. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.js.map +1 -1
  39. package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts +3 -1
  40. package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts.map +1 -1
  41. package/dist/src/fields/TiptapEditor/extensions/extension-kit.js +22 -15
  42. package/dist/src/fields/TiptapEditor/extensions/extension-kit.js.map +1 -1
  43. package/dist/src/fields/TiptapEditor/extensions/index.d.ts +1 -0
  44. package/dist/src/fields/TiptapEditor/extensions/index.d.ts.map +1 -1
  45. package/dist/src/fields/TiptapEditor/extensions/index.js +1 -0
  46. package/dist/src/fields/TiptapEditor/extensions/index.js.map +1 -1
  47. package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.d.ts +4 -1
  48. package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.d.ts.map +1 -1
  49. package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.js +3 -2
  50. package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.js.map +1 -1
  51. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-draft-selector-commands.d.ts +8 -0
  52. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-draft-selector-commands.d.ts.map +1 -0
  53. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-draft-selector-commands.js +94 -0
  54. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-draft-selector-commands.js.map +1 -0
  55. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.d.ts +7 -0
  56. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.d.ts.map +1 -0
  57. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.js +193 -0
  58. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.js.map +1 -0
  59. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/index.d.ts +2 -0
  60. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/index.d.ts.map +1 -0
  61. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/index.js +3 -0
  62. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/index.js.map +1 -0
  63. package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.d.ts.map +1 -1
  64. package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.js +29 -17
  65. package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.js.map +1 -1
  66. package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.d.ts +3 -1
  67. package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.d.ts.map +1 -1
  68. package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.js +4 -3
  69. package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.js.map +1 -1
  70. package/dist/src/fields/TiptapEditor/lib/extract.d.ts.map +1 -1
  71. package/dist/src/fields/TiptapEditor/lib/extract.js +6 -5
  72. package/dist/src/fields/TiptapEditor/lib/extract.js.map +1 -1
  73. package/dist/src/fields/TiptapEditor/types.d.js +3 -0
  74. package/dist/src/fields/TiptapEditor/types.d.js.map +1 -0
  75. package/dist/src/styles.css +0 -4
  76. package/dist/tsconfig.tsbuildinfo +1 -1
  77. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.tsx"],"sourcesContent":["\"use client\";\n\nimport { useLocale } from \"@payloadcms/ui/providers/Locale\";\nimport { Editor, EditorContent, useEditor } from \"@tiptap/react\";\nimport { useCompletion } from \"ai/react\";\nimport { ArrowRight, Sparkles } from \"lucide-react\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport TextareaAutosize from \"react-textarea-autosize\";\n\nimport { Markdown } from \"tiptap-markdown\";\nimport { getPrevText } from \"../../../lib/utils/index.js\";\nimport { isRTL } from \"../../../lib/utils/isRtl.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 AIDraftSelectorCommands from \"../../menus/TextMenu/components/ai-draft-selector-commands.js\";\nimport StarterKit from \"@tiptap/starter-kit\";\nexport type AICommandPanelProps = {\n editor: Editor;\n onOpenChange: (value: boolean) => void;\n};\n\nexport const AICommandPanel = ({\n editor,\n onOpenChange,\n}: AICommandPanelProps) => {\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 // const { status, messages, input, submitMessage, handleInputChange } = useAssistant({\n // // id: \"novel\",\n // api: \"/api/assistant\",\n // onResponse: (response) => {\n // if (response.status === 429) {\n // toast.error(\"You have reached your request limit for the day.\");\n // return;\n // }\n // },\n // onError: (e) => {\n // toast.error(e.message);\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\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]);\n\n useEffect(() => {\n if (!isLoading && completion) {\n const selection = editor.state.selection;\n editor\n .chain()\n .focus()\n .insertContentAt(selection.to - 1, completion)\n .insertContentAt(selection.to, \" \")\n .run();\n }\n }, [completion, isLoading]);\n\n const editorMarkdown = useEditor(\n {\n content: completion ?? \"\",\n autofocus: true,\n onCreate: ({ editor }) => {\n // provider?.on('synced', () => {\n // if (editor.isEmpty) {\n // editor.commands.setContent(initialContent)\n // }\n // })\n },\n\n extensions: [StarterKit, Markdown],\n editorProps: {\n attributes: {\n autocomplete: \"off\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n class: \"min-h-full\",\n },\n },\n },\n []\n );\n return (\n <Surface\n className={`p-2 min-w-[20rem] flex flex-col gap-2 `}\n style={{\n width: boundigClient?.width,\n }}\n >\n <>\n {hasCompletion && (\n <div className=\"flex w-full\">\n <ScrollArea>\n <div\n className=\"prose p-2 px-4 prose-sm\"\n dir={isRTL(completion) ? \"rtl\" : \"ltr\"}\n >\n {/* <Markdown>{completion}</Markdown> */}\n </div>\n </ScrollArea>\n </div>\n )}\n\n {isLoading && (\n <div\n className=\"flex h-12 w-full items-center px-4 text-sm font-medium text-muted-foreground text-blue-500\"\n style={{\n width: boundigClient?.width,\n }}\n >\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 ? \"Tell AI what to do next\"\n : \"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 <AIDraftSelectorCommands\n editor={editor}\n onSelect={(value) => {\n setInputValue(value);\n inputRef.current.focus();\n }}\n />\n )}\n </>\n )}\n </>\n </Surface>\n );\n};\n"],"names":["useLocale","useEditor","useCompletion","ArrowRight","Sparkles","useCallback","useEffect","useRef","useState","TextareaAutosize","Markdown","getPrevText","isRTL","AICompletionCommands","Surface","Toolbar","CrazySpinner","ScrollArea","AIDraftSelectorCommands","StarterKit","AICommandPanel","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","selection","state","chain","focus","insertContentAt","to","run","editorMarkdown","content","autofocus","onCreate","extensions","editorProps","attributes","autocomplete","autocorrect","autocapitalize","class","className","style","width","div","dir","ref","value","onChange","target","placeholder","autoFocus","onKeyDown","key","Button","onClick","onDiscard","unsetHighlight","onSelect","current"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./AICommandPanel.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/panels/AICommandPanel/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./AICommandPanel.js";
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/AICommandPanel/index.tsx"],"sourcesContent":["export * from \"./AICommandPanel.js\";\n"],"names":[],"mappings":"AAAA,cAAc,sBAAsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"AIEditorPanel.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAavC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,aAAa,6BAA8B,kBAAkB,gCAwIzE,CAAC"}
1
+ {"version":3,"file":"AIEditorPanel.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAevC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,aAAa,6BAA8B,kBAAkB,gCAuJzE,CAAC"}
@@ -3,7 +3,8 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
3
3
  import { useLocale } from "@payloadcms/ui/providers/Locale";
4
4
  import { useCompletion } from "ai/react";
5
5
  import { ArrowRight, Sparkles } from "lucide-react";
6
- import { useCallback, useState } from "react";
6
+ import { useCallback, useRef, useState } from "react";
7
+ import TextareaAutosize from "react-textarea-autosize";
7
8
  import Markdown from "react-markdown";
8
9
  import { getPrevText } from "../../../lib/utils/index.js";
9
10
  import { isRTL } from "../../../lib/utils/isRtl.js";
@@ -16,6 +17,10 @@ import { ScrollArea } from "../../ui/scroll-area.js";
16
17
  export const AIEditorPanel = ({ editor, onOpenChange })=>{
17
18
  const [inputValue, setInputValue] = useState("");
18
19
  const { code } = useLocale();
20
+ const { view } = editor;
21
+ const editorNode = view.dom;
22
+ const boundigClient = editorNode.getBoundingClientRect();
23
+ const inputRef = useRef(null);
19
24
  // const { status, messages, input, submitMessage, handleInputChange } = useAssistant({
20
25
  // // id: "novel",
21
26
  // api: "/api/assistant",
@@ -44,13 +49,15 @@ export const AIEditorPanel = ({ editor, onOpenChange })=>{
44
49
  });
45
50
  const hasCompletion = completion.length > 0;
46
51
  const handleClick = useCallback(()=>{
47
- if (completion) return complete(completion, {
48
- body: {
49
- option: "zap",
50
- command: inputValue,
51
- language: code ?? "en"
52
- }
53
- }).then(()=>setInputValue(""));
52
+ if (completion) {
53
+ return complete(completion, {
54
+ body: {
55
+ option: "zap",
56
+ command: inputValue,
57
+ language: code ?? "en"
58
+ }
59
+ }).then(()=>setInputValue(""));
60
+ }
54
61
  const text = getPrevText(editor, {
55
62
  chars: 5000
56
63
  });
@@ -62,14 +69,18 @@ export const AIEditorPanel = ({ editor, onOpenChange })=>{
62
69
  }
63
70
  }).then(()=>setInputValue(""));
64
71
  }, [
65
- code
72
+ code,
73
+ inputValue
66
74
  ]);
67
75
  return /*#__PURE__*/ _jsx(Surface, {
68
- className: "p-2 min-w-[20rem]",
76
+ className: `p-2 min-w-[20rem] `,
77
+ style: {
78
+ width: boundigClient?.width
79
+ },
69
80
  children: /*#__PURE__*/ _jsxs(_Fragment, {
70
81
  children: [
71
82
  hasCompletion && /*#__PURE__*/ _jsx("div", {
72
- className: "flex max-h-[400px]",
83
+ className: "flex w-full",
73
84
  children: /*#__PURE__*/ _jsx(ScrollArea, {
74
85
  children: /*#__PURE__*/ _jsx("div", {
75
86
  className: "prose p-2 px-4 prose-sm",
@@ -101,7 +112,8 @@ export const AIEditorPanel = ({ editor, onOpenChange })=>{
101
112
  /*#__PURE__*/ _jsx(Sparkles, {
102
113
  className: "mr-2 h-4 w-4 shrink-0 text-blue-500 "
103
114
  }),
104
- /*#__PURE__*/ _jsx("input", {
115
+ /*#__PURE__*/ _jsx(TextareaAutosize, {
116
+ ref: inputRef,
105
117
  className: "w-full p-2 text-black bg-white rounded dark:bg-black dark:text-white focus:outline-none",
106
118
  value: inputValue,
107
119
  onChange: (e)=>{
@@ -109,7 +121,8 @@ export const AIEditorPanel = ({ editor, onOpenChange })=>{
109
121
  },
110
122
  placeholder: hasCompletion ? "Tell AI what to do next" : "Ask AI to edit or generate...",
111
123
  autoFocus: true,
112
- // onFocus={() => addAIHighlight(editor)}
124
+ // onFocus={() => {
125
+ // addAIHighlight(editor)}}
113
126
  onKeyDown: (e)=>{
114
127
  if (e.key === "Enter") handleClick();
115
128
  }
@@ -131,10 +144,9 @@ export const AIEditorPanel = ({ editor, onOpenChange })=>{
131
144
  completion: completion
132
145
  }) : /*#__PURE__*/ _jsx(AISelectorCommands, {
133
146
  editor: editor,
134
- onSelect: (value, options)=>{
135
- complete(value, {
136
- body: options
137
- });
147
+ onSelect: (value)=>{
148
+ setInputValue(value);
149
+ inputRef.current.focus();
138
150
  }
139
151
  })
140
152
  ]
@@ -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, useState } from \"react\";\nimport Markdown from \"react-markdown\";\nimport { getPrevText } from \"../../../lib/utils/index.js\";\nimport { isRTL } from \"../../../lib/utils/isRtl.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\";\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\n // const { status, messages, input, submitMessage, handleInputChange } = useAssistant({\n // // id: \"novel\",\n // api: \"/api/assistant\",\n // onResponse: (response) => {\n // if (response.status === 429) {\n // toast.error(\"You have reached your request limit for the day.\");\n // return;\n // }\n // },\n // onError: (e) => {\n // toast.error(e.message);\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 const text = getPrevText(editor, { chars: 5000 });\n\n complete(text, {\n body: { option: \"zap\", command: inputValue, language: code ?? \"en\" },\n }).then(() => setInputValue(\"\"));\n }, [code]);\n return (\n <Surface className=\"p-2 min-w-[20rem]\">\n <>\n {hasCompletion && (\n <div className=\"flex max-h-[400px]\">\n <ScrollArea>\n <div\n className=\"prose p-2 px-4 prose-sm\"\n dir={isRTL(completion) ? \"rtl\" : \"ltr\"}\n >\n <Markdown>{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 <input\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 ? \"Tell AI what to do next\"\n : \"Ask AI to edit or generate...\"\n }\n autoFocus\n // onFocus={() => 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 editor={editor}\n onSelect={(value, options) => {\n complete(value, { body: options });\n }}\n />\n )}\n </>\n )}\n </>\n </Surface>\n );\n};\n"],"names":["useLocale","useCompletion","ArrowRight","Sparkles","useCallback","useState","Markdown","getPrevText","isRTL","AICompletionCommands","AISelectorCommands","Surface","Toolbar","CrazySpinner","ScrollArea","AIEditorPanel","editor","onOpenChange","inputValue","setInputValue","code","completion","complete","isLoading","api","onResponse","response","status","console","log","onError","e","message","hasCompletion","length","handleClick","body","option","command","language","then","text","chars","className","div","dir","input","value","onChange","target","placeholder","autoFocus","onKeyDown","key","Button","onClick","onDiscard","chain","unsetHighlight","focus","run","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, useEffect, useRef, useState } from \"react\";\nimport TextareaAutosize from \"react-textarea-autosize\";\n\nimport Markdown from \"react-markdown\";\nimport { getPrevText } from \"../../../lib/utils/index.js\";\nimport { isRTL } from \"../../../lib/utils/isRtl.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\";\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 // const { status, messages, input, submitMessage, handleInputChange } = useAssistant({\n // // id: \"novel\",\n // api: \"/api/assistant\",\n // onResponse: (response) => {\n // if (response.status === 429) {\n // toast.error(\"You have reached your request limit for the day.\");\n // return;\n // }\n // },\n // onError: (e) => {\n // toast.error(e.message);\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]);\n\n return (\n <Surface\n className={`p-2 min-w-[20rem] `}\n style={{\n width: boundigClient?.width,\n }}\n >\n <>\n {hasCompletion && (\n <div className=\"flex w-full\">\n <ScrollArea>\n <div\n className=\"prose p-2 px-4 prose-sm\"\n dir={isRTL(completion) ? \"rtl\" : \"ltr\"}\n >\n <Markdown>{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 ? \"Tell AI what to do next\"\n : \"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 editor={editor}\n onSelect={(value) => {\n setInputValue(value);\n inputRef.current.focus();\n }}\n />\n )}\n </>\n )}\n </>\n </Surface>\n );\n};\n"],"names":["useLocale","useCompletion","ArrowRight","Sparkles","useCallback","useRef","useState","TextareaAutosize","Markdown","getPrevText","isRTL","AICompletionCommands","AISelectorCommands","Surface","Toolbar","CrazySpinner","ScrollArea","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","ref","value","onChange","target","placeholder","autoFocus","onKeyDown","key","Button","onClick","onDiscard","chain","unsetHighlight","focus","run","onSelect","current"],"mappings":"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"}
@@ -1,15 +1,17 @@
1
1
  import { Editor } from "@tiptap/react";
2
+ import { openAssetHQType } from "../types.js";
2
3
  declare global {
3
4
  interface Window {
4
5
  editor: Editor | null;
5
6
  }
6
7
  }
7
- export declare const useBlockEditor: ({ content, handleChange, }: {
8
+ export declare const useBlockEditor: ({ content, handleChange, openAssetHQHandler, }: {
8
9
  content: {
9
10
  html: string;
10
11
  json: any;
11
12
  };
12
13
  handleChange: (data: any) => void;
14
+ openAssetHQHandler: openAssetHQType;
13
15
  }) => {
14
16
  editor: Editor;
15
17
  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,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB;CACF;AAED,eAAO,MAAM,cAAc,mDAIxB;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,kBAAkB,EAAE,eAAe,CAAC;CACrC;;;;;CAqFA,CAAC"}
@@ -3,10 +3,10 @@ import { useMemo } from "react";
3
3
  import { useEditor } from "@tiptap/react";
4
4
  import ExtensionKit from "../extensions/extension-kit.js";
5
5
  import { useSidebar } from "./useSidebar.js";
6
+ import { useTranslation } from "@payloadcms/ui/providers/Translation";
6
7
  import TurndownService from "turndown";
7
8
  import { gfm } from "turndown-plugin-gfm";
8
- import { useTranslation } from "@payloadcms/ui/providers/Translation";
9
- export const useBlockEditor = ({ content, handleChange })=>{
9
+ export const useBlockEditor = ({ content, handleChange, openAssetHQHandler })=>{
10
10
  const leftSidebar = useSidebar();
11
11
  const turndownService = new TurndownService({});
12
12
  // Use the gfm plugin
@@ -30,6 +30,7 @@ export const useBlockEditor = ({ content, handleChange })=>{
30
30
  },
31
31
  extensions: [
32
32
  ...ExtensionKit({
33
+ openAssetHQHandler
33
34
  })
34
35
  ],
35
36
  editorProps: {
@@ -71,7 +72,7 @@ export const useBlockEditor = ({ content, handleChange })=>{
71
72
  // setCollabState(event.status)
72
73
  // })
73
74
  // }, [provider])
74
- if (window) window.editor = editor;
75
+ if (typeof window != "undefined") window.editor = editor;
75
76
  return {
76
77
  editor,
77
78
  users,
@@ -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"],"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 { 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}: {\n content: { html: string; json: any };\n handleChange: (data: any) => void;\n openAssetHQHandler: openAssetHQType;\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 openAssetHQHandler,\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 (typeof window != \"undefined\") window.editor = editor;\n\n return { editor, users, characterCount, leftSidebar };\n};\n"],"names":["useMemo","useEditor","ExtensionKit","useSidebar","useTranslation","TurndownService","gfm","useBlockEditor","content","handleChange","openAssetHQHandler","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"],"mappings":"AAAA;AACA,SAASA,OAAO,QAAQ,QAAQ;AAEhC,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,OAAO,MAAMC,iBAAiB,CAAC,EAC7BC,OAAO,EACPC,YAAY,EACZC,kBAAkB,EAKnB;IACC,MAAMC,cAAcR;IAEpB,MAAMS,kBAAkB,IAAIP,gBAAgB,CAAC;IAC7C,qBAAqB;IACrBO,gBAAgBC,GAAG,CAACP;IACpBM,gBAAgBE,OAAO,CAAC,WAAW;QACjCC,QAAQ;QACRC,aAAa,SAAUR,OAAO;YAC5B,OAAO,SAASA,UAAU;QAC5B;IACF;IACA,MAAM,EAAES,CAAC,EAAEC,IAAI,EAAE,GAAGd;IAEpB,MAAMe,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;gBACdQ;YAEF;SAWD;QACDc,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;QACrC;IACF,GACA,EAAE;IAEJ,MAAMC,QAAQlC,QAAQ;QACpB,IAAI,CAACmB,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,IAAI,OAAOC,UAAU,aAAaA,OAAO9B,MAAM,GAAGA;IAElD,OAAO;QAAEA;QAAQe;QAAOY;QAAgBnC;IAAY;AACtD,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../../../src/fields/TiptapEditor/lib/extract.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,kBAAmB,MAAM,uCAWtD,CAAC;AAEF,eAAO,MAAM,eAAe,SAAU,GAAG,QAWxC,CAAC"}
1
+ {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../../../src/fields/TiptapEditor/lib/extract.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,kBAAmB,MAAM,uCAWtD,CAAC;AAEF,eAAO,MAAM,eAAe,SAAU,GAAG,QAWxC,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import { Editor } from "@tiptap/core";
2
- import { Markdown } from "tiptap-markdown";
3
2
  import ExtensionKit from "../extensions/extension-kit.js";
4
3
  export const extractTiptapJson = (markdownValue)=>{
5
4
  const editor = new Editor({
6
5
  content: markdownValue,
7
6
  extensions: [
8
7
  ...ExtensionKit({
9
- }),
10
- Markdown
8
+ // provider,
9
+ openAssetHQHandler: ()=>{}
10
+ })
11
11
  ]
12
12
  });
13
13
  return editor.getJSON();
@@ -17,8 +17,9 @@ export const extractMarkdown = (json)=>{
17
17
  content: json,
18
18
  extensions: [
19
19
  ...ExtensionKit({
20
- }),
21
- Markdown
20
+ // provider,
21
+ openAssetHQHandler: ()=>{}
22
+ })
22
23
  ]
23
24
  });
24
25
  return editor.storage.markdown.getMarkdown();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/fields/TiptapEditor/lib/extract.ts"],"sourcesContent":["import { Editor } from \"@tiptap/core\";\nimport { Markdown } from \"tiptap-markdown\";\nimport ExtensionKit from \"../extensions/extension-kit.js\";\n\nexport const extractTiptapJson = (markdownValue: string) => {\n const editor = new Editor({\n content: markdownValue,\n extensions: [\n ...ExtensionKit({\n // provider,\n }),\n Markdown,\n ],\n });\n return editor.getJSON();\n};\n\nexport const extractMarkdown = (json: any) => {\n const editor = new Editor({\n content: json,\n extensions: [\n ...ExtensionKit({\n // provider,\n }),\n Markdown,\n ],\n });\n return editor.storage.markdown.getMarkdown();\n};\n"],"names":["Editor","Markdown","ExtensionKit","extractTiptapJson","markdownValue","editor","content","extensions","getJSON","extractMarkdown","json","storage","markdown","getMarkdown"],"mappings":"AAAA,SAASA,MAAM,QAAQ,eAAe;AACtC,SAASC,QAAQ,QAAQ,kBAAkB;AAC3C,OAAOC,kBAAkB,iCAAiC;AAE1D,OAAO,MAAMC,oBAAoB,CAACC;IAChC,MAAMC,SAAS,IAAIL,OAAO;QACxBM,SAASF;QACTG,YAAY;eACPL,aAAa;YAEhB;YACAD;SACD;IACH;IACA,OAAOI,OAAOG,OAAO;AACvB,EAAE;AAEF,OAAO,MAAMC,kBAAkB,CAACC;IAC9B,MAAML,SAAS,IAAIL,OAAO;QACxBM,SAASI;QACTH,YAAY;eACPL,aAAa;YAEhB;YACAD;SACD;IACH;IACA,OAAOI,OAAOM,OAAO,CAACC,QAAQ,CAACC,WAAW;AAC5C,EAAE"}
1
+ {"version":3,"sources":["../../../../../src/fields/TiptapEditor/lib/extract.ts"],"sourcesContent":["import { Editor } from \"@tiptap/core\";\nimport ExtensionKit from \"../extensions/extension-kit.js\";\n\nexport const extractTiptapJson = (markdownValue: string) => {\n const editor = new Editor({\n content: markdownValue,\n extensions: [\n ...ExtensionKit({\n // provider,\n openAssetHQHandler: () => {},\n }),\n ],\n });\n return editor.getJSON();\n};\n\nexport const extractMarkdown = (json: any) => {\n const editor = new Editor({\n content: json,\n extensions: [\n ...ExtensionKit({\n // provider,\n openAssetHQHandler: () => {},\n }),\n ],\n });\n return editor.storage.markdown.getMarkdown();\n};\n"],"names":["Editor","ExtensionKit","extractTiptapJson","markdownValue","editor","content","extensions","openAssetHQHandler","getJSON","extractMarkdown","json","storage","markdown","getMarkdown"],"mappings":"AAAA,SAASA,MAAM,QAAQ,eAAe;AACtC,OAAOC,kBAAkB,iCAAiC;AAE1D,OAAO,MAAMC,oBAAoB,CAACC;IAChC,MAAMC,SAAS,IAAIJ,OAAO;QACxBK,SAASF;QACTG,YAAY;eACPL,aAAa;gBACd,YAAY;gBACZM,oBAAoB,KAAO;YAC7B;SACD;IACH;IACA,OAAOH,OAAOI,OAAO;AACvB,EAAE;AAEF,OAAO,MAAMC,kBAAkB,CAACC;IAC9B,MAAMN,SAAS,IAAIJ,OAAO;QACxBK,SAASK;QACTJ,YAAY;eACPL,aAAa;gBACd,YAAY;gBACZM,oBAAoB,KAAO;YAC7B;SACD;IACH;IACA,OAAOH,OAAOO,OAAO,CAACC,QAAQ,CAACC,WAAW;AAC5C,EAAE"}
@@ -0,0 +1,3 @@
1
+ export { };
2
+
3
+ //# sourceMappingURL=types.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/fields/TiptapEditor/types.d.ts"],"sourcesContent":["export type openAssetHQType = (\n listener: (linkOfAsset: string) => void,\n file?: File\n) => void;\n"],"names":[],"mappings":"AAAA,WAGU"}
@@ -1841,10 +1841,6 @@ select {
1841
1841
  max-height: 20rem;
1842
1842
  }
1843
1843
 
1844
- .max-h-\[400px\] {
1845
- max-height: 400px;
1846
- }
1847
-
1848
1844
  .max-h-\[min\(80vh\2c 24rem\)\] {
1849
1845
  max-height: min(80vh,24rem);
1850
1846
  }