reactjs-tiptap-editor 0.3.13 → 0.3.15

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 (221) hide show
  1. package/lib/{ActionMenuButton-Cbbnqd-L.cjs → ActionMenuButton-BiJA06nt.cjs} +1 -1
  2. package/lib/{ActionMenuButton-BfH5nAGi.js → ActionMenuButton-cLs916Iz.js} +1 -1
  3. package/lib/Attachment.cjs +1 -1
  4. package/lib/Attachment.d.cts +8 -8
  5. package/lib/Attachment.d.ts +8 -8
  6. package/lib/Attachment.js +1 -1
  7. package/lib/Blockquote.cjs +1 -1
  8. package/lib/Blockquote.d.cts +8 -8
  9. package/lib/Blockquote.d.ts +8 -8
  10. package/lib/Blockquote.js +1 -1
  11. package/lib/Bold.cjs +1 -1
  12. package/lib/Bold.d.cts +8 -8
  13. package/lib/Bold.d.ts +8 -8
  14. package/lib/Bold.js +1 -1
  15. package/lib/BulletList.cjs +1 -1
  16. package/lib/BulletList.d.cts +8 -8
  17. package/lib/BulletList.d.ts +8 -8
  18. package/lib/BulletList.js +1 -1
  19. package/lib/Clear.cjs +1 -1
  20. package/lib/Clear.d.cts +8 -8
  21. package/lib/Clear.d.ts +8 -8
  22. package/lib/Clear.js +1 -1
  23. package/lib/Code.cjs +1 -1
  24. package/lib/Code.d.cts +8 -8
  25. package/lib/Code.d.ts +8 -8
  26. package/lib/Code.js +1 -1
  27. package/lib/CodeBlock.cjs +1 -1
  28. package/lib/CodeBlock.d.cts +8 -8
  29. package/lib/CodeBlock.d.ts +8 -8
  30. package/lib/CodeBlock.js +1 -1
  31. package/lib/CodeView.cjs +1 -1
  32. package/lib/CodeView.d.cts +8 -8
  33. package/lib/CodeView.d.ts +8 -8
  34. package/lib/CodeView.js +1 -1
  35. package/lib/Color.cjs +1 -1
  36. package/lib/Color.d.cts +8 -8
  37. package/lib/Color.d.ts +8 -8
  38. package/lib/Color.js +1 -1
  39. package/lib/Document.d.cts +8 -8
  40. package/lib/Document.d.ts +8 -8
  41. package/lib/{Drawer-jPHImfyr.cjs → Drawer-Ctp3RrUF.cjs} +1 -1
  42. package/lib/{Drawer-DUXFBfgE.js → Drawer-mxoHuP24.js} +1 -1
  43. package/lib/Drawer.cjs +1 -1
  44. package/lib/Drawer.d.cts +8 -8
  45. package/lib/Drawer.d.ts +8 -8
  46. package/lib/Drawer.js +2 -2
  47. package/lib/Emoji.cjs +1 -1
  48. package/lib/Emoji.d.cts +8 -8
  49. package/lib/Emoji.d.ts +8 -8
  50. package/lib/Emoji.js +1 -1
  51. package/lib/{Excalidraw-BBOIIhij.js → Excalidraw-BIN8ca6O.js} +1 -1
  52. package/lib/{Excalidraw-CwZ3g3p-.cjs → Excalidraw-D2cIInsp.cjs} +1 -1
  53. package/lib/Excalidraw.cjs +1 -1
  54. package/lib/Excalidraw.d.cts +8 -8
  55. package/lib/Excalidraw.d.ts +8 -8
  56. package/lib/Excalidraw.js +1 -1
  57. package/lib/ExportPdf.cjs +29 -5
  58. package/lib/ExportPdf.d.cts +91 -9
  59. package/lib/ExportPdf.d.ts +91 -9
  60. package/lib/ExportPdf.js +75 -35
  61. package/lib/ExportWord.cjs +1 -1
  62. package/lib/ExportWord.d.cts +8 -8
  63. package/lib/ExportWord.d.ts +8 -8
  64. package/lib/ExportWord.js +1 -1
  65. package/lib/FontFamily.cjs +1 -1
  66. package/lib/FontFamily.d.cts +8 -8
  67. package/lib/FontFamily.d.ts +8 -8
  68. package/lib/FontFamily.js +2 -2
  69. package/lib/FontSize.cjs +1 -1
  70. package/lib/FontSize.d.cts +8 -8
  71. package/lib/FontSize.d.ts +8 -8
  72. package/lib/FontSize.js +2 -2
  73. package/lib/FormatPainter.cjs +1 -1
  74. package/lib/FormatPainter.d.cts +8 -8
  75. package/lib/FormatPainter.d.ts +8 -8
  76. package/lib/FormatPainter.js +1 -1
  77. package/lib/Heading.cjs +1 -1
  78. package/lib/Heading.d.cts +8 -8
  79. package/lib/Heading.d.ts +8 -8
  80. package/lib/Heading.js +2 -2
  81. package/lib/Highlight.cjs +1 -1
  82. package/lib/Highlight.d.cts +8 -8
  83. package/lib/Highlight.d.ts +8 -8
  84. package/lib/Highlight.js +1 -1
  85. package/lib/History.cjs +1 -1
  86. package/lib/History.d.cts +8 -8
  87. package/lib/History.d.ts +8 -8
  88. package/lib/History.js +1 -1
  89. package/lib/HorizontalRule.cjs +1 -1
  90. package/lib/HorizontalRule.d.cts +8 -8
  91. package/lib/HorizontalRule.d.ts +8 -8
  92. package/lib/HorizontalRule.js +1 -1
  93. package/lib/Iframe.cjs +1 -1
  94. package/lib/Iframe.d.cts +8 -8
  95. package/lib/Iframe.d.ts +8 -8
  96. package/lib/Iframe.js +1 -1
  97. package/lib/Image.cjs +1 -1
  98. package/lib/Image.d.cts +8 -8
  99. package/lib/Image.d.ts +8 -8
  100. package/lib/Image.js +1 -1
  101. package/lib/ImageGif.cjs +1 -1
  102. package/lib/ImageGif.d.cts +8 -8
  103. package/lib/ImageGif.d.ts +8 -8
  104. package/lib/ImageGif.js +1 -1
  105. package/lib/ImportWord.cjs +1 -1
  106. package/lib/ImportWord.d.cts +8 -8
  107. package/lib/ImportWord.d.ts +8 -8
  108. package/lib/ImportWord.js +1 -1
  109. package/lib/Indent.cjs +1 -1
  110. package/lib/Indent.d.cts +8 -8
  111. package/lib/Indent.d.ts +8 -8
  112. package/lib/Indent.js +1 -1
  113. package/lib/Italic.cjs +1 -1
  114. package/lib/Italic.d.cts +8 -8
  115. package/lib/Italic.d.ts +8 -8
  116. package/lib/Italic.js +1 -1
  117. package/lib/Katex.cjs +1 -1
  118. package/lib/Katex.d.cts +8 -8
  119. package/lib/Katex.d.ts +8 -8
  120. package/lib/Katex.js +2 -2
  121. package/lib/LineHeight.cjs +1 -1
  122. package/lib/LineHeight.d.cts +8 -8
  123. package/lib/LineHeight.d.ts +8 -8
  124. package/lib/LineHeight.js +1 -1
  125. package/lib/Link.cjs +1 -1
  126. package/lib/Link.d.cts +8 -8
  127. package/lib/Link.d.ts +8 -8
  128. package/lib/Link.js +1 -1
  129. package/lib/ListItem.d.cts +8 -8
  130. package/lib/ListItem.d.ts +8 -8
  131. package/lib/Mention.d.cts +8 -8
  132. package/lib/Mention.d.ts +8 -8
  133. package/lib/Mermaid.cjs +1 -1
  134. package/lib/Mermaid.d.cts +8 -8
  135. package/lib/Mermaid.d.ts +8 -8
  136. package/lib/Mermaid.js +2 -2
  137. package/lib/MoreMark.cjs +1 -1
  138. package/lib/MoreMark.d.cts +8 -8
  139. package/lib/MoreMark.d.ts +8 -8
  140. package/lib/MoreMark.js +1 -1
  141. package/lib/MultiColumn.cjs +1 -1
  142. package/lib/MultiColumn.d.cts +8 -8
  143. package/lib/MultiColumn.d.ts +8 -8
  144. package/lib/MultiColumn.js +1 -1
  145. package/lib/OrderedList.cjs +1 -1
  146. package/lib/OrderedList.d.cts +8 -8
  147. package/lib/OrderedList.d.ts +8 -8
  148. package/lib/OrderedList.js +1 -1
  149. package/lib/{RichTextEditor-OW4s40FH.js → RichTextEditor-1N7Gl9vo.js} +1033 -1025
  150. package/lib/{RichTextEditor-C3sK_Ys3.cjs → RichTextEditor-B_I3q8FW.cjs} +7 -7
  151. package/lib/SearchAndReplace.cjs +1 -1
  152. package/lib/SearchAndReplace.d.cts +8 -8
  153. package/lib/SearchAndReplace.d.ts +8 -8
  154. package/lib/SearchAndReplace.js +1 -1
  155. package/lib/Selection.d.cts +8 -8
  156. package/lib/Selection.d.ts +8 -8
  157. package/lib/SlashCommand.cjs +1 -1
  158. package/lib/SlashCommand.d.cts +8 -8
  159. package/lib/SlashCommand.d.ts +8 -8
  160. package/lib/SlashCommand.js +1 -1
  161. package/lib/Strike.cjs +1 -1
  162. package/lib/Strike.d.cts +8 -8
  163. package/lib/Strike.d.ts +8 -8
  164. package/lib/Strike.js +1 -1
  165. package/lib/SubAndSuperScript.cjs +1 -1
  166. package/lib/SubAndSuperScript.d.cts +8 -8
  167. package/lib/SubAndSuperScript.d.ts +8 -8
  168. package/lib/SubAndSuperScript.js +1 -1
  169. package/lib/Table.cjs +1 -1
  170. package/lib/Table.d.cts +8 -8
  171. package/lib/Table.d.ts +8 -8
  172. package/lib/Table.js +1 -1
  173. package/lib/TableOfContent.cjs +1 -1
  174. package/lib/TableOfContent.d.cts +8 -8
  175. package/lib/TableOfContent.d.ts +8 -8
  176. package/lib/TableOfContent.js +1 -1
  177. package/lib/TaskList.cjs +1 -1
  178. package/lib/TaskList.d.cts +8 -8
  179. package/lib/TaskList.d.ts +8 -8
  180. package/lib/TaskList.js +1 -1
  181. package/lib/TextAlign.cjs +1 -1
  182. package/lib/TextAlign.d.cts +8 -8
  183. package/lib/TextAlign.d.ts +8 -8
  184. package/lib/TextAlign.js +1 -1
  185. package/lib/TextBubble.cjs +1 -1
  186. package/lib/TextBubble.d.cts +8 -8
  187. package/lib/TextBubble.d.ts +8 -8
  188. package/lib/TextBubble.js +1 -1
  189. package/lib/TextDirection.cjs +1 -1
  190. package/lib/TextDirection.d.cts +8 -8
  191. package/lib/TextDirection.d.ts +8 -8
  192. package/lib/TextDirection.js +1 -1
  193. package/lib/TextUnderline.cjs +1 -1
  194. package/lib/TextUnderline.d.cts +8 -8
  195. package/lib/TextUnderline.d.ts +8 -8
  196. package/lib/TextUnderline.js +1 -1
  197. package/lib/TrailingNode.d.cts +8 -8
  198. package/lib/TrailingNode.d.ts +8 -8
  199. package/lib/{Twitter-2LOf4hFb.js → Twitter-ClB1gNOp.js} +1 -1
  200. package/lib/{Twitter-Cg58uzB-.cjs → Twitter-CvLMjYUZ.cjs} +1 -1
  201. package/lib/Twitter.cjs +1 -1
  202. package/lib/Twitter.d.cts +8 -8
  203. package/lib/Twitter.d.ts +8 -8
  204. package/lib/Twitter.js +1 -1
  205. package/lib/Video.cjs +1 -1
  206. package/lib/Video.d.cts +8 -8
  207. package/lib/Video.d.ts +8 -8
  208. package/lib/Video.js +1 -1
  209. package/lib/bubble-extra.cjs +1 -1
  210. package/lib/bubble-extra.d.cts +8 -8
  211. package/lib/bubble-extra.d.ts +8 -8
  212. package/lib/bubble-extra.js +5 -5
  213. package/lib/index.cjs +1 -1
  214. package/lib/index.d.cts +8 -8
  215. package/lib/index.d.ts +8 -8
  216. package/lib/index.js +2 -2
  217. package/lib/locale-bundle.d.cts +8 -8
  218. package/lib/locale-bundle.d.ts +8 -8
  219. package/lib/{textarea-DNz8Tnud.cjs → textarea-BIoxUMDS.cjs} +1 -1
  220. package/lib/{textarea-DM-_io94.js → textarea-rOG4VKVx.js} +1 -1
  221. package/package.json +1 -1
