payload-richtext-tiptap 0.0.88 → 0.0.90

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 (34) 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/ImageBlock/ImageBlock.d.ts +1 -0
  6. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.d.ts.map +1 -1
  7. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.js +10 -0
  8. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.js.map +1 -1
  9. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.d.ts.map +1 -1
  10. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.js +19 -9
  11. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.js.map +1 -1
  12. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.d.ts.map +1 -1
  13. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js +26 -13
  14. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js.map +1 -1
  15. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.d.ts.map +1 -1
  16. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.js +5 -2
  17. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.js.map +1 -1
  18. package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts +1 -1
  19. package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts.map +1 -1
  20. package/dist/src/fields/TiptapEditor/extensions/extension-kit.js +2 -0
  21. package/dist/src/fields/TiptapEditor/extensions/extension-kit.js.map +1 -1
  22. package/dist/src/fields/TiptapEditor/extensions/serverside/ContentEmbedSupport.d.ts.map +1 -1
  23. package/dist/src/fields/TiptapEditor/extensions/serverside/ContentEmbedSupport.js +122 -96
  24. package/dist/src/fields/TiptapEditor/extensions/serverside/ContentEmbedSupport.js.map +1 -1
  25. package/dist/src/fields/TiptapEditor/extensions/serverside/IFrameServerside.d.ts +23 -0
  26. package/dist/src/fields/TiptapEditor/extensions/serverside/IFrameServerside.d.ts.map +1 -0
  27. package/dist/src/fields/TiptapEditor/extensions/serverside/IFrameServerside.js +49 -0
  28. package/dist/src/fields/TiptapEditor/extensions/serverside/IFrameServerside.js.map +1 -0
  29. package/dist/src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.d.ts.map +1 -1
  30. package/dist/src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.js +3 -1
  31. package/dist/src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.js.map +1 -1
  32. package/dist/src/styles.css +47 -0
  33. package/dist/tsconfig.tsbuildinfo +1 -1
  34. package/package.json +1 -1
@@ -11,9 +11,11 @@ declare module "@tiptap/core" {
11
11
  /**
12
12
  * Add an iframe
13
13
  */
14
- setIframe: (options: {
14
+ setIframe: (options?: {
15
15
  src: string;
16
16
  }) => ReturnType;
17
+ setHtml: (value: string) => ReturnType;
18
+ insertIframe: (url?: string, className?: string) => ReturnType;
17
19
  };
18
20
  }
19
21
  }
