payload-richtext-tiptap 0.0.68 → 0.0.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js +1 -99
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts +1 -1
- package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/extension-kit.js +3 -26
- package/dist/src/fields/TiptapEditor/extensions/extension-kit.js.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.js +2 -23
- package/dist/src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.js.map +1 -1
- package/dist/src/styles.css +0 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/SlashCommand/groups.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/SlashCommand/groups.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,eAAO,MAAM,MAAM,EAAE,KAAK,EAsKzB,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Facebook, Heading1, Heading2, Heading3, Image, Instagram, List, ListOrdered, Minus, Music, Quote, Twitter, Video, Youtube } from "lucide-react";
|
|
2
2
|
export const GROUPS = [
|
|
3
3
|
{
|
|
4
4
|
name: "format",
|
|
@@ -70,16 +70,6 @@ export const GROUPS = [
|
|
|
70
70
|
editor.chain().focus().toggleOrderedList().run();
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
|
-
// {
|
|
74
|
-
// name: 'taskList',
|
|
75
|
-
// label: 'Task List',
|
|
76
|
-
// icon: ListTodo,
|
|
77
|
-
// description: 'Task list with todo items',
|
|
78
|
-
// aliases: ['todo'],
|
|
79
|
-
// action: (editor) => {
|
|
80
|
-
// editor.chain().focus().toggleTaskList().run()
|
|
81
|
-
// },
|
|
82
|
-
// },
|
|
83
73
|
{
|
|
84
74
|
name: "blockquote",
|
|
85
75
|
label: "Blockquote",
|
|
@@ -88,16 +78,6 @@ export const GROUPS = [
|
|
|
88
78
|
action: (editor)=>{
|
|
89
79
|
editor.chain().focus().setBlockquote().run();
|
|
90
80
|
}
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
name: "codeBlock",
|
|
94
|
-
label: "Code Block",
|
|
95
|
-
icon: SquareCode,
|
|
96
|
-
description: "Code block with syntax highlighting",
|
|
97
|
-
shouldBeHidden: (editor)=>editor.isActive("columns"),
|
|
98
|
-
action: (editor)=>{
|
|
99
|
-
editor.chain().focus().setCodeBlock().run();
|
|
100
|
-
}
|
|
101
81
|
}
|
|
102
82
|
]
|
|
103
83
|
},
|
|
@@ -105,20 +85,6 @@ export const GROUPS = [
|
|
|
105
85
|
name: "insert",
|
|
106
86
|
title: "Insert",
|
|
107
87
|
commands: [
|
|
108
|
-
{
|
|
109
|
-
name: "table",
|
|
110
|
-
label: "Table",
|
|
111
|
-
icon: Table,
|
|
112
|
-
description: "Insert a table",
|
|
113
|
-
shouldBeHidden: (editor)=>editor.isActive("columns"),
|
|
114
|
-
action: (editor)=>{
|
|
115
|
-
editor.chain().focus().insertTable({
|
|
116
|
-
rows: 3,
|
|
117
|
-
cols: 3,
|
|
118
|
-
withHeaderRow: false
|
|
119
|
-
}).run();
|
|
120
|
-
}
|
|
121
|
-
},
|
|
122
88
|
{
|
|
123
89
|
name: "image",
|
|
124
90
|
label: "Image",
|
|
@@ -143,19 +109,6 @@ export const GROUPS = [
|
|
|
143
109
|
editor.chain().focus().setImageUpload("video").run();
|
|
144
110
|
}
|
|
145
111
|
},
|
|
146
|
-
{
|
|
147
|
-
name: "columns",
|
|
148
|
-
label: "Columns",
|
|
149
|
-
icon: Columns2,
|
|
150
|
-
description: "Add two column content",
|
|
151
|
-
aliases: [
|
|
152
|
-
"cols"
|
|
153
|
-
],
|
|
154
|
-
shouldBeHidden: (editor)=>editor.isActive("columns"),
|
|
155
|
-
action: (editor)=>{
|
|
156
|
-
editor.chain().focus().setColumns().focus(editor.state.selection.head - 1).run();
|
|
157
|
-
}
|
|
158
|
-
},
|
|
159
112
|
{
|
|
160
113
|
name: "horizontalRule",
|
|
161
114
|
label: "Horizontal Rule",
|
|
@@ -167,19 +120,6 @@ export const GROUPS = [
|
|
|
167
120
|
action: (editor)=>{
|
|
168
121
|
editor.chain().focus().setHorizontalRule().run();
|
|
169
122
|
}
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
name: "toc",
|
|
173
|
-
label: "Table of Contents",
|
|
174
|
-
icon: Book,
|
|
175
|
-
aliases: [
|
|
176
|
-
"outline"
|
|
177
|
-
],
|
|
178
|
-
description: "Insert a table of contents",
|
|
179
|
-
shouldBeHidden: (editor)=>editor.isActive("columns"),
|
|
180
|
-
action: (editor)=>{
|
|
181
|
-
editor.chain().focus().insertTableOfContents().run();
|
|
182
|
-
}
|
|
183
123
|
}
|
|
184
124
|
]
|
|
185
125
|
},
|
|
@@ -187,21 +127,6 @@ export const GROUPS = [
|
|
|
187
127
|
name: "embed",
|
|
188
128
|
title: "Embed",
|
|
189
129
|
commands: [
|
|
190
|
-
{
|
|
191
|
-
name: "iframe",
|
|
192
|
-
label: "IFrame Embed",
|
|
193
|
-
icon: Link,
|
|
194
|
-
aliases: [
|
|
195
|
-
"iframe"
|
|
196
|
-
],
|
|
197
|
-
description: "Insert a iframe",
|
|
198
|
-
shouldBeHidden: (editor)=>editor.isActive("iframe"),
|
|
199
|
-
action: (editor)=>{
|
|
200
|
-
editor.chain().focus().setIframe({
|
|
201
|
-
src: ""
|
|
202
|
-
}).run();
|
|
203
|
-
}
|
|
204
|
-
},
|
|
205
130
|
{
|
|
206
131
|
name: "twitter",
|
|
207
132
|
label: "Twitter Embed",
|
|
@@ -256,29 +181,6 @@ export const GROUPS = [
|
|
|
256
181
|
editor.chain().focus().insertYoutube().run();
|
|
257
182
|
}
|
|
258
183
|
},
|
|
259
|
-
// {
|
|
260
|
-
// name: "insideLinks",
|
|
261
|
-
// label: "TRT Links",
|
|
262
|
-
// icon: Youtube,
|
|
263
|
-
// aliases: ["insideLinks"],
|
|
264
|
-
// description:
|
|
265
|
-
// "Link internal content such as articles, videos, shows etc.",
|
|
266
|
-
// shouldBeHidden: (editor) => editor.isActive("insideLinks"),
|
|
267
|
-
// action: (editor) => {
|
|
268
|
-
// editor.chain().focus().insertInsideLinks({}).run();
|
|
269
|
-
// },
|
|
270
|
-
// },
|
|
271
|
-
// {
|
|
272
|
-
// name: 'linkedin',
|
|
273
|
-
// label: 'Linkedin Embed',
|
|
274
|
-
// icon: Linkedin,
|
|
275
|
-
// aliases: ['linkedin'],
|
|
276
|
-
// description: 'Insert a Linkedin embed',
|
|
277
|
-
// shouldBeHidden: (editor) => editor.isActive('linkedin'),
|
|
278
|
-
// action: (editor) => {
|
|
279
|
-
// editor.chain().focus().insertLinkedin().run()
|
|
280
|
-
// },
|
|
281
|
-
// },
|
|
282
184
|
{
|
|
283
185
|
name: "tiktok",
|
|
284
186
|
label: "Tiktok Embed",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/SlashCommand/groups.ts"],"sourcesContent":["import {\n Book,\n Columns2,\n Facebook,\n Heading1,\n Heading2,\n Heading3,\n Image,\n Instagram,\n Link,\n Linkedin,\n List,\n ListOrdered,\n ListTodo,\n Minus,\n Music,\n Quote,\n SquareCode,\n Table,\n Twitch,\n Twitter,\n Video,\n Youtube,\n} from \"lucide-react\";\nimport { Group } from \"./types.js\";\n\nexport const GROUPS: Group[] = [\n {\n name: \"format\",\n title: \"Format\",\n commands: [\n {\n name: \"heading1\",\n label: \"Heading 1\",\n icon: Heading1,\n description: \"High priority section title\",\n aliases: [\"h1\"],\n action: (editor) => {\n editor.chain().focus().setHeading({ level: 1 }).run();\n },\n },\n {\n name: \"heading2\",\n label: \"Heading 2\",\n icon: Heading2,\n description: \"Medium priority section title\",\n aliases: [\"h2\"],\n action: (editor) => {\n editor.chain().focus().setHeading({ level: 2 }).run();\n },\n },\n {\n name: \"heading3\",\n label: \"Heading 3\",\n icon: Heading3,\n description: \"Low priority section title\",\n aliases: [\"h3\"],\n action: (editor) => {\n editor.chain().focus().setHeading({ level: 3 }).run();\n },\n },\n {\n name: \"bulletList\",\n label: \"Bullet List\",\n icon: List,\n description: \"Unordered list of items\",\n aliases: [\"ul\"],\n action: (editor) => {\n editor.chain().focus().toggleBulletList().run();\n },\n },\n {\n name: \"numberedList\",\n label: \"Numbered List\",\n icon: ListOrdered,\n description: \"Ordered list of items\",\n aliases: [\"ol\"],\n action: (editor) => {\n editor.chain().focus().toggleOrderedList().run();\n },\n },\n // {\n // name: 'taskList',\n // label: 'Task List',\n // icon: ListTodo,\n // description: 'Task list with todo items',\n // aliases: ['todo'],\n // action: (editor) => {\n // editor.chain().focus().toggleTaskList().run()\n // },\n // },\n {\n name: \"blockquote\",\n label: \"Blockquote\",\n icon: Quote,\n description: \"Element for quoting\",\n action: (editor) => {\n editor.chain().focus().setBlockquote().run();\n },\n },\n {\n name: \"codeBlock\",\n label: \"Code Block\",\n icon: SquareCode,\n description: \"Code block with syntax highlighting\",\n shouldBeHidden: (editor) => editor.isActive(\"columns\"),\n action: (editor) => {\n editor.chain().focus().setCodeBlock().run();\n },\n },\n ],\n },\n {\n name: \"insert\",\n title: \"Insert\",\n commands: [\n {\n name: \"table\",\n label: \"Table\",\n icon: Table,\n description: \"Insert a table\",\n shouldBeHidden: (editor) => editor.isActive(\"columns\"),\n action: (editor) => {\n editor\n .chain()\n .focus()\n .insertTable({ rows: 3, cols: 3, withHeaderRow: false })\n .run();\n },\n },\n {\n name: \"image\",\n label: \"Image\",\n icon: Image,\n description: \"Insert an image\",\n aliases: [\"img\"],\n action: (editor) => {\n editor.chain().focus().setImageUpload(\"image\").run();\n },\n },\n {\n name: \"video\",\n label: \"Video\",\n icon: Video,\n description: \"Insert a video\",\n aliases: [\"video\"],\n action: (editor) => {\n editor.chain().focus().setImageUpload(\"video\").run();\n },\n },\n {\n name: \"columns\",\n label: \"Columns\",\n icon: Columns2,\n description: \"Add two column content\",\n aliases: [\"cols\"],\n shouldBeHidden: (editor) => editor.isActive(\"columns\"),\n action: (editor) => {\n editor\n .chain()\n .focus()\n .setColumns()\n .focus(editor.state.selection.head - 1)\n .run();\n },\n },\n {\n name: \"horizontalRule\",\n label: \"Horizontal Rule\",\n icon: Minus,\n description: \"Insert a horizontal divider\",\n aliases: [\"hr\"],\n action: (editor) => {\n editor.chain().focus().setHorizontalRule().run();\n },\n },\n {\n name: \"toc\",\n label: \"Table of Contents\",\n icon: Book,\n aliases: [\"outline\"],\n description: \"Insert a table of contents\",\n shouldBeHidden: (editor) => editor.isActive(\"columns\"),\n action: (editor) => {\n editor.chain().focus().insertTableOfContents().run();\n },\n },\n ],\n },\n {\n name: \"embed\",\n title: \"Embed\",\n commands: [\n {\n name: \"iframe\",\n label: \"IFrame Embed\",\n icon: Link,\n aliases: [\"iframe\"],\n description: \"Insert a iframe\",\n shouldBeHidden: (editor) => editor.isActive(\"iframe\"),\n action: (editor) => {\n editor\n .chain()\n .focus()\n .setIframe({\n src: \"\",\n })\n .run();\n },\n },\n {\n name: \"twitter\",\n label: \"Twitter Embed\",\n icon: Twitter,\n aliases: [\"x\", \"twitter\"],\n description: \"Insert a Twitter embed\",\n shouldBeHidden: (editor) => editor.isActive(\"twitter\"),\n action: (editor) => {\n editor.chain().focus().insertTwitter().run();\n },\n },\n {\n name: \"facebook\",\n label: \"Facebook Embed\",\n icon: Facebook,\n aliases: [\"meta\", \"facebook\"],\n description: \"Insert a Facebook embed\",\n shouldBeHidden: (editor) => editor.isActive(\"facebook\"),\n action: (editor) => {\n editor.chain().focus().insertFacebook().run();\n },\n },\n {\n name: \"instagram\",\n label: \"Instagram Embed\",\n icon: Instagram,\n aliases: [\"instagram\"],\n description: \"Insert a Instagram embed\",\n shouldBeHidden: (editor) => editor.isActive(\"instagram\"),\n action: (editor) => {\n editor.chain().focus().insertInstagram().run();\n },\n },\n {\n name: \"youtube\",\n label: \"Youtube Embed\",\n icon: Youtube,\n aliases: [\"youtube\"],\n description: \"Insert a Youtube embed\",\n shouldBeHidden: (editor) => editor.isActive(\"youtube\"),\n action: (editor) => {\n editor.chain().focus().insertYoutube().run();\n },\n },\n // {\n // name: \"insideLinks\",\n // label: \"TRT Links\",\n // icon: Youtube,\n // aliases: [\"insideLinks\"],\n // description:\n // \"Link internal content such as articles, videos, shows etc.\",\n // shouldBeHidden: (editor) => editor.isActive(\"insideLinks\"),\n // action: (editor) => {\n // editor.chain().focus().insertInsideLinks({}).run();\n // },\n // },\n // {\n // name: 'linkedin',\n // label: 'Linkedin Embed',\n // icon: Linkedin,\n // aliases: ['linkedin'],\n // description: 'Insert a Linkedin embed',\n // shouldBeHidden: (editor) => editor.isActive('linkedin'),\n // action: (editor) => {\n\n // editor.chain().focus().insertLinkedin().run()\n // },\n // },\n\n {\n name: \"tiktok\",\n label: \"Tiktok Embed\",\n icon: Music,\n aliases: [\"tiktok\"],\n description: \"Insert a Tiktok embed\",\n shouldBeHidden: (editor) => editor.isActive(\"tiktok\"),\n action: (editor) => {\n editor.chain().focus().insertTiktok().run();\n },\n },\n ],\n },\n];\n\nexport default GROUPS;\n"],"names":["Book","Columns2","Facebook","Heading1","Heading2","Heading3","Image","Instagram","Link","List","ListOrdered","Minus","Music","Quote","SquareCode","Table","Twitter","Video","Youtube","GROUPS","name","title","commands","label","icon","description","aliases","action","editor","chain","focus","setHeading","level","run","toggleBulletList","toggleOrderedList","setBlockquote","shouldBeHidden","isActive","setCodeBlock","insertTable","rows","cols","withHeaderRow","setImageUpload","setColumns","state","selection","head","setHorizontalRule","insertTableOfContents","setIframe","src","insertTwitter","insertFacebook","insertInstagram","insertYoutube","insertTiktok"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/SlashCommand/groups.ts"],"sourcesContent":["import {\n Facebook,\n Heading1,\n Heading2,\n Heading3,\n Image,\n Instagram,\n List,\n ListOrdered,\n Minus,\n Music,\n Quote,\n Twitter,\n Video,\n Youtube,\n} from \"lucide-react\";\nimport { Group } from \"./types.js\";\n\nexport const GROUPS: Group[] = [\n {\n name: \"format\",\n title: \"Format\",\n commands: [\n {\n name: \"heading1\",\n label: \"Heading 1\",\n icon: Heading1,\n description: \"High priority section title\",\n aliases: [\"h1\"],\n action: (editor) => {\n editor.chain().focus().setHeading({ level: 1 }).run();\n },\n },\n {\n name: \"heading2\",\n label: \"Heading 2\",\n icon: Heading2,\n description: \"Medium priority section title\",\n aliases: [\"h2\"],\n action: (editor) => {\n editor.chain().focus().setHeading({ level: 2 }).run();\n },\n },\n {\n name: \"heading3\",\n label: \"Heading 3\",\n icon: Heading3,\n description: \"Low priority section title\",\n aliases: [\"h3\"],\n action: (editor) => {\n editor.chain().focus().setHeading({ level: 3 }).run();\n },\n },\n {\n name: \"bulletList\",\n label: \"Bullet List\",\n icon: List,\n description: \"Unordered list of items\",\n aliases: [\"ul\"],\n action: (editor) => {\n editor.chain().focus().toggleBulletList().run();\n },\n },\n {\n name: \"numberedList\",\n label: \"Numbered List\",\n icon: ListOrdered,\n description: \"Ordered list of items\",\n aliases: [\"ol\"],\n action: (editor) => {\n editor.chain().focus().toggleOrderedList().run();\n },\n },\n\n {\n name: \"blockquote\",\n label: \"Blockquote\",\n icon: Quote,\n description: \"Element for quoting\",\n action: (editor) => {\n editor.chain().focus().setBlockquote().run();\n },\n },\n ],\n },\n {\n name: \"insert\",\n title: \"Insert\",\n commands: [\n {\n name: \"image\",\n label: \"Image\",\n icon: Image,\n description: \"Insert an image\",\n aliases: [\"img\"],\n action: (editor) => {\n editor.chain().focus().setImageUpload(\"image\").run();\n },\n },\n {\n name: \"video\",\n label: \"Video\",\n icon: Video,\n description: \"Insert a video\",\n aliases: [\"video\"],\n action: (editor) => {\n editor.chain().focus().setImageUpload(\"video\").run();\n },\n },\n\n {\n name: \"horizontalRule\",\n label: \"Horizontal Rule\",\n icon: Minus,\n description: \"Insert a horizontal divider\",\n aliases: [\"hr\"],\n action: (editor) => {\n editor.chain().focus().setHorizontalRule().run();\n },\n },\n ],\n },\n {\n name: \"embed\",\n title: \"Embed\",\n commands: [\n {\n name: \"twitter\",\n label: \"Twitter Embed\",\n icon: Twitter,\n aliases: [\"x\", \"twitter\"],\n description: \"Insert a Twitter embed\",\n shouldBeHidden: (editor) => editor.isActive(\"twitter\"),\n action: (editor) => {\n editor.chain().focus().insertTwitter().run();\n },\n },\n {\n name: \"facebook\",\n label: \"Facebook Embed\",\n icon: Facebook,\n aliases: [\"meta\", \"facebook\"],\n description: \"Insert a Facebook embed\",\n shouldBeHidden: (editor) => editor.isActive(\"facebook\"),\n action: (editor) => {\n editor.chain().focus().insertFacebook().run();\n },\n },\n {\n name: \"instagram\",\n label: \"Instagram Embed\",\n icon: Instagram,\n aliases: [\"instagram\"],\n description: \"Insert a Instagram embed\",\n shouldBeHidden: (editor) => editor.isActive(\"instagram\"),\n action: (editor) => {\n editor.chain().focus().insertInstagram().run();\n },\n },\n {\n name: \"youtube\",\n label: \"Youtube Embed\",\n icon: Youtube,\n aliases: [\"youtube\"],\n description: \"Insert a Youtube embed\",\n shouldBeHidden: (editor) => editor.isActive(\"youtube\"),\n action: (editor) => {\n editor.chain().focus().insertYoutube().run();\n },\n },\n\n {\n name: \"tiktok\",\n label: \"Tiktok Embed\",\n icon: Music,\n aliases: [\"tiktok\"],\n description: \"Insert a Tiktok embed\",\n shouldBeHidden: (editor) => editor.isActive(\"tiktok\"),\n action: (editor) => {\n editor.chain().focus().insertTiktok().run();\n },\n },\n ],\n },\n];\n\nexport default GROUPS;\n"],"names":["Facebook","Heading1","Heading2","Heading3","Image","Instagram","List","ListOrdered","Minus","Music","Quote","Twitter","Video","Youtube","GROUPS","name","title","commands","label","icon","description","aliases","action","editor","chain","focus","setHeading","level","run","toggleBulletList","toggleOrderedList","setBlockquote","setImageUpload","setHorizontalRule","shouldBeHidden","isActive","insertTwitter","insertFacebook","insertInstagram","insertYoutube","insertTiktok"],"mappings":"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"}
|
|
@@ -3,6 +3,6 @@ interface ExtensionKitProps {
|
|
|
3
3
|
dir?: "rtl" | "ltr";
|
|
4
4
|
openAssetHQHandler: openAssetHQType;
|
|
5
5
|
}
|
|
6
|
-
export declare const ExtensionKit: ({ dir, openAssetHQHandler, }: ExtensionKitProps) => (import("@tiptap/core").
|
|
6
|
+
export declare const ExtensionKit: ({ dir, openAssetHQHandler, }: ExtensionKitProps) => (import("@tiptap/core").Node<any, any> | import("@tiptap/core").Extension<any, any> | import("@tiptap/core").Mark<import("@tiptap/extension-subscript").SubscriptExtensionOptions, any>)[];
|
|
7
7
|
export default ExtensionKit;
|
|
8
8
|
//# sourceMappingURL=extension-kit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-kit.d.ts","sourceRoot":"","sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extension-kit.d.ts","sourceRoot":"","sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"names":[],"mappings":"AA+CA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,UAAU,iBAAiB;IACzB,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACpB,kBAAkB,EAAE,eAAe,CAAC;CACrC;AAED,eAAO,MAAM,YAAY,iCAGtB,iBAAiB,+LAqHnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,23 +1,16 @@
|
|
|
1
|
-
import { AICommand, BlockquoteFigure, CharacterCount, Color,
|
|
2
|
-
Columns, Document, Dropcursor, Facebook, Figcaption, FileHandler, Focus, FontFamily, FontSize, Heading, Highlight, HorizontalRule, VideoBlock, ImageBlock, AudioBlock, InsideLinks, Instagram, Link, Linkedin, Placeholder, Selection, SlashCommand, StarterKit, Subscript, Superscript, Table, TableCell, TableHeader, TableOfContents, TableRow, TaskItem, TaskList, TextAlign, TextStyle, Tiktok, TrailingNode, Twitter, Typography, Underline, Youtube } from "./index.js";
|
|
3
|
-
import { CodeBlockLowlight } from "@tiptap/extension-code-block-lowlight";
|
|
4
|
-
import lowlight from "lowlight";
|
|
1
|
+
import { AICommand, AudioBlock, BlockquoteFigure, CharacterCount, Color, Document, Dropcursor, Facebook, Figcaption, FileHandler, Focus, FontFamily, FontSize, Heading, Highlight, HorizontalRule, ImageBlock, InsideLinks, Instagram, Link, Linkedin, Placeholder, Selection, SlashCommand, StarterKit, Subscript, Superscript, TaskItem, TaskList, TextAlign, TextStyle, Tiktok, TrailingNode, Twitter, Typography, Underline, VideoBlock, Youtube } from "./index.js";
|
|
5
2
|
import TextDirection from "tiptap-text-direction";
|
|
6
3
|
import { ImageUpload } from "./ImageUpload/ImageUpload.js";
|
|
7
|
-
import { TableOfContentsNode } from "./TableOfContentsNode/TableOfContentsNode.js";
|
|
8
4
|
import History from "@tiptap/extension-history";
|
|
9
|
-
import API from "../lib/api.js";
|
|
10
|
-
import { Iframe } from "./Iframe/iframe.js";
|
|
11
5
|
import { Markdown } from "tiptap-markdown";
|
|
6
|
+
import API from "../lib/api.js";
|
|
12
7
|
export const ExtensionKit = ({ dir, openAssetHQHandler })=>[
|
|
13
8
|
Markdown,
|
|
14
9
|
Document,
|
|
15
|
-
Columns,
|
|
16
10
|
TaskList,
|
|
17
11
|
TaskItem.configure({
|
|
18
12
|
nested: true
|
|
19
13
|
}),
|
|
20
|
-
Column,
|
|
21
14
|
Selection,
|
|
22
15
|
Heading.configure({
|
|
23
16
|
levels: [
|
|
@@ -39,10 +32,6 @@ export const ExtensionKit = ({ dir, openAssetHQHandler })=>[
|
|
|
39
32
|
history: false,
|
|
40
33
|
codeBlock: false
|
|
41
34
|
}),
|
|
42
|
-
CodeBlockLowlight.configure({
|
|
43
|
-
lowlight,
|
|
44
|
-
defaultLanguage: null
|
|
45
|
-
}),
|
|
46
35
|
TextStyle,
|
|
47
36
|
FontSize,
|
|
48
37
|
FontFamily,
|
|
@@ -58,8 +47,6 @@ export const ExtensionKit = ({ dir, openAssetHQHandler })=>[
|
|
|
58
47
|
CharacterCount.configure({
|
|
59
48
|
limit: 50000
|
|
60
49
|
}),
|
|
61
|
-
TableOfContents,
|
|
62
|
-
TableOfContentsNode,
|
|
63
50
|
ImageUpload.configure({
|
|
64
51
|
openAssetHQHandler
|
|
65
52
|
}),
|
|
@@ -110,10 +97,6 @@ export const ExtensionKit = ({ dir, openAssetHQHandler })=>[
|
|
|
110
97
|
}),
|
|
111
98
|
Subscript,
|
|
112
99
|
Superscript,
|
|
113
|
-
Table,
|
|
114
|
-
TableCell,
|
|
115
|
-
TableHeader,
|
|
116
|
-
TableRow,
|
|
117
100
|
Typography,
|
|
118
101
|
Placeholder.configure({
|
|
119
102
|
includeChildren: true,
|
|
@@ -129,7 +112,6 @@ export const ExtensionKit = ({ dir, openAssetHQHandler })=>[
|
|
|
129
112
|
class: "ProseMirror-dropcursor border-black"
|
|
130
113
|
}),
|
|
131
114
|
History,
|
|
132
|
-
Iframe,
|
|
133
115
|
Twitter,
|
|
134
116
|
Tiktok,
|
|
135
117
|
Instagram,
|
|
@@ -144,12 +126,7 @@ export const ExtensionKit = ({ dir, openAssetHQHandler })=>[
|
|
|
144
126
|
"orderedList",
|
|
145
127
|
"bulletList",
|
|
146
128
|
"listItem",
|
|
147
|
-
"blockquoteFigure"
|
|
148
|
-
"codeBlock",
|
|
149
|
-
"tableCell",
|
|
150
|
-
"tableRow",
|
|
151
|
-
"table",
|
|
152
|
-
"column"
|
|
129
|
+
"blockquoteFigure"
|
|
153
130
|
]
|
|
154
131
|
}),
|
|
155
132
|
AICommand
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"sourcesContent":["import {\n AICommand,\n BlockquoteFigure,\n CharacterCount,\n Color,\n
|
|
1
|
+
{"version":3,"sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"sourcesContent":["import {\n AICommand,\n AudioBlock,\n BlockquoteFigure,\n CharacterCount,\n Color,\n Document,\n Dropcursor,\n Facebook,\n Figcaption,\n FileHandler,\n Focus,\n FontFamily,\n FontSize,\n Heading,\n Highlight,\n HorizontalRule,\n ImageBlock,\n InsideLinks,\n Instagram,\n Link,\n Linkedin,\n Placeholder,\n Selection,\n SlashCommand,\n StarterKit,\n Subscript,\n Superscript,\n TaskItem,\n TaskList,\n TextAlign,\n TextStyle,\n Tiktok,\n TrailingNode,\n Twitter,\n Typography,\n Underline,\n VideoBlock,\n Youtube,\n} from \"./index.js\";\n\nimport TextDirection from \"tiptap-text-direction\";\nimport { ImageUpload } from \"./ImageUpload/ImageUpload.js\";\n\nimport History from \"@tiptap/extension-history\";\nimport { Markdown } from \"tiptap-markdown\";\nimport API from \"../lib/api.js\";\nimport { openAssetHQType } from \"../types.js\";\n\ninterface ExtensionKitProps {\n dir?: \"rtl\" | \"ltr\";\n openAssetHQHandler: openAssetHQType;\n}\n\nexport const ExtensionKit = ({\n dir,\n openAssetHQHandler,\n}: ExtensionKitProps) => [\n Markdown,\n Document,\n TaskList,\n TaskItem.configure({\n nested: true,\n }),\n Selection,\n Heading.configure({\n levels: [1, 2, 3, 4, 5, 6],\n }),\n HorizontalRule,\n StarterKit.configure({\n document: false,\n dropcursor: false,\n heading: false,\n horizontalRule: false,\n blockquote: false,\n history: false,\n codeBlock: false,\n }),\n TextStyle,\n FontSize,\n FontFamily,\n Color,\n TrailingNode,\n Link.configure({\n openOnClick: false,\n }),\n Highlight.configure({ multicolor: true }),\n Underline,\n CharacterCount.configure({ limit: 50000 }),\n ImageUpload.configure({\n openAssetHQHandler,\n }),\n ImageBlock,\n VideoBlock,\n AudioBlock,\n FileHandler.configure({\n allowedMimeTypes: [\"image/png\", \"image/jpeg\", \"image/gif\", \"image/webp\"],\n onDrop: (currentEditor, files, pos) => {\n const file = files[0];\n (async () => {\n openAssetHQHandler(\n (asset) => {\n currentEditor\n .chain()\n .setImageBlockAt({ pos, src: asset.fullUrl })\n .focus()\n .run();\n },\n file,\n \"image\"\n );\n })();\n },\n onPaste: (currentEditor, files) => {\n files.forEach(async () => {\n const url = await API.uploadImage();\n\n return currentEditor\n .chain()\n .setImageBlockAt({\n pos: currentEditor.state.selection.anchor,\n src: url,\n })\n .focus()\n .run();\n });\n },\n }),\n // Emoji.configure({\n // enableEmoticons: true,\n // suggestion: emojiSuggestion,\n // }),\n TextAlign.extend({\n addKeyboardShortcuts() {\n return {};\n },\n }).configure({\n types: [\"heading\", \"paragraph\"],\n }),\n Subscript,\n Superscript,\n Typography,\n Placeholder.configure({\n includeChildren: true,\n showOnlyCurrent: false,\n placeholder: () => \"\",\n }),\n SlashCommand,\n Focus,\n Figcaption,\n BlockquoteFigure,\n Dropcursor.configure({\n width: 2,\n class: \"ProseMirror-dropcursor border-black\",\n }),\n History,\n Twitter,\n Tiktok,\n Instagram,\n Facebook,\n Linkedin,\n Youtube,\n InsideLinks,\n TextDirection.configure({\n types: [\n \"heading\",\n \"paragraph\",\n \"orderedList\",\n \"bulletList\",\n \"listItem\",\n \"blockquoteFigure\",\n ],\n }),\n AICommand,\n];\n\nexport default ExtensionKit;\n"],"names":["AICommand","AudioBlock","BlockquoteFigure","CharacterCount","Color","Document","Dropcursor","Facebook","Figcaption","FileHandler","Focus","FontFamily","FontSize","Heading","Highlight","HorizontalRule","ImageBlock","InsideLinks","Instagram","Link","Linkedin","Placeholder","Selection","SlashCommand","StarterKit","Subscript","Superscript","TaskItem","TaskList","TextAlign","TextStyle","Tiktok","TrailingNode","Twitter","Typography","Underline","VideoBlock","Youtube","TextDirection","ImageUpload","History","Markdown","API","ExtensionKit","dir","openAssetHQHandler","configure","nested","levels","document","dropcursor","heading","horizontalRule","blockquote","history","codeBlock","openOnClick","multicolor","limit","allowedMimeTypes","onDrop","currentEditor","files","pos","file","asset","chain","setImageBlockAt","src","fullUrl","focus","run","onPaste","forEach","url","uploadImage","state","selection","anchor","extend","addKeyboardShortcuts","types","includeChildren","showOnlyCurrent","placeholder","width","class"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextMenu.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,MAAM,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"TextMenu.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,MAAM,EAAE,MAAM,eAAe,CAAC;AAwCnD,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,QAAQ,oBAAqB,aAAa,gCA+MtD,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as Popover from "@radix-ui/react-popover";
|
|
3
3
|
import { BubbleMenu } from "@tiptap/react";
|
|
4
|
-
import { AlignCenter, AlignJustify, AlignLeft, AlignRight, Bold,
|
|
4
|
+
import { AlignCenter, AlignJustify, AlignLeft, AlignRight, Bold, Highlighter, Italic, MoveVertical, Palette, RemoveFormatting, Sparkles, Strikethrough, Subscript, Superscript, Underline } from "lucide-react";
|
|
5
5
|
import { memo, useState } from "react";
|
|
6
|
-
import { ColorPicker } from "../../panels/index.js";
|
|
7
6
|
import { AIEditorPanel } from "../../panels/AIEditorPanel/AIEditorPanel.js";
|
|
7
|
+
import { ColorPicker } from "../../panels/index.js";
|
|
8
8
|
import { Icon } from "../../ui/Icon.js";
|
|
9
9
|
import { Surface } from "../../ui/Surface.js";
|
|
10
10
|
import { Toolbar } from "../../ui/Toolbar.js";
|
|
@@ -285,27 +285,6 @@ export const TextMenu = ({ editor, dir })=>{
|
|
|
285
285
|
icon: Strikethrough
|
|
286
286
|
})
|
|
287
287
|
}),
|
|
288
|
-
/*#__PURE__*/ _jsx(MemoButton, {
|
|
289
|
-
type: "button",
|
|
290
|
-
tooltip: "Code",
|
|
291
|
-
tooltipShortcut: [
|
|
292
|
-
"Mod",
|
|
293
|
-
"E"
|
|
294
|
-
],
|
|
295
|
-
onClick: commands.onCode,
|
|
296
|
-
active: states.isCode,
|
|
297
|
-
children: /*#__PURE__*/ _jsx(Icon, {
|
|
298
|
-
icon: Code
|
|
299
|
-
})
|
|
300
|
-
}),
|
|
301
|
-
/*#__PURE__*/ _jsx(MemoButton, {
|
|
302
|
-
type: "button",
|
|
303
|
-
tooltip: "Code block",
|
|
304
|
-
onClick: commands.onCodeBlock,
|
|
305
|
-
children: /*#__PURE__*/ _jsx(Icon, {
|
|
306
|
-
icon: FileCode
|
|
307
|
-
})
|
|
308
|
-
}),
|
|
309
288
|
/*#__PURE__*/ _jsx(MemoButton, {
|
|
310
289
|
type: "button",
|
|
311
290
|
tooltip: "Clear Formatting",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.tsx"],"sourcesContent":["import * as Popover from \"@radix-ui/react-popover\";\nimport { BubbleMenu, Editor } from \"@tiptap/react\";\nimport {\n AlignCenter,\n AlignJustify,\n AlignLeft,\n AlignRight,\n Bold,\n Code,\n FileCode,\n Highlighter,\n Italic,\n MoveVertical,\n Palette,\n RemoveFormatting,\n Sparkles,\n Strikethrough,\n Subscript,\n Superscript,\n Underline,\n} from \"lucide-react\";\nimport { memo, useState } from \"react\";\nimport { ColorPicker } from \"../../panels/index.js\";\nimport { AIEditorPanel } from \"../../panels/AIEditorPanel/AIEditorPanel.js\";\nimport { Icon } from \"../../ui/Icon.js\";\nimport { Surface } from \"../../ui/Surface.js\";\nimport { Toolbar } from \"../../ui/Toolbar.js\";\nimport { ContentTypePicker } from \"./components/ContentTypePicker.js\";\nimport { EditLinkPopover } from \"./components/EditLinkPopover.js\";\nimport { FontFamilyPicker } from \"./components/FontFamilyPicker.js\";\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// We memorize the button so each button is not rerendered\n// on every editor state change\nconst MemoButton = memo(Toolbar.Button);\nconst MemoColorPicker = memo(ColorPicker);\nconst MemoFontFamilyPicker = memo(FontFamilyPicker);\nconst MemoFontSizePicker = memo(FontSizePicker);\nconst MemoContentTypePicker = memo(ContentTypePicker);\n\nexport type TextMenuProps = {\n editor: Editor;\n dir: \"rtl\" | \"ltr\" | \"auto\";\n};\n\nexport const TextMenu = ({ 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 AI Tools\n </Toolbar.Button>\n <Toolbar.Divider />\n\n <MemoContentTypePicker options={blockOptions} />\n <MemoFontFamilyPicker\n onChange={commands.onSetFont}\n value={states.currentFont || \"\"}\n />\n <MemoFontSizePicker\n onChange={commands.onSetFontSize}\n value={states.currentSize || \"\"}\n />\n <Toolbar.Divider />\n <MemoButton\n type=\"button\"\n tooltip=\"Bold\"\n tooltipShortcut={[\"Mod\", \"B\"]}\n onClick={commands.onBold}\n active={states.isBold}\n >\n <Icon icon={Bold} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Italic\"\n tooltipShortcut={[\"Mod\", \"I\"]}\n onClick={commands.onItalic}\n active={states.isItalic}\n >\n <Icon icon={Italic} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Underline\"\n tooltipShortcut={[\"Mod\", \"U\"]}\n onClick={commands.onUnderline}\n active={states.isUnderline}\n >\n <Icon icon={Underline} />\n </MemoButton>\n\n <EditLinkPopover onSetLink={commands.onLink} />\n <Popover.Root>\n <Popover.Trigger asChild>\n <MemoButton\n type=\"button\"\n active={!!states.currentHighlight}\n tooltip=\"Highlight text\"\n >\n <Icon icon={Highlighter} />\n </MemoButton>\n </Popover.Trigger>\n <Popover.Content side=\"top\" sideOffset={8} asChild>\n <Surface className=\"p-1\">\n <MemoColorPicker\n color={states.currentHighlight}\n onChange={commands.onChangeHighlight}\n onClear={commands.onClearHighlight}\n />\n </Surface>\n </Popover.Content>\n </Popover.Root>\n <Popover.Root>\n <Popover.Trigger asChild>\n <MemoButton\n type=\"button\"\n active={!!states.currentColor}\n tooltip=\"Text color\"\n >\n <Icon icon={Palette} />\n </MemoButton>\n </Popover.Trigger>\n <Popover.Content side=\"top\" sideOffset={8} asChild>\n <Surface className=\"p-1\">\n <MemoColorPicker\n color={states.currentColor}\n onChange={commands.onChangeColor}\n onClear={commands.onClearColor}\n />\n </Surface>\n </Popover.Content>\n </Popover.Root>\n <Popover.Root>\n <Popover.Trigger asChild>\n <MemoButton type=\"button\" tooltip=\"More options\">\n <Icon icon={MoveVertical} />\n </MemoButton>\n </Popover.Trigger>\n <Popover.Content side=\"top\" asChild>\n <Toolbar.Wrapper>\n <MemoButton\n type=\"button\"\n tooltip=\"Subscript\"\n tooltipShortcut={[\"Mod\", \".\"]}\n onClick={commands.onSubscript}\n active={states.isSubscript}\n >\n <Icon icon={Subscript} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Superscript\"\n tooltipShortcut={[\"Mod\", \",\"]}\n onClick={commands.onSuperscript}\n active={states.isSuperscript}\n >\n <Icon icon={Superscript} />\n </MemoButton>\n <Toolbar.Divider />\n <MemoButton\n type=\"button\"\n tooltip=\"Align left\"\n tooltipShortcut={[\"Shift\", \"Mod\", \"L\"]}\n onClick={commands.onAlignLeft}\n active={states.isAlignLeft}\n >\n <Icon icon={AlignLeft} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Align center\"\n tooltipShortcut={[\"Shift\", \"Mod\", \"E\"]}\n onClick={commands.onAlignCenter}\n active={states.isAlignCenter}\n >\n <Icon icon={AlignCenter} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Align right\"\n tooltipShortcut={[\"Shift\", \"Mod\", \"R\"]}\n onClick={commands.onAlignRight}\n active={states.isAlignRight}\n >\n <Icon icon={AlignRight} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Justify\"\n tooltipShortcut={[\"Shift\", \"Mod\", \"J\"]}\n onClick={commands.onAlignJustify}\n active={states.isAlignJustify}\n >\n <Icon icon={AlignJustify} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Strikehrough\"\n tooltipShortcut={[\"Mod\", \"Shift\", \"S\"]}\n onClick={commands.onStrike}\n active={states.isStrike}\n >\n <Icon icon={Strikethrough} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Code\"\n tooltipShortcut={[\"Mod\", \"E\"]}\n onClick={commands.onCode}\n active={states.isCode}\n >\n <Icon icon={Code} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Code block\"\n onClick={commands.onCodeBlock}\n >\n <Icon icon={FileCode} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Clear Formatting\"\n onClick={commands.onClearFormatting}\n >\n <Icon icon={RemoveFormatting} />\n </MemoButton>\n </Toolbar.Wrapper>\n </Popover.Content>\n </Popover.Root>\n </Toolbar.Wrapper>\n )}\n </BubbleMenu>\n );\n};\n"],"names":["Popover","BubbleMenu","AlignCenter","AlignJustify","AlignLeft","AlignRight","Bold","Code","FileCode","Highlighter","Italic","MoveVertical","Palette","RemoveFormatting","Sparkles","Strikethrough","Subscript","Superscript","Underline","memo","useState","ColorPicker","AIEditorPanel","Icon","Surface","Toolbar","ContentTypePicker","EditLinkPopover","FontFamilyPicker","FontSizePicker","useTextmenuCommands","useTextmenuContentTypes","useTextmenuStates","MemoButton","Button","MemoColorPicker","MemoFontFamilyPicker","MemoFontSizePicker","MemoContentTypePicker","TextMenu","editor","dir","commands","states","blockOptions","openAi","setOpenAi","tippyOptions","placement","popperOptions","onHide","pluginKey","shouldShow","updateDelay","onOpenChange","value","Wrapper","className","activeClassname","onClick","icon","Divider","options","onChange","onSetFont","currentFont","onSetFontSize","currentSize","type","tooltip","tooltipShortcut","onBold","active","isBold","onItalic","isItalic","onUnderline","isUnderline","onSetLink","onLink","Root","Trigger","asChild","currentHighlight","Content","side","sideOffset","color","onChangeHighlight","onClear","onClearHighlight","currentColor","onChangeColor","onClearColor","onSubscript","isSubscript","onSuperscript","isSuperscript","onAlignLeft","isAlignLeft","onAlignCenter","isAlignCenter","onAlignRight","isAlignRight","onAlignJustify","isAlignJustify","onStrike","isStrike","onCode","isCode","onCodeBlock","onClearFormatting"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.tsx"],"sourcesContent":["import * as Popover from \"@radix-ui/react-popover\";\nimport { BubbleMenu, Editor } from \"@tiptap/react\";\nimport {\n AlignCenter,\n AlignJustify,\n AlignLeft,\n AlignRight,\n Bold,\n Highlighter,\n Italic,\n MoveVertical,\n Palette,\n RemoveFormatting,\n Sparkles,\n Strikethrough,\n Subscript,\n Superscript,\n Underline,\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 { Surface } from \"../../ui/Surface.js\";\nimport { Toolbar } from \"../../ui/Toolbar.js\";\nimport { ContentTypePicker } from \"./components/ContentTypePicker.js\";\nimport { EditLinkPopover } from \"./components/EditLinkPopover.js\";\nimport { FontFamilyPicker } from \"./components/FontFamilyPicker.js\";\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// We memorize the button so each button is not rerendered\n// on every editor state change\nconst MemoButton = memo(Toolbar.Button);\nconst MemoColorPicker = memo(ColorPicker);\nconst MemoFontFamilyPicker = memo(FontFamilyPicker);\nconst MemoFontSizePicker = memo(FontSizePicker);\nconst MemoContentTypePicker = memo(ContentTypePicker);\n\nexport type TextMenuProps = {\n editor: Editor;\n dir: \"rtl\" | \"ltr\" | \"auto\";\n};\n\nexport const TextMenu = ({ 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 AI Tools\n </Toolbar.Button>\n <Toolbar.Divider />\n\n <MemoContentTypePicker options={blockOptions} />\n <MemoFontFamilyPicker\n onChange={commands.onSetFont}\n value={states.currentFont || \"\"}\n />\n <MemoFontSizePicker\n onChange={commands.onSetFontSize}\n value={states.currentSize || \"\"}\n />\n <Toolbar.Divider />\n <MemoButton\n type=\"button\"\n tooltip=\"Bold\"\n tooltipShortcut={[\"Mod\", \"B\"]}\n onClick={commands.onBold}\n active={states.isBold}\n >\n <Icon icon={Bold} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Italic\"\n tooltipShortcut={[\"Mod\", \"I\"]}\n onClick={commands.onItalic}\n active={states.isItalic}\n >\n <Icon icon={Italic} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Underline\"\n tooltipShortcut={[\"Mod\", \"U\"]}\n onClick={commands.onUnderline}\n active={states.isUnderline}\n >\n <Icon icon={Underline} />\n </MemoButton>\n\n <EditLinkPopover onSetLink={commands.onLink} />\n <Popover.Root>\n <Popover.Trigger asChild>\n <MemoButton\n type=\"button\"\n active={!!states.currentHighlight}\n tooltip=\"Highlight text\"\n >\n <Icon icon={Highlighter} />\n </MemoButton>\n </Popover.Trigger>\n <Popover.Content side=\"top\" sideOffset={8} asChild>\n <Surface className=\"p-1\">\n <MemoColorPicker\n color={states.currentHighlight}\n onChange={commands.onChangeHighlight}\n onClear={commands.onClearHighlight}\n />\n </Surface>\n </Popover.Content>\n </Popover.Root>\n <Popover.Root>\n <Popover.Trigger asChild>\n <MemoButton\n type=\"button\"\n active={!!states.currentColor}\n tooltip=\"Text color\"\n >\n <Icon icon={Palette} />\n </MemoButton>\n </Popover.Trigger>\n <Popover.Content side=\"top\" sideOffset={8} asChild>\n <Surface className=\"p-1\">\n <MemoColorPicker\n color={states.currentColor}\n onChange={commands.onChangeColor}\n onClear={commands.onClearColor}\n />\n </Surface>\n </Popover.Content>\n </Popover.Root>\n <Popover.Root>\n <Popover.Trigger asChild>\n <MemoButton type=\"button\" tooltip=\"More options\">\n <Icon icon={MoveVertical} />\n </MemoButton>\n </Popover.Trigger>\n <Popover.Content side=\"top\" asChild>\n <Toolbar.Wrapper>\n <MemoButton\n type=\"button\"\n tooltip=\"Subscript\"\n tooltipShortcut={[\"Mod\", \".\"]}\n onClick={commands.onSubscript}\n active={states.isSubscript}\n >\n <Icon icon={Subscript} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Superscript\"\n tooltipShortcut={[\"Mod\", \",\"]}\n onClick={commands.onSuperscript}\n active={states.isSuperscript}\n >\n <Icon icon={Superscript} />\n </MemoButton>\n <Toolbar.Divider />\n <MemoButton\n type=\"button\"\n tooltip=\"Align left\"\n tooltipShortcut={[\"Shift\", \"Mod\", \"L\"]}\n onClick={commands.onAlignLeft}\n active={states.isAlignLeft}\n >\n <Icon icon={AlignLeft} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Align center\"\n tooltipShortcut={[\"Shift\", \"Mod\", \"E\"]}\n onClick={commands.onAlignCenter}\n active={states.isAlignCenter}\n >\n <Icon icon={AlignCenter} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Align right\"\n tooltipShortcut={[\"Shift\", \"Mod\", \"R\"]}\n onClick={commands.onAlignRight}\n active={states.isAlignRight}\n >\n <Icon icon={AlignRight} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Justify\"\n tooltipShortcut={[\"Shift\", \"Mod\", \"J\"]}\n onClick={commands.onAlignJustify}\n active={states.isAlignJustify}\n >\n <Icon icon={AlignJustify} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Strikehrough\"\n tooltipShortcut={[\"Mod\", \"Shift\", \"S\"]}\n onClick={commands.onStrike}\n active={states.isStrike}\n >\n <Icon icon={Strikethrough} />\n </MemoButton>\n\n <MemoButton\n type=\"button\"\n tooltip=\"Clear Formatting\"\n onClick={commands.onClearFormatting}\n >\n <Icon icon={RemoveFormatting} />\n </MemoButton>\n </Toolbar.Wrapper>\n </Popover.Content>\n </Popover.Root>\n </Toolbar.Wrapper>\n )}\n </BubbleMenu>\n );\n};\n"],"names":["Popover","BubbleMenu","AlignCenter","AlignJustify","AlignLeft","AlignRight","Bold","Highlighter","Italic","MoveVertical","Palette","RemoveFormatting","Sparkles","Strikethrough","Subscript","Superscript","Underline","memo","useState","AIEditorPanel","ColorPicker","Icon","Surface","Toolbar","ContentTypePicker","EditLinkPopover","FontFamilyPicker","FontSizePicker","useTextmenuCommands","useTextmenuContentTypes","useTextmenuStates","MemoButton","Button","MemoColorPicker","MemoFontFamilyPicker","MemoFontSizePicker","MemoContentTypePicker","TextMenu","editor","dir","commands","states","blockOptions","openAi","setOpenAi","tippyOptions","placement","popperOptions","onHide","pluginKey","shouldShow","updateDelay","onOpenChange","value","Wrapper","className","activeClassname","onClick","icon","Divider","options","onChange","onSetFont","currentFont","onSetFontSize","currentSize","type","tooltip","tooltipShortcut","onBold","active","isBold","onItalic","isItalic","onUnderline","isUnderline","onSetLink","onLink","Root","Trigger","asChild","currentHighlight","Content","side","sideOffset","color","onChangeHighlight","onClear","onClearHighlight","currentColor","onChangeColor","onClearColor","onSubscript","isSubscript","onSuperscript","isSuperscript","onAlignLeft","isAlignLeft","onAlignCenter","isAlignCenter","onAlignRight","isAlignRight","onAlignJustify","isAlignJustify","onStrike","isStrike","onClearFormatting"],"mappings":"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"}
|