@@ -1,6 +1,88 @@
1
+ import { Editor } from '@tiptap/react';
1
2
  import { Extension } from '@tiptap/core';
2
3
 
3
- export declare const ExportPdf: Extension<any, any>;
4
+ /**
5
+ * Represents the ButtonView function.
6
+ */
7
+ declare type ButtonView<T = any> = (options: ButtonViewParams<T>) => ButtonViewReturn | ButtonViewReturn[];
8
+
9
+ /**
10
+ * Represents the parameters for the ButtonView function.
11
+ */
12
+ declare interface ButtonViewParams<T = any> {
13
+ /** Editor object */
14
+ editor: Editor;
15
+ /** Extension object */
16
+ extension: Extension<T>;
17
+ /** Translation function */
18
+ t: (path: string) => string;
19
+ }
20
+
21
+ /**
22
+ * Represents the return value for the ButtonView component.
23
+ */
24
+ declare interface ButtonViewReturn {
25
+ /** Component */
26
+ component: unknown;
27
+ /** Component props */
28
+ componentProps: ButtonViewReturnComponentProps;
29
+ /** Component slots */
30
+ componentSlots?: ButtonViewReturnComponentSlots;
31
+ }
32
+
33
+ /**
34
+ * Represents the props for the ButtonView component.
35
+ */
36
+ declare interface ButtonViewReturnComponentProps {
37
+ /** Method triggered when action is performed */
38
+ action?: (value?: any) => void;
39
+ /** Whether it is in the active state */
40
+ isActive?: () => boolean;
41
+ /** Button icon */
42
+ icon?: any;
43
+ /** Text displayed on hover */
44
+ tooltip?: string;
45
+ [x: string]: any;
46
+ }
47
+
48
+ /**
49
+ * Represents the slots for the ButtonView component.
50
+ */
51
+ declare interface ButtonViewReturnComponentSlots {
52
+ /** Dialog slot */
53
+ dialog: () => any;
54
+ [x: string]: () => any;
55
+ }
56
+
57
+ export declare const ExportPdf: Extension<ExportPdfOptions, any>;
58
+
59
+ export declare interface ExportPdfOptions extends GeneralOptions<ExportPdfOptions> {
60
+ paperSize: PaperSize;
61
+ margins: {
62
+ top?: PageMargin;
63
+ right?: PageMargin;
64
+ bottom?: PageMargin;
65
+ left?: PageMargin;
66
+ };
67
+ }
68
+
69
+ /**
70
+ * Represents the general options for Tiptap extensions.
71
+ */
72
+ declare interface GeneralOptions<T> {
73
+ /** Enabled divider */
74
+ divider: boolean;
75
+ /** Enabled spacer */
76
+ spacer: boolean;
77
+ /** Button view function */
78
+ button: ButtonView<T>;
79
+ /** Show on Toolbar */
80
+ toolbar?: boolean;
81
+ }
82
+
83
+ declare type PageMargin = '0in' | '0.25in' | '0.4in' | '0.5in' | '0.75in' | '1in' | '1.25in' | '1.5in' | '1.75in' | '2in' | '0cm' | '0.5cm' | '1cm' | '1.5cm' | '2cm' | '2.5cm' | '3cm' | '4cm' | '5cm' | '0mm' | '5mm' | '10mm' | '15mm' | '20mm' | '25mm' | '30mm' | '40mm' | '50mm' | '0pt' | '18pt' | '36pt' | '54pt' | '72pt' | '90pt' | '108pt' | '144pt';
84
+
85
+ declare type PaperSize = 'Legal' | 'Letter' | 'Tabloid' | 'A0' | 'A1' | 'A2' | 'A3' | 'A4' | 'A5';
4
86
 
