UNPKG

@asicupv/paella-extra-plugins

Version:
645 lines (644 loc) 31.9 kB
/*! * CookieConsent 3.1.0 * https://github.com/orestbida/cookieconsent * Author Orest Bida * Released under the MIT License */ const dt = "opt-in", ke = "opt-out", Xe = "show--consent", qe = "show--preferences", Ee = "disable--interaction", Oe = "data-category", T = "div", U = "button", z = "aria-hidden", Se = "btn-group", N = "click", ye = "data-role", Ge = "consentModal", Je = "preferencesModal"; class ft { constructor() { this.t = { mode: dt, revision: 0, autoShow: !0, lazyHtmlGeneration: !0, autoClearCookies: !0, manageScriptTags: !0, hideFromBots: !0, cookie: { name: "cc_cookie", expiresAfterDays: 182, domain: "", path: "/", secure: !0, sameSite: "Lax" } }, this.o = { i: {}, l: "", _: {}, u: {}, p: {}, m: [], v: !1, h: null, C: null, S: null, M: "", D: !0, T: !1, k: !1, A: !1, N: !1, H: [], V: !1, I: !0, L: [], j: !1, F: "", P: !1, O: [], R: [], B: [], $: [], G: !1, J: !1, U: !1, q: [], K: [], W: [], X: {}, Y: {}, Z: {}, ee: {}, te: {}, oe: [] }, this.ne = { ae: {}, se: {} }, this.ce = {}, this.re = { ie: "cc:onFirstConsent", le: "cc:onConsent", de: "cc:onChange", fe: "cc:onModalShow", _e: "cc:onModalHide", ue: "cc:onModalReady" }; } } const r = new ft(), pt = (t, n) => t.indexOf(n), M = (t, n) => pt(t, n) !== -1, ve = (t) => Array.isArray(t), oe = (t) => typeof t == "string", Ie = (t) => !!t && typeof t == "object" && !ve(t), V = (t) => typeof t == "function", W = (t) => Object.keys(t), $e = (t) => Array.from(new Set(t)), Pe = () => document.activeElement, ge = (t) => t.preventDefault(), Ue = (t, n) => t.querySelectorAll(n), Me = (t) => t.dispatchEvent(new Event("change")), m = (t) => { const n = document.createElement(t); return t === U && (n.type = t), n; }, v = (t, n, o) => t.setAttribute(n, o), Be = (t, n, o) => { t.removeAttribute(o ? "data-" + n : n); }, xe = (t, n, o) => t.getAttribute(o ? "data-" + n : n), h = (t, n) => t.appendChild(n), x = (t, n) => t.classList.add(n), A = (t, n) => x(t, "cm__" + n), L = (t, n) => x(t, "pm__" + n), ie = (t, n) => t.classList.remove(n), te = (t) => { if (typeof t != "object") return t; if (t instanceof Date) return new Date(t.getTime()); let n = Array.isArray(t) ? [] : {}; for (let o in t) { let e = t[o]; n[o] = te(e); } return n; }, Bt = () => { const t = {}, { O: n, X: o, Y: e } = r.o; for (const i of n) t[i] = De(e[i], W(o[i])); return t; }, rt = (t, n) => dispatchEvent(new CustomEvent(t, { detail: n })), O = (t, n, o, e) => { t.addEventListener(n, o), e && r.o.m.push({ pe: t, ge: n, me: o }); }, st = () => { const t = r.t.cookie.expiresAfterDays; return V(t) ? t(r.o.F) : t; }, De = (t, n) => { const o = t || [], e = n || []; return o.filter((i) => !M(e, i)).concat(e.filter((i) => !M(o, i))); }, ht = (t) => { r.o.R = $e(t), r.o.F = (() => { let n = "custom"; const { R: o, O: e, B: i } = r.o, c = o.length; return c === e.length ? n = "all" : c === i.length && (n = "necessary"), n; })(); }, mt = (t, n, o, e) => { const i = "accept-", { show: c, showPreferences: f, hide: s, hidePreferences: a, acceptCategory: u } = n, y = t || document, d = (b) => Ue(y, `[data-cc="${b}"]`), p = (b, w) => { ge(b), u(w), a(), s(); }, g = d("show-preferencesModal"), l = d("show-consentModal"), C = d(i + "all"), k = d(i + "necessary"), S = d(i + "custom"), _ = r.t.lazyHtmlGeneration; for (const b of g) v(b, "aria-haspopup", "dialog"), O(b, N, (w) => { ge(w), f(); }), _ && (O(b, "mouseenter", (w) => { ge(w), r.o.N || o(n, e); }, !0), O(b, "focus", () => { r.o.N || o(n, e); })); for (let b of l) v(b, "aria-haspopup", "dialog"), O(b, N, (w) => { ge(w), c(!0); }, !0); for (let b of C) O(b, N, (w) => { p(w, "all"); }, !0); for (let b of S) O(b, N, (w) => { p(w); }, !0); for (let b of k) O(b, N, (w) => { p(w, []); }, !0); }, K = (t, n) => { t && (n && (t.tabIndex = -1), t.focus(), n && t.removeAttribute("tabindex")); }, gt = (t, n) => { const o = (e) => { e.target.removeEventListener("transitionend", o), e.propertyName === "opacity" && getComputedStyle(t).opacity === "1" && K(((i) => i === 1 ? r.ne.be : r.ne.ve)(n)); }; O(t, "transitionend", o); }; let at; const yt = (t) => { clearTimeout(at), t ? x(r.ne.ye, Ee) : at = setTimeout(() => { ie(r.ne.ye, Ee); }, 500); }, jt = ["M 19.5 4.5 L 4.5 19.5 M 4.5 4.501 L 19.5 19.5", "M 3.572 13.406 L 8.281 18.115 L 20.428 5.885", "M 21.999 6.94 L 11.639 17.18 L 2.001 6.82 "], Le = (t = 0, n = 1.5) => `<svg viewBox="0 0 24 24" stroke-width="${n}"><path d="${jt[t]}"/></svg>`, bt = (t) => { const n = r.ne, o = r.o; ((e) => { const i = e === n.he, c = o.i.disablePageInteraction ? n.ye : i ? n.Ce : n.ye; O(c, "keydown", (f) => { if (f.key !== "Tab" || !(i ? o.k && !o.A : o.A)) return; const s = Pe(), a = i ? o.q : o.K; a.length !== 0 && (f.shiftKey ? s !== a[0] && e.contains(s) || (ge(f), K(a[1])) : s !== a[1] && e.contains(s) || (ge(f), K(a[0]))); }, !0); })(t); }, Nt = ["[href]", U, "input", "details", "[tabindex]"].map((t) => t + ':not([tabindex="-1"])').join(","), vt = (t) => { const { o: n, ne: o } = r, e = (i, c) => { const f = Ue(i, Nt); c[0] = f[0], c[1] = f[f.length - 1]; }; t === 1 && n.T && e(o.he, n.q), t === 2 && n.N && e(o.we, n.K); }, Q = (t, n, o) => { const { de: e, le: i, ie: c, _e: f, ue: s, fe: a } = r.ce, u = r.re; if (n) { const d = { modalName: n }; return t === u.fe ? V(a) && a(d) : t === u._e ? V(f) && f(d) : (d.modal = o, V(s) && s(d)), rt(t, d); } const y = { cookie: r.o.p }; t === u.ie ? V(c) && c(te(y)) : t === u.le ? V(i) && i(te(y)) : (y.changedCategories = r.o.L, y.changedServices = r.o.ee, V(e) && e(te(y))), rt(t, te(y)); }, _e = (t, n) => { try { return t(); } catch (o) { return !n && console.warn("CookieConsent:", o), !1; } }, Ye = (t) => { const { Y: n, ee: o, O: e, X: i, oe: c, p: f, L: s } = r.o; for (const d of e) { const p = o[d] || n[d] || []; for (const g of p) { const l = i[d][g]; if (!l) continue; const { onAccept: C, onReject: k } = l; !l.Se && M(n[d], g) ? (l.Se = !0, V(C) && C()) : l.Se && !M(n[d], g) && (l.Se = !1, V(k) && k()); } } if (!r.t.manageScriptTags) return; const a = c, u = t || f.categories || [], y = (d, p) => { if (p >= d.length) return; const g = c[p]; if (g.xe) return y(d, p + 1); const l = g.Me, C = g.De, k = g.Te, S = M(u, C), _ = !!k && M(n[C], k); if (!k && !g.ke && S || !k && g.ke && !S && M(s, C) || k && !g.ke && _ || k && g.ke && !_ && M(o[C] || [], k)) { g.xe = !0; const b = xe(l, "type", !0); Be(l, "type", !!b), Be(l, Oe); let w = xe(l, "src", !0); w && Be(l, "src", !0); const H = m("script"); H.textContent = l.innerHTML; for (const { nodeName: D } of l.attributes) v(H, D, l[D] || xe(l, D)); b && (H.type = b), w ? H.src = w : w = l.src; const P = !!w && (!b || ["text/javascript", "module"].includes(b)); if (P && (H.onload = H.onerror = () => { y(d, ++p); }), l.replaceWith(H), P) return; } y(d, ++p); }; y(a, 0); }, He = "bottom", Ze = "left", wt = "center", ze = "right", je = "inline", Ct = "wide", kt = "pm--", Ne = ["middle", "top", He], ct = [Ze, wt, ze], At = { box: { Ee: [Ct, je], Ae: Ne, Ne: ct, He, Ve: ze }, cloud: { Ee: [je], Ae: Ne, Ne: ct, He, Ve: wt }, bar: { Ee: [je], Ae: Ne.slice(1), Ne: [], He, Ve: "" } }, Et = { box: { Ee: [], Ae: [], Ne: [], He: "", Ve: "" }, bar: { Ee: [Ct], Ae: [], Ne: [Ze, ze], He: "", Ve: Ze } }, St = (t) => { const n = r.o.i.guiOptions, o = n && n.consentModal, e = n && n.preferencesModal; t === 0 && it(r.ne.he, At, o, "cm--", "box", "cm"), t === 1 && it(r.ne.we, Et, e, kt, "box", "pm"); }, it = (t, n, o, e, i, c) => { t.className = c; const f = o && o.layout, s = o && o.position, a = o && o.flipButtons, u = !o || o.equalWeightButtons !== !1, y = f && f.split(" ") || [], d = y[0], p = y[1], g = d in n ? d : i, l = n[g], C = M(l.Ee, p) && p, k = s && s.split(" ") || [], S = k[0], _ = e === kt ? k[0] : k[1], b = M(l.Ae, S) ? S : l.He, w = M(l.Ne, _) ? _ : l.Ve, H = (D) => { D && x(t, e + D); }; H(g), H(C), H(b), H(w), a && H("flip"); const P = c + "__btn--secondary"; if (c === "cm") { const { Ie: D, Le: E } = r.ne; D && (u ? ie(D, P) : x(D, P)), E && (u ? ie(E, P) : x(E, P)); } else { const { je: D } = r.ne; D && (u ? ie(D, P) : x(D, P)); } }, be = (t, n) => { const o = r.o, e = r.ne, { hide: i, hidePreferences: c, acceptCategory: f } = t, s = (w) => { f(w), c(), i(); }, a = o.u && o.u.preferencesModal; if (!a) return; const u = a.title, y = a.closeIconLabel, d = a.acceptAllBtn, p = a.acceptNecessaryBtn, g = a.savePreferencesBtn, l = a.sections || [], C = d || p || g; if (e.Fe) e.Pe = m(T), L(e.Pe, "body"); else { e.Fe = m(T), x(e.Fe, "pm-wrapper"); const w = m("div"); x(w, "pm-overlay"), h(e.Fe, w), O(w, N, c), e.we = m(T), x(e.we, "pm"), v(e.we, "role", "dialog"), v(e.we, z, !0), v(e.we, "aria-modal", !0), v(e.we, "aria-labelledby", "pm__title"), O(e.ye, "keydown", (H) => { H.keyCode === 27 && c(); }, !0), e.Oe = m(T), L(e.Oe, "header"), e.Re = m("h2"), L(e.Re, "title"), e.Re.id = "pm__title", e.Be = m(U), L(e.Be, "close-btn"), v(e.Be, "aria-label", a.closeIconLabel || ""), O(e.Be, N, c), e.$e = m("span"), e.$e.innerHTML = Le(), h(e.Be, e.$e), e.Ge = m(T), L(e.Ge, "body"), e.Je = m(T), L(e.Je, "footer"); var k = m(T); x(k, "btns"); var S = m(T), _ = m(T); L(S, Se), L(_, Se), h(e.Je, S), h(e.Je, _), h(e.Oe, e.Re), h(e.Oe, e.Be), e.ve = m(T), v(e.ve, "tabIndex", -1), h(e.we, e.ve), h(e.we, e.Oe), h(e.we, e.Ge), C && h(e.we, e.Je), h(e.Fe, e.we); } let b; u && (e.Re.innerHTML = u, y && v(e.Be, "aria-label", y)), l.forEach((w, H) => { const P = w.title, D = w.description, E = w.linkedCategory, pe = E && o.P[E], le = w.cookieTable, q = le && le.body, ne = le && le.caption, G = q && q.length > 0, B = !!pe, Y = B && o.X[E], re = Ie(Y) && W(Y) || [], R = B && (!!D || !!G || W(Y).length > 0); var $ = m(T); if (L($, "section"), R || D) { var J = m(T); L(J, "section-desc-wrapper"); } let se = re.length; if (R && se > 0) { const j = m(T); L(j, "section-services"); for (const X of re) { const I = Y[X], Z = I && I.label || X, ue = m(T), de = m(T), we = m(T), he = m(T); L(ue, "service"), L(he, "service-title"), L(de, "service-header"), L(we, "service-icon"); const ee = lt(Z, X, pe, !0, E); he.innerHTML = Z, h(de, we), h(de, he), h(ue, de), h(ue, ee), h(j, ue); } h(J, j); } if (P) { var ae = m(T), F = m(B ? U : T); if (L(ae, "section-title-wrapper"), L(F, "section-title"), F.innerHTML = P, h(ae, F), B) { const j = m("span"); j.innerHTML = Le(2, 3.5), L(j, "section-arrow"), h(ae, j), $.className += "--toggle"; const X = lt(P, E, pe); let I = a.serviceCounterLabel; if (se > 0 && oe(I)) { let Z = m("span"); L(Z, "badge"), L(Z, "service-counter"), v(Z, z, !0), v(Z, "data-servicecounter", se), I && (I = I.split("|"), I = I.length > 1 && se > 1 ? I[1] : I[0], v(Z, "data-counterlabel", I)), Z.innerHTML = se + (I ? " " + I : ""), h(F, Z); } if (R) { L($, "section--expandable"); var tt = E + "-desc"; v(F, "aria-expanded", !1), v(F, "aria-controls", tt); } h(ae, X); } else v(F, "role", "heading"), v(F, "aria-level", "3"); h($, ae); } if (D) { var Re = m("p"); L(Re, "section-desc"), Re.innerHTML = D, h(J, Re); } if (R && (v(J, z, "true"), J.id = tt, ((j, X, I) => { O(F, N, () => { X.classList.contains("is-expanded") ? (ie(X, "is-expanded"), v(I, "aria-expanded", "false"), v(j, z, "true")) : (x(X, "is-expanded"), v(I, "aria-expanded", "true"), v(j, z, "false")); }); })(J, $, F), G)) { const j = m("table"), X = m("thead"), I = m("tbody"); if (ne) { const ee = m("caption"); L(ee, "table-caption"), ee.innerHTML = ne, j.appendChild(ee); } L(j, "section-table"), L(X, "table-head"), L(I, "table-body"); const Z = le.headers, ue = W(Z), de = e.Ue.createDocumentFragment(), we = m("tr"); for (const ee of ue) { const me = Z[ee], ce = m("th"); ce.id = "cc__row-" + me + H, v(ce, "scope", "col"), L(ce, "table-th"), ce.innerHTML = me, h(de, ce); } h(we, de), h(X, we); const he = e.Ue.createDocumentFragment(); for (const ee of q) { const me = m("tr"); L(me, "table-tr"); for (const ce of ue) { const ot = Z[ce], Rt = ee[ce], Ce = m("td"), nt = m(T); L(Ce, "table-td"), v(Ce, "data-column", ot), v(Ce, "headers", "cc__row-" + ot + H), nt.insertAdjacentHTML("beforeend", Rt), h(Ce, nt), h(me, Ce); } h(he, me); } h(I, he), h(j, X), h(j, I), h(J, j); } (R || D) && h($, J); const Pt = e.Pe || e.Ge; B ? (b || (b = m(T), L(b, "section-toggles")), b.appendChild($)) : b = null, h(Pt, b || $); }), d && (e.ze || (e.ze = m(U), L(e.ze, "btn"), v(e.ze, ye, "all"), h(S, e.ze), O(e.ze, N, () => s("all"))), e.ze.innerHTML = d), p && (e.je || (e.je = m(U), L(e.je, "btn"), v(e.je, ye, "necessary"), h(S, e.je), O(e.je, N, () => s([]))), e.je.innerHTML = p), g && (e.qe || (e.qe = m(U), L(e.qe, "btn"), L(e.qe, "btn--secondary"), v(e.qe, ye, "save"), h(_, e.qe), O(e.qe, N, () => s())), e.qe.innerHTML = g), e.Pe && (e.we.replaceChild(e.Pe, e.Ge), e.Ge = e.Pe), St(1), o.N || (o.N = !0, Q(r.re.ue, Je, e.we), n(t), h(e.Ce, e.Fe), bt(e.we), setTimeout(() => x(e.Fe, "cc--anim"), 100)), vt(2); }; function lt(t, n, o, e, i) { const c = r.o, f = r.ne, s = m("label"), a = m("input"), u = m("span"), y = m("span"), d = m("span"), p = m("span"), g = m("span"); if (p.innerHTML = Le(1, 3), g.innerHTML = Le(0, 3), a.type = "checkbox", x(s, "section__toggle-wrapper"), x(a, "section__toggle"), x(p, "toggle__icon-on"), x(g, "toggle__icon-off"), x(u, "toggle__icon"), x(y, "toggle__icon-circle"), x(d, "toggle__label"), v(u, z, "true"), e ? (x(s, "toggle-service"), v(a, Oe, i), f.se[i][n] = a) : f.ae[n] = a, e ? ((l) => { O(a, "change", () => { const C = f.se[l], k = f.ae[l]; c.Z[l] = []; for (let S in C) { const _ = C[S]; _.checked && c.Z[l].push(_.value); } k.checked = c.Z[l].length > 0; }); })(i) : ((l) => { O(a, N, () => { const C = f.se[l], k = a.checked; c.Z[l] = []; for (let S in C) C[S].checked = k, k && c.Z[l].push(S); }); })(n), a.value = n, d.textContent = t.replace(/<.*>.*<\/.*>/gm, ""), h(y, g), h(y, p), h(u, y), c.D) (o.readOnly || o.enabled) && (a.checked = !0); else if (e) { const l = c.Y[i]; a.checked = o.readOnly || M(l, n); } else M(c.R, n) && (a.checked = !0); return o.readOnly && (a.disabled = !0), h(s, a), h(s, u), h(s, d), s; } const Ae = () => { const t = m("span"); return r.ne.Ke || (r.ne.Ke = t), t; }, Ve = (t, n) => { const o = r.o, e = r.ne, { hide: i, showPreferences: c, acceptCategory: f } = t, s = o.u && o.u.consentModal; if (!s) return; const a = s.acceptAllBtn, u = s.acceptNecessaryBtn, y = s.showPreferencesBtn, d = s.closeIconLabel, p = s.footer, g = s.label, l = s.title, C = (S) => { i(), f(S); }; if (!e.Qe) { e.Qe = m(T), e.he = m(T), e.We = m(T), e.Xe = m(T), e.Ye = m(T), x(e.Qe, "cm-wrapper"), x(e.he, "cm"), A(e.We, "body"), A(e.Xe, "texts"), A(e.Ye, "btns"), v(e.he, "role", "dialog"), v(e.he, "aria-modal", "true"), v(e.he, z, "false"), v(e.he, "aria-describedby", "cm__desc"), g ? v(e.he, "aria-label", g) : l && v(e.he, "aria-labelledby", "cm__title"); const S = "box", _ = o.i.guiOptions, b = _ && _.consentModal, w = (b && b.layout || S).split(" ")[0] === S; l && d && w && (e.Le || (e.Le = m(U), e.Le.innerHTML = Le(), A(e.Le, "btn"), A(e.Le, "btn--close"), O(e.Le, N, () => { C([]); }), h(e.We, e.Le)), v(e.Le, "aria-label", d)), h(e.We, e.Xe), (a || u || y) && h(e.We, e.Ye), e.be = m(T), v(e.be, "tabIndex", -1), h(e.he, e.be), h(e.he, e.We), h(e.Qe, e.he); } l && (e.Ze || (e.Ze = m("h2"), e.Ze.className = e.Ze.id = "cm__title", h(e.Xe, e.Ze)), e.Ze.innerHTML = l); let k = s.description; if (k && (o.V && (k = k.replace("{{revisionMessage}}", o.I ? "" : s.revisionMessage || "")), e.et || (e.et = m("p"), e.et.className = e.et.id = "cm__desc", h(e.Xe, e.et)), e.et.innerHTML = k), a && (e.tt || (e.tt = m(U), h(e.tt, Ae()), A(e.tt, "btn"), v(e.tt, ye, "all"), O(e.tt, N, () => { C("all"); })), e.tt.firstElementChild.innerHTML = a), u && (e.Ie || (e.Ie = m(U), h(e.Ie, Ae()), A(e.Ie, "btn"), v(e.Ie, ye, "necessary"), O(e.Ie, N, () => { C([]); })), e.Ie.firstElementChild.innerHTML = u), y && (e.ot || (e.ot = m(U), h(e.ot, Ae()), A(e.ot, "btn"), A(e.ot, "btn--secondary"), v(e.ot, ye, "show"), O(e.ot, "mouseenter", () => { o.N || be(t, n); }), O(e.ot, N, c)), e.ot.firstElementChild.innerHTML = y), e.nt || (e.nt = m(T), A(e.nt, Se), a && h(e.nt, e.tt), u && h(e.nt, e.Ie), (a || u) && h(e.We, e.nt), h(e.Ye, e.nt)), e.ot && !e.st && (e.st = m(T), e.Ie && e.tt ? (A(e.st, Se), h(e.st, e.ot), h(e.Ye, e.st)) : (h(e.nt, e.ot), A(e.nt, Se + "--uneven"))), p) { if (!e.ct) { let S = m(T), _ = m(T); e.ct = m(T), A(S, "footer"), A(_, "links"), A(e.ct, "link-group"), h(_, e.ct), h(S, _), h(e.he, S); } e.ct.innerHTML = p; } St(0), o.T || (o.T = !0, Q(r.re.ue, Ge, e.he), n(t), h(e.Ce, e.Qe), bt(e.he), setTimeout(() => x(e.Qe, "cc--anim"), 100)), vt(1), mt(e.We, t, be, n); }, We = (t) => { if (!oe(t)) return null; if (t in r.o._) return t; let n = t.slice(0, 2); return n in r.o._ ? n : null; }, Ke = () => r.o.l || r.o.i.language.default, Qe = (t) => { t && (r.o.l = t); }, Lt = async (t) => { const n = r.o; let o = We(t) ? t : Ke(), e = n._[o]; if (oe(e) ? e = await (async (i) => { try { return await (await fetch(i)).json(); } catch (c) { return console.error(c), !1; } })(e) : V(e) && (e = await e()), !e) throw `Could not load translation for the '${o}' language`; return n.u = e, Qe(o), !0; }, _t = () => { let t = r.o.i.language.rtl, n = r.ne.Ce; t && n && (ve(t) || (t = [t]), M(t, r.o.l) ? x(n, "cc--rtl") : ie(n, "cc--rtl")); }, fe = () => { const t = r.ne; if (t.Ce) return; t.Ce = m(T), t.Ce.id = "cc-main", t.Ce.setAttribute("data-nosnippet", ""), _t(); let n = r.o.i.root; n && oe(n) && (n = document.querySelector(n)), (n || t.Ue.body).appendChild(t.Ce); }, Tt = (t) => _e(() => localStorage.removeItem(t)), ut = (t, n) => { if (n instanceof RegExp) return t.filter((o) => n.test(o)); { const o = pt(t, n); return o > -1 ? [t[o]] : []; } }, Mt = (t) => { const { hostname: n, protocol: o } = location, { name: e, path: i, domain: c, sameSite: f, useLocalStorage: s, secure: a } = r.t.cookie, u = t ? (() => { const g = r.o.S, l = g ? /* @__PURE__ */ new Date() - g : 0; return 864e5 * st() - l; })() : 864e5 * st(), y = /* @__PURE__ */ new Date(); y.setTime(y.getTime() + u), r.o.p.expirationTime = y.getTime(); const d = JSON.stringify(r.o.p); let p = e + "=" + encodeURIComponent(d) + (u !== 0 ? "; expires=" + y.toUTCString() : "") + "; Path=" + i + "; SameSite=" + f; M(n, ".") && (p += "; Domain=" + c), a && o === "https:" && (p += "; Secure"), s ? ((g, l) => { _e(() => localStorage.setItem(g, l)); })(e, d) : document.cookie = p, r.o.p; }, Fe = (t, n, o) => { if (t.length === 0) return; const e = o || r.t.cookie.domain, i = n || r.t.cookie.path, c = e.slice(0, 4) === "www.", f = c && e.substring(4), s = (a, u) => { u && u.slice(0, 1) !== "." && (u = "." + u), document.cookie = a + "=; path=" + i + (u ? "; domain=" + u : "") + "; expires=Thu, 01 Jan 1970 00:00:01 GMT;"; }; for (const a of t) s(a, o), o || s(a, e), c && s(a, f); }, xt = (t) => { const n = t || r.t.cookie.name, o = r.t.cookie.useLocalStorage; return ((i, c) => { let f; return f = _e(() => JSON.parse(c ? i : decodeURIComponent(i)), !0) || {}, f; })(o ? (e = n, _e(() => localStorage.getItem(e)) || "") : et(n, !0), o); var e; }, et = (t, n) => { const o = document.cookie.match("(^|;)\\s*" + t + "\\s*=\\s*([^;]+)"); return o ? n ? o.pop() : t : ""; }, Dt = (t) => { const n = document.cookie.split(/;\s*/), o = []; for (const e of n) { let i = e.split("=")[0]; t ? _e(() => { t.test(i) && o.push(i); }) : o.push(i); } return o; }, Ht = (t, n = []) => { ((o, e) => { const { O: i, R: c, B: f, N: s, Z: a, $: u, X: y } = r.o; let d = []; if (o) { ve(o) ? d.push(...o) : oe(o) && (d = o === "all" ? i : [o]); for (const p of i) a[p] = M(d, p) ? W(y[p]) : []; } else d = [...c, ...u], s && (d = (() => { const p = r.ne.ae; if (!p) return []; let g = []; for (let l in p) p[l].checked && g.push(l); return g; })()); d = d.filter((p) => !M(i, p) || !M(e, p)), d.push(...f), ht(d); })(t, n), (() => { const o = r.o, { Z: e, B: i, Y: c, X: f, O: s } = o, a = s; o.te = te(c); for (const u of a) { const y = f[u], d = W(y), p = e[u] && e[u].length > 0, g = M(i, u); if (d.length !== 0) { if (c[u] = [], g) c[u].push(...d); else if (p) { const l = e[u]; c[u].push(...l); } else c[u] = o.Z[u]; c[u] = $e(c[u]); } } })(), (() => { const o = r.o; o.L = r.t.mode === ke && o.D ? De(o.$, o.R) : De(o.R, o.p.categories); let e = o.L.length > 0, i = !1; for (const a of o.O) o.ee[a] = De(o.Y[a], o.te[a]), o.ee[a].length > 0 && (i = !0); const c = r.ne.ae; for (const a in c) c[a].checked = M(o.R, a); for (const a of o.O) { const u = r.ne.se[a], y = o.Y[a]; for (const d in u) u[d].checked = M(y, d); } o.C || (o.C = /* @__PURE__ */ new Date()), o.M || (o.M = ("10000000-1000-4000-8000" + -1e11).replace(/[018]/g, (a) => (a ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> a / 4).toString(16))), o.p = { categories: te(o.R), revision: r.t.revision, data: o.h, consentTimestamp: o.C.toISOString(), consentId: o.M, services: te(o.Y), languageCode: r.o.l }, o.S && (o.p.lastConsentTimestamp = o.S.toISOString()); let f = !1; const s = e || i; (o.D || s) && (o.D && (o.D = !1, f = !0), o.S = o.S ? /* @__PURE__ */ new Date() : o.C, o.p.lastConsentTimestamp = o.S.toISOString(), Mt(), r.t.autoClearCookies && (f || s) && ((a) => { const u = r.o, y = Dt(), d = ((p) => { const g = r.o; return (p ? g.O : g.L).filter((l) => { const C = g.P[l]; return !!C && !C.readOnly && !!C.autoClear; }); })(a); for (const p in u.ee) for (const g of u.ee[p]) { const l = u.X[p][g].cookies; if (!M(u.Y[p], g) && l) for (const C of l) { const k = ut(y, C.name); Fe(k, C.path, C.domain); } } for (const p of d) { const g = u.P[p].autoClear, l = g && g.cookies || [], C = M(u.L, p), k = !M(u.R, p), S = C && k; if (a ? k : S) { g.reloadPage && S && (u.j = !0); for (const _ of l) { const b = ut(y, _.name); Fe(b, _.path, _.domain); } } } })(f), Ye()), f && (Q(r.re.ie), Q(r.re.le), r.t.mode === dt) || (s && Q(r.re.de), o.j && (o.j = !1, location.reload())); })(); }, Yt = (t) => { const n = r.o.D ? [] : r.o.R; return M(n, t); }, $t = (t, n) => { const { O: o, X: e } = r.o; if (!(t && n && oe(n) && M(o, n) && W(e[n]).length !== 0)) return !1; ((i, c) => { const f = r.o, { X: s, Z: a, N: u } = f, y = r.ne.se[c] || {}, d = r.ne.ae[c] || {}, p = W(s[c]); if (a[c] = [], oe(i)) { if (i === "all") { if (a[c].push(...p), u) for (let l in y) y[l].checked = !0, Me(y[l]); } else if (M(p, i) && a[c].push(i), u) for (let l in y) y[l].checked = i === l, Me(y[l]); } else if (ve(i)) for (let l of p) { const C = M(i, l); C && a[c].push(l), u && (y[l].checked = C, Me(y[l])); } const g = a[c].length === 0; f.R = g ? f.R.filter((l) => l !== c) : $e([...f.R, c]), u && (d.checked = !g, Me(d)); })(t, n), Ht(); }, Zt = (t, n) => { const o = r.o.D ? [] : r.o.Y[n] || []; return M(o, t); }, Ut = (t) => et(t, !0) !== "", Ft = (t, n, o) => { let e = []; const i = (c) => { if (oe(c)) { let f = et(c); f !== "" && e.push(f); } else e.push(...Dt(c)); }; if (ve(t)) for (let c of t) i(c); else i(t); Fe(e, n, o); }, Ot = (t) => { const { ne: n, o } = r; if (!o.k) { if (!o.T) { if (!t) return; Ve(Te, fe); } o.k = !0, o.J = Pe(), o.v && yt(!0), gt(n.he, 1), x(n.ye, Xe), v(n.he, z, "false"), setTimeout(() => { K(r.ne.be); }, 100), Q(r.re.fe, Ge); } }, Xt = () => { const { ne: t, o: n, re: o } = r; n.k && (n.k = !1, n.v && yt(), K(t.Ke, !0), ie(t.ye, Xe), v(t.he, z, "true"), K(n.J), n.J = null, Q(o._e, Ge)); }, qt = () => { const t = r.o; t.A || (t.N || be(Te, fe), t.A = !0, t.k ? t.U = Pe() : t.J = Pe(), gt(r.ne.we, 2), x(r.ne.ye, qe), v(r.ne.we, z, "false"), setTimeout(() => { K(r.ne.ve); }, 100), Q(r.re.fe, Je)); }, Gt = () => { const t = r.o; t.A && (t.A = !1, (() => { const n = It(), o = r.o.P, e = r.ne.ae, i = r.ne.se, c = (f) => M(r.o.$, f); for (const f in e) { const s = !!o[f].readOnly; e[f].checked = s || (n ? Yt(f) : c(f)); for (const a in i[f]) i[f][a].checked = s || (n ? Zt(a, f) : c(f)); } })(), K(r.ne.$e, !0), ie(r.ne.ye, qe), v(r.ne.we, z, "true"), t.k ? (K(t.U), t.U = null) : (K(t.J), t.J = null), Q(r.re._e, Je)); }; var Te = { show: Ot, hide: Xt, showPreferences: qt, hidePreferences: Gt, acceptCategory: Ht }; const zt = async (t, n) => { if (!We(t)) return !1; const o = r.o; return !(t === Ke() && n !== !0 || !await Lt(t) || (Qe(t), o.T && Ve(Te, fe), o.N && be(Te, fe), _t(), 0)); }, Vt = () => { const { F: t, Y: n } = r.o, { accepted: o, rejected: e } = (() => { const { D: i, R: c, O: f } = r.o; return { accepted: c, rejected: i ? [] : f.filter((s) => !M(c, s)) }; })(); return te({ acceptType: t, acceptedCategories: o, rejectedCategories: e, acceptedServices: n, rejectedServices: Bt() }); }, Wt = (t, n) => { let o = document.querySelector('script[src="' + t + '"]'); return new Promise((e) => { if (o) return e(!0); if (o = m("script"), Ie(n)) for (const i in n) v(o, i, n[i]); o.onload = () => e(!0), o.onerror = () => { o.remove(), e(!1); }, o.src = t, h(document.head, o); }); }, Kt = (t) => { let n, o = t.value, e = t.mode, i = !1; const c = r.o; if (e === "update") { c.h = n = Jt("data"); const f = typeof n == typeof o; if (f && typeof n == "object") { !n && (n = {}); for (let s in o) n[s] !== o[s] && (n[s] = o[s], i = !0); } else !f && n || n === o || (n = o, i = !0); } else n = o, i = !0; return i && (c.h = n, c.p.data = n, Mt(!0)), i; }, Jt = (t, n) => { const o = xt(n); return t ? o[t] : o; }, Qt = (t) => { const n = r.t, o = r.o.i; return t ? n[t] || o[t] : { ...n, ...o, cookie: { ...n.cookie } }; }, It = () => !r.o.D, eo = async (t) => { const { o: n, t: o, re: e } = r, i = window; if (!i._ccRun) { if (i._ccRun = !0, ((s) => { const { ne: a, t: u, o: y } = r, d = u, p = y, { cookie: g } = d, l = r.ce, C = s.cookie, k = s.categories, S = W(k) || [], _ = navigator, b = document; a.Ue = b, a.ye = b.documentElement, g.domain = location.hostname, p.i = s, p.P = k, p.O = S, p._ = s.language.translations, p.v = !!s.disablePageInteraction, l.ie = s.onFirstConsent, l.le = s.onConsent, l.de = s.onChange, l._e = s.onModalHide, l.fe = s.onModalShow, l.ue = s.onModalReady; const { mode: w, autoShow: H, lazyHtmlGeneration: P, autoClearCookies: D, revision: E, manageScriptTags: pe, hideFromBots: le } = s; w === ke && (d.mode = w), typeof D == "boolean" && (d.autoClearCookies = D), typeof pe == "boolean" && (d.manageScriptTags = pe), typeof E == "number" && E >= 0 && (d.revision = E, p.V = !0), typeof H == "boolean" && (d.autoShow = H), typeof P == "boolean" && (d.lazyHtmlGeneration = P), le === !1 && (d.hideFromBots = !1), d.hideFromBots === !0 && _ && (p.G = _.userAgent && /bot|crawl|spider|slurp|teoma/i.test(_.userAgent) || _.webdriver), Ie(C) && (d.cookie = { ...g, ...C }), d.autoClearCookies, p.V, d.manageScriptTags, ((q) => { const { P: ne, X: G, Y: B, Z: Y, B: re } = r.o; for (let R of q) { const $ = ne[R], J = $.services || {}, se = Ie(J) && W(J) || []; G[R] = {}, B[R] = [], Y[R] = [], $.readOnly && (re.push(R), B[R] = se), r.ne.se[R] = {}; for (let ae of se) { const F = J[ae]; F.Se = !1, G[R][ae] = F; } } })(S), (() => { if (!r.t.manageScriptTags) return; const q = r.o, ne = Ue(document, "script[" + Oe + "]"); for (const G of ne) { let B = xe(G, Oe), Y = G.dataset.service || "", re = !1; if (B && B.charAt(0) === "!" && (B = B.slice(1), re = !0), Y.charAt(0) === "!" && (Y = Y.slice(1), re = !0), M(q.O, B) && (q.oe.push({ Me: G, xe: !1, ke: re, De: B, Te: Y }), Y)) { const R = q.X[B]; R[Y] || (R[Y] = { Se: !1 }); } } })(), Qe((() => { const q = r.o.i.language.autoDetect; if (q) { const ne = { browser: navigator.language, document: document.documentElement.lang }, G = We(ne[q]); if (G) return G; } return Ke(); })()); })(t), n.G) return; (() => { const s = r.o, a = r.t, u = xt(), { categories: y, services: d, consentId: p, consentTimestamp: g, lastConsentTimestamp: l, data: C, revision: k } = u, S = ve(y); s.p = u, s.M = p; const _ = !!p && oe(p); s.C = g, s.C && (s.C = new Date(g)), s.S = l, s.S && (s.S = new Date(l)), s.h = C !== void 0 ? C : null, s.V && _ && k !== a.revision && (s.I = !1), s.D = !(_ && s.I && s.C && s.S && S), a.cookie.useLocalStorage && !s.D && (s.D = (/* @__PURE__ */ new Date()).getTime() > (u.expirationTime || 0), s.D && Tt(a.cookie.name)), s.D, (() => { const b = r.o; for (const w of b.O) { const H = b.P[w]; if (H.readOnly || H.enabled) { b.$.push(w); const P = b.X[w] || {}; for (let D in P) b.Z[w].push(D), b.i.mode === ke && b.Y[w].push(D); } } })(), s.D ? a.mode === ke && (s.R = [...s.$]) : (s.Y = { ...s.Y, ...d }, s.Z = { ...s.Y }, ht([...s.B, ...y])); })(); const f = It(); if (!await Lt()) return !1; if (mt(null, c = Te, be, fe), r.o.D && Ve(c, fe), r.t.lazyHtmlGeneration || be(c, fe), o.autoShow && !f && Ot(!0), f) return Ye(), Q(e.le); o.mode === ke && Ye(n.$); } var c; }, to = (t) => { const { Ce: n, ye: o } = r.ne, { name: e, path: i, domain: c, useLocalStorage: f } = r.t.cookie; t && (f ? Tt(e) : Ft(e, i, c)); for (const { pe: a, ge: u, me: y } of r.o.m) a.removeEventListener(u, y); n && n.remove(), o && o.classList.remove(Ee, qe, Xe); const s = new ft(); for (const a in r) r[a] = s[a]; window._ccRun = !1; }; export { Ht as acceptCategory, $t as acceptService, Yt as acceptedCategory, Zt as acceptedService, Ft as eraseCookies, Qt as getConfig, Jt as getCookie, Vt as getUserPreferences, Xt as hide, Gt as hidePreferences, Wt as loadScript, to as reset, eo as run, Kt as setCookieData, zt as setLanguage, Ot as show, qt as showPreferences, It as validConsent, Ut as validCookie }; //# sourceMappingURL=paella-extra-plugins-cookieconsent.es.js.map