@mx-space/cli 0.13.1 → 0.13.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +60 -1
  2. package/ROADMAP.md +11 -8
  3. package/dist/{Lexical.dev-By5dOKBN.mjs → Lexical.dev-DTxuYHmG.mjs} +2267 -431
  4. package/dist/{Lexical.node-fXM8Jp7p.mjs → Lexical.node-BlCLnfA6.mjs} +47 -10
  5. package/dist/Lexical.prod-CeB9UQuo.mjs +6816 -0
  6. package/dist/{LexicalClipboard.dev--HxGoSkO.mjs → LexicalClipboard.dev-CdFkLR_D.mjs} +131 -39
  7. package/dist/{LexicalClipboard.node-C3mRbrmW.mjs → LexicalClipboard.node-ktUajxsv.mjs} +2 -2
  8. package/dist/LexicalClipboard.prod-DliyLofW.mjs +429 -0
  9. package/dist/{LexicalCodeCore.dev-DjSrd4A4.mjs → LexicalCodeCore.dev-CL9tHWJX.mjs} +81 -67
  10. package/dist/LexicalCodeCore.prod-BoMSJc29.mjs +651 -0
  11. package/dist/LexicalDragon.dev-CqW7Aq5H.mjs +186 -0
  12. package/dist/{LexicalDragon.node-BVhw4C7s.mjs → LexicalDragon.node-DLXctJyy.mjs} +3 -2
  13. package/dist/LexicalDragon.prod-DHI3T6n5.mjs +121 -0
  14. package/dist/{LexicalExtension.dev-BPNyvGqe.mjs → LexicalExtension.dev-BP-18zns.mjs} +352 -38
  15. package/dist/{LexicalExtension.node-BVlcrgOx.mjs → LexicalExtension.node-BWH6xbzG.mjs} +9 -4
  16. package/dist/{LexicalExtension.prod-DFKbiNt-.mjs → LexicalExtension.prod-Cs6OgrDn.mjs} +479 -330
  17. package/dist/{LexicalHeadless.dev-B-cj7Pr5.mjs → LexicalHeadless.dev-DJp__UcP.mjs} +2 -2
  18. package/dist/{LexicalHeadless.prod-Byp1vNzT.mjs → LexicalHeadless.prod-o0v9cIu5.mjs} +2 -2
  19. package/dist/{LexicalHtml.dev-prBAwszN.mjs → LexicalHtml.dev-DoymwFpG.mjs} +327 -269
  20. package/dist/{LexicalHtml.node-BvNF96jZ.mjs → LexicalHtml.node-CVkbWtUA.mjs} +6 -4
  21. package/dist/{LexicalHtml.prod-Sz3CW1ht.mjs → LexicalHtml.prod-C2b3z99k.mjs} +355 -353
  22. package/dist/{LexicalLink.dev-NySTYhVR.mjs → LexicalLink.dev-7cgLOLIe.mjs} +70 -59
  23. package/dist/{LexicalLink.prod-BuCM8gts.mjs → LexicalLink.prod-DWFgoXHR.mjs} +211 -212
  24. package/dist/{LexicalList.dev-DIMOvSFD.mjs → LexicalList.dev-Ci2iOxFx.mjs} +246 -198
  25. package/dist/LexicalList.prod-D0xX5d3G.mjs +944 -0
  26. package/dist/{LexicalMarkdown.dev-C7aylvCG.mjs → LexicalMarkdown.dev-C0ZYCyuR.mjs} +130 -38
  27. package/dist/LexicalMarkdown.prod-0M-Nc-rh.mjs +932 -0
  28. package/dist/{LexicalRichText.dev-DfICq6lU.mjs → LexicalRichText.dev-Cnr1kDym.mjs} +151 -122
  29. package/dist/{LexicalRichText.node-Bg9jND3Q.mjs → LexicalRichText.node-BUJZAiap.mjs} +8 -11
  30. package/dist/LexicalRichText.prod-BfbMQ9uM.mjs +538 -0
  31. package/dist/{LexicalSelection.dev-DGjj12wW.mjs → LexicalSelection.dev-C4L7l8OB.mjs} +10 -9
  32. package/dist/{LexicalSelection.node-BU5L4193.mjs → LexicalSelection.node-CLKroUMQ.mjs} +4 -4
  33. package/dist/{LexicalSelection.prod-D-PwRbyK.mjs → LexicalSelection.prod-DzFqpTlw.mjs} +144 -146
  34. package/dist/{LexicalTable.dev-ChP7cugd.mjs → LexicalTable.dev-Cc9-zqKa.mjs} +186 -121
  35. package/dist/LexicalTable.prod-BgO4nCxy.mjs +2336 -0
  36. package/dist/{LexicalUtils.dev-BiFU3789.mjs → LexicalUtils.dev-BRgK0L6G.mjs} +375 -35
  37. package/dist/{LexicalUtils.node-j3Llm7Y3.mjs → LexicalUtils.node-BVAwOkL4.mjs} +24 -12
  38. package/dist/LexicalUtils.prod-C1gtvVDP.mjs +504 -0
  39. package/dist/bin/mxs.mjs +1 -1
  40. package/dist/{esm-DFrz5rIo.mjs → esm-BNu4sUWV.mjs} +220 -185
  41. package/dist/esm-jbwcVZth.mjs +2 -0
  42. package/dist/index.d.mts +46 -17
  43. package/dist/index.mjs +1 -1
  44. package/dist/{mxs-DXpzbUf4.mjs → mxs-zPvjkoNC.mjs} +8235 -6041
  45. package/dist/vendor/litexml/cli.mjs +24150 -0
  46. package/dist/vendor/litexml/litexml-html-preview-client.css +8862 -0
  47. package/dist/vendor/litexml/litexml-html-preview-client.js +163816 -0
  48. package/dist/vendor/litexml/style.css +96 -0
  49. package/package.json +21 -22
  50. package/skills/commands-ai.md +115 -0
  51. package/skills/commands-preview.md +3 -3
  52. package/skills/overview.md +1 -0
  53. package/dist/Lexical.prod-BlCvXPGa.mjs +0 -6088
  54. package/dist/LexicalClipboard.prod-DNJzFMcT.mjs +0 -371
  55. package/dist/LexicalCodeCore.prod-DTDShkR3.mjs +0 -642
  56. package/dist/LexicalDragon.dev-DwprRH0z.mjs +0 -88
  57. package/dist/LexicalDragon.prod-nh4J-8vn.mjs +0 -59
  58. package/dist/LexicalList.prod-MVqfA6Vo.mjs +0 -925
  59. package/dist/LexicalMarkdown.prod-CfQSM406.mjs +0 -868
  60. package/dist/LexicalRichText.prod-GsFzCK-o.mjs +0 -550
  61. package/dist/LexicalTable.prod-Bpr9YRXp.mjs +0 -2311
  62. package/dist/LexicalUtils.prod-DCvrA78p.mjs +0 -373
  63. package/dist/esm-DXO9Afik.mjs +0 -2