5
87
  export { }
6
88
 
@@ -37,9 +119,11 @@ declare module '@tiptap/core' {
37
119
 
38
120
  declare module '@tiptap/core' {
39
121
  interface Commands<ReturnType> {
40
- drawer: {
41
- setDrawer: (options: any, replace?: any) => ReturnType;
42
- setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
122
+ emoji: {
123
+ setEmoji: (emoji: {
124
+ name: string;
125
+ emoji: string;
126
+ }) => ReturnType;
43
127
  };
44
128
  }
45
129
  }
@@ -47,11 +131,9 @@ declare module '@tiptap/core' {
47
131
 
48
132
  declare module '@tiptap/core' {
49
133
  interface Commands<ReturnType> {
50
- emoji: {
51
- setEmoji: (emoji: {
52
- name: string;
53
- emoji: string;
54
- }) => ReturnType;
134
+ drawer: {
135
+ setDrawer: (options: any, replace?: any) => ReturnType;
136
+ setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
55
137
  };
56
138
  }
57
139
  }
@@ -1,6 +1,88 @@
1
+ import { Editor } from '@tiptap/react';
1
2
  import { Extension } from '@tiptap/core';
2
3
 
3
- export declare const ExportPdf: Extension<any, any>;
4
+ /**
5
+ * Represents the ButtonView function.
6
+ */
7
+ declare type ButtonView<T = any> = (options: ButtonViewParams<T>) => ButtonViewReturn | ButtonViewReturn[];
8
+
9
+ /**
10
+ * Represents the parameters for the ButtonView function.
11
+ */
12
+ declare interface ButtonViewParams<T = any> {
13
+ /** Editor object */
14
+ editor: Editor;
15
+ /** Extension object */
16
+ extension: Extension<T>;
17
+ /** Translation function */
18
+ t: (path: string) => string;
19
+ }
20
+
21
+ /**
22
+ * Represents the return value for the ButtonView component.
23
+ */
24
+ declare interface ButtonViewReturn {
25
+ /** Component */
26
+ component: unknown;
27
+ /** Component props */
28
+ componentProps: ButtonViewReturnComponentProps;
29
+ /** Component slots */
30
+ componentSlots?: ButtonViewReturnComponentSlots;
31
+ }
32
+
33
+ /**
34
+ * Represents the props for the ButtonView component.
35
+ */
36
+ declare interface ButtonViewReturnComponentProps {
37
+ /** Method triggered when action is performed */
38
+ action?: (value?: any) => void;
39
+ /** Whether it is in the active state */
40
+ isActive?: () => boolean;
41
+ /** Button icon */
42
+ icon?: any;
43
+ /** Text displayed on hover */
44
+ tooltip?: string;
45
+ [x: string]: any;
46
+ }
47
+
48
+ /**
49
+ * Represents the slots for the ButtonView component.
50
+ */
51
+ declare interface ButtonViewReturnComponentSlots {
52
+ /** Dialog slot */
53
+ dialog: () => any;
54
+ [x: string]: () => any;
55
+ }
56
+
57
+ export declare const ExportPdf: Extension<ExportPdfOptions, any>;
58
+
59
+ export declare interface ExportPdfOptions extends GeneralOptions<ExportPdfOptions> {
60
+ paperSize: PaperSize;
61
+ margins: {
62
+ top?: PageMargin;
63
+ right?: PageMargin;
64
+ bottom?: PageMargin;
65
+ left?: PageMargin;
66
+ };
67
+ }
68
+
69
+ /**
70
+ * Represents the general options for Tiptap extensions.
71
+ */
72
+ declare interface GeneralOptions<T> {
73
+ /** Enabled divider */
74
+ divider: boolean;
75
+ /** Enabled spacer */
76
+ spacer: boolean;
77
+ /** Button view function */
78
+ button: ButtonView<T>;
79
+ /** Show on Toolbar */
80
+ toolbar?: boolean;
81
+ }
82
+
83
+ declare type PageMargin = '0in' | '0.25in' | '0.4in' | '0.5in' | '0.75in' | '1in' | '1.25in' | '1.5in' | '1.75in' | '2in' | '0cm' | '0.5cm' | '1cm' | '1.5cm' | '2cm' | '2.5cm' | '3cm' | '4cm' | '5cm' | '0mm' | '5mm' | '10mm' | '15mm' | '20mm' | '25mm' | '30mm' | '40mm' | '50mm' | '0pt' | '18pt' | '36pt' | '54pt' | '72pt' | '90pt' | '108pt' | '144pt';
84
+
85
+ declare type PaperSize = 'Legal' | 'Letter' | 'Tabloid' | 'A0' | 'A1' | 'A2' | 'A3' | 'A4' | 'A5';
4
86
 
5
87
  export { }
6
88
 
@@ -37,9 +119,11 @@ declare module '@tiptap/core' {
37
119
 
38
120
  declare module '@tiptap/core' {
39
121
  interface Commands<ReturnType> {
40
- drawer: {
41
- setDrawer: (options: any, replace?: any) => ReturnType;
42
- setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
122
+ emoji: {
123
+ setEmoji: (emoji: {
124
+ name: string;
125
+ emoji: string;
126
+ }) => ReturnType;
43
127
  };
44
128
  }
45
129
  }
@@ -47,11 +131,9 @@ declare module '@tiptap/core' {
47
131
 
48
132
  declare module '@tiptap/core' {
49
133
  interface Commands<ReturnType> {
50
- emoji: {
51
- setEmoji: (emoji: {
52
- name: string;
53
- emoji: string;
54
- }) => ReturnType;
134
+ drawer: {
135
+ setDrawer: (options: any, replace?: any) => ReturnType;
136
+ setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
55
137
  };
56
138
  }
57
139
  }
package/lib/ExportPdf.js CHANGED
@@ -1,60 +1,100 @@
1
- import { E as c } from "./index-BWx1Mchx.js";
2
- import { A as d } from "./RichTextEditor-OW4s40FH.js";
3
- function s(n) {
1
+ import { E as f } from "./index-BWx1Mchx.js";
2
+ import { A as u } from "./RichTextEditor-1N7Gl9vo.js";
3
+ function g(e, o) {
4
+ var i;
4
5
  const t = document.createElement("iframe");
5
- t.setAttribute("style", "position: absolute; width: 0; height: 0; top: 0; left: 0;"), document.body.appendChild(t), t.textContent = `
6
+ t.setAttribute(
7
+ "style",
8
+ "position: absolute; width: 0; height: 0; top: 0; left: 0;"
9
+ ), document.body.appendChild(t);
10
+ const n = t.contentDocument || ((i = t.contentWindow) == null ? void 0 : i.document);
11
+ if (!n) return;
12
+ const {
13
+ paperSize: d,
14
+ margins: {
15
+ top: s,
16
+ right: c,
17
+ bottom: p,
18
+ left: l
19
+ }
20
+ } = o, m = `
6
21
  <!DOCTYPE html>
7
22
  <html lang="en">
8
23
  <head>
9
24
  <title>Echo Editor</title>
10
25
  <meta charset="UTF-8">
11
26
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
27
+ <style>
28
+ @media print {
29
+ @page {
30
+ size: ${d};
31
+ margin: ${s} ${c} ${p} ${l}; /* top, right, bottom, left */
32
+ }
33
+
34
+ body {
35
+ background: none;
36
+ margin: 0;
37
+ padding: 0;
38
+ }
39
+
40
+ .print-container {
41
+ width: 100%;
42
+ box-sizing: border-box;
43
+ }
44
+
45
+ .no-print {
46
+ display: none;
47
+ }
48
+ }
49
+ </style>
50
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reactjs-tiptap-editor@latest/lib/style.css">
12
51
  </head>
13
- <body class="is-print">
14
- <div class="tiptap ProseMirror" translate="no" aria-expanded="false">
15
- ${n}
52
+ <body>
53
+ <div class="print-container">
54
+ ${e}
16
55
  </div>
17
56
  </body>
18
57
  </html>
19
58
  `;
20
- const e = t.contentWindow, o = t.contentDocument || t.contentWindow && t.contentWindow.document, i = document.createElement("link");
21
- i.rel = "stylesheet", i.href = "https://cdn.jsdelivr.net/npm/reactjs-tiptap-editor@latest/lib/style.css", o.head.appendChild(i), o && (o.open(), o.write(n), o.close()), e && t.addEventListener("load", function() {
22
- try {
23
- setTimeout(() => {
24
- e.focus();
25
- try {
26
- e.document.execCommand("print", !1) || e.print();
27
- } catch {
28
- e.print();
29
- }
30
- e.close();
31
- }, 10);
32
- } catch (r) {
33
- console.error(r);
34
- }
59
+ n.open(), n.write(m), n.close(), t.addEventListener("load", () => {
35
60
  setTimeout(() => {
36
- document.body.removeChild(t);
37
- }, 100);
61
+ var r, a;
62
+ try {
63
+ (r = t.contentWindow) == null || r.focus(), (a = t.contentWindow) == null || a.print();
64
+ } catch (h) {
65
+ console.error("Print failed", h);
66
+ }
67
+ setTimeout(() => {
68
+ document.body.removeChild(t);
69
+ }, 100);
70
+ }, 50);
38
71
  });
39
72
  }
40
- function a(n) {
41
- const t = n.getHTML();
42
- return t ? (s(t), !0) : !1;
73
+ function b(e, o) {
74
+ const t = e.getHTML();
75
+ return t ? (g(t, o), !0) : !1;
43
76
  }
44
- const m = /* @__PURE__ */ c.create({
77
+ const w = /* @__PURE__ */ f.create({
45
78
  name: "exportPdf",
46
79
  addOptions() {
47
- var n;
80
+ var e;
48
81
  return {
49
- ...(n = this.parent) == null ? void 0 : n.call(this),
50
- button: ({ editor: t, t: e }) => ({
51
- component: d,
82
+ ...(e = this.parent) == null ? void 0 : e.call(this),
83
+ paperSize: "Letter",
84
+ margins: {
85
+ top: "0.4in",
86
+ right: "0.4in",
87
+ bottom: "0.4in",
88
+ left: "0.4in"
89
+ },
90
+ button: ({ editor: o, extension: t, t: n }) => ({
91
+ component: u,
52
92
  componentProps: {
53
93
  action: () => {
54
- a(t);
94
+ b(o, t.options);
55
95
  },
56
96
  icon: "ExportPdf",
57
- tooltip: e("editor.exportPdf.tooltip"),
97
+ tooltip: n("editor.exportPdf.tooltip"),
58
98
  isActive: () => !1,
59
99
  disabled: !1
60
100
  }
@@ -63,5 +103,5 @@ const m = /* @__PURE__ */ c.create({
63
103
  }
64
104
  });
65
105
  export {
66
- m as ExportPdf
106
+ w as ExportPdf
67
107
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index-CSvnpArE.cjs"),s=require("docx"),t=require("prosemirror-docx"),i=require("./RichTextEditor-C3sK_Ys3.cjs"),l=typeof window<"u";function c(o,e){if(l){const n=window.URL.createObjectURL(o),r=document.createElement("a");return r.href=n,r.download=e,r.click(),window.URL.revokeObjectURL(n),Promise.resolve()}return console.error("Download is not supported in Node.js"),Promise.resolve()}const u={...t.defaultNodes,hardBreak:t.defaultNodes.hard_break,codeBlock:t.defaultNodes.code_block,orderedList:t.defaultNodes.ordered_list,listItem:t.defaultNodes.list_item,bulletList:t.defaultNodes.bullet_list,horizontalRule:t.defaultNodes.horizontal_rule,image(o,e){o.renderInline(e),o.closeBlock(e)},table(o,e){o.table(e,{tableOptions:{width:{size:100,type:s.WidthType.PERCENTAGE}}})}},p=new t.DocxSerializer(u,t.defaultMarks),f=a.Extension.create({name:"exportWord",addOptions(){var o;return{...(o=this.parent)==null?void 0:o.call(this),button:({editor:e,t:n})=>({component:i.ActionButton,componentProps:{icon:"ExportWord",action:()=>{e==null||e.commands.exportToWord()},tooltip:n("editor.exportWord.tooltip"),isActive:()=>!1,disabled:!1}})}},addCommands(){return{exportToWord:()=>async({editor:o})=>{const e={getImageBuffer:async r=>{const d=await(await fetch(r)).arrayBuffer();return new Uint8Array(d)}},n=p.serialize(o.state.doc,e);return s.Packer.toBlob(n).then(r=>c(new Blob([r]),"export-document.docx")),!0}}}});exports.ExportWord=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index-CSvnpArE.cjs"),s=require("docx"),t=require("prosemirror-docx"),i=require("./RichTextEditor-B_I3q8FW.cjs"),l=typeof window<"u";function c(o,e){if(l){const n=window.URL.createObjectURL(o),r=document.createElement("a");return r.href=n,r.download=e,r.click(),window.URL.revokeObjectURL(n),Promise.resolve()}return console.error("Download is not supported in Node.js"),Promise.resolve()}const u={...t.defaultNodes,hardBreak:t.defaultNodes.hard_break,codeBlock:t.defaultNodes.code_block,orderedList:t.defaultNodes.ordered_list,listItem:t.defaultNodes.list_item,bulletList:t.defaultNodes.bullet_list,horizontalRule:t.defaultNodes.horizontal_rule,image(o,e){o.renderInline(e),o.closeBlock(e)},table(o,e){o.table(e,{tableOptions:{width:{size:100,type:s.WidthType.PERCENTAGE}}})}},p=new t.DocxSerializer(u,t.defaultMarks),f=a.Extension.create({name:"exportWord",addOptions(){var o;return{...(o=this.parent)==null?void 0:o.call(this),button:({editor:e,t:n})=>({component:i.ActionButton,componentProps:{icon:"ExportWord",action:()=>{e==null||e.commands.exportToWord()},tooltip:n("editor.exportWord.tooltip"),isActive:()=>!1,disabled:!1}})}},addCommands(){return{exportToWord:()=>async({editor:o})=>{const e={getImageBuffer:async r=>{const d=await(await fetch(r)).arrayBuffer();return new Uint8Array(d)}},n=p.serialize(o.state.doc,e);return s.Packer.toBlob(n).then(r=>c(new Blob([r]),"export-document.docx")),!0}}}});exports.ExportWord=f;
@@ -108,9 +108,11 @@ declare module '@tiptap/core' {
108
108
 
109
109
  declare module '@tiptap/core' {
110
110
  interface Commands<ReturnType> {
111
- drawer: {
112
- setDrawer: (options: any, replace?: any) => ReturnType;
113
- setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
111
+ emoji: {
112
+ setEmoji: (emoji: {
113
+ name: string;
114
+ emoji: string;
115
+ }) => ReturnType;
114
116
  };
115
117
  }
116
118
  }
@@ -118,11 +120,9 @@ declare module '@tiptap/core' {
118
120
 
119
121
  declare module '@tiptap/core' {
120
122
  interface Commands<ReturnType> {
121
- emoji: {
122
- setEmoji: (emoji: {
123
- name: string;
124
- emoji: string;
125
- }) => ReturnType;
123
+ drawer: {
124
+ setDrawer: (options: any, replace?: any) => ReturnType;
125
+ setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
126
126
  };
127
127
  }
128
128
  }
@@ -108,9 +108,11 @@ declare module '@tiptap/core' {
108
108
 
109
109
  declare module '@tiptap/core' {
110
110
  interface Commands<ReturnType> {
111
- drawer: {
112
- setDrawer: (options: any, replace?: any) => ReturnType;
113
- setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
111
+ emoji: {
112
+ setEmoji: (emoji: {
113
+ name: string;
114
+ emoji: string;
115
+ }) => ReturnType;
114
116
  };
115
117
  }
116
118
  }
@@ -118,11 +120,9 @@ declare module '@tiptap/core' {
118
120
 
119
121
  declare module '@tiptap/core' {
120
122
  interface Commands<ReturnType> {
121
- emoji: {
122
- setEmoji: (emoji: {
123
- name: string;
124
- emoji: string;
125
- }) => ReturnType;
123
+ drawer: {
124
+ setDrawer: (options: any, replace?: any) => ReturnType;
125
+ setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
126
126
  };
127
127
  }
128
128
  }
package/lib/ExportWord.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { E as a } from "./index-BWx1Mchx.js";
2
2
  import { Packer as i, WidthType as c } from "docx";
3
3
  import { defaultNodes as t, DocxSerializer as d, defaultMarks as l } from "prosemirror-docx";
4
- import { A as p } from "./RichTextEditor-OW4s40FH.js";
4
+ import { A as p } from "./RichTextEditor-1N7Gl9vo.js";
5
5
  const m = typeof window < "u";
6
6
  function u(e, o) {
7
7
  if (m) {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./index-CrxasX7b.cjs");const y=require("./index-CSvnpArE.cjs"),m=require("./index-Dz3YxLE7.cjs"),o=require("react/jsx-runtime"),F=require("react"),h=require("./ActionMenuButton-Cbbnqd-L.cjs"),s=require("./RichTextEditor-C3sK_Ys3.cjs"),x=y.Extension.create({name:"fontFamily",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{fontFamily:{default:null,parseHTML:t=>t.style.fontFamily,renderHTML:t=>t.fontFamily?{style:`font-family: ${t.fontFamily}`}:{}}}}]},addCommands(){return{setFontFamily:t=>({chain:i})=>i().setMark("textStyle",{fontFamily:t}).run(),unsetFontFamily:()=>({chain:t})=>t().setMark("textStyle",{fontFamily:null}).removeEmptyTextStyle().run()}}});function M(t){var r,f,d;const{t:i,lang:u}=m.useLocale(),e=F.useMemo(()=>{var a;const n=(a=t==null?void 0:t.items)==null?void 0:a.find(l=>l.isActive());return n&&!n.default?{...n}:{title:t.tooltip,font:i("editor.fontFamily.default.tooltip"),isActive:()=>!1,disabled:!1,action:()=>t.editor.chain().focus().unsetFontFamily().run()}},[i,u,t]);return o.jsxs(s.DropdownMenu,{children:[o.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:t==null?void 0:t.disabled,children:o.jsx(h.ActionMenuButton,{disabled:t==null?void 0:t.disabled,icon:"MenuDown",title:((r=e==null?void 0:e.font)==null?void 0:r.length)>7?`${(f=e==null?void 0:e.font)==null?void 0:f.slice(0,6)}...`:e==null?void 0:e.font,tooltip:t==null?void 0:t.tooltip})}),o.jsx(s.DropdownMenuContent,{className:"richtext-w-full",children:(d=t==null?void 0:t.items)==null?void 0:d.map((n,c)=>{const a=n.font===i("editor.fontFamily.default.tooltip")?{}:{fontFamily:n.font};return o.jsxs(F.Fragment,{children:[o.jsx(s.DropdownMenuCheckboxItem,{checked:(e==null?void 0:e.font)===n.font,onClick:n.action,children:o.jsx("div",{className:"richtext-ml-1 richtext-h-full",style:a,children:n.font})}),n.font===i("editor.fontFamily.default.tooltip")&&o.jsx(s.DropdownMenuSeparator,{})]},`font-family-${c}`)})})]})}const b=x.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),fontFamilyList:m.DEFAULT_FONT_FAMILY_LIST,button({editor:i,extension:u,t:e}){var a;const{extensions:r=[]}=i.extensionManager??[],f=s.ensureNameValueOptions(((a=u==null?void 0:u.options)==null?void 0:a.fontFamilyList)||[]),d=r.find(l=>l.name==="base-kit"),n=f.map(l=>({action:()=>{i.chain().focus().setFontFamily(l.value).run()},isActive:()=>i.isActive("textStyle",{fontFamily:l.value})||!1,disabled:!i.can().setFontFamily(l.value),title:l.name,font:l.value}));d&&d.options.textStyle!==!1&&n.unshift({action:()=>i.chain().focus().unsetFontFamily().run(),isActive:()=>!1,disabled:!1,font:e("editor.fontFamily.default.tooltip"),title:e("editor.fontFamily.tooltip")});const c=n.filter(l=>l.disabled).length===n.length;return{component:M,componentProps:{tooltip:e("editor.fontFamily.tooltip"),disabled:c,items:n,editor:i}}}}}});exports.DEFAULT_FONT_FAMILY_LIST=m.DEFAULT_FONT_FAMILY_LIST;exports.FontFamily=b;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./index-CrxasX7b.cjs");const y=require("./index-CSvnpArE.cjs"),m=require("./index-Dz3YxLE7.cjs"),o=require("react/jsx-runtime"),F=require("react"),h=require("./ActionMenuButton-BiJA06nt.cjs"),s=require("./RichTextEditor-B_I3q8FW.cjs"),x=y.Extension.create({name:"fontFamily",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{fontFamily:{default:null,parseHTML:t=>t.style.fontFamily,renderHTML:t=>t.fontFamily?{style:`font-family: ${t.fontFamily}`}:{}}}}]},addCommands(){return{setFontFamily:t=>({chain:i})=>i().setMark("textStyle",{fontFamily:t}).run(),unsetFontFamily:()=>({chain:t})=>t().setMark("textStyle",{fontFamily:null}).removeEmptyTextStyle().run()}}});function M(t){var r,f,d;const{t:i,lang:u}=m.useLocale(),e=F.useMemo(()=>{var a;const n=(a=t==null?void 0:t.items)==null?void 0:a.find(l=>l.isActive());return n&&!n.default?{...n}:{title:t.tooltip,font:i("editor.fontFamily.default.tooltip"),isActive:()=>!1,disabled:!1,action:()=>t.editor.chain().focus().unsetFontFamily().run()}},[i,u,t]);return o.jsxs(s.DropdownMenu,{children:[o.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:t==null?void 0:t.disabled,children:o.jsx(h.ActionMenuButton,{disabled:t==null?void 0:t.disabled,icon:"MenuDown",title:((r=e==null?void 0:e.font)==null?void 0:r.length)>7?`${(f=e==null?void 0:e.font)==null?void 0:f.slice(0,6)}...`:e==null?void 0:e.font,tooltip:t==null?void 0:t.tooltip})}),o.jsx(s.DropdownMenuContent,{className:"richtext-w-full",children:(d=t==null?void 0:t.items)==null?void 0:d.map((n,c)=>{const a=n.font===i("editor.fontFamily.default.tooltip")?{}:{fontFamily:n.font};return o.jsxs(F.Fragment,{children:[o.jsx(s.DropdownMenuCheckboxItem,{checked:(e==null?void 0:e.font)===n.font,onClick:n.action,children:o.jsx("div",{className:"richtext-ml-1 richtext-h-full",style:a,children:n.font})}),n.font===i("editor.fontFamily.default.tooltip")&&o.jsx(s.DropdownMenuSeparator,{})]},`font-family-${c}`)})})]})}const b=x.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),fontFamilyList:m.DEFAULT_FONT_FAMILY_LIST,button({editor:i,extension:u,t:e}){var a;const{extensions:r=[]}=i.extensionManager??[],f=s.ensureNameValueOptions(((a=u==null?void 0:u.options)==null?void 0:a.fontFamilyList)||[]),d=r.find(l=>l.name==="base-kit"),n=f.map(l=>({action:()=>{i.chain().focus().setFontFamily(l.value).run()},isActive:()=>i.isActive("textStyle",{fontFamily:l.value})||!1,disabled:!i.can().setFontFamily(l.value),title:l.name,font:l.value}));d&&d.options.textStyle!==!1&&n.unshift({action:()=>i.chain().focus().unsetFontFamily().run(),isActive:()=>!1,disabled:!1,font:e("editor.fontFamily.default.tooltip"),title:e("editor.fontFamily.tooltip")});const c=n.filter(l=>l.disabled).length===n.length;return{component:M,componentProps:{tooltip:e("editor.fontFamily.tooltip"),disabled:c,items:n,editor:i}}}}}});exports.DEFAULT_FONT_FAMILY_LIST=m.DEFAULT_FONT_FAMILY_LIST;exports.FontFamily=b;
@@ -121,9 +121,11 @@ declare module '@tiptap/core' {
121
121
 
122
122
  declare module '@tiptap/core' {
123
123
  interface Commands<ReturnType> {
124
- drawer: {
125
- setDrawer: (options: any, replace?: any) => ReturnType;
126
- setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
124
+ emoji: {
125
+ setEmoji: (emoji: {
126
+ name: string;
127
+ emoji: string;
128
+ }) => ReturnType;
127
129
  };
128
130
  }
129
131
  }
@@ -131,11 +133,9 @@ declare module '@tiptap/core' {
131
133
 
132
134
  declare module '@tiptap/core' {
133
135
  interface Commands<ReturnType> {
134
- emoji: {
135
- setEmoji: (emoji: {
136
- name: string;
137
- emoji: string;
138
- }) => ReturnType;
136
+ drawer: {
137
+ setDrawer: (options: any, replace?: any) => ReturnType;
138
+ setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
139
139
  };
140
140
  }
141
141
  }
@@ -121,9 +121,11 @@ declare module '@tiptap/core' {
121
121
 
122
122
  declare module '@tiptap/core' {
123
123
  interface Commands<ReturnType> {
124
- drawer: {
125
- setDrawer: (options: any, replace?: any) => ReturnType;
126
- setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
124
+ emoji: {
125
+ setEmoji: (emoji: {
126
+ name: string;
127
+ emoji: string;
128
+ }) => ReturnType;
127
129
  };
128
130
  }
129
131
  }
@@ -131,11 +133,9 @@ declare module '@tiptap/core' {
131
133
 
132
134
  declare module '@tiptap/core' {
133
135
  interface Commands<ReturnType> {
134
- emoji: {
135
- setEmoji: (emoji: {
136
- name: string;
137
- emoji: string;
138
- }) => ReturnType;
136
+ drawer: {
137
+ setDrawer: (options: any, replace?: any) => ReturnType;
138
+ setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
139
139
  };
140
140
  }
141
141
  }
package/lib/FontFamily.js CHANGED
@@ -3,8 +3,8 @@ import { E as c } from "./index-BWx1Mchx.js";
3
3
  import { u as y, g as F } from "./index-D-DR0FPY.js";
4
4
  import { jsxs as r, jsx as a } from "react/jsx-runtime";
5
5
  import { useMemo as h, Fragment as b } from "react";
6
- import { A as x } from "./ActionMenuButton-BfH5nAGi.js";
7
- import { D as M, e as A, f as g, h as L, u as D, j as S } from "./RichTextEditor-OW4s40FH.js";
6
+ import { A as x } from "./ActionMenuButton-cLs916Iz.js";
7
+ import { D as M, e as A, f as g, h as L, u as D, j as S } from "./RichTextEditor-1N7Gl9vo.js";
8
8
  const w = c.create({
9
9
  name: "fontFamily",
10
10
  addOptions() {
package/lib/FontSize.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("./index-CSvnpArE.cjs"),r=require("./index-Dz3YxLE7.cjs"),s=require("./RichTextEditor-C3sK_Ys3.cjs"),u=require("react/jsx-runtime"),m=require("react"),z=require("./ActionMenuButton-Cbbnqd-L.cjs");function x(e){var a;const{t}=r.useLocale(),l=m.useMemo(()=>{const i=(e.items||[]).find(c=>c.isActive());return i||{title:t("editor.fontSize.default.tooltip"),isActive:()=>!1}},[e]);return u.jsxs(s.DropdownMenu,{children:[u.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:u.jsx(z.ActionMenuButton,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:l==null?void 0:l.title,tooltip:`${e==null?void 0:e.tooltip}`})}),u.jsx(s.DropdownMenuContent,{className:"richtext-max-h-96 richtext-w-32 richtext-overflow-y-auto",children:(a=e==null?void 0:e.items)==null?void 0:a.map((i,o)=>u.jsx(s.DropdownMenuCheckboxItem,{checked:l.title===i.title,onClick:i.action,children:u.jsx("div",{className:"richtext-ml-1 richtext-h-full",children:i.title})},`font-size-${o}`))})]})}const v=f.Extension.create({name:"fontSize",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["textStyle"],fontSizes:[...r.DEFAULT_FONT_SIZE_LIST],button({editor:t,extension:l,t:a}){var d;const i=s.ensureNameValueOptions(((d=l.options)==null?void 0:d.fontSizes)||r.DEFAULT_FONT_SIZE_VALUE),o=s.ensureNameValueOptions([r.DEFAULT_FONT_SIZE_VALUE])[0],c=i.map(n=>({title:n.value===o.value?a("editor.fontSize.default.tooltip"):String(n.name),isActive:()=>{const{fontSize:S}=t.getAttributes("textStyle");return n.value===o.value&&S===void 0?!0:t.isActive({fontSize:String(n.value)})||!1},action:()=>{if(n.value===o.value){t.commands.unsetFontSize();return}t.commands.setFontSize(String(n.value))},disabled:!t.can().setFontSize(String(n.value)),divider:n.value===o.value||!1,default:n.value===o.value||!1}));return{component:x,componentProps:{editor:t,tooltip:a("editor.fontSize.tooltip"),disabled:!1,items:c,maxHeight:280}}}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:e=>e.style.fontSize.replaceAll(/["']+/g,""),renderHTML:e=>e.fontSize?{style:`font-size: ${e.fontSize}`}:{}}}}]},addCommands(){return{setFontSize:e=>({chain:t})=>t().setMark("textStyle",{fontSize:e}).run(),unsetFontSize:()=>({chain:e})=>e().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run()}}});exports.DEFAULT_FONT_SIZE_LIST=r.DEFAULT_FONT_SIZE_LIST;exports.FontSize=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("./index-CSvnpArE.cjs"),r=require("./index-Dz3YxLE7.cjs"),s=require("./RichTextEditor-B_I3q8FW.cjs"),u=require("react/jsx-runtime"),m=require("react"),z=require("./ActionMenuButton-BiJA06nt.cjs");function x(e){var a;const{t}=r.useLocale(),l=m.useMemo(()=>{const i=(e.items||[]).find(c=>c.isActive());return i||{title:t("editor.fontSize.default.tooltip"),isActive:()=>!1}},[e]);return u.jsxs(s.DropdownMenu,{children:[u.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:u.jsx(z.ActionMenuButton,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:l==null?void 0:l.title,tooltip:`${e==null?void 0:e.tooltip}`})}),u.jsx(s.DropdownMenuContent,{className:"richtext-max-h-96 richtext-w-32 richtext-overflow-y-auto",children:(a=e==null?void 0:e.items)==null?void 0:a.map((i,o)=>u.jsx(s.DropdownMenuCheckboxItem,{checked:l.title===i.title,onClick:i.action,children:u.jsx("div",{className:"richtext-ml-1 richtext-h-full",children:i.title})},`font-size-${o}`))})]})}const v=f.Extension.create({name:"fontSize",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["textStyle"],fontSizes:[...r.DEFAULT_FONT_SIZE_LIST],button({editor:t,extension:l,t:a}){var d;const i=s.ensureNameValueOptions(((d=l.options)==null?void 0:d.fontSizes)||r.DEFAULT_FONT_SIZE_VALUE),o=s.ensureNameValueOptions([r.DEFAULT_FONT_SIZE_VALUE])[0],c=i.map(n=>({title:n.value===o.value?a("editor.fontSize.default.tooltip"):String(n.name),isActive:()=>{const{fontSize:S}=t.getAttributes("textStyle");return n.value===o.value&&S===void 0?!0:t.isActive({fontSize:String(n.value)})||!1},action:()=>{if(n.value===o.value){t.commands.unsetFontSize();return}t.commands.setFontSize(String(n.value))},disabled:!t.can().setFontSize(String(n.value)),divider:n.value===o.value||!1,default:n.value===o.value||!1}));return{component:x,componentProps:{editor:t,tooltip:a("editor.fontSize.tooltip"),disabled:!1,items:c,maxHeight:280}}}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:e=>e.style.fontSize.replaceAll(/["']+/g,""),renderHTML:e=>e.fontSize?{style:`font-size: ${e.fontSize}`}:{}}}}]},addCommands(){return{setFontSize:e=>({chain:t})=>t().setMark("textStyle",{fontSize:e}).run(),unsetFontSize:()=>({chain:e})=>e().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run()}}});exports.DEFAULT_FONT_SIZE_LIST=r.DEFAULT_FONT_SIZE_LIST;exports.FontSize=v;
@@ -126,9 +126,11 @@ declare module '@tiptap/core' {
126
126
 
127
127
  declare module '@tiptap/core' {
128
128
  interface Commands<ReturnType> {
129
- drawer: {
130
- setDrawer: (options: any, replace?: any) => ReturnType;
131
- setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
129
+ emoji: {
130
+ setEmoji: (emoji: {
131
+ name: string;
132
+ emoji: string;
133
+ }) => ReturnType;
132
134
  };
133
135
  }
134
136
  }
@@ -136,11 +138,9 @@ declare module '@tiptap/core' {
136
138
 
137
139
  declare module '@tiptap/core' {
138
140
  interface Commands<ReturnType> {
139
- emoji: {
140
- setEmoji: (emoji: {
141
- name: string;
142
- emoji: string;
143
- }) => ReturnType;
141
+ drawer: {
142
+ setDrawer: (options: any, replace?: any) => ReturnType;
143
+ setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
144
144
  };
145
145
  }
146
146
  }
package/lib/FontSize.d.ts CHANGED
@@ -126,9 +126,11 @@ declare module '@tiptap/core' {
126
126
 
127
127
  declare module '@tiptap/core' {
128
128
  interface Commands<ReturnType> {
129
- drawer: {
130
- setDrawer: (options: any, replace?: any) => ReturnType;
131
- setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
129
+ emoji: {
130
+ setEmoji: (emoji: {
131
+ name: string;
132
+ emoji: string;
133
+ }) => ReturnType;
132
134
  };
133
135
  }
134
136
  }
@@ -136,11 +138,9 @@ declare module '@tiptap/core' {
136
138
 
137
139
  declare module '@tiptap/core' {
138
140
  interface Commands<ReturnType> {
139
- emoji: {
140
- setEmoji: (emoji: {
141
- name: string;
142
- emoji: string;
143
- }) => ReturnType;
141
+ drawer: {
142
+ setDrawer: (options: any, replace?: any) => ReturnType;
143
+ setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
144
144
  };
145
145
  }
146
146
  }
package/lib/FontSize.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { E as m } from "./index-BWx1Mchx.js";
2
2
  import { u as S, D as z, f } from "./index-D-DR0FPY.js";
3
- import { D as v, e as h, f as x, h as F, j as c } from "./RichTextEditor-OW4s40FH.js";
3
+ import { D as v, e as h, f as x, h as F, j as c } from "./RichTextEditor-1N7Gl9vo.js";
4
4
  import { jsxs as y, jsx as u } from "react/jsx-runtime";
5
5
  import { useMemo as A } from "react";
6
- import { A as M } from "./ActionMenuButton-BfH5nAGi.js";
6
+ import { A as M } from "./ActionMenuButton-cLs916Iz.js";
7
7
  function b(t) {
8
8
  var a;
9
9
  const { t: e } = S(), l = A(() => {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index-CSvnpArE.cjs"),c=require("./RichTextEditor-C3sK_Ys3.cjs"),m=i.Extension.create({name:"painter",addOptions(){var n;return{...(n=this.parent)==null?void 0:n.call(this),button:({editor:t,t:e})=>({component:c.ActionButton,componentProps:{action:()=>{t.commands.setPainter(t==null?void 0:t.state.selection.$head.marks())},icon:"PaintRoller",tooltip:e("editor.format")}})}},addCommands(){return{setPainter:n=>({view:{dispatch:t,state:{tr:e},dom:s}})=>{const a=`url("data:image/svg+xml;utf8,${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#000" d="M9 22v-6H4V7q0-1.65 1.175-2.825T8 3h12v13h-5v6zM6 10h12V5h-1v4h-2V5h-1v2h-2V5H8q-.825 0-1.412.588T6 7zm0 4h12v-2H6zm0 0v-2z"/></svg>')}"), auto`;return s.style.cursor=a,t(e.setMeta("painterAction",{type:"start",marks:n})),!0}}},addProseMirrorPlugins(){return[new i.Plugin({key:new i.PluginKey("format-painter"),state:{init:()=>[],apply:(n,t)=>{const e=n.getMeta("painterAction");return e&&e.type==="start"?t=e.marks:e&&e.type==="end"&&(t=[]),t}},props:{handleDOMEvents:{mousedown(n){const t=this.getState(n.state);if(!t||t.length===0)return n.dom.style.cursor="",!1;const e=()=>{document.removeEventListener("mouseup",e);let{dispatch:s,state:{tr:r,selection:o},dom:a}=n;a.style.cursor="",r=r.removeMark(o.from,o.to);for(const u of t)u.type.name!=="link"&&(r=r.addMark(o.from,o.to,u));s(r.setMeta("painterAction",{type:"end"}))};return document.addEventListener("mouseup",e),!0}}}})]}});exports.FormatPainter=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index-CSvnpArE.cjs"),c=require("./RichTextEditor-B_I3q8FW.cjs"),m=i.Extension.create({name:"painter",addOptions(){var n;return{...(n=this.parent)==null?void 0:n.call(this),button:({editor:t,t:e})=>({component:c.ActionButton,componentProps:{action:()=>{t.commands.setPainter(t==null?void 0:t.state.selection.$head.marks())},icon:"PaintRoller",tooltip:e("editor.format")}})}},addCommands(){return{setPainter:n=>({view:{dispatch:t,state:{tr:e},dom:s}})=>{const a=`url("data:image/svg+xml;utf8,${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#000" d="M9 22v-6H4V7q0-1.65 1.175-2.825T8 3h12v13h-5v6zM6 10h12V5h-1v4h-2V5h-1v2h-2V5H8q-.825 0-1.412.588T6 7zm0 4h12v-2H6zm0 0v-2z"/></svg>')}"), auto`;return s.style.cursor=a,t(e.setMeta("painterAction",{type:"start",marks:n})),!0}}},addProseMirrorPlugins(){return[new i.Plugin({key:new i.PluginKey("format-painter"),state:{init:()=>[],apply:(n,t)=>{const e=n.getMeta("painterAction");return e&&e.type==="start"?t=e.marks:e&&e.type==="end"&&(t=[]),t}},props:{handleDOMEvents:{mousedown(n){const t=this.getState(n.state);if(!t||t.length===0)return n.dom.style.cursor="",!1;const e=()=>{document.removeEventListener("mouseup",e);let{dispatch:s,state:{tr:r,selection:o},dom:a}=n;a.style.cursor="",r=r.removeMark(o.from,o.to);for(const u of t)u.type.name!=="link"&&(r=r.addMark(o.from,o.to,u));s(r.setMeta("painterAction",{type:"end"}))};return document.addEventListener("mouseup",e),!0}}}})]}});exports.FormatPainter=m;