@quoreadmin/ui 1.6.6 → 1.6.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 (226) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index139.js +332 -300
  3. package/dist/index141.js +1 -1
  4. package/dist/index143.js +4 -4
  5. package/dist/index153.js +1 -1
  6. package/dist/index157.js +7 -7
  7. package/dist/index170.js +14 -14
  8. package/dist/index171.js +3 -3
  9. package/dist/index174.js +4 -4
  10. package/dist/index181.js +10 -10
  11. package/dist/index182.js +2 -2
  12. package/dist/index183.js +10 -10
  13. package/dist/index185.js +1 -1
  14. package/dist/index186.js +44 -115
  15. package/dist/index187.js +1188 -42
  16. package/dist/index189.js +5940 -0
  17. package/dist/index190.js +99 -5830
  18. package/dist/index191.js +16 -188
  19. package/dist/index192.js +8 -25
  20. package/dist/index193.js +76 -16
  21. package/dist/index194.js +249 -74
  22. package/dist/index195.js +13660 -229
  23. package/dist/index196.js +27 -13684
  24. package/dist/index197.js +62 -26
  25. package/dist/index198.js +215 -40
  26. package/dist/index199.js +276 -206
  27. package/dist/index20.js +4 -4
  28. package/dist/index200.js +258 -278
  29. package/dist/index201.js +32 -287
  30. package/dist/index202.js +113 -30
  31. package/dist/index203.js +30 -110
  32. package/dist/index204.js +26 -36
  33. package/dist/index205.js +36 -26
  34. package/dist/index206.js +9 -36
  35. package/dist/index207.js +19 -9
  36. package/dist/index208.js +10 -19
  37. package/dist/index209.js +10 -10
  38. package/dist/index210.js +51 -10
  39. package/dist/index211.js +37 -45
  40. package/dist/index212.js +3 -42
  41. package/dist/index213.js +38 -3
  42. package/dist/index214.js +21 -39
  43. package/dist/index215.js +88 -21
  44. package/dist/index216.js +389 -70
  45. package/dist/index217.js +21 -406
  46. package/dist/index218.js +159 -20
  47. package/dist/index219.js +19 -160
  48. package/dist/index220.js +20 -228
  49. package/dist/index221.js +21 -36
  50. package/dist/index222.js +198 -9
  51. package/dist/index223.js +64 -121
  52. package/dist/index224.js +32 -36
  53. package/dist/index225.js +40 -80
  54. package/dist/index226.js +14 -12
  55. package/dist/index227.js +14 -12
  56. package/dist/index228.js +12 -12
  57. package/dist/index229.js +836 -20
  58. package/dist/index230.js +701 -19
  59. package/dist/index231.js +171 -156
  60. package/dist/index232.js +11 -11
  61. package/dist/index233.js +13 -15
  62. package/dist/index234.js +21 -198
  63. package/dist/index235.js +19 -69
  64. package/dist/index236.js +20 -34
  65. package/dist/index237.js +3 -40
  66. package/dist/index238.js +186 -21
  67. package/dist/index239.js +132 -21
  68. package/dist/index240.js +1223 -20
  69. package/dist/index241.js +114 -823
  70. package/dist/index242.js +19 -701
  71. package/dist/index243.js +22 -176
  72. package/dist/index244.js +8 -8
  73. package/dist/index245.js +37 -19
  74. package/dist/index246.js +22 -13
  75. package/dist/index247.js +20 -3
  76. package/dist/index248.js +19 -186
  77. package/dist/index249.js +2 -133
  78. package/dist/index250.js +2 -1223
  79. package/dist/index251.js +3632 -20
  80. package/dist/index252.js +55 -22
  81. package/dist/index253.js +77 -22
  82. package/dist/index254.js +52 -29
  83. package/dist/index255.js +215 -20
  84. package/dist/index256.js +10 -20
  85. package/dist/index257.js +57 -2
  86. package/dist/index258.js +61 -2
  87. package/dist/index259.js +39 -3617
  88. package/dist/index260.js +50 -30
  89. package/dist/index261.js +689 -43
  90. package/dist/index262.js +22 -35
  91. package/dist/index263.js +34 -185
  92. package/dist/index264.js +10 -9
  93. package/dist/index265.js +697 -49
  94. package/dist/index266.js +816 -57
  95. package/dist/index267.js +160 -53
  96. package/dist/index268.js +225 -72
  97. package/dist/index269.js +34 -720
  98. package/dist/index270.js +10 -39
  99. package/dist/index271.js +73 -57
  100. package/dist/index272.js +20 -11
  101. package/dist/index273.js +20 -705
  102. package/dist/index274.js +234 -801
  103. package/dist/index275.js +8 -253
  104. package/dist/index276.js +138 -8
  105. package/dist/index277.js +68 -123
  106. package/dist/index278.js +50 -79
  107. package/dist/index279.js +79 -3
  108. package/dist/index280.js +25 -26
  109. package/dist/index281.js +22 -2
  110. package/dist/index282.js +21 -78
  111. package/dist/index283.js +14 -52
  112. package/dist/index284.js +17 -26
  113. package/dist/index285.js +23 -22
  114. package/dist/index286.js +1518 -22
  115. package/dist/index287.js +386 -16
  116. package/dist/index288.js +2731 -17
  117. package/dist/index289.js +85 -22
  118. package/dist/index290.js +3770 -79
  119. package/dist/index291.js +59 -21
  120. package/dist/index292.js +14 -934
  121. package/dist/index293.js +83 -21
  122. package/dist/index294.js +202 -20
  123. package/dist/index295.js +246 -20
  124. package/dist/index296.js +77 -67
  125. package/dist/index297.js +21 -18
  126. package/dist/index298.js +934 -18
  127. package/dist/index299.js +16 -16
  128. package/dist/index300.js +11 -13
  129. package/dist/index301.js +19 -62
  130. package/dist/index302.js +69 -1518
  131. package/dist/index303.js +19 -386
  132. package/dist/index304.js +19 -2731
  133. package/dist/index305.js +21 -85
  134. package/dist/index306.js +22 -3770
  135. package/dist/index307.js +63 -60
  136. package/dist/index308.js +2 -15
  137. package/dist/index309.js +3 -84
  138. package/dist/index310.js +22 -197
  139. package/dist/index311.js +219 -230
  140. package/dist/index312.js +4 -233
  141. package/dist/index313.js +133 -5
  142. package/dist/index314.js +63 -129
  143. package/dist/index315.js +86 -67
  144. package/dist/index316.js +27 -85
  145. package/dist/index317.js +8 -28
  146. package/dist/index318.js +74 -8
  147. package/dist/index319.js +3 -74
  148. package/dist/index320.js +2 -4
  149. package/dist/index321.js +83 -2
  150. package/dist/index322.js +52 -81
  151. package/dist/index323.js +5 -53
  152. package/dist/index324.js +4 -5
  153. package/dist/index325.js +178 -4
  154. package/dist/index326.js +58 -174
  155. package/dist/index327.js +73 -61
  156. package/dist/index328.js +36 -74
  157. package/dist/index329.js +19 -8
  158. package/dist/index330.js +19 -12
  159. package/dist/index331.js +60 -51
  160. package/dist/index332.js +37 -12
  161. package/dist/index333.js +8 -13
  162. package/dist/index334.js +12 -57
  163. package/dist/index335.js +51 -48
  164. package/dist/index336.js +9 -28
  165. package/dist/index337.js +14 -2
  166. package/dist/index338.js +58 -5
  167. package/dist/index339.js +52 -2
  168. package/dist/index340.js +30 -22
  169. package/dist/index341.js +2 -41
  170. package/dist/index342.js +5 -2
  171. package/dist/index343.js +2 -11
  172. package/dist/index344.js +22 -19
  173. package/dist/index345.js +38 -14
  174. package/dist/index346.js +2 -10
  175. package/dist/index347.js +10 -9
  176. package/dist/index348.js +20 -2
  177. package/dist/index349.js +16 -8
  178. package/dist/index350.js +10 -10
  179. package/dist/index351.js +9 -13
  180. package/dist/index352.js +2 -37
  181. package/dist/index353.js +9 -20
  182. package/dist/index354.js +9 -19
  183. package/dist/index355.js +14 -64
  184. package/dist/index356.js +20 -36
  185. package/dist/index357.js +54 -19
  186. package/dist/index358.js +28 -55
  187. package/dist/index359.js +5 -27
  188. package/dist/index360.js +51 -6
  189. package/dist/index361.js +5 -51
  190. package/dist/index362.js +12 -6
  191. package/dist/index363.js +7 -12
  192. package/dist/index364.js +27 -6
  193. package/dist/index365.js +2 -28
  194. package/dist/index366.js +70 -2
  195. package/dist/index367.js +164 -67
  196. package/dist/index368.js +99 -165
  197. package/dist/index369.js +91 -17
  198. package/dist/index370.js +95 -98
  199. package/dist/index371.js +17 -91
  200. package/dist/index372.js +30 -97
  201. package/dist/index373.js +10 -30
  202. package/dist/index374.js +3 -10
  203. package/dist/index375.js +3 -3
  204. package/dist/index376.js +13 -4
  205. package/dist/index377.js +7 -13
  206. package/dist/index378.js +12 -7
  207. package/dist/index379.js +4 -11
  208. package/dist/index380.js +33 -5
  209. package/dist/index381.js +31 -33
  210. package/dist/index382.js +26 -29
  211. package/dist/index383.js +59 -26
  212. package/dist/index384.js +3 -61
  213. package/dist/index385.js +2 -3
  214. package/dist/index386.js +2 -2
  215. package/dist/index387.js +17 -2
  216. package/dist/index388.js +11 -15
  217. package/dist/index389.js +6 -13
  218. package/dist/index390.js +32 -6
  219. package/dist/index43.js +321 -314
  220. package/dist/index47.js +4 -4
  221. package/dist/src/components/room-details-popover/room-details-popover.d.ts +91 -1
  222. package/dist/src/components/textarea/textarea.d.ts +1 -1
  223. package/dist/src/components/textarea/textarea.stories.d.ts +1 -1
  224. package/package.json +1 -1
  225. package/dist/index188.js +0 -1192
  226. package/dist/index391.js +0 -34
