@quoreadmin/ui 1.7.2 → 1.7.3

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 (178) hide show
  1. package/dist/index140.js +2 -2
  2. package/dist/index142.js +1 -1
  3. package/dist/index144.js +4 -4
  4. package/dist/index175.js +4 -4
  5. package/dist/index182.js +8 -8
  6. package/dist/index184.js +8 -8
  7. package/dist/index186.js +1190 -36
  8. package/dist/index188.js +36 -5938
  9. package/dist/index189.js +42 -205
  10. package/dist/index190.js +5922 -19
  11. package/dist/index191.js +199 -10
  12. package/dist/index192.js +25 -1180
  13. package/dist/index193.js +20 -0
  14. package/dist/index201.js +4 -4
  15. package/dist/index208.js +2 -2
  16. package/dist/index209.js +1 -1
  17. package/dist/index210.js +1 -1
  18. package/dist/index211.js +1 -1
  19. package/dist/index212.js +1 -1
  20. package/dist/index213.js +4 -4
  21. package/dist/index215.js +4 -4
  22. package/dist/index218.js +1 -1
  23. package/dist/index219.js +21 -160
  24. package/dist/index220.js +13 -11
  25. package/dist/index221.js +10 -10
  26. package/dist/index222.js +836 -22
  27. package/dist/index223.js +661 -158
  28. package/dist/index224.js +173 -67
  29. package/dist/index225.js +20 -34
  30. package/dist/index226.js +19 -39
  31. package/dist/index227.js +21 -160
  32. package/dist/index228.js +20 -228
  33. package/dist/index229.js +19 -36
  34. package/dist/index230.js +20 -10
  35. package/dist/index231.js +3 -127
  36. package/dist/index232.js +173 -24
  37. package/dist/index233.js +131 -78
  38. package/dist/index234.js +160 -19
  39. package/dist/index235.js +1223 -20
  40. package/dist/index236.js +126 -19
  41. package/dist/index237.js +11 -11
  42. package/dist/index238.js +11 -11
  43. package/dist/index239.js +11 -13
  44. package/dist/index240.js +13 -11
  45. package/dist/index241.js +21 -819
  46. package/dist/index242.js +28 -701
  47. package/dist/index243.js +20 -176
  48. package/dist/index244.js +12 -14
  49. package/dist/index245.js +2 -20
  50. package/dist/index246.js +2 -20
  51. package/dist/index247.js +161 -3
  52. package/dist/index248.js +219 -178
  53. package/dist/index249.js +36 -132
  54. package/dist/index250.js +9 -1222
  55. package/dist/index251.js +15 -13
  56. package/dist/index252.js +198 -21
  57. package/dist/index253.js +69 -21
  58. package/dist/index254.js +33 -28
  59. package/dist/index255.js +39 -19
  60. package/dist/index256.js +80 -20
  61. package/dist/index257.js +20 -2
  62. package/dist/index258.js +20 -2
  63. package/dist/index259.js +6 -6
  64. package/dist/index260.js +1 -1
  65. package/dist/index261.js +1 -1
  66. package/dist/index274.js +2 -2
  67. package/dist/index279.js +79 -3
  68. package/dist/index280.js +78 -26
  69. package/dist/index281.js +21 -53
  70. package/dist/index282.js +910 -54
  71. package/dist/index283.js +13 -17
  72. package/dist/index284.js +11 -13
  73. package/dist/index285.js +13 -15
  74. package/dist/index286.js +67 -14
  75. package/dist/index287.js +16 -14
  76. package/dist/index288.js +17 -21
  77. package/dist/index289.js +54 -2
  78. package/dist/index290.js +21 -234
  79. package/dist/index291.js +21 -5
  80. package/dist/index292.js +62 -133
  81. package/dist/index293.js +2 -68
  82. package/dist/index294.js +25 -86
  83. package/dist/index295.js +21 -28
  84. package/dist/index296.js +21 -8
  85. package/dist/index297.js +16 -75
  86. package/dist/index298.js +17 -4
  87. package/dist/index299.js +23 -2
  88. package/dist/index300.js +3 -83
  89. package/dist/index301.js +26 -53
  90. package/dist/index302.js +1517 -5
  91. package/dist/index303.js +385 -4
  92. package/dist/index304.js +2700 -148
  93. package/dist/index305.js +83 -60
  94. package/dist/index306.js +3770 -75
  95. package/dist/index307.js +56 -75
  96. package/dist/index308.js +15 -22
  97. package/dist/index309.js +72 -923
  98. package/dist/index310.js +202 -22
  99. package/dist/index311.js +246 -20
  100. package/dist/index312.js +234 -19
  101. package/dist/index313.js +5 -68
  102. package/dist/index314.js +133 -18
  103. package/dist/index315.js +68 -19
  104. package/dist/index316.js +85 -20
  105. package/dist/index317.js +28 -21
  106. package/dist/index318.js +8 -62
  107. package/dist/index319.js +64 -1507
  108. package/dist/index320.js +3 -385
  109. package/dist/index321.js +2 -2731
  110. package/dist/index322.js +77 -80
  111. package/dist/index323.js +53 -3769
  112. package/dist/index324.js +4 -58
  113. package/dist/index325.js +5 -15
  114. package/dist/index326.js +166 -71
  115. package/dist/index327.js +57 -196
  116. package/dist/index328.js +75 -246
  117. package/dist/index329.js +36 -8
  118. package/dist/index330.js +19 -12
  119. package/dist/index331.js +19 -54
  120. package/dist/index332.js +63 -11
  121. package/dist/index333.js +37 -14
  122. package/dist/index334.js +8 -57
  123. package/dist/index335.js +12 -51
  124. package/dist/index336.js +49 -25
  125. package/dist/index337.js +12 -2
  126. package/dist/index338.js +14 -5
  127. package/dist/index339.js +58 -2
  128. package/dist/index340.js +52 -23
  129. package/dist/index341.js +28 -38
  130. package/dist/index342.js +2 -2
  131. package/dist/index343.js +4 -10
  132. package/dist/index344.js +2 -20
  133. package/dist/index345.js +21 -15
  134. package/dist/index346.js +40 -9
  135. package/dist/index347.js +2 -10
  136. package/dist/index348.js +11 -2
  137. package/dist/index349.js +20 -9
  138. package/dist/index350.js +16 -9
  139. package/dist/index351.js +9 -13
  140. package/dist/index352.js +10 -37
  141. package/dist/index353.js +2 -21
  142. package/dist/index354.js +9 -56
  143. package/dist/index355.js +9 -28
  144. package/dist/index356.js +14 -7
  145. package/dist/index357.js +18 -49
  146. package/dist/index358.js +56 -6
  147. package/dist/index359.js +27 -10
  148. package/dist/index360.js +7 -7
  149. package/dist/index361.js +51 -27
  150. package/dist/index362.js +6 -2
  151. package/dist/index363.js +11 -69
  152. package/dist/index364.js +6 -166
  153. package/dist/index365.js +28 -20
  154. package/dist/index366.js +2 -20
  155. package/dist/index367.js +67 -61
  156. package/dist/index368.js +166 -36
  157. package/dist/index369.js +17 -31
  158. package/dist/index370.js +98 -11
  159. package/dist/index371.js +98 -1
  160. package/dist/index372.js +90 -3
  161. package/dist/index373.js +30 -12
  162. package/dist/index374.js +11 -7
  163. package/dist/index375.js +3 -11
  164. package/dist/index376.js +3 -4
  165. package/dist/index377.js +13 -33
  166. package/dist/index378.js +7 -31
  167. package/dist/index379.js +12 -28
  168. package/dist/index380.js +5 -61
  169. package/dist/index381.js +33 -17
  170. package/dist/index382.js +29 -99
  171. package/dist/index383.js +27 -97
  172. package/dist/index384.js +61 -91
  173. package/dist/index385.js +1 -1
  174. package/dist/index390.js +1 -1
  175. package/dist/index391.js +2 -2
  176. package/package.json +1 -1
  177. package/src/assets/illustrations/no-files-uploaded.svg +11 -0
  178. package/dist/index187.js +0 -46
