reactjs-tiptap-editor 0.4.1 → 1.0.0

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 (338) hide show
  1. package/lib/ActionMenuButton-BKOg7hkq.js +38 -0
  2. package/lib/ActionMenuButton-DLQyd_gx.cjs +1 -0
  3. package/lib/Attachment.cjs +2 -2
  4. package/lib/Attachment.d.cts +43 -55
  5. package/lib/Attachment.d.ts +43 -55
  6. package/lib/Attachment.js +129 -99
  7. package/lib/Blockquote.cjs +3 -3
  8. package/lib/Blockquote.d.cts +43 -55
  9. package/lib/Blockquote.d.ts +43 -55
  10. package/lib/Blockquote.js +50 -22
  11. package/lib/Bold.cjs +1 -1
  12. package/lib/Bold.d.cts +43 -55
  13. package/lib/Bold.d.ts +43 -55
  14. package/lib/Bold.js +48 -20
  15. package/lib/BulletList.cjs +1 -1
  16. package/lib/BulletList.d.cts +43 -55
  17. package/lib/BulletList.d.ts +43 -55
  18. package/lib/BulletList.js +38 -9
  19. package/lib/Clear.cjs +1 -1
  20. package/lib/Clear.d.cts +43 -55
  21. package/lib/Clear.d.ts +43 -55
  22. package/lib/Clear.js +32 -6
  23. package/lib/Code.cjs +1 -1
  24. package/lib/Code.d.cts +43 -55
  25. package/lib/Code.d.ts +43 -55
  26. package/lib/Code.js +53 -25
  27. package/lib/CodeBlock.cjs +35 -35
  28. package/lib/CodeBlock.d.cts +43 -55
  29. package/lib/CodeBlock.d.ts +43 -55
  30. package/lib/CodeBlock.js +605 -590
  31. package/lib/CodeView.cjs +1 -1
  32. package/lib/CodeView.d.cts +44 -56
  33. package/lib/CodeView.d.ts +44 -56
  34. package/lib/CodeView.js +49 -21
  35. package/lib/Color.cjs +1 -1
  36. package/lib/Color.d.cts +47 -55
  37. package/lib/Color.d.ts +47 -55
  38. package/lib/Color.js +123 -79
  39. package/lib/Column.cjs +1 -0
  40. package/lib/{Document.d.cts → Column.d.cts} +49 -58
  41. package/lib/{Document.d.ts → Column.d.ts} +49 -58
  42. package/lib/Column.js +217 -0
  43. package/lib/{Drawer-CaAfmqNo.js → Drawer-DZ5jvmrX.js} +404 -394
  44. package/lib/Drawer-SRhwOc6T.cjs +1 -0
  45. package/lib/Drawer.cjs +1 -1
  46. package/lib/Drawer.d.cts +43 -55
  47. package/lib/Drawer.d.ts +43 -55
  48. package/lib/Drawer.js +6 -5
  49. package/lib/Emoji.cjs +1 -1
  50. package/lib/Emoji.d.cts +43 -60
  51. package/lib/Emoji.d.ts +43 -60
  52. package/lib/Emoji.js +377 -392
  53. package/lib/Excalidraw-DwBRXEtC.js +345 -0
  54. package/lib/Excalidraw-ZN3DQvDC.cjs +1 -0
  55. package/lib/Excalidraw.cjs +1 -1
  56. package/lib/Excalidraw.d.cts +43 -55
  57. package/lib/Excalidraw.d.ts +43 -55
  58. package/lib/Excalidraw.js +6 -4
  59. package/lib/ExportPdf.cjs +5 -5
  60. package/lib/ExportPdf.d.cts +43 -55
  61. package/lib/ExportPdf.d.ts +43 -55
  62. package/lib/ExportPdf.js +60 -32
  63. package/lib/ExportWord.cjs +1 -1
  64. package/lib/ExportWord.d.cts +44 -56
  65. package/lib/ExportWord.d.ts +44 -56
  66. package/lib/ExportWord.js +84 -21
  67. package/lib/FontFamily.cjs +1 -1
  68. package/lib/FontFamily.d.cts +57 -58
  69. package/lib/FontFamily.d.ts +57 -58
  70. package/lib/FontFamily.js +72 -74
  71. package/lib/FontSize.cjs +1 -1
  72. package/lib/FontSize.d.cts +54 -58
  73. package/lib/FontSize.d.ts +54 -58
  74. package/lib/FontSize.js +72 -64
  75. package/lib/Heading.cjs +1 -1
  76. package/lib/Heading.d.cts +57 -55
  77. package/lib/Heading.d.ts +57 -55
  78. package/lib/Heading.js +91 -73
  79. package/lib/Highlight.cjs +1 -1
  80. package/lib/Highlight.d.cts +47 -55
  81. package/lib/Highlight.d.ts +47 -55
  82. package/lib/Highlight.js +152 -21
  83. package/lib/History.cjs +1 -1
  84. package/lib/History.d.cts +45 -55
  85. package/lib/History.d.ts +45 -55
  86. package/lib/History.js +976 -53
  87. package/lib/HorizontalRule.cjs +1 -1
  88. package/lib/HorizontalRule.d.cts +43 -55
  89. package/lib/HorizontalRule.d.ts +43 -55
  90. package/lib/HorizontalRule.js +97 -17
  91. package/lib/Icon-DUpv2cI6.cjs +1 -0
  92. package/lib/Icon-jKs8Hr6p.js +11 -0
  93. package/lib/Iframe-CmXkEqOd.js +431 -0
  94. package/lib/Iframe-Cvca2G7X.cjs +1 -0
  95. package/lib/Iframe.cjs +1 -1
  96. package/lib/Iframe.d.cts +42 -61
  97. package/lib/Iframe.d.ts +42 -61
  98. package/lib/Iframe.js +6 -4
  99. package/lib/Image.cjs +1 -1
  100. package/lib/Image.d.cts +43 -56
  101. package/lib/Image.d.ts +43 -56
  102. package/lib/Image.js +848 -5
  103. package/lib/ImageGif.cjs +1 -1
  104. package/lib/ImageGif.d.cts +44 -58
  105. package/lib/ImageGif.d.ts +44 -58
  106. package/lib/ImageGif.js +424 -5
  107. package/lib/ImportWord.cjs +48 -48
  108. package/lib/ImportWord.d.cts +44 -56
  109. package/lib/ImportWord.d.ts +44 -56
  110. package/lib/ImportWord.js +2596 -2588
  111. package/lib/Indent.cjs +1 -1
  112. package/lib/Indent.d.cts +43 -55
  113. package/lib/Indent.d.ts +43 -55
  114. package/lib/Indent.js +97 -27
  115. package/lib/Italic.cjs +1 -1
  116. package/lib/Italic.d.cts +43 -55
  117. package/lib/Italic.d.ts +43 -55
  118. package/lib/Italic.js +47 -19
  119. package/lib/Katex-DsYXsjSS.js +2740 -0
  120. package/lib/Katex-XfrNne6U.cjs +4 -0
  121. package/lib/Katex.cjs +1 -1
  122. package/lib/Katex.d.cts +43 -55
  123. package/lib/Katex.d.ts +43 -55
  124. package/lib/Katex.js +5 -196
  125. package/lib/LineHeight.cjs +1 -1
  126. package/lib/LineHeight.d.cts +45 -61
  127. package/lib/LineHeight.d.ts +45 -61
  128. package/lib/LineHeight.js +71 -112
  129. package/lib/Link.cjs +1 -1
  130. package/lib/Link.d.cts +44 -58
  131. package/lib/Link.d.ts +44 -58
  132. package/lib/Link.js +3 -3
  133. package/lib/LinkEditBlock-BZenZq-Z.cjs +5 -0
  134. package/lib/LinkEditBlock-CB8yIffE.js +1241 -0
  135. package/lib/Mention.cjs +1 -1
  136. package/lib/Mention.d.cts +40 -55
  137. package/lib/Mention.d.ts +40 -55
  138. package/lib/Mention.js +114 -130
  139. package/lib/Mermaid.cjs +2 -2
  140. package/lib/Mermaid.d.cts +43 -55
  141. package/lib/Mermaid.d.ts +43 -55
  142. package/lib/Mermaid.js +177 -165
  143. package/lib/MoreMark.cjs +1 -1
  144. package/lib/MoreMark.d.cts +58 -57
  145. package/lib/MoreMark.d.ts +58 -57
  146. package/lib/MoreMark.js +125 -55
  147. package/lib/OrderedList.cjs +1 -1
  148. package/lib/OrderedList.d.cts +43 -55
  149. package/lib/OrderedList.d.ts +43 -55
  150. package/lib/OrderedList.js +37 -9
  151. package/lib/SearchAndReplace.cjs +1 -1
  152. package/lib/SearchAndReplace.d.cts +43 -58
  153. package/lib/SearchAndReplace.d.ts +43 -58
  154. package/lib/SearchAndReplace.js +221 -197
  155. package/lib/SlashCommand.cjs +1 -1
  156. package/lib/SlashCommand.d.cts +55 -62
  157. package/lib/SlashCommand.d.ts +55 -62
  158. package/lib/SlashCommand.js +235 -249
  159. package/lib/Strike.cjs +1 -1
  160. package/lib/Strike.d.cts +43 -55
  161. package/lib/Strike.d.ts +43 -55
  162. package/lib/Strike.js +39 -11
  163. package/lib/Table-B1j1Ebmh.cjs +9 -0
  164. package/lib/Table-Db8TcQX8.js +1984 -0
  165. package/lib/Table.cjs +1 -9
  166. package/lib/Table.d.cts +44 -58
  167. package/lib/Table.d.ts +44 -58
  168. package/lib/Table.js +3 -558
  169. package/lib/TaskList.cjs +1 -1
  170. package/lib/TaskList.d.cts +43 -55
  171. package/lib/TaskList.d.ts +43 -55
  172. package/lib/TaskList.js +38 -10
  173. package/lib/TextAlign.cjs +1 -1
  174. package/lib/TextAlign.d.cts +56 -55
  175. package/lib/TextAlign.d.ts +56 -55
  176. package/lib/TextAlign.js +108 -101
  177. package/lib/TextDirection.cjs +1 -1
  178. package/lib/TextDirection.d.cts +72 -55
  179. package/lib/TextDirection.d.ts +72 -55
  180. package/lib/TextDirection.js +105 -112
  181. package/lib/TextUnderline.cjs +1 -1
  182. package/lib/TextUnderline.d.cts +43 -55
  183. package/lib/TextUnderline.d.ts +43 -55
  184. package/lib/TextUnderline.js +46 -18
  185. package/lib/{Twitter-BFULyqdR.js → Twitter-CXmmjz9R.js} +536 -498
  186. package/lib/Twitter-CtVTIWJW.cjs +1 -0
  187. package/lib/Twitter.cjs +1 -1
  188. package/lib/Twitter.d.cts +43 -55
  189. package/lib/Twitter.d.ts +43 -55
  190. package/lib/Twitter.js +5 -4
  191. package/lib/Video.cjs +1 -1
  192. package/lib/Video.d.cts +43 -55
  193. package/lib/Video.d.ts +43 -55
  194. package/lib/Video.js +261 -4
  195. package/lib/_commonjsHelpers-BItOPCY9.js +28 -0
  196. package/lib/_commonjsHelpers-BTDuMlIz.cjs +1 -0
  197. package/lib/bubble.cjs +2 -0
  198. package/lib/{bubble-extra.d.cts → bubble.d.cts} +69 -70
  199. package/lib/{bubble-extra.d.ts → bubble.d.ts} +69 -70
  200. package/lib/bubble.js +1925 -0
  201. package/lib/button-B12K7BJ4.cjs +1 -0
  202. package/lib/button-DXMsXUEn.js +43 -0
  203. package/lib/clsx-C11secjj.cjs +1 -0
  204. package/lib/clsx-OuTLNxxd.js +16 -0
  205. package/lib/delete-node-CosiBes5.cjs +1 -0
  206. package/lib/delete-node-IyVmiRbI.js +22 -0
  207. package/lib/dialog-CaCS-W5S.cjs +1 -0
  208. package/lib/dialog-PtQivpHS.js +100 -0
  209. package/lib/dom-dataset-BqoJhJXt.cjs +1 -0
  210. package/lib/dom-dataset-CIEeltF6.js +47 -0
  211. package/lib/dropdown-menu-BPp2Z_U-.js +136 -0
  212. package/lib/dropdown-menu-CdSm4emp.cjs +1 -0
  213. package/lib/file-BLas99n7.js +43 -0
  214. package/lib/file-i7e4nQY2.cjs +1 -0
  215. package/lib/floating-ui.dom-U1vPFQ5f.js +1151 -0
  216. package/lib/floating-ui.dom-VCrc58uF.cjs +1 -0
  217. package/lib/icons-Cllpys39.js +362 -0
  218. package/lib/icons-CqHjeW5T.cjs +1 -0
  219. package/lib/index-BH4bc3jN.cjs +33 -0
  220. package/lib/index-BPfVXs5_.js +2380 -0
  221. package/lib/index-Bnmd0WvY.js +1631 -0
  222. package/lib/{index-Ch6dBBad.js → index-CBce_TWY.js} +40 -42
  223. package/lib/{index-5iBZLua9.cjs → index-D-5U8dY8.cjs} +8 -8
  224. package/lib/{index-ByurDDMv.js → index-D2TUfKkC.js} +2 -2
  225. package/lib/index-DV5kbgRU.cjs +1 -0
  226. package/lib/{index-LmrOdnen.js → index-DYkucCoF.js} +396 -495
  227. package/lib/index-Dfmm6FTT.cjs +1 -0
  228. package/lib/index-DnWWK9F_.js +6374 -0
  229. package/lib/index-DzcKxutn.js +632 -0
  230. package/lib/index-DzvuNTxo.cjs +4 -0
  231. package/lib/{index-BeCTd5v2.cjs → index-N--9MohJ.cjs} +1 -1
  232. package/lib/index-RfTlOzIr.cjs +22 -0
  233. package/lib/index.cjs +132 -1
  234. package/lib/index.d.cts +45 -296
  235. package/lib/index.d.ts +45 -296
  236. package/lib/index.js +243 -2
  237. package/lib/input-_ECRfn3Y.cjs +1 -0
  238. package/lib/input-wJ9PDEzZ.js +21 -0
  239. package/lib/isNumber-ClPupm7P.cjs +1 -0
  240. package/lib/isNumber-fpLGS0AZ.js +15 -0
  241. package/lib/label-BkgAe7IY.cjs +1 -0
  242. package/lib/label-CGdLYWv7.js +19 -0
  243. package/lib/locale-bundle.cjs +1 -1
  244. package/lib/locale-bundle.d.cts +5421 -73
  245. package/lib/locale-bundle.d.ts +5421 -73
  246. package/lib/locale-bundle.js +9 -7
  247. package/lib/popover-BgmUNMHj.cjs +1 -0
  248. package/lib/popover-CAuEW0Mr.js +23 -0
  249. package/lib/separator-CuBW_w98.js +328 -0
  250. package/lib/separator-DRIrVZ2N.cjs +1 -0
  251. package/lib/store-DX599H5W.js +10 -0
  252. package/lib/store-WStcMOiW.cjs +1 -0
  253. package/lib/style.css +1 -1
  254. package/lib/switch-CnLJ7Y-b.cjs +1 -0
  255. package/lib/switch-Coix_FA1.js +27 -0
  256. package/lib/tabs-B5mVSN1I.js +46 -0
  257. package/lib/tabs-BoLCMcCI.cjs +1 -0
  258. package/lib/textarea-B-6zTKQz.cjs +1 -0
  259. package/lib/{textarea-aPtytkDx.js → textarea-DUUM1jZd.js} +1 -1
  260. package/lib/theme-B7aAsK_T.js +15 -0
  261. package/lib/theme-D8_cxGqB.cjs +1 -0
  262. package/lib/throttle-CdwDrFpn.js +249 -0
  263. package/lib/throttle-qX7Yjtsg.cjs +1 -0
  264. package/lib/toggle-Cdp4IT2U.js +85 -0
  265. package/lib/toggle-D41PzQLJ.cjs +1 -0
  266. package/lib/tooltip-BuEiE96N.cjs +1 -0
  267. package/lib/tooltip-CopwsU8q.js +23 -0
  268. package/lib/updatePosition-8Sdem5jb.cjs +1 -0
  269. package/lib/updatePosition-BPmcE0YD.js +215 -0
  270. package/lib/use-toast-Bz3QCOtE.cjs +1 -0
  271. package/lib/use-toast-Crf7-q5H.js +98 -0
  272. package/lib/useButtonProps-BsEd4zYM.js +141 -0
  273. package/lib/useButtonProps-C6Vpn190.cjs +1 -0
  274. package/package.json +22 -105
  275. package/lib/ActionMenuButton-CYdM1xx5.cjs +0 -1
  276. package/lib/ActionMenuButton-DKRF6oa0.js +0 -33
  277. package/lib/BaseKit.cjs +0 -3
  278. package/lib/BaseKit.d.cts +0 -481
  279. package/lib/BaseKit.d.ts +0 -481
  280. package/lib/BaseKit.js +0 -132
  281. package/lib/Document.cjs +0 -1
  282. package/lib/Document.js +0 -9
  283. package/lib/Drawer-CdvCMSzN.cjs +0 -1
  284. package/lib/Excalidraw-BbMQhNvs.cjs +0 -1
  285. package/lib/Excalidraw-CVWz2Vyn.js +0 -290
  286. package/lib/FormatPainter.cjs +0 -1
  287. package/lib/FormatPainter.d.cts +0 -372
  288. package/lib/FormatPainter.d.ts +0 -372
  289. package/lib/FormatPainter.js +0 -76
  290. package/lib/ListItem.cjs +0 -1
  291. package/lib/ListItem.d.cts +0 -290
  292. package/lib/ListItem.d.ts +0 -290
  293. package/lib/ListItem.js +0 -7
  294. package/lib/MultiColumn.cjs +0 -1
  295. package/lib/MultiColumn.d.cts +0 -294
  296. package/lib/MultiColumn.d.ts +0 -294
  297. package/lib/MultiColumn.js +0 -8
  298. package/lib/RichTextEditor-CxvwGvQG.cjs +0 -142
  299. package/lib/RichTextEditor-DGcKEUGr.js +0 -22166
  300. package/lib/Selection.cjs +0 -1
  301. package/lib/Selection.d.cts +0 -289
  302. package/lib/Selection.d.ts +0 -289
  303. package/lib/Selection.js +0 -25
  304. package/lib/SubAndSuperScript.cjs +0 -1
  305. package/lib/SubAndSuperScript.d.cts +0 -377
  306. package/lib/SubAndSuperScript.d.ts +0 -377
  307. package/lib/SubAndSuperScript.js +0 -43
  308. package/lib/TableOfContent.cjs +0 -1
  309. package/lib/TableOfContent.d.cts +0 -291
  310. package/lib/TableOfContent.d.ts +0 -291
  311. package/lib/TableOfContent.js +0 -185
  312. package/lib/TextBubble.cjs +0 -1
  313. package/lib/TextBubble.d.cts +0 -362
  314. package/lib/TextBubble.d.ts +0 -362
  315. package/lib/TextBubble.js +0 -133
  316. package/lib/TrailingNode.cjs +0 -1
  317. package/lib/TrailingNode.d.cts +0 -297
  318. package/lib/TrailingNode.d.ts +0 -297
  319. package/lib/TrailingNode.js +0 -41
  320. package/lib/Twitter-Cutpkh3h.cjs +0 -1
  321. package/lib/bubble-extra.cjs +0 -2
  322. package/lib/bubble-extra.js +0 -631
  323. package/lib/dom-dataset-_6-diIRQ.cjs +0 -33
  324. package/lib/dom-dataset-lYeH6gfI.js +0 -2361
  325. package/lib/index-6D1J-A-o.cjs +0 -1
  326. package/lib/index-B96Cclrj.cjs +0 -3
  327. package/lib/index-BBz7Nmv9.js +0 -55
  328. package/lib/index-CUogRI7j.cjs +0 -1
  329. package/lib/index-DF2Lp4HZ.cjs +0 -100
  330. package/lib/index-D_L6n8O8.js +0 -76
  331. package/lib/index-Dbvi-Bvh.cjs +0 -1
  332. package/lib/index-DpCrt7xs.cjs +0 -1
  333. package/lib/index-DsAX1Vq8.cjs +0 -1
  334. package/lib/index-Dy4DlW9o.js +0 -12
  335. package/lib/index-J3jHHZ4d.js +0 -200
  336. package/lib/index-VvXaaKe3.js +0 -898
  337. package/lib/index-kbO3iWqL.js +0 -13432
  338. package/lib/textarea-DFo_aXnj.cjs +0 -1
