payload-richtext-tiptap 0.0.88 → 0.0.89

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 (26) hide show
  1. package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.d.ts +3 -1
  2. package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.d.ts.map +1 -1
  3. package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.js +11 -1
  4. package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.js.map +1 -1
  5. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.d.ts.map +1 -1
  6. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js +26 -13
  7. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js.map +1 -1
  8. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.d.ts.map +1 -1
  9. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.js +5 -2
  10. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.js.map +1 -1
  11. package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts +1 -1
  12. package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts.map +1 -1
  13. package/dist/src/fields/TiptapEditor/extensions/extension-kit.js +2 -0
  14. package/dist/src/fields/TiptapEditor/extensions/extension-kit.js.map +1 -1
  15. package/dist/src/fields/TiptapEditor/extensions/serverside/ContentEmbedSupport.d.ts.map +1 -1
  16. package/dist/src/fields/TiptapEditor/extensions/serverside/ContentEmbedSupport.js +112 -95
  17. package/dist/src/fields/TiptapEditor/extensions/serverside/ContentEmbedSupport.js.map +1 -1
  18. package/dist/src/fields/TiptapEditor/extensions/serverside/IFrameServerside.d.ts +23 -0
  19. package/dist/src/fields/TiptapEditor/extensions/serverside/IFrameServerside.d.ts.map +1 -0
  20. package/dist/src/fields/TiptapEditor/extensions/serverside/IFrameServerside.js +49 -0
  21. package/dist/src/fields/TiptapEditor/extensions/serverside/IFrameServerside.js.map +1 -0
  22. package/dist/src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.d.ts.map +1 -1
  23. package/dist/src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.js +3 -1
  24. package/dist/src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.js.map +1 -1
  25. package/dist/tsconfig.tsbuildinfo +1 -1
  26. package/package.json +1 -1
@@ -2,12 +2,121 @@
2
2
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { Portal } from "@radix-ui/react-portal";
4
4
  import Image from "next/image.js";
5
- import { useEffect, useState } from "react";
5
+ import { memo, useEffect, useState } from "react";
6
6
  import { FacebookEmbed, InstagramEmbed, LinkedInEmbed, TikTokEmbed, XEmbed, YouTubeEmbed } from "react-social-media-embed";
7
7
  import { cn } from "../../lib/utils/index.js";
8
8
  import VideoBlockViewClientside from "../VideoBlock/components/VideoBlockViewClientside.js";
9
9
  import { SocialMediaEmbedServerside } from "../SocialMedia/SocialMediaEmbedServerside.js";
10
10
  import InsideLinksComponent from "../InsideLinks/InsideLinksComponent.js";
11
+ const renderContent = (content)=>{
12
+ switch(content.type){
13
+ case "twitter":
14
+ if (!checkIfValidLink(content.attrs.url)) {
15
+ return null;
16
+ }
17
+ return /*#__PURE__*/ _jsx(SocialMediaEmbedServerside, {
18
+ children: /*#__PURE__*/ _jsx(XEmbed, {
19
+ url: content.attrs.url || "",
20
+ width: 325
21
+ })
22
+ });
23
+ case "youtube":
24
+ if (!checkIfValidLink(content.attrs.url)) {
25
+ return null;
26
+ }
27
+ return /*#__PURE__*/ _jsx(SocialMediaEmbedServerside, {
28
+ children: /*#__PURE__*/ _jsx(YouTubeEmbed, {
29
+ url: content.attrs.url || ""
30
+ })
31
+ });
32
+ case "instagram":
33
+ if (!checkIfValidLink(content.attrs.url)) {
34
+ return null;
35
+ }
36
+ return /*#__PURE__*/ _jsx(SocialMediaEmbedServerside, {
37
+ children: /*#__PURE__*/ _jsx(InstagramEmbed, {
38
+ className: "max-w-[328px]",
39
+ url: content.attrs.url || "",
40
+ width: 328,
41
+ captioned: true
42
+ })
43
+ });
44
+ case "tiktok":
45
+ if (!checkIfValidLink(content.attrs.url)) {
46
+ return null;
47
+ }
48
+ return /*#__PURE__*/ _jsx(SocialMediaEmbedServerside, {
49
+ children: /*#__PURE__*/ _jsx(TikTokEmbed, {
50
+ className: "max-w-[328px]",
51
+ url: content.attrs.url || "",
52
+ width: 328
53
+ })
54
+ });
55
+ case "imageBlock":
56
+ return /*#__PURE__*/ _jsx("div", {
57
+ className: cn("relative object-cover", {
58
+ "aspect-video": !content.attrs.height
59
+ }),
60
+ style: {
61
+ width: content.attrs.width || "100%",
62
+ ...content.attrs.height ? {
63
+ height: content.attrs.height
64
+ } : {}
65
+ },
66
+ children: /*#__PURE__*/ _jsx(Image, {
67
+ src: content.attrs.src,
68
+ alt: content.attrs.caption || "",
69
+ fill: true
70
+ })
71
+ });
72
+ case "videoBlock":
73
+ // @ts-ignore
74
+ return /*#__PURE__*/ _jsx(VideoBlockViewClientside, {
75
+ node: content
76
+ });
77
+ case "facebook":
78
+ return /*#__PURE__*/ _jsx(SocialMediaEmbedServerside, {
79
+ children: /*#__PURE__*/ _jsx(FacebookEmbed, {
80
+ url: content.attrs.url || "",
81
+ width: 550
82
+ })
83
+ });
84
+ case "linkedin":
85
+ if (!checkIfValidLink(content.attrs.url)) {
86
+ return null;
87
+ }
88
+ return /*#__PURE__*/ _jsx(SocialMediaEmbedServerside, {
89
+ children: /*#__PURE__*/ _jsx(LinkedInEmbed, {
90
+ url: content.attrs.url || "",
91
+ width: 325,
92
+ height: 570
93
+ })
94
+ });
95
+ case "insideLinks":
96
+ return /*#__PURE__*/ _jsx(InsideLinksComponent, {
97
+ ...content
98
+ });
99
+ case "iframe":
100
+ return /*#__PURE__*/ _jsx(SocialMediaEmbedServerside, {
101
+ children: /*#__PURE__*/ _jsx("div", {
102
+ className: "iframe-wrapper",
103
+ children: /*#__PURE__*/ _jsx("iframe", {
104
+ src: content?.attrs?.src ?? "",
105
+ allowFullScreen: true
106
+ })
107
+ })
108
+ });
109
+ default:
110
+ return null;
111
+ }
112
+ };
113
+ const CustomPortal = /*#__PURE__*/ memo(({ content, ...props })=>{
114
+ useEffect(()=>{}, []);
115
+ return /*#__PURE__*/ _jsx(Portal, {
116
+ ...props,
117
+ children: renderContent(content)
118
+ });
119
+ });
11
120
  function checkIfValidLink(link) {
12
121
  return typeof link === "string";
13
122
  }
