Your Name 1912bcd25b
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
chore: sync all remaining local workspace changes
2026-05-08 11:26:57 +08:00

625 lines
18 KiB
JavaScript

/*
* Extracted from browser-delivered Turbopack chunk: 2a4e4dccbc3fdacb.bc4b655d5c.js
* Module id: 445794
* For reading/searching only; this factory depends on the original Turbopack runtime.
*/
const moduleFactory = (e) => {
"use strict";
var t = e.i(545773),
n = e.i(47091),
r = e.i(111092);
let i = (e, t) =>
!e.selection.empty &&
(t && t(e.tr.deleteSelection().scrollIntoView()), !0);
function o(e, t) {
let { $cursor: n } = e.selection;
return n && (t ? t.endOfTextblock("backward", e) : !(n.parentOffset > 0))
? n
: null;
}
let s = (e, i, s) => {
let l = o(e, s);
if (!l) return !1;
let a = p(l);
if (!a) {
let n = l.blockRange(),
r = n && (0, t.liftTarget)(n);
return null != r && (i && i(e.tr.lift(n, r).scrollIntoView()), !0);
}
let d = a.nodeBefore;
if (T(e, a, i, -1)) return !0;
if (
0 == l.parent.content.size &&
(c(d, "end") || r.NodeSelection.isSelectable(d))
)
for (let o = l.depth; ; o--) {
let s = (0, t.replaceStep)(
e.doc,
l.before(o),
l.after(o),
n.Slice.empty,
);
if (s && s.slice.size < s.to - s.from) {
if (i) {
let t = e.tr.step(s);
t.setSelection(
c(d, "end")
? r.Selection.findFrom(
t.doc.resolve(t.mapping.map(a.pos, -1)),
-1,
)
: r.NodeSelection.create(t.doc, a.pos - d.nodeSize),
),
i(t.scrollIntoView());
}
return !0;
}
if (1 == o || l.node(o - 1).childCount > 1) break;
}
return (
!!d.isAtom &&
a.depth == l.depth - 1 &&
(i && i(e.tr.delete(a.pos - d.nodeSize, a.pos).scrollIntoView()), !0)
);
},
l = (e, t, n) => {
let r = o(e, n);
if (!r) return !1;
let i = p(r);
return !!i && d(e, i, t);
},
a = (e, t, n) => {
let r = u(e, n);
if (!r) return !1;
let i = g(r);
return !!i && d(e, i, t);
};
function d(e, i, o) {
let s = i.nodeBefore,
l = i.pos - 1;
for (; !s.isTextblock; l--) {
if (s.type.spec.isolating) return !1;
let e = s.lastChild;
if (!e) return !1;
s = e;
}
let a = i.nodeAfter,
d = i.pos + 1;
for (; !a.isTextblock; d++) {
if (a.type.spec.isolating) return !1;
let e = a.firstChild;
if (!e) return !1;
a = e;
}
let c = (0, t.replaceStep)(e.doc, l, d, n.Slice.empty);
if (
!c ||
c.from != l ||
(c instanceof t.ReplaceStep && c.slice.size >= d - l)
)
return !1;
if (o) {
let t = e.tr.step(c);
t.setSelection(r.TextSelection.create(t.doc, l)), o(t.scrollIntoView());
}
return !0;
}
function c(e, t, n = !1) {
for (let r = e; r; r = "start" == t ? r.firstChild : r.lastChild) {
if (r.isTextblock) return !0;
if (n && 1 != r.childCount) break;
}
return !1;
}
let h = (e, t, n) => {
let { $head: i, empty: o } = e.selection,
s = i;
if (!o) return !1;
if (i.parent.isTextblock) {
if (n ? !n.endOfTextblock("backward", e) : i.parentOffset > 0)
return !1;
s = p(i);
}
let l = s && s.nodeBefore;
return (
!!l &&
!!r.NodeSelection.isSelectable(l) &&
(t &&
t(
e.tr
.setSelection(r.NodeSelection.create(e.doc, s.pos - l.nodeSize))
.scrollIntoView(),
),
!0)
);
};
function p(e) {
if (!e.parent.type.spec.isolating)
for (let t = e.depth - 1; t >= 0; t--) {
if (e.index(t) > 0) return e.doc.resolve(e.before(t + 1));
if (e.node(t).type.spec.isolating) break;
}
return null;
}
function u(e, t) {
let { $cursor: n } = e.selection;
return n &&
(t
? t.endOfTextblock("forward", e)
: !(n.parentOffset < n.parent.content.size))
? n
: null;
}
let f = (e, i, o) => {
let s = u(e, o);
if (!s) return !1;
let l = g(s);
if (!l) return !1;
let a = l.nodeAfter;
if (T(e, l, i, 1)) return !0;
if (
0 == s.parent.content.size &&
(c(a, "start") || r.NodeSelection.isSelectable(a))
) {
let o = (0, t.replaceStep)(
e.doc,
s.before(),
s.after(),
n.Slice.empty,
);
if (o && o.slice.size < o.to - o.from) {
if (i) {
let t = e.tr.step(o);
t.setSelection(
c(a, "start")
? r.Selection.findFrom(t.doc.resolve(t.mapping.map(l.pos)), 1)
: r.NodeSelection.create(t.doc, t.mapping.map(l.pos)),
),
i(t.scrollIntoView());
}
return !0;
}
}
return (
!!a.isAtom &&
l.depth == s.depth - 1 &&
(i && i(e.tr.delete(l.pos, l.pos + a.nodeSize).scrollIntoView()), !0)
);
},
m = (e, t, n) => {
let { $head: i, empty: o } = e.selection,
s = i;
if (!o) return !1;
if (i.parent.isTextblock) {
if (
n
? !n.endOfTextblock("forward", e)
: i.parentOffset < i.parent.content.size
)
return !1;
s = g(i);
}
let l = s && s.nodeAfter;
return (
!!l &&
!!r.NodeSelection.isSelectable(l) &&
(t &&
t(
e.tr
.setSelection(r.NodeSelection.create(e.doc, s.pos))
.scrollIntoView(),
),
!0)
);
};
function g(e) {
if (!e.parent.type.spec.isolating)
for (let t = e.depth - 1; t >= 0; t--) {
let n = e.node(t);
if (e.index(t) + 1 < n.childCount)
return e.doc.resolve(e.after(t + 1));
if (n.type.spec.isolating) break;
}
return null;
}
let y = (e, n) => {
let i = e.selection,
o = i instanceof r.NodeSelection,
s;
if (o) {
if (i.node.isTextblock || !(0, t.canJoin)(e.doc, i.from)) return !1;
s = i.from;
} else if (null == (s = (0, t.joinPoint)(e.doc, i.from, -1))) return !1;
if (n) {
let t = e.tr.join(s);
o &&
t.setSelection(
r.NodeSelection.create(
t.doc,
s - e.doc.resolve(s).nodeBefore.nodeSize,
),
),
n(t.scrollIntoView());
}
return !0;
},
b = (e, n) => {
let i = e.selection,
o;
if (i instanceof r.NodeSelection) {
if (i.node.isTextblock || !(0, t.canJoin)(e.doc, i.to)) return !1;
o = i.to;
} else if (null == (o = (0, t.joinPoint)(e.doc, i.to, 1))) return !1;
return n && n(e.tr.join(o).scrollIntoView()), !0;
},
k = (e, n) => {
let { $from: r, $to: i } = e.selection,
o = r.blockRange(i),
s = o && (0, t.liftTarget)(o);
return null != s && (n && n(e.tr.lift(o, s).scrollIntoView()), !0);
},
v = (e, t) => {
let { $head: n, $anchor: r } = e.selection;
return (
!!n.parent.type.spec.code &&
!!n.sameParent(r) &&
(t && t(e.tr.insertText("\n").scrollIntoView()), !0)
);
};
function w(e) {
for (let t = 0; t < e.edgeCount; t++) {
let { type: n } = e.edge(t);
if (n.isTextblock && !n.hasRequiredAttrs()) return n;
}
return null;
}
let S = (e, t) => {
let { $head: n, $anchor: i } = e.selection;
if (!n.parent.type.spec.code || !n.sameParent(i)) return !1;
let o = n.node(-1),
s = n.indexAfter(-1),
l = w(o.contentMatchAt(s));
if (!l || !o.canReplaceWith(s, s, l)) return !1;
if (t) {
let i = n.after(),
o = e.tr.replaceWith(i, i, l.createAndFill());
o.setSelection(r.Selection.near(o.doc.resolve(i), 1)),
t(o.scrollIntoView());
}
return !0;
},
x = (e, t) => {
let n = e.selection,
{ $from: i, $to: o } = n;
if (
n instanceof r.AllSelection ||
i.parent.inlineContent ||
o.parent.inlineContent
)
return !1;
let s = w(o.parent.contentMatchAt(o.indexAfter()));
if (!s || !s.isTextblock) return !1;
if (t) {
let n = (!i.parentOffset && o.index() < o.parent.childCount ? i : o)
.pos,
l = e.tr.insert(n, s.createAndFill());
l.setSelection(r.TextSelection.create(l.doc, n + 1)),
t(l.scrollIntoView());
}
return !0;
},
M = (e, n) => {
let { $cursor: r } = e.selection;
if (!r || r.parent.content.size) return !1;
if (r.depth > 1 && r.after() != r.end(-1)) {
let i = r.before();
if ((0, t.canSplit)(e.doc, i))
return n && n(e.tr.split(i).scrollIntoView()), !0;
}
let i = r.blockRange(),
o = i && (0, t.liftTarget)(i);
return null != o && (n && n(e.tr.lift(i, o).scrollIntoView()), !0);
},
C = (e, t) => {
let { $from: n, to: i } = e.selection,
o,
s = n.sharedDepth(i);
return (
0 != s &&
((o = n.before(s)),
t && t(e.tr.setSelection(r.NodeSelection.create(e.doc, o))),
!0)
);
};
function T(e, i, o, s) {
let l,
a,
d,
h = i.nodeBefore,
p = i.nodeAfter,
u,
f,
m = h.type.spec.isolating || p.type.spec.isolating;
if (
!m &&
((l = i.nodeBefore),
(a = i.nodeAfter),
(d = i.index()),
l &&
a &&
l.type.compatibleContent(a.type) &&
(!l.content.size && i.parent.canReplace(d - 1, d)
? (o && o(e.tr.delete(i.pos - l.nodeSize, i.pos).scrollIntoView()),
!0)
: !!i.parent.canReplace(d, d + 1) &&
!!(a.isTextblock || (0, t.canJoin)(e.doc, i.pos)) &&
(o && o(e.tr.join(i.pos).scrollIntoView()), !0)))
)
return !0;
let g = !m && i.parent.canReplace(i.index(), i.index() + 1);
if (
g &&
(u = (f = h.contentMatchAt(h.childCount)).findWrapping(p.type)) &&
f.matchType(u[0] || p.type).validEnd
) {
if (o) {
let r = i.pos + p.nodeSize,
s = n.Fragment.empty;
for (let e = u.length - 1; e >= 0; e--)
s = n.Fragment.from(u[e].create(null, s));
s = n.Fragment.from(h.copy(s));
let l = e.tr.step(
new t.ReplaceAroundStep(
i.pos - 1,
r,
i.pos,
r,
new n.Slice(s, 1, 0),
u.length,
!0,
),
),
a = l.doc.resolve(r + 2 * u.length);
a.nodeAfter &&
a.nodeAfter.type == h.type &&
(0, t.canJoin)(l.doc, a.pos) &&
l.join(a.pos),
o(l.scrollIntoView());
}
return !0;
}
let y =
p.type.spec.isolating || (s > 0 && m)
? null
: r.Selection.findFrom(i, 1),
b = y && y.$from.blockRange(y.$to),
k = b && (0, t.liftTarget)(b);
if (null != k && k >= i.depth)
return o && o(e.tr.lift(b, k).scrollIntoView()), !0;
if (g && c(p, "start", !0) && c(h, "end")) {
let r = h,
s = [];
for (; s.push(r), !r.isTextblock; ) r = r.lastChild;
let l = p,
a = 1;
for (; !l.isTextblock; l = l.firstChild) a++;
if (r.canReplace(r.childCount, r.childCount, l.content)) {
if (o) {
let r = n.Fragment.empty;
for (let e = s.length - 1; e >= 0; e--)
r = n.Fragment.from(s[e].copy(r));
o(
e.tr
.step(
new t.ReplaceAroundStep(
i.pos - s.length,
i.pos + p.nodeSize,
i.pos + a,
i.pos + p.nodeSize - a,
new n.Slice(r, s.length, 0),
0,
!0,
),
)
.scrollIntoView(),
);
}
return !0;
}
}
return !1;
}
function N(e) {
return function (t, n) {
let i = t.selection,
o = e < 0 ? i.$from : i.$to,
s = o.depth;
for (; o.node(s).isInline; ) {
if (!s) return !1;
s--;
}
return (
!!o.node(s).isTextblock &&
(n &&
n(
t.tr.setSelection(
r.TextSelection.create(t.doc, e < 0 ? o.start(s) : o.end(s)),
),
),
!0)
);
};
}
let E = N(-1),
O = N(1);
function A(e, n = null) {
return function (r, i) {
let { $from: o, $to: s } = r.selection,
l = o.blockRange(s),
a = l && (0, t.findWrapping)(l, e, n);
return !!a && (i && i(r.tr.wrap(l, a).scrollIntoView()), !0);
};
}
function D(e, t = null) {
return function (n, r) {
let i = !1;
for (let r = 0; r < n.selection.ranges.length && !i; r++) {
let {
$from: { pos: o },
$to: { pos: s },
} = n.selection.ranges[r];
n.doc.nodesBetween(o, s, (r, o) => {
if (i) return !1;
if (!(!r.isTextblock || r.hasMarkup(e, t)))
if (r.type == e) i = !0;
else {
let t = n.doc.resolve(o),
r = t.index();
i = t.parent.canReplaceWith(r, r + 1, e);
}
});
}
if (!i) return !1;
if (r) {
let i = n.tr;
for (let r = 0; r < n.selection.ranges.length; r++) {
let {
$from: { pos: o },
$to: { pos: s },
} = n.selection.ranges[r];
i.setBlockType(o, s, e, t);
}
r(i.scrollIntoView());
}
return !0;
};
}
function R(...e) {
return function (t, n, r) {
for (let i = 0; i < e.length; i++) if (e[i](t, n, r)) return !0;
return !1;
};
}
let I = R(i, s, h),
P = R(i, f, m),
L = {
Enter: R(v, x, M, (e, n) => {
let { $from: i, $to: o } = e.selection;
if (
e.selection instanceof r.NodeSelection &&
e.selection.node.isBlock
)
return (
!!i.parentOffset &&
!!(0, t.canSplit)(e.doc, i.pos) &&
(n && n(e.tr.split(i.pos).scrollIntoView()), !0)
);
if (!i.depth) return !1;
let s = [],
l,
a,
d = !1,
c = !1;
for (let e = i.depth; ; e--) {
if (i.node(e).isBlock) {
let t;
(d = i.end(e) == i.pos + (i.depth - e)),
(c = i.start(e) == i.pos - (i.depth - e)),
(a = w(i.node(e - 1).contentMatchAt(i.indexAfter(e - 1))));
s.unshift(t || (d && a ? { type: a } : null)), (l = e);
break;
}
if (1 == e) return !1;
s.unshift(null);
}
let h = e.tr;
(e.selection instanceof r.TextSelection ||
e.selection instanceof r.AllSelection) &&
h.deleteSelection();
let p = h.mapping.map(i.pos),
u = (0, t.canSplit)(h.doc, p, s.length, s);
if (
(u ||
((s[0] = a ? { type: a } : null),
(u = (0, t.canSplit)(h.doc, p, s.length, s))),
!u)
)
return !1;
if ((h.split(p, s.length, s), !d && c && i.node(l).type != a)) {
let e = h.mapping.map(i.before(l)),
t = h.doc.resolve(e);
a &&
i.node(l - 1).canReplaceWith(t.index(), t.index() + 1, a) &&
h.setNodeMarkup(h.mapping.map(i.before(l)), a);
}
return n && n(h.scrollIntoView()), !0;
}),
"Mod-Enter": S,
Backspace: I,
"Mod-Backspace": I,
"Shift-Backspace": I,
Delete: P,
"Mod-Delete": P,
"Mod-a": (e, t) => (
t && t(e.tr.setSelection(new r.AllSelection(e.doc))), !0
),
},
z = {
"Ctrl-h": L.Backspace,
"Alt-Backspace": L["Mod-Backspace"],
"Ctrl-d": L.Delete,
"Ctrl-Alt-Backspace": L["Mod-Delete"],
"Alt-Delete": L["Mod-Delete"],
"Alt-d": L["Mod-Delete"],
"Ctrl-a": E,
"Ctrl-e": O,
};
for (let e in L) z[e] = L[e];
"u" > typeof navigator
? /Mac|iP(hone|[oa]d)/.test(navigator.platform)
: "u" > typeof os && os.platform && os.platform(),
e.s([
"createParagraphNear",
() => x,
"deleteSelection",
() => i,
"exitCode",
() => S,
"joinBackward",
() => s,
"joinDown",
() => b,
"joinForward",
() => f,
"joinTextblockBackward",
() => l,
"joinTextblockForward",
() => a,
"joinUp",
() => y,
"lift",
() => k,
"liftEmptyBlock",
() => M,
"newlineInCode",
() => v,
"selectNodeBackward",
() => h,
"selectNodeForward",
() => m,
"selectParentNode",
() => C,
"selectTextblockEnd",
() => O,
"selectTextblockStart",
() => E,
"setBlockType",
() => D,
"wrapIn",
() => A,
]);
};
export default moduleFactory;