@@ -1 +1 @@
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
+ {"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,CAAC,EAAE;gBAAE,GAAG,EAAE,MAAM,CAAA;aAAE,KAAK,UAAU,CAAC;YACrD,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;YACvC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;SAChE,CAAC;KACH;CACF;AAED,eAAO,MAAM,MAAM,0BA6JjB,CAAC"}
@@ -7,7 +7,7 @@ export const Iframe = Node.create({
7
7
  content: "inline*",
8
8
  draggable: true,
9
9
  atom: true,
10
- addOptions () {
10
+ addOption () {
11
11
  return {
12
12
  allowFullscreen: true,
13
13
  HTMLAttributes: {
@@ -81,6 +81,7 @@ export const Iframe = Node.create({
81
81
  return true;
82
82
  },
83
83
  setHtml: (value)=>({ commands, state })=>{
84
+ console.log(value);
84
85
  let attributes = {
85
86
  editorValue: value
86
87
  };
@@ -118,6 +119,15 @@ export const Iframe = Node.create({
118
119
  };
119
120
  }
120
121
  return true;
122
+ },
123
+ insertIframe: (url, className)=>({ commands, state })=>{
124
+ return commands.insertContent({
125
+ type: "iframe",
126
+ attrs: {
127
+ url,
128
+ class: className
129
+ }
130
+ });
121
131
  }
122
132
  };
123
133
  }
@@ -1 +1 @@
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":"AAAA,SAASA,IAAI,QAAQ,eAAe;AACpC,SAASC,qBAAqB,QAAQ,gBAAgB;AACtD,OAAOC,iBAAiB,mBAAmB;AAoB3C,OAAO,MAAMC,SAASH,KAAKI,MAAM,CAAgB;IAC/CC,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;IACAW;QACE,OAAOtB,sBAAsBC;IAC/B;IAEAsB;QACE,OAAO;YACLC,WACE,CAACN,UACD,CAAC,EAAEO,EAAE,EAAEC,QAAQ,EAAE;oBACf,MAAM,EAAEC,SAAS,EAAE,GAAGF;oBACtB,IAAIG,aAAkC;wBACpC,GAAGV,OAAO;oBACZ;oBAEA,IAAIA,SAASJ,KAAKe,SAAS,WAAW;wBACpC,MAAMC,SAAS,IAAIC;wBACnB,MAAMC,OAAOF,OAAOG,eAAe,CAACf,SAASJ,KAAK;wBAClD,MAAMoB,YAAYF,KACfG,oBAAoB,CAAC,WAAW,CAAC,EAAE,EAClCC;wBAEJF,WAAWG,QAAQ,CAACC;4BAClBV,UAAU,CAACU,KAAK,GAAGN,KAChBG,oBAAoB,CAAC,WAAW,CAAC,EAAE,EAClCI,aAAaD;wBACnB;oBACF,OAAO,IAAI,CAACE,eAAetB,SAASJ,MAAM;wBACxC,MAAM2B,WACJ,kCAAkCC,UAAUxB,SAASJ;wBACvDc,aAAa;4BACX,GAAGA,UAAU;4BACbd,KAAK2B;wBACP;oBACF;oBACA,MAAME,OAAO,IAAI,CAACC,IAAI,CAACzC,MAAM,CAACyB;oBAE9B,IAAIF,UAAU;wBACZD,GAAGoB,gBAAgB,CAAClB,UAAUmB,IAAI,EAAEnB,UAAUoB,EAAE,EAAEJ;oBACpD;oBAEA,kCAAkC;oBAClC,oBAAoB;oBACpB,uBAAuB;oBACvB,KAAK;oBAEL,OAAO;gBACT;YAEFK,SACE,CAACC,QACD,CAAC,EAAEC,QAAQ,EAAEC,KAAK,EAAE;oBAClB,IAAIvB,aAAkC;wBACpCwB,aAAaH;oBACf;oBAEA,IAAIA,OAAOpB,SAAS,gBAAgB;wBAClC,MAAMwB,UAAUJ,OAAOK,MAAM,OAAO,CAAC,EAAE,EAAEA,MAAM,MAAM,CAAC,EAAE;wBACxD1B,aAAa;4BACX,GAAGA,UAAU;4BAEbd,KAAK,CAAC,8BAA8B,EAAEuC,QAAQ,WAAW,CAAC;4BAC1DE,OAAO;wBACT;oBACF,OAAO,IAAIN,OAAOpB,SAAS,kBAAkB;wBAC3C,MAAM2B,iBAAiBP,OAAOK,MAAM,OAAO,CAAC,EAAE,EAAEA,MAAM,MAAM,CAAC,EAAE;wBAC/D1B,aAAa;4BACX,GAAGA,UAAU;4BAEbd,KAAK,CAAC,4BAA4B,EAAE0C,eAAe,MAAM,CAAC;4BAC1DD,OAAO;wBACT;oBACF,OAAO,IAAIf,eAAeS,QAAQ;wBAChCrB,aAAa;4BACX,GAAGA,UAAU;4BAEbd,KAAKmC;wBACP;oBACF,OAAO,IAAIA,OAAOpB,SAAS,WAAW;wBACpC,MAAMC,SAAS,IAAIC;wBACnB,MAAMC,OAAOF,OAAOG,eAAe,CAACgB,OAAO;wBAC3C,MAAMf,YAAYF,KACfG,oBAAoB,CAAC,WAAW,CAAC,EAAE,EAClCC;wBAEJF,WAAWG,QAAQ,CAACC;4BAClBV,UAAU,CAACU,KAAK,GAAGN,KAChBG,oBAAoB,CAAC,WAAW,CAAC,EAAE,EAClCI,aAAaD;wBACnB;oBACF,OAAO;wBACL,MAAMG,WAAW,kCAAkCC,UAAUO;wBAC7DrB,aAAa;4BACX,GAAGA,UAAU;4BACbd,KAAK2B;wBACP;oBACF;oBAEA,OAAO;gBACT;QACJ;IACF;AACF,GAAG;AAEH,SAASD,eAAeiB,MAAc;IACpC,IAAIC;IAEJ,IAAI;QACFA,MAAM,IAAIC,IAAIF;IAChB,EAAE,OAAOG,GAAG;QACV,OAAO;IACT;IAEA,OAAOF,IAAIG,QAAQ,KAAK,WAAWH,IAAIG,QAAQ,KAAK;AACtD"}
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 setHtml: (value: string) => ReturnType;\n insertIframe: (url?: string, className?: 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 addOption () {\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 console.log(value);\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 insertIframe:\n (url, className) =>\n ({ commands, state }) => {\n return commands.insertContent({\n type: \"iframe\",\n attrs: {\n url,\n class: className,\n },\n });\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","addOption","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","console","log","editorValue","ytValue","split","title","instagramValue","insertIframe","url","className","insertContent","attrs","string","URL","_","protocol"],"mappings":"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"}
@@ -13,6 +13,7 @@ declare module "@tiptap/core" {
13
13
  }) => ReturnType;
14
14
  setImageBlockAlign: (align: "left" | "center" | "right") => ReturnType;
15
15
  setImageBlockWidth: (width: number) => ReturnType;
16
+ addImageCaption: (caption: string) => ReturnType;
16
17
  };
17
18
  }
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ImageBlock.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,EAAE,MAAM,cAAc,CAAC;AAKtD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,UAAU,EAAE;YACV,aAAa,EAAE,CAAC,UAAU,EAAE;gBAC1B,GAAG,EAAE,MAAM,CAAC;gBACZ,OAAO,CAAC,EAAE,MAAM,CAAC;aAClB,KAAK,UAAU,CAAC;YACjB,eAAe,EAAE,CAAC,UAAU,EAAE;gBAC5B,GAAG,EAAE,MAAM,CAAC;gBACZ,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;gBACpB,OAAO,CAAC,EAAE,MAAM,CAAC;aAClB,KAAK,UAAU,CAAC;YACjB,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,KAAK,UAAU,CAAC;YACvE,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;SACnD,CAAC;KACH;CACF;AAED,eAAO,MAAM,UAAU,mFA+FrB,CAAC;AAEH,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"ImageBlock.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,EAAE,MAAM,cAAc,CAAC;AAKtD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,UAAU,EAAE;YACV,aAAa,EAAE,CAAC,UAAU,EAAE;gBAC1B,GAAG,EAAE,MAAM,CAAC;gBACZ,OAAO,CAAC,EAAE,MAAM,CAAC;aAClB,KAAK,UAAU,CAAC;YACjB,eAAe,EAAE,CAAC,UAAU,EAAE;gBAC5B,GAAG,EAAE,MAAM,CAAC;gBACZ,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;gBACpB,OAAO,CAAC,EAAE,MAAM,CAAC;aAClB,KAAK,UAAU,CAAC;YACjB,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,KAAK,UAAU,CAAC;YACvE,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;YAClD,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,UAAU,CAAC;SAClD,CAAC;KACH;CACF;AAED,eAAO,MAAM,UAAU,mFA0GrB,CAAC;AAEH,eAAe,UAAU,CAAC"}
@@ -37,6 +37,13 @@ export const ImageBlock = Image.extend({
37
37
  renderHTML: (attributes)=>({
38
38
  alt: attributes.alt
39
39
  })
40
+ },
41
+ caption: {
42
+ default: undefined,
43
+ parseHTML: (element)=>element.getAttribute("data-caption"),
44
+ renderHTML: (attributes)=>({
45
+ "data-caption": attributes.caption
46
+ })
40
47
  }
41
48
  };
42
49
  },
@@ -71,6 +78,9 @@ export const ImageBlock = Image.extend({
71
78
  }
72
79
  });
73
80
  },
81
+ addImageCaption: (caption)=>({ commands })=>commands.updateAttributes("imageBlock", {
82
+ caption
83
+ }),
74
84
  setImageBlockAlign: (align)=>({ commands })=>commands.updateAttributes("imageBlock", {
75
85
  align
76
86
  }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.ts"],"sourcesContent":["\"use client\";\n\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport { mergeAttributes, Range } from \"@tiptap/core\";\n\nimport { ImageBlockView } from \"./components/ImageBlockView.js\";\nimport { Image } from \"../Image/Image.js\";\n\ndeclare module \"@tiptap/core\" {\n interface Commands<ReturnType> {\n imageBlock: {\n setImageBlock: (attributes: {\n src: string;\n assetId?: string;\n }) => ReturnType;\n setImageBlockAt: (attributes: {\n src: string;\n pos: number | Range;\n assetId?: string;\n }) => ReturnType;\n setImageBlockAlign: (align: \"left\" | \"center\" | \"right\") => ReturnType;\n setImageBlockWidth: (width: number) => ReturnType;\n };\n }\n}\n\nexport const ImageBlock = Image.extend({\n name: \"imageBlock\",\n\n group: \"block\",\n\n defining: true,\n\n isolating: true,\n\n addAttributes() {\n return {\n src: {\n default: \"\",\n parseHTML: (element) => element.getAttribute(\"src\"),\n renderHTML: (attributes) => ({\n src: attributes.src,\n }),\n },\n width: {\n default: \"100%\",\n parseHTML: (element) => element.getAttribute(\"data-width\"),\n renderHTML: (attributes) => ({\n \"data-width\": attributes.width,\n }),\n },\n align: {\n default: \"center\",\n parseHTML: (element) => element.getAttribute(\"data-align\"),\n renderHTML: (attributes) => ({\n \"data-align\": attributes.align,\n }),\n },\n alt: {\n default: undefined,\n parseHTML: (element) => element.getAttribute(\"alt\"),\n renderHTML: (attributes) => ({\n alt: attributes.alt,\n }),\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'img[src*=\"tiptap.dev\"]:not([src^=\"data:\"]), img[src*=\"windows.net\"]:not([src^=\"data:\"])',\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n \"img\",\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\n ];\n },\n\n addCommands() {\n return {\n setImageBlock:\n (attrs) =>\n ({ commands }) => {\n return commands.insertContent({\n type: \"imageBlock\",\n attrs: { src: attrs.src },\n });\n },\n\n setImageBlockAt:\n (attrs) =>\n ({ commands }) => {\n return commands.insertContentAt(attrs.pos, {\n type: \"imageBlock\",\n attrs: { src: attrs.src },\n });\n },\n\n setImageBlockAlign:\n (align) =>\n ({ commands }) =>\n commands.updateAttributes(\"imageBlock\", { align }),\n\n setImageBlockWidth:\n (width) =>\n ({ commands }) =>\n commands.updateAttributes(\"imageBlock\", {\n width: `${Math.max(0, Math.min(100, width))}%`,\n }),\n };\n },\n\n addNodeView() {\n //@ts-ignore\n return ReactNodeViewRenderer(ImageBlockView);\n },\n});\n\nexport default ImageBlock;\n"],"names":["ReactNodeViewRenderer","mergeAttributes","ImageBlockView","Image","ImageBlock","extend","name","group","defining","isolating","addAttributes","src","default","parseHTML","element","getAttribute","renderHTML","attributes","width","align","alt","undefined","tag","HTMLAttributes","options","addCommands","setImageBlock","attrs","commands","insertContent","type","setImageBlockAt","insertContentAt","pos","setImageBlockAlign","updateAttributes","setImageBlockWidth","Math","max","min","addNodeView"],"mappings":"AAAA;AAEA,SAASA,qBAAqB,QAAQ,gBAAgB;AACtD,SAASC,eAAe,QAAe,eAAe;AAEtD,SAASC,cAAc,QAAQ,iCAAiC;AAChE,SAASC,KAAK,QAAQ,oBAAoB;AAoB1C,OAAO,MAAMC,aAAaD,MAAME,MAAM,CAAC;IACrCC,MAAM;IAENC,OAAO;IAEPC,UAAU;IAEVC,WAAW;IAEXC;QACE,OAAO;YACLC,KAAK;gBACHC,SAAS;gBACTC,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3BN,KAAKM,WAAWN,GAAG;oBACrB,CAAA;YACF;YACAO,OAAO;gBACLN,SAAS;gBACTC,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3B,cAAcA,WAAWC,KAAK;oBAChC,CAAA;YACF;YACAC,OAAO;gBACLP,SAAS;gBACTC,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3B,cAAcA,WAAWE,KAAK;oBAChC,CAAA;YACF;YACAC,KAAK;gBACHR,SAASS;gBACTR,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3BG,KAAKH,WAAWG,GAAG;oBACrB,CAAA;YACF;QACF;IACF;IAEAP;QACE,OAAO;YACL;gBACES,KAAK;YACP;SACD;IACH;IAEAN,YAAW,EAAEO,cAAc,EAAE;QAC3B,OAAO;YACL;YACAtB,gBAAgB,IAAI,CAACuB,OAAO,CAACD,cAAc,EAAEA;SAC9C;IACH;IAEAE;QACE,OAAO;YACLC,eACE,CAACC,QACD,CAAC,EAAEC,QAAQ,EAAE;oBACX,OAAOA,SAASC,aAAa,CAAC;wBAC5BC,MAAM;wBACNH,OAAO;4BAAEhB,KAAKgB,MAAMhB,GAAG;wBAAC;oBAC1B;gBACF;YAEFoB,iBACE,CAACJ,QACD,CAAC,EAAEC,QAAQ,EAAE;oBACX,OAAOA,SAASI,eAAe,CAACL,MAAMM,GAAG,EAAE;wBACzCH,MAAM;wBACNH,OAAO;4BAAEhB,KAAKgB,MAAMhB,GAAG;wBAAC;oBAC1B;gBACF;YAEFuB,oBACE,CAACf,QACD,CAAC,EAAES,QAAQ,EAAE,GACXA,SAASO,gBAAgB,CAAC,cAAc;wBAAEhB;oBAAM;YAEpDiB,oBACE,CAAClB,QACD,CAAC,EAAEU,QAAQ,EAAE,GACXA,SAASO,gBAAgB,CAAC,cAAc;wBACtCjB,OAAO,GAAGmB,KAAKC,GAAG,CAAC,GAAGD,KAAKE,GAAG,CAAC,KAAKrB,QAAQ,CAAC,CAAC;oBAChD;QACN;IACF;IAEAsB;QACE,YAAY;QACZ,OAAOxC,sBAAsBE;IAC/B;AACF,GAAG;AAEH,eAAeE,WAAW"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.ts"],"sourcesContent":["\"use client\";\n\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport { mergeAttributes, Range } from \"@tiptap/core\";\n\nimport { ImageBlockView } from \"./components/ImageBlockView.js\";\nimport { Image } from \"../Image/Image.js\";\n\ndeclare module \"@tiptap/core\" {\n interface Commands<ReturnType> {\n imageBlock: {\n setImageBlock: (attributes: {\n src: string;\n assetId?: string;\n }) => ReturnType;\n setImageBlockAt: (attributes: {\n src: string;\n pos: number | Range;\n assetId?: string;\n }) => ReturnType;\n setImageBlockAlign: (align: \"left\" | \"center\" | \"right\") => ReturnType;\n setImageBlockWidth: (width: number) => ReturnType;\n addImageCaption: (caption: string) => ReturnType;\n };\n }\n}\n\nexport const ImageBlock = Image.extend({\n name: \"imageBlock\",\n\n group: \"block\",\n\n defining: true,\n\n isolating: true,\n\n addAttributes() {\n return {\n src: {\n default: \"\",\n parseHTML: (element) => element.getAttribute(\"src\"),\n renderHTML: (attributes) => ({\n src: attributes.src,\n }),\n },\n width: {\n default: \"100%\",\n parseHTML: (element) => element.getAttribute(\"data-width\"),\n renderHTML: (attributes) => ({\n \"data-width\": attributes.width,\n }),\n },\n align: {\n default: \"center\",\n parseHTML: (element) => element.getAttribute(\"data-align\"),\n renderHTML: (attributes) => ({\n \"data-align\": attributes.align,\n }),\n },\n alt: {\n default: undefined,\n parseHTML: (element) => element.getAttribute(\"alt\"),\n renderHTML: (attributes) => ({\n alt: attributes.alt,\n }),\n },\n caption: {\n default: undefined,\n parseHTML: (element) => element.getAttribute(\"data-caption\"),\n renderHTML: (attributes) => ({\n \"data-caption\": attributes.caption,\n }),\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'img[src*=\"tiptap.dev\"]:not([src^=\"data:\"]), img[src*=\"windows.net\"]:not([src^=\"data:\"])',\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n \"img\",\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\n ];\n },\n\n addCommands() {\n return {\n setImageBlock:\n (attrs) =>\n ({ commands }) => {\n return commands.insertContent({\n type: \"imageBlock\",\n attrs: { src: attrs.src },\n });\n },\n\n setImageBlockAt:\n (attrs) =>\n ({ commands }) => {\n return commands.insertContentAt(attrs.pos, {\n type: \"imageBlock\",\n attrs: { src: attrs.src },\n });\n },\n addImageCaption:\n (caption) =>\n ({ commands }) =>\n commands.updateAttributes(\"imageBlock\", { caption }),\n\n setImageBlockAlign:\n (align) =>\n ({ commands }) =>\n commands.updateAttributes(\"imageBlock\", { align }),\n\n setImageBlockWidth:\n (width) =>\n ({ commands }) =>\n commands.updateAttributes(\"imageBlock\", {\n width: `${Math.max(0, Math.min(100, width))}%`,\n }),\n };\n },\n\n addNodeView() {\n //@ts-ignore\n return ReactNodeViewRenderer(ImageBlockView);\n },\n});\n\nexport default ImageBlock;\n"],"names":["ReactNodeViewRenderer","mergeAttributes","ImageBlockView","Image","ImageBlock","extend","name","group","defining","isolating","addAttributes","src","default","parseHTML","element","getAttribute","renderHTML","attributes","width","align","alt","undefined","caption","tag","HTMLAttributes","options","addCommands","setImageBlock","attrs","commands","insertContent","type","setImageBlockAt","insertContentAt","pos","addImageCaption","updateAttributes","setImageBlockAlign","setImageBlockWidth","Math","max","min","addNodeView"],"mappings":"AAAA;AAEA,SAASA,qBAAqB,QAAQ,gBAAgB;AACtD,SAASC,eAAe,QAAe,eAAe;AAEtD,SAASC,cAAc,QAAQ,iCAAiC;AAChE,SAASC,KAAK,QAAQ,oBAAoB;AAqB1C,OAAO,MAAMC,aAAaD,MAAME,MAAM,CAAC;IACrCC,MAAM;IAENC,OAAO;IAEPC,UAAU;IAEVC,WAAW;IAEXC;QACE,OAAO;YACLC,KAAK;gBACHC,SAAS;gBACTC,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3BN,KAAKM,WAAWN,GAAG;oBACrB,CAAA;YACF;YACAO,OAAO;gBACLN,SAAS;gBACTC,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3B,cAAcA,WAAWC,KAAK;oBAChC,CAAA;YACF;YACAC,OAAO;gBACLP,SAAS;gBACTC,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3B,cAAcA,WAAWE,KAAK;oBAChC,CAAA;YACF;YACAC,KAAK;gBACHR,SAASS;gBACTR,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3BG,KAAKH,WAAWG,GAAG;oBACrB,CAAA;YACF;YACAE,SAAS;gBACPV,SAASS;gBACTR,WAAW,CAACC,UAAYA,QAAQC,YAAY,CAAC;gBAC7CC,YAAY,CAACC,aAAgB,CAAA;wBAC3B,gBAAgBA,WAAWK,OAAO;oBACpC,CAAA;YACF;QACF;IACF;IAEAT;QACE,OAAO;YACL;gBACEU,KAAK;YACP;SACD;IACH;IAEAP,YAAW,EAAEQ,cAAc,EAAE;QAC3B,OAAO;YACL;YACAvB,gBAAgB,IAAI,CAACwB,OAAO,CAACD,cAAc,EAAEA;SAC9C;IACH;IAEAE;QACE,OAAO;YACLC,eACE,CAACC,QACD,CAAC,EAAEC,QAAQ,EAAE;oBACX,OAAOA,SAASC,aAAa,CAAC;wBAC5BC,MAAM;wBACNH,OAAO;4BAAEjB,KAAKiB,MAAMjB,GAAG;wBAAC;oBAC1B;gBACF;YAEFqB,iBACE,CAACJ,QACD,CAAC,EAAEC,QAAQ,EAAE;oBACX,OAAOA,SAASI,eAAe,CAACL,MAAMM,GAAG,EAAE;wBACzCH,MAAM;wBACNH,OAAO;4BAAEjB,KAAKiB,MAAMjB,GAAG;wBAAC;oBAC1B;gBACF;YACFwB,iBACE,CAACb,UACD,CAAC,EAAEO,QAAQ,EAAE,GACXA,SAASO,gBAAgB,CAAC,cAAc;wBAAEd;oBAAQ;YAEtDe,oBACE,CAAClB,QACD,CAAC,EAAEU,QAAQ,EAAE,GACXA,SAASO,gBAAgB,CAAC,cAAc;wBAAEjB;oBAAM;YAEpDmB,oBACE,CAACpB,QACD,CAAC,EAAEW,QAAQ,EAAE,GACXA,SAASO,gBAAgB,CAAC,cAAc;wBACtClB,OAAO,GAAGqB,KAAKC,GAAG,CAAC,GAAGD,KAAKE,GAAG,CAAC,KAAKvB,QAAQ,CAAC,CAAC;oBAChD;QACN;IACF;IAEAwB;QACE,YAAY;QACZ,OAAO1C,sBAAsBE;IAC/B;AACF,GAAG;AAEH,eAAeE,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImageBlockView.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAmB,MAAM,eAAe,CAAC;AACxD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,IAAI,EAAE,IAAI,GAAG;QACX,KAAK,EAAE;YACL,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;IACF,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CAC3D;AAED,eAAO,MAAM,cAAc,UAAW,mBAAmB,sBAwBxD,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"ImageBlockView.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAmB,MAAM,eAAe,CAAC;AACxD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,IAAI,EAAE,IAAI,GAAG;QACX,KAAK,EAAE;YACL,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;IACF,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CAC3D;AAED,eAAO,MAAM,cAAc,UAAW,mBAAmB,sBA+BxD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,11 +1,11 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { NodeViewWrapper } from "@tiptap/react";