package/lib/ImageGif.js CHANGED
@@ -1,7 +1,426 @@
1
- import "./index-kbO3iWqL.js";
2
- import { av as t, av as e } from "./RichTextEditor-DGcKEUGr.js";
3
- import "./dom-dataset-lYeH6gfI.js";
1
+ import { m as F } from "./index-DnWWK9F_.js";
2
+ import { a as k, d as B, c as q } from "./throttle-CdwDrFpn.js";
3
+ import { N as V, R as X } from "./index-DzcKxutn.js";
4
+ import { jsx as u, jsxs as P, Fragment as Y } from "react/jsx-runtime";
5
+ import { useState as A, useMemo as L, useCallback as G, useEffect as z, useRef as Z } from "react";
6
+ import { I as C, m as W, n as U } from "./index-DYkucCoF.js";
7
+ import { i as j, c as J } from "./isNumber-fpLGS0AZ.js";
8
+ import { A as Q } from "./toggle-Cdp4IT2U.js";
9
+ import "./index-BPfVXs5_.js";
10
+ import { u as K, a as ee } from "./useButtonProps-BsEd4zYM.js";
11
+ import { P as te, a as re, b as ne } from "./popover-CAuEW0Mr.js";
12
+ import { I as ie } from "./input-wJ9PDEzZ.js";
13
+ const O = {
14
+ TOP_LEFT: "tl",
15
+ TOP_RIGHT: "tr",
16
+ BOTTOM_LEFT: "bl",
17
+ BOTTOM_RIGHT: "br"
18
+ };
19
+ function ae(e) {
20
+ var $, H;
21
+ const [t, n] = A({
22
+ width: C,
23
+ height: C
24
+ }), [c, i] = A({
25
+ width: 0,
26
+ height: 0
27
+ }), [r] = A([
28
+ O.TOP_LEFT,
29
+ O.TOP_RIGHT,
30
+ O.BOTTOM_LEFT,
31
+ O.BOTTOM_RIGHT
32
+ ]), [a, s] = A(!1), [l, g] = A({
33
+ x: 0,
34
+ y: 0,
35
+ w: 0,
36
+ h: 0,
37
+ dir: ""
38
+ }), { align: b } = ($ = e == null ? void 0 : e.node) == null ? void 0 : $.attrs, m = L(() => {
39
+ var v;
40
+ const { src: o, alt: f, width: w, height: T } = (v = e == null ? void 0 : e.node) == null ? void 0 : v.attrs, x = j(w) ? `${w}px` : w, d = j(T) ? `${T}px` : T;
41
+ return {
42
+ src: o || void 0,
43
+ alt: f || void 0,
44
+ style: {
45
+ width: x || void 0,
46
+ height: d || void 0
47
+ }
48
+ };
49
+ }, [(H = e == null ? void 0 : e.node) == null ? void 0 : H.attrs]), h = L(() => {
50
+ const {
51
+ style: { width: o }
52
+ } = m;
53
+ return { width: o === "100%" ? o : void 0 };
54
+ }, [m]);
55
+ function _(o) {
56
+ i({
57
+ width: o.target.width,
58
+ height: o.target.height
59
+ });
60
+ }
61
+ function y() {
62
+ const { editor: o, getPos: f } = e;
63
+ o.commands.setNodeSelection(f());
64
+ }
65
+ const M = G(
66
+ k(() => {
67
+ const { editor: o } = e, { width: f } = getComputedStyle(o.view.dom);
68
+ n((w) => ({
69
+ ...w,
70
+ width: Number.parseInt(f, 10)
71
+ }));
72
+ }, W),
73
+ [e == null ? void 0 : e.editor]
74
+ );
75
+ function D(o, f) {
76
+ o.preventDefault(), o.stopPropagation();
77
+ const w = c.width, T = c.height, x = w / T;
78
+ let d = Number(e.node.attrs.width), v = Number(e.node.attrs.height);
79
+ const I = t.width;
80
+ d && !v ? (d = d > I ? I : d, v = Math.round(d / x)) : v && !d ? (d = Math.round(v * x), d = d > I ? I : d) : !d && !v ? (d = w > I ? I : w, v = Math.round(d / x)) : d = d > I ? I : d, s(!0), g({
81
+ x: o.clientX,
82
+ y: o.clientY,
83
+ w: d,
84
+ h: v,
85
+ dir: f
86
+ });
87
+ }
88
+ const N = G(
89
+ k((o) => {
90
+ if (o.preventDefault(), o.stopPropagation(), !a)
91
+ return;
92
+ const { x: f, w, dir: T } = l, x = (o.clientX - f) * (/l/.test(T) ? -1 : 1), d = J(w + x, U, t.width);
93
+ e.updateAttributes({
94
+ width: d,
95
+ height: null
96
+ });
97
+ }, W),
98
+ [a, l, t, e.updateAttributes]
99
+ ), E = G(
100
+ (o) => {
101
+ o.preventDefault(), o.stopPropagation(), a && (g({
102
+ x: 0,
103
+ y: 0,
104
+ w: 0,
105
+ h: 0,
106
+ dir: ""
107
+ }), s(!1), y());
108
+ },
109
+ [a, y]
110
+ ), R = G(() => {
111
+ document == null || document.addEventListener("mousemove", N, !0), document == null || document.addEventListener("mouseup", E, !0);
112
+ }, [N, E]), p = G(() => {
113
+ document == null || document.removeEventListener("mousemove", N, !0), document == null || document.removeEventListener("mouseup", E, !0);
114
+ }, [N, E]);
115
+ z(() => (a ? R() : p(), () => {
116
+ p();
117
+ }), [a, R, p]);
118
+ const S = L(() => new ResizeObserver(() => M()), [M]);
119
+ return z(() => (S.observe(e.editor.view.dom), () => {
120
+ S.disconnect();
121
+ }), [e.editor.view.dom, S]), /* @__PURE__ */ u(
122
+ V,
123
+ {
124
+ className: "image-view",
125
+ style: { ...h, width: "100%", textAlign: b },
126
+ children: /* @__PURE__ */ P(
127
+ "div",
128
+ {
129
+ "data-drag-handle": !0,
130
+ draggable: "true",
131
+ style: h,
132
+ className: `image-view__body ${e != null && e.selected ? "image-view__body--focused" : ""} ${a ? "image-view__body--resizing" : ""}`,
133
+ children: [
134
+ /* @__PURE__ */ u(
135
+ "img",
136
+ {
137
+ alt: m.alt,
138
+ className: "image-view__body__image block",
139
+ height: "auto",
140
+ onClick: y,
141
+ onLoad: _,
142
+ src: m.src,
143
+ style: m.style
144
+ }
145
+ ),
146
+ (e == null ? void 0 : e.editor.view.editable) && ((e == null ? void 0 : e.selected) || a) && /* @__PURE__ */ u("div", { className: "image-resizer", children: r == null ? void 0 : r.map((o) => /* @__PURE__ */ u(
147
+ "span",
148
+ {
149
+ className: `image-resizer__handler image-resizer__handler--${o}`,
150
+ onMouseDown: (f) => D(f, o)
151
+ },
152
+ `image-dir-${o}`
153
+ )) })
154
+ ]
155
+ }
156
+ )
157
+ }
158
+ );
159
+ }
160
+ async function se(e) {
161
+ var c;
162
+ const n = await (await fetch(`https://api.giphy.com/v1/gifs/trending?q=&limit=15&api_key=${e}`)).json();
163
+ return (c = n == null ? void 0 : n.data) == null ? void 0 : c.map((i) => {
164
+ var r, a, s;
165
+ return {
166
+ id: i == null ? void 0 : i.id,
167
+ src: (r = i == null ? void 0 : i.images.original) == null ? void 0 : r.url,
168
+ width: +((a = i == null ? void 0 : i.images.original) == null ? void 0 : a.width),
169
+ height: +((s = i == null ? void 0 : i.images.original) == null ? void 0 : s.width)
170
+ };
171
+ });
172
+ }
173
+ async function oe(e, t) {
174
+ var i;
175
+ const c = await (await fetch(`https://api.giphy.com/v1/gifs/search?q=${e}&limit=15&api_key=${t}`)).json();
176
+ return (i = c == null ? void 0 : c.data) == null ? void 0 : i.map((r) => {
177
+ var a, s, l;
178
+ return {
179
+ id: r == null ? void 0 : r.id,
180
+ src: (a = r == null ? void 0 : r.images.original) == null ? void 0 : a.url,
181
+ width: +((s = r == null ? void 0 : r.images.original) == null ? void 0 : s.width),
182
+ height: +((l = r == null ? void 0 : r.images.original) == null ? void 0 : l.width)
183
+ };
184
+ });
185
+ }
186
+ async function ce(e) {
187
+ var r, a;
188
+ const t = await fetch(`https://tenor.googleapis.com/v2/trending_terms?key=${e}&limit=10`), n = await (t == null ? void 0 : t.json()), i = await (await fetch(`https://tenor.googleapis.com/v2/search?key=${e}&q=${(r = n == null ? void 0 : n.results) == null ? void 0 : r[0]}&limit=15`)).json();
189
+ return (a = i == null ? void 0 : i.results) == null ? void 0 : a.map((s) => {
190
+ var l, g, b, m, h, _, y, M;
191
+ return {
192
+ id: s == null ? void 0 : s.id,
193
+ src: (g = (l = s == null ? void 0 : s.media_formats) == null ? void 0 : l.gif) == null ? void 0 : g.url,
194
+ width: (h = (m = (b = s == null ? void 0 : s.media_formats) == null ? void 0 : b.gif) == null ? void 0 : m.dims) == null ? void 0 : h[0],
195
+ height: (M = (y = (_ = s == null ? void 0 : s.media_formats) == null ? void 0 : _.gif) == null ? void 0 : y.dims) == null ? void 0 : M[1]
196
+ };
197
+ });
198
+ }
199
+ async function de(e, t) {
200
+ var i;
201
+ const c = await (await fetch(`https://tenor.googleapis.com/v2/search?key=${t}&q=${e}&limit=15`)).json();
202
+ return (i = c == null ? void 0 : c.results) == null ? void 0 : i.map((r) => {
203
+ var a, s, l, g, b, m, h, _;
204
+ return {
205
+ id: r == null ? void 0 : r.id,
206
+ src: (s = (a = r == null ? void 0 : r.media_formats) == null ? void 0 : a.gif) == null ? void 0 : s.url,
207
+ width: (b = (g = (l = r == null ? void 0 : r.media_formats) == null ? void 0 : l.gif) == null ? void 0 : g.dims) == null ? void 0 : b[0],
208
+ height: (_ = (h = (m = r == null ? void 0 : r.media_formats) == null ? void 0 : m.gif) == null ? void 0 : h.dims) == null ? void 0 : _[1]
209
+ };
210
+ });
211
+ }
212
+ function le(e, t) {
213
+ return {
214
+ searchTrending: async () => t ? e === "giphy" ? se(t) : e === "tenor" ? ce(t) : [] : [],
215
+ searchWord: async (i) => t ? e === "giphy" ? oe(i, t) : e === "tenor" ? de(i, t) : [] : []
216
+ };
217
+ }
218
+ function he({ selectImage: e, apiKey: t, provider: n, children: c }) {
219
+ const [i, r] = A(!1), [a, s] = A([]), l = Z(null), { searchTrending: g, searchWord: b } = le(n, t);
220
+ z(() => {
221
+ (async () => {
222
+ const h = await g();
223
+ s(h);
224
+ })();
225
+ }, []);
226
+ const m = G(
227
+ B(async (h) => {
228
+ if (!h.target.value) {
229
+ const y = await g();
230
+ s(y);
231
+ return;
232
+ }
233
+ const _ = await b(h.target.value);
234
+ s(_);
235
+ }, 350),
236
+ // Adjust the debounce delay as needed
237
+ []
238
+ );
239
+ return /* @__PURE__ */ P(
240
+ te,
241
+ {
242
+ modal: !0,
243
+ onOpenChange: r,
244
+ open: i,
245
+ children: [
246
+ /* @__PURE__ */ u(re, { asChild: !0, children: c }),
247
+ /* @__PURE__ */ u(
248
+ ne,
249
+ {
250
+ align: "start",
251
+ className: "richtext-size-full richtext-p-2",
252
+ hideWhenDetached: !0,
253
+ side: "bottom",
254
+ children: t ? /* @__PURE__ */ P(Y, { children: [
255
+ /* @__PURE__ */ u("div", { className: "richtext-mb-[10px] richtext-w-full", children: /* @__PURE__ */ u(
256
+ ie,
257
+ {
258
+ onChange: m,
259
+ placeholder: "Search GIF",
260
+ ref: l,
261
+ type: "text"
262
+ }
263
+ ) }),
264
+ /* @__PURE__ */ u("div", { className: "richtext-max-h-[280px] !richtext-max-w-[400px] richtext-overflow-y-auto", children: /* @__PURE__ */ u("div", { className: "richtext-grid richtext-grid-cols-2 richtext-gap-1 ", children: a != null && a.length ? a == null ? void 0 : a.map((h) => /* @__PURE__ */ u(
265
+ "img",
266
+ {
267
+ alt: "",
268
+ className: "richtext-cursor-pointer richtext-object-contain richtext-text-center",
269
+ src: h.src,
270
+ onClick: () => {
271
+ e(h.src), r(!1);
272
+ }
273
+ },
274
+ h.id
275
+ )) : /* @__PURE__ */ u("p", { children: "No GIFs found" }) }) })
276
+ ] }) : /* @__PURE__ */ u("div", { children: /* @__PURE__ */ u("p", { children: "Missing Giphy API Key" }) })
277
+ }
278
+ )
279
+ ]
280
+ }
281
+ );
282
+ }
283
+ function Ge() {
284
+ const e = K(ue.name), {
285
+ action: t,
286
+ icon: n,
287
+ tooltip: c,
288
+ apiKey: i,
289
+ provider: r
290
+ } = (e == null ? void 0 : e.componentProps) ?? {}, { editorDisabled: a } = ee();
291
+ return /* @__PURE__ */ u(
292
+ he,
293
+ {
294
+ apiKey: i,
295
+ provider: r,
296
+ selectImage: (l) => {
297
+ a || t && t(l);
298
+ },
299
+ children: /* @__PURE__ */ u(
300
+ Q,
301
+ {
302
+ icon: n,
303
+ tooltip: c
304
+ }
305
+ )
306
+ }
307
+ );
308
+ }
309
+ const ue = /* @__PURE__ */ q.extend({
310
+ name: "imageGif",
311
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
312
+ //@ts-expect-error
313
+ addOptions() {
314
+ var e;
315
+ return {
316
+ ...(e = this.parent) == null ? void 0 : e.call(this),
317
+ inline: !1,
318
+ content: "",
319
+ marks: "",
320
+ group: "block",
321
+ API_KEY: "",
322
+ provider: "giphy",
323
+ draggable: !1,
324
+ selectable: !0,
325
+ atom: !0,
326
+ button: ({ editor: t, extension: n, t: c }) => {
327
+ var a, s;
328
+ const i = ((a = n == null ? void 0 : n.options) == null ? void 0 : a.provider) || "", r = ((s = n == null ? void 0 : n.options) == null ? void 0 : s.API_KEY) || "";
329
+ return {
330
+ componentProps: {
331
+ action: (l) => {
332
+ t.chain().focus().setImageGif({ src: l }).run();
333
+ },
334
+ isActive: () => !1,
335
+ disabled: !1,
336
+ icon: "GifIcon",
337
+ tooltip: c("editor.imageGif.tooltip"),
338
+ apiKey: r,
339
+ provider: i
340
+ }
341
+ };
342
+ }
343
+ };
344
+ },
345
+ addAttributes() {
346
+ var e;
347
+ return {
348
+ ...(e = this.parent) == null ? void 0 : e.call(this),
349
+ width: {
350
+ default: null,
351
+ parseHTML: (t) => {
352
+ const n = t.style.width || t.getAttribute("width") || "10";
353
+ return n === void 0 ? null : Number.parseInt(`${n}`, 10);
354
+ },
355
+ renderHTML: (t) => ({
356
+ width: t.width
357
+ })
358
+ },
359
+ align: {
360
+ default: "center",
361
+ parseHTML: (t) => t.getAttribute("align"),
362
+ renderHTML: (t) => ({
363
+ align: t.align
364
+ })
365
+ }
366
+ };
367
+ },
368
+ addNodeView() {
369
+ return X(ae);
370
+ },
371
+ addCommands() {
372
+ var e;
373
+ return {
374
+ ...(e = this.parent) == null ? void 0 : e.call(this),
375
+ setImageGif: (t) => ({ commands: n }) => n.insertContent({
376
+ type: this.name,
377
+ attrs: t
378
+ }),
379
+ updateImageGif: (t) => ({ commands: n }) => n.updateAttributes(this.name, t),
380
+ setAlignImageGif: (t) => ({ commands: n }) => n.updateAttributes(this.name, { align: t })
381
+ };
382
+ },
383
+ renderHTML({ HTMLAttributes: e }) {
384
+ const { align: t } = e;
385
+ return [
386
+ "div",
387
+ // Parent element
388
+ {
389
+ style: t ? `text-align: ${t};` : "",
390
+ class: "imageGIf"
391
+ },
392
+ [
393
+ "img",
394
+ F(
395
+ // Always render the `height="auto"`
396
+ {
397
+ height: "auto"
398
+ },
399
+ this.options.HTMLAttributes,
400
+ e
401
+ )
402
+ ]
403
+ ];
404
+ },
405
+ parseHTML() {
406
+ return [
407
+ {
408
+ tag: "div[class=imageGIf]",
409
+ getAttrs: (e) => {
410
+ const t = e.querySelector("img"), n = t == null ? void 0 : t.getAttribute("width");
411
+ return {
412
+ src: t == null ? void 0 : t.getAttribute("src"),
413
+ alt: t == null ? void 0 : t.getAttribute("alt"),
414
+ title: t == null ? void 0 : t.getAttribute("title"),
415
+ width: n ? Number.parseInt(n, 10) : null,
416
+ align: (t == null ? void 0 : t.getAttribute("align")) || e.style.textAlign || null
417
+ };
418
+ }
419
+ }
420
+ ];
421
+ }
422
+ });
4
423
  export {
5
- t as ImageGif,
6
- e as default
424
+ ue as ImageGif,
425
+ Ge as RichTextImageGif
7
426
  };