@quoreadmin/ui 1.11.0 → 1.11.1

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 (201) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index142.js +1 -1
  3. package/dist/index189.js +4 -4
  4. package/dist/index196.js +8 -8
  5. package/dist/index198.js +8 -8
  6. package/dist/index201.js +17 -17
  7. package/dist/index204.js +26 -26
  8. package/dist/index205.js +1 -1
  9. package/dist/index206.js +1 -1
  10. package/dist/index209.js +2 -2
  11. package/dist/index211.js +14 -14
  12. package/dist/index212.js +1 -1
  13. package/dist/index213.js +1 -1
  14. package/dist/index214.js +3 -3
  15. package/dist/index215.js +6 -6
  16. package/dist/index219.js +2 -2
  17. package/dist/index220.js +1 -1
  18. package/dist/index222.js +4 -4
  19. package/dist/index224.js +1 -1
  20. package/dist/index225.js +1 -1
  21. package/dist/index226.js +1 -1
  22. package/dist/index227.js +4 -4
  23. package/dist/index229.js +1 -1
  24. package/dist/index230.js +2 -2
  25. package/dist/index231.js +2 -2
  26. package/dist/index232.js +1 -1
  27. package/dist/index233.js +156 -122
  28. package/dist/index234.js +225 -35
  29. package/dist/index235.js +37 -80
  30. package/dist/index236.js +10 -20
  31. package/dist/index237.js +126 -19
  32. package/dist/index238.js +34 -16
  33. package/dist/index239.js +80 -20
  34. package/dist/index240.js +9 -9
  35. package/dist/index241.js +19 -160
  36. package/dist/index242.js +11 -11
  37. package/dist/index243.js +13 -15
  38. package/dist/index244.js +19 -198
  39. package/dist/index245.js +140 -49
  40. package/dist/index246.js +20 -34
  41. package/dist/index247.js +21 -39
  42. package/dist/index248.js +184 -238
  43. package/dist/index249.js +70 -8
  44. package/dist/index250.js +32 -136
  45. package/dist/index251.js +39 -82
  46. package/dist/index252.js +247 -155
  47. package/dist/index253.js +7 -227
  48. package/dist/index254.js +137 -36
  49. package/dist/index255.js +83 -10
  50. package/dist/index256.js +2 -22
  51. package/dist/index257.js +78 -21
  52. package/dist/index258.js +15 -13
  53. package/dist/index259.js +22 -836
  54. package/dist/index260.js +19 -701
  55. package/dist/index261.js +835 -175
  56. package/dist/index262.js +701 -21
  57. package/dist/index263.js +176 -20
  58. package/dist/index264.js +13 -11
  59. package/dist/index265.js +20 -3
  60. package/dist/index266.js +19 -186
  61. package/dist/index267.js +3 -133
  62. package/dist/index268.js +107 -1143
  63. package/dist/index269.js +132 -19
  64. package/dist/index270.js +1223 -22
  65. package/dist/index271.js +13 -15
  66. package/dist/index272.js +13 -20
  67. package/dist/index273.js +15 -13
  68. package/dist/index274.js +21 -12
  69. package/dist/index275.js +20 -2
  70. package/dist/index276.js +20 -2
  71. package/dist/index277.js +2 -3709
  72. package/dist/index278.js +2 -60
  73. package/dist/index279.js +3686 -60
  74. package/dist/index280.js +37 -29
  75. package/dist/index281.js +51 -183
  76. package/dist/index282.js +51 -9
  77. package/dist/index283.js +197 -39
  78. package/dist/index284.js +9 -60
  79. package/dist/index285.js +43 -40
  80. package/dist/index286.js +44 -64
  81. package/dist/index287.js +33 -707
  82. package/dist/index288.js +63 -29
  83. package/dist/index289.js +696 -32
  84. package/dist/index290.js +46 -10
  85. package/dist/index291.js +55 -696
  86. package/dist/index292.js +10 -819
  87. package/dist/index293.js +705 -2
  88. package/dist/index294.js +814 -73
  89. package/dist/index295.js +1 -1
  90. package/dist/index296.js +1 -1
  91. package/dist/index297.js +1 -1
  92. package/dist/index298.js +1 -1
  93. package/dist/index299.js +1 -1
  94. package/dist/index300.js +1 -1
  95. package/dist/index301.js +1 -1
  96. package/dist/index302.js +3 -79
  97. package/dist/index303.js +26 -21
  98. package/dist/index304.js +52 -929
  99. package/dist/index305.js +36 -21
  100. package/dist/index306.js +234 -19
  101. package/dist/index307.js +5 -19
  102. package/dist/index308.js +128 -63
  103. package/dist/index309.js +68 -19
  104. package/dist/index310.js +85 -17
  105. package/dist/index311.js +28 -21
  106. package/dist/index312.js +7 -20
  107. package/dist/index313.js +75 -63
  108. package/dist/index314.js +3 -83
  109. package/dist/index315.js +2 -3
  110. package/dist/index316.js +81 -25
  111. package/dist/index317.js +49 -1529
  112. package/dist/index318.js +4 -384
  113. package/dist/index319.js +4 -2730
  114. package/dist/index320.js +170 -77
  115. package/dist/index321.js +55 -3790
  116. package/dist/index322.js +75 -60
  117. package/dist/index323.js +1533 -14
  118. package/dist/index324.js +371 -69
  119. package/dist/index325.js +2687 -158
  120. package/dist/index326.js +73 -233
  121. package/dist/index327.js +3789 -28
  122. package/dist/index328.js +51 -121
  123. package/dist/index329.js +14 -399
  124. package/dist/index330.js +75 -226
  125. package/dist/index331.js +200 -4
  126. package/dist/index332.js +236 -124
  127. package/dist/index333.js +77 -66
  128. package/dist/index334.js +21 -86
  129. package/dist/index335.js +932 -26
  130. package/dist/index336.js +21 -8
  131. package/dist/index337.js +19 -74
  132. package/dist/index338.js +19 -3
  133. package/dist/index339.js +69 -2
  134. package/dist/index340.js +18 -82
  135. package/dist/index341.js +17 -52
  136. package/dist/index342.js +21 -5
  137. package/dist/index343.js +21 -4
  138. package/dist/index344.js +62 -178
  139. package/dist/index345.js +123 -57
  140. package/dist/index346.js +398 -74
  141. package/dist/index347.js +8 -19
  142. package/dist/index348.js +12 -19
  143. package/dist/index349.js +51 -60
  144. package/dist/index350.js +12 -37
  145. package/dist/index351.js +13 -8
  146. package/dist/index352.js +57 -12
  147. package/dist/index353.js +48 -51
  148. package/dist/index354.js +28 -9
  149. package/dist/index355.js +2 -14
  150. package/dist/index356.js +5 -58
  151. package/dist/index357.js +2 -52
  152. package/dist/index358.js +22 -30
  153. package/dist/index359.js +41 -2
  154. package/dist/index360.js +2 -5
  155. package/dist/index361.js +11 -2
  156. package/dist/index362.js +19 -22
  157. package/dist/index363.js +9 -40
  158. package/dist/index364.js +10 -2
  159. package/dist/index365.js +16 -10
  160. package/dist/index366.js +2 -20
  161. package/dist/index367.js +8 -9
  162. package/dist/index368.js +10 -10
  163. package/dist/index369.js +12 -15
  164. package/dist/index370.js +21 -2
  165. package/dist/index371.js +56 -9
  166. package/dist/index372.js +28 -9
  167. package/dist/index373.js +7 -14
  168. package/dist/index374.js +49 -18
  169. package/dist/index375.js +6 -56
  170. package/dist/index376.js +10 -27
  171. package/dist/index377.js +7 -7
  172. package/dist/index378.js +27 -51
  173. package/dist/index379.js +2 -6
  174. package/dist/index380.js +69 -11
  175. package/dist/index381.js +166 -6
  176. package/dist/index382.js +20 -28
  177. package/dist/index383.js +20 -2
  178. package/dist/index384.js +61 -67
  179. package/dist/index385.js +36 -166
  180. package/dist/index387.js +31 -17
  181. package/dist/index388.js +10 -100
  182. package/dist/index389.js +3 -90
  183. package/dist/index390.js +4 -98
  184. package/dist/index391.js +12 -30
  185. package/dist/index392.js +7 -11
  186. package/dist/index393.js +11 -3
  187. package/dist/index394.js +4 -3
  188. package/dist/index395.js +33 -13
  189. package/dist/index396.js +31 -7
  190. package/dist/index397.js +28 -12
  191. package/dist/index398.js +61 -5
  192. package/dist/index399.js +101 -33
  193. package/dist/index400.js +91 -31
  194. package/dist/index401.js +97 -27
  195. package/dist/index402.js +16 -60
  196. package/dist/index403.js +240 -281
  197. package/dist/index405.js +1 -1
  198. package/dist/index410.js +1 -1
  199. package/dist/index411.js +2 -2
  200. package/dist/index42.js +2 -2
  201. package/package.json +1 -1
