@quoreadmin/ui 1.4.2 → 1.4.4

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 (345) hide show
  1. package/dist/index.js +110 -85433
  2. package/dist/index10.js +55 -0
  3. package/dist/index101.js +213 -0
  4. package/dist/index103.js +78 -0
  5. package/dist/index105.js +136 -0
  6. package/dist/index107.js +216 -0
  7. package/dist/index109.js +134 -0
  8. package/dist/index11.js +183 -0
  9. package/dist/index111.js +154 -0
  10. package/dist/index113.js +44 -0
  11. package/dist/index115.js +78 -0
  12. package/dist/index117.js +25 -0
  13. package/dist/index119.js +84 -0
  14. package/dist/index12.js +74 -0
  15. package/dist/index121.js +16 -0
  16. package/dist/index123.js +82 -0
  17. package/dist/index125.js +134 -0
  18. package/dist/index127.js +56 -0
  19. package/dist/index129.js +37 -0
  20. package/dist/index13.js +32 -0
  21. package/dist/index131.js +65 -0
  22. package/dist/index133.js +815 -0
  23. package/dist/index135.js +277 -0
  24. package/dist/index137.js +350 -0
  25. package/dist/index139.js +31 -0
  26. package/dist/index14.js +190 -0
  27. package/dist/index141.js +89 -0
  28. package/dist/index143.js +93 -0
  29. package/dist/index145.js +116 -0
  30. package/dist/index147.js +389 -0
  31. package/dist/index149.js +44 -0
  32. package/dist/index15.js +138 -0
  33. package/dist/index151.js +210 -0
  34. package/dist/index154.js +116 -0
  35. package/dist/index155.js +497 -0
  36. package/dist/index156.js +5524 -0
  37. package/dist/index157.js +93 -0
  38. package/dist/index158.js +863 -0
  39. package/dist/index159.js +40 -0
  40. package/dist/index16.js +318 -0
  41. package/dist/index160.js +282 -0
  42. package/dist/index161.js +152 -0
  43. package/dist/index162.js +1201 -0
  44. package/dist/index163.js +774 -0
  45. package/dist/index164.js +1310 -0
  46. package/dist/index165.js +278 -0
  47. package/dist/index166.js +108 -0
  48. package/dist/index167.js +4 -0
  49. package/dist/index168.js +1378 -0
  50. package/dist/index17.js +25 -0
  51. package/dist/index170.js +20 -0
  52. package/dist/index171.js +20 -0
  53. package/dist/index172.js +20 -0
  54. package/dist/index173.js +20 -0
  55. package/dist/index174.js +27 -0
  56. package/dist/index175.js +761 -0
  57. package/dist/index176.js +831 -0
  58. package/dist/index177.js +1236 -0
  59. package/dist/index178.js +11279 -0
  60. package/dist/index179.js +38 -0
  61. package/dist/index18.js +48 -0
  62. package/dist/index180.js +117 -0
  63. package/dist/index181.js +46 -0
  64. package/dist/index182.js +1192 -0
  65. package/dist/index184.js +5940 -0
  66. package/dist/index185.js +209 -0
  67. package/dist/index186.js +37 -0
  68. package/dist/index187.js +20 -0
  69. package/dist/index188.js +80 -0
  70. package/dist/index189.js +255 -0
  71. package/dist/index19.js +53 -0
  72. package/dist/index190.js +13686 -0
  73. package/dist/index191.js +29 -0
  74. package/dist/index192.js +65 -0
  75. package/dist/index193.js +240 -0
  76. package/dist/index194.js +310 -0
  77. package/dist/index195.js +290 -0
  78. package/dist/index196.js +35 -0
  79. package/dist/index197.js +118 -0
  80. package/dist/index198.js +38 -0
  81. package/dist/index199.js +28 -0
  82. package/dist/index2.js +86 -0
  83. package/dist/index20.js +35 -0
  84. package/dist/index200.js +38 -0
  85. package/dist/index201.js +11 -0
  86. package/dist/index202.js +21 -0
  87. package/dist/index203.js +12 -0
  88. package/dist/index204.js +12 -0
  89. package/dist/index205.js +53 -0
  90. package/dist/index206.js +45 -0
  91. package/dist/index207.js +6 -0
  92. package/dist/index208.js +41 -0
  93. package/dist/index209.js +23 -0
  94. package/dist/index21.js +68 -0
  95. package/dist/index210.js +163 -0
  96. package/dist/index211.js +22 -0
  97. package/dist/index212.js +22 -0
  98. package/dist/index213.js +24 -0
  99. package/dist/index214.js +201 -0
  100. package/dist/index215.js +72 -0
  101. package/dist/index216.js +90 -0
  102. package/dist/index217.js +409 -0
  103. package/dist/index218.js +36 -0
  104. package/dist/index219.js +42 -0
  105. package/dist/index22.js +176 -0
  106. package/dist/index220.js +163 -0
  107. package/dist/index221.js +230 -0
  108. package/dist/index222.js +39 -0
  109. package/dist/index223.js +12 -0
  110. package/dist/index224.js +24 -0
  111. package/dist/index225.js +129 -0
  112. package/dist/index226.js +40 -0
  113. package/dist/index227.js +82 -0
  114. package/dist/index228.js +22 -0
  115. package/dist/index229.js +22 -0
  116. package/dist/index23.js +14 -0
  117. package/dist/index230.js +22 -0
  118. package/dist/index231.js +22 -0
  119. package/dist/index232.js +24 -0
  120. package/dist/index233.js +24 -0
  121. package/dist/index234.js +22 -0
  122. package/dist/index235.js +838 -0
  123. package/dist/index236.js +704 -0
  124. package/dist/index237.js +178 -0
  125. package/dist/index238.js +24 -0
  126. package/dist/index239.js +22 -0
  127. package/dist/index24.js +43 -0
  128. package/dist/index240.js +22 -0
  129. package/dist/index241.js +5 -0
  130. package/dist/index242.js +189 -0
  131. package/dist/index243.js +135 -0
  132. package/dist/index244.js +1225 -0
  133. package/dist/index245.js +22 -0
  134. package/dist/index246.js +24 -0
  135. package/dist/index247.js +24 -0
  136. package/dist/index248.js +31 -0
  137. package/dist/index249.js +22 -0
  138. package/dist/index25.js +123 -0
  139. package/dist/index250.js +22 -0
  140. package/dist/index251.js +4 -0
  141. package/dist/index252.js +4 -0
  142. package/dist/index253.js +3634 -0
  143. package/dist/index254.js +57 -0
  144. package/dist/index255.js +79 -0
  145. package/dist/index256.js +54 -0
  146. package/dist/index257.js +217 -0
  147. package/dist/index258.js +12 -0
  148. package/dist/index259.js +59 -0
  149. package/dist/index26.js +29 -0
  150. package/dist/index260.js +63 -0
  151. package/dist/index261.js +56 -0
  152. package/dist/index262.js +77 -0
  153. package/dist/index263.js +725 -0
  154. package/dist/index264.js +41 -0
  155. package/dist/index265.js +66 -0
  156. package/dist/index266.js +13 -0
  157. package/dist/index267.js +707 -0
  158. package/dist/index268.js +822 -0
  159. package/dist/index269.js +56 -0
  160. package/dist/index27.js +163 -0
  161. package/dist/index270.js +81 -0
  162. package/dist/index271.js +28 -0
  163. package/dist/index272.js +24 -0
  164. package/dist/index273.js +24 -0
  165. package/dist/index274.js +18 -0
  166. package/dist/index275.js +19 -0
  167. package/dist/index276.js +255 -0
  168. package/dist/index277.js +10 -0
  169. package/dist/index278.js +140 -0
  170. package/dist/index279.js +85 -0
  171. package/dist/index28.js +286 -0
  172. package/dist/index280.js +25 -0
  173. package/dist/index281.js +4 -0
  174. package/dist/index282.js +5 -0
  175. package/dist/index283.js +29 -0
  176. package/dist/index284.js +237 -0
  177. package/dist/index285.js +8 -0
  178. package/dist/index286.js +136 -0
  179. package/dist/index287.js +70 -0
  180. package/dist/index288.js +89 -0
  181. package/dist/index289.js +31 -0
  182. package/dist/index29.js +69 -0
  183. package/dist/index290.js +11 -0
  184. package/dist/index291.js +77 -0
  185. package/dist/index292.js +6 -0
  186. package/dist/index293.js +4 -0
  187. package/dist/index294.js +85 -0
  188. package/dist/index295.js +56 -0
  189. package/dist/index296.js +8 -0
  190. package/dist/index297.js +7 -0
  191. package/dist/index298.js +181 -0
  192. package/dist/index299.js +65 -0
  193. package/dist/index3.js +69 -0
  194. package/dist/index30.js +183 -0
  195. package/dist/index300.js +77 -0
  196. package/dist/index301.js +81 -0
  197. package/dist/index302.js +24 -0
  198. package/dist/index303.js +937 -0
  199. package/dist/index304.js +24 -0
  200. package/dist/index305.js +22 -0
  201. package/dist/index306.js +22 -0
  202. package/dist/index307.js +71 -0
  203. package/dist/index308.js +21 -0
  204. package/dist/index309.js +21 -0
  205. package/dist/index31.js +44 -0
  206. package/dist/index310.js +24 -0
  207. package/dist/index311.js +24 -0
  208. package/dist/index312.js +65 -0
  209. package/dist/index313.js +1520 -0
  210. package/dist/index314.js +388 -0
  211. package/dist/index315.js +2733 -0
  212. package/dist/index316.js +88 -0
  213. package/dist/index317.js +3772 -0
  214. package/dist/index318.js +62 -0
  215. package/dist/index319.js +17 -0
  216. package/dist/index32.js +55 -0
  217. package/dist/index320.js +86 -0
  218. package/dist/index321.js +204 -0
  219. package/dist/index322.js +248 -0
  220. package/dist/index323.js +39 -0
  221. package/dist/index324.js +11 -0
  222. package/dist/index325.js +15 -0
  223. package/dist/index326.js +57 -0
  224. package/dist/index327.js +14 -0
  225. package/dist/index328.js +16 -0
  226. package/dist/index329.js +60 -0
  227. package/dist/index33.js +38 -0
  228. package/dist/index330.js +54 -0
  229. package/dist/index331.js +33 -0
  230. package/dist/index332.js +4 -0
  231. package/dist/index333.js +7 -0
  232. package/dist/index334.js +4 -0
  233. package/dist/index335.js +25 -0
  234. package/dist/index336.js +43 -0
  235. package/dist/index337.js +4 -0
  236. package/dist/index338.js +13 -0
  237. package/dist/index339.js +22 -0
  238. package/dist/index34.js +35 -0
  239. package/dist/index340.js +19 -0
  240. package/dist/index341.js +12 -0
  241. package/dist/index342.js +12 -0
  242. package/dist/index343.js +4 -0
  243. package/dist/index344.js +11 -0
  244. package/dist/index345.js +12 -0
  245. package/dist/index346.js +16 -0
  246. package/dist/index347.js +23 -0
  247. package/dist/index348.js +58 -0
  248. package/dist/index349.js +31 -0
  249. package/dist/index35.js +19 -0
  250. package/dist/index350.js +9 -0
  251. package/dist/index351.js +54 -0
  252. package/dist/index352.js +8 -0
  253. package/dist/index353.js +14 -0
  254. package/dist/index354.js +9 -0
  255. package/dist/index355.js +30 -0
  256. package/dist/index356.js +4 -0
  257. package/dist/index357.js +72 -0
  258. package/dist/index358.js +169 -0
  259. package/dist/index359.js +22 -0
  260. package/dist/index36.js +47 -0
  261. package/dist/index360.js +22 -0
  262. package/dist/index361.js +66 -0
  263. package/dist/index362.js +39 -0
  264. package/dist/index363.js +33 -0
  265. package/dist/index364.js +13 -0
  266. package/dist/index365.js +6 -0
  267. package/dist/index366.js +6 -0
  268. package/dist/index367.js +15 -0
  269. package/dist/index368.js +9 -0
  270. package/dist/index369.js +14 -0
  271. package/dist/index37.js +42 -0
  272. package/dist/index370.js +7 -0
  273. package/dist/index371.js +35 -0
  274. package/dist/index372.js +33 -0
  275. package/dist/index373.js +30 -0
  276. package/dist/index374.js +63 -0
  277. package/dist/index375.js +19 -0
  278. package/dist/index376.js +103 -0
  279. package/dist/index377.js +93 -0
  280. package/dist/index378.js +100 -0
  281. package/dist/index379.js +5 -0
  282. package/dist/index38.js +32 -0
  283. package/dist/index380.js +4 -0
  284. package/dist/index381.js +4 -0
  285. package/dist/index382.js +19 -0
  286. package/dist/index383.js +15 -0
  287. package/dist/index384.js +8 -0
  288. package/dist/index385.js +34 -0
  289. package/dist/index39.js +39 -0
  290. package/dist/index4.js +23 -0
  291. package/dist/index40.js +44 -0
  292. package/dist/index41.js +1075 -0
  293. package/dist/index42.js +339 -0
  294. package/dist/index43.js +159 -0
  295. package/dist/index44.js +22 -0
  296. package/dist/index45.js +42 -0
  297. package/dist/index46.js +72 -0
  298. package/dist/index47.js +65 -0
  299. package/dist/index48.js +184 -0
  300. package/dist/index49.js +88 -0
  301. package/dist/index5.js +19 -0
  302. package/dist/index50.js +209 -0
  303. package/dist/index51.js +71 -0
  304. package/dist/index52.js +22 -0
  305. package/dist/index53.js +13 -0
  306. package/dist/index54.js +9 -0
  307. package/dist/index55.js +213 -0
  308. package/dist/index56.js +15 -0
  309. package/dist/index57.js +187 -0
  310. package/dist/index58.js +79 -0
  311. package/dist/index6.js +21 -0
  312. package/dist/index60.js +9 -0
  313. package/dist/index61.js +65 -0
  314. package/dist/index63.js +44 -0
  315. package/dist/index65.js +16 -0
  316. package/dist/index67.js +30 -0
  317. package/dist/index69.js +141 -0
  318. package/dist/index7.js +76 -0
  319. package/dist/index71.js +78 -0
  320. package/dist/index73.js +62 -0
  321. package/dist/index74.js +105 -0
  322. package/dist/index76.js +217 -0
  323. package/dist/index78.js +108 -0
  324. package/dist/index8.js +31 -0
  325. package/dist/index80.js +36 -0
  326. package/dist/index81.js +140 -0
  327. package/dist/index83.js +141 -0
  328. package/dist/index85.js +292 -0
  329. package/dist/index87.js +29 -0
  330. package/dist/index89.js +45 -0
  331. package/dist/index9.js +36 -0
  332. package/dist/index91.js +117 -0
  333. package/dist/index93.js +29 -0
  334. package/dist/index94.js +34 -0
  335. package/dist/index96.js +138 -0
  336. package/dist/index97.js +10 -0
  337. package/dist/index99.js +39 -0
  338. package/dist/src/composables/filtering.d.ts +5 -1
  339. package/dist/src/index.d.ts +1 -0
  340. package/dist/src/views/lists.vue.d.ts +52 -12
  341. package/dist/src/views/showcase.vue.d.ts +130 -30
  342. package/dist/src/views/tables.vue.d.ts +52 -12
  343. package/package.json +3 -4
  344. package/tailwind.preset.ts +1 -0
  345. package/dist/index.umd.cjs +0 -1322
