@quoreadmin/ui 1.10.11 → 1.10.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 (242) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index105.js +1 -1
  3. package/dist/index111.js +1 -1
  4. package/dist/index115.js +1 -1
  5. package/dist/index136.js +1 -1
  6. package/dist/index138.js +1 -1
  7. package/dist/index147.js +2 -2
  8. package/dist/index149.js +1 -1
  9. package/dist/index151.js +6 -6
  10. package/dist/index157.js +172 -163
  11. package/dist/index162.js +1 -1
  12. package/dist/index165.js +1 -1
  13. package/dist/index169.js +7 -7
  14. package/dist/index173.js +2 -2
  15. package/dist/index180.js +1151 -228
  16. package/dist/index182.js +14 -14
  17. package/dist/index183.js +266 -96
  18. package/dist/index184.js +106 -2
  19. package/dist/index185.js +2 -1376
  20. package/dist/index186.js +1378 -0
  21. package/dist/index188.js +12 -12
  22. package/dist/index189.js +10 -10
  23. package/dist/index190.js +12 -12
  24. package/dist/index191.js +14 -21
  25. package/dist/index192.js +23 -757
  26. package/dist/index193.js +759 -1144
  27. package/dist/index194.js +1155 -1234
  28. package/dist/index195.js +1205 -11248
  29. package/dist/index196.js +11212 -1134
  30. package/dist/index197.js +1228 -36
  31. package/dist/index199.js +5816 -1106
  32. package/dist/index200.js +209 -0
  33. package/dist/index201.js +19 -5922
  34. package/dist/index202.js +10 -199
  35. package/dist/index203.js +76 -33
  36. package/dist/index204.js +249 -14
  37. package/dist/index205.js +13678 -72
  38. package/dist/index206.js +27 -253
  39. package/dist/index207.js +48 -13669
  40. package/dist/index208.js +236 -25
  41. package/dist/index209.js +293 -45
  42. package/dist/index210.js +236 -179
  43. package/dist/index211.js +36 -311
  44. package/dist/index212.js +43 -294
  45. package/dist/index213.js +30 -158
  46. package/dist/index214.js +112 -224
  47. package/dist/index215.js +31 -32
  48. package/dist/index216.js +26 -10
  49. package/dist/index217.js +31 -83
  50. package/dist/index218.js +48 -404
  51. package/dist/index219.js +43 -22
  52. package/dist/index220.js +3 -32
  53. package/dist/index221.js +9 -116
  54. package/dist/index222.js +18 -35
  55. package/dist/index223.js +10 -26
  56. package/dist/index224.js +10 -36
  57. package/dist/index225.js +36 -48
  58. package/dist/index226.js +21 -43
  59. package/dist/index227.js +87 -3
  60. package/dist/index228.js +407 -9
  61. package/dist/index229.js +22 -19
  62. package/dist/index230.js +161 -10
  63. package/dist/index231.js +227 -9
  64. package/dist/index232.js +34 -36
  65. package/dist/index233.js +10 -21
  66. package/dist/index234.js +3618 -109
  67. package/dist/index235.js +49 -32
  68. package/dist/index236.js +70 -73
  69. package/dist/index237.js +52 -20
  70. package/dist/index238.js +215 -20
  71. package/dist/index239.js +10 -20
  72. package/dist/index240.js +57 -20
  73. package/dist/index241.js +61 -20
  74. package/dist/index242.js +48 -155
  75. package/dist/index243.js +75 -20
  76. package/dist/index244.js +725 -21
  77. package/dist/index245.js +33 -190
  78. package/dist/index246.js +60 -66
  79. package/dist/index247.js +10 -33
  80. package/dist/index248.js +699 -34
  81. package/dist/index249.js +801 -234
  82. package/dist/index250.js +161 -8
  83. package/dist/index251.js +20 -138
  84. package/dist/index252.js +20 -83
  85. package/dist/index253.js +12 -12
  86. package/dist/index254.js +198 -21
  87. package/dist/index255.js +69 -19
  88. package/dist/index256.js +34 -836
  89. package/dist/index257.js +24 -686
  90. package/dist/index258.js +22 -176
  91. package/dist/index259.js +6 -6
  92. package/dist/index260.js +7 -7
  93. package/dist/index261.js +836 -20
  94. package/dist/index262.js +702 -3
  95. package/dist/index263.js +172 -183
  96. package/dist/index264.js +18 -131
  97. package/dist/index265.js +20 -1223
  98. package/dist/index266.js +13 -11
  99. package/dist/index267.js +13 -15
  100. package/dist/index268.js +13 -15
  101. package/dist/index269.js +3 -29
  102. package/dist/index270.js +186 -19
  103. package/dist/index271.js +131 -18
  104. package/dist/index272.js +1223 -2
  105. package/dist/index273.js +127 -2
  106. package/dist/index274.js +20 -2
  107. package/dist/index275.js +21 -78
  108. package/dist/index276.js +22 -3636
  109. package/dist/index277.js +32 -49
  110. package/dist/index278.js +29 -77
  111. package/dist/index279.js +20 -52
  112. package/dist/index280.js +20 -215
  113. package/dist/index281.js +2 -10
  114. package/dist/index282.js +2 -57
  115. package/dist/index283.js +79 -60
  116. package/dist/index284.js +20 -54
  117. package/dist/index285.js +20 -75
  118. package/dist/index286.js +235 -708
  119. package/dist/index287.js +7 -41
  120. package/dist/index288.js +134 -60
  121. package/dist/index289.js +83 -11
  122. package/dist/index290.js +3 -705
  123. package/dist/index291.js +21 -814
  124. package/dist/index292.js +1534 -3
  125. package/dist/index293.js +382 -23
  126. package/dist/index294.js +2731 -54
  127. package/dist/index295.js +85 -25
  128. package/dist/index296.js +3792 -22
  129. package/dist/index297.js +59 -21
  130. package/dist/index298.js +15 -16
  131. package/dist/index299.js +84 -17
  132. package/dist/index3.js +2 -2
  133. package/dist/index300.js +201 -22
  134. package/dist/index301.js +241 -74
  135. package/dist/index302.js +53 -21
  136. package/dist/index303.js +54 -910
  137. package/dist/index304.js +17 -13
  138. package/dist/index305.js +13 -11
  139. package/dist/index306.js +15 -13
  140. package/dist/index307.js +14 -67
  141. package/dist/index308.js +14 -16
  142. package/dist/index309.js +21 -17
  143. package/dist/index310.js +261 -21
  144. package/dist/index311.js +5 -21
  145. package/dist/index312.js +139 -62
  146. package/dist/index313.js +67 -256
  147. package/dist/index314.js +86 -5
  148. package/dist/index315.js +26 -137
  149. package/dist/index316.js +14 -71
  150. package/dist/index317.js +71 -83
  151. package/dist/index318.js +3 -28
  152. package/dist/index319.js +2 -16
  153. package/dist/index320.js +78 -70
  154. package/dist/index321.js +52 -3
  155. package/dist/index322.js +6 -2
  156. package/dist/index323.js +4 -82
  157. package/dist/index324.js +177 -51
  158. package/dist/index325.js +62 -5
  159. package/dist/index326.js +75 -5
  160. package/dist/index327.js +74 -174
  161. package/dist/index328.js +21 -62
  162. package/dist/index329.js +934 -74
  163. package/dist/index330.js +21 -36
  164. package/dist/index331.js +20 -1534
  165. package/dist/index332.js +20 -386
  166. package/dist/index333.js +69 -2731
  167. package/dist/index334.js +19 -86
  168. package/dist/index335.js +19 -3792
  169. package/dist/index336.js +21 -59
  170. package/dist/index337.js +22 -15
  171. package/dist/index338.js +63 -84
  172. package/dist/index339.js +2 -202
  173. package/dist/index340.js +8 -245
  174. package/dist/index341.js +12 -9
  175. package/dist/index342.js +55 -10
  176. package/dist/index343.js +12 -14
  177. package/dist/index344.js +14 -10
  178. package/dist/index345.js +56 -15
  179. package/dist/index346.js +51 -8
  180. package/dist/index347.js +30 -12
  181. package/dist/index348.js +2 -55
  182. package/dist/index349.js +5 -12
  183. package/dist/index350.js +2 -14
  184. package/dist/index351.js +22 -57
  185. package/dist/index352.js +39 -50
  186. package/dist/index353.js +2 -31
  187. package/dist/index354.js +11 -2
  188. package/dist/index355.js +20 -5
  189. package/dist/index356.js +10 -2
  190. package/dist/index357.js +9 -22
  191. package/dist/index358.js +14 -38
  192. package/dist/index359.js +2 -2
  193. package/dist/index360.js +8 -10
  194. package/dist/index361.js +9 -19
  195. package/dist/index362.js +14 -2
  196. package/dist/index363.js +37 -9
  197. package/dist/index364.js +18 -19
  198. package/dist/index365.js +56 -19
  199. package/dist/index366.js +27 -62
  200. package/dist/index367.js +7 -37
  201. package/dist/index368.js +49 -16
  202. package/dist/index369.js +7 -57
  203. package/dist/index370.js +10 -27
  204. package/dist/index371.js +7 -7
  205. package/dist/index372.js +27 -51
  206. package/dist/index373.js +2 -7
  207. package/dist/index374.js +69 -11
  208. package/dist/index375.js +166 -6
  209. package/dist/index376.js +20 -28
  210. package/dist/index377.js +20 -2
  211. package/dist/index378.js +61 -67
  212. package/dist/index379.js +36 -166
  213. package/dist/index380.js +98 -28
  214. package/dist/index381.js +90 -10
  215. package/dist/index382.js +98 -4
  216. package/dist/index383.js +30 -3
  217. package/dist/index384.js +11 -17
  218. package/dist/index385.js +4 -13
  219. package/dist/index386.js +4 -7
  220. package/dist/index387.js +13 -12
  221. package/dist/index388.js +7 -5
  222. package/dist/index389.js +12 -33
  223. package/dist/index390.js +5 -31
  224. package/dist/index391.js +32 -27
  225. package/dist/index392.js +28 -58
  226. package/dist/index393.js +27 -97
  227. package/dist/index394.js +59 -99
  228. package/dist/index395.js +17 -91
  229. package/dist/index396.js +1 -1
  230. package/dist/index401.js +1 -1
  231. package/dist/index402.js +2 -2
  232. package/dist/index50.js +1 -1
  233. package/dist/index62.js +1 -1
  234. package/dist/index66.js +17 -17
  235. package/dist/index78.js +1 -1
  236. package/dist/index88.js +1 -1
  237. package/dist/index92.js +1 -1
  238. package/dist/index98.js +2 -2
  239. package/dist/src/components/room-details-popover/room-details-popover.d.ts +1 -1
  240. package/package.json +1 -1
  241. package/dist/index187.js +0 -20
  242. package/dist/index198.js +0 -46
