@quoreadmin/ui 1.8.0 → 1.8.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 (321) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index10.js +1 -1
  3. package/dist/index103.js +2 -2
  4. package/dist/index109.js +1 -1
  5. package/dist/index11.js +1 -1
  6. package/dist/index113.js +2 -2
  7. package/dist/index117.js +3 -3
  8. package/dist/index12.js +17 -17
  9. package/dist/index127.js +73 -2
  10. package/dist/index13.js +3 -3
  11. package/dist/{index130.js → index131.js} +1 -1
  12. package/dist/{index132.js → index133.js} +2 -2
  13. package/dist/index14.js +2 -2
  14. package/dist/{index141.js → index142.js} +3 -3
  15. package/dist/{index143.js → index144.js} +1 -1
  16. package/dist/{index145.js → index146.js} +6 -6
  17. package/dist/index15.js +1 -1
  18. package/dist/{index153.js → index154.js} +1 -1
  19. package/dist/{index156.js → index157.js} +1 -1
  20. package/dist/index16.js +15 -15
  21. package/dist/{index160.js → index161.js} +9 -9
  22. package/dist/index164.js +111 -492
  23. package/dist/index165.js +471 -5498
  24. package/dist/index166.js +5511 -80
  25. package/dist/index167.js +86 -856
  26. package/dist/index168.js +844 -21
  27. package/dist/index169.js +23 -265
  28. package/dist/index17.js +1 -1
  29. package/dist/index170.js +256 -126
  30. package/dist/index171.js +146 -1195
  31. package/dist/index172.js +1139 -712
  32. package/dist/index173.js +704 -1240
  33. package/dist/index174.js +1280 -248
  34. package/dist/index175.js +266 -96
  35. package/dist/index176.js +106 -2
  36. package/dist/index177.js +2 -1376
  37. package/dist/index178.js +1378 -0
  38. package/dist/index18.js +3 -3
  39. package/dist/index180.js +12 -12
  40. package/dist/index181.js +10 -10
  41. package/dist/index182.js +12 -12
  42. package/dist/index183.js +14 -21
  43. package/dist/index184.js +23 -757
  44. package/dist/index185.js +759 -1122
  45. package/dist/index186.js +1122 -1234
  46. package/dist/index187.js +1205 -11248
  47. package/dist/index188.js +11277 -36
  48. package/dist/index189.js +1188 -42
  49. package/dist/index19.js +1 -1
  50. package/dist/index191.js +38 -0
  51. package/dist/index192.js +44 -5938
  52. package/dist/index193.js +5830 -99
  53. package/dist/index194.js +188 -16
  54. package/dist/index195.js +25 -8
  55. package/dist/index196.js +16 -76
  56. package/dist/index197.js +74 -249
  57. package/dist/index198.js +229 -13660
  58. package/dist/index199.js +13684 -27
  59. package/dist/index2.js +11 -11
  60. package/dist/index20.js +5 -5
  61. package/dist/index200.js +26 -62
  62. package/dist/index201.js +40 -215
  63. package/dist/index202.js +206 -276
  64. package/dist/index203.js +281 -258
  65. package/dist/index204.js +293 -31
  66. package/dist/index205.js +81 -109
  67. package/dist/index206.js +404 -33
  68. package/dist/index207.js +22 -26
  69. package/dist/index208.js +160 -35
  70. package/dist/index209.js +20 -9
  71. package/dist/index21.js +5 -5
  72. package/dist/index210.js +19 -18
  73. package/dist/index211.js +22 -10
  74. package/dist/index212.js +198 -9
  75. package/dist/index213.js +67 -48
  76. package/dist/index214.js +34 -43
  77. package/dist/index215.js +39 -3
  78. package/dist/index216.js +157 -35
  79. package/dist/index217.js +228 -21
  80. package/dist/index218.js +31 -82
  81. package/dist/index219.js +9 -406
  82. package/dist/index22.js +5 -5
  83. package/dist/index220.js +33 -22
  84. package/dist/index221.js +111 -156
  85. package/dist/index222.js +32 -224
  86. package/dist/index223.js +26 -37
  87. package/dist/index224.js +36 -10
  88. package/dist/index225.js +47 -123
  89. package/dist/index226.js +40 -35
  90. package/dist/index227.js +4 -80
  91. package/dist/index228.js +9 -20
  92. package/dist/index229.js +18 -19
  93. package/dist/index23.js +3 -3
  94. package/dist/index230.js +10 -20
  95. package/dist/index231.js +10 -20
  96. package/dist/index232.js +38 -19
  97. package/dist/index233.js +21 -161
  98. package/dist/index234.js +126 -19
  99. package/dist/index235.js +37 -21
  100. package/dist/index236.js +73 -192
  101. package/dist/index237.js +18 -68
  102. package/dist/index238.js +20 -34
  103. package/dist/index239.js +19 -39
  104. package/dist/index24.js +3 -3
  105. package/dist/index240.js +11 -13
  106. package/dist/index241.js +5 -5
  107. package/dist/index242.js +15 -13
  108. package/dist/index243.js +20 -836
  109. package/dist/index244.js +747 -613
  110. package/dist/index245.js +692 -166
  111. package/dist/index246.js +176 -22
  112. package/dist/index247.js +14 -12
  113. package/dist/index248.js +9 -9
  114. package/dist/index249.js +20 -3
  115. package/dist/index25.js +24 -16
  116. package/dist/index250.js +3 -187
  117. package/dist/index251.js +96 -42
  118. package/dist/index252.js +70 -1160
  119. package/dist/index253.js +1223 -20
  120. package/dist/index254.js +12 -14
  121. package/dist/index255.js +12 -12
  122. package/dist/index256.js +15 -22
  123. package/dist/index257.js +21 -12
  124. package/dist/index258.js +11 -11
  125. package/dist/index259.js +20 -2
  126. package/dist/index26.js +1 -1
  127. package/dist/index261.js +2 -3632
  128. package/dist/index262.js +3620 -39
  129. package/dist/index263.js +30 -52
  130. package/dist/index264.js +47 -22
  131. package/dist/index265.js +25 -188
  132. package/dist/index266.js +213 -8
  133. package/dist/index267.js +9 -56
  134. package/dist/index268.js +41 -45
  135. package/dist/index269.js +46 -39
  136. package/dist/index27.js +11 -11
  137. package/dist/index270.js +36 -57
  138. package/dist/index271.js +41 -689
  139. package/dist/index272.js +708 -21
  140. package/dist/index273.js +25 -47
  141. package/dist/index274.js +63 -10
  142. package/dist/index275.js +10 -704
  143. package/dist/index276.js +655 -770
  144. package/dist/index277.js +801 -234
  145. package/dist/index278.js +253 -8
  146. package/dist/index279.js +8 -138
  147. package/dist/index28.js +5 -5
  148. package/dist/index280.js +123 -68
  149. package/dist/index281.js +83 -3
  150. package/dist/index282.js +53 -26
  151. package/dist/index283.js +79 -2
  152. package/dist/index284.js +25 -78
  153. package/dist/index285.js +21 -53
  154. package/dist/index286.js +13 -17
  155. package/dist/index287.js +16 -22
  156. package/dist/index288.js +17 -22
  157. package/dist/index289.js +22 -15
  158. package/dist/index29.js +1 -1
  159. package/dist/index290.js +2 -17
  160. package/dist/index291.js +261 -22
  161. package/dist/index292.js +5 -78
  162. package/dist/index293.js +139 -21
  163. package/dist/index294.js +66 -928
  164. package/dist/index295.js +86 -21
  165. package/dist/index296.js +28 -19
  166. package/dist/index297.js +15 -19
  167. package/dist/index298.js +73 -67
  168. package/dist/index299.js +4 -19
  169. package/dist/index3.js +7 -7
  170. package/dist/index30.js +1 -1
  171. package/dist/index300.js +2 -19
  172. package/dist/index301.js +82 -21
  173. package/dist/index302.js +52 -21
  174. package/dist/index303.js +6 -63
  175. package/dist/index304.js +4 -1517
  176. package/dist/index305.js +156 -363
  177. package/dist/index306.js +56 -2724
  178. package/dist/index307.js +75 -86
  179. package/dist/index308.js +1288 -3524
  180. package/dist/index309.js +379 -53
  181. package/dist/index31.js +1 -1
  182. package/dist/index310.js +2730 -14
  183. package/dist/index311.js +82 -80
  184. package/dist/index312.js +3745 -155
  185. package/dist/index313.js +54 -240
  186. package/dist/index314.js +14 -261
  187. package/dist/index315.js +83 -5
  188. package/dist/index316.js +190 -128
  189. package/dist/index317.js +238 -65
  190. package/dist/index318.js +75 -83
  191. package/dist/index319.js +21 -28
  192. package/dist/index32.js +9 -9
  193. package/dist/index320.js +933 -14
  194. package/dist/index321.js +21 -74
  195. package/dist/index322.js +19 -3
  196. package/dist/index323.js +20 -2
  197. package/dist/index324.js +66 -80
  198. package/dist/index325.js +19 -53
  199. package/dist/index326.js +19 -6
  200. package/dist/index327.js +21 -4
  201. package/dist/index328.js +21 -178
  202. package/dist/index329.js +62 -62
  203. package/dist/index33.js +4 -4
  204. package/dist/index330.js +3 -75
  205. package/dist/index331.js +26 -8
  206. package/dist/index332.js +36 -12
  207. package/dist/index333.js +16 -52
  208. package/dist/index334.js +56 -11
  209. package/dist/index335.js +28 -13
  210. package/dist/index336.js +6 -57
  211. package/dist/index337.js +50 -50
  212. package/dist/index338.js +7 -31
  213. package/dist/index339.js +12 -2
  214. package/dist/index34.js +5 -5
  215. package/dist/index340.js +6 -4
  216. package/dist/index341.js +28 -2
  217. package/dist/index342.js +2 -23
  218. package/dist/index343.js +69 -40
  219. package/dist/index344.js +167 -2
  220. package/dist/index345.js +20 -11
  221. package/dist/index346.js +19 -19
  222. package/dist/index347.js +63 -16
  223. package/dist/index348.js +37 -10
  224. package/dist/index349.js +9 -10
  225. package/dist/index35.js +8 -8
  226. package/dist/index350.js +13 -2
  227. package/dist/index351.js +55 -9
  228. package/dist/index352.js +11 -9
  229. package/dist/index353.js +13 -13
  230. package/dist/index354.js +53 -32
  231. package/dist/index355.js +51 -19
  232. package/dist/index356.js +30 -19
  233. package/dist/index357.js +2 -64
  234. package/dist/index358.js +5 -37
  235. package/dist/index359.js +2 -19
  236. package/dist/index36.js +2 -2
  237. package/dist/index360.js +23 -57
  238. package/dist/index361.js +39 -27
  239. package/dist/index362.js +2 -7
  240. package/dist/index363.js +10 -51
  241. package/dist/index364.js +20 -7
  242. package/dist/index365.js +10 -12
  243. package/dist/index366.js +9 -6
  244. package/dist/index367.js +16 -27
  245. package/dist/index368.js +2 -2
  246. package/dist/index369.js +8 -69
  247. package/dist/index37.js +5 -47
  248. package/dist/index370.js +10 -167
  249. package/dist/index371.js +14 -17
  250. package/dist/index372.js +30 -97
  251. package/dist/index373.js +10 -100
  252. package/dist/index374.js +3 -90
  253. package/dist/index375.js +3 -30
  254. package/dist/index376.js +13 -11
  255. package/dist/index377.js +7 -4
  256. package/dist/index378.js +11 -3
  257. package/dist/index379.js +5 -13
  258. package/dist/index38.js +3 -3
  259. package/dist/index380.js +33 -7
  260. package/dist/index381.js +30 -11
  261. package/dist/index382.js +28 -5
  262. package/dist/index383.js +61 -33
  263. package/dist/index384.js +96 -29
  264. package/dist/index385.js +99 -26
  265. package/dist/index386.js +16 -60
  266. package/dist/index387.js +91 -3
  267. package/dist/index388.js +3 -2
  268. package/dist/index389.js +2 -2
  269. package/dist/index39.js +5 -5
  270. package/dist/index390.js +2 -17
  271. package/dist/index391.js +15 -11
  272. package/dist/index392.js +13 -6
  273. package/dist/index393.js +6 -32
  274. package/dist/index394.js +34 -0
  275. package/dist/index4.js +5 -5
  276. package/dist/index40.js +8 -8
  277. package/dist/index41.js +8 -8
  278. package/dist/index42.js +6 -6
  279. package/dist/index43.js +6 -6
  280. package/dist/index44.js +2 -2
  281. package/dist/index45.js +2 -2
  282. package/dist/index46.js +2 -2
  283. package/dist/index47.js +3 -3
  284. package/dist/index48.js +7 -7
  285. package/dist/index49.js +3 -3
  286. package/dist/index5.js +2 -2
  287. package/dist/index50.js +4 -4
  288. package/dist/index51.js +2 -2
  289. package/dist/index52.js +4 -4
  290. package/dist/index53.js +2 -2
  291. package/dist/index55.js +2 -2
  292. package/dist/index57.js +1 -1
  293. package/dist/index59.js +5 -5
  294. package/dist/index6.js +3 -3
  295. package/dist/index60.js +1 -1
  296. package/dist/index7.js +4 -4
  297. package/dist/index72.js +2 -2
  298. package/dist/index76.js +1 -1
  299. package/dist/index8.js +4 -4
  300. package/dist/index81.js +1 -1
  301. package/dist/index86.js +1 -1
  302. package/dist/index88.js +3 -3
  303. package/dist/index9.js +1 -1
  304. package/dist/index90.js +2 -2
  305. package/dist/index96.js +2 -2
  306. package/dist/src/components/data-table/data-table.d.ts +4 -4
  307. package/dist/src/components/page-header/page-header.stories.d.ts +18 -0
  308. package/dist/src/components/page-header/page-header.vue.d.ts +2 -0
  309. package/dist/src/views/tables.vue.d.ts +4 -4
  310. package/package.json +1 -1
  311. package/dist/index163.js +0 -116
  312. package/dist/index179.js +0 -20
  313. package/dist/index190.js +0 -1192
  314. /package/dist/{index128.js → index129.js} +0 -0
  315. /package/dist/{index135.js → index136.js} +0 -0
  316. /package/dist/{index137.js → index138.js} +0 -0
  317. /package/dist/{index139.js → index140.js} +0 -0
  318. /package/dist/{index147.js → index148.js} +0 -0
  319. /package/dist/{index149.js → index150.js} +0 -0
  320. /package/dist/{index151.js → index152.js} +0 -0
  321. /package/dist/{index158.js → index159.js} +0 -0
