@quoreadmin/ui 1.10.6 → 1.10.7

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 (207) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index131.js +97 -95
  3. package/dist/index182.js +14 -14
  4. package/dist/index183.js +3 -3
  5. package/dist/index186.js +4 -4
  6. package/dist/index193.js +10 -10
  7. package/dist/index195.js +10 -10
  8. package/dist/index198.js +17 -17
  9. package/dist/index201.js +28 -28
  10. package/dist/index202.js +2 -2
  11. package/dist/index203.js +2 -2
  12. package/dist/index204.js +1 -1
  13. package/dist/index206.js +2 -2
  14. package/dist/index208.js +14 -14
  15. package/dist/index209.js +1 -1
  16. package/dist/index210.js +1 -1
  17. package/dist/index211.js +3 -3
  18. package/dist/index212.js +6 -6
  19. package/dist/index213.js +29 -84
  20. package/dist/index214.js +109 -400
  21. package/dist/index215.js +36 -22
  22. package/dist/index216.js +26 -33
  23. package/dist/index217.js +31 -111
  24. package/dist/index218.js +50 -35
  25. package/dist/index219.js +43 -26
  26. package/dist/index220.js +3 -35
  27. package/dist/index221.js +9 -51
  28. package/dist/index222.js +18 -42
  29. package/dist/index223.js +10 -4
  30. package/dist/index224.js +10 -9
  31. package/dist/index225.js +38 -18
  32. package/dist/index226.js +21 -10
  33. package/dist/index227.js +161 -10
  34. package/dist/index228.js +19 -38
  35. package/dist/index229.js +20 -21
  36. package/dist/index230.js +12 -12
  37. package/dist/index231.js +198 -21
  38. package/dist/index232.js +69 -19
  39. package/dist/index233.js +70 -818
  40. package/dist/index234.js +353 -648
  41. package/dist/index235.js +33 -175
  42. package/dist/index236.js +39 -19
  43. package/dist/index237.js +22 -20
  44. package/dist/index238.js +126 -21
  45. package/dist/index239.js +37 -19
  46. package/dist/index240.js +80 -20
  47. package/dist/index241.js +12 -12
  48. package/dist/index242.js +20 -3
  49. package/dist/index243.js +19 -186
  50. package/dist/index244.js +19 -132
  51. package/dist/index245.js +159 -159
  52. package/dist/index246.js +211 -1206
  53. package/dist/index247.js +31 -121
  54. package/dist/index248.js +10 -20
  55. package/dist/index249.js +3636 -22
  56. package/dist/index250.js +55 -20
  57. package/dist/index251.js +77 -22
  58. package/dist/index252.js +46 -32
  59. package/dist/index253.js +215 -29
  60. package/dist/index254.js +10 -20
  61. package/dist/index255.js +57 -20
  62. package/dist/index256.js +61 -2
  63. package/dist/index257.js +54 -2
  64. package/dist/index258.js +53 -3614
  65. package/dist/index259.js +702 -31
  66. package/dist/index260.js +25 -60
  67. package/dist/index261.js +34 -22
  68. package/dist/index262.js +10 -214
  69. package/dist/index263.js +704 -9
  70. package/dist/index264.js +816 -53
  71. package/dist/index265.js +22 -61
  72. package/dist/index266.js +22 -54
  73. package/dist/index267.js +20 -75
  74. package/dist/index268.js +791 -681
  75. package/dist/index269.js +693 -33
  76. package/dist/index270.js +168 -56
  77. package/dist/index271.js +22 -11
  78. package/dist/index272.js +20 -705
  79. package/dist/index273.js +20 -820
  80. package/dist/index274.js +3 -80
  81. package/dist/index275.js +186 -19
  82. package/dist/index276.js +132 -19
  83. package/dist/index277.js +1211 -149
  84. package/dist/index278.js +20 -228
  85. package/dist/index279.js +21 -36
  86. package/dist/index280.js +22 -10
  87. package/dist/index281.js +20 -13
  88. package/dist/index282.js +19 -198
  89. package/dist/index283.js +18 -68
  90. package/dist/index284.js +2 -34
  91. package/dist/index285.js +2 -40
  92. package/dist/index286.js +50 -249
  93. package/dist/index287.js +79 -8
  94. package/dist/index288.js +26 -138
  95. package/dist/index289.js +22 -83
  96. package/dist/index290.js +22 -1534
  97. package/dist/index291.js +16 -386
  98. package/dist/index292.js +17 -2731
  99. package/dist/index293.js +244 -77
  100. package/dist/index294.js +8 -3792
  101. package/dist/index295.js +132 -54
  102. package/dist/index296.js +83 -15
  103. package/dist/index297.js +23 -84
  104. package/dist/index298.js +2 -202
  105. package/dist/index299.js +247 -231
  106. package/dist/index300.js +5 -78
  107. package/dist/index301.js +137 -76
  108. package/dist/index302.js +72 -21
  109. package/dist/index303.js +78 -926
  110. package/dist/index304.js +28 -21
  111. package/dist/index305.js +15 -19
  112. package/dist/index306.js +74 -19
  113. package/dist/index307.js +3 -68
  114. package/dist/index308.js +2 -19
  115. package/dist/index309.js +82 -18
  116. package/dist/index310.js +51 -52
  117. package/dist/index311.js +5 -21
  118. package/dist/index312.js +4 -21
  119. package/dist/index313.js +178 -62
  120. package/dist/index314.js +63 -2
  121. package/dist/index315.js +75 -3
  122. package/dist/index316.js +1531 -24
  123. package/dist/index317.js +366 -242
  124. package/dist/index318.js +2729 -4
  125. package/dist/index319.js +83 -137
  126. package/dist/index320.js +3788 -69
  127. package/dist/index321.js +56 -83
  128. package/dist/index322.js +15 -29
  129. package/dist/index323.js +82 -14
  130. package/dist/index324.js +191 -64
  131. package/dist/index325.js +245 -3
  132. package/dist/index326.js +3 -2
  133. package/dist/index327.js +25 -81
  134. package/dist/index328.js +77 -51
  135. package/dist/index329.js +21 -5
  136. package/dist/index330.js +934 -4
  137. package/dist/index331.js +21 -178
  138. package/dist/index332.js +19 -62
  139. package/dist/index333.js +20 -75
  140. package/dist/index334.js +68 -25
  141. package/dist/index335.js +19 -22
  142. package/dist/index336.js +19 -22
  143. package/dist/index337.js +22 -16
  144. package/dist/index338.js +22 -17
  145. package/dist/index339.js +61 -21
  146. package/dist/index340.js +1 -1
  147. package/dist/index341.js +18 -19
  148. package/dist/index342.js +56 -19
  149. package/dist/index343.js +28 -63
  150. package/dist/index344.js +7 -37
  151. package/dist/index345.js +51 -8
  152. package/dist/index346.js +7 -13
  153. package/dist/index347.js +11 -54
  154. package/dist/index348.js +7 -12
  155. package/dist/index349.js +28 -14
  156. package/dist/index350.js +2 -58
  157. package/dist/index351.js +69 -51
  158. package/dist/index352.js +164 -28
  159. package/dist/index353.js +10 -2
  160. package/dist/index354.js +9 -4
  161. package/dist/index355.js +14 -2
  162. package/dist/index356.js +9 -22
  163. package/dist/index357.js +14 -38
  164. package/dist/index358.js +9 -2
  165. package/dist/index359.js +13 -11
  166. package/dist/index360.js +51 -16
  167. package/dist/index361.js +12 -10
  168. package/dist/index362.js +14 -10
  169. package/dist/index363.js +56 -15
  170. package/dist/index364.js +52 -2
  171. package/dist/index365.js +31 -9
  172. package/dist/index366.js +2 -10
  173. package/dist/index367.js +4 -13
  174. package/dist/index368.js +2 -19
  175. package/dist/index369.js +23 -57
  176. package/dist/index370.js +39 -27
  177. package/dist/index371.js +2 -7
  178. package/dist/index372.js +10 -51
  179. package/dist/index373.js +20 -7
  180. package/dist/index374.js +2 -12
  181. package/dist/index375.js +8 -6
  182. package/dist/index376.js +20 -28
  183. package/dist/index377.js +20 -2
  184. package/dist/index378.js +61 -67
  185. package/dist/index379.js +36 -166
  186. package/dist/index38.js +2 -2
  187. package/dist/index380.js +28 -98
  188. package/dist/index381.js +10 -90
  189. package/dist/index382.js +4 -98
  190. package/dist/index383.js +4 -17
  191. package/dist/index384.js +12 -30
  192. package/dist/index385.js +7 -11
  193. package/dist/index386.js +11 -3
  194. package/dist/index387.js +4 -3
  195. package/dist/index388.js +33 -13
  196. package/dist/index389.js +31 -7
  197. package/dist/index390.js +28 -12
  198. package/dist/index391.js +61 -5
  199. package/dist/index392.js +101 -33
  200. package/dist/index393.js +91 -31
  201. package/dist/index394.js +97 -27
  202. package/dist/index395.js +16 -60
  203. package/dist/index396.js +1 -1
  204. package/dist/index401.js +1 -1
  205. package/dist/index402.js +2 -2
  206. package/dist/src/components/page-layout/page-layout.vue.d.ts +2 -0
  207. package/package.json +1 -1
