@quoreadmin/ui 1.10.18 → 1.10.19

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 (191) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index149.js +1 -1
  3. package/dist/index151.js +4 -4
  4. package/dist/index183.js +3 -3
  5. package/dist/index186.js +4 -4
  6. package/dist/index193.js +10 -10
  7. package/dist/index195.js +10 -10
  8. package/dist/index198.js +17 -17
  9. package/dist/index199.js +5816 -1106
  10. package/dist/index200.js +209 -0
  11. package/dist/index201.js +19 -5922
  12. package/dist/index202.js +10 -199
  13. package/dist/index203.js +1218 -25
  14. package/dist/index206.js +2 -2
  15. package/dist/index208.js +14 -14
  16. package/dist/index209.js +1 -1
  17. package/dist/index210.js +1 -1
  18. package/dist/index211.js +3 -3
  19. package/dist/index212.js +2 -2
  20. package/dist/index216.js +2 -2
  21. package/dist/index217.js +1 -1
  22. package/dist/index219.js +4 -4
  23. package/dist/index221.js +1 -1
  24. package/dist/index222.js +1 -1
  25. package/dist/index223.js +1 -1
  26. package/dist/index224.js +4 -4
  27. package/dist/index226.js +1 -1
  28. package/dist/index227.js +157 -84
  29. package/dist/index228.js +205 -384
  30. package/dist/index229.js +37 -22
  31. package/dist/index230.js +10 -127
  32. package/dist/index231.js +122 -33
  33. package/dist/index232.js +38 -80
  34. package/dist/index233.js +407 -20
  35. package/dist/index234.js +80 -20
  36. package/dist/index235.js +12 -12
  37. package/dist/index236.js +87 -19
  38. package/dist/index237.js +11 -11
  39. package/dist/index238.js +20 -3636
  40. package/dist/index239.js +20 -55
  41. package/dist/index240.js +20 -77
  42. package/dist/index241.js +19 -49
  43. package/dist/index242.js +3603 -182
  44. package/dist/index243.js +53 -8
  45. package/dist/index244.js +60 -40
  46. package/dist/index245.js +35 -44
  47. package/dist/index246.js +193 -32
  48. package/dist/index247.js +9 -74
  49. package/dist/index248.js +38 -707
  50. package/dist/index249.js +44 -25
  51. package/dist/index250.js +36 -46
  52. package/dist/index251.js +74 -10
  53. package/dist/index252.js +700 -679
  54. package/dist/index253.js +39 -817
  55. package/dist/index254.js +57 -154
  56. package/dist/index255.js +11 -20
  57. package/dist/index256.js +705 -22
  58. package/dist/index257.js +810 -189
  59. package/dist/index258.js +21 -69
  60. package/dist/index259.js +22 -34
  61. package/dist/index260.js +19 -39
  62. package/dist/index261.js +836 -22
  63. package/dist/index262.js +701 -21
  64. package/dist/index263.js +176 -20
  65. package/dist/index264.js +22 -836
  66. package/dist/index265.js +19 -701
  67. package/dist/index266.js +20 -176
  68. package/dist/index267.js +3 -22
  69. package/dist/index268.js +186 -19
  70. package/dist/index269.js +132 -19
  71. package/dist/index270.js +161 -3
  72. package/dist/index271.js +1143 -107
  73. package/dist/index272.js +19 -132
  74. package/dist/index273.js +22 -1223
  75. package/dist/index274.js +8 -8
  76. package/dist/index275.js +11 -11
  77. package/dist/index276.js +22 -15
  78. package/dist/index277.js +12 -21
  79. package/dist/index278.js +9 -9
  80. package/dist/index279.js +2 -20
  81. package/dist/index281.js +22 -2
  82. package/dist/index282.js +194 -156
  83. package/dist/index283.js +66 -224
  84. package/dist/index284.js +34 -37
  85. package/dist/index285.js +39 -9
  86. package/dist/index287.js +2 -8
  87. package/dist/index290.js +79 -3
  88. package/dist/index291.js +8 -27
  89. package/dist/index292.js +3 -2
  90. package/dist/index293.js +25 -77
  91. package/dist/index295.js +1 -1
  92. package/dist/index298.js +1 -1
  93. package/dist/index299.js +1 -1
  94. package/dist/index301.js +1 -1
  95. package/dist/index302.js +1 -1
  96. package/dist/index303.js +1 -1
  97. package/dist/index304.js +256 -48
  98. package/dist/index305.js +5 -25
  99. package/dist/index306.js +139 -21
  100. package/dist/index307.js +72 -21
  101. package/dist/index308.js +85 -14
  102. package/dist/index309.js +29 -17
  103. package/dist/index310.js +15 -22
  104. package/dist/index311.js +72 -76
  105. package/dist/index312.js +3 -21
  106. package/dist/index313.js +2 -935
  107. package/dist/index314.js +82 -21
  108. package/dist/index315.js +52 -19
  109. package/dist/index316.js +5 -19
  110. package/dist/index317.js +4 -68
  111. package/dist/index318.js +178 -18
  112. package/dist/index319.js +62 -18
  113. package/dist/index320.js +75 -22
  114. package/dist/index321.js +78 -21
  115. package/dist/index322.js +22 -63
  116. package/dist/index323.js +934 -8
  117. package/dist/index324.js +21 -12
  118. package/dist/index325.js +19 -54
  119. package/dist/index326.js +19 -11
  120. package/dist/index327.js +68 -13
  121. package/dist/index328.js +19 -58
  122. package/dist/index329.js +19 -52
  123. package/dist/index330.js +49 -26
  124. package/dist/index331.js +22 -2
  125. package/dist/index332.js +22 -5
  126. package/dist/index333.js +63 -2
  127. package/dist/index334.js +26 -23
  128. package/dist/index335.js +21 -40
  129. package/dist/index336.js +22 -2
  130. package/dist/index337.js +15 -10
  131. package/dist/index338.js +17 -20
  132. package/dist/index339.js +23 -10
  133. package/dist/index340.js +37 -10
  134. package/dist/index341.js +8 -16
  135. package/dist/index342.js +13 -2
  136. package/dist/index343.js +55 -9
  137. package/dist/index344.js +11 -9
  138. package/dist/index345.js +13 -13
  139. package/dist/index346.js +50 -254
  140. package/dist/index347.js +51 -5
  141. package/dist/index348.js +28 -137
  142. package/dist/index349.js +2 -73
  143. package/dist/index350.js +4 -86
  144. package/dist/index351.js +2 -29
  145. package/dist/index352.js +23 -16
  146. package/dist/index353.js +40 -74
  147. package/dist/index354.js +2 -4
  148. package/dist/index355.js +11 -2
  149. package/dist/index356.js +17 -80
  150. package/dist/index357.js +10 -53
  151. package/dist/index358.js +10 -6
  152. package/dist/index359.js +15 -3
  153. package/dist/index360.js +2 -179
  154. package/dist/index361.js +8 -62
  155. package/dist/index362.js +10 -75
  156. package/dist/index363.js +14 -37
  157. package/dist/index364.js +18 -19
  158. package/dist/index365.js +56 -19
  159. package/dist/index366.js +28 -63
  160. package/dist/index367.js +7 -37
  161. package/dist/index368.js +49 -16
  162. package/dist/index369.js +7 -57
  163. package/dist/index370.js +10 -27
  164. package/dist/index371.js +7 -7
  165. package/dist/index372.js +27 -51
  166. package/dist/index373.js +2 -7
  167. package/dist/index374.js +69 -11
  168. package/dist/index375.js +166 -6
  169. package/dist/index376.js +20 -28
  170. package/dist/index377.js +20 -2
  171. package/dist/index378.js +61 -67
  172. package/dist/index379.js +36 -166
  173. package/dist/index383.js +31 -17
  174. package/dist/index384.js +10 -30
  175. package/dist/index385.js +3 -10
  176. package/dist/index386.js +3 -3
  177. package/dist/index387.js +13 -4
  178. package/dist/index388.js +7 -13
  179. package/dist/index389.js +12 -7
  180. package/dist/index390.js +4 -11
  181. package/dist/index391.js +33 -5
  182. package/dist/index392.js +31 -33
  183. package/dist/index393.js +26 -29
  184. package/dist/index394.js +59 -26
  185. package/dist/index395.js +16 -60
  186. package/dist/index396.js +1 -1
  187. package/dist/index4.js +19 -21
  188. package/dist/index401.js +1 -1
  189. package/dist/index402.js +2 -2
  190. package/package.json +1 -1
  191. package/dist/index204.js +0 -20
