@quoreadmin/ui 1.7.12 → 1.7.13

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 (210) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index140.js +2 -2
  3. package/dist/index142.js +1 -1
  4. package/dist/index144.js +4 -4
  5. package/dist/index172.js +14 -14
  6. package/dist/index173.js +3 -3
  7. package/dist/index176.js +4 -4
  8. package/dist/index183.js +10 -10
  9. package/dist/index185.js +10 -10
  10. package/dist/index187.js +36 -1190
  11. package/dist/index188.js +46 -0
  12. package/dist/index189.js +1077 -5825
  13. package/dist/index191.js +5922 -19
  14. package/dist/index192.js +199 -10
  15. package/dist/index193.js +35 -36
  16. package/dist/index194.js +17 -43
  17. package/dist/index196.js +2 -2
  18. package/dist/index198.js +14 -14
  19. package/dist/index199.js +1 -1
  20. package/dist/index200.js +1 -1
  21. package/dist/index201.js +3 -3
  22. package/dist/index202.js +6 -6
  23. package/dist/index203.js +29 -123
  24. package/dist/index204.js +114 -36
  25. package/dist/index205.js +33 -404
  26. package/dist/index206.js +26 -80
  27. package/dist/index207.js +35 -19
  28. package/dist/index208.js +9 -88
  29. package/dist/index209.js +18 -19
  30. package/dist/index210.js +10 -20
  31. package/dist/index211.js +10 -20
  32. package/dist/index212.js +50 -19
  33. package/dist/index213.js +42 -21
  34. package/dist/index214.js +3 -21
  35. package/dist/index215.js +38 -19
  36. package/dist/index216.js +21 -836
  37. package/dist/index217.js +104 -645
  38. package/dist/index218.js +20 -176
  39. package/dist/index219.js +12 -14
  40. package/dist/index220.js +15 -13
  41. package/dist/index221.js +198 -19
  42. package/dist/index222.js +70 -3
  43. package/dist/index223.js +67 -166
  44. package/dist/index224.js +388 -114
  45. package/dist/index225.js +32 -159
  46. package/dist/index226.js +24 -1207
  47. package/dist/index227.js +22 -20
  48. package/dist/index228.js +160 -21
  49. package/dist/index229.js +228 -20
  50. package/dist/index230.js +36 -21
  51. package/dist/index231.js +10 -29
  52. package/dist/index232.js +126 -19
  53. package/dist/index233.js +34 -16
  54. package/dist/index234.js +80 -2
  55. package/dist/index235.js +20 -2
  56. package/dist/index236.js +19 -160
  57. package/dist/index237.js +20 -228
  58. package/dist/index238.js +19 -36
  59. package/dist/index239.js +3631 -9
  60. package/dist/index240.js +52 -19
  61. package/dist/index241.js +76 -32
  62. package/dist/index242.js +52 -116
  63. package/dist/index243.js +215 -36
  64. package/dist/index244.js +10 -26
  65. package/dist/index245.js +57 -36
  66. package/dist/index246.js +61 -9
  67. package/dist/index247.js +54 -19
  68. package/dist/index248.js +75 -10
  69. package/dist/index249.js +723 -10
  70. package/dist/index250.js +37 -49
  71. package/dist/index251.js +63 -42
  72. package/dist/index252.js +11 -4
  73. package/dist/index253.js +700 -34
  74. package/dist/index254.js +820 -21
  75. package/dist/index255.js +12 -12
  76. package/dist/index256.js +21 -198
  77. package/dist/index257.js +19 -69
  78. package/dist/index258.js +836 -34
  79. package/dist/index259.js +686 -24
  80. package/dist/index260.js +170 -3626
  81. package/dist/index261.js +22 -55
  82. package/dist/index262.js +20 -77
  83. package/dist/index263.js +20 -52
  84. package/dist/index264.js +3 -215
  85. package/dist/index265.js +187 -10
  86. package/dist/index266.js +128 -52
  87. package/dist/index267.js +1214 -52
  88. package/dist/index268.js +20 -54
  89. package/dist/index269.js +22 -75
  90. package/dist/index270.js +21 -722
  91. package/dist/index271.js +29 -39
  92. package/dist/index272.js +20 -64
  93. package/dist/index273.js +20 -11
  94. package/dist/index274.js +2 -705
  95. package/dist/index275.js +2 -820
  96. package/dist/index276.js +50 -249
  97. package/dist/index277.js +79 -2
  98. package/dist/index278.js +26 -138
  99. package/dist/index279.js +22 -83
  100. package/dist/index280.js +21 -78
  101. package/dist/index281.js +13 -5
  102. package/dist/index282.js +12 -74
  103. package/dist/index283.js +253 -22
  104. package/dist/index284.js +8 -935
  105. package/dist/index285.js +138 -22
  106. package/dist/index286.js +83 -20
  107. package/dist/index287.js +23 -20
  108. package/dist/index288.js +3 -69
  109. package/dist/index289.js +27 -19
  110. package/dist/index290.js +2 -19
  111. package/dist/index291.js +230 -49
  112. package/dist/index292.js +5 -21
  113. package/dist/index293.js +133 -21
  114. package/dist/index294.js +68 -63
  115. package/dist/index295.js +86 -25
  116. package/dist/index296.js +28 -21
  117. package/dist/index297.js +8 -21
  118. package/dist/index298.js +75 -16
  119. package/dist/index299.js +4 -17
  120. package/dist/index300.js +2 -23
  121. package/dist/index301.js +80 -1515
  122. package/dist/index302.js +53 -385
  123. package/dist/index303.js +4 -2729
  124. package/dist/index304.js +4 -85
  125. package/dist/index305.js +148 -3739
  126. package/dist/index306.js +60 -57
  127. package/dist/index307.js +74 -14
  128. package/dist/index308.js +1496 -62
  129. package/dist/index309.js +356 -172
  130. package/dist/index310.js +2695 -210
  131. package/dist/index311.js +86 -3
  132. package/dist/index312.js +3764 -21
  133. package/dist/index313.js +52 -227
  134. package/dist/index314.js +15 -6
  135. package/dist/index315.js +74 -124
  136. package/dist/index316.js +195 -61
  137. package/dist/index317.js +240 -81
  138. package/dist/index318.js +75 -25
  139. package/dist/index319.js +21 -8
  140. package/dist/index320.js +926 -66
  141. package/dist/index321.js +21 -3
  142. package/dist/index322.js +20 -2
  143. package/dist/index323.js +19 -82
  144. package/dist/index324.js +66 -51
  145. package/dist/index325.js +19 -6
  146. package/dist/index326.js +19 -5
  147. package/dist/index327.js +21 -178
  148. package/dist/index328.js +21 -62
  149. package/dist/index329.js +62 -74
  150. package/dist/index330.js +1 -1
  151. package/dist/index331.js +8 -19
  152. package/dist/index332.js +12 -19
  153. package/dist/index333.js +51 -60
  154. package/dist/index334.js +12 -37
  155. package/dist/index335.js +13 -8
  156. package/dist/index336.js +57 -12
  157. package/dist/index337.js +48 -51
  158. package/dist/index338.js +28 -9
  159. package/dist/index339.js +2 -14
  160. package/dist/index340.js +5 -58
  161. package/dist/index341.js +2 -52
  162. package/dist/index342.js +22 -30
  163. package/dist/index343.js +41 -2
  164. package/dist/index344.js +2 -5
  165. package/dist/index345.js +11 -2
  166. package/dist/index346.js +19 -22
  167. package/dist/index347.js +14 -38
  168. package/dist/index348.js +10 -2
  169. package/dist/index349.js +9 -10
  170. package/dist/index350.js +2 -20
  171. package/dist/index351.js +8 -16
  172. package/dist/index352.js +10 -10
  173. package/dist/index353.js +13 -9
  174. package/dist/index354.js +21 -2
  175. package/dist/index355.js +56 -9
  176. package/dist/index356.js +28 -9
  177. package/dist/index357.js +7 -14
  178. package/dist/index358.js +49 -18
  179. package/dist/index359.js +6 -56
  180. package/dist/index360.js +10 -27
  181. package/dist/index361.js +7 -7
  182. package/dist/index362.js +27 -51
  183. package/dist/index363.js +2 -6
  184. package/dist/index364.js +69 -11
  185. package/dist/index365.js +166 -6
  186. package/dist/index366.js +20 -28
  187. package/dist/index367.js +20 -2
  188. package/dist/index368.js +61 -67
  189. package/dist/index369.js +36 -166
  190. package/dist/index370.js +31 -17
  191. package/dist/index371.js +11 -98
  192. package/dist/index372.js +1 -98
  193. package/dist/index373.js +3 -90
  194. package/dist/index374.js +12 -30
  195. package/dist/index375.js +7 -11
  196. package/dist/index376.js +11 -3
  197. package/dist/index377.js +4 -3
  198. package/dist/index378.js +33 -13
  199. package/dist/index379.js +31 -7
  200. package/dist/index380.js +28 -12
  201. package/dist/index381.js +61 -5
  202. package/dist/index382.js +101 -33
  203. package/dist/index383.js +91 -31
  204. package/dist/index384.js +97 -27
  205. package/dist/index385.js +16 -60
  206. package/dist/index386.js +1 -1
  207. package/dist/index391.js +1 -1
  208. package/dist/index392.js +2 -2
  209. package/package.json +1 -1
  210. package/dist/index190.js +0 -209
