reactjs-tiptap-editor 0.3.27 → 0.3.29

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-fkh63F_R.cjs → ActionMenuButton-5Y8QcYxD.cjs} +1 -1
  2. package/lib/{ActionMenuButton-D3nLtawn.js → ActionMenuButton-Cs9DM_16.js} +1 -1
  3. package/lib/Attachment.cjs +1 -1
  4. package/lib/Attachment.d.cts +6 -4
  5. package/lib/Attachment.d.ts +6 -4
  6. package/lib/Attachment.js +1 -1
  7. package/lib/Blockquote.cjs +1 -1
  8. package/lib/Blockquote.d.cts +6 -4
  9. package/lib/Blockquote.d.ts +6 -4
  10. package/lib/Blockquote.js +10 -10
  11. package/lib/Bold.cjs +1 -1
  12. package/lib/Bold.d.cts +6 -4
  13. package/lib/Bold.d.ts +6 -4
  14. package/lib/Bold.js +10 -10
  15. package/lib/BulletList.cjs +1 -1
  16. package/lib/BulletList.d.cts +6 -4
  17. package/lib/BulletList.d.ts +6 -4
  18. package/lib/BulletList.js +10 -10
  19. package/lib/Clear.cjs +1 -1
  20. package/lib/Clear.d.cts +6 -4
  21. package/lib/Clear.d.ts +6 -4
  22. package/lib/Clear.js +1 -1
  23. package/lib/Code.cjs +1 -1
  24. package/lib/Code.d.cts +6 -4
  25. package/lib/Code.d.ts +6 -4
  26. package/lib/Code.js +21 -21
  27. package/lib/CodeBlock.cjs +1 -1
  28. package/lib/CodeBlock.d.cts +6 -4
  29. package/lib/CodeBlock.d.ts +6 -4
  30. package/lib/CodeBlock.js +1 -1
  31. package/lib/CodeView.cjs +1 -1
  32. package/lib/CodeView.d.cts +6 -4
  33. package/lib/CodeView.d.ts +6 -4
  34. package/lib/CodeView.js +1 -1
  35. package/lib/Color.cjs +1 -1
  36. package/lib/Color.d.cts +6 -4
  37. package/lib/Color.d.ts +6 -4
  38. package/lib/Color.js +1 -1
  39. package/lib/Document.d.cts +4 -4
  40. package/lib/Document.d.ts +4 -4
  41. package/lib/{Drawer-BBVUujX4.js → Drawer-BCmNLh31.js} +1 -1
  42. package/lib/{Drawer-DetzmUvQ.cjs → Drawer-DCAp7eZF.cjs} +1 -1
  43. package/lib/Drawer.cjs +1 -1
  44. package/lib/Drawer.d.cts +6 -4
  45. package/lib/Drawer.d.ts +6 -4
  46. package/lib/Drawer.js +2 -2
  47. package/lib/Emoji.cjs +1 -1
  48. package/lib/Emoji.d.cts +4 -4
  49. package/lib/Emoji.d.ts +4 -4
  50. package/lib/Emoji.js +1 -1
  51. package/lib/{Excalidraw-DVnwdz-w.cjs → Excalidraw-BI50RQL-.cjs} +1 -1
  52. package/lib/{Excalidraw-BVdio4hk.js → Excalidraw-CYPcjYZB.js} +1 -1
  53. package/lib/Excalidraw.cjs +1 -1
  54. package/lib/Excalidraw.d.cts +4 -4
  55. package/lib/Excalidraw.d.ts +4 -4
  56. package/lib/Excalidraw.js +1 -1
  57. package/lib/ExportPdf.cjs +1 -1
  58. package/lib/ExportPdf.d.cts +6 -4
  59. package/lib/ExportPdf.d.ts +6 -4
  60. package/lib/ExportPdf.js +1 -1
  61. package/lib/ExportWord.cjs +1 -1
  62. package/lib/ExportWord.d.cts +6 -4
  63. package/lib/ExportWord.d.ts +6 -4
  64. package/lib/ExportWord.js +1 -1
  65. package/lib/FontFamily.cjs +1 -1
  66. package/lib/FontFamily.d.cts +6 -4
  67. package/lib/FontFamily.d.ts +6 -4
  68. package/lib/FontFamily.js +2 -2
  69. package/lib/FontSize.cjs +1 -1
  70. package/lib/FontSize.d.cts +6 -4
  71. package/lib/FontSize.d.ts +6 -4
  72. package/lib/FontSize.js +2 -2
  73. package/lib/FormatPainter.cjs +1 -1
  74. package/lib/FormatPainter.d.cts +6 -4
  75. package/lib/FormatPainter.d.ts +6 -4
  76. package/lib/FormatPainter.js +1 -1
  77. package/lib/Heading.cjs +1 -1
  78. package/lib/Heading.d.cts +6 -4
  79. package/lib/Heading.d.ts +6 -4
  80. package/lib/Heading.js +71 -68
  81. package/lib/Highlight.cjs +1 -1
  82. package/lib/Highlight.d.cts +10 -4
  83. package/lib/Highlight.d.ts +10 -4
  84. package/lib/Highlight.js +14 -13
  85. package/lib/History.cjs +1 -1
  86. package/lib/History.d.cts +6 -4
  87. package/lib/History.d.ts +6 -4
  88. package/lib/History.js +163 -160
  89. package/lib/HorizontalRule.cjs +1 -1
  90. package/lib/HorizontalRule.d.cts +6 -4
  91. package/lib/HorizontalRule.d.ts +6 -4
  92. package/lib/HorizontalRule.js +14 -14
  93. package/lib/Iframe.cjs +1 -1
  94. package/lib/Iframe.d.cts +4 -4
  95. package/lib/Iframe.d.ts +4 -4
  96. package/lib/Iframe.js +1 -1
  97. package/lib/Image.cjs +1 -1
  98. package/lib/Image.d.cts +6 -4
  99. package/lib/Image.d.ts +6 -4
  100. package/lib/Image.js +1 -1
  101. package/lib/ImageGif.cjs +1 -1
  102. package/lib/ImageGif.d.cts +7 -6
  103. package/lib/ImageGif.d.ts +7 -6
  104. package/lib/ImageGif.js +1 -1
  105. package/lib/ImportWord.cjs +2 -2
  106. package/lib/ImportWord.d.cts +6 -4
  107. package/lib/ImportWord.d.ts +6 -4
  108. package/lib/ImportWord.js +2 -2
  109. package/lib/Indent.cjs +1 -1
  110. package/lib/Indent.d.cts +6 -4
  111. package/lib/Indent.d.ts +6 -4
  112. package/lib/Indent.js +12 -11
  113. package/lib/Italic.cjs +1 -1
  114. package/lib/Italic.d.cts +6 -4
  115. package/lib/Italic.d.ts +6 -4
  116. package/lib/Italic.js +13 -13
  117. package/lib/Katex.cjs +1 -1
  118. package/lib/Katex.d.cts +4 -4
  119. package/lib/Katex.d.ts +4 -4
  120. package/lib/Katex.js +2 -2
  121. package/lib/LineHeight.cjs +1 -1
  122. package/lib/LineHeight.d.cts +6 -4
  123. package/lib/LineHeight.d.ts +6 -4
  124. package/lib/LineHeight.js +1 -1
  125. package/lib/Link.cjs +1 -1
  126. package/lib/Link.d.cts +6 -4
  127. package/lib/Link.d.ts +6 -4
  128. package/lib/Link.js +1 -1
  129. package/lib/ListItem.d.cts +4 -4
  130. package/lib/ListItem.d.ts +4 -4
  131. package/lib/Mention.d.cts +4 -4
  132. package/lib/Mention.d.ts +4 -4
  133. package/lib/Mermaid.cjs +1 -1
  134. package/lib/Mermaid.d.cts +6 -4
  135. package/lib/Mermaid.d.ts +6 -4
  136. package/lib/Mermaid.js +2 -2
  137. package/lib/MoreMark.cjs +1 -1
  138. package/lib/MoreMark.d.cts +6 -4
  139. package/lib/MoreMark.d.ts +6 -4
  140. package/lib/MoreMark.js +46 -45
  141. package/lib/MultiColumn.cjs +1 -1
  142. package/lib/MultiColumn.d.cts +4 -4
  143. package/lib/MultiColumn.d.ts +4 -4
  144. package/lib/MultiColumn.js +1 -1
  145. package/lib/OrderedList.cjs +1 -1
  146. package/lib/OrderedList.d.cts +6 -4
  147. package/lib/OrderedList.d.ts +6 -4
  148. package/lib/OrderedList.js +9 -9
  149. package/lib/{RichTextEditor-DoMu_nCj.cjs → RichTextEditor-DsUcQSbm.cjs} +7 -7
  150. package/lib/{RichTextEditor-BJWhWz4z.js → RichTextEditor-e6q30rbV.js} +1691 -1672
  151. package/lib/SearchAndReplace.cjs +1 -1
  152. package/lib/SearchAndReplace.d.cts +6 -4
  153. package/lib/SearchAndReplace.d.ts +6 -4
  154. package/lib/SearchAndReplace.js +1 -1
  155. package/lib/Selection.d.cts +4 -4
  156. package/lib/Selection.d.ts +4 -4
  157. package/lib/SlashCommand.cjs +1 -1
  158. package/lib/SlashCommand.d.cts +4 -4
  159. package/lib/SlashCommand.d.ts +4 -4
  160. package/lib/SlashCommand.js +1 -1
  161. package/lib/Strike.cjs +1 -1
  162. package/lib/Strike.d.cts +6 -4
  163. package/lib/Strike.d.ts +6 -4
  164. package/lib/Strike.js +13 -13
  165. package/lib/SubAndSuperScript.cjs +1 -1
  166. package/lib/SubAndSuperScript.d.cts +6 -4
  167. package/lib/SubAndSuperScript.d.ts +6 -4
  168. package/lib/SubAndSuperScript.js +1 -1
  169. package/lib/Table.cjs +1 -1
  170. package/lib/Table.d.cts +6 -4
  171. package/lib/Table.d.ts +6 -4
  172. package/lib/Table.js +1 -1
  173. package/lib/TableOfContent.cjs +1 -1
  174. package/lib/TableOfContent.d.cts +4 -4
  175. package/lib/TableOfContent.d.ts +4 -4
  176. package/lib/TableOfContent.js +1 -1
  177. package/lib/TaskList.cjs +1 -1
  178. package/lib/TaskList.d.cts +6 -4
  179. package/lib/TaskList.d.ts +6 -4
  180. package/lib/TaskList.js +15 -15
  181. package/lib/TextAlign.cjs +1 -1
  182. package/lib/TextAlign.d.cts +6 -4
  183. package/lib/TextAlign.d.ts +6 -4
  184. package/lib/TextAlign.js +41 -41
  185. package/lib/TextBubble.cjs +1 -1
  186. package/lib/TextBubble.d.cts +6 -4
  187. package/lib/TextBubble.d.ts +6 -4
  188. package/lib/TextBubble.js +1 -1
  189. package/lib/TextDirection.cjs +1 -1
  190. package/lib/TextDirection.d.cts +4 -4
  191. package/lib/TextDirection.d.ts +4 -4
  192. package/lib/TextDirection.js +1 -1
  193. package/lib/TextUnderline.cjs +1 -1
  194. package/lib/TextUnderline.d.cts +6 -4
  195. package/lib/TextUnderline.d.ts +6 -4
  196. package/lib/TextUnderline.js +8 -8
  197. package/lib/TrailingNode.d.cts +4 -4
  198. package/lib/TrailingNode.d.ts +4 -4
  199. package/lib/{Twitter--OkCPska.cjs → Twitter-D2Osj8qP.cjs} +1 -1
  200. package/lib/{Twitter-CXwmqolk.js → Twitter-Wb7cD3M-.js} +1 -1
  201. package/lib/Twitter.cjs +1 -1
  202. package/lib/Twitter.d.cts +4 -4
  203. package/lib/Twitter.d.ts +4 -4
  204. package/lib/Twitter.js +1 -1
  205. package/lib/Video.cjs +1 -1
  206. package/lib/Video.d.cts +6 -4
  207. package/lib/Video.d.ts +6 -4
  208. package/lib/Video.js +1 -1
  209. package/lib/bubble-extra.cjs +1 -1
  210. package/lib/bubble-extra.d.cts +4 -4
  211. package/lib/bubble-extra.d.ts +4 -4
  212. package/lib/bubble-extra.js +5 -5
  213. package/lib/index.cjs +1 -1
  214. package/lib/index.d.cts +23 -17
  215. package/lib/index.d.ts +23 -17
  216. package/lib/index.js +2 -2
  217. package/lib/locale-bundle.d.cts +4 -4
  218. package/lib/locale-bundle.d.ts +4 -4
  219. package/lib/{textarea-DkVc2MIQ.cjs → textarea-BVbzd9-k.cjs} +1 -1
  220. package/lib/{textarea-HW9QlrCS.js → textarea-Csmx5x-_.js} +1 -1
  221. package/package.json +1 -1
package/lib/Heading.js CHANGED
@@ -1,9 +1,9 @@
1
- import { N as g, t as m, m as f } from "./index-DI9T3iLd.js";
2
- import { jsxs as c, jsx as o } from "react/jsx-runtime";
3
- import { useMemo as v, Fragment as b } from "react";
4
- import { A as M } from "./ActionMenuButton-D3nLtawn.js";
5
- import { D as x, e as A, f as H, h as $, v as p, s as w, u as y } from "./RichTextEditor-BJWhWz4z.js";
6
- const D = g.create({
1
+ import { N as f, t as v, m as b } from "./index-DI9T3iLd.js";
2
+ import { jsxs as c, jsx as r } from "react/jsx-runtime";
3
+ import { useMemo as M, Fragment as A } from "react";
4
+ import { A as x } from "./ActionMenuButton-Cs9DM_16.js";
5
+ import { D as H, e as p, f as y, h as $, v as w, s as K, u as D } from "./RichTextEditor-e6q30rbV.js";
6
+ const k = f.create({
7
7
  name: "heading",
8
8
  addOptions() {
9
9
  return {
@@ -23,119 +23,122 @@ const D = g.create({
23
23
  };
24
24
  },
25
25
  parseHTML() {
26
- return this.options.levels.map((e) => ({
27
- tag: `h${e}`,
28
- attrs: { level: e }
26
+ return this.options.levels.map((t) => ({
27
+ tag: `h${t}`,
28
+ attrs: { level: t }
29
29
  }));
30
30
  },
31
- renderHTML({ node: e, HTMLAttributes: t }) {
32
- return [`h${this.options.levels.includes(e.attrs.level) ? e.attrs.level : this.options.levels[0]}`, f(this.options.HTMLAttributes, t), 0];
31
+ renderHTML({ node: t, HTMLAttributes: e }) {
32
+ return [`h${this.options.levels.includes(t.attrs.level) ? t.attrs.level : this.options.levels[0]}`, b(this.options.HTMLAttributes, e), 0];
33
33
  },
34
34
  addCommands() {
35
35
  return {
36
- setHeading: (e) => ({ commands: t }) => this.options.levels.includes(e.level) ? t.setNode(this.name, e) : !1,
37
- toggleHeading: (e) => ({ commands: t }) => this.options.levels.includes(e.level) ? t.toggleNode(this.name, "paragraph", e) : !1
36
+ setHeading: (t) => ({ commands: e }) => this.options.levels.includes(t.level) ? e.setNode(this.name, t) : !1,
37
+ toggleHeading: (t) => ({ commands: e }) => this.options.levels.includes(t.level) ? e.toggleNode(this.name, "paragraph", t) : !1
38
38
  };
39
39
  },
40
40
  addKeyboardShortcuts() {
41
- return this.options.levels.reduce((e, t) => ({
42
- ...e,
43
- [`Mod-Alt-${t}`]: () => this.editor.commands.toggleHeading({ level: t })
41
+ return this.options.levels.reduce((t, e) => ({
42
+ ...t,
43
+ [`Mod-Alt-${e}`]: () => this.editor.commands.toggleHeading({ level: e })
44
44
  }), {});
45
45
  },
46
46
  addInputRules() {
47
- return this.options.levels.map((e) => m({
48
- find: new RegExp(`^(#{${Math.min(...this.options.levels)},${e}})\\s$`),
47
+ return this.options.levels.map((t) => v({
48
+ find: new RegExp(`^(#{${Math.min(...this.options.levels)},${t}})\\s$`),
49
49
  type: this.type,
50
50
  getAttributes: {
51
- level: e
51
+ level: t
52
52
  }
53
53
  }));
54
54
  }
55
55
  });
56
- function k(e) {
57
- var r;
58
- const t = v(() => {
59
- var s;
60
- const n = (s = e == null ? void 0 : e.items) == null ? void 0 : s.find((a) => a.isActive());
56
+ function N(t) {
57
+ var i;
58
+ const e = M(() => {
59
+ var a;
60
+ const n = (a = t == null ? void 0 : t.items) == null ? void 0 : a.find((l) => l.isActive());
61
61
  return n && !n.default ? {
62
62
  ...n
63
63
  } : {
64
- title: e.tooltip,
64
+ title: t.tooltip,
65
65
  level: 0,
66
66
  isActive: () => !1
67
67
  };
68
- }, [e]);
69
- return /* @__PURE__ */ c(x, { children: [
70
- /* @__PURE__ */ o(
71
- A,
68
+ }, [t]);
69
+ return /* @__PURE__ */ c(H, { children: [
70
+ /* @__PURE__ */ r(
71
+ p,
72
72
  {
73
73
  asChild: !0,
74
- disabled: e == null ? void 0 : e.disabled,
75
- children: /* @__PURE__ */ o(
76
- M,
74
+ disabled: t == null ? void 0 : t.disabled,
75
+ children: /* @__PURE__ */ r(
76
+ x,
77
77
  {
78
- disabled: e == null ? void 0 : e.disabled,
78
+ disabled: t == null ? void 0 : t.disabled,
79
79
  icon: "MenuDown",
80
- title: t == null ? void 0 : t.title,
81
- tooltip: e == null ? void 0 : e.tooltip
80
+ title: e == null ? void 0 : e.title,
81
+ tooltip: t == null ? void 0 : t.tooltip
82
82
  }
83
83
  )
84
84
  }
85
85
  ),
86
- /* @__PURE__ */ o(H, { className: "richtext-w-full", children: (r = e == null ? void 0 : e.items) == null ? void 0 : r.map((n, d) => {
87
- var s, a;
88
- return /* @__PURE__ */ c(b, { children: [
86
+ /* @__PURE__ */ r(y, { className: "richtext-w-full", children: (i = t == null ? void 0 : t.items) == null ? void 0 : i.map((n, d) => {
87
+ var a, l;
88
+ return /* @__PURE__ */ c(A, { children: [
89
89
  /* @__PURE__ */ c(
90
90
  $,
91
91
  {
92
- checked: (t == null ? void 0 : t.title) === n.title,
92
+ checked: (e == null ? void 0 : e.title) === n.title,
93
93
  onClick: n.action,
94
94
  children: [
95
- /* @__PURE__ */ o("div", { className: `heading- richtext-ml-1 richtext-h-full${n.level}`, children: n.title }),
96
- !!((s = n == null ? void 0 : n.shortcutKeys) != null && s.length) && /* @__PURE__ */ o(p, { className: "richtext-pl-4", children: (a = n == null ? void 0 : n.shortcutKeys) == null ? void 0 : a.map((l) => w(l)).join(" ") })
95
+ /* @__PURE__ */ r("div", { className: `heading- richtext-ml-1 richtext-h-full${n.level}`, children: n.title }),
96
+ !!((a = n == null ? void 0 : n.shortcutKeys) != null && a.length) && /* @__PURE__ */ r(w, { className: "richtext-pl-4", children: (l = n == null ? void 0 : n.shortcutKeys) == null ? void 0 : l.map((o) => K(o)).join(" ") })
97
97
  ]
98
98
  }
99
99
  ),
100
- n.level === 0 && /* @__PURE__ */ o(y, {})
100
+ n.level === 0 && /* @__PURE__ */ r(D, {})
101
101
  ] }, `heading-k-${d}`);
102
102
  }) })
103
103
  ] });
104
104
  }
105
- const S = /* @__PURE__ */ D.extend({
105
+ const I = /* @__PURE__ */ k.extend({
106
106
  addOptions() {
107
- var e;
107
+ var t;
108
108
  return {
109
- ...(e = this.parent) == null ? void 0 : e.call(this),
109
+ ...(t = this.parent) == null ? void 0 : t.call(this),
110
110
  levels: [1, 2, 3, 4, 5, 6],
111
- button({ editor: t, extension: r, t: n }) {
112
- var h;
113
- const { extensions: d = [] } = t.extensionManager ?? [], s = ((h = r.options) == null ? void 0 : h.levels) || [], a = d.find(
114
- (i) => i.name === "base-kit"
115
- ), l = s.map((i) => ({
116
- action: () => t.commands.toggleHeading({ level: i }),
117
- isActive: () => t.isActive("heading", { level: i }) || !1,
118
- disabled: !t.can().toggleHeading({ level: i }),
119
- title: n(`editor.heading.h${i}.tooltip`),
120
- level: i,
121
- shortcutKeys: ["alt", "mod", `${i}`]
122
- }));
123
- a && a.options.paragraph !== !1 && l.unshift({
124
- action: () => t.commands.setParagraph(),
125
- isActive: () => t.isActive("paragraph") || !1,
126
- disabled: !t.can().setParagraph(),
111
+ button({ editor: e, extension: i, t: n }) {
112
+ var h, u;
113
+ const { extensions: d = [] } = e.extensionManager ?? [], a = ((h = i.options) == null ? void 0 : h.levels) || [], l = d.find(
114
+ (s) => s.name === "base-kit"
115
+ ), o = a.map((s) => {
116
+ var g;
117
+ return {
118
+ action: () => e.commands.toggleHeading({ level: s }),
119
+ isActive: () => e.isActive("heading", { level: s }) || !1,
120
+ disabled: !e.can().toggleHeading({ level: s }),
121
+ title: n(`editor.heading.h${s}.tooltip`),
122
+ level: s,
123
+ shortcutKeys: ((g = i.options.shortcutKeys) == null ? void 0 : g[s]) ?? ["alt", "mod", `${s}`]
124
+ };
125
+ });
126
+ l && l.options.paragraph !== !1 && o.unshift({
127
+ action: () => e.commands.setParagraph(),
128
+ isActive: () => e.isActive("paragraph") || !1,
129
+ disabled: !e.can().setParagraph(),
127
130
  level: 0,
128
131
  title: n("editor.paragraph.tooltip"),
129
- shortcutKeys: ["alt", "mod", "0"]
132
+ shortcutKeys: ((u = i.options.shortcutKeys) == null ? void 0 : u[0]) ?? ["alt", "mod", "0"]
130
133
  });
131
- const u = l.filter((i) => i.disabled).length === l.length;
134
+ const m = o.filter((s) => s.disabled).length === o.length;
132
135
  return {
133
- component: k,
136
+ component: N,
134
137
  componentProps: {
135
138
  tooltip: n("editor.heading.tooltip"),
136
- disabled: u,
137
- items: l,
138
- editor: t
139
+ disabled: m,
140
+ items: o,
141
+ editor: e
139
142
  }
140
143
  };
141
144
  }
@@ -143,5 +146,5 @@ const S = /* @__PURE__ */ D.extend({
143
146
  }
144
147
  });
145
148
  export {
146
- S as Heading
149
+ I as Heading
147
150
  };
package/lib/Highlight.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index-ByRfqzMr.cjs"),n=require("./RichTextEditor-DoMu_nCj.cjs"),s=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/,u=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g,l=r.Mark.create({name:"highlight",addOptions(){return{multicolor:!1,HTMLAttributes:{}}},addAttributes(){return this.options.multicolor?{color:{default:null,parseHTML:t=>t.getAttribute("data-color")||t.style.backgroundColor,renderHTML:t=>t.color?{"data-color":t.color,style:`background-color: ${t.color}; color: inherit`}:{}}}:{}},parseHTML(){return[{tag:"mark"}]},renderHTML({HTMLAttributes:t}){return["mark",r.mergeAttributes(this.options.HTMLAttributes,t),0]},addCommands(){return{setHighlight:t=>({commands:e})=>e.setMark(this.name,t),toggleHighlight:t=>({commands:e})=>e.toggleMark(this.name,t),unsetHighlight:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-h":()=>this.editor.commands.toggleHighlight()}},addInputRules(){return[r.markInputRule({find:s,type:this.type})]},addPasteRules(){return[r.markPasteRule({find:u,type:this.type})]}}),h=l.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),multicolor:!0,button:({editor:e,t:o})=>({component:n.HighlightActionButton,componentProps:{action:i=>{typeof i=="string"&&e.chain().focus().setHighlight({color:i}).run(),i===void 0&&e.chain().focus().unsetHighlight().run()},editor:e,isActive:()=>e.isActive("highlight")||!1,disabled:!1,shortcutKeys:["⇧","mod","H"],tooltip:o("editor.highlight.tooltip")}})}}});exports.Highlight=h;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index-ByRfqzMr.cjs"),s=require("./RichTextEditor-DsUcQSbm.cjs"),u=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/,l=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g,a=r.Mark.create({name:"highlight",addOptions(){return{multicolor:!1,HTMLAttributes:{}}},addAttributes(){return this.options.multicolor?{color:{default:null,parseHTML:t=>t.getAttribute("data-color")||t.style.backgroundColor,renderHTML:t=>t.color?{"data-color":t.color,style:`background-color: ${t.color}; color: inherit`}:{}}}:{}},parseHTML(){return[{tag:"mark"}]},renderHTML({HTMLAttributes:t}){return["mark",r.mergeAttributes(this.options.HTMLAttributes,t),0]},addCommands(){return{setHighlight:t=>({commands:e})=>e.setMark(this.name,t),toggleHighlight:t=>({commands:e})=>e.toggleMark(this.name,t),unsetHighlight:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-h":()=>this.editor.commands.toggleHighlight()}},addInputRules(){return[r.markInputRule({find:u,type:this.type})]},addPasteRules(){return[r.markPasteRule({find:l,type:this.type})]}}),h=a.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),multicolor:!0,button:({editor:e,t:n,extension:o})=>({component:s.HighlightActionButton,componentProps:{action:i=>{typeof i=="string"&&e.chain().focus().setHighlight({color:i}).run(),i===void 0&&e.chain().focus().unsetHighlight().run()},editor:e,isActive:()=>e.isActive("highlight")||!1,disabled:!1,shortcutKeys:o.options.shortcutKeys??["⇧","mod","H"],tooltip:n("editor.highlight.tooltip"),defaultColor:o.options.defaultColor}})}}});exports.Highlight=h;
@@ -68,12 +68,18 @@ declare interface GeneralOptions<T> {
68
68
  button: ButtonView<T>;
69
69
  /** Show on Toolbar */
70
70
  toolbar?: boolean;
71
+ /** Shortcut keys override */
72
+ shortcutKeys?: string[] | string[][];
71
73
  }
72
74
 
73
75
  declare const Highlight_2: Mark<HighlightOptions, any>;
74
76
  export { Highlight_2 as Highlight }
75
77
 
76
78
  export declare interface HighlightOptions extends HighlightOptions_2, GeneralOptions<HighlightOptions> {
79
+ /**
80
+ * The default color to use initially
81
+ */
82
+ defaultColor?: string;
77
83
  }
78
84
 
79
85
  export { }
@@ -133,8 +139,8 @@ declare module '@tiptap/core' {
133
139
 
134
140
  declare module '@tiptap/core' {
135
141
  interface Commands<ReturnType> {
136
- excalidraw: {
137
- setExcalidraw: (attrs?: IExcalidrawAttrs) => ReturnType;
142
+ exportPdf: {
143
+ exportToPdf: () => ReturnType;
138
144
  };
139
145
  }
140
146
  }
@@ -142,8 +148,8 @@ declare module '@tiptap/core' {
142
148
 
143
149
  declare module '@tiptap/core' {
144
150
  interface Commands<ReturnType> {
145
- exportPdf: {
146
- exportToPdf: () => ReturnType;
151
+ excalidraw: {
152
+ setExcalidraw: (attrs?: IExcalidrawAttrs) => ReturnType;
147
153
  };
148
154
  }
149
155
  }
@@ -68,12 +68,18 @@ declare interface GeneralOptions<T> {
68
68
  button: ButtonView<T>;
69
69
  /** Show on Toolbar */
70
70
  toolbar?: boolean;
71
+ /** Shortcut keys override */
72
+ shortcutKeys?: string[] | string[][];
71
73
  }
72
74
 
73
75
  declare const Highlight_2: Mark<HighlightOptions, any>;
74
76
  export { Highlight_2 as Highlight }
75
77
 
76
78
  export declare interface HighlightOptions extends HighlightOptions_2, GeneralOptions<HighlightOptions> {
79
+ /**
80
+ * The default color to use initially
81
+ */
82
+ defaultColor?: string;
77
83
  }
78
84
 
79
85
  export { }
@@ -133,8 +139,8 @@ declare module '@tiptap/core' {
133
139
 
134
140
  declare module '@tiptap/core' {
135
141
  interface Commands<ReturnType> {
136
- excalidraw: {
137
- setExcalidraw: (attrs?: IExcalidrawAttrs) => ReturnType;
142
+ exportPdf: {
143
+ exportToPdf: () => ReturnType;
138
144
  };
139
145
  }
140
146
  }
@@ -142,8 +148,8 @@ declare module '@tiptap/core' {
142
148
 
143
149
  declare module '@tiptap/core' {
144
150
  interface Commands<ReturnType> {
145
- exportPdf: {
146
- exportToPdf: () => ReturnType;
151
+ excalidraw: {
152
+ setExcalidraw: (attrs?: IExcalidrawAttrs) => ReturnType;
147
153
  };
148
154
  }
149
155
  }
package/lib/Highlight.js CHANGED
@@ -1,6 +1,6 @@
1
- import { M as o, c as s, d as n, m as a } from "./index-DI9T3iLd.js";
2
- import { H as u } from "./RichTextEditor-BJWhWz4z.js";
3
- const h = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/, l = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g, g = o.create({
1
+ import { M as s, c as n, d as a, m as u } from "./index-DI9T3iLd.js";
2
+ import { H as l } from "./RichTextEditor-e6q30rbV.js";
3
+ const h = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/, g = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g, d = s.create({
4
4
  name: "highlight",
5
5
  addOptions() {
6
6
  return {
@@ -28,7 +28,7 @@ const h = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/, l = /(?:^|\s)(==(?!\s+
28
28
  ];
29
29
  },
30
30
  renderHTML({ HTMLAttributes: t }) {
31
- return ["mark", a(this.options.HTMLAttributes, t), 0];
31
+ return ["mark", u(this.options.HTMLAttributes, t), 0];
32
32
  },
33
33
  addCommands() {
34
34
  return {
@@ -44,7 +44,7 @@ const h = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/, l = /(?:^|\s)(==(?!\s+
44
44
  },
45
45
  addInputRules() {
46
46
  return [
47
- n({
47
+ a({
48
48
  find: h,
49
49
  type: this.type
50
50
  })
@@ -52,20 +52,20 @@ const h = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/, l = /(?:^|\s)(==(?!\s+
52
52
  },
53
53
  addPasteRules() {
54
54
  return [
55
- s({
56
- find: l,
55
+ n({
56
+ find: g,
57
57
  type: this.type
58
58
  })
59
59
  ];
60
60
  }
61
- }), p = /* @__PURE__ */ g.extend({
61
+ }), m = /* @__PURE__ */ d.extend({
62
62
  addOptions() {
63
63
  var t;
64
64
  return {
65
65
  ...(t = this.parent) == null ? void 0 : t.call(this),
66
66
  multicolor: !0,
67
- button: ({ editor: r, t: i }) => ({
68
- component: u,
67
+ button: ({ editor: r, t: i, extension: o }) => ({
68
+ component: l,
69
69
  componentProps: {
70
70
  action: (e) => {
71
71
  typeof e == "string" && r.chain().focus().setHighlight({ color: e }).run(), e === void 0 && r.chain().focus().unsetHighlight().run();
@@ -73,13 +73,14 @@ const h = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/, l = /(?:^|\s)(==(?!\s+
73
73
  editor: r,
74
74
  isActive: () => r.isActive("highlight") || !1,
75
75
  disabled: !1,
76
- shortcutKeys: ["⇧", "mod", "H"],
77
- tooltip: i("editor.highlight.tooltip")
76
+ shortcutKeys: o.options.shortcutKeys ?? ["⇧", "mod", "H"],
77
+ tooltip: i("editor.highlight.tooltip"),
78
+ defaultColor: o.options.defaultColor
78
79
  }
79
80
  })
80
81
  };
81
82
  }
82
83
  });
83
84
  export {
84
- p as Highlight
85
+ m as Highlight
85
86
  };
package/lib/History.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("./index-ByRfqzMr.cjs"),g=require("react/jsx-runtime"),M=require("./RichTextEditor-DoMu_nCj.cjs");var C=200,f=function(){};f.prototype.append=function(e){return e.length?(e=f.from(e),!this.length&&e||e.length<C&&this.leafAppend(e)||this.length<C&&e.leafPrepend(this)||this.appendInner(e)):this};f.prototype.prepend=function(e){return e.length?f.from(e).append(this):this};f.prototype.appendInner=function(e){return new _(this,e)};f.prototype.slice=function(e,t){return e===void 0&&(e=0),t===void 0&&(t=this.length),e>=t?f.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,t))};f.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)};f.prototype.forEach=function(e,t,n){t===void 0&&(t=0),n===void 0&&(n=this.length),t<=n?this.forEachInner(e,t,n,0):this.forEachInvertedInner(e,t,n,0)};f.prototype.map=function(e,t,n){t===void 0&&(t=0),n===void 0&&(n=this.length);var r=[];return this.forEach(function(s,l){return r.push(e(s,l))},t,n),r};f.from=function(e){return e instanceof f?e:e&&e.length?new A(e):f.empty};var A=function(i){function e(n){i.call(this),this.values=n}i&&(e.__proto__=i),e.prototype=Object.create(i&&i.prototype),e.prototype.constructor=e;var t={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(r,s){return r==0&&s==this.length?this:new e(this.values.slice(r,s))},e.prototype.getInner=function(r){return this.values[r]},e.prototype.forEachInner=function(r,s,l,o){for(var p=s;p<l;p++)if(r(this.values[p],o+p)===!1)return!1},e.prototype.forEachInvertedInner=function(r,s,l,o){for(var p=s-1;p>=l;p--)if(r(this.values[p],o+p)===!1)return!1},e.prototype.leafAppend=function(r){if(this.length+r.length<=C)return new e(this.values.concat(r.flatten()))},e.prototype.leafPrepend=function(r){if(this.length+r.length<=C)return new e(r.flatten().concat(this.values))},t.length.get=function(){return this.values.length},t.depth.get=function(){return 0},Object.defineProperties(e.prototype,t),e}(f);f.empty=new A([]);var _=function(i){function e(t,n){i.call(this),this.left=t,this.right=n,this.length=t.length+n.length,this.depth=Math.max(t.depth,n.depth)+1}return i&&(e.__proto__=i),e.prototype=Object.create(i&&i.prototype),e.prototype.constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(n){return n<this.left.length?this.left.get(n):this.right.get(n-this.left.length)},e.prototype.forEachInner=function(n,r,s,l){var o=this.left.length;if(r<o&&this.left.forEachInner(n,r,Math.min(s,o),l)===!1||s>o&&this.right.forEachInner(n,Math.max(r-o,0),Math.min(this.length,s)-o,l+o)===!1)return!1},e.prototype.forEachInvertedInner=function(n,r,s,l){var o=this.left.length;if(r>o&&this.right.forEachInvertedInner(n,r-o,Math.max(s,o)-o,l+o)===!1||s<o&&this.left.forEachInvertedInner(n,Math.min(r,o),s,l)===!1)return!1},e.prototype.sliceInner=function(n,r){if(n==0&&r==this.length)return this;var s=this.left.length;return r<=s?this.left.slice(n,r):n>=s?this.right.slice(n-s,r-s):this.left.slice(n,s).append(this.right.slice(0,r-s))},e.prototype.leafAppend=function(n){var r=this.right.leafAppend(n);if(r)return new e(this.left,r)},e.prototype.leafPrepend=function(n){var r=this.left.leafPrepend(n);if(r)return new e(r,this.right)},e.prototype.appendInner=function(n){return this.left.depth>=Math.max(this.right.depth,n.depth)+1?new e(this.left,new e(this.right,n)):new e(this,n)},e}(f);const L=500;class m{constructor(e,t){this.items=e,this.eventCount=t}popEvent(e,t){if(this.eventCount==0)return null;let n=this.items.length;for(;;n--)if(this.items.get(n-1).selection){--n;break}let r,s;t&&(r=this.remapping(n,this.items.length),s=r.maps.length);let l=e.tr,o,p,a=[],c=[];return this.items.forEach((u,h)=>{if(!u.step){r||(r=this.remapping(n,h+1),s=r.maps.length),s--,c.push(u);return}if(r){c.push(new v(u.map));let d=u.step.map(r.slice(s)),w;d&&l.maybeStep(d).doc&&(w=l.mapping.maps[l.mapping.maps.length-1],a.push(new v(w,void 0,void 0,a.length+c.length))),s--,w&&r.appendMap(w,s)}else l.maybeStep(u.step);if(u.selection)return o=r?u.selection.map(r.slice(s)):u.selection,p=new m(this.items.slice(0,n).append(c.reverse().concat(a)),this.eventCount-1),!1},this.items.length,0),{remaining:p,transform:l,selection:o}}addTransform(e,t,n,r){let s=[],l=this.eventCount,o=this.items,p=!r&&o.length?o.get(o.length-1):null;for(let c=0;c<e.steps.length;c++){let u=e.steps[c].invert(e.docs[c]),h=new v(e.mapping.maps[c],u,t),d;(d=p&&p.merge(h))&&(h=d,c?s.pop():o=o.slice(0,o.length-1)),s.push(h),t&&(l++,t=void 0),r||(p=h)}let a=l-n.depth;return a>G&&(o=S(o,a),l-=a),new m(o.append(s),l)}remapping(e,t){let n=new x.Mapping;return this.items.forEach((r,s)=>{let l=r.mirrorOffset!=null&&s-r.mirrorOffset>=e?n.maps.length-r.mirrorOffset:void 0;n.appendMap(r.map,l)},e,t),n}addMaps(e){return this.eventCount==0?this:new m(this.items.append(e.map(t=>new v(t))),this.eventCount)}rebased(e,t){if(!this.eventCount)return this;let n=[],r=Math.max(0,this.items.length-t),s=e.mapping,l=e.steps.length,o=this.eventCount;this.items.forEach(h=>{h.selection&&o--},r);let p=t;this.items.forEach(h=>{let d=s.getMirror(--p);if(d==null)return;l=Math.min(l,d);let w=s.maps[d];if(h.step){let K=e.steps[d].invert(e.docs[d]),b=h.selection&&h.selection.map(s.slice(p+1,d));b&&o++,n.push(new v(w,K,b))}else n.push(new v(w))},r);let a=[];for(let h=t;h<l;h++)a.push(new v(s.maps[h]));let c=this.items.slice(0,r).append(a).append(n),u=new m(c,o);return u.emptyItemCount()>L&&(u=u.compress(this.items.length-n.length)),u}emptyItemCount(){let e=0;return this.items.forEach(t=>{t.step||e++}),e}compress(e=this.items.length){let t=this.remapping(0,e),n=t.maps.length,r=[],s=0;return this.items.forEach((l,o)=>{if(o>=e)r.push(l),l.selection&&s++;else if(l.step){let p=l.step.map(t.slice(n)),a=p&&p.getMap();if(n--,a&&t.appendMap(a,n),p){let c=l.selection&&l.selection.map(t.slice(n));c&&s++;let u=new v(a.invert(),p,c),h,d=r.length-1;(h=r.length&&r[d].merge(u))?r[d]=h:r.push(u)}}else l.map&&n--},this.items.length,0),new m(f.from(r.reverse()),s)}}m.empty=new m(f.empty,0);function S(i,e){let t;return i.forEach((n,r)=>{if(n.selection&&e--==0)return t=r,!1}),i.slice(t)}class v{constructor(e,t,n,r){this.map=e,this.step=t,this.selection=n,this.mirrorOffset=r}merge(e){if(this.step&&e.step&&!e.selection){let t=e.step.merge(this.step);if(t)return new v(t.getMap().invert(),t,this.selection)}}}class y{constructor(e,t,n,r,s){this.done=e,this.undone=t,this.prevRanges=n,this.prevTime=r,this.prevComposition=s}}const G=20;function F(i,e,t,n){let r=t.getMeta(I),s;if(r)return r.historyState;t.getMeta(R)&&(i=new y(i.done,i.undone,null,0,-1));let l=t.getMeta("appendedTransaction");if(t.steps.length==0)return i;if(l&&l.getMeta(I))return l.getMeta(I).redo?new y(i.done.addTransform(t,void 0,n,E(e)),i.undone,O(t.mapping.maps),i.prevTime,i.prevComposition):new y(i.done,i.undone.addTransform(t,void 0,n,E(e)),null,i.prevTime,i.prevComposition);if(t.getMeta("addToHistory")!==!1&&!(l&&l.getMeta("addToHistory")===!1)){let o=t.getMeta("composition"),p=i.prevTime==0||!l&&i.prevComposition!=o&&(i.prevTime<(t.time||0)-n.newGroupDelay||!z(t,i.prevRanges)),a=l?T(i.prevRanges,t.mapping):O(t.mapping.maps);return new y(i.done.addTransform(t,p?e.selection.getBookmark():void 0,n,E(e)),m.empty,a,t.time,o??i.prevComposition)}else return(s=t.getMeta("rebased"))?new y(i.done.rebased(t,s),i.undone.rebased(t,s),T(i.prevRanges,t.mapping),i.prevTime,i.prevComposition):new y(i.done.addMaps(t.mapping.maps),i.undone.addMaps(t.mapping.maps),T(i.prevRanges,t.mapping),i.prevTime,i.prevComposition)}function z(i,e){if(!e)return!1;if(!i.docChanged)return!0;let t=!1;return i.mapping.maps[0].forEach((n,r)=>{for(let s=0;s<e.length;s+=2)n<=e[s+1]&&r>=e[s]&&(t=!0)}),t}function O(i){let e=[];for(let t=i.length-1;t>=0&&e.length==0;t--)i[t].forEach((n,r,s,l)=>e.push(s,l));return e}function T(i,e){if(!i)return null;let t=[];for(let n=0;n<i.length;n+=2){let r=e.map(i[n],1),s=e.map(i[n+1],-1);r<=s&&t.push(r,s)}return t}function N(i,e,t){let n=E(e),r=I.get(e).spec.config,s=(t?i.undone:i.done).popEvent(e,n);if(!s)return null;let l=s.selection.resolve(s.transform.doc),o=(t?i.done:i.undone).addTransform(s.transform,e.selection.getBookmark(),r,n),p=new y(t?o:s.remaining,t?s.remaining:o,null,0,-1);return s.transform.setSelection(l).setMeta(I,{redo:t,historyState:p})}let P=!1,j=null;function E(i){let e=i.plugins;if(j!=e){P=!1,j=e;for(let t=0;t<e.length;t++)if(e[t].spec.historyPreserveItems){P=!0;break}}return P}const I=new x.PluginKey("history"),R=new x.PluginKey("closeHistory");function U(i={}){return i={depth:i.depth||100,newGroupDelay:i.newGroupDelay||500},new x.Plugin({key:I,state:{init(){return new y(m.empty,m.empty,null,0,-1)},apply(e,t,n){return F(t,n,e,i)}},config:i,props:{handleDOMEvents:{beforeinput(e,t){let n=t.inputType,r=n=="historyUndo"?k:n=="historyRedo"?D:null;return r?(t.preventDefault(),r(e.state,e.dispatch)):!1}}}})}function H(i,e){return(t,n)=>{let r=I.getState(t);if(!r||(i?r.undone:r.done).eventCount==0)return!1;if(n){let s=N(r,t,i);s&&n(e?s.scrollIntoView():s)}return!0}}const k=H(!1,!0),D=H(!0,!0),Z=x.Extension.create({name:"history",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:i,dispatch:e})=>k(i,e),redo:()=>({state:i,dispatch:e})=>D(i,e)}},addProseMirrorPlugins(){return[U(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}});function $(i){var a;const{icon:e=void 0,tooltip:t=void 0,customClass:n="",tooltipOptions:r={},action:s=void 0,isActive:l=void 0,children:o}=i,p=M.icons[e];return g.jsxs(M.Tooltip,{children:[g.jsx(M.TooltipTrigger,{asChild:!0,children:g.jsxs(M.Toggle,{size:"sm",className:`richtext-w-[32px] richtext-h-[32px] ${n}`,disabled:l==null?void 0:l(),onClick:s,children:[p&&g.jsx(p,{className:"richtext-w-4 richtext-h-4"}),o&&g.jsx(g.Fragment,{children:o})]})}),t&&g.jsx(M.TooltipContent,{...r,children:g.jsxs("div",{className:"richtext-flex richtext-flex-col richtext-items-center richtext-text-center richtext-max-w-24",children:[g.jsx("div",{children:t}),!!((a=i==null?void 0:i.shortcutKeys)!=null&&a.length)&&g.jsx("span",{children:M.getShortcutKeys(i==null?void 0:i.shortcutKeys)})]})})]})}const V=["undo","redo"],W=Z.extend({addOptions(){var i;return{...(i=this.parent)==null?void 0:i.call(this),depth:100,newGroupDelay:500,button:({editor:e,t})=>V.map(n=>({component:$,componentProps:{action:()=>{n==="undo"&&e.chain().focus().undo().run(),n==="redo"&&e.chain().focus().redo().run()},shortcutKeys:n==="undo"?["mod","Z"]:["shift","mod","Z"],disabled:n==="undo"?!e.can().undo():!e.can().redo(),isActive:()=>n==="undo"?!e.can().undo():!e.can().redo(),icon:n==="undo"?"Undo2":"Redo2",tooltip:t(`editor.${n}.tooltip`)}}))}}});exports.History=W;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("./index-ByRfqzMr.cjs"),g=require("react/jsx-runtime"),M=require("./RichTextEditor-DsUcQSbm.cjs");var C=200,f=function(){};f.prototype.append=function(e){return e.length?(e=f.from(e),!this.length&&e||e.length<C&&this.leafAppend(e)||this.length<C&&e.leafPrepend(this)||this.appendInner(e)):this};f.prototype.prepend=function(e){return e.length?f.from(e).append(this):this};f.prototype.appendInner=function(e){return new _(this,e)};f.prototype.slice=function(e,t){return e===void 0&&(e=0),t===void 0&&(t=this.length),e>=t?f.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,t))};f.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)};f.prototype.forEach=function(e,t,n){t===void 0&&(t=0),n===void 0&&(n=this.length),t<=n?this.forEachInner(e,t,n,0):this.forEachInvertedInner(e,t,n,0)};f.prototype.map=function(e,t,n){t===void 0&&(t=0),n===void 0&&(n=this.length);var i=[];return this.forEach(function(s,l){return i.push(e(s,l))},t,n),i};f.from=function(e){return e instanceof f?e:e&&e.length?new A(e):f.empty};var A=function(r){function e(n){r.call(this),this.values=n}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(i,s){return i==0&&s==this.length?this:new e(this.values.slice(i,s))},e.prototype.getInner=function(i){return this.values[i]},e.prototype.forEachInner=function(i,s,l,o){for(var p=s;p<l;p++)if(i(this.values[p],o+p)===!1)return!1},e.prototype.forEachInvertedInner=function(i,s,l,o){for(var p=s-1;p>=l;p--)if(i(this.values[p],o+p)===!1)return!1},e.prototype.leafAppend=function(i){if(this.length+i.length<=C)return new e(this.values.concat(i.flatten()))},e.prototype.leafPrepend=function(i){if(this.length+i.length<=C)return new e(i.flatten().concat(this.values))},t.length.get=function(){return this.values.length},t.depth.get=function(){return 0},Object.defineProperties(e.prototype,t),e}(f);f.empty=new A([]);var _=function(r){function e(t,n){r.call(this),this.left=t,this.right=n,this.length=t.length+n.length,this.depth=Math.max(t.depth,n.depth)+1}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(n){return n<this.left.length?this.left.get(n):this.right.get(n-this.left.length)},e.prototype.forEachInner=function(n,i,s,l){var o=this.left.length;if(i<o&&this.left.forEachInner(n,i,Math.min(s,o),l)===!1||s>o&&this.right.forEachInner(n,Math.max(i-o,0),Math.min(this.length,s)-o,l+o)===!1)return!1},e.prototype.forEachInvertedInner=function(n,i,s,l){var o=this.left.length;if(i>o&&this.right.forEachInvertedInner(n,i-o,Math.max(s,o)-o,l+o)===!1||s<o&&this.left.forEachInvertedInner(n,Math.min(i,o),s,l)===!1)return!1},e.prototype.sliceInner=function(n,i){if(n==0&&i==this.length)return this;var s=this.left.length;return i<=s?this.left.slice(n,i):n>=s?this.right.slice(n-s,i-s):this.left.slice(n,s).append(this.right.slice(0,i-s))},e.prototype.leafAppend=function(n){var i=this.right.leafAppend(n);if(i)return new e(this.left,i)},e.prototype.leafPrepend=function(n){var i=this.left.leafPrepend(n);if(i)return new e(i,this.right)},e.prototype.appendInner=function(n){return this.left.depth>=Math.max(this.right.depth,n.depth)+1?new e(this.left,new e(this.right,n)):new e(this,n)},e}(f);const L=500;class m{constructor(e,t){this.items=e,this.eventCount=t}popEvent(e,t){if(this.eventCount==0)return null;let n=this.items.length;for(;;n--)if(this.items.get(n-1).selection){--n;break}let i,s;t&&(i=this.remapping(n,this.items.length),s=i.maps.length);let l=e.tr,o,p,a=[],c=[];return this.items.forEach((u,h)=>{if(!u.step){i||(i=this.remapping(n,h+1),s=i.maps.length),s--,c.push(u);return}if(i){c.push(new v(u.map));let d=u.step.map(i.slice(s)),w;d&&l.maybeStep(d).doc&&(w=l.mapping.maps[l.mapping.maps.length-1],a.push(new v(w,void 0,void 0,a.length+c.length))),s--,w&&i.appendMap(w,s)}else l.maybeStep(u.step);if(u.selection)return o=i?u.selection.map(i.slice(s)):u.selection,p=new m(this.items.slice(0,n).append(c.reverse().concat(a)),this.eventCount-1),!1},this.items.length,0),{remaining:p,transform:l,selection:o}}addTransform(e,t,n,i){let s=[],l=this.eventCount,o=this.items,p=!i&&o.length?o.get(o.length-1):null;for(let c=0;c<e.steps.length;c++){let u=e.steps[c].invert(e.docs[c]),h=new v(e.mapping.maps[c],u,t),d;(d=p&&p.merge(h))&&(h=d,c?s.pop():o=o.slice(0,o.length-1)),s.push(h),t&&(l++,t=void 0),i||(p=h)}let a=l-n.depth;return a>G&&(o=S(o,a),l-=a),new m(o.append(s),l)}remapping(e,t){let n=new x.Mapping;return this.items.forEach((i,s)=>{let l=i.mirrorOffset!=null&&s-i.mirrorOffset>=e?n.maps.length-i.mirrorOffset:void 0;n.appendMap(i.map,l)},e,t),n}addMaps(e){return this.eventCount==0?this:new m(this.items.append(e.map(t=>new v(t))),this.eventCount)}rebased(e,t){if(!this.eventCount)return this;let n=[],i=Math.max(0,this.items.length-t),s=e.mapping,l=e.steps.length,o=this.eventCount;this.items.forEach(h=>{h.selection&&o--},i);let p=t;this.items.forEach(h=>{let d=s.getMirror(--p);if(d==null)return;l=Math.min(l,d);let w=s.maps[d];if(h.step){let D=e.steps[d].invert(e.docs[d]),b=h.selection&&h.selection.map(s.slice(p+1,d));b&&o++,n.push(new v(w,D,b))}else n.push(new v(w))},i);let a=[];for(let h=t;h<l;h++)a.push(new v(s.maps[h]));let c=this.items.slice(0,i).append(a).append(n),u=new m(c,o);return u.emptyItemCount()>L&&(u=u.compress(this.items.length-n.length)),u}emptyItemCount(){let e=0;return this.items.forEach(t=>{t.step||e++}),e}compress(e=this.items.length){let t=this.remapping(0,e),n=t.maps.length,i=[],s=0;return this.items.forEach((l,o)=>{if(o>=e)i.push(l),l.selection&&s++;else if(l.step){let p=l.step.map(t.slice(n)),a=p&&p.getMap();if(n--,a&&t.appendMap(a,n),p){let c=l.selection&&l.selection.map(t.slice(n));c&&s++;let u=new v(a.invert(),p,c),h,d=i.length-1;(h=i.length&&i[d].merge(u))?i[d]=h:i.push(u)}}else l.map&&n--},this.items.length,0),new m(f.from(i.reverse()),s)}}m.empty=new m(f.empty,0);function S(r,e){let t;return r.forEach((n,i)=>{if(n.selection&&e--==0)return t=i,!1}),r.slice(t)}class v{constructor(e,t,n,i){this.map=e,this.step=t,this.selection=n,this.mirrorOffset=i}merge(e){if(this.step&&e.step&&!e.selection){let t=e.step.merge(this.step);if(t)return new v(t.getMap().invert(),t,this.selection)}}}class y{constructor(e,t,n,i,s){this.done=e,this.undone=t,this.prevRanges=n,this.prevTime=i,this.prevComposition=s}}const G=20;function F(r,e,t,n){let i=t.getMeta(I),s;if(i)return i.historyState;t.getMeta(R)&&(r=new y(r.done,r.undone,null,0,-1));let l=t.getMeta("appendedTransaction");if(t.steps.length==0)return r;if(l&&l.getMeta(I))return l.getMeta(I).redo?new y(r.done.addTransform(t,void 0,n,E(e)),r.undone,O(t.mapping.maps),r.prevTime,r.prevComposition):new y(r.done,r.undone.addTransform(t,void 0,n,E(e)),null,r.prevTime,r.prevComposition);if(t.getMeta("addToHistory")!==!1&&!(l&&l.getMeta("addToHistory")===!1)){let o=t.getMeta("composition"),p=r.prevTime==0||!l&&r.prevComposition!=o&&(r.prevTime<(t.time||0)-n.newGroupDelay||!z(t,r.prevRanges)),a=l?T(r.prevRanges,t.mapping):O(t.mapping.maps);return new y(r.done.addTransform(t,p?e.selection.getBookmark():void 0,n,E(e)),m.empty,a,t.time,o??r.prevComposition)}else return(s=t.getMeta("rebased"))?new y(r.done.rebased(t,s),r.undone.rebased(t,s),T(r.prevRanges,t.mapping),r.prevTime,r.prevComposition):new y(r.done.addMaps(t.mapping.maps),r.undone.addMaps(t.mapping.maps),T(r.prevRanges,t.mapping),r.prevTime,r.prevComposition)}function z(r,e){if(!e)return!1;if(!r.docChanged)return!0;let t=!1;return r.mapping.maps[0].forEach((n,i)=>{for(let s=0;s<e.length;s+=2)n<=e[s+1]&&i>=e[s]&&(t=!0)}),t}function O(r){let e=[];for(let t=r.length-1;t>=0&&e.length==0;t--)r[t].forEach((n,i,s,l)=>e.push(s,l));return e}function T(r,e){if(!r)return null;let t=[];for(let n=0;n<r.length;n+=2){let i=e.map(r[n],1),s=e.map(r[n+1],-1);i<=s&&t.push(i,s)}return t}function N(r,e,t){let n=E(e),i=I.get(e).spec.config,s=(t?r.undone:r.done).popEvent(e,n);if(!s)return null;let l=s.selection.resolve(s.transform.doc),o=(t?r.done:r.undone).addTransform(s.transform,e.selection.getBookmark(),i,n),p=new y(t?o:s.remaining,t?s.remaining:o,null,0,-1);return s.transform.setSelection(l).setMeta(I,{redo:t,historyState:p})}let P=!1,j=null;function E(r){let e=r.plugins;if(j!=e){P=!1,j=e;for(let t=0;t<e.length;t++)if(e[t].spec.historyPreserveItems){P=!0;break}}return P}const I=new x.PluginKey("history"),R=new x.PluginKey("closeHistory");function U(r={}){return r={depth:r.depth||100,newGroupDelay:r.newGroupDelay||500},new x.Plugin({key:I,state:{init(){return new y(m.empty,m.empty,null,0,-1)},apply(e,t,n){return F(t,n,e,r)}},config:r,props:{handleDOMEvents:{beforeinput(e,t){let n=t.inputType,i=n=="historyUndo"?K:n=="historyRedo"?k:null;return i?(t.preventDefault(),i(e.state,e.dispatch)):!1}}}})}function H(r,e){return(t,n)=>{let i=I.getState(t);if(!i||(r?i.undone:i.done).eventCount==0)return!1;if(n){let s=N(i,t,r);s&&n(e?s.scrollIntoView():s)}return!0}}const K=H(!1,!0),k=H(!0,!0),Z=x.Extension.create({name:"history",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:r,dispatch:e})=>K(r,e),redo:()=>({state:r,dispatch:e})=>k(r,e)}},addProseMirrorPlugins(){return[U(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}});function $(r){var a;const{icon:e=void 0,tooltip:t=void 0,customClass:n="",tooltipOptions:i={},action:s=void 0,isActive:l=void 0,children:o}=r,p=M.icons[e];return g.jsxs(M.Tooltip,{children:[g.jsx(M.TooltipTrigger,{asChild:!0,children:g.jsxs(M.Toggle,{size:"sm",className:`richtext-w-[32px] richtext-h-[32px] ${n}`,disabled:l==null?void 0:l(),onClick:s,children:[p&&g.jsx(p,{className:"richtext-w-4 richtext-h-4"}),o&&g.jsx(g.Fragment,{children:o})]})}),t&&g.jsx(M.TooltipContent,{...i,children:g.jsxs("div",{className:"richtext-flex richtext-flex-col richtext-items-center richtext-text-center richtext-max-w-24",children:[g.jsx("div",{children:t}),!!((a=r==null?void 0:r.shortcutKeys)!=null&&a.length)&&g.jsx("span",{children:M.getShortcutKeys(r==null?void 0:r.shortcutKeys)})]})})]})}const V=["undo","redo"],W=Z.extend({addOptions(){var r;return{...(r=this.parent)==null?void 0:r.call(this),depth:100,newGroupDelay:500,button:({editor:e,t,extension:n})=>V.map(i=>{var s,l;return{component:$,componentProps:{action:()=>{i==="undo"&&e.chain().focus().undo().run(),i==="redo"&&e.chain().focus().redo().run()},shortcutKeys:i==="undo"?((s=n.options.shortcutKeys)==null?void 0:s[0])??["mod","Z"]:((l=n.options.shortcutKeys)==null?void 0:l[1])??["shift","mod","Z"],disabled:i==="undo"?!e.can().undo():!e.can().redo(),isActive:()=>i==="undo"?!e.can().undo():!e.can().redo(),icon:i==="undo"?"Undo2":"Redo2",tooltip:t(`editor.${i}.tooltip`)}}})}}});exports.History=W;
package/lib/History.d.cts CHANGED
@@ -67,6 +67,8 @@ declare interface GeneralOptions<T> {
67
67
  button: ButtonView<T>;
68
68
  /** Show on Toolbar */
69
69
  toolbar?: boolean;
70
+ /** Shortcut keys override */
71
+ shortcutKeys?: string[] | string[][];
70
72
  }
71
73
 
72
74
  declare const History_2: Extension<HistoryOptions, any>;
@@ -132,8 +134,8 @@ declare module '@tiptap/core' {
132
134
 
133
135
  declare module '@tiptap/core' {
134
136
  interface Commands<ReturnType> {
135
- excalidraw: {
136
- setExcalidraw: (attrs?: IExcalidrawAttrs) => ReturnType;
137
+ exportPdf: {
138
+ exportToPdf: () => ReturnType;
137
139
  };
138
140
  }
139
141
  }
@@ -141,8 +143,8 @@ declare module '@tiptap/core' {
141
143
 
142
144
  declare module '@tiptap/core' {
143
145
  interface Commands<ReturnType> {
144
- exportPdf: {
145
- exportToPdf: () => ReturnType;
146
+ excalidraw: {
147
+ setExcalidraw: (attrs?: IExcalidrawAttrs) => ReturnType;
146
148
  };
147
149
  }
148
150
  }
package/lib/History.d.ts CHANGED
@@ -67,6 +67,8 @@ declare interface GeneralOptions<T> {
67
67
  button: ButtonView<T>;
68
68
  /** Show on Toolbar */
69
69
  toolbar?: boolean;
70
+ /** Shortcut keys override */
71
+ shortcutKeys?: string[] | string[][];
70
72
  }
71
73
 
72
74
  declare const History_2: Extension<HistoryOptions, any>;
@@ -132,8 +134,8 @@ declare module '@tiptap/core' {
132
134
 
133
135
  declare module '@tiptap/core' {
134
136
  interface Commands<ReturnType> {
135
- excalidraw: {
136
- setExcalidraw: (attrs?: IExcalidrawAttrs) => ReturnType;
137
+ exportPdf: {
138
+ exportToPdf: () => ReturnType;
137
139
  };
138
140
  }
139
141
  }
@@ -141,8 +143,8 @@ declare module '@tiptap/core' {
141
143
 
142
144
  declare module '@tiptap/core' {
143
145
  interface Commands<ReturnType> {
144
- exportPdf: {
145
- exportToPdf: () => ReturnType;
146
+ excalidraw: {
147
+ setExcalidraw: (attrs?: IExcalidrawAttrs) => ReturnType;
146
148
  };
147
149
  }
148
150
  }