import { x as rt, y as it, z as lt, A as B, C as I, D as W, E as Se, e as q, F as Z, d as J, G as Ce, _ as P, a as D, b as ne, H as ke, g as Me, I as Ne, J as We, M as xe, j as fe, N as st, O as at, Q as ct, S as ut, h as dt, w as pt, T as de, U as ft, V as gt, W as mt, X as vt, Y as ht, Z as yt, $ as bt, a0 as wt, a1 as $t, n as Oe, a2 as Ct, i as St, B as De, a3 as Be, t as Xe, a4 as xt, a5 as It, l as Pt, a6 as Ot, a7 as Dt, m as re, a8 as Ft } from "./index2.js"; import { ref as Q, onBeforeUpdate as Rt, defineComponent as z, computed as _, createVNode as d, Fragment as ze, onUpdated as _t, onMounted as ge, onBeforeUnmount as He, shallowRef as le, watch as Ge, Transition as At, withDirectives as qe, vShow as Ve, watchEffect as Tt, triggerRef as Et, TransitionGroup as Lt, toRef as jt } from "vue"; import { p as Ut } from "./pickAttrs.js"; import { b as kt } from "./index5.js"; import { u as Mt } from "./useMergedState.js"; import { u as Nt } from "./FormItemContext.js"; function Wt(e, t, o, n) { for (var r = -1, l = e == null ? 0 : e.length; ++r < l; ) { var i = e[r]; t(n, i, o(i), e); } return n; } function Bt(e) { return function(t, o, n) { for (var r = -1, l = Object(t), i = n(t), a = i.length; a--; ) { var c = i[++r]; if (o(l[c], c, l) === !1) break; } return t; }; } var Xt = Bt(); function zt(e, t) { return e && Xt(e, t, rt); } function Ht(e, t) { return function(o, n) { if (o == null) return o; if (!it(o)) return e(o, n); for (var r = o.length, l = -1, i = Object(o); ++l < r && n(i[l], l, i) !== !1; ) ; return o; }; } var Gt = Ht(zt); function qt(e, t, o, n) { return Gt(e, function(r, l, i) { t(n, r, o(r), i); }), n; } function Vt(e, t) { return function(o, n) { var r = lt(o) ? Wt : qt, l = t ? t() : {}; return r(o, e, kt(n), l); }; } var Kt = Vt(function(e, t, o) { e[o ? 0 : 1].push(t); }, function() { return [[], []]; }); const Yt = () => { const e = Q(/* @__PURE__ */ new Map()), t = (o) => (n) => { e.value.set(o, n); }; return Rt(() => { e.value = /* @__PURE__ */ new Map(); }), [t, e]; }, Jt = ["normal", "exception", "active", "success"], me = () => ({ prefixCls: String, type: B(), percent: Number, format: I(), status: B(), showInfo: W(), strokeWidth: Number, strokeLinecap: B(), strokeColor: Se(), trailColor: String, /** @deprecated Use `size` instead */ width: Number, success: q(), gapDegree: Number, gapPosition: B(), size: Z([String, Number, Array]), steps: Number, /** @deprecated Use `success` instead */ successPercent: Number, title: String, progressStatus: B() }); function ee(e) { return !e || e < 0 ? 0 : e > 100 ? 100 : e; } function pe(e) { let { success: t, successPercent: o } = e, n = o; return t && "progress" in t && (J(!1, "Progress", "`success.progress` is deprecated. Please use `success.percent` instead."), n = t.progress), t && "percent" in t && (n = t.percent), n; } function Qt(e) { let { percent: t, success: o, successPercent: n } = e; const r = ee(pe({ success: o, successPercent: n })); return [r, ee(ee(t) - r)]; } function Zt(e) { let { success: t = {}, strokeColor: o } = e; const { strokeColor: n } = t; return [n || Ce.green, o || null]; } const ve = (e, t, o) => { var n, r, l, i; let a = -1, c = -1; if (t === "step") { const b = o.steps, u = o.strokeWidth; typeof e == "string" || typeof e == "undefined" ? (a = e === "small" ? 2 : 14, c = u != null ? u : 8) : typeof e == "number" ? [a, c] = [e, e] : [a = 14, c = 8] = e, a *= b; } else if (t === "line") { const b = o == null ? void 0 : o.strokeWidth; typeof e == "string" || typeof e == "undefined" ? c = b || (e === "small" ? 6 : 8) : typeof e == "number" ? [a, c] = [e, e] : [a = -1, c = 8] = e; } else (t === "circle" || t === "dashboard") && (typeof e == "string" || typeof e == "undefined" ? [a, c] = e === "small" ? [60, 60] : [120, 120] : typeof e == "number" ? [a, c] = [e, e] : (process.env.NODE_ENV !== "production" && J(!1, "Progress", 'Type "circle" and "dashboard" do not accept array as `size`, please use number or preset size instead.'), a = (r = (n = e[0]) !== null && n !== void 0 ? n : e[1]) !== null && r !== void 0 ? r : 120, c = (i = (l = e[0]) !== null && l !== void 0 ? l : e[1]) !== null && i !== void 0 ? i : 120)); return { width: a, height: c }; }; var en = function(e, t) { var o = {}; for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (o[n] = e[n]); if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var r = 0, n = Object.getOwnPropertySymbols(e); r < n.length; r++) t.indexOf(n[r]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[r]) && (o[n[r]] = e[n[r]]); return o; }; const tn = () => P(P({}, me()), { strokeColor: Se(), direction: B() }), nn = (e) => { let t = []; return Object.keys(e).forEach((o) => { const n = parseFloat(o.replace(/%/g, "")); isNaN(n) || t.push({ key: n, value: e[o] }); }), t = t.sort((o, n) => o.key - n.key), t.map((o) => { let { key: n, value: r } = o; return `${r} ${n}%`; }).join(", "); }, on = (e, t) => { const { from: o = Ce.blue, to: n = Ce.blue, direction: r = t === "rtl" ? "to left" : "to right" } = e, l = en(e, ["from", "to", "direction"]); if (Object.keys(l).length !== 0) { const i = nn(l); return { backgroundImage: `linear-gradient(${r}, ${i})` }; } return { backgroundImage: `linear-gradient(${r}, ${o}, ${n})` }; }, rn = z({ compatConfig: { MODE: 3 }, name: "ProgressLine", inheritAttrs: !1, props: tn(), setup(e, t) { let { slots: o, attrs: n } = t; const r = _(() => { const { strokeColor: g, direction: F } = e; return g && typeof g != "string" ? on(g, F) : { backgroundColor: g }; }), l = _(() => e.strokeLinecap === "square" || e.strokeLinecap === "butt" ? 0 : void 0), i = _(() => e.trailColor ? { backgroundColor: e.trailColor } : void 0), a = _(() => { var g; return (g = e.size) !== null && g !== void 0 ? g : [-1, e.strokeWidth || (e.size === "small" ? 6 : 8)]; }), c = _(() => ve(a.value, "line", { strokeWidth: e.strokeWidth })); process.env.NODE_ENV !== "production" && J("strokeWidth" in e, "Progress", "`strokeWidth` is deprecated. Please use `size` instead."); const b = _(() => { const { percent: g } = e; return P({ width: `${ee(g)}%`, height: `${c.value.height}px`, borderRadius: l.value }, r.value); }), u = _(() => pe(e)), O = _(() => { const { success: g } = e; return { width: `${ee(u.value)}%`, height: `${c.value.height}px`, borderRadius: l.value, backgroundColor: g == null ? void 0 : g.strokeColor }; }), y = { width: c.value.width < 0 ? "100%" : c.value.width, height: `${c.value.height}px` }; return () => { var g; return d(ze, null, [d("div", D(D({}, n), {}, { class: [`${e.prefixCls}-outer`, n.class], style: [n.style, y] }), [d("div", { class: `${e.prefixCls}-inner`, style: i.value }, [d("div", { class: `${e.prefixCls}-bg`, style: b.value }, null), u.value !== void 0 ? d("div", { class: `${e.prefixCls}-success-bg`, style: O.value }, null) : null])]), (g = o.default) === null || g === void 0 ? void 0 : g.call(o)]); }; } }), ln = { percent: 0, prefixCls: "vc-progress", strokeColor: "#2db7f5", strokeLinecap: "round", strokeWidth: 1, trailColor: "#D9D9D9", trailWidth: 1 }, sn = (e) => { const t = Q(null); return _t(() => { const o = Date.now(); let n = !1; e.value.forEach((r) => { const l = (r == null ? void 0 : r.$el) || r; if (!l) return; n = !0; const i = l.style; i.transitionDuration = ".3s, .3s, .3s, .06s", t.value && o - t.value < 100 && (i.transitionDuration = "0s, 0s"); }), n && (t.value = Date.now()); }), e; }, an = { gapDegree: Number, gapPosition: { type: String }, percent: { type: [Array, Number] }, prefixCls: String, strokeColor: { type: [Object, String, Array] }, strokeLinecap: { type: String }, strokeWidth: Number, trailColor: String, trailWidth: Number, transition: String }; var cn = function(e, t) { var o = {}; for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (o[n] = e[n]); if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var r = 0, n = Object.getOwnPropertySymbols(e); r < n.length; r++) t.indexOf(n[r]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[r]) && (o[n[r]] = e[n[r]]); return o; }; let Fe = 0; function Re(e) { return +e.replace("%", ""); } function _e(e) { return Array.isArray(e) ? e : [e]; } function Ae(e, t, o, n) { let r = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 0, l = arguments.length > 5 ? arguments[5] : void 0; const i = 50 - n / 2; let a = 0, c = -i, b = 0, u = -2 * i; switch (l) { case "left": a = -i, c = 0, b = 2 * i, u = 0; break; case "right": a = i, c = 0, b = -2 * i, u = 0; break; case "bottom": c = i, u = 2 * i; break; } const O = `M 50,50 m ${a},${c} a ${i},${i} 0 1 1 ${b},${-u} a ${i},${i} 0 1 1 ${-b},${u}`, y = Math.PI * 2 * i, g = { stroke: o, strokeDasharray: `${t / 100 * (y - r)}px ${y}px`, strokeDashoffset: `-${r / 2 + e / 100 * (y - r)}px`, transition: "stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s" // eslint-disable-line }; return { pathString: O, pathStyle: g }; } const un = z({ compatConfig: { MODE: 3 }, name: "VCCircle", props: ne(an, ln), setup(e) { Fe += 1; const t = Q(Fe), o = _(() => _e(e.percent)), n = _(() => _e(e.strokeColor)), [r, l] = Yt(); sn(l); const i = () => { const { prefixCls: a, strokeWidth: c, strokeLinecap: b, gapDegree: u, gapPosition: O } = e; let y = 0; return o.value.map((g, F) => { const s = n.value[F] || n.value[n.value.length - 1], v = Object.prototype.toString.call(s) === "[object Object]" ? `url(#${a}-gradient-${t.value})` : "", { pathString: R, pathStyle: p } = Ae(y, g, s, c, u, O); y += g; const h = { key: F, d: R, stroke: v, "stroke-linecap": b, "stroke-width": c, opacity: g === 0 ? 0 : 1, "fill-opacity": "0", class: `${a}-circle-path`, style: p }; return d("path", D({ ref: r(F) }, h), null); }); }; return () => { const { prefixCls: a, strokeWidth: c, trailWidth: b, gapDegree: u, gapPosition: O, trailColor: y, strokeLinecap: g, strokeColor: F } = e, s = cn(e, ["prefixCls", "strokeWidth", "trailWidth", "gapDegree", "gapPosition", "trailColor", "strokeLinecap", "strokeColor"]), { pathString: v, pathStyle: R } = Ae(0, 100, y, c, u, O); delete s.percent; const p = n.value.find((m) => Object.prototype.toString.call(m) === "[object Object]"), h = { d: v, stroke: y, "stroke-linecap": g, "stroke-width": b || c, "fill-opacity": "0", class: `${a}-circle-trail`, style: R }; return d("svg", D({ class: `${a}-circle`, viewBox: "0 0 100 100" }, s), [p && d("defs", null, [d("linearGradient", { id: `${a}-gradient-${t.value}`, x1: "100%", y1: "0%", x2: "0%", y2: "0%" }, [Object.keys(p).sort((m, S) => Re(m) - Re(S)).map((m, S) => d("stop", { key: S, offset: m, "stop-color": p[m] }, null))])]), d("path", h, null), i().reverse()]); }; } }), dn = () => P(P({}, me()), { strokeColor: Se() }), pn = 3, fn = (e) => pn / e * 100, gn = z({ compatConfig: { MODE: 3 }, name: "ProgressCircle", inheritAttrs: !1, props: ne(dn(), { trailColor: null }), setup(e, t) { let { slots: o, attrs: n } = t; const r = _(() => { var s; return (s = e.width) !== null && s !== void 0 ? s : 120; }), l = _(() => { var s; return (s = e.size) !== null && s !== void 0 ? s : [r.value, r.value]; }), i = _(() => ve(l.value, "circle")), a = _(() => { if (e.gapDegree || e.gapDegree === 0) return e.gapDegree; if (e.type === "dashboard") return 75; }), c = _(() => ({ width: `${i.value.width}px`, height: `${i.value.height}px`, fontSize: `${i.value.width * 0.15 + 6}px` })), b = _(() => { var s; return (s = e.strokeWidth) !== null && s !== void 0 ? s : Math.max(fn(i.value.width), 6); }), u = _(() => e.gapPosition || e.type === "dashboard" && "bottom" || void 0), O = _(() => Qt(e)), y = _(() => Object.prototype.toString.call(e.strokeColor) === "[object Object]"), g = _(() => Zt({ success: e.success, strokeColor: e.strokeColor })), F = _(() => ({ [`${e.prefixCls}-inner`]: !0, [`${e.prefixCls}-circle-gradient`]: y.value })); return () => { var s; const v = d(un, { percent: O.value, strokeWidth: b.value, trailWidth: b.value, strokeColor: g.value, strokeLinecap: e.strokeLinecap, trailColor: e.trailColor, prefixCls: e.prefixCls, gapDegree: a.value, gapPosition: u.value }, null); return d("div", D(D({}, n), {}, { class: [F.value, n.class], style: [n.style, c.value] }), [i.value.width <= 20 ? d(ke, null, { default: () => [d("span", null, [v])], title: o.default }) : d(ze, null, [v, (s = o.default) === null || s === void 0 ? void 0 : s.call(o)])]); }; } }), mn = () => P(P({}, me()), { steps: Number, strokeColor: Z(), trailColor: String }), vn = z({ compatConfig: { MODE: 3 }, name: "Steps", props: mn(), setup(e, t) { let { slots: o } = t; const n = _(() => Math.round(e.steps * ((e.percent || 0) / 100))), r = _(() => { var a; return (a = e.size) !== null && a !== void 0 ? a : [e.size === "small" ? 2 : 14, e.strokeWidth || 8]; }), l = _(() => ve(r.value, "step", { steps: e.steps, strokeWidth: e.strokeWidth || 8 })), i = _(() => { const { steps: a, strokeColor: c, trailColor: b, prefixCls: u } = e, O = []; for (let y = 0; y < a; y += 1) { const g = Array.isArray(c) ? c[y] : c, F = { [`${u}-steps-item`]: !0, [`${u}-steps-item-active`]: y <= n.value - 1 }; O.push(d("div", { key: y, class: F, style: { backgroundColor: y <= n.value - 1 ? g : b, width: `${l.value.width / a}px`, height: `${l.value.height}px` } }, null)); } return O; }); return () => { var a; return d("div", { class: `${e.prefixCls}-steps-outer` }, [i.value, (a = o.default) === null || a === void 0 ? void 0 : a.call(o)]); }; } }), hn = new xe("antProgressActive", { "0%": { transform: "translateX(-100%) scaleX(0)", opacity: 0.1 }, "20%": { transform: "translateX(-100%) scaleX(0)", opacity: 0.5 }, to: { transform: "translateX(0) scaleX(1)", opacity: 0 } }), yn = (e) => { const { componentCls: t, iconCls: o } = e; return { [t]: P(P({}, We(e)), { display: "inline-block", "&-rtl": { direction: "rtl" }, "&-line": { position: "relative", width: "100%", fontSize: e.fontSize, marginInlineEnd: e.marginXS, marginBottom: e.marginXS }, [`${t}-outer`]: { display: "inline-block", width: "100%" }, [`&${t}-show-info`]: { [`${t}-outer`]: { marginInlineEnd: `calc(-2em - ${e.marginXS}px)`, paddingInlineEnd: `calc(2em + ${e.paddingXS}px)` } }, [`${t}-inner`]: { position: "relative", display: "inline-block", width: "100%", overflow: "hidden", verticalAlign: "middle", backgroundColor: e.progressRemainingColor, borderRadius: e.progressLineRadius }, [`${t}-inner:not(${t}-circle-gradient)`]: { [`${t}-circle-path`]: { stroke: e.colorInfo } }, [`${t}-success-bg, ${t}-bg`]: { position: "relative", backgroundColor: e.colorInfo, borderRadius: e.progressLineRadius, transition: `all ${e.motionDurationSlow} ${e.motionEaseInOutCirc}` }, [`${t}-success-bg`]: { position: "absolute", insetBlockStart: 0, insetInlineStart: 0, backgroundColor: e.colorSuccess }, [`${t}-text`]: { display: "inline-block", width: "2em", marginInlineStart: e.marginXS, color: e.progressInfoTextColor, lineHeight: 1, whiteSpace: "nowrap", textAlign: "start", verticalAlign: "middle", wordBreak: "normal", [o]: { fontSize: e.fontSize } }, [`&${t}-status-active`]: { [`${t}-bg::before`]: { position: "absolute", inset: 0, backgroundColor: e.colorBgContainer, borderRadius: e.progressLineRadius, opacity: 0, animationName: hn, animationDuration: e.progressActiveMotionDuration, animationTimingFunction: e.motionEaseOutQuint, animationIterationCount: "infinite", content: '""' } }, [`&${t}-status-exception`]: { [`${t}-bg`]: { backgroundColor: e.colorError }, [`${t}-text`]: { color: e.colorError } }, [`&${t}-status-exception ${t}-inner:not(${t}-circle-gradient)`]: { [`${t}-circle-path`]: { stroke: e.colorError } }, [`&${t}-status-success`]: { [`${t}-bg`]: { backgroundColor: e.colorSuccess }, [`${t}-text`]: { color: e.colorSuccess } }, [`&${t}-status-success ${t}-inner:not(${t}-circle-gradient)`]: { [`${t}-circle-path`]: { stroke: e.colorSuccess } } }) }; }, bn = (e) => { const { componentCls: t, iconCls: o } = e; return { [t]: { [`${t}-circle-trail`]: { stroke: e.progressRemainingColor }, [`&${t}-circle ${t}-inner`]: { position: "relative", lineHeight: 1, backgroundColor: "transparent" }, [`&${t}-circle ${t}-text`]: { position: "absolute", insetBlockStart: "50%", insetInlineStart: 0, width: "100%", margin: 0, padding: 0, color: e.colorText, lineHeight: 1, whiteSpace: "normal", textAlign: "center", transform: "translateY(-50%)", [o]: { fontSize: `${e.fontSize / e.fontSizeSM}em` } }, [`${t}-circle&-status-exception`]: { [`${t}-text`]: { color: e.colorError } }, [`${t}-circle&-status-success`]: { [`${t}-text`]: { color: e.colorSuccess } } }, [`${t}-inline-circle`]: { lineHeight: 1, [`${t}-inner`]: { verticalAlign: "bottom" } } }; }, wn = (e) => { const { componentCls: t } = e; return { [t]: { [`${t}-steps`]: { display: "inline-block", "&-outer": { display: "flex", flexDirection: "row", alignItems: "center" }, "&-item": { flexShrink: 0, minWidth: e.progressStepMinWidth, marginInlineEnd: e.progressStepMarginInlineEnd, backgroundColor: e.progressRemainingColor, transition: `all ${e.motionDurationSlow}`, "&-active": { backgroundColor: e.colorInfo } } } } }; }, $n = (e) => { const { componentCls: t, iconCls: o } = e; return { [t]: { [`${t}-small&-line, ${t}-small&-line ${t}-text ${o}`]: { fontSize: e.fontSizeSM } } }; }, Cn = Me("Progress", (e) => { const t = e.marginXXS / 2, o = Ne(e, { progressLineRadius: 100, progressInfoTextColor: e.colorText, progressDefaultColor: e.colorInfo, progressRemainingColor: e.colorFillSecondary, progressStepMarginInlineEnd: t, progressStepMinWidth: t, progressActiveMotionDuration: "2.4s" }); return [yn(o), bn(o), wn(o), $n(o)]; }); var Sn = function(e, t) { var o = {}; for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (o[n] = e[n]); if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var r = 0, n = Object.getOwnPropertySymbols(e); r < n.length; r++) t.indexOf(n[r]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[r]) && (o[n[r]] = e[n[r]]); return o; }; const xn = z({ compatConfig: { MODE: 3 }, name: "AProgress", inheritAttrs: !1, props: ne(me(), { type: "line", percent: 0, showInfo: !0, // null for different theme definition trailColor: null, size: "default", strokeLinecap: "round" }), slots: Object, setup(e, t) { let { slots: o, attrs: n } = t; const { prefixCls: r, direction: l } = fe("progress", e), [i, a] = Cn(r); process.env.NODE_ENV !== "production" && (J("successPercent" in e, "Progress", "`successPercent` is deprecated. Please use `success.percent` instead."), J("width" in e, "Progress", "`width` is deprecated. Please use `size` instead.")); const c = _(() => Array.isArray(e.strokeColor) ? e.strokeColor[0] : e.strokeColor), b = _(() => { const { percent: F = 0 } = e, s = pe(e); return parseInt(s !== void 0 ? s.toString() : F.toString(), 10); }), u = _(() => { const { status: F } = e; return !Jt.includes(F) && b.value >= 100 ? "success" : F || "normal"; }), O = _(() => { const { type: F, showInfo: s, size: v } = e, R = r.value; return { [R]: !0, [`${R}-inline-circle`]: F === "circle" && ve(v, "circle").width <= 20, [`${R}-${F === "dashboard" && "circle" || F}`]: !0, [`${R}-status-${u.value}`]: !0, [`${R}-show-info`]: s, [`${R}-${v}`]: v, [`${R}-rtl`]: l.value === "rtl", [a.value]: !0 }; }), y = _(() => typeof e.strokeColor == "string" || Array.isArray(e.strokeColor) ? e.strokeColor : void 0), g = () => { const { showInfo: F, format: s, type: v, percent: R, title: p } = e, h = pe(e); if (!F) return null; let m; const S = s || (o == null ? void 0 : o.format) || ((L) => `${L}%`), E = v === "line"; return s || o != null && o.format || u.value !== "exception" && u.value !== "success" ? m = S(ee(R), ee(h)) : u.value === "exception" ? m = E ? d(st, null, null) : d(at, null, null) : u.value === "success" && (m = E ? d(ct, null, null) : d(ut, null, null)), d("span", { class: `${r.value}-text`, title: p === void 0 && typeof m == "string" ? m : void 0 }, [m]); }; return () => { const { type: F, steps: s, title: v } = e, { class: R } = n, p = Sn(n, ["class"]), h = g(); let m; return F === "line" ? m = s ? d(vn, D(D({}, e), {}, { strokeColor: y.value, prefixCls: r.value, steps: s }), { default: () => [h] }) : d(rn, D(D({}, e), {}, { strokeColor: c.value, prefixCls: r.value, direction: l.value }), { default: () => [h] }) : (F === "circle" || F === "dashboard") && (m = d(gn, D(D({}, e), {}, { prefixCls: r.value, strokeColor: c.value, progressStatus: u.value }), { default: () => [h] })), i(d("div", D(D({ role: "progressbar" }, p), {}, { class: [O.value, R], title: v }), [m])); }; } }), In = dt(xn); function Pn(e, t) { const o = `cannot ${e.method} ${e.action} ${t.status}'`, n = new Error(o); return n.status = t.status, n.method = e.method, n.url = e.action, n; } function Te(e) { const t = e.responseText || e.response; if (!t) return t; try { return JSON.parse(t); } catch (o) { return t; } } function On(e) { const t = new XMLHttpRequest(); e.onProgress && t.upload && (t.upload.onprogress = function(l) { l.total > 0 && (l.percent = l.loaded / l.total * 100), e.onProgress(l); }); const o = new FormData(); e.data && Object.keys(e.data).forEach((r) => { const l = e.data[r]; if (Array.isArray(l)) { l.forEach((i) => { o.append(`${r}[]`, i); }); return; } o.append(r, l); }), e.file instanceof Blob ? o.append(e.filename, e.file, e.file.name) : o.append(e.filename, e.file), t.onerror = function(l) { e.onError(l); }, t.onload = function() { return t.status < 200 || t.status >= 300 ? e.onError(Pn(e, t), Te(t)) : e.onSuccess(Te(t), t); }, t.open(e.method, e.action, !0), e.withCredentials && "withCredentials" in t && (t.withCredentials = !0); const n = e.headers || {}; return n["X-Requested-With"] !== null && t.setRequestHeader("X-Requested-With", "XMLHttpRequest"), Object.keys(n).forEach((r) => { n[r] !== null && t.setRequestHeader(r, n[r]); }), t.send(o), { abort() { t.abort(); } }; } const Dn = +/* @__PURE__ */ new Date(); let Fn = 0; function ye() { return `vc-upload-${Dn}-${++Fn}`; } const be = (e, t) => { if (e && t) { const o = Array.isArray(t) ? t : t.split(","), n = e.name || "", r = e.type || "", l = r.replace(/\/.*$/, ""); return o.some((i) => { const a = i.trim(); if (/^\*(\/\*)?$/.test(i)) return !0; if (a.charAt(0) === ".") { const c = n.toLowerCase(), b = a.toLowerCase(); let u = [b]; return (b === ".jpg" || b === ".jpeg") && (u = [".jpg", ".jpeg"]), u.some((O) => c.endsWith(O)); } return /\/\*$/.test(a) ? l === a.replace(/\/.*$/, "") : r === a ? !0 : /^\w+$/.test(a) ? (pt(!1, `Upload takes an invalidate 'accept' type '${a}'.Skip for check.`), !0) : !1; }); } return !0; }; function Rn(e, t) { const o = e.createReader(); let n = []; function r() { o.readEntries((l) => { const i = Array.prototype.slice.apply(l); n = n.concat(i), !i.length ? t(n) : r(); }); } r(); } const _n = (e, t, o) => { const n = (r, l) => { r.path = l || "", r.isFile ? r.file((i) => { o(i) && (r.fullPath && !i.webkitRelativePath && (Object.defineProperties(i, { webkitRelativePath: { writable: !0 } }), i.webkitRelativePath = r.fullPath.replace(/^\//, ""), Object.defineProperties(i, { webkitRelativePath: { writable: !1 } })), t([i])); }) : r.isDirectory && Rn(r, (i) => { i.forEach((a) => { n(a, `${l}${r.name}/`); }); }); }; e.forEach((r) => { n(r.webkitGetAsEntry()); }); }, Ke = () => ({ capture: [Boolean, String], multipart: { type: Boolean, default: void 0 }, name: String, disabled: { type: Boolean, default: void 0 }, componentTag: String, action: [String, Function], method: String, directory: { type: Boolean, default: void 0 }, data: [Object, Function], headers: Object, accept: String, multiple: { type: Boolean, default: void 0 }, onBatchStart: Function, onReject: Function, onStart: Function, onError: Function, onSuccess: Function, onProgress: Function, beforeUpload: Function, customRequest: Function, withCredentials: { type: Boolean, default: void 0 }, openFileDialogOnClick: { type: Boolean, default: void 0 }, prefixCls: String, id: String, onMouseenter: Function, onMouseleave: Function, onClick: Function }); var An = function(e, t, o, n) { function r(l) { return l instanceof o ? l : new o(function(i) { i(l); }); } return new (o || (o = Promise))(function(l, i) { function a(u) { try { b(n.next(u)); } catch (O) { i(O); } } function c(u) { try { b(n.throw(u)); } catch (O) { i(O); } } function b(u) { u.done ? l(u.value) : r(u.value).then(a, c); } b((n = n.apply(e, t || [])).next()); }); }, Tn = function(e, t) { var o = {}; for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (o[n] = e[n]); if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var r = 0, n = Object.getOwnPropertySymbols(e); r < n.length; r++) t.indexOf(n[r]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[r]) && (o[n[r]] = e[n[r]]); return o; }; const En = z({ compatConfig: { MODE: 3 }, name: "AjaxUploader", inheritAttrs: !1, props: Ke(), setup(e, t) { let { slots: o, attrs: n, expose: r } = t; const l = Q(ye()), i = {}, a = Q(); let c = !1; const b = (p, h) => An(this, void 0, void 0, function* () { const { beforeUpload: m } = e; let S = p; if (m) { try { S = yield m(p, h); } catch ($) { S = !1; } if (S === !1) return { origin: p, parsedFile: null, action: null, data: null }; } const { action: E } = e; let L; typeof E == "function" ? L = yield E(p) : L = E; const { data: M } = e; let U; typeof M == "function" ? U = yield M(p) : U = M; const N = ( // string type is from legacy `transformFile`. // Not sure if this will work since no related test case works with it (typeof S == "object" || typeof S == "string") && S ? S : p ); let f; N instanceof File ? f = N : f = new File([N], p.name, { type: p.type }); const w = f; return w.uid = p.uid, { origin: p, data: U, parsedFile: w, action: L }; }), u = (p) => { let { data: h, origin: m, action: S, parsedFile: E } = p; if (!c) return; const { onStart: L, customRequest: M, name: U, headers: N, withCredentials: f, method: w } = e, { uid: $ } = m, C = M || On, x = { action: S, filename: U, data: h, file: E, headers: N, withCredentials: f, method: w || "post", onProgress: (A) => { const { onProgress: j } = e; j == null || j(A, E); }, onSuccess: (A, j) => { const { onSuccess: T } = e; T == null || T(A, E, j), delete i[$]; }, onError: (A, j) => { const { onError: T } = e; T == null || T(A, j, E), delete i[$]; } }; L(m), i[$] = C(x); }, O = () => { l.value = ye(); }, y = (p) => { if (p) { const h = p.uid ? p.uid : p; i[h] && i[h].abort && i[h].abort(), delete i[h]; } else Object.keys(i).forEach((h) => { i[h] && i[h].abort && i[h].abort(), delete i[h]; }); }; ge(() => { c = !0; }), He(() => { c = !1, y(); }); const g = (p) => { const h = [...p], m = h.map((S) => (S.uid = ye(), b(S, h))); Promise.all(m).then((S) => { const { onBatchStart: E } = e; E == null || E(S.map((L) => { let { origin: M, parsedFile: U } = L; return { file: M, parsedFile: U }; })), S.filter((L) => L.parsedFile !== null).forEach((L) => { u(L); }); }); }, F = (p) => { const { accept: h, directory: m } = e, { files: S } = p.target, E = [...S].filter((L) => !m || be(L, h)); g(E), O(); }, s = (p) => { const h = a.value; if (!h) return; const { onClick: m } = e; h.click(), m && m(p); }, v = (p) => { p.key === "Enter" && s(p); }, R = (p) => { const { multiple: h } = e; if (p.preventDefault(), p.type !== "dragover") if (e.directory) _n(Array.prototype.slice.call(p.dataTransfer.items), g, (m) => be(m, e.accept)); else { const m = Kt(Array.prototype.slice.call(p.dataTransfer.files), (L) => be(L, e.accept)); let S = m[0]; const E = m[1]; h === !1 && (S = S.slice(0, 1)), g(S), E.length && e.onReject && e.onReject(E); } }; return r({ abort: y }), () => { var p; const { componentTag: h, prefixCls: m, disabled: S, id: E, multiple: L, accept: M, capture: U, directory: N, openFileDialogOnClick: f, onMouseenter: w, onMouseleave: $ } = e, C = Tn(e, ["componentTag", "prefixCls", "disabled", "id", "multiple", "accept", "capture", "directory", "openFileDialogOnClick", "onMouseenter", "onMouseleave"]), x = { [m]: !0, [`${m}-disabled`]: S, [n.class]: !!n.class }, A = N ? { directory: "directory", webkitdirectory: "webkitdirectory" } : {}; return d(h, D(D({}, S ? {} : { onClick: f ? s : () => { }, onKeydown: f ? v : () => { }, onMouseenter: w, onMouseleave: $, onDrop: R, onDragover: R, tabindex: "0" }), {}, { class: x, role: "button", style: n.style }), { default: () => [d("input", D(D(D({}, Ut(C, { aria: !0, data: !0 })), {}, { id: E, type: "file", ref: a, onClick: (T) => T.stopPropagation(), onCancel: (T) => T.stopPropagation(), key: l.value, style: { display: "none" }, accept: M }, A), {}, { multiple: L, onChange: F }, U != null ? { capture: U } : {}), null), (p = o.default) === null || p === void 0 ? void 0 : p.call(o)] }); }; } }); function we() { } const Ee = z({ compatConfig: { MODE: 3 }, name: "Upload", inheritAttrs: !1, props: ne(Ke(), { componentTag: "span", prefixCls: "rc-upload", data: {}, headers: {}, name: "file", multipart: !1, onStart: we, onError: we, onSuccess: we, multiple: !1, beforeUpload: null, customRequest: null, withCredentials: !1, openFileDialogOnClick: !0 }), setup(e, t) { let { slots: o, attrs: n, expose: r } = t; const l = Q(); return r({ abort: (a) => { var c; (c = l.value) === null || c === void 0 || c.abort(a); } }), () => d(En, D(D(D({}, e), n), {}, { ref: l }), o); } }); function Ye() { return { capture: Z([Boolean, String]), type: B(), name: String, defaultFileList: de(), fileList: de(), action: Z([String, Function]), directory: W(), data: Z([Object, Function]), method: B(), headers: q(), showUploadList: Z([Boolean, Object]), multiple: W(), accept: String, beforeUpload: I(), onChange: I(), "onUpdate:fileList": I(), onDrop: I(), listType: B(), onPreview: I(), onDownload: I(), onReject: I(), onRemove: I(), /** @deprecated Please use `onRemove` directly */ remove: I(), supportServerRender: W(), disabled: W(), prefixCls: String, customRequest: I(), withCredentials: W(), openFileDialogOnClick: W(), locale: q(), id: String, previewFile: I(), /** @deprecated Please use `beforeUpload` directly */ transformFile: I(), iconRender: I(), isImageUrl: I(), progress: q(), itemRender: I(), /** Config max count of `fileList`. Will replace current one when `maxCount` is 1 */ maxCount: Number, height: Z([Number, String]), removeIcon: I(), downloadIcon: I(), previewIcon: I() }; } function Ln() { return { listType: B(), onPreview: I(), onDownload: I(), onRemove: I(), items: de(), progress: q(), prefixCls: B(), showRemoveIcon: W(), showDownloadIcon: W(), showPreviewIcon: W(), removeIcon: I(), downloadIcon: I(), previewIcon: I(), locale: q(void 0), previewFile: I(), iconRender: I(), isImageUrl: I(), appendAction: I(), appendActionVisible: W(), itemRender: I() }; } function se(e) { return P(P({}, e), { lastModified: e.lastModified, lastModifiedDate: e.lastModifiedDate, name: e.name, size: e.size, type: e.type, uid: e.uid, percent: 0, originFileObj: e }); } function ae(e, t) { const o = [...t], n = o.findIndex((r) => { let { uid: l } = r; return l === e.uid; }); return n === -1 ? o.push(e) : o[n] = e, o; } function $e(e, t) { const o = e.uid !== void 0 ? "uid" : "name"; return t.filter((n) => n[o] === e[o])[0]; } function jn(e, t) { const o = e.uid !== void 0 ? "uid" : "name", n = t.filter((r) => r[o] !== e[o]); return n.length === t.length ? null : n; } const Un = function() { const t = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "").split("/"), n = t[t.length - 1].split(/#|\?/)[0]; return (/\.[^./\\]*$/.exec(n) || [""])[0]; }, Je = (e) => e.indexOf("image/") === 0, kn = (e) => { if (e.type && !e.thumbUrl) return Je(e.type); const t = e.thumbUrl || e.url || "", o = Un(t); return /^data:image\//.test(t) || /(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico)$/i.test(o) ? !0 : !(/^data:/.test(t) || o); }, Y = 200; function Mn(e) { return new Promise((t) => { if (!e.type || !Je(e.type)) { t(""); return; } const o = document.createElement("canvas"); o.width = Y, o.height = Y, o.style.cssText = `position: fixed; left: 0; top: 0; width: ${Y}px; height: ${Y}px; z-index: 9999; display: none;`, document.body.appendChild(o); const n = o.getContext("2d"), r = new Image(); if (r.onload = () => { const { width: l, height: i } = r; let a = Y, c = Y, b = 0, u = 0; l > i ? (c = i * (Y / l), u = -(c - a) / 2) : (a = l * (Y / i), b = -(a - c) / 2), n.drawImage(r, b, u, a, c); const O = o.toDataURL(); document.body.removeChild(o), t(O); }, r.crossOrigin = "anonymous", e.type.startsWith("image/svg+xml")) { const l = new FileReader(); l.addEventListener("load", () => { l.result && (r.src = l.result); }), l.readAsDataURL(e); } else r.src = window.URL.createObjectURL(e); }); } const Nn = () => ({ prefixCls: String, locale: q(void 0), file: q(), items: de(), listType: B(), isImgUrl: I(), showRemoveIcon: W(), showDownloadIcon: W(), showPreviewIcon: W(), removeIcon: I(), downloadIcon: I(), previewIcon: I(), iconRender: I(), actionIconRender: I(), itemRender: I(), onPreview: I(), onClose: I(), onDownload: I(), progress: q() }), Wn = z({ compatConfig: { MODE: 3 }, name: "ListItem", inheritAttrs: !1, props: Nn(), setup(e, t) { let { slots: o, attrs: n } = t; var r; const l = le(!1), i = le(); ge(() => { i.value = setTimeout(() => { l.value = !0; }, 300); }), He(() => { clearTimeout(i.value); }); const a = le((r = e.file) === null || r === void 0 ? void 0 : r.status); Ge(() => { var u; return (u = e.file) === null || u === void 0 ? void 0 : u.status; }, (u) => { u !== "removed" && (a.value = u); }); const { rootPrefixCls: c } = fe("upload", e), b = _(() => ft(`${c.value}-fade`)); return () => { var u, O; const { prefixCls: y, locale: g, listType: F, file: s, items: v, progress: R, iconRender: p = o.iconRender, actionIconRender: h = o.actionIconRender, itemRender: m = o.itemRender, isImgUrl: S, showPreviewIcon: E, showRemoveIcon: L, showDownloadIcon: M, previewIcon: U = o.previewIcon, removeIcon: N = o.removeIcon, downloadIcon: f = o.downloadIcon, onPreview: w, onDownload: $, onClose: C } = e, { class: x, style: A } = n, j = p({ file: s }); let T = d("div", { class: `${y}-text-icon` }, [j]); if (F === "picture" || F === "picture-card") if (a.value === "uploading" || !s.thumbUrl && !s.url) { const X = { [`${y}-list-item-thumbnail`]: !0, [`${y}-list-item-file`]: a.value !== "uploading" }; T = d("div", { class: X }, [j]); } else { const X = S != null && S(s) ? d("img", { src: s.thumbUrl || s.url, alt: s.name, class: `${y}-list-item-image`, crossorigin: s.crossOrigin }, null) : j, nt = { [`${y}-list-item-thumbnail`]: !0, [`${y}-list-item-file`]: S && !S(s) }; T = d("a", { class: nt, onClick: (ot) => w(s, ot), href: s.url || s.thumbUrl, target: "_blank", rel: "noopener noreferrer" }, [X]); } const k = { [`${y}-list-item`]: !0, [`${y}-list-item-${a.value}`]: !0 }, V = typeof s.linkProps == "string" ? JSON.parse(s.linkProps) : s.linkProps, te = L ? h({ customIcon: N ? N({ file: s }) : d(gt, null, null), callback: () => C(s), prefixCls: y, title: g.removeFile }) : null, H = M && a.value === "done" ? h({ customIcon: f ? f({ file: s }) : d(mt, null, null), callback: () => $(s), prefixCls: y, title: g.downloadFile }) : null, G = F !== "picture-card" && d("span", { key: "download-delete", class: [`${y}-list-item-actions`, { picture: F === "picture" }] }, [H, te]), K = `${y}-list-item-name`, oe = s.url ? [d("a", D(D({ key: "view", target: "_blank", rel: "noopener noreferrer", class: K, title: s.name }, V), {}, { href: s.url, onClick: (X) => w(s, X) }), [s.name]), G] : [d("span", { key: "view", class: K, onClick: (X) => w(s, X), title: s.name }, [s.name]), G], he = { pointerEvents: "none", opacity: 0.5 }, Qe = E ? d("a", { href: s.url || s.thumbUrl, target: "_blank", rel: "noopener noreferrer", style: s.url || s.thumbUrl ? void 0 : he, onClick: (X) => w(s, X), title: g.previewFile }, [U ? U({ file: s }) : d(vt, null, null)]) : null, Ze = F === "picture-card" && a.value !== "uploading" && d("span", { class: `${y}-list-item-actions` }, [Qe, a.value === "done" && H, te]), Ie = d("div", { class: k }, [T, oe, Ze, l.value && d(At, b.value, { default: () => [qe(d("div", { class: `${y}-list-item-progress` }, ["percent" in s ? d(In, D(D({}, R), {}, { type: "line", percent: s.percent }), null) : null]), [[Ve, a.value === "uploading"]])] })]), et = { [`${y}-list-item-container`]: !0, [`${x}`]: !!x }, tt = s.response && typeof s.response == "string" ? s.response : ((u = s.error) === null || u === void 0 ? void 0 : u.statusText) || ((O = s.error) === null || O === void 0 ? void 0 : O.message) || g.uploadError, Pe = a.value === "error" ? d(ke, { title: tt, getPopupContainer: (X) => X.parentNode }, { default: () => [Ie] }) : Ie; return d("div", { class: et, style: A }, [m ? m({ originNode: Pe, file: s, fileList: v, actions: { download: $.bind(null, s), preview: w.bind(null, s), remove: C.bind(null, s) } }) : Pe]); }; } }), Bn = (e, t) => { let { slots: o } = t; var n; return bt((n = o.default) === null || n === void 0 ? void 0 : n.call(o))[0]; }, Xn = z({ compatConfig: { MODE: 3 }, name: "AUploadList", props: ne(Ln(), { listType: "text", progress: { strokeWidth: 2, showInfo: !1 }, showRemoveIcon: !0, showDownloadIcon: !1, showPreviewIcon: !0, previewFile: Mn, isImageUrl: kn, items: [], appendActionVisible: !0 }), setup(e, t) { let { slots: o, expose: n } = t; const r = le(!1); ge(() => { r.value == !0; }); const l = le([]); Ge(() => e.items, function() { let s = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : []; l.value = s.slice(); }, { immediate: !0, deep: !0 }), Tt(() => { if (e.listType !== "picture" && e.listType !== "picture-card") return; let s = !1; (e.items || []).forEach((v, R) => { typeof document == "undefined" || typeof window == "undefined" || !window.FileReader || !window.File || !(v.originFileObj instanceof File || v.originFileObj instanceof Blob) || v.thumbUrl !== void 0 || (v.thumbUrl = "", e.previewFile && e.previewFile(v.originFileObj).then((p) => { const h = p || ""; h !== v.thumbUrl && (l.value[R].thumbUrl = h, s = !0); })); }), s && Et(l); }); const i = (s, v) => { if (e.onPreview) return v == null || v.preventDefault(), e.onPreview(s); }, a = (s) => { typeof e.onDownload == "function" ? e.onDownload(s) : s.url && window.open(s.url); }, c = (s) => { var v; (v = e.onRemove) === null || v === void 0 || v.call(e, s); }, b = (s) => { let { file: v } = s; const R = e.iconRender || o.iconRender; if (R) return R({ file: v, listType: e.listType }); const p = v.status === "uploading", h = e.isImageUrl && e.isImageUrl(v) ? d(wt, null, null) : d($t, null, null); let m = p ? d(Oe, null, null) : d(Ct, null, null); return e.listType === "picture" ? m = p ? d(Oe, null, null) : h : e.listType === "picture-card" && (m = p ? e.locale.uploading : h), m; }, u = (s) => { const { customIcon: v, callback: R, prefixCls: p, title: h } = s, m = { type: "text", size: "small", title: h, onClick: () => { R(); }, class: `${p}-list-item-action` }; return St(v) ? d(De, m, { icon: () => v }) : d(De, m, { default: () => [d("span", null, [v])] }); }; n({ handlePreview: i, handleDownload: a }); const { prefixCls: O, rootPrefixCls: y } = fe("upload", e), g = _(() => ({ [`${O.value}-list`]: !0, [`${O.value}-list-${e.listType}`]: !0 })), F = _(() => { const s = P({}, ht(`${y.value}-motion-collapse`)); delete s.onAfterAppear, delete s.onAfterEnter, delete s.onAfterLeave; const v = P(P({}, yt(`${O.value}-${e.listType === "picture-card" ? "animate-inline" : "animate"}`)), { class: g.value, appear: r.value }); return e.listType !== "picture-card" ? P(P({}, s), v) : v; }); return () => { const { listType: s, locale: v, isImageUrl: R, showPreviewIcon: p, showRemoveIcon: h, showDownloadIcon: m, removeIcon: S, previewIcon: E, downloadIcon: L, progress: M, appendAction: U, itemRender: N, appendActionVisible: f } = e, w = U == null ? void 0 : U(), $ = l.value; return d(Lt, D(D({}, F.value), {}, { tag: "div" }), { default: () => [$.map((C) => { const { uid: x } = C; return d(Wn, { key: x, locale: v, prefixCls: O.value, file: C, items: $, progress: M, listType: s, isImgUrl: R, showPreviewIcon: p, showRemoveIcon: h, showDownloadIcon: m, onPreview: i, onDownload: a, onClose: c, removeIcon: S, previewIcon: E, downloadIcon: L, itemRender: N }, P(P({}, o), { iconRender: b, actionIconRender: u })); }), U ? qe(d(Bn, { key: "__ant_upload_appendAction" }, { default: () => w }), [[Ve, !!f]]) : null] }); }; } }), zn = (e) => { const { componentCls: t, iconCls: o } = e; return { [`${t}-wrapper`]: { [`${t}-drag`]: { position: "relative", width: "100%", height: "100%", textAlign: "center", background: e.colorFillAlter, border: `${e.lineWidth}px dashed ${e.colorBorder}`, borderRadius: e.borderRadiusLG, cursor: "pointer", transition: `border-color ${e.motionDurationSlow}`, [t]: { padding: `${e.padding}px 0` }, [`${t}-btn`]: { display: "table", width: "100%", height: "100%", outline: "none" }, [`${t}-drag-container`]: { display: "table-cell", verticalAlign: "middle" }, [`&:not(${t}-disabled):hover`]: { borderColor: e.colorPrimaryHover }, [`p${t}-drag-icon`]: { marginBottom: e.margin, [o]: { color: e.colorPrimary, fontSize: e.uploadThumbnailSize } }, [`p${t}-text`]: { margin: `0 0 ${e.marginXXS}px`, color: e.colorTextHeading, fontSize: e.fontSizeLG }, [`p${t}-hint`]: { color: e.colorTextDescription, fontSize: e.fontSize }, // ===================== Disabled ===================== [`&${t}-disabled`]: { cursor: "not-allowed", [`p${t}-drag-icon ${o}, p${t}-text, p${t}-hint `]: { color: e.colorTextDisabled } } } } }; }, Hn = (e) => { const { componentCls: t, antCls: o, iconCls: n, fontSize: r, lineHeight: l } = e, i = `${t}-list-item`, a = `${i}-actions`, c = `${i}-action`, b = Math.round(r * l); return { [`${t}-wrapper`]: { [`${t}-list`]: P(P({}, Be()), { lineHeight: e.lineHeight, [i]: { position: "relative", height: e.lineHeight * r, marginTop: e.marginXS, fontSize: r, display: "flex", alignItems: "center", transition: `background-color ${e.motionDurationSlow}`, "&:hover": { backgroundColor: e.controlItemBgHover }, [`${i}-name`]: P(P({}, Xe), { padding: `0 ${e.paddingXS}px`, lineHeight: l, flex: "auto", transition: `all ${e.motionDurationSlow}` }), [a]: { [c]: { opacity: 0 }, [`${c}${o}-btn-sm`]: { height: b, border: 0, lineHeight: 1, // FIXME: should not override small button "> span": { transform: "scale(1)" } }, [` ${c}:focus, &.picture ${c} `]: { opacity: 1 }, [n]: { color: e.colorTextDescription, transition: `all ${e.motionDurationSlow}` }, [`&:hover ${n}`]: { color: e.colorText } }, [`${t}-icon ${n}`]: { color: e.colorTextDescription, fontSize: r }, [`${i}-progress`]: { position: "absolute", bottom: -e.uploadProgressOffset, width: "100%", paddingInlineStart: r + e.paddingXS, fontSize: r, lineHeight: 0, pointerEvents: "none", "> div": { margin: 0 } } }, [`${i}:hover ${c}`]: { opacity: 1, color: e.colorText }, [`${i}-error`]: { color: e.colorError, [`${i}-name, ${t}-icon ${n}`]: { color: e.colorError }, [a]: { [`${n}, ${n}:hover`]: { color: e.colorError }, [c]: { opacity: 1 } } }, [`${t}-list-item-container`]: { transition: `opacity ${e.motionDurationSlow}, height ${e.motionDurationSlow}`, // For smooth removing animation "&::before": { display: "table", width: 0, height: 0, content: '""' } } }) } }; }, Le = new xe("uploadAnimateInlineIn", { from: { width: 0, height: 0, margin: 0, padding: 0, opacity: 0 } }), je = new xe("uploadAnimateInlineOut", { to: { width: 0, height: 0, margin: 0, padding: 0, opacity: 0 } }), Gn = (e) => { const { componentCls: t } = e, o = `${t}-animate-inline`; return [{ [`${t}-wrapper`]: { [`${o}-appear, ${o}-enter, ${o}-leave`]: { animationDuration: e.motionDurationSlow, animationTimingFunction: e.motionEaseInOutCirc, animationFillMode: "forwards" }, [`${o}-appear, ${o}-enter`]: { animationName: Le }, [`${o}-leave`]: { animationName: je } } }, Le, je]; }, qn = (e) => { const { componentCls: t, iconCls: o, uploadThumbnailSize: n, uploadProgressOffset: r } = e, l = `${t}-list`, i = `${l}-item`; return { [`${t}-wrapper`]: { // ${listCls} 增加优先级 [`${l}${l}-picture, ${l}${l}-picture-card`]: { [i]: { position: "relative", height: n + e.lineWidth * 2 + e.paddingXS * 2, padding: e.paddingXS, border: `${e.lineWidth}px ${e.lineType} ${e.colorBorder}`, borderRadius: e.borderRadiusLG, "&:hover": { background: "transparent" }, [`${i}-thumbnail`]: P(P({}, Xe), { width: n, height: n, lineHeight: `${n + e.paddingSM}px`, textAlign: "center", flex: "none", [o]: { fontSize: e.fontSizeHeading2, color: e.colorPrimary }, img: { display: "block", width: "100%", height: "100%", overflow: "hidden" } }), [`${i}-progress`]: { bottom: r, width: `calc(100% - ${e.paddingSM * 2}px)`, marginTop: 0, paddingInlineStart: n + e.paddingXS } }, [`${i}-error`]: { borderColor: e.colorError, // Adjust the color of the error icon : https://github.com/ant-design/ant-design/pull/24160 [`${i}-thumbnail ${o}`]: { "svg path[fill='#e6f7ff']": { fill: e.colorErrorBg }, "svg path[fill='#1890ff']": { fill: e.colorError } } }, [`${i}-uploading`]: { borderStyle: "dashed", [`${i}-name`]: { marginBottom: r } } } } }; }, Vn = (e) => { const { componentCls: t, iconCls: o, fontSizeLG: n, colorTextLightSolid: r } = e, l = `${t}-list`, i = `${l}-item`, a = e.uploadPicCardSize; return { [`${t}-wrapper${t}-picture-card-wrapper`]: P(P({}, Be()), { display: "inline-block", width: "100%", [`${t}${t}-select`]: { width: a, height: a, marginInlineEnd: e.marginXS, marginBottom: e.marginXS, textAlign: "center", verticalAlign: "top", backgroundColor: e.colorFillAlter, border: `${e.lineWidth}px dashed ${e.colorBorder}`, borderRadius: e.borderRadiusLG, cursor: "pointer", transition: `border-color ${e.motionDurationSlow}`, [`> ${t}`]: { display: "flex", alignItems: "center", justifyContent: "center", height: "100%", textAlign: "center" }, [`&:not(${t}-disabled):hover`]: { borderColor: e.colorPrimary } }, // list [`${l}${l}-picture-card`]: { [`${l}-item-container`]: { display: "inline-block", width: a, height: a, marginBlock: `0 ${e.marginXS}px`, marginInline: `0 ${e.marginXS}px`, verticalAlign: "top" }, "&::after": { display: "none" }, [i]: { height: "100%", margin: 0, "&::before": { position: "absolute", zIndex: 1, width: `calc(100% - ${e.paddingXS * 2}px)`, height: `calc(100% - ${e.paddingXS * 2}px)`, backgroundColor: e.colorBgMask, opacity: 0, transition: `all ${e.motionDurationSlow}`, content: '" "' } }, [`${i}:hover`]: { [`&::before, ${i}-actions`]: { opacity: 1 } }, [`${i}-actions`]: { position: "absolute", insetInlineStart: 0, zIndex: 10, width: "100%", whiteSpace: "nowrap", textAlign: "center", opacity: 0, transition: `all ${e.motionDurationSlow}`, [`${o}-eye, ${o}-download, ${o}-delete`]: { zIndex: 10, width: n, margin: `0 ${e.marginXXS}px`, fontSize: n, cursor: "pointer", transition: `all ${e.motionDurationSlow}` } }, [`${i}-actions, ${i}-actions:hover`]: { [`${o}-eye, ${o}-download, ${o}-delete`]: { color: new xt(r).setAlpha(0.65).toRgbString(), "&:hover": { color: r } } }, [`${i}-thumbnail, ${i}-thumbnail img`]: { position: "static", display: "block", width: "100%", height: "100%", objectFit: "contain" }, [`${i}-name`]: { display: "none", textAlign: "center" }, [`${i}-file + ${i}-name`]: { position: "absolute", bottom: e.margin, display: "block", width: `calc(100% - ${e.paddingXS * 2}px)` }, [`${i}-uploading`]: { [`&${i}`]: { backgroundColor: e.colorFillAlter }, [`&::before, ${o}-eye, ${o}-download, ${o}-delete`]: { display: "none" } }, [`${i}-progress`]: { bottom: e.marginXL, width: `calc(100% - ${e.paddingXS * 2}px)`, paddingInlineStart: 0 } } }) }; }, Kn = (e) => { const { componentCls: t } = e; return { [`${t}-rtl`]: { direction: "rtl" } }; }, Yn = (e) => { const { componentCls: t, colorTextDisabled: o } = e; return { [`${t}-wrapper`]: P(P({}, We(e)), { [t]: { outline: 0, "input[type='file']": { cursor: "pointer" } }, [`${t}-select`]: { display: "inline-block" }, [`${t}-disabled`]: { color: o, cursor: "not-allowed" } }) }; }, Jn = Me("Upload", (e) => { const { fontSizeHeading3: t, fontSize: o, lineHeight: n, lineWidth: r, controlHeightLG: l } = e, i = Math.round(o * n), a = Ne(e, { uploadThumbnailSize: t * 2, uploadProgressOffset: i / 2 + r, uploadPicCardSize: l * 2.55 }); return [Yn(a), zn(a), qn(a), Vn(a), Hn(a), Gn(a), Kn(a), It(a)]; }); var Qn = function(e, t, o, n) { function r(l) { return l instanceof o ? l : new o(function(i) { i(l); }); } return new (o || (o = Promise))(function(l, i) { function a(u) { try { b(n.next(u)); } catch (O) { i(O); } } function c(u) { try { b(n.throw(u)); } catch (O) { i(O); } } function b(u) { u.done ? l(u.value) : r(u.value).then(a, c); } b((n = n.apply(e, t || [])).next()); }); }, Zn = function(e, t) { var o = {}; for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (o[n] = e[n]); if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var r = 0, n = Object.getOwnPropertySymbols(e); r < n.length; r++) t.indexOf(n[r]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[r]) && (o[n[r]] = e[n[r]]); return o; }; const ie = `__LIST_IGNORE_${Date.now()}__`, ce = z({ compatConfig: { MODE: 3 }, name: "AUpload", inheritAttrs: !1, props: ne(Ye(), { type: "select", multiple: !1, action: "", data: {}, accept: "", showUploadList: !0, listType: "text", supportServerRender: !0 }), setup(e, t) { let { slots: o, attrs: n, expose: r } = t; const l = Nt(), { prefixCls: i, direction: a, disabled: c } = fe("upload", e), [b, u] = Jn(i), O = Pt(), y = _(() => { var f; return (f = c.value) !== null && f !== void 0 ? f : O.value; }), [g, F] = Mt(e.defaultFileList || [], { value: jt(e, "fileList"), postState: (f) => { const w = Date.now(); return (f != null ? f : []).map(($, C) => (!$.uid && !Object.isFrozen($) && ($.uid = `__AUTO__${w}_${C}__`), $)); } }), s = Q("drop"), v = Q(null); ge(() => { J(e.fileList !== void 0 || n.value === void 0, "Upload", "`value` is not a valid prop, do you mean `fileList`?"), J(e.transformFile === void 0, "Upload", "`transformFile` is deprecated. Please use `beforeUpload` directly."), J(e.remove === void 0, "Upload", "`remove` props is deprecated. Please use `remove` event."); }); const R = (f, w, $) => { var C, x; let A = [...w]; e.maxCount === 1 ? A = A.slice(-1) : e.maxCount && (A = A.slice(0, e.maxCount)), F(A); const j = { file: f, fileList: A }; $ && (j.event = $), (C = e["onUpdate:fileList"]) === null || C === void 0 || C.call(e, j.fileList), (x = e.onChange) === null || x === void 0 || x.call(e, j), l.onFieldChange(); }, p = (f, w) => Qn(this, void 0, void 0, function* () { const { beforeUpload: $, transformFile: C } = e; let x = f; if ($) { const A = yield $(f, w); if (A === !1) return !1; if (delete f[ie], A === ie) return Object.defineProperty(f, ie, { value: !0, configurable: !0 }), !1; typeof A == "object" && A && (x = A); } return C && (x = yield C(x)), x; }), h = (f) => { const w = f.filter((x) => !x.file[ie]); if (!w.length) return; const $ = w.map((x) => se(x.file)); let C = [...g.value]; $.forEach((x) => { C = ae(x, C); }), $.forEach((x, A) => { let j = x; if (w[A].parsedFile) x.status = "uploading"; else { const { originFileObj: T } = x; let k; try { k = new File([T], T.name, { type: T.type }); } catch (V) { k = new Blob([T], { type: T.type }), k.name = T.name, k.lastModifiedDate = /* @__PURE__ */ new Date(), k.lastModified = (/* @__PURE__ */ new Date()).getTime(); } k.uid = x.uid, j = k; } R(j, C); }); }, m = (f, w, $) => { try { typeof f == "string" && (f = JSON.parse(f)); } catch (A) { } if (!$e(w, g.value)) return; const C = se(w); C.status = "done", C.percent = 100, C.response = f, C.xhr = $; const x = ae(C, g.value); R(C, x); }, S = (f, w) => { if (!$e(w, g.value)) return; const $ = se(w); $.status = "uploading", $.percent = f.percent; const C = ae($, g.value); R($, C, f); }, E = (f, w, $) => { if (!$e($, g.value)) return; const C = se($); C.error = f, C.response = w, C.status = "error"; const x = ae(C, g.value); R(C, x); }, L = (f) => { let w; const $ = e.onRemove || e.remove; Promise.resolve(typeof $ == "function" ? $(f) : $).then((C) => { var x, A; if (C === !1) return; const j = jn(f, g.value); j && (w = P(P({}, f), { status: "removed" }), (x = g.value) === null || x === void 0 || x.forEach((T) => { const k = w.uid !== void 0 ? "uid" : "name"; T[k] === w[k] && !Object.isFrozen(T) && (T.status = "removed"); }), (A = v.value) === null || A === void 0 || A.abort(w), R(w, j)); }); }, M = (f) => { var w; s.value = f.type, f.type === "drop" && ((w = e.onDrop) === null || w === void 0 || w.call(e, f)); }; r({ onBatchStart: h, onSuccess: m, onProgress: S, onError: E, fileList: g, upload: v }); const [U] = Ot("Upload", Dt.Upload, _(() => e.locale)), N = (f, w) => { const { removeIcon: $, previewIcon: C, downloadIcon: x, previewFile: A, onPreview: j, onDownload: T, isImageUrl: k, progress: V, itemRender: te, iconRender: H, showUploadList: G } = e, { showDownloadIcon: K, showPreviewIcon: oe, showRemoveIcon: he } = typeof G == "boolean" ? {} : G; return G ? d(Xn, { prefixCls: i.value, listType: e.listType, items: g.value, previewFile: A, onPreview: j, onDownload: T, onRemove: L, showRemoveIcon: !y.value && he, showPreviewIcon: oe, showDownloadIcon: K, removeIcon: $, previewIcon: C, downloadIcon: x, iconRender: H, locale: U.value, isImageUrl: k, progress: V, itemRender: te, appendActionVisible: w, appendAction: f }, P({}, o)) : f == null ? void 0 : f(); }; return () => { var f, w, $; const { listType: C, type: x } = e, { class: A, style: j } = n, T = Zn(n, ["class", "style"]), k = P(P(P({ onBatchStart: h, onError: E, onProgress: S, onSuccess: m }, T), e), { id: (f = e.id) !== null && f !== void 0 ? f : l.id.value, prefixCls: i.value, beforeUpload: p, onChange: void 0, disabled: y.value }); delete k.remove, (!o.default || y.value) && delete k.id; const V = { [`${i.value}-rtl`]: a.value === "rtl" }; if (x === "drag") { const K = re(i.value, { [`${i.value}-drag`]: !0, [`${i.value}-drag-uploading`]: g.value.some((oe) => oe.status === "uploading"), [`${i.value}-drag-hover`]: s.value === "dragover", [`${i.value}-disabled`]: y.value, [`${i.value}-rtl`]: a.value === "rtl" }, n.class, u.value); return b(d("span", D(D({}, n), {}, { class: re(`${i.value}-wrapper`, V, A, u.value) }), [d("div", { class: K, onDrop: M, onDragover: M, onDragleave: M, style: n.style }, [d(Ee, D(D({}, k), {}, { ref: v, class: `${i.value}-btn` }), D({ default: () => [d("div", { class: `${i.value}-drag-container` }, [(w = o.default) === null || w === void 0 ? void 0 : w.call(o)])] }, o))]), N()])); } const te = re(i.value, { [`${i.value}-select`]: !0, [`${i.value}-select-${C}`]: !0, [`${i.value}-disabled`]: y.value, [`${i.value}-rtl`]: a.value === "rtl" }), H = Ft(($ = o.default) === null || $ === void 0 ? void 0 : $.call(o)), G = (K) => d("div", { class: te, style: K }, [d(Ee, D(D({}, k), {}, { ref: v }), o)]); return b(C === "picture-card" ? d("span", D(D({}, n), {}, { class: re(`${i.value}-wrapper`, `${i.value}-picture-card-wrapper`, V, n.class, u.value) }), [N(G, !!(H && H.length))]) : d("span", D(D({}, n), {}, { class: re(`${i.value}-wrapper`, V, n.class, u.value) }), [G(H && H.length ? void 0 : { display: "none" }), N()])); }; } }); var Ue = function(e, t) { var o = {}; for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (o[n] = e[n]); if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var r = 0, n = Object.getOwnPropertySymbols(e); r < n.length; r++) t.indexOf(n[r]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[r]) && (o[n[r]] = e[n[r]]); return o; }; const ue = z({ compatConfig: { MODE: 3 }, name: "AUploadDragger", inheritAttrs: !1, props: Ye(), setup(e, t) { let { slots: o, attrs: n } = t; return () => { const { height: r } = e, l = Ue(e, ["height"]), { style: i } = n, a = Ue(n, ["style"]), c = P(P(P({}, l), a), { type: "drag", style: P(P({}, i), { height: typeof r == "number" ? `${r}px` : r }) }); return d(ce, c, o); }; } }), lo = ue, so = P(ce, { Dragger: ue, LIST_IGNORE: ie, install(e) { return e.component(ce.name, ce), e.component(ue.name, ue), e; } }); export { lo as U, so as _ };