@@ -0,0 +1,944 @@
1
+ import { f as namedSignals, l as effect } from "./LexicalExtension.node-BWH6xbzG.mjs";
2
+ import { $ as $insertNodeToNearestRootAtCaret, A as $getChildCaret, At as $setFormatFromDOM, Bn as KEY_ARROW_LEFT_COMMAND, Ct as $normalizeCaret, Dt as $rewindSiblingCaret, G as $getSiblingCaret, Gt as COMMAND_PRIORITY_BEFORE_EDITOR, Hn as KEY_ARROW_UP_COMMAND, Ir as getStyleObjectFromCSS, Kn as KEY_ESCAPE_COMMAND, R as $getNearestNodeFromDOMNode, Sr as getActiveElement, Un as KEY_BACKSPACE_COMMAND, W as $getSelection, Yt as COMMAND_PRIORITY_LOW, ai as safeCast, at as $isElementNode, b as $findMatchingParent, bn as INSERT_PARAGRAPH_COMMAND, br as defineExtension, bt as $isTextNode, ct as $isLeafNode, d as $createLineBreakNode, dn as ElementNode, fr as TextNode, ft as $isParagraphNode, gr as createCommand, hr as configExtension, ht as $isRootOrShadowRoot, ii as removeClassNamesFromElement, jr as getNearestEditorFromDOMNode, jt as $setPointFromCaret, kt as $setDirectionFromDOM, l as $copyNode, lr as SKIP_SELECTION_FOCUS_TAG, mr as buildImportMap, n as $applyNodeReplacement, ni as mergeRegister, oi as setDOMStyleFromCSS, p as $createParagraphNode, pr as addClassNamesToElement, pt as $isRangeSelection, qn as KEY_SPACE_COMMAND, qr as isHTMLElement, ri as normalizeClassNames, rt as $isDecoratorNode, sr as SKIP_DOM_SELECTION_TAG, t as $addUpdateTag, v as $createTextNode, z as $getNodeByKey, zn as KEY_ARROW_DOWN_COMMAND } from "./Lexical.node-BlCLnfA6.mjs";
3
+ import { _ as isElementOfTag, a as $isBlockLevel, c as DOMImportExtension, h as defineImportRule, o as $propagateTextAlignToBlockChildren, s as CoreImportExtension, v as sel } from "./LexicalHtml.node-CVkbWtUA.mjs";
4
+ import { i as $getNearestNodeOfType, p as calculateZoomLevel } from "./LexicalUtils.node-BVAwOkL4.mjs";
5
+ //#region ../../node_modules/.pnpm/@lexical+list@0.46.0_typescript@6.0.3/node_modules/@lexical/list/dist/LexicalList.prod.mjs
6
+ /**
7
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
8
+ *
9
+ * This source code is licensed under the MIT license found in the
10
+ * LICENSE file in the root directory of this source tree.
11
+ *
12
+ */
13
+ function ae(e, ...t) {
14
+ const n = new URL("https://lexical.dev/docs/error"), r = new URLSearchParams();
15
+ r.append("code", e);
16
+ for (const e of t) r.append("v", e);
17
+ throw n.search = r.toString(), Error(`Minified Lexical error #${e}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`);
18
+ }
19
+ function ue(e) {
20
+ let t = 1, n = e.getParent();
21
+ for (; null != n;) {
22
+ if (Pe(n)) {
23
+ const e = n.getParent();
24
+ if (De(e)) {
25
+ t++, n = e.getParent();
26
+ continue;
27
+ }
28
+ ae(40);
29
+ }
30
+ return t;
31
+ }
32
+ return t;
33
+ }
34
+ function ge(e) {
35
+ const t = e.getParent();
36
+ De(t) || ae(40);
37
+ let n = t, r = t;
38
+ for (; null !== r;) r = r.getParent(), De(r) && (n = r);
39
+ return n;
40
+ }
41
+ function he(e) {
42
+ let t = [];
43
+ const n = e.getChildren().filter(Pe);
44
+ for (let e = 0; e < n.length; e++) {
45
+ const r = n[e], i = r.getFirstChild();
46
+ De(i) ? t = t.concat(he(i)) : t.push(r);
47
+ }
48
+ return t;
49
+ }
50
+ function de(e) {
51
+ return Pe(e) && De(e.getFirstChild());
52
+ }
53
+ function fe(e, t) {
54
+ return Pe(e) && (0 === t.length || 1 === t.length && e.is(t[0]) && 0 === e.getChildrenSize());
55
+ }
56
+ function pe(e) {
57
+ const t = $getSelection();
58
+ if (null !== t) {
59
+ let n = t.getNodes();
60
+ if ($isRangeSelection(t)) {
61
+ const [r] = t.getStartEndPoints(), i = r.getNode(), l = i.getParent();
62
+ if ($isRootOrShadowRoot(i)) {
63
+ const e = i.getFirstChild();
64
+ if (e) n = e.selectStart().getNodes();
65
+ else {
66
+ const e = $createParagraphNode();
67
+ i.append(e), n = e.select().getNodes();
68
+ }
69
+ } else if (fe(i, n)) {
70
+ const t = we(e);
71
+ if ($isRootOrShadowRoot(l)) {
72
+ i.replace(t);
73
+ const e = Fe();
74
+ $isElementNode(i) && (e.setFormat(i.getFormatType()), e.setIndent(i.getIndent())), t.append(e);
75
+ } else if (Pe(i)) {
76
+ const e = i.getParentOrThrow();
77
+ me(t, e.getChildren()), e.replace(t);
78
+ }
79
+ return;
80
+ }
81
+ }
82
+ const i = /* @__PURE__ */ new Set();
83
+ for (let t = 0; t < n.length; t++) {
84
+ const r = n[t];
85
+ if ($isElementNode(r) && r.isEmpty() && !Pe(r) && !i.has(r.getKey())) {
86
+ _e(r, e);
87
+ continue;
88
+ }
89
+ let o = $isLeafNode(r) ? r.getParent() : Pe(r) && r.isEmpty() ? r : null;
90
+ for (; null != o;) {
91
+ const t = o.getKey();
92
+ if (De(o)) {
93
+ if (!i.has(t)) {
94
+ const n = we(e);
95
+ me(n, o.getChildren()), o.replace(n), i.add(t);
96
+ }
97
+ break;
98
+ }
99
+ {
100
+ const n = o.getParent();
101
+ if ($isRootOrShadowRoot(n) && !i.has(t)) {
102
+ i.add(t), _e(o, e);
103
+ break;
104
+ }
105
+ o = n;
106
+ }
107
+ }
108
+ }
109
+ }
110
+ }
111
+ function me(e, t) {
112
+ e.splice(e.getChildrenSize(), 0, t);
113
+ }
114
+ function _e(e, t) {
115
+ if (De(e)) return e;
116
+ const i = e.getPreviousSibling(), s = e.getNextSibling(), o = Fe();
117
+ let l;
118
+ if (me(o, e.getChildren()), De(i) && t === i.getListType()) i.append(o), De(s) && t === s.getListType() && (me(i, s.getChildren()), s.remove()), l = i;
119
+ else if (De(s) && t === s.getListType()) s.getFirstChildOrThrow().insertBefore(o), l = s;
120
+ else {
121
+ const n = we(t);
122
+ n.append(o), e.replace(n), l = n;
123
+ }
124
+ o.setFormat(e.getFormatType()), o.setIndent(e.getIndent());
125
+ const c = $getSelection();
126
+ return $isRangeSelection(c) && (l.getKey() === c.anchor.key && c.anchor.set(o.getKey(), c.anchor.offset, "element"), l.getKey() === c.focus.key && c.focus.set(o.getKey(), c.focus.offset, "element")), e.remove(), l;
127
+ }
128
+ function ye(e, t) {
129
+ const n = e.getLastChild(), r = t.getFirstChild();
130
+ n && r && de(n) && de(r) && (ye(n.getFirstChild(), r.getFirstChild()), r.remove());
131
+ const i = t.getChildren();
132
+ i.length > 0 && e.append(...i), t.remove();
133
+ }
134
+ function Ce() {
135
+ const t = $getSelection();
136
+ if ($isRangeSelection(t)) {
137
+ const n = /* @__PURE__ */ new Set(), r = t.getNodes(), i = t.anchor.getNode();
138
+ if (fe(i, r)) n.add(ge(i));
139
+ else for (let t = 0; t < r.length; t++) {
140
+ const i = r[t];
141
+ if ($isLeafNode(i)) {
142
+ const t = $getNearestNodeOfType(i, Te);
143
+ null != t && n.add(ge(t));
144
+ }
145
+ }
146
+ for (const e of n) {
147
+ let n = e;
148
+ const r = he(e);
149
+ for (const e of r) {
150
+ const r = $createParagraphNode().setTextStyle(t.style).setTextFormat(t.format);
151
+ me(r, e.getChildren()), n.insertAfter(r), n = r, e.__key === t.anchor.key && $setPointFromCaret(t.anchor, $normalizeCaret($getChildCaret(r, "next"))), e.__key === t.focus.key && $setPointFromCaret(t.focus, $normalizeCaret($getChildCaret(r, "next"))), e.remove();
152
+ }
153
+ e.remove();
154
+ }
155
+ }
156
+ }
157
+ function ve(e) {
158
+ const t = "check" !== e.getListType();
159
+ let n = e.getStart();
160
+ for (const r of e.getChildren()) Pe(r) && (r.getValue() !== n && r.setValue(n), t && null != r.getLatest().__checked && r.setChecked(void 0), De(r.getFirstChild()) || n++);
161
+ }
162
+ function ke(e) {
163
+ const t = /* @__PURE__ */ new Set();
164
+ if (de(e) || t.has(e.getKey())) return;
165
+ const n = e.getParent(), r = e.getNextSibling(), i = e.getPreviousSibling();
166
+ if (de(r) && de(i)) {
167
+ const n = i.getFirstChild();
168
+ if (De(n)) {
169
+ n.append(e);
170
+ const i = r.getFirstChild();
171
+ if (De(i)) me(n, i.getChildren()), r.remove(), t.add(r.getKey());
172
+ }
173
+ } else if (de(r)) {
174
+ const t = r.getFirstChild();
175
+ if (De(t)) {
176
+ const n = t.getFirstChild();
177
+ null !== n && n.insertBefore(e);
178
+ }
179
+ } else if (de(i)) {
180
+ const t = i.getFirstChild();
181
+ De(t) && t.append(e);
182
+ } else if (De(n)) {
183
+ const t = $copyNode(e), s = $copyNode(n);
184
+ t.append(s), s.append(e), i ? i.insertAfter(t) : r ? r.insertBefore(t) : n.append(t);
185
+ }
186
+ }
187
+ function be(e) {
188
+ if (de(e)) return;
189
+ const t = e.getParent(), n = t ? t.getParent() : void 0;
190
+ if (De(n ? n.getParent() : void 0) && Pe(n) && De(t)) {
191
+ const r = t ? t.getFirstChild() : void 0, i = t ? t.getLastChild() : void 0;
192
+ if (e.is(r)) n.insertBefore(e), t.isEmpty() && n.remove();
193
+ else if (e.is(i)) n.insertAfter(e), t.isEmpty() && n.remove();
194
+ else {
195
+ const r = $copyNode(e), i = $copyNode(t);
196
+ r.append(i), e.getPreviousSiblings().forEach((e) => i.append(e));
197
+ const s = $copyNode(e), o = $copyNode(t);
198
+ s.append(o), me(o, e.getNextSiblings()), n.insertBefore(r), n.insertAfter(s), n.replace(e);
199
+ }
200
+ }
201
+ }
202
+ function Se(e = !1) {
203
+ const t = $getSelection();
204
+ if (!$isRangeSelection(t) || !t.isCollapsed()) return !1;
205
+ const c = t.anchor.getNode();
206
+ let a = null;
207
+ if (Pe(c) && 0 === c.getChildrenSize()) a = c;
208
+ else if ($isTextNode(c)) {
209
+ const e = c.getParent();
210
+ Pe(e) && e.getChildren().every((e) => $isTextNode(e) && "" === e.getTextContent().trim()) && (a = e);
211
+ }
212
+ if (null === a) return !1;
213
+ const u = ge(a), g = a.getParent();
214
+ De(g) || ae(40);
215
+ const h = g.getParent();
216
+ let d;
217
+ if ($isRootOrShadowRoot(h)) d = $createParagraphNode(), u.insertAfter(d);
218
+ else {
219
+ if (!Pe(h)) return !1;
220
+ d = $copyNode(h), h.insertAfter(d);
221
+ }
222
+ d.setTextStyle(t.style).setTextFormat(t.format).select();
223
+ const f = a.getNextSiblings();
224
+ if (f.length > 0) {
225
+ const t = e ? function(e, t) {
226
+ return e.getStart() + t.getIndexWithinParent();
227
+ }(g, a) : 1, n = $copyNode(g).setStart(t);
228
+ if (Pe(d)) {
229
+ const e = $copyNode(d);
230
+ e.append(n), d.insertAfter(e);
231
+ } else d.insertAfter(n);
232
+ n.append(...f);
233
+ }
234
+ return function(e) {
235
+ let t = e;
236
+ for (; null == t.getNextSibling() && null == t.getPreviousSibling();) {
237
+ const e = t.getParent();
238
+ if (null == e || !Pe(e) && !De(e)) break;
239
+ t = e;
240
+ }
241
+ t.remove();
242
+ }(a), !0;
243
+ }
244
+ var Te = class extends ElementNode {
245
+ __value;
246
+ __checked;
247
+ $config() {
248
+ return this.config("listitem", {
249
+ $transform: (e) => {
250
+ const t = e.getParent();
251
+ if (De(t)) "check" !== t.getListType() && null != e.getChecked() && e.setChecked(void 0);
252
+ else if (t) {
253
+ const n = e.createParentElementNode();
254
+ De(n) || ae(340);
255
+ const r = [e];
256
+ for (const t of ["previous", "next"]) {
257
+ r.reverse();
258
+ for (const { origin: n } of $getSiblingCaret(e, t)) {
259
+ if (!Pe(n)) break;
260
+ r.push(n);
261
+ }
262
+ }
263
+ e.insertBefore(n), n.splice(0, 0, r), $isRootOrShadowRoot(t) || ($insertNodeToNearestRootAtCaret(n, $rewindSiblingCaret($getSiblingCaret(n, "next")), {
264
+ $shouldSplit: () => !1,
265
+ removeEmptyDestination: !0
266
+ }), t.isEmpty() && t.isAttached() && t.remove());
267
+ }
268
+ },
269
+ extends: ElementNode,
270
+ importDOM: buildImportMap({ li: () => ({
271
+ conversion: xe,
272
+ priority: 0
273
+ }) })
274
+ });
275
+ }
276
+ constructor(e = 1, t = void 0, n) {
277
+ super(n), this.__value = void 0 === e ? 1 : e, this.__checked = t;
278
+ }
279
+ afterCloneFrom(e) {
280
+ super.afterCloneFrom(e), this.__value = e.__value, this.__checked = e.__checked;
281
+ }
282
+ createDOM(e) {
283
+ const t = document.createElement("li");
284
+ return this.updateListItemDOM(null, t, e), t;
285
+ }
286
+ updateListItemDOM(e, t, n) {
287
+ (function(e, t) {
288
+ const n = t.getParent();
289
+ !De(n) || "check" !== n.getListType() || De(t.getFirstChild()) ? (e.removeAttribute("role"), e.removeAttribute("tabIndex"), e.removeAttribute("aria-checked")) : (e.setAttribute("role", "checkbox"), e.setAttribute("tabIndex", "-1"), e.setAttribute("aria-checked", t.getChecked() ? "true" : "false"));
290
+ })(t, this), t.value = this.__value, function(e, t, n) {
291
+ const r = t.list;
292
+ if (!r) return;
293
+ const i = r.listitem, s = r.nested && r.nested.listitem, o = n.getParent(), l = De(o) && "check" === o.getListType(), c = n.getChecked(), a = n.getChildren().some((e) => De(e)), u = [];
294
+ void 0 !== r.listitemChecked && u.push(r.listitemChecked);
295
+ void 0 !== r.listitemUnchecked && u.push(r.listitemUnchecked);
296
+ void 0 !== s && u.push(...normalizeClassNames(s));
297
+ u.length > 0 && removeClassNamesFromElement(e, ...u);
298
+ const g = [];
299
+ void 0 !== i && g.push(...normalizeClassNames(i));
300
+ if (l) {
301
+ const e = c ? r.listitemChecked : r.listitemUnchecked;
302
+ void 0 !== e && g.push(e);
303
+ }
304
+ void 0 !== s && a && g.push(...normalizeClassNames(s));
305
+ g.length > 0 && addClassNamesToElement(e, ...g);
306
+ }(t, n.theme, this);
307
+ const r = e ? e.__style : "", i = this.__style;
308
+ r !== i && setDOMStyleFromCSS(t.style, i, r), function(e, t, n) {
309
+ const r = t.__textStyle, i = n ? n.__textStyle : "";
310
+ if (null !== n && i === r) return;
311
+ const s = getStyleObjectFromCSS(r);
312
+ for (const t in s) e.style.setProperty(`--listitem-marker-${t}`, s[t]);
313
+ if ("" !== i) for (const t in getStyleObjectFromCSS(i)) t in s || e.style.removeProperty(`--listitem-marker-${t}`);
314
+ }(t, this, e);
315
+ }
316
+ updateDOM(e, t, n) {
317
+ const r = t;
318
+ return this.updateListItemDOM(e, r, n), !1;
319
+ }
320
+ updateFromJSON(e) {
321
+ return super.updateFromJSON(e).setValue(e.value).setChecked(e.checked);
322
+ }
323
+ exportDOM(e) {
324
+ const t = this.createDOM(e._config), n = this.getFormatType();
325
+ n && (t.style.textAlign = n);
326
+ const r = this.getDirection();
327
+ return r && (t.dir = r), de(this) ? {
328
+ after(e) {
329
+ if (isHTMLElement(e)) {
330
+ const t = e.previousElementSibling;
331
+ if (isHTMLElement(t) && "LI" === t.nodeName) {
332
+ for (; e.firstChild;) t.append(e.firstChild);
333
+ e.remove();
334
+ }
335
+ }
336
+ return e;
337
+ },
338
+ element: t
339
+ } : { element: t };
340
+ }
341
+ exportJSON() {
342
+ return {
343
+ ...super.exportJSON(),
344
+ checked: this.getChecked(),
345
+ value: this.getValue()
346
+ };
347
+ }
348
+ append(...e) {
349
+ for (let t = 0; t < e.length; t++) {
350
+ const n = e[t];
351
+ if ($isElementNode(n) && this.canMergeWith(n)) {
352
+ const e = n.getChildren();
353
+ this.append(...e), n.remove();
354
+ } else super.append(n);
355
+ }
356
+ return this;
357
+ }
358
+ replace(e, t) {
359
+ if (Pe(e)) return super.replace(e);
360
+ this.setIndent(0);
361
+ const i = this.getParentOrThrow();
362
+ if (!De(i)) return e;
363
+ if (i.__first === this.getKey()) i.insertBefore(e);
364
+ else if (i.__last === this.getKey()) i.insertAfter(e);
365
+ else {
366
+ const t = $copyNode(i);
367
+ let n = this.getNextSibling();
368
+ for (; n;) {
369
+ const e = n;
370
+ n = n.getNextSibling(), t.append(e);
371
+ }
372
+ i.insertAfter(e), e.insertAfter(t);
373
+ }
374
+ const s = this.__key;
375
+ let o = 0;
376
+ if (t && ($isElementNode(e) || ae(139), o = e.getChildrenSize(), e.splice(o, 0, this.getChildren())), t && $isElementNode(e)) {
377
+ const t = $getSelection();
378
+ if ($isRangeSelection(t)) for (const n of t.getStartEndPoints()) n.key === s && "element" === n.type && n.set(e.getKey(), o + n.offset, "element");
379
+ }
380
+ return this.remove(), 0 === i.getChildrenSize() && i.remove(), e;
381
+ }
382
+ insertAfter(e, t = !0) {
383
+ const n = this.getParentOrThrow();
384
+ if (De(n) || ae(39), Pe(e)) return super.insertAfter(e, t);
385
+ const r = this.getNextSiblings();
386
+ if (n.insertAfter(e, t), 0 !== r.length) {
387
+ const i = $copyNode(n);
388
+ r.forEach((e) => i.append(e)), e.insertAfter(i, t);
389
+ }
390
+ return e;
391
+ }
392
+ remove(e) {
393
+ const t = this.getPreviousSibling(), n = this.getNextSibling();
394
+ super.remove(e), t && n && de(t) && de(n) && (ye(t.getFirstChild(), n.getFirstChild()), n.remove());
395
+ }
396
+ resetOnCopyNodeFrom(e) {
397
+ super.resetOnCopyNodeFrom(e), e.getChecked() && this.setChecked(!1);
398
+ }
399
+ insertNewAfter(e, t = !0) {
400
+ const n = $copyNode(this);
401
+ return this.insertAfter(n, t), n;
402
+ }
403
+ collapseAtStart(e) {
404
+ const t = $createParagraphNode();
405
+ this.getChildren().forEach((e) => t.append(e));
406
+ const n = this.getParentOrThrow(), r = n.getParentOrThrow(), i = Pe(r);
407
+ if (1 === n.getChildrenSize()) if (i) n.remove(), r.select();
408
+ else {
409
+ n.insertBefore(t), n.remove();
410
+ const r = e.anchor, i = e.focus, s = t.getKey();
411
+ "element" === r.type && r.getNode().is(this) && r.set(s, r.offset, "element"), "element" === i.type && i.getNode().is(this) && i.set(s, i.offset, "element");
412
+ }
413
+ else n.insertBefore(t), this.remove();
414
+ return !0;
415
+ }
416
+ getValue() {
417
+ return this.getLatest().__value;
418
+ }
419
+ setValue(e) {
420
+ const t = this.getWritable();
421
+ return t.__value = e, t;
422
+ }
423
+ getChecked() {
424
+ const e = this.getLatest();
425
+ let t;
426
+ const n = this.getParent();
427
+ return De(n) && (t = n.getListType()), "check" === t ? Boolean(e.__checked) : void 0;
428
+ }
429
+ setChecked(e) {
430
+ const t = this.getWritable();
431
+ return t.__checked = e, t;
432
+ }
433
+ toggleChecked() {
434
+ const e = this.getWritable();
435
+ return e.setChecked(!e.__checked);
436
+ }
437
+ getIndent() {
438
+ const e = this.getParent();
439
+ if (null === e || !this.isAttached()) return this.getLatest().__indent;
440
+ let t = e.getParentOrThrow(), n = 0;
441
+ for (; Pe(t);) t = t.getParentOrThrow().getParentOrThrow(), n++;
442
+ return n;
443
+ }
444
+ setIndent(e) {
445
+ "number" != typeof e && ae(117), (e = Math.floor(e)) >= 0 || ae(199);
446
+ let t = this.getIndent();
447
+ for (; t !== e;) t < e ? (ke(this), t++) : (be(this), t--);
448
+ return this;
449
+ }
450
+ canInsertAfter(e) {
451
+ return Pe(e);
452
+ }
453
+ canReplaceWith(e) {
454
+ return Pe(e);
455
+ }
456
+ canMergeWith(e) {
457
+ return Pe(e) || $isParagraphNode(e);
458
+ }
459
+ extractWithChild(e, t) {
460
+ if (!$isRangeSelection(t)) return !1;
461
+ const n = t.anchor.getNode(), i = t.focus.getNode();
462
+ return this.isParentOf(n) && this.isParentOf(i) && this.getTextContent().length === t.getTextContent().length;
463
+ }
464
+ isParentRequired() {
465
+ return !0;
466
+ }
467
+ createParentElementNode() {
468
+ return we("bullet");
469
+ }
470
+ canMergeWhenEmpty() {
471
+ return !0;
472
+ }
473
+ };
474
+ function xe(e) {
475
+ if (e.classList.contains("task-list-item")) {
476
+ for (const t of e.children) if ("INPUT" === t.tagName) return Le(t);
477
+ }
478
+ if (e.classList.contains("joplin-checkbox")) {
479
+ for (const t of e.children) if (t.classList.contains("checkbox-wrapper") && t.children.length > 0 && "INPUT" === t.children[0].tagName) return Le(t.children[0]);
480
+ }
481
+ const t = e.getAttribute("aria-checked"), n = Fe("true" === t || "false" !== t && void 0);
482
+ return $setFormatFromDOM(n, e), {
483
+ after: Ne.bind(null, n),
484
+ node: $setDirectionFromDOM(n, e)
485
+ };
486
+ }
487
+ function Le(e) {
488
+ if (!("checkbox" === e.getAttribute("type"))) return { node: null };
489
+ const t = Fe(e.hasAttribute("checked"));
490
+ return {
491
+ after: Ne.bind(null, t),
492
+ node: t
493
+ };
494
+ }
495
+ function Ne(e, t) {
496
+ const n = t[0];
497
+ return 1 === t.length && $isParagraphNode(n) && !e.getFormatType() && n.getFormatType() ? (e.setFormat(n.getFormatType()), n.getChildren()) : t;
498
+ }
499
+ function Fe(e) {
500
+ return $applyNodeReplacement(new Te(void 0, e));
501
+ }
502
+ function Pe(e) {
503
+ return e instanceof Te;
504
+ }
505
+ var Ae = class extends ElementNode {
506
+ __tag;
507
+ __start;
508
+ __listType;
509
+ $config() {
510
+ return this.config("list", {
511
+ $transform: (e) => {
512
+ (function(e) {
513
+ const t = e.getNextSibling();
514
+ De(t) && e.getListType() === t.getListType() && ye(e, t);
515
+ })(e), ve(e);
516
+ },
517
+ extends: ElementNode,
518
+ importDOM: buildImportMap({
519
+ ol: () => ({
520
+ conversion: Oe,
521
+ priority: 0
522
+ }),
523
+ ul: () => ({
524
+ conversion: Oe,
525
+ priority: 0
526
+ })
527
+ })
528
+ });
529
+ }
530
+ constructor(e = "number", t = 1, n) {
531
+ super(n);
532
+ const r = Ie[e] || e;
533
+ this.__listType = r, this.__tag = "number" === r ? "ol" : "ul", this.__start = t;
534
+ }
535
+ afterCloneFrom(e) {
536
+ super.afterCloneFrom(e), this.__listType = e.__listType, this.__tag = e.__tag, this.__start = e.__start;
537
+ }
538
+ getTag() {
539
+ return this.getLatest().__tag;
540
+ }
541
+ setListType(e) {
542
+ const t = this.getWritable();
543
+ return t.__listType = e, t.__tag = "number" === e ? "ol" : "ul", t;
544
+ }
545
+ getListType() {
546
+ return this.getLatest().__listType;
547
+ }
548
+ getStart() {
549
+ return this.getLatest().__start;
550
+ }
551
+ setStart(e) {
552
+ const t = this.getWritable();
553
+ return t.__start = e, t;
554
+ }
555
+ createDOM(e, t) {
556
+ const n = this.__tag, r = document.createElement(n);
557
+ return 1 !== this.__start && r.setAttribute("start", String(this.__start)), r.__lexicalListType = this.__listType, Ee(r, e.theme, this), r;
558
+ }
559
+ updateDOM(e, t, n) {
560
+ return e.__tag !== this.__tag || e.__listType !== this.__listType || (Ee(t, n.theme, this), e.__start !== this.__start && t.setAttribute("start", String(this.__start)), !1);
561
+ }
562
+ updateFromJSON(e) {
563
+ return super.updateFromJSON(e).setListType(e.listType).setStart(e.start);
564
+ }
565
+ exportDOM(e) {
566
+ const t = this.createDOM(e._config, e);
567
+ return isHTMLElement(t) && (1 !== this.__start && t.setAttribute("start", String(this.__start)), "check" === this.__listType && t.setAttribute("__lexicalListType", "check")), { element: t };
568
+ }
569
+ exportJSON() {
570
+ return {
571
+ ...super.exportJSON(),
572
+ listType: this.getListType(),
573
+ start: this.getStart(),
574
+ tag: this.getTag()
575
+ };
576
+ }
577
+ canBeEmpty() {
578
+ return !1;
579
+ }
580
+ canIndent() {
581
+ return !1;
582
+ }
583
+ splice(e, t, n) {
584
+ let r = n;
585
+ for (let e = 0; e < n.length; e++) {
586
+ const t = n[e];
587
+ Pe(t) || (r === n && (r = [...n]), r[e] = this.createListItemNode().append(!$isElementNode(t) || De(t) || t.isInline() ? t : $createTextNode(t.getTextContent())));
588
+ }
589
+ return super.splice(e, t, r);
590
+ }
591
+ extractWithChild(e) {
592
+ return Pe(e);
593
+ }
594
+ createListItemNode() {
595
+ return Fe();
596
+ }
597
+ };
598
+ function Ee(e, t, n) {
599
+ const r = [], i = [], s = t.list;
600
+ if (void 0 !== s) {
601
+ const e = s[`${n.__tag}Depth`] || [], t = ue(n) - 1, o = t % e.length, l = e[o], c = s[n.__tag];
602
+ let a;
603
+ const u = s.nested, g = s.checklist;
604
+ if (void 0 !== u && u.list && (a = u.list), void 0 !== c && r.push(c), void 0 !== g && "check" === n.__listType && r.push(g), void 0 !== l) {
605
+ r.push(...normalizeClassNames(l));
606
+ for (let t = 0; t < e.length; t++) t !== o && i.push(n.__tag + t);
607
+ }
608
+ if (void 0 !== a) {
609
+ const e = normalizeClassNames(a);
610
+ t > 1 ? r.push(...e) : i.push(...e);
611
+ }
612
+ }
613
+ i.length > 0 && removeClassNamesFromElement(e, ...i), r.length > 0 && addClassNamesToElement(e, ...r);
614
+ }
615
+ function Oe(e) {
616
+ let t;
617
+ if (function(e) {
618
+ return isHTMLElement(e) && "ol" === e.nodeName.toLowerCase();
619
+ }(e)) {
620
+ const n = e.start;
621
+ t = we("number", n);
622
+ } else t = function(e) {
623
+ if ("check" === e.getAttribute("__lexicallisttype") || e.classList.contains("contains-task-list") || "1" === e.getAttribute("data-is-checklist")) return !0;
624
+ for (const t of e.childNodes) if (isHTMLElement(t) && t.hasAttribute("aria-checked")) return !0;
625
+ return !1;
626
+ }(e) ? we("check") : we("bullet");
627
+ return $setDirectionFromDOM(t, e), {
628
+ after: (e) => function(e, t) {
629
+ const n = t.createListItemNode.bind(t), r = [];
630
+ for (let t = 0; t < e.length; t++) {
631
+ const i = e[t];
632
+ if (Pe(i)) {
633
+ r.push(i);
634
+ const e = i.getChildren();
635
+ e.length > 1 && e.forEach((e) => {
636
+ De(e) && r.push(n().append(e));
637
+ });
638
+ } else r.push(n().append(i));
639
+ }
640
+ return r;
641
+ }(e, t),
642
+ node: t
643
+ };
644
+ }
645
+ const Ie = {
646
+ ol: "number",
647
+ ul: "bullet"
648
+ };
649
+ function we(e = "number", t = 1) {
650
+ return $applyNodeReplacement(new Ae(e, t));
651
+ }
652
+ function De(e) {
653
+ return e instanceof Ae;
654
+ }
655
+ const Me = /* @__PURE__ */ createCommand("INSERT_CHECK_LIST_COMMAND");
656
+ function $e(e, t) {
657
+ const i = t && t.disableTakeFocusOnClick || !1, s = "boolean" == typeof i ? () => i : i.peek.bind(i), o = (e) => {
658
+ const t = e.target;
659
+ if (!isHTMLElement(t)) return !1;
660
+ const n = t.__lexicalCheckListLastHandled;
661
+ return void 0 !== n && e.timeStamp - n < 500;
662
+ }, l = (e) => {
663
+ const t = e.target;
664
+ isHTMLElement(t) && (t.__lexicalCheckListLastHandled = e.timeStamp);
665
+ }, a = (e) => {
666
+ o(e) || (l(e), Ke(e, s()));
667
+ }, u = (e) => {
668
+ "touch" === e.pointerType && (o(e) || (l(e), Ke(e, s())));
669
+ }, g = (e) => {
670
+ (function(e, t) {
671
+ Re(e, () => {
672
+ e.preventDefault(), t && e.stopPropagation();
673
+ });
674
+ })(e, s());
675
+ };
676
+ return mergeRegister(e.registerCommand(Me, () => (pe("check"), !0), COMMAND_PRIORITY_LOW), e.registerCommand(KEY_ARROW_DOWN_COMMAND, (t) => We(t, e, !1), COMMAND_PRIORITY_LOW), e.registerCommand(KEY_ARROW_UP_COMMAND, (t) => We(t, e, !0), COMMAND_PRIORITY_LOW), e.registerCommand(KEY_ESCAPE_COMMAND, () => {
677
+ if (null != Be(e)) return e.getRootElement()?.focus(), !0;
678
+ return !1;
679
+ }, COMMAND_PRIORITY_LOW), e.registerCommand(KEY_SPACE_COMMAND, (t) => {
680
+ const n = Be(e);
681
+ return !(null == n || !e.isEditable()) && (e.update(() => {
682
+ const e = $getNearestNodeFromDOMNode(n);
683
+ Pe(e) && (t.preventDefault(), e.toggleChecked());
684
+ }), !0);
685
+ }, COMMAND_PRIORITY_LOW), e.registerCommand(KEY_ARROW_LEFT_COMMAND, (t) => e.read("latest", () => {
686
+ const i = $getSelection();
687
+ if ($isRangeSelection(i) && i.isCollapsed()) {
688
+ const { anchor: n } = i, r = "element" === n.type;
689
+ if (r || 0 === n.offset) {
690
+ const i = n.getNode(), s = $findMatchingParent(i, (e) => $isElementNode(e) && !e.isInline());
691
+ if (Pe(s)) {
692
+ const n = s.getParent();
693
+ if (De(n) && "check" === n.getListType() && (r || s.getFirstDescendant() === i)) {
694
+ const n = e.getElementByKey(s.__key);
695
+ if (null != n && getActiveElement(n) !== n) return n.focus(), t.preventDefault(), !0;
696
+ }
697
+ }
698
+ }
699
+ }
700
+ return !1;
701
+ }), COMMAND_PRIORITY_LOW), e.registerRootListener((e) => {
702
+ if (null !== e) return e.addEventListener("click", a), e.addEventListener("pointerup", u), e.addEventListener("pointerdown", g, { capture: !0 }), e.addEventListener("mousedown", g, { capture: !0 }), e.addEventListener("touchstart", g, {
703
+ capture: !0,
704
+ passive: !1
705
+ }), () => {
706
+ e.removeEventListener("click", a), e.removeEventListener("pointerup", u), e.removeEventListener("pointerdown", g, { capture: !0 }), e.removeEventListener("mousedown", g, { capture: !0 }), e.removeEventListener("touchstart", g, { capture: !0 });
707
+ };
708
+ }));
709
+ }
710
+ function Re(e, n) {
711
+ const r = e.target;
712
+ if (!isHTMLElement(r)) return;
713
+ const i = r.firstChild;
714
+ if (isHTMLElement(i) && ("UL" === i.tagName || "OL" === i.tagName)) return;
715
+ const s = r.parentNode;
716
+ if (!s || "check" !== s.__lexicalListType) return;
717
+ let o = null, l = null;
718
+ if ("clientX" in e) o = e.clientX;
719
+ else if ("touches" in e) {
720
+ const t = e.touches;
721
+ t.length > 0 && (o = t[0].clientX, l = "touch");
722
+ }
723
+ if (null == o) return;
724
+ const c = r.getBoundingClientRect(), a = o / calculateZoomLevel(r), u = window.getComputedStyle ? window.getComputedStyle(r, "::before") : { width: "0px" }, g = parseFloat(u.width), h = "touch" === l || "pointerType" in e && "touch" === e.pointerType ? 32 : 0;
725
+ ("rtl" === r.dir ? a < c.right + h && a > c.right - g - h : a > c.left - h && a < c.left + g + h) && n();
726
+ }
727
+ function Ke(e, t) {
728
+ Re(e, () => {
729
+ if (isHTMLElement(e.target)) {
730
+ const n = e.target, r = getNearestEditorFromDOMNode(n);
731
+ null != r && r.isEditable() && r.update(() => {
732
+ const e = $getNearestNodeFromDOMNode(n);
733
+ Pe(e) && (t ? ($addUpdateTag(SKIP_SELECTION_FOCUS_TAG), $addUpdateTag(SKIP_DOM_SELECTION_TAG)) : n.focus(), e.toggleChecked());
734
+ });
735
+ }
736
+ });
737
+ }
738
+ function Be(e) {
739
+ const t = e.getRootElement(), n = t ? getActiveElement(t) : null;
740
+ return isHTMLElement(n) && "LI" === n.tagName && null != n.parentNode && "check" === n.parentNode.__lexicalListType ? n : null;
741
+ }
742
+ function We(e, t, n) {
743
+ const r = Be(t);
744
+ return null != r && t.update(() => {
745
+ const i = $getNearestNodeFromDOMNode(r);
746
+ if (!Pe(i)) return;
747
+ const s = function(e, t) {
748
+ let n = t ? e.getPreviousSibling() : e.getNextSibling(), r = e;
749
+ for (; null == n && Pe(r);) r = r.getParentOrThrow().getParent(), null != r && (n = t ? r.getPreviousSibling() : r.getNextSibling());
750
+ for (; Pe(n);) {
751
+ const e = t ? n.getLastChild() : n.getFirstChild();
752
+ if (!De(e)) return n;
753
+ n = t ? e.getLastChild() : e.getFirstChild();
754
+ }
755
+ return null;
756
+ }(i, n);
757
+ if (null != s) {
758
+ s.selectStart();
759
+ const n = t.getElementByKey(s.__key);
760
+ null != n && (e.preventDefault(), setTimeout(() => {
761
+ n.focus();
762
+ }, 0));
763
+ }
764
+ }), !1;
765
+ }
766
+ function Ue(e) {
767
+ const t = [];
768
+ for (const n of e) if (Pe(n)) {
769
+ t.push(n);
770
+ const e = n.getChildren();
771
+ if (e.length > 1) for (const n of e) De(n) && t.push(Fe().append(n));
772
+ } else t.push(Fe().append(n));
773
+ return t;
774
+ }
775
+ const Je = /* @__PURE__ */ defineImportRule({
776
+ $import: (e, t) => {
777
+ let n;
778
+ var r;
779
+ return isElementOfTag(t, "ol") ? n = we("number", t.start) : n = (r = t).matches("[__lexicallisttype=\"check\"], .contains-task-list, [data-is-checklist=\"1\"]") || null !== r.querySelector(":scope > [aria-checked]") ? we("check") : we("bullet"), $setDirectionFromDOM(n, t), [n.splice(0, 0, $propagateTextAlignToBlockChildren(Ue(e.$importChildren(t)), t))];
780
+ },
781
+ match: sel.tag("ol", "ul"),
782
+ name: "@lexical/list/list"
783
+ });
784
+ function Ve(e, t) {
785
+ if (1 !== t.length) return t;
786
+ const n = t[0];
787
+ return $isParagraphNode(n) && !e.getFormatType() && n.getFormatType() ? (e.setFormat(n.getFormatType()), n.getChildren()) : t;
788
+ }
789
+ function qe(e) {
790
+ const t = (e) => $isBlockLevel(e) && !De(e);
791
+ if (!e.some(t)) return e;
792
+ const n = [];
793
+ let r = [];
794
+ const i = () => {
795
+ r.length > 0 && (n.push(r), r = []);
796
+ };
797
+ for (const s of e) t(s) ? (i(), n.push($isElementNode(s) ? s.getChildren() : [s])) : r.push(s);
798
+ i();
799
+ const s = [];
800
+ for (const e of n) s.length > 0 && s.push($createLineBreakNode()), s.push(...e);
801
+ return s;
802
+ }
803
+ const ze = /* @__PURE__ */ defineImportRule({
804
+ $import: (e, t) => {
805
+ const n = t.getAttribute("aria-checked"), r = Fe("true" === n || "false" !== n && void 0);
806
+ return $setFormatFromDOM(r, t), $setDirectionFromDOM(r, t), [r.splice(0, 0, qe(Ve(r, e.$importChildren(t))))];
807
+ },
808
+ match: sel.tag("li"),
809
+ name: "@lexical/list/li"
810
+ });
811
+ function je(e, t, n) {
812
+ const r = isElementOfTag(n, "input") ? n : n.querySelector("input[type=\"checkbox\"]");
813
+ if (!r || "checkbox" !== r.getAttribute("type")) return [];
814
+ const i = Fe(r.hasAttribute("checked"));
815
+ return $setFormatFromDOM(i, t), $setDirectionFromDOM(i, t), [i.splice(0, 0, qe(Ve(i, e.$importChildren(t))))];
816
+ }
817
+ const He = {
818
+ $accepts: (e) => Pe(e) || De(e),
819
+ $packageRun: (e) => [Fe().splice(0, 0, e)],
820
+ name: "ListSchema"
821
+ }, Xe = [
822
+ /* @__PURE__ */ defineImportRule({
823
+ $import: (e, t, n) => {
824
+ const r = t.querySelector(":scope > input[type=\"checkbox\"]");
825
+ return r ? je(e, t, r) : n();
826
+ },
827
+ match: sel.tag("li").classAll("task-list-item"),
828
+ name: "@lexical/list/li-task-list-item"
829
+ }),
830
+ /* @__PURE__ */ defineImportRule({
831
+ $import: (e, t, n) => {
832
+ const r = t.querySelector(":scope > .checkbox-wrapper");
833
+ if (!r) return n();
834
+ const i = r.querySelector(":scope > input[type=\"checkbox\"]");
835
+ return i ? je(e, t, i) : n();
836
+ },
837
+ match: sel.tag("li").classAll("joplin-checkbox"),
838
+ name: "@lexical/list/li-joplin-checkbox"
839
+ }),
840
+ Je,
841
+ ze
842
+ ], Ge = /* @__PURE__ */ createCommand("UPDATE_LIST_START_COMMAND"), Qe = /* @__PURE__ */ createCommand("INSERT_UNORDERED_LIST_COMMAND"), Ye = /* @__PURE__ */ createCommand("INSERT_ORDERED_LIST_COMMAND"), Ze = /* @__PURE__ */ createCommand("REMOVE_LIST_COMMAND");
843
+ function et(e, t) {
844
+ return mergeRegister(e.registerCommand(Ye, () => (pe("number"), !0), COMMAND_PRIORITY_LOW), e.registerCommand(Ge, (e) => {
845
+ const { listNodeKey: t, newStart: n } = e, r = $getNodeByKey(t);
846
+ return !!De(r) && ("number" === r.getListType() && (r.setStart(n), ve(r)), !0);
847
+ }, COMMAND_PRIORITY_LOW), e.registerCommand(Qe, () => (pe("bullet"), !0), COMMAND_PRIORITY_LOW), e.registerCommand(Ze, () => (Ce(), !0), COMMAND_PRIORITY_LOW), e.registerCommand(INSERT_PARAGRAPH_COMMAND, () => Se(!!(t && t.restoreNumbering)), COMMAND_PRIORITY_LOW), e.registerCommand(KEY_BACKSPACE_COMMAND, (e) => !!function() {
848
+ const e = $getSelection();
849
+ if (!$isRangeSelection(e) || !e.isCollapsed() || 0 !== e.anchor.offset) return !1;
850
+ const t = e.anchor.getNode(), i = $findMatchingParent(t, Pe);
851
+ if (!Pe(i)) return !1;
852
+ const s = i.getFirstDescendant();
853
+ if (null === s) return !1;
854
+ if (!i.is(t) && !s.is(t)) return !1;
855
+ const l = i.getParent();
856
+ if (!De(l) || !i.is(l.getFirstChild())) return !1;
857
+ const c = l.getPreviousSibling();
858
+ if (!$isDecoratorNode(c) || c.isIsolated() || !c.isKeyboardSelectable() && c.isInline()) return !1;
859
+ const a = $createParagraphNode().append(...i.getChildren());
860
+ l.insertBefore(a), i.remove(), l.isEmpty() && l.remove();
861
+ return a.selectStart(), !0;
862
+ }() && (e.preventDefault(), !0), COMMAND_PRIORITY_BEFORE_EDITOR), e.registerNodeTransform(Te, (e) => {
863
+ const t = e.getFirstChild();
864
+ if (t) {
865
+ if ($isTextNode(t)) {
866
+ const n = t.getStyle(), r = t.getFormat();
867
+ e.getTextStyle() !== n && e.setTextStyle(n), e.getTextFormat() !== r && e.setTextFormat(r);
868
+ }
869
+ } else {
870
+ const t = $getSelection();
871
+ $isRangeSelection(t) && (t.style !== e.getTextStyle() || t.format !== e.getTextFormat()) && t.isCollapsed() && e.is(t.anchor.getNode()) && e.setTextStyle(t.style).setTextFormat(t.format);
872
+ }
873
+ }), e.registerNodeTransform(TextNode, (e) => {
874
+ const t = e.getParent();
875
+ if (Pe(t) && e.is(t.getFirstChild())) {
876
+ const n = e.getStyle(), r = e.getFormat();
877
+ n === t.getTextStyle() && r === t.getTextFormat() || t.setTextStyle(n).setTextFormat(r);
878
+ }
879
+ }));
880
+ }
881
+ function tt(e) {
882
+ const t = (e) => {
883
+ const t = e.getParent();
884
+ if (De(e.getFirstChild()) || !De(t)) return;
885
+ const n = $findMatchingParent(e, (e) => Pe(e) && De(e.getParent()) && Pe(e.getPreviousSibling()));
886
+ if (null === n && e.getIndent() > 0) e.setIndent(0);
887
+ else if (Pe(n)) {
888
+ const r = n.getPreviousSibling();
889
+ if (Pe(r)) {
890
+ const i = function(e) {
891
+ let t = e, n = t.getFirstChild();
892
+ for (; De(n);) {
893
+ const e = n.getLastChild();
894
+ if (!Pe(e)) break;
895
+ t = e, n = t.getFirstChild();
896
+ }
897
+ return t;
898
+ }(r).getParent();
899
+ if (De(i)) {
900
+ const n = ue(i);
901
+ n + 1 < ue(t) && e.setIndent(n);
902
+ }
903
+ }
904
+ }
905
+ };
906
+ return e.registerNodeTransform(Ae, (e) => {
907
+ const n = [e];
908
+ for (; n.length > 0;) {
909
+ const e = n.shift();
910
+ if (De(e)) {
911
+ for (const r of e.getChildren()) if (Pe(r)) {
912
+ t(r);
913
+ const e = r.getFirstChild();
914
+ De(e) && n.push(e);
915
+ }
916
+ }
917
+ }
918
+ });
919
+ }
920
+ const nt = /* @__PURE__ */ defineExtension({
921
+ build: (e, t, n) => namedSignals(t),
922
+ config: /* @__PURE__ */ safeCast({
923
+ hasStrictIndent: !1,
924
+ shouldPreserveNumbering: !1
925
+ }),
926
+ dependencies: [CoreImportExtension, /* @__PURE__ */ configExtension(DOMImportExtension, { rules: Xe })],
927
+ name: "@lexical/list/List",
928
+ nodes: () => [Ae, Te],
929
+ register(e, t, n) {
930
+ const r = n.getOutput();
931
+ return mergeRegister(effect(() => et(e, { restoreNumbering: r.shouldPreserveNumbering.value })), effect(() => r.hasStrictIndent.value ? tt(e) : void 0));
932
+ }
933
+ }), rt = /* @__PURE__ */ defineExtension({
934
+ build: (e, t) => namedSignals(t),
935
+ config: /* @__PURE__ */ safeCast({ disableTakeFocusOnClick: !1 }),
936
+ dependencies: [nt],
937
+ name: "@lexical/list/CheckList",
938
+ register: (e, t, n) => $e(e, n.getOutput())
939
+ }), it = /* @__PURE__ */ defineExtension({
940
+ dependencies: [nt],
941
+ name: "@lexical/list/Import"
942
+ });
943
+ //#endregion
944
+ export { Fe as $createListItemNode, we as $createListNode, ue as $getListDepth, Se as $handleListInsertParagraph, pe as $insertList, Pe as $isListItemNode, De as $isListNode, Ce as $removeList, rt as CheckListExtension, Me as INSERT_CHECK_LIST_COMMAND, Ye as INSERT_ORDERED_LIST_COMMAND, Qe as INSERT_UNORDERED_LIST_COMMAND, nt as ListExtension, it as ListImportExtension, Xe as ListImportRules, Te as ListItemNode, Ae as ListNode, He as ListSchema, Ze as REMOVE_LIST_COMMAND, Ge as UPDATE_LIST_START_COMMAND, $e as registerCheckList, et as registerList, tt as registerListStrictIndentTransform };