package/dist/index210.js CHANGED
@@ -1,240 +1,297 @@
1
- import { Mark as y, mergeAttributes as p, Extension as l } from "./index276.js";
2
- var d = 20, u = (t, e = 0) => {
3
- const r = [];
4
- return !t.children.length || e > d || Array.from(t.children).forEach((o) => {
5
- o.tagName === "SPAN" ? r.push(o) : o.children.length && r.push(...u(o, e + 1));
6
- }), r;
7
- }, f = (t) => {
8
- if (!t.children.length)
9
- return;
10
- const e = u(t);
11
- e && e.forEach((r) => {
12
- var o, n;
13
- const s = r.getAttribute("style"), i = (n = (o = r.parentElement) == null ? void 0 : o.closest("span")) == null ? void 0 : n.getAttribute("style");
14
- r.setAttribute("style", `${i};${s}`);
15
- });
16
- }, c = y.create({
17
- name: "textStyle",
18
- priority: 101,
1
+ import { Extension as l, isNodeEmpty as v, callOrReturn as P, getExtensionField as S, isNodeSelection as z } from "./index234.js";
2
+ import { Plugin as p, PluginKey as m } from "./index249.js";
3
+ import { dropCursor as E } from "./index299.js";
4
+ import { Decoration as y, DecorationSet as f } from "./index296.js";
5
+ import { gapCursor as N } from "./index300.js";
6
+ import { history as A, redo as M, undo as O } from "./index301.js";
7
+ l.create({
8
+ name: "characterCount",
19
9
  addOptions() {
20
10
  return {
21
- HTMLAttributes: {},
22
- mergeNestedSpanStyles: !0
11
+ limit: null,
12
+ mode: "textSize",
13
+ textCounter: (e) => e.length,
14
+ wordCounter: (e) => e.split(" ").filter((t) => t !== "").length
23
15
  };
24
16
  },
25
- parseHTML() {
26
- return [
27
- {
28
- tag: "span",
29
- consuming: !1,
30
- getAttrs: (t) => t.hasAttribute("style") ? (this.options.mergeNestedSpanStyles && f(t), {}) : !1
31
- }
32
- ];
33
- },
34
- renderHTML({ HTMLAttributes: t }) {
35
- return ["span", p(this.options.HTMLAttributes, t), 0];
36
- },
37
- addCommands() {
17
+ addStorage() {
38
18
  return {
39
- toggleTextStyle: (t) => ({ commands: e }) => e.toggleMark(this.name, t),
40
- removeEmptyTextStyle: () => ({ tr: t }) => {
41
- const { selection: e } = t;
42
- return t.doc.nodesBetween(e.from, e.to, (r, o) => {
43
- if (r.isTextblock)
44
- return !0;
45
- r.marks.filter((n) => n.type === this.type).some((n) => Object.values(n.attrs).some((s) => !!s)) || t.removeMark(o, o + r.nodeSize, this.type);
46
- }), !0;
47
- }
19
+ characters: () => 0,
20
+ words: () => 0
48
21
  };
49
- }
50
- }), m = l.create({
51
- name: "backgroundColor",
52
- addOptions() {
53
- return {
54
- types: ["textStyle"]
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, s = t.textBetween(0, t.content.size, " ", " ");
33
+ return this.options.wordCounter(s);
55
34
  };
56
35
  },
57
- addGlobalAttributes() {
36
+ addProseMirrorPlugins() {
37
+ let e = !1;
58
38
  return [
59
- {
60
- types: this.options.types,
61
- attributes: {
62
- backgroundColor: {
63
- default: null,
64
- parseHTML: (t) => {
65
- var e;
66
- const r = t.getAttribute("style");
67
- if (r) {
68
- const o = r.split(";").map((n) => n.trim()).filter(Boolean);
69
- for (let n = o.length - 1; n >= 0; n -= 1) {
70
- const s = o[n].split(":");
71
- if (s.length >= 2) {
72
- const i = s[0].trim().toLowerCase(), a = s.slice(1).join(":").trim();
73
- if (i === "background-color")
74
- return a.replace(/['"]+/g, "");
75
- }
76
- }
77
- }
78
- return (e = t.style.backgroundColor) == null ? void 0 : e.replace(/['"]+/g, "");
79
- },
80
- renderHTML: (t) => t.backgroundColor ? {
81
- style: `background-color: ${t.backgroundColor}`
82
- } : {}
39
+ new p({
40
+ key: new m("characterCount"),
41
+ appendTransaction: (t, s, r) => {
42
+ if (e)
43
+ return;
44
+ const o = this.options.limit;
45
+ if (o == null || o === 0) {
46
+ e = !0;
47
+ return;
83
48
  }
49
+ const n = this.storage.characters({ node: r.doc });
50
+ if (n > o) {
51
+ const c = n - o, a = 0, i = c;
52
+ console.warn(
53
+ `[CharacterCount] Initial content exceeded limit of ${o} characters. Content was automatically trimmed.`
54
+ );
55
+ const d = r.tr.deleteRange(a, i);
56
+ return e = !0, d;
57
+ }
58
+ e = !0;
59
+ },
60
+ filterTransaction: (t, s) => {
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: s.doc }), n = this.storage.characters({ node: t.doc });
65
+ if (n <= r || o > r && n > r && n <= o)
66
+ return !0;
67
+ if (o > r && n > r && n > o || !t.getMeta("paste"))
68
+ return !1;
69
+ const a = t.selection.$head.pos, i = n - r, d = a - i, u = a;
70
+ return t.deleteRange(d, u), !(this.storage.characters({ node: t.doc }) > r);
84
71
  }
85
- }
72
+ })
86
73
  ];
87
- },
88
- addCommands() {
74
+ }
75
+ });
76
+ var k = l.create({
77
+ name: "dropCursor",
78
+ addOptions() {
89
79
  return {
90
- setBackgroundColor: (t) => ({ chain: e }) => e().setMark("textStyle", { backgroundColor: t }).run(),
91
- unsetBackgroundColor: () => ({ chain: t }) => t().setMark("textStyle", { backgroundColor: null }).removeEmptyTextStyle().run()
80
+ color: "currentColor",
81
+ width: 1,
82
+ class: void 0
92
83
  };
84
+ },
85
+ addProseMirrorPlugins() {
86
+ return [E(this.options)];
93
87
  }
94
- }), g = l.create({
95
- name: "color",
88
+ });
89
+ l.create({
90
+ name: "focus",
96
91
  addOptions() {
97
92
  return {
98
- types: ["textStyle"]
93
+ className: "has-focus",
94
+ mode: "all"
99
95
  };
100
96
  },
101
- addGlobalAttributes() {
97
+ addProseMirrorPlugins() {
102
98
  return [
103
- {
104
- types: this.options.types,
105
- attributes: {
106
- color: {
107
- default: null,
108
- parseHTML: (t) => {
109
- var e;
110
- const r = t.getAttribute("style");
111
- if (r) {
112
- const o = r.split(";").map((n) => n.trim()).filter(Boolean);
113
- for (let n = o.length - 1; n >= 0; n -= 1) {
114
- const s = o[n].split(":");
115
- if (s.length >= 2) {
116
- const i = s[0].trim().toLowerCase(), a = s.slice(1).join(":").trim();
117
- if (i === "color")
118
- return a.replace(/['"]+/g, "");
119
- }
120
- }
121
- }
122
- return (e = t.style.color) == null ? void 0 : e.replace(/['"]+/g, "");
123
- },
124
- renderHTML: (t) => t.color ? {
125
- style: `color: ${t.color}`
126
- } : {}
99
+ new p({
100
+ key: new m("focus"),
101
+ props: {
102
+ decorations: ({ doc: e, selection: t }) => {
103
+ const { isEditable: s, isFocused: r } = this.editor, { anchor: o } = t, n = [];
104
+ if (!s || !r)
105
+ return f.create(e, []);
106
+ let c = 0;
107
+ this.options.mode === "deepest" && e.descendants((i, d) => {
108
+ if (i.isText)
109
+ return;
110
+ if (!(o >= d && o <= d + i.nodeSize - 1))
111
+ return !1;
112
+ c += 1;
113
+ });
114
+ let a = 0;
115
+ return e.descendants((i, d) => {
116
+ if (i.isText || !(o >= d && o <= d + i.nodeSize - 1))
117
+ return !1;
118
+ if (a += 1, this.options.mode === "deepest" && c - a > 0 || this.options.mode === "shallowest" && a > 1)
119
+ return this.options.mode === "deepest";
120
+ n.push(
121
+ y.node(d, d + i.nodeSize, {
122
+ class: this.options.className
123
+ })
124
+ );
125
+ }), f.create(e, n);
127
126
  }
128
127
  }
129
- }
128
+ })
130
129
  ];
130
+ }
131
+ });
132
+ var L = l.create({
133
+ name: "gapCursor",
134
+ addProseMirrorPlugins() {
135
+ return [N()];
131
136
  },
132
- addCommands() {
137
+ extendNodeSchema(e) {
138
+ var t;
139
+ const s = {
140
+ name: e.name,
141
+ options: e.options,
142
+ storage: e.storage
143
+ };
133
144
  return {
134
- setColor: (t) => ({ chain: e }) => e().setMark("textStyle", { color: t }).run(),
135
- unsetColor: () => ({ chain: t }) => t().setMark("textStyle", { color: null }).removeEmptyTextStyle().run()
145
+ allowGapCursor: (t = P(S(e, "allowGapCursor", s))) != null ? t : null
136
146
  };
137
147
  }
138
- }), h = l.create({
139
- name: "fontFamily",
148
+ }), C = "placeholder";
149
+ function T(e) {
150
+ return e.replace(/\s+/g, "-").replace(/[^a-zA-Z0-9-]/g, "").replace(/^[0-9-]+/, "").replace(/^-+/, "").toLowerCase();
151
+ }
152
+ var B = l.create({
153
+ name: "placeholder",
140
154
  addOptions() {
141
155
  return {
142
- types: ["textStyle"]
156
+ emptyEditorClass: "is-editor-empty",
157
+ emptyNodeClass: "is-empty",
158
+ dataAttribute: C,
159
+ placeholder: "Write something …",
160
+ showOnlyWhenEditable: !0,
161
+ showOnlyCurrent: !0,
162
+ includeChildren: !1
143
163
  };
144
164
  },
145
- addGlobalAttributes() {
165
+ addProseMirrorPlugins() {
166
+ const e = this.options.dataAttribute ? `data-${T(this.options.dataAttribute)}` : `data-${C}`;
146
167
  return [
147
- {
148
- types: this.options.types,
149
- attributes: {
150
- fontFamily: {
151
- default: null,
152
- parseHTML: (t) => t.style.fontFamily,
153
- renderHTML: (t) => t.fontFamily ? {
154
- style: `font-family: ${t.fontFamily}`
155
- } : {}
168
+ new p({
169
+ key: new m("placeholder"),
170
+ props: {
171
+ decorations: ({ doc: t, selection: s }) => {
172
+ const r = this.editor.isEditable || !this.options.showOnlyWhenEditable, { anchor: o } = s, n = [];
173
+ if (!r)
174
+ return null;
175
+ const c = this.editor.isEmpty;
176
+ return t.descendants((a, i) => {
177
+ const d = o >= i && o <= i + a.nodeSize, u = !a.isLeaf && v(a);
178
+ if ((d || !this.options.showOnlyCurrent) && u) {
179
+ const h = [this.options.emptyNodeClass];
180
+ c && h.push(this.options.emptyEditorClass);
181
+ const g = y.node(i, i + a.nodeSize, {
182
+ class: h.join(" "),
183
+ [e]: typeof this.options.placeholder == "function" ? this.options.placeholder({
184
+ editor: this.editor,
185
+ node: a,
186
+ pos: i,
187
+ hasAnchor: d
188
+ }) : this.options.placeholder
189
+ });
190
+ n.push(g);
191
+ }
192
+ return this.options.includeChildren;
193
+ }), f.create(t, n);
156
194
  }
157
195
  }
158
- }
196
+ })
159
197
  ];
160
- },
161
- addCommands() {
162
- return {
163
- setFontFamily: (t) => ({ chain: e }) => e().setMark("textStyle", { fontFamily: t }).run(),
164
- unsetFontFamily: () => ({ chain: t }) => t().setMark("textStyle", { fontFamily: null }).removeEmptyTextStyle().run()
165
- };
166
198
  }
167
- }), S = l.create({
168
- name: "fontSize",
199
+ });
200
+ l.create({
201
+ name: "selection",
169
202
  addOptions() {
170
203
  return {
171
- types: ["textStyle"]
204
+ className: "selection"
172
205
  };
173
206
  },
174
- addGlobalAttributes() {
207
+ addProseMirrorPlugins() {
208
+ const { editor: e, options: t } = this;
175
209
  return [
176
- {
177
- types: this.options.types,
178
- attributes: {
179
- fontSize: {
180
- default: null,
181
- parseHTML: (t) => t.style.fontSize,
182
- renderHTML: (t) => t.fontSize ? {
183
- style: `font-size: ${t.fontSize}`
184
- } : {}
210
+ new p({
211
+ key: new m("selection"),
212
+ props: {
213
+ decorations(s) {
214
+ return s.selection.empty || e.isFocused || !e.isEditable || z(s.selection) || e.view.dragging ? null : f.create(s.doc, [
215
+ y.inline(s.selection.from, s.selection.to, {
216
+ class: t.className
217
+ })
218
+ ]);
185
219
  }
186
220
  }
187
- }
221
+ })
188
222
  ];
189
- },
190
- addCommands() {
191
- return {
192
- setFontSize: (t) => ({ chain: e }) => e().setMark("textStyle", { fontSize: t }).run(),
193
- unsetFontSize: () => ({ chain: t }) => t().setMark("textStyle", { fontSize: null }).removeEmptyTextStyle().run()
194
- };
195
223
  }
196
- }), b = l.create({
197
- name: "lineHeight",
224
+ });
225
+ function w({ types: e, node: t }) {
226
+ return t && Array.isArray(e) && e.includes(t.type) || t?.type === e;
227
+ }
228
+ var G = l.create({
229
+ name: "trailingNode",
198
230
  addOptions() {
199
231
  return {
200
- types: ["textStyle"]
232
+ node: void 0,
233
+ notAfter: []
201
234
  };
202
235
  },
203
- addGlobalAttributes() {
236
+ addProseMirrorPlugins() {
237
+ var e;
238
+ const t = new m(this.name), s = 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(s).includes(o.name));
204
239
  return [
205
- {
206
- types: this.options.types,
207
- attributes: {
208
- lineHeight: {
209
- default: null,
210
- parseHTML: (t) => t.style.lineHeight,
211
- renderHTML: (t) => t.lineHeight ? {
212
- style: `line-height: ${t.lineHeight}`
213
- } : {}
240
+ new p({
241
+ key: t,
242
+ appendTransaction: (o, n, c) => {
243
+ const { doc: a, tr: i, schema: d } = c, u = t.getState(c), h = a.content.size, g = d.nodes[s];
244
+ if (u)
245
+ return i.insert(h, g.create());
246
+ },
247
+ state: {
248
+ init: (o, n) => {
249
+ const c = n.tr.doc.lastChild;
250
+ return !w({ node: c, types: r });
251
+ },
252
+ apply: (o, n) => {
253
+ if (!o.docChanged || o.getMeta("__uniqueIDTransaction"))
254
+ return n;
255
+ const c = o.doc.lastChild;
256
+ return !w({ node: c, types: r });
214
257
  }
215
258
  }
216
- }
259
+ })
217
260
  ];
261
+ }
262
+ }), I = l.create({
263
+ name: "undoRedo",
264
+ addOptions() {
265
+ return {
266
+ depth: 100,
267
+ newGroupDelay: 500
268
+ };
218
269
  },
219
270
  addCommands() {
220
271
  return {
221
- setLineHeight: (t) => ({ chain: e }) => e().setMark("textStyle", { lineHeight: t }).run(),
222
- unsetLineHeight: () => ({ chain: t }) => t().setMark("textStyle", { lineHeight: null }).removeEmptyTextStyle().run()
272
+ undo: () => ({ state: e, dispatch: t }) => O(e, t),
273
+ redo: () => ({ state: e, dispatch: t }) => M(e, t)
274
+ };
275
+ },
276
+ addProseMirrorPlugins() {
277
+ return [A(this.options)];
278
+ },
279
+ addKeyboardShortcuts() {
280
+ return {
281
+ "Mod-z": () => this.editor.commands.undo(),
282
+ "Shift-Mod-z": () => this.editor.commands.redo(),
283
+ "Mod-y": () => this.editor.commands.redo(),
284
+ // Russian keyboard layouts
285
+ "Mod-я": () => this.editor.commands.undo(),
286
+ "Shift-Mod-я": () => this.editor.commands.redo()
223
287
  };
224
- }
225
- });
226
- l.create({
227
- name: "textStyleKit",
228
- addExtensions() {
229
- const t = [];
230
- return this.options.backgroundColor !== !1 && t.push(m.configure(this.options.backgroundColor)), this.options.color !== !1 && t.push(g.configure(this.options.color)), this.options.fontFamily !== !1 && t.push(h.configure(this.options.fontFamily)), this.options.fontSize !== !1 && t.push(S.configure(this.options.fontSize)), this.options.lineHeight !== !1 && t.push(b.configure(this.options.lineHeight)), this.options.textStyle !== !1 && t.push(c.configure(this.options.textStyle)), t;
231
288
  }
232
289
  });
233
290
  export {
234
- m as BackgroundColor,
235
- g as Color,
236
- h as FontFamily,
237
- S as FontSize,
238
- b as LineHeight,
239
- c as TextStyle
291
+ k as Dropcursor,
292
+ L as Gapcursor,
293
+ B as Placeholder,
294
+ G as TrailingNode,
295
+ I as UndoRedo,
296
+ T as preparePlaceholderAttribute
240
297
  };