@trololo_005/vue-fortune-wheel-2
Version:
Component "Wheel of Fortune" for Vue
1,044 lines (1,043 loc) • 32.2 kB
JavaScript
import { ref as U, computed as O, onMounted as At, watch as St, defineComponent as Ct, openBlock as N, createElementBlock as B, createElementVNode as pe, normalizeStyle as $e, unref as b, renderSlot as be, toDisplayString as Ot } from "vue";
function It(e, t) {
const r = [];
for (; e !== ""; ) {
let a = e.substr(0, t);
if (e.charAt(t) !== "" && e.charAt(t) !== " ") {
const i = a.lastIndexOf(" ");
i !== -1 && (a = a.substr(0, i));
}
e = e.replace(a, "").trim(), r.push(a);
}
return r;
}
const Pt = {
radius: 250,
// 圆的半径
textRadius: 190,
// 奖品位置距离圆心的距离
textLength: 6,
// 奖品文本 1 行几个字符, 最多 2 行
textDirection: "horizontal",
// 奖品文本方向
lineHeight: 20,
// 文本行高
borderWidth: 0,
// 圆的外边框
borderColor: "transparent",
// 外边框的颜色
btnText: "GO",
// 开始按钮的文本
btnWidth: 140,
// 按钮的宽
fontSize: 34
// 奖品字号
};
function wt(e) {
const t = U(), r = O(() => Object.assign(Pt, e.canvas));
function a() {
const n = t.value;
if (n.getContext) {
const { radius: s, textRadius: f, borderWidth: c, borderColor: u, fontSize: _ } = r.value, l = Math.PI / (e.prizes.length / 2), o = n.getContext("2d");
o.clearRect(0, 0, s * 2, s * 2), o.strokeStyle = u, o.lineWidth = c * 2, o.font = `${_}px Arial`, e.prizes.forEach((v, d) => {
const h = d * l - Math.PI / 2;
o.fillStyle = v.bgColor, o.beginPath(), o.arc(s, s, s - c, h, h + l, !1), o.stroke(), o.arc(s, s, 0, h + l, h, !0), o.fill(), o.save(), o.fillStyle = v.color, o.translate(s + Math.cos(h + l / 2) * f, s + Math.sin(h + l / 2) * f), i(o, h, l, v.name), o.restore();
});
}
}
function i(n, s, f, c) {
const { lineHeight: u, textLength: _, textDirection: l } = r.value, o = It(c, _);
o !== null && (l === "vertical" ? n.rotate(s + f / 2 + Math.PI) : n.rotate(s + f / 2 + Math.PI / 2), o.forEach((v, d) => {
let h = -n.measureText(v).width / 2, m = (d + 1) * u;
l === "vertical" && (h = 0, m = (d + 1) * u - o.length * u / 2), n.fillText(v, h, m);
}));
}
return At(() => {
e.type === "canvas" && a();
}), {
wheelEl: t,
canvasConfig: r,
drawCanvas: a
};
}
var H = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function et(e) {
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
function Et() {
this.__data__ = [], this.size = 0;
}
var xt = Et;
function Mt(e, t) {
return e === t || e !== e && t !== t;
}
var ue = Mt, Dt = ue;
function Rt(e, t) {
for (var r = e.length; r--; )
if (Dt(e[r][0], t))
return r;
return -1;
}
var X = Rt, Lt = X, jt = Array.prototype, Gt = jt.splice;
function zt(e) {
var t = this.__data__, r = Lt(t, e);
if (r < 0)
return !1;
var a = t.length - 1;
return r == a ? t.pop() : Gt.call(t, r, 1), --this.size, !0;
}
var Ft = zt, Nt = X;
function Bt(e) {
var t = this.__data__, r = Nt(t, e);
return r < 0 ? void 0 : t[r][1];
}
var Ht = Bt, Kt = X;
function Ut(e) {
return Kt(this.__data__, e) > -1;
}
var qt = Ut, Wt = X;
function kt(e, t) {
var r = this.__data__, a = Wt(r, e);
return a < 0 ? (++this.size, r.push([e, t])) : r[a][1] = t, this;
}
var Xt = kt, Yt = xt, Zt = Ft, Jt = Ht, Qt = qt, Vt = Xt;
function w(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.clear(); ++t < r; ) {
var a = e[t];
this.set(a[0], a[1]);
}
}
w.prototype.clear = Yt;
w.prototype.delete = Zt;
w.prototype.get = Jt;
w.prototype.has = Qt;
w.prototype.set = Vt;
var Y = w, er = Y;
function tr() {
this.__data__ = new er(), this.size = 0;
}
var rr = tr;
function ar(e) {
var t = this.__data__, r = t.delete(e);
return this.size = t.size, r;
}
var nr = ar;
function ir(e) {
return this.__data__.get(e);
}
var sr = ir;
function or(e) {
return this.__data__.has(e);
}
var fr = or, ur = typeof H == "object" && H && H.Object === Object && H, tt = ur, cr = tt, lr = typeof self == "object" && self && self.Object === Object && self, vr = cr || lr || Function("return this")(), C = vr, dr = C, hr = dr.Symbol, Z = hr, me = Z, rt = Object.prototype, gr = rt.hasOwnProperty, _r = rt.toString, L = me ? me.toStringTag : void 0;
function yr(e) {
var t = gr.call(e, L), r = e[L];
try {
e[L] = void 0;
var a = !0;
} catch {
}
var i = _r.call(e);
return a && (t ? e[L] = r : delete e[L]), i;
}
var pr = yr, $r = Object.prototype, br = $r.toString;
function mr(e) {
return br.call(e);
}
var Tr = mr, Te = Z, Ar = pr, Sr = Tr, Cr = "[object Null]", Or = "[object Undefined]", Ae = Te ? Te.toStringTag : void 0;
function Ir(e) {
return e == null ? e === void 0 ? Or : Cr : Ae && Ae in Object(e) ? Ar(e) : Sr(e);
}
var j = Ir;
function Pr(e) {
var t = typeof e;
return e != null && (t == "object" || t == "function");
}
var G = Pr, wr = j, Er = G, xr = "[object AsyncFunction]", Mr = "[object Function]", Dr = "[object GeneratorFunction]", Rr = "[object Proxy]";
function Lr(e) {
if (!Er(e))
return !1;
var t = wr(e);
return t == Mr || t == Dr || t == xr || t == Rr;
}
var at = Lr, jr = C, Gr = jr["__core-js_shared__"], zr = Gr, te = zr, Se = function() {
var e = /[^.]+$/.exec(te && te.keys && te.keys.IE_PROTO || "");
return e ? "Symbol(src)_1." + e : "";
}();
function Fr(e) {
return !!Se && Se in e;
}
var Nr = Fr, Br = Function.prototype, Hr = Br.toString;
function Kr(e) {
if (e != null) {
try {
return Hr.call(e);
} catch {
}
try {
return e + "";
} catch {
}
}
return "";
}
var nt = Kr, Ur = at, qr = Nr, Wr = G, kr = nt, Xr = /[\\^$.*+?()[\]{}|]/g, Yr = /^\[object .+?Constructor\]$/, Zr = Function.prototype, Jr = Object.prototype, Qr = Zr.toString, Vr = Jr.hasOwnProperty, ea = RegExp(
"^" + Qr.call(Vr).replace(Xr, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
);
function ta(e) {
if (!Wr(e) || qr(e))
return !1;
var t = Ur(e) ? ea : Yr;
return t.test(kr(e));
}
var ra = ta;
function aa(e, t) {
return e == null ? void 0 : e[t];
}
var na = aa, ia = ra, sa = na;
function oa(e, t) {
var r = sa(e, t);
return ia(r) ? r : void 0;
}
var E = oa, fa = E, ua = C, ca = fa(ua, "Map"), ce = ca, la = E, va = la(Object, "create"), J = va, Ce = J;
function da() {
this.__data__ = Ce ? Ce(null) : {}, this.size = 0;
}
var ha = da;
function ga(e) {
var t = this.has(e) && delete this.__data__[e];
return this.size -= t ? 1 : 0, t;
}
var _a = ga, ya = J, pa = "__lodash_hash_undefined__", $a = Object.prototype, ba = $a.hasOwnProperty;
function ma(e) {
var t = this.__data__;
if (ya) {
var r = t[e];
return r === pa ? void 0 : r;
}
return ba.call(t, e) ? t[e] : void 0;
}
var Ta = ma, Aa = J, Sa = Object.prototype, Ca = Sa.hasOwnProperty;
function Oa(e) {
var t = this.__data__;
return Aa ? t[e] !== void 0 : Ca.call(t, e);
}
var Ia = Oa, Pa = J, wa = "__lodash_hash_undefined__";
function Ea(e, t) {
var r = this.__data__;
return this.size += this.has(e) ? 0 : 1, r[e] = Pa && t === void 0 ? wa : t, this;
}
var xa = Ea, Ma = ha, Da = _a, Ra = Ta, La = Ia, ja = xa;
function x(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.clear(); ++t < r; ) {
var a = e[t];
this.set(a[0], a[1]);
}
}
x.prototype.clear = Ma;
x.prototype.delete = Da;
x.prototype.get = Ra;
x.prototype.has = La;
x.prototype.set = ja;
var Ga = x, Oe = Ga, za = Y, Fa = ce;
function Na() {
this.size = 0, this.__data__ = {
hash: new Oe(),
map: new (Fa || za)(),
string: new Oe()
};
}
var Ba = Na;
function Ha(e) {
var t = typeof e;
return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;
}
var Ka = Ha, Ua = Ka;
function qa(e, t) {
var r = e.__data__;
return Ua(t) ? r[typeof t == "string" ? "string" : "hash"] : r.map;
}
var Q = qa, Wa = Q;
function ka(e) {
var t = Wa(this, e).delete(e);
return this.size -= t ? 1 : 0, t;
}
var Xa = ka, Ya = Q;
function Za(e) {
return Ya(this, e).get(e);
}
var Ja = Za, Qa = Q;
function Va(e) {
return Qa(this, e).has(e);
}
var en = Va, tn = Q;
function rn(e, t) {
var r = tn(this, e), a = r.size;
return r.set(e, t), this.size += r.size == a ? 0 : 1, this;
}
var an = rn, nn = Ba, sn = Xa, on = Ja, fn = en, un = an;
function M(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.clear(); ++t < r; ) {
var a = e[t];
this.set(a[0], a[1]);
}
}
M.prototype.clear = nn;
M.prototype.delete = sn;
M.prototype.get = on;
M.prototype.has = fn;
M.prototype.set = un;
var le = M, cn = Y, ln = ce, vn = le, dn = 200;
function hn(e, t) {
var r = this.__data__;
if (r instanceof cn) {
var a = r.__data__;
if (!ln || a.length < dn - 1)
return a.push([e, t]), this.size = ++r.size, this;
r = this.__data__ = new vn(a);
}
return r.set(e, t), this.size = r.size, this;
}
var gn = hn, _n = Y, yn = rr, pn = nr, $n = sr, bn = fr, mn = gn;
function D(e) {
var t = this.__data__ = new _n(e);
this.size = t.size;
}
D.prototype.clear = yn;
D.prototype.delete = pn;
D.prototype.get = $n;
D.prototype.has = bn;
D.prototype.set = mn;
var it = D, Tn = "__lodash_hash_undefined__";
function An(e) {
return this.__data__.set(e, Tn), this;
}
var Sn = An;
function Cn(e) {
return this.__data__.has(e);
}
var On = Cn, In = le, Pn = Sn, wn = On;
function q(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.__data__ = new In(); ++t < r; )
this.add(e[t]);
}
q.prototype.add = q.prototype.push = Pn;
q.prototype.has = wn;
var En = q;
function xn(e, t) {
for (var r = -1, a = e == null ? 0 : e.length; ++r < a; )
if (t(e[r], r, e))
return !0;
return !1;
}
var Mn = xn;
function Dn(e, t) {
return e.has(t);
}
var Rn = Dn, Ln = En, jn = Mn, Gn = Rn, zn = 1, Fn = 2;
function Nn(e, t, r, a, i, n) {
var s = r & zn, f = e.length, c = t.length;
if (f != c && !(s && c > f))
return !1;
var u = n.get(e), _ = n.get(t);
if (u && _)
return u == t && _ == e;
var l = -1, o = !0, v = r & Fn ? new Ln() : void 0;
for (n.set(e, t), n.set(t, e); ++l < f; ) {
var d = e[l], h = t[l];
if (a)
var m = s ? a(h, d, l, t, e, n) : a(d, h, l, e, t, n);
if (m !== void 0) {
if (m)
continue;
o = !1;
break;
}
if (v) {
if (!jn(t, function(S, T) {
if (!Gn(v, T) && (d === S || i(d, S, r, a, n)))
return v.push(T);
})) {
o = !1;
break;
}
} else if (!(d === h || i(d, h, r, a, n))) {
o = !1;
break;
}
}
return n.delete(e), n.delete(t), o;
}
var st = Nn, Bn = C, Hn = Bn.Uint8Array, Kn = Hn;
function Un(e) {
var t = -1, r = Array(e.size);
return e.forEach(function(a, i) {
r[++t] = [i, a];
}), r;
}
var qn = Un;
function Wn(e) {
var t = -1, r = Array(e.size);
return e.forEach(function(a) {
r[++t] = a;
}), r;
}
var kn = Wn, Ie = Z, Pe = Kn, Xn = ue, Yn = st, Zn = qn, Jn = kn, Qn = 1, Vn = 2, ei = "[object Boolean]", ti = "[object Date]", ri = "[object Error]", ai = "[object Map]", ni = "[object Number]", ii = "[object RegExp]", si = "[object Set]", oi = "[object String]", fi = "[object Symbol]", ui = "[object ArrayBuffer]", ci = "[object DataView]", we = Ie ? Ie.prototype : void 0, re = we ? we.valueOf : void 0;
function li(e, t, r, a, i, n, s) {
switch (r) {
case ci:
if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset)
return !1;
e = e.buffer, t = t.buffer;
case ui:
return !(e.byteLength != t.byteLength || !n(new Pe(e), new Pe(t)));
case ei:
case ti:
case ni:
return Xn(+e, +t);
case ri:
return e.name == t.name && e.message == t.message;
case ii:
case oi:
return e == t + "";
case ai:
var f = Zn;
case si:
var c = a & Qn;
if (f || (f = Jn), e.size != t.size && !c)
return !1;
var u = s.get(e);
if (u)
return u == t;
a |= Vn, s.set(e, t);
var _ = Yn(f(e), f(t), a, i, n, s);
return s.delete(e), _;
case fi:
if (re)
return re.call(e) == re.call(t);
}
return !1;
}
var vi = li;
function di(e, t) {
for (var r = -1, a = t.length, i = e.length; ++r < a; )
e[i + r] = t[r];
return e;
}
var hi = di, gi = Array.isArray, I = gi, _i = hi, yi = I;
function pi(e, t, r) {
var a = t(e);
return yi(e) ? a : _i(a, r(e));
}
var $i = pi;
function bi(e, t) {
for (var r = -1, a = e == null ? 0 : e.length, i = 0, n = []; ++r < a; ) {
var s = e[r];
t(s, r, e) && (n[i++] = s);
}
return n;
}
var mi = bi;
function Ti() {
return [];
}
var Ai = Ti, Si = mi, Ci = Ai, Oi = Object.prototype, Ii = Oi.propertyIsEnumerable, Ee = Object.getOwnPropertySymbols, Pi = Ee ? function(e) {
return e == null ? [] : (e = Object(e), Si(Ee(e), function(t) {
return Ii.call(e, t);
}));
} : Ci, wi = Pi;
function Ei(e, t) {
for (var r = -1, a = Array(e); ++r < e; )
a[r] = t(r);
return a;
}
var xi = Ei;
function Mi(e) {
return e != null && typeof e == "object";
}
var z = Mi, Di = j, Ri = z, Li = "[object Arguments]";
function ji(e) {
return Ri(e) && Di(e) == Li;
}
var Gi = ji, xe = Gi, zi = z, ot = Object.prototype, Fi = ot.hasOwnProperty, Ni = ot.propertyIsEnumerable, Bi = xe(function() {
return arguments;
}()) ? xe : function(e) {
return zi(e) && Fi.call(e, "callee") && !Ni.call(e, "callee");
}, ft = Bi, W = { exports: {} };
function Hi() {
return !1;
}
var Ki = Hi;
W.exports;
(function(e, t) {
var r = C, a = Ki, i = t && !t.nodeType && t, n = i && !0 && e && !e.nodeType && e, s = n && n.exports === i, f = s ? r.Buffer : void 0, c = f ? f.isBuffer : void 0, u = c || a;
e.exports = u;
})(W, W.exports);
var ut = W.exports, Ui = 9007199254740991, qi = /^(?:0|[1-9]\d*)$/;
function Wi(e, t) {
var r = typeof e;
return t = t ?? Ui, !!t && (r == "number" || r != "symbol" && qi.test(e)) && e > -1 && e % 1 == 0 && e < t;
}
var ve = Wi, ki = 9007199254740991;
function Xi(e) {
return typeof e == "number" && e > -1 && e % 1 == 0 && e <= ki;
}
var de = Xi, Yi = j, Zi = de, Ji = z, Qi = "[object Arguments]", Vi = "[object Array]", es = "[object Boolean]", ts = "[object Date]", rs = "[object Error]", as = "[object Function]", ns = "[object Map]", is = "[object Number]", ss = "[object Object]", os = "[object RegExp]", fs = "[object Set]", us = "[object String]", cs = "[object WeakMap]", ls = "[object ArrayBuffer]", vs = "[object DataView]", ds = "[object Float32Array]", hs = "[object Float64Array]", gs = "[object Int8Array]", _s = "[object Int16Array]", ys = "[object Int32Array]", ps = "[object Uint8Array]", $s = "[object Uint8ClampedArray]", bs = "[object Uint16Array]", ms = "[object Uint32Array]", g = {};
g[ds] = g[hs] = g[gs] = g[_s] = g[ys] = g[ps] = g[$s] = g[bs] = g[ms] = !0;
g[Qi] = g[Vi] = g[ls] = g[es] = g[vs] = g[ts] = g[rs] = g[as] = g[ns] = g[is] = g[ss] = g[os] = g[fs] = g[us] = g[cs] = !1;
function Ts(e) {
return Ji(e) && Zi(e.length) && !!g[Yi(e)];
}
var As = Ts;
function Ss(e) {
return function(t) {
return e(t);
};
}
var Cs = Ss, k = { exports: {} };
k.exports;
(function(e, t) {
var r = tt, a = t && !t.nodeType && t, i = a && !0 && e && !e.nodeType && e, n = i && i.exports === a, s = n && r.process, f = function() {
try {
var c = i && i.require && i.require("util").types;
return c || s && s.binding && s.binding("util");
} catch {
}
}();
e.exports = f;
})(k, k.exports);
var Os = k.exports, Is = As, Ps = Cs, Me = Os, De = Me && Me.isTypedArray, ws = De ? Ps(De) : Is, ct = ws, Es = xi, xs = ft, Ms = I, Ds = ut, Rs = ve, Ls = ct, js = Object.prototype, Gs = js.hasOwnProperty;
function zs(e, t) {
var r = Ms(e), a = !r && xs(e), i = !r && !a && Ds(e), n = !r && !a && !i && Ls(e), s = r || a || i || n, f = s ? Es(e.length, String) : [], c = f.length;
for (var u in e)
(t || Gs.call(e, u)) && !(s && // Safari 9 has enumerable `arguments.length` in strict mode.
(u == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
i && (u == "offset" || u == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
n && (u == "buffer" || u == "byteLength" || u == "byteOffset") || // Skip index properties.
Rs(u, c))) && f.push(u);
return f;
}
var Fs = zs, Ns = Object.prototype;
function Bs(e) {
var t = e && e.constructor, r = typeof t == "function" && t.prototype || Ns;
return e === r;
}
var Hs = Bs;
function Ks(e, t) {
return function(r) {
return e(t(r));
};
}
var Us = Ks, qs = Us, Ws = qs(Object.keys, Object), ks = Ws, Xs = Hs, Ys = ks, Zs = Object.prototype, Js = Zs.hasOwnProperty;
function Qs(e) {
if (!Xs(e))
return Ys(e);
var t = [];
for (var r in Object(e))
Js.call(e, r) && r != "constructor" && t.push(r);
return t;
}
var Vs = Qs, eo = at, to = de;
function ro(e) {
return e != null && to(e.length) && !eo(e);
}
var lt = ro, ao = Fs, no = Vs, io = lt;
function so(e) {
return io(e) ? ao(e) : no(e);
}
var vt = so, oo = $i, fo = wi, uo = vt;
function co(e) {
return oo(e, uo, fo);
}
var lo = co, Re = lo, vo = 1, ho = Object.prototype, go = ho.hasOwnProperty;
function _o(e, t, r, a, i, n) {
var s = r & vo, f = Re(e), c = f.length, u = Re(t), _ = u.length;
if (c != _ && !s)
return !1;
for (var l = c; l--; ) {
var o = f[l];
if (!(s ? o in t : go.call(t, o)))
return !1;
}
var v = n.get(e), d = n.get(t);
if (v && d)
return v == t && d == e;
var h = !0;
n.set(e, t), n.set(t, e);
for (var m = s; ++l < c; ) {
o = f[l];
var S = e[o], T = t[o];
if (a)
var y = s ? a(T, S, o, t, e, n) : a(S, T, o, e, t, n);
if (!(y === void 0 ? S === T || i(S, T, r, a, n) : y)) {
h = !1;
break;
}
m || (m = o == "constructor");
}
if (h && !m) {
var p = e.constructor, $ = t.constructor;
p != $ && "constructor" in e && "constructor" in t && !(typeof p == "function" && p instanceof p && typeof $ == "function" && $ instanceof $) && (h = !1);
}
return n.delete(e), n.delete(t), h;
}
var yo = _o, po = E, $o = C, bo = po($o, "DataView"), mo = bo, To = E, Ao = C, So = To(Ao, "Promise"), Co = So, Oo = E, Io = C, Po = Oo(Io, "Set"), wo = Po, Eo = E, xo = C, Mo = Eo(xo, "WeakMap"), Do = Mo, ne = mo, ie = ce, se = Co, oe = wo, fe = Do, dt = j, R = nt, Le = "[object Map]", Ro = "[object Object]", je = "[object Promise]", Ge = "[object Set]", ze = "[object WeakMap]", Fe = "[object DataView]", Lo = R(ne), jo = R(ie), Go = R(se), zo = R(oe), Fo = R(fe), P = dt;
(ne && P(new ne(new ArrayBuffer(1))) != Fe || ie && P(new ie()) != Le || se && P(se.resolve()) != je || oe && P(new oe()) != Ge || fe && P(new fe()) != ze) && (P = function(e) {
var t = dt(e), r = t == Ro ? e.constructor : void 0, a = r ? R(r) : "";
if (a)
switch (a) {
case Lo:
return Fe;
case jo:
return Le;
case Go:
return je;
case zo:
return Ge;
case Fo:
return ze;
}
return t;
});
var No = P, ae = it, Bo = st, Ho = vi, Ko = yo, Ne = No, Be = I, He = ut, Uo = ct, qo = 1, Ke = "[object Arguments]", Ue = "[object Array]", K = "[object Object]", Wo = Object.prototype, qe = Wo.hasOwnProperty;
function ko(e, t, r, a, i, n) {
var s = Be(e), f = Be(t), c = s ? Ue : Ne(e), u = f ? Ue : Ne(t);
c = c == Ke ? K : c, u = u == Ke ? K : u;
var _ = c == K, l = u == K, o = c == u;
if (o && He(e)) {
if (!He(t))
return !1;
s = !0, _ = !1;
}
if (o && !_)
return n || (n = new ae()), s || Uo(e) ? Bo(e, t, r, a, i, n) : Ho(e, t, c, r, a, i, n);
if (!(r & qo)) {
var v = _ && qe.call(e, "__wrapped__"), d = l && qe.call(t, "__wrapped__");
if (v || d) {
var h = v ? e.value() : e, m = d ? t.value() : t;
return n || (n = new ae()), i(h, m, r, a, n);
}
}
return o ? (n || (n = new ae()), Ko(e, t, r, a, i, n)) : !1;
}
var Xo = ko, Yo = Xo, We = z;
function ht(e, t, r, a, i) {
return e === t ? !0 : e == null || t == null || !We(e) && !We(t) ? e !== e && t !== t : Yo(e, t, r, a, ht, i);
}
var gt = ht, Zo = it, Jo = gt, Qo = 1, Vo = 2;
function ef(e, t, r, a) {
var i = r.length, n = i, s = !a;
if (e == null)
return !n;
for (e = Object(e); i--; ) {
var f = r[i];
if (s && f[2] ? f[1] !== e[f[0]] : !(f[0] in e))
return !1;
}
for (; ++i < n; ) {
f = r[i];
var c = f[0], u = e[c], _ = f[1];
if (s && f[2]) {
if (u === void 0 && !(c in e))
return !1;
} else {
var l = new Zo();
if (a)
var o = a(u, _, c, e, t, l);
if (!(o === void 0 ? Jo(_, u, Qo | Vo, a, l) : o))
return !1;
}
}
return !0;
}
var tf = ef, rf = G;
function af(e) {
return e === e && !rf(e);
}
var _t = af, nf = _t, sf = vt;
function of(e) {
for (var t = sf(e), r = t.length; r--; ) {
var a = t[r], i = e[a];
t[r] = [a, i, nf(i)];
}
return t;
}
var ff = of;
function uf(e, t) {
return function(r) {
return r == null ? !1 : r[e] === t && (t !== void 0 || e in Object(r));
};
}
var yt = uf, cf = tf, lf = ff, vf = yt;
function df(e) {
var t = lf(e);
return t.length == 1 && t[0][2] ? vf(t[0][0], t[0][1]) : function(r) {
return r === e || cf(r, e, t);
};
}
var hf = df, gf = j, _f = z, yf = "[object Symbol]";
function pf(e) {
return typeof e == "symbol" || _f(e) && gf(e) == yf;
}
var V = pf, $f = I, bf = V, mf = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, Tf = /^\w*$/;
function Af(e, t) {
if ($f(e))
return !1;
var r = typeof e;
return r == "number" || r == "symbol" || r == "boolean" || e == null || bf(e) ? !0 : Tf.test(e) || !mf.test(e) || t != null && e in Object(t);
}
var he = Af, pt = le, Sf = "Expected a function";
function ge(e, t) {
if (typeof e != "function" || t != null && typeof t != "function")
throw new TypeError(Sf);
var r = function() {
var a = arguments, i = t ? t.apply(this, a) : a[0], n = r.cache;
if (n.has(i))
return n.get(i);
var s = e.apply(this, a);
return r.cache = n.set(i, s) || n, s;
};
return r.cache = new (ge.Cache || pt)(), r;
}
ge.Cache = pt;
var Cf = ge, Of = Cf, If = 500;
function Pf(e) {
var t = Of(e, function(a) {
return r.size === If && r.clear(), a;
}), r = t.cache;
return t;
}
var wf = Pf, Ef = wf, xf = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, Mf = /\\(\\)?/g, Df = Ef(function(e) {
var t = [];
return e.charCodeAt(0) === 46 && t.push(""), e.replace(xf, function(r, a, i, n) {
t.push(i ? n.replace(Mf, "$1") : a || r);
}), t;
}), Rf = Df;
function Lf(e, t) {
for (var r = -1, a = e == null ? 0 : e.length, i = Array(a); ++r < a; )
i[r] = t(e[r], r, e);
return i;
}
var jf = Lf, ke = Z, Gf = jf, zf = I, Ff = V, Nf = 1 / 0, Xe = ke ? ke.prototype : void 0, Ye = Xe ? Xe.toString : void 0;
function $t(e) {
if (typeof e == "string")
return e;
if (zf(e))
return Gf(e, $t) + "";
if (Ff(e))
return Ye ? Ye.call(e) : "";
var t = e + "";
return t == "0" && 1 / e == -Nf ? "-0" : t;
}
var Bf = $t, Hf = Bf;
function Kf(e) {
return e == null ? "" : Hf(e);
}
var Uf = Kf, qf = I, Wf = he, kf = Rf, Xf = Uf;
function Yf(e, t) {
return qf(e) ? e : Wf(e, t) ? [e] : kf(Xf(e));
}
var bt = Yf, Zf = V, Jf = 1 / 0;
function Qf(e) {
if (typeof e == "string" || Zf(e))
return e;
var t = e + "";
return t == "0" && 1 / e == -Jf ? "-0" : t;
}
var ee = Qf, Vf = bt, eu = ee;
function tu(e, t) {
t = Vf(t, e);
for (var r = 0, a = t.length; e != null && r < a; )
e = e[eu(t[r++])];
return r && r == a ? e : void 0;
}
var mt = tu, ru = mt;
function au(e, t, r) {
var a = e == null ? void 0 : ru(e, t);
return a === void 0 ? r : a;
}
var nu = au;
function iu(e, t) {
return e != null && t in Object(e);
}
var su = iu, ou = bt, fu = ft, uu = I, cu = ve, lu = de, vu = ee;
function du(e, t, r) {
t = ou(t, e);
for (var a = -1, i = t.length, n = !1; ++a < i; ) {
var s = vu(t[a]);
if (!(n = e != null && r(e, s)))
break;
e = e[s];
}
return n || ++a != i ? n : (i = e == null ? 0 : e.length, !!i && lu(i) && cu(s, i) && (uu(e) || fu(e)));
}
var hu = du, gu = su, _u = hu;
function yu(e, t) {
return e != null && _u(e, t, gu);
}
var pu = yu, $u = gt, bu = nu, mu = pu, Tu = he, Au = _t, Su = yt, Cu = ee, Ou = 1, Iu = 2;
function Pu(e, t) {
return Tu(e) && Au(t) ? Su(Cu(e), t) : function(r) {
var a = bu(r, e);
return a === void 0 && a === t ? mu(r, e) : $u(t, a, Ou | Iu);
};
}
var wu = Pu;
function Eu(e) {
return e;
}
var xu = Eu;
function Mu(e) {
return function(t) {
return t == null ? void 0 : t[e];
};
}
var Du = Mu, Ru = mt;
function Lu(e) {
return function(t) {
return Ru(t, e);
};
}
var ju = Lu, Gu = Du, zu = ju, Fu = he, Nu = ee;
function Bu(e) {
return Fu(e) ? Gu(Nu(e)) : zu(e);
}
var Hu = Bu, Ku = hf, Uu = wu, qu = xu, Wu = I, ku = Hu;
function Xu(e) {
return typeof e == "function" ? e : e == null ? qu : typeof e == "object" ? Wu(e) ? Uu(e[0], e[1]) : Ku(e) : ku(e);
}
var Yu = Xu;
function Zu(e, t) {
for (var r, a = -1, i = e.length; ++a < i; ) {
var n = t(e[a]);
n !== void 0 && (r = r === void 0 ? n : r + n);
}
return r;
}
var Ju = Zu, Qu = Yu, Vu = Ju;
function ec(e, t) {
return e && e.length ? Vu(e, Qu(t)) : 0;
}
var tc = ec;
const rc = /* @__PURE__ */ et(tc);
var ac = Math.floor, nc = Math.random;
function ic(e, t) {
return e + ac(nc() * (t - e + 1));
}
var sc = ic, oc = ue, fc = lt, uc = ve, cc = G;
function lc(e, t, r) {
if (!cc(r))
return !1;
var a = typeof t;
return (a == "number" ? fc(r) && uc(t, r.length) : a == "string" && t in r) ? oc(r[t], e) : !1;
}
var vc = lc, dc = /\s/;
function hc(e) {
for (var t = e.length; t-- && dc.test(e.charAt(t)); )
;
return t;
}
var gc = hc, _c = gc, yc = /^\s+/;
function pc(e) {
return e && e.slice(0, _c(e) + 1).replace(yc, "");
}
var $c = pc, bc = $c, Ze = G, mc = V, Je = 0 / 0, Tc = /^[-+]0x[0-9a-f]+$/i, Ac = /^0b[01]+$/i, Sc = /^0o[0-7]+$/i, Cc = parseInt;
function Oc(e) {
if (typeof e == "number")
return e;
if (mc(e))
return Je;
if (Ze(e)) {
var t = typeof e.valueOf == "function" ? e.valueOf() : e;
e = Ze(t) ? t + "" : t;
}
if (typeof e != "string")
return e === 0 ? e : +e;
e = bc(e);
var r = Ac.test(e);
return r || Sc.test(e) ? Cc(e.slice(2), r ? 2 : 8) : Tc.test(e) ? Je : +e;
}
var Ic = Oc, Pc = Ic, Qe = 1 / 0, wc = 17976931348623157e292;
function Ec(e) {
if (!e)
return e === 0 ? e : 0;
if (e = Pc(e), e === Qe || e === -Qe) {
var t = e < 0 ? -1 : 1;
return t * wc;
}
return e === e ? e : 0;
}
var xc = Ec, Mc = sc, Dc = vc, Ve = xc, Rc = parseFloat, Lc = Math.min, jc = Math.random;
function Gc(e, t, r) {
if (r && typeof r != "boolean" && Dc(e, t, r) && (t = r = void 0), r === void 0 && (typeof t == "boolean" ? (r = t, t = void 0) : typeof e == "boolean" && (r = e, e = void 0)), e === void 0 && t === void 0 ? (e = 0, t = 1) : (e = Ve(e), t === void 0 ? (t = e, e = 0) : t = Ve(t)), e > t) {
var a = e;
e = t, t = a;
}
if (r || e % 1 || t % 1) {
var i = jc();
return Lc(e + i * (t - e + Rc("1e-" + ((i + "").length - 1))), t);
}
return Mc(e, t);
}
var zc = Gc;
const Fc = /* @__PURE__ */ et(zc);
function Nc(e, t) {
const r = U(!1), a = U(0), i = U(), n = O(() => e.useWeight ? 100 : rc(e.prizes, (y) => y.probability || 0)), s = O(() => {
if (e.useWeight)
return 0;
const y = [...e.prizes].sort((A, F) => {
const _e = String(A.probability).split(".")[1], ye = String(F.probability).split(".")[1], Tt = _e ? _e.length : 0;
return (ye ? ye.length : 0) - Tt;
}), p = String(y[0].probability).split(".")[1], $ = p ? p.length : 0;
return [1, 10, 100, 1e3, 1e4][$ > 4 ? 4 : $];
}), f = O(() => {
const y = [];
return e.prizes.forEach((p) => {
const $ = e.useWeight ? p.weight || 0 : (p.probability || 0) * s.value, A = new Array($).fill(p.id);
y.push(...A);
}), y;
}), c = () => {
r.value = !1;
}, u = O(() => r.value ? e.duration / 1e3 : 0), _ = O(() => ({
"-webkit-transform": `rotateZ(${a.value}deg)`,
transform: `rotateZ(${a.value}deg)`,
"-webkit-transition-duration": `${u.value}s`,
"transition-duration": `${u.value}s`,
"-webkit-transition-timing-function:": e.timingFun,
"transition-timing-function": e.timingFun
})), l = O(() => {
let y = e.angleBase * 360;
return e.angleBase < 0 && (y -= 360), y;
}), o = O(() => !e.disabled && !r.value && n.value === 100);
St(() => e.prizeId, (y) => {
if (!r.value)
return;
let p = T(y);
e.angleBase < 0 && (p -= 360);
const $ = a.value;
let A = e.angleBase * 360 + p;
const F = 360 * Math.floor((A - $) / 360);
e.angleBase >= 0 ? A += Math.abs(F) : A += -360 - F, a.value = A;
}), v();
function v() {
if (n.value !== 100)
throw new Error("Prizes Is Error: Sum of probabilities is not 100!");
return !0;
}
function d() {
if (o.value) {
if (e.verify) {
t("rotateStart", h);
return;
}
t("rotateStart"), h();
}
}
function h() {
r.value = !0;
const y = e.prizeId || S();
a.value = l.value + T(y);
}
function m() {
r.value = !1, a.value %= 360, t("rotateEnd", i.value);
}
function S() {
const y = f.value.length;
return f.value[Fc(0, y - 1)];
}
function T(y) {
const p = 360 / e.prizes.length, $ = e.prizes.findIndex((A) => A.id === y);
return i.value = e.prizes[$], 360 - (p * $ + p / 2);
}
return {
rotateStyle: _,
handleClick: d,
onRotateEnd: m,
forceStopRotation: c,
isRotating: r,
rotateEndDeg: a
};
}
const Bc = { class: "fw-container" }, Hc = ["width", "height"], Kc = { class: "fw-btn" }, Uc = /* @__PURE__ */ Ct({
__name: "index",
props: {
type: { default: "canvas" },
useWeight: { type: Boolean, default: !1 },
disabled: { type: Boolean, default: !1 },
verify: { type: Boolean, default: !1 },
canvas: { default: () => ({}) },
duration: { default: 6e3 },
timingFun: { default: "cubic-bezier(0.36, 0.95, 0.64, 1)" },
angleBase: { default: 10 },
prizeId: { default: 0 },
prizes: { default: () => [] }
},
emits: ["rotateStart", "rotateEnd"],
setup(e, { expose: t, emit: r }) {
const a = e, { wheelEl: i, canvasConfig: n } = wt(a), {
handleClick: s,
rotateStyle: f,
onRotateEnd: c,
forceStopRotation: u,
isRotating: _,
rotateEndDeg: l
} = Nc(a, r);
return t({
startRotate: () => {
s();
},
forceStopRotation: u,
isRotating: _,
rotateEndDeg: l
}), (o, v) => (N(), B("div", Bc, [
pe("div", {
class: "fw-wheel",
style: $e(b(f)),
onTransitionend: v[0] || (v[0] = //@ts-ignore
(...d) => b(c) && b(c)(...d)),
"on:webkitTransitionend": v[1] || (v[1] = //@ts-ignore
(...d) => b(c) && b(c)(...d))
}, [
e.type === "canvas" ? (N(), B("canvas", {
key: 0,
ref_key: "wheelEl",
ref: i,
width: b(n).radius * 2,
height: b(n).radius * 2
}, null, 8, Hc)) : be(o.$slots, "wheel", { key: 1 }, void 0, !0)
], 36),
pe("div", Kc, [
e.type === "canvas" ? (N(), B("div", {
key: 0,
class: "fw-btn__btn",
style: $e({
width: b(n).btnWidth + "px",
height: b(n).btnWidth + "px"
}),
onClick: v[2] || (v[2] = //@ts-ignore
(...d) => b(s) && b(s)(...d))
}, Ot(b(n).btnText), 5)) : (N(), B("div", {
key: 1,
class: "fw-btn__image",
onClick: v[3] || (v[3] = //@ts-ignore
(...d) => b(s) && b(s)(...d))
}, [
be(o.$slots, "button", {}, void 0, !0)
]))
])
]));
}
});
const qc = (e, t) => {
const r = e.__vccOpts || e;
for (const [a, i] of t)
r[a] = i;
return r;
}, Xc = /* @__PURE__ */ qc(Uc, [["__scopeId", "data-v-216a11a5"]]);
export {
Xc as default
};