@mx-space/cli 0.14.1 → 0.15.0

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