package/dist/index309.js CHANGED
@@ -1,204 +1,388 @@
1
- import { keydownHandler as v } from "./index306.js";
2
- import { Plugin as w, TextSelection as m, NodeSelection as x, Selection as u } from "./index275.js";
3
- import { Fragment as h, Slice as g } from "./index303.js";
4
- import { DecorationSet as S, Decoration as A } from "./index305.js";
5
- class i extends u {
6
- /**
7
- Create a gap cursor.
8
- */
9
- constructor(e) {
10
- super(e, e);
1
+ import { canJoin as T, joinPoint as F, liftTarget as A, replaceStep as B, canSplit as h, findWrapping as J, ReplaceAroundStep as v, ReplaceStep as U } from "./index308.js";
2
+ import { Slice as y, Fragment as S } from "./index310.js";
3
+ import { AllSelection as P, TextSelection as I, Selection as V, NodeSelection as d } from "./index254.js";
4
+ const M = (t, e) => t.selection.empty ? !1 : (e && e(t.tr.deleteSelection().scrollIntoView()), !0);
5
+ function N(t, e) {
6
+ let { $cursor: r } = t.selection;
7
+ return !r || (e ? !e.endOfTextblock("backward", t) : r.parentOffset > 0) ? null : r;
8
+ }
9
+ const G = (t, e, r) => {
10
+ let n = N(t, r);
11
+ if (!n)
12
+ return !1;
13
+ let o = z(n);
14
+ if (!o) {
15
+ let i = n.blockRange(), f = i && A(i);
16
+ return f == null ? !1 : (e && e(t.tr.lift(i, f).scrollIntoView()), !0);
11
17
  }
12
- map(e, t) {
13
- let o = e.resolve(t.map(this.head));
14
- return i.valid(o) ? new i(o) : u.near(o);
18
+ let l = o.nodeBefore;
19
+ if (D(t, o, e, -1))
20
+ return !0;
21
+ if (n.parent.content.size == 0 && (x(l, "end") || d.isSelectable(l)))
22
+ for (let i = n.depth; ; i--) {
23
+ let f = B(t.doc, n.before(i), n.after(i), y.empty);
24
+ if (f && f.slice.size < f.to - f.from) {
25
+ if (e) {
26
+ let c = t.tr.step(f);
27
+ c.setSelection(x(l, "end") ? V.findFrom(c.doc.resolve(c.mapping.map(o.pos, -1)), -1) : d.create(c.doc, o.pos - l.nodeSize)), e(c.scrollIntoView());
28
+ }
29
+ return !0;
30
+ }
31
+ if (i == 1 || n.node(i - 1).childCount > 1)
32
+ break;
33
+ }
34
+ return l.isAtom && o.depth == n.depth - 1 ? (e && e(t.tr.delete(o.pos - l.nodeSize, o.pos).scrollIntoView()), !0) : !1;
35
+ }, oe = (t, e, r) => {
36
+ let n = N(t, r);
37
+ if (!n)
38
+ return !1;
39
+ let o = z(n);
40
+ return o ? E(t, o, e) : !1;
41
+ }, le = (t, e, r) => {
42
+ let n = W(t, r);
43
+ if (!n)
44
+ return !1;
45
+ let o = R(n);
46
+ return o ? E(t, o, e) : !1;
47
+ };
48
+ function E(t, e, r) {
49
+ let n = e.nodeBefore, o = n, l = e.pos - 1;
50
+ for (; !o.isTextblock; l--) {
51
+ if (o.type.spec.isolating)
52
+ return !1;
53
+ let s = o.lastChild;
54
+ if (!s)
55
+ return !1;
56
+ o = s;
15
57
  }
16
- content() {
17
- return g.empty;
58
+ let i = e.nodeAfter, f = i, c = e.pos + 1;
59
+ for (; !f.isTextblock; c++) {
60
+ if (f.type.spec.isolating)
61
+ return !1;
62
+ let s = f.firstChild;
63
+ if (!s)
64
+ return !1;
65
+ f = s;
18
66
  }
19
- eq(e) {
20
- return e instanceof i && e.head == this.head;
67
+ let p = B(t.doc, l, c, y.empty);
68
+ if (!p || p.from != l || p instanceof U && p.slice.size >= c - l)
69
+ return !1;
70
+ if (r) {
71
+ let s = t.tr.step(p);
72
+ s.setSelection(I.create(s.doc, l)), r(s.scrollIntoView());
21
73
  }
22
- toJSON() {
23
- return { type: "gapcursor", pos: this.head };
74
+ return !0;
75
+ }
76
+ function x(t, e, r = !1) {
77
+ for (let n = t; n; n = e == "start" ? n.firstChild : n.lastChild) {
78
+ if (n.isTextblock)
79
+ return !0;
80
+ if (r && n.childCount != 1)
81
+ return !1;
24
82
  }
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));
83
+ return !1;
84
+ }
85
+ const H = (t, e, r) => {
86
+ let { $head: n, empty: o } = t.selection, l = n;
87
+ if (!o)
88
+ return !1;
89
+ if (n.parent.isTextblock) {
90
+ if (r ? !r.endOfTextblock("backward", t) : n.parentOffset > 0)
91
+ return !1;
92
+ l = z(n);
32
93
  }
33
- /**
34
- @internal
35
- */
36
- getBookmark() {
37
- return new d(this.anchor);
94
+ let i = l && l.nodeBefore;
95
+ return !i || !d.isSelectable(i) ? !1 : (e && e(t.tr.setSelection(d.create(t.doc, l.pos - i.nodeSize)).scrollIntoView()), !0);
96
+ };
97
+ function z(t) {
98
+ if (!t.parent.type.spec.isolating)
99
+ for (let e = t.depth - 1; e >= 0; e--) {
100
+ if (t.index(e) > 0)
101
+ return t.doc.resolve(t.before(e + 1));
102
+ if (t.node(e).type.spec.isolating)
103
+ break;
104
+ }
105
+ return null;
106
+ }
107
+ function W(t, e) {
108
+ let { $cursor: r } = t.selection;
109
+ return !r || (e ? !e.endOfTextblock("forward", t) : r.parentOffset < r.parent.content.size) ? null : r;
110
+ }
111
+ const K = (t, e, r) => {
112
+ let n = W(t, r);
113
+ if (!n)
114
+ return !1;
115
+ let o = R(n);
116
+ if (!o)
117
+ return !1;
118
+ let l = o.nodeAfter;
119
+ if (D(t, o, e, 1))
120
+ return !0;
121
+ if (n.parent.content.size == 0 && (x(l, "start") || d.isSelectable(l))) {
122
+ let i = B(t.doc, n.before(), n.after(), y.empty);
123
+ if (i && i.slice.size < i.to - i.from) {
124
+ if (e) {
125
+ let f = t.tr.step(i);
126
+ f.setSelection(x(l, "start") ? V.findFrom(f.doc.resolve(f.mapping.map(o.pos)), 1) : d.create(f.doc, f.mapping.map(o.pos))), e(f.scrollIntoView());
127
+ }
128
+ return !0;
129
+ }
38
130
  }
39
- /**
40
- @internal
41
- */
42
- static valid(e) {
43
- let t = e.parent;
44
- if (t.isTextblock || !b(e) || !y(e))
131
+ return l.isAtom && o.depth == n.depth - 1 ? (e && e(t.tr.delete(o.pos, o.pos + l.nodeSize).scrollIntoView()), !0) : !1;
132
+ }, L = (t, e, r) => {
133
+ let { $head: n, empty: o } = t.selection, l = n;
134
+ if (!o)
135
+ return !1;
136
+ if (n.parent.isTextblock) {
137
+ if (r ? !r.endOfTextblock("forward", t) : n.parentOffset < n.parent.content.size)
45
138
  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;
139
+ l = R(n);
51
140
  }
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;
141
+ let i = l && l.nodeAfter;
142
+ return !i || !d.isSelectable(i) ? !1 : (e && e(t.tr.setSelection(d.create(t.doc, l.pos)).scrollIntoView()), !0);
143
+ };
144
+ function R(t) {
145
+ if (!t.parent.type.spec.isolating)
146
+ for (let e = t.depth - 1; e >= 0; e--) {
147
+ let r = t.node(e);
148
+ if (t.index(e) + 1 < r.childCount)
149
+ return t.doc.resolve(t.after(e + 1));
150
+ if (r.type.spec.isolating)
151
+ break;
87
152
  }
153
+ return null;
154
+ }
155
+ const ie = (t, e) => {
156
+ let r = t.selection, n = r instanceof d, o;
157
+ if (n) {
158
+ if (r.node.isTextblock || !T(t.doc, r.from))
159
+ return !1;
160
+ o = r.from;
161
+ } else if (o = F(t.doc, r.from, -1), o == null)
162
+ return !1;
163
+ if (e) {
164
+ let l = t.tr.join(o);
165
+ n && l.setSelection(d.create(l.doc, o - t.doc.resolve(o).nodeBefore.nodeSize)), e(l.scrollIntoView());
166
+ }
167
+ return !0;
168
+ }, fe = (t, e) => {
169
+ let r = t.selection, n;
170
+ if (r instanceof d) {
171
+ if (r.node.isTextblock || !T(t.doc, r.to))
172
+ return !1;
173
+ n = r.to;
174
+ } else if (n = F(t.doc, r.to, 1), n == null)
175
+ return !1;
176
+ return e && e(t.tr.join(n).scrollIntoView()), !0;
177
+ }, ce = (t, e) => {
178
+ let { $from: r, $to: n } = t.selection, o = r.blockRange(n), l = o && A(o);
179
+ return l == null ? !1 : (e && e(t.tr.lift(o, l).scrollIntoView()), !0);
180
+ }, Q = (t, e) => {
181
+ let { $head: r, $anchor: n } = t.selection;
182
+ return !r.parent.type.spec.code || !r.sameParent(n) ? !1 : (e && e(t.tr.insertText(`
183
+ `).scrollIntoView()), !0);
184
+ };
185
+ function j(t) {
186
+ for (let e = 0; e < t.edgeCount; e++) {
187
+ let { type: r } = t.edge(e);
188
+ if (r.isTextblock && !r.hasRequiredAttrs())
189
+ return r;
88
190
  }
191
+ return null;
89
192
  }
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;
193
+ const se = (t, e) => {
194
+ let { $head: r, $anchor: n } = t.selection;
195
+ if (!r.parent.type.spec.code || !r.sameParent(n))
196
+ return !1;
197
+ let o = r.node(-1), l = r.indexAfter(-1), i = j(o.contentMatchAt(l));
198
+ if (!i || !o.canReplaceWith(l, l, i))
199
+ return !1;
200
+ if (e) {
201
+ let f = r.after(), c = t.tr.replaceWith(f, f, i.createAndFill());
202
+ c.setSelection(V.near(c.doc.resolve(f), 1)), e(c.scrollIntoView());
96
203
  }
97
- map(e) {
98
- return new d(e.map(this.pos));
204
+ return !0;
205
+ }, X = (t, e) => {
206
+ let r = t.selection, { $from: n, $to: o } = r;
207
+ if (r instanceof P || n.parent.inlineContent || o.parent.inlineContent)
208
+ return !1;
209
+ let l = j(o.parent.contentMatchAt(o.indexAfter()));
210
+ if (!l || !l.isTextblock)
211
+ return !1;
212
+ if (e) {
213
+ let i = (!n.parentOffset && o.index() < o.parent.childCount ? n : o).pos, f = t.tr.insert(i, l.createAndFill());
214
+ f.setSelection(I.create(f.doc, i + 1)), e(f.scrollIntoView());
99
215
  }
100
- resolve(e) {
101
- let t = e.resolve(this.pos);
102
- return i.valid(t) ? new i(t) : u.near(t);
216
+ return !0;
217
+ }, Y = (t, e) => {
218
+ let { $cursor: r } = t.selection;
219
+ if (!r || r.parent.content.size)
220
+ return !1;
221
+ if (r.depth > 1 && r.after() != r.end(-1)) {
222
+ let l = r.before();
223
+ if (h(t.doc, l))
224
+ return e && e(t.tr.split(l).scrollIntoView()), !0;
103
225
  }
226
+ let n = r.blockRange(), o = n && A(n);
227
+ return o == null ? !1 : (e && e(t.tr.lift(n, o).scrollIntoView()), !0);
228
+ };
229
+ function Z(t) {
230
+ return (e, r) => {
231
+ let { $from: n, $to: o } = e.selection;
232
+ if (e.selection instanceof d && e.selection.node.isBlock)
233
+ return !n.parentOffset || !h(e.doc, n.pos) ? !1 : (r && r(e.tr.split(n.pos).scrollIntoView()), !0);
234
+ if (!n.depth)
235
+ return !1;
236
+ let l = [], i, f, c = !1, p = !1;
237
+ for (let u = n.depth; ; u--)
238
+ if (n.node(u).isBlock) {
239
+ c = n.end(u) == n.pos + (n.depth - u), p = n.start(u) == n.pos - (n.depth - u), f = j(n.node(u - 1).contentMatchAt(n.indexAfter(u - 1))), l.unshift(c && f ? { type: f } : null), i = u;
240
+ break;
241
+ } else {
242
+ if (u == 1)
243
+ return !1;
244
+ l.unshift(null);
245
+ }
246
+ let s = e.tr;
247
+ (e.selection instanceof I || e.selection instanceof P) && s.deleteSelection();
248
+ let m = s.mapping.map(n.pos), k = h(s.doc, m, l.length, l);
249
+ if (k || (l[0] = f ? { type: f } : null, k = h(s.doc, m, l.length, l)), !k)
250
+ return !1;
251
+ if (s.split(m, l.length, l), !c && p && n.node(i).type != f) {
252
+ let u = s.mapping.map(n.before(i)), a = s.doc.resolve(u);
253
+ f && n.node(i - 1).canReplaceWith(a.index(), a.index() + 1, f) && s.setNodeMarkup(s.mapping.map(n.before(i)), f);
254
+ }
255
+ return r && r(s.scrollIntoView()), !0;
256
+ };
104
257
  }
105
- function C(n) {
106
- return n.isAtom || n.spec.isolating || n.spec.createGapCursor;
258
+ const _ = Z(), ue = (t, e) => {
259
+ let { $from: r, to: n } = t.selection, o, l = r.sharedDepth(n);
260
+ return l == 0 ? !1 : (o = r.before(l), e && e(t.tr.setSelection(d.create(t.doc, o))), !0);
261
+ };
262
+ function ee(t, e, r) {
263
+ let n = e.nodeBefore, o = e.nodeAfter, l = e.index();
264
+ return !n || !o || !n.type.compatibleContent(o.type) ? !1 : !n.content.size && e.parent.canReplace(l - 1, l) ? (r && r(t.tr.delete(e.pos - n.nodeSize, e.pos).scrollIntoView()), !0) : !e.parent.canReplace(l, l + 1) || !(o.isTextblock || T(t.doc, e.pos)) ? !1 : (r && r(t.tr.join(e.pos).scrollIntoView()), !0);
107
265
  }
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;
266
+ function D(t, e, r, n) {
267
+ let o = e.nodeBefore, l = e.nodeAfter, i, f, c = o.type.spec.isolating || l.type.spec.isolating;
268
+ if (!c && ee(t, e, r))
269
+ return !0;
270
+ let p = !c && e.parent.canReplace(e.index(), e.index() + 1);
271
+ if (p && (i = (f = o.contentMatchAt(o.childCount)).findWrapping(l.type)) && f.matchType(i[0] || l.type).validEnd) {
272
+ if (r) {
273
+ let u = e.pos + l.nodeSize, a = S.empty;
274
+ for (let w = i.length - 1; w >= 0; w--)
275
+ a = S.from(i[w].create(null, a));
276
+ a = S.from(o.copy(a));
277
+ let b = t.tr.step(new v(e.pos - 1, u, e.pos, u, new y(a, 1, 0), i.length, !0)), g = b.doc.resolve(u + 2 * i.length);
278
+ g.nodeAfter && g.nodeAfter.type == o.type && T(b.doc, g.pos) && b.join(g.pos), r(b.scrollIntoView());
115
279
  }
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;
280
+ return !0;
281
+ }
282
+ let s = l.type.spec.isolating || n > 0 && c ? null : V.findFrom(e, 1), m = s && s.$from.blockRange(s.$to), k = m && A(m);
283
+ if (k != null && k >= e.depth)
284
+ return r && r(t.tr.lift(m, k).scrollIntoView()), !0;
285
+ if (p && x(l, "start", !0) && x(o, "end")) {
286
+ let u = o, a = [];
287
+ for (; a.push(u), !u.isTextblock; )
288
+ u = u.lastChild;
289
+ let b = l, g = 1;
290
+ for (; !b.isTextblock; b = b.firstChild)
291
+ g++;
292
+ if (u.canReplace(u.childCount, u.childCount, b.content)) {
293
+ if (r) {
294
+ let w = S.empty;
295
+ for (let C = a.length - 1; C >= 0; C--)
296
+ w = S.from(a[C].copy(w));
297
+ let q = t.tr.step(new v(e.pos - a.length, e.pos + l.nodeSize, e.pos + g, e.pos + l.nodeSize - g, new y(w, a.length, 0), 0, !0));
298
+ r(q.scrollIntoView());
299
+ }
300
+ return !0;
121
301
  }
122
302
  }
123
- return !0;
303
+ return !1;
124
304
  }
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)
305
+ function $(t) {
306
+ return function(e, r) {
307
+ let n = e.selection, o = t < 0 ? n.$from : n.$to, l = o.depth;
308
+ for (; o.node(l).isInline; ) {
309
+ if (!l)
137
310
  return !1;
311
+ l--;
138
312
  }
139
- }
140
- return !0;
313
+ return o.node(l).isTextblock ? (r && r(e.tr.setSelection(I.create(e.doc, t < 0 ? o.start(l) : o.end(l)))), !0) : !1;
314
+ };
141
315
  }
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
- });
316
+ const ae = $(-1), pe = $(1);
317
+ function de(t, e = null) {
318
+ return function(r, n) {
319
+ let { $from: o, $to: l } = r.selection, i = o.blockRange(l), f = i && J(i, t, e);
320
+ return f ? (n && n(r.tr.wrap(i, f).scrollIntoView()), !0) : !1;
321
+ };
154
322
  }
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());
323
+ function me(t, e = null) {
324
+ return function(r, n) {
325
+ let o = !1;
326
+ for (let l = 0; l < r.selection.ranges.length && !o; l++) {
327
+ let { $from: { pos: i }, $to: { pos: f } } = r.selection.ranges[l];
328
+ r.doc.nodesBetween(i, f, (c, p) => {
329
+ if (o)
330
+ return !1;
331
+ if (!(!c.isTextblock || c.hasMarkup(t, e)))
332
+ if (c.type == t)
333
+ o = !0;
334
+ else {
335
+ let s = r.doc.resolve(p), m = s.index();
336
+ o = s.parent.canReplaceWith(m, m + 1, t);
337
+ }
338
+ });
169
339
  }
170
- let p = i.findGapCursorFrom(a, e, f);
171
- return p ? (r && r(o.tr.setSelection(new i(p))), !0) : !1;
340
+ if (!o)
341
+ return !1;
342
+ if (n) {
343
+ let l = r.tr;
344
+ for (let i = 0; i < r.selection.ranges.length; i++) {
345
+ let { $from: { pos: f }, $to: { pos: c } } = r.selection.ranges[i];
346
+ l.setBlockType(f, c, t, e);
347
+ }
348
+ n(l.scrollIntoView());
349
+ }
350
+ return !0;
172
351
  };
173
352
  }
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)
353
+ function O(...t) {
354
+ return function(e, r, n) {
355
+ for (let o = 0; o < t.length; o++)
356
+ if (t[o](e, r, n))
357
+ return !0;
188
358
  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" })]);
359
+ };
200
360
  }
361
+ O(M, G, H);
362
+ O(M, K, L);
363
+ O(Q, X, Y, _);
364
+ typeof navigator < "u" ? /Mac|iP(hone|[oa]d)/.test(navigator.platform) : typeof os < "u" && os.platform && os.platform() == "darwin";
201
365
  export {
202
- i as GapCursor,
203
- B as gapCursor
366
+ O as chainCommands,
367
+ X as createParagraphNear,
368
+ M as deleteSelection,
369
+ se as exitCode,
370
+ G as joinBackward,
371
+ fe as joinDown,
372
+ K as joinForward,
373
+ oe as joinTextblockBackward,
374
+ le as joinTextblockForward,
375
+ ie as joinUp,
376
+ ce as lift,
377
+ Y as liftEmptyBlock,
378
+ Q as newlineInCode,
379
+ H as selectNodeBackward,
380
+ L as selectNodeForward,
381
+ ue as selectParentNode,
382
+ pe as selectTextblockEnd,
383
+ ae as selectTextblockStart,
384
+ me as setBlockType,
385
+ _ as splitBlock,
386
+ Z as splitBlockAs,
387
+ de as wrapIn
204
388
  };