package/dist/index321.js CHANGED
@@ -1,89 +1,62 @@
1
- import t from "./index317.js";
2
- import c from "./index328.js";
3
- import u from "./index373.js";
4
- import S from "./index327.js";
5
- import h from "./index374.js";
6
- import a from "./index375.js";
7
- import O from "./index322.js";
8
- function y(i, r, e) {
9
- if (t.isString(i))
10
- try {
11
- return (r || JSON.parse)(i), t.trim(i);
12
- } catch (n) {
13
- if (n.name !== "SyntaxError")
14
- throw n;
15
- }
16
- return (e || JSON.stringify)(i);
1
+ import { keyName as u, base as c } from "./index393.js";
2
+ import { Plugin as d } from "./index264.js";
3
+ const p = typeof navigator < "u" && /Mac|iP(hone|[oa]d)/.test(navigator.platform), y = typeof navigator < "u" && /Win/.test(navigator.platform);
4
+ function m(e) {
5
+ let r = e.split(/-(?!$)/), t = r[r.length - 1];
6
+ t == "Space" && (t = " ");
7
+ let i, f, o, a;
8
+ for (let l = 0; l < r.length - 1; l++) {
9
+ let s = r[l];
10
+ if (/^(cmd|meta|m)$/i.test(s))
11
+ a = !0;
12
+ else if (/^a(lt)?$/i.test(s))
13
+ i = !0;
14
+ else if (/^(c|ctrl|control)$/i.test(s))
15
+ f = !0;
16
+ else if (/^s(hift)?$/i.test(s))
17
+ o = !0;
18
+ else if (/^mod$/i.test(s))
19
+ p ? a = !0 : f = !0;
20
+ else
21
+ throw new Error("Unrecognized modifier name: " + s);
22
+ }
23
+ return i && (t = "Alt-" + t), f && (t = "Ctrl-" + t), a && (t = "Meta-" + t), o && (t = "Shift-" + t), t;
24
+ }
25
+ function h(e) {
26
+ let r = /* @__PURE__ */ Object.create(null);
27
+ for (let t in e)
28
+ r[m(t)] = e[t];
29
+ return r;
30
+ }
31
+ function n(e, r, t = !0) {
32
+ return r.altKey && (e = "Alt-" + e), r.ctrlKey && (e = "Ctrl-" + e), r.metaKey && (e = "Meta-" + e), t && r.shiftKey && (e = "Shift-" + e), e;
33
+ }
34
+ function k(e) {
35
+ return new d({ props: { handleKeyDown: K(e) } });
17
36
  }
18
- const l = {
19
- transitional: u,
20
- adapter: ["xhr", "http", "fetch"],
21
- transformRequest: [function(r, e) {
22
- const n = e.getContentType() || "", s = n.indexOf("application/json") > -1, f = t.isObject(r);
23
- if (f && t.isHTMLForm(r) && (r = new FormData(r)), t.isFormData(r))
24
- return s ? JSON.stringify(O(r)) : r;
25
- if (t.isArrayBuffer(r) || t.isBuffer(r) || t.isStream(r) || t.isFile(r) || t.isBlob(r) || t.isReadableStream(r))
26
- return r;
27
- if (t.isArrayBufferView(r))
28
- return r.buffer;
29
- if (t.isURLSearchParams(r))
30
- return e.setContentType("application/x-www-form-urlencoded;charset=utf-8", !1), r.toString();
31
- let o;
32
- if (f) {
33
- if (n.indexOf("application/x-www-form-urlencoded") > -1)
34
- return h(r, this.formSerializer).toString();
35
- if ((o = t.isFileList(r)) || n.indexOf("multipart/form-data") > -1) {
36
- const p = this.env && this.env.FormData;
37
- return S(
38
- o ? { "files[]": r } : r,
39
- p && new p(),
40
- this.formSerializer
41
- );
37
+ function K(e) {
38
+ let r = h(e);
39
+ return function(t, i) {
40
+ let f = u(i), o, a = r[n(f, i)];
41
+ if (a && a(t.state, t.dispatch, t))
42
+ return !0;
43
+ if (f.length == 1 && f != " ") {
44
+ if (i.shiftKey) {
45
+ let l = r[n(f, i, !1)];
46
+ if (l && l(t.state, t.dispatch, t))
47
+ return !0;
42
48
  }
43
- }
44
- return f || s ? (e.setContentType("application/json", !1), y(r)) : r;
45
- }],
46
- transformResponse: [function(r) {
47
- const e = this.transitional || l.transitional, n = e && e.forcedJSONParsing, s = this.responseType === "json";
48
- if (t.isResponse(r) || t.isReadableStream(r))
49
- return r;
50
- if (r && t.isString(r) && (n && !this.responseType || s)) {
51
- const m = !(e && e.silentJSONParsing) && s;
52
- try {
53
- return JSON.parse(r, this.parseReviver);
54
- } catch (o) {
55
- if (m)
56
- throw o.name === "SyntaxError" ? c.from(o, c.ERR_BAD_RESPONSE, this, null, this.response) : o;
49
+ if ((i.altKey || i.metaKey || i.ctrlKey) && // Ctrl-Alt may be used for AltGr on Windows
50
+ !(y && i.ctrlKey && i.altKey) && (o = c[i.keyCode]) && o != f) {
51
+ let l = r[n(o, i)];
52
+ if (l && l(t.state, t.dispatch, t))
53
+ return !0;
57
54
  }
58
55
  }
59
- return r;
60
- }],
61
- /**
62
- * A timeout in milliseconds to abort a request. If set to 0 (default) a
63
- * timeout is not created.
64
- */
65
- timeout: 0,
66
- xsrfCookieName: "XSRF-TOKEN",
67
- xsrfHeaderName: "X-XSRF-TOKEN",
68
- maxContentLength: -1,
69
- maxBodyLength: -1,
70
- env: {
71
- FormData: a.classes.FormData,
72
- Blob: a.classes.Blob
73
- },
74
- validateStatus: function(r) {
75
- return r >= 200 && r < 300;
76
- },
77
- headers: {
78
- common: {
79
- Accept: "application/json, text/plain, */*",
80
- "Content-Type": void 0
81
- }
82
- }
83
- };
84
- t.forEach(["delete", "get", "head", "post", "put", "patch"], (i) => {
85
- l.headers[i] = {};
86
- });
56
+ return !1;
57
+ };
58
+ }
87
59
  export {
88
- l as default
60
+ K as keydownHandler,
61
+ k as keymap
89
62
  };
package/dist/index322.js CHANGED
@@ -1,31 +1,17 @@
1
- import u from "./index317.js";
2
- function f(e) {
3
- return u.matchAll(/\w+|\[(\w*)]/g, e).map((o) => o[0] === "[]" ? "" : o[1] || o[0]);
4
- }
5
- function y(e) {
6
- const o = {}, r = Object.keys(e);
7
- let i;
8
- const n = r.length;
9
- let c;
10
- for (i = 0; i < n; i++)
11
- c = r[i], o[c] = e[c];
12
- return o;
13
- }
14
- function m(e) {
15
- function o(r, i, n, c) {
16
- let s = r[c++];
17
- if (s === "__proto__") return !0;
18
- const t = Number.isFinite(+s), l = c >= r.length;
19
- return s = !s && u.isArray(n) ? n.length : s, l ? (u.hasOwnProp(n, s) ? n[s] = [n[s], i] : n[s] = i, !t) : ((!n[s] || !u.isObject(n[s])) && (n[s] = []), o(r, i, n[s], c) && u.isArray(n[s]) && (n[s] = y(n[s])), !t);
20
- }
21
- if (u.isFormData(e) && u.isFunction(e.entries)) {
22
- const r = {};
23
- return u.forEachEntry(e, (i, n) => {
24
- o(f(i), n, r, 0);
25
- }), r;
26
- }
27
- return null;
28
- }
1
+ var t = (e, n) => {
2
+ if (e === "slot")
3
+ return 0;
4
+ if (e instanceof Function)
5
+ return e(n);
6
+ const { children: r, ...s } = n ?? {};
7
+ if (e === "svg")
8
+ throw new Error("SVG elements are not supported in the JSX syntax, use the array syntax instead");
9
+ return [e, s, r];
10
+ };
29
11
  export {
30
- m as default
12
+ t as createElement,
13
+ t as h,
14
+ t as jsx,
15
+ t as jsxDEV,
16
+ t as jsxs
31
17
  };
package/dist/index323.js CHANGED
@@ -1,18 +1,86 @@
1
- import e from "./index328.js";
2
- class n extends e {
3
- /**
4
- * A `CanceledError` is an object that is thrown when an operation is canceled.
5
- *
6
- * @param {string=} message The message.
7
- * @param {Object=} config The config.
8
- * @param {Object=} request The request.
9
- *
10
- * @returns {CanceledError} The created error.
11
- */
12
- constructor(r, o, t) {
13
- super(r ?? "canceled", e.ERR_CANCELED, o, t), this.name = "CanceledError", this.__CANCEL__ = !0;
1
+ import { Plugin as w } from "./index264.js";
2
+ import { dropPoint as v } from "./index316.js";
3
+ function y(m = {}) {
4
+ return new w({
5
+ view(e) {
6
+ return new C(e, m);
7
+ }
8
+ });
9
+ }
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
+ });
19
+ }
20
+ destroy() {
21
+ this.handlers.forEach(({ name: e, handler: t }) => this.editorView.dom.removeEventListener(e, t));
22
+ }
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());
25
+ }
26
+ setCursor(e) {
27
+ e != this.cursorPos && (this.cursorPos = e, e == null ? (this.element.parentNode.removeChild(this.element), this.element = null) : this.updateOverlay());
28
+ }
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
+ }
41
+ }
42
+ }
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);
70
+ }
71
+ this.setCursor(r), this.scheduleRemoval(5e3);
72
+ }
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);
14
82
  }