package/dist/index310.js CHANGED
@@ -1,24 +1,204 @@
1
- import r from "./index282.js";
2
- import { createElementBlock as t, openBlock as o, mergeProps as C, createElementVNode as l } from "vue";
3
- var n = {
4
- name: "AngleDoubleRightIcon",
5
- extends: r
6
- }, i = /* @__PURE__ */ l("path", {
7
- "fill-rule": "evenodd",
8
- "clip-rule": "evenodd",
9
- d: "M7.68757 11.1451C7.7791 11.1831 7.8773 11.2024 7.9764 11.2019C8.07769 11.1985 8.17721 11.1745 8.26886 11.1312C8.36052 11.088 8.44238 11.0265 8.50943 10.9505L12.0294 7.49085C12.1707 7.34942 12.25 7.15771 12.25 6.95782C12.25 6.75794 12.1707 6.56622 12.0294 6.42479L8.50943 2.90479C8.37014 2.82159 8.20774 2.78551 8.04633 2.80192C7.88491 2.81833 7.73309 2.88635 7.6134 2.99588C7.4937 3.10541 7.41252 3.25061 7.38189 3.40994C7.35126 3.56927 7.37282 3.73423 7.44337 3.88033L10.4605 6.89748L7.44337 9.91463C7.30212 10.0561 7.22278 10.2478 7.22278 10.4477C7.22278 10.6475 7.30212 10.8393 7.44337 10.9807C7.51301 11.0512 7.59603 11.1071 7.68757 11.1451ZM1.94207 10.9505C2.07037 11.0968 2.25089 11.1871 2.44493 11.2019C2.63898 11.1871 2.81949 11.0968 2.94779 10.9505L6.46779 7.49085C6.60905 7.34942 6.68839 7.15771 6.68839 6.95782C6.68839 6.75793 6.60905 6.56622 6.46779 6.42479L2.94779 2.90479C2.80704 2.83757 2.6489 2.81563 2.49517 2.84201C2.34143 2.86839 2.19965 2.94178 2.08936 3.05207C1.97906 3.16237 1.90567 3.30415 1.8793 3.45788C1.85292 3.61162 1.87485 3.76975 1.94207 3.9105L4.95922 6.92765L1.94207 9.9448C1.81838 10.0831 1.75 10.2621 1.75 10.4477C1.75 10.6332 1.81838 10.8122 1.94207 10.9505Z",
10
- fill: "currentColor"
11
- }, null, -1), p = [i];
12
- function d(e, s, a, c, h, m) {
13
- return o(), t("svg", C({
14
- width: "14",
15
- height: "14",
16
- viewBox: "0 0 14 14",
17
- fill: "none",
18
- xmlns: "http://www.w3.org/2000/svg"
19
- }, e.pti()), p, 16);
20
- }
21
- n.render = d;
1
+ import { keydownHandler as v } from "./index307.js";
2
+ import { Plugin as w, TextSelection as m, NodeSelection as x, Selection as u } from "./index274.js";
3
+ import { Fragment as h, Slice as g } from "./index304.js";
4
+ import { DecorationSet as S, Decoration as A } from "./index306.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.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;
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 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
+ }
22
201
  export {
23
- n as default
202
+ i as GapCursor,
203
+ B as gapCursor
24
204
  };
