UNPKG

@trololo_005/vue-fortune-wheel-2

Version:
1,044 lines (1,043 loc) 32.2 kB
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 };