@vc-shell/framework 1.1.91-alpha.5 → 1.1.91

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 (103) hide show
  1. package/CHANGELOG.md +2762 -1411
  2. package/core/api/platform.ts +9883 -9883
  3. package/core/composables/useNotifications/index.ts +1 -32
  4. package/core/composables/useSettings/index.ts +3 -8
  5. package/core/composables/useUser/index.ts +171 -74
  6. package/core/composables/useUserManagement/index.ts +25 -67
  7. package/core/interceptors/index.ts +56 -19
  8. package/core/plugins/signalR/index.ts +1 -27
  9. package/core/types/index.ts +0 -2
  10. package/dist/core/api/platform.d.ts +1 -1
  11. package/dist/core/api/platform.d.ts.map +1 -1
  12. package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
  13. package/dist/core/composables/useSettings/index.d.ts.map +1 -1
  14. package/dist/core/composables/useUser/index.d.ts +9 -18
  15. package/dist/core/composables/useUser/index.d.ts.map +1 -1
  16. package/dist/core/composables/useUserManagement/index.d.ts +7 -7
  17. package/dist/core/composables/useUserManagement/index.d.ts.map +1 -1
  18. package/dist/core/interceptors/index.d.ts +1 -2
  19. package/dist/core/interceptors/index.d.ts.map +1 -1
  20. package/dist/core/plugins/signalR/index.d.ts +0 -2
  21. package/dist/core/plugins/signalR/index.d.ts.map +1 -1
  22. package/dist/core/types/index.d.ts +1 -1
  23. package/dist/core/types/index.d.ts.map +1 -1
  24. package/dist/framework.js +5682 -5832
  25. package/dist/index.css +1 -1
  26. package/dist/index.d.ts +0 -8
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/injection-keys.d.ts +1 -2
  29. package/dist/injection-keys.d.ts.map +1 -1
  30. package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts.map +1 -1
  31. package/dist/shared/components/sign-in/useExternalProvider.d.ts +1 -1
  32. package/dist/shared/components/sign-in/useExternalProvider.d.ts.map +1 -1
  33. package/dist/shared/modules/dynamic/helpers/nodeBuilder.d.ts.map +1 -1
  34. package/dist/tsconfig.tsbuildinfo +1 -1
  35. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  36. package/dist/vendor-dompurify-BuxjWxA2.js +553 -0
  37. package/dist/{vendor-prosemirror-gapcursor-K-Pj0iVP.js → vendor-prosemirror-gapcursor-CoNzHXkd.js} +27 -24
  38. package/dist/{vendor-tiptap-core-B000Ay3n.js → vendor-tiptap-core-D6CfVeU0.js} +1838 -1502
  39. package/dist/{vendor-tiptap-extension-blockquote-CHW3QVCH.js → vendor-tiptap-extension-blockquote-C__lIvqD.js} +19 -6
  40. package/dist/{vendor-tiptap-extension-bold-DsNXR7l5.js → vendor-tiptap-extension-bold-DF2R0mPF.js} +13 -10
  41. package/dist/{vendor-tiptap-extension-code-block-DYMOFxJc.js → vendor-tiptap-extension-code-block-B52VzS4M.js} +34 -16
  42. package/dist/{vendor-tiptap-extension-code-BXPfZcyf.js → vendor-tiptap-extension-code-f7eg00IH.js} +11 -8
  43. package/dist/vendor-tiptap-extension-document-UgQIRckz.js +12 -0
  44. package/dist/{vendor-tiptap-extension-hard-break-DfxtqTYW.js → vendor-tiptap-extension-hard-break-CYVqzABZ.js} +11 -9
  45. package/dist/{vendor-tiptap-extension-heading-BqN9fEEm.js → vendor-tiptap-extension-heading-BWwbIXKs.js} +11 -5
  46. package/dist/{vendor-tiptap-extension-horizontal-rule-Dl1wmLAo.js → vendor-tiptap-extension-horizontal-rule-DjIwBCkJ.js} +14 -11
  47. package/dist/{vendor-tiptap-extension-image-Cv28QlbA.js → vendor-tiptap-extension-image-CSFiALl1.js} +18 -8
  48. package/dist/{vendor-tiptap-extension-italic-B3WETSCz.js → vendor-tiptap-extension-italic-S1BFBPoJ.js} +15 -12
  49. package/dist/{vendor-tiptap-extension-link-CTWD6W1U.js → vendor-tiptap-extension-link-BII63Ad6.js} +101 -90
  50. package/dist/vendor-tiptap-extension-list-BiUARt_K.js +707 -0
  51. package/dist/vendor-tiptap-extension-paragraph-C7nR_Mg3.js +41 -0
  52. package/dist/vendor-tiptap-extension-placeholder-BoHVyYJs.js +1 -0
  53. package/dist/vendor-tiptap-extension-strike-D13ERA3E.js +64 -0
  54. package/dist/vendor-tiptap-extension-table-DsqCGn0S.js +368 -0
  55. package/dist/vendor-tiptap-extension-table-cell-qeLCoF6c.js +1 -0
  56. package/dist/vendor-tiptap-extension-table-header-qeLCoF6c.js +1 -0
  57. package/dist/vendor-tiptap-extension-table-row-qeLCoF6c.js +1 -0
  58. package/dist/vendor-tiptap-extension-text-D2Ap05bS.js +13 -0
  59. package/dist/{vendor-tiptap-extension-text-style-BiLsi9B8.js → vendor-tiptap-extension-text-style-6WFGdn9L.js} +1 -1
  60. package/dist/{vendor-tiptap-extension-underline-Bz_pv2E0.js → vendor-tiptap-extension-underline-CiLvGtsw.js} +29 -4
  61. package/dist/{vendor-tiptap-extensions-Crh_nh74.js → vendor-tiptap-extensions-0qImmpYJ.js} +88 -87
  62. package/dist/{vendor-tiptap-markdown-bGlioql8.js → vendor-tiptap-markdown-Dh06r1Sk.js} +1 -1
  63. package/dist/{vendor-tiptap-starter-kit-B3fY431M.js → vendor-tiptap-starter-kit-CQMmSEis.js} +17 -17
  64. package/dist/{vendor-tiptap-vue-3-CqWn44-V.js → vendor-tiptap-vue-3-B0kPYa3w.js} +1 -1
  65. package/dist/{vendor-vueuse-components-sgKpNzof.js → vendor-vueuse-components-B0zqjNRW.js} +1 -1
  66. package/dist/{vendor-vueuse-core-D0cN7FqY.js → vendor-vueuse-core-CYgwn-B2.js} +10 -10
  67. package/dist/{vendor-vueuse-shared-Pt0UEStA.js → vendor-vueuse-shared-B_uDJJ6V.js} +19 -19
  68. package/package.json +5 -7
  69. package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +2 -2
  70. package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +1 -15
  71. package/shared/components/sign-in/useExternalProvider.ts +1 -11
  72. package/shared/modules/dynamic/helpers/nodeBuilder.ts +3 -11
  73. package/ui/components/organisms/vc-app/vc-app.vue +2 -20
  74. package/core/providers/README.md +0 -176
  75. package/core/providers/auth-provider-manager.ts +0 -74
  76. package/core/providers/auth-provider-utils.ts +0 -26
  77. package/core/providers/example-custom-auth-provider.ts +0 -162
  78. package/core/providers/index.ts +0 -3
  79. package/core/providers/platform-auth-provider.ts +0 -207
  80. package/core/types/auth-provider.ts +0 -40
  81. package/dist/core/providers/auth-provider-manager.d.ts +0 -34
  82. package/dist/core/providers/auth-provider-manager.d.ts.map +0 -1
  83. package/dist/core/providers/auth-provider-utils.d.ts +0 -17
  84. package/dist/core/providers/auth-provider-utils.d.ts.map +0 -1
  85. package/dist/core/providers/example-custom-auth-provider.d.ts +0 -45
  86. package/dist/core/providers/example-custom-auth-provider.d.ts.map +0 -1
  87. package/dist/core/providers/index.d.ts +0 -3
  88. package/dist/core/providers/index.d.ts.map +0 -1
  89. package/dist/core/providers/platform-auth-provider.d.ts +0 -34
  90. package/dist/core/providers/platform-auth-provider.d.ts.map +0 -1
  91. package/dist/core/types/auth-provider.d.ts +0 -27
  92. package/dist/core/types/auth-provider.d.ts.map +0 -1
  93. package/dist/vendor-dompurify-C-JbJ3KX.js +0 -536
  94. package/dist/vendor-tiptap-extension-document-Y-jQl_8Q.js +0 -9
  95. package/dist/vendor-tiptap-extension-list-Da9Xfgwa.js +0 -420
  96. package/dist/vendor-tiptap-extension-paragraph-CSda9k3a.js +0 -31
  97. package/dist/vendor-tiptap-extension-placeholder-MI_ltlp7.js +0 -1
  98. package/dist/vendor-tiptap-extension-strike-Di5VtsLj.js +0 -61
  99. package/dist/vendor-tiptap-extension-table-DYCEjlpp.js +0 -311
  100. package/dist/vendor-tiptap-extension-table-cell-D5DL87Xa.js +0 -1
  101. package/dist/vendor-tiptap-extension-table-header-D5DL87Xa.js +0 -1
  102. package/dist/vendor-tiptap-extension-table-row-D5DL87Xa.js +0 -1
  103. package/dist/vendor-tiptap-extension-text-8vtzSN60.js +0 -8