package/dist/index311.js CHANGED
@@ -1,22 +1,248 @@
1
- import t from "./index282.js";
2
- import { createElementBlock as r, openBlock as o, mergeProps as n, createElementVNode as i } from "vue";
3
- var l = {
4
- name: "AngleRightIcon",
5
- extends: t
6
- }, p = /* @__PURE__ */ i("path", {
7
- d: "M5.25 11.1728C5.14929 11.1694 5.05033 11.1455 4.9592 11.1025C4.86806 11.0595 4.78666 10.9984 4.72 10.9228C4.57955 10.7822 4.50066 10.5916 4.50066 10.3928C4.50066 10.1941 4.57955 10.0035 4.72 9.86283L7.72 6.86283L4.72 3.86283C4.66067 3.71882 4.64765 3.55991 4.68275 3.40816C4.71785 3.25642 4.79932 3.11936 4.91585 3.01602C5.03238 2.91268 5.17819 2.84819 5.33305 2.83149C5.4879 2.81479 5.64411 2.84671 5.78 2.92283L9.28 6.42283C9.42045 6.56346 9.49934 6.75408 9.49934 6.95283C9.49934 7.15158 9.42045 7.34221 9.28 7.48283L5.78 10.9228C5.71333 10.9984 5.63193 11.0595 5.5408 11.1025C5.44966 11.1455 5.35071 11.1694 5.25 11.1728Z",
8
- fill: "currentColor"
9
- }, null, -1), s = [p];
10
- function C(e, a, c, d, h, m) {
11
- return o(), r("svg", n({
12
- width: "14",
13
- height: "14",
14
- viewBox: "0 0 14 14",
15
- fill: "none",
16
- xmlns: "http://www.w3.org/2000/svg"
17
- }, e.pti()), s, 16);
18
- }
19
- l.render = C;
1
+ import P from "./index370.js";
2
+ import { Mapping as k } from "./index302.js";
3
+ import { Plugin as H, PluginKey as O } from "./index274.js";
4
+ const D = 500;
5
+ class c {
6
+ constructor(t, e) {
7
+ this.items = t, this.eventCount = e;
8
+ }
9
+ // Pop the latest event off the branch's history and apply it
10
+ // to a document transform.
11
+ popEvent(t, e) {
12
+ if (this.eventCount == 0)
13
+ return null;
14
+ let i = this.items.length;
15
+ for (; ; i--)
16
+ if (this.items.get(i - 1).selection) {
17
+ --i;
18
+ break;
19
+ }
20
+ let s, p;
21
+ e && (s = this.remapping(i, this.items.length), p = s.maps.length);
22
+ let l = t.tr, r, m, u = [], f = [];
23
+ return this.items.forEach((a, o) => {
24
+ if (!a.step) {
25
+ s || (s = this.remapping(i, o + 1), p = s.maps.length), p--, f.push(a);
26
+ return;
27
+ }
28
+ if (s) {
29
+ f.push(new g(a.map));
30
+ let d = a.step.map(s.slice(p)), v;
31
+ d && l.maybeStep(d).doc && (v = l.mapping.maps[l.mapping.maps.length - 1], u.push(new g(v, void 0, void 0, u.length + f.length))), p--, v && s.appendMap(v, p);
32
+ } else
33
+ l.maybeStep(a.step);
34
+ if (a.selection)
35
+ return r = s ? a.selection.map(s.slice(p)) : a.selection, m = new c(this.items.slice(0, i).append(f.reverse().concat(u)), this.eventCount - 1), !1;
36
+ }, this.items.length, 0), { remaining: m, transform: l, selection: r };
37
+ }
38
+ // Create a new branch with the given transform added.
39
+ addTransform(t, e, i, s) {
40
+ let p = [], l = this.eventCount, r = this.items, m = !s && r.length ? r.get(r.length - 1) : null;
41
+ for (let f = 0; f < t.steps.length; f++) {
42
+ let a = t.steps[f].invert(t.docs[f]), o = new g(t.mapping.maps[f], a, e), d;
43
+ (d = m && m.merge(o)) && (o = d, f ? p.pop() : r = r.slice(0, r.length - 1)), p.push(o), e && (l++, e = void 0), s || (m = o);
44
+ }
45
+ let u = l - i.depth;
46
+ return u > y && (r = x(r, u), l -= u), new c(r.append(p), l);
47
+ }
48
+ remapping(t, e) {
49
+ let i = new k();
50
+ return this.items.forEach((s, p) => {
51
+ let l = s.mirrorOffset != null && p - s.mirrorOffset >= t ? i.maps.length - s.mirrorOffset : void 0;
52
+ i.appendMap(s.map, l);
53
+ }, t, e), i;
54
+ }
55
+ addMaps(t) {
56
+ return this.eventCount == 0 ? this : new c(this.items.append(t.map((e) => new g(e))), this.eventCount);
57
+ }
58
+ // When the collab module receives remote changes, the history has
59
+ // to know about those, so that it can adjust the steps that were
60
+ // rebased on top of the remote changes, and include the position
61
+ // maps for the remote changes in its array of items.
62
+ rebased(t, e) {
63
+ if (!this.eventCount)
64
+ return this;
65
+ let i = [], s = Math.max(0, this.items.length - e), p = t.mapping, l = t.steps.length, r = this.eventCount;
66
+ this.items.forEach((o) => {
67
+ o.selection && r--;
68
+ }, s);
69
+ let m = e;
70
+ this.items.forEach((o) => {
71
+ let d = p.getMirror(--m);
72
+ if (d == null)
73
+ return;
74
+ l = Math.min(l, d);
75
+ let v = p.maps[d];
76
+ if (o.step) {
77
+ let S = t.steps[d].invert(t.docs[d]), E = o.selection && o.selection.map(p.slice(m + 1, d));
78
+ E && r++, i.push(new g(v, S, E));
79
+ } else
80
+ i.push(new g(v));
81
+ }, s);
82
+ let u = [];
83
+ for (let o = e; o < l; o++)
84
+ u.push(new g(p.maps[o]));
85
+ let f = this.items.slice(0, s).append(u).append(i), a = new c(f, r);
86
+ return a.emptyItemCount() > D && (a = a.compress(this.items.length - i.length)), a;
87
+ }
88
+ emptyItemCount() {
89
+ let t = 0;
90
+ return this.items.forEach((e) => {
91
+ e.step || t++;
92
+ }), t;
93
+ }
94
+ // Compressing a branch means rewriting it to push the air (map-only
95
+ // items) out. During collaboration, these naturally accumulate
96
+ // because each remote change adds one. The `upto` argument is used
97
+ // to ensure that only the items below a given level are compressed,
98
+ // because `rebased` relies on a clean, untouched set of items in
99
+ // order to associate old items with rebased steps.
100
+ compress(t = this.items.length) {
101
+ let e = this.remapping(0, t), i = e.maps.length, s = [], p = 0;
102
+ return this.items.forEach((l, r) => {
103
+ if (r >= t)
104
+ s.push(l), l.selection && p++;
105
+ else if (l.step) {
106
+ let m = l.step.map(e.slice(i)), u = m && m.getMap();
107
+ if (i--, u && e.appendMap(u, i), m) {
108
+ let f = l.selection && l.selection.map(e.slice(i));
109
+ f && p++;
110
+ let a = new g(u.invert(), m, f), o, d = s.length - 1;
111
+ (o = s.length && s[d].merge(a)) ? s[d] = o : s.push(a);
112
+ }
113
+ } else l.map && i--;
114
+ }, this.items.length, 0), new c(P.from(s.reverse()), p);
115
+ }
116
+ }
117
+ c.empty = new c(P.empty, 0);
118
+ function x(n, t) {
119
+ let e;
120
+ return n.forEach((i, s) => {
121
+ if (i.selection && t-- == 0)
122
+ return e = s, !1;
123
+ }), n.slice(e);
124
+ }
125
+ class g {
126
+ constructor(t, e, i, s) {
127
+ this.map = t, this.step = e, this.selection = i, this.mirrorOffset = s;
128
+ }
129
+ merge(t) {
130
+ if (this.step && t.step && !t.selection) {
131
+ let e = t.step.merge(this.step);
132
+ if (e)
133
+ return new g(e.getMap().invert(), e, this.selection);
134
+ }
135
+ }
136
+ }
137
+ class h {
138
+ constructor(t, e, i, s, p) {
139
+ this.done = t, this.undone = e, this.prevRanges = i, this.prevTime = s, this.prevComposition = p;
140
+ }
141
+ }
142
+ const y = 20;
143
+ function F(n, t, e, i) {
144
+ let s = e.getMeta(w), p;
145
+ if (s)
146
+ return s.historyState;
147
+ e.getMeta(j) && (n = new h(n.done, n.undone, null, 0, -1));
148
+ let l = e.getMeta("appendedTransaction");
149
+ if (e.steps.length == 0)
150
+ return n;
151
+ if (l && l.getMeta(w))
152
+ return l.getMeta(w).redo ? new h(n.done.addTransform(e, void 0, i, M(t)), n.undone, I(e.mapping.maps), n.prevTime, n.prevComposition) : new h(n.done, n.undone.addTransform(e, void 0, i, M(t)), null, n.prevTime, n.prevComposition);
153
+ if (e.getMeta("addToHistory") !== !1 && !(l && l.getMeta("addToHistory") === !1)) {
154
+ let r = e.getMeta("composition"), m = n.prevTime == 0 || !l && n.prevComposition != r && (n.prevTime < (e.time || 0) - i.newGroupDelay || !G(e, n.prevRanges)), u = l ? C(n.prevRanges, e.mapping) : I(e.mapping.maps);
155
+ return new h(n.done.addTransform(e, m ? t.selection.getBookmark() : void 0, i, M(t)), c.empty, u, e.time, r ?? n.prevComposition);
156
+ } else return (p = e.getMeta("rebased")) ? new h(n.done.rebased(e, p), n.undone.rebased(e, p), C(n.prevRanges, e.mapping), n.prevTime, n.prevComposition) : new h(n.done.addMaps(e.mapping.maps), n.undone.addMaps(e.mapping.maps), C(n.prevRanges, e.mapping), n.prevTime, n.prevComposition);
157
+ }
158
+ function G(n, t) {
159
+ if (!t)
160
+ return !1;
161
+ if (!n.docChanged)
162
+ return !0;
163
+ let e = !1;
164
+ return n.mapping.maps[0].forEach((i, s) => {
165
+ for (let p = 0; p < t.length; p += 2)
166
+ i <= t[p + 1] && s >= t[p] && (e = !0);
167
+ }), e;
168
+ }
169
+ function I(n) {
170
+ let t = [];
171
+ for (let e = n.length - 1; e >= 0 && t.length == 0; e--)
172
+ n[e].forEach((i, s, p, l) => t.push(p, l));
173
+ return t;
174
+ }
175
+ function C(n, t) {
176
+ if (!n)
177
+ return null;
178
+ let e = [];
179
+ for (let i = 0; i < n.length; i += 2) {
180
+ let s = t.map(n[i], 1), p = t.map(n[i + 1], -1);
181
+ s <= p && e.push(s, p);
182
+ }
183
+ return e;
184
+ }
185
+ function K(n, t, e) {
186
+ let i = M(t), s = w.get(t).spec.config, p = (e ? n.undone : n.done).popEvent(t, i);
187
+ if (!p)
188
+ return null;
189
+ let l = p.selection.resolve(p.transform.doc), r = (e ? n.done : n.undone).addTransform(p.transform, t.selection.getBookmark(), s, i), m = new h(e ? r : p.remaining, e ? p.remaining : r, null, 0, -1);
190
+ return p.transform.setSelection(l).setMeta(w, { redo: e, historyState: m });
191
+ }
192
+ let T = !1, b = null;
193
+ function M(n) {
194
+ let t = n.plugins;
195
+ if (b != t) {
196
+ T = !1, b = t;
197
+ for (let e = 0; e < t.length; e++)
198
+ if (t[e].spec.historyPreserveItems) {
199
+ T = !0;
200
+ break;
201
+ }
202
+ }
203
+ return T;
204
+ }
205
+ const w = new O("history"), j = new O("closeHistory");
206
+ function W(n = {}) {
207
+ return n = {
208
+ depth: n.depth || 100,
209
+ newGroupDelay: n.newGroupDelay || 500
210
+ }, new H({
211
+ key: w,
212
+ state: {
213
+ init() {
214
+ return new h(c.empty, c.empty, null, 0, -1);
215
+ },
216
+ apply(t, e, i) {
217
+ return F(e, i, t, n);
218
+ }
219
+ },
220
+ config: n,
221
+ props: {
222
+ handleDOMEvents: {
223
+ beforeinput(t, e) {
224
+ let i = e.inputType, s = i == "historyUndo" ? A : i == "historyRedo" ? U : null;
225
+ return !s || !t.editable ? !1 : (e.preventDefault(), s(t.state, t.dispatch));
226
+ }
227
+ }
228
+ }
229
+ });
230
+ }
231
+ function R(n, t) {
232
+ return (e, i) => {
233
+ let s = w.getState(e);
234
+ if (!s || (n ? s.undone : s.done).eventCount == 0)
235
+ return !1;
236
+ if (i) {
237
+ let p = K(s, e, n);
238
+ p && i(t ? p.scrollIntoView() : p);
239
+ }
240
+ return !0;
241
+ };
242
+ }
243
+ const A = R(!1, !0), U = R(!0, !0);
20
244
  export {
21
- l as default
245
+ W as history,
246
+ U as redo,
247
+ A as undo
22
248
  };