3
3
  import React, { useCallback, useRef } from "react";
4
4
  import { cn } from "../../../lib/utils/index.js";
5
5
  export const ImageBlockView = (props)=>{
6
6
  const { editor, getPos, node } = props;
7
7
  const imageWrapperRef = useRef(null);
8
- const { src } = node.attrs;
8
+ const { src, caption } = node.attrs;
9
9
  const wrapperClassName = cn(node.attrs.align === "left" ? "ml-0" : "ml-auto", node.attrs.align === "right" ? "mr-0" : "mr-auto", node.attrs.align === "center" && "mx-auto");
10
10
  const onClick = useCallback(()=>{
11
11
  editor.commands.setNodeSelection(getPos());
@@ -19,15 +19,25 @@ export const ImageBlockView = (props)=>{
19
19
  style: {
20
20
  width: node.attrs.width
21
21
  },
22
- children: /*#__PURE__*/ _jsx("div", {
22
+ children: /*#__PURE__*/ _jsxs("div", {
23
23
  contentEditable: false,
24
24
  ref: imageWrapperRef,
25
- children: /*#__PURE__*/ _jsx("img", {
26
- className: "block",
27
- src: src,
28
- alt: "",
29
- onClick: onClick
30
- })
25
+ children: [
26
+ /*#__PURE__*/ _jsx("img", {
27
+ className: "block",
28
+ src: src,
29
+ alt: "",
30
+ onClick: onClick
31
+ }),
32
+ /*#__PURE__*/ _jsx("input", {
33
+ className: "w-full h-8 mb-2 placeholder-black text-sm focus:border focus:border-gray-300 text-gray-400 border-0 rounded appearance-none",
34
+ defaultValue: caption,
35
+ placeholder: "image caption placeholder",
36
+ onBlur: (e)=>{
37
+ editor.chain().focus().addImageCaption(e.target.value).run();
38
+ }
39
+ })
40
+ ]
31
41
  })
32
42
  })
33
43
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.tsx"],"sourcesContent":["import { Node } from \"@tiptap/pm/model\";\nimport { Editor, NodeViewWrapper } from \"@tiptap/react\";\nimport React, { useCallback, useRef } from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\ninterface ImageBlockViewProps {\n editor: Editor;\n getPos: () => number;\n node: Node & {\n attrs: {\n src: string;\n };\n };\n updateAttributes: (attrs: Record<string, string>) => void;\n}\n\nexport const ImageBlockView = (props: ImageBlockViewProps) => {\n const { editor, getPos, node } = props;\n const imageWrapperRef = useRef<HTMLDivElement>(null);\n const { src } = node.attrs;\n\n const wrapperClassName = cn(\n node.attrs.align === \"left\" ? \"ml-0\" : \"ml-auto\",\n node.attrs.align === \"right\" ? \"mr-0\" : \"mr-auto\",\n node.attrs.align === \"center\" && \"mx-auto\"\n );\n\n const onClick = useCallback(() => {\n editor.commands.setNodeSelection(getPos());\n }, [getPos, editor.commands]);\n\n return (\n <NodeViewWrapper>\n <div className={wrapperClassName} style={{ width: node.attrs.width }}>\n <div contentEditable={false} ref={imageWrapperRef}>\n <img className=\"block\" src={src} alt=\"\" onClick={onClick} />\n </div>\n </div>\n </NodeViewWrapper>\n );\n};\n\nexport default ImageBlockView;\n"],"names":["NodeViewWrapper","React","useCallback","useRef","cn","ImageBlockView","props","editor","getPos","node","imageWrapperRef","src","attrs","wrapperClassName","align","onClick","commands","setNodeSelection","div","className","style","width","contentEditable","ref","img","alt"],"mappings":";AACA,SAAiBA,eAAe,QAAQ,gBAAgB;AACxD,OAAOC,SAASC,WAAW,EAAEC,MAAM,QAAQ,QAAQ;AACnD,SAASC,EAAE,QAAQ,8BAA8B;AAajD,OAAO,MAAMC,iBAAiB,CAACC;IAC7B,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGH;IACjC,MAAMI,kBAAkBP,OAAuB;IAC/C,MAAM,EAAEQ,GAAG,EAAE,GAAGF,KAAKG,KAAK;IAE1B,MAAMC,mBAAmBT,GACvBK,KAAKG,KAAK,CAACE,KAAK,KAAK,SAAS,SAAS,WACvCL,KAAKG,KAAK,CAACE,KAAK,KAAK,UAAU,SAAS,WACxCL,KAAKG,KAAK,CAACE,KAAK,KAAK,YAAY;IAGnC,MAAMC,UAAUb,YAAY;QAC1BK,OAAOS,QAAQ,CAACC,gBAAgB,CAACT;IACnC,GAAG;QAACA;QAAQD,OAAOS,QAAQ;KAAC;IAE5B,qBACE,KAAChB;kBACC,cAAA,KAACkB;YAAIC,WAAWN;YAAkBO,OAAO;gBAAEC,OAAOZ,KAAKG,KAAK,CAACS,KAAK;YAAC;sBACjE,cAAA,KAACH;gBAAII,iBAAiB;gBAAOC,KAAKb;0BAChC,cAAA,KAACc;oBAAIL,WAAU;oBAAQR,KAAKA;oBAAKc,KAAI;oBAAGV,SAASA;;;;;AAK3D,EAAE;AAEF,eAAeV,eAAe"}
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.tsx"],"sourcesContent":["import { Node } from \"@tiptap/pm/model\";\nimport { Editor, NodeViewWrapper } from \"@tiptap/react\";\nimport React, { useCallback, useRef } from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\ninterface ImageBlockViewProps {\n editor: Editor;\n getPos: () => number;\n node: Node & {\n attrs: {\n src: string;\n };\n };\n updateAttributes: (attrs: Record<string, string>) => void;\n}\n\nexport const ImageBlockView = (props: ImageBlockViewProps) => {\n const { editor, getPos, node } = props;\n const imageWrapperRef = useRef<HTMLDivElement>(null);\n const { src, caption } = node.attrs;\n const wrapperClassName = cn(\n node.attrs.align === \"left\" ? \"ml-0\" : \"ml-auto\",\n node.attrs.align === \"right\" ? \"mr-0\" : \"mr-auto\",\n node.attrs.align === \"center\" && \"mx-auto\"\n );\n\n const onClick = useCallback(() => {\n editor.commands.setNodeSelection(getPos());\n }, [getPos, editor.commands]);\n\n return (\n <NodeViewWrapper>\n <div className={wrapperClassName} style={{ width: node.attrs.width }}>\n <div contentEditable={false} ref={imageWrapperRef}>\n <img className=\"block\" src={src} alt=\"\" onClick={onClick} />\n <input\n className=\"w-full h-8 mb-2 placeholder-black text-sm focus:border focus:border-gray-300 text-gray-400 border-0 rounded appearance-none\"\n defaultValue={caption}\n placeholder=\"image caption placeholder\"\n onBlur={(e) => {\n editor.chain().focus().addImageCaption(e.target.value).run();\n }}\n />\n </div>\n </div>\n </NodeViewWrapper>\n );\n};\n\nexport default ImageBlockView;\n"],"names":["NodeViewWrapper","React","useCallback","useRef","cn","ImageBlockView","props","editor","getPos","node","imageWrapperRef","src","caption","attrs","wrapperClassName","align","onClick","commands","setNodeSelection","div","className","style","width","contentEditable","ref","img","alt","input","defaultValue","placeholder","onBlur","e","chain","focus","addImageCaption","target","value","run"],"mappings":";AACA,SAAiBA,eAAe,QAAQ,gBAAgB;AACxD,OAAOC,SAASC,WAAW,EAAEC,MAAM,QAAQ,QAAQ;AACnD,SAASC,EAAE,QAAQ,8BAA8B;AAajD,OAAO,MAAMC,iBAAiB,CAACC;IAC7B,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGH;IACjC,MAAMI,kBAAkBP,OAAuB;IAC/C,MAAM,EAAEQ,GAAG,EAAEC,OAAO,EAAE,GAAGH,KAAKI,KAAK;IACnC,MAAMC,mBAAmBV,GACvBK,KAAKI,KAAK,CAACE,KAAK,KAAK,SAAS,SAAS,WACvCN,KAAKI,KAAK,CAACE,KAAK,KAAK,UAAU,SAAS,WACxCN,KAAKI,KAAK,CAACE,KAAK,KAAK,YAAY;IAGnC,MAAMC,UAAUd,YAAY;QAC1BK,OAAOU,QAAQ,CAACC,gBAAgB,CAACV;IACnC,GAAG;QAACA;QAAQD,OAAOU,QAAQ;KAAC;IAE5B,qBACE,KAACjB;kBACC,cAAA,KAACmB;YAAIC,WAAWN;YAAkBO,OAAO;gBAAEC,OAAOb,KAAKI,KAAK,CAACS,KAAK;YAAC;sBACjE,cAAA,MAACH;gBAAII,iBAAiB;gBAAOC,KAAKd;;kCAChC,KAACe;wBAAIL,WAAU;wBAAQT,KAAKA;wBAAKe,KAAI;wBAAGV,SAASA;;kCACjD,KAACW;wBACCP,WAAU;wBACVQ,cAAchB;wBACdiB,aAAY;wBACZC,QAAQ,CAACC;4BACPxB,OAAOyB,KAAK,GAAGC,KAAK,GAAGC,eAAe,CAACH,EAAEI,MAAM,CAACC,KAAK,EAAEC,GAAG;wBAC5D;;;;;;AAMZ,EAAE;AAEF,eAAehC,eAAe"}
@@ -1 +1 @@
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;AAGnC,eAAO,MAAM,MAAM,EAAE,KAAK,EAsKzB,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/SlashCommand/groups.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,eAAO,MAAM,MAAM,EAAE,KAAK,EAmLzB,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Facebook, Heading1, Heading2, Heading3, Image, Instagram, Minus, Music, Quote, Twitter, Video, Youtube } from "lucide-react";
1
+ import { Facebook, Heading1, Heading2, Heading3, Image, Instagram, Link, Minus, Music, Quote, Twitter, Video, Youtube } from "lucide-react";
2
2
  import i18next from "i18next";
