UNPKG

@vue-js-cron/light

Version:
1,878 lines 92.3 kB
import { openBlock as E, createElementBlock as L, createElementVNode as q, computed as F, ref as O, shallowRef as jt, watch as T, getCurrentScope as It, onScopeDispose as Bt, shallowReadonly as ne, unref as Nt, defineComponent as Ee, resolveComponent as je, normalizeClass as ge, toDisplayString as ie, createBlock as it, normalizeStyle as Ht, createVNode as Ie, Transition as zt, withCtx as Ut, Fragment as be, renderList as Be, withModifiers as Jt, createCommentVNode as rt } from "vue"; const Ve = (e, t) => { const n = e.__vccOpts || e; for (const [i, r] of t) n[i] = r; return n; }, Yt = {}, Xt = { xmlns: "http://www.w3.org/2000/svg", width: "1024", height: "1024", viewBox: "0 0 1024 1024" }, Gt = /* @__PURE__ */ q("path", { fill: "currentColor", "fill-rule": "evenodd", d: "M799.855 166.312c.023.007.043.018.084.059l57.69 57.69c.041.041.052.06.059.084a.1.1 0 0 1 0 .069c-.007.023-.018.042-.059.083L569.926 512l287.703 287.703c.041.04.052.06.059.083a.12.12 0 0 1 0 .07c-.007.022-.018.042-.059.083l-57.69 57.69c-.041.041-.06.052-.084.059a.1.1 0 0 1-.069 0c-.023-.007-.042-.018-.083-.059L512 569.926L224.297 857.629c-.04.041-.06.052-.083.059a.12.12 0 0 1-.07 0c-.022-.007-.042-.018-.083-.059l-57.69-57.69c-.041-.041-.052-.06-.059-.084a.1.1 0 0 1 0-.069c.007-.023.018-.042.059-.083L454.073 512L166.371 224.297c-.041-.04-.052-.06-.059-.083a.12.12 0 0 1 0-.07c.007-.022.018-.042.059-.083l57.69-57.69c.041-.041.06-.052.084-.059a.1.1 0 0 1 .069 0c.023.007.042.018.083.059L512 454.073l287.703-287.702c.04-.041.06-.052.083-.059a.12.12 0 0 1 .07 0Z" }, null, -1), Kt = [ Gt ]; function Zt(e, t) { return E(), L("svg", Xt, Kt); } const Qt = /* @__PURE__ */ Ve(Yt, [["render", Zt]]), en = {}, tn = { xmlns: "http://www.w3.org/2000/svg", width: "1024", height: "1024", viewBox: "0 0 1024 1024" }, nn = /* @__PURE__ */ q("path", { fill: "currentColor", d: "M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2L227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7" }, null, -1), rn = [ nn ]; function on(e, t) { return E(), L("svg", tn, rn); } const sn = /* @__PURE__ */ Ve(en, [["render", on]]), Se = Math.min, G = Math.max, ke = Math.round, me = Math.floor, _ = (e) => ({ x: e, y: e }), an = { left: "right", right: "left", bottom: "top", top: "bottom" }, ln = { start: "end", end: "start" }; function ot(e, t, n) { return G(e, Se(t, n)); } function Le(e, t) { return typeof e == "function" ? e(t) : e; } function Z(e) { return e.split("-")[0]; } function Me(e) { return e.split("-")[1]; } function gt(e) { return e === "x" ? "y" : "x"; } function yt(e) { return e === "y" ? "height" : "width"; } const un = /* @__PURE__ */ new Set(["top", "bottom"]); function H(e) { return un.has(Z(e)) ? "y" : "x"; } function wt(e) { return gt(H(e)); } function cn(e, t, n) { n === void 0 && (n = !1); const i = Me(e), r = wt(e), o = yt(r); let s = r === "x" ? i === (n ? "end" : "start") ? "right" : "left" : i === "start" ? "bottom" : "top"; return t.reference[o] > t.floating[o] && (s = Ce(s)), [s, Ce(s)]; } function fn(e) { const t = Ce(e); return [Ne(e), t, Ne(t)]; } function Ne(e) { return e.replace(/start|end/g, (t) => ln[t]); } const st = ["left", "right"], at = ["right", "left"], pn = ["top", "bottom"], xn = ["bottom", "top"]; function dn(e, t, n) { switch (e) { case "top": case "bottom": return n ? t ? at : st : t ? st : at; case "left": case "right": return t ? pn : xn; default: return []; } } function mn(e, t, n, i) { const r = Me(e); let o = dn(Z(e), n === "start", i); return r && (o = o.map((s) => s + "-" + r), t && (o = o.concat(o.map(Ne)))), o; } function Ce(e) { return e.replace(/left|right|bottom|top/g, (t) => an[t]); } function hn(e) { return { top: 0, right: 0, bottom: 0, left: 0, ...e }; } function vn(e) { return typeof e != "number" ? hn(e) : { top: e, right: e, bottom: e, left: e }; } function Ae(e) { const { x: t, y: n, width: i, height: r } = e; return { width: i, height: r, top: n, left: t, right: t + i, bottom: n + r, x: t, y: n }; } function lt(e, t, n) { let { reference: i, floating: r } = e; const o = H(t), s = wt(t), a = yt(s), l = Z(t), u = o === "y", p = i.x + i.width / 2 - r.width / 2, x = i.y + i.height / 2 - r.height / 2, m = i[a] / 2 - r[a] / 2; let d; switch (l) { case "top": d = { x: p, y: i.y - r.height }; break; case "bottom": d = { x: p, y: i.y + i.height }; break; case "right": d = { x: i.x + i.width, y: x }; break; case "left": d = { x: i.x - r.width, y: x }; break; default: d = { x: i.x, y: i.y }; } switch (Me(t)) { case "start": d[s] -= m * (n && u ? -1 : 1); break; case "end": d[s] += m * (n && u ? -1 : 1); break; } return d; } const gn = async (e, t, n) => { const { placement: i = "bottom", strategy: r = "absolute", middleware: o = [], platform: s } = n, a = o.filter(Boolean), l = await (s.isRTL == null ? void 0 : s.isRTL(t)); let u = await s.getElementRects({ reference: e, floating: t, strategy: r }), { x: p, y: x } = lt(u, i, l), m = i, d = {}, y = 0; for (let f = 0; f < a.length; f++) { const { name: h, fn: c } = a[f], { x: v, y: b, data: k, reset: g } = await c({ x: p, y: x, initialPlacement: i, placement: m, strategy: r, middlewareData: d, rects: u, platform: s, elements: { reference: e, floating: t } }); p = v ?? p, x = b ?? x, d = { ...d, [h]: { ...d[h], ...k } }, g && y <= 50 && (y++, typeof g == "object" && (g.placement && (m = g.placement), g.rects && (u = g.rects === !0 ? await s.getElementRects({ reference: e, floating: t, strategy: r }) : g.rects), { x: p, y: x } = lt(u, m, l)), f = -1); } return { x: p, y: x, placement: m, strategy: r, middlewareData: d }; }; async function bt(e, t) { var n; t === void 0 && (t = {}); const { x: i, y: r, platform: o, rects: s, elements: a, strategy: l } = e, { boundary: u = "clippingAncestors", rootBoundary: p = "viewport", elementContext: x = "floating", altBoundary: m = !1, padding: d = 0 } = Le(t, e), y = vn(d), h = a[m ? x === "floating" ? "reference" : "floating" : x], c = Ae(await o.getClippingRect({ element: (n = await (o.isElement == null ? void 0 : o.isElement(h))) == null || n ? h : h.contextElement || await (o.getDocumentElement == null ? void 0 : o.getDocumentElement(a.floating)), boundary: u, rootBoundary: p, strategy: l })), v = x === "floating" ? { x: i, y: r, width: s.floating.width, height: s.floating.height } : s.reference, b = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(a.floating)), k = await (o.isElement == null ? void 0 : o.isElement(b)) ? await (o.getScale == null ? void 0 : o.getScale(b)) || { x: 1, y: 1 } : { x: 1, y: 1 }, g = Ae(o.convertOffsetParentRelativeRectToViewportRelativeRect ? await o.convertOffsetParentRelativeRectToViewportRelativeRect({ elements: a, rect: v, offsetParent: b, strategy: l }) : v); return { top: (c.top - g.top + y.top) / k.y, bottom: (g.bottom - c.bottom + y.bottom) / k.y, left: (c.left - g.left + y.left) / k.x, right: (g.right - c.right + y.right) / k.x }; } const yn = function(e) { return e === void 0 && (e = {}), { name: "flip", options: e, async fn(t) { var n, i; const { placement: r, middlewareData: o, rects: s, initialPlacement: a, platform: l, elements: u } = t, { mainAxis: p = !0, crossAxis: x = !0, fallbackPlacements: m, fallbackStrategy: d = "bestFit", fallbackAxisSideDirection: y = "none", flipAlignment: f = !0, ...h } = Le(e, t); if ((n = o.arrow) != null && n.alignmentOffset) return {}; const c = Z(r), v = H(a), b = Z(a) === a, k = await (l.isRTL == null ? void 0 : l.isRTL(u.floating)), g = m || (b || !f ? [Ce(a)] : fn(a)), A = y !== "none"; !m && A && g.push(...mn(a, f, y, k)); const w = [a, ...g], C = await bt(t, h), U = []; let te = ((i = o.flip) == null ? void 0 : i.overflows) || []; if (p && U.push(C[c]), x) { const J = cn(r, s, k); U.push(C[J[0]], C[J[1]]); } if (te = [...te, { placement: r, overflows: U }], !U.every((J) => J <= 0)) { var et, tt; const J = (((et = o.flip) == null ? void 0 : et.index) || 0) + 1, De = w[J]; if (De && (!(x === "alignment" ? v !== H(De) : !1) || // We leave the current main axis only if every placement on that axis // overflows the main axis. te.every((W) => H(W.placement) === v ? W.overflows[0] > 0 : !0))) return { data: { index: J, overflows: te }, reset: { placement: De } }; let ue = (tt = te.filter((Y) => Y.overflows[0] <= 0).sort((Y, W) => Y.overflows[1] - W.overflows[1])[0]) == null ? void 0 : tt.placement; if (!ue) switch (d) { case "bestFit": { var nt; const Y = (nt = te.filter((W) => { if (A) { const N = H(W.placement); return N === v || // Create a bias to the `y` side axis due to horizontal // reading directions favoring greater width. N === "y"; } return !0; }).map((W) => [W.placement, W.overflows.filter((N) => N > 0).reduce((N, _t) => N + _t, 0)]).sort((W, N) => W[1] - N[1])[0]) == null ? void 0 : nt[0]; Y && (ue = Y); break; } case "initialPlacement": ue = a; break; } if (r !== ue) return { reset: { placement: ue } }; } return {}; } }; }, wn = /* @__PURE__ */ new Set(["left", "top"]); async function bn(e, t) { const { placement: n, platform: i, elements: r } = e, o = await (i.isRTL == null ? void 0 : i.isRTL(r.floating)), s = Z(n), a = Me(n), l = H(n) === "y", u = wn.has(s) ? -1 : 1, p = o && l ? -1 : 1, x = Le(t, e); let { mainAxis: m, crossAxis: d, alignmentAxis: y } = typeof x == "number" ? { mainAxis: x, crossAxis: 0, alignmentAxis: null } : { mainAxis: x.mainAxis || 0, crossAxis: x.crossAxis || 0, alignmentAxis: x.alignmentAxis }; return a && typeof y == "number" && (d = a === "end" ? y * -1 : y), l ? { x: d * p, y: m * u } : { x: m * u, y: d * p }; } const Sn = function(e) { return e === void 0 && (e = 0), { name: "offset", options: e, async fn(t) { var n, i; const { x: r, y: o, placement: s, middlewareData: a } = t, l = await bn(t, e); return s === ((n = a.offset) == null ? void 0 : n.placement) && (i = a.arrow) != null && i.alignmentOffset ? {} : { x: r + l.x, y: o + l.y, data: { ...l, placement: s } }; } }; }, kn = function(e) { return e === void 0 && (e = {}), { name: "shift", options: e, async fn(t) { const { x: n, y: i, placement: r } = t, { mainAxis: o = !0, crossAxis: s = !1, limiter: a = { fn: (h) => { let { x: c, y: v } = h; return { x: c, y: v }; } }, ...l } = Le(e, t), u = { x: n, y: i }, p = await bt(t, l), x = H(Z(r)), m = gt(x); let d = u[m], y = u[x]; if (o) { const h = m === "y" ? "top" : "left", c = m === "y" ? "bottom" : "right", v = d + p[h], b = d - p[c]; d = ot(v, d, b); } if (s) { const h = x === "y" ? "top" : "left", c = x === "y" ? "bottom" : "right", v = y + p[h], b = y - p[c]; y = ot(v, y, b); } const f = a.fn({ ...t, [m]: d, [x]: y }); return { ...f, data: { x: f.x - n, y: f.y - i, enabled: { [m]: o, [x]: s } } }; } }; }; function We() { return typeof window < "u"; } function ee(e) { return Je(e) ? (e.nodeName || "").toLowerCase() : "#document"; } function V(e) { var t; return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window; } function I(e) { var t; return (t = (Je(e) ? e.ownerDocument : e.document) || window.document) == null ? void 0 : t.documentElement; } function Je(e) { return We() ? e instanceof Node || e instanceof V(e).Node : !1; } function P(e) { return We() ? e instanceof Element || e instanceof V(e).Element : !1; } function j(e) { return We() ? e instanceof HTMLElement || e instanceof V(e).HTMLElement : !1; } function ut(e) { return !We() || typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof V(e).ShadowRoot; } const Cn = /* @__PURE__ */ new Set(["inline", "contents"]); function xe(e) { const { overflow: t, overflowX: n, overflowY: i, display: r } = D(e); return /auto|scroll|overlay|hidden|clip/.test(t + i + n) && !Cn.has(r); } const An = /* @__PURE__ */ new Set(["table", "td", "th"]); function On(e) { return An.has(ee(e)); } const Tn = [":popover-open", ":modal"]; function $e(e) { return Tn.some((t) => { try { return e.matches(t); } catch { return !1; } }); } const Rn = ["transform", "translate", "scale", "rotate", "perspective"], En = ["transform", "translate", "scale", "rotate", "perspective", "filter"], Vn = ["paint", "layout", "strict", "content"]; function Ye(e) { const t = Xe(), n = P(e) ? D(e) : e; return Rn.some((i) => n[i] ? n[i] !== "none" : !1) || (n.containerType ? n.containerType !== "normal" : !1) || !t && (n.backdropFilter ? n.backdropFilter !== "none" : !1) || !t && (n.filter ? n.filter !== "none" : !1) || En.some((i) => (n.willChange || "").includes(i)) || Vn.some((i) => (n.contain || "").includes(i)); } function Ln(e) { let t = z(e); for (; j(t) && !oe(t); ) { if (Ye(t)) return t; if ($e(t)) return null; t = z(t); } return null; } function Xe() { return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none"); } const Mn = /* @__PURE__ */ new Set(["html", "body", "#document"]); function oe(e) { return Mn.has(ee(e)); } function D(e) { return V(e).getComputedStyle(e); } function Pe(e) { return P(e) ? { scrollLeft: e.scrollLeft, scrollTop: e.scrollTop } : { scrollLeft: e.scrollX, scrollTop: e.scrollY }; } function z(e) { if (ee(e) === "html") return e; const t = ( // Step into the shadow DOM of the parent of a slotted node. e.assignedSlot || // DOM Element detected. e.parentNode || // ShadowRoot detected. ut(e) && e.host || // Fallback. I(e) ); return ut(t) ? t.host : t; } function St(e) { const t = z(e); return oe(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : j(t) && xe(t) ? t : St(t); } function fe(e, t, n) { var i; t === void 0 && (t = []), n === void 0 && (n = !0); const r = St(e), o = r === ((i = e.ownerDocument) == null ? void 0 : i.body), s = V(r); if (o) { const a = He(s); return t.concat(s, s.visualViewport || [], xe(r) ? r : [], a && n ? fe(a) : []); } return t.concat(r, fe(r, [], n)); } function He(e) { return e.parent && Object.getPrototypeOf(e.parent) ? e.frameElement : null; } function kt(e) { const t = D(e); let n = parseFloat(t.width) || 0, i = parseFloat(t.height) || 0; const r = j(e), o = r ? e.offsetWidth : n, s = r ? e.offsetHeight : i, a = ke(n) !== o || ke(i) !== s; return a && (n = o, i = s), { width: n, height: i, $: a }; } function Ge(e) { return P(e) ? e : e.contextElement; } function re(e) { const t = Ge(e); if (!j(t)) return _(1); const n = t.getBoundingClientRect(), { width: i, height: r, $: o } = kt(t); let s = (o ? ke(n.width) : n.width) / i, a = (o ? ke(n.height) : n.height) / r; return (!s || !Number.isFinite(s)) && (s = 1), (!a || !Number.isFinite(a)) && (a = 1), { x: s, y: a }; } const Wn = /* @__PURE__ */ _(0); function Ct(e) { const t = V(e); return !Xe() || !t.visualViewport ? Wn : { x: t.visualViewport.offsetLeft, y: t.visualViewport.offsetTop }; } function $n(e, t, n) { return t === void 0 && (t = !1), !n || t && n !== V(e) ? !1 : t; } function Q(e, t, n, i) { t === void 0 && (t = !1), n === void 0 && (n = !1); const r = e.getBoundingClientRect(), o = Ge(e); let s = _(1); t && (i ? P(i) && (s = re(i)) : s = re(e)); const a = $n(o, n, i) ? Ct(o) : _(0); let l = (r.left + a.x) / s.x, u = (r.top + a.y) / s.y, p = r.width / s.x, x = r.height / s.y; if (o) { const m = V(o), d = i && P(i) ? V(i) : i; let y = m, f = He(y); for (; f && i && d !== y; ) { const h = re(f), c = f.getBoundingClientRect(), v = D(f), b = c.left + (f.clientLeft + parseFloat(v.paddingLeft)) * h.x, k = c.top + (f.clientTop + parseFloat(v.paddingTop)) * h.y; l *= h.x, u *= h.y, p *= h.x, x *= h.y, l += b, u += k, y = V(f), f = He(y); } } return Ae({ width: p, height: x, x: l, y: u }); } function Ke(e, t) { const n = Pe(e).scrollLeft; return t ? t.left + n : Q(I(e)).left + n; } function At(e, t, n) { n === void 0 && (n = !1); const i = e.getBoundingClientRect(), r = i.left + t.scrollLeft - (n ? 0 : ( // RTL <body> scrollbar. Ke(e, i) )), o = i.top + t.scrollTop; return { x: r, y: o }; } function Pn(e) { let { elements: t, rect: n, offsetParent: i, strategy: r } = e; const o = r === "fixed", s = I(i), a = t ? $e(t.floating) : !1; if (i === s || a && o) return n; let l = { scrollLeft: 0, scrollTop: 0 }, u = _(1); const p = _(0), x = j(i); if ((x || !x && !o) && ((ee(i) !== "body" || xe(s)) && (l = Pe(i)), j(i))) { const d = Q(i); u = re(i), p.x = d.x + i.clientLeft, p.y = d.y + i.clientTop; } const m = s && !x && !o ? At(s, l, !0) : _(0); return { width: n.width * u.x, height: n.height * u.y, x: n.x * u.x - l.scrollLeft * u.x + p.x + m.x, y: n.y * u.y - l.scrollTop * u.y + p.y + m.y }; } function Dn(e) { return Array.from(e.getClientRects()); } function Fn(e) { const t = I(e), n = Pe(e), i = e.ownerDocument.body, r = G(t.scrollWidth, t.clientWidth, i.scrollWidth, i.clientWidth), o = G(t.scrollHeight, t.clientHeight, i.scrollHeight, i.clientHeight); let s = -n.scrollLeft + Ke(e); const a = -n.scrollTop; return D(i).direction === "rtl" && (s += G(t.clientWidth, i.clientWidth) - r), { width: r, height: o, x: s, y: a }; } function qn(e, t) { const n = V(e), i = I(e), r = n.visualViewport; let o = i.clientWidth, s = i.clientHeight, a = 0, l = 0; if (r) { o = r.width, s = r.height; const u = Xe(); (!u || u && t === "fixed") && (a = r.offsetLeft, l = r.offsetTop); } return { width: o, height: s, x: a, y: l }; } const _n = /* @__PURE__ */ new Set(["absolute", "fixed"]); function jn(e, t) { const n = Q(e, !0, t === "fixed"), i = n.top + e.clientTop, r = n.left + e.clientLeft, o = j(e) ? re(e) : _(1), s = e.clientWidth * o.x, a = e.clientHeight * o.y, l = r * o.x, u = i * o.y; return { width: s, height: a, x: l, y: u }; } function ct(e, t, n) { let i; if (t === "viewport") i = qn(e, n); else if (t === "document") i = Fn(I(e)); else if (P(t)) i = jn(t, n); else { const r = Ct(e); i = { x: t.x - r.x, y: t.y - r.y, width: t.width, height: t.height }; } return Ae(i); } function Ot(e, t) { const n = z(e); return n === t || !P(n) || oe(n) ? !1 : D(n).position === "fixed" || Ot(n, t); } function In(e, t) { const n = t.get(e); if (n) return n; let i = fe(e, [], !1).filter((a) => P(a) && ee(a) !== "body"), r = null; const o = D(e).position === "fixed"; let s = o ? z(e) : e; for (; P(s) && !oe(s); ) { const a = D(s), l = Ye(s); !l && a.position === "fixed" && (r = null), (o ? !l && !r : !l && a.position === "static" && !!r && _n.has(r.position) || xe(s) && !l && Ot(e, s)) ? i = i.filter((p) => p !== s) : r = a, s = z(s); } return t.set(e, i), i; } function Bn(e) { let { element: t, boundary: n, rootBoundary: i, strategy: r } = e; const s = [...n === "clippingAncestors" ? $e(t) ? [] : In(t, this._c) : [].concat(n), i], a = s[0], l = s.reduce((u, p) => { const x = ct(t, p, r); return u.top = G(x.top, u.top), u.right = Se(x.right, u.right), u.bottom = Se(x.bottom, u.bottom), u.left = G(x.left, u.left), u; }, ct(t, a, r)); return { width: l.right - l.left, height: l.bottom - l.top, x: l.left, y: l.top }; } function Nn(e) { const { width: t, height: n } = kt(e); return { width: t, height: n }; } function Hn(e, t, n) { const i = j(t), r = I(t), o = n === "fixed", s = Q(e, !0, o, t); let a = { scrollLeft: 0, scrollTop: 0 }; const l = _(0); function u() { l.x = Ke(r); } if (i || !i && !o) if ((ee(t) !== "body" || xe(r)) && (a = Pe(t)), i) { const d = Q(t, !0, o, t); l.x = d.x + t.clientLeft, l.y = d.y + t.clientTop; } else r && u(); o && !i && r && u(); const p = r && !i && !o ? At(r, a) : _(0), x = s.left + a.scrollLeft - l.x - p.x, m = s.top + a.scrollTop - l.y - p.y; return { x, y: m, width: s.width, height: s.height }; } function Fe(e) { return D(e).position === "static"; } function ft(e, t) { if (!j(e) || D(e).position === "fixed") return null; if (t) return t(e); let n = e.offsetParent; return I(e) === n && (n = n.ownerDocument.body), n; } function Tt(e, t) { const n = V(e); if ($e(e)) return n; if (!j(e)) { let r = z(e); for (; r && !oe(r); ) { if (P(r) && !Fe(r)) return r; r = z(r); } return n; } let i = ft(e, t); for (; i && On(i) && Fe(i); ) i = ft(i, t); return i && oe(i) && Fe(i) && !Ye(i) ? n : i || Ln(e) || n; } const zn = async function(e) { const t = this.getOffsetParent || Tt, n = this.getDimensions, i = await n(e.floating); return { reference: Hn(e.reference, await t(e.floating), e.strategy), floating: { x: 0, y: 0, width: i.width, height: i.height } }; }; function Un(e) { return D(e).direction === "rtl"; } const Jn = { convertOffsetParentRelativeRectToViewportRelativeRect: Pn, getDocumentElement: I, getClippingRect: Bn, getOffsetParent: Tt, getElementRects: zn, getClientRects: Dn, getDimensions: Nn, getScale: re, isElement: P, isRTL: Un }; function Rt(e, t) { return e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height; } function Yn(e, t) { let n = null, i; const r = I(e); function o() { var a; clearTimeout(i), (a = n) == null || a.disconnect(), n = null; } function s(a, l) { a === void 0 && (a = !1), l === void 0 && (l = 1), o(); const u = e.getBoundingClientRect(), { left: p, top: x, width: m, height: d } = u; if (a || t(), !m || !d) return; const y = me(x), f = me(r.clientWidth - (p + m)), h = me(r.clientHeight - (x + d)), c = me(p), b = { rootMargin: -y + "px " + -f + "px " + -h + "px " + -c + "px", threshold: G(0, Se(1, l)) || 1 }; let k = !0; function g(A) { const w = A[0].intersectionRatio; if (w !== l) { if (!k) return s(); w ? s(!1, w) : i = setTimeout(() => { s(!1, 1e-7); }, 1e3); } w === 1 && !Rt(u, e.getBoundingClientRect()) && s(), k = !1; } try { n = new IntersectionObserver(g, { ...b, // Handle <iframe>s root: r.ownerDocument }); } catch { n = new IntersectionObserver(g, b); } n.observe(e); } return s(!0), o; } function Xn(e, t, n, i) { i === void 0 && (i = {}); const { ancestorScroll: r = !0, ancestorResize: o = !0, elementResize: s = typeof ResizeObserver == "function", layoutShift: a = typeof IntersectionObserver == "function", animationFrame: l = !1 } = i, u = Ge(e), p = r || o ? [...u ? fe(u) : [], ...fe(t)] : []; p.forEach((c) => { r && c.addEventListener("scroll", n, { passive: !0 }), o && c.addEventListener("resize", n); }); const x = u && a ? Yn(u, n) : null; let m = -1, d = null; s && (d = new ResizeObserver((c) => { let [v] = c; v && v.target === u && d && (d.unobserve(t), cancelAnimationFrame(m), m = requestAnimationFrame(() => { var b; (b = d) == null || b.observe(t); })), n(); }), u && !l && d.observe(u), d.observe(t)); let y, f = l ? Q(e) : null; l && h(); function h() { const c = Q(e); f && !Rt(f, c) && n(), f = c, y = requestAnimationFrame(h); } return n(), () => { var c; p.forEach((v) => { r && v.removeEventListener("scroll", n), o && v.removeEventListener("resize", n); }), x == null || x(), (c = d) == null || c.disconnect(), d = null, l && cancelAnimationFrame(y); }; } const Gn = Sn, Kn = kn, Zn = yn, Qn = (e, t, n) => { const i = /* @__PURE__ */ new Map(), r = { platform: Jn, ...n }, o = { ...r.platform, _c: i }; return gn(e, t, { ...r, platform: o }); }; function ei(e) { return e != null && typeof e == "object" && "$el" in e; } function pt(e) { if (ei(e)) { const t = e.$el; return Je(t) && ee(t) === "#comment" ? null : t; } return e; } function ce(e) { return typeof e == "function" ? e() : Nt(e); } function Et(e) { return typeof window > "u" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1; } function xt(e, t) { const n = Et(e); return Math.round(t * n) / n; } function ti(e, t, n) { n === void 0 && (n = {}); const i = n.whileElementsMounted, r = F(() => { var w; return (w = ce(n.open)) != null ? w : !0; }), o = F(() => ce(n.middleware)), s = F(() => { var w; return (w = ce(n.placement)) != null ? w : "bottom"; }), a = F(() => { var w; return (w = ce(n.strategy)) != null ? w : "absolute"; }), l = F(() => { var w; return (w = ce(n.transform)) != null ? w : !0; }), u = F(() => pt(e.value)), p = F(() => pt(t.value)), x = O(0), m = O(0), d = O(a.value), y = O(s.value), f = jt({}), h = O(!1), c = F(() => { const w = { position: d.value, left: "0", top: "0" }; if (!p.value) return w; const C = xt(p.value, x.value), U = xt(p.value, m.value); return l.value ? { ...w, transform: "translate(" + C + "px, " + U + "px)", ...Et(p.value) >= 1.5 && { willChange: "transform" } } : { position: d.value, left: C + "px", top: U + "px" }; }); let v; function b() { if (u.value == null || p.value == null) return; const w = r.value; Qn(u.value, p.value, { middleware: o.value, placement: s.value, strategy: a.value }).then((C) => { x.value = C.x, m.value = C.y, d.value = C.strategy, y.value = C.placement, f.value = C.middlewareData, h.value = w !== !1; }); } function k() { typeof v == "function" && (v(), v = void 0); } function g() { if (k(), i === void 0) { b(); return; } if (u.value != null && p.value != null) { v = i(u.value, p.value, b); return; } } function A() { r.value || (h.value = !1); } return T([o, s, a, r], b, { flush: "sync" }), T([u, p], g, { flush: "sync" }), T(r, A, { flush: "sync" }), It() && Bt(k), { x: ne(x), y: ne(m), strategy: ne(d), placement: ne(y), middlewareData: ne(f), isPositioned: ne(h), floatingStyles: c, update: b }; } var ni = Object.defineProperty, ii = (e, t, n) => t in e ? ni(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, S = (e, t, n) => (ii(e, typeof t != "symbol" ? t + "" : t, n), n), $ = /* @__PURE__ */ ((e) => (e.Any = "any", e.Value = "value", e.Range = "range", e.Step = "step", e.StepFrom = "stepFrom", e.RangeStep = "rangeStep", e.Combined = "combined", e.NoSpecific = "noSpecific", e))($ || {}), K = /* @__PURE__ */ ((e) => (e.Prefix = "prefix", e.Suffix = "suffix", e.Text = "text", e))(K || {}); class ri { constructor(t, n) { S(this, "field"), S(this, "itemMap"), S(this, "ctx"), this.field = t, this.ctx = n, this.itemMap = this.field.items.reduce( (i, r) => (i[r.value] = r, i), {} ); } get id() { return this.field.id; } get items() { return this.field.items; } get onChange() { return this.field.onChange; } get segmentFactories() { return this.field.segmentFactories; } get min() { return this.items[0].value; } get max() { return this.items[this.items.length - 1].value; } getItem(t) { return this.itemMap[t]; } } function oi(e, t, n = 1) { const i = []; for (let r = e; r <= t; r += n) i.push(r); return i; } class si { constructor(t, n, i = 1) { return S(this, "start"), S(this, "end"), S(this, "step"), this.start = t, this.end = n, this.step = i, new Proxy(this, { get: function(r, o) { const s = typeof o == "string" ? parseInt(o) : o; return typeof s == "number" && s >= 0 && s <= r.length ? r.start + r.step * s : Reflect.get(r, o); } }); } get length() { return (this.end - this.start) / this.step + 1; } [Symbol.iterator]() { let t = -1; return { next: () => ({ value: this[++t], done: this[t + 1] === void 0 }) }; } } function X(e, t, n = (r) => r + "", i = (r) => r + "") { const r = []; for (const o of new si(e, t)) r.push({ text: n(o), alt: i(o), value: o }); return r; } function ai(e, t = "crontab") { const n = (r, o = !1) => new Date(2021, r - 1, 1).toLocaleDateString(e, { month: o ? "short" : "long" }), i = (r, o = !1) => new Date(2021, 0, 3 + r).toLocaleDateString(e, { weekday: o ? "short" : "long" }); return { secondItems: X(0, 59, (r) => qe(r, 2)), minuteItems: X(0, 59, (r) => qe(r, 2)), hourItems: X(0, 23, (r) => qe(r, 2)), dayItems: X(1, 31), monthItems: X(1, 12, n, (r) => n(r, !0)), dayOfWeekItems: t === "quartz" ? X( 1, 7, (r) => i(r - 1), (r) => i(r - 1, !0) ) : X(0, 6, i, (r) => i(r, !0)) }; } function qe(e, t) { const n = e + ""; return n.length < t ? new Array(t - n.length).fill("0").join("") + e : n; } function he(e) { return e && typeof e == "object" && !Array.isArray(e); } function ze(e, ...t) { if (!he(e) || t.length === 0) return; const n = t.shift(); if (he(n)) for (const [i, r] of Object.entries(n)) he(r) ? (he(e[i]) || (e[i] = {}), ze(e[i], n[i])) : e[i] = n[i]; return t.length > 0 && ze(e, ...t), e; } function Vt(e, ...t) { if (t.length === 0) return e; for (const n of t[0]) if (n in e) { const i = Vt(e[n], ...t.slice(1)); if (i !== void 0) return i; } } function li(e) { for (let t = 1; t < e.length; t++) if (e[t - 1] + 1 !== e[t]) return !1; return !0; } function ui() { throw new Error("not implemented"); } function ci(e, t, n = !0) { const i = []; for (let r = 0; r < e.length; r += t) { const o = e.slice(r, r + t); for (; n && o.length < t; ) o.push(null); i.push(o); } return i; } class Oe { constructor(t) { S(this, "field"), S(this, "type", $.NoSpecific), this.field = t; } toCron() { return "?"; } toArray() { return []; } get items() { return {}; } static fromString(t, n) { return t !== "?" ? null : new Oe(n); } } class B { constructor(t) { S(this, "field"), S(this, "type", $.Any), this.field = t; } toCron() { return "*"; } toArray() { return []; } get items() { return {}; } static fromString(t, n) { return t !== "*" ? null : new B(n); } static fromArray(t, n) { const { items: i } = n; if (t.length === 0) return new B(n); if (t.length !== i.length) return null; for (const r of i) if (!t.includes(r.value)) return null; return li(i.map((r) => r.value)) ? new B(n) : null; } } const Lt = class Ue { constructor(t, n, i) { S(this, "field"), S(this, "type", $.Range), S(this, "start"), S(this, "end"), this.field = t, this.start = n, this.end = i; } toCron() { return `${this.start}-${this.end}`; } toArray() { const t = this.start, n = this.end; return oi(t, n); } get items() { return { start: this.field.itemMap[this.start], end: this.field.itemMap[this.end] }; } static fromString(t, n) { if (!Ue.re.test(t)) return null; const { min: i, max: r } = n, o = t.split("-"), s = parseInt(o[0]), a = parseInt(o[1]); return s > a || s < i || a > r ? null : new Ue(n, s, a); } }; S(Lt, "re", /^\d+-\d+$/); let Te = Lt; function dt(e, t, n) { const i = []; for (let r = t; r <= n; r += e) i.push(r); return i; } function fi(e, t) { if (e === "*") return [t.min, t.max]; const n = e.split("-").map((i) => parseInt(i)); return n.length === 1 && t.ctx.format !== "crontab" ? [n[0], t.max] : [n[0], n[1]]; } const Mt = class ye { constructor(t, n, i, r) { S(this, "field"), S(this, "step"), S(this, "start"), S(this, "end"), this.field = t, this.step = n, this.start = i ?? t.min, this.end = r ?? t.max; } get type() { const { min: t, max: n } = this.field; return this.field.ctx.format !== "crontab" && this.start !== t && n - this.end < this.step ? $.StepFrom : this.start !== t || n - this.end >= this.step ? $.RangeStep : $.Step; } toCron() { return this.type === $.StepFrom ? `${this.start}/${this.step}` : this.type === $.RangeStep ? `${this.start}-${this.end}/${this.step}` : `*/${this.step}`; } toArray() { return dt(this.step, this.start, this.end); } get items() { return { step: this.field.itemMap[this.step], start: this.field.itemMap[this.start], end: this.field.itemMap[this.end] }; } static fromString(t, n) { if (!ye.re.test(t)) return null; const [i, r] = t.split("/"), o = parseInt(r); if (o > n.items.length) return null; const [s, a] = fi(i, n); return dt(o, s, a).length == 0 ? null : new ye(n, o, s, a); } static fromArray(t, n) { if (t.length < 3) return null; const i = t[1] - t[0]; if (i <= 1) return null; for (let r = 2; r < t.length; r++) if (t[r] - t[r - 1] != i) return null; return new ye(n, i, t[0], t[t.length - 1]); } }; S(Mt, "re", /^(\*|\d+(-\d+)?)\/\d+$/); let Re = Mt; class se { constructor(t, n) { S(this, "field"), S(this, "type", $.Value), S(this, "value"), this.field = t, this.value = n; } toCron() { return `${this.value}`; } toArray() { return [this.value]; } get items() { return { value: this.field.itemMap[this.value] }; } static fromString(t, n) { const { min: i, max: r } = n, o = parseInt(t); return String(o) === t && o >= i && o <= r ? new se(n, o) : null; } static fromArray(t, n) { const { min: i, max: r } = n; if (t.length != 1) return null; const o = t[0]; return o < i || o > r ? null : o; } } const Wt = class we { constructor(t, n = []) { S(this, "field"), S(this, "segments"), this.field = t, this.segments = n; } get type() { return this.segments.length == 1 ? this.segments[0].type : $.Range; } addSegment(t) { this.segments.push(t); } toCron() { return this.segments.map((t) => t.toCron()).join(","); } toArray() { const t = /* @__PURE__ */ new Set(); for (const n of this.segments) n.toArray().forEach((i) => t.add(i)); return Array.from(t); } get items() { return ui(); } static fromString(t, n) { const i = n.segmentFactories ?? we.segmentFactories; let r = []; for (const o of t.split(",")) { if (o === "*") { r = [new B(n)]; break; } let s = null; for (const a of i) if (s = a(o, n), s !== null) break; if (s === null) return null; r.push(s); } return new we(n, r); } static fromArray(t, n) { const { min: i, max: r } = n, o = t[0], s = t[t.length - 1]; if (o < i || s > r) return null; const a = []; let l = 0; for (let u = 0; u < t.length; u++) (t[u + 1] === void 0 || t[u + 1] - t[u] > 1) && (u === l ? a.push(new se(n, t[l])) : a.push(new Te(n, t[l], t[u])), l = u + 1); return new we(n, a); } }; S(Wt, "segmentFactories", [ B.fromString, Re.fromString, Te.fromString, se.fromString ]); let Ze = Wt; function mt(e, t) { return Ze.fromString(e, t); } function pi(e, t) { for (const n of [ B.fromArray, Re.fromArray, Ze.fromArray ]) { const i = n(e, t); if (i != null) return i; } return null; } /*! * mustache.js - Logic-less {{mustache}} templates with JavaScript * http://github.com/janl/mustache.js */ var xi = Object.prototype.toString, le = Array.isArray || function(e) { return xi.call(e) === "[object Array]"; }; function Qe(e) { return typeof e == "function"; } function di(e) { return le(e) ? "array" : typeof e; } function _e(e) { return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"); } function ht(e, t) { return e != null && typeof e == "object" && t in e; } function mi(e, t) { return e != null && typeof e != "object" && e.hasOwnProperty && e.hasOwnProperty(t); } var hi = RegExp.prototype.test; function vi(e, t) { return hi.call(e, t); } var gi = /\S/; function yi(e) { return !vi(gi, e); } var wi = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;", "/": "&#x2F;", "`": "&#x60;", "=": "&#x3D;" }; function bi(e) { return String(e).replace(/[&<>"'`=\/]/g, function(t) { return wi[t]; }); } var Si = /\s*/, ki = /\s+/, vt = /\s*=/, Ci = /\s*\}/, Ai = /#|\^|\/|>|\{|&|=|!/; function Oi(e, t) { if (!e) return []; var n = !1, i = [], r = [], o = [], s = !1, a = !1, l = "", u = 0; function p() { if (s && !a) for (; o.length; ) delete r[o.pop()]; else o = []; s = !1, a = !1; } var x, m, d; function y(C) { if (typeof C == "string" && (C = C.split(ki, 2)), !le(C) || C.length !== 2) throw new Error("Invalid tags: " + C); x = new RegExp(_e(C[0]) + "\\s*"), m = new RegExp("\\s*" + _e(C[1])), d = new RegExp("\\s*" + _e("}" + C[1])); } y(t || M.tags); for (var f = new de(e), h, c, v, b, k, g; !f.eos(); ) { if (h = f.pos, v = f.scanUntil(x), v) for (var A = 0, w = v.length; A < w; ++A) b = v.charAt(A), yi(b) ? (o.push(r.length), l += b) : (a = !0, n = !0, l += " "), r.push(["text", b, h, h + 1]), h += 1, b === ` ` && (p(), l = "", u = 0, n = !1); if (!f.scan(x)) break; if (s = !0, c = f.scan(Ai) || "name", f.scan(Si), c === "=" ? (v = f.scanUntil(vt), f.scan(vt), f.scanUntil(m)) : c === "{" ? (v = f.scanUntil(d), f.scan(Ci), f.scanUntil(m), c = "&") : v = f.scanUntil(m), !f.scan(m)) throw new Error("Unclosed tag at " + f.pos); if (c == ">" ? k = [c, v, h, f.pos, l, u, n] : k = [c, v, h, f.pos], u++, r.push(k), c === "#" || c === "^") i.push(k); else if (c === "/") { if (g = i.pop(), !g) throw new Error('Unopened section "' + v + '" at ' + h); if (g[1] !== v) throw new Error('Unclosed section "' + g[1] + '" at ' + h); } else c === "name" || c === "{" || c === "&" ? a = !0 : c === "=" && y(v); } if (p(), g = i.pop(), g) throw new Error('Unclosed section "' + g[1] + '" at ' + f.pos); return Ri(Ti(r)); } function Ti(e) { for (var t = [], n, i, r = 0, o = e.length; r < o; ++r) n = e[r], n && (n[0] === "text" && i && i[0] === "text" ? (i[1] += n[1], i[3] = n[3]) : (t.push(n), i = n)); return t; } function Ri(e) { for (var t = [], n = t, i = [], r, o, s = 0, a = e.length; s < a; ++s) switch (r = e[s], r[0]) { case "#": case "^": n.push(r), i.push(r), n = r[4] = []; break; case "/": o = i.pop(), o[5] = r[2], n = i.length > 0 ? i[i.length - 1][4] : t; break; default: n.push(r); } return t; } function de(e) { this.string = e, this.tail = e, this.pos = 0; } de.prototype.eos = function() { return this.tail === ""; }; de.prototype.scan = function(e) { var t = this.tail.match(e); if (!t || t.index !== 0) return ""; var n = t[0]; return this.tail = this.tail.substring(n.length), this.pos += n.length, n; }; de.prototype.scanUntil = function(e) { var t = this.tail.search(e), n; switch (t) { case -1: n = this.tail, this.tail = ""; break; case 0: n = ""; break; default: n = this.tail.substring(0, t), this.tail = this.tail.substring(t); } return this.pos += n.length, n; }; function ae(e, t) { this.view = e, this.cache = { ".": this.view }, this.parent = t; } ae.prototype.push = function(e) { return new ae(e, this); }; ae.prototype.lookup = function(e) { var t = this.cache, n; if (t.hasOwnProperty(e)) n = t[e]; else { for (var i = this, r, o, s, a = !1; i; ) { if (e.indexOf(".") > 0) for (r = i.view, o = e.split("."), s = 0; r != null && s < o.length; ) s === o.length - 1 && (a = ht(r, o[s]) || mi(r, o[s])), r = r[o[s++]]; else r = i.view[e], a = ht(i.view, e); if (a) { n = r; break; } i = i.parent; } t[e] = n; } return Qe(n) && (n = n.call(this.view)), n; }; function R() { this.templateCache = { _cache: {}, set: function(e, t) { this._cache[e] = t; }, get: function(e) { return this._cache[e]; }, clear: function() { this._cache = {}; } }; } R.prototype.clearCache = function() { typeof this.templateCache < "u" && this.templateCache.clear(); }; R.prototype.parse = function(e, t) { var n = this.templateCache, i = e + ":" + (t || M.tags).join(":"), r = typeof n < "u", o = r ? n.get(i) : void 0; return o == null && (o = Oi(e, t), r && n.set(i, o)), o; }; R.prototype.render = function(e, t, n, i) { var r = this.getConfigTags(i), o = this.parse(e, r), s = t instanceof ae ? t : new ae(t, void 0); return this.renderTokens(o, s, n, e, i); }; R.prototype.renderTokens = function(e, t, n, i, r) { for (var o = "", s, a, l, u = 0, p = e.length; u < p; ++u) l = void 0, s = e[u], a = s[0], a === "#" ? l = this.renderSection(s, t, n, i, r) : a === "^" ? l = this.renderInverted(s, t, n, i, r) : a === ">" ? l = this.renderPartial(s, t, n, r) : a === "&" ? l = this.unescapedValue(s, t) : a === "name" ? l = this.escapedValue(s, t, r) : a === "text" && (l = this.rawValue(s)), l !== void 0 && (o += l); return o; }; R.prototype.renderSection = function(e, t, n, i, r) { var o = this, s = "", a = t.lookup(e[1]); function l(x) { return o.render(x, t, n, r); } if (a) { if (le(a)) for (var u = 0, p = a.length; u < p; ++u) s += this.renderTokens(e[4], t.push(a[u]), n, i, r); else if (typeof a == "object" || typeof a == "string" || typeof a == "number") s += this.renderTokens(e[4], t.push(a), n, i, r); else if (Qe(a)) { if (typeof i != "string") throw new Error("Cannot use higher-order sections without the original template"); a = a.call(t.view, i.slice(e[3], e[5]), l), a != null && (s += a); } else s += this.renderTokens(e[4], t, n, i, r); return s; } }; R.prototype.renderInverted = function(e, t, n, i, r) { var o = t.lookup(e[1]); if (!o || le(o) && o.length === 0) return this.renderTokens(e[4], t, n, i, r); }; R.prototype.indentPartial = function(e, t, n) { for (var i = t.replace(/[^ \t]/g, ""), r = e.split(` `), o = 0; o < r.length; o++) r[o].length && (o > 0 || !n) && (r[o] = i + r[o]); return r.join(` `); }; R.prototype.renderPartial = function(e, t, n, i) { if (n) { var r = this.getConfigTags(i), o = Qe(n) ? n(e[1]) : n[e[1]]; if (o != null) { var s = e[6], a = e[5], l = e[4], u = o; a == 0 && l && (u = this.indentPartial(o, l, s)); var p = this.parse(u, r); return this.renderTokens(p, t, n, u, i); } } }; R.prototype.unescapedValue = function(e, t) { var n = t.lookup(e[1]); if (n != null) return n; }; R.prototype.escapedValue = function(e, t, n) { var i = this.getConfigEscape(n) || M.escape, r = t.lookup(e[1]); if (r != null) return typeof r == "number" && i === M.escape ? String(r) : i(r); }; R.prototype.rawValue = function(e) { return e[1]; }; R.prototype.getConfigTags = function(e) { return le(e) ? e : e && typeof e == "object" ? e.tags : void 0; }; R.prototype.getConfigEscape = function(e) { if (e && typeof e == "object" && !le(e)) return e.escape; }; var M = { name: "mustache.js", version: "4.2.0", tags: ["{{", "}}"], clearCache: void 0, escape: void 0, parse: void 0, render: void 0, Scanner: void 0, Context: void 0, Writer: void 0, /** * Allows a user to override the default caching strategy, by providing an * object with set, get and clear methods. This can also be used to disable * the cache by setting it to the literal `undefined`. */ set templateCache(e) { pe.templateCache = e; }, /** * Gets the default or overridden caching object from the default writer. */ get templateCache() { return pe.templateCache; } }, pe = new R(); M.clearCache = function() { return pe.clearCache(); }; M.parse = function(e, t) { return pe.parse(e, t); }; M.render = function(e, t, n, i) { if (typeof e != "string") throw new TypeError('Invalid template! Template should be a "string" but "' + di(e) + '" was given as the first argument for mustache#render(template, view, partials)'); return pe.render(e, t, n, i); }; M.escape = bi; M.Scanner = de; M.Context = ae; M.Writer = R; const Ei = { "*": { prefix: "每", suffix: "", text: "未知", "*": { any: { text: "每 {{field.id}}" }, value: { text: "{{value.text}}" }, range: { text: "{{start.text}}-{{end.text}}" }, step: { text: "每 {{step.value}}" } }, month: { "*": { prefix: "的" }, any: { text: "每月" }, value: { text: "{{value.alt}}" }, range: { text: "{{start.alt}}-{{end.alt}}" } }, day: { "*": { prefix: "的" }, any: { text: "每日" }, value: { text: "{{value.alt}}号" }, range: { text: "{{start.alt}}号-{{end.alt}}号" }, noSpecific: { text: "无特定日期" } }, dayOfWeek: { "*": { prefix: "的" }, any: { text: "一周的每一天" }, value: { text: "{{value.alt}}" }, range: { text: "{{start.alt}}-{{end.alt}}" }, noSpecific: { text: "无特定星期几" } }, hour: { "*": { prefix: "的" }, any: { text: "每小时" } }, minute: { "*": { prefix: ":" }, any: { text: "每分钟" } }, second: { "*": { prefix: ":" }, any: { text: "每秒" } } }, minute: { text: "分" }, hour: { text: "小时", minute: { "*": { prefix: ":", suffix: "分钟" }, any: { text: "每" } } }, day: { text: "天" }, week: { text: "周", dayOfWeek: { "*": { prefix: "的" }, any: { text: "每天" }, value: { text: "{{value.alt}}" }, range: { text: "{{start.alt}}-{{end.alt}}" } } }, month: { text: "月", dayOfWeek: { "*": { prefix: "和" } }, day: { "*": { prefix: "的" } } }, year: { text: "年", dayOfWeek: { "*": { prefix: "和" } } }, //quartz format "q-second": { text: "秒" }, "q-minute": { text: "分钟", second: { "*": { prefix: ":", suffix: "秒" }, any: { text: "每" } } }, "q-hour": { text: "小时", minute: { "*": { prefix: ":" } } } }, Vi = { "*": { prefix: "Hver", suffix: "", text: "Ukendt", "*": { value: { text: "{{value.text}}" }, range: { text: "{{start.text}}-{{end.text}}" }, step: { text: "hver {{step.value}}" } }, month: { "*": { prefix: "i" }, any: { text: "hver måned" }, value: { text: "{{value.alt}}" }, range: { text: "{{start.alt}}-{{end.alt}}" } }, day: { "*": { prefix: "og" }, any: { text: "hver dag i måneden" }, value: { text: "{{value.alt}}." }, range: { text: "{{start.alt}}.-{{end.alt}}." }, noSpecific: { text: "ingen specifik dag" } }, dayOfWeek: { "*": { prefix: "på" }, any: { text: "hver dag i ugen" }, value: { text: "{{value.alt}}" }, range: { text: "{{start.alt}}-{{end.alt}}" }, noSpecific: { text: "ingen specifik