@@ -16,104 +125,12 @@ export function ContentEmbedSupport({ body }) {
16
125
  useEffect(()=>{
17
126
  setMounted(true);
18
127
  }, []);
19
- const renderContent = (content)=>{
20
- switch(content.type){
21
- case "twitter":
22
- if (!checkIfValidLink(content.attrs.url)) {
23
- return null;
24
- }
25
- return /*#__PURE__*/ _jsx(SocialMediaEmbedServerside, {
26
- children: /*#__PURE__*/ _jsx(XEmbed, {
27
- url: content.attrs.url || "",
28
- width: 325
29
- })
30
- });
31
- case "youtube":
32
- if (!checkIfValidLink(content.attrs.url)) {
33
- return null;
34
- }
35
- return /*#__PURE__*/ _jsx(SocialMediaEmbedServerside, {
36
- children: /*#__PURE__*/ _jsx(YouTubeEmbed, {
37
- url: content.attrs.url || ""
38
- })
39
- });
40
- case "instagram":
41
- if (!checkIfValidLink(content.attrs.url)) {
42
- return null;
43
- }
44
- return /*#__PURE__*/ _jsx(SocialMediaEmbedServerside, {
45
- children: /*#__PURE__*/ _jsx(InstagramEmbed, {
46
- className: "max-w-[328px]",
47
- url: content.attrs.url || "",
48
- width: 328,
49
- captioned: true
50
- })
51
- });
52
- case "tiktok":
53
- if (!checkIfValidLink(content.attrs.url)) {
54
- return null;
55
- }
56
- return /*#__PURE__*/ _jsx(SocialMediaEmbedServerside, {
57
- children: /*#__PURE__*/ _jsx(TikTokEmbed, {
58
- className: "max-w-[328px]",
59
- url: content.attrs.url || "",
60
- width: 328
61
- })
62
- });
63
- case "imageBlock":
64
- return /*#__PURE__*/ _jsx("div", {
65
- className: cn("relative object-cover", {
66
- "aspect-video": !content.attrs.height
67
- }),
68
- style: {
69
- width: content.attrs.width || "100%",
70
- ...content.attrs.height ? {
71
- height: content.attrs.height
72
- } : {}
73
- },
74
- children: /*#__PURE__*/ _jsx(Image, {
75
- src: content.attrs.src,
76
- alt: content.attrs.caption || "",
77
- fill: true
78
- })
79
- });
80
- case "videoBlock":
81
- // @ts-ignore
82
- return /*#__PURE__*/ _jsx(VideoBlockViewClientside, {
83
- node: content
84
- });
85
- case "facebook":
86
- return /*#__PURE__*/ _jsx(SocialMediaEmbedServerside, {
87
- children: /*#__PURE__*/ _jsx(FacebookEmbed, {
88
- url: content.attrs.url || "",
89
- width: 550
90
- })
91
- });
92
- case "linkedin":
93
- if (!checkIfValidLink(content.attrs.url)) {
94
- return null;
95
- }
96
- return /*#__PURE__*/ _jsx(SocialMediaEmbedServerside, {
97
- children: /*#__PURE__*/ _jsx(LinkedInEmbed, {
98
- url: content.attrs.url || "",
99
- width: 325,
100
- height: 570
101
- })
102
- });
103
- case "insideLinks":
104
- return /*#__PURE__*/ _jsx(InsideLinksComponent, {
105
- ...content
106
- });
107
- default:
108
- return null;
109
- }
110
- };
111
128
  if (!mounted) return null;
112
129
  return /*#__PURE__*/ _jsx(_Fragment, {
113
130
  children: body.content.filter((content)=>content?.attrs?.["data-id"]).map((content)=>{
114
- return /*#__PURE__*/ _jsx(Portal, {
131
+ return /*#__PURE__*/ _jsx(CustomPortal, {
115
132
  container: document?.querySelector(`[data-id='${content.attrs["data-id"]}']`),
116
- children: renderContent(content)
133
+ content: content
117
134
  }, `embed-content-${content.attrs["data-id"]}-${content.attrs.key}`);
118
135
  })
119
136
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/ContentEmbedSupport.tsx"],"sourcesContent":["\"use client\";\n\nimport { Portal } from \"@radix-ui/react-portal\";\nimport Image from \"next/image.js\";\nimport { useEffect, useState } from \"react\";\nimport {\n FacebookEmbed,\n InstagramEmbed,\n LinkedInEmbed,\n TikTokEmbed,\n XEmbed,\n YouTubeEmbed,\n} from \"react-social-media-embed\";\nimport { cn } from \"../../lib/utils/index.js\";\nimport VideoBlockViewClientside from \"../VideoBlock/components/VideoBlockViewClientside.js\";\nimport { SocialMediaEmbedServerside } from \"../SocialMedia/SocialMediaEmbedServerside.js\";\nimport InsideLinksComponent from \"../InsideLinks/InsideLinksComponent.js\";\n\nfunction checkIfValidLink(link: string) {\n return typeof link === \"string\";\n}\nexport function ContentEmbedSupport({ body }) {\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n\n const renderContent = (content) => {\n switch (content.type) {\n case \"twitter\":\n if (!checkIfValidLink(content.attrs.url)) {\n return null;\n }\n return (\n <SocialMediaEmbedServerside>\n <XEmbed url={content.attrs.url || \"\"} width={325} />\n </SocialMediaEmbedServerside>\n );\n case \"youtube\":\n if (!checkIfValidLink(content.attrs.url)) {\n return null;\n }\n return (\n <SocialMediaEmbedServerside>\n <YouTubeEmbed url={content.attrs.url || \"\"} />\n </SocialMediaEmbedServerside>\n );\n case \"instagram\":\n if (!checkIfValidLink(content.attrs.url)) {\n return null;\n }\n return (\n <SocialMediaEmbedServerside>\n <InstagramEmbed\n className=\"max-w-[328px]\"\n url={content.attrs.url || \"\"}\n width={328}\n captioned\n />\n </SocialMediaEmbedServerside>\n );\n case \"tiktok\":\n if (!checkIfValidLink(content.attrs.url)) {\n return null;\n }\n return (\n <SocialMediaEmbedServerside>\n <TikTokEmbed\n className=\"max-w-[328px]\"\n url={content.attrs.url || \"\"}\n width={328}\n />\n </SocialMediaEmbedServerside>\n );\n case \"imageBlock\":\n return (\n <div\n className={cn(\"relative object-cover\", {\n \"aspect-video\": !content.attrs.height,\n })}\n style={{\n width: content.attrs.width || \"100%\",\n ...(content.attrs.height ? { height: content.attrs.height } : {}),\n }}\n >\n {/* @ts-ignore */}\n <Image\n src={content.attrs.src}\n alt={content.attrs.caption || \"\"}\n fill\n />\n </div>\n );\n case \"videoBlock\":\n // @ts-ignore\n return <VideoBlockViewClientside node={content} />;\n case \"facebook\":\n return (\n <SocialMediaEmbedServerside>\n <FacebookEmbed url={content.attrs.url || \"\"} width={550} />\n </SocialMediaEmbedServerside>\n );\n case \"linkedin\":\n if (!checkIfValidLink(content.attrs.url)) {\n return null;\n }\n return (\n <SocialMediaEmbedServerside>\n <LinkedInEmbed\n url={content.attrs.url || \"\"}\n width={325}\n height={570}\n />\n </SocialMediaEmbedServerside>\n );\n case \"insideLinks\":\n return <InsideLinksComponent {...content} />;\n default:\n return null;\n }\n };\n if (!mounted) return null;\n return (\n <>\n {body.content\n .filter((content) => content?.attrs?.[\"data-id\"])\n .map((content) => {\n return (\n <Portal\n key={`embed-content-${content.attrs[\"data-id\"]}-${content.attrs.key}`}\n container={document?.querySelector(\n `[data-id='${content.attrs[\"data-id\"]}']`\n )}\n >\n {renderContent(content)}\n </Portal>\n );\n })}\n </>\n );\n}\n"],"names":["Portal","Image","useEffect","useState","FacebookEmbed","InstagramEmbed","LinkedInEmbed","TikTokEmbed","XEmbed","YouTubeEmbed","cn","VideoBlockViewClientside","SocialMediaEmbedServerside","InsideLinksComponent","checkIfValidLink","link","ContentEmbedSupport","body","mounted","setMounted","renderContent","content","type","attrs","url","width","className","captioned","div","height","style","src","alt","caption","fill","node","filter","map","container","document","querySelector","key"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/ContentEmbedSupport.tsx"],"sourcesContent":["\"use client\";\n\nimport { Portal } from \"@radix-ui/react-portal\";\nimport Image from \"next/image.js\";\nimport { ComponentProps, memo, useEffect, useState } from \"react\";\nimport {\n FacebookEmbed,\n InstagramEmbed,\n LinkedInEmbed,\n TikTokEmbed,\n XEmbed,\n YouTubeEmbed,\n} from \"react-social-media-embed\";\nimport { cn } from \"../../lib/utils/index.js\";\nimport VideoBlockViewClientside from \"../VideoBlock/components/VideoBlockViewClientside.js\";\nimport { SocialMediaEmbedServerside } from \"../SocialMedia/SocialMediaEmbedServerside.js\";\nimport InsideLinksComponent from \"../InsideLinks/InsideLinksComponent.js\";\n\nconst renderContent = (content) => {\n switch (content.type) {\n case \"twitter\":\n if (!checkIfValidLink(content.attrs.url)) {\n return null;\n }\n return (\n <SocialMediaEmbedServerside>\n <XEmbed url={content.attrs.url || \"\"} width={325} />\n </SocialMediaEmbedServerside>\n );\n case \"youtube\":\n if (!checkIfValidLink(content.attrs.url)) {\n return null;\n }\n return (\n <SocialMediaEmbedServerside>\n <YouTubeEmbed url={content.attrs.url || \"\"} />\n </SocialMediaEmbedServerside>\n );\n case \"instagram\":\n if (!checkIfValidLink(content.attrs.url)) {\n return null;\n }\n return (\n <SocialMediaEmbedServerside>\n <InstagramEmbed\n className=\"max-w-[328px]\"\n url={content.attrs.url || \"\"}\n width={328}\n captioned\n />\n </SocialMediaEmbedServerside>\n );\n case \"tiktok\":\n if (!checkIfValidLink(content.attrs.url)) {\n return null;\n }\n return (\n <SocialMediaEmbedServerside>\n <TikTokEmbed\n className=\"max-w-[328px]\"\n url={content.attrs.url || \"\"}\n width={328}\n />\n </SocialMediaEmbedServerside>\n );\n case \"imageBlock\":\n return (\n <div\n className={cn(\"relative object-cover\", {\n \"aspect-video\": !content.attrs.height,\n })}\n style={{\n width: content.attrs.width || \"100%\",\n ...(content.attrs.height ? { height: content.attrs.height } : {}),\n }}\n >\n {/* @ts-ignore */}\n <Image\n src={content.attrs.src}\n alt={content.attrs.caption || \"\"}\n fill\n />\n </div>\n );\n case \"videoBlock\":\n // @ts-ignore\n return <VideoBlockViewClientside node={content} />;\n case \"facebook\":\n return (\n <SocialMediaEmbedServerside>\n <FacebookEmbed url={content.attrs.url || \"\"} width={550} />\n </SocialMediaEmbedServerside>\n );\n case \"linkedin\":\n if (!checkIfValidLink(content.attrs.url)) {\n return null;\n }\n return (\n <SocialMediaEmbedServerside>\n <LinkedInEmbed\n url={content.attrs.url || \"\"}\n width={325}\n height={570}\n />\n </SocialMediaEmbedServerside>\n );\n case \"insideLinks\":\n return <InsideLinksComponent {...content} />;\n case \"iframe\":\n return (\n <SocialMediaEmbedServerside>\n <div className=\"iframe-wrapper\">\n <iframe src={content?.attrs?.src ?? \"\"} allowFullScreen={true} />\n </div>\n </SocialMediaEmbedServerside>\n );\n default:\n return null;\n }\n};\n\nconst CustomPortal = memo(\n ({ content, ...props }: ComponentProps<typeof Portal>) => {\n useEffect(() => {}, []);\n return <Portal {...props}>{renderContent(content)}</Portal>;\n }\n);\n\nfunction checkIfValidLink(link: string) {\n return typeof link === \"string\";\n}\nexport function ContentEmbedSupport({ body }) {\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n\n if (!mounted) return null;\n return (\n <>\n {body.content\n .filter((content) => content?.attrs?.[\"data-id\"])\n .map((content) => {\n return (\n <CustomPortal\n key={`embed-content-${content.attrs[\"data-id\"]}-${content.attrs.key}`}\n container={document?.querySelector(\n `[data-id='${content.attrs[\"data-id\"]}']`\n )}\n content={content}\n />\n );\n })}\n </>\n );\n}\n"],"names":["Portal","Image","memo","useEffect","useState","FacebookEmbed","InstagramEmbed","LinkedInEmbed","TikTokEmbed","XEmbed","YouTubeEmbed","cn","VideoBlockViewClientside","SocialMediaEmbedServerside","InsideLinksComponent","renderContent","content","type","checkIfValidLink","attrs","url","width","className","captioned","div","height","style","src","alt","caption","fill","node","iframe","allowFullScreen","CustomPortal","props","link","ContentEmbedSupport","body","mounted","setMounted","filter","map","container","document","querySelector","key"],"mappings":"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"}
@@ -0,0 +1,23 @@
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" {
9
+ interface Commands<ReturnType> {
10
+ iframe: {
11
+ /**
12
+ * Add an iframe
13
+ */
14
+ setIframe: (options?: {
15
+ src: string;
16
+ }) => ReturnType;
17
+ insertIframe: (url?: string, className?: string) => ReturnType;
18
+ setHtml: (value: string) => ReturnType;
19
+ };
20
+ }
21
+ }
22
+ export declare const IFrameServerside: Node<IframeOptions, any>;
23
+ //# sourceMappingURL=IFrameServerside.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IFrameServerside.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/IFrameServerside.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,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,CAAC,EAAE;gBAAE,GAAG,EAAE,MAAM,CAAA;aAAE,KAAK,UAAU,CAAC;YACrD,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;YAC/D,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;SACxC,CAAC;KACH;CACF;AAED,eAAO,MAAM,gBAAgB,0BA4C3B,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { Node } from "@tiptap/core";
2
+ export const IFrameServerside = Node.create({
3
+ name: "iframe",
4
+ group: "block",
5
+ content: "inline*",
6
+ draggable: true,
7
+ atom: true,
8
+ addOptions () {
9
+ return {
10
+ allowFullscreen: true,
11
+ HTMLAttributes: {
12
+ class: "iframe-wrapper"
13
+ }
14
+ };
15
+ },
16
+ addAttributes () {
17
+ return {
18
+ src: {
19
+ default: null
20
+ },
21
+ frameborder: {
22
+ default: 0
23
+ },
24
+ allowfullscreen: {
25
+ default: this.options.allowFullscreen,
26
+ parseHTML: ()=>this.options.allowFullscreen
27
+ }
28
+ };
29
+ },
30
+ parseHTML () {
31
+ return [
32
+ {
33
+ tag: "iframe"
34
+ }
35
+ ];
36
+ },
37
+ renderHTML ({ HTMLAttributes }) {
38
+ return [
39
+ "div",
40
+ this.options.HTMLAttributes,
41
+ [
42
+ "iframe",
43
+ HTMLAttributes
44
+ ]
45
+ ];
46
+ }
47
+ });
48
+
49
+ //# sourceMappingURL=IFrameServerside.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/IFrameServerside.ts"],"sourcesContent":["import { Node } from \"@tiptap/core\";\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 insertIframe: (url?: string, className?: string) => ReturnType;\n setHtml: (value: string) => ReturnType;\n };\n }\n}\n\nexport const IFrameServerside = 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});\n"],"names":["Node","IFrameServerside","create","name","group","content","draggable","atom","addOptions","allowFullscreen","HTMLAttributes","class","addAttributes","src","default","frameborder","allowfullscreen","options","parseHTML","tag","renderHTML"],"mappings":"AAAA,SAASA,IAAI,QAAQ,eAAe;AAsBpC,OAAO,MAAMC,mBAAmBD,KAAKE,MAAM,CAAgB;IACzDC,MAAM;IAENC,OAAO;IACPC,SAAS;IACTC,WAAW;IAEXC,MAAM;IAENC;QACE,OAAO;YACLC,iBAAiB;YACjBC,gBAAgB;gBACdC,OAAO;YACT;QACF;IACF;IAEAC;QACE,OAAO;YACLC,KAAK;gBACHC,SAAS;YACX;YACAC,aAAa;gBACXD,SAAS;YACX;YACAE,iBAAiB;gBACfF,SAAS,IAAI,CAACG,OAAO,CAACR,eAAe;gBACrCS,WAAW,IAAM,IAAI,CAACD,OAAO,CAACR,eAAe;YAC/C;QACF;IACF;IAEAS;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IAEAC,YAAW,EAAEV,cAAc,EAAE;QAC3B,OAAO;YAAC;YAAO,IAAI,CAACO,OAAO,CAACP,cAAc;YAAE;gBAAC;gBAAUA;aAAe;SAAC;IACzE;AACF,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"ServersideTiptapBody.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAwE1B,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AACF,eAAO,MAAM,oBAAoB,aAAc,KAAK,sBAgFnD,CAAC"}
1
+ {"version":3,"file":"ServersideTiptapBody.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAyE1B,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AACF,eAAO,MAAM,oBAAoB,aAAc,KAAK,sBAiFnD,CAAC"}
@@ -12,6 +12,7 @@ import { LinkedinServerside } from "./LinkedinServerside.js";
12
12
  import { FacebookServerside } from "./FacebookServerside.js";
13
13
  import { VideoBlockServerside } from "./VideoBlockServerside.js";
14
14
  import { InsideLinkServerside } from "./InsideLinkServerside.js";
15
+ import { IFrameServerside } from "./IFrameServerside.js";
15
16
  export const ServersideTiptapBody = ({ body })=>{
16
17
  if (!body) return null;
17
18
  return /*#__PURE__*/ _jsx(_Fragment, {
@@ -79,7 +80,8 @@ export const ServersideTiptapBody = ({ body })=>{
79
80
  TiktokServerside,
80
81
  LinkedinServerside,
81
82
  FacebookServerside,
82
- InsideLinkServerside
83
+ InsideLinkServerside,
84
+ IFrameServerside
83
85
  ])
84
86
  }
85
87
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.tsx"],"sourcesContent":["import React from \"react\";\nimport { generateHTML } from \"@tiptap/html\";\nimport { Text } from \"@tiptap/extension-text\";\nimport {\n StarterKit,\n Highlight,\n CharacterCount,\n Underline,\n Placeholder,\n Emoji,\n TextAlign,\n TextStyle,\n FontFamily,\n Typography,\n Color,\n Dropcursor,\n CollaborationCursor,\n Subscript,\n TableOfContents,\n Superscript,\n CodeBlock,\n BulletList,\n OrderedList,\n Collaboration,\n TaskItem,\n TaskList,\n FileHandler,\n Selection,\n Focus,\n Table,\n HorizontalRule,\n Heading,\n Document,\n TrailingNode,\n FontSize,\n Figure,\n Figcaption,\n BlockquoteFigure,\n Quote,\n QuoteCaption,\n Link,\n // ImageUpload,\n // ImageBlock,\n // VideoBlock,\n // AudioBlock,\n // Youtube,\n // Instagram,\n Columns,\n Paragraph,\n InsideLinks,\n TableCell,\n TableHeader,\n TableRow,\n Column,\n // Twitter,\n Linkedin,\n Tiktok,\n Facebook,\n // Instagram,\n // Youtube,\n} from \"../index.js\";\n\nimport { TwitterBlockServerside } from \"./TwitterBlockServerside.js\";\nimport { YouTubeServerside } from \"./YouTubeServerside.js\";\nimport { InstagramServerside } from \"./InstagramServerside.js\";\nimport { ImageBlockServerside } from \"./ImageBlockServerside.js\";\nimport { TiktokServerside } from \"./TiktokServerside.js\";\nimport { LinkedinServerside } from \"./LinkedinServerside.js\";\nimport { FacebookServerside } from \"./FacebookServerside.js\";\nimport { VideoBlockServerside } from \"./VideoBlockServerside.js\";\nimport { InsideLinkServerside } from \"./InsideLinkServerside.js\";\n\ntype Props = {\n body: any;\n};\nexport const ServersideTiptapBody = ({ body }: Props) => {\n if (!body) return null;\n\n return (\n <>\n <div\n className=\"tiptap ProseMirror min-h-full\"\n dangerouslySetInnerHTML={{\n __html: generateHTML(body, [\n Text,\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 Highlight,\n // CharacterCount,\n Underline,\n Placeholder,\n // Emoji,\n TextAlign,\n TextStyle,\n FontFamily,\n Typography,\n // Color,\n // Dropcursor,\n // CollaborationCursor,\n // Subscript,\n // TableOfContents,\n // Superscript,\n // CodeBlock,\n // BulletList,\n // OrderedList,\n // Collaboration,\n // TaskItem,\n // TaskList,\n // FileHandler,\n // Selection,\n // Focus,\n // Table,\n HorizontalRule,\n Heading,\n Document,\n // TrailingNode,\n // SlashCommand,\n // FontSize,\n // Figure,\n // Figcaption,\n BlockquoteFigure,\n Quote,\n QuoteCaption,\n ImageBlockServerside,\n VideoBlockServerside,\n // AudioBlock,\n // Columns,\n TwitterBlockServerside,\n InstagramServerside,\n YouTubeServerside,\n Paragraph,\n Superscript,\n Subscript,\n Link,\n TiktokServerside,\n LinkedinServerside,\n FacebookServerside,\n InsideLinkServerside,\n // InsideLinks,\n // TableCell,\n // TableHeader,\n // TableRow,\n // Column,\n ]),\n }}\n />\n </>\n );\n};\n"],"names":["React","generateHTML","Text","StarterKit","Highlight","Underline","Placeholder","TextAlign","TextStyle","FontFamily","Typography","Subscript","Superscript","HorizontalRule","Heading","Document","BlockquoteFigure","Quote","QuoteCaption","Link","Paragraph","TwitterBlockServerside","YouTubeServerside","InstagramServerside","ImageBlockServerside","TiktokServerside","LinkedinServerside","FacebookServerside","VideoBlockServerside","InsideLinkServerside","ServersideTiptapBody","body","div","className","dangerouslySetInnerHTML","__html","configure","document","dropcursor","heading","horizontalRule","blockquote","history","codeBlock"],"mappings":";AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,YAAY,QAAQ,eAAe;AAC5C,SAASC,IAAI,QAAQ,yBAAyB;AAC9C,SACEC,UAAU,EACVC,SAAS,EAETC,SAAS,EACTC,WAAW,EAEXC,SAAS,EACTC,SAAS,EACTC,UAAU,EACVC,UAAU,EAIVC,SAAS,EAETC,WAAW,EAWXC,cAAc,EACdC,OAAO,EACPC,QAAQ,EAKRC,gBAAgB,EAChBC,KAAK,EACLC,YAAY,EACZC,IAAI,EAQJC,SAAS,QAYJ,cAAc;AAErB,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,SAASC,iBAAiB,QAAQ,yBAAyB;AAC3D,SAASC,mBAAmB,QAAQ,2BAA2B;AAC/D,SAASC,oBAAoB,QAAQ,4BAA4B;AACjE,SAASC,gBAAgB,QAAQ,wBAAwB;AACzD,SAASC,kBAAkB,QAAQ,0BAA0B;AAC7D,SAASC,kBAAkB,QAAQ,0BAA0B;AAC7D,SAASC,oBAAoB,QAAQ,4BAA4B;AACjE,SAASC,oBAAoB,QAAQ,4BAA4B;AAKjE,OAAO,MAAMC,uBAAuB,CAAC,EAAEC,IAAI,EAAS;IAClD,IAAI,CAACA,MAAM,OAAO;IAElB,qBACE;kBACE,cAAA,KAACC;YACCC,WAAU;YACVC,yBAAyB;gBACvBC,QAAQlC,aAAa8B,MAAM;oBACzB7B;oBACAC,WAAWiC,SAAS,CAAC;wBACnBC,UAAU;wBACVC,YAAY;wBACZC,SAAS;wBACTC,gBAAgB;wBAChBC,YAAY;wBACZC,SAAS;wBACTC,WAAW;oBACb;oBACAvC;oBACA,kBAAkB;oBAClBC;oBACAC;oBACA,SAAS;oBACTC;oBACAC;oBACAC;oBACAC;oBACA,SAAS;oBACT,cAAc;oBACd,uBAAuB;oBACvB,aAAa;oBACb,mBAAmB;oBACnB,eAAe;oBACf,aAAa;oBACb,cAAc;oBACd,eAAe;oBACf,iBAAiB;oBACjB,YAAY;oBACZ,YAAY;oBACZ,eAAe;oBACf,aAAa;oBACb,SAAS;oBACT,SAAS;oBACTG;oBACAC;oBACAC;oBACA,gBAAgB;oBAChB,gBAAgB;oBAChB,YAAY;oBACZ,UAAU;oBACV,cAAc;oBACdC;oBACAC;oBACAC;oBACAM;oBACAI;oBACA,cAAc;oBACd,WAAW;oBACXP;oBACAE;oBACAD;oBACAF;oBACAR;oBACAD;oBACAQ;oBACAM;oBACAC;oBACAC;oBACAE;iBAMD;YACH;;;AAIR,EAAE"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.tsx"],"sourcesContent":["import React from \"react\";\nimport { generateHTML } from \"@tiptap/html\";\nimport { Text } from \"@tiptap/extension-text\";\nimport {\n StarterKit,\n Highlight,\n CharacterCount,\n Underline,\n Placeholder,\n Emoji,\n TextAlign,\n TextStyle,\n FontFamily,\n Typography,\n Color,\n Dropcursor,\n CollaborationCursor,\n Subscript,\n TableOfContents,\n Superscript,\n CodeBlock,\n BulletList,\n OrderedList,\n Collaboration,\n TaskItem,\n TaskList,\n FileHandler,\n Selection,\n Focus,\n Table,\n HorizontalRule,\n Heading,\n Document,\n TrailingNode,\n FontSize,\n Figure,\n Figcaption,\n BlockquoteFigure,\n Quote,\n QuoteCaption,\n Link,\n // ImageUpload,\n // ImageBlock,\n // VideoBlock,\n // AudioBlock,\n // Youtube,\n // Instagram,\n Columns,\n Paragraph,\n InsideLinks,\n TableCell,\n TableHeader,\n TableRow,\n Column,\n // Twitter,\n Linkedin,\n Tiktok,\n Facebook,\n // Instagram,\n // Youtube,\n} from \"../index.js\";\n\nimport { TwitterBlockServerside } from \"./TwitterBlockServerside.js\";\nimport { YouTubeServerside } from \"./YouTubeServerside.js\";\nimport { InstagramServerside } from \"./InstagramServerside.js\";\nimport { ImageBlockServerside } from \"./ImageBlockServerside.js\";\nimport { TiktokServerside } from \"./TiktokServerside.js\";\nimport { LinkedinServerside } from \"./LinkedinServerside.js\";\nimport { FacebookServerside } from \"./FacebookServerside.js\";\nimport { VideoBlockServerside } from \"./VideoBlockServerside.js\";\nimport { InsideLinkServerside } from \"./InsideLinkServerside.js\";\nimport { IFrameServerside } from \"./IFrameServerside.js\";\n\ntype Props = {\n body: any;\n};\nexport const ServersideTiptapBody = ({ body }: Props) => {\n if (!body) return null;\n\n return (\n <>\n <div\n className=\"tiptap ProseMirror min-h-full\"\n dangerouslySetInnerHTML={{\n __html: generateHTML(body, [\n Text,\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 Highlight,\n // CharacterCount,\n Underline,\n Placeholder,\n // Emoji,\n TextAlign,\n TextStyle,\n FontFamily,\n Typography,\n // Color,\n // Dropcursor,\n // CollaborationCursor,\n // Subscript,\n // TableOfContents,\n // Superscript,\n // CodeBlock,\n // BulletList,\n // OrderedList,\n // Collaboration,\n // TaskItem,\n // TaskList,\n // FileHandler,\n // Selection,\n // Focus,\n // Table,\n HorizontalRule,\n Heading,\n Document,\n // TrailingNode,\n // SlashCommand,\n // FontSize,\n // Figure,\n // Figcaption,\n BlockquoteFigure,\n Quote,\n QuoteCaption,\n ImageBlockServerside,\n VideoBlockServerside,\n // AudioBlock,\n // Columns,\n TwitterBlockServerside,\n InstagramServerside,\n YouTubeServerside,\n Paragraph,\n Superscript,\n Subscript,\n Link,\n TiktokServerside,\n LinkedinServerside,\n FacebookServerside,\n InsideLinkServerside,\n IFrameServerside,\n // InsideLinks,\n // TableCell,\n // TableHeader,\n // TableRow,\n // Column,\n ]),\n }}\n />\n </>\n );\n};\n"],"names":["React","generateHTML","Text","StarterKit","Highlight","Underline","Placeholder","TextAlign","TextStyle","FontFamily","Typography","Subscript","Superscript","HorizontalRule","Heading","Document","BlockquoteFigure","Quote","QuoteCaption","Link","Paragraph","TwitterBlockServerside","YouTubeServerside","InstagramServerside","ImageBlockServerside","TiktokServerside","LinkedinServerside","FacebookServerside","VideoBlockServerside","InsideLinkServerside","IFrameServerside","ServersideTiptapBody","body","div","className","dangerouslySetInnerHTML","__html","configure","document","dropcursor","heading","horizontalRule","blockquote","history","codeBlock"],"mappings":";AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,YAAY,QAAQ,eAAe;AAC5C,SAASC,IAAI,QAAQ,yBAAyB;AAC9C,SACEC,UAAU,EACVC,SAAS,EAETC,SAAS,EACTC,WAAW,EAEXC,SAAS,EACTC,SAAS,EACTC,UAAU,EACVC,UAAU,EAIVC,SAAS,EAETC,WAAW,EAWXC,cAAc,EACdC,OAAO,EACPC,QAAQ,EAKRC,gBAAgB,EAChBC,KAAK,EACLC,YAAY,EACZC,IAAI,EAQJC,SAAS,QAYJ,cAAc;AAErB,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,SAASC,iBAAiB,QAAQ,yBAAyB;AAC3D,SAASC,mBAAmB,QAAQ,2BAA2B;AAC/D,SAASC,oBAAoB,QAAQ,4BAA4B;AACjE,SAASC,gBAAgB,QAAQ,wBAAwB;AACzD,SAASC,kBAAkB,QAAQ,0BAA0B;AAC7D,SAASC,kBAAkB,QAAQ,0BAA0B;AAC7D,SAASC,oBAAoB,QAAQ,4BAA4B;AACjE,SAASC,oBAAoB,QAAQ,4BAA4B;AACjE,SAASC,gBAAgB,QAAQ,wBAAwB;AAKzD,OAAO,MAAMC,uBAAuB,CAAC,EAAEC,IAAI,EAAS;IAClD,IAAI,CAACA,MAAM,OAAO;IAElB,qBACE;kBACE,cAAA,KAACC;YACCC,WAAU;YACVC,yBAAyB;gBACvBC,QAAQnC,aAAa+B,MAAM;oBACzB9B;oBACAC,WAAWkC,SAAS,CAAC;wBACnBC,UAAU;wBACVC,YAAY;wBACZC,SAAS;wBACTC,gBAAgB;wBAChBC,YAAY;wBACZC,SAAS;wBACTC,WAAW;oBACb;oBACAxC;oBACA,kBAAkB;oBAClBC;oBACAC;oBACA,SAAS;oBACTC;oBACAC;oBACAC;oBACAC;oBACA,SAAS;oBACT,cAAc;oBACd,uBAAuB;oBACvB,aAAa;oBACb,mBAAmB;oBACnB,eAAe;oBACf,aAAa;oBACb,cAAc;oBACd,eAAe;oBACf,iBAAiB;oBACjB,YAAY;oBACZ,YAAY;oBACZ,eAAe;oBACf,aAAa;oBACb,SAAS;oBACT,SAAS;oBACTG;oBACAC;oBACAC;oBACA,gBAAgB;oBAChB,gBAAgB;oBAChB,YAAY;oBACZ,UAAU;oBACV,cAAc;oBACdC;oBACAC;oBACAC;oBACAM;oBACAI;oBACA,cAAc;oBACd,WAAW;oBACXP;oBACAE;oBACAD;oBACAF;oBACAR;oBACAD;oBACAQ;oBACAM;oBACAC;oBACAC;oBACAE;oBACAC;iBAMD;YACH;;;AAIR,EAAE"}