package/dist/index203.js CHANGED
@@ -1,290 +1,313 @@
1
- import { Extension as u, isNodeEmpty as w, callOrReturn as v, getExtensionField as S, isNodeSelection as P } from "./index261.js";
2
- import { Plugin as p, PluginKey as m } from "./index276.js";
3
- import { dropCursor as z } from "./index311.js";
4
- import { Decoration as g, DecorationSet as f } from "./index308.js";
5
- import { gapCursor as N } from "./index312.js";
6
- import { history as E, redo as M, undo as O } from "./index313.js";
7
- u.create({
8
- name: "characterCount",
9
- addOptions() {
10
- return {
11
- limit: null,
12
- mode: "textSize",
13
- textCounter: (e) => e.length,
14
- wordCounter: (e) => e.split(" ").filter((t) => t !== "").length
15
- };
16
- },
17
- addStorage() {
18
- return {
19
- characters: () => 0,
20
- words: () => 0
21
- };
22
- },
23
- onBeforeCreate() {
24
- this.storage.characters = (e) => {
25
- const t = e?.node || this.editor.state.doc;
26
- if ((e?.mode || this.options.mode) === "textSize") {
27
- const r = t.textBetween(0, t.content.size, void 0, " ");
28
- return this.options.textCounter(r);
29
- }
30
- return t.nodeSize;
31
- }, this.storage.words = (e) => {
32
- const t = e?.node || this.editor.state.doc, n = t.textBetween(0, t.content.size, " ", " ");
33
- return this.options.wordCounter(n);
34
- };
35
- },
36
- addProseMirrorPlugins() {
37
- let e = !1;
38
- return [
39
- new p({
40
- key: new m("characterCount"),
41
- appendTransaction: (t, n, r) => {
42
- if (e)
43
- return;
44
- const o = this.options.limit;
45
- if (o == null || o === 0) {
46
- e = !0;
1
+ import { Mark as x, markPasteRule as b, mergeAttributes as v, combineTransactionSteps as w, getChangedRanges as T, findChildrenInRange as _, getMarksBetween as O, getAttributes as R } from "./index262.js";
2
+ import { registerCustomProtocol as C, tokenize as H, find as M, reset as U } from "./index276.js";
3
+ import { Plugin as g, PluginKey as A } from "./index277.js";
4
+ var P = "[\0-   ᠎ -\u2029  ]", B = new RegExp(P), I = new RegExp(`${P}$`), W = new RegExp(P, "g");
5
+ function $(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 n = e.some((a) => a.docChanged) && !r.doc.eq(o.doc), l = e.some((a) => a.getMeta("preventAutolink"));
13
+ if (!n || l)
14
+ return;
15
+ const { tr: i } = o, d = w(r.doc, [...e]);
16
+ if (T(d).forEach(({ newRange: a }) => {
17
+ const f = _(o.doc, a, (h) => h.isTextblock);
18
+ let c, k;
19
+ if (f.length > 1)
20
+ c = f[0], k = o.doc.textBetween(
21
+ c.pos,
22
+ c.pos + c.node.nodeSize,
23
+ void 0,
24
+ " "
25
+ );
26
+ else if (f.length) {
27
+ const h = o.doc.textBetween(a.from, a.to, " ", " ");
28
+ if (!I.test(h))
47
29
  return;
48
- }
49
- const s = this.storage.characters({ node: r.doc });
50
- if (s > o) {
51
- const i = s - o, d = 0, a = i;
52
- console.warn(
53
- `[CharacterCount] Initial content exceeded limit of ${o} characters. Content was automatically trimmed.`
30
+ c = f[0], k = o.doc.textBetween(c.pos, a.to, void 0, " ");
31
+ }
32
+ if (c && k) {
33
+ const h = k.split(B).filter(Boolean);
34
+ if (h.length <= 0)
35
+ return !1;
36
+ const m = h[h.length - 1], E = c.pos + k.lastIndexOf(m);
37
+ if (!m)
38
+ return !1;
39
+ const L = H(m).map((s) => s.toObject(t.defaultProtocol));
40
+ if (!$(L))
41
+ return !1;
42
+ L.filter((s) => s.isLink).map((s) => ({
43
+ ...s,
44
+ from: E + s.start + 1,
45
+ to: E + s.end + 1
46
+ })).filter((s) => o.schema.marks.code ? !o.doc.rangeHasMark(s.from, s.to, o.schema.marks.code) : !0).filter((s) => t.validate(s.value)).filter((s) => t.shouldAutoLink(s.value)).forEach((s) => {
47
+ O(s.from, s.to, o.doc).some((y) => y.mark.type === t.type) || i.addMark(
48
+ s.from,
49
+ s.to,
50
+ t.type.create({
51
+ href: s.href
52
+ })
54
53
  );
55
- const c = r.tr.deleteRange(d, a);
56
- return e = !0, c;
57
- }
58
- e = !0;
59
- },
60
- filterTransaction: (t, n) => {
61
- const r = this.options.limit;
62
- if (!t.docChanged || r === 0 || r === null || r === void 0)
63
- return !0;
64
- const o = this.storage.characters({ node: n.doc }), s = this.storage.characters({ node: t.doc });
65
- if (s <= r || o > r && s > r && s <= o)
66
- return !0;
67
- if (o > r && s > r && s > o || !t.getMeta("paste"))
54
+ });
55
+ }
56
+ }), !!i.steps.length)
57
+ return i;
58
+ }
59
+ });
60
+ }
61
+ function N(t) {
62
+ return new g({
63
+ key: new A("handleClickLink"),
64
+ props: {
65
+ handleClick: (e, r, o) => {
66
+ var n, l;
67
+ if (o.button !== 0 || !e.editable)
68
+ return !1;
69
+ let i = null;
70
+ if (o.target instanceof HTMLAnchorElement)
71
+ i = o.target;
72
+ else {
73
+ const u = o.target;
74
+ if (!u)
68
75
  return !1;
69
- const d = t.selection.$head.pos, a = s - r, c = d - a, l = d;
70
- return t.deleteRange(c, l), !(this.storage.characters({ node: t.doc }) > r);
76
+ const a = t.editor.view.dom;
77
+ i = u.closest("a"), i && !a.contains(i) && (i = null);
71
78
  }
72
- })
73
- ];
74
- }
75
- });
76
- var k = u.create({
77
- name: "dropCursor",
79
+ if (!i)
80
+ return !1;
81
+ let d = !1;
82
+ if (t.enableClickSelection && (d = t.editor.commands.extendMarkRange(t.type.name)), t.openOnClick) {
83
+ const u = R(e.state, t.type.name), a = (n = i.href) != null ? n : u.href, f = (l = i.target) != null ? l : u.target;
84
+ a && (window.open(a, f), d = !0);
85
+ }
86
+ return d;
87
+ }
88
+ }
89
+ });
90
+ }
91
+ function V(t) {
92
+ return new g({
93
+ key: new A("handlePasteLink"),
94
+ props: {
95
+ handlePaste: (e, r, o) => {
96
+ const { shouldAutoLink: n } = t, { state: l } = e, { selection: i } = l, { empty: d } = i;
97
+ if (d)
98
+ return !1;
99
+ let u = "";
100
+ o.content.forEach((f) => {
101
+ u += f.textContent;
102
+ });
103
+ const a = M(u, { defaultProtocol: t.defaultProtocol }).find(
104
+ (f) => f.isLink && f.value === u
105
+ );
106
+ return !u || !a || n !== void 0 && !n(a.value) ? !1 : t.editor.commands.setMark(t.type, {
107
+ href: a.href
108
+ });
109
+ }
110
+ }
111
+ });
112
+ }
113
+ function p(t, e) {
114
+ const r = ["http", "https", "ftp", "ftps", "mailto", "tel", "callto", "sms", "cid", "xmpp"];
115
+ return e && e.forEach((o) => {
116
+ const n = typeof o == "string" ? o : o.scheme;
117
+ n && r.push(n);
118
+ }), !t || t.replace(W, "").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
+ },
78
146
  addOptions() {
79
147
  return {
80
- color: "currentColor",
81
- width: 1,
82
- class: void 0
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) => !!p(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 n = (t.includes("@") ? t.split("@").pop() : t).split(/[/?#:]/)[0];
166
+ return !(/^\d{1,3}(\.\d{1,3}){3}$/.test(n) || !/\./.test(n));
167
+ }
83
168
  };
84
169
  },
85
- addProseMirrorPlugins() {
86
- return [z(this.options)];
87
- }
88
- });
89
- u.create({
90
- name: "focus",
91
- addOptions() {
170
+ addAttributes() {
92
171
  return {
93
- className: "has-focus",
94
- mode: "all"
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
+ title: {
188
+ default: null
189
+ }
95
190
  };
96
191
  },
97
- addProseMirrorPlugins() {
192
+ parseHTML() {
98
193
  return [
99
- new p({
100
- key: new m("focus"),
101
- props: {
102
- decorations: ({ doc: e, selection: t }) => {
103
- const { isEditable: n, isFocused: r } = this.editor, { anchor: o } = t, s = [];
104
- if (!n || !r)
105
- return f.create(e, []);
106
- let i = 0;
107
- this.options.mode === "deepest" && e.descendants((a, c) => {
108
- if (a.isText)
109
- return;
110
- if (!(o >= c && o <= c + a.nodeSize - 1))
111
- return !1;
112
- i += 1;
113
- });
114
- let d = 0;
115
- return e.descendants((a, c) => {
116
- if (a.isText || !(o >= c && o <= c + a.nodeSize - 1))
117
- return !1;
118
- if (d += 1, this.options.mode === "deepest" && i - d > 0 || this.options.mode === "shallowest" && d > 1)
119
- return this.options.mode === "deepest";
120
- s.push(
121
- g.node(c, c + a.nodeSize, {
122
- class: this.options.className
123
- })
124
- );
125
- }), f.create(e, s);
126
- }
194
+ {
195
+ tag: "a[href]",
196
+ getAttrs: (t) => {
197
+ const e = t.getAttribute("href");
198
+ return !e || !this.options.isAllowedUri(e, {
199
+ defaultValidate: (r) => !!p(r, this.options.protocols),
200
+ protocols: this.options.protocols,
201
+ defaultProtocol: this.options.defaultProtocol
202
+ }) ? !1 : null;
127
203
  }
128
- })
204
+ }
129
205
  ];
130
- }
131
- });
132
- var F = u.create({
133
- name: "gapCursor",
134
- addProseMirrorPlugins() {
135
- return [N()];
136
206
  },
137
- extendNodeSchema(e) {
138
- var t;
139
- const n = {
140
- name: e.name,
141
- options: e.options,
142
- storage: e.storage
143
- };
144
- return {
145
- allowGapCursor: (t = v(S(e, "allowGapCursor", n))) != null ? t : null
146
- };
147
- }
148
- }), R = u.create({
149
- name: "placeholder",
150
- addOptions() {
151
- return {
152
- emptyEditorClass: "is-editor-empty",
153
- emptyNodeClass: "is-empty",
154
- placeholder: "Write something …",
155
- showOnlyWhenEditable: !0,
156
- showOnlyCurrent: !0,
157
- includeChildren: !1
158
- };
207
+ renderHTML({ HTMLAttributes: t }) {
208
+ return this.options.isAllowedUri(t.href, {
209
+ defaultValidate: (e) => !!p(e, this.options.protocols),
210
+ protocols: this.options.protocols,
211
+ defaultProtocol: this.options.defaultProtocol
212
+ }) ? ["a", v(this.options.HTMLAttributes, t), 0] : ["a", v(this.options.HTMLAttributes, { ...t, href: "" }), 0];
159
213
  },
160
- addProseMirrorPlugins() {
161
- return [
162
- new p({
163
- key: new m("placeholder"),
164
- props: {
165
- decorations: ({ doc: e, selection: t }) => {
166
- const n = this.editor.isEditable || !this.options.showOnlyWhenEditable, { anchor: r } = t, o = [];
167
- if (!n)
168
- return null;
169
- const s = this.editor.isEmpty;
170
- return e.descendants((i, d) => {
171
- const a = r >= d && r <= d + i.nodeSize, c = !i.isLeaf && w(i);
172
- if ((a || !this.options.showOnlyCurrent) && c) {
173
- const l = [this.options.emptyNodeClass];
174
- s && l.push(this.options.emptyEditorClass);
175
- const h = g.node(d, d + i.nodeSize, {
176
- class: l.join(" "),
177
- "data-placeholder": typeof this.options.placeholder == "function" ? this.options.placeholder({
178
- editor: this.editor,
179
- node: i,
180
- pos: d,
181
- hasAnchor: a
182
- }) : this.options.placeholder
183
- });
184
- o.push(h);
185
- }
186
- return this.options.includeChildren;
187
- }), f.create(e, o);
188
- }
189
- }
190
- })
191
- ];
192
- }
193
- });
194
- u.create({
195
- name: "selection",
196
- addOptions() {
214
+ markdownTokenName: "link",
215
+ parseMarkdown: (t, e) => e.applyMark("link", e.parseInline(t.tokens || []), {
216
+ href: t.href,
217
+ title: t.title || null
218
+ }),
219
+ renderMarkdown: (t, e) => {
220
+ var r, o, n, l;
221
+ const i = (o = (r = t.attrs) == null ? void 0 : r.href) != null ? o : "", d = (l = (n = t.attrs) == null ? void 0 : n.title) != null ? l : "", u = e.renderChildren(t);
222
+ return d ? `[${u}](${i} "${d}")` : `[${u}](${i})`;
223
+ },
224
+ addCommands() {
197
225
  return {
198
- className: "selection"
226
+ setLink: (t) => ({ chain: e }) => {
227
+ const { href: r } = t;
228
+ return this.options.isAllowedUri(r, {
229
+ defaultValidate: (o) => !!p(o, this.options.protocols),
230
+ protocols: this.options.protocols,
231
+ defaultProtocol: this.options.defaultProtocol
232
+ }) ? e().setMark(this.name, t).setMeta("preventAutolink", !0).run() : !1;
233
+ },
234
+ toggleLink: (t) => ({ chain: e }) => {
235
+ const { href: r } = t || {};
236
+ return r && !this.options.isAllowedUri(r, {
237
+ defaultValidate: (o) => !!p(o, this.options.protocols),
238
+ protocols: this.options.protocols,
239
+ defaultProtocol: this.options.defaultProtocol
240
+ }) ? !1 : e().toggleMark(this.name, t, { extendEmptyMarkRange: !0 }).setMeta("preventAutolink", !0).run();
241
+ },
242
+ unsetLink: () => ({ chain: t }) => t().unsetMark(this.name, { extendEmptyMarkRange: !0 }).setMeta("preventAutolink", !0).run()
199
243
  };
200
244
  },
201
- addProseMirrorPlugins() {
202
- const { editor: e, options: t } = this;
245
+ addPasteRules() {
203
246
  return [
204
- new p({
205
- key: new m("selection"),
206
- props: {
207
- decorations(n) {
208
- return n.selection.empty || e.isFocused || !e.isEditable || P(n.selection) || e.view.dragging ? null : f.create(n.doc, [
209
- g.inline(n.selection.from, n.selection.to, {
210
- class: t.className
247
+ b({
248
+ find: (t) => {
249
+ const e = [];
250
+ if (t) {
251
+ const { protocols: r, defaultProtocol: o } = this.options, n = M(t).filter(
252
+ (l) => l.isLink && this.options.isAllowedUri(l.value, {
253
+ defaultValidate: (i) => !!p(i, r),
254
+ protocols: r,
255
+ defaultProtocol: o
211
256
  })
212
- ]);
257
+ );
258
+ n.length && n.forEach((l) => {
259
+ this.options.shouldAutoLink(l.value) && e.push({
260
+ text: l.value,
261
+ data: {
262
+ href: l.href
263
+ },
264
+ index: l.start
265
+ });
266
+ });
213
267
  }
214
- }
215
- })
216
- ];
217
- }
218
- });
219
- function y({ types: e, node: t }) {
220
- return t && Array.isArray(e) && e.includes(t.type) || t?.type === e;
221
- }
222
- var G = u.create({
223
- name: "trailingNode",
224
- addOptions() {
225
- return {
226
- node: void 0,
227
- notAfter: []
228
- };
229
- },
230
- addProseMirrorPlugins() {
231
- var e;
232
- const t = new m(this.name), n = this.options.node || ((e = this.editor.schema.topNodeType.contentMatch.defaultType) == null ? void 0 : e.name) || "paragraph", r = Object.entries(this.editor.schema.nodes).map(([, o]) => o).filter((o) => (this.options.notAfter || []).concat(n).includes(o.name));
233
- return [
234
- new p({
235
- key: t,
236
- appendTransaction: (o, s, i) => {
237
- const { doc: d, tr: a, schema: c } = i, l = t.getState(i), h = d.content.size, C = c.nodes[n];
238
- if (l)
239
- return a.insert(h, C.create());
268
+ return e;
240
269
  },
241
- state: {
242
- init: (o, s) => {
243
- const i = s.tr.doc.lastChild;
244
- return !y({ node: i, types: r });
245
- },
246
- apply: (o, s) => {
247
- if (!o.docChanged || o.getMeta("__uniqueIDTransaction"))
248
- return s;
249
- const i = o.doc.lastChild;
250
- return !y({ node: i, types: r });
251
- }
270
+ type: this.type,
271
+ getAttributes: (t) => {
272
+ var e;
273
+ return {
274
+ href: (e = t.data) == null ? void 0 : e.href
275
+ };
252
276
  }
253
277
  })
254
278
  ];
255
- }
256
- }), B = u.create({
257
- name: "undoRedo",
258
- addOptions() {
259
- return {
260
- depth: 100,
261
- newGroupDelay: 500
262
- };
263
- },
264
- addCommands() {
265
- return {
266
- undo: () => ({ state: e, dispatch: t }) => O(e, t),
267
- redo: () => ({ state: e, dispatch: t }) => M(e, t)
268
- };
269
279
  },
270
280
  addProseMirrorPlugins() {
271
- return [E(this.options)];
272
- },
273
- addKeyboardShortcuts() {
274
- return {
275
- "Mod-z": () => this.editor.commands.undo(),
276
- "Shift-Mod-z": () => this.editor.commands.redo(),
277
- "Mod-y": () => this.editor.commands.redo(),
278
- // Russian keyboard layouts
279
- "Mod-я": () => this.editor.commands.undo(),
280
- "Shift-Mod-я": () => this.editor.commands.redo()
281
- };
281
+ const t = [], { protocols: e, defaultProtocol: r } = this.options;
282
+ return this.options.autolink && t.push(
283
+ z({
284
+ type: this.type,
285
+ defaultProtocol: this.options.defaultProtocol,
286
+ validate: (o) => this.options.isAllowedUri(o, {
287
+ defaultValidate: (n) => !!p(n, e),
288
+ protocols: e,
289
+ defaultProtocol: r
290
+ }),
291
+ shouldAutoLink: this.options.shouldAutoLink
292
+ })
293
+ ), t.push(
294
+ N({
295
+ type: this.type,
296
+ editor: this.editor,
297
+ openOnClick: this.options.openOnClick === "whenNotEditable" ? !0 : this.options.openOnClick,
298
+ enableClickSelection: this.options.enableClickSelection
299
+ })
300
+ ), this.options.linkOnPaste && t.push(
301
+ V({
302
+ editor: this.editor,
303
+ defaultProtocol: this.options.defaultProtocol,
304
+ type: this.type,
305
+ shouldAutoLink: this.options.shouldAutoLink
306
+ })
307
+ ), t;
282
308
  }
283
309
  });
284
310
  export {
285
- k as Dropcursor,
286
- F as Gapcursor,
287
- R as Placeholder,
288
- G as TrailingNode,
289
- B as UndoRedo
311
+ X as Link,
312
+ p as isAllowedUri
290
313
  };