package/dist/index248.js CHANGED
@@ -1,728 +1,59 @@
1
- import { Node as g, wrappingInputRule as b, mergeAttributes as L, renderNestedMarkdownContent as $, Extension as S, isNodeActive as I, isAtStartOfNode as K, isAtEndOfNode as V, getNodeType as O, getNodeAtPosition as X, getRenderedAttributes as z, parseIndentedBlocks as x } from "./index238.js";
2
- var F = Object.defineProperty, G = (t, e) => {
3
- for (var s in e)
4
- F(t, s, { get: e[s], enumerable: !0 });
5
- }, W = "listItem", w = "textStyle", C = /^\s*([-+*])\s$/, q = g.create({
6
- name: "bulletList",
1
+ import { Node as l, mergeAttributes as c } from "./index242.js";
2
+ var f = l.create({
3
+ name: "hardBreak",
4
+ markdownTokenName: "br",
7
5
  addOptions() {
8
6
  return {
9
- itemTypeName: "listItem",
10
- HTMLAttributes: {},
11
- keepMarks: !1,
12
- keepAttributes: !1
13
- };
14
- },
15
- group: "block list",
16
- content() {
17
- return `${this.options.itemTypeName}+`;
18
- },
19
- parseHTML() {
20
- return [{ tag: "ul" }];
21
- },
22
- renderHTML({ HTMLAttributes: t }) {
23
- return ["ul", L(this.options.HTMLAttributes, t), 0];
24
- },
25
- markdownTokenName: "list",
26
- parseMarkdown: (t, e) => t.type !== "list" || t.ordered ? [] : {
27
- type: "bulletList",
28
- content: t.items ? e.parseChildren(t.items) : []
29
- },
30
- renderMarkdown: (t, e) => t.content ? e.renderChildren(t.content, `
31
- `) : "",
32
- markdownOptions: {
33
- indentsContent: !0
34
- },
35
- addCommands() {
36
- return {
37
- toggleBulletList: () => ({ commands: t, chain: e }) => this.options.keepAttributes ? e().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(W, this.editor.getAttributes(w)).run() : t.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks)
38
- };
39
- },
40
- addKeyboardShortcuts() {
41
- return {
42
- "Mod-Shift-8": () => this.editor.commands.toggleBulletList()
43
- };
44
- },
45
- addInputRules() {
46
- let t = b({
47
- find: C,
48
- type: this.type
49
- });
50
- return (this.options.keepMarks || this.options.keepAttributes) && (t = b({
51
- find: C,
52
- type: this.type,
53
- keepMarks: this.options.keepMarks,
54
- keepAttributes: this.options.keepAttributes,
55
- getAttributes: () => this.editor.getAttributes(w),
56
- editor: this.editor
57
- })), [t];
58
- }
59
- }), Y = g.create({
60
- name: "listItem",
61
- addOptions() {
62
- return {
63
- HTMLAttributes: {},
64
- bulletListTypeName: "bulletList",
65
- orderedListTypeName: "orderedList"
66
- };
67
- },
68
- content: "paragraph block*",
69
- defining: !0,
70
- parseHTML() {
71
- return [
72
- {
73
- tag: "li"
74
- }
75
- ];
76
- },
77
- renderHTML({ HTMLAttributes: t }) {
78
- return ["li", L(this.options.HTMLAttributes, t), 0];
79
- },
80
- markdownTokenName: "list_item",
81
- parseMarkdown: (t, e) => {
82
- if (t.type !== "list_item")
83
- return [];
84
- let s = [];
85
- if (t.tokens && t.tokens.length > 0)
86
- if (t.tokens.some((n) => n.type === "paragraph"))
87
- s = e.parseChildren(t.tokens);
88
- else {
89
- const n = t.tokens[0];
90
- if (n && n.type === "text" && n.tokens && n.tokens.length > 0) {
91
- if (s = [
92
- {
93
- type: "paragraph",
94
- content: e.parseInline(n.tokens)
95
- }
96
- ], t.tokens.length > 1) {
97
- const c = t.tokens.slice(1), a = e.parseChildren(c);
98
- s.push(...a);
99
- }
100
- } else
101
- s = e.parseChildren(t.tokens);
102
- }
103
- return s.length === 0 && (s = [
104
- {
105
- type: "paragraph",
106
- content: []
107
- }
108
- ]), {
109
- type: "listItem",
110
- content: s
111
- };
112
- },
113
- renderMarkdown: (t, e, s) => $(
114
- t,
115
- e,
116
- (r) => {
117
- var n, i;
118
- return r.parentType === "bulletList" ? "- " : r.parentType === "orderedList" ? `${(((i = (n = r.meta) == null ? void 0 : n.parentAttrs) == null ? void 0 : i.start) || 1) + r.index}. ` : "- ";
119
- },
120
- s
121
- ),
122
- addKeyboardShortcuts() {
123
- return {
124
- Enter: () => this.editor.commands.splitListItem(this.name),
125
- Tab: () => this.editor.commands.sinkListItem(this.name),
126
- "Shift-Tab": () => this.editor.commands.liftListItem(this.name)
127
- };
128
- }
129
- }), J = {};
130
- G(J, {
131
- findListItemPos: () => y,
132
- getNextListDepth: () => A,
133
- handleBackspace: () => T,
134
- handleDelete: () => M,
135
- hasListBefore: () => _,
136
- hasListItemAfter: () => Q,
137
- hasListItemBefore: () => P,
138
- listItemHasSubList: () => D,
139
- nextListIsDeeper: () => R,
140
- nextListIsHigher: () => j
141
- });
142
- var y = (t, e) => {
143
- const { $from: s } = e.selection, r = O(t, e.schema);
144
- let n = null, i = s.depth, c = s.pos, a = null;
145
- for (; i > 0 && a === null; )
146
- n = s.node(i), n.type === r ? a = i : (i -= 1, c -= 1);
147
- return a === null ? null : { $pos: e.doc.resolve(c), depth: a };
148
- }, A = (t, e) => {
149
- const s = y(t, e);
150
- if (!s)
151
- return !1;
152
- const [, r] = X(e, t, s.$pos.pos + 4);
153
- return r;
154
- }, _ = (t, e, s) => {
155
- const { $anchor: r } = t.selection, n = Math.max(0, r.pos - 2), i = t.doc.resolve(n).node();
156
- return !(!i || !s.includes(i.type.name));
157
- }, P = (t, e) => {
158
- var s;
159
- const { $anchor: r } = e.selection, n = e.doc.resolve(r.pos - 2);
160
- return !(n.index() === 0 || ((s = n.nodeBefore) == null ? void 0 : s.type.name) !== t);
161
- }, D = (t, e, s) => {
162
- if (!s)
163
- return !1;
164
- const r = O(t, e.schema);
165
- let n = !1;
166
- return s.descendants((i) => {
167
- i.type === r && (n = !0);
168
- }), n;
169
- }, T = (t, e, s) => {
170
- if (t.commands.undoInputRule())
171
- return !0;
172
- if (t.state.selection.from !== t.state.selection.to)
173
- return !1;
174
- if (!I(t.state, e) && _(t.state, e, s)) {
175
- const { $anchor: a } = t.state.selection, u = t.state.doc.resolve(a.before() - 1), p = [];
176
- u.node().descendants((l, d) => {
177
- l.type.name === e && p.push({ node: l, pos: d });
178
- });
179
- const h = p.at(-1);
180
- if (!h)
181
- return !1;
182
- const o = t.state.doc.resolve(u.start() + h.pos + 1);
183
- return t.chain().cut({ from: a.start() - 1, to: a.end() + 1 }, o.end()).joinForward().run();
184
- }
185
- if (!I(t.state, e) || !K(t.state))
186
- return !1;
187
- const r = y(e, t.state);
188
- if (!r)
189
- return !1;
190
- const i = t.state.doc.resolve(r.$pos.pos - 2).node(r.depth), c = D(e, t.state, i);
191
- return P(e, t.state) && !c ? t.commands.joinItemBackward() : t.chain().liftListItem(e).run();
192
- }, R = (t, e) => {
193
- const s = A(t, e), r = y(t, e);
194
- return !r || !s ? !1 : s > r.depth;
195
- }, j = (t, e) => {
196
- const s = A(t, e), r = y(t, e);
197
- return !r || !s ? !1 : s < r.depth;
198
- }, M = (t, e) => {
199
- if (!I(t.state, e) || !V(t.state, e))
200
- return !1;
201
- const { selection: s } = t.state, { $from: r, $to: n } = s;
202
- return !s.empty && r.sameParent(n) ? !1 : R(e, t.state) ? t.chain().focus(t.state.selection.from + 4).lift(e).joinBackward().run() : j(e, t.state) ? t.chain().joinForward().joinBackward().run() : t.commands.joinItemForward();
203
- }, Q = (t, e) => {
204
- var s;
205
- const { $anchor: r } = e.selection, n = e.doc.resolve(r.pos - r.parentOffset - 2);
206
- return !(n.index() === n.parent.childCount - 1 || ((s = n.nodeAfter) == null ? void 0 : s.type.name) !== t);
207
- }, U = S.create({
208
- name: "listKeymap",
209
- addOptions() {
210
- return {
211
- listTypes: [
212
- {
213
- itemName: "listItem",
214
- wrapperNames: ["bulletList", "orderedList"]
215
- },
216
- {
217
- itemName: "taskItem",
218
- wrapperNames: ["taskList"]
219
- }
220
- ]
221
- };
222
- },
223
- addKeyboardShortcuts() {
224
- return {
225
- Delete: ({ editor: t }) => {
226
- let e = !1;
227
- return this.options.listTypes.forEach(({ itemName: s }) => {
228
- t.state.schema.nodes[s] !== void 0 && M(t, s) && (e = !0);
229
- }), e;
230
- },
231
- "Mod-Delete": ({ editor: t }) => {
232
- let e = !1;
233
- return this.options.listTypes.forEach(({ itemName: s }) => {
234
- t.state.schema.nodes[s] !== void 0 && M(t, s) && (e = !0);
235
- }), e;
236
- },
237
- Backspace: ({ editor: t }) => {
238
- let e = !1;
239
- return this.options.listTypes.forEach(({ itemName: s, wrapperNames: r }) => {
240
- t.state.schema.nodes[s] !== void 0 && T(t, s, r) && (e = !0);
241
- }), e;
242
- },
243
- "Mod-Backspace": ({ editor: t }) => {
244
- let e = !1;
245
- return this.options.listTypes.forEach(({ itemName: s, wrapperNames: r }) => {
246
- t.state.schema.nodes[s] !== void 0 && T(t, s, r) && (e = !0);
247
- }), e;
248
- }
249
- };
250
- }
251
- }), N = /^(\s*)(\d+)\.\s+(.*)$/, Z = /^\s/;
252
- function tt(t) {
253
- const e = [];
254
- let s = 0, r = 0;
255
- for (; s < t.length; ) {
256
- const n = t[s], i = n.match(N);
257
- if (!i)
258
- break;
259
- const [, c, a, u] = i, p = c.length;
260
- let h = u, o = s + 1;
261
- const l = [n];
262
- for (; o < t.length; ) {
263
- const d = t[o];
264
- if (d.match(N))
265
- break;
266
- if (d.trim() === "")
267
- l.push(d), h += `
268
- `, o += 1;
269
- else if (d.match(Z))
270
- l.push(d), h += `
271
- ${d.slice(p + 2)}`, o += 1;
272
- else
273
- break;
274
- }
275
- e.push({
276
- indent: p,
277
- number: parseInt(a, 10),
278
- content: h.trim(),
279
- raw: l.join(`
280
- `)
281
- }), r = o, s = o;
282
- }
283
- return [e, r];
284
- }
285
- function B(t, e, s) {
286
- var r;
287
- const n = [];
288
- let i = 0;
289
- for (; i < t.length; ) {
290
- const c = t[i];
291
- if (c.indent === e) {
292
- const a = c.content.split(`
293
- `), u = ((r = a[0]) == null ? void 0 : r.trim()) || "", p = [];
294
- u && p.push({
295
- type: "paragraph",
296
- raw: u,
297
- tokens: s.inlineTokens(u)
298
- });
299
- const h = a.slice(1).join(`
300
- `).trim();
301
- if (h) {
302
- const d = s.blockTokens(h);
303
- p.push(...d);
304
- }
305
- let o = i + 1;
306
- const l = [];
307
- for (; o < t.length && t[o].indent > e; )
308
- l.push(t[o]), o += 1;
309
- if (l.length > 0) {
310
- const d = Math.min(...l.map((m) => m.indent)), k = B(l, d, s);
311
- p.push({
312
- type: "list",
313
- ordered: !0,
314
- start: l[0].number,
315
- items: k,
316
- raw: l.map((m) => m.raw).join(`
317
- `)
318
- });
319
- }
320
- n.push({
321
- type: "list_item",
322
- raw: c.raw,
323
- tokens: p
324
- }), i = o;
325
- } else
326
- i += 1;
327
- }
328
- return n;
329
- }
330
- function et(t, e) {
331
- return t.map((s) => {
332
- if (s.type !== "list_item")
333
- return e.parseChildren([s])[0];
334
- const r = [];
335
- return s.tokens && s.tokens.length > 0 && s.tokens.forEach((n) => {
336
- if (n.type === "paragraph" || n.type === "list" || n.type === "blockquote" || n.type === "code")
337
- r.push(...e.parseChildren([n]));
338
- else if (n.type === "text" && n.tokens) {
339
- const i = e.parseChildren([n]);
340
- r.push({
341
- type: "paragraph",
342
- content: i
343
- });
344
- } else {
345
- const i = e.parseChildren([n]);
346
- i.length > 0 && r.push(...i);
347
- }
348
- }), {
349
- type: "listItem",
350
- content: r
351
- };
352
- });
353
- }
354
- var st = "listItem", E = "textStyle", H = /^(\d+)\.\s$/, nt = g.create({
355
- name: "orderedList",
356
- addOptions() {
357
- return {
358
- itemTypeName: "listItem",
359
- HTMLAttributes: {},
360
- keepMarks: !1,
361
- keepAttributes: !1
362
- };
363
- },
364
- group: "block list",
365
- content() {
366
- return `${this.options.itemTypeName}+`;
367
- },
368
- addAttributes() {
369
- return {
370
- start: {
371
- default: 1,
372
- parseHTML: (t) => t.hasAttribute("start") ? parseInt(t.getAttribute("start") || "", 10) : 1
373
- },
374
- type: {
375
- default: null,
376
- parseHTML: (t) => t.getAttribute("type")
377
- }
7
+ keepMarks: !0,
8
+ HTMLAttributes: {}
378
9
  };
379
10
  },
11
+ inline: !0,
12
+ group: "inline",
13
+ selectable: !1,
14
+ linebreakReplacement: !0,
380
15
  parseHTML() {
381
- return [
382
- {
383
- tag: "ol"
384
- }
385
- ];
16
+ return [{ tag: "br" }];
386
17
  },
387
- renderHTML({ HTMLAttributes: t }) {
388
- const { start: e, ...s } = t;
389
- return e === 1 ? ["ol", L(this.options.HTMLAttributes, s), 0] : ["ol", L(this.options.HTMLAttributes, t), 0];
390
- },
391
- markdownTokenName: "list",
392
- parseMarkdown: (t, e) => {
393
- if (t.type !== "list" || !t.ordered)
394
- return [];
395
- const s = t.start || 1, r = t.items ? et(t.items, e) : [];
396
- return s !== 1 ? {
397
- type: "orderedList",
398
- attrs: { start: s },
399
- content: r
400
- } : {
401
- type: "orderedList",
402
- content: r
403
- };
18
+ renderHTML({ HTMLAttributes: e }) {
19
+ return ["br", c(this.options.HTMLAttributes, e)];
404
20
  },
405
- renderMarkdown: (t, e) => t.content ? e.renderChildren(t.content, `
406
- `) : "",
407
- markdownTokenizer: {
408
- name: "orderedList",
409
- level: "block",
410
- start: (t) => {
411
- const e = t.match(/^(\s*)(\d+)\.\s+/), s = e?.index;
412
- return s !== void 0 ? s : -1;
413
- },
414
- tokenize: (t, e, s) => {
415
- var r;
416
- const n = t.split(`
417
- `), [i, c] = tt(n);
418
- if (i.length === 0)
419
- return;
420
- const a = B(i, 0, s);
421
- return a.length === 0 ? void 0 : {
422
- type: "list",
423
- ordered: !0,
424
- start: ((r = i[0]) == null ? void 0 : r.number) || 1,
425
- items: a,
426
- raw: n.slice(0, c).join(`
427
- `)
428
- };
429
- }
430
- },
431
- markdownOptions: {
432
- indentsContent: !0
21
+ renderText() {
22
+ return `
23
+ `;
433
24
  },
25
+ renderMarkdown: () => `
26
+ `,
27
+ parseMarkdown: () => ({
28
+ type: "hardBreak"
29
+ }),
434
30
  addCommands() {
435
31
  return {
436
- toggleOrderedList: () => ({ commands: t, chain: e }) => this.options.keepAttributes ? e().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(st, this.editor.getAttributes(E)).run() : t.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks)
437
- };
438
- },
439
- addKeyboardShortcuts() {
440
- return {
441
- "Mod-Shift-7": () => this.editor.commands.toggleOrderedList()
442
- };
443
- },
444
- addInputRules() {
445
- let t = b({
446
- find: H,
447
- type: this.type,
448
- getAttributes: (e) => ({ start: +e[1] }),
449
- joinPredicate: (e, s) => s.childCount + s.attrs.start === +e[1]
450
- });
451
- return (this.options.keepMarks || this.options.keepAttributes) && (t = b({
452
- find: H,
453
- type: this.type,
454
- keepMarks: this.options.keepMarks,
455
- keepAttributes: this.options.keepAttributes,
456
- getAttributes: (e) => ({ start: +e[1], ...this.editor.getAttributes(E) }),
457
- joinPredicate: (e, s) => s.childCount + s.attrs.start === +e[1],
458
- editor: this.editor
459
- })), [t];
460
- }
461
- }), rt = /^\s*(\[([( |x])?\])\s$/, it = g.create({
462
- name: "taskItem",
463
- addOptions() {
464
- return {
465
- nested: !1,
466
- HTMLAttributes: {},
467
- taskListTypeName: "taskList",
468
- a11y: void 0
469
- };
470
- },
471
- content() {
472
- return this.options.nested ? "paragraph block*" : "paragraph+";
473
- },
474
- defining: !0,
475
- addAttributes() {
476
- return {
477
- checked: {
478
- default: !1,
479
- keepOnSplit: !1,
480
- parseHTML: (t) => {
481
- const e = t.getAttribute("data-checked");
482
- return e === "" || e === "true";
483
- },
484
- renderHTML: (t) => ({
485
- "data-checked": t.checked
486
- })
487
- }
488
- };
489
- },
490
- parseHTML() {
491
- return [
492
- {
493
- tag: `li[data-type="${this.name}"]`,
494
- priority: 51
495
- }
496
- ];
497
- },
498
- renderHTML({ node: t, HTMLAttributes: e }) {
499
- return [
500
- "li",
501
- L(this.options.HTMLAttributes, e, {
502
- "data-type": this.name
503
- }),
504
- [
505
- "label",
506
- [
507
- "input",
508
- {
509
- type: "checkbox",
510
- checked: t.attrs.checked ? "checked" : null
511
- }
512
- ],
513
- ["span"]
514
- ],
515
- ["div", 0]
516
- ];
517
- },
518
- parseMarkdown: (t, e) => {
519
- const s = [];
520
- if (t.tokens && t.tokens.length > 0 ? s.push(e.createNode("paragraph", {}, e.parseInline(t.tokens))) : t.text ? s.push(e.createNode("paragraph", {}, [e.createNode("text", { text: t.text })])) : s.push(e.createNode("paragraph", {}, [])), t.nestedTokens && t.nestedTokens.length > 0) {
521
- const r = e.parseChildren(t.nestedTokens);
522
- s.push(...r);
523
- }
524
- return e.createNode("taskItem", { checked: t.checked || !1 }, s);
525
- },
526
- renderMarkdown: (t, e) => {
527
- var s;
528
- const n = `- [${(s = t.attrs) != null && s.checked ? "x" : " "}] `;
529
- return $(t, e, n);
530
- },
531
- addKeyboardShortcuts() {
532
- const t = {
533
- Enter: () => this.editor.commands.splitListItem(this.name),
534
- "Shift-Tab": () => this.editor.commands.liftListItem(this.name)
535
- };
536
- return this.options.nested ? {
537
- ...t,
538
- Tab: () => this.editor.commands.sinkListItem(this.name)
539
- } : t;
540
- },
541
- addNodeView() {
542
- return ({ node: t, HTMLAttributes: e, getPos: s, editor: r }) => {
543
- const n = document.createElement("li"), i = document.createElement("label"), c = document.createElement("span"), a = document.createElement("input"), u = document.createElement("div"), p = (o) => {
544
- var l, d;
545
- a.ariaLabel = ((d = (l = this.options.a11y) == null ? void 0 : l.checkboxLabel) == null ? void 0 : d.call(l, o, a.checked)) || `Task item checkbox for ${o.textContent || "empty task item"}`;
546
- };
547
- p(t), i.contentEditable = "false", a.type = "checkbox", a.addEventListener("mousedown", (o) => o.preventDefault()), a.addEventListener("change", (o) => {
548
- if (!r.isEditable && !this.options.onReadOnlyChecked) {
549
- a.checked = !a.checked;
550
- return;
551
- }
552
- const { checked: l } = o.target;
553
- r.isEditable && typeof s == "function" && r.chain().focus(void 0, { scrollIntoView: !1 }).command(({ tr: d }) => {
554
- const k = s();
555
- if (typeof k != "number")
556
- return !1;
557
- const m = d.doc.nodeAt(k);
558
- return d.setNodeMarkup(k, void 0, {
559
- ...m?.attrs,
560
- checked: l
561
- }), !0;
562
- }).run(), !r.isEditable && this.options.onReadOnlyChecked && (this.options.onReadOnlyChecked(t, l) || (a.checked = !a.checked));
563
- }), Object.entries(this.options.HTMLAttributes).forEach(([o, l]) => {
564
- n.setAttribute(o, l);
565
- }), n.dataset.checked = t.attrs.checked, a.checked = t.attrs.checked, i.append(a, c), n.append(i, u), Object.entries(e).forEach(([o, l]) => {
566
- n.setAttribute(o, l);
567
- });
568
- let h = new Set(Object.keys(e));
569
- return {
570
- dom: n,
571
- contentDOM: u,
572
- update: (o) => {
573
- if (o.type !== this.type)
32
+ setHardBreak: () => ({ commands: e, chain: n, state: a, editor: s }) => e.first([
33
+ () => e.exitCode(),
34
+ () => e.command(() => {
35
+ const { selection: r, storedMarks: o } = a;
36
+ if (r.$from.parent.type.spec.isolating)
574
37
  return !1;
575
- n.dataset.checked = o.attrs.checked, a.checked = o.attrs.checked, p(o);
576
- const l = r.extensionManager.attributes, d = z(o, l), k = new Set(Object.keys(d)), m = this.options.HTMLAttributes;
577
- return h.forEach((f) => {
578
- k.has(f) || (f in m ? n.setAttribute(f, m[f]) : n.removeAttribute(f));
579
- }), Object.entries(d).forEach(([f, v]) => {
580
- v == null ? f in m ? n.setAttribute(f, m[f]) : n.removeAttribute(f) : n.setAttribute(f, v);
581
- }), h = k, !0;
582
- }
583
- };
584
- };
585
- },
586
- addInputRules() {
587
- return [
588
- b({
589
- find: rt,
590
- type: this.type,
591
- getAttributes: (t) => ({
592
- checked: t[t.length - 1] === "x"
38
+ const { keepMarks: i } = this.options, { splittableMarks: d } = s.extensionManager, t = o || r.$to.parentOffset && r.$from.marks();
39
+ return n().insertContent({ type: this.name }).command(({ tr: u, dispatch: k }) => {
40
+ if (k && t && i) {
41
+ const m = t.filter((p) => d.includes(p.type.name));
42
+ u.ensureMarks(m);
43
+ }
44
+ return !0;
45
+ }).run();
593
46
  })
594
- })
595
- ];
596
- }
597
- }), at = g.create({
598
- name: "taskList",
599
- addOptions() {
600
- return {
601
- itemTypeName: "taskItem",
602
- HTMLAttributes: {}
603
- };
604
- },
605
- group: "block list",
606
- content() {
607
- return `${this.options.itemTypeName}+`;
608
- },
609
- parseHTML() {
610
- return [
611
- {
612
- tag: `ul[data-type="${this.name}"]`,
613
- priority: 51
614
- }
615
- ];
616
- },
617
- renderHTML({ HTMLAttributes: t }) {
618
- return ["ul", L(this.options.HTMLAttributes, t, { "data-type": this.name }), 0];
619
- },
620
- parseMarkdown: (t, e) => e.createNode("taskList", {}, e.parseChildren(t.items || [])),
621
- renderMarkdown: (t, e) => t.content ? e.renderChildren(t.content, `
622
- `) : "",
623
- markdownTokenizer: {
624
- name: "taskList",
625
- level: "block",
626
- start(t) {
627
- var e;
628
- const s = (e = t.match(/^\s*[-+*]\s+\[([ xX])\]\s+/)) == null ? void 0 : e.index;
629
- return s !== void 0 ? s : -1;
630
- },
631
- tokenize(t, e, s) {
632
- const r = (i) => {
633
- const c = x(
634
- i,
635
- {
636
- itemPattern: /^(\s*)([-+*])\s+\[([ xX])\]\s+(.*)$/,
637
- extractItemData: (a) => ({
638
- indentLevel: a[1].length,
639
- mainContent: a[4],
640
- checked: a[3].toLowerCase() === "x"
641
- }),
642
- createToken: (a, u) => ({
643
- type: "taskItem",
644
- raw: "",
645
- mainContent: a.mainContent,
646
- indentLevel: a.indentLevel,
647
- checked: a.checked,
648
- text: a.mainContent,
649
- tokens: s.inlineTokens(a.mainContent),
650
- nestedTokens: u
651
- }),
652
- // Allow recursive nesting
653
- customNestedParser: r
654
- },
655
- s
656
- );
657
- return c ? [
658
- {
659
- type: "taskList",
660
- raw: c.raw,
661
- items: c.items
662
- }
663
- ] : s.blockTokens(i);
664
- }, n = x(
665
- t,
666
- {
667
- itemPattern: /^(\s*)([-+*])\s+\[([ xX])\]\s+(.*)$/,
668
- extractItemData: (i) => ({
669
- indentLevel: i[1].length,
670
- mainContent: i[4],
671
- checked: i[3].toLowerCase() === "x"
672
- }),
673
- createToken: (i, c) => ({
674
- type: "taskItem",
675
- raw: "",
676
- mainContent: i.mainContent,
677
- indentLevel: i.indentLevel,
678
- checked: i.checked,
679
- text: i.mainContent,
680
- tokens: s.inlineTokens(i.mainContent),
681
- nestedTokens: c
682
- }),
683
- // Use the recursive parser for nested content
684
- customNestedParser: r
685
- },
686
- s
687
- );
688
- if (n)
689
- return {
690
- type: "taskList",
691
- raw: n.raw,
692
- items: n.items
693
- };
694
- }
695
- },
696
- markdownOptions: {
697
- indentsContent: !0
698
- },
699
- addCommands() {
700
- return {
701
- toggleTaskList: () => ({ commands: t }) => t.toggleList(this.name, this.options.itemTypeName)
47
+ ])
702
48
  };
703
49
  },
704
50
  addKeyboardShortcuts() {
705
51
  return {
706
- "Mod-Shift-9": () => this.editor.commands.toggleTaskList()
52
+ "Mod-Enter": () => this.editor.commands.setHardBreak(),
53
+ "Shift-Enter": () => this.editor.commands.setHardBreak()
707
54
  };
708
55
  }
709
56
  });
710
- S.create({
711
- name: "listKit",
712
- addExtensions() {
713
- const t = [];
714
- return this.options.bulletList !== !1 && t.push(q.configure(this.options.bulletList)), this.options.listItem !== !1 && t.push(Y.configure(this.options.listItem)), this.options.listKeymap !== !1 && t.push(U.configure(this.options.listKeymap)), this.options.orderedList !== !1 && t.push(nt.configure(this.options.orderedList)), this.options.taskItem !== !1 && t.push(it.configure(this.options.taskItem)), this.options.taskList !== !1 && t.push(at.configure(this.options.taskList)), t;
715
- }
716
- });
717
57
  export {
718
- q as BulletList,
719
- Y as ListItem,
720
- U as ListKeymap,
721
- nt as OrderedList,
722
- it as TaskItem,
723
- at as TaskList,
724
- C as bulletListInputRegex,
725
- rt as inputRegex,
726
- J as listHelpers,
727
- H as orderedListInputRegex
58
+ f as HardBreak
728
59
  };