payload-richtext-tiptap 0.0.80 → 0.0.81

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 (57) hide show
  1. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.d.ts +1 -1
  2. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.d.ts.map +1 -1
  3. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.js +6 -2
  4. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.js.map +1 -1
  5. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/instagram.d.ts +1 -1
  6. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/instagram.d.ts.map +1 -1
  7. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/instagram.js +6 -2
  8. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/instagram.js.map +1 -1
  9. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/linkedin.d.ts +1 -1
  10. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/linkedin.d.ts.map +1 -1
  11. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/linkedin.js +6 -2
  12. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/linkedin.js.map +1 -1
  13. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.d.ts +1 -1
  14. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.d.ts.map +1 -1
  15. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.js +3 -2
  16. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.js.map +1 -1
  17. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/tiktok.d.ts +1 -1
  18. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/tiktok.d.ts.map +1 -1
  19. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/tiktok.js +6 -2
  20. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/tiktok.js.map +1 -1
  21. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/twitter.d.ts +1 -1
  22. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/twitter.d.ts.map +1 -1
  23. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/twitter.js +6 -2
  24. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/twitter.js.map +1 -1
  25. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/youtube.d.ts +1 -1
  26. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/youtube.d.ts.map +1 -1
  27. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/youtube.js +6 -2
  28. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/youtube.js.map +1 -1
  29. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/SocialMediaMenu.d.ts.map +1 -1
  30. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/SocialMediaMenu.js +7 -7
  31. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/SocialMediaMenu.js.map +1 -1
  32. package/dist/src/fields/TiptapEditor/extensions/serverside/FacebookServerside.d.ts.map +1 -1
  33. package/dist/src/fields/TiptapEditor/extensions/serverside/FacebookServerside.js +4 -1
  34. package/dist/src/fields/TiptapEditor/extensions/serverside/FacebookServerside.js.map +1 -1
  35. package/dist/src/fields/TiptapEditor/extensions/serverside/InstagramServerside.d.ts.map +1 -1
  36. package/dist/src/fields/TiptapEditor/extensions/serverside/InstagramServerside.js +4 -1
  37. package/dist/src/fields/TiptapEditor/extensions/serverside/InstagramServerside.js.map +1 -1
  38. package/dist/src/fields/TiptapEditor/extensions/serverside/LinkedinServerside.d.ts +1 -1
  39. package/dist/src/fields/TiptapEditor/extensions/serverside/LinkedinServerside.d.ts.map +1 -1
  40. package/dist/src/fields/TiptapEditor/extensions/serverside/LinkedinServerside.js +11 -8
  41. package/dist/src/fields/TiptapEditor/extensions/serverside/LinkedinServerside.js.map +1 -1
  42. package/dist/src/fields/TiptapEditor/extensions/serverside/TiktokServerside.d.ts.map +1 -1
  43. package/dist/src/fields/TiptapEditor/extensions/serverside/TiktokServerside.js +4 -1
  44. package/dist/src/fields/TiptapEditor/extensions/serverside/TiktokServerside.js.map +1 -1
  45. package/dist/src/fields/TiptapEditor/extensions/serverside/TwitterBlockServerside.d.ts.map +1 -1
  46. package/dist/src/fields/TiptapEditor/extensions/serverside/TwitterBlockServerside.js +5 -2
  47. package/dist/src/fields/TiptapEditor/extensions/serverside/TwitterBlockServerside.js.map +1 -1
  48. package/dist/src/fields/TiptapEditor/extensions/serverside/YouTubeServerside.d.ts.map +1 -1
  49. package/dist/src/fields/TiptapEditor/extensions/serverside/YouTubeServerside.js +4 -1
  50. package/dist/src/fields/TiptapEditor/extensions/serverside/YouTubeServerside.js.map +1 -1
  51. package/dist/src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.d.ts +3 -1
  52. package/dist/src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.d.ts.map +1 -1
  53. package/dist/src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.js +15 -3
  54. package/dist/src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.js.map +1 -1
  55. package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.js.map +1 -1
  56. package/dist/tsconfig.tsbuildinfo +1 -1
  57. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