3
3
  export const GROUPS = [
4
4
  {
@@ -7,7 +7,7 @@ export const GROUPS = [
7
7
  commands: [
8
8
  {
9
9
  name: "heading1",
10
- label: i18next.t("heading1") || 'Heading 1',
10
+ label: i18next.t("heading1") || "Heading 1",
11
11
  description: i18next.t("heading1Desc") || "High priority section title",
12
12
  icon: Heading1,
13
13
  aliases: [
@@ -21,7 +21,7 @@ export const GROUPS = [
21
21
  },
22
22
  {
23
23
  name: "heading2",
24
- label: i18next.t("heading2") || 'Heading 2',
24
+ label: i18next.t("heading2") || "Heading 2",
25
25
  description: i18next.t("heading2Desc") || "Medium priority section title",
26
26
  icon: Heading2,
27
27
  aliases: [
@@ -35,7 +35,7 @@ export const GROUPS = [
35
35
  },
36
36
  {
37
37
  name: "heading3",
38
- label: i18next.t("heading3") || 'Heading 3',
38
+ label: i18next.t("heading3") || "Heading 3",
39
39
  description: i18next.t("heading3Desc") || "Low priority section title",
40
40
  icon: Heading3,
41
41
  aliases: [
@@ -69,7 +69,7 @@ export const GROUPS = [
69
69
  // },
70
70
  {
71
71
  name: "blockquote",
72
- label: i18next.t("blockquote") || 'Blockquote',
72
+ label: i18next.t("blockquote") || "Blockquote",
73
73
  description: i18next.t("blockquoteDesc") || "Element for quoting",
74
74
  icon: Quote,
75
75
  action: (editor)=>{
@@ -84,7 +84,7 @@ export const GROUPS = [
84
84
  commands: [
85
85
  {
86
86
  name: "image",
87
- label: i18next.t("image") || 'Image',
87
+ label: i18next.t("image") || "Image",
88
88
  description: i18next.t("imageDesc") || "Insert an image",
89
89
  icon: Image,
90
90
  aliases: [
@@ -96,7 +96,7 @@ export const GROUPS = [
96
96
  },
97
97
  {
98
98
  name: "video",
99
- label: i18next.t("video") || 'Video',
99
+ label: i18next.t("video") || "Video",
100
100
  description: i18next.t("videoDesc") || "Insert a video",
101
101
  icon: Video,
102
102
  aliases: [
@@ -108,7 +108,7 @@ export const GROUPS = [
108
108
  },
109
109
  {
110
110
  name: "horizontalRule",
111
- label: i18next.t("horizontalRule") || 'HorizontalRule',
111
+ label: i18next.t("horizontalRule") || "HorizontalRule",
112
112
  description: i18next.t("horizontalRuleDesc") || "Insert a horizontal divider",
113
113
  icon: Minus,
114
114
  aliases: [
@@ -124,9 +124,22 @@ export const GROUPS = [
124
124
  name: "embed",
125
125
  title: "Embed",
126
126
  commands: [
127
+ {
128
+ name: "iframe",
129
+ label: i18next.t("iframe") || "Embed Link",
130
+ description: i18next.t("iframeDesc") || "Insert an Embed link",
131
+ icon: Link,
132
+ aliases: [
133
+ "iframe"
134
+ ],
135
+ shouldBeHidden: (editor)=>editor.isActive("iframe"),
136
+ action: (editor)=>{
137
+ editor.chain().focus().insertIframe().run();
138
+ }
139
+ },
127
140
  {
128
141
  name: "twitter",
129
- label: i18next.t("twitter") || 'Twitter',
142
+ label: i18next.t("twitter") || "Twitter",
130
143
  description: i18next.t("twitterDesc") || "Insert a Twitter embed",
131
144
  icon: Twitter,
132
145
  aliases: [
@@ -140,7 +153,7 @@ export const GROUPS = [
140
153
  },
141
154
  {
142
155
  name: "facebook",
143
- label: i18next.t("facebook") || 'Facebook',
156
+ label: i18next.t("facebook") || "Facebook",
144
157
  description: i18next.t("facebookDesc") || "Insert a Facebook embed",
145
158
  icon: Facebook,
146
159
  aliases: [
@@ -154,7 +167,7 @@ export const GROUPS = [
154
167
  },
155
168
  {
156
169
  name: "instagram",
157
- label: i18next.t("instagram") || 'Instagram',
170
+ label: i18next.t("instagram") || "Instagram",
158
171
  description: i18next.t("instagramDesc") || "Insert a Instagram embed",
159
172
  icon: Instagram,
160
173
  aliases: [
@@ -167,7 +180,7 @@ export const GROUPS = [
167
180
  },
168
181
  {
169
182
  name: "youtube",
170
- label: i18next.t("youtube") || 'Youtube',
183
+ label: i18next.t("youtube") || "Youtube",
171
184
  description: i18next.t("youtubeDesc") || "Insert a Youtube embed",
172
185
  icon: Youtube,
173
186
  aliases: [
@@ -180,7 +193,7 @@ export const GROUPS = [
180
193
  },
181
194
  {
182
195
  name: "tiktok",
183
- label: i18next.t("tiktok") || 'Tiktok',
196
+ label: i18next.t("tiktok") || "Tiktok",
184
197
  description: i18next.t("tiktokDesc") || "Insert a Tiktok embed",
185
198
  icon: Music,
186
199
  aliases: [
@@ -1 +1 @@
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\";\nimport i18next from \"i18next\";\n\nexport const GROUPS: Group[] = [\n {\n name: \"format\",\n title: i18next.t(\"format\") || \"Format\",\n commands: [\n {\n name: \"heading1\",\n label: i18next.t(\"heading1\") || 'Heading 1',\n description:i18next.t(\"heading1Desc\") || \"High priority section title\",\n icon: Heading1,\n aliases: [\"h1\"],\n action: (editor) => {\n editor.chain().focus().setHeading({ level: 1 }).run();\n },\n },\n {\n name: \"heading2\",\n label: i18next.t(\"heading2\") || 'Heading 2',\n description:i18next.t(\"heading2Desc\") || \"Medium priority section title\",\n icon: Heading2,\n aliases: [\"h2\"],\n action: (editor) => {\n editor.chain().focus().setHeading({ level: 2 }).run();\n },\n },\n {\n name: \"heading3\",\n label: i18next.t(\"heading3\") || 'Heading 3',\n description:i18next.t(\"heading3Desc\") || \"Low priority section title\",\n icon: Heading3,\n aliases: [\"h3\"],\n action: (editor) => {\n editor.chain().focus().setHeading({ level: 3 }).run();\n },\n },\n // {\n // name: \"bulletList\",\n // label: i18next.t(\"bulletList\") || 'Bullet List',\n // description:i18next.t(\"bulletListDesc\") || \"Unordered list of items\",\n // icon: List,\n // aliases: [\"ul\"],\n // action: (editor) => {\n // editor.chain().focus().toggleBulletList().run();\n // },\n // },\n // {\n // name: \"numberedList\",\n // label: i18next.t(\"numberedList\") || 'Numbered List',\n // description:i18next.t(\"numberedListDesc\") || \"Ordered list of items\",\n // icon: ListOrdered,\n // aliases: [\"ol\"],\n // action: (editor) => {\n // editor.chain().focus().toggleOrderedList().run();\n // },\n // },\n\n {\n name: \"blockquote\",\n label: i18next.t(\"blockquote\") || 'Blockquote',\n description:i18next.t(\"blockquoteDesc\") || \"Element for quoting\",\n icon: Quote,\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: i18next.t(\"image\") || 'Image',\n description:i18next.t(\"imageDesc\") || \"Insert an image\",\n icon: Image,\n aliases: [\"img\"],\n action: (editor) => {\n editor.chain().focus().setImageUpload(\"image\").run();\n },\n },\n {\n name: \"video\",\n label: i18next.t(\"video\") || 'Video',\n description:i18next.t(\"videoDesc\") || \"Insert a video\",\n icon: Video,\n aliases: [\"video\"],\n action: (editor) => {\n editor.chain().focus().setImageUpload(\"video\").run();\n },\n },\n\n {\n name: \"horizontalRule\",\n label: i18next.t(\"horizontalRule\") || 'HorizontalRule',\n description:i18next.t(\"horizontalRuleDesc\") || \"Insert a horizontal divider\",\n icon: Minus,\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: i18next.t(\"twitter\") || 'Twitter',\n description:i18next.t(\"twitterDesc\") || \"Insert a Twitter embed\",\n icon: Twitter,\n aliases: [\"x\", \"twitter\"],\n shouldBeHidden: (editor) => editor.isActive(\"twitter\"),\n action: (editor) => {\n editor.chain().focus().insertTwitter().run();\n },\n },\n {\n name: \"facebook\",\n label: i18next.t(\"facebook\") || 'Facebook',\n description:i18next.t(\"facebookDesc\") || \"Insert a Facebook embed\",\n icon: Facebook,\n aliases: [\"meta\", \"facebook\"],\n shouldBeHidden: (editor) => editor.isActive(\"facebook\"),\n action: (editor) => {\n editor.chain().focus().insertFacebook().run();\n },\n },\n {\n name: \"instagram\",\n label: i18next.t(\"instagram\") || 'Instagram',\n description:i18next.t(\"instagramDesc\") || \"Insert a Instagram embed\",\n icon: Instagram,\n aliases: [\"instagram\"],\n shouldBeHidden: (editor) => editor.isActive(\"instagram\"),\n action: (editor) => {\n editor.chain().focus().insertInstagram().run();\n },\n },\n {\n name: \"youtube\",\n label: i18next.t(\"youtube\") || 'Youtube',\n description:i18next.t(\"youtubeDesc\") || \"Insert a Youtube embed\",\n icon: Youtube,\n aliases: [\"youtube\"],\n shouldBeHidden: (editor) => editor.isActive(\"youtube\"),\n action: (editor) => {\n editor.chain().focus().insertYoutube().run();\n },\n },\n\n {\n name: \"tiktok\",\n label: i18next.t(\"tiktok\") || 'Tiktok',\n description:i18next.t(\"tiktokDesc\") || \"Insert a Tiktok embed\",\n icon: Music,\n aliases: [\"tiktok\"],\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","Minus","Music","Quote","Twitter","Video","Youtube","i18next","GROUPS","name","title","t","commands","label","description","icon","aliases","action","editor","chain","focus","setHeading","level","run","setBlockquote","setImageUpload","setHorizontalRule","shouldBeHidden","isActive","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 Link,\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\";\nimport i18next from \"i18next\";\n\nexport const GROUPS: Group[] = [\n {\n name: \"format\",\n title: i18next.t(\"format\") || \"Format\",\n commands: [\n {\n name: \"heading1\",\n label: i18next.t(\"heading1\") || \"Heading 1\",\n description: i18next.t(\"heading1Desc\") || \"High priority section title\",\n icon: Heading1,\n aliases: [\"h1\"],\n action: (editor) => {\n editor.chain().focus().setHeading({ level: 1 }).run();\n },\n },\n {\n name: \"heading2\",\n label: i18next.t(\"heading2\") || \"Heading 2\",\n description:\n i18next.t(\"heading2Desc\") || \"Medium priority section title\",\n icon: Heading2,\n aliases: [\"h2\"],\n action: (editor) => {\n editor.chain().focus().setHeading({ level: 2 }).run();\n },\n },\n {\n name: \"heading3\",\n label: i18next.t(\"heading3\") || \"Heading 3\",\n description: i18next.t(\"heading3Desc\") || \"Low priority section title\",\n icon: Heading3,\n aliases: [\"h3\"],\n action: (editor) => {\n editor.chain().focus().setHeading({ level: 3 }).run();\n },\n },\n // {\n // name: \"bulletList\",\n // label: i18next.t(\"bulletList\") || 'Bullet List',\n // description:i18next.t(\"bulletListDesc\") || \"Unordered list of items\",\n // icon: List,\n // aliases: [\"ul\"],\n // action: (editor) => {\n // editor.chain().focus().toggleBulletList().run();\n // },\n // },\n // {\n // name: \"numberedList\",\n // label: i18next.t(\"numberedList\") || 'Numbered List',\n // description:i18next.t(\"numberedListDesc\") || \"Ordered list of items\",\n // icon: ListOrdered,\n // aliases: [\"ol\"],\n // action: (editor) => {\n // editor.chain().focus().toggleOrderedList().run();\n // },\n // },\n\n {\n name: \"blockquote\",\n label: i18next.t(\"blockquote\") || \"Blockquote\",\n description: i18next.t(\"blockquoteDesc\") || \"Element for quoting\",\n icon: Quote,\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: i18next.t(\"image\") || \"Image\",\n description: i18next.t(\"imageDesc\") || \"Insert an image\",\n icon: Image,\n aliases: [\"img\"],\n action: (editor) => {\n editor.chain().focus().setImageUpload(\"image\").run();\n },\n },\n {\n name: \"video\",\n label: i18next.t(\"video\") || \"Video\",\n description: i18next.t(\"videoDesc\") || \"Insert a video\",\n icon: Video,\n aliases: [\"video\"],\n action: (editor) => {\n editor.chain().focus().setImageUpload(\"video\").run();\n },\n },\n\n {\n name: \"horizontalRule\",\n label: i18next.t(\"horizontalRule\") || \"HorizontalRule\",\n description:\n i18next.t(\"horizontalRuleDesc\") || \"Insert a horizontal divider\",\n icon: Minus,\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: \"iframe\",\n label: i18next.t(\"iframe\") || \"Embed Link\",\n description: i18next.t(\"iframeDesc\") || \"Insert an Embed link\",\n icon: Link,\n aliases: [\"iframe\"],\n shouldBeHidden: (editor) => editor.isActive(\"iframe\"),\n action: (editor) => {\n editor.chain().focus().insertIframe().run();\n },\n },\n {\n name: \"twitter\",\n label: i18next.t(\"twitter\") || \"Twitter\",\n description: i18next.t(\"twitterDesc\") || \"Insert a Twitter embed\",\n icon: Twitter,\n aliases: [\"x\", \"twitter\"],\n shouldBeHidden: (editor) => editor.isActive(\"twitter\"),\n action: (editor) => {\n editor.chain().focus().insertTwitter().run();\n },\n },\n {\n name: \"facebook\",\n label: i18next.t(\"facebook\") || \"Facebook\",\n description: i18next.t(\"facebookDesc\") || \"Insert a Facebook embed\",\n icon: Facebook,\n aliases: [\"meta\", \"facebook\"],\n shouldBeHidden: (editor) => editor.isActive(\"facebook\"),\n action: (editor) => {\n editor.chain().focus().insertFacebook().run();\n },\n },\n {\n name: \"instagram\",\n label: i18next.t(\"instagram\") || \"Instagram\",\n description: i18next.t(\"instagramDesc\") || \"Insert a Instagram embed\",\n icon: Instagram,\n aliases: [\"instagram\"],\n shouldBeHidden: (editor) => editor.isActive(\"instagram\"),\n action: (editor) => {\n editor.chain().focus().insertInstagram().run();\n },\n },\n {\n name: \"youtube\",\n label: i18next.t(\"youtube\") || \"Youtube\",\n description: i18next.t(\"youtubeDesc\") || \"Insert a Youtube embed\",\n icon: Youtube,\n aliases: [\"youtube\"],\n shouldBeHidden: (editor) => editor.isActive(\"youtube\"),\n action: (editor) => {\n editor.chain().focus().insertYoutube().run();\n },\n },\n\n {\n name: \"tiktok\",\n label: i18next.t(\"tiktok\") || \"Tiktok\",\n description: i18next.t(\"tiktokDesc\") || \"Insert a Tiktok embed\",\n icon: Music,\n aliases: [\"tiktok\"],\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","Link","Minus","Music","Quote","Twitter","Video","Youtube","i18next","GROUPS","name","title","t","commands","label","description","icon","aliases","action","editor","chain","focus","setHeading","level","run","setBlockquote","setImageUpload","setHorizontalRule","shouldBeHidden","isActive","insertIframe","insertTwitter","insertFacebook","insertInstagram","insertYoutube","insertTiktok"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SocialMediaEmbedServerside.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B,4BAA6B,GAAG,gCActE,CAAC"}
1
+ {"version":3,"file":"SocialMediaEmbedServerside.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,0BAA0B,4BAA6B,GAAG,gCAetE,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { NodeViewContent, NodeViewWrapper } from "@tiptap/react";
2
3
  import { cn } from "../../lib/utils/index.js";
3
4
  export const SocialMediaEmbedServerside = ({ children, className })=>{
4
- return /*#__PURE__*/ _jsx("div", {
5
+ return /*#__PURE__*/ _jsx(NodeViewWrapper, {
5
6
  className: cn("react-component", className),
6
- children: /*#__PURE__*/ _jsx("div", {
7
+ children: /*#__PURE__*/ _jsx(NodeViewContent, {
8
+ contentEditable: "false",
7
9
  className: "socialMediaContainer",
8
10
  children: /*#__PURE__*/ _jsx("div", {
9
11
  style: {
@@ -12,6 +14,7 @@ export const SocialMediaEmbedServerside = ({ children, className })=>{
12
14
  },
13
15
  draggable: "true",
14
16
  "data-drag-handle": "",
17
+ contentEditable: "false",
15
18
  children: children
16
19
  })
17
20
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.tsx"],"sourcesContent":["import { cn } from \"../../lib/utils/index.js\";\n\nexport const SocialMediaEmbedServerside = ({ children, className }: any) => {\n return (\n <div className={cn(\"react-component\", className)}>\n <div className=\"socialMediaContainer\">\n <div\n style={{ display: \"flex\", justifyContent: \"center\" }}\n draggable=\"true\"\n data-drag-handle=\"\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n};\n"],"names":["cn","SocialMediaEmbedServerside","children","className","div","style","display","justifyContent","draggable","data-drag-handle"],"mappings":";AAAA,SAASA,EAAE,QAAQ,2BAA2B;AAE9C,OAAO,MAAMC,6BAA6B,CAAC,EAAEC,QAAQ,EAAEC,SAAS,EAAO;IACrE,qBACE,KAACC;QAAID,WAAWH,GAAG,mBAAmBG;kBACpC,cAAA,KAACC;YAAID,WAAU;sBACb,cAAA,KAACC;gBACCC,OAAO;oBAAEC,SAAS;oBAAQC,gBAAgB;gBAAS;gBACnDC,WAAU;gBACVC,oBAAiB;0BAEhBP;;;;AAKX,EAAE"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.tsx"],"sourcesContent":["import { NodeViewContent, NodeViewWrapper } from \"@tiptap/react\";\nimport { cn } from \"../../lib/utils/index.js\";\n\nexport const SocialMediaEmbedServerside = ({ children, className }: any) => {\n return (\n <NodeViewWrapper className={cn(\"react-component\", className)}>\n <NodeViewContent contentEditable=\"false\" className=\"socialMediaContainer\">\n <div\n style={{ display: \"flex\", justifyContent: \"center\" }}\n draggable=\"true\"\n data-drag-handle=\"\"\n contentEditable=\"false\"\n >\n {children}\n </div>\n </NodeViewContent>\n </NodeViewWrapper>\n );\n};\n"],"names":["NodeViewContent","NodeViewWrapper","cn","SocialMediaEmbedServerside","children","className","contentEditable","div","style","display","justifyContent","draggable","data-drag-handle"],"mappings":";AAAA,SAASA,eAAe,EAAEC,eAAe,QAAQ,gBAAgB;AACjE,SAASC,EAAE,QAAQ,2BAA2B;AAE9C,OAAO,MAAMC,6BAA6B,CAAC,EAAEC,QAAQ,EAAEC,SAAS,EAAO;IACrE,qBACE,KAACJ;QAAgBI,WAAWH,GAAG,mBAAmBG;kBAChD,cAAA,KAACL;YAAgBM,iBAAgB;YAAQD,WAAU;sBACjD,cAAA,KAACE;gBACCC,OAAO;oBAAEC,SAAS;oBAAQC,gBAAgB;gBAAS;gBACnDC,WAAU;gBACVC,oBAAiB;gBACjBN,iBAAgB;0BAEfF;;;;AAKX,EAAE"}
@@ -2,6 +2,6 @@ import { openAssetHQType } from "../types.js";
2
2
  interface ExtensionKitProps {
3
3
  openAssetHQHandler: openAssetHQType;
4
4
  }
5
- export declare const ExtensionKit: ({ openAssetHQHandler, }: ExtensionKitProps) => (import("@tiptap/core").Extension<any, any> | import("@tiptap/core").Node<any, any> | import("@tiptap/core").Mark<import("@tiptap/extension-subscript").SubscriptExtensionOptions, any>)[];
5
+ export declare const ExtensionKit: ({ openAssetHQHandler }: ExtensionKitProps) => (import("@tiptap/core").Extension<any, any> | import("@tiptap/core").Node<any, any> | import("@tiptap/core").Mark<import("@tiptap/extension-subscript").SubscriptExtensionOptions, any>)[];
6
6
  export default ExtensionKit;
7
7
  //# 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":"AA8CA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,UAAU,iBAAiB;IACzB,kBAAkB,EAAE,eAAe,CAAC;CACrC;AAGD,eAAO,MAAM,YAAY,4BAEtB,iBAAiB,+LA4GjB,CAAC;AAEJ,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"extension-kit.d.ts","sourceRoot":"","sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"names":[],"mappings":"AA8CA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,UAAU,iBAAiB;IACzB,kBAAkB,EAAE,eAAe,CAAC;CACrC;AAED,eAAO,MAAM,YAAY,2BAA4B,iBAAiB,+LA4GrE,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -3,6 +3,7 @@ import { ImageUpload } from "./ImageUpload/ImageUpload.js";
3
3
  import History from "@tiptap/extension-history";
4
4
  import { Markdown } from "tiptap-markdown";
5
5
  import API from "../lib/api.js";
6
+ import { Iframe } from "./Iframe/iframe.js";
6
7
  export const ExtensionKit = ({ openAssetHQHandler })=>[
7
8
  Markdown,
8
9
  Document,
@@ -118,6 +119,7 @@ export const ExtensionKit = ({ openAssetHQHandler })=>[
118
119
  Linkedin,
119
120
  Youtube,
120
121
  InsideLinks,
122
+ Iframe,
121
123
  AICommand
122
124
  ];
123
125
  export default ExtensionKit;
@@ -1 +1 @@
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 { 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\";\nimport i18next from \"i18next\";\n\ninterface ExtensionKitProps {\n openAssetHQHandler: openAssetHQType;\n}\n\n\nexport const ExtensionKit = ({\n openAssetHQHandler,\n}: ExtensionKitProps) => [\n\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 AICommand,\n ];\n\nexport default ExtensionKit;\n"],"names":["AICommand","AudioBlock","BlockquoteFigure","CharacterCount","Color","Document","Dropcursor","Facebook","Figcaption","FileHandler","Focus","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","ImageUpload","History","Markdown","API","ExtensionKit","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":"AAAA,SACEA,SAAS,EACTC,UAAU,EACVC,gBAAgB,EAChBC,cAAc,EACdC,KAAK,EACLC,QAAQ,EACRC,UAAU,EACVC,QAAQ,EACRC,UAAU,EACVC,WAAW,EACXC,KAAK,EAELC,QAAQ,EACRC,OAAO,EACPC,SAAS,EACTC,cAAc,EACdC,UAAU,EACVC,WAAW,EACXC,SAAS,EACTC,IAAI,EACJC,QAAQ,EACRC,WAAW,EACXC,SAAS,EACTC,YAAY,EACZC,UAAU,EACVC,SAAS,EACTC,WAAW,EACXC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,SAAS,EACTC,MAAM,EACNC,YAAY,EACZC,OAAO,EACPC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,OAAO,QACF,aAAa;AAEpB,SAASC,WAAW,QAAQ,+BAA+B;AAE3D,OAAOC,aAAa,4BAA4B;AAChD,SAASC,QAAQ,QAAQ,kBAAkB;AAC3C,OAAOC,SAAS,gBAAgB;AAShC,OAAO,MAAMC,eAAe,CAAC,EAC3BC,kBAAkB,EACA,GAAK;QAErBH;QACAlC;QACAsB;QACAD,SAASiB,SAAS,CAAC;YACjBC,QAAQ;QACV;QACAvB;QACAT,QAAQ+B,SAAS,CAAC;YAChBE,QAAQ;gBAAC;gBAAG;gBAAG;gBAAG;gBAAG;gBAAG;aAAE;QAC5B;QACA/B;QACAS,WAAWoB,SAAS,CAAC;YACnBG,UAAU;YACVC,YAAY;YACZC,SAAS;YACTC,gBAAgB;YAChBC,YAAY;YACZC,SAAS;YACTC,WAAW;QACb;QACAvB;QACAlB;QACA,cAAc;QACdP;QACA2B;QACAb,KAAKyB,SAAS,CAAC;YACbU,aAAa;QACf;QACAxC,UAAU8B,SAAS,CAAC;YAAEW,YAAY;QAAK;QACvCpB;QACA/B,eAAewC,SAAS,CAAC;YAAEY,OAAO;QAAM;QACxClB,YAAYM,SAAS,CAAC;YACpBD;QACF;QACA3B;QACAoB;QACAlC;QACAQ,YAAYkC,SAAS,CAAC;YACpBa,kBAAkB;gBAAC;gBAAa;gBAAc;gBAAa;aAAa;YACxEC,QAAQ,CAACC,eAAeC,OAAOC;gBAC7B,MAAMC,OAAOF,KAAK,CAAC,EAAE;gBACpB,CAAA;oBACCjB,mBACE,CAACoB;wBACCJ,cACGK,KAAK,GACLC,eAAe,CAAC;4BAAEJ;4BAAKK,KAAKH,MAAMI,OAAO;wBAAC,GAC1CC,KAAK,GACLC,GAAG;oBACR,GACAP,MACA;gBAEJ,CAAA;YACF;YACAQ,SAAS,CAACX,eAAeC;gBACvBA,MAAMW,OAAO,CAAC;oBACZ,MAAMC,MAAM,MAAM/B,IAAIgC,WAAW;oBAEjC,OAAOd,cACJK,KAAK,GACLC,eAAe,CAAC;wBACfJ,KAAKF,cAAce,KAAK,CAACC,SAAS,CAACC,MAAM;wBACzCV,KAAKM;oBACP,GACCJ,KAAK,GACLC,GAAG;gBACR;YACF;QACF;QACA,oBAAoB;QACpB,2BAA2B;QAC3B,iCAAiC;QACjC,MAAM;QACNxC,UAAUgD,MAAM,CAAC;YACfC;gBACE,OAAO,CAAC;YACV;QACF,GAAGlC,SAAS,CAAC;YACXmC,OAAO;gBAAC;gBAAW;aAAY;QACjC;QACAtD;QACAC;QACAQ;QACAb,YAAYuB,SAAS,CAAC;YACpBoC,iBAAiB;YACjBC,iBAAiB;YACjBC,aAAa,IAAM;QACrB;QACA3D;QACAZ;QACAF;QACAN;QACAI,WAAWqC,SAAS,CAAC;YACnBuC,OAAO;YACPC,OAAO;QACT;QACA7C;QACAN;QACAF;QACAb;QACAV;QACAY;QACAiB;QACApB;QACAhB;KACD,CAAC;AAEJ,eAAeyC,aAAa"}
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 { 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\";\nimport i18next from \"i18next\";\nimport { Iframe } from \"./Iframe/iframe.js\";\n\ninterface ExtensionKitProps {\n openAssetHQHandler: openAssetHQType;\n}\n\nexport const ExtensionKit = ({ openAssetHQHandler }: 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 Iframe,\n AICommand,\n];\n\nexport default ExtensionKit;\n"],"names":["AICommand","AudioBlock","BlockquoteFigure","CharacterCount","Color","Document","Dropcursor","Facebook","Figcaption","FileHandler","Focus","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","ImageUpload","History","Markdown","API","Iframe","ExtensionKit","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":"ContentEmbedSupport.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/ContentEmbedSupport.tsx"],"names":[],"mappings":"AAqBA,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE;;CAAA,+BAuH3C"}
1
+ {"version":3,"file":"ContentEmbedSupport.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/ContentEmbedSupport.tsx"],"names":[],"mappings":"AAgJA,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE;;CAAA,+BAwB3C"}