package/dist/index200.js CHANGED
@@ -1,310 +1,290 @@
1
- import { Mark as x, markPasteRule as b, mergeAttributes as v, combineTransactionSteps as w, getChangedRanges as T, findChildrenInRange as O, getMarksBetween as R, getAttributes as _ } from "./index259.js";
2
- import { registerCustomProtocol as C, tokenize as H, find as M, reset as U } from "./index273.js";
3
- import { Plugin as g, PluginKey as A } from "./index274.js";
4
- var P = "[\0-   ᠎ -\u2029  ]", I = new RegExp(P), B = new RegExp(`${P}$`), N = new RegExp(P, "g");
5
- function W(t) {
6
- return t.length === 1 ? t[0].isLink : t.length === 3 && t[1].isLink ? ["()", "[]"].includes(t[0].value + t[2].value) : !1;
7
- }
8
- function z(t) {
9
- return new g({
10
- key: new A("autolink"),
11
- appendTransaction: (e, r, o) => {
12
- const s = e.some((i) => i.docChanged) && !r.doc.eq(o.doc), l = e.some((i) => i.getMeta("preventAutolink"));
13
- if (!s || l)
14
- return;
15
- const { tr: d } = o, a = w(r.doc, [...e]);
16
- if (T(a).forEach(({ newRange: i }) => {
17
- const f = O(o.doc, i, (c) => c.isTextblock);
18
- let u, p;
19
- if (f.length > 1)
20
- u = f[0], p = o.doc.textBetween(
21
- u.pos,
22
- u.pos + u.node.nodeSize,
23
- void 0,
24
- " "
25
- );
26
- else if (f.length) {
27
- const c = o.doc.textBetween(i.from, i.to, " ", " ");
28
- if (!B.test(c))
1
+ import { Extension as u, isNodeEmpty as w, callOrReturn as v, getExtensionField as S, isNodeSelection as P } from "./index251.js";
2
+ import { Plugin as p, PluginKey as m } from "./index266.js";
3
+ import { dropCursor as z } from "./index293.js";
4
+ import { Decoration as g, DecorationSet as f } from "./index290.js";
5
+ import { gapCursor as N } from "./index294.js";
6
+ import { history as E, redo as M, undo as O } from "./index295.js";
7
+ u.create({
8
+ name: "characterCount",
9
+ addOptions() {
10
+ return {
11
+ limit: null,
12
+ mode: "textSize",
13
+ textCounter: (e) => e.length,
14
+ wordCounter: (e) => e.split(" ").filter((t) => t !== "").length
15
+ };
16
+ },
17
+ addStorage() {
18
+ return {
19
+ characters: () => 0,
20
+ words: () => 0
21
+ };
22
+ },
23
+ onBeforeCreate() {
24
+ this.storage.characters = (e) => {
25
+ const t = e?.node || this.editor.state.doc;
26
+ if ((e?.mode || this.options.mode) === "textSize") {
27
+ const r = t.textBetween(0, t.content.size, void 0, " ");
28
+ return this.options.textCounter(r);
29
+ }
30
+ return t.nodeSize;
31
+ }, this.storage.words = (e) => {
32
+ const t = e?.node || this.editor.state.doc, n = t.textBetween(0, t.content.size, " ", " ");
33
+ return this.options.wordCounter(n);
34
+ };
35
+ },
36
+ addProseMirrorPlugins() {
37
+ let e = !1;
38
+ return [
39
+ new p({
40
+ key: new m("characterCount"),
41
+ appendTransaction: (t, n, r) => {
42
+ if (e)
29
43
  return;
30
- u = f[0], p = o.doc.textBetween(u.pos, i.to, void 0, " ");
31
- }
32
- if (u && p) {
33
- const c = p.split(I).filter(Boolean);
34
- if (c.length <= 0)
35
- return !1;
36
- const m = c[c.length - 1], E = u.pos + p.lastIndexOf(m);
37
- if (!m)
38
- return !1;
39
- const L = H(m).map((n) => n.toObject(t.defaultProtocol));
40
- if (!W(L))
41
- return !1;
42
- L.filter((n) => n.isLink).map((n) => ({
43
- ...n,
44
- from: E + n.start + 1,
45
- to: E + n.end + 1
46
- })).filter((n) => o.schema.marks.code ? !o.doc.rangeHasMark(n.from, n.to, o.schema.marks.code) : !0).filter((n) => t.validate(n.value)).filter((n) => t.shouldAutoLink(n.value)).forEach((n) => {
47
- R(n.from, n.to, o.doc).some((y) => y.mark.type === t.type) || d.addMark(
48
- n.from,
49
- n.to,
50
- t.type.create({
51
- href: n.href
52
- })
44
+ const o = this.options.limit;
45
+ if (o == null || o === 0) {
46
+ e = !0;
47
+ return;
48
+ }
49
+ const s = this.storage.characters({ node: r.doc });
50
+ if (s > o) {
51
+ const i = s - o, d = 0, a = i;
52
+ console.warn(
53
+ `[CharacterCount] Initial content exceeded limit of ${o} characters. Content was automatically trimmed.`
53
54
  );
54
- });
55
- }
56
- }), !!d.steps.length)
57
- return d;
58
- }
59
- });
60
- }
61
- function V(t) {
62
- return new g({
63
- key: new A("handleClickLink"),
64
- props: {
65
- handleClick: (e, r, o) => {
66
- var s, l;
67
- if (o.button !== 0 || !e.editable)
68
- return !1;
69
- let d = !1;
70
- if (t.enableClickSelection && (d = t.editor.commands.extendMarkRange(t.type.name)), t.openOnClick) {
71
- let a = null;
72
- if (o.target instanceof HTMLAnchorElement)
73
- a = o.target;
74
- else {
75
- let u = o.target;
76
- const p = [];
77
- for (; u.nodeName !== "DIV"; )
78
- p.push(u), u = u.parentNode;
79
- a = p.find((c) => c.nodeName === "A");
55
+ const c = r.tr.deleteRange(d, a);
56
+ return e = !0, c;
80
57
  }
81
- if (!a)
82
- return d;
83
- const h = _(e.state, t.type.name), i = (s = a?.href) != null ? s : h.href, f = (l = a?.target) != null ? l : h.target;
84
- a && i && (window.open(i, f), d = !0);
58
+ e = !0;
59
+ },
60
+ filterTransaction: (t, n) => {
61
+ const r = this.options.limit;
62
+ if (!t.docChanged || r === 0 || r === null || r === void 0)
63
+ return !0;
64
+ const o = this.storage.characters({ node: n.doc }), s = this.storage.characters({ node: t.doc });
65
+ if (s <= r || o > r && s > r && s <= o)
66
+ return !0;
67
+ if (o > r && s > r && s > o || !t.getMeta("paste"))
68
+ return !1;
69
+ const d = t.selection.$head.pos, a = s - r, c = d - a, l = d;
70
+ return t.deleteRange(c, l), !(this.storage.characters({ node: t.doc }) > r);
85
71
  }
86
- return d;
87
- }
88
- }
89
- });
90
- }
91
- function D(t) {
92
- return new g({
93
- key: new A("handlePasteLink"),
94
- props: {
95
- handlePaste: (e, r, o) => {
96
- const { shouldAutoLink: s } = t, { state: l } = e, { selection: d } = l, { empty: a } = d;
97
- if (a)
98
- return !1;
99
- let h = "";
100
- o.content.forEach((f) => {
101
- h += f.textContent;
102
- });
103
- const i = M(h, { defaultProtocol: t.defaultProtocol }).find(
104
- (f) => f.isLink && f.value === h
105
- );
106
- return !h || !i || s !== void 0 && !s(i.value) ? !1 : t.editor.commands.setMark(t.type, {
107
- href: i.href
108
- });
109
- }
110
- }
111
- });
112
- }
113
- function k(t, e) {
114
- const r = ["http", "https", "ftp", "ftps", "mailto", "tel", "callto", "sms", "cid", "xmpp"];
115
- return e && e.forEach((o) => {
116
- const s = typeof o == "string" ? o : o.scheme;
117
- s && r.push(s);
118
- }), !t || t.replace(N, "").match(
119
- new RegExp(
120
- // eslint-disable-next-line no-useless-escape
121
- `^(?:(?:${r.join("|")}):|[^a-z]|[a-z0-9+.-]+(?:[^a-z+.-:]|$))`,
122
- "i"
123
- )
124
- );
125
- }
126
- var X = x.create({
127
- name: "link",
128
- priority: 1e3,
129
- keepOnSplit: !1,
130
- exitable: !0,
131
- onCreate() {
132
- this.options.validate && !this.options.shouldAutoLink && (this.options.shouldAutoLink = this.options.validate, console.warn("The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead.")), this.options.protocols.forEach((t) => {
133
- if (typeof t == "string") {
134
- C(t);
135
- return;
136
- }
137
- C(t.scheme, t.optionalSlashes);
138
- });
139
- },
140
- onDestroy() {
141
- U();
142
- },
143
- inclusive() {
144
- return this.options.autolink;
145
- },
72
+ })
73
+ ];
74
+ }
75
+ });
76
+ var k = u.create({
77
+ name: "dropCursor",
146
78
  addOptions() {
147
79
  return {
148
- openOnClick: !0,
149
- enableClickSelection: !1,
150
- linkOnPaste: !0,
151
- autolink: !0,
152
- protocols: [],
153
- defaultProtocol: "http",
154
- HTMLAttributes: {
155
- target: "_blank",
156
- rel: "noopener noreferrer nofollow",
157
- class: null
158
- },
159
- isAllowedUri: (t, e) => !!k(t, e.protocols),
160
- validate: (t) => !!t,
161
- shouldAutoLink: (t) => {
162
- const e = /^[a-z][a-z0-9+.-]*:\/\//i.test(t), r = /^[a-z][a-z0-9+.-]*:/i.test(t);
163
- if (e || r && !t.includes("@"))
164
- return !0;
165
- const s = (t.includes("@") ? t.split("@").pop() : t).split(/[/?#:]/)[0];
166
- return !(/^\d{1,3}(\.\d{1,3}){3}$/.test(s) || !/\./.test(s));
167
- }
80
+ color: "currentColor",
81
+ width: 1,
82
+ class: void 0
168
83
  };
169
84
  },
170
- addAttributes() {
85
+ addProseMirrorPlugins() {
86
+ return [z(this.options)];
87
+ }
88
+ });
89
+ u.create({
90
+ name: "focus",
91
+ addOptions() {
171
92
  return {
172
- href: {
173
- default: null,
174
- parseHTML(t) {
175
- return t.getAttribute("href");
176
- }
177
- },
178
- target: {
179
- default: this.options.HTMLAttributes.target
180
- },
181
- rel: {
182
- default: this.options.HTMLAttributes.rel
183
- },
184
- class: {
185
- default: this.options.HTMLAttributes.class
186
- }
93
+ className: "has-focus",
94
+ mode: "all"
187
95
  };
188
96
  },
189
- parseHTML() {
97
+ addProseMirrorPlugins() {
190
98
  return [
191
- {
192
- tag: "a[href]",
193
- getAttrs: (t) => {
194
- const e = t.getAttribute("href");
195
- return !e || !this.options.isAllowedUri(e, {
196
- defaultValidate: (r) => !!k(r, this.options.protocols),
197
- protocols: this.options.protocols,
198
- defaultProtocol: this.options.defaultProtocol
199
- }) ? !1 : null;
99
+ new p({
100
+ key: new m("focus"),
101
+ props: {
102
+ decorations: ({ doc: e, selection: t }) => {
103
+ const { isEditable: n, isFocused: r } = this.editor, { anchor: o } = t, s = [];
104
+ if (!n || !r)
105
+ return f.create(e, []);
106
+ let i = 0;
107
+ this.options.mode === "deepest" && e.descendants((a, c) => {
108
+ if (a.isText)
109
+ return;
110
+ if (!(o >= c && o <= c + a.nodeSize - 1))
111
+ return !1;
112
+ i += 1;
113
+ });
114
+ let d = 0;
115
+ return e.descendants((a, c) => {
116
+ if (a.isText || !(o >= c && o <= c + a.nodeSize - 1))
117
+ return !1;
118
+ if (d += 1, this.options.mode === "deepest" && i - d > 0 || this.options.mode === "shallowest" && d > 1)
119
+ return this.options.mode === "deepest";
120
+ s.push(
121
+ g.node(c, c + a.nodeSize, {
122
+ class: this.options.className
123
+ })
124
+ );
125
+ }), f.create(e, s);
126
+ }
200
127
  }
201
- }
128
+ })
202
129
  ];
130
+ }
131
+ });
132
+ var F = u.create({
133
+ name: "gapCursor",
134
+ addProseMirrorPlugins() {
135
+ return [N()];
203
136
  },
204
- renderHTML({ HTMLAttributes: t }) {
205
- return this.options.isAllowedUri(t.href, {
206
- defaultValidate: (e) => !!k(e, this.options.protocols),
207
- protocols: this.options.protocols,
208
- defaultProtocol: this.options.defaultProtocol
209
- }) ? ["a", v(this.options.HTMLAttributes, t), 0] : ["a", v(this.options.HTMLAttributes, { ...t, href: "" }), 0];
210
- },
211
- markdownTokenName: "link",
212
- parseMarkdown: (t, e) => e.applyMark("link", e.parseInline(t.tokens || []), {
213
- href: t.href,
214
- title: t.title || null
215
- }),
216
- renderMarkdown: (t, e) => {
217
- var r;
218
- const o = ((r = t.attrs) == null ? void 0 : r.href) || "";
219
- return `[${e.renderChildren(t)}](${o})`;
137
+ extendNodeSchema(e) {
138
+ var t;
139
+ const n = {
140
+ name: e.name,
141
+ options: e.options,
142
+ storage: e.storage
143
+ };
144
+ return {
145
+ allowGapCursor: (t = v(S(e, "allowGapCursor", n))) != null ? t : null
146
+ };
147
+ }
148
+ }), R = u.create({
149
+ name: "placeholder",
150
+ addOptions() {
151
+ return {
152
+ emptyEditorClass: "is-editor-empty",
153
+ emptyNodeClass: "is-empty",
154
+ placeholder: "Write something …",
155
+ showOnlyWhenEditable: !0,
156
+ showOnlyCurrent: !0,
157
+ includeChildren: !1
158
+ };
220
159
  },
221
- addCommands() {
160
+ addProseMirrorPlugins() {
161
+ return [
162
+ new p({
163
+ key: new m("placeholder"),
164
+ props: {
165
+ decorations: ({ doc: e, selection: t }) => {
166
+ const n = this.editor.isEditable || !this.options.showOnlyWhenEditable, { anchor: r } = t, o = [];
167
+ if (!n)
168
+ return null;
169
+ const s = this.editor.isEmpty;
170
+ return e.descendants((i, d) => {
171
+ const a = r >= d && r <= d + i.nodeSize, c = !i.isLeaf && w(i);
172
+ if ((a || !this.options.showOnlyCurrent) && c) {
173
+ const l = [this.options.emptyNodeClass];
174
+ s && l.push(this.options.emptyEditorClass);
175
+ const h = g.node(d, d + i.nodeSize, {
176
+ class: l.join(" "),
177
+ "data-placeholder": typeof this.options.placeholder == "function" ? this.options.placeholder({
178
+ editor: this.editor,
179
+ node: i,
180
+ pos: d,
181
+ hasAnchor: a
182
+ }) : this.options.placeholder
183
+ });
184
+ o.push(h);
185
+ }
186
+ return this.options.includeChildren;
187
+ }), f.create(e, o);
188
+ }
189
+ }
190
+ })
191
+ ];
192
+ }
193
+ });
194
+ u.create({
195
+ name: "selection",
196
+ addOptions() {
222
197
  return {
223
- setLink: (t) => ({ chain: e }) => {
224
- const { href: r } = t;
225
- return this.options.isAllowedUri(r, {
226
- defaultValidate: (o) => !!k(o, this.options.protocols),
227
- protocols: this.options.protocols,
228
- defaultProtocol: this.options.defaultProtocol
229
- }) ? e().setMark(this.name, t).setMeta("preventAutolink", !0).run() : !1;
230
- },
231
- toggleLink: (t) => ({ chain: e }) => {
232
- const { href: r } = t || {};
233
- return r && !this.options.isAllowedUri(r, {
234
- defaultValidate: (o) => !!k(o, this.options.protocols),
235
- protocols: this.options.protocols,
236
- defaultProtocol: this.options.defaultProtocol
237
- }) ? !1 : e().toggleMark(this.name, t, { extendEmptyMarkRange: !0 }).setMeta("preventAutolink", !0).run();
238
- },
239
- unsetLink: () => ({ chain: t }) => t().unsetMark(this.name, { extendEmptyMarkRange: !0 }).setMeta("preventAutolink", !0).run()
198
+ className: "selection"
240
199
  };
241
200
  },
242
- addPasteRules() {
201
+ addProseMirrorPlugins() {
202
+ const { editor: e, options: t } = this;
243
203
  return [
244
- b({
245
- find: (t) => {
246
- const e = [];
247
- if (t) {
248
- const { protocols: r, defaultProtocol: o } = this.options, s = M(t).filter(
249
- (l) => l.isLink && this.options.isAllowedUri(l.value, {
250
- defaultValidate: (d) => !!k(d, r),
251
- protocols: r,
252
- defaultProtocol: o
204
+ new p({
205
+ key: new m("selection"),
206
+ props: {
207
+ decorations(n) {
208
+ return n.selection.empty || e.isFocused || !e.isEditable || P(n.selection) || e.view.dragging ? null : f.create(n.doc, [
209
+ g.inline(n.selection.from, n.selection.to, {
210
+ class: t.className
253
211
  })
254
- );
255
- s.length && s.forEach((l) => {
256
- this.options.shouldAutoLink(l.value) && e.push({
257
- text: l.value,
258
- data: {
259
- href: l.href
260
- },
261
- index: l.start
262
- });
263
- });
212
+ ]);
264
213
  }
265
- return e;
266
- },
267
- type: this.type,
268
- getAttributes: (t) => {
269
- var e;
270
- return {
271
- href: (e = t.data) == null ? void 0 : e.href
272
- };
273
214
  }
274
215
  })
275
216
  ];
217
+ }
218
+ });
219
+ function y({ types: e, node: t }) {
220
+ return t && Array.isArray(e) && e.includes(t.type) || t?.type === e;
221
+ }
222
+ var G = u.create({
223
+ name: "trailingNode",
224
+ addOptions() {
225
+ return {
226
+ node: void 0,
227
+ notAfter: []
228
+ };
276
229
  },
277
230
  addProseMirrorPlugins() {
278
- const t = [], { protocols: e, defaultProtocol: r } = this.options;
279
- return this.options.autolink && t.push(
280
- z({
281
- type: this.type,
282
- defaultProtocol: this.options.defaultProtocol,
283
- validate: (o) => this.options.isAllowedUri(o, {
284
- defaultValidate: (s) => !!k(s, e),
285
- protocols: e,
286
- defaultProtocol: r
287
- }),
288
- shouldAutoLink: this.options.shouldAutoLink
289
- })
290
- ), t.push(
291
- V({
292
- type: this.type,
293
- editor: this.editor,
294
- openOnClick: this.options.openOnClick === "whenNotEditable" ? !0 : this.options.openOnClick,
295
- enableClickSelection: this.options.enableClickSelection
296
- })
297
- ), this.options.linkOnPaste && t.push(
298
- D({
299
- editor: this.editor,
300
- defaultProtocol: this.options.defaultProtocol,
301
- type: this.type,
302
- shouldAutoLink: this.options.shouldAutoLink
231
+ var e;
232
+ const t = new m(this.name), n = this.options.node || ((e = this.editor.schema.topNodeType.contentMatch.defaultType) == null ? void 0 : e.name) || "paragraph", r = Object.entries(this.editor.schema.nodes).map(([, o]) => o).filter((o) => (this.options.notAfter || []).concat(n).includes(o.name));
233
+ return [
234
+ new p({
235
+ key: t,
236
+ appendTransaction: (o, s, i) => {
237
+ const { doc: d, tr: a, schema: c } = i, l = t.getState(i), h = d.content.size, C = c.nodes[n];
238
+ if (l)
239
+ return a.insert(h, C.create());
240
+ },
241
+ state: {
242
+ init: (o, s) => {
243
+ const i = s.tr.doc.lastChild;
244
+ return !y({ node: i, types: r });
245
+ },
246
+ apply: (o, s) => {
247
+ if (!o.docChanged || o.getMeta("__uniqueIDTransaction"))
248
+ return s;
249
+ const i = o.doc.lastChild;
250
+ return !y({ node: i, types: r });
251
+ }
252
+ }
303
253
  })
304
- ), t;
254
+ ];
255
+ }
256
+ }), B = u.create({
257
+ name: "undoRedo",
258
+ addOptions() {
259
+ return {
260
+ depth: 100,
261
+ newGroupDelay: 500
262
+ };
263
+ },
264
+ addCommands() {
265
+ return {
266
+ undo: () => ({ state: e, dispatch: t }) => O(e, t),
267
+ redo: () => ({ state: e, dispatch: t }) => M(e, t)
268
+ };
269
+ },
270
+ addProseMirrorPlugins() {
271
+ return [E(this.options)];
272
+ },
273
+ addKeyboardShortcuts() {
274
+ return {
275
+ "Mod-z": () => this.editor.commands.undo(),
276
+ "Shift-Mod-z": () => this.editor.commands.redo(),
277
+ "Mod-y": () => this.editor.commands.redo(),
278
+ // Russian keyboard layouts
279
+ "Mod-я": () => this.editor.commands.undo(),
280
+ "Shift-Mod-я": () => this.editor.commands.redo()
281
+ };
305
282
  }
306
283
  });
307
284
  export {
308
- X as Link,
309
- k as isAllowedUri
285
+ k as Dropcursor,
286
+ F as Gapcursor,
287
+ R as Placeholder,
288
+ G as TrailingNode,
289
+ B as UndoRedo
310
290
  };