- import { Node, mergeAttributes } from '@tiptap/core';
1
+ import { Node, mergeAttributes } from "@tiptap/core";
2
2
  export const LinkedinServerside = Node.create({
3
- name: 'linkedin',
4
- group: 'block',
5
- content: 'inline*',
3
+ name: "linkedin",
4
+ group: "block",
5
+ content: "inline*",
6
6
  parseHTML () {
7
7
  return [
8
8
  {
@@ -15,17 +15,20 @@ export const LinkedinServerside = Node.create({
15
15
  url: {
16
16
  default: null
17
17
  },
18
- 'data-id': {
18
+ "data-id": {
19
19
  default: null
20
+ },
21
+ class: {
22
+ default: "inline-tiktok"
20
23
  }
21
24
  };
22
25
  },
23
26
  renderHTML ({ HTMLAttributes }) {
24
27
  return [
25
- 'a',
28
+ "a",
26
29
  mergeAttributes(HTMLAttributes, {
27
- 'data-type': 'linkedin',
28
- class: "react-renderer node-linkedin"
30
+ "data-type": "linkedin",
31
+ class: `react-renderer node-linkedin ${HTMLAttributes.class}`
29
32
  }),
30
33
  0
31
34
  ];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/LinkedinServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from '@tiptap/core';\n\nexport const LinkedinServerside = Node.create({\n name: 'linkedin',\n\n group: 'block',\n content: 'inline*',\n\n parseHTML() {\n return [\n {\n tag: 'a[data-type=\"linkedin\"]',\n },\n ];\n },\n addAttributes() {\n return {\n url: { default: null },\n 'data-id': { default: null },\n };\n },\n renderHTML({ HTMLAttributes }) {\n return [\n 'a',\n mergeAttributes(HTMLAttributes, { 'data-type': 'linkedin',\n class: \"react-renderer node-linkedin\",\n }),\n 0,\n ];\n },\n});\n"],"names":["Node","mergeAttributes","LinkedinServerside","create","name","group","content","parseHTML","tag","addAttributes","url","default","renderHTML","HTMLAttributes","class"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,qBAAqBF,KAAKG,MAAM,CAAC;IAC5CC,MAAM;IAENC,OAAO;IACPC,SAAS;IAETC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IACAC;QACE,OAAO;YACLC,KAAK;gBAAEC,SAAS;YAAK;YACrB,WAAW;gBAAEA,SAAS;YAAK;QAC7B;IACF;IACAC,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACAZ,gBAAgBY,gBAAgB;gBAAE,aAAa;gBAC7CC,OAAO;YACR;YACD;SACD;IACH;AACF,GAAG"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/LinkedinServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\n\nexport const LinkedinServerside = Node.create({\n name: \"linkedin\",\n\n group: \"block\",\n content: \"inline*\",\n\n parseHTML() {\n return [\n {\n tag: 'a[data-type=\"linkedin\"]',\n },\n ];\n },\n addAttributes() {\n return {\n url: { default: null },\n \"data-id\": { default: null },\n class: { default: \"inline-tiktok\" },\n };\n },\n renderHTML({ HTMLAttributes }) {\n return [\n \"a\",\n mergeAttributes(HTMLAttributes, {\n \"data-type\": \"linkedin\",\n class: `react-renderer node-linkedin ${HTMLAttributes.class}`,\n }),\n 0,\n ];\n },\n});\n"],"names":["Node","mergeAttributes","LinkedinServerside","create","name","group","content","parseHTML","tag","addAttributes","url","default","class","renderHTML","HTMLAttributes"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,qBAAqBF,KAAKG,MAAM,CAAC;IAC5CC,MAAM;IAENC,OAAO;IACPC,SAAS;IAETC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IACAC;QACE,OAAO;YACLC,KAAK;gBAAEC,SAAS;YAAK;YACrB,WAAW;gBAAEA,SAAS;YAAK;YAC3BC,OAAO;gBAAED,SAAS;YAAgB;QACpC;IACF;IACAE,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACAb,gBAAgBa,gBAAgB;gBAC9B,aAAa;gBACbF,OAAO,CAAC,6BAA6B,EAAEE,eAAeF,KAAK,EAAE;YAC/D;YACA;SACD;IACH;AACF,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"TiktokServerside.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/TiktokServerside.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AAErD,eAAO,MAAM,gBAAgB,gBA6B3B,CAAC"}
1
+ {"version":3,"file":"TiktokServerside.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/TiktokServerside.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AAErD,eAAO,MAAM,gBAAgB,gBA8B3B,CAAC"}
@@ -17,6 +17,9 @@ export const TiktokServerside = Node.create({
17
17
  },
18
18
  "data-id": {
19
19
  default: null
20
+ },
21
+ class: {
22
+ default: "inline-tiktok"
20
23
  }
21
24
  };
22
25
  },
@@ -25,7 +28,7 @@ export const TiktokServerside = Node.create({
25
28
  "a",
26
29
  mergeAttributes(HTMLAttributes, {
27
30
  "data-type": "tiktok",
28
- class: "react-renderer node-tiktok"
31
+ class: `react-renderer node-tiktok ${HTMLAttributes.class}`
29
32
  }),
30
33
  0
31
34
  ];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/TiktokServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\n\nexport const TiktokServerside = Node.create({\n name: \"tiktok\",\n\n group: \"block\",\n content: \"inline*\",\n\n parseHTML() {\n return [\n {\n tag: 'a[data-type=\"tiktok\"]',\n },\n ];\n },\n addAttributes() {\n return {\n url: { default: null },\n \"data-id\": { default: null },\n };\n },\n renderHTML({ HTMLAttributes }) {\n return [\n \"a\",\n mergeAttributes(HTMLAttributes, {\n \"data-type\": \"tiktok\",\n class: \"react-renderer node-tiktok\",\n }),\n 0,\n ];\n },\n});\n"],"names":["Node","mergeAttributes","TiktokServerside","create","name","group","content","parseHTML","tag","addAttributes","url","default","renderHTML","HTMLAttributes","class"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,mBAAmBF,KAAKG,MAAM,CAAC;IAC1CC,MAAM;IAENC,OAAO;IACPC,SAAS;IAETC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IACAC;QACE,OAAO;YACLC,KAAK;gBAAEC,SAAS;YAAK;YACrB,WAAW;gBAAEA,SAAS;YAAK;QAC7B;IACF;IACAC,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACAZ,gBAAgBY,gBAAgB;gBAC9B,aAAa;gBACbC,OAAO;YACT;YACA;SACD;IACH;AACF,GAAG"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/TiktokServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\n\nexport const TiktokServerside = Node.create({\n name: \"tiktok\",\n\n group: \"block\",\n content: \"inline*\",\n\n parseHTML() {\n return [\n {\n tag: 'a[data-type=\"tiktok\"]',\n },\n ];\n },\n addAttributes() {\n return {\n url: { default: null },\n \"data-id\": { default: null },\n class: { default: \"inline-tiktok\" },\n };\n },\n renderHTML({ HTMLAttributes }) {\n return [\n \"a\",\n mergeAttributes(HTMLAttributes, {\n \"data-type\": \"tiktok\",\n class: `react-renderer node-tiktok ${HTMLAttributes.class}`,\n }),\n 0,\n ];\n },\n});\n"],"names":["Node","mergeAttributes","TiktokServerside","create","name","group","content","parseHTML","tag","addAttributes","url","default","class","renderHTML","HTMLAttributes"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,mBAAmBF,KAAKG,MAAM,CAAC;IAC1CC,MAAM;IAENC,OAAO;IACPC,SAAS;IAETC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IACAC;QACE,OAAO;YACLC,KAAK;gBAAEC,SAAS;YAAK;YACrB,WAAW;gBAAEA,SAAS;YAAK;YAC3BC,OAAO;gBAAED,SAAS;YAAgB;QACpC;IACF;IACAE,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACAb,gBAAgBa,gBAAgB;gBAC9B,aAAa;gBACbF,OAAO,CAAC,2BAA2B,EAAEE,eAAeF,KAAK,EAAE;YAC7D;YACA;SACD;IACH;AACF,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"TwitterBlockServerside.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/TwitterBlockServerside.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AAErD,eAAO,MAAM,sBAAsB,gBA4BjC,CAAC"}
1
+ {"version":3,"file":"TwitterBlockServerside.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/TwitterBlockServerside.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AAErD,eAAO,MAAM,sBAAsB,gBA6BjC,CAAC"}
@@ -6,7 +6,7 @@ export const TwitterBlockServerside = Node.create({
6
6
  parseHTML () {
7
7
  return [
8
8
  {
9
- tag: 'a[data-type="twitter".react-renderer.node-twitter'
9
+ tag: 'a[data-type="twitter"'
10
10
  }
11
11
  ];
12
12
  },
@@ -17,6 +17,9 @@ export const TwitterBlockServerside = Node.create({
17
17
  },
18
18
  "data-id": {
19
19
  default: null
20
+ },
21
+ class: {
22
+ default: "inline-twitter"
20
23
  }
21
24
  };
22
25
  },
@@ -25,7 +28,7 @@ export const TwitterBlockServerside = Node.create({
25
28
  "a",
26
29
  mergeAttributes(HTMLAttributes, {
27
30
  "data-type": "twitter",
28
- class: "react-renderer node-twitter"
31
+ class: `react-renderer node-twitter ${HTMLAttributes.class}`
29
32
  }),
30
33
  0
31
34
  ];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/TwitterBlockServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\n\nexport const TwitterBlockServerside = Node.create({\n name: \"twitter\",\n group: \"block\",\n content: \"inline*\",\n\n parseHTML() {\n return [\n {\n tag: 'a[data-type=\"twitter\".react-renderer.node-twitter',\n },\n ];\n },\n addAttributes() {\n return {\n url: { default: null },\n \"data-id\": { default: null },\n };\n },\n renderHTML({ HTMLAttributes }) {\n return [\n \"a\",\n mergeAttributes(HTMLAttributes, {\n \"data-type\": \"twitter\",\n class: \"react-renderer node-twitter\",\n }),\n 0,\n ];\n },\n});\n"],"names":["Node","mergeAttributes","TwitterBlockServerside","create","name","group","content","parseHTML","tag","addAttributes","url","default","renderHTML","HTMLAttributes","class"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,yBAAyBF,KAAKG,MAAM,CAAC;IAChDC,MAAM;IACNC,OAAO;IACPC,SAAS;IAETC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IACAC;QACE,OAAO;YACLC,KAAK;gBAAEC,SAAS;YAAK;YACrB,WAAW;gBAAEA,SAAS;YAAK;QAC7B;IACF;IACAC,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACAZ,gBAAgBY,gBAAgB;gBAC9B,aAAa;gBACbC,OAAO;YACT;YACA;SACD;IACH;AACF,GAAG"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/TwitterBlockServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\n\nexport const TwitterBlockServerside = Node.create({\n name: \"twitter\",\n group: \"block\",\n content: \"inline*\",\n\n parseHTML() {\n return [\n {\n tag: 'a[data-type=\"twitter\"',\n },\n ];\n },\n addAttributes() {\n return {\n url: { default: null },\n \"data-id\": { default: null },\n class: { default: \"inline-twitter\" },\n };\n },\n renderHTML({ HTMLAttributes }) {\n return [\n \"a\",\n mergeAttributes(HTMLAttributes, {\n \"data-type\": \"twitter\",\n class: `react-renderer node-twitter ${HTMLAttributes.class}`,\n }),\n 0,\n ];\n },\n});\n"],"names":["Node","mergeAttributes","TwitterBlockServerside","create","name","group","content","parseHTML","tag","addAttributes","url","default","class","renderHTML","HTMLAttributes"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,yBAAyBF,KAAKG,MAAM,CAAC;IAChDC,MAAM;IACNC,OAAO;IACPC,SAAS;IAETC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IACAC;QACE,OAAO;YACLC,KAAK;gBAAEC,SAAS;YAAK;YACrB,WAAW;gBAAEA,SAAS;YAAK;YAC3BC,OAAO;gBAAED,SAAS;YAAiB;QACrC;IACF;IACAE,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACAb,gBAAgBa,gBAAgB;gBAC9B,aAAa;gBACbF,OAAO,CAAC,4BAA4B,EAAEE,eAAeF,KAAK,EAAE;YAC9D;YACA;SACD;IACH;AACF,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"YouTubeServerside.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/YouTubeServerside.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AAErD,eAAO,MAAM,iBAAiB,gBA6B5B,CAAC"}
1
+ {"version":3,"file":"YouTubeServerside.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/YouTubeServerside.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AAErD,eAAO,MAAM,iBAAiB,gBA8B5B,CAAC"}
@@ -17,6 +17,9 @@ export const YouTubeServerside = Node.create({
17
17
  },
18
18
  "data-id": {
19
19
  default: null
20
+ },
21
+ class: {
22
+ default: "inline-youtube"
20
23
  }
21
24
  };
22
25
  },
@@ -25,7 +28,7 @@ export const YouTubeServerside = Node.create({
25
28
  "a",
26
29
  mergeAttributes(HTMLAttributes, {
27
30
  "data-type": "youtube",
28
- class: "react-renderer node-youtube"
31
+ class: `react-renderer node-youtube ${HTMLAttributes.class}`
29
32
  }),
30
33
  0
31
34
  ];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/YouTubeServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\n\nexport const YouTubeServerside = Node.create({\n name: \"youtube\",\n\n group: \"block\",\n content: \"inline*\",\n\n parseHTML() {\n return [\n {\n tag: 'a[data-type=\"youtube\"]',\n },\n ];\n },\n addAttributes() {\n return {\n url: { default: null },\n \"data-id\": { default: null },\n };\n },\n renderHTML({ HTMLAttributes }) {\n return [\n \"a\",\n mergeAttributes(HTMLAttributes, {\n \"data-type\": \"youtube\",\n class: \"react-renderer node-youtube\",\n }),\n 0,\n ];\n },\n});\n"],"names":["Node","mergeAttributes","YouTubeServerside","create","name","group","content","parseHTML","tag","addAttributes","url","default","renderHTML","HTMLAttributes","class"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,oBAAoBF,KAAKG,MAAM,CAAC;IAC3CC,MAAM;IAENC,OAAO;IACPC,SAAS;IAETC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IACAC;QACE,OAAO;YACLC,KAAK;gBAAEC,SAAS;YAAK;YACrB,WAAW;gBAAEA,SAAS;YAAK;QAC7B;IACF;IACAC,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACAZ,gBAAgBY,gBAAgB;gBAC9B,aAAa;gBACbC,OAAO;YACT;YACA;SACD;IACH;AACF,GAAG"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/YouTubeServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\n\nexport const YouTubeServerside = Node.create({\n name: \"youtube\",\n\n group: \"block\",\n content: \"inline*\",\n\n parseHTML() {\n return [\n {\n tag: 'a[data-type=\"youtube\"]',\n },\n ];\n },\n addAttributes() {\n return {\n url: { default: null },\n \"data-id\": { default: null },\n class: { default: \"inline-youtube\" },\n };\n },\n renderHTML({ HTMLAttributes }) {\n return [\n \"a\",\n mergeAttributes(HTMLAttributes, {\n \"data-type\": \"youtube\",\n class: `react-renderer node-youtube ${HTMLAttributes.class}`,\n }),\n 0,\n ];\n },\n});\n"],"names":["Node","mergeAttributes","YouTubeServerside","create","name","group","content","parseHTML","tag","addAttributes","url","default","class","renderHTML","HTMLAttributes"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,oBAAoBF,KAAKG,MAAM,CAAC;IAC3CC,MAAM;IAENC,OAAO;IACPC,SAAS;IAETC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IACAC;QACE,OAAO;YACLC,KAAK;gBAAEC,SAAS;YAAK;YACrB,WAAW;gBAAEA,SAAS;YAAK;YAC3BC,OAAO;gBAAED,SAAS;YAAiB;QACrC;IACF;IACAE,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACAb,gBAAgBa,gBAAgB;gBAC9B,aAAa;gBACbF,OAAO,CAAC,4BAA4B,EAAEE,eAAeF,KAAK,EAAE;YAC9D;YACA;SACD;IACH;AACF,GAAG"}
@@ -2,7 +2,7 @@ import React from "react";
2
2
  export type SocialMediaEditorPanelProps = {
3
3
  initialSrc?: string;
4
4
  initialOpenInNewTab?: boolean;
5
- onSetLink: (src: string) => void;
5
+ onSetLink: (src: string, className?: boolean) => void;
6
6
  placeholderText: string;
7
7
  buttonText: string;
8
8
  descriptionText: string;
@@ -12,6 +12,8 @@ export declare const useLinkEditorState: ({ initialSrc, onSetLink, }: SocialMedi
12
12
  setUrl: React.Dispatch<React.SetStateAction<string>>;
13
13
  onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
14
14
  handleSubmit: (e: React.FormEvent) => void;
15
+ isInline: boolean;
16
+ setIsInline: React.Dispatch<React.SetStateAction<boolean>>;
15
17
  };
16
18
  export declare const SocialMediaEditorPanel: ({ onSetLink, initialOpenInNewTab, initialSrc, placeholderText, buttonText, descriptionText, }: SocialMediaEditorPanelProps) => React.JSX.Element;
17
19
  //# sourceMappingURL=SocialMediaEditorPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SocialMediaEditorPanel.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAIrD,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,kBAAkB,+BAG5B,2BAA2B;;;sBAGS,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC;sBAOlE,KAAK,CAAC,SAAS;CAetB,CAAC;AAEF,eAAO,MAAM,sBAAsB,kGAOhC,2BAA2B,sBAsC7B,CAAC"}
1
+ {"version":3,"file":"SocialMediaEditorPanel.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAKrD,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,kBAAkB,+BAG5B,2BAA2B;;;sBAIS,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC;sBAOlE,KAAK,CAAC,SAAS;;;CAiBtB,CAAC;AAEF,eAAO,MAAM,sBAAsB,kGAOhC,2BAA2B,sBA6C7B,CAAC"}
@@ -2,8 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { useCallback, useState } from "react";
3
3
  import { Button } from "../../ui/Button/Button.js";
4
4
  import { Surface } from "../../ui/Surface.js";
5
+ import { CheckboxField } from "@payloadcms/ui";
5
6
  export const useLinkEditorState = ({ initialSrc, onSetLink })=>{
6
7
  const [url, setUrl] = useState(initialSrc || "");
8
+ const [isInline, setIsInline] = useState(false);
7
9
  const onChange = useCallback((event)=>{
8
10
  setUrl(event.target.value);
9
11
  }, []);
@@ -11,17 +13,20 @@ export const useLinkEditorState = ({ initialSrc, onSetLink })=>{
11
13
  const handleSubmit = useCallback((e)=>{
12
14
  e.preventDefault();
13
15
  // if (isValidUrl) {
14
- onSetLink(url);
16
+ onSetLink(url, isInline);
15
17
  // }
16
18
  }, [
17
19
  url,
18
- onSetLink
20
+ onSetLink,
21
+ isInline
19
22
  ]);
20
23
  return {
21
24
  url,
22
25
  setUrl,
23
26
  onChange,
24
- handleSubmit
27
+ handleSubmit,
28
+ isInline,
29
+ setIsInline
25
30
  };
26
31
  };
27
32
  export const SocialMediaEditorPanel = ({ onSetLink, initialOpenInNewTab, initialSrc, placeholderText, buttonText, descriptionText })=>{
@@ -60,6 +65,13 @@ export const SocialMediaEditorPanel = ({ onSetLink, initialOpenInNewTab, initial
60
65
  /*#__PURE__*/ _jsx("span", {
61
66
  className: "mt-1 mb-0 text-sm",
62
67
  children: descriptionText
68
+ }),
69
+ /*#__PURE__*/ _jsx(CheckboxField, {
70
+ label: "Inline Embed",
71
+ checked: state.isInline,
72
+ onChange: ()=>{
73
+ state.setIsInline((p)=>!p);
74
+ }
63
75
  })
64
76
  ]
65
77
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { Button } from \"../../ui/Button/Button.js\";\nimport { Surface } from \"../../ui/Surface.js\";\n\nexport type SocialMediaEditorPanelProps = {\n initialSrc?: string;\n initialOpenInNewTab?: boolean;\n onSetLink: (src: string) => void;\n placeholderText: string;\n buttonText: string;\n descriptionText: string;\n};\n\nexport const useLinkEditorState = ({\n initialSrc,\n onSetLink,\n}: SocialMediaEditorPanelProps) => {\n const [url, setUrl] = useState(initialSrc || \"\");\n\n const onChange = useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n setUrl(event.target.value);\n }, []);\n\n // const isValidUrl = useMemo(() => /^(\\S+):(\\/\\/)?\\S+$/.test(url), [url]);\n\n const handleSubmit = useCallback(\n (e: React.FormEvent) => {\n e.preventDefault();\n // if (isValidUrl) {\n onSetLink(url);\n // }\n },\n [url, onSetLink]\n );\n\n return {\n url,\n setUrl,\n onChange,\n handleSubmit,\n };\n};\n\nexport const SocialMediaEditorPanel = ({\n onSetLink,\n initialOpenInNewTab,\n initialSrc,\n placeholderText,\n buttonText,\n descriptionText,\n}: SocialMediaEditorPanelProps) => {\n const state = useLinkEditorState({\n onSetLink,\n initialOpenInNewTab,\n initialSrc,\n placeholderText,\n buttonText,\n descriptionText,\n });\n\n return (\n <Surface className=\"p-2\">\n <div className=\"flex flex-col items-center gap-2 p-1\">\n <label className=\"flex items-center gap-2 p-2 rounded-lg bg-neutral-100 dark:bg-neutral-900 cursor-text w-full\">\n {/* <Icon icon={Link} className=\"flex-none text-black dark:text-white\" /> */}\n <input\n className=\"flex-1 bg-transparent outline-none min-w-[276px] text-black text-sm dark:text-white\"\n placeholder={placeholderText}\n value={state.url}\n onChange={state.onChange}\n />\n </label>\n <Button\n variant=\"primary\"\n buttonSize=\"medium\"\n className=\"w-full m-2\"\n type=\"button\"\n onClick={(e) => {\n state.handleSubmit(e);\n }}\n // disabled={!state.isValidUrl}\n >\n {buttonText}\n </Button>\n <span className=\"mt-1 mb-0 text-sm\">{descriptionText}</span>\n </div>\n </Surface>\n );\n};\n"],"names":["React","useCallback","useState","Button","Surface","useLinkEditorState","initialSrc","onSetLink","url","setUrl","onChange","event","target","value","handleSubmit","e","preventDefault","SocialMediaEditorPanel","initialOpenInNewTab","placeholderText","buttonText","descriptionText","state","className","div","label","input","placeholder","variant","buttonSize","type","onClick","span"],"mappings":";AAAA,OAAOA,SAASC,WAAW,EAAEC,QAAQ,QAAQ,QAAQ;AACrD,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,OAAO,QAAQ,sBAAsB;AAW9C,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,UAAU,EACVC,SAAS,EACmB;IAC5B,MAAM,CAACC,KAAKC,OAAO,GAAGP,SAASI,cAAc;IAE7C,MAAMI,WAAWT,YAAY,CAACU;QAC5BF,OAAOE,MAAMC,MAAM,CAACC,KAAK;IAC3B,GAAG,EAAE;IAEL,2EAA2E;IAE3E,MAAMC,eAAeb,YACnB,CAACc;QACCA,EAAEC,cAAc;QAChB,oBAAoB;QACpBT,UAAUC;IACV,IAAI;IACN,GACA;QAACA;QAAKD;KAAU;IAGlB,OAAO;QACLC;QACAC;QACAC;QACAI;IACF;AACF,EAAE;AAEF,OAAO,MAAMG,yBAAyB,CAAC,EACrCV,SAAS,EACTW,mBAAmB,EACnBZ,UAAU,EACVa,eAAe,EACfC,UAAU,EACVC,eAAe,EACa;IAC5B,MAAMC,QAAQjB,mBAAmB;QAC/BE;QACAW;QACAZ;QACAa;QACAC;QACAC;IACF;IAEA,qBACE,KAACjB;QAAQmB,WAAU;kBACjB,cAAA,MAACC;YAAID,WAAU;;8BACb,KAACE;oBAAMF,WAAU;8BAEf,cAAA,KAACG;wBACCH,WAAU;wBACVI,aAAaR;wBACbN,OAAOS,MAAMd,GAAG;wBAChBE,UAAUY,MAAMZ,QAAQ;;;8BAG5B,KAACP;oBACCyB,SAAQ;oBACRC,YAAW;oBACXN,WAAU;oBACVO,MAAK;oBACLC,SAAS,CAAChB;wBACRO,MAAMR,YAAY,CAACC;oBACrB;8BAGCK;;8BAEH,KAACY;oBAAKT,WAAU;8BAAqBF;;;;;AAI7C,EAAE"}
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { Button } from \"../../ui/Button/Button.js\";\nimport { Surface } from \"../../ui/Surface.js\";\nimport { CheckboxField, CheckboxInput } from \"@payloadcms/ui\";\n\nexport type SocialMediaEditorPanelProps = {\n initialSrc?: string;\n initialOpenInNewTab?: boolean;\n onSetLink: (src: string, className?: boolean) => void;\n placeholderText: string;\n buttonText: string;\n descriptionText: string;\n};\n\nexport const useLinkEditorState = ({\n initialSrc,\n onSetLink,\n}: SocialMediaEditorPanelProps) => {\n const [url, setUrl] = useState(initialSrc || \"\");\n const [isInline, setIsInline] = useState(false);\n\n const onChange = useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n setUrl(event.target.value);\n }, []);\n\n // const isValidUrl = useMemo(() => /^(\\S+):(\\/\\/)?\\S+$/.test(url), [url]);\n\n const handleSubmit = useCallback(\n (e: React.FormEvent) => {\n e.preventDefault();\n // if (isValidUrl) {\n onSetLink(url, isInline);\n // }\n },\n [url, onSetLink, isInline]\n );\n\n return {\n url,\n setUrl,\n onChange,\n handleSubmit,\n isInline,\n setIsInline,\n };\n};\n\nexport const SocialMediaEditorPanel = ({\n onSetLink,\n initialOpenInNewTab,\n initialSrc,\n placeholderText,\n buttonText,\n descriptionText,\n}: SocialMediaEditorPanelProps) => {\n const state = useLinkEditorState({\n onSetLink,\n initialOpenInNewTab,\n initialSrc,\n placeholderText,\n buttonText,\n descriptionText,\n });\n\n return (\n <Surface className=\"p-2\">\n <div className=\"flex flex-col items-center gap-2 p-1\">\n <label className=\"flex items-center gap-2 p-2 rounded-lg bg-neutral-100 dark:bg-neutral-900 cursor-text w-full\">\n {/* <Icon icon={Link} className=\"flex-none text-black dark:text-white\" /> */}\n <input\n className=\"flex-1 bg-transparent outline-none min-w-[276px] text-black text-sm dark:text-white\"\n placeholder={placeholderText}\n value={state.url}\n onChange={state.onChange}\n />\n </label>\n <Button\n variant=\"primary\"\n buttonSize=\"medium\"\n className=\"w-full m-2\"\n type=\"button\"\n onClick={(e) => {\n state.handleSubmit(e);\n }}\n // disabled={!state.isValidUrl}\n >\n {buttonText}\n </Button>\n <span className=\"mt-1 mb-0 text-sm\">{descriptionText}</span>\n <CheckboxField\n label=\"Inline Embed\"\n checked={state.isInline}\n onChange={() => {\n state.setIsInline((p) => !p);\n }}\n />\n </div>\n </Surface>\n );\n};\n"],"names":["React","useCallback","useState","Button","Surface","CheckboxField","useLinkEditorState","initialSrc","onSetLink","url","setUrl","isInline","setIsInline","onChange","event","target","value","handleSubmit","e","preventDefault","SocialMediaEditorPanel","initialOpenInNewTab","placeholderText","buttonText","descriptionText","state","className","div","label","input","placeholder","variant","buttonSize","type","onClick","span","checked","p"],"mappings":";AAAA,OAAOA,SAASC,WAAW,EAAEC,QAAQ,QAAQ,QAAQ;AACrD,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,aAAa,QAAuB,iBAAiB;AAW9D,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,UAAU,EACVC,SAAS,EACmB;IAC5B,MAAM,CAACC,KAAKC,OAAO,GAAGR,SAASK,cAAc;IAC7C,MAAM,CAACI,UAAUC,YAAY,GAAGV,SAAS;IAEzC,MAAMW,WAAWZ,YAAY,CAACa;QAC5BJ,OAAOI,MAAMC,MAAM,CAACC,KAAK;IAC3B,GAAG,EAAE;IAEL,2EAA2E;IAE3E,MAAMC,eAAehB,YACnB,CAACiB;QACCA,EAAEC,cAAc;QAChB,oBAAoB;QACpBX,UAAUC,KAAKE;IACf,IAAI;IACN,GACA;QAACF;QAAKD;QAAWG;KAAS;IAG5B,OAAO;QACLF;QACAC;QACAG;QACAI;QACAN;QACAC;IACF;AACF,EAAE;AAEF,OAAO,MAAMQ,yBAAyB,CAAC,EACrCZ,SAAS,EACTa,mBAAmB,EACnBd,UAAU,EACVe,eAAe,EACfC,UAAU,EACVC,eAAe,EACa;IAC5B,MAAMC,QAAQnB,mBAAmB;QAC/BE;QACAa;QACAd;QACAe;QACAC;QACAC;IACF;IAEA,qBACE,KAACpB;QAAQsB,WAAU;kBACjB,cAAA,MAACC;YAAID,WAAU;;8BACb,KAACE;oBAAMF,WAAU;8BAEf,cAAA,KAACG;wBACCH,WAAU;wBACVI,aAAaR;wBACbN,OAAOS,MAAMhB,GAAG;wBAChBI,UAAUY,MAAMZ,QAAQ;;;8BAG5B,KAACV;oBACC4B,SAAQ;oBACRC,YAAW;oBACXN,WAAU;oBACVO,MAAK;oBACLC,SAAS,CAAChB;wBACRO,MAAMR,YAAY,CAACC;oBACrB;8BAGCK;;8BAEH,KAACY;oBAAKT,WAAU;8BAAqBF;;8BACrC,KAACnB;oBACCuB,OAAM;oBACNQ,SAASX,MAAMd,QAAQ;oBACvBE,UAAU;wBACRY,MAAMb,WAAW,CAAC,CAACyB,IAAM,CAACA;oBAC5B;;;;;AAKV,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/fields/TiptapEditor/hooks/useBlockEditor.ts"],"sourcesContent":["\"use client\";\nimport { useEffect, useMemo } from \"react\";\n\nimport { Editor, useEditor } from \"@tiptap/react\";\n\nimport ExtensionKit from \"../extensions/extension-kit.js\";\nimport { EditorUser } from \"../features/BlockEditor/types.js\";\nimport { useSidebar } from \"./useSidebar.js\";\n\nimport TurndownService from \"turndown\";\nimport { gfm } from \"turndown-plugin-gfm\";\nimport { AssetReturnType, openAssetHQType } from \"../types.js\";\nimport i18next from \"i18next\";\n\ndeclare global {\n interface Window {\n editor: Editor | null;\n }\n}\n\nconst dummyAssetHqHandler = (\n listener: (asset: AssetReturnType) => void,\n file?: File\n) => { };\n\nexport const useBlockEditor = ({\n content,\n handleChange,\n openAssetHQHandler,\n additionalContext,\n autoFocus,\n isEditable,\n}: {\n content: { html: string; json: any };\n handleChange?: (data: any) => void;\n openAssetHQHandler?: openAssetHQType;\n additionalContext?: Record<string, any>;\n autoFocus: boolean;\n isEditable?: boolean;\n}) => {\n const leftSidebar = useSidebar();\n\n const turndownService = new TurndownService({});\n // Use the gfm plugin\n turndownService.use(gfm);\n turndownService.addRule(\"twitter\", {\n filter: \"div\",\n replacement: function (content) {\n return \"\\n\\n\" + content + \"\\n\\n\";\n },\n });\n\n const editor = useEditor(\n {\n content: content?.json ?? content ?? {},\n immediatelyRender: false,\n autofocus: autoFocus ?? true,\n editable: isEditable ?? true,\n onCreate: ({ editor }) => ({\n // provider?.on('synced', () => {\n // if (editor.isEmpty) {\n // editor.commands.setContent(initialContent)\n // }\n // })\n }),\n extensions: [\n ...ExtensionKit({\n openAssetHQHandler: openAssetHQHandler ?? dummyAssetHqHandler,\n // provider,\n }),\n // Collaboration.configure({\n // document: ydoc,\n // }),\n // CollaborationCursor.configure({\n // provider,\n // user: {\n // name: randomElement(userNames),\n // color: randomElement(userColors),\n // },\n // }),\n ],\n editorProps: {\n attributes: {\n languages: i18next.language,\n autocomplete: \"off\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n class: \"min-h-full\",\n },\n },\n onUpdate: ({ editor }) => {\n handleChange(editor?.getJSON() ?? {});\n },\n },\n []\n );\n\n useEffect(() => {\n if (editor?.storage?.aiCommand) {\n editor.storage.aiCommand.title = additionalContext?.title ?? \"\";\n editor.storage.aiCommand.language = additionalContext?.language ?? \"\";\n }\n }, [editor, additionalContext]);\n\n const users = useMemo(() => {\n if (!editor?.storage?.collaborationCursor?.users) {\n return [];\n }\n\n return editor?.storage?.collaborationCursor?.users.map(\n (user: EditorUser) => {\n const names = user.name?.split(\" \");\n const firstName = names?.[0];\n const lastName = names?.[names.length - 1];\n const initials = `${firstName?.[0] || \"?\"}${lastName?.[0] || \"?\"}`;\n\n return { ...user, initials: initials.length ? initials : \"?\" };\n }\n );\n }, [editor?.storage.collaborationCursor?.users]);\n\n const characterCount = editor?.storage.characterCount || {\n characters: () => 0,\n words: () => 0,\n };\n\n // useEffect(() => {\n // provider?.on('status', (event: { status: WebSocketStatus }) => {\n // setCollabState(event.status)\n // })\n // }, [provider])\n\n if (typeof window != \"undefined\") window.editor = editor;\n\n return { editor, users, characterCount, leftSidebar };\n};\n"],"names":["useEffect","useMemo","useEditor","ExtensionKit","useSidebar","TurndownService","gfm","i18next","dummyAssetHqHandler","listener","file","useBlockEditor","content","handleChange","openAssetHQHandler","additionalContext","autoFocus","isEditable","leftSidebar","turndownService","use","addRule","filter","replacement","editor","json","immediatelyRender","autofocus","editable","onCreate","extensions","editorProps","attributes","languages","language","autocomplete","autocorrect","autocapitalize","class","onUpdate","getJSON","storage","aiCommand","title","users","collaborationCursor","map","user","names","name","split","firstName","lastName","length","initials","characterCount","characters","words","window"],"mappings":"AAAA;AACA,SAASA,SAAS,EAAEC,OAAO,QAAQ,QAAQ;AAE3C,SAAiBC,SAAS,QAAQ,gBAAgB;AAElD,OAAOC,kBAAkB,iCAAiC;AAE1D,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,OAAOC,qBAAqB,WAAW;AACvC,SAASC,GAAG,QAAQ,sBAAsB;AAE1C,OAAOC,aAAa,UAAU;AAQ9B,MAAMC,sBAAsB,CAC1BC,UACAC,QACK;AAEP,OAAO,MAAMC,iBAAiB,CAAC,EAC7BC,OAAO,EACPC,YAAY,EACZC,kBAAkB,EAClBC,iBAAiB,EACjBC,SAAS,EACTC,UAAU,EAQX;IACC,MAAMC,cAAcd;IAEpB,MAAMe,kBAAkB,IAAId,gBAAgB,CAAC;IAC7C,qBAAqB;IACrBc,gBAAgBC,GAAG,CAACd;IACpBa,gBAAgBE,OAAO,CAAC,WAAW;QACjCC,QAAQ;QACRC,aAAa,SAAUX,OAAO;YAC5B,OAAO,SAASA,UAAU;QAC5B;IACF;IAEA,MAAMY,SAAStB,UACb;QACEU,SAASA,SAASa,QAAQb,WAAW,CAAC;QACtCc,mBAAmB;QACnBC,WAAWX,aAAa;QACxBY,UAAUX,cAAc;QACxBY,UAAU,CAAC,EAAEL,MAAM,EAAE,GAAM,CAAA;YAM3B,CAAA;QACAM,YAAY;eACP3B,aAAa;gBACdW,oBAAoBA,sBAAsBN;YAE5C;SAWD;QACDuB,aAAa;YACXC,YAAY;gBACVC,WAAW1B,QAAQ2B,QAAQ;gBAC3BC,cAAc;gBACdC,aAAa;gBACbC,gBAAgB;gBAChBC,OAAO;YACT;QACF;QACAC,UAAU,CAAC,EAAEf,MAAM,EAAE;YACnBX,aAAaW,QAAQgB,aAAa,CAAC;QACrC;IACF,GACA,EAAE;IAGJxC,UAAU;QACR,IAAIwB,QAAQiB,SAASC,WAAW;YAC9BlB,OAAOiB,OAAO,CAACC,SAAS,CAACC,KAAK,GAAG5B,mBAAmB4B,SAAS;YAC7DnB,OAAOiB,OAAO,CAACC,SAAS,CAACR,QAAQ,GAAGnB,mBAAmBmB,YAAY;QACrE;IACF,GAAG;QAACV;QAAQT;KAAkB;IAE9B,MAAM6B,QAAQ3C,QAAQ;QACpB,IAAI,CAACuB,QAAQiB,SAASI,qBAAqBD,OAAO;YAChD,OAAO,EAAE;QACX;QAEA,OAAOpB,QAAQiB,SAASI,qBAAqBD,MAAME,IACjD,CAACC;YACC,MAAMC,QAAQD,KAAKE,IAAI,EAAEC,MAAM;YAC/B,MAAMC,YAAYH,OAAO,CAAC,EAAE;YAC5B,MAAMI,WAAWJ,OAAO,CAACA,MAAMK,MAAM,GAAG,EAAE;YAC1C,MAAMC,WAAW,GAAGH,WAAW,CAAC,EAAE,IAAI,MAAMC,UAAU,CAAC,EAAE,IAAI,KAAK;YAElE,OAAO;gBAAE,GAAGL,IAAI;gBAAEO,UAAUA,SAASD,MAAM,GAAGC,WAAW;YAAI;QAC/D;IAEJ,GAAG;QAAC9B,QAAQiB,QAAQI,qBAAqBD;KAAM;IAE/C,MAAMW,iBAAiB/B,QAAQiB,QAAQc,kBAAkB;QACvDC,YAAY,IAAM;QAClBC,OAAO,IAAM;IACf;IAEA,oBAAoB;IACpB,qEAAqE;IACrE,mCAAmC;IACnC,OAAO;IACP,iBAAiB;IAEjB,IAAI,OAAOC,UAAU,aAAaA,OAAOlC,MAAM,GAAGA;IAElD,OAAO;QAAEA;QAAQoB;QAAOW;QAAgBrC;IAAY;AACtD,EAAE"}
1
+ {"version":3,"sources":["../../../../../src/fields/TiptapEditor/hooks/useBlockEditor.ts"],"sourcesContent":["\"use client\";\nimport { useEffect, useMemo } from \"react\";\n\nimport { Editor, useEditor } from \"@tiptap/react\";\n\nimport ExtensionKit from \"../extensions/extension-kit.js\";\nimport { EditorUser } from \"../features/BlockEditor/types.js\";\nimport { useSidebar } from \"./useSidebar.js\";\n\nimport TurndownService from \"turndown\";\nimport { gfm } from \"turndown-plugin-gfm\";\nimport { AssetReturnType, openAssetHQType } from \"../types.js\";\nimport i18next from \"i18next\";\n\ndeclare global {\n interface Window {\n editor: Editor | null;\n }\n}\n\nconst dummyAssetHqHandler = (\n listener: (asset: AssetReturnType) => void,\n file?: File\n) => {};\n\nexport const useBlockEditor = ({\n content,\n handleChange,\n openAssetHQHandler,\n additionalContext,\n autoFocus,\n isEditable,\n}: {\n content: { html: string; json: any };\n handleChange?: (data: any) => void;\n openAssetHQHandler?: openAssetHQType;\n additionalContext?: Record<string, any>;\n autoFocus: boolean;\n isEditable?: boolean;\n}) => {\n const leftSidebar = useSidebar();\n\n const turndownService = new TurndownService({});\n // Use the gfm plugin\n turndownService.use(gfm);\n turndownService.addRule(\"twitter\", {\n filter: \"div\",\n replacement: function (content) {\n return \"\\n\\n\" + content + \"\\n\\n\";\n },\n });\n\n const editor = useEditor(\n {\n content: content?.json ?? content ?? {},\n immediatelyRender: false,\n autofocus: autoFocus ?? true,\n editable: isEditable ?? true,\n onCreate: ({ editor }) => ({\n // provider?.on('synced', () => {\n // if (editor.isEmpty) {\n // editor.commands.setContent(initialContent)\n // }\n // })\n }),\n extensions: [\n ...ExtensionKit({\n openAssetHQHandler: openAssetHQHandler ?? dummyAssetHqHandler,\n // provider,\n }),\n // Collaboration.configure({\n // document: ydoc,\n // }),\n // CollaborationCursor.configure({\n // provider,\n // user: {\n // name: randomElement(userNames),\n // color: randomElement(userColors),\n // },\n // }),\n ],\n editorProps: {\n attributes: {\n languages: i18next.language,\n autocomplete: \"off\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n class: \"min-h-full\",\n },\n },\n onUpdate: ({ editor }) => {\n handleChange(editor?.getJSON() ?? {});\n },\n },\n []\n );\n\n useEffect(() => {\n if (editor?.storage?.aiCommand) {\n editor.storage.aiCommand.title = additionalContext?.title ?? \"\";\n editor.storage.aiCommand.language = additionalContext?.language ?? \"\";\n }\n }, [editor, additionalContext]);\n\n const users = useMemo(() => {\n if (!editor?.storage?.collaborationCursor?.users) {\n return [];\n }\n\n return editor?.storage?.collaborationCursor?.users.map(\n (user: EditorUser) => {\n const names = user.name?.split(\" \");\n const firstName = names?.[0];\n const lastName = names?.[names.length - 1];\n const initials = `${firstName?.[0] || \"?\"}${lastName?.[0] || \"?\"}`;\n\n return { ...user, initials: initials.length ? initials : \"?\" };\n }\n );\n }, [editor?.storage.collaborationCursor?.users]);\n\n const characterCount = editor?.storage.characterCount || {\n characters: () => 0,\n words: () => 0,\n };\n\n // useEffect(() => {\n // provider?.on('status', (event: { status: WebSocketStatus }) => {\n // setCollabState(event.status)\n // })\n // }, [provider])\n\n if (typeof window != \"undefined\") window.editor = editor;\n\n return { editor, users, characterCount, leftSidebar };\n};\n"],"names":["useEffect","useMemo","useEditor","ExtensionKit","useSidebar","TurndownService","gfm","i18next","dummyAssetHqHandler","listener","file","useBlockEditor","content","handleChange","openAssetHQHandler","additionalContext","autoFocus","isEditable","leftSidebar","turndownService","use","addRule","filter","replacement","editor","json","immediatelyRender","autofocus","editable","onCreate","extensions","editorProps","attributes","languages","language","autocomplete","autocorrect","autocapitalize","class","onUpdate","getJSON","storage","aiCommand","title","users","collaborationCursor","map","user","names","name","split","firstName","lastName","length","initials","characterCount","characters","words","window"],"mappings":"AAAA;AACA,SAASA,SAAS,EAAEC,OAAO,QAAQ,QAAQ;AAE3C,SAAiBC,SAAS,QAAQ,gBAAgB;AAElD,OAAOC,kBAAkB,iCAAiC;AAE1D,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,OAAOC,qBAAqB,WAAW;AACvC,SAASC,GAAG,QAAQ,sBAAsB;AAE1C,OAAOC,aAAa,UAAU;AAQ9B,MAAMC,sBAAsB,CAC1BC,UACAC,QACI;AAEN,OAAO,MAAMC,iBAAiB,CAAC,EAC7BC,OAAO,EACPC,YAAY,EACZC,kBAAkB,EAClBC,iBAAiB,EACjBC,SAAS,EACTC,UAAU,EAQX;IACC,MAAMC,cAAcd;IAEpB,MAAMe,kBAAkB,IAAId,gBAAgB,CAAC;IAC7C,qBAAqB;IACrBc,gBAAgBC,GAAG,CAACd;IACpBa,gBAAgBE,OAAO,CAAC,WAAW;QACjCC,QAAQ;QACRC,aAAa,SAAUX,OAAO;YAC5B,OAAO,SAASA,UAAU;QAC5B;IACF;IAEA,MAAMY,SAAStB,UACb;QACEU,SAASA,SAASa,QAAQb,WAAW,CAAC;QACtCc,mBAAmB;QACnBC,WAAWX,aAAa;QACxBY,UAAUX,cAAc;QACxBY,UAAU,CAAC,EAAEL,MAAM,EAAE,GAAM,CAAA;YAM3B,CAAA;QACAM,YAAY;eACP3B,aAAa;gBACdW,oBAAoBA,sBAAsBN;YAE5C;SAWD;QACDuB,aAAa;YACXC,YAAY;gBACVC,WAAW1B,QAAQ2B,QAAQ;gBAC3BC,cAAc;gBACdC,aAAa;gBACbC,gBAAgB;gBAChBC,OAAO;YACT;QACF;QACAC,UAAU,CAAC,EAAEf,MAAM,EAAE;YACnBX,aAAaW,QAAQgB,aAAa,CAAC;QACrC;IACF,GACA,EAAE;IAGJxC,UAAU;QACR,IAAIwB,QAAQiB,SAASC,WAAW;YAC9BlB,OAAOiB,OAAO,CAACC,SAAS,CAACC,KAAK,GAAG5B,mBAAmB4B,SAAS;YAC7DnB,OAAOiB,OAAO,CAACC,SAAS,CAACR,QAAQ,GAAGnB,mBAAmBmB,YAAY;QACrE;IACF,GAAG;QAACV;QAAQT;KAAkB;IAE9B,MAAM6B,QAAQ3C,QAAQ;QACpB,IAAI,CAACuB,QAAQiB,SAASI,qBAAqBD,OAAO;YAChD,OAAO,EAAE;QACX;QAEA,OAAOpB,QAAQiB,SAASI,qBAAqBD,MAAME,IACjD,CAACC;YACC,MAAMC,QAAQD,KAAKE,IAAI,EAAEC,MAAM;YAC/B,MAAMC,YAAYH,OAAO,CAAC,EAAE;YAC5B,MAAMI,WAAWJ,OAAO,CAACA,MAAMK,MAAM,GAAG,EAAE;YAC1C,MAAMC,WAAW,GAAGH,WAAW,CAAC,EAAE,IAAI,MAAMC,UAAU,CAAC,EAAE,IAAI,KAAK;YAElE,OAAO;gBAAE,GAAGL,IAAI;gBAAEO,UAAUA,SAASD,MAAM,GAAGC,WAAW;YAAI;QAC/D;IAEJ,GAAG;QAAC9B,QAAQiB,QAAQI,qBAAqBD;KAAM;IAE/C,MAAMW,iBAAiB/B,QAAQiB,QAAQc,kBAAkB;QACvDC,YAAY,IAAM;QAClBC,OAAO,IAAM;IACf;IAEA,oBAAoB;IACpB,qEAAqE;IACrE,mCAAmC;IACnC,OAAO;IACP,iBAAiB;IAEjB,IAAI,OAAOC,UAAU,aAAaA,OAAOlC,MAAM,GAAGA;IAElD,OAAO;QAAEA;QAAQoB;QAAOW;QAAgBrC;IAAY;AACtD,EAAE"}