payload-richtext-tiptap 0.0.158 → 0.0.160

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 (69) hide show
  1. package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/BlockquoteFigure.d.ts +1 -1
  2. package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/BlockquoteFigure.d.ts.map +1 -1
  3. package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/BlockquoteFigure.js +61 -15
  4. package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/BlockquoteFigure.js.map +1 -1
  5. package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/Quote.d.ts.map +1 -1
  6. package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/Quote.js +1 -3
  7. package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/Quote.js.map +1 -1
  8. package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/QuoteCaption.js.map +1 -1
  9. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/GifPlayer.d.ts +12 -0
  10. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/GifPlayer.d.ts.map +1 -0
  11. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/GifPlayer.js +152 -0
  12. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/GifPlayer.js.map +1 -0
  13. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/SmartImage.d.ts +12 -0
  14. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/SmartImage.d.ts.map +1 -0
  15. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/SmartImage.js +55 -0
  16. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/SmartImage.js.map +1 -0
  17. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/TestImage.d.ts +4 -0
  18. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/TestImage.d.ts.map +1 -0
  19. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/TestImage.js +26 -0
  20. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/TestImage.js.map +1 -0
  21. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/utils/gifUtils.d.ts +31 -0
  22. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/utils/gifUtils.d.ts.map +1 -0
  23. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/utils/gifUtils.js +62 -0
  24. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/utils/gifUtils.js.map +1 -0
  25. package/dist/src/fields/TiptapEditor/extensions/Paragraph/Paragraph.d.ts.map +1 -1
  26. package/dist/src/fields/TiptapEditor/extensions/Paragraph/Paragraph.js +27 -4
  27. package/dist/src/fields/TiptapEditor/extensions/Paragraph/Paragraph.js.map +1 -1
  28. package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts +3 -3
  29. package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts.map +1 -1
  30. package/dist/src/fields/TiptapEditor/extensions/extension-kit.js +23 -21
  31. package/dist/src/fields/TiptapEditor/extensions/extension-kit.js.map +1 -1
  32. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.d.ts +2 -2
  33. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.d.ts.map +1 -1
  34. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.js +55 -61
  35. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.js.map +1 -1
  36. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashCommandTriggerButton.d.ts +4 -0
  37. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashCommandTriggerButton.d.ts.map +1 -0
  38. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashCommandTriggerButton.js +32 -0
  39. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashCommandTriggerButton.js.map +1 -0
  40. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashDropdownMenu.d.ts +4 -0
  41. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashDropdownMenu.d.ts.map +1 -0
  42. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashDropdownMenu.js +70 -0
  43. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashDropdownMenu.js.map +1 -0
  44. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashMenuList.d.ts +10 -0
  45. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashMenuList.d.ts.map +1 -0
  46. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashMenuList.js +249 -0
  47. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashMenuList.js.map +1 -0
  48. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SuggestionMenu.d.ts +15 -0
  49. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SuggestionMenu.d.ts.map +1 -0
  50. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SuggestionMenu.js +291 -0
  51. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SuggestionMenu.js.map +1 -0
  52. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/index.d.ts +7 -0
  53. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/index.d.ts.map +1 -0
  54. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/index.js +7 -0
  55. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/index.js.map +1 -0
  56. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/types.d.ts +28 -0
  57. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/types.d.ts.map +1 -0
  58. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/types.js +3 -0
  59. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/types.js.map +1 -0
  60. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/utils.d.ts +6 -0
  61. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/utils.d.ts.map +1 -0
  62. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/utils.js +222 -0
  63. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/utils.js.map +1 -0
  64. package/dist/src/fields/TiptapEditor/lib/utils/updateImageUrl.d.ts +2 -0
  65. package/dist/src/fields/TiptapEditor/lib/utils/updateImageUrl.d.ts.map +1 -0
  66. package/dist/src/fields/TiptapEditor/lib/utils/updateImageUrl.js +17 -0
  67. package/dist/src/fields/TiptapEditor/lib/utils/updateImageUrl.js.map +1 -0
  68. package/dist/tsconfig.tsbuildinfo +1 -1
  69. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/utils/gifUtils.ts"],"sourcesContent":["/**\r\n * Utility functions for GIF handling\r\n */\r\n\r\n/**\r\n * Checks if a URL or file path points to a GIF file\r\n * @param src - The source URL or file path\r\n * @returns true if the source is a GIF file\r\n */\r\nexport const isGifFile = (src: string): boolean => {\r\n if (!src) return false\r\n\r\n // Check file extension\r\n const extension = src.toLowerCase().split('.').pop()\r\n if (extension === 'gif') {\r\n return true\r\n }\r\n\r\n // Check for GIF in URL path (even without extension)\r\n const urlPath = src.toLowerCase()\r\n if (urlPath.includes('.gif') || urlPath.includes('gif')) {\r\n return true\r\n }\r\n\r\n return false\r\n}\r\n\r\n/**\r\n * Checks if a URL is a data URL containing a GIF\r\n * @param src - The source URL\r\n * @returns true if the source is a data URL with GIF data\r\n */\r\nexport const isGifDataUrl = (src: string): boolean => {\r\n if (!src || !src.startsWith('data:')) return false\r\n\r\n // Check for GIF MIME type in data URL\r\n return src.includes('data:image/gif') || src.includes('image/gif')\r\n}\r\n\r\n/**\r\n * Determines if an image source should be rendered as a GIF\r\n * @param src - The image source URL\r\n * @returns true if the source should be rendered as a GIF\r\n */\r\nexport const shouldRenderAsGif = (src: string): boolean => {\r\n return isGifFile(src) || isGifDataUrl(src)\r\n}\r\n\r\n/**\r\n * Extracts dimensions from a GIF source for proper canvas sizing\r\n * @param src - The GIF source URL\r\n * @returns Promise resolving to width and height, or null if extraction fails\r\n */\r\nexport const getGifDimensions = async (\r\n src: string,\r\n): Promise<{ width: number; height: number } | null> => {\r\n try {\r\n const response = await fetch(src)\r\n if (!response.ok) return null\r\n\r\n const arrayBuffer = await response.arrayBuffer()\r\n const uint8Array = new Uint8Array(arrayBuffer)\r\n\r\n // Parse GIF header to get dimensions\r\n if (uint8Array.length < 10) return null\r\n\r\n // GIF header: 6 bytes signature + 2 bytes width + 2 bytes height\r\n const width = uint8Array[6] | (uint8Array[7] << 8)\r\n const height = uint8Array[8] | (uint8Array[9] << 8)\r\n\r\n return { width, height }\r\n } catch (error) {\r\n console.warn('Failed to extract GIF dimensions:', error)\r\n return null\r\n }\r\n}\r\n"],"names":["isGifFile","src","extension","toLowerCase","split","pop","urlPath","includes","isGifDataUrl","startsWith","shouldRenderAsGif","getGifDimensions","response","fetch","ok","arrayBuffer","uint8Array","Uint8Array","length","width","height","error","console","warn"],"mappings":"AAAA;;CAEC,GAED;;;;CAIC,GACD,OAAO,MAAMA,YAAY,CAACC;IACxB,IAAI,CAACA,KAAK,OAAO;IAEjB,uBAAuB;IACvB,MAAMC,YAAYD,IAAIE,WAAW,GAAGC,KAAK,CAAC,KAAKC,GAAG;IAClD,IAAIH,cAAc,OAAO;QACvB,OAAO;IACT;IAEA,qDAAqD;IACrD,MAAMI,UAAUL,IAAIE,WAAW;IAC/B,IAAIG,QAAQC,QAAQ,CAAC,WAAWD,QAAQC,QAAQ,CAAC,QAAQ;QACvD,OAAO;IACT;IAEA,OAAO;AACT,EAAC;AAED;;;;CAIC,GACD,OAAO,MAAMC,eAAe,CAACP;IAC3B,IAAI,CAACA,OAAO,CAACA,IAAIQ,UAAU,CAAC,UAAU,OAAO;IAE7C,sCAAsC;IACtC,OAAOR,IAAIM,QAAQ,CAAC,qBAAqBN,IAAIM,QAAQ,CAAC;AACxD,EAAC;AAED;;;;CAIC,GACD,OAAO,MAAMG,oBAAoB,CAACT;IAChC,OAAOD,UAAUC,QAAQO,aAAaP;AACxC,EAAC;AAED;;;;CAIC,GACD,OAAO,MAAMU,mBAAmB,OAC9BV;IAEA,IAAI;QACF,MAAMW,WAAW,MAAMC,MAAMZ;QAC7B,IAAI,CAACW,SAASE,EAAE,EAAE,OAAO;QAEzB,MAAMC,cAAc,MAAMH,SAASG,WAAW;QAC9C,MAAMC,aAAa,IAAIC,WAAWF;QAElC,qCAAqC;QACrC,IAAIC,WAAWE,MAAM,GAAG,IAAI,OAAO;QAEnC,iEAAiE;QACjE,MAAMC,QAAQH,UAAU,CAAC,EAAE,GAAIA,UAAU,CAAC,EAAE,IAAI;QAChD,MAAMI,SAASJ,UAAU,CAAC,EAAE,GAAIA,UAAU,CAAC,EAAE,IAAI;QAEjD,OAAO;YAAEG;YAAOC;QAAO;IACzB,EAAE,OAAOC,OAAO;QACdC,QAAQC,IAAI,CAAC,qCAAqCF;QAClD,OAAO;IACT;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Paragraph.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/Paragraph/Paragraph.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,0FAcpB,CAAC;AAEH,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"Paragraph.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/Paragraph/Paragraph.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,0FAsCpB,CAAA;AAEF,eAAe,SAAS,CAAA"}
@@ -1,13 +1,13 @@
1
- import { mergeAttributes } from "@tiptap/core";
2
- import TiptapParagraph from "@tiptap/extension-paragraph";
1
+ import { mergeAttributes } from '@tiptap/core';
2
+ import TiptapParagraph from '@tiptap/extension-paragraph';
3
3
  export const Paragraph = TiptapParagraph.extend({
4
4
  addAttributes () {
5
5
  return {
6
6
  textAlign: {
7
- default: ""
7
+ default: ''
8
8
  },
9
9
  class: {
10
- default: ""
10
+ default: ''
11
11
  }
12
12
  };
13
13
  },
@@ -17,6 +17,29 @@ export const Paragraph = TiptapParagraph.extend({
17
17
  mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),
18
18
  0
19
19
  ];
20
+ },
21
+ addKeyboardShortcuts () {
22
+ return {
23
+ Backspace: ({ editor })=>{
24
+ const { state } = editor;
25
+ const { selection } = state;
26
+ const { $from, empty } = selection;
27
+ if (!empty) {
28
+ return false;
29
+ }
30
+ if ($from.parent.type.name !== 'paragraph') {
31
+ return false;
32
+ }
33
+ const isEmpty = $from.parent.content.size === 0;
34
+ const isAtStart = $from.parentOffset === 0;
35
+ // If the paragraph is empty and we're at the start, delete it
36
+ if (isEmpty && isAtStart) {
37
+ const pos = $from.before();
38
+ return editor.chain().setNodeSelection(pos).deleteSelection().run();
39
+ }
40
+ return false;
41
+ }
42
+ };
20
43
  }
21
44
  });