@@ -0,0 +1,29 @@
1
+ import { Extension as r } from "./index253.js";
2
+ import { Blockquote as n } from "./index254.js";
3
+ import { Bold as p } from "./index255.js";
4
+ import { Code as f } from "./index256.js";
5
+ import { CodeBlock as h } from "./index257.js";
6
+ import { Document as u } from "./index258.js";
7
+ import { HardBreak as l } from "./index259.js";
8
+ import { Heading as a } from "./index260.js";
9
+ import { HorizontalRule as c } from "./index261.js";
10
+ import { Italic as d } from "./index262.js";
11
+ import { Link as m } from "./index194.js";
12
+ import { BulletList as g, ListItem as k, ListKeymap as B, OrderedList as L } from "./index263.js";
13
+ import { Paragraph as x } from "./index264.js";
14
+ import { Strike as b } from "./index265.js";
15
+ import { Text as v } from "./index266.js";
16
+ import { Underline as R } from "./index192.js";
17
+ import { Dropcursor as K, Gapcursor as _, UndoRedo as I, TrailingNode as q } from "./index195.js";
18
+ var y = r.create({
19
+ name: "starterKit",
20
+ addExtensions() {
21
+ var i, s, t, e;
22
+ const o = [];
23
+ return this.options.bold !== !1 && o.push(p.configure(this.options.bold)), this.options.blockquote !== !1 && o.push(n.configure(this.options.blockquote)), this.options.bulletList !== !1 && o.push(g.configure(this.options.bulletList)), this.options.code !== !1 && o.push(f.configure(this.options.code)), this.options.codeBlock !== !1 && o.push(h.configure(this.options.codeBlock)), this.options.document !== !1 && o.push(u.configure(this.options.document)), this.options.dropcursor !== !1 && o.push(K.configure(this.options.dropcursor)), this.options.gapcursor !== !1 && o.push(_.configure(this.options.gapcursor)), this.options.hardBreak !== !1 && o.push(l.configure(this.options.hardBreak)), this.options.heading !== !1 && o.push(a.configure(this.options.heading)), this.options.undoRedo !== !1 && o.push(I.configure(this.options.undoRedo)), this.options.horizontalRule !== !1 && o.push(c.configure(this.options.horizontalRule)), this.options.italic !== !1 && o.push(d.configure(this.options.italic)), this.options.listItem !== !1 && o.push(k.configure(this.options.listItem)), this.options.listKeymap !== !1 && o.push(B.configure((i = this.options) == null ? void 0 : i.listKeymap)), this.options.link !== !1 && o.push(m.configure((s = this.options) == null ? void 0 : s.link)), this.options.orderedList !== !1 && o.push(L.configure(this.options.orderedList)), this.options.paragraph !== !1 && o.push(x.configure(this.options.paragraph)), this.options.strike !== !1 && o.push(b.configure(this.options.strike)), this.options.text !== !1 && o.push(v.configure(this.options.text)), this.options.underline !== !1 && o.push(R.configure((t = this.options) == null ? void 0 : t.underline)), this.options.trailingNode !== !1 && o.push(q.configure((e = this.options) == null ? void 0 : e.trailingNode)), o;
24
+ }
25
+ }), M = y;
26
+ export {
27
+ y as StarterKit,
28
+ M as default
29
+ };
@@ -0,0 +1,65 @@
1
+ import { Mark as s, mergeAttributes as d } from "./index253.js";
2
+ var u = s.create({
3
+ name: "underline",
4
+ addOptions() {
5
+ return {
6
+ HTMLAttributes: {}
7
+ };
8
+ },
9
+ parseHTML() {
10
+ return [
11
+ {
12
+ tag: "u"
13
+ },
14
+ {
15
+ style: "text-decoration",
16
+ consuming: !1,
17
+ getAttrs: (e) => e.includes("underline") ? {} : !1
18
+ }
19
+ ];
20
+ },
21
+ renderHTML({ HTMLAttributes: e }) {
22
+ return ["u", d(this.options.HTMLAttributes, e), 0];
23
+ },
24
+ parseMarkdown(e, n) {
25
+ return n.applyMark(this.name || "underline", n.parseInline(e.tokens || []));
26
+ },
27
+ renderMarkdown(e, n) {
28
+ return `++${n.renderChildren(e)}++`;
29
+ },
30
+ markdownTokenizer: {
31
+ name: "underline",
32
+ level: "inline",
33
+ start(e) {
34
+ return e.indexOf("++");
35
+ },
36
+ tokenize(e, n, i) {
37
+ const r = /^(\+\+)([\s\S]+?)(\+\+)/.exec(e);
38
+ if (!r)
39
+ return;
40
+ const t = r[2].trim();
41
+ return {
42
+ type: "underline",
43
+ raw: r[0],
44
+ text: t,
45
+ tokens: i.inlineTokens(t)
46
+ };
47
+ }
48
+ },
49
+ addCommands() {
50
+ return {
51
+ setUnderline: () => ({ commands: e }) => e.setMark(this.name),
52
+ toggleUnderline: () => ({ commands: e }) => e.toggleMark(this.name),
53
+ unsetUnderline: () => ({ commands: e }) => e.unsetMark(this.name)
54
+ };
55
+ },
56
+ addKeyboardShortcuts() {
57
+ return {
58
+ "Mod-u": () => this.editor.commands.toggleUnderline(),
59
+ "Mod-U": () => this.editor.commands.toggleUnderline()
60
+ };
61
+ }
62
+ });
63
+ export {
64
+ u as Underline
65
+ };
@@ -0,0 +1,240 @@
1
+ import { Mark as y, Extension as l, mergeAttributes as p } from "./index253.js";
2
+ var d = 20, u = (t, e = 0) => {
3
+ const r = [];
4
+ return !t.children.length || e > d || Array.from(t.children).forEach((o) => {
5
+ o.tagName === "SPAN" ? r.push(o) : o.children.length && r.push(...u(o, e + 1));
6
+ }), r;
7
+ }, f = (t) => {
8
+ if (!t.children.length)
9
+ return;
10
+ const e = u(t);
11
+ e && e.forEach((r) => {
12
+ var o, n;
13
+ const s = r.getAttribute("style"), i = (n = (o = r.parentElement) == null ? void 0 : o.closest("span")) == null ? void 0 : n.getAttribute("style");
14
+ r.setAttribute("style", `${i};${s}`);
15
+ });
16
+ }, c = y.create({
17
+ name: "textStyle",
18
+ priority: 101,
19
+ addOptions() {
20
+ return {
21
+ HTMLAttributes: {},
22
+ mergeNestedSpanStyles: !0
23
+ };
24
+ },
25
+ parseHTML() {
26
+ return [
27
+ {
28
+ tag: "span",
29
+ consuming: !1,
30
+ getAttrs: (t) => t.hasAttribute("style") ? (this.options.mergeNestedSpanStyles && f(t), {}) : !1
31
+ }
32
+ ];
33
+ },
34
+ renderHTML({ HTMLAttributes: t }) {
35
+ return ["span", p(this.options.HTMLAttributes, t), 0];
36
+ },
37
+ addCommands() {
38
+ return {
39
+ toggleTextStyle: (t) => ({ commands: e }) => e.toggleMark(this.name, t),
40
+ removeEmptyTextStyle: () => ({ tr: t }) => {
41
+ const { selection: e } = t;
42
+ return t.doc.nodesBetween(e.from, e.to, (r, o) => {
43
+ if (r.isTextblock)
44
+ return !0;
45
+ r.marks.filter((n) => n.type === this.type).some((n) => Object.values(n.attrs).some((s) => !!s)) || t.removeMark(o, o + r.nodeSize, this.type);
46
+ }), !0;
47
+ }
48
+ };
49
+ }
50
+ }), m = l.create({
51
+ name: "backgroundColor",
52
+ addOptions() {
53
+ return {
54
+ types: ["textStyle"]
55
+ };
56
+ },
57
+ addGlobalAttributes() {
58
+ return [
59
+ {
60
+ types: this.options.types,
61
+ attributes: {
62
+ backgroundColor: {
63
+ default: null,
64
+ parseHTML: (t) => {
65
+ var e;
66
+ const r = t.getAttribute("style");
67
+ if (r) {
68
+ const o = r.split(";").map((n) => n.trim()).filter(Boolean);
69
+ for (let n = o.length - 1; n >= 0; n -= 1) {
70
+ const s = o[n].split(":");
71
+ if (s.length >= 2) {
72
+ const i = s[0].trim().toLowerCase(), a = s.slice(1).join(":").trim();
73
+ if (i === "background-color")
74
+ return a.replace(/['"]+/g, "");
75
+ }
76
+ }
77
+ }
78
+ return (e = t.style.backgroundColor) == null ? void 0 : e.replace(/['"]+/g, "");
79
+ },
80
+ renderHTML: (t) => t.backgroundColor ? {
81
+ style: `background-color: ${t.backgroundColor}`
82
+ } : {}
83
+ }
84
+ }
85
+ }
86
+ ];
87
+ },
88
+ addCommands() {
89
+ return {
90
+ setBackgroundColor: (t) => ({ chain: e }) => e().setMark("textStyle", { backgroundColor: t }).run(),
91
+ unsetBackgroundColor: () => ({ chain: t }) => t().setMark("textStyle", { backgroundColor: null }).removeEmptyTextStyle().run()
92
+ };
93
+ }
94
+ }), g = l.create({
95
+ name: "color",
96
+ addOptions() {
97
+ return {
98
+ types: ["textStyle"]
99
+ };
100
+ },
101
+ addGlobalAttributes() {
102
+ return [
103
+ {
104
+ types: this.options.types,
105
+ attributes: {
106
+ color: {
107
+ default: null,
108
+ parseHTML: (t) => {
109
+ var e;
110
+ const r = t.getAttribute("style");
111
+ if (r) {
112
+ const o = r.split(";").map((n) => n.trim()).filter(Boolean);
113
+ for (let n = o.length - 1; n >= 0; n -= 1) {
114
+ const s = o[n].split(":");
115
+ if (s.length >= 2) {
116
+ const i = s[0].trim().toLowerCase(), a = s.slice(1).join(":").trim();
117
+ if (i === "color")
118
+ return a.replace(/['"]+/g, "");
119
+ }
120
+ }
121
+ }
122
+ return (e = t.style.color) == null ? void 0 : e.replace(/['"]+/g, "");
123
+ },
124
+ renderHTML: (t) => t.color ? {
125
+ style: `color: ${t.color}`
126
+ } : {}
127
+ }
128
+ }
129
+ }
130
+ ];
131
+ },
132
+ addCommands() {
133
+ return {
134
+ setColor: (t) => ({ chain: e }) => e().setMark("textStyle", { color: t }).run(),
135
+ unsetColor: () => ({ chain: t }) => t().setMark("textStyle", { color: null }).removeEmptyTextStyle().run()
136
+ };
137
+ }
138
+ }), h = l.create({
139
+ name: "fontFamily",
140
+ addOptions() {
141
+ return {
142
+ types: ["textStyle"]
143
+ };
144
+ },
145
+ addGlobalAttributes() {
146
+ return [
147
+ {
148
+ types: this.options.types,
149
+ attributes: {
150
+ fontFamily: {
151
+ default: null,
152
+ parseHTML: (t) => t.style.fontFamily,
153
+ renderHTML: (t) => t.fontFamily ? {
154
+ style: `font-family: ${t.fontFamily}`
155
+ } : {}
156
+ }
157
+ }
158
+ }
159
+ ];
160
+ },
161
+ addCommands() {
162
+ return {
163
+ setFontFamily: (t) => ({ chain: e }) => e().setMark("textStyle", { fontFamily: t }).run(),
164
+ unsetFontFamily: () => ({ chain: t }) => t().setMark("textStyle", { fontFamily: null }).removeEmptyTextStyle().run()
165
+ };
166
+ }
167
+ }), S = l.create({
168
+ name: "fontSize",
169
+ addOptions() {
170
+ return {
171
+ types: ["textStyle"]
172
+ };
173
+ },
174
+ addGlobalAttributes() {
175
+ return [
176
+ {
177
+ types: this.options.types,
178
+ attributes: {
179
+ fontSize: {
180
+ default: null,
181
+ parseHTML: (t) => t.style.fontSize,
182
+ renderHTML: (t) => t.fontSize ? {
183
+ style: `font-size: ${t.fontSize}`
184
+ } : {}
185
+ }
186
+ }
187
+ }
188
+ ];
189
+ },
190
+ addCommands() {
191
+ return {
192
+ setFontSize: (t) => ({ chain: e }) => e().setMark("textStyle", { fontSize: t }).run(),
193
+ unsetFontSize: () => ({ chain: t }) => t().setMark("textStyle", { fontSize: null }).removeEmptyTextStyle().run()
194
+ };
195
+ }
196
+ }), b = l.create({
197
+ name: "lineHeight",
198
+ addOptions() {
199
+ return {
200
+ types: ["textStyle"]
201
+ };
202
+ },
203
+ addGlobalAttributes() {
204
+ return [
205
+ {
206
+ types: this.options.types,
207
+ attributes: {
208
+ lineHeight: {
209
+ default: null,
210
+ parseHTML: (t) => t.style.lineHeight,
211
+ renderHTML: (t) => t.lineHeight ? {
212
+ style: `line-height: ${t.lineHeight}`
213
+ } : {}
214
+ }
215
+ }
216
+ }
217
+ ];
218
+ },
219
+ addCommands() {
220
+ return {
221
+ setLineHeight: (t) => ({ chain: e }) => e().setMark("textStyle", { lineHeight: t }).run(),
222
+ unsetLineHeight: () => ({ chain: t }) => t().setMark("textStyle", { lineHeight: null }).removeEmptyTextStyle().run()
223
+ };
224
+ }
225
+ });
226
+ l.create({
227
+ name: "textStyleKit",
228
+ addExtensions() {
229
+ const t = [];
230
+ return this.options.backgroundColor !== !1 && t.push(m.configure(this.options.backgroundColor)), this.options.color !== !1 && t.push(g.configure(this.options.color)), this.options.fontFamily !== !1 && t.push(h.configure(this.options.fontFamily)), this.options.fontSize !== !1 && t.push(S.configure(this.options.fontSize)), this.options.lineHeight !== !1 && t.push(b.configure(this.options.lineHeight)), this.options.textStyle !== !1 && t.push(c.configure(this.options.textStyle)), t;
231
+ }
232
+ });
233
+ export {
234
+ m as BackgroundColor,
235
+ g as Color,
236
+ h as FontFamily,
237
+ S as FontSize,
238
+ b as LineHeight,
239
+ c as TextStyle
240
+ };
@@ -0,0 +1,310 @@
1
+ import { Mark as x, markPasteRule as b, mergeAttributes as v, combineTransactionSteps as w, getChangedRanges as T, findChildrenInRange as O, getMarksBetween as R, getAttributes as _ } from "./index253.js";
2
+ import { registerCustomProtocol as C, tokenize as H, find as M, reset as U } from "./index267.js";
3
+ import { Plugin as g, PluginKey as A } from "./index268.js";
4
+ var P = "[\0-   ᠎ -\u2029  ]", I = new RegExp(P), B = new RegExp(`${P}$`), N = new RegExp(P, "g");
5
+ function W(t) {
6
+ return t.length === 1 ? t[0].isLink : t.length === 3 && t[1].isLink ? ["()", "[]"].includes(t[0].value + t[2].value) : !1;
7
+ }
8
+ function z(t) {
9
+ return new g({
10
+ key: new A("autolink"),
11
+ appendTransaction: (e, r, o) => {
12
+ const s = e.some((i) => i.docChanged) && !r.doc.eq(o.doc), l = e.some((i) => i.getMeta("preventAutolink"));
13
+ if (!s || l)
14
+ return;
15
+ const { tr: d } = o, a = w(r.doc, [...e]);
16
+ if (T(a).forEach(({ newRange: i }) => {
17
+ const f = O(o.doc, i, (c) => c.isTextblock);
18
+ let u, p;
19
+ if (f.length > 1)
20
+ u = f[0], p = o.doc.textBetween(
21
+ u.pos,
22
+ u.pos + u.node.nodeSize,
23
+ void 0,
24
+ " "
25
+ );
26
+ else if (f.length) {
27
+ const c = o.doc.textBetween(i.from, i.to, " ", " ");
28
+ if (!B.test(c))
29
+ return;
30
+ u = f[0], p = o.doc.textBetween(u.pos, i.to, void 0, " ");
31
+ }
32
+ if (u && p) {
33
+ const c = p.split(I).filter(Boolean);
34
+ if (c.length <= 0)
35
+ return !1;
36
+ const m = c[c.length - 1], E = u.pos + p.lastIndexOf(m);
37
+ if (!m)
38
+ return !1;
39
+ const L = H(m).map((n) => n.toObject(t.defaultProtocol));
40
+ if (!W(L))
41
+ return !1;
42
+ L.filter((n) => n.isLink).map((n) => ({
43
+ ...n,
44
+ from: E + n.start + 1,
45
+ to: E + n.end + 1
46
+ })).filter((n) => o.schema.marks.code ? !o.doc.rangeHasMark(n.from, n.to, o.schema.marks.code) : !0).filter((n) => t.validate(n.value)).filter((n) => t.shouldAutoLink(n.value)).forEach((n) => {
47
+ R(n.from, n.to, o.doc).some((y) => y.mark.type === t.type) || d.addMark(
48
+ n.from,
49
+ n.to,
50
+ t.type.create({
51
+ href: n.href
52
+ })
53
+ );
54
+ });
55
+ }
56
+ }), !!d.steps.length)
57
+ return d;
58
+ }
59
+ });
60
+ }
61
+ function V(t) {
62
+ return new g({
63
+ key: new A("handleClickLink"),
64
+ props: {
65
+ handleClick: (e, r, o) => {
66
+ var s, l;
67
+ if (o.button !== 0 || !e.editable)
68
+ return !1;
69
+ let d = !1;
70
+ if (t.enableClickSelection && (d = t.editor.commands.extendMarkRange(t.type.name)), t.openOnClick) {
71
+ let a = null;
72
+ if (o.target instanceof HTMLAnchorElement)
73
+ a = o.target;
74
+ else {
75
+ let u = o.target;
76
+ const p = [];
77
+ for (; u.nodeName !== "DIV"; )
78
+ p.push(u), u = u.parentNode;
79
+ a = p.find((c) => c.nodeName === "A");
80
+ }
81
+ if (!a)
82
+ return d;
83
+ const h = _(e.state, t.type.name), i = (s = a?.href) != null ? s : h.href, f = (l = a?.target) != null ? l : h.target;
84
+ a && i && (window.open(i, f), d = !0);
85
+ }
86
+ return d;
87
+ }
88
+ }
89
+ });
90
+ }
91
+ function D(t) {
92
+ return new g({
93
+ key: new A("handlePasteLink"),
94
+ props: {
95
+ handlePaste: (e, r, o) => {
96
+ const { shouldAutoLink: s } = t, { state: l } = e, { selection: d } = l, { empty: a } = d;
97
+ if (a)
98
+ return !1;
99
+ let h = "";
100
+ o.content.forEach((f) => {
101
+ h += f.textContent;
102
+ });
103
+ const i = M(h, { defaultProtocol: t.defaultProtocol }).find(
104
+ (f) => f.isLink && f.value === h
105
+ );
106
+ return !h || !i || s !== void 0 && !s(i.value) ? !1 : t.editor.commands.setMark(t.type, {
107
+ href: i.href
108
+ });
109
+ }
110
+ }
111
+ });
112
+ }
113
+ function k(t, e) {
114
+ const r = ["http", "https", "ftp", "ftps", "mailto", "tel", "callto", "sms", "cid", "xmpp"];
115
+ return e && e.forEach((o) => {
116
+ const s = typeof o == "string" ? o : o.scheme;
117
+ s && r.push(s);
118
+ }), !t || t.replace(N, "").match(
119
+ new RegExp(
120
+ // eslint-disable-next-line no-useless-escape
121
+ `^(?:(?:${r.join("|")}):|[^a-z]|[a-z0-9+.-]+(?:[^a-z+.-:]|$))`,
122
+ "i"
123
+ )
124
+ );
125
+ }
126
+ var X = x.create({
127
+ name: "link",
128
+ priority: 1e3,
129
+ keepOnSplit: !1,
130
+ exitable: !0,
131
+ onCreate() {
132
+ this.options.validate && !this.options.shouldAutoLink && (this.options.shouldAutoLink = this.options.validate, console.warn("The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead.")), this.options.protocols.forEach((t) => {
133
+ if (typeof t == "string") {
134
+ C(t);
135
+ return;
136
+ }
137
+ C(t.scheme, t.optionalSlashes);
138
+ });
139
+ },
140
+ onDestroy() {
141
+ U();
142
+ },
143
+ inclusive() {
144
+ return this.options.autolink;
145
+ },
146
+ addOptions() {
147
+ return {
148
+ openOnClick: !0,
149
+ enableClickSelection: !1,
150
+ linkOnPaste: !0,
151
+ autolink: !0,
152
+ protocols: [],
153
+ defaultProtocol: "http",
154
+ HTMLAttributes: {
155
+ target: "_blank",
156
+ rel: "noopener noreferrer nofollow",
157
+ class: null
158
+ },
159
+ isAllowedUri: (t, e) => !!k(t, e.protocols),
160
+ validate: (t) => !!t,
161
+ shouldAutoLink: (t) => {
162
+ const e = /^[a-z][a-z0-9+.-]*:\/\//i.test(t), r = /^[a-z][a-z0-9+.-]*:/i.test(t);
163
+ if (e || r && !t.includes("@"))
164
+ return !0;
165
+ const s = (t.includes("@") ? t.split("@").pop() : t).split(/[/?#:]/)[0];
166
+ return !(/^\d{1,3}(\.\d{1,3}){3}$/.test(s) || !/\./.test(s));
167
+ }
168
+ };
169
+ },
170
+ addAttributes() {
171
+ return {
172
+ href: {
173
+ default: null,
174
+ parseHTML(t) {
175
+ return t.getAttribute("href");
176
+ }
177
+ },
178
+ target: {
179
+ default: this.options.HTMLAttributes.target
180
+ },
181
+ rel: {
182
+ default: this.options.HTMLAttributes.rel
183
+ },
184
+ class: {
185
+ default: this.options.HTMLAttributes.class
186
+ }
187
+ };
188
+ },
189
+ parseHTML() {
190
+ return [
191
+ {
192
+ tag: "a[href]",
193
+ getAttrs: (t) => {
194
+ const e = t.getAttribute("href");
195
+ return !e || !this.options.isAllowedUri(e, {
196
+ defaultValidate: (r) => !!k(r, this.options.protocols),
197
+ protocols: this.options.protocols,
198
+ defaultProtocol: this.options.defaultProtocol
199
+ }) ? !1 : null;
200
+ }
201
+ }
202
+ ];
203
+ },
204
+ renderHTML({ HTMLAttributes: t }) {
205
+ return this.options.isAllowedUri(t.href, {
206
+ defaultValidate: (e) => !!k(e, this.options.protocols),
207
+ protocols: this.options.protocols,
208
+ defaultProtocol: this.options.defaultProtocol
209
+ }) ? ["a", v(this.options.HTMLAttributes, t), 0] : ["a", v(this.options.HTMLAttributes, { ...t, href: "" }), 0];
210
+ },
211
+ markdownTokenName: "link",
212
+ parseMarkdown: (t, e) => e.applyMark("link", e.parseInline(t.tokens || []), {
213
+ href: t.href,
214
+ title: t.title || null
215
+ }),
216
+ renderMarkdown: (t, e) => {
217
+ var r;
218
+ const o = ((r = t.attrs) == null ? void 0 : r.href) || "";
219
+ return `[${e.renderChildren(t)}](${o})`;
220
+ },
221
+ addCommands() {
222
+ return {
223
+ setLink: (t) => ({ chain: e }) => {
224
+ const { href: r } = t;
225
+ return this.options.isAllowedUri(r, {
226
+ defaultValidate: (o) => !!k(o, this.options.protocols),
227
+ protocols: this.options.protocols,
228
+ defaultProtocol: this.options.defaultProtocol
229
+ }) ? e().setMark(this.name, t).setMeta("preventAutolink", !0).run() : !1;
230
+ },
231
+ toggleLink: (t) => ({ chain: e }) => {
232
+ const { href: r } = t || {};
233
+ return r && !this.options.isAllowedUri(r, {
234
+ defaultValidate: (o) => !!k(o, this.options.protocols),
235
+ protocols: this.options.protocols,
236
+ defaultProtocol: this.options.defaultProtocol
237
+ }) ? !1 : e().toggleMark(this.name, t, { extendEmptyMarkRange: !0 }).setMeta("preventAutolink", !0).run();
238
+ },
239
+ unsetLink: () => ({ chain: t }) => t().unsetMark(this.name, { extendEmptyMarkRange: !0 }).setMeta("preventAutolink", !0).run()
240
+ };
241
+ },
242
+ addPasteRules() {
243
+ return [
244
+ b({
245
+ find: (t) => {
246
+ const e = [];
247
+ if (t) {
248
+ const { protocols: r, defaultProtocol: o } = this.options, s = M(t).filter(
249
+ (l) => l.isLink && this.options.isAllowedUri(l.value, {
250
+ defaultValidate: (d) => !!k(d, r),
251
+ protocols: r,
252
+ defaultProtocol: o
253
+ })
254
+ );
255
+ s.length && s.forEach((l) => {
256
+ this.options.shouldAutoLink(l.value) && e.push({
257
+ text: l.value,
258
+ data: {
259
+ href: l.href
260
+ },
261
+ index: l.start
262
+ });
263
+ });
264
+ }
265
+ return e;
266
+ },
267
+ type: this.type,
268
+ getAttributes: (t) => {
269
+ var e;
270
+ return {
271
+ href: (e = t.data) == null ? void 0 : e.href
272
+ };
273
+ }
274
+ })
275
+ ];
276
+ },
277
+ addProseMirrorPlugins() {
278
+ const t = [], { protocols: e, defaultProtocol: r } = this.options;
279
+ return this.options.autolink && t.push(
280
+ z({
281
+ type: this.type,
282
+ defaultProtocol: this.options.defaultProtocol,
283
+ validate: (o) => this.options.isAllowedUri(o, {
284
+ defaultValidate: (s) => !!k(s, e),
285
+ protocols: e,
286
+ defaultProtocol: r
287
+ }),
288
+ shouldAutoLink: this.options.shouldAutoLink
289
+ })
290
+ ), t.push(
291
+ V({
292
+ type: this.type,
293
+ editor: this.editor,
294
+ openOnClick: this.options.openOnClick === "whenNotEditable" ? !0 : this.options.openOnClick,
295
+ enableClickSelection: this.options.enableClickSelection
296
+ })
297
+ ), this.options.linkOnPaste && t.push(
298
+ D({
299
+ editor: this.editor,
300
+ defaultProtocol: this.options.defaultProtocol,
301
+ type: this.type,
302
+ shouldAutoLink: this.options.shouldAutoLink
303
+ })
304
+ ), t;
305
+ }
306
+ });
307
+ export {
308
+ X as Link,
309
+ k as isAllowedUri
310
+ };