payload-richtext-tiptap 0.0.60 → 0.0.61
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/Iframe/IframeEmbed.d.ts +9 -0
- package/dist/src/fields/TiptapEditor/extensions/Iframe/IframeEmbed.d.ts.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Iframe/IframeEmbed.js +19 -0
- package/dist/src/fields/TiptapEditor/extensions/Iframe/IframeEmbed.js.map +1 -0
- package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.d.ts +13 -5
- package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.js +69 -47
- package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/Iframe/menus/IframeMenu.js +4 -2
- package/dist/src/fields/TiptapEditor/extensions/Iframe/menus/IframeMenu.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.d.ts.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js +78 -27
- package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.js +1 -1
- package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.js.map +1 -1
- package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts +1 -1
- package/dist/src/styles.css +1 -21
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/src/fields/TiptapEditor/extensions/AICommand/MenuList.d.ts +0 -5
- package/dist/src/fields/TiptapEditor/extensions/AICommand/MenuList.d.ts.map +0 -1
- package/dist/src/fields/TiptapEditor/extensions/AICommand/MenuList.js +0 -123
- package/dist/src/fields/TiptapEditor/extensions/AICommand/MenuList.js.map +0 -1
- package/dist/src/fields/TiptapEditor/extensions/Paragraph/AIEditorParagraph.d.ts +0 -3
- package/dist/src/fields/TiptapEditor/extensions/Paragraph/AIEditorParagraph.d.ts.map +0 -1
- package/dist/src/fields/TiptapEditor/extensions/Paragraph/AIEditorParagraph.js +0 -35
- package/dist/src/fields/TiptapEditor/extensions/Paragraph/AIEditorParagraph.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IframeEmbed.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/Iframe/IframeEmbed.tsx"],"names":[],"mappings":"gCAGuB;IAAE,IAAI,EAAE;QAAE,KAAK,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE;AAA5D,wBAQE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Link } from "lucide-react";
|
|
3
|
+
import SocialMediaEmbed from "../SocialMedia/SocialMediaEmbed.js";
|
|
4
|
+
export default ((props)=>{
|
|
5
|
+
return /*#__PURE__*/ _jsx(SocialMediaEmbed, {
|
|
6
|
+
props: props,
|
|
7
|
+
Icon: Link,
|
|
8
|
+
text: "Embed an Iframe",
|
|
9
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
10
|
+
className: "iframe-wrapper",
|
|
11
|
+
children: /*#__PURE__*/ _jsx("iframe", {
|
|
12
|
+
src: props?.node?.attrs?.src ?? "",
|
|
13
|
+
allowFullScreen: true
|
|
14
|
+
})
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=IframeEmbed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Iframe/IframeEmbed.tsx"],"sourcesContent":["import { Link } from \"lucide-react\";\nimport SocialMediaEmbed from \"../SocialMedia/SocialMediaEmbed.js\";\n\nexport default (props: { node: { attrs: { src?: string } } }) => {\n return (\n <SocialMediaEmbed props={props} Icon={Link} text={\"Embed an Iframe\"}>\n <div className=\"iframe-wrapper\">\n <iframe src={props?.node?.attrs?.src ?? \"\"} allowFullScreen={true} />\n </div>\n </SocialMediaEmbed>\n );\n};\n"],"names":["Link","SocialMediaEmbed","props","Icon","text","div","className","iframe","src","node","attrs","allowFullScreen"],"mappings":";AAAA,SAASA,IAAI,QAAQ,eAAe;AACpC,OAAOC,sBAAsB,qCAAqC;AAElE,eAAe,CAAA,CAACC;IACd,qBACE,KAACD;QAAiBC,OAAOA;QAAOC,MAAMH;QAAMI,MAAM;kBAChD,cAAA,KAACC;YAAIC,WAAU;sBACb,cAAA,KAACC;gBAAOC,KAAKN,OAAOO,MAAMC,OAAOF,OAAO;gBAAIG,iBAAiB;;;;AAIrE,CAAA,EAAE"}
|
|
@@ -1,13 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
import { Node } from "@tiptap/core";
|
|
2
|
+
export interface IframeOptions {
|
|
3
|
+
allowFullscreen: boolean;
|
|
4
|
+
HTMLAttributes: {
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
declare module "@tiptap/core" {
|
|
2
9
|
interface Commands<ReturnType> {
|
|
3
10
|
iframe: {
|
|
4
11
|
/**
|
|
5
|
-
* Add an
|
|
12
|
+
* Add an iframe
|
|
6
13
|
*/
|
|
7
|
-
|
|
14
|
+
setIframe: (options: {
|
|
15
|
+
src: string;
|
|
16
|
+
}) => ReturnType;
|
|
8
17
|
};
|
|
9
18
|
}
|
|
10
19
|
}
|
|
11
|
-
|
|
12
|
-
export declare const Iframe: Node<any, any>;
|
|
20
|
+
export declare const Iframe: Node<IframeOptions, any>;
|
|
13
21
|
//# sourceMappingURL=iframe.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iframe.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/Iframe/iframe.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,MAAM,EAAE;YACN;;eAEG;
|
|
1
|
+
{"version":3,"file":"iframe.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/Iframe/iframe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIpC,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,MAAM,EAAE;YACN;;eAEG;YACH,SAAS,EAAE,CAAC,OAAO,EAAE;gBAAE,GAAG,EAAE,MAAM,CAAA;aAAE,KAAK,UAAU,CAAC;SACrD,CAAC;KACH;CACF;AAED,eAAO,MAAM,MAAM,0BAiJjB,CAAC"}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
import { Node } from
|
|
1
|
+
import { Node } from "@tiptap/core";
|
|
2
|
+
import { ReactNodeViewRenderer } from "@tiptap/react";
|
|
3
|
+
import IframeEmbed from "./IframeEmbed.js";
|
|
2
4
|
export const Iframe = Node.create({
|
|
3
|
-
name:
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
name: "iframe",
|
|
6
|
+
group: "block",
|
|
7
|
+
content: "inline*",
|
|
8
|
+
draggable: true,
|
|
9
|
+
atom: true,
|
|
6
10
|
addOptions () {
|
|
7
11
|
return {
|
|
12
|
+
allowFullscreen: true,
|
|
8
13
|
HTMLAttributes: {
|
|
9
|
-
|
|
14
|
+
class: "iframe-wrapper"
|
|
10
15
|
}
|
|
11
16
|
};
|
|
12
17
|
},
|
|
@@ -15,87 +20,104 @@ export const Iframe = Node.create({
|
|
|
15
20
|
src: {
|
|
16
21
|
default: null
|
|
17
22
|
},
|
|
18
|
-
|
|
19
|
-
default:
|
|
23
|
+
frameborder: {
|
|
24
|
+
default: 0
|
|
20
25
|
},
|
|
21
|
-
|
|
22
|
-
default:
|
|
23
|
-
|
|
24
|
-
return attributes.HTMLAttributes || {};
|
|
25
|
-
}
|
|
26
|
+
allowfullscreen: {
|
|
27
|
+
default: this.options.allowFullscreen,
|
|
28
|
+
parseHTML: ()=>this.options.allowFullscreen
|
|
26
29
|
}
|
|
27
30
|
};
|
|
28
31
|
},
|
|
29
32
|
parseHTML () {
|
|
30
33
|
return [
|
|
31
34
|
{
|
|
32
|
-
tag:
|
|
35
|
+
tag: "iframe"
|
|
33
36
|
}
|
|
34
37
|
];
|
|
35
38
|
},
|
|
39
|
+
renderHTML ({ HTMLAttributes }) {
|
|
40
|
+
return [
|
|
41
|
+
"div",
|
|
42
|
+
this.options.HTMLAttributes,
|
|
43
|
+
[
|
|
44
|
+
"iframe",
|
|
45
|
+
HTMLAttributes
|
|
46
|
+
]
|
|
47
|
+
];
|
|
48
|
+
},
|
|
36
49
|
addNodeView () {
|
|
37
|
-
return (
|
|
38
|
-
const div = document.createElement('div');
|
|
39
|
-
div.className = 'aspect-w-16 aspect-h-9' + (editor.isEditable ? ' cursor-pointer' : '');
|
|
40
|
-
const iframe = document.createElement('iframe');
|
|
41
|
-
if (editor.isEditable) {
|
|
42
|
-
iframe.className = 'pointer-events-none';
|
|
43
|
-
}
|
|
44
|
-
iframe.width = '640';
|
|
45
|
-
iframe.height = '360';
|
|
46
|
-
iframe.allow = 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share';
|
|
47
|
-
iframe.referrerPolicy = 'strict-origin-when-cross-origin';
|
|
48
|
-
iframe.allowFullscreen = true;
|
|
49
|
-
iframe.src = node.attrs.src;
|
|
50
|
-
div.append(iframe);
|
|
51
|
-
return {
|
|
52
|
-
dom: div
|
|
53
|
-
};
|
|
54
|
-
};
|
|
50
|
+
return ReactNodeViewRenderer(IframeEmbed);
|
|
55
51
|
},
|
|
56
52
|
addCommands () {
|
|
57
53
|
return {
|
|
54
|
+
setIframe: (options)=>({ tr, dispatch })=>{
|
|
55
|
+
const { selection } = tr;
|
|
56
|
+
let attributes = {
|
|
57
|
+
...options
|
|
58
|
+
};
|
|
59
|
+
if (options?.src?.includes("iframe")) {
|
|
60
|
+
const parser = new DOMParser();
|
|
61
|
+
const html = parser.parseFromString(options?.src, "text/html");
|
|
62
|
+
const attrNames = html.getElementsByTagName("iframe")?.[0]?.getAttributeNames();
|
|
63
|
+
attrNames?.forEach((attr)=>{
|
|
64
|
+
attributes[attr] = html.getElementsByTagName("iframe")?.[0]?.getAttribute(attr);
|
|
65
|
+
});
|
|
66
|
+
} else if (!isValidHttpUrl(options?.src)) {
|
|
67
|
+
const htmlData = "data:text/html;charset=utf-8," + encodeURI(options?.src);
|
|
68
|
+
attributes = {
|
|
69
|
+
...attributes,
|
|
70
|
+
src: htmlData
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
const node = this.type.create(attributes);
|
|
74
|
+
if (dispatch) {
|
|
75
|
+
tr.replaceRangeWith(selection.from, selection.to, node);
|
|
76
|
+
}
|
|
77
|
+
// return commands.insertContent({
|
|
78
|
+
// type: 'iframe',
|
|
79
|
+
// attrs: attributes,
|
|
80
|
+
// })
|
|
81
|
+
return true;
|
|
82
|
+
},
|
|
58
83
|
setHtml: (value)=>({ commands, state })=>{
|
|
59
84
|
let attributes = {
|
|
60
85
|
editorValue: value
|
|
61
86
|
};
|
|
62
|
-
if (value?.includes(
|
|
63
|
-
const ytValue = value?.split(
|
|
87
|
+
if (value?.includes("youtube.com")) {
|
|
88
|
+
const ytValue = value?.split("v=")?.[1]?.split("&")?.[0];
|
|
64
89
|
attributes = {
|
|
65
90
|
...attributes,
|
|
66
91
|
src: `https://www.youtube.com/embed/${ytValue}?controls=0`,
|
|
67
|
-
title:
|
|
92
|
+
title: "YouTube video player"
|
|
68
93
|
};
|
|
69
|
-
} else if (value?.includes(
|
|
70
|
-
const instagramValue = value?.split(
|
|
94
|
+
} else if (value?.includes("instagram.com")) {
|
|
95
|
+
const instagramValue = value?.split("p/")?.[1]?.split("/")?.[0];
|
|
71
96
|
attributes = {
|
|
72
97
|
...attributes,
|
|
73
98
|
src: `https://www.instagram.com/p/${instagramValue}/embed`,
|
|
74
|
-
title:
|
|
99
|
+
title: "Instagram"
|
|
75
100
|
};
|
|
76
101
|
} else if (isValidHttpUrl(value)) {
|
|
77
102
|
attributes = {
|
|
78
103
|
...attributes,
|
|
79
104
|
src: value
|
|
80
105
|
};
|
|
81
|
-
} else if (value?.includes(
|
|
106
|
+
} else if (value?.includes("iframe")) {
|
|
82
107
|
const parser = new DOMParser();
|
|
83
|
-
const html = parser.parseFromString(value,
|
|
84
|
-
const attrNames = html.getElementsByTagName(
|
|
108
|
+
const html = parser.parseFromString(value, "text/html");
|
|
109
|
+
const attrNames = html.getElementsByTagName("iframe")?.[0]?.getAttributeNames();
|
|
85
110
|
attrNames?.forEach((attr)=>{
|
|
86
|
-
attributes[attr] = html.getElementsByTagName(
|
|
111
|
+
attributes[attr] = html.getElementsByTagName("iframe")?.[0]?.getAttribute(attr);
|
|
87
112
|
});
|
|
88
113
|
} else {
|
|
89
|
-
const htmlData =
|
|
114
|
+
const htmlData = "data:text/html;charset=utf-8," + encodeURI(value);
|
|
90
115
|
attributes = {
|
|
91
116
|
...attributes,
|
|
92
117
|
src: htmlData
|
|
93
118
|
};
|
|
94
119
|
}
|
|
95
|
-
return
|
|
96
|
-
type: 'iframe',
|
|
97
|
-
attrs: attributes
|
|
98
|
-
});
|
|
120
|
+
return true;
|
|
99
121
|
}
|
|
100
122
|
};
|
|
101
123
|
}
|
|
@@ -107,7 +129,7 @@ function isValidHttpUrl(string) {
|
|
|
107
129
|
} catch (_) {
|
|
108
130
|
return false;
|
|
109
131
|
}
|
|
110
|
-
return url.protocol ===
|
|
132
|
+
return url.protocol === "http:" || url.protocol === "https:";
|
|
111
133
|
}
|
|
112
134
|
|
|
113
135
|
//# sourceMappingURL=iframe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Iframe/iframe.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Iframe/iframe.ts"],"sourcesContent":["import { Node } from \"@tiptap/core\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport IframeEmbed from \"./IframeEmbed.js\";\n\nexport interface IframeOptions {\n allowFullscreen: boolean;\n HTMLAttributes: {\n [key: string]: any;\n };\n}\n\ndeclare module \"@tiptap/core\" {\n interface Commands<ReturnType> {\n iframe: {\n /**\n * Add an iframe\n */\n setIframe: (options: { src: string }) => ReturnType;\n };\n }\n}\n\nexport const Iframe = Node.create<IframeOptions>({\n name: \"iframe\",\n\n group: \"block\",\n content: \"inline*\",\n draggable: true,\n\n atom: true,\n\n addOptions() {\n return {\n allowFullscreen: true,\n HTMLAttributes: {\n class: \"iframe-wrapper\",\n },\n };\n },\n\n addAttributes() {\n return {\n src: {\n default: null,\n },\n frameborder: {\n default: 0,\n },\n allowfullscreen: {\n default: this.options.allowFullscreen,\n parseHTML: () => this.options.allowFullscreen,\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: \"iframe\",\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\"div\", this.options.HTMLAttributes, [\"iframe\", HTMLAttributes]];\n },\n addNodeView() {\n return ReactNodeViewRenderer(IframeEmbed);\n },\n\n addCommands() {\n return {\n setIframe:\n (options: { src: string }) =>\n ({ tr, dispatch }) => {\n const { selection } = tr;\n let attributes: Record<string, any> = {\n ...options,\n };\n\n if (options?.src?.includes(\"iframe\")) {\n const parser = new DOMParser();\n const html = parser.parseFromString(options?.src, \"text/html\");\n const attrNames = html\n .getElementsByTagName(\"iframe\")?.[0]\n ?.getAttributeNames();\n\n attrNames?.forEach((attr) => {\n attributes[attr] = html\n .getElementsByTagName(\"iframe\")?.[0]\n ?.getAttribute(attr);\n });\n } else if (!isValidHttpUrl(options?.src)) {\n const htmlData =\n \"data:text/html;charset=utf-8,\" + encodeURI(options?.src);\n attributes = {\n ...attributes,\n src: htmlData,\n };\n }\n const node = this.type.create(attributes);\n\n if (dispatch) {\n tr.replaceRangeWith(selection.from, selection.to, node);\n }\n\n // return commands.insertContent({\n // type: 'iframe',\n // attrs: attributes,\n // })\n\n return true;\n },\n\n setHtml:\n (value) =>\n ({ commands, state }) => {\n let attributes: Record<string, any> = {\n editorValue: value,\n };\n\n if (value?.includes(\"youtube.com\")) {\n const ytValue = value?.split(\"v=\")?.[1]?.split(\"&\")?.[0];\n attributes = {\n ...attributes,\n\n src: `https://www.youtube.com/embed/${ytValue}?controls=0`,\n title: \"YouTube video player\",\n };\n } else if (value?.includes(\"instagram.com\")) {\n const instagramValue = value?.split(\"p/\")?.[1]?.split(\"/\")?.[0];\n attributes = {\n ...attributes,\n\n src: `https://www.instagram.com/p/${instagramValue}/embed`,\n title: \"Instagram\",\n };\n } else if (isValidHttpUrl(value)) {\n attributes = {\n ...attributes,\n\n src: value,\n };\n } else if (value?.includes(\"iframe\")) {\n const parser = new DOMParser();\n const html = parser.parseFromString(value, \"text/html\");\n const attrNames = html\n .getElementsByTagName(\"iframe\")?.[0]\n ?.getAttributeNames();\n\n attrNames?.forEach((attr) => {\n attributes[attr] = html\n .getElementsByTagName(\"iframe\")?.[0]\n ?.getAttribute(attr);\n });\n } else {\n const htmlData = \"data:text/html;charset=utf-8,\" + encodeURI(value);\n attributes = {\n ...attributes,\n src: htmlData,\n };\n }\n\n return true;\n },\n };\n },\n});\n\nfunction isValidHttpUrl(string: string) {\n let url;\n\n try {\n url = new URL(string);\n } catch (_) {\n return false;\n }\n\n return url.protocol === \"http:\" || url.protocol === \"https:\";\n}\n"],"names":["Node","ReactNodeViewRenderer","IframeEmbed","Iframe","create","name","group","content","draggable","atom","addOptions","allowFullscreen","HTMLAttributes","class","addAttributes","src","default","frameborder","allowfullscreen","options","parseHTML","tag","renderHTML","addNodeView","addCommands","setIframe","tr","dispatch","selection","attributes","includes","parser","DOMParser","html","parseFromString","attrNames","getElementsByTagName","getAttributeNames","forEach","attr","getAttribute","isValidHttpUrl","htmlData","encodeURI","node","type","replaceRangeWith","from","to","setHtml","value","commands","state","editorValue","ytValue","split","title","instagramValue","string","url","URL","_","protocol"],"mappings":"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"}
|
|
@@ -18,7 +18,9 @@ export const IframeMenu = ({ editor, appendTo })=>{
|
|
|
18
18
|
}, [
|
|
19
19
|
editor
|
|
20
20
|
]);
|
|
21
|
-
const
|
|
21
|
+
const onSetLink = useCallback((src)=>editor.chain().focus().setIframe({
|
|
22
|
+
src: src
|
|
23
|
+
}).run(), [
|
|
22
24
|
editor
|
|
23
25
|
]);
|
|
24
26
|
return /*#__PURE__*/ _jsx(BaseBubbleMenu, {
|
|
@@ -37,7 +39,7 @@ export const IframeMenu = ({ editor, appendTo })=>{
|
|
|
37
39
|
tooltip: "Sidebar left",
|
|
38
40
|
active: true,
|
|
39
41
|
children: /*#__PURE__*/ _jsx(EditIframeLinkPopover, {
|
|
40
|
-
onSetLink:
|
|
42
|
+
onSetLink: onSetLink,
|
|
41
43
|
initialSrcLink: editor?.getAttributes("iframe")?.editorValue ?? ""
|
|
42
44
|
})
|
|
43
45
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/Iframe/menus/IframeMenu.tsx"],"sourcesContent":["import { BubbleMenu as BaseBubbleMenu } from \"@tiptap/react\";\nimport React, { useCallback } from \"react\";\nimport { sticky } from \"tippy.js\";\nimport { v4 as uuid } from \"uuid\";\n\nimport { EditIframeLinkPopover } from \"../../../features/menus/TextMenu/components/EditIframeLinkPopover.js\";\nimport { MenuProps } from \"../../../features/menus/types.js\";\nimport { Toolbar } from \"../../../features/ui/Toolbar.js\";\nimport { getRenderContainer } from \"../../../lib/utils/index.js\";\n\nexport const IframeMenu = ({ editor, appendTo }: MenuProps) => {\n const getReferenceClientRect = useCallback(() => {\n const renderContainer = getRenderContainer(editor, \"iframe\");\n const rect =\n renderContainer?.getBoundingClientRect() ||\n new DOMRect(-1000, -1000, 0, 0);\n\n return rect;\n }, [editor]);\n\n const shouldShow = useCallback(() => {\n const isIframe = editor.isActive(\"iframe\");\n return isIframe;\n }, [editor]);\n\n const
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/Iframe/menus/IframeMenu.tsx"],"sourcesContent":["import { BubbleMenu as BaseBubbleMenu } from \"@tiptap/react\";\nimport React, { useCallback } from \"react\";\nimport { sticky } from \"tippy.js\";\nimport { v4 as uuid } from \"uuid\";\n\nimport { EditIframeLinkPopover } from \"../../../features/menus/TextMenu/components/EditIframeLinkPopover.js\";\nimport { MenuProps } from \"../../../features/menus/types.js\";\nimport { Toolbar } from \"../../../features/ui/Toolbar.js\";\nimport { getRenderContainer } from \"../../../lib/utils/index.js\";\n\nexport const IframeMenu = ({ editor, appendTo }: MenuProps) => {\n const getReferenceClientRect = useCallback(() => {\n const renderContainer = getRenderContainer(editor, \"iframe\");\n const rect =\n renderContainer?.getBoundingClientRect() ||\n new DOMRect(-1000, -1000, 0, 0);\n\n return rect;\n }, [editor]);\n\n const shouldShow = useCallback(() => {\n const isIframe = editor.isActive(\"iframe\");\n return isIframe;\n }, [editor]);\n\n const onSetLink = useCallback(\n (src: string) => editor.chain().focus().setIframe({ src: src }).run(),\n [editor]\n );\n return (\n <BaseBubbleMenu\n editor={editor}\n pluginKey={`iframeMenu`}\n shouldShow={shouldShow}\n tippyOptions={{ popperOptions: { placement: \"top-start\" } }}\n updateDelay={100}\n >\n <Toolbar.Wrapper>\n <Toolbar.Button\n type=\"button\"\n tooltip=\"Sidebar left\"\n active={true}\n // onClick={onColumnLeft}\n >\n <EditIframeLinkPopover\n onSetLink={onSetLink}\n initialSrcLink={editor?.getAttributes(\"iframe\")?.editorValue ?? \"\"}\n />\n </Toolbar.Button>\n </Toolbar.Wrapper>\n </BaseBubbleMenu>\n );\n};\n\nexport default IframeMenu;\n"],"names":["BubbleMenu","BaseBubbleMenu","React","useCallback","EditIframeLinkPopover","Toolbar","getRenderContainer","IframeMenu","editor","appendTo","getReferenceClientRect","renderContainer","rect","getBoundingClientRect","DOMRect","shouldShow","isIframe","isActive","onSetLink","src","chain","focus","setIframe","run","pluginKey","tippyOptions","popperOptions","placement","updateDelay","Wrapper","Button","type","tooltip","active","initialSrcLink","getAttributes","editorValue"],"mappings":";AAAA,SAASA,cAAcC,cAAc,QAAQ,gBAAgB;AAC7D,OAAOC,SAASC,WAAW,QAAQ,QAAQ;AAI3C,SAASC,qBAAqB,QAAQ,uEAAuE;AAE7G,SAASC,OAAO,QAAQ,kCAAkC;AAC1D,SAASC,kBAAkB,QAAQ,8BAA8B;AAEjE,OAAO,MAAMC,aAAa,CAAC,EAAEC,MAAM,EAAEC,QAAQ,EAAa;IACxD,MAAMC,yBAAyBP,YAAY;QACzC,MAAMQ,kBAAkBL,mBAAmBE,QAAQ;QACnD,MAAMI,OACJD,iBAAiBE,2BACjB,IAAIC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG;QAE/B,OAAOF;IACT,GAAG;QAACJ;KAAO;IAEX,MAAMO,aAAaZ,YAAY;QAC7B,MAAMa,WAAWR,OAAOS,QAAQ,CAAC;QACjC,OAAOD;IACT,GAAG;QAACR;KAAO;IAEX,MAAMU,YAAYf,YAChB,CAACgB,MAAgBX,OAAOY,KAAK,GAAGC,KAAK,GAAGC,SAAS,CAAC;YAAEH,KAAKA;QAAI,GAAGI,GAAG,IACnE;QAACf;KAAO;IAEV,qBACE,KAACP;QACCO,QAAQA;QACRgB,WAAW,CAAC,UAAU,CAAC;QACvBT,YAAYA;QACZU,cAAc;YAAEC,eAAe;gBAAEC,WAAW;YAAY;QAAE;QAC1DC,aAAa;kBAEb,cAAA,KAACvB,QAAQwB,OAAO;sBACd,cAAA,KAACxB,QAAQyB,MAAM;gBACbC,MAAK;gBACLC,SAAQ;gBACRC,QAAQ;0BAGR,cAAA,KAAC7B;oBACCc,WAAWA;oBACXgB,gBAAgB1B,QAAQ2B,cAAc,WAAWC,eAAe;;;;;AAM5E,EAAE;AAEF,eAAe7B,WAAW"}
|
|
@@ -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":"AAwBA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,eAAO,MAAM,MAAM,EAAE,KAAK,EA0QzB,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Book, Columns2, Heading1, Heading2, Heading3, Image, Instagram, List, ListOrdered, Minus, Quote, SquareCode, Table, Twitter, Youtube } from "lucide-react";
|
|
1
|
+
import { Book, Columns2, Facebook, Heading1, Heading2, Heading3, Image, Instagram, Link, List, ListOrdered, Minus, Music, Quote, SquareCode, Table, Twitter, Video, Youtube } from "lucide-react";
|
|
2
2
|
export const GROUPS = [
|
|
3
3
|
{
|
|
4
4
|
name: "format",
|
|
@@ -131,6 +131,18 @@ export const GROUPS = [
|
|
|
131
131
|
editor.chain().focus().setImageUpload().run();
|
|
132
132
|
}
|
|
133
133
|
},
|
|
134
|
+
{
|
|
135
|
+
name: "video",
|
|
136
|
+
label: "Video",
|
|
137
|
+
icon: Video,
|
|
138
|
+
description: "Insert a video",
|
|
139
|
+
aliases: [
|
|
140
|
+
"video"
|
|
141
|
+
],
|
|
142
|
+
action: (editor)=>{
|
|
143
|
+
editor.chain().focus().setImageUpload().run();
|
|
144
|
+
}
|
|
145
|
+
},
|
|
134
146
|
{
|
|
135
147
|
name: "columns",
|
|
136
148
|
label: "Columns",
|
|
@@ -175,21 +187,21 @@ export const GROUPS = [
|
|
|
175
187
|
name: "embed",
|
|
176
188
|
title: "Embed",
|
|
177
189
|
commands: [
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
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
|
+
},
|
|
193
205
|
{
|
|
194
206
|
name: "twitter",
|
|
195
207
|
label: "Twitter Embed",
|
|
@@ -204,17 +216,20 @@ export const GROUPS = [
|
|
|
204
216
|
editor.chain().focus().insertTwitter().run();
|
|
205
217
|
}
|
|
206
218
|
},
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
219
|
+
{
|
|
220
|
+
name: "facebook",
|
|
221
|
+
label: "Facebook Embed",
|
|
222
|
+
icon: Facebook,
|
|
223
|
+
aliases: [
|
|
224
|
+
"meta",
|
|
225
|
+
"facebook"
|
|
226
|
+
],
|
|
227
|
+
description: "Insert a Facebook embed",
|
|
228
|
+
shouldBeHidden: (editor)=>editor.isActive("facebook"),
|
|
229
|
+
action: (editor)=>{
|
|
230
|
+
editor.chain().focus().insertFacebook().run();
|
|
231
|
+
}
|
|
232
|
+
},
|
|
218
233
|
{
|
|
219
234
|
name: "instagram",
|
|
220
235
|
label: "Instagram Embed",
|
|
@@ -240,6 +255,42 @@ export const GROUPS = [
|
|
|
240
255
|
action: (editor)=>{
|
|
241
256
|
editor.chain().focus().insertYoutube().run();
|
|
242
257
|
}
|
|
258
|
+
},
|
|
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
|
+
{
|
|
283
|
+
name: "tiktok",
|
|
284
|
+
label: "Tiktok Embed",
|
|
285
|
+
icon: Music,
|
|
286
|
+
aliases: [
|
|
287
|
+
"tiktok"
|
|
288
|
+
],
|
|
289
|
+
description: "Insert a Tiktok embed",
|
|
290
|
+
shouldBeHidden: (editor)=>editor.isActive("tiktok"),
|
|
291
|
+
action: (editor)=>{
|
|
292
|
+
editor.chain().focus().insertTiktok().run();
|
|
293
|
+
}
|
|
243
294
|
}
|
|
244
295
|
]
|
|
245
296
|
}
|
|
@@ -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 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().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\",\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 // .setHtml(\"<div>Embed your content here</div>\")\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","Heading1","Heading2","Heading3","Image","Instagram","List","ListOrdered","Minus","Quote","SquareCode","Table","Twitter","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","insertTwitter","insertInstagram","insertYoutube"],"mappings":"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"}
|
|
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().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().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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"}
|
|
@@ -15,7 +15,7 @@ export default (({ props, children, Icon, text })=>{
|
|
|
15
15
|
style: {
|
|
16
16
|
width: "100%"
|
|
17
17
|
},
|
|
18
|
-
children: !props?.node?.attrs?.url ??
|
|
18
|
+
children: !(props?.node?.attrs?.url ?? props?.node?.attrs?.src) ? /*#__PURE__*/ _jsxs("div", {
|
|
19
19
|
className: "w-full bg-zinc-100 py-8 px-6 flex items-center justify-center gap-2 socialMediaCard",
|
|
20
20
|
draggable: "true",
|
|
21
21
|
"data-drag-handle": "",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.tsx"],"sourcesContent":["import { NodeViewContent, NodeViewWrapper } from \"@tiptap/react\";\n\nexport default ({ props, children, Icon, text }: any) => {\n return (\n <NodeViewWrapper\n className=\"react-component\"\n onClick={() => {\n props.editor.commands.setNodeSelection(props.getPos());\n }}\n >\n <NodeViewContent contentEditable=\"false\" className=\"socialMediaContainer\">\n {props?.node.type.spec.draggable ? (\n <div draggable=\"true\" data-drag-handle=\"\" style={{ width: \"100%\" }}>\n {!props?.node?.attrs?.url ??
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.tsx"],"sourcesContent":["import { NodeViewContent, NodeViewWrapper } from \"@tiptap/react\";\n\nexport default ({ props, children, Icon, text }: any) => {\n return (\n <NodeViewWrapper\n className=\"react-component\"\n onClick={() => {\n props.editor.commands.setNodeSelection(props.getPos());\n }}\n >\n <NodeViewContent contentEditable=\"false\" className=\"socialMediaContainer\">\n {props?.node.type.spec.draggable ? (\n <div draggable=\"true\" data-drag-handle=\"\" style={{ width: \"100%\" }}>\n {!(props?.node?.attrs?.url ?? props?.node?.attrs?.src) ? (\n <div\n className=\"w-full bg-zinc-100 py-8 px-6 flex items-center justify-center gap-2 socialMediaCard\"\n draggable=\"true\"\n data-drag-handle=\"\"\n contentEditable=\"false\"\n >\n <Icon size={24} />\n <p\n className=\"w-full flex items-center justify-start mt-0\"\n style={{\n marginTop: 0,\n }}\n >\n {text}\n </p>\n </div>\n ) : (\n <div\n style={{ display: \"flex\", justifyContent: \"center\" }}\n draggable=\"true\"\n data-drag-handle=\"\"\n contentEditable=\"false\"\n >\n {children}\n </div>\n )}\n </div>\n ) : null}\n </NodeViewContent>\n </NodeViewWrapper>\n );\n};\n"],"names":["NodeViewContent","NodeViewWrapper","props","children","Icon","text","className","onClick","editor","commands","setNodeSelection","getPos","contentEditable","node","type","spec","draggable","div","data-drag-handle","style","width","attrs","url","src","size","p","marginTop","display","justifyContent"],"mappings":";AAAA,SAASA,eAAe,EAAEC,eAAe,QAAQ,gBAAgB;AAEjE,eAAe,CAAA,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,IAAI,EAAO;IAClD,qBACE,KAACJ;QACCK,WAAU;QACVC,SAAS;YACPL,MAAMM,MAAM,CAACC,QAAQ,CAACC,gBAAgB,CAACR,MAAMS,MAAM;QACrD;kBAEA,cAAA,KAACX;YAAgBY,iBAAgB;YAAQN,WAAU;sBAChDJ,OAAOW,KAAKC,KAAKC,KAAKC,0BACrB,KAACC;gBAAID,WAAU;gBAAOE,oBAAiB;gBAAGC,OAAO;oBAAEC,OAAO;gBAAO;0BAC9D,CAAElB,CAAAA,OAAOW,MAAMQ,OAAOC,OAAOpB,OAAOW,MAAMQ,OAAOE,GAAE,kBAClD,MAACN;oBACCX,WAAU;oBACVU,WAAU;oBACVE,oBAAiB;oBACjBN,iBAAgB;;sCAEhB,KAACR;4BAAKoB,MAAM;;sCACZ,KAACC;4BACCnB,WAAU;4BACVa,OAAO;gCACLO,WAAW;4BACb;sCAECrB;;;mCAIL,KAACY;oBACCE,OAAO;wBAAEQ,SAAS;wBAAQC,gBAAgB;oBAAS;oBACnDZ,WAAU;oBACVE,oBAAiB;oBACjBN,iBAAgB;8BAEfT;;iBAIL;;;AAIZ,CAAA,EAAE"}
|
|
@@ -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").Extension<any, any> | import("@tiptap/core").Node<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
|