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

299 lines
9.5 KiB
JavaScript

/*
* Extracted from browser-delivered Turbopack chunk: fd0220e4d10052af.701bdafa2d.js
* Module id: 210550
* For reading/searching only; this factory depends on the original Turbopack runtime.
*/
const moduleFactory = (e) => {
"use strict";
var t = e.i(462214),
n = e.i(358379),
i = e.i(768924),
r = e.i(292002),
a = e.i(216257);
let o = "cubic-bezier(0.34, 1.56, 0.64, 1)",
s = "node-handle-click",
c = (0, n.memo)(function ({
style: e,
visible: c = !0,
isConnectable: l,
...u
}) {
let h = (0, a.useCanvasStore)(
(e) => e.isMarkMode || e.isFocusMode || e.isReadonly,
),
f = (0, i.useNodeId)(),
[d, p] = (0, n.useState)(!1),
g = (0, n.useRef)(null),
b = (0, n.useRef)(null),
m = (0, n.useRef)(null),
w = (0, n.useRef)(),
v = (0, n.useCallback)((e) => {
w.current && clearTimeout(w.current),
(w.current = setTimeout(() => {
g.current && (g.current.style.transition = "");
}, e));
}, []);
(0, n.useEffect)(
() => () => {
w.current && clearTimeout(w.current);
},
[],
),
(0, n.useEffect)(() => {
let e = b.current;
if (!e || h || !1 === l || !f) return;
let t = (e) => {
m.current = { time: Date.now(), x: e.clientX, y: e.clientY };
},
n = (e) => {
let t = m.current;
if (((m.current = null), !t)) return;
let n = Date.now() - t.time,
i = e.clientX - t.x,
r = e.clientY - t.y;
n < 300 &&
10 > Math.sqrt(i * i + r * r) &&
document.dispatchEvent(
new CustomEvent(s, {
detail: {
nodeId: f,
handleType: u.type ?? "source",
handleId: u.id ?? u.type ?? "source",
clientX: e.clientX,
clientY: e.clientY,
},
}),
);
};
return (
e.addEventListener("pointerdown", t),
document.addEventListener("pointerup", n),
() => {
e.removeEventListener("pointerdown", t),
document.removeEventListener("pointerup", n);
}
);
}, [f, u.type, u.id, h, l]);
let x = !h && !1 !== l && (c || d),
y = (0, n.useMemo)(() => {
switch (u.position) {
case r.Position.Right:
return { x: -25, y: 0 };
case r.Position.Left:
return { x: 25, y: 0 };
case r.Position.Top:
return { x: 0, y: 25 };
case r.Position.Bottom:
return { x: 0, y: -25 };
default:
return { x: 0, y: 0 };
}
}, [u.position]),
_ = (0, n.useRef)(y);
(_.current = y),
(0, n.useLayoutEffect)(() => {
g.current &&
!d &&
((g.current.style.transition = `transform 400ms ${o}, opacity 200ms ease`),
(g.current.style.transform = `translate(${y.x}px, ${y.y}px) scale(1)`),
v(450));
}, [y, d, x, v]);
let S = (0, n.useCallback)(() => {
h || p(!0);
}, [h]),
E = (0, n.useCallback)((e) => {
if (!g.current) return;
w.current && (clearTimeout(w.current), (w.current = void 0));
let t = e.currentTarget.getBoundingClientRect(),
n = t.left + t.width / 2,
i = t.top + t.height / 2,
r = e.clientX - n,
a = e.clientY - i,
o = Math.sqrt(r * r + a * a),
s = o > 30 ? 30 / o : 1;
(g.current.style.transition = "transform 80ms ease-out"),
(g.current.style.transform = `translate(${r * s}px, ${a * s}px) scale(1.1)`);
}, []),
M = (0, n.useCallback)(() => {
if ((p(!1), g.current)) {
let e = _.current;
(g.current.style.transition = `transform 400ms ${o}, opacity 200ms ease`),
(g.current.style.transform = `translate(${e.x}px, ${e.y}px) scale(1)`),
v(450);
}
}, [v]),
T = (0, n.useMemo)(() => {
let {
transform: t,
top: n,
left: i,
right: a,
bottom: o,
...s
} = e ?? {};
return {
...s,
width: 0,
height: 0,
minWidth: 0,
minHeight: 0,
padding: 0,
background: "transparent",
border: "none",
borderRadius: 0,
overflow: "visible",
...(u.position === r.Position.Right
? {
right: 0,
top: "50%",
left: "auto",
bottom: "auto",
transform: "translateY(-50%)",
}
: u.position === r.Position.Left
? {
left: 0,
top: "50%",
right: "auto",
bottom: "auto",
transform: "translateY(-50%)",
}
: u.position === r.Position.Top
? {
top: 0,
left: "50%",
right: "auto",
bottom: "auto",
transform: "translateX(-50%)",
}
: {
bottom: 0,
left: "50%",
right: "auto",
top: "auto",
transform: "translateX(-50%)",
}),
pointerEvents: h || !1 === l ? "none" : "auto",
zIndex: 20,
};
}, [e, u.position, h, l]),
k = (0, n.useMemo)(() => {
let e = {
position: "absolute",
width: 80,
height: 80,
borderRadius: "50%",
display: "flex",
alignItems: "center",
justifyContent: "center",
pointerEvents: h || !1 === l ? "none" : "auto",
cursor: x ? "crosshair" : void 0,
};
switch (u.position) {
case r.Position.Right:
return {
...e,
top: "50%",
left: 0,
transform: "translateY(-50%)",
};
case r.Position.Left:
return {
...e,
top: "50%",
right: 0,
transform: "translateY(-50%)",
};
case r.Position.Top:
return {
...e,
left: "50%",
bottom: 0,
transform: "translateX(-50%)",
};
case r.Position.Bottom:
return {
...e,
left: "50%",
top: 0,
transform: "translateX(-50%)",
};
default:
return { ...e, transform: "translate(-50%, -50%)" };
}
}, [u.position, h, l, x]);
return (0, t.jsx)(i.Handle, {
...u,
isConnectable: l,
className: "nodrag nopan",
style: T,
children: (0, t.jsx)("div", {
ref: b,
onMouseEnter: S,
onMouseLeave: M,
onMouseMove: E,
style: k,
children: (0, t.jsx)("div", {
ref: g,
style: { width: 20, height: 20, opacity: +!!x, flexShrink: 0 },
children: (0, t.jsxs)("svg", {
width: 20,
height: 20,
viewBox: "0 0 20 20",
fill: "none",
children: [
(0, t.jsx)("circle", {
cx: 10,
cy: 10,
r: 9.35,
fill: "var(--canvas-handle-bg)",
}),
(0, t.jsx)("circle", {
cx: 10,
cy: 10,
r: 9.35,
stroke: "var(--canvas-handle-icon)",
strokeWidth: 1.2,
}),
(0, t.jsx)("path", {
d: "M10 6.5v7M6.5 10h7",
stroke: "var(--canvas-handle-icon)",
strokeWidth: 1.5,
strokeLinecap: "round",
}),
],
}),
}),
}),
});
});
function l(e) {
return (0, t.jsx)(c, {
type: "target",
position: r.Position.Left,
id: "target",
...e,
});
}
function u(e) {
return (0, t.jsx)(c, {
type: "source",
position: r.Position.Right,
id: "source",
...e,
});
}
e.s([
"HANDLE_CLICK_EVENT",
0,
s,
"SourceHandle",
() => u,
"TargetHandle",
() => l,
]);
};
export default moduleFactory;