import { w as N, _ as v, $ as B, aU as F, o as M, bd as L, I as R, J as E, bc as G, M as W } from "./index2.js"; import { ref as H, shallowRef as X, watchEffect as U } from "vue"; function ae() { const e = (t) => { e.current = t; }; return e; } function le(e, t) { if (!e) return []; const n = e.slice(), r = n.indexOf(t); return r >= 0 && n.splice(r, 1), n; } function se(e, t) { const n = (e || []).slice(); return n.indexOf(t) === -1 && n.push(t), n; } function I(e) { return e.split("-"); } function D(e, t) { return `${e}-${t}`; } function q(e) { return e && e.type && e.type.isTreeNode; } function ce(e, t) { const n = [], r = t[e]; function o() { (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : []).forEach((f) => { let { key: d, children: u } = f; n.push(d), o(u); }); } return o(r.children), n; } function J(e) { if (e.parent) { const t = I(e.pos); return Number(t[t.length - 1]) === e.parent.children.length - 1; } return !1; } function V(e) { const t = I(e.pos); return Number(t[t.length - 1]) === 0; } function de(e, t, n, r, o, i, f, d, u, s) { var l; const { clientX: a, clientY: c } = e, { top: h, height: p } = e.target.getBoundingClientRect(), g = ((s === "rtl" ? -1 : 1) * (((o == null ? void 0 : o.x) || 0) - a) - 12) / r; let y = d[n.eventKey]; if (c < h + p / 2) { const k = f.findIndex((A) => A.key === y.key), O = k <= 0 ? 0 : k - 1, z = f[O].key; y = d[z]; } const S = y.key, C = y, m = y.key; let $ = 0, P = 0; if (!u.has(S)) for (let k = 0; k < g && J(y); k += 1) y = y.parent, P += 1; const x = t.eventData, w = y.node; let K = !0; return V(y) && y.level === 0 && c < h + p / 2 && i({ dragNode: x, dropNode: w, dropPosition: -1 }) && y.key === n.eventKey ? $ = -1 : (C.children || []).length && u.has(m) ? i({ dragNode: x, dropNode: w, dropPosition: 0 }) ? $ = 0 : K = !1 : P === 0 ? g > -1.5 ? i({ dragNode: x, dropNode: w, dropPosition: 1 }) ? $ = 1 : K = !1 : i({ dragNode: x, dropNode: w, dropPosition: 0 }) ? $ = 0 : i({ dragNode: x, dropNode: w, dropPosition: 1 }) ? $ = 1 : K = !1 : i({ dragNode: x, dropNode: w, dropPosition: 1 }) ? $ = 1 : K = !1, { dropPosition: $, dropLevelOffset: P, dropTargetKey: y.key, dropTargetPos: y.pos, dragOverNodeKey: m, dropContainerKey: $ === 0 ? null : ((l = y.parent) === null || l === void 0 ? void 0 : l.key) || null, dropAllowed: K }; } function fe(e, t) { if (!e) return; const { multiple: n } = t; return n ? e.slice() : e.length ? [e[0]] : e; } function ue(e) { if (!e) return null; let t; if (Array.isArray(e)) t = { checkedKeys: e, halfCheckedKeys: void 0 }; else if (typeof e == "object") t = { checkedKeys: e.checked || void 0, halfCheckedKeys: e.halfChecked || void 0 }; else return N(!1, "`checkedKeys` is not an array or an object"), null; return t; } function pe(e, t) { const n = /* @__PURE__ */ new Set(); function r(o) { if (n.has(o)) return; const i = t[o]; if (!i) return; n.add(o); const { parent: f, node: d } = i; d.disabled || f && r(f.key); } return (e || []).forEach((o) => { r(o); }), [...n]; } var Y = function(e, t) { var n = {}; for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]); if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var o = 0, r = Object.getOwnPropertySymbols(e); o < r.length; o++) t.indexOf(r[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, r[o]) && (n[r[o]] = e[r[o]]); return n; }; function T(e, t) { return e != null ? e : t; } function j(e) { const { title: t, _title: n, key: r, children: o } = e || {}, i = t || "title"; return { title: i, _title: n || [i], key: r || "key", children: o || "children" }; } function he(e) { function t() { let n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : []; return B(n).map((o) => { var i, f, d, u; if (!q(o)) return N(!o, "Tree/TreeNode can only accept TreeNode as children."), null; const s = o.children || {}, l = o.key, a = {}; for (const [k, O] of Object.entries(o.props)) a[F(k)] = O; const { isLeaf: c, checkable: h, selectable: p, disabled: b, disableCheckbox: g } = a, y = { isLeaf: c || c === "" || void 0, checkable: h || h === "" || void 0, selectable: p || p === "" || void 0, disabled: b || b === "" || void 0, disableCheckbox: g || g === "" || void 0 }, S = v(v({}, a), y), { title: C = (i = s.title) === null || i === void 0 ? void 0 : i.call(s, S), icon: m = (f = s.icon) === null || f === void 0 ? void 0 : f.call(s, S), switcherIcon: $ = (d = s.switcherIcon) === null || d === void 0 ? void 0 : d.call(s, S) } = a, P = Y(a, ["title", "icon", "switcherIcon"]), x = (u = s.default) === null || u === void 0 ? void 0 : u.call(s), w = v(v(v({}, P), { title: C, icon: m, switcherIcon: $, key: l, isLeaf: c }), y), K = t(x); return K.length && (w.children = K), w; }); } return t(e); } function ye(e, t, n) { const { _title: r, key: o, children: i } = j(n), f = new Set(t === !0 ? [] : t), d = []; function u(s) { let l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; return s.map((a, c) => { const h = D(l ? l.pos : "0", c), p = T(a[o], h); let b; for (let y = 0; y < r.length; y += 1) { const S = r[y]; if (a[S] !== void 0) { b = a[S]; break; } } const g = v(v({}, M(a, [...r, o, i])), { title: b, key: p, parent: l, pos: h, children: null, data: a, isStart: [...l ? l.isStart : [], c === 0], isEnd: [...l ? l.isEnd : [], c === s.length - 1] }); return d.push(g), t === !0 || f.has(p) ? g.children = u(a[i] || [], g) : g.children = [], g; }); } return u(e), d; } function Q(e, t, n) { let r = {}; typeof n == "object" ? r = n : r = { externalGetKey: n }, r = r || {}; const { childrenPropName: o, externalGetKey: i, fieldNames: f } = r, { key: d, children: u } = j(f), s = o || u; let l; i ? typeof i == "string" ? l = (c) => c[i] : typeof i == "function" && (l = (c) => i(c)) : l = (c, h) => T(c[d], h); function a(c, h, p, b) { const g = c ? c[s] : e, y = c ? D(p.pos, h) : "0", S = c ? [...b, c] : []; if (c) { const C = l(c, y), m = { node: c, index: h, pos: y, key: C, parentPos: p.node ? p.pos : null, level: p.level + 1, nodes: S }; t(m); } g && g.forEach((C, m) => { a(C, m, { node: c, pos: y, level: p ? p.level + 1 : -1 }, S); }); } a(null); } function ge(e) { let { initWrapper: t, processEntity: n, onProcessFinished: r, externalGetKey: o, childrenPropName: i, fieldNames: f } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, d = arguments.length > 2 ? arguments[2] : void 0; const u = o || d, s = {}, l = {}; let a = { posEntities: s, keyEntities: l }; return t && (a = t(a) || a), Q(e, (c) => { const { node: h, index: p, pos: b, key: g, parentPos: y, level: S, nodes: C } = c, m = { node: h, nodes: C, index: p, key: g, pos: b, level: S }, $ = T(g, b); s[b] = m, l[$] = m, m.parent = s[y], m.parent && (m.parent.children = m.parent.children || [], m.parent.children.push(m)), n && n(m, a); }, { externalGetKey: u, childrenPropName: i, fieldNames: f }), r && r(a), a; } function be(e, t) { let { expandedKeysSet: n, selectedKeysSet: r, loadedKeysSet: o, loadingKeysSet: i, checkedKeysSet: f, halfCheckedKeysSet: d, dragOverNodeKey: u, dropPosition: s, keyEntities: l } = t; const a = l[e]; return { eventKey: e, expanded: n.has(e), selected: r.has(e), loaded: o.has(e), loading: i.has(e), checked: f.has(e), halfChecked: d.has(e), pos: String(a ? a.pos : ""), parent: a.parent, // [Legacy] Drag props // Since the interaction of drag is changed, the semantic of the props are // not accuracy, I think it should be finally removed dragOver: u === e && s === 0, dragOverGapTop: u === e && s === -1, dragOverGapBottom: u === e && s === 1 }; } function me(e) { const { data: t, expanded: n, selected: r, checked: o, loaded: i, loading: f, halfChecked: d, dragOver: u, dragOverGapTop: s, dragOverGapBottom: l, pos: a, active: c, eventKey: h } = e, p = v(v({ dataRef: t }, t), { expanded: n, selected: r, checked: o, loaded: i, loading: f, halfChecked: d, dragOver: u, dragOverGapTop: s, dragOverGapBottom: l, pos: a, active: c, eventKey: h, key: h }); return "props" in p || Object.defineProperty(p, "props", { get() { return N(!1, "Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."), e; } }), p; } function _(e, t) { const n = /* @__PURE__ */ new Set(); return e.forEach((r) => { t.has(r) || n.add(r); }), n; } function Z(e) { const { disabled: t, disableCheckbox: n, checkable: r } = e || {}; return !!(t || n) || r === !1; } function ee(e, t, n, r) { const o = new Set(e), i = /* @__PURE__ */ new Set(); for (let d = 0; d <= n; d += 1) (t.get(d) || /* @__PURE__ */ new Set()).forEach((s) => { const { key: l, node: a, children: c = [] } = s; o.has(l) && !r(a) && c.filter((h) => !r(h.node)).forEach((h) => { o.add(h.key); }); }); const f = /* @__PURE__ */ new Set(); for (let d = n; d >= 0; d -= 1) (t.get(d) || /* @__PURE__ */ new Set()).forEach((s) => { const { parent: l, node: a } = s; if (r(a) || !s.parent || f.has(s.parent.key)) return; if (r(s.parent.node)) { f.add(l.key); return; } let c = !0, h = !1; (l.children || []).filter((p) => !r(p.node)).forEach((p) => { let { key: b } = p; const g = o.has(b); c && !g && (c = !1), !h && (g || i.has(b)) && (h = !0); }), c && o.add(l.key), h && i.add(l.key), f.add(l.key); }); return { checkedKeys: Array.from(o), halfCheckedKeys: Array.from(_(i, o)) }; } function te(e, t, n, r, o) { const i = new Set(e); let f = new Set(t); for (let u = 0; u <= r; u += 1) (n.get(u) || /* @__PURE__ */ new Set()).forEach((l) => { const { key: a, node: c, children: h = [] } = l; !i.has(a) && !f.has(a) && !o(c) && h.filter((p) => !o(p.node)).forEach((p) => { i.delete(p.key); }); }); f = /* @__PURE__ */ new Set(); const d = /* @__PURE__ */ new Set(); for (let u = r; u >= 0; u -= 1) (n.get(u) || /* @__PURE__ */ new Set()).forEach((l) => { const { parent: a, node: c } = l; if (o(c) || !l.parent || d.has(l.parent.key)) return; if (o(l.parent.node)) { d.add(a.key); return; } let h = !0, p = !1; (a.children || []).filter((b) => !o(b.node)).forEach((b) => { let { key: g } = b; const y = i.has(g); h && !y && (h = !1), !p && (y || f.has(g)) && (p = !0); }), h || i.delete(a.key), p && f.add(a.key), d.add(a.key); }); return { checkedKeys: Array.from(i), halfCheckedKeys: Array.from(_(f, i)) }; } function ve(e, t, n, r, o, i) { const f = []; let d; d = Z; const u = new Set(e.filter((l) => { const a = !!n[l]; return a || f.push(l), a; })); L(!f.length, `Tree missing follow keys: ${f.slice(0, 100).map((l) => `'${l}'`).join(", ")}`); let s; return t === !0 ? s = ee(u, o, r, d) : s = te(u, t.halfCheckedKeys, o, r, d), s; } function Se(e) { const t = H(0), n = X(); return U(() => { const r = /* @__PURE__ */ new Map(); let o = 0; const i = e.value || {}; for (const f in i) if (Object.prototype.hasOwnProperty.call(i, f)) { const d = i[f], { level: u } = d; let s = r.get(u); s || (s = /* @__PURE__ */ new Set(), r.set(u, s)), s.add(d), o = Math.max(o, u); } t.value = o, n.value = r; }), { maxLevel: t, levelEntities: n }; } const ne = new W("antCheckboxEffect", { "0%": { transform: "scale(1)", opacity: 0.5 }, "100%": { transform: "scale(1.6)", opacity: 0 } }), re = (e) => { const { checkboxCls: t } = e, n = `${t}-wrapper`; return [ // ===================== Basic ===================== { // Group [`${t}-group`]: v(v({}, E(e)), { display: "inline-flex", flexWrap: "wrap", columnGap: e.marginXS, // Group > Grid [`> ${e.antCls}-row`]: { flex: 1 } }), // Wrapper [n]: v(v({}, E(e)), { display: "inline-flex", alignItems: "baseline", cursor: "pointer", // Fix checkbox & radio in flex align #30260 "&:after": { display: "inline-block", width: 0, overflow: "hidden", content: "'\\a0'" }, // Checkbox near checkbox [`& + ${n}`]: { marginInlineStart: 0 }, [`&${n}-in-form-item`]: { 'input[type="checkbox"]': { width: 14, height: 14 // FIXME: magic } } }), // Wrapper > Checkbox [t]: v(v({}, E(e)), { position: "relative", whiteSpace: "nowrap", lineHeight: 1, cursor: "pointer", // To make alignment right when `controlHeight` is changed // Ref: https://github.com/ant-design/ant-design/issues/41564 alignSelf: "center", // Wrapper > Checkbox > input [`${t}-input`]: { position: "absolute", // Since baseline align will get additional space offset, // we need to move input to top to make it align with text. // Ref: https://github.com/ant-design/ant-design/issues/38926#issuecomment-1486137799 inset: 0, zIndex: 1, cursor: "pointer", opacity: 0, margin: 0, [`&:focus-visible + ${t}-inner`]: v({}, G(e)) }, // Wrapper > Checkbox > inner [`${t}-inner`]: { boxSizing: "border-box", position: "relative", top: 0, insetInlineStart: 0, display: "block", width: e.checkboxSize, height: e.checkboxSize, direction: "ltr", backgroundColor: e.colorBgContainer, border: `${e.lineWidth}px ${e.lineType} ${e.colorBorder}`, borderRadius: e.borderRadiusSM, borderCollapse: "separate", transition: `all ${e.motionDurationSlow}`, "&:after": { boxSizing: "border-box", position: "absolute", top: "50%", insetInlineStart: "21.5%", display: "table", width: e.checkboxSize / 14 * 5, height: e.checkboxSize / 14 * 8, border: `${e.lineWidthBold}px solid ${e.colorWhite}`, borderTop: 0, borderInlineStart: 0, transform: "rotate(45deg) scale(0) translate(-50%,-50%)", opacity: 0, content: '""', transition: `all ${e.motionDurationFast} ${e.motionEaseInBack}, opacity ${e.motionDurationFast}` } }, // Wrapper > Checkbox + Text "& + span": { paddingInlineStart: e.paddingXS, paddingInlineEnd: e.paddingXS } }) }, // ================= Indeterminate ================= { [t]: { "&-indeterminate": { // Wrapper > Checkbox > inner [`${t}-inner`]: { "&:after": { top: "50%", insetInlineStart: "50%", width: e.fontSizeLG / 2, height: e.fontSizeLG / 2, backgroundColor: e.colorPrimary, border: 0, transform: "translate(-50%, -50%) scale(1)", opacity: 1, content: '""' } } } } }, // ===================== Hover ===================== { // Wrapper [`${n}:hover ${t}:after`]: { visibility: "visible" }, // Wrapper & Wrapper > Checkbox [` ${n}:not(${n}-disabled), ${t}:not(${t}-disabled) `]: { [`&:hover ${t}-inner`]: { borderColor: e.colorPrimary } }, [`${n}:not(${n}-disabled)`]: { [`&:hover ${t}-checked:not(${t}-disabled) ${t}-inner`]: { backgroundColor: e.colorPrimaryHover, borderColor: "transparent" }, [`&:hover ${t}-checked:not(${t}-disabled):after`]: { borderColor: e.colorPrimaryHover } } }, // ==================== Checked ==================== { // Wrapper > Checkbox [`${t}-checked`]: { [`${t}-inner`]: { backgroundColor: e.colorPrimary, borderColor: e.colorPrimary, "&:after": { opacity: 1, transform: "rotate(45deg) scale(1) translate(-50%,-50%)", transition: `all ${e.motionDurationMid} ${e.motionEaseOutBack} ${e.motionDurationFast}` } }, // Checked Effect "&:after": { position: "absolute", top: 0, insetInlineStart: 0, width: "100%", height: "100%", borderRadius: e.borderRadiusSM, visibility: "hidden", border: `${e.lineWidthBold}px solid ${e.colorPrimary}`, animationName: ne, animationDuration: e.motionDurationSlow, animationTimingFunction: "ease-in-out", animationFillMode: "backwards", content: '""', transition: `all ${e.motionDurationSlow}` } }, [` ${n}-checked:not(${n}-disabled), ${t}-checked:not(${t}-disabled) `]: { [`&:hover ${t}-inner`]: { backgroundColor: e.colorPrimaryHover, borderColor: "transparent" }, [`&:hover ${t}:after`]: { borderColor: e.colorPrimaryHover } } }, // ==================== Disable ==================== { // Wrapper [`${n}-disabled`]: { cursor: "not-allowed" }, // Wrapper > Checkbox [`${t}-disabled`]: { // Wrapper > Checkbox > input [`&, ${t}-input`]: { cursor: "not-allowed", // Disabled for native input to enable Tooltip event handler // ref: https://github.com/ant-design/ant-design/issues/39822#issuecomment-1365075901 pointerEvents: "none" }, // Wrapper > Checkbox > inner [`${t}-inner`]: { background: e.colorBgContainerDisabled, borderColor: e.colorBorder, "&:after": { borderColor: e.colorTextDisabled } }, "&:after": { display: "none" }, "& + span": { color: e.colorTextDisabled }, [`&${t}-indeterminate ${t}-inner::after`]: { background: e.colorTextDisabled } } } ]; }; function $e(e, t) { const n = R(t, { checkboxCls: `.${e}`, checkboxSize: t.controlInteractiveSize }); return [re(n)]; } export { ve as a, he as b, ge as c, pe as d, ae as e, j as f, $e as g, be as h, me as i, T as j, ye as k, fe as l, le as m, ce as n, de as o, ue as p, se as q, I as r, Se as u };