package/dist/index330.js CHANGED
@@ -1,237 +1,86 @@
1
- import R from "./index331.js";
2
- const { toString: T } = Object.prototype, { getPrototypeOf: A } = Object, { iterator: g, toStringTag: S } = Symbol, F = /* @__PURE__ */ ((e) => (t) => {
3
- const n = T.call(t);
4
- return e[n] || (e[n] = n.slice(8, -1).toLowerCase());
5
- })(/* @__PURE__ */ Object.create(null)), f = (e) => (e = e.toLowerCase(), (t) => F(t) === e), O = (e) => (t) => typeof t === e, { isArray: p } = Array, a = O("undefined");
6
- function d(e) {
7
- return e !== null && !a(e) && e.constructor !== null && !a(e.constructor) && c(e.constructor.isBuffer) && e.constructor.isBuffer(e);
8
- }
9
- const B = f("ArrayBuffer");
10
- function M(e) {
11
- let t;
12
- return typeof ArrayBuffer < "u" && ArrayBuffer.isView ? t = ArrayBuffer.isView(e) : t = e && e.buffer && B(e.buffer), t;
1
+ import { Plugin as w } from "./index294.js";
2
+ import { dropPoint as v } from "./index323.js";
3
+ function y(m = {}) {
4
+ return new w({
5
+ view(e) {
6
+ return new C(e, m);
7
+ }
8
+ });
13
9
  }
14
- const k = O("string"), c = O("function"), E = O("number"), y = (e) => e !== null && typeof e == "object", N = (e) => e === !0 || e === !1, w = (e) => {
15
- if (F(e) !== "object")
16
- return !1;
17
- const t = A(e);
18
- return (t === null || t === Object.prototype || Object.getPrototypeOf(t) === null) && !(S in e) && !(g in e);
19
- }, U = (e) => {
20
- if (!y(e) || d(e))
21
- return !1;
22
- try {
23
- return Object.keys(e).length === 0 && Object.getPrototypeOf(e) === Object.prototype;
24
- } catch {
25
- return !1;
10
+ class C {
11
+ constructor(e, t) {
12
+ var i;
13
+ this.editorView = e, this.cursorPos = null, this.element = null, this.timeout = -1, this.width = (i = t.width) !== null && i !== void 0 ? i : 1, this.color = t.color === !1 ? void 0 : t.color || "black", this.class = t.class, this.handlers = ["dragover", "dragend", "drop", "dragleave"].map((s) => {
14
+ let d = (r) => {
15
+ this[s](r);
16
+ };
17
+ return e.dom.addEventListener(s, d), { name: s, handler: d };
18
+ });
26
19
  }
27
- }, I = f("Date"), V = f("File"), _ = f("Blob"), q = f("FileList"), H = (e) => y(e) && c(e.pipe), z = (e) => {
28
- let t;
29
- return e && (typeof FormData == "function" && e instanceof FormData || c(e.append) && ((t = F(e)) === "formdata" || // detect form-data instance
30
- t === "object" && c(e.toString) && e.toString() === "[object FormData]"));
31
- }, J = f("URLSearchParams"), [K, $, W, G] = ["ReadableStream", "Request", "Response", "Headers"].map(f), Q = (e) => e.trim ? e.trim() : e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
32
- function m(e, t, { allOwnKeys: n = !1 } = {}) {
33
- if (e === null || typeof e > "u")
34
- return;
35
- let r, s;
36
- if (typeof e != "object" && (e = [e]), p(e))
37
- for (r = 0, s = e.length; r < s; r++)
38
- t.call(null, e[r], r, e);
39
- else {
40
- if (d(e))
41
- return;
42
- const o = n ? Object.getOwnPropertyNames(e) : Object.keys(e), i = o.length;
43
- let l;
44
- for (r = 0; r < i; r++)
45
- l = o[r], t.call(null, e[l], l, e);
20
+ destroy() {
21
+ this.handlers.forEach(({ name: e, handler: t }) => this.editorView.dom.removeEventListener(e, t));
46
22
  }
47
- }
48
- function P(e, t) {
49
- if (d(e))
50
- return null;
51
- t = t.toLowerCase();
52
- const n = Object.keys(e);
53
- let r = n.length, s;
54
- for (; r-- > 0; )
55
- if (s = n[r], t === s.toLowerCase())
56
- return s;
57
- return null;
58
- }
59
- const u = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : global, L = (e) => !a(e) && e !== u;
60
- function h() {
61
- const { caseless: e, skipUndefined: t } = L(this) && this || {}, n = {}, r = (s, o) => {
62
- const i = e && P(n, o) || o;
63
- w(n[i]) && w(s) ? n[i] = h(n[i], s) : w(s) ? n[i] = h({}, s) : p(s) ? n[i] = s.slice() : (!t || !a(s)) && (n[i] = s);
64
- };
65
- for (let s = 0, o = arguments.length; s < o; s++)
66
- arguments[s] && m(arguments[s], r);
67
- return n;
68
- }
69
- const X = (e, t, n, { allOwnKeys: r } = {}) => (m(t, (s, o) => {
70
- n && c(s) ? e[o] = R(s, n) : e[o] = s;
71
- }, { allOwnKeys: r }), e), Y = (e) => (e.charCodeAt(0) === 65279 && (e = e.slice(1)), e), Z = (e, t, n, r) => {
72
- e.prototype = Object.create(t.prototype, r), e.prototype.constructor = e, Object.defineProperty(e, "super", {
73
- value: t.prototype
74
- }), n && Object.assign(e.prototype, n);
75
- }, j = (e, t, n, r) => {
76
- let s, o, i;
77
- const l = {};
78
- if (t = t || {}, e == null) return t;
79
- do {
80
- for (s = Object.getOwnPropertyNames(e), o = s.length; o-- > 0; )
81
- i = s[o], (!r || r(i, e, t)) && !l[i] && (t[i] = e[i], l[i] = !0);
82
- e = n !== !1 && A(e);
83
- } while (e && (!n || n(e, t)) && e !== Object.prototype);
84
- return t;
85
- }, v = (e, t, n) => {
86
- e = String(e), (n === void 0 || n > e.length) && (n = e.length), n -= t.length;
87
- const r = e.indexOf(t, n);
88
- return r !== -1 && r === n;
89
- }, ee = (e) => {
90
- if (!e) return null;
91
- if (p(e)) return e;
92
- let t = e.length;
93
- if (!E(t)) return null;
94
- const n = new Array(t);
95
- for (; t-- > 0; )
96
- n[t] = e[t];
97
- return n;
98
- }, te = /* @__PURE__ */ ((e) => (t) => e && t instanceof e)(typeof Uint8Array < "u" && A(Uint8Array)), ne = (e, t) => {
99
- const r = (e && e[g]).call(e);
100
- let s;
101
- for (; (s = r.next()) && !s.done; ) {
102
- const o = s.value;
103
- t.call(e, o[0], o[1]);
23
+ update(e, t) {
24
+ this.cursorPos != null && t.doc != e.state.doc && (this.cursorPos > e.state.doc.content.size ? this.setCursor(null) : this.updateOverlay());
104
25
  }
105
- }, re = (e, t) => {
106
- let n;
107
- const r = [];
108
- for (; (n = e.exec(t)) !== null; )
109
- r.push(n);
110
- return r;
111
- }, se = f("HTMLFormElement"), oe = (e) => e.toLowerCase().replace(
112
- /[-_\s]([a-z\d])(\w*)/g,
113
- function(n, r, s) {
114
- return r.toUpperCase() + s;
26
+ setCursor(e) {
27
+ e != this.cursorPos && (this.cursorPos = e, e == null ? (this.element.parentNode.removeChild(this.element), this.element = null) : this.updateOverlay());
115
28
  }
116
- ), x = (({ hasOwnProperty: e }) => (t, n) => e.call(t, n))(Object.prototype), ie = f("RegExp"), C = (e, t) => {
117
- const n = Object.getOwnPropertyDescriptors(e), r = {};
118
- m(n, (s, o) => {
119
- let i;
120
- (i = t(s, o, e)) !== !1 && (r[o] = i || s);
121
- }), Object.defineProperties(e, r);
122
- }, ce = (e) => {
123
- C(e, (t, n) => {
124
- if (c(e) && ["arguments", "caller", "callee"].indexOf(n) !== -1)
125
- return !1;
126
- const r = e[n];
127
- if (c(r)) {
128
- if (t.enumerable = !1, "writable" in t) {
129
- t.writable = !1;
130
- return;
29
+ updateOverlay() {
30
+ let e = this.editorView.state.doc.resolve(this.cursorPos), t = !e.parent.inlineContent, i, s = this.editorView.dom, d = s.getBoundingClientRect(), r = d.width / s.offsetWidth, h = d.height / s.offsetHeight;
31
+ if (t) {
32
+ let o = e.nodeBefore, n = e.nodeAfter;
33
+ if (o || n) {
34
+ let a = this.editorView.nodeDOM(this.cursorPos - (o ? o.nodeSize : 0));
35
+ if (a) {
36
+ let c = a.getBoundingClientRect(), u = o ? c.bottom : c.top;
37
+ o && n && (u = (u + this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top) / 2);
38
+ let g = this.width / 2 * h;
39
+ i = { left: c.left, right: c.right, top: u - g, bottom: u + g };
40
+ }
131
41
  }
132
- t.set || (t.set = () => {
133
- throw Error("Can not rewrite read-only method '" + n + "'");
134
- });
135
42
  }
136
- });
137
- }, fe = (e, t) => {
138
- const n = {}, r = (s) => {
139
- s.forEach((o) => {
140
- n[o] = !0;
141
- });
142
- };
143
- return p(e) ? r(e) : r(String(e).split(t)), n;
144
- }, le = () => {
145
- }, ue = (e, t) => e != null && Number.isFinite(e = +e) ? e : t;
146
- function ae(e) {
147
- return !!(e && c(e.append) && e[S] === "FormData" && e[g]);
148
- }
149
- const pe = (e) => {
150
- const t = new Array(10), n = (r, s) => {
151
- if (y(r)) {
152
- if (t.indexOf(r) >= 0)
153
- return;
154
- if (d(r))
155
- return r;
156
- if (!("toJSON" in r)) {
157
- t[s] = r;
158
- const o = p(r) ? [] : {};
159
- return m(r, (i, l) => {
160
- const b = n(i, s + 1);
161
- !a(b) && (o[l] = b);
162
- }), t[s] = void 0, o;
43
+ if (!i) {
44
+ let o = this.editorView.coordsAtPos(this.cursorPos), n = this.width / 2 * r;
45
+ i = { left: o.left - n, right: o.left + n, top: o.top, bottom: o.bottom };
46
+ }
47
+ let l = this.editorView.dom.offsetParent;
48
+ this.element || (this.element = l.appendChild(document.createElement("div")), this.class && (this.element.className = this.class), this.element.style.cssText = "position: absolute; z-index: 50; pointer-events: none;", this.color && (this.element.style.backgroundColor = this.color)), this.element.classList.toggle("prosemirror-dropcursor-block", t), this.element.classList.toggle("prosemirror-dropcursor-inline", !t);
49
+ let f, p;
50
+ if (!l || l == document.body && getComputedStyle(l).position == "static")
51
+ f = -pageXOffset, p = -pageYOffset;
52
+ else {
53
+ let o = l.getBoundingClientRect(), n = o.width / l.offsetWidth, a = o.height / l.offsetHeight;
54
+ f = o.left - l.scrollLeft * n, p = o.top - l.scrollTop * a;
55
+ }
56
+ this.element.style.left = (i.left - f) / r + "px", this.element.style.top = (i.top - p) / h + "px", this.element.style.width = (i.right - i.left) / r + "px", this.element.style.height = (i.bottom - i.top) / h + "px";
57
+ }
58
+ scheduleRemoval(e) {
59
+ clearTimeout(this.timeout), this.timeout = setTimeout(() => this.setCursor(null), e);
60
+ }
61
+ dragover(e) {
62
+ if (!this.editorView.editable)
63
+ return;
64
+ let t = this.editorView.posAtCoords({ left: e.clientX, top: e.clientY }), i = t && t.inside >= 0 && this.editorView.state.doc.nodeAt(t.inside), s = i && i.type.spec.disableDropCursor, d = typeof s == "function" ? s(this.editorView, t, e) : s;
65
+ if (t && !d) {
66
+ let r = t.pos;
67
+ if (this.editorView.dragging && this.editorView.dragging.slice) {
68
+ let h = v(this.editorView.state.doc, r, this.editorView.dragging.slice);
69
+ h != null && (r = h);
163
70
  }
71
+ this.setCursor(r), this.scheduleRemoval(5e3);
164
72
  }
165
- return r;
166
- };
167
- return n(e, 0);
168
- }, de = f("AsyncFunction"), ye = (e) => e && (y(e) || c(e)) && c(e.then) && c(e.catch), D = ((e, t) => e ? setImmediate : t ? ((n, r) => (u.addEventListener("message", ({ source: s, data: o }) => {
169
- s === u && o === n && r.length && r.shift()();
170
- }, !1), (s) => {
171
- r.push(s), u.postMessage(n, "*");
172
- }))(`axios@${Math.random()}`, []) : (n) => setTimeout(n))(
173
- typeof setImmediate == "function",
174
- c(u.postMessage)
175
- ), me = typeof queueMicrotask < "u" ? queueMicrotask.bind(u) : typeof process < "u" && process.nextTick || D, we = (e) => e != null && c(e[g]), Fe = {
176
- isArray: p,
177
- isArrayBuffer: B,
178
- isBuffer: d,
179
- isFormData: z,
180
- isArrayBufferView: M,
181
- isString: k,
182
- isNumber: E,
183
- isBoolean: N,
184
- isObject: y,
185
- isPlainObject: w,
186
- isEmptyObject: U,
187
- isReadableStream: K,
188
- isRequest: $,
189
- isResponse: W,
190
- isHeaders: G,
191
- isUndefined: a,
192
- isDate: I,
193
- isFile: V,
194
- isBlob: _,
195
- isRegExp: ie,
196
- isFunction: c,
197
- isStream: H,
198
- isURLSearchParams: J,
199
- isTypedArray: te,
200
- isFileList: q,
201
- forEach: m,
202
- merge: h,
203
- extend: X,
204
- trim: Q,
205
- stripBOM: Y,
206
- inherits: Z,
207
- toFlatObject: j,
208
- kindOf: F,
209
- kindOfTest: f,
210
- endsWith: v,
211
- toArray: ee,
212
- forEachEntry: ne,
213
- matchAll: re,
214
- isHTMLForm: se,
215
- hasOwnProperty: x,
216
- hasOwnProp: x,
217
- // an alias to avoid ESLint no-prototype-builtins detection
218
- reduceDescriptors: C,
219
- freezeMethods: ce,
220
- toObjectSet: fe,
221
- toCamelCase: oe,
222
- noop: le,
223
- toFiniteNumber: ue,
224
- findKey: P,
225
- global: u,
226
- isContextDefined: L,
227
- isSpecCompliantForm: ae,
228
- toJSONObject: pe,
229
- isAsyncFn: de,
230
- isThenable: ye,
231
- setImmediate: D,
232
- asap: me,
233
- isIterable: we
234
- };
73
+ }
74
+ dragend() {
75
+ this.scheduleRemoval(20);
76
+ }
77
+ drop() {
78
+ this.scheduleRemoval(20);
79
+ }
80
+ dragleave(e) {
81
+ this.editorView.dom.contains(e.relatedTarget) || this.setCursor(null);
82
+ }
83
+ }
235
84
  export {
236
- Fe as default
85
+ y as dropCursor
237
86
  };
package/dist/index331.js CHANGED
@@ -1,8 +1,204 @@
1
- function u(n, r) {
2
- return function() {
3
- return n.apply(r, arguments);
1
+ import { keydownHandler as v } from "./index328.js";
2
+ import { Plugin as w, TextSelection as m, NodeSelection as x, Selection as u } from "./index294.js";
3
+ import { Fragment as h, Slice as g } from "./index325.js";
4
+ import { DecorationSet as S, Decoration as A } from "./index327.js";
5
+ class i extends u {
6
+ /**
7
+ Create a gap cursor.
8
+ */
9
+ constructor(e) {
10
+ super(e, e);
11
+ }
12
+ map(e, t) {
13
+ let o = e.resolve(t.map(this.head));
14
+ return i.valid(o) ? new i(o) : u.near(o);
15
+ }
16
+ content() {
17
+ return g.empty;
18
+ }
19
+ eq(e) {
20
+ return e instanceof i && e.head == this.head;
21
+ }
22
+ toJSON() {
23
+ return { type: "gapcursor", pos: this.head };
24
+ }
25
+ /**
26
+ @internal
27
+ */
28
+ static fromJSON(e, t) {
29
+ if (typeof t.pos != "number")
30
+ throw new RangeError("Invalid input for GapCursor.fromJSON");
31
+ return new i(e.resolve(t.pos));
32
+ }
33
+ /**
34
+ @internal
35
+ */
36
+ getBookmark() {
37
+ return new d(this.anchor);
38
+ }
39
+ /**
40
+ @internal
41
+ */
42
+ static valid(e) {
43
+ let t = e.parent;
44
+ if (t.inlineContent || !y(e) || !b(e))
45
+ return !1;
46
+ let o = t.type.spec.allowGapCursor;
47
+ if (o != null)
48
+ return o;
49
+ let r = t.contentMatchAt(e.index()).defaultType;
50
+ return r && r.isTextblock;
51
+ }
52
+ /**
53
+ @internal
54
+ */
55
+ static findGapCursorFrom(e, t, o = !1) {
56
+ e: for (; ; ) {
57
+ if (!o && i.valid(e))
58
+ return e;
59
+ let r = e.pos, s = null;
60
+ for (let l = e.depth; ; l--) {
61
+ let a = e.node(l);
62
+ if (t > 0 ? e.indexAfter(l) < a.childCount : e.index(l) > 0) {
63
+ s = a.child(t > 0 ? e.indexAfter(l) : e.index(l) - 1);
64
+ break;
65
+ } else if (l == 0)
66
+ return null;
67
+ r += t;
68
+ let f = e.doc.resolve(r);
69
+ if (i.valid(f))
70
+ return f;
71
+ }
72
+ for (; ; ) {
73
+ let l = t > 0 ? s.firstChild : s.lastChild;
74
+ if (!l) {
75
+ if (s.isAtom && !s.isText && !x.isSelectable(s)) {
76
+ e = e.doc.resolve(r + s.nodeSize * t), o = !1;
77
+ continue e;
78
+ }
79
+ break;
80
+ }
81
+ s = l, r += t;
82
+ let a = e.doc.resolve(r);
83
+ if (i.valid(a))
84
+ return a;
85
+ }
86
+ return null;
87
+ }
88
+ }
89
+ }
90
+ i.prototype.visible = !1;
91
+ i.findFrom = i.findGapCursorFrom;
92
+ u.jsonID("gapcursor", i);
93
+ class d {
94
+ constructor(e) {
95
+ this.pos = e;
96
+ }
97
+ map(e) {
98
+ return new d(e.map(this.pos));
99
+ }
100
+ resolve(e) {
101
+ let t = e.resolve(this.pos);
102
+ return i.valid(t) ? new i(t) : u.near(t);
103
+ }
104
+ }
105
+ function C(n) {
106
+ return n.isAtom || n.spec.isolating || n.spec.createGapCursor;
107
+ }
108
+ function y(n) {
109
+ for (let e = n.depth; e >= 0; e--) {
110
+ let t = n.index(e), o = n.node(e);
111
+ if (t == 0) {
112
+ if (o.type.spec.isolating)
113
+ return !0;
114
+ continue;
115
+ }
116
+ for (let r = o.child(t - 1); ; r = r.lastChild) {
117
+ if (r.childCount == 0 && !r.inlineContent || C(r.type))
118
+ return !0;
119
+ if (r.inlineContent)
120
+ return !1;
121
+ }
122
+ }
123
+ return !0;
124
+ }
125
+ function b(n) {
126
+ for (let e = n.depth; e >= 0; e--) {
127
+ let t = n.indexAfter(e), o = n.node(e);
128
+ if (t == o.childCount) {
129
+ if (o.type.spec.isolating)
130
+ return !0;
131
+ continue;
132
+ }
133
+ for (let r = o.child(t); ; r = r.firstChild) {
134
+ if (r.childCount == 0 && !r.inlineContent || C(r.type))
135
+ return !0;
136
+ if (r.inlineContent)
137
+ return !1;
138
+ }
139
+ }
140
+ return !0;
141
+ }
142
+ function B() {
143
+ return new w({
144
+ props: {
145
+ decorations: F,
146
+ createSelectionBetween(n, e, t) {
147
+ return e.pos == t.pos && i.valid(t) ? new i(t) : null;
148
+ },
149
+ handleClick: T,
150
+ handleKeyDown: k,
151
+ handleDOMEvents: { beforeinput: D }
152
+ }
153
+ });
154
+ }
155
+ const k = v({
156
+ ArrowLeft: c("horiz", -1),
157
+ ArrowRight: c("horiz", 1),
158
+ ArrowUp: c("vert", -1),
159
+ ArrowDown: c("vert", 1)
160
+ });
161
+ function c(n, e) {
162
+ const t = n == "vert" ? e > 0 ? "down" : "up" : e > 0 ? "right" : "left";
163
+ return function(o, r, s) {
164
+ let l = o.selection, a = e > 0 ? l.$to : l.$from, f = l.empty;
165
+ if (l instanceof m) {
166
+ if (!s.endOfTextblock(t) || a.depth == 0)
167
+ return !1;
168
+ f = !1, a = o.doc.resolve(e > 0 ? a.after() : a.before());
169
+ }
170
+ let p = i.findGapCursorFrom(a, e, f);
171
+ return p ? (r && r(o.tr.setSelection(new i(p))), !0) : !1;
4
172
  };
5
173
  }
174
+ function T(n, e, t) {
175
+ if (!n || !n.editable)
176
+ return !1;
177
+ let o = n.state.doc.resolve(e);
178
+ if (!i.valid(o))
179
+ return !1;
180
+ let r = n.posAtCoords({ left: t.clientX, top: t.clientY });
181
+ return r && r.inside > -1 && x.isSelectable(n.state.doc.nodeAt(r.inside)) ? !1 : (n.dispatch(n.state.tr.setSelection(new i(o))), !0);
182
+ }
183
+ function D(n, e) {
184
+ if (e.inputType != "insertCompositionText" || !(n.state.selection instanceof i))
185
+ return !1;
186
+ let { $from: t } = n.state.selection, o = t.parent.contentMatchAt(t.index()).findWrapping(n.state.schema.nodes.text);
187
+ if (!o)
188
+ return !1;
189
+ let r = h.empty;
190
+ for (let l = o.length - 1; l >= 0; l--)
191
+ r = h.from(o[l].createAndFill(null, r));
192
+ let s = n.state.tr.replace(t.pos, t.pos, new g(r, 0, 0));
193
+ return s.setSelection(m.near(s.doc.resolve(t.pos + 1))), n.dispatch(s), !1;
194
+ }
195
+ function F(n) {
196
+ if (!(n.selection instanceof i))
197
+ return null;
198
+ let e = document.createElement("div");
199
+ return e.className = "ProseMirror-gapcursor", S.create(n.doc, [A.widget(n.selection.head, e, { key: "gapcursor" })]);
200
+ }
6
201
  export {
7
- u as default
202
+ i as GapCursor,
203
+ B as gapCursor
8
204
  };