22
45
  export default Paragraph;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Paragraph/Paragraph.ts"],"sourcesContent":["import { mergeAttributes } from \"@tiptap/core\";\r\nimport TiptapParagraph from \"@tiptap/extension-paragraph\";\r\n\r\nexport const Paragraph = TiptapParagraph.extend({\r\n addAttributes() {\r\n return {\r\n textAlign: { default: \"\" },\r\n class: { default: \"\" },\r\n };\r\n },\r\n renderHTML({ node, HTMLAttributes }) {\r\n return [\r\n 'p',\r\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\r\n 0,\r\n ];\r\n },\r\n});\r\n\r\nexport default Paragraph;\r\n"],"names":["mergeAttributes","TiptapParagraph","Paragraph","extend","addAttributes","textAlign","default","class","renderHTML","node","HTMLAttributes","options"],"mappings":"AAAA,SAASA,eAAe,QAAQ,eAAe;AAC/C,OAAOC,qBAAqB,8BAA8B;AAE1D,OAAO,MAAMC,YAAYD,gBAAgBE,MAAM,CAAC;IAC9CC;QACE,OAAO;YACLC,WAAW;gBAAEC,SAAS;YAAG;YACzBC,OAAO;gBAAED,SAAS;YAAG;QACvB;IACF;IACAE,YAAW,EAAEC,IAAI,EAAEC,cAAc,EAAE;QACjC,OAAO;YACL;YACAV,gBAAgB,IAAI,CAACW,OAAO,CAACD,cAAc,EAAEA;YAC7C;SACD;IACH;AACF,GAAG;AAEH,eAAeR,UAAU"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/Paragraph/Paragraph.ts"],"sourcesContent":["import { mergeAttributes } from '@tiptap/core'\r\nimport TiptapParagraph from '@tiptap/extension-paragraph'\r\n\r\nexport const Paragraph = TiptapParagraph.extend({\r\n addAttributes() {\r\n return {\r\n textAlign: { default: '' },\r\n class: { default: '' },\r\n }\r\n },\r\n renderHTML({ node, HTMLAttributes }) {\r\n return ['p', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0]\r\n },\r\n addKeyboardShortcuts() {\r\n return {\r\n Backspace: ({ editor }) => {\r\n const { state } = editor\r\n const { selection } = state\r\n const { $from, empty } = selection\r\n\r\n if (!empty) {\r\n return false\r\n }\r\n\r\n if ($from.parent.type.name !== 'paragraph') {\r\n return false\r\n }\r\n\r\n const isEmpty = $from.parent.content.size === 0\r\n const isAtStart = $from.parentOffset === 0\r\n\r\n // If the paragraph is empty and we're at the start, delete it\r\n if (isEmpty && isAtStart) {\r\n const pos = $from.before()\r\n return editor.chain().setNodeSelection(pos).deleteSelection().run()\r\n }\r\n\r\n return false\r\n },\r\n }\r\n },\r\n})\r\n\r\nexport default Paragraph\r\n"],"names":["mergeAttributes","TiptapParagraph","Paragraph","extend","addAttributes","textAlign","default","class","renderHTML","node","HTMLAttributes","options","addKeyboardShortcuts","Backspace","editor","state","selection","$from","empty","parent","type","name","isEmpty","content","size","isAtStart","parentOffset","pos","before","chain","setNodeSelection","deleteSelection","run"],"mappings":"AAAA,SAASA,eAAe,QAAQ,eAAc;AAC9C,OAAOC,qBAAqB,8BAA6B;AAEzD,OAAO,MAAMC,YAAYD,gBAAgBE,MAAM,CAAC;IAC9CC;QACE,OAAO;YACLC,WAAW;gBAAEC,SAAS;YAAG;YACzBC,OAAO;gBAAED,SAAS;YAAG;QACvB;IACF;IACAE,YAAW,EAAEC,IAAI,EAAEC,cAAc,EAAE;QACjC,OAAO;YAAC;YAAKV,gBAAgB,IAAI,CAACW,OAAO,CAACD,cAAc,EAAEA;YAAiB;SAAE;IAC/E;IACAE;QACE,OAAO;YACLC,WAAW,CAAC,EAAEC,MAAM,EAAE;gBACpB,MAAM,EAAEC,KAAK,EAAE,GAAGD;gBAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;gBACtB,MAAM,EAAEE,KAAK,EAAEC,KAAK,EAAE,GAAGF;gBAEzB,IAAI,CAACE,OAAO;oBACV,OAAO;gBACT;gBAEA,IAAID,MAAME,MAAM,CAACC,IAAI,CAACC,IAAI,KAAK,aAAa;oBAC1C,OAAO;gBACT;gBAEA,MAAMC,UAAUL,MAAME,MAAM,CAACI,OAAO,CAACC,IAAI,KAAK;gBAC9C,MAAMC,YAAYR,MAAMS,YAAY,KAAK;gBAEzC,8DAA8D;gBAC9D,IAAIJ,WAAWG,WAAW;oBACxB,MAAME,MAAMV,MAAMW,MAAM;oBACxB,OAAOd,OAAOe,KAAK,GAAGC,gBAAgB,CAACH,KAAKI,eAAe,GAAGC,GAAG;gBACnE;gBAEA,OAAO;YACT;QACF;IACF;AACF,GAAE;AAEF,eAAe9B,UAAS"}
@@ -1,8 +1,8 @@
1
- import { openAssetHQType } from "../types.js";
1
+ import { openAssetHQType } from '../types.js';
2
2
  interface ExtensionKitProps {
3
3
  openAssetHQHandler: openAssetHQType;
4
- dir?: "ltr" | "rtl";
4
+ dir?: 'ltr' | 'rtl';
5
5
  }
6
- export declare const ExtensionKit: ({ dir, openAssetHQHandler, }: ExtensionKitProps) => (import("@tiptap/core").Node<any, any> | import("@tiptap/core").Extension<any, any> | import("@tiptap/core").Mark<import("@tiptap/extension-subscript").SubscriptExtensionOptions, any>)[];
6
+ export declare const ExtensionKit: ({ dir, openAssetHQHandler }: ExtensionKitProps) => (import("@tiptap/core").Node<any, any> | import("@tiptap/core").Extension<any, any> | import("@tiptap/core").Mark<import("@tiptap/extension-subscript").SubscriptExtensionOptions, any>)[];
7
7
  export default ExtensionKit;
8
8
  //# sourceMappingURL=extension-kit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extension-kit.d.ts","sourceRoot":"","sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"names":[],"mappings":"AAiDA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,UAAU,iBAAiB;IACzB,kBAAkB,EAAE,eAAe,CAAC;IACpC,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,iCAGtB,iBAAiB,+LA6HnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"extension-kit.d.ts","sourceRoot":"","sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"names":[],"mappings":"AAkDA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAI7C,UAAU,iBAAiB;IACzB,kBAAkB,EAAE,eAAe,CAAA;IACnC,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;CACpB;AAED,eAAO,MAAM,YAAY,gCAAyC,iBAAiB,+LA4HlF,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -1,11 +1,11 @@
1
- import { AICommand, AudioBlock, BlockquoteFigure, CharacterCount, Document, Dropcursor, Facebook, Figcaption, FileHandler, Focus, Heading, HorizontalRule, LinkPreview, ImageBlock, InsideLinks, Instagram, Link, Linkedin, Placeholder, Selection, SlashCommand, StarterKit, Subscript, Superscript, TaskItem, TaskList, TextAlign, TextStyle, Tiktok, TrailingNode, Twitter, Typography, Underline, VideoBlock, Youtube, Iframe, BulletList } from "./index.js";
2
- import { ImageUpload } from "./ImageUpload/ImageUpload.js";
3
- import History from "@tiptap/extension-history";
4
- import { Markdown } from "tiptap-markdown";
5
- import API from "../lib/api.js";
6
- import i18next from "i18next";
7
- import { getAssetActualSize } from "./ImageUpload/getImageActualSize.js";
8
- export const ExtensionKit = ({ dir = "ltr", openAssetHQHandler })=>[
1
+ import { AICommand, AudioBlock, BlockquoteFigure, CharacterCount, Document, Dropcursor, Facebook, Figcaption, FileHandler, Focus, Heading, HorizontalRule, LinkPreview, ImageBlock, InsideLinks, Instagram, Link, Linkedin, Paragraph, Placeholder, Selection, SlashCommand, StarterKit, Subscript, Superscript, TaskItem, TaskList, TextAlign, TextStyle, Tiktok, Twitter, Typography, Underline, VideoBlock, Youtube, Iframe, BulletList } from './index.js';
2
+ import { ImageUpload } from './ImageUpload/ImageUpload.js';
3
+ import History from '@tiptap/extension-history';
4
+ import { Markdown } from 'tiptap-markdown';
5
+ import API from '../lib/api.js';
6
+ import i18next from 'i18next';
7
+ import { getAssetActualSize } from './ImageUpload/getImageActualSize.js';
8
+ export const ExtensionKit = ({ dir = 'ltr', openAssetHQHandler })=>[
9
9
  Markdown,
10
10
  Document,
11
11
  TaskList,
@@ -31,13 +31,15 @@ export const ExtensionKit = ({ dir = "ltr", openAssetHQHandler })=>[
31
31
  horizontalRule: false,
32
32
  blockquote: false,
33
33
  history: false,
34
- codeBlock: false
34
+ codeBlock: false,
35
+ paragraph: false
35
36
  }),
37
+ Paragraph,
36
38
  TextStyle,
37
39
  // FontSize,
38
40
  // FontFamily,
39
41
  // Color,
40
- TrailingNode,
42
+ // TrailingNode,
41
43
  Link.configure({
42
44
  openOnClick: false
43
45
  }),
@@ -54,17 +56,17 @@ export const ExtensionKit = ({ dir = "ltr", openAssetHQHandler })=>[
54
56
  AudioBlock,
55
57
  FileHandler.configure({
56
58
  allowedMimeTypes: [
57
- "image/png",
58
- "image/jpeg",
59
- "image/gif",
60
- "image/webp"
59
+ 'image/png',
60
+ 'image/jpeg',
61
+ 'image/gif',
62
+ 'image/webp'
61
63
  ],
62
64
  onDrop: (currentEditor, files, pos)=>{
63
65
  const file = files[0];
64
66
  (async ()=>{
65
67
  openAssetHQHandler((asset)=>{
66
68
  let title = asset.title;
67
- if (i18next.language !== "en" && !!asset.title_locale[i18next.language.toUpperCase()]) {
69
+ if (i18next.language !== 'en' && !!asset.title_locale[i18next.language.toUpperCase()]) {
68
70
  title = asset.title_locale[i18next.language.toUpperCase()];
69
71
  }
70
72
  const { actualHeight, actualWidth } = getAssetActualSize(asset);
@@ -75,7 +77,7 @@ export const ExtensionKit = ({ dir = "ltr", openAssetHQHandler })=>[
75
77
  actualHeight,
76
78
  actualWidth
77
79
  }).focus().run();
78
- }, file, "image");
80
+ }, file, 'image');
79
81
  })();
80
82
  },
81
83
  onPaste: (currentEditor, files)=>{
@@ -97,10 +99,10 @@ export const ExtensionKit = ({ dir = "ltr", openAssetHQHandler })=>[
97
99
  return {};
98
100
  }
99
101
  }).configure({
100
- defaultAlignment: dir === "rtl" ? "right" : "left",
102
+ defaultAlignment: dir === 'rtl' ? 'right' : 'left',
101
103
  types: [
102
- "heading",
103
- "paragraph"
104
+ 'heading',
105
+ 'paragraph'
104
106
  ]
105
107
  }),
106
108
  Subscript,
@@ -109,7 +111,7 @@ export const ExtensionKit = ({ dir = "ltr", openAssetHQHandler })=>[
109
111
  Placeholder.configure({
110
112
  includeChildren: true,
111
113
  showOnlyCurrent: false,
112
- placeholder: ()=>""
114
+ placeholder: ()=>''
113
115
  }),
114
116
  SlashCommand,
115
117
  Focus,
@@ -117,7 +119,7 @@ export const ExtensionKit = ({ dir = "ltr", openAssetHQHandler })=>[
117
119
  BlockquoteFigure,
118
120
  Dropcursor.configure({
119
121
  width: 2,
120
- class: "ProseMirror-dropcursor border-black"
122
+ class: 'ProseMirror-dropcursor border-black'
121
123
  }),
122
124
  History,
123
125
  Twitter,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"sourcesContent":["import {\r\n AICommand,\r\n AudioBlock,\r\n BlockquoteFigure,\r\n CharacterCount,\r\n Color,\r\n Document,\r\n Dropcursor,\r\n Facebook,\r\n Figcaption,\r\n FileHandler,\r\n Focus,\r\n FontFamily,\r\n FontSize,\r\n Heading,\r\n Highlight,\r\n HorizontalRule,\r\n LinkPreview,\r\n ImageBlock,\r\n InsideLinks,\r\n Instagram,\r\n Link,\r\n Linkedin,\r\n Placeholder,\r\n Selection,\r\n SlashCommand,\r\n StarterKit,\r\n Subscript,\r\n Superscript,\r\n TaskItem,\r\n TaskList,\r\n TextAlign,\r\n TextStyle,\r\n Tiktok,\r\n TrailingNode,\r\n Twitter,\r\n Typography,\r\n Underline,\r\n VideoBlock,\r\n Youtube,\r\n Iframe,\r\n BulletList,\r\n} from \"./index.js\";\r\n\r\nimport { ImageUpload } from \"./ImageUpload/ImageUpload.js\";\r\n\r\nimport History from \"@tiptap/extension-history\";\r\nimport { Markdown } from \"tiptap-markdown\";\r\nimport API from \"../lib/api.js\";\r\nimport { openAssetHQType } from \"../types.js\";\r\nimport i18next from \"i18next\";\r\nimport { getAssetActualSize } from \"./ImageUpload/getImageActualSize.js\";\r\n\r\ninterface ExtensionKitProps {\r\n openAssetHQHandler: openAssetHQType;\r\n dir?: \"ltr\" | \"rtl\";\r\n}\r\n\r\nexport const ExtensionKit = ({\r\n dir = \"ltr\",\r\n openAssetHQHandler,\r\n}: ExtensionKitProps) => [\r\n Markdown,\r\n Document,\r\n TaskList,\r\n TaskItem.configure({\r\n nested: true,\r\n }),\r\n Selection,\r\n Heading.configure({\r\n levels: [1, 2, 3, 4, 5, 6],\r\n }),\r\n HorizontalRule,\r\n StarterKit.configure({\r\n document: false,\r\n dropcursor: false,\r\n heading: false,\r\n horizontalRule: false,\r\n blockquote: false,\r\n history: false,\r\n codeBlock: false,\r\n }),\r\n TextStyle,\r\n // FontSize,\r\n // FontFamily,\r\n // Color,\r\n TrailingNode,\r\n Link.configure({\r\n openOnClick: false,\r\n }),\r\n // Highlight.configure({ multicolor: true }),\r\n Underline,\r\n CharacterCount.configure({ limit: 50000 }),\r\n ImageUpload.configure({\r\n openAssetHQHandler,\r\n }),\r\n ImageBlock,\r\n VideoBlock,\r\n AudioBlock,\r\n FileHandler.configure({\r\n allowedMimeTypes: [\"image/png\", \"image/jpeg\", \"image/gif\", \"image/webp\"],\r\n onDrop: (currentEditor, files, pos) => {\r\n const file = files[0];\r\n (async () => {\r\n openAssetHQHandler(\r\n (asset) => {\r\n let title = asset.title;\r\n if (\r\n i18next.language !== \"en\" &&\r\n !!asset.title_locale[i18next.language.toUpperCase()]\r\n ) {\r\n title = asset.title_locale[i18next.language.toUpperCase()];\r\n }\r\n const { actualHeight, actualWidth } = getAssetActualSize(asset);\r\n currentEditor\r\n .chain()\r\n .setImageBlockAt({\r\n pos,\r\n src: asset?.optimizedImageUrl || asset.fullUrl,\r\n caption: title,\r\n actualHeight,\r\n actualWidth,\r\n })\r\n .focus()\r\n .run();\r\n },\r\n file,\r\n \"image\"\r\n );\r\n })();\r\n },\r\n onPaste: (currentEditor, files) => {\r\n files.forEach(async () => {\r\n const url = await API.uploadImage();\r\n\r\n return currentEditor\r\n .chain()\r\n .setImageBlockAt({\r\n pos: currentEditor.state.selection.anchor,\r\n src: url,\r\n })\r\n .focus()\r\n .run();\r\n });\r\n },\r\n }),\r\n // Emoji.configure({\r\n // enableEmoticons: true,\r\n // suggestion: emojiSuggestion,\r\n // }),\r\n TextAlign.extend({\r\n addKeyboardShortcuts() {\r\n return {};\r\n },\r\n }).configure({\r\n defaultAlignment: dir === \"rtl\" ? \"right\" : \"left\",\r\n types: [\"heading\", \"paragraph\"],\r\n }),\r\n Subscript,\r\n Superscript,\r\n Typography,\r\n Placeholder.configure({\r\n includeChildren: true,\r\n showOnlyCurrent: false,\r\n placeholder: () => \"\",\r\n }),\r\n SlashCommand,\r\n Focus,\r\n Figcaption,\r\n BlockquoteFigure,\r\n Dropcursor.configure({\r\n width: 2,\r\n class: \"ProseMirror-dropcursor border-black\",\r\n }),\r\n History,\r\n Twitter,\r\n Tiktok,\r\n Instagram,\r\n Facebook,\r\n Linkedin,\r\n Youtube,\r\n InsideLinks,\r\n Iframe,\r\n AICommand,\r\n LinkPreview,\r\n BulletList,\r\n];\r\n\r\nexport default ExtensionKit;\r\n"],"names":["AICommand","AudioBlock","BlockquoteFigure","CharacterCount","Document","Dropcursor","Facebook","Figcaption","FileHandler","Focus","Heading","HorizontalRule","LinkPreview","ImageBlock","InsideLinks","Instagram","Link","Linkedin","Placeholder","Selection","SlashCommand","StarterKit","Subscript","Superscript","TaskItem","TaskList","TextAlign","TextStyle","Tiktok","TrailingNode","Twitter","Typography","Underline","VideoBlock","Youtube","Iframe","BulletList","ImageUpload","History","Markdown","API","i18next","getAssetActualSize","ExtensionKit","dir","openAssetHQHandler","configure","nested","levels","document","dropcursor","heading","horizontalRule","blockquote","history","codeBlock","openOnClick","limit","allowedMimeTypes","onDrop","currentEditor","files","pos","file","asset","title","language","title_locale","toUpperCase","actualHeight","actualWidth","chain","setImageBlockAt","src","optimizedImageUrl","fullUrl","caption","focus","run","onPaste","forEach","url","uploadImage","state","selection","anchor","extend","addKeyboardShortcuts","defaultAlignment","types","includeChildren","showOnlyCurrent","placeholder","width","class"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"sourcesContent":["import {\r\n AICommand,\r\n AudioBlock,\r\n BlockquoteFigure,\r\n CharacterCount,\r\n Color,\r\n Document,\r\n Dropcursor,\r\n Facebook,\r\n Figcaption,\r\n FileHandler,\r\n Focus,\r\n FontFamily,\r\n FontSize,\r\n Heading,\r\n Highlight,\r\n HorizontalRule,\r\n LinkPreview,\r\n ImageBlock,\r\n InsideLinks,\r\n Instagram,\r\n Link,\r\n Linkedin,\r\n Paragraph,\r\n Placeholder,\r\n Selection,\r\n SlashCommand,\r\n StarterKit,\r\n Subscript,\r\n Superscript,\r\n TaskItem,\r\n TaskList,\r\n TextAlign,\r\n TextStyle,\r\n Tiktok,\r\n TrailingNode,\r\n Twitter,\r\n Typography,\r\n Underline,\r\n VideoBlock,\r\n Youtube,\r\n Iframe,\r\n BulletList,\r\n} from './index.js'\r\n\r\nimport { ImageUpload } from './ImageUpload/ImageUpload.js'\r\n\r\nimport History from '@tiptap/extension-history'\r\nimport { Markdown } from 'tiptap-markdown'\r\nimport API from '../lib/api.js'\r\nimport { openAssetHQType } from '../types.js'\r\nimport i18next from 'i18next'\r\nimport { getAssetActualSize } from './ImageUpload/getImageActualSize.js'\r\n\r\ninterface ExtensionKitProps {\r\n openAssetHQHandler: openAssetHQType\r\n dir?: 'ltr' | 'rtl'\r\n}\r\n\r\nexport const ExtensionKit = ({ dir = 'ltr', openAssetHQHandler }: ExtensionKitProps) => [\r\n Markdown,\r\n Document,\r\n TaskList,\r\n TaskItem.configure({\r\n nested: true,\r\n }),\r\n Selection,\r\n Heading.configure({\r\n levels: [1, 2, 3, 4, 5, 6],\r\n }),\r\n HorizontalRule,\r\n StarterKit.configure({\r\n document: false,\r\n dropcursor: false,\r\n heading: false,\r\n horizontalRule: false,\r\n blockquote: false,\r\n history: false,\r\n codeBlock: false,\r\n paragraph: false,\r\n }),\r\n Paragraph,\r\n TextStyle,\r\n // FontSize,\r\n // FontFamily,\r\n // Color,\r\n // TrailingNode,\r\n Link.configure({\r\n openOnClick: false,\r\n }),\r\n // Highlight.configure({ multicolor: true }),\r\n Underline,\r\n CharacterCount.configure({ limit: 50000 }),\r\n ImageUpload.configure({\r\n openAssetHQHandler,\r\n }),\r\n ImageBlock,\r\n VideoBlock,\r\n AudioBlock,\r\n FileHandler.configure({\r\n allowedMimeTypes: ['image/png', 'image/jpeg', 'image/gif', 'image/webp'],\r\n onDrop: (currentEditor, files, pos) => {\r\n const file = files[0]\r\n ;(async () => {\r\n openAssetHQHandler(\r\n (asset) => {\r\n let title = asset.title\r\n if (i18next.language !== 'en' && !!asset.title_locale[i18next.language.toUpperCase()]) {\r\n title = asset.title_locale[i18next.language.toUpperCase()]\r\n }\r\n const { actualHeight, actualWidth } = getAssetActualSize(asset)\r\n currentEditor\r\n .chain()\r\n .setImageBlockAt({\r\n pos,\r\n src: asset?.optimizedImageUrl || asset.fullUrl,\r\n caption: title,\r\n actualHeight,\r\n actualWidth,\r\n })\r\n .focus()\r\n .run()\r\n },\r\n file,\r\n 'image',\r\n )\r\n })()\r\n },\r\n onPaste: (currentEditor, files) => {\r\n files.forEach(async () => {\r\n const url = await API.uploadImage()\r\n\r\n return currentEditor\r\n .chain()\r\n .setImageBlockAt({\r\n pos: currentEditor.state.selection.anchor,\r\n src: url,\r\n })\r\n .focus()\r\n .run()\r\n })\r\n },\r\n }),\r\n // Emoji.configure({\r\n // enableEmoticons: true,\r\n // suggestion: emojiSuggestion,\r\n // }),\r\n TextAlign.extend({\r\n addKeyboardShortcuts() {\r\n return {}\r\n },\r\n }).configure({\r\n defaultAlignment: dir === 'rtl' ? 'right' : 'left',\r\n types: ['heading', 'paragraph'],\r\n }),\r\n Subscript,\r\n Superscript,\r\n Typography,\r\n Placeholder.configure({\r\n includeChildren: true,\r\n showOnlyCurrent: false,\r\n placeholder: () => '',\r\n }),\r\n SlashCommand,\r\n Focus,\r\n Figcaption,\r\n BlockquoteFigure,\r\n Dropcursor.configure({\r\n width: 2,\r\n class: 'ProseMirror-dropcursor border-black',\r\n }),\r\n History,\r\n Twitter,\r\n Tiktok,\r\n Instagram,\r\n Facebook,\r\n Linkedin,\r\n Youtube,\r\n InsideLinks,\r\n Iframe,\r\n AICommand,\r\n LinkPreview,\r\n BulletList,\r\n]\r\n\r\nexport default ExtensionKit\r\n"],"names":["AICommand","AudioBlock","BlockquoteFigure","CharacterCount","Document","Dropcursor","Facebook","Figcaption","FileHandler","Focus","Heading","HorizontalRule","LinkPreview","ImageBlock","InsideLinks","Instagram","Link","Linkedin","Paragraph","Placeholder","Selection","SlashCommand","StarterKit","Subscript","Superscript","TaskItem","TaskList","TextAlign","TextStyle","Tiktok","Twitter","Typography","Underline","VideoBlock","Youtube","Iframe","BulletList","ImageUpload","History","Markdown","API","i18next","getAssetActualSize","ExtensionKit","dir","openAssetHQHandler","configure","nested","levels","document","dropcursor","heading","horizontalRule","blockquote","history","codeBlock","paragraph","openOnClick","limit","allowedMimeTypes","onDrop","currentEditor","files","pos","file","asset","title","language","title_locale","toUpperCase","actualHeight","actualWidth","chain","setImageBlockAt","src","optimizedImageUrl","fullUrl","caption","focus","run","onPaste","forEach","url","uploadImage","state","selection","anchor","extend","addKeyboardShortcuts","defaultAlignment","types","includeChildren","showOnlyCurrent","placeholder","width","class"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { Editor } from "@tiptap/react";
1
+ import { Editor } from '@tiptap/react';
2
2
  export type TextMenuProps = {
3
3
  editor: Editor;
4
- dir: "rtl" | "ltr" | "auto";
4
+ dir: 'rtl' | 'ltr' | 'auto';
5
5
  };
6
6
  export declare const TextMenu: ({ editor, dir }: TextMenuProps) => import("react").JSX.Element;
7
7
  //# sourceMappingURL=TextMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextMenu.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,MAAM,EAAE,MAAM,eAAe,CAAC;AA0CnD,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,QAAQ,oBAAqB,aAAa,gCA2NtD,CAAC"}
1
+ {"version":3,"file":"TextMenu.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,MAAM,EAAE,MAAM,eAAe,CAAA;AAuClD,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,QAAQ,oBAAqB,aAAa,gCAgNtD,CAAA"}
@@ -1,20 +1,20 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as Popover from "@radix-ui/react-popover";
3
- import { BubbleMenu } from "@tiptap/react";
4
- import { AlignCenter, AlignJustify, AlignLeft, AlignRight, Bold, Italic, MoveVertical, RemoveFormatting, Sparkles, Strikethrough, Subscript, Superscript, Underline } from "lucide-react";
5
- import { memo, useState } from "react";
6
- import { AIEditorPanel } from "../../panels/AIEditorPanel/AIEditorPanel.js";
7
- import { ColorPicker } from "../../panels/index.js";
8
- import { Icon } from "../../ui/Icon.js";
9
- import { Toolbar } from "../../ui/Toolbar.js";
10
- import { ContentTypePicker } from "./components/ContentTypePicker.js";
11
- import { EditLinkPopover } from "./components/EditLinkPopover.js";
2
+ import * as Popover from '@radix-ui/react-popover';
3
+ import { BubbleMenu } from '@tiptap/react';
4
+ import { AlignCenter, AlignJustify, AlignLeft, AlignRight, Bold, Italic, MoveVertical, RemoveFormatting, Sparkles, Strikethrough, Subscript, Superscript, Underline } from 'lucide-react';
5
+ import { memo, useState } from 'react';
6
+ import { AIEditorPanel } from '../../panels/AIEditorPanel/AIEditorPanel.js';
7
+ import { ColorPicker } from '../../panels/index.js';
8
+ import { Icon } from '../../ui/Icon.js';
9
+ import { Toolbar } from '../../ui/Toolbar.js';
10
+ import { ContentTypePicker } from './components/ContentTypePicker.js';
11
+ import { EditLinkPopover } from './components/EditLinkPopover.js';
12
12
  // import { FontFamilyPicker } from "./components/FontFamilyPicker.js";
13
- import { FontSizePicker } from "./components/FontSizePicker.js";
14
- import { useTextmenuCommands } from "./hooks/useTextmenuCommands.js";
15
- import { useTextmenuContentTypes } from "./hooks/useTextmenuContentTypes.js";
16
- import { useTextmenuStates } from "./hooks/useTextmenuStates.js";
17
- import i18next from "i18next";
13
+ import i18next from 'i18next';
14
+ import { FontSizePicker } from './components/FontSizePicker.js';
15
+ import { useTextmenuCommands } from './hooks/useTextmenuCommands.js';
16
+ import { useTextmenuContentTypes } from './hooks/useTextmenuContentTypes.js';
17
+ import { useTextmenuStates } from './hooks/useTextmenuStates.js';
18
18
  // We memorize the button so each button is not rerendered
19
19
  // on every editor state change
20
20
  const MemoButton = /*#__PURE__*/ memo(Toolbar.Button);
@@ -29,14 +29,14 @@ export const TextMenu = ({ editor, dir })=>{
29
29
  const [openAi, setOpenAi] = useState(false);
30
30
  return /*#__PURE__*/ _jsx(BubbleMenu, {
31
31
  tippyOptions: {
32
- placement: "top-start",
32
+ placement: 'top-start',
33
33
  onHide: ()=>{
34
34
  setOpenAi(false);
35
35
  },
36
36
  popperOptions: {
37
37
  modifiers: [
38
38
  {
39
- name: "flip",
39
+ name: 'flip',
40
40
  enabled: false
41
41
  }
42
42
  ]
@@ -53,12 +53,6 @@ export const TextMenu = ({ editor, dir })=>{
53
53
  }
54
54
  }) : /*#__PURE__*/ _jsxs(Toolbar.Wrapper, {
55
55
  children: [
56
- /*#__PURE__*/ _jsx(Toolbar.Button, {
57
- className: "text-purple-500 hover:text-purple-600 active:text-purple-600 dark:text-purple-400 dark:hover:text-purple-300 dark:active:text-purple-400",
58
- activeClassname: "text-purple-600 hover:text-purple-600 dark:text-purple-400 dark:hover:text-purple-200",
59
- onClick: ()=>setOpenAi(true),
60
- children: "1"
61
- }),
62
56
  /*#__PURE__*/ _jsxs(Toolbar.Button, {
63
57
  className: "text-purple-500 hover:text-purple-600 active:text-purple-600 dark:text-purple-400 dark:hover:text-purple-300 dark:active:text-purple-400",
64
58
  activeClassname: "text-purple-600 hover:text-purple-600 dark:text-purple-400 dark:hover:text-purple-200",
@@ -68,7 +62,7 @@ export const TextMenu = ({ editor, dir })=>{
68
62
  icon: Sparkles,
69
63
  className: "mr-1"
70
64
  }),
71
- i18next.t("aiTools") || "AI Tools",
65
+ i18next.t('aiTools') || 'AI Tools',
72
66
  /*#__PURE__*/ _jsx("span", {
73
67
  className: "text-xs ml-1 px-2 py-1 bg-purple-100 text-purple-700 rounded-full dark:bg-purple-700 dark:text-purple-100 align-baseline",
74
68
  children: "Beta"
@@ -82,10 +76,10 @@ export const TextMenu = ({ editor, dir })=>{
82
76
  /*#__PURE__*/ _jsx(Toolbar.Divider, {}),
83
77
  /*#__PURE__*/ _jsx(MemoButton, {
84
78
  type: "button",
85
- tooltip: i18next.t("boldText") || "Bold",
79
+ tooltip: i18next.t('boldText') || 'Bold',
86
80
  tooltipShortcut: [
87
- "Mod",
88
- "B"
81
+ 'Mod',
82
+ 'B'
89
83
  ],
90
84
  onClick: commands.onBold,
91
85
  active: states.isBold,
@@ -95,10 +89,10 @@ export const TextMenu = ({ editor, dir })=>{
95
89
  }),
96
90
  /*#__PURE__*/ _jsx(MemoButton, {
97
91
  type: "button",
98
- tooltip: i18next.t("italicText") || "Italic",
92
+ tooltip: i18next.t('italicText') || 'Italic',
99
93
  tooltipShortcut: [
100
- "Mod",
101
- "I"
94
+ 'Mod',
95
+ 'I'
102
96
  ],
103
97
  onClick: commands.onItalic,
104
98
  active: states.isItalic,
@@ -108,10 +102,10 @@ export const TextMenu = ({ editor, dir })=>{
108
102
  }),
109
103
  /*#__PURE__*/ _jsx(MemoButton, {
110
104
  type: "button",
111
- tooltip: i18next.t("underlineText") || "Underline",
105
+ tooltip: i18next.t('underlineText') || 'Underline',
112
106
  tooltipShortcut: [
113
- "Mod",
114
- "U"
107
+ 'Mod',
108
+ 'U'
115
109
  ],
116
110
  onClick: commands.onUnderline,
117
111
  active: states.isUnderline,
@@ -128,7 +122,7 @@ export const TextMenu = ({ editor, dir })=>{
128
122
  asChild: true,
129
123
  children: /*#__PURE__*/ _jsx(MemoButton, {
130
124
  type: "button",
131
- tooltip: i18next.t("moreOptions", "More options"),
125
+ tooltip: i18next.t('moreOptions', 'More options'),
132
126
  children: /*#__PURE__*/ _jsx(Icon, {
133
127
  icon: MoveVertical
134
128
  })
@@ -141,10 +135,10 @@ export const TextMenu = ({ editor, dir })=>{
141
135
  children: [
142
136
  /*#__PURE__*/ _jsx(MemoButton, {
143
137
  type: "button",
144
- tooltip: i18next.t("subscript", "Subscript"),
138
+ tooltip: i18next.t('subscript', 'Subscript'),
145
139
  tooltipShortcut: [
146
- "Mod",
147
- "."
140
+ 'Mod',
141
+ '.'
148
142
  ],
149
143
  onClick: commands.onSubscript,
150
144
  active: states.isSubscript,
@@ -154,10 +148,10 @@ export const TextMenu = ({ editor, dir })=>{
154
148
  }),
155
149
  /*#__PURE__*/ _jsx(MemoButton, {
156
150
  type: "button",
157
- tooltip: i18next.t("superscript", "Superscript"),
151
+ tooltip: i18next.t('superscript', 'Superscript'),
158
152
  tooltipShortcut: [
159
- "Mod",
160
- ","
153
+ 'Mod',
154
+ ','
161
155
  ],
162
156
  onClick: commands.onSuperscript,
163
157
  active: states.isSuperscript,
@@ -168,11 +162,11 @@ export const TextMenu = ({ editor, dir })=>{
168
162
  /*#__PURE__*/ _jsx(Toolbar.Divider, {}),
169
163
  /*#__PURE__*/ _jsx(MemoButton, {
170
164
  type: "button",
171
- tooltip: i18next.t("alignLeft") || "Align left",
165
+ tooltip: i18next.t('alignLeft') || 'Align left',
172
166
  tooltipShortcut: [
173
- "Shift",
174
- "Mod",
175
- "L"
167
+ 'Shift',
168
+ 'Mod',
169
+ 'L'
176
170
  ],
177
171
  onClick: commands.onAlignLeft,
178
172
  active: states.isAlignLeft,
@@ -182,11 +176,11 @@ export const TextMenu = ({ editor, dir })=>{
182
176
  }),
183
177
  /*#__PURE__*/ _jsx(MemoButton, {
184
178
  type: "button",
185
- tooltip: i18next.t("alignCenter") || "Align center",
179
+ tooltip: i18next.t('alignCenter') || 'Align center',
186
180
  tooltipShortcut: [
187
- "Shift",
188
- "Mod",
189
- "E"
181
+ 'Shift',
182
+ 'Mod',
183
+ 'E'
190
184
  ],
191
185
  onClick: commands.onAlignCenter,
192
186
  active: states.isAlignCenter,
@@ -196,11 +190,11 @@ export const TextMenu = ({ editor, dir })=>{
196
190
  }),
197
191
  /*#__PURE__*/ _jsx(MemoButton, {
198
192
  type: "button",
199
- tooltip: i18next.t("alignRight", "Align right"),
193
+ tooltip: i18next.t('alignRight', 'Align right'),
200
194
  tooltipShortcut: [
201
- "Shift",
202
- "Mod",
203
- "R"
195
+ 'Shift',
196
+ 'Mod',
197
+ 'R'
204
198
  ],
205
199
  onClick: commands.onAlignRight,
206
200
  active: states.isAlignRight,
@@ -210,11 +204,11 @@ export const TextMenu = ({ editor, dir })=>{
210
204
  }),
211
205
  /*#__PURE__*/ _jsx(MemoButton, {
212
206
  type: "button",
213
- tooltip: i18next.t("alignJustify") || "Justify",
207
+ tooltip: i18next.t('alignJustify') || 'Justify',
214
208
  tooltipShortcut: [
215
- "Shift",
216
- "Mod",
217
- "J"
209
+ 'Shift',
210
+ 'Mod',
211
+ 'J'
218
212
  ],
219
213
  onClick: commands.onAlignJustify,
220
214
  active: states.isAlignJustify,
@@ -224,11 +218,11 @@ export const TextMenu = ({ editor, dir })=>{
224
218
  }),
225
219
  /*#__PURE__*/ _jsx(MemoButton, {
226
220
  type: "button",
227
- tooltip: i18next.t("strikethrough", "Strikethrough"),
221
+ tooltip: i18next.t('strikethrough', 'Strikethrough'),
228
222
  tooltipShortcut: [
229
- "Mod",
230
- "Shift",
231
- "S"
223
+ 'Mod',
224
+ 'Shift',
225
+ 'S'
232
226
  ],
233
227
  onClick: commands.onStrike,
234
228
  active: states.isStrike,
@@ -238,7 +232,7 @@ export const TextMenu = ({ editor, dir })=>{
238
232
  }),
239
233
  /*#__PURE__*/ _jsx(MemoButton, {
240
234
  type: "button",
241
- tooltip: i18next.t("clearFormatting") || "Clear Formatting",
235
+ tooltip: i18next.t('clearFormatting') || 'Clear Formatting',
242
236
  onClick: commands.onClearFormatting,
243
237
  children: /*#__PURE__*/ _jsx(Icon, {
244
238
  icon: RemoveFormatting
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.tsx"],"sourcesContent":["import * as Popover from \"@radix-ui/react-popover\";\r\nimport { BubbleMenu, Editor } from \"@tiptap/react\";\r\n\r\nimport {\r\n AlignCenter,\r\n AlignJustify,\r\n AlignLeft,\r\n AlignRight,\r\n Bold,\r\n Highlighter,\r\n Italic,\r\n MoveVertical,\r\n Palette,\r\n RemoveFormatting,\r\n Sparkles,\r\n Strikethrough,\r\n Subscript,\r\n Superscript,\r\n Underline,\r\n} from \"lucide-react\";\r\nimport { memo, useState } from \"react\";\r\nimport { AIEditorPanel } from \"../../panels/AIEditorPanel/AIEditorPanel.js\";\r\nimport { ColorPicker } from \"../../panels/index.js\";\r\nimport { Icon } from \"../../ui/Icon.js\";\r\nimport { Surface } from \"../../ui/Surface.js\";\r\nimport { Toolbar } from \"../../ui/Toolbar.js\";\r\nimport { ContentTypePicker } from \"./components/ContentTypePicker.js\";\r\nimport { EditLinkPopover } from \"./components/EditLinkPopover.js\";\r\n// import { FontFamilyPicker } from \"./components/FontFamilyPicker.js\";\r\nimport { FontSizePicker } from \"./components/FontSizePicker.js\";\r\nimport { useTextmenuCommands } from \"./hooks/useTextmenuCommands.js\";\r\nimport { useTextmenuContentTypes } from \"./hooks/useTextmenuContentTypes.js\";\r\nimport { useTextmenuStates } from \"./hooks/useTextmenuStates.js\";\r\nimport i18next from \"i18next\";\r\n\r\n// We memorize the button so each button is not rerendered\r\n// on every editor state change\r\nconst MemoButton = memo(Toolbar.Button);\r\nconst MemoColorPicker = memo(ColorPicker);\r\n// const MemoFontFamilyPicker = memo(FontFamilyPicker);\r\nconst MemoFontSizePicker = memo(FontSizePicker);\r\nconst MemoContentTypePicker = memo(ContentTypePicker);\r\n\r\nexport type TextMenuProps = {\r\n editor: Editor;\r\n dir: \"rtl\" | \"ltr\" | \"auto\";\r\n};\r\n\r\nexport const TextMenu = ({ editor, dir }: TextMenuProps) => {\r\n const commands = useTextmenuCommands(editor);\r\n const states = useTextmenuStates(editor);\r\n const blockOptions = useTextmenuContentTypes(editor);\r\n const [openAi, setOpenAi] = useState(false);\r\n\r\n return (\r\n <BubbleMenu\r\n tippyOptions={{\r\n placement: \"top-start\",\r\n onHide: () => {\r\n setOpenAi(false);\r\n },\r\n popperOptions: {\r\n modifiers: [{ name: \"flip\", enabled: false }],\r\n },\r\n }}\r\n editor={editor}\r\n pluginKey=\"textMenu\"\r\n shouldShow={states.shouldShow}\r\n updateDelay={200}\r\n >\r\n {openAi ? (\r\n <AIEditorPanel\r\n editor={editor}\r\n onOpenChange={(value) => {\r\n setOpenAi(value);\r\n }}\r\n />\r\n ) : (\r\n <Toolbar.Wrapper>\r\n <Toolbar.Button\r\n className=\"text-purple-500 hover:text-purple-600 active:text-purple-600 dark:text-purple-400 dark:hover:text-purple-300 dark:active:text-purple-400\"\r\n activeClassname=\"text-purple-600 hover:text-purple-600 dark:text-purple-400 dark:hover:text-purple-200\"\r\n onClick={() => setOpenAi(true)}\r\n >\r\n 1\r\n </Toolbar.Button>\r\n <Toolbar.Button\r\n className=\"text-purple-500 hover:text-purple-600 active:text-purple-600 dark:text-purple-400 dark:hover:text-purple-300 dark:active:text-purple-400\"\r\n activeClassname=\"text-purple-600 hover:text-purple-600 dark:text-purple-400 dark:hover:text-purple-200\"\r\n onClick={() => setOpenAi(true)}\r\n >\r\n <Icon icon={Sparkles} className=\"mr-1\" />\r\n {i18next.t(\"aiTools\") || \"AI Tools\"}\r\n\r\n <span className=\"text-xs ml-1 px-2 py-1 bg-purple-100 text-purple-700 rounded-full dark:bg-purple-700 dark:text-purple-100 align-baseline\">\r\n Beta\r\n </span>\r\n </Toolbar.Button>\r\n <Toolbar.Divider />\r\n <MemoContentTypePicker options={blockOptions} />\r\n {/* <MemoFontFamilyPicker\r\n onChange={commands.onSetFont}\r\n value={states.currentFont || \"\"}\r\n /> */}\r\n {/* <MemoFontSizePicker\r\n onChange={commands.onSetFontSize}\r\n value={states.currentSize || \"\"}\r\n /> */}\r\n <Toolbar.Divider />\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t(\"boldText\") || \"Bold\"}\r\n tooltipShortcut={[\"Mod\", \"B\"]}\r\n onClick={commands.onBold}\r\n active={states.isBold}\r\n >\r\n <Icon icon={Bold} />\r\n </MemoButton>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t(\"italicText\") || \"Italic\"}\r\n tooltipShortcut={[\"Mod\", \"I\"]}\r\n onClick={commands.onItalic}\r\n active={states.isItalic}\r\n >\r\n <Icon icon={Italic} />\r\n </MemoButton>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t(\"underlineText\") || \"Underline\"}\r\n tooltipShortcut={[\"Mod\", \"U\"]}\r\n onClick={commands.onUnderline}\r\n active={states.isUnderline}\r\n >\r\n <Icon icon={Underline} />\r\n </MemoButton>\r\n <EditLinkPopover onSetLink={commands.onLink} />\r\n {/* <Popover.Root>\r\n <Popover.Trigger asChild>\r\n <MemoButton\r\n type=\"button\"\r\n active={!!states.currentHighlight}\r\n tooltip={i18next.t(\"highlightText\", \"Highlight text\")}\r\n >\r\n <Icon icon={Highlighter} />\r\n </MemoButton>\r\n </Popover.Trigger>\r\n <Popover.Content side=\"top\" sideOffset={8} asChild>\r\n <Surface className=\"p-1\">\r\n <MemoColorPicker\r\n color={states.currentHighlight}\r\n onChange={commands.onChangeHighlight}\r\n onClear={commands.onClearHighlight}\r\n />\r\n </Surface>\r\n </Popover.Content>\r\n </Popover.Root> */}\r\n {/* <Popover.Root>\r\n <Popover.Trigger asChild>\r\n <MemoButton\r\n type=\"button\"\r\n active={!!states.currentColor}\r\n tooltip={i18next.t(\"textColor\") || \"Text color\"}\r\n >\r\n <Icon icon={Palette} />\r\n </MemoButton>\r\n </Popover.Trigger>\r\n <Popover.Content side=\"top\" sideOffset={8} asChild>\r\n <Surface className=\"p-1\">\r\n <MemoColorPicker\r\n color={states.currentColor}\r\n onChange={commands.onChangeColor}\r\n onClear={commands.onClearColor}\r\n />\r\n </Surface>\r\n </Popover.Content>\r\n </Popover.Root> */}\r\n <Popover.Root>\r\n <Popover.Trigger asChild>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t(\"moreOptions\", \"More options\")}\r\n >\r\n <Icon icon={MoveVertical} />\r\n </MemoButton>\r\n </Popover.Trigger>\r\n <Popover.Content side=\"top\" asChild>\r\n <Toolbar.Wrapper>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t(\"subscript\", \"Subscript\")}\r\n tooltipShortcut={[\"Mod\", \".\"]}\r\n onClick={commands.onSubscript}\r\n active={states.isSubscript}\r\n >\r\n <Icon icon={Subscript} />\r\n </MemoButton>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t(\"superscript\", \"Superscript\")}\r\n tooltipShortcut={[\"Mod\", \",\"]}\r\n onClick={commands.onSuperscript}\r\n active={states.isSuperscript}\r\n >\r\n <Icon icon={Superscript} />\r\n </MemoButton>\r\n <Toolbar.Divider />\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t(\"alignLeft\") || \"Align left\"}\r\n tooltipShortcut={[\"Shift\", \"Mod\", \"L\"]}\r\n onClick={commands.onAlignLeft}\r\n active={states.isAlignLeft}\r\n >\r\n <Icon icon={AlignLeft} />\r\n </MemoButton>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t(\"alignCenter\") || \"Align center\"}\r\n tooltipShortcut={[\"Shift\", \"Mod\", \"E\"]}\r\n onClick={commands.onAlignCenter}\r\n active={states.isAlignCenter}\r\n >\r\n <Icon icon={AlignCenter} />\r\n </MemoButton>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t(\"alignRight\", \"Align right\")}\r\n tooltipShortcut={[\"Shift\", \"Mod\", \"R\"]}\r\n onClick={commands.onAlignRight}\r\n active={states.isAlignRight}\r\n >\r\n <Icon icon={AlignRight} />\r\n </MemoButton>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t(\"alignJustify\") || \"Justify\"}\r\n tooltipShortcut={[\"Shift\", \"Mod\", \"J\"]}\r\n onClick={commands.onAlignJustify}\r\n active={states.isAlignJustify}\r\n >\r\n <Icon icon={AlignJustify} />\r\n </MemoButton>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t(\"strikethrough\", \"Strikethrough\")}\r\n tooltipShortcut={[\"Mod\", \"Shift\", \"S\"]}\r\n onClick={commands.onStrike}\r\n active={states.isStrike}\r\n >\r\n <Icon icon={Strikethrough} />\r\n </MemoButton>\r\n\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t(\"clearFormatting\") || \"Clear Formatting\"}\r\n onClick={commands.onClearFormatting}\r\n >\r\n <Icon icon={RemoveFormatting} />\r\n </MemoButton>\r\n </Toolbar.Wrapper>\r\n </Popover.Content>\r\n </Popover.Root>\r\n </Toolbar.Wrapper>\r\n )}\r\n </BubbleMenu>\r\n );\r\n};\r\n"],"names":["Popover","BubbleMenu","AlignCenter","AlignJustify","AlignLeft","AlignRight","Bold","Italic","MoveVertical","RemoveFormatting","Sparkles","Strikethrough","Subscript","Superscript","Underline","memo","useState","AIEditorPanel","ColorPicker","Icon","Toolbar","ContentTypePicker","EditLinkPopover","FontSizePicker","useTextmenuCommands","useTextmenuContentTypes","useTextmenuStates","i18next","MemoButton","Button","MemoColorPicker","MemoFontSizePicker","MemoContentTypePicker","TextMenu","editor","dir","commands","states","blockOptions","openAi","setOpenAi","tippyOptions","placement","onHide","popperOptions","modifiers","name","enabled","pluginKey","shouldShow","updateDelay","onOpenChange","value","Wrapper","className","activeClassname","onClick","icon","t","span","Divider","options","type","tooltip","tooltipShortcut","onBold","active","isBold","onItalic","isItalic","onUnderline","isUnderline","onSetLink","onLink","Root","Trigger","asChild","Content","side","onSubscript","isSubscript","onSuperscript","isSuperscript","onAlignLeft","isAlignLeft","onAlignCenter","isAlignCenter","onAlignRight","isAlignRight","onAlignJustify","isAlignJustify","onStrike","isStrike","onClearFormatting"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.tsx"],"sourcesContent":["import * as Popover from '@radix-ui/react-popover'\r\nimport { BubbleMenu, Editor } from '@tiptap/react'\r\n\r\nimport {\r\n AlignCenter,\r\n AlignJustify,\r\n AlignLeft,\r\n AlignRight,\r\n Bold,\r\n Italic,\r\n MoveVertical,\r\n RemoveFormatting,\r\n Sparkles,\r\n Strikethrough,\r\n Subscript,\r\n Superscript,\r\n Underline,\r\n} from 'lucide-react'\r\nimport { memo, useState } from 'react'\r\nimport { AIEditorPanel } from '../../panels/AIEditorPanel/AIEditorPanel.js'\r\nimport { ColorPicker } from '../../panels/index.js'\r\nimport { Icon } from '../../ui/Icon.js'\r\nimport { Toolbar } from '../../ui/Toolbar.js'\r\nimport { ContentTypePicker } from './components/ContentTypePicker.js'\r\nimport { EditLinkPopover } from './components/EditLinkPopover.js'\r\n// import { FontFamilyPicker } from \"./components/FontFamilyPicker.js\";\r\nimport i18next from 'i18next'\r\nimport { FontSizePicker } from './components/FontSizePicker.js'\r\nimport { useTextmenuCommands } from './hooks/useTextmenuCommands.js'\r\nimport { useTextmenuContentTypes } from './hooks/useTextmenuContentTypes.js'\r\nimport { useTextmenuStates } from './hooks/useTextmenuStates.js'\r\n\r\n// We memorize the button so each button is not rerendered\r\n// on every editor state change\r\nconst MemoButton = memo(Toolbar.Button)\r\nconst MemoColorPicker = memo(ColorPicker)\r\n// const MemoFontFamilyPicker = memo(FontFamilyPicker);\r\nconst MemoFontSizePicker = memo(FontSizePicker)\r\nconst MemoContentTypePicker = memo(ContentTypePicker)\r\n\r\nexport type TextMenuProps = {\r\n editor: Editor\r\n dir: 'rtl' | 'ltr' | 'auto'\r\n}\r\n\r\nexport const TextMenu = ({ editor, dir }: TextMenuProps) => {\r\n const commands = useTextmenuCommands(editor)\r\n const states = useTextmenuStates(editor)\r\n const blockOptions = useTextmenuContentTypes(editor)\r\n const [openAi, setOpenAi] = useState(false)\r\n\r\n return (\r\n <BubbleMenu\r\n tippyOptions={{\r\n placement: 'top-start',\r\n onHide: () => {\r\n setOpenAi(false)\r\n },\r\n popperOptions: {\r\n modifiers: [{ name: 'flip', enabled: false }],\r\n },\r\n }}\r\n editor={editor}\r\n pluginKey=\"textMenu\"\r\n shouldShow={states.shouldShow}\r\n updateDelay={200}\r\n >\r\n {openAi ? (\r\n <AIEditorPanel\r\n editor={editor}\r\n onOpenChange={(value) => {\r\n setOpenAi(value)\r\n }}\r\n />\r\n ) : (\r\n <Toolbar.Wrapper>\r\n <Toolbar.Button\r\n className=\"text-purple-500 hover:text-purple-600 active:text-purple-600 dark:text-purple-400 dark:hover:text-purple-300 dark:active:text-purple-400\"\r\n activeClassname=\"text-purple-600 hover:text-purple-600 dark:text-purple-400 dark:hover:text-purple-200\"\r\n onClick={() => setOpenAi(true)}\r\n >\r\n <Icon icon={Sparkles} className=\"mr-1\" />\r\n {i18next.t('aiTools') || 'AI Tools'}\r\n <span className=\"text-xs ml-1 px-2 py-1 bg-purple-100 text-purple-700 rounded-full dark:bg-purple-700 dark:text-purple-100 align-baseline\">\r\n Beta\r\n </span>\r\n </Toolbar.Button>\r\n <Toolbar.Divider />\r\n <MemoContentTypePicker options={blockOptions} />\r\n {/* <MemoFontFamilyPicker\r\n onChange={commands.onSetFont}\r\n value={states.currentFont || \"\"}\r\n /> */}\r\n {/* <MemoFontSizePicker\r\n onChange={commands.onSetFontSize}\r\n value={states.currentSize || \"\"}\r\n /> */}\r\n <Toolbar.Divider />\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t('boldText') || 'Bold'}\r\n tooltipShortcut={['Mod', 'B']}\r\n onClick={commands.onBold}\r\n active={states.isBold}\r\n >\r\n <Icon icon={Bold} />\r\n </MemoButton>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t('italicText') || 'Italic'}\r\n tooltipShortcut={['Mod', 'I']}\r\n onClick={commands.onItalic}\r\n active={states.isItalic}\r\n >\r\n <Icon icon={Italic} />\r\n </MemoButton>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t('underlineText') || 'Underline'}\r\n tooltipShortcut={['Mod', 'U']}\r\n onClick={commands.onUnderline}\r\n active={states.isUnderline}\r\n >\r\n <Icon icon={Underline} />\r\n </MemoButton>\r\n <EditLinkPopover onSetLink={commands.onLink} />\r\n {/* <Popover.Root>\r\n <Popover.Trigger asChild>\r\n <MemoButton\r\n type=\"button\"\r\n active={!!states.currentHighlight}\r\n tooltip={i18next.t(\"highlightText\", \"Highlight text\")}\r\n >\r\n <Icon icon={Highlighter} />\r\n </MemoButton>\r\n </Popover.Trigger>\r\n <Popover.Content side=\"top\" sideOffset={8} asChild>\r\n <Surface className=\"p-1\">\r\n <MemoColorPicker\r\n color={states.currentHighlight}\r\n onChange={commands.onChangeHighlight}\r\n onClear={commands.onClearHighlight}\r\n />\r\n </Surface>\r\n </Popover.Content>\r\n </Popover.Root> */}\r\n {/* <Popover.Root>\r\n <Popover.Trigger asChild>\r\n <MemoButton\r\n type=\"button\"\r\n active={!!states.currentColor}\r\n tooltip={i18next.t(\"textColor\") || \"Text color\"}\r\n >\r\n <Icon icon={Palette} />\r\n </MemoButton>\r\n </Popover.Trigger>\r\n <Popover.Content side=\"top\" sideOffset={8} asChild>\r\n <Surface className=\"p-1\">\r\n <MemoColorPicker\r\n color={states.currentColor}\r\n onChange={commands.onChangeColor}\r\n onClear={commands.onClearColor}\r\n />\r\n </Surface>\r\n </Popover.Content>\r\n </Popover.Root> */}\r\n <Popover.Root>\r\n <Popover.Trigger asChild>\r\n <MemoButton type=\"button\" tooltip={i18next.t('moreOptions', 'More options')}>\r\n <Icon icon={MoveVertical} />\r\n </MemoButton>\r\n </Popover.Trigger>\r\n <Popover.Content side=\"top\" asChild>\r\n <Toolbar.Wrapper>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t('subscript', 'Subscript')}\r\n tooltipShortcut={['Mod', '.']}\r\n onClick={commands.onSubscript}\r\n active={states.isSubscript}\r\n >\r\n <Icon icon={Subscript} />\r\n </MemoButton>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t('superscript', 'Superscript')}\r\n tooltipShortcut={['Mod', ',']}\r\n onClick={commands.onSuperscript}\r\n active={states.isSuperscript}\r\n >\r\n <Icon icon={Superscript} />\r\n </MemoButton>\r\n <Toolbar.Divider />\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t('alignLeft') || 'Align left'}\r\n tooltipShortcut={['Shift', 'Mod', 'L']}\r\n onClick={commands.onAlignLeft}\r\n active={states.isAlignLeft}\r\n >\r\n <Icon icon={AlignLeft} />\r\n </MemoButton>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t('alignCenter') || 'Align center'}\r\n tooltipShortcut={['Shift', 'Mod', 'E']}\r\n onClick={commands.onAlignCenter}\r\n active={states.isAlignCenter}\r\n >\r\n <Icon icon={AlignCenter} />\r\n </MemoButton>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t('alignRight', 'Align right')}\r\n tooltipShortcut={['Shift', 'Mod', 'R']}\r\n onClick={commands.onAlignRight}\r\n active={states.isAlignRight}\r\n >\r\n <Icon icon={AlignRight} />\r\n </MemoButton>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t('alignJustify') || 'Justify'}\r\n tooltipShortcut={['Shift', 'Mod', 'J']}\r\n onClick={commands.onAlignJustify}\r\n active={states.isAlignJustify}\r\n >\r\n <Icon icon={AlignJustify} />\r\n </MemoButton>\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t('strikethrough', 'Strikethrough')}\r\n tooltipShortcut={['Mod', 'Shift', 'S']}\r\n onClick={commands.onStrike}\r\n active={states.isStrike}\r\n >\r\n <Icon icon={Strikethrough} />\r\n </MemoButton>\r\n\r\n <MemoButton\r\n type=\"button\"\r\n tooltip={i18next.t('clearFormatting') || 'Clear Formatting'}\r\n onClick={commands.onClearFormatting}\r\n >\r\n <Icon icon={RemoveFormatting} />\r\n </MemoButton>\r\n </Toolbar.Wrapper>\r\n </Popover.Content>\r\n </Popover.Root>\r\n </Toolbar.Wrapper>\r\n )}\r\n </BubbleMenu>\r\n )\r\n}\r\n"],"names":["Popover","BubbleMenu","AlignCenter","AlignJustify","AlignLeft","AlignRight","Bold","Italic","MoveVertical","RemoveFormatting","Sparkles","Strikethrough","Subscript","Superscript","Underline","memo","useState","AIEditorPanel","ColorPicker","Icon","Toolbar","ContentTypePicker","EditLinkPopover","i18next","FontSizePicker","useTextmenuCommands","useTextmenuContentTypes","useTextmenuStates","MemoButton","Button","MemoColorPicker","MemoFontSizePicker","MemoContentTypePicker","TextMenu","editor","dir","commands","states","blockOptions","openAi","setOpenAi","tippyOptions","placement","onHide","popperOptions","modifiers","name","enabled","pluginKey","shouldShow","updateDelay","onOpenChange","value","Wrapper","className","activeClassname","onClick","icon","t","span","Divider","options","type","tooltip","tooltipShortcut","onBold","active","isBold","onItalic","isItalic","onUnderline","isUnderline","onSetLink","onLink","Root","Trigger","asChild","Content","side","onSubscript","isSubscript","onSuperscript","isSuperscript","onAlignLeft","isAlignLeft","onAlignCenter","isAlignCenter","onAlignRight","isAlignRight","onAlignJustify","isAlignJustify","onStrike","isStrike","onClearFormatting"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { SlashCommandTriggerButtonProps } from './types.js';
3
+ export declare const SlashCommandTriggerButton: ({ editor, config }: SlashCommandTriggerButtonProps) => React.JSX.Element;
4
+ //# sourceMappingURL=SlashCommandTriggerButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlashCommandTriggerButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/ui/SlashCommand/SlashCommandTriggerButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAA;AAK3D,eAAO,MAAM,yBAAyB,uBAAwB,8BAA8B,sBAqB3F,CAAA"}