payload-richtext-tiptap 0.0.125 → 0.0.127

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 (100) hide show
  1. package/dist/src/body/StandardArticle.d.ts +1 -1
  2. package/dist/src/body/StandardArticle.d.ts.map +1 -1
  3. package/dist/src/body/StandardArticle.js +1 -1
  4. package/dist/src/body/StandardArticle.js.map +1 -1
  5. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/insideLinks.d.ts +2 -2
  6. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/insideLinks.d.ts.map +1 -1
  7. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/insideLinks.js +121 -21
  8. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/insideLinks.js.map +1 -1
  9. package/dist/src/fields/TiptapEditor/extensions/Link/Link.d.ts.map +1 -1
  10. package/dist/src/fields/TiptapEditor/extensions/Link/Link.js +25 -1
  11. package/dist/src/fields/TiptapEditor/extensions/Link/Link.js.map +1 -1
  12. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.d.ts +2 -2
  13. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.d.ts.map +1 -1
  14. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.js +44 -14
  15. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.js.map +1 -1
  16. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/instagram.d.ts +2 -2
  17. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/instagram.d.ts.map +1 -1
  18. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/instagram.js +64 -25
  19. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/instagram.js.map +1 -1
  20. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/tiktok.d.ts +2 -2
  21. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/tiktok.d.ts.map +1 -1
  22. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/tiktok.js +63 -24
  23. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/tiktok.js.map +1 -1
  24. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/twitter.d.ts +2 -2
  25. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/twitter.d.ts.map +1 -1
  26. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/twitter.js +56 -16
  27. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/twitter.js.map +1 -1
  28. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/youtube.d.ts +2 -2
  29. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/youtube.d.ts.map +1 -1
  30. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/youtube.js +64 -14
  31. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/youtube.js.map +1 -1
  32. package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts +1 -1
  33. package/dist/src/fields/TiptapEditor/lib/extract.d.ts +1 -1
  34. package/dist/src/fields/TiptapEditor/lib/extract.d.ts.map +1 -1
  35. package/dist/src/fields/TiptapEditor/lib/extract.js +14 -12
  36. package/dist/src/fields/TiptapEditor/lib/extract.js.map +1 -1
  37. package/dist/src/fonts/font.ar.d.ts +4 -0
  38. package/dist/src/fonts/font.ar.d.ts.map +1 -0
  39. package/dist/src/fonts/font.en.d.ts +4 -0
  40. package/dist/src/fonts/font.fa.d.ts +4 -0
  41. package/dist/src/fonts/font.fa.d.ts.map +1 -0
  42. package/dist/src/fonts/font.ps.d.ts +4 -0
  43. package/dist/src/fonts/font.ps.d.ts.map +1 -0
  44. package/dist/src/fonts/font.ur.d.ts +4 -0
  45. package/dist/src/fonts/font.ur.d.ts.map +1 -0
  46. package/dist/src/mobile.css +1 -0
  47. package/dist/tsconfig.tsbuildinfo +1 -1
  48. package/package.json +3 -3
  49. package/dist/src/fonts/fonts/arima/Arima-Bold.ttf +0 -0
  50. package/dist/src/fonts/fonts/arima/Arima-ExtraLight.ttf +0 -0
  51. package/dist/src/fonts/fonts/arima/Arima-Light.ttf +0 -0
  52. package/dist/src/fonts/fonts/arima/Arima-Medium.ttf +0 -0
  53. package/dist/src/fonts/fonts/arima/Arima-Regular.ttf +0 -0
  54. package/dist/src/fonts/fonts/arima/Arima-SemiBold.ttf +0 -0
  55. package/dist/src/fonts/fonts/arima/Arima-Thin.ttf +0 -0
  56. package/dist/src/fonts/fonts/libre/LibreBodoni-Bold.ttf +0 -0
  57. package/dist/src/fonts/fonts/libre/LibreBodoni-BoldItalic.ttf +0 -0
  58. package/dist/src/fonts/fonts/libre/LibreBodoni-Italic.ttf +0 -0
  59. package/dist/src/fonts/fonts/libre/LibreBodoni-Medium.ttf +0 -0
  60. package/dist/src/fonts/fonts/libre/LibreBodoni-MediumItalic.ttf +0 -0
  61. package/dist/src/fonts/fonts/libre/LibreBodoni-Regular.ttf +0 -0
  62. package/dist/src/fonts/fonts/libre/LibreBodoni-SemiBold.ttf +0 -0
  63. package/dist/src/fonts/fonts/libre/LibreBodoni-SemiBoldItalic.ttf +0 -0
  64. package/dist/src/fonts/fonts/notoserif/NotoSerif-Bold.ttf +0 -0
  65. package/dist/src/fonts/fonts/notoserif/NotoSerif-BoldItalic.ttf +0 -0
  66. package/dist/src/fonts/fonts/notoserif/NotoSerif-ExtraBold.ttf +0 -0
  67. package/dist/src/fonts/fonts/notoserif/NotoSerif-ExtraBoldItalic.ttf +0 -0
  68. package/dist/src/fonts/fonts/notoserif/NotoSerif-ExtraLight.ttf +0 -0
  69. package/dist/src/fonts/fonts/notoserif/NotoSerif-ExtraLightItalic.ttf +0 -0
  70. package/dist/src/fonts/fonts/notoserif/NotoSerif-Italic.ttf +0 -0
  71. package/dist/src/fonts/fonts/notoserif/NotoSerif-Light.ttf +0 -0
  72. package/dist/src/fonts/fonts/notoserif/NotoSerif-LightItalic.ttf +0 -0
  73. package/dist/src/fonts/fonts/notoserif/NotoSerif-Medium.ttf +0 -0
  74. package/dist/src/fonts/fonts/notoserif/NotoSerif-MediumItalic.ttf +0 -0
  75. package/dist/src/fonts/fonts/notoserif/NotoSerif-Regular.ttf +0 -0
  76. package/dist/src/fonts/fonts/notoserif/NotoSerif-SemiBold.ttf +0 -0
  77. package/dist/src/fonts/fonts/notoserif/NotoSerif-SemiBoldItalic.ttf +0 -0
  78. package/dist/src/fonts/fonts/notoserif/NotoSerif-Thin.ttf +0 -0
  79. package/dist/src/fonts/fonts/notoserif/NotoSerif-ThinItalic.ttf +0 -0
  80. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-Black.ttf +0 -0
  81. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-BlackItalic.ttf +0 -0
  82. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-Bold.ttf +0 -0
  83. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-BoldItalic.ttf +0 -0
  84. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-ExtraBold.ttf +0 -0
  85. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-ExtraBoldItalic.ttf +0 -0
  86. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-Italic.ttf +0 -0
  87. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-Medium.ttf +0 -0
  88. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-MediumItalic.ttf +0 -0
  89. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-Regular.ttf +0 -0
  90. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-SemiBold.ttf +0 -0
  91. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-SemiBoldItalic.ttf +0 -0
  92. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-Black.ttf +0 -0
  93. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-Bold.ttf +0 -0
  94. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-ExtraBold.ttf +0 -0
  95. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-ExtraLight.ttf +0 -0
  96. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-Light.ttf +0 -0
  97. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-Medium.ttf +0 -0
  98. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-Regular.ttf +0 -0
  99. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-SemiBold.ttf +0 -0
  100. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-Thin.ttf +0 -0
@@ -2,5 +2,5 @@ export declare function isRTL(locale: string): boolean;
2
2
  export declare const StandardArticle: ({ body, locale }: {
3
3
  body: any;
4
4
  locale: any;
5
- }) => import("react").JSX.Element;
5
+ }) => Promise<import("react").JSX.Element>;
6
6
  //# sourceMappingURL=StandardArticle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StandardArticle.d.ts","sourceRoot":"","sources":["../../../src/body/StandardArticle.tsx"],"names":[],"mappings":"AAQA,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,WAanC;AAkBD,eAAO,MAAM,eAAe;;;iCAsD3B,CAAA"}
1
+ {"version":3,"file":"StandardArticle.d.ts","sourceRoot":"","sources":["../../../src/body/StandardArticle.tsx"],"names":[],"mappings":"AAQA,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,WAanC;AAkBD,eAAO,MAAM,eAAe;;;0CAsD3B,CAAA"}
@@ -23,7 +23,7 @@ const localFonts = {
23
23
  ps: ps
24
24
  };
25
25
  // console.log("LCOA", localFonts)