@@ -0,0 +1,707 @@
1
+ import { N as L, E, w as k, m, r as H, k as g, l as B, o as j, p as $, q as K, s as M } from "./vendor-tiptap-core-D6CfVeU0.js";
2
+ var V = Object.defineProperty, X = (t, e) => {
3
+ for (var s in e)
4
+ V(t, s, { get: e[s], enumerable: !0 });
5
+ }, z = "listItem", x = "textStyle", w = /^\s*([-+*])\s$/, F = L.create({
6
+ name: "bulletList",
7
+ addOptions() {
8
+ 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", m(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(z, this.editor.getAttributes(x)).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 = k({
47
+ find: w,
48
+ type: this.type
49
+ });
50
+ return (this.options.keepMarks || this.options.keepAttributes) && (t = k({
51
+ find: w,
52
+ type: this.type,
53
+ keepMarks: this.options.keepMarks,
54
+ keepAttributes: this.options.keepAttributes,
55
+ getAttributes: () => this.editor.getAttributes(x),
56
+ editor: this.editor
57
+ })), [t];
58
+ }
59
+ }), q = L.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", m(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((r) => r.type === "paragraph"))
87
+ s = e.parseChildren(t.tokens);
88
+ else {
89
+ const r = t.tokens[0];
90
+ if (r && r.type === "text" && r.tokens && r.tokens.length > 0) {
91
+ if (s = [
92
+ {
93
+ type: "paragraph",
94
+ content: e.parseInline(r.tokens)
95
+ }
96
+ ], t.tokens.length > 1) {
97
+ const l = t.tokens.slice(1), a = e.parseChildren(l);
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) => H(
114
+ t,
115
+ e,
116
+ (n) => n.parentType === "bulletList" ? "- " : n.parentType === "orderedList" ? `${n.index + 1}. ` : "- ",
117
+ s
118
+ ),
119
+ addKeyboardShortcuts() {
120
+ return {
121
+ Enter: () => this.editor.commands.splitListItem(this.name),
122
+ Tab: () => this.editor.commands.sinkListItem(this.name),
123
+ "Shift-Tab": () => this.editor.commands.liftListItem(this.name)
124
+ };
125
+ }
126
+ }), G = {};
127
+ X(G, {
128
+ findListItemPos: () => b,
129
+ getNextListDepth: () => T,
130
+ handleBackspace: () => v,
131
+ handleDelete: () => I,
132
+ hasListBefore: () => S,
133
+ hasListItemAfter: () => W,
134
+ hasListItemBefore: () => O,
135
+ listItemHasSubList: () => P,
136
+ nextListIsDeeper: () => _,
137
+ nextListIsHigher: () => D
138
+ });
139
+ var b = (t, e) => {
140
+ const { $from: s } = e.selection, n = $(t, e.schema);
141
+ let r = null, i = s.depth, l = s.pos, a = null;
142
+ for (; i > 0 && a === null; )
143
+ r = s.node(i), r.type === n ? a = i : (i -= 1, l -= 1);
144
+ return a === null ? null : { $pos: e.doc.resolve(l), depth: a };
145
+ }, T = (t, e) => {
146
+ const s = b(t, e);
147
+ if (!s)
148
+ return !1;
149
+ const [, n] = K(e, t, s.$pos.pos + 4);
150
+ return n;
151
+ }, S = (t, e, s) => {
152
+ const { $anchor: n } = t.selection, r = Math.max(0, n.pos - 2), i = t.doc.resolve(r).node();
153
+ return !(!i || !s.includes(i.type.name));
154
+ }, O = (t, e) => {
155
+ var s;
156
+ const { $anchor: n } = e.selection, r = e.doc.resolve(n.pos - 2);
157
+ return !(r.index() === 0 || ((s = r.nodeBefore) == null ? void 0 : s.type.name) !== t);
158
+ }, P = (t, e, s) => {
159
+ if (!s)
160
+ return !1;
161
+ const n = $(t, e.schema);
162
+ let r = !1;
163
+ return s.descendants((i) => {
164
+ i.type === n && (r = !0);
165
+ }), r;
166
+ }, v = (t, e, s) => {
167
+ if (t.commands.undoInputRule())
168
+ return !0;
169
+ if (t.state.selection.from !== t.state.selection.to)
170
+ return !1;
171
+ if (!g(t.state, e) && S(t.state, e, s)) {
172
+ const { $anchor: a } = t.state.selection, p = t.state.doc.resolve(a.before() - 1), h = [];
173
+ p.node().descendants((c, u) => {
174
+ c.type.name === e && h.push({ node: c, pos: u });
175
+ });
176
+ const o = h.at(-1);
177
+ if (!o)
178
+ return !1;
179
+ const d = t.state.doc.resolve(p.start() + o.pos + 1);
180
+ return t.chain().cut({ from: a.start() - 1, to: a.end() + 1 }, d.end()).joinForward().run();
181
+ }
182
+ if (!g(t.state, e) || !B(t.state))
183
+ return !1;
184
+ const n = b(e, t.state);
185
+ if (!n)
186
+ return !1;
187
+ const i = t.state.doc.resolve(n.$pos.pos - 2).node(n.depth), l = P(e, t.state, i);
188
+ return O(e, t.state) && !l ? t.commands.joinItemBackward() : t.chain().liftListItem(e).run();
189
+ }, _ = (t, e) => {
190
+ const s = T(t, e), n = b(t, e);
191
+ return !n || !s ? !1 : s > n.depth;
192
+ }, D = (t, e) => {
193
+ const s = T(t, e), n = b(t, e);
194
+ return !n || !s ? !1 : s < n.depth;
195
+ }, I = (t, e) => {
196
+ if (!g(t.state, e) || !j(t.state, e))
197
+ return !1;
198
+ const { selection: s } = t.state, { $from: n, $to: r } = s;
199
+ return !s.empty && n.sameParent(r) ? !1 : _(e, t.state) ? t.chain().focus(t.state.selection.from + 4).lift(e).joinBackward().run() : D(e, t.state) ? t.chain().joinForward().joinBackward().run() : t.commands.joinItemForward();
200
+ }, W = (t, e) => {
201
+ var s;
202
+ const { $anchor: n } = e.selection, r = e.doc.resolve(n.pos - n.parentOffset - 2);
203
+ return !(r.index() === r.parent.childCount - 1 || ((s = r.nodeAfter) == null ? void 0 : s.type.name) !== t);
204
+ }, Y = E.create({
205
+ name: "listKeymap",
206
+ addOptions() {
207
+ return {
208
+ listTypes: [
209
+ {
210
+ itemName: "listItem",
211
+ wrapperNames: ["bulletList", "orderedList"]
212
+ },
213
+ {
214
+ itemName: "taskItem",
215
+ wrapperNames: ["taskList"]
216
+ }
217
+ ]
218
+ };
219
+ },
220
+ addKeyboardShortcuts() {
221
+ return {
222
+ Delete: ({ editor: t }) => {
223
+ let e = !1;
224
+ return this.options.listTypes.forEach(({ itemName: s }) => {
225
+ t.state.schema.nodes[s] !== void 0 && I(t, s) && (e = !0);
226
+ }), e;
227
+ },
228
+ "Mod-Delete": ({ editor: t }) => {
229
+ let e = !1;
230
+ return this.options.listTypes.forEach(({ itemName: s }) => {
231
+ t.state.schema.nodes[s] !== void 0 && I(t, s) && (e = !0);
232
+ }), e;
233
+ },
234
+ Backspace: ({ editor: t }) => {
235
+ let e = !1;
236
+ return this.options.listTypes.forEach(({ itemName: s, wrapperNames: n }) => {
237
+ t.state.schema.nodes[s] !== void 0 && v(t, s, n) && (e = !0);
238
+ }), e;
239
+ },
240
+ "Mod-Backspace": ({ editor: t }) => {
241
+ let e = !1;
242
+ return this.options.listTypes.forEach(({ itemName: s, wrapperNames: n }) => {
243
+ t.state.schema.nodes[s] !== void 0 && v(t, s, n) && (e = !0);
244
+ }), e;
245
+ }
246
+ };
247
+ }
248
+ }), A = /^(\s*)(\d+)\.\s+(.*)$/, J = /^\s/;
249
+ function Q(t) {
250
+ const e = [];
251
+ let s = 0, n = 0;
252
+ for (; s < t.length; ) {
253
+ const r = t[s], i = r.match(A);
254
+ if (!i)
255
+ break;
256
+ const [, l, a, p] = i, h = l.length;
257
+ let o = p, d = s + 1;
258
+ const c = [r];
259
+ for (; d < t.length; ) {
260
+ const u = t[d];
261
+ if (u.match(A))
262
+ break;
263
+ if (u.trim() === "")
264
+ c.push(u), o += `
265
+ `, d += 1;
266
+ else if (u.match(J))
267
+ c.push(u), o += `
268
+ ${u.slice(h + 2)}`, d += 1;
269
+ else
270
+ break;
271
+ }
272
+ e.push({
273
+ indent: h,
274
+ number: parseInt(a, 10),
275
+ content: o.trim(),
276
+ raw: c.join(`
277
+ `)
278
+ }), n = d, s = d;
279
+ }
280
+ return [e, n];
281
+ }
282
+ function R(t, e, s) {
283
+ var n;
284
+ const r = [];
285
+ let i = 0;
286
+ for (; i < t.length; ) {
287
+ const l = t[i];
288
+ if (l.indent === e) {
289
+ const a = l.content.split(`
290
+ `), p = ((n = a[0]) == null ? void 0 : n.trim()) || "", h = [];
291
+ p && h.push({
292
+ type: "paragraph",
293
+ raw: p,
294
+ tokens: s.inlineTokens(p)
295
+ });
296
+ const o = a.slice(1).join(`
297
+ `).trim();
298
+ if (o) {
299
+ const u = s.blockTokens(o);
300
+ h.push(...u);
301
+ }
302
+ let d = i + 1;
303
+ const c = [];
304
+ for (; d < t.length && t[d].indent > e; )
305
+ c.push(t[d]), d += 1;
306
+ if (c.length > 0) {
307
+ const u = Math.min(...c.map((y) => y.indent)), f = R(c, u, s);
308
+ h.push({
309
+ type: "list",
310
+ ordered: !0,
311
+ start: c[0].number,
312
+ items: f,
313
+ raw: c.map((y) => y.raw).join(`
314
+ `)
315
+ });
316
+ }
317
+ r.push({
318
+ type: "list_item",
319
+ raw: l.raw,
320
+ tokens: h
321
+ }), i = d;
322
+ } else
323
+ i += 1;
324
+ }
325
+ return r;
326
+ }
327
+ function U(t, e) {
328
+ return t.map((s) => {
329
+ if (s.type !== "list_item")
330
+ return e.parseChildren([s])[0];
331
+ const n = [];
332
+ return s.tokens && s.tokens.length > 0 && s.tokens.forEach((r) => {
333
+ if (r.type === "paragraph" || r.type === "list" || r.type === "blockquote" || r.type === "code")
334
+ n.push(...e.parseChildren([r]));
335
+ else if (r.type === "text" && r.tokens) {
336
+ const i = e.parseChildren([r]);
337
+ n.push({
338
+ type: "paragraph",
339
+ content: i
340
+ });
341
+ } else {
342
+ const i = e.parseChildren([r]);
343
+ i.length > 0 && n.push(...i);
344
+ }
345
+ }), {
346
+ type: "listItem",
347
+ content: n
348
+ };
349
+ });
350
+ }
351
+ var Z = "listItem", C = "textStyle", N = /^(\d+)\.\s$/, tt = L.create({
352
+ name: "orderedList",
353
+ addOptions() {
354
+ return {
355
+ itemTypeName: "listItem",
356
+ HTMLAttributes: {},
357
+ keepMarks: !1,
358
+ keepAttributes: !1
359
+ };
360
+ },
361
+ group: "block list",
362
+ content() {
363
+ return `${this.options.itemTypeName}+`;
364
+ },
365
+ addAttributes() {
366
+ return {
367
+ start: {
368
+ default: 1,
369
+ parseHTML: (t) => t.hasAttribute("start") ? parseInt(t.getAttribute("start") || "", 10) : 1
370
+ },
371
+ type: {
372
+ default: null,
373
+ parseHTML: (t) => t.getAttribute("type")
374
+ }
375
+ };
376
+ },
377
+ parseHTML() {
378
+ return [
379
+ {
380
+ tag: "ol"
381
+ }
382
+ ];
383
+ },
384
+ renderHTML({ HTMLAttributes: t }) {
385
+ const { start: e, ...s } = t;
386
+ return e === 1 ? ["ol", m(this.options.HTMLAttributes, s), 0] : ["ol", m(this.options.HTMLAttributes, t), 0];
387
+ },
388
+ markdownTokenName: "list",
389
+ parseMarkdown: (t, e) => {
390
+ if (t.type !== "list" || !t.ordered)
391
+ return [];
392
+ const s = t.start || 1, n = t.items ? U(t.items, e) : [];
393
+ return s !== 1 ? {
394
+ type: "orderedList",
395
+ attrs: { start: s },
396
+ content: n
397
+ } : {
398
+ type: "orderedList",
399
+ content: n
400
+ };
401
+ },
402
+ renderMarkdown: (t, e) => t.content ? e.renderChildren(t.content, `
403
+ `) : "",
404
+ markdownTokenizer: {
405
+ name: "orderedList",
406
+ level: "block",
407
+ start: (t) => {
408
+ const e = t.match(/^(\s*)(\d+)\.\s+/), s = e?.index;
409
+ return s !== void 0 ? s : -1;
410
+ },
411
+ tokenize: (t, e, s) => {
412
+ var n;
413
+ const r = t.split(`
414
+ `), [i, l] = Q(r);
415
+ if (i.length === 0)
416
+ return;
417
+ const a = R(i, 0, s);
418
+ return a.length === 0 ? void 0 : {
419
+ type: "list",
420
+ ordered: !0,
421
+ start: ((n = i[0]) == null ? void 0 : n.number) || 1,
422
+ items: a,
423
+ raw: r.slice(0, l).join(`
424
+ `)
425
+ };
426
+ }
427
+ },
428
+ markdownOptions: {
429
+ indentsContent: !0
430
+ },
431
+ addCommands() {
432
+ return {
433
+ toggleOrderedList: () => ({ commands: t, chain: e }) => this.options.keepAttributes ? e().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(Z, this.editor.getAttributes(C)).run() : t.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks)
434
+ };
435
+ },
436
+ addKeyboardShortcuts() {
437
+ return {
438
+ "Mod-Shift-7": () => this.editor.commands.toggleOrderedList()
439
+ };
440
+ },
441
+ addInputRules() {
442
+ let t = k({
443
+ find: N,
444
+ type: this.type,
445
+ getAttributes: (e) => ({ start: +e[1] }),
446
+ joinPredicate: (e, s) => s.childCount + s.attrs.start === +e[1]
447
+ });
448
+ return (this.options.keepMarks || this.options.keepAttributes) && (t = k({
449
+ find: N,
450
+ type: this.type,
451
+ keepMarks: this.options.keepMarks,
452
+ keepAttributes: this.options.keepAttributes,
453
+ getAttributes: (e) => ({ start: +e[1], ...this.editor.getAttributes(C) }),
454
+ joinPredicate: (e, s) => s.childCount + s.attrs.start === +e[1],
455
+ editor: this.editor
456
+ })), [t];
457
+ }
458
+ }), et = /^\s*(\[([( |x])?\])\s$/, st = L.create({
459
+ name: "taskItem",
460
+ addOptions() {
461
+ return {
462
+ nested: !1,
463
+ HTMLAttributes: {},
464
+ taskListTypeName: "taskList",
465
+ a11y: void 0
466
+ };
467
+ },
468
+ content() {
469
+ return this.options.nested ? "paragraph block*" : "paragraph+";
470
+ },
471
+ defining: !0,
472
+ addAttributes() {
473
+ return {
474
+ checked: {
475
+ default: !1,
476
+ keepOnSplit: !1,
477
+ parseHTML: (t) => {
478
+ const e = t.getAttribute("data-checked");
479
+ return e === "" || e === "true";
480
+ },
481
+ renderHTML: (t) => ({
482
+ "data-checked": t.checked
483
+ })
484
+ }
485
+ };
486
+ },
487
+ parseHTML() {
488
+ return [
489
+ {
490
+ tag: `li[data-type="${this.name}"]`,
491
+ priority: 51
492
+ }
493
+ ];
494
+ },
495
+ renderHTML({ node: t, HTMLAttributes: e }) {
496
+ return [
497
+ "li",
498
+ m(this.options.HTMLAttributes, e, {
499
+ "data-type": this.name
500
+ }),
501
+ [
502
+ "label",
503
+ [
504
+ "input",
505
+ {
506
+ type: "checkbox",
507
+ checked: t.attrs.checked ? "checked" : null
508
+ }
509
+ ],
510
+ ["span"]
511
+ ],
512
+ ["div", 0]
513
+ ];
514
+ },
515
+ parseMarkdown: (t, e) => {
516
+ const s = [];
517
+ 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) {
518
+ const n = e.parseChildren(t.nestedTokens);
519
+ s.push(...n);
520
+ }
521
+ return e.createNode("taskItem", { checked: t.checked || !1 }, s);
522
+ },
523
+ renderMarkdown: (t, e) => {
524
+ var s;
525
+ const r = `- [${(s = t.attrs) != null && s.checked ? "x" : " "}] `;
526
+ return H(t, e, r);
527
+ },
528
+ addKeyboardShortcuts() {
529
+ const t = {
530
+ Enter: () => this.editor.commands.splitListItem(this.name),
531
+ "Shift-Tab": () => this.editor.commands.liftListItem(this.name)
532
+ };
533
+ return this.options.nested ? {
534
+ ...t,
535
+ Tab: () => this.editor.commands.sinkListItem(this.name)
536
+ } : t;
537
+ },
538
+ addNodeView() {
539
+ return ({ node: t, HTMLAttributes: e, getPos: s, editor: n }) => {
540
+ const r = document.createElement("li"), i = document.createElement("label"), l = document.createElement("span"), a = document.createElement("input"), p = document.createElement("div"), h = (o) => {
541
+ var d, c;
542
+ a.ariaLabel = ((c = (d = this.options.a11y) == null ? void 0 : d.checkboxLabel) == null ? void 0 : c.call(d, o, a.checked)) || `Task item checkbox for ${o.textContent || "empty task item"}`;
543
+ };
544
+ return h(t), i.contentEditable = "false", a.type = "checkbox", a.addEventListener("mousedown", (o) => o.preventDefault()), a.addEventListener("change", (o) => {
545
+ if (!n.isEditable && !this.options.onReadOnlyChecked) {
546
+ a.checked = !a.checked;
547
+ return;
548
+ }
549
+ const { checked: d } = o.target;
550
+ n.isEditable && typeof s == "function" && n.chain().focus(void 0, { scrollIntoView: !1 }).command(({ tr: c }) => {
551
+ const u = s();
552
+ if (typeof u != "number")
553
+ return !1;
554
+ const f = c.doc.nodeAt(u);
555
+ return c.setNodeMarkup(u, void 0, {
556
+ ...f?.attrs,
557
+ checked: d
558
+ }), !0;
559
+ }).run(), !n.isEditable && this.options.onReadOnlyChecked && (this.options.onReadOnlyChecked(t, d) || (a.checked = !a.checked));
560
+ }), Object.entries(this.options.HTMLAttributes).forEach(([o, d]) => {
561
+ r.setAttribute(o, d);
562
+ }), r.dataset.checked = t.attrs.checked, a.checked = t.attrs.checked, i.append(a, l), r.append(i, p), Object.entries(e).forEach(([o, d]) => {
563
+ r.setAttribute(o, d);
564
+ }), {
565
+ dom: r,
566
+ contentDOM: p,
567
+ update: (o) => o.type !== this.type ? !1 : (r.dataset.checked = o.attrs.checked, a.checked = o.attrs.checked, h(o), !0)
568
+ };
569
+ };
570
+ },
571
+ addInputRules() {
572
+ return [
573
+ k({
574
+ find: et,
575
+ type: this.type,
576
+ getAttributes: (t) => ({
577
+ checked: t[t.length - 1] === "x"
578
+ })
579
+ })
580
+ ];
581
+ }
582
+ }), nt = L.create({
583
+ name: "taskList",
584
+ addOptions() {
585
+ return {
586
+ itemTypeName: "taskItem",
587
+ HTMLAttributes: {}
588
+ };
589
+ },
590
+ group: "block list",
591
+ content() {
592
+ return `${this.options.itemTypeName}+`;
593
+ },
594
+ parseHTML() {
595
+ return [
596
+ {
597
+ tag: `ul[data-type="${this.name}"]`,
598
+ priority: 51
599
+ }
600
+ ];
601
+ },
602
+ renderHTML({ HTMLAttributes: t }) {
603
+ return ["ul", m(this.options.HTMLAttributes, t, { "data-type": this.name }), 0];
604
+ },
605
+ parseMarkdown: (t, e) => e.createNode("taskList", {}, e.parseChildren(t.items || [])),
606
+ renderMarkdown: (t, e) => t.content ? e.renderChildren(t.content, `
607
+ `) : "",
608
+ markdownTokenizer: {
609
+ name: "taskList",
610
+ level: "block",
611
+ start(t) {
612
+ var e;
613
+ const s = (e = t.match(/^\s*[-+*]\s+\[([ xX])\]\s+/)) == null ? void 0 : e.index;
614
+ return s !== void 0 ? s : -1;
615
+ },
616
+ tokenize(t, e, s) {
617
+ const n = (i) => {
618
+ const l = M(
619
+ i,
620
+ {
621
+ itemPattern: /^(\s*)([-+*])\s+\[([ xX])\]\s+(.*)$/,
622
+ extractItemData: (a) => ({
623
+ indentLevel: a[1].length,
624
+ mainContent: a[4],
625
+ checked: a[3].toLowerCase() === "x"
626
+ }),
627
+ createToken: (a, p) => ({
628
+ type: "taskItem",
629
+ raw: "",
630
+ mainContent: a.mainContent,
631
+ indentLevel: a.indentLevel,
632
+ checked: a.checked,
633
+ text: a.mainContent,
634
+ tokens: s.inlineTokens(a.mainContent),
635
+ nestedTokens: p
636
+ }),
637
+ // Allow recursive nesting
638
+ customNestedParser: n
639
+ },
640
+ s
641
+ );
642
+ return l ? [
643
+ {
644
+ type: "taskList",
645
+ raw: l.raw,
646
+ items: l.items
647
+ }
648
+ ] : s.blockTokens(i);
649
+ }, r = M(
650
+ t,
651
+ {
652
+ itemPattern: /^(\s*)([-+*])\s+\[([ xX])\]\s+(.*)$/,
653
+ extractItemData: (i) => ({
654
+ indentLevel: i[1].length,
655
+ mainContent: i[4],
656
+ checked: i[3].toLowerCase() === "x"
657
+ }),
658
+ createToken: (i, l) => ({
659
+ type: "taskItem",
660
+ raw: "",
661
+ mainContent: i.mainContent,
662
+ indentLevel: i.indentLevel,
663
+ checked: i.checked,
664
+ text: i.mainContent,
665
+ tokens: s.inlineTokens(i.mainContent),
666
+ nestedTokens: l
667
+ }),
668
+ // Use the recursive parser for nested content
669
+ customNestedParser: n
670
+ },
671
+ s
672
+ );
673
+ if (r)
674
+ return {
675
+ type: "taskList",
676
+ raw: r.raw,
677
+ items: r.items
678
+ };
679
+ }
680
+ },
681
+ markdownOptions: {
682
+ indentsContent: !0
683
+ },
684
+ addCommands() {
685
+ return {
686
+ toggleTaskList: () => ({ commands: t }) => t.toggleList(this.name, this.options.itemTypeName)
687
+ };
688
+ },
689
+ addKeyboardShortcuts() {
690
+ return {
691
+ "Mod-Shift-9": () => this.editor.commands.toggleTaskList()
692
+ };
693
+ }
694
+ });
695
+ E.create({
696
+ name: "listKit",
697
+ addExtensions() {
698
+ const t = [];
699
+ return this.options.bulletList !== !1 && t.push(F.configure(this.options.bulletList)), this.options.listItem !== !1 && t.push(q.configure(this.options.listItem)), this.options.listKeymap !== !1 && t.push(Y.configure(this.options.listKeymap)), this.options.orderedList !== !1 && t.push(tt.configure(this.options.orderedList)), this.options.taskItem !== !1 && t.push(st.configure(this.options.taskItem)), this.options.taskList !== !1 && t.push(nt.configure(this.options.taskList)), t;
700
+ }
701
+ });
702
+ export {
703
+ F as B,
704
+ q as L,
705
+ tt as O,
706
+ Y as a
707
+ };