15
83
  }
16
84
  export {
17
- n as default
85
+ y as dropCursor
18
86
  };
package/dist/index324.js CHANGED
@@ -1,77 +1,204 @@
1
- import u from "./index323.js";
2
- class c {
1
+ import { keydownHandler as v } from "./index321.js";
2
+ import { Plugin as w, TextSelection as m, NodeSelection as x, Selection as u } from "./index264.js";
3
+ import { Fragment as h, Slice as g } from "./index318.js";
4
+ import { DecorationSet as S, Decoration as A } from "./index320.js";
5
+ class i extends u {
6
+ /**
7
+ Create a gap cursor.
8
+ */
3
9
  constructor(e) {
4
- if (typeof e != "function")
5
- throw new TypeError("executor must be a function.");
6
- let t;
7
- this.promise = new Promise(function(r) {
8
- t = r;
9
- });
10
- const s = this;
11
- this.promise.then((n) => {
12
- if (!s._listeners) return;
13
- let r = s._listeners.length;
14
- for (; r-- > 0; )
15
- s._listeners[r](n);
16
- s._listeners = null;
17
- }), this.promise.then = (n) => {
18
- let r;
19
- const o = new Promise((i) => {
20
- s.subscribe(i), r = i;
21
- }).then(n);
22
- return o.cancel = function() {
23
- s.unsubscribe(r);
24
- }, o;
25
- }, e(function(r, o, i) {
26
- s.reason || (s.reason = new u(r, o, i), t(s.reason));
27
- });
10
+ super(e, e);
28
11
  }
29
- /**
30
- * Throws a `CanceledError` if cancellation has been requested.
31
- */
32
- throwIfRequested() {
33
- if (this.reason)
34
- throw this.reason;
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 };
35
24
  }
36
25
  /**
37
- * Subscribe to the cancel signal
38
- */
39
- subscribe(e) {
40
- if (this.reason) {
41
- e(this.reason);
42
- return;
43
- }
44
- this._listeners ? this._listeners.push(e) : this._listeners = [e];
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));
45
32
  }
46
33
  /**
47
- * Unsubscribe from the cancel signal
48
- */
49
- unsubscribe(e) {
50
- if (!this._listeners)
51
- return;
52
- const t = this._listeners.indexOf(e);
53
- t !== -1 && this._listeners.splice(t, 1);
34
+ @internal
35
+ */
36
+ getBookmark() {
37
+ return new d(this.anchor);
54
38
  }
55
- toAbortSignal() {
56
- const e = new AbortController(), t = (s) => {
57
- e.abort(s);
58
- };
59
- return this.subscribe(t), e.signal.unsubscribe = () => this.unsubscribe(t), e.signal;
39
+ /**
40
+ @internal
41
+ */
42
+ static valid(e) {
43
+ let t = e.parent;
44
+ if (t.isTextblock || !b(e) || !y(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;
60
51
  }
61
52
  /**
62
- * Returns an object that contains a new `CancelToken` and a function that, when called,
63
- * cancels the `CancelToken`.
64
- */
65
- static source() {
66
- let e;
67
- return {
68
- token: new c(function(n) {
69
- e = n;
70
- }),
71
- cancel: e
72
- };
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
+ }
73
88
  }
74
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 b(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 y(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;
172
+ };
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
+ }
75
201
  export {
76
- c as default
202
+ i as GapCursor,
203
+ B as gapCursor
77
204
  };