26
- export const StandardArticle = ({ body, locale })=>{
26
+ export const StandardArticle = async ({ body, locale })=>{
27
27
  const dir = isRTL(locale) ? 'rtl' : 'ltr';
28
28
  let fonts;
29
29
  try {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/body/StandardArticle.tsx"],"sourcesContent":["'use client'\nimport clsx from \"clsx\";\nimport { NextFontWithVariable } from \"next/dist/compiled/@next/font\";\n// import '../styles/globals.css';\nimport { ArticleBody } from \"./ArticleBody.js\";\n\n// Font files can be colocated inside of `pages`\n\nexport function isRTL(locale: string) {\n if (\n locale.startsWith('ar') ||\n locale.startsWith('fa') ||\n locale.startsWith('ur') ||\n locale.startsWith('ps') ||\n locale.startsWith('he') ||\n locale.startsWith('ui')\n ) {\n return true;\n }\n return false;\n\n}\n\nimport en from '../fonts/font.en.js'\nimport ar from '../fonts/font.ar.js'\nimport fa from '../fonts/font.fa.js'\nimport ur from '../fonts/font.ur.js'\nimport ps from '../fonts/font.ps.js'\nconst localFonts = {\n en: en,\n ar: ar,\n fa: fa,\n ur: ur,\n ps: ps,\n}\n\n// console.log(\"LCOA\", localFonts)\n\n\nexport const StandardArticle = ({ body, locale }) => {\n const dir = isRTL(locale) ? 'rtl' : 'ltr';\n let fonts;\n try {\n if (['en', 'ar', 'fa', 'ur', 'ps'].includes(locale)) {\n fonts = localFonts[locale] as NextFontWithVariable[];\n } else {\n fonts = localFonts?.en as NextFontWithVariable[];\n }\n } catch {\n fonts = localFonts?.en as NextFontWithVariable[];\n }\n return (\n <html dir={dir} lang={locale}>\n <head>\n\n <script src=\"https://cdn.tailwindcss.com\"></script>\n <link href=\"https://cdn.jsdelivr.net/npm/payload-richtext-tiptap/dist/src/globals.css\" rel=\"stylesheet\" />\n <link href=\"https://cdn.jsdelivr.net/npm/payload-richtext-tiptap/dist/src/article-custom.css\" rel=\"stylesheet\" />\n\n </head>\n\n <body\n className={clsx(\n 'w-full overflow-x-hidden',\n // fonts.map(f => f.variable).join(' '),\n // fonts[0].className,\n )}\n >\n <main\n id=\"article-standard-wrapper\"\n className=\"min-h-fit xl:min-h-[100vh] pt-10 pb-6 md:pb-9 lg:pb-12 xl:pb-20\"\n >\n\n <div className=\"flex flex-col gap-6 md:gap-9 xl:gap-12 items-center mx-auto mt-8\">\n {/* Article Content */}\n <section className=\"w-full flex justify-center\">\n <div className=\"w-full max-w-full\">\n <div className=\"w-full flex flex-row justify-center gap-6 overflow-hidden pt-5\">\n <ArticleBody\n body={body}\n />\n </div>\n </div>\n </section>\n\n </div>\n </main>\n <script src=\"https://vjs.zencdn.net/8.16.1/video.min.js\"></script>\n\n </body>\n </html>\n\n )\n}"],"names":["clsx","ArticleBody","isRTL","locale","startsWith","en","ar","fa","ur","ps","localFonts","StandardArticle","body","dir","fonts","includes","html","lang","head","script","src","link","href","rel","className","main","id","div","section"],"mappings":"AAAA;;AACA,OAAOA,UAAU,OAAO;AAExB,kCAAkC;AAClC,SAASC,WAAW,QAAQ,mBAAmB;AAE/C,gDAAgD;AAEhD,OAAO,SAASC,MAAMC,MAAc;IAChC,IACIA,OAAOC,UAAU,CAAC,SAClBD,OAAOC,UAAU,CAAC,SAClBD,OAAOC,UAAU,CAAC,SAClBD,OAAOC,UAAU,CAAC,SAClBD,OAAOC,UAAU,CAAC,SAClBD,OAAOC,UAAU,CAAC,OACpB;QACE,OAAO;IACX;IACA,OAAO;AAEX;AAEA,OAAOC,QAAQ,sBAAqB;AACpC,OAAOC,QAAQ,sBAAqB;AACpC,OAAOC,QAAQ,sBAAqB;AACpC,OAAOC,QAAQ,sBAAqB;AACpC,OAAOC,QAAQ,sBAAqB;AACpC,MAAMC,aAAa;IACfL,IAAIA;IACJC,IAAIA;IACJC,IAAIA;IACJC,IAAIA;IACJC,IAAIA;AACR;AAEA,kCAAkC;AAGlC,OAAO,MAAME,kBAAkB,CAAC,EAAEC,IAAI,EAAET,MAAM,EAAE;IAC5C,MAAMU,MAAMX,MAAMC,UAAU,QAAQ;IACpC,IAAIW;IACJ,IAAI;QACA,IAAI;YAAC;YAAM;YAAM;YAAM;YAAM;SAAK,CAACC,QAAQ,CAACZ,SAAS;YACjDW,QAAQJ,UAAU,CAACP,OAAO;QAC9B,OAAO;YACHW,QAAQJ,YAAYL;QACxB;IACJ,EAAE,OAAM;QACJS,QAAQJ,YAAYL;IACxB;IACA,qBACI,MAACW;QAAKH,KAAKA;QAAKI,MAAMd;;0BAClB,MAACe;;kCAEG,KAACC;wBAAOC,KAAI;;kCACZ,KAACC;wBAAKC,MAAK;wBAA4EC,KAAI;;kCAC3F,KAACF;wBAAKC,MAAK;wBAAmFC,KAAI;;;;0BAItG,MAACX;gBACGY,WAAWxB,KACP;;kCAKJ,KAACyB;wBACGC,IAAG;wBACHF,WAAU;kCAGV,cAAA,KAACG;4BAAIH,WAAU;sCAEX,cAAA,KAACI;gCAAQJ,WAAU;0CACf,cAAA,KAACG;oCAAIH,WAAU;8CACX,cAAA,KAACG;wCAAIH,WAAU;kDACX,cAAA,KAACvB;4CACGW,MAAMA;;;;;;;kCAQ9B,KAACO;wBAAOC,KAAI;;;;;;AAM5B,EAAC"}
1
+ {"version":3,"sources":["../../../src/body/StandardArticle.tsx"],"sourcesContent":["'use client'\nimport clsx from \"clsx\";\nimport { NextFontWithVariable } from \"next/dist/compiled/@next/font\";\n// import '../styles/globals.css';\nimport { ArticleBody } from \"./ArticleBody.js\";\n\n// Font files can be colocated inside of `pages`\n\nexport function isRTL(locale: string) {\n if (\n locale.startsWith('ar') ||\n locale.startsWith('fa') ||\n locale.startsWith('ur') ||\n locale.startsWith('ps') ||\n locale.startsWith('he') ||\n locale.startsWith('ui')\n ) {\n return true;\n }\n return false;\n\n}\n\nimport en from '../fonts/font.en.js'\nimport ar from '../fonts/font.ar.js'\nimport fa from '../fonts/font.fa.js'\nimport ur from '../fonts/font.ur.js'\nimport ps from '../fonts/font.ps.js'\nconst localFonts = {\n en: en,\n ar: ar,\n fa: fa,\n ur: ur,\n ps: ps,\n}\n\n// console.log(\"LCOA\", localFonts)\n\n\nexport const StandardArticle = async ({ body, locale }) => {\n const dir = isRTL(locale) ? 'rtl' : 'ltr';\n let fonts;\n try {\n if (['en', 'ar', 'fa', 'ur', 'ps'].includes(locale)) {\n fonts = localFonts[locale] as NextFontWithVariable[];\n } else {\n fonts = localFonts?.en as NextFontWithVariable[];\n }\n } catch {\n fonts = localFonts?.en as NextFontWithVariable[];\n }\n return (\n <html dir={dir} lang={locale}>\n <head>\n\n <script src=\"https://cdn.tailwindcss.com\"></script>\n <link href=\"https://cdn.jsdelivr.net/npm/payload-richtext-tiptap/dist/src/globals.css\" rel=\"stylesheet\" />\n <link href=\"https://cdn.jsdelivr.net/npm/payload-richtext-tiptap/dist/src/article-custom.css\" rel=\"stylesheet\" />\n\n </head>\n\n <body\n className={clsx(\n 'w-full overflow-x-hidden',\n // fonts.map(f => f.variable).join(' '),\n // fonts[0].className,\n )}\n >\n <main\n id=\"article-standard-wrapper\"\n className=\"min-h-fit xl:min-h-[100vh] pt-10 pb-6 md:pb-9 lg:pb-12 xl:pb-20\"\n >\n\n <div className=\"flex flex-col gap-6 md:gap-9 xl:gap-12 items-center mx-auto mt-8\">\n {/* Article Content */}\n <section className=\"w-full flex justify-center\">\n <div className=\"w-full max-w-full\">\n <div className=\"w-full flex flex-row justify-center gap-6 overflow-hidden pt-5\">\n <ArticleBody\n body={body}\n />\n </div>\n </div>\n </section>\n\n </div>\n </main>\n <script src=\"https://vjs.zencdn.net/8.16.1/video.min.js\"></script>\n\n </body>\n </html>\n\n )\n}"],"names":["clsx","ArticleBody","isRTL","locale","startsWith","en","ar","fa","ur","ps","localFonts","StandardArticle","body","dir","fonts","includes","html","lang","head","script","src","link","href","rel","className","main","id","div","section"],"mappings":"AAAA;;AACA,OAAOA,UAAU,OAAO;AAExB,kCAAkC;AAClC,SAASC,WAAW,QAAQ,mBAAmB;AAE/C,gDAAgD;AAEhD,OAAO,SAASC,MAAMC,MAAc;IAChC,IACIA,OAAOC,UAAU,CAAC,SAClBD,OAAOC,UAAU,CAAC,SAClBD,OAAOC,UAAU,CAAC,SAClBD,OAAOC,UAAU,CAAC,SAClBD,OAAOC,UAAU,CAAC,SAClBD,OAAOC,UAAU,CAAC,OACpB;QACE,OAAO;IACX;IACA,OAAO;AAEX;AAEA,OAAOC,QAAQ,sBAAqB;AACpC,OAAOC,QAAQ,sBAAqB;AACpC,OAAOC,QAAQ,sBAAqB;AACpC,OAAOC,QAAQ,sBAAqB;AACpC,OAAOC,QAAQ,sBAAqB;AACpC,MAAMC,aAAa;IACfL,IAAIA;IACJC,IAAIA;IACJC,IAAIA;IACJC,IAAIA;IACJC,IAAIA;AACR;AAEA,kCAAkC;AAGlC,OAAO,MAAME,kBAAkB,OAAO,EAAEC,IAAI,EAAET,MAAM,EAAE;IAClD,MAAMU,MAAMX,MAAMC,UAAU,QAAQ;IACpC,IAAIW;IACJ,IAAI;QACA,IAAI;YAAC;YAAM;YAAM;YAAM;YAAM;SAAK,CAACC,QAAQ,CAACZ,SAAS;YACjDW,QAAQJ,UAAU,CAACP,OAAO;QAC9B,OAAO;YACHW,QAAQJ,YAAYL;QACxB;IACJ,EAAE,OAAM;QACJS,QAAQJ,YAAYL;IACxB;IACA,qBACI,MAACW;QAAKH,KAAKA;QAAKI,MAAMd;;0BAClB,MAACe;;kCAEG,KAACC;wBAAOC,KAAI;;kCACZ,KAACC;wBAAKC,MAAK;wBAA4EC,KAAI;;kCAC3F,KAACF;wBAAKC,MAAK;wBAAmFC,KAAI;;;;0BAItG,MAACX;gBACGY,WAAWxB,KACP;;kCAKJ,KAACyB;wBACGC,IAAG;wBACHF,WAAU;kCAGV,cAAA,KAACG;4BAAIH,WAAU;sCAEX,cAAA,KAACI;gCAAQJ,WAAU;0CACf,cAAA,KAACG;oCAAIH,WAAU;8CACX,cAAA,KAACG;wCAAIH,WAAU;kDACX,cAAA,KAACvB;4CACGW,MAAMA;;;;;;;kCAQ9B,KAACO;wBAAOC,KAAI;;;;;;AAM5B,EAAC"}
@@ -1,4 +1,4 @@
1
- declare module "@tiptap/core" {
1
+ declare module '@tiptap/core' {
2
2
  interface Commands<ReturnType> {
3
3
  insideLinks: {
4
4
  /**
@@ -14,6 +14,6 @@ declare module "@tiptap/core" {
14
14
  };
15
15
  }
16
16
  }
17
- import { Node } from "@tiptap/core";
17
+ import { Node } from '@tiptap/core';
18
18
  export declare const InsideLinks: Node<any, any>;
19
19
  //# sourceMappingURL=insideLinks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"insideLinks.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/InsideLinks/insideLinks.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,WAAW,EAAE;YACX;;eAEG;YAEH,iBAAiB,EAAE,CAAC,EAClB,SAAS,EACT,KAAK,EACL,EAAE,EACF,IAAI,EACJ,GAAG,GACJ,EAAE;gBACD,SAAS,CAAC,EAAE,MAAM,CAAC;gBACnB,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,EAAE,CAAC,EAAE,MAAM,CAAC;gBACZ,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,GAAG,CAAC,EAAE,MAAM,CAAC;aACd,KAAK,UAAU,CAAC;SAClB,CAAC;KACH;CACF;AAED,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AAIrD,eAAO,MAAM,WAAW,gBAmFtB,CAAC"}
1
+ {"version":3,"file":"insideLinks.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/InsideLinks/insideLinks.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,WAAW,EAAE;YACX;;eAEG;YAEH,iBAAiB,EAAE,CAAC,EAClB,SAAS,EACT,KAAK,EACL,EAAE,EACF,IAAI,EACJ,GAAG,GACJ,EAAE;gBACD,SAAS,CAAC,EAAE,MAAM,CAAA;gBAClB,KAAK,CAAC,EAAE,MAAM,CAAA;gBACd,EAAE,CAAC,EAAE,MAAM,CAAA;gBACX,IAAI,CAAC,EAAE,MAAM,CAAA;gBACb,GAAG,CAAC,EAAE,MAAM,CAAA;aACb,KAAK,UAAU,CAAA;SACjB,CAAA;KACF;CACF;AAED,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAA;AAIpD,eAAO,MAAM,WAAW,gBAsMtB,CAAA"}
@@ -1,54 +1,154 @@
1
- import { Node, mergeAttributes } from "@tiptap/core";
2
- import { ReactNodeViewRenderer } from "@tiptap/react";
3
- import InsideLinksComponent from "./InsideLinksComponent.js";
1
+ import { Node, mergeAttributes } from '@tiptap/core';
2
+ import { ReactNodeViewRenderer } from '@tiptap/react';
3
+ import InsideLinksComponent from './InsideLinksComponent.js';
4
4
  export const InsideLinks = Node.create({
5
- name: "insideLinks",
6
- group: "block",
7
- content: "inline*",
5
+ name: 'insideLinks',
6
+ group: 'block',
7
+ content: 'inline*',
8
8
  draggable: true,
9
9
  // content: 'inline*',
10
10
  parseHTML () {
11
11
  return [
12
12
  {
13
- tag: 'div[data-type="insideLinks"]'
13
+ tag: 'div[data-type="social-media-embed"]'
14
14
  }
15
15
  ];
16
16
  },
17
17
  addAttributes () {
18
18
  return {
19
- thumbnail: {
19
+ id: {
20
20
  default: null
21
21
  },
22
- title: {
22
+ url: {
23
23
  default: null
24
24
  },
25
- id: {
26
- default: null
25
+ title: {
26
+ default: ''
27
27
  },
28
- type: {
29
- default: null
28
+ thumbnail: {
29
+ default: ''
30
30
  },
31
- url: {
31
+ draggable: {
32
+ default: true
33
+ },
34
+ type: {
32
35
  default: null
33
36
  }
34
37
  };
35
38
  },
36
39
  addKeyboardShortcuts () {
37
40
  return {
38
- "Mod-Enter": ()=>{
41
+ 'Mod-Enter': ()=>{
39
42
  return this.editor.chain().insertContentAt(this.editor.state.selection.head, {
40
43
  type: this.type.name
41
44
  }).focus().run();
42
45
  }
43
46
  };
44
47
  },
45
- renderHTML ({ HTMLAttributes }) {
48
+ // renderHTML({ HTMLAttributes }) {
49
+ // return [
50
+ // "div",
51
+ // mergeAttributes(HTMLAttributes, { "data-type": "insideLinks" }),
52
+ // 0,
53
+ // ];
54
+ // },
55
+ // parseHTML() {
56
+ // return [
57
+ // {
58
+ // tag: 'div[data-type="social-media-embed"]',
59
+ // },
60
+ // ];
61
+ // },
62
+ renderHTML ({ node, HTMLAttributes }) {
63
+ const { id, url, title, thumbnail, draggable } = node.attrs;
64
+ if (!id) {
65
+ return [
66
+ 'div',
67
+ mergeAttributes(HTMLAttributes, {
68
+ 'data-type': 'social-media-embed',
69
+ class: 'socialMediaContainer'
70
+ }),
71
+ [
72
+ 'div',
73
+ {
74
+ class: 'w-full bg-zinc-100 py-8 px-6 flex items-center justify-center gap-2 socialMediaCard',
75
+ draggable: draggable ? 'true' : 'false',
76
+ 'data-drag-handle': ''
77
+ },
78
+ [
79
+ 'svg',
80
+ {
81
+ class: 'h-6 w-6'
82
+ }
83
+ ],
84
+ [
85
+ 'p',
86
+ {
87
+ class: 'w-full flex items-center justify-start mt-0',
88
+ style: 'margin-top: 0;'
89
+ },
90
+ 'Add Internal Content Links'
91
+ ]
92
+ ]
93
+ ];
94
+ }
46
95
  return [
47
- "div",
96
+ 'div',
48
97
  mergeAttributes(HTMLAttributes, {
49
- "data-type": "insideLinks"
98
+ 'data-type': 'social-media-embed',
99
+ class: 'socialMediaContainer'
50
100
  }),
51
- 0
101
+ [
102
+ 'div',
103
+ {
104
+ class: 'flex justify-center items-center w-full gap-x-6'
105
+ },
106
+ [
107
+ 'div',
108
+ {
109
+ class: 'flex justify-center items-center'
110
+ },
111
+ [
112
+ 'div',
113
+ {
114
+ class: 'w-[32px] h-[64px] bg-blue-400'
115
+ }
116
+ ],
117
+ [
118
+ 'img',
119
+ {
120
+ src: thumbnail,
121
+ width: '212',
122
+ height: '120',
123
+ alt: '',
124
+ class: '-ml-6 !w-[212px] !h-[120px] object-cover'
125
+ }
126
+ ]
127
+ ],
128
+ [
129
+ 'div',
130
+ {
131
+ class: 'flex flex-col justify-start items-start font-trt gap-y-2'
132
+ },
133
+ [
134
+ 'a',
135
+ {
136
+ class: 'text-black dark:text-white text-lg capitalize w-full',
137
+ href: url,
138
+ dir: 'ltr'
139
+ },
140
+ 'Read More'
141
+ ],
142
+ [
143
+ 'h3',
144
+ {
145
+ class: 'text-2xl font-bold !mt-0 w-full',
146
+ dir: 'ltr'
147
+ },
148
+ title
149
+ ]
150
+ ]
151
+ ]
52
152
  ];
53
153
  },
54
154
  addNodeView () {
@@ -58,7 +158,7 @@ export const InsideLinks = Node.create({
58
158
  return {
59
159
  insertInsideLinks: ({ thumbnail, title, id, type, url })=>({ commands, state })=>{
60
160
  return commands.insertContent({
61
- type: "insideLinks",
161
+ type: 'insideLinks',
62
162
  attrs: {
63
163
  thumbnail,
64
164
  title,
@@ -78,7 +178,7 @@ function isValidHttpUrl(string) {
78
178
  } catch (_) {
79
179
  return false;
80
180
  }
81
- return url.protocol === "http:" || url.protocol === "https:";
181
+ return url.protocol === 'http:' || url.protocol === 'https:';
82
182
  }
83
183
 
84
184
  //# sourceMappingURL=insideLinks.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/InsideLinks/insideLinks.ts"],"sourcesContent":["declare module \"@tiptap/core\" {\n interface Commands<ReturnType> {\n insideLinks: {\n /**\n * Add an image\n */\n\n insertInsideLinks: ({\n thumbnail,\n title,\n id,\n type,\n url,\n }: {\n thumbnail?: string;\n title?: string;\n id?: string;\n type?: string;\n url?: string;\n }) => ReturnType;\n };\n }\n}\n\nimport { Node, mergeAttributes } from \"@tiptap/core\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport InsideLinksComponent from \"./InsideLinksComponent.js\";\n\nexport const InsideLinks = Node.create({\n name: \"insideLinks\",\n\n group: \"block\",\n content: \"inline*\",\n draggable: true,\n\n // content: 'inline*',\n\n parseHTML() {\n return [\n {\n tag: 'div[data-type=\"insideLinks\"]',\n },\n ];\n },\n\n addAttributes() {\n return {\n thumbnail: { default: null },\n title: { default: null },\n id: { default: null },\n type: { default: null },\n url: { default: null },\n };\n },\n\n addKeyboardShortcuts() {\n return {\n \"Mod-Enter\": () => {\n return this.editor\n .chain()\n .insertContentAt(this.editor.state.selection.head, {\n type: this.type.name,\n })\n .focus()\n .run();\n },\n };\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n \"div\",\n mergeAttributes(HTMLAttributes, { \"data-type\": \"insideLinks\" }),\n 0,\n ];\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(InsideLinksComponent);\n },\n\n addCommands() {\n return {\n insertInsideLinks:\n ({\n thumbnail,\n title,\n id,\n type,\n url,\n }: {\n thumbnail?: string;\n title?: string;\n id?: string;\n type?: string;\n url?: string;\n }) =>\n ({ commands, state }) => {\n return commands.insertContent({\n type: \"insideLinks\",\n attrs: {\n thumbnail,\n title,\n id,\n type,\n url,\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","mergeAttributes","ReactNodeViewRenderer","InsideLinksComponent","InsideLinks","create","name","group","content","draggable","parseHTML","tag","addAttributes","thumbnail","default","title","id","type","url","addKeyboardShortcuts","editor","chain","insertContentAt","state","selection","head","focus","run","renderHTML","HTMLAttributes","addNodeView","addCommands","insertInsideLinks","commands","insertContent","attrs","isValidHttpUrl","string","URL","_","protocol"],"mappings":"AAwBA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AACrD,SAASC,qBAAqB,QAAQ,gBAAgB;AACtD,OAAOC,0BAA0B,4BAA4B;AAE7D,OAAO,MAAMC,cAAcJ,KAAKK,MAAM,CAAC;IACrCC,MAAM;IAENC,OAAO;IACPC,SAAS;IACTC,WAAW;IAEX,sBAAsB;IAEtBC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IAEAC;QACE,OAAO;YACLC,WAAW;gBAAEC,SAAS;YAAK;YAC3BC,OAAO;gBAAED,SAAS;YAAK;YACvBE,IAAI;gBAAEF,SAAS;YAAK;YACpBG,MAAM;gBAAEH,SAAS;YAAK;YACtBI,KAAK;gBAAEJ,SAAS;YAAK;QACvB;IACF;IAEAK;QACE,OAAO;YACL,aAAa;gBACX,OAAO,IAAI,CAACC,MAAM,CACfC,KAAK,GACLC,eAAe,CAAC,IAAI,CAACF,MAAM,CAACG,KAAK,CAACC,SAAS,CAACC,IAAI,EAAE;oBACjDR,MAAM,IAAI,CAACA,IAAI,CAACX,IAAI;gBACtB,GACCoB,KAAK,GACLC,GAAG;YACR;QACF;IACF;IAEAC,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACA5B,gBAAgB4B,gBAAgB;gBAAE,aAAa;YAAc;YAC7D;SACD;IACH;IAEAC;QACE,OAAO5B,sBAAsBC;IAC/B;IAEA4B;QACE,OAAO;YACLC,mBACE,CAAC,EACCnB,SAAS,EACTE,KAAK,EACLC,EAAE,EACFC,IAAI,EACJC,GAAG,EAOJ,GACD,CAAC,EAAEe,QAAQ,EAAEV,KAAK,EAAE;oBAClB,OAAOU,SAASC,aAAa,CAAC;wBAC5BjB,MAAM;wBACNkB,OAAO;4BACLtB;4BACAE;4BACAC;4BACAC;4BACAC;wBACF;oBACF;gBACF;QACJ;IACF;AACF,GAAG;AAEH,SAASkB,eAAeC,MAAc;IACpC,IAAInB;IAEJ,IAAI;QACFA,MAAM,IAAIoB,IAAID;IAChB,EAAE,OAAOE,GAAG;QACV,OAAO;IACT;IAEA,OAAOrB,IAAIsB,QAAQ,KAAK,WAAWtB,IAAIsB,QAAQ,KAAK;AACtD"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/InsideLinks/insideLinks.ts"],"sourcesContent":["declare module '@tiptap/core' {\n interface Commands<ReturnType> {\n insideLinks: {\n /**\n * Add an image\n */\n\n insertInsideLinks: ({\n thumbnail,\n title,\n id,\n type,\n url,\n }: {\n thumbnail?: string\n title?: string\n id?: string\n type?: string\n url?: string\n }) => ReturnType\n }\n }\n}\n\nimport { Node, mergeAttributes } from '@tiptap/core'\nimport { ReactNodeViewRenderer } from '@tiptap/react'\nimport InsideLinksComponent from './InsideLinksComponent.js'\n\nexport const InsideLinks = Node.create({\n name: 'insideLinks',\n\n group: 'block',\n content: 'inline*',\n draggable: true,\n\n // content: 'inline*',\n\n parseHTML() {\n return [\n {\n tag: 'div[data-type=\"social-media-embed\"]',\n },\n ]\n },\n\n addAttributes() {\n return {\n id: {\n default: null,\n },\n url: {\n default: null,\n },\n title: {\n default: '',\n },\n thumbnail: {\n default: '',\n },\n draggable: {\n default: true,\n },\n type: { default: null },\n }\n },\n\n addKeyboardShortcuts() {\n return {\n 'Mod-Enter': () => {\n return this.editor\n .chain()\n .insertContentAt(this.editor.state.selection.head, {\n type: this.type.name,\n })\n .focus()\n .run()\n },\n }\n },\n\n // renderHTML({ HTMLAttributes }) {\n // return [\n // \"div\",\n // mergeAttributes(HTMLAttributes, { \"data-type\": \"insideLinks\" }),\n // 0,\n // ];\n // },\n // parseHTML() {\n // return [\n // {\n // tag: 'div[data-type=\"social-media-embed\"]',\n // },\n // ];\n // },\n\n renderHTML({ node, HTMLAttributes }) {\n const { id, url, title, thumbnail, draggable } = node.attrs\n\n if (!id) {\n return [\n 'div',\n mergeAttributes(HTMLAttributes, {\n 'data-type': 'social-media-embed',\n class: 'socialMediaContainer',\n }),\n [\n 'div',\n {\n class:\n 'w-full bg-zinc-100 py-8 px-6 flex items-center justify-center gap-2 socialMediaCard',\n draggable: draggable ? 'true' : 'false',\n 'data-drag-handle': '',\n },\n [\n 'svg',\n {\n class: 'h-6 w-6',\n // SVG content for ExternalLinkIcon\n },\n ],\n [\n 'p',\n {\n class: 'w-full flex items-center justify-start mt-0',\n style: 'margin-top: 0;',\n },\n 'Add Internal Content Links',\n ],\n ],\n ]\n }\n\n return [\n 'div',\n mergeAttributes(HTMLAttributes, {\n 'data-type': 'social-media-embed',\n class: 'socialMediaContainer',\n }),\n [\n 'div',\n {\n class: 'flex justify-center items-center w-full gap-x-6',\n },\n [\n 'div',\n {\n class: 'flex justify-center items-center',\n },\n [\n 'div',\n {\n class: 'w-[32px] h-[64px] bg-blue-400',\n },\n ],\n [\n 'img',\n {\n src: thumbnail,\n width: '212',\n height: '120',\n alt: '',\n class: '-ml-6 !w-[212px] !h-[120px] object-cover',\n },\n ],\n ],\n [\n 'div',\n {\n class: 'flex flex-col justify-start items-start font-trt gap-y-2',\n },\n [\n 'a',\n {\n class: 'text-black dark:text-white text-lg capitalize w-full',\n href: url,\n dir: 'ltr', // Adjust based on your i18n setup\n },\n 'Read More', // Adjust based on your i18n setup\n ],\n [\n 'h3',\n {\n class: 'text-2xl font-bold !mt-0 w-full',\n dir: 'ltr', // Adjust based on your i18n setup\n },\n title,\n ],\n ],\n ],\n ]\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(InsideLinksComponent)\n },\n\n addCommands() {\n return {\n insertInsideLinks:\n ({\n thumbnail,\n title,\n id,\n type,\n url,\n }: {\n thumbnail?: string\n title?: string\n id?: string\n type?: string\n url?: string\n }) =>\n ({ commands, state }) => {\n return commands.insertContent({\n type: 'insideLinks',\n attrs: {\n thumbnail,\n title,\n id,\n type,\n url,\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","mergeAttributes","ReactNodeViewRenderer","InsideLinksComponent","InsideLinks","create","name","group","content","draggable","parseHTML","tag","addAttributes","id","default","url","title","thumbnail","type","addKeyboardShortcuts","editor","chain","insertContentAt","state","selection","head","focus","run","renderHTML","node","HTMLAttributes","attrs","class","style","src","width","height","alt","href","dir","addNodeView","addCommands","insertInsideLinks","commands","insertContent","isValidHttpUrl","string","URL","_","protocol"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/Link/Link.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,IAAI,gFA6Df,CAAA;AAEF,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/Link/Link.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,IAAI,gFAsFf,CAAA;AAEF,eAAe,IAAI,CAAA"}
@@ -20,9 +20,12 @@ export const Link = TiptapLink.extend({
20
20
  ];
21
21
  },
22
22
  addPasteRules () {
23
- const twitterRegex = /^https:\/\/twitter\.com\/([a-zA-Z0-9_-]+)\/status\/(\d+)/g;
23
+ const twitterRegex = /^https:\/\/(twitter|x)\.com\/([a-zA-Z0-9_-]+)\/status\/(\d+)/g;
24
24
  const instagramRegex = /^https:\/\/www\.instagram\.com\/p\/([A-Za-z0-9_-]+)/g;
25
+ const instagramReelRegex = /^https:\/\/www\.instagram\.com\/reel\/([A-Za-z0-9_-]+)/g;
25
26
  const youtubeRegex = /^((?:https?:)?\/\/)?((?:www|m)\.)?((?:youtube(-nocookie)?\.com|youtu.be))(\/(?:[\w\-]+\?v=|embed\/|live\/|v\/)?)([\w\-]+)(\S+)?/g;
27
+ const facebookRegex = /^https:\/\/(?:www\.)?facebook\.com\/[a-zA-Z0-9.]+\/(?:posts|photos|videos)\/(?:[a-zA-Z0-9.]+\/)?(\d+)/g;
28
+ const tiktokRegex = /^https:\/\/(?:www\.)?tiktok\.com\/@[\w.-]+\/video\/(\d+)/g;
26
29
  return [
27
30
  new PasteRule({
28
31
  find: twitterRegex,
@@ -38,12 +41,33 @@ export const Link = TiptapLink.extend({
38
41
  chain().selectParentNode().deleteSelection().insertInstagram(matchUrl).run();
39
42
  }
40
43
  }),
44
+ new PasteRule({
45
+ find: instagramReelRegex,
46
+ handler: ({ commands, match, state, pasteEvent, chain })=>{
47
+ const matchUrl = match?.[0];
48
+ chain().selectParentNode().deleteSelection().insertInstagram(matchUrl).run();
49
+ }
50
+ }),
41
51
  new PasteRule({
42
52
  find: youtubeRegex,
43
53
  handler: ({ commands, match, state, pasteEvent, chain })=>{
44
54
  const matchUrl = match?.[0];
45
55
  chain().selectParentNode().deleteSelection().insertYoutube(matchUrl).run();
46
56
  }
57
+ }),
58
+ new PasteRule({
59
+ find: facebookRegex,
60
+ handler: ({ commands, match, state, pasteEvent, chain })=>{
61
+ const matchUrl = match?.[0];
62
+ chain().selectParentNode().deleteSelection().insertFacebook(matchUrl).run();
63
+ }
64
+ }),
65
+ new PasteRule({
66
+ find: tiktokRegex,
67
+ handler: ({ commands, match, state, pasteEvent, chain })=>{
68
+ const matchUrl = match?.[0];
69
+ chain().selectParentNode().deleteSelection().insertTiktok(matchUrl).run();
70
+ }
47
71
  })
48
72
  ];
49
73
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Link/Link.ts"],"sourcesContent":["import { PasteRule, mergeAttributes } from '@tiptap/core'\nimport TiptapLink from '@tiptap/extension-link'\nimport { Plugin } from '@tiptap/pm/state'\nimport { EditorView } from '@tiptap/pm/view'\n\nexport const Link = TiptapLink.extend({\n inclusive: false,\n\n parseHTML() {\n return [{ tag: 'a[href]:not([data-type=\"button\"]):not([href *= \"javascript:\" i])' }]\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['a', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, { class: 'link' }), 0]\n },\n\n addPasteRules() {\n const twitterRegex = /^https:\\/\\/twitter\\.com\\/([a-zA-Z0-9_-]+)\\/status\\/(\\d+)/g\n const instagramRegex = /^https:\\/\\/www\\.instagram\\.com\\/p\\/([A-Za-z0-9_-]+)/g\n const youtubeRegex =\n /^((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|live\\/|v\\/)?)([\\w\\-]+)(\\S+)?/g\n\n return [\n new PasteRule({\n find: twitterRegex,\n handler: ({ commands, match, state, pasteEvent, chain }) => {\n const matchUrl = match?.[0]\n chain().selectParentNode().deleteSelection().insertTwitter(matchUrl).run()\n },\n }),\n new PasteRule({\n find: instagramRegex,\n handler: ({ commands, match, state, pasteEvent, chain }) => {\n const matchUrl = match?.[0]\n chain().selectParentNode().deleteSelection().insertInstagram(matchUrl).run()\n },\n }),\n new PasteRule({\n find: youtubeRegex,\n handler: ({ commands, match, state, pasteEvent, chain }) => {\n const matchUrl = match?.[0]\n chain().selectParentNode().deleteSelection().insertYoutube(matchUrl).run()\n },\n }),\n ]\n },\n addProseMirrorPlugins() {\n const { editor } = this\n\n return [\n ...(this.parent?.() || []),\n new Plugin({\n props: {\n handleKeyDown: (view: EditorView, event: KeyboardEvent) => {\n const { selection } = editor.state\n\n if (event.key === 'Escape' && selection.empty !== true) {\n editor.commands.focus(selection.to, { scrollIntoView: false })\n }\n\n return false\n },\n },\n }),\n ]\n },\n})\n\nexport default Link\n"],"names":["PasteRule","mergeAttributes","TiptapLink","Plugin","Link","extend","inclusive","parseHTML","tag","renderHTML","HTMLAttributes","options","class","addPasteRules","twitterRegex","instagramRegex","youtubeRegex","find","handler","commands","match","state","pasteEvent","chain","matchUrl","selectParentNode","deleteSelection","insertTwitter","run","insertInstagram","insertYoutube","addProseMirrorPlugins","editor","parent","props","handleKeyDown","view","event","selection","key","empty","focus","to","scrollIntoView"],"mappings":"AAAA,SAASA,SAAS,EAAEC,eAAe,QAAQ,eAAc;AACzD,OAAOC,gBAAgB,yBAAwB;AAC/C,SAASC,MAAM,QAAQ,mBAAkB;AAGzC,OAAO,MAAMC,OAAOF,WAAWG,MAAM,CAAC;IACpCC,WAAW;IAEXC;QACE,OAAO;YAAC;gBAAEC,KAAK;YAAmE;SAAE;IACtF;IAEAC,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YAAC;YAAKT,gBAAgB,IAAI,CAACU,OAAO,CAACD,cAAc,EAAEA,gBAAgB;gBAAEE,OAAO;YAAO;YAAI;SAAE;IAClG;IAEAC;QACE,MAAMC,eAAe;QACrB,MAAMC,iBAAiB;QACvB,MAAMC,eACJ;QAEF,OAAO;YACL,IAAIhB,UAAU;gBACZiB,MAAMH;gBACNI,SAAS,CAAC,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,EAAEC,UAAU,EAAEC,KAAK,EAAE;oBACrD,MAAMC,WAAWJ,OAAO,CAAC,EAAE;oBAC3BG,QAAQE,gBAAgB,GAAGC,eAAe,GAAGC,aAAa,CAACH,UAAUI,GAAG;gBAC1E;YACF;YACA,IAAI5B,UAAU;gBACZiB,MAAMF;gBACNG,SAAS,CAAC,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,EAAEC,UAAU,EAAEC,KAAK,EAAE;oBACrD,MAAMC,WAAWJ,OAAO,CAAC,EAAE;oBAC3BG,QAAQE,gBAAgB,GAAGC,eAAe,GAAGG,eAAe,CAACL,UAAUI,GAAG;gBAC5E;YACF;YACA,IAAI5B,UAAU;gBACZiB,MAAMD;gBACNE,SAAS,CAAC,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,EAAEC,UAAU,EAAEC,KAAK,EAAE;oBACrD,MAAMC,WAAWJ,OAAO,CAAC,EAAE;oBAC3BG,QAAQE,gBAAgB,GAAGC,eAAe,GAAGI,aAAa,CAACN,UAAUI,GAAG;gBAC1E;YACF;SACD;IACH;IACAG;QACE,MAAM,EAAEC,MAAM,EAAE,GAAG,IAAI;QAEvB,OAAO;eACD,IAAI,CAACC,MAAM,QAAQ,EAAE;YACzB,IAAI9B,OAAO;gBACT+B,OAAO;oBACLC,eAAe,CAACC,MAAkBC;wBAChC,MAAM,EAAEC,SAAS,EAAE,GAAGN,OAAOX,KAAK;wBAElC,IAAIgB,MAAME,GAAG,KAAK,YAAYD,UAAUE,KAAK,KAAK,MAAM;4BACtDR,OAAOb,QAAQ,CAACsB,KAAK,CAACH,UAAUI,EAAE,EAAE;gCAAEC,gBAAgB;4BAAM;wBAC9D;wBAEA,OAAO;oBACT;gBACF;YACF;SACD;IACH;AACF,GAAE;AAEF,eAAevC,KAAI"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Link/Link.ts"],"sourcesContent":["import { PasteRule, mergeAttributes } from '@tiptap/core'\nimport TiptapLink from '@tiptap/extension-link'\nimport { Plugin } from '@tiptap/pm/state'\nimport { EditorView } from '@tiptap/pm/view'\n\nexport const Link = TiptapLink.extend({\n inclusive: false,\n\n parseHTML() {\n return [{ tag: 'a[href]:not([data-type=\"button\"]):not([href *= \"javascript:\" i])' }]\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['a', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, { class: 'link' }), 0]\n },\n\n addPasteRules() {\n const twitterRegex = /^https:\\/\\/(twitter|x)\\.com\\/([a-zA-Z0-9_-]+)\\/status\\/(\\d+)/g\n const instagramRegex = /^https:\\/\\/www\\.instagram\\.com\\/p\\/([A-Za-z0-9_-]+)/g\n const instagramReelRegex = /^https:\\/\\/www\\.instagram\\.com\\/reel\\/([A-Za-z0-9_-]+)/g\n const youtubeRegex =\n /^((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|live\\/|v\\/)?)([\\w\\-]+)(\\S+)?/g\n const facebookRegex =\n /^https:\\/\\/(?:www\\.)?facebook\\.com\\/[a-zA-Z0-9.]+\\/(?:posts|photos|videos)\\/(?:[a-zA-Z0-9.]+\\/)?(\\d+)/g\n const tiktokRegex = /^https:\\/\\/(?:www\\.)?tiktok\\.com\\/@[\\w.-]+\\/video\\/(\\d+)/g\n\n return [\n new PasteRule({\n find: twitterRegex,\n handler: ({ commands, match, state, pasteEvent, chain }) => {\n const matchUrl = match?.[0]\n chain().selectParentNode().deleteSelection().insertTwitter(matchUrl).run()\n },\n }),\n new PasteRule({\n find: instagramRegex,\n handler: ({ commands, match, state, pasteEvent, chain }) => {\n const matchUrl = match?.[0]\n chain().selectParentNode().deleteSelection().insertInstagram(matchUrl).run()\n },\n }),\n new PasteRule({\n find: instagramReelRegex,\n handler: ({ commands, match, state, pasteEvent, chain }) => {\n const matchUrl = match?.[0]\n chain().selectParentNode().deleteSelection().insertInstagram(matchUrl).run()\n },\n }),\n new PasteRule({\n find: youtubeRegex,\n handler: ({ commands, match, state, pasteEvent, chain }) => {\n const matchUrl = match?.[0]\n chain().selectParentNode().deleteSelection().insertYoutube(matchUrl).run()\n },\n }),\n new PasteRule({\n find: facebookRegex,\n handler: ({ commands, match, state, pasteEvent, chain }) => {\n const matchUrl = match?.[0]\n chain().selectParentNode().deleteSelection().insertFacebook(matchUrl).run()\n },\n }),\n new PasteRule({\n find: tiktokRegex,\n handler: ({ commands, match, state, pasteEvent, chain }) => {\n const matchUrl = match?.[0]\n chain().selectParentNode().deleteSelection().insertTiktok(matchUrl).run()\n },\n }),\n ]\n },\n addProseMirrorPlugins() {\n const { editor } = this\n\n return [\n ...(this.parent?.() || []),\n new Plugin({\n props: {\n handleKeyDown: (view: EditorView, event: KeyboardEvent) => {\n const { selection } = editor.state\n\n if (event.key === 'Escape' && selection.empty !== true) {\n editor.commands.focus(selection.to, { scrollIntoView: false })\n }\n\n return false\n },\n },\n }),\n ]\n },\n})\n\nexport default Link\n"],"names":["PasteRule","mergeAttributes","TiptapLink","Plugin","Link","extend","inclusive","parseHTML","tag","renderHTML","HTMLAttributes","options","class","addPasteRules","twitterRegex","instagramRegex","instagramReelRegex","youtubeRegex","facebookRegex","tiktokRegex","find","handler","commands","match","state","pasteEvent","chain","matchUrl","selectParentNode","deleteSelection","insertTwitter","run","insertInstagram","insertYoutube","insertFacebook","insertTiktok","addProseMirrorPlugins","editor","parent","props","handleKeyDown","view","event","selection","key","empty","focus","to","scrollIntoView"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- declare module "@tiptap/core" {
1
+ declare module '@tiptap/core' {
2
2
  interface Commands<ReturnType> {
3
3
  facebook: {
4
4
  /**
@@ -8,6 +8,6 @@ declare module "@tiptap/core" {
8
8
  };
9
9
  }
10
10
  }
11
- import { Node } from "@tiptap/core";
11
+ import { Node } from '@tiptap/core';
12
12
  export declare const Facebook: Node<any, any>;
13
13
  //# sourceMappingURL=facebook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"facebook.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,QAAQ,EAAE;YACR;;eAEG;YAEH,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;SAClE,CAAC;KACH;CACF;AAED,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AAIrD,eAAO,MAAM,QAAQ,gBA0DnB,CAAC"}
1
+ {"version":3,"file":"facebook.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,QAAQ,EAAE;YACR;;eAEG;YAEH,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,UAAU,CAAA;SACjE,CAAA;KACF;CACF;AAED,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAA;AAIpD,eAAO,MAAM,QAAQ,gBA4FnB,CAAA"}
@@ -1,16 +1,16 @@
1
- import { Node, mergeAttributes } from "@tiptap/core";
2
- import { ReactNodeViewRenderer } from "@tiptap/react";
3
- import FacebookEmbed from "./FacebookEmbed.js";
1
+ import { Node, mergeAttributes } from '@tiptap/core';
2
+ import { ReactNodeViewRenderer } from '@tiptap/react';
3
+ import FacebookEmbed from './FacebookEmbed.js';
4
4
  export const Facebook = Node.create({
5
- name: "facebook",
6
- group: "block",
7
- content: "inline*",
5
+ name: 'facebook',
6
+ group: 'block',
7
+ content: 'inline*',
8
8
  draggable: true,
9
9
  // content: 'inline*',
10
10
  parseHTML () {
11
11
  return [
12
12
  {
13
- tag: "facebook-component"
13
+ tag: 'div[data-type="facebook-post"]'
14
14
  }
15
15
  ];
16
16
  },
@@ -21,12 +21,21 @@ export const Facebook = Node.create({
21
21
  },
22
22
  class: {
23
23
  default: null
24
+ },
25
+ src: {
26
+ default: null
27
+ },
28
+ width: {
29
+ default: '500'
30
+ },
31
+ showText: {
32
+ default: true
24
33
  }
25
34
  };
26
35
  },
27
36
  addKeyboardShortcuts () {
28
37
  return {
29
- "Mod-Enter": ()=>{
38
+ 'Mod-Enter': ()=>{
30
39
  return this.editor.chain().insertContentAt(this.editor.state.selection.head, {
31
40
  type: this.type.name
32
41
  }).focus().run();
@@ -35,9 +44,29 @@ export const Facebook = Node.create({
35
44
  },
36
45
  renderHTML ({ HTMLAttributes }) {
37
46
  return [
38
- "facebook-component",
39
- mergeAttributes(HTMLAttributes),
40
- 0
47
+ 'div',
48
+ mergeAttributes({
49
+ 'data-type': 'facebook-post',
50
+ class: 'socialMediaContainer'
51
+ }, HTMLAttributes),
52
+ [
53
+ 'div',
54
+ {
55
+ class: 'fb-post',
56
+ 'data-href': HTMLAttributes.url,
57
+ 'data-width': HTMLAttributes.width,
58
+ 'data-show-text': HTMLAttributes.showText
59
+ }
60
+ ],
61
+ [
62
+ 'script',
63
+ {
64
+ async: true,
65
+ defer: true,
66
+ crossorigin: 'anonymous',
67
+ src: 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v22.0&appId=990160422555057'
68
+ }
69
+ ]
41
70
  ];
42
71
  },
43
72
  addNodeView () {
@@ -47,10 +76,11 @@ export const Facebook = Node.create({
47
76
  return {
48
77
  insertFacebook: (url, className)=>({ commands, state })=>{
49
78
  return commands.insertContent({
50
- type: "facebook",
79
+ type: 'facebook',
51
80
  attrs: {
52
81
  url,
53
- class: className
82
+ class: className,
83
+ src: url
54
84
  }
55
85
  });
56
86
  }
@@ -64,7 +94,7 @@ function isValidHttpUrl(string) {
64
94
  } catch (_) {
65
95
  return false;
66
96
  }
67
- return url.protocol === "http:" || url.protocol === "https:";
97
+ return url.protocol === 'http:' || url.protocol === 'https:';
68
98
  }
69
99
 
70
100
  //# sourceMappingURL=facebook.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.ts"],"sourcesContent":["declare module \"@tiptap/core\" {\n interface Commands<ReturnType> {\n facebook: {\n /**\n * Add an image\n */\n\n insertFacebook: (url?: string, className?: string) => ReturnType;\n };\n }\n}\n\nimport { Node, mergeAttributes } from \"@tiptap/core\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport FacebookEmbed from \"./FacebookEmbed.js\";\n\nexport const Facebook = Node.create({\n name: \"facebook\",\n group: \"block\",\n content: \"inline*\",\n draggable: true,\n\n // content: 'inline*',\n\n parseHTML() {\n return [\n {\n tag: \"facebook-component\",\n },\n ];\n },\n addAttributes() {\n return {\n url: { default: null },\n class: { default: null },\n };\n },\n addKeyboardShortcuts() {\n return {\n \"Mod-Enter\": () => {\n return this.editor\n .chain()\n .insertContentAt(this.editor.state.selection.head, {\n type: this.type.name,\n })\n .focus()\n .run();\n },\n };\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\"facebook-component\", mergeAttributes(HTMLAttributes), 0];\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(FacebookEmbed);\n },\n\n addCommands() {\n return {\n insertFacebook:\n (url, className) =>\n ({ commands, state }) => {\n return commands.insertContent({\n type: \"facebook\",\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","mergeAttributes","ReactNodeViewRenderer","FacebookEmbed","Facebook","create","name","group","content","draggable","parseHTML","tag","addAttributes","url","default","class","addKeyboardShortcuts","editor","chain","insertContentAt","state","selection","head","type","focus","run","renderHTML","HTMLAttributes","addNodeView","addCommands","insertFacebook","className","commands","insertContent","attrs","isValidHttpUrl","string","URL","_","protocol"],"mappings":"AAYA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AACrD,SAASC,qBAAqB,QAAQ,gBAAgB;AACtD,OAAOC,mBAAmB,qBAAqB;AAE/C,OAAO,MAAMC,WAAWJ,KAAKK,MAAM,CAAC;IAClCC,MAAM;IACNC,OAAO;IACPC,SAAS;IACTC,WAAW;IAEX,sBAAsB;IAEtBC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IACAC;QACE,OAAO;YACLC,KAAK;gBAAEC,SAAS;YAAK;YACrBC,OAAO;gBAAED,SAAS;YAAK;QACzB;IACF;IACAE;QACE,OAAO;YACL,aAAa;gBACX,OAAO,IAAI,CAACC,MAAM,CACfC,KAAK,GACLC,eAAe,CAAC,IAAI,CAACF,MAAM,CAACG,KAAK,CAACC,SAAS,CAACC,IAAI,EAAE;oBACjDC,MAAM,IAAI,CAACA,IAAI,CAACjB,IAAI;gBACtB,GACCkB,KAAK,GACLC,GAAG;YACR;QACF;IACF;IAEAC,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YAAC;YAAsB1B,gBAAgB0B;YAAiB;SAAE;IACnE;IAEAC;QACE,OAAO1B,sBAAsBC;IAC/B;IAEA0B;QACE,OAAO;YACLC,gBACE,CAACjB,KAAKkB,YACN,CAAC,EAAEC,QAAQ,EAAEZ,KAAK,EAAE;oBAClB,OAAOY,SAASC,aAAa,CAAC;wBAC5BV,MAAM;wBACNW,OAAO;4BACLrB;4BACAE,OAAOgB;wBACT;oBACF;gBACF;QACJ;IACF;AACF,GAAG;AAEH,SAASI,eAAeC,MAAc;IACpC,IAAIvB;IAEJ,IAAI;QACFA,MAAM,IAAIwB,IAAID;IAChB,EAAE,OAAOE,GAAG;QACV,OAAO;IACT;IAEA,OAAOzB,IAAI0B,QAAQ,KAAK,WAAW1B,IAAI0B,QAAQ,KAAK;AACtD"}
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.ts"],"sourcesContent":["declare module '@tiptap/core' {\n interface Commands<ReturnType> {\n facebook: {\n /**\n * Add an image\n */\n\n insertFacebook: (url?: string, className?: string) => ReturnType\n }\n }\n}\n\nimport { Node, mergeAttributes } from '@tiptap/core'\nimport { ReactNodeViewRenderer } from '@tiptap/react'\nimport FacebookEmbed from './FacebookEmbed.js'\n\nexport const Facebook = Node.create({\n name: 'facebook',\n group: 'block',\n content: 'inline*',\n draggable: true,\n\n // content: 'inline*',\n parseHTML() {\n return [\n {\n tag: 'div[data-type=\"facebook-post\"]',\n },\n ]\n },\n\n addAttributes() {\n return {\n url: { default: null },\n class: { default: null },\n src: {\n default: null,\n },\n width: {\n default: '500',\n },\n showText: {\n default: true,\n },\n }\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-Enter': () => {\n return this.editor\n .chain()\n .insertContentAt(this.editor.state.selection.head, {\n type: this.type.name,\n })\n .focus()\n .run()\n },\n }\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n 'div',\n mergeAttributes(\n { 'data-type': 'facebook-post', class: 'socialMediaContainer' },\n HTMLAttributes,\n ),\n [\n 'div',\n {\n class: 'fb-post',\n 'data-href': HTMLAttributes.url,\n 'data-width': HTMLAttributes.width,\n 'data-show-text': HTMLAttributes.showText,\n },\n ],\n [\n 'script',\n {\n async: true,\n defer: true,\n crossorigin: 'anonymous',\n src: 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v22.0&appId=990160422555057',\n },\n ],\n ]\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(FacebookEmbed)\n },\n\n addCommands() {\n return {\n insertFacebook:\n (url, className) =>\n ({ commands, state }) => {\n return commands.insertContent({\n type: 'facebook',\n attrs: {\n url,\n class: className,\n src: url,\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","mergeAttributes","ReactNodeViewRenderer","FacebookEmbed","Facebook","create","name","group","content","draggable","parseHTML","tag","addAttributes","url","default","class","src","width","showText","addKeyboardShortcuts","editor","chain","insertContentAt","state","selection","head","type","focus","run","renderHTML","HTMLAttributes","async","defer","crossorigin","addNodeView","addCommands","insertFacebook","className","commands","insertContent","attrs","isValidHttpUrl","string","URL","_","protocol"],"mappings":"AAYA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAc;AACpD,SAASC,qBAAqB,QAAQ,gBAAe;AACrD,OAAOC,mBAAmB,qBAAoB;AAE9C,OAAO,MAAMC,WAAWJ,KAAKK,MAAM,CAAC;IAClCC,MAAM;IACNC,OAAO;IACPC,SAAS;IACTC,WAAW;IAEX,sBAAsB;IACtBC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IAEAC;QACE,OAAO;YACLC,KAAK;gBAAEC,SAAS;YAAK;YACrBC,OAAO;gBAAED,SAAS;YAAK;YACvBE,KAAK;gBACHF,SAAS;YACX;YACAG,OAAO;gBACLH,SAAS;YACX;YACAI,UAAU;gBACRJ,SAAS;YACX;QACF;IACF;IACAK;QACE,OAAO;YACL,aAAa;gBACX,OAAO,IAAI,CAACC,MAAM,CACfC,KAAK,GACLC,eAAe,CAAC,IAAI,CAACF,MAAM,CAACG,KAAK,CAACC,SAAS,CAACC,IAAI,EAAE;oBACjDC,MAAM,IAAI,CAACA,IAAI,CAACpB,IAAI;gBACtB,GACCqB,KAAK,GACLC,GAAG;YACR;QACF;IACF;IAEAC,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACA7B,gBACE;gBAAE,aAAa;gBAAiBc,OAAO;YAAuB,GAC9De;YAEF;gBACE;gBACA;oBACEf,OAAO;oBACP,aAAae,eAAejB,GAAG;oBAC/B,cAAciB,eAAeb,KAAK;oBAClC,kBAAkBa,eAAeZ,QAAQ;gBAC3C;aACD;YACD;gBACE;gBACA;oBACEa,OAAO;oBACPC,OAAO;oBACPC,aAAa;oBACbjB,KAAK;gBACP;aACD;SACF;IACH;IAEAkB;QACE,OAAOhC,sBAAsBC;IAC/B;IAEAgC;QACE,OAAO;YACLC,gBACE,CAACvB,KAAKwB,YACN,CAAC,EAAEC,QAAQ,EAAEf,KAAK,EAAE;oBAClB,OAAOe,SAASC,aAAa,CAAC;wBAC5Bb,MAAM;wBACNc,OAAO;4BACL3B;4BACAE,OAAOsB;4BACPrB,KAAKH;wBACP;oBACF;gBACF;QACJ;IACF;AACF,GAAE;AAEF,SAAS4B,eAAeC,MAAc;IACpC,IAAI7B;IAEJ,IAAI;QACFA,MAAM,IAAI8B,IAAID;IAChB,EAAE,OAAOE,GAAG;QACV,OAAO;IACT;IAEA,OAAO/B,IAAIgC,QAAQ,KAAK,WAAWhC,IAAIgC,QAAQ,KAAK;AACtD"}
@@ -1,4 +1,4 @@
1
- declare module "@tiptap/core" {
1
+ declare module '@tiptap/core' {
2
2
  interface Commands<ReturnType> {
3
3
  instagram: {
4
4
  /**
@@ -8,6 +8,6 @@ declare module "@tiptap/core" {
8
8
  };
9
9
  }
10
10
  }
11
- import { Node } from "@tiptap/core";
11
+ import { Node } from '@tiptap/core';
12
12
  export declare const Instagram: Node<any, any>;
13
13
  //# sourceMappingURL=instagram.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instagram.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/Instagram/instagram.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,SAAS,EAAE;YACT;;eAEG;YAEH,eAAe,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;SACnE,CAAC;KACH;CACF;AAED,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AAIrD,eAAO,MAAM,SAAS,gBA0DpB,CAAC"}
1
+ {"version":3,"file":"instagram.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/Instagram/instagram.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,SAAS,EAAE;YACT;;eAEG;YAEH,eAAe,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,UAAU,CAAA;SAClE,CAAA;KACF;CACF;AAED,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAA;AAIpD,eAAO,MAAM,SAAS,gBAkGpB,CAAA"}