@remarkablejames/editor 0.0.1 → 0.0.2

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 (178) hide show
  1. package/lib/{ActionMenuButton-B0EHT9CC.js → ActionMenuButton-Bmn3RME4.js} +10 -9
  2. package/lib/ActionMenuButton-C5P0Kzrb.cjs +1 -0
  3. package/lib/Attachment.cjs +2 -2
  4. package/lib/Attachment.js +33 -31
  5. package/lib/Blockquote.cjs +2 -2
  6. package/lib/Blockquote.js +12 -13
  7. package/lib/Bold.cjs +1 -1
  8. package/lib/Bold.js +10 -11
  9. package/lib/BulletList.cjs +1 -1
  10. package/lib/BulletList.js +8 -9
  11. package/lib/Callout.cjs +1 -1
  12. package/lib/Callout.js +45 -41
  13. package/lib/Clear.cjs +1 -1
  14. package/lib/Clear.js +14 -13
  15. package/lib/Code.cjs +1 -1
  16. package/lib/Code.js +5 -6
  17. package/lib/CodeBlock.cjs +1 -44
  18. package/lib/CodeBlock.js +183 -3858
  19. package/lib/CodeView.cjs +1 -1
  20. package/lib/CodeView.js +8 -9
  21. package/lib/Color.cjs +1 -1
  22. package/lib/Color.js +19 -18
  23. package/lib/Column.cjs +1 -1
  24. package/lib/Column.js +8 -9
  25. package/lib/{Drawer-BCWVN-4l.js → Drawer-DvGh9aXG.js} +52 -46
  26. package/lib/Drawer-gz9U5ArC.cjs +2 -0
  27. package/lib/Drawer.cjs +1 -1
  28. package/lib/Drawer.js +3 -3
  29. package/lib/Emoji.cjs +1 -1
  30. package/lib/Emoji.js +15 -14
  31. package/lib/Excalidraw.cjs +1 -1
  32. package/lib/Excalidraw.js +20 -16
  33. package/lib/ExportPdf.cjs +3 -3
  34. package/lib/ExportPdf.js +13 -14
  35. package/lib/ExportWord.cjs +1 -1
  36. package/lib/ExportWord.js +6 -6
  37. package/lib/FontFamily.cjs +1 -1
  38. package/lib/FontFamily.js +6 -7
  39. package/lib/FontSize.cjs +1 -1
  40. package/lib/FontSize.js +14 -15
  41. package/lib/Heading.cjs +1 -1
  42. package/lib/Heading.js +26 -26
  43. package/lib/Highlight.cjs +1 -1
  44. package/lib/Highlight.js +23 -22
  45. package/lib/History.cjs +1 -1
  46. package/lib/History.js +11 -11
  47. package/lib/HorizontalRule.cjs +1 -1
  48. package/lib/HorizontalRule.js +9 -10
  49. package/lib/Icon-CKM0tYbW.js +15 -0
  50. package/lib/Icon-CQyFgXeo.cjs +1 -0
  51. package/lib/{Iframe-BdgiWGml.js → Iframe-CnnvV6cK.js} +21 -19
  52. package/lib/Iframe-Ds6gG2YO.cjs +1 -0
  53. package/lib/Iframe.cjs +1 -1
  54. package/lib/Iframe.js +2 -2
  55. package/lib/Image.cjs +1 -1
  56. package/lib/Image.js +5 -4
  57. package/lib/ImageCropper-BKhXlnXN.cjs +1 -0
  58. package/lib/ImageCropper-DUzu_9-6.js +896 -0
  59. package/lib/ImageGif.cjs +1 -1
  60. package/lib/ImageGif.js +94 -91
  61. package/lib/ImportWord.cjs +1 -1
  62. package/lib/ImportWord.js +26 -25
  63. package/lib/{Indent-BpMcZKok.js → Indent-Bsj8gKvT.js} +30 -31
  64. package/lib/Indent-D_7HOYYd.cjs +1 -0
  65. package/lib/Indent.cjs +1 -1
  66. package/lib/Indent.js +2 -2
  67. package/lib/Italic.cjs +1 -1
  68. package/lib/Italic.js +11 -12
  69. package/lib/{Katex-B8_uprkO.js → Katex-CilGTz7u.js} +22 -19
  70. package/lib/Katex-lL3bHXJd.cjs +4 -0
  71. package/lib/Katex.cjs +1 -1
  72. package/lib/Katex.js +2 -2
  73. package/lib/LineHeight.cjs +1 -1
  74. package/lib/LineHeight.js +20 -19
  75. package/lib/Link.cjs +1 -1
  76. package/lib/Link.js +2 -2
  77. package/lib/{LinkEditBlock-BX0fXXpF.js → LinkEditBlock-BD_WvA3r.js} +24 -19
  78. package/lib/LinkEditBlock-D3HSHmsU.cjs +5 -0
  79. package/lib/Mention.js +3 -3
  80. package/lib/Mermaid-BfeLPzoS.cjs +2 -0
  81. package/lib/{Mermaid-D8bbIgAl.js → Mermaid-BrjU75Bs.js} +48 -45
  82. package/lib/Mermaid.cjs +1 -1
  83. package/lib/Mermaid.js +2 -2
  84. package/lib/MoreMark.cjs +1 -1
  85. package/lib/MoreMark.js +28 -26
  86. package/lib/OrderedList.cjs +1 -1
  87. package/lib/OrderedList.js +10 -11
  88. package/lib/SearchAndReplace.cjs +1 -1
  89. package/lib/SearchAndReplace.js +42 -37
  90. package/lib/SlashCommand.cjs +1 -1
  91. package/lib/SlashCommand.js +5 -5
  92. package/lib/{SlashCommandNodeView-BcmtKbEE.js → SlashCommandNodeView-COx5qZ2y.js} +41 -39
  93. package/lib/SlashCommandNodeView-DD-nlhM-.cjs +1 -0
  94. package/lib/Strike.cjs +1 -1
  95. package/lib/Strike.js +11 -12
  96. package/lib/{Table-DbxuP5xh.js → Table-BlM8yMhr.js} +46 -46
  97. package/lib/Table-C21AlUrh.cjs +5 -0
  98. package/lib/Table.cjs +1 -1
  99. package/lib/Table.js +1 -1
  100. package/lib/TaskList.cjs +1 -1
  101. package/lib/TaskList.js +11 -12
  102. package/lib/TextAlign.cjs +1 -1
  103. package/lib/TextAlign.js +27 -26
  104. package/lib/TextDirection.cjs +1 -1
  105. package/lib/TextDirection.js +19 -18
  106. package/lib/TextUnderline.cjs +1 -1
  107. package/lib/TextUnderline.js +8 -9
  108. package/lib/{Twitter-9I6BLNmg.js → Twitter-BP8sYXX7.js} +22 -18
  109. package/lib/Twitter-D46MnvPr.cjs +1 -0
  110. package/lib/Twitter.cjs +1 -1
  111. package/lib/Twitter.js +2 -2
  112. package/lib/Video-Bpd8W8l6.js +231 -0
  113. package/lib/Video-BwrHx6B1.cjs +1 -0
  114. package/lib/Video.cjs +1 -1
  115. package/lib/Video.js +5 -4
  116. package/lib/bubble.cjs +3 -3
  117. package/lib/bubble.js +171 -162
  118. package/lib/button-BmTP96NR.cjs +1 -0
  119. package/lib/button-CDIxPURh.js +35 -0
  120. package/lib/checkbox-7sfSdzy9.js +29 -0
  121. package/lib/checkbox-DyVlLWHv.cjs +1 -0
  122. package/lib/{clsx-CDyrfCnw.js → clsx-m_C5j3RU.js} +24 -24
  123. package/lib/dialog-B-jOQ5i3.cjs +1 -0
  124. package/lib/dialog-QWWUWOGP.js +95 -0
  125. package/lib/{dropdown-menu-Bs69ZBbO.js → dropdown-menu-C1hdPLCZ.js} +1 -1
  126. package/lib/{dropdown-menu-DjWlG2-J.cjs → dropdown-menu-CkHN04Mx.cjs} +1 -1
  127. package/lib/events.constant-Bh2uzJud.js +71 -0
  128. package/lib/events.constant-ELn21EzG.cjs +1 -0
  129. package/lib/extensions/CodeBlock/CodeBlock.d.ts +1 -1
  130. package/lib/file-BLas99n7.js +43 -0
  131. package/lib/file-i7e4nQY2.cjs +1 -0
  132. package/lib/{index-C-tDsIKJ.js → index-B3Ijnbxs.js} +1 -1
  133. package/lib/{index-C1WCZhyA.js → index-C1KQsOcg.js} +1 -1
  134. package/lib/{index-CsSfYR30.js → index-C8FjP66D.js} +1 -1
  135. package/lib/index-CAiZY1nx.js +2741 -0
  136. package/lib/index-DWSAk_9a.cjs +1 -0
  137. package/lib/{index-DjDf4BK8.js → index-s3l5RdyW.js} +1 -1
  138. package/lib/index.cjs +4 -4
  139. package/lib/index.js +392 -147
  140. package/lib/input-qvpuOf-3.js +21 -0
  141. package/lib/input-s0JD5kf2.cjs +1 -0
  142. package/lib/isNumber-BTYSVlKo.cjs +1 -0
  143. package/lib/isNumber-WaBzl_0s.js +15 -0
  144. package/lib/label-CFax-gzo.cjs +1 -0
  145. package/lib/label-DC37f2RQ.js +11 -0
  146. package/lib/{popover-D-hUKDYu.cjs → popover-B05Fd8lC.cjs} +1 -1
  147. package/lib/{popover-CPr9bHYn.js → popover-CsSXh7w6.js} +1 -1
  148. package/lib/{renderNodeView-BJSrgyGj.js → renderNodeView-C_hPIdEs.js} +2 -2
  149. package/lib/{select-C2KF4RNg.cjs → select-7ubC1NF0.cjs} +1 -1
  150. package/lib/{select-CuE_HaQJ.js → select-B3-5wTqn.js} +1 -1
  151. package/lib/{separator-CHzYNMVt.js → separator-CYCA8tSn.js} +13 -12
  152. package/lib/separator-ncbdw4oq.cjs +1 -0
  153. package/lib/style.css +1 -1
  154. package/lib/tabs-BeHxylKH.js +46 -0
  155. package/lib/tabs-DBqNpGAq.cjs +1 -0
  156. package/lib/{textarea-gEoNp9CA.js → textarea-1FhpmBkP.js} +1 -1
  157. package/lib/{textarea-DZj6EY-N.cjs → textarea-Bjhcpp76.cjs} +1 -1
  158. package/lib/throttle-CRNq0z-O.js +249 -0
  159. package/lib/throttle-gTTvqDTW.cjs +1 -0
  160. package/lib/toggle-DoJTBdvy.js +89 -0
  161. package/lib/toggle-oFwBZC4x.cjs +1 -0
  162. package/lib/{updatePosition-e90ZrFWW.js → updatePosition-DvfTZHcH.js} +2 -2
  163. package/lib/useButtonProps-BE10eHkG.js +165 -0
  164. package/lib/useButtonProps-CFu0GHzW.cjs +1 -0
  165. package/package.json +1 -1
  166. package/lib/ActionMenuButton-J1el_e6Z.cjs +0 -1
  167. package/lib/Drawer-BTouEroZ.cjs +0 -2
  168. package/lib/Iframe-BfBLILDA.cjs +0 -1
  169. package/lib/Indent-Dvqz_WEn.cjs +0 -1
  170. package/lib/Katex-BQyeCeQ0.cjs +0 -4
  171. package/lib/LinkEditBlock-CIshn_8F.cjs +0 -5
  172. package/lib/Mermaid-0GiGVxn0.cjs +0 -2
  173. package/lib/SlashCommandNodeView-rDJ7OjRd.cjs +0 -1
  174. package/lib/Table-BEhNBeuA.cjs +0 -5
  175. package/lib/Twitter-BuEBgpi9.cjs +0 -1
  176. package/lib/index-D9oM__YW.cjs +0 -1
  177. package/lib/index-lj3VWExo.js +0 -4883
  178. package/lib/separator-_gvUNba_.cjs +0 -1
@@ -1 +1 @@
1
- "use strict";const n=require("react/jsx-runtime"),o=require("react"),a=require("./index-D9oM__YW.cjs");function s(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,i.get?i:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const x=s(o),c=x.forwardRef(({className:e,...r},t)=>n.jsx("textarea",{ref:t,className:a.cn("richtext-flex richtext-min-h-[80px] richtext-w-full richtext-rounded-md !richtext-border richtext-border-input richtext-bg-transparent richtext-px-3 richtext-py-2 richtext-text-sm richtext-ring-offset-background placeholder:richtext-text-muted-foreground focus-visible:richtext-outline-none focus-visible:richtext-ring-2 focus-visible:richtext-ring-ring focus-visible:richtext-ring-offset-1 disabled:richtext-cursor-not-allowed disabled:richtext-opacity-50",e),...r}));c.displayName="Textarea";exports.Textarea=c;
1
+ "use strict";const n=require("react/jsx-runtime"),o=require("react"),a=require("./index-DWSAk_9a.cjs");function s(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,i.get?i:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const x=s(o),c=x.forwardRef(({className:e,...r},t)=>n.jsx("textarea",{ref:t,className:a.cn("richtext-flex richtext-min-h-[80px] richtext-w-full richtext-rounded-md !richtext-border richtext-border-input richtext-bg-transparent richtext-px-3 richtext-py-2 richtext-text-sm richtext-ring-offset-background placeholder:richtext-text-muted-foreground focus-visible:richtext-outline-none focus-visible:richtext-ring-2 focus-visible:richtext-ring-ring focus-visible:richtext-ring-offset-1 disabled:richtext-cursor-not-allowed disabled:richtext-opacity-50",e),...r}));c.displayName="Textarea";exports.Textarea=c;
@@ -0,0 +1,249 @@
1
+ import { N as C, n as L, a2 as W, m as z } from "./clsx-m_C5j3RU.js";
2
+ var B = /(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/, H = C.create({
3
+ name: "image",
4
+ addOptions() {
5
+ return {
6
+ inline: !1,
7
+ allowBase64: !1,
8
+ HTMLAttributes: {},
9
+ resize: !1
10
+ };
11
+ },
12
+ inline() {
13
+ return this.options.inline;
14
+ },
15
+ group() {
16
+ return this.options.inline ? "inline" : "block";
17
+ },
18
+ draggable: !0,
19
+ addAttributes() {
20
+ return {
21
+ src: {
22
+ default: null
23
+ },
24
+ alt: {
25
+ default: null
26
+ },
27
+ title: {
28
+ default: null
29
+ },
30
+ width: {
31
+ default: null
32
+ },
33
+ height: {
34
+ default: null
35
+ }
36
+ };
37
+ },
38
+ parseHTML() {
39
+ return [
40
+ {
41
+ tag: this.options.allowBase64 ? "img[src]" : 'img[src]:not([src^="data:"])'
42
+ }
43
+ ];
44
+ },
45
+ renderHTML({ HTMLAttributes: e }) {
46
+ return ["img", z(this.options.HTMLAttributes, e)];
47
+ },
48
+ parseMarkdown: (e, t) => t.createNode("image", {
49
+ src: e.href,
50
+ title: e.title,
51
+ alt: e.text
52
+ }),
53
+ renderMarkdown: (e) => {
54
+ var t, n, r, a, c, u;
55
+ const o = (n = (t = e.attrs) == null ? void 0 : t.src) != null ? n : "", s = (a = (r = e.attrs) == null ? void 0 : r.alt) != null ? a : "", d = (u = (c = e.attrs) == null ? void 0 : c.title) != null ? u : "";
56
+ return d ? `![${s}](${o} "${d}")` : `![${s}](${o})`;
57
+ },
58
+ addNodeView() {
59
+ if (!this.options.resize || !this.options.resize.enabled || typeof document > "u")
60
+ return null;
61
+ const { directions: e, minWidth: t, minHeight: n, alwaysPreserveAspectRatio: r } = this.options.resize;
62
+ return ({ node: a, getPos: c, HTMLAttributes: u, editor: o }) => {
63
+ const s = document.createElement("img");
64
+ Object.entries(u).forEach(([l, f]) => {
65
+ if (f != null)
66
+ switch (l) {
67
+ case "width":
68
+ case "height":
69
+ break;
70
+ default:
71
+ s.setAttribute(l, f);
72
+ break;
73
+ }
74
+ }), s.src = u.src;
75
+ const d = new W({
76
+ element: s,
77
+ editor: o,
78
+ node: a,
79
+ getPos: c,
80
+ onResize: (l, f) => {
81
+ s.style.width = `${l}px`, s.style.height = `${f}px`;
82
+ },
83
+ onCommit: (l, f) => {
84
+ const b = c();
85
+ b !== void 0 && this.editor.chain().setNodeSelection(b).updateAttributes(this.name, {
86
+ width: l,
87
+ height: f
88
+ }).run();
89
+ },
90
+ onUpdate: (l, f, b) => l.type === a.type,
91
+ options: {
92
+ directions: e,
93
+ min: {
94
+ width: t,
95
+ height: n
96
+ },
97
+ preserveAspectRatio: r === !0
98
+ }
99
+ }), m = d.dom;
100
+ return m.style.visibility = "hidden", m.style.pointerEvents = "none", s.onload = () => {
101
+ m.style.visibility = "", m.style.pointerEvents = "";
102
+ }, d;
103
+ };
104
+ },
105
+ addCommands() {
106
+ return {
107
+ setImage: (e) => ({ commands: t }) => t.insertContent({
108
+ type: this.name,
109
+ attrs: e
110
+ })
111
+ };
112
+ },
113
+ addInputRules() {
114
+ return [
115
+ L({
116
+ find: B,
117
+ type: this.type,
118
+ getAttributes: (e) => {
119
+ const [, , t, n, r] = e;
120
+ return { src: n, alt: t, title: r };
121
+ }
122
+ })
123
+ ];
124
+ }
125
+ }), be = H, P = typeof global == "object" && global && global.Object === Object && global, F = typeof self == "object" && self && self.Object === Object && self, R = P || F || Function("return this")(), T = R.Symbol, _ = Object.prototype, U = _.hasOwnProperty, V = _.toString, h = T ? T.toStringTag : void 0;
126
+ function D(e) {
127
+ var t = U.call(e, h), n = e[h];
128
+ try {
129
+ e[h] = void 0;
130
+ var r = !0;
131
+ } catch {
132
+ }
133
+ var a = V.call(e);
134
+ return r && (t ? e[h] = n : delete e[h]), a;
135
+ }
136
+ var G = Object.prototype, X = G.toString;
137
+ function q(e) {
138
+ return X.call(e);
139
+ }
140
+ var J = "[object Null]", K = "[object Undefined]", E = T ? T.toStringTag : void 0;
141
+ function Q(e) {
142
+ return e == null ? e === void 0 ? K : J : E && E in Object(e) ? D(e) : q(e);
143
+ }
144
+ function Y(e) {
145
+ return e != null && typeof e == "object";
146
+ }
147
+ var Z = "[object Symbol]";
148
+ function ee(e) {
149
+ return typeof e == "symbol" || Y(e) && Q(e) == Z;
150
+ }
151
+ var te = /\s/;
152
+ function ne(e) {
153
+ for (var t = e.length; t-- && te.test(e.charAt(t)); )
154
+ ;
155
+ return t;
156
+ }
157
+ var re = /^\s+/;
158
+ function ie(e) {
159
+ return e && e.slice(0, ne(e) + 1).replace(re, "");
160
+ }
161
+ function v(e) {
162
+ var t = typeof e;
163
+ return e != null && (t == "object" || t == "function");
164
+ }
165
+ var I = NaN, ae = /^[-+]0x[0-9a-f]+$/i, oe = /^0b[01]+$/i, se = /^0o[0-7]+$/i, le = parseInt;
166
+ function $(e) {
167
+ if (typeof e == "number")
168
+ return e;
169
+ if (ee(e))
170
+ return I;
171
+ if (v(e)) {
172
+ var t = typeof e.valueOf == "function" ? e.valueOf() : e;
173
+ e = v(t) ? t + "" : t;
174
+ }
175
+ if (typeof e != "string")
176
+ return e === 0 ? e : +e;
177
+ e = ie(e);
178
+ var n = oe.test(e);
179
+ return n || se.test(e) ? le(e.slice(2), n ? 2 : 8) : ae.test(e) ? I : +e;
180
+ }
181
+ var S = function() {
182
+ return R.Date.now();
183
+ }, ue = "Expected a function", ce = Math.max, de = Math.min;
184
+ function fe(e, t, n) {
185
+ var r, a, c, u, o, s, d = 0, m = !1, l = !1, f = !0;
186
+ if (typeof e != "function")
187
+ throw new TypeError(ue);
188
+ t = $(t) || 0, v(n) && (m = !!n.leading, l = "maxWait" in n, c = l ? ce($(n.maxWait) || 0, t) : c, f = "trailing" in n ? !!n.trailing : f);
189
+ function b(i) {
190
+ var g = r, p = a;
191
+ return r = a = void 0, d = i, u = e.apply(p, g), u;
192
+ }
193
+ function A(i) {
194
+ return d = i, o = setTimeout(y, t), m ? b(i) : u;
195
+ }
196
+ function N(i) {
197
+ var g = i - s, p = i - d, w = t - g;
198
+ return l ? de(w, c - p) : w;
199
+ }
200
+ function O(i) {
201
+ var g = i - s, p = i - d;
202
+ return s === void 0 || g >= t || g < 0 || l && p >= c;
203
+ }
204
+ function y() {
205
+ var i = S();
206
+ if (O(i))
207
+ return x(i);
208
+ o = setTimeout(y, N(i));
209
+ }
210
+ function x(i) {
211
+ return o = void 0, f && r ? b(i) : (r = a = void 0, u);
212
+ }
213
+ function k() {
214
+ o !== void 0 && clearTimeout(o), d = 0, r = s = a = o = void 0;
215
+ }
216
+ function M() {
217
+ return o === void 0 ? u : x(S());
218
+ }
219
+ function j() {
220
+ var i = S(), g = O(i);
221
+ if (r = arguments, a = this, s = i, g) {
222
+ if (o === void 0)
223
+ return A(s);
224
+ if (l)
225
+ return clearTimeout(o), o = setTimeout(y, t), b(s);
226
+ }
227
+ return o === void 0 && (o = setTimeout(y, t)), u;
228
+ }
229
+ return j.cancel = k, j.flush = M, j;
230
+ }
231
+ var ge = "Expected a function";
232
+ function pe(e, t, n) {
233
+ var r = !0, a = !0;
234
+ if (typeof e != "function")
235
+ throw new TypeError(ge);
236
+ return v(n) && (r = "leading" in n ? !!n.leading : r, a = "trailing" in n ? !!n.trailing : a), fe(e, t, {
237
+ leading: r,
238
+ maxWait: t,
239
+ trailing: a
240
+ });
241
+ }
242
+ export {
243
+ pe as a,
244
+ Q as b,
245
+ be as c,
246
+ fe as d,
247
+ Y as i,
248
+ $ as t
249
+ };
@@ -0,0 +1 @@
1
+ "use strict";const T=require("./clsx-CXbNJWDD.cjs");var B=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,H=T.Node3.create({name:"image",addOptions(){return{inline:!1,allowBase64:!1,HTMLAttributes:{},resize:!1}},inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes(){return{src:{default:null},alt:{default:null},title:{default:null},width:{default:null},height:{default:null}}},parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:e}){return["img",T.mergeAttributes(this.options.HTMLAttributes,e)]},parseMarkdown:(e,t)=>t.createNode("image",{src:e.href,title:e.title,alt:e.text}),renderMarkdown:e=>{var t,n,r,a,c,u;const o=(n=(t=e.attrs)==null?void 0:t.src)!=null?n:"",s=(a=(r=e.attrs)==null?void 0:r.alt)!=null?a:"",d=(u=(c=e.attrs)==null?void 0:c.title)!=null?u:"";return d?`![${s}](${o} "${d}")`:`![${s}](${o})`},addNodeView(){if(!this.options.resize||!this.options.resize.enabled||typeof document>"u")return null;const{directions:e,minWidth:t,minHeight:n,alwaysPreserveAspectRatio:r}=this.options.resize;return({node:a,getPos:c,HTMLAttributes:u,editor:o})=>{const s=document.createElement("img");Object.entries(u).forEach(([l,f])=>{if(f!=null)switch(l){case"width":case"height":break;default:s.setAttribute(l,f);break}}),s.src=u.src;const d=new T.ResizableNodeView({element:s,editor:o,node:a,getPos:c,onResize:(l,f)=>{s.style.width=`${l}px`,s.style.height=`${f}px`},onCommit:(l,f)=>{const b=c();b!==void 0&&this.editor.chain().setNodeSelection(b).updateAttributes(this.name,{width:l,height:f}).run()},onUpdate:(l,f,b)=>l.type===a.type,options:{directions:e,min:{width:t,height:n},preserveAspectRatio:r===!0}}),m=d.dom;return m.style.visibility="hidden",m.style.pointerEvents="none",s.onload=()=>{m.style.visibility="",m.style.pointerEvents=""},d}},addCommands(){return{setImage:e=>({commands:t})=>t.insertContent({type:this.name,attrs:e})}},addInputRules(){return[T.nodeInputRule({find:B,type:this.type,getAttributes:e=>{const[,,t,n,r]=e;return{src:n,alt:t,title:r}}})]}}),P=H,F=typeof global=="object"&&global&&global.Object===Object&&global,U=typeof self=="object"&&self&&self.Object===Object&&self,_=F||U||Function("return this")(),v=_.Symbol,A=Object.prototype,G=A.hasOwnProperty,V=A.toString,h=v?v.toStringTag:void 0;function D(e){var t=G.call(e,h),n=e[h];try{e[h]=void 0;var r=!0}catch{}var a=V.call(e);return r&&(t?e[h]=n:delete e[h]),a}var X=Object.prototype,q=X.toString;function J(e){return q.call(e)}var K="[object Null]",Q="[object Undefined]",$=v?v.toStringTag:void 0;function N(e){return e==null?e===void 0?Q:K:$&&$ in Object(e)?D(e):J(e)}function k(e){return e!=null&&typeof e=="object"}var Y="[object Symbol]";function Z(e){return typeof e=="symbol"||k(e)&&N(e)==Y}var ee=/\s/;function te(e){for(var t=e.length;t--&&ee.test(e.charAt(t)););return t}var ne=/^\s+/;function re(e){return e&&e.slice(0,te(e)+1).replace(ne,"")}function j(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var R=NaN,ie=/^[-+]0x[0-9a-f]+$/i,ae=/^0b[01]+$/i,oe=/^0o[0-7]+$/i,se=parseInt;function x(e){if(typeof e=="number")return e;if(Z(e))return R;if(j(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=j(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=re(e);var n=ae.test(e);return n||oe.test(e)?se(e.slice(2),n?2:8):ie.test(e)?R:+e}var S=function(){return _.Date.now()},le="Expected a function",ue=Math.max,ce=Math.min;function L(e,t,n){var r,a,c,u,o,s,d=0,m=!1,l=!1,f=!0;if(typeof e!="function")throw new TypeError(le);t=x(t)||0,j(n)&&(m=!!n.leading,l="maxWait"in n,c=l?ue(x(n.maxWait)||0,t):c,f="trailing"in n?!!n.trailing:f);function b(i){var g=r,p=a;return r=a=void 0,d=i,u=e.apply(p,g),u}function M(i){return d=i,o=setTimeout(y,t),m?b(i):u}function C(i){var g=i-s,p=i-d,I=t-g;return l?ce(I,c-p):I}function w(i){var g=i-s,p=i-d;return s===void 0||g>=t||g<0||l&&p>=c}function y(){var i=S();if(w(i))return E(i);o=setTimeout(y,C(i))}function E(i){return o=void 0,f&&r?b(i):(r=a=void 0,u)}function W(){o!==void 0&&clearTimeout(o),d=0,r=s=a=o=void 0}function z(){return o===void 0?u:E(S())}function O(){var i=S(),g=w(i);if(r=arguments,a=this,s=i,g){if(o===void 0)return M(s);if(l)return clearTimeout(o),o=setTimeout(y,t),b(s)}return o===void 0&&(o=setTimeout(y,t)),u}return O.cancel=W,O.flush=z,O}var de="Expected a function";function fe(e,t,n){var r=!0,a=!0;if(typeof e!="function")throw new TypeError(de);return j(n)&&(r="leading"in n?!!n.leading:r,a="trailing"in n?!!n.trailing:a),L(e,t,{leading:r,maxWait:t,trailing:a})}exports.baseGetTag=N;exports.debounce=L;exports.index_default=P;exports.isObjectLike=k;exports.throttle=fe;exports.toNumber=x;
@@ -0,0 +1,89 @@
1
+ import { jsxs as n, jsx as t } from "react/jsx-runtime";
2
+ import { Slot as N } from "@radix-ui/react-slot";
3
+ import * as R from "react";
4
+ import y from "react";
5
+ import { i as w, c as x, a as z } from "./index-CAiZY1nx.js";
6
+ import { T as j, a as k, b as A, g as S } from "./useButtonProps-BE10eHkG.js";
7
+ import * as d from "@radix-ui/react-toggle";
8
+ const F = y.forwardRef(
9
+ (o, c) => {
10
+ const {
11
+ icon: a = void 0,
12
+ // title = undefined,
13
+ tooltip: e = void 0,
14
+ disabled: i = !1,
15
+ customClass: m = "",
16
+ // color = undefined,
17
+ loading: V = void 0,
18
+ shortcutKeys: r = void 0,
19
+ tooltipOptions: p = {},
20
+ action: s = void 0,
21
+ isActive: _ = void 0,
22
+ children: u,
23
+ asChild: g = !1,
24
+ upload: B = !1,
25
+ initialDisplayedColor: H = void 0,
26
+ dataState: v = !1,
27
+ ...b
28
+ } = o, l = w[a], C = g ? N : f, T = (h) => {
29
+ if (i) {
30
+ h.preventDefault();
31
+ return;
32
+ }
33
+ s == null || s(h);
34
+ };
35
+ return /* @__PURE__ */ n(j, { children: [
36
+ /* @__PURE__ */ t(k, { asChild: !0, children: /* @__PURE__ */ n(
37
+ C,
38
+ {
39
+ className: x("richtext-h-[32px] richtext-w-[32px]", m),
40
+ "data-state": v ? "on" : "off",
41
+ disabled: i,
42
+ onClick: T,
43
+ ref: c,
44
+ size: "sm",
45
+ ...b,
46
+ children: [
47
+ l && /* @__PURE__ */ t(l, { className: "richtext-size-4" }),
48
+ u
49
+ ]
50
+ }
51
+ ) }),
52
+ e && /* @__PURE__ */ t(A, { ...p, className: "richtext-tooltip", children: /* @__PURE__ */ n("div", { className: "richtext-flex richtext-max-w-24 richtext-flex-col richtext-items-center richtext-text-center", children: [
53
+ /* @__PURE__ */ t("div", { children: e }),
54
+ !!(r != null && r.length) && /* @__PURE__ */ t("span", { children: S(r) })
55
+ ] }) })
56
+ ] });
57
+ }
58
+ ), D = z(
59
+ "richtext-inline-flex richtext-items-center richtext-justify-center richtext-rounded-md richtext-text-sm richtext-font-medium richtext-ring-offset-background richtext-transition-colors hover:richtext-bg-muted hover:richtext-text-muted-foreground focus-visible:richtext-outline-none focus-visible:richtext-ring-2 focus-visible:richtext-ring-ring focus-visible:richtext-ring-offset-1 disabled:richtext-pointer-events-none disabled:richtext-opacity-50 data-[state=on]:richtext-bg-accent data-[state=on]:richtext-text-accent-foreground",
60
+ {
61
+ variants: {
62
+ variant: {
63
+ default: "richtext-bg-transparent",
64
+ outline: "richtext-border richtext-border-input richtext-bg-transparent hover:richtext-bg-accent hover:richtext-text-accent-foreground"
65
+ },
66
+ size: {
67
+ default: "richtext-h-10 richtext-px-3",
68
+ sm: "richtext-h-9 richtext-px-2",
69
+ lg: "richtext-h-11 richtext-px-5"
70
+ }
71
+ },
72
+ defaultVariants: {
73
+ variant: "default",
74
+ size: "default"
75
+ }
76
+ }
77
+ ), f = R.forwardRef(({ className: o, variant: c, size: a, ...e }, i) => /* @__PURE__ */ t(
78
+ d.Root,
79
+ {
80
+ ref: i,
81
+ className: x(D({ variant: c, size: a, className: o })),
82
+ ...e
83
+ }
84
+ ));
85
+ f.displayName = d.Root.displayName;
86
+ export {
87
+ F as A,
88
+ f as T
89
+ };
@@ -0,0 +1 @@
1
+ "use strict";const e=require("react/jsx-runtime"),N=require("@radix-ui/react-slot"),u=require("react"),a=require("./index-DWSAk_9a.cjs"),s=require("./useButtonProps-CFu0GHzW.cjs"),R=require("@radix-ui/react-toggle");function f(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const i in t)if(i!=="default"){const c=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(r,i,c.get?c:{enumerable:!0,get:()=>t[i]})}}return r.default=t,Object.freeze(r)}const q=f(u),g=f(R),O=u.forwardRef((t,r)=>{const{icon:i=void 0,tooltip:c=void 0,disabled:o=!1,customClass:p="",loading:w=void 0,shortcutKeys:n=void 0,tooltipOptions:m={},action:l=void 0,isActive:z=void 0,children:v,asChild:b=!1,upload:P=!1,initialDisplayedColor:_=void 0,dataState:j=!1,...T}=t,d=a.icons[i],y=b?N.Slot:x,C=h=>{if(o){h.preventDefault();return}l==null||l(h)};return e.jsxs(s.Tooltip,{children:[e.jsx(s.TooltipTrigger,{asChild:!0,children:e.jsxs(y,{className:a.cn("richtext-h-[32px] richtext-w-[32px]",p),"data-state":j?"on":"off",disabled:o,onClick:C,ref:r,size:"sm",...T,children:[d&&e.jsx(d,{className:"richtext-size-4"}),v]})}),c&&e.jsx(s.TooltipContent,{...m,className:"richtext-tooltip",children:e.jsxs("div",{className:"richtext-flex richtext-max-w-24 richtext-flex-col richtext-items-center richtext-text-center",children:[e.jsx("div",{children:c}),!!(n!=null&&n.length)&&e.jsx("span",{children:s.getShortcutKeys(n)})]})})]})}),S=a.cva("richtext-inline-flex richtext-items-center richtext-justify-center richtext-rounded-md richtext-text-sm richtext-font-medium richtext-ring-offset-background richtext-transition-colors hover:richtext-bg-muted hover:richtext-text-muted-foreground focus-visible:richtext-outline-none focus-visible:richtext-ring-2 focus-visible:richtext-ring-ring focus-visible:richtext-ring-offset-1 disabled:richtext-pointer-events-none disabled:richtext-opacity-50 data-[state=on]:richtext-bg-accent data-[state=on]:richtext-text-accent-foreground",{variants:{variant:{default:"richtext-bg-transparent",outline:"richtext-border richtext-border-input richtext-bg-transparent hover:richtext-bg-accent hover:richtext-text-accent-foreground"},size:{default:"richtext-h-10 richtext-px-3",sm:"richtext-h-9 richtext-px-2",lg:"richtext-h-11 richtext-px-5"}},defaultVariants:{variant:"default",size:"default"}}),x=q.forwardRef(({className:t,variant:r,size:i,...c},o)=>e.jsx(g.Root,{ref:o,className:a.cn(S({variant:r,size:i,className:t})),...c}));x.displayName=g.Root.displayName;exports.ActionButton=O;exports.Toggle=x;
@@ -1,5 +1,5 @@
1
- import { c as a, s as n, f as l } from "./index-CsSfYR30.js";
2
- import { d as p } from "./clsx-CDyrfCnw.js";
1
+ import { c as a, s as n, f as l } from "./index-C8FjP66D.js";
2
+ import { d as p } from "./clsx-m_C5j3RU.js";
3
3
  function m(o, t) {
4
4
  a({
5
5
  getBoundingClientRect: () => p(o.view, o.state.selection.from, o.state.selection.to)
@@ -0,0 +1,165 @@
1
+ import { jsx as y } from "react/jsx-runtime";
2
+ import * as d from "@radix-ui/react-tooltip";
3
+ import * as x from "react";
4
+ import { useState as h, useEffect as b, useMemo as u } from "react";
5
+ import { c as C } from "./index-CAiZY1nx.js";
6
+ import { y as T, b as M, S as N } from "./index-BG0kQamI.js";
7
+ import { $ as w, a0 as D } from "./clsx-m_C5j3RU.js";
8
+ import { u as P } from "./index-4Q5IhypJ.js";
9
+ let m;
10
+ function p() {
11
+ return m === void 0 && (m = navigator.platform.includes("Mac")), m;
12
+ }
13
+ function U(t) {
14
+ return `${t}`.toLowerCase() === "mod" ? p() ? "⌘" : "Ctrl" : `${t}`.toLowerCase() === "alt" ? p() ? "⌥" : "Alt" : `${t}`.toLowerCase() === "shift" ? p() ? "⇧" : "Shift" : t;
15
+ }
16
+ function q(t) {
17
+ return t.map(U).join(" ");
18
+ }
19
+ const v = d.Provider, G = d.Root, H = d.Trigger, $ = x.forwardRef(({ className: t, sideOffset: e = 4, ...n }, o) => /* @__PURE__ */ y(
20
+ d.Content,
21
+ {
22
+ "data-richtext-portal": !0,
23
+ ref: o,
24
+ sideOffset: e,
25
+ className: C(
26
+ "richtext-z-50 richtext-overflow-hidden richtext-rounded-md !richtext-border-none richtext-bg-primary richtext-px-3 richtext-py-1.5 richtext-text-sm richtext-text-primary-foreground richtext-shadow-md richtext-animate-in richtext-fade-in-0 richtext-zoom-in-95 data-[side=bottom]:richtext-slide-in-from-top-2 data-[side=left]:richtext-slide-in-from-right-2 data-[side=right]:richtext-slide-in-from-left-2 data-[side=top]:richtext-slide-in-from-bottom-2",
27
+ t
28
+ ),
29
+ ...n
30
+ }
31
+ ));
32
+ $.displayName = d.Content.displayName;
33
+ function L(t) {
34
+ const { editor: e } = w(), n = x.useMemo(
35
+ () => e,
36
+ [t, e]
37
+ );
38
+ return D({
39
+ editor: n,
40
+ selector(r) {
41
+ return r.editor ? {
42
+ editor: r.editor,
43
+ editorState: r.editor.state,
44
+ canCommand: r.editor.can
45
+ } : {
46
+ editor: null,
47
+ editorState: void 0,
48
+ canCommand: void 0
49
+ };
50
+ }
51
+ }) || { editor: null };
52
+ }
53
+ function f() {
54
+ return L().editor;
55
+ }
56
+ const g = T(!1);
57
+ function S() {
58
+ return M(g);
59
+ }
60
+ function J() {
61
+ return N(g);
62
+ }
63
+ const E = () => !1;
64
+ function Q(t = E) {
65
+ const e = S(), [n, o] = h(() => {
66
+ const i = t();
67
+ return typeof i == "boolean" ? !i : i;
68
+ }), r = f();
69
+ b(() => {
70
+ if (!r || !t) return;
71
+ const i = () => {
72
+ const c = t();
73
+ o(typeof c == "boolean" ? !c : c);
74
+ };
75
+ return i(), r.on("selectionUpdate", i), r.on("transaction", i), () => {
76
+ r.off("selectionUpdate", i), r.off("transaction", i);
77
+ };
78
+ }, [r, t]);
79
+ const a = u(() => !e || !r ? !0 : typeof n == "boolean" ? n : !1, [e, r, n]), s = u(() => !e || !r, [e, r]);
80
+ return {
81
+ disabled: a,
82
+ // can not action, opacity < 1
83
+ dataState: n,
84
+ // true => show background, false => no background
85
+ editorDisabled: s
86
+ };
87
+ }
88
+ function X(t = E) {
89
+ const e = S(), [n, o] = h({}), [r, a] = h(t()), s = f();
90
+ b(() => {
91
+ if (!s || !t) return;
92
+ const l = () => {
93
+ a(t());
94
+ };
95
+ return l(), s.on("selectionUpdate", l), () => {
96
+ s.off("selectionUpdate", l);
97
+ };
98
+ }, [n, s, t]);
99
+ const i = u(() => !e || !s, [e, s]), c = u(() => !e || !s, [e, s]);
100
+ return {
101
+ disabled: i,
102
+ // can not action, opacity < 1
103
+ dataState: r,
104
+ // true => show background, false => no background
105
+ editorDisabled: c,
106
+ update: () => o({})
107
+ // force update
108
+ };
109
+ }
110
+ function R(t) {
111
+ const e = f();
112
+ return u(() => e ? e.extensionManager.extensions.find(
113
+ (o) => o.name === t
114
+ ) : null, [e, t]);
115
+ }
116
+ function Y(t, e, n) {
117
+ return t < e ? e : t > n ? n : t;
118
+ }
119
+ const j = (t) => typeof t == "number", z = (t) => typeof t == "string", F = (t) => typeof t == "function";
120
+ function Z(t, e = "px") {
121
+ if (!t) return t;
122
+ const n = j(t) ? String(t) : t, o = Number.parseFloat(n), r = n.match(/[%a-z]+$/i), a = r ? r[0] : e;
123
+ return Number.isNaN(o) ? t : o + a;
124
+ }
125
+ function _(t, e) {
126
+ if (!t)
127
+ return !1;
128
+ const { extensions: n = [] } = (t == null ? void 0 : t.extensionManager) ?? {};
129
+ return !!n.find((r) => r.name === e);
130
+ }
131
+ function k(t) {
132
+ return t.map((e) => z(e) ? { value: e, name: e } : e);
133
+ }
134
+ function A(t) {
135
+ const e = f(), n = R(t), { t: o } = P();
136
+ return u(() => {
137
+ if (!e || !n || !o)
138
+ return null;
139
+ const { button: r } = n.options;
140
+ return !r || !F(r) ? null : r({
141
+ editor: e,
142
+ extension: n,
143
+ t: o
144
+ });
145
+ }, [e, n, o]);
146
+ }
147
+ export {
148
+ G as T,
149
+ H as a,
150
+ $ as b,
151
+ X as c,
152
+ Q as d,
153
+ k as e,
154
+ f,
155
+ q as g,
156
+ U as h,
157
+ R as i,
158
+ _ as j,
159
+ Z as k,
160
+ S as l,
161
+ Y as m,
162
+ J as n,
163
+ v as o,
164
+ A as u
165
+ };
@@ -0,0 +1 @@
1
+ "use strict";const P=require("react/jsx-runtime"),N=require("@radix-ui/react-tooltip"),i=require("react"),D=require("./index-DWSAk_9a.cjs"),h=require("./index-NsYff_Ni.cjs"),g=require("./clsx-CXbNJWDD.cjs"),j=require("./index-bVGIXhRg.cjs");function b(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,o.get?o:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const d=b(N),S=b(i);let p;function m(){return p===void 0&&(p=navigator.platform.includes("Mac")),p}function E(t){return`${t}`.toLowerCase()==="mod"?m()?"⌘":"Ctrl":`${t}`.toLowerCase()==="alt"?m()?"⌥":"Alt":`${t}`.toLowerCase()==="shift"?m()?"⇧":"Shift":t}function q(t){return t.map(E).join(" ")}const w=d.Provider,O=d.Root,U=d.Trigger,T=S.forwardRef(({className:t,sideOffset:e=4,...n},o)=>P.jsx(d.Content,{"data-richtext-portal":!0,ref:o,sideOffset:e,className:D.cn("richtext-z-50 richtext-overflow-hidden richtext-rounded-md !richtext-border-none richtext-bg-primary richtext-px-3 richtext-py-1.5 richtext-text-sm richtext-text-primary-foreground richtext-shadow-md richtext-animate-in richtext-fade-in-0 richtext-zoom-in-95 data-[side=bottom]:richtext-slide-in-from-top-2 data-[side=left]:richtext-slide-in-from-right-2 data-[side=right]:richtext-slide-in-from-left-2 data-[side=top]:richtext-slide-in-from-bottom-2",t),...n}));T.displayName=d.Content.displayName;function R(t){const{editor:e}=g.useCurrentEditor(),n=S.useMemo(()=>e,[t,e]);return g.useEditorState({editor:n,selector(r){return r.editor?{editor:r.editor,editorState:r.editor.state,canCommand:r.editor.can}:{editor:null,editorState:void 0,canCommand:void 0}}})||{editor:null}}function f(){return R().editor}const y=h.y(!1);function x(){return h.b(y)}function $(){return h.S(y)}const M=()=>!1;function v(t=M){const e=x(),[n,o]=i.useState(()=>{const s=t();return typeof s=="boolean"?!s:s}),r=f();i.useEffect(()=>{if(!r||!t)return;const s=()=>{const c=t();o(typeof c=="boolean"?!c:c)};return s(),r.on("selectionUpdate",s),r.on("transaction",s),()=>{r.off("selectionUpdate",s),r.off("transaction",s)}},[r,t]);const a=i.useMemo(()=>!e||!r?!0:typeof n=="boolean"?n:!1,[e,r,n]),u=i.useMemo(()=>!e||!r,[e,r]);return{disabled:a,dataState:n,editorDisabled:u}}function _(t=M){const e=x(),[n,o]=i.useState({}),[r,a]=i.useState(t()),u=f();i.useEffect(()=>{if(!u||!t)return;const l=()=>{a(t())};return l(),u.on("selectionUpdate",l),()=>{u.off("selectionUpdate",l)}},[n,u,t]);const s=i.useMemo(()=>!e||!u,[e,u]),c=i.useMemo(()=>!e||!u,[e,u]);return{disabled:s,dataState:r,editorDisabled:c,update:()=>o({})}}function C(t){const e=f();return i.useMemo(()=>e?e.extensionManager.extensions.find(o=>o.name===t):null,[e,t])}function z(t,e,n){return t<e?e:t>n?n:t}const K=t=>typeof t=="number",L=t=>typeof t=="string",V=t=>typeof t=="function";function B(t,e="px"){if(!t)return t;const n=K(t)?String(t):t,o=Number.parseFloat(n),r=n.match(/[%a-z]+$/i),a=r?r[0]:e;return Number.isNaN(o)?t:o+a}function F(t,e){if(!t)return!1;const{extensions:n=[]}=(t==null?void 0:t.extensionManager)??{};return!!n.find(r=>r.name===e)}function I(t){return t.map(e=>L(e)?{value:e,name:e}:e)}function W(t){const e=f(),n=C(t),{t:o}=j.useLocale();return i.useMemo(()=>{if(!e||!n||!o)return null;const{button:r}=n.options;return!r||!V(r)?null:r({editor:e,extension:n,t:o})},[e,n,o])}exports.Tooltip=O;exports.TooltipContent=T;exports.TooltipProvider=w;exports.TooltipTrigger=U;exports.clamp=z;exports.ensureNameValueOptions=I;exports.getCssUnitWithDefault=B;exports.getShortcutKey=E;exports.getShortcutKeys=q;exports.hasExtension=F;exports.useActive=v;exports.useButtonProps=W;exports.useEditableEditor=x;exports.useEditorInstance=f;exports.useExtension=C;exports.useStoreEditableEditor=$;exports.useToggleActive=_;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remarkablejames/editor",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "A modern WYSIWYG rich text editor based on tiptap and shadcn ui for React",
5
5
  "keywords": [
6
6
  "editor",
@@ -1 +0,0 @@
1
- "use strict";const e=require("react/jsx-runtime"),a=require("@radix-ui/react-slot"),d=require("react"),i=require("./index-D9oM__YW.cjs");require("./theme.cjs");const s=d.forwardRef(({asChild:h=!1,tooltip:c,...t},l)=>{var n;const x=i.icons[t.icon],r=h?a.Slot:i.Button;return e.jsxs(i.Tooltip,{children:[e.jsx(i.TooltipTrigger,{asChild:!0,children:e.jsx(r,{className:"richtext-h-[32px] richtext-min-w-24 richtext-overflow-hidden richtext-px-[5px] richtext-py-0","data-state":t!=null&&t.dataState?"on":"off",disabled:t==null?void 0:t.disabled,ref:l,variant:"ghost",...t,children:e.jsxs("div",{className:"richtext-flex richtext-h-full richtext-items-center richtext-font-normal",children:[(t==null?void 0:t.title)&&e.jsx("div",{className:"richtext-grow richtext-truncate richtext-text-left richtext-text-sm",children:t==null?void 0:t.title}),x&&e.jsx(x,{className:"richtext-ml-1 richtext-size-3 richtext-shrink-0 richtext-text-zinc-500"})]})})}),c&&e.jsx(i.TooltipContent,{children:e.jsxs("div",{className:"richtext-flex richtext-max-w-24 richtext-flex-col richtext-items-center richtext-text-center",children:[c&&e.jsx("div",{children:c}),e.jsx("div",{className:"richtext-flex",children:!!((n=t==null?void 0:t.shortcutKeys)!=null&&n.length)&&e.jsx("span",{children:i.getShortcutKeys(t==null?void 0:t.shortcutKeys)})})]})})]})});exports.ActionMenuButton=s;
@@ -1,2 +0,0 @@
1
- "use strict";const I=require("./clsx-CXbNJWDD.cjs"),i=require("./index-D9oM__YW.cjs"),e=require("react/jsx-runtime"),m=require("react"),q=require("./index-bVGIXhRg.cjs"),p=require("easydrawer"),D={TOP_LEFT:"tl",TOP_RIGHT:"tr",BOTTOM_LEFT:"bl",BOTTOM_RIGHT:"br"};function J({editor:t,node:r,updateAttributes:o,getPos:n,selected:v}){const[j,S]=m.useState({width:q.IMAGE_MAX_SIZE,height:q.IMAGE_MAX_SIZE}),[d,c]=m.useState({width:0,height:0}),[M]=m.useState([D.TOP_LEFT,D.TOP_RIGHT,D.BOTTOM_LEFT,D.BOTTOM_RIGHT]),[b,_]=m.useState(!1),[h,u]=m.useState({x:0,y:0,w:0,h:0,dir:""}),{align:T}=r==null?void 0:r.attrs,f=m.useMemo(()=>{const{src:g,alt:E,width:H,height:k}=r==null?void 0:r.attrs,A=I.isNumber(H)?`${H}px`:H,C=I.isNumber(k)?`${k}px`:k;return{src:g||void 0,alt:E||void 0,style:{width:A||void 0,height:C||void 0}}},[r==null?void 0:r.attrs]),s=m.useMemo(()=>{const{style:{width:g}}=f;return{width:g==="100%"?g:void 0}},[f]);function F(g){c({width:g.target.width,height:g.target.height})}const z=m.useCallback(()=>{t.commands.setNodeSelection(n())},[]),R=m.useCallback(i.throttle(()=>{const{width:g}=getComputedStyle(t.view.dom);S(E=>({...E,width:Number.parseInt(g,10)}))},q.IMAGE_THROTTLE_WAIT_TIME),[t]);function O(g,E){g.preventDefault(),g.stopPropagation();const H=d.width,k=d.height,A=H/k;let C=Number(r.attrs.width),N=Number(r.attrs.height);const y=j.width;C&&!N?(C=C>y?y:C,N=Math.round(C/A)):N&&!C?(C=Math.round(N*A),C=C>y?y:C):!C&&!N?(C=H>y?y:H,N=Math.round(C/A)):C=C>y?y:C,_(!0),u({x:g.clientX,y:g.clientY,w:C,h:N,dir:E})}const x=m.useCallback(i.throttle(g=>{if(g.preventDefault(),g.stopPropagation(),!b)return;const{x:E,w:H,dir:k}=h,A=(g.clientX-E)*(/l/.test(k)?-1:1),{width:C,height:N}=r==null?void 0:r.attrs,y=C/N,G=i.clamp(H+A,q.IMAGE_MIN_SIZE,j.width),Y=Math.round(G/y);o({width:G,height:Y})},q.IMAGE_THROTTLE_WAIT_TIME),[b,h,j,o,r==null?void 0:r.attrs]),a=m.useCallback(g=>{g.preventDefault(),g.stopPropagation(),b&&(u({x:0,y:0,w:0,h:0,dir:""}),_(!1),z())},[b,z]),w=m.useCallback(()=>{document==null||document.addEventListener("mousemove",x,!0),document==null||document.addEventListener("mouseup",a,!0)},[x,a]),L=m.useCallback(()=>{document==null||document.removeEventListener("mousemove",x,!0),document==null||document.removeEventListener("mouseup",a,!0)},[x,a]);m.useEffect(()=>(b?w():L(),()=>{L()}),[b,w,L]);const B=m.useMemo(()=>new ResizeObserver(()=>R()),[R]);return m.useEffect(()=>(B.observe(t.view.dom),()=>{B.disconnect()}),[t.view.dom,B]),e.jsx(I.NodeViewWrapper,{className:"image-view",style:{...s,width:"100%",textAlign:T},children:e.jsxs("div",{"data-drag-handle":!0,draggable:"true",style:{...s,background:"#fff"},className:`image-view__body ${v?"image-view__body--focused":""} ${b?"image-view__body--resizing":""}`,children:[e.jsx("img",{alt:f.alt,className:"image-view__body__image block",height:"auto",onClick:z,onLoad:F,src:f.src,style:f.style}),t.view.editable&&(v||b)&&e.jsx("div",{className:"image-resizer",children:M==null?void 0:M.map(g=>e.jsx("span",{className:`image-resizer__handler image-resizer__handler--${g}`,onMouseDown:E=>O(E,g)},`image-dir-${g}`))})]})})}const W="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ee=t=>{t=t.replace(/\r\n/g,`
2
- `);let r=0,o="";for(;r<t.length;r++){const n=t.charCodeAt(r);n<128?o+=String.fromCharCode(n):n>127&&n<2048?(o+=String.fromCharCode(n>>6|192),o+=String.fromCharCode(63&n|128)):(o+=String.fromCharCode(n>>12|224),o+=String.fromCharCode(n>>6&63|128),o+=String.fromCharCode(63&n|128))}return o},te=t=>{let r,o,n,v,j,S,d,c=0,M="";for(t=ee(t);c<t.length;)r=t.charCodeAt(c++),o=t.charCodeAt(c++),n=t.charCodeAt(c++),v=r>>2,j=(3&r)<<4|o>>4,S=(15&o)<<2|n>>6,d=63&n,isNaN(o)?S=d=64:isNaN(n)&&(d=64),M=M+W.charAt(v)+W.charAt(j)+W.charAt(S)+W.charAt(d);return M},re=t=>typeof t=="string"?"string":typeof SVGElement<"u"&&t instanceof SVGElement?"element":void 0,$=t=>"data:image/svg+xml;base64,"+te(t),oe=t=>$(new XMLSerializer().serializeToString(t)),Z=t=>{switch(re(t)){case"string":return $(t);case"element":return oe(t);default:return t}};function le(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{color:"currentColor",d:"M2 9.2v3.6M12.8 2H9.2M7.5 20H9M20 7.5V9M2.133 4.699c.155-.727.415-1.274.854-1.712c.426-.426.954-.684 1.652-.84m15.228 2.552c-.155-.727-.415-1.274-.854-1.712c-.417-.417-.932-.673-1.608-.83M4.64 19.853c-.698-.156-1.226-.414-1.652-.84c-.43-.43-.69-.965-.845-1.673m11.638 3.626c-1.812.125-3.607-8.326-2.374-9.559s9.684.561 9.559 2.373c-.087 1.187-2.095 1.656-2.037 2.711c.018.309.408.59 1.188 1.154c.543.39 1.096.77 1.629 1.175a.66.66 0 0 1 .234.687a3.35 3.35 0 0 1-2.472 2.473a.66.66 0 0 1-.688-.235c-.404-.533-.784-1.086-1.175-1.628c-.563-.78-.844-1.17-1.153-1.188c-1.055-.059-1.524 1.95-2.71 2.037",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5"})})}function ne(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{d:"M20.06 18a4 4 0 0 1-.2-.89c-.67.7-1.48 1.05-2.41 1.05c-.83 0-1.52-.24-2.05-.71c-.53-.45-.8-1.06-.8-1.79c0-.88.33-1.56 1-2.05s1.61-.73 2.83-.73h1.4v-.64q0-.735-.45-1.17c-.3-.29-.75-.43-1.33-.43c-.52 0-.95.12-1.3.36c-.35.25-.52.54-.52.89h-1.46c0-.43.15-.84.45-1.24c.28-.4.71-.71 1.22-.94c.51-.21 1.06-.35 1.69-.35c.98 0 1.74.24 2.29.73s.84 1.16.86 2.02V16c0 .8.1 1.42.3 1.88V18zm-2.4-1.12c.45 0 .88-.11 1.29-.32c.4-.21.7-.49.88-.83v-1.57H18.7c-1.77 0-2.66.47-2.66 1.41c0 .43.15.73.46.96c.3.23.68.35 1.16.35m-12.2-3.17h4.07L7.5 8.29zM6.64 6h1.72l4.71 12h-1.93l-.97-2.57H4.82L3.86 18H1.93z",fill:"currentColor"})})}function se(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{d:"M3 21v-4.25L16.2 3.575q.3-.275.663-.425t.762-.15t.775.15t.65.45L20.425 5q.3.275.438.65T21 6.4q0 .4-.137.763t-.438.662L7.25 21zM17.6 7.8L19 6.4L17.6 5l-1.4 1.4z",fill:"currentColor"})})}function ie(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 256 256",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{d:"M253.66 106.34a8 8 0 0 0-11.32 0L192 156.69L107.31 72l50.35-50.34a8 8 0 1 0-11.32-11.32L96 60.69a16 16 0 0 0-2.82 18.81L72 100.69a16 16 0 0 0 0 22.62l4.69 4.69l-58.35 58.34a8 8 0 0 0 3.13 13.25l72 24A7.9 7.9 0 0 0 96 224a8 8 0 0 0 5.66-2.34L136 187.31l4.69 4.69a16 16 0 0 0 22.62 0l21.19-21.18a16 16 0 0 0 18.81-2.82l50.35-50.34a8 8 0 0 0 0-11.32M93.84 206.85l-55-18.35L88 139.31L124.69 176ZM152 180.69L83.31 112L104 91.31L172.69 160Z",fill:"currentColor"})})}function ae(t){return e.jsxs("svg",{height:"1em",viewBox:"0 0 16 16",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:[e.jsx("path",{d:"m2.648 9.937l7.29-7.288a2.21 2.21 0 0 1 3.124 0l2.29 2.288a2.21 2.21 0 0 1 0 3.126L10.413 13H12.5a.5.5 0 0 1 0 1H4.501a2.2 2.2 0 0 1-1.563-.647l.707-.707c.227.226.535.354.856.354h4.005a1.2 1.2 0 0 0 .848-.354l1.292-1.293l-4-4l-3.29 3.291a1.21 1.21 0 0 0 0 1.712l.29.29l-.708.707l-.29-.29a2.21 2.21 0 0 1 0-3.126M8 6h6.89a1.2 1.2 0 0 0-.246-.356L14 5H9zm2-2h3l-.645-.644a1.21 1.21 0 0 0-1.71 0zm4.89 3H7.708l1 1H14l.644-.644A1.2 1.2 0 0 0 14.891 7zM9.708 9l1.646 1.646L13 9z",fill:"currentColor"}),e.jsx("path",{d:"M14 11.5a.5.5 0 1 1-1 0a.5.5 0 0 1 1 0m1.5-.5a.5.5 0 1 0 0-1a.5.5 0 0 0 0 1m-1 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1z",fill:"currentColor"})]})}function ce(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{d:"M3 3h18v18H3zm2 2v14h14V5z",fill:"currentColor"})})}function he(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{d:"M2 20V4h20v16zm2-2h16V6H4zm0 0V6z",fill:"currentColor"})})}function ue(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{d:"M12 22q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4T6.325 6.325T4 12t2.325 5.675T12 20m0-8",fill:"currentColor"})})}function de(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{d:"M10.363 3.591L2.257 17.125a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636-2.87L13.637 3.59a1.914 1.914 0 0 0-3.274 0z",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"})})}function ge(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{d:"m6.8 21l-5.2-9l5.2-9h10.4l5.2 9l-5.2 9zm1.15-2h8.1l4.025-7l-4.025-7h-8.1L3.9 12zM12 12",fill:"currentColor"})})}function me(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsxs("g",{fill:"none",fillRule:"evenodd",children:[e.jsx("path",{d:"m12.594 23.258l-.012.002l-.071.035l-.02.004l-.014-.004l-.071-.036q-.016-.004-.024.006l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.016-.018m.264-.113l-.014.002l-.184.093l-.01.01l-.003.011l.018.43l.005.012l.008.008l.201.092q.019.005.029-.008l.004-.014l-.034-.614q-.005-.019-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.003-.011l.018-.43l-.003-.012l-.01-.01z"}),e.jsx("path",{d:"M10.586 2.807a2 2 0 0 1 2.828 0l7.778 7.779a2 2 0 0 1 0 2.828l-7.778 7.778a2 2 0 0 1-2.828 0l-7.778-7.778a2 2 0 0 1 0-2.828zM12 4.222L4.222 12L12 19.778L19.778 12z",fill:"currentColor"})]})})}function pe(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{d:"M16.01 11H4v2h12.01v3L20 12l-3.99-4z",fill:"currentColor"})})}function xe(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{clipRule:"evenodd",d:"M7.53 3.47a.75.75 0 0 1 0 1.06L5.81 6.25H15a5.75 5.75 0 0 1 0 11.5H8a.75.75 0 0 1 0-1.5h7a4.25 4.25 0 0 0 0-8.5H5.81l1.72 1.72a.75.75 0 1 1-1.06 1.06l-3-3a.75.75 0 0 1 0-1.06l3-3a.75.75 0 0 1 1.06 0",fill:"currentColor",fillRule:"evenodd"})})}function we(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{clipRule:"evenodd",d:"M16.47 3.47a.75.75 0 0 1 1.06 0l3 3a.75.75 0 0 1 0 1.06l-3 3a.75.75 0 1 1-1.06-1.06l1.72-1.72H9a4.25 4.25 0 0 0 0 8.5h7a.75.75 0 0 1 0 1.5H9a5.75 5.75 0 0 1 0-11.5h9.19l-1.72-1.72a.75.75 0 0 1 0-1.06",fill:"currentColor",fillRule:"evenodd"})})}function ve(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{d:"M7 21q-.825 0-1.412-.587T5 19V6H4V4h5V3h6v1h5v2h-1v13q0 .825-.587 1.413T17 21zm2-4h2V8H9zm4 0h2V8h-2z",fill:"currentColor"})})}function Ce(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 256 256",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{d:"M211.81 83.79a28 28 0 0 1-33.12 4.83l-90.07 90.07a28 28 0 1 1-44.43-6.48a28 28 0 0 1 33.12-4.83l90.07-90.07a28 28 0 1 1 44.43 6.48",fill:"currentColor"})})}function fe(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{d:"M12 20.325q-.35 0-.712-.125t-.638-.4l-1.725-1.575q-2.65-2.425-4.788-4.812T2 8.15Q2 5.8 3.575 4.225T7.5 2.65q1.325 0 2.5.562t2 1.538q.825-.975 2-1.537t2.5-.563q2.35 0 3.925 1.575T22 8.15q0 2.875-2.125 5.275T15.05 18.25l-1.7 1.55q-.275.275-.637.4t-.713.125M11.05 6.75q-.725-1.025-1.55-1.563t-2-.537q-1.5 0-2.5 1t-1 2.5q0 1.3.925 2.763t2.213 2.837t2.65 2.575T12 18.3q.85-.775 2.213-1.975t2.65-2.575t2.212-2.837T20 8.15q0-1.5-1-2.5t-2.5-1q-1.175 0-2 .538T12.95 6.75q-.175.25-.425.375T12 7.25t-.525-.125t-.425-.375m.95 4.725",fill:"currentColor"})})}function Te(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{d:"m7.625 6.4l2.8-3.625q.3-.4.713-.587T12 2t.863.188t.712.587l2.8 3.625l4.25 1.425q.65.2 1.025.738t.375 1.187q0 .3-.088.6t-.287.575l-2.75 3.9l.1 4.1q.025.875-.575 1.475t-1.4.6q-.05 0-.55-.075L12 19.675l-4.475 1.25q-.125.05-.275.063T6.975 21q-.8 0-1.4-.6T5 18.925l.1-4.125l-2.725-3.875q-.2-.275-.288-.575T2 9.75q0-.625.363-1.162t1.012-.763zM8.85 8.125L4 9.725L7.1 14.2L7 18.975l5-1.375l5 1.4l-.1-4.8L20 9.775l-4.85-1.65L12 4zM12 11.5",fill:"currentColor"})})}function je(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{d:"M12.01 6c2.61 0 4.89 1.86 5.4 4.43l.3 1.5l1.52.11c1.56.11 2.78 1.41 2.78 2.96c0 1.65-1.35 3-3 3h-13c-2.21 0-4-1.79-4-4c0-2.05 1.53-3.76 3.56-3.97l1.07-.11l.5-.95A5.46 5.46 0 0 1 12.01 6m0-2C9.12 4 6.6 5.64 5.35 8.04C2.35 8.36.01 10.91.01 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5c0-2.64-2.05-4.78-4.64-4.96C18.68 6.59 15.65 4 12.01 4",fill:"currentColor"})})}function be(t){return e.jsx("svg",{height:"1em",viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",...t,children:e.jsx("path",{d:"M5.586 6.45A2 2 0 0 1 7.509 5h11.84a2 2 0 0 1 1.923 2.55l-2.858 10A2 2 0 0 1 16.491 19H4.651a2 2 0 0 1-1.923-2.55z",fill:"none",stroke:"currentColor",strokeWidth:"2"})})}const Se="_wrapper_pva9d_1",Me="_tool_pva9d_17",ye="_active_pva9d_37",Ee="_pen_pva9d_41",He="_line_pva9d_48",Ne="_options_pva9d_56",Le="_colorWrap_pva9d_66",ke="_color_pva9d_66",Ae="_colorActive_pva9d_83",l={wrapper:Se,tool:Me,active:ye,pen:Ee,line:He,options:Ne,colorWrap:Le,color:ke,colorActive:Ae},_e=[p.Color4.blackHighlight,p.Color4.ofRGBA(166/255,81/255,167/255,.3),p.Color4.ofRGBA(247/255,78/255,158/255,.3),p.Color4.ofRGBA(166/255,83/255,88/255,.3),p.Color4.ofRGBA(246/255,130/255,28/255,.3),p.Color4.ofRGBA(166/255,198/255,0,.3),p.Color4.ofRGBA(98/255,186/255,70/255,.3)],U=[p.Color4.black,p.Color4.fromHex("#007AFF"),p.Color4.fromHex("#A651A7"),p.Color4.fromHex("#F74E9E"),p.Color4.fromHex("#FF5358"),p.Color4.fromHex("#F6821C"),p.Color4.fromHex("#FFC600"),p.Color4.fromHex("#62BA46"),p.Color4.fromHex("#E6BFE8"),p.Color4.fromHex("#FEA3D2"),p.Color4.fromHex("#FFA0A3"),p.Color4.fromHex("#FBC276"),p.Color4.fromHex("#FFFB85"),p.Color4.fromHex("#AADC99")];function ze({onChange:t}){const[r,o]=m.useState(p.Color4.blackHighlight);return e.jsx("div",{className:l.colorWrap,children:_e.map((n,v)=>e.jsx("button",{style:{backgroundColor:n.toHexString()},className:i.cn(l.color,{[l.colorActive]:r.toHexString()===n.toHexString()}),onClick:()=>{o(n),t(n)}},v))})}function V({onChange:t}){const[r,o]=m.useState(p.Color4.black);return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:l.colorWrap,children:U.slice(0,7).map((n,v)=>e.jsx("button",{style:{backgroundColor:n.toHexString()},className:i.cn(l.color,{[l.colorActive]:r.toHexString()===n.toHexString()}),onClick:()=>{o(n),t(n)}},v))}),e.jsx("div",{className:l.colorWrap,children:U.slice(7).map((n,v)=>e.jsx("button",{style:{backgroundColor:n.toHexString()},className:i.cn(l.color,{[l.colorActive]:r.toHexString()===n.toHexString()}),onClick:()=>{o(n),t(n)}},v))})]})}function Be({setColorPen:t,setThicknessPen:r}){const[o,n]=m.useState(2);return e.jsxs("div",{className:l.options,children:[e.jsx("div",{children:e.jsx(V,{onChange:v=>t(v)})}),e.jsx("div",{className:l.line}),e.jsx("div",{children:e.jsx("input",{max:10,min:1,step:.1,type:"range",value:o,onChange:v=>{r(Number.parseFloat(v.target.value)),n(Number.parseFloat(v.target.value))}})})]})}function qe({setColorHighlight:t}){return e.jsx("div",{className:l.options,children:e.jsx(ze,{onChange:r=>t(r)})})}function Pe({changeColorShape:t,changeBorderColorShape:r,onThicknessChange:o}){return e.jsxs("div",{className:l.options,children:[e.jsx("div",{children:e.jsx(V,{onChange:n=>t(n)})}),e.jsx("div",{className:l.line}),e.jsx("div",{children:e.jsx(V,{onChange:n=>r(n)})}),e.jsx("div",{className:l.line}),e.jsx("div",{children:e.jsx("input",{defaultValue:0,max:20,min:0,step:1,type:"range",onChange:n=>{o(Number.parseFloat(n.target.value))}})})]})}function X(t){const{setColorPen:r,refEditor:o,setThicknessPen:n,setColorHighlight:v,changeBorderColorShape:j,onUndo:S,changeColorShape:d,changeShape:c,onThicknessChange:M,onRedo:b,onClear:_}=t,[h,u]=m.useState(null),[T,f]=m.useState(0);return e.jsx(e.Fragment,{children:e.jsxs("div",{className:l.wrapper,children:[e.jsxs("div",{className:l.pen,children:[e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="select"}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();if(h==="select"){u(null),s[0].setEnabled(!1);return}u("select"),s[0].setEnabled(!0)},children:e.jsx(le,{})}),e.jsx("div",{className:l.line}),e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="text"}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();if(o.current.toolController.setToolEnabled(s[1]),h==="text"){s[1].setEnabled(!1),u(null);return}u("text"),s[1].setEnabled(!0)},children:e.jsx(ne,{})}),e.jsx("div",{className:l.line}),e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="pencil"}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();if(h==="pencil"){u(null),s[2].setEnabled(!1);return}u("pencil"),s[2].setEnabled(!0)},children:e.jsx(se,{})}),e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="highlighter"}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();if(h==="highlighter"){u(null),s[3].setEnabled(!1);return}u("highlighter"),s[3].setEnabled(!0)},children:e.jsx(ie,{})}),e.jsx("div",{className:l.line}),e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="eraser"}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();if(h==="eraser"){u(null),s[4].setEnabled(!1);return}u("eraser"),s[4].setEnabled(!0)},children:e.jsx(ae,{})}),e.jsx("div",{className:l.line}),e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="shapes"&&T===0}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();o.current.toolController.setToolEnabled(s[5]),u("shapes"),s[5].setEnabled(!0),c(0),f(0)},children:e.jsx(ce,{})}),e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="shapes"&&T===1}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();o.current.toolController.setToolEnabled(s[5]),u("shapes"),s[5].setEnabled(!0),c(1),f(1)},children:e.jsx(he,{})}),e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="shapes"&&T===2}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();o.current.toolController.setToolEnabled(s[5]),u("shapes"),s[5].setEnabled(!0),c(2),f(2)},children:e.jsx(ue,{})}),e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="shapes"&&T===3}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();o.current.toolController.setToolEnabled(s[5]),u("shapes"),s[5].setEnabled(!0),c(3),f(3)},children:e.jsx(de,{})}),e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="shapes"&&T===4}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();o.current.toolController.setToolEnabled(s[5]),u("shapes"),s[5].setEnabled(!0),c(4),f(4)},children:e.jsx(ge,{})}),e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="shapes"&&T===5}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();o.current.toolController.setToolEnabled(s[5]),u("shapes"),s[5].setEnabled(!0),c(5),f(5)},children:e.jsx(me,{})}),e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="shapes"&&T===6}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();o.current.toolController.setToolEnabled(s[5]),u("shapes"),s[5].setEnabled(!0),c(6),f(6)},children:e.jsx(pe,{})}),e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="shapes"&&T===7}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();o.current.toolController.setToolEnabled(s[5]),u("shapes"),s[5].setEnabled(!0),c(7),f(7)},children:e.jsx(Ce,{})}),e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="shapes"&&T===8}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();o.current.toolController.setToolEnabled(s[5]),u("shapes"),s[5].setEnabled(!0),c(8),f(8)},children:e.jsx(fe,{})}),e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="shapes"&&T===9}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();o.current.toolController.setToolEnabled(s[5]),u("shapes"),s[5].setEnabled(!0),c(9),f(9)},children:e.jsx(Te,{})}),e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="shapes"&&T===10}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();o.current.toolController.setToolEnabled(s[5]),u("shapes"),s[5].setEnabled(!0),c(10),f(10)},children:e.jsx(je,{})}),e.jsx("button",{className:i.cn(l.tool,{[l.active]:h==="shapes"&&T===11}),onClick:()=>{const s=o.current.toolController.getPrimaryTools();o.current.toolController.setToolEnabled(s[5]),u("shapes"),s[5].setEnabled(!0),c(11),f(11)},children:e.jsx(be,{})}),e.jsx("div",{className:l.line}),e.jsx("button",{className:i.cn(l.tool),onClick:S,children:e.jsx(xe,{})}),e.jsx("button",{className:i.cn(l.tool),onClick:b,children:e.jsx(we,{})}),e.jsx("button",{className:i.cn(l.tool),onClick:_,children:e.jsx(ve,{})})]}),e.jsxs("div",{className:l.optionsWrap,children:[h==="pencil"&&e.jsx(Be,{setColorPen:r,setThicknessPen:n}),h==="highlighter"&&e.jsx(qe,{setColorHighlight:v}),h==="shapes"&&e.jsx(Pe,{changeBorderColorShape:j,changeColorShape:d,changeShape:c,onThicknessChange:M})]})]})})}function K(t=8){return Math.random().toString(36).substring(2,t+2)}let P=!1;function Ie(){const t=i.useEditorInstance(),r=i.useButtonProps(Q.name),{isActive:o=void 0,upload:n}=(r==null?void 0:r.componentProps)??{},{editorDisabled:v}=i.useToggleActive(o),[j,S]=m.useState(!1),d=m.useRef(null),c=m.useRef(null),M=()=>{(async()=>{const a=document.querySelector("#easydrawer");a&&(d.current=new p.Editor(a,{wheelEventsEnabled:!1,disableZoom:!0}),c.current=p.makeDropdownToolbar(d.current),c.current.addDefaultToolWidgets())})()};m.useEffect(()=>{j&&setTimeout(()=>{M()},200)},[j]);const b=async()=>{if(d.current){const x=d.current.toSVG(),a=x.outerHTML,w=`drawer-${K()}.svg`;let L=Z(x.outerHTML);if(n){const B=i.dataURLtoFile(L,w);L=await n(B)}t==null||t.chain().focus().setDrawer({type:"drawer",src:L,alt:encodeURIComponent(a),width:426,height:212},!!a).run()}S(!1)},_=x=>{const a=d.current.toolController.getPrimaryTools()[2],w=c.current.getWidgetById("pen-1");a&&w&&(a.setColor(x),w.serializeState())},h=x=>{const a=d.current.toolController.getPrimaryTools()[2],w=c.current.getWidgetById("pen-1");a&&w&&(a.setThickness(x),w.serializeState())},u=x=>{const a=d.current.toolController.getPrimaryTools()[3],w=c.current.getWidgetById("pen-2");a&&w&&(a.setColor(x),w.serializeState())},T=x=>{const a=c.current.getWidgetById("shape");a&&a.setShapeType(x)},f=x=>{const a=d.current.toolController.getPrimaryTools()[5],w=c.current.getWidgetById("shape");a&&w&&(a.setColor(x),w.serializeState())},s=x=>{const a=d.current.toolController.getPrimaryTools()[5],w=c.current.getWidgetById("shape");a&&w&&(a.setThickness(x),w.serializeState())},F=x=>{const a=d.current.toolController.getPrimaryTools()[5],w=c.current.getWidgetById("shape");a&&w&&(a.setBorderColor(x),w.serializeState())},z=()=>{if(P){for(;d.current.history.redoStackSize>0;)d.current.history.redo();P=!1;return}d.current.history.undo()},R=()=>{P||d.current.history.redo()},O=()=>{if(!P){for(;d.current.history.undoStackSize>0;)z();P=!0}};return r?e.jsxs(i.Dialog,{onOpenChange:S,open:j,children:[e.jsx(i.DialogTrigger,{asChild:!0,children:e.jsx(i.ActionButton,{disabled:v,action:()=>{v||S(!0)},icon:"PencilRuler",tooltip:"Drawer"})}),e.jsxs(i.DialogContent,{className:"richtext-z-[99999] !richtext-max-w-[1300px]",children:[e.jsx(i.DialogTitle,{children:"Drawer"}),e.jsxs("div",{style:{height:"600px",width:"100%",borderWidth:1,background:"white",position:"relative"},children:[e.jsx("div",{className:"richtext-size-full",id:"easydrawer"}),e.jsx(X,{changeBorderColorShape:F,changeColorShape:f,changeShape:T,onClear:O,onRedo:R,onThicknessChange:s,onUndo:z,refEditor:d,setColorHighlight:u,setColorPen:_,setThicknessPen:h})]}),e.jsx(i.DialogFooter,{children:e.jsx(i.Button,{onClick:b,type:"button",children:"Save changes"})})]})]}):e.jsx(e.Fragment,{})}const Q=i.index_default.extend({name:"richTextDrawer",addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),inline:!1,content:"",marks:"",group:"block",draggable:!1,selectable:!0,atom:!0,HTMLAttributes:{class:"drawer"},button:({t:r,extension:o})=>{var n;return{componentProps:{action:()=>!0,isActive:()=>!1,disabled:!1,icon:"PencilRuler",tooltip:r("editor.drawer.tooltip"),upload:(n=o==null?void 0:o.options)==null?void 0:n.upload}}}}},addAttributes(){var t;return{...(t=this.parent)==null?void 0:t.call(this),width:{default:null,parseHTML:r=>{const o=r.querySelector("img"),n=o==null?void 0:o.getAttribute("width");return n?Number.parseInt(n,10):320},renderHTML:r=>({width:r.width})},height:{default:null,parseHTML:r=>{const o=r.querySelector("img"),n=o==null?void 0:o.getAttribute("height");return n?Number.parseInt(n,10):212},renderHTML:r=>({height:r.height})},align:{default:"center",parseHTML:r=>r.getAttribute("align"),renderHTML:r=>({align:r.align})}}},addNodeView(){return I.ReactNodeViewRenderer(J)},addCommands(){return{setDrawer:(t,r)=>({commands:o,editor:n})=>r?o.insertContent({type:this.name,attrs:t}):o.insertContentAt(n.state.selection.anchor,{type:this.name,attrs:t}),setAlignImageDrawer:t=>({commands:r})=>r.updateAttributes(this.name,{align:t})}},renderHTML({HTMLAttributes:t}){const{align:r}=t;return["div",{style:r?`text-align: ${r};`:"",class:"imageDrawer"},["img",I.mergeAttributes(this.options.HTMLAttributes,t)]]},parseHTML(){return[{tag:"div[class=imageDrawer]",getAttrs:t=>{const r=t.querySelector("img"),o=r==null?void 0:r.getAttribute("width"),n=r==null?void 0:r.getAttribute("height");return{src:r==null?void 0:r.getAttribute("src"),alt:r==null?void 0:r.getAttribute("alt"),width:o?Number.parseInt(o,10):null,height:n?Number.parseInt(n,10):null,align:(r==null?void 0:r.getAttribute("align"))||t.style.textAlign||null}}}]}});exports.ControlDrawer=X;exports.Drawer=Q;exports.RichTextDrawer=Ie;exports.i=Z;exports.shortId=K;