PageSourceSearch

https://www.rhenania.de/modules/pc/accessibility/assets/js/accessibility-widget.min.js

js rhenania.de collected 2026-10-09 23:02:19 UTC 61,948 bytes, 409 lines download raw bytes

vendor: 11,867 bytes, lines 1-12
1/**
2 * @license
3 * Copyright 2019 Google LLC
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6const $c6bd03dca0294ca2$var$tt = globalThis, $c6bd03dca0294ca2$export$b4d10f6001c083c2 = $c6bd03dca0294ca2$var$tt.ShadowRoot && (void 0 === $c6bd03dca0294ca2$var$tt.ShadyCSS || $c6bd03dca0294ca2$var$tt.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, $c6bd03dca0294ca2$var$it = Symbol(), $c6bd03dca0294ca2$var$et = new WeakMap; class $c6bd03dca0294ca2$export$505d1e8739bad805 { constructor(t, s, i) { if (this._$cssResult$ = !0, i !== $c6bd03dca0294ca2$var$it) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead."); this.cssText = t, this.t = s } get styleSheet () { let t = this.i; const s = this.t; if ($c6bd03dca0294ca2$export$b4d10f6001c083c2 && void 0 === t) { const i = void 0 !== s && 1 === s.length; i && (t = $c6bd03dca0294ca2$var$et.get(s)), void 0 === t && ((this.i = t = new CSSStyleSheet).replaceSync(this.cssText), i && $c6bd03dca0294ca2$var$et.set(s, t)) } return t } toString () { return this.cssText } } const $c6bd03dca0294ca2$export$8d80f9cac07cdb3 = t => new $c6bd03dca0294ca2$export$505d1e8739bad805("string" == typeof t ? t : t + "", void 0, $c6bd03dca0294ca2$var$it), $c6bd03dca0294ca2$export$dbf350e5966cf602 = (t, ...s) => { const i = 1 === t.length ? t[0] : s.reduce((s, i, e) => s + (t => { if (!0 === t._$cssResult$) return t.cssText; if ("number" == typeof t) return t; throw Error("Value passed to 'css' function must be a 'css' function result: " + t + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.") })(i) + t[e + 1], t[0]); return new $c6bd03dca0294ca2$export$505d1e8739bad805(i, t, $c6bd03dca0294ca2$var$it) }, $c6bd03dca0294ca2$export$2ca4a66ec4cecb90 = (t, s) => { if ($c6bd03dca0294ca2$export$b4d10f6001c083c2) t.adoptedStyleSheets = s.map(t => t instanceof CSSStyleSheet ? t : t.styleSheet); else for (const i of s) { const s = document.createElement("style"), e = $c6bd03dca0294ca2$var$tt.litNonce; void 0 !== e && s.setAttribute("nonce", e), s.textContent = i.cssText, t.appendChild(s) } }, $c6bd03dca0294ca2$export$ee69dfd951e24778 = $c6bd03dca0294ca2$export$b4d10f6001c083c2 ? t => t : t => t instanceof CSSStyleSheet ? (t => { let s = ""; for (const i of t.cssRules) s += i.cssText; return $c6bd03dca0294ca2$export$8d80f9cac07cdb3(s) })(t) : t, { is: $c6bd03dca0294ca2$var$at, defineProperty: $c6bd03dca0294ca2$var$lt, getOwnPropertyDescriptor: $c6bd03dca0294ca2$var$ut, getOwnPropertyNames: $c6bd03dca0294ca2$var$dt, getOwnPropertySymbols: $c6bd03dca0294ca2$var$ft, getPrototypeOf: $c6bd03dca0294ca2$var$pt } = Object, $c6bd03dca0294ca2$var$vt = globalThis, $c6bd03dca0294ca2$var$mt = $c6bd03dca0294ca2$var$vt.trustedTypes, $c6bd03dca0294ca2$var$yt = $c6bd03dca0294ca2$var$mt ? $c6bd03dca0294ca2$var$mt.emptyScript : "", $c6bd03dca0294ca2$var$gt = $c6bd03dca0294ca2$var$vt.reactiveElementPolyfillSupport, $c6bd03dca0294ca2$var$_t = (t, s) => t, $c6bd03dca0294ca2$export$7312b35fbf521afb = { toAttribute (t, s) { switch (s) { case Boolean: t = t ? $c6bd03dca0294ca2$var$yt : null; break; case Object: case Array: t = null == t ? t : JSON.stringify(t) }return t }, fromAttribute (t, s) { let i = t; switch (s) { case Boolean: i = null !== t; break; case Number: i = null === t ? null : Number(t); break; case Object: case Array: try { i = JSON.parse(t) } catch (t) { i = null } }return i } }, $c6bd03dca0294ca2$export$53a6892c50694894 = (t, s) => !$c6bd03dca0294ca2$var$at(t, s), $c6bd03dca0294ca2$var$wt = { attribute: !0, type: String, converter: $c6bd03dca0294ca2$export$7312b35fbf521afb, reflect: !1, hasChanged: $c6bd03dca0294ca2$export$53a6892c50694894 }; Symbol.metadata ??= Symbol("metadata"), $c6bd03dca0294ca2$var$vt.litPropertyMetadata ??= new WeakMap; class $c6bd03dca0294ca2$export$c7c07a37856565d extends HTMLElement { static addInitializer (t) { this.o(), (this.l ??= []).push(t) } static get observedAttributes () { return this.finalize(), this.u && [...this.u.keys()] } static createProperty (t, s = $c6bd03dca0294ca2$var$wt) { if (s.state && (s.attribute = !1), this.o(), this.elementProperties.set(t, s), !s.noAccessor) { const i = Symbol(), e = this.getPropertyDescriptor(t, i, s); void 0 !== e && $c6bd03dca0294ca2$var$lt(this.prototype, t, e) } } static getPropertyDescriptor (t, s, i) { const { get: e, set: h } = $c6bd03dca0294ca2$var$ut(this.prototype, t) ?? { get () { return this[s] }, set (t) { this[s] = t } }; return { get () { return e?.call(this) }, set (s) { const o = e?.call(this); h.call(this, s), this.requestUpdate(t, o, i) }, configurable: !0, enumerable: !0 } } static getPropertyOptions (t) { return this.elementProperties.get(t) ?? $c6bd03dca0294ca2$var$wt } static o () { if (this.hasOwnProperty($c6bd03dca0294ca2$var$_t("elementProperties"))) return; const t = $c6bd03dca0294ca2$var$pt(this); t.finalize(), void 0 !== t.l && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties) } static finalize () { if (this.hasOwnProperty($c6bd03dca0294ca2$var$_t("finalized"))) return; if (this.finalized = !0, this.o(), this.hasOwnProperty($c6bd03dca0294ca2$var$_t("properties"))) { const t = this.properties, s = [...$c6bd03dca0294ca2$var$dt(t), ...$c6bd03dca0294ca2$var$ft(t)]; for (const i of s) this.createProperty(i, t[i]) } const t = this[Symbol.metadata]; if (null !== t) { const s = litPropertyMetadata.get(t); if (void 0 !== s) for (const [t, i] of s) this.elementProperties.set(t, i) } this.u = new Map; for (const [t, s] of this.elementProperties) { const i = this.p(t, s); void 0 !== i && this.u.set(i, t) } this.elementStyles = this.finalizeStyles(this.styles) } static finalizeStyles (t) { const s = []; if (Array.isArray(t)) { const i = new Set(t.flat(1 / 0).reverse()); for (const t of i) s.unshift($c6bd03dca0294ca2$export$ee69dfd951e24778(t)) } else void 0 !== t && s.push($c6bd03dca0294ca2$export$ee69dfd951e24778(t)); return s } static p (t, s) { const i = s.attribute; return !1 === i ? void 0 : "string" == typeof i ? i : "string" == typeof t ? t.toLowerCase() : void 0 } constructor() { super(), this.v = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this.m = null, this._() } _ () { this.S = new Promise(t => this.enableUpdating = t), this._$AL = new Map, this.$(), this.requestUpdate(), this.constructor.l?.forEach(t => t(this)) } addController (t) { (this.P ??= new Set).add(t), void 0 !== this.renderRoot && this.isConnected && t.hostConnected?.() } removeController (t) { this.P?.delete(t) } $ () { const t = new Map, s = this.constructor.elementProperties; for (const i of s.keys()) this.hasOwnProperty(i) && (t.set(i, this[i]), delete this[i]); t.size > 0 && (this.v = t) } createRenderRoot () { const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions); return $c6bd03dca0294ca2$export$2ca4a66ec4cecb90(t, this.constructor.elementStyles), t } connectedCallback () { this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(!0), this.P?.forEach(t => t.hostConnected?.()) } enableUpdating (t) { } disconnectedCallback () { this.P?.forEach(t => t.hostDisconnected?.()) } attributeChangedCallback (t, s, i) { this._$AK(t, i) } C (t, s) { const i = this.constructor.elementProperties.get(t), e = this.constructor.p(t, i); if (void 0 !== e && !0 === i.reflect) { const h = (void 0 !== i.converter?.toAttribute ? i.converter : $c6bd03dca0294ca2$export$7312b35fbf521afb).toAttribute(s, i.type); this.m = t, null == h ? this.removeAttribute(e) : this.setAttribute(e, h), this.m = null } } _$AK (t, s) { const i = this.constructor, e = i.u.get(t); if (void 0 !== e && this.m !== e) { const t = i.getPropertyOptions(e), h = "function" == typeof t.converter ? { fromAttribute: t.converter } : void 0 !== t.converter?.fromAttribute ? t.converter : $c6bd03dca0294ca2$export$7312b35fbf521afb; this.m = e, this[e] = h.fromAttribute(s, t.type), this.m = null } } requestUpdate (t, s, i) { if (void 0 !== t) { if (i ??= this.constructor.getPropertyOptions(t), !(i.hasChanged ?? $c6bd03dca0294ca2$export$53a6892c50694894)(this[t], s)) return; this.T(t, s, i) } !1 === this.isUpdatePending && (this.S = this.M()) } T (t, s, i) { this._$AL.has(t) || this._$AL.set(t, s), !0 === i.reflect && this.m !== t && (this.k ??= new Set).add(t) } async M () { this.isUpdatePending = !0; try { await this.S } catch (t) { Promise.reject(t) } const t = this.scheduleUpdate(); return null != t && await t, !this.isUpdatePending } scheduleUpdate () { return this.performUpdate() } performUpdate () { if (!this.isUpdatePending) return; if (!this.hasUpdated) { if (this.renderRoot ??= this.createRenderRoot(), this.v) { for (const [t, s] of this.v) this[t] = s; this.v = void 0 } const t = this.constructor.elementProperties; if (t.size > 0) for (const [s, i] of t) !0 !== i.wrapped || this._$AL.has(s) || void 0 === this[s] || this.T(s, this[s], i) } let t = !1; const s = this._$AL; try { t = this.shouldUpdate(s), t ? (this.willUpdate(s), this.P?.forEach(t => t.hostUpdate?.()), this.update(s)) : this.A() } catch (s) { throw t = !1, this.A(), s } t && this._$AE(s) } willUpdate (t) { } _$AE (t) { this.P?.forEach(t => t.hostUpdated?.()), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t) } A () { this._$AL = new Map, this.isUpdatePending = !1 } get updateComplete () { return this.getUpdateComplete() } getUpdateComplete () { return this.S } shouldUpdate (t) { return !0 } update (t) { this.k &&= this.k.forEach(t => this.C(t, this[t])), this.A() } updated (t) { } firstUpdated (t) { } } $c6bd03dca0294ca2$export$c7c07a37856565d.elementStyles = [], $c6bd03dca0294ca2$export$c7c07a37856565d.shadowRootOptions = { mode: "open" }, $c6bd03dca0294ca2$export$c7c07a37856565d[$c6bd03dca0294ca2$var$_t("elementProperties")] = new Map, $c6bd03dca0294ca2$export$c7c07a37856565d[$c6bd03dca0294ca2$var$_t("finalized")] = new Map, $c6bd03dca0294ca2$var$gt?.({ ReactiveElement: $c6bd03dca0294ca2$export$c7c07a37856565d }), ($c6bd03dca0294ca2$var$vt.reactiveElementVersions ??= []).push("2.0.4");
7/**
8 * @license
9 * Copyright 2017 Google LLC
10 * SPDX-License-Identifier: BSD-3-Clause
11 */
12const $c6bd03dca0294ca2$var$Pt = globalThis, $c6bd03dca0294ca2$var$Ct = $c6bd03dca0294ca2$var$Pt.trustedTypes, $c6bd03dca0294ca2$var$Tt = $c6bd03dca0294ca2$var$Ct ? $c6bd03dca0294ca2$var$Ct.createPolicy("lit-html", { createHTML: t => t }) : void 0, $c6bd03dca0294ca2$var$xt = "$lit$", $c6bd03dca0294ca2$var$Mt = `lit$${Math.random().toFixed(9).slice(2)}$`, $c6bd03dca0294ca2$var$kt = "?" + $c6bd03dca0294ca2$var$Mt, $c6bd03dca0294ca2$var$At = `<${$c6bd03dca0294ca2$var$kt}>`, $c6bd03dca0294ca2$var$Et = document, $c6bd03dca0294ca2$var$Ut = () => $c6bd03dca0294ca2$var$Et.createComment(""), $c6bd03dca0294ca2$var$Nt = t => null === t || "object" != typeof t && "function" != typeof t, $c6bd03dca0294ca2$var$Ot = Array.isArray, $c6bd03dca0294ca2$var$Rt = t => $c6bd03dca0294ca2$var$Ot(t) || "function" == typeof t?.[Symbol.iterator], $c6bd03dca0294ca2$var$zt = "[ \t\n\f\r]", $c6bd03dca0294ca2$var$Vt = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, $c6bd03dca0294ca2$var$Lt = /-->/g, $c6bd03dca0294ca2$var$It = />/g, $c6bd03dca0294ca2$var$jt = RegExp(`>|${$c6bd03dca0294ca2$var$zt}(?:([^\\s"'>=/]+)(${$c6bd03dca0294ca2$var$zt}*=${$c6bd03dca0294ca2$var$zt}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`, "g"), $c6bd03dca0294ca2$var$Dt = /'/g, $c6bd03dca0294ca2$var$Ht = /"/g, $c6bd03dca0294ca2$var$Bt = /^(?:script|style|textarea|title)$/i, $c6bd03dca0294ca2$var$Wt = t => (s, ...i) => ({ _$litType$: t, strings: s, values: i }), $c6bd03dca0294ca2$export$c0bb0b647f701bb5 = $c6bd03dca0294ca2$var$Wt(1), $c6bd03dca0294ca2$export$7ed1367e7fa1ad68 = $c6bd03dca0294ca2$var$Wt(2), $c6bd03dca0294ca2$export$47d5b44d225be5b4 = $c6bd03dca0294ca2$var$Wt(3), $c6bd03dca0294ca2$export$9c068ae9cc5db4e8 = Symbol.for("lit-noC
12hange"), $c6bd03dca0294ca2$export$45b790e32b2810ee = Symbol.for("lit-nothing"), $c6bd03dca0294ca2$var$Kt = new WeakMap, $c6bd03dca0294ca2$var$Qt = $c6bd03dca0294ca2$var$Et.createTreeWalker($c6bd03dca0294ca2$var$Et, 129); function $c6bd03dca0294ca2$var$Xt (t, s) { if (!$c6bd03dca0294ca2$var$Ot(t) || !t.hasOwnProperty("raw")) throw Error("invalid template strings array"); return void 0 !== $c6bd03dca0294ca2$var$Tt ? $c6bd03dca0294ca2$var$Tt.createHTML(s) : s } const $c6bd03dca0294ca2$var$Yt = (t, s) => { const i = t.length - 1, e = []; let h, o = 2 === s ? "<svg>" : 3 === s ? "<math>" : "", r = $c6bd03dca0294ca2$var$Vt; for (let s = 0; s < i; s++) { const i = t[s]; let n, c, a = -1, l = 0; for (; l < i.length && (r.lastIndex = l, c = r.exec(i), null !== c);)l = r.lastIndex, r === $c6bd03dca0294ca2$var$Vt ? "!--" === c[1] ? r = $c6bd03dca0294ca2$var$Lt : void 0 !== c[1] ? r = $c6bd03dca0294ca2$var$It : void 0 !== c[2] ? ($c6bd03dca0294ca2$var$Bt.test(c[2]) && (h = RegExp("</" + c[2], "g")), r = $c6bd03dca0294ca2$var$jt) : void 0 !== c[3] && (r = $c6bd03dca0294ca2$var$jt) : r === $c6bd03dca0294ca2$var$jt ? ">" === c[0] ? (r = h ?? $c6bd03dca0294ca2$var$Vt, a = -1) : void 0 === c[1] ? a = -2 : (a = r.lastIndex - c[2].length, n = c[1], r = void 0 === c[3] ? $c6bd03dca0294ca2$var$jt : '"' === c[3] ? $c6bd03dca0294ca2$var$Ht : $c6bd03dca0294ca2$var$Dt) : r === $c6bd03dca0294ca2$var$Ht || r === $c6bd03dca0294ca2$var$Dt ? r = $c6bd03dca0294ca2$var$jt : r === $c6bd03dca0294ca2$var$Lt || r === $c6bd03dca0294ca2$var$It ? r = $c6bd03dca0294ca2$var$Vt : (r = $c6bd03dca0294ca2$var$jt, h = void 0); const u = r === $c6bd03dca0294ca2$var$jt && t[s + 1].startsWith("/>") ? " " : ""; o += r === $c6bd03dca0294ca2$var$Vt ? i + $c6bd03dca0294ca2$var$At : a >= 0 ? (e.push(n), i.slice(0, a) + $c6bd03dca0294ca2$var$xt + i.slice(a) + $c6bd03dca0294ca2$var$Mt + u) : i + $c6bd03dca0294ca2$var$Mt + (-2 === a ? s : u) } return [$c6bd03dca0294ca2$var$Xt(t, o + (t[i] || "<?>") + (2 === s ? "</svg>" : 3 === s ? "</math>" : "")), e] }; class $c6bd03dca0294ca2$var$ts { constructor({ strings: t, _$litType$: s }, i) { let e; this.parts = []; let h = 0, o = 0; const r = t.length - 1, n = this.parts, [c, a] = $c6bd03dca0294ca2$var$Yt(t, s); if (this.el = $c6bd03dca0294ca2$var$ts.createElement(c, i), $c6bd03dca0294ca2$var$Qt.currentNode = this.el.content, 2 === s || 3 === s) { const t = this.el.content.firstChild; t.replaceWith(...t.childNodes) } for (; null !== (e = $c6bd03dca0294ca2$var$Qt.nextNode()) && n.length < r;) { if (1 === e.nodeType) { if (e.hasAttributes()) for (const t of e.getAttributeNames()) if (t.endsWith($c6bd03dca0294ca2$var$xt)) { const s = a[o++], i = e.getAttribute(t).split($c6bd03dca0294ca2$var$Mt), r = /([.?@])?(.*)/.exec(s); n.push({ type: 1, index: h, name: r[2], strings: i, ctor: "." === r[1] ? $c6bd03dca0294ca2$var$os : "?" === r[1] ? $c6bd03dca0294ca2$var$rs : "@" === r[1] ? $c6bd03dca0294ca2$var$ns : $c6bd03dca0294ca2$var$hs }), e.removeAttribute(t) } else t.startsWith($c6bd03dca0294ca2$var$Mt) && (n.push({ type: 6, index: h }), e.removeAttribute(t)); if ($c6bd03dca0294ca2$var$Bt.test(e.tagName)) { const t = e.textContent.split($c6bd03dca0294ca2$var$Mt), s = t.length - 1; if (s > 0) { e.textContent = $c6bd03dca0294ca2$var$Ct ? $c6bd03dca0294ca2$var$Ct.emptyScript : ""; for (let i = 0; i < s; i++)e.append(t[i], $c6bd03dca0294ca2$var$Ut()), $c6bd03dca0294ca2$var$Qt.nextNode(), n.push({ type: 2, index: ++h });
vendor: 4,637 bytes, line 12
12 e.append(t[s], $c6bd03dca0294ca2$var$Ut()) } } } else if (8 === e.nodeType) if (e.data === $c6bd03dca0294ca2$var$kt) n.push({ type: 2, index: h }); else { let t = -1; for (; -1 !== (t = e.data.indexOf($c6bd03dca0294ca2$var$Mt, t + 1));)n.push({ type: 7, index: h }), t += $c6bd03dca0294ca2$var$Mt.length - 1 } h++ } } static createElement (t, s) { const i = $c6bd03dca0294ca2$var$Et.createElement("template"); return i.innerHTML = t, i } } function $c6bd03dca0294ca2$var$ss (t, s, i = t, e) { if (s === $c6bd03dca0294ca2$export$9c068ae9cc5db4e8) return s; let h = void 0 !== e ? i.U?.[e] : i.N; const o = $c6bd03dca0294ca2$var$Nt(s) ? void 0 : s._$litDirective$; return h?.constructor !== o && (h?._$AO?.(!1), void 0 === o ? h = void 0 : (h = new o(t), h._$AT(t, i, e)), void 0 !== e ? (i.U ??= [])[e] = h : i.N = h), void 0 !== h && (s = $c6bd03dca0294ca2$var$ss(t, h._$AS(t, s.values), h, e)), s } class $c6bd03dca0294ca2$var$is { constructor(t, s) { this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = s } get parentNode () { return this._$AM.parentNode } get _$AU () { return this._$AM._$AU } O (t) { const { el: { content: s }, parts: i } = this._$AD, e = (t?.creationScope ?? $c6bd03dca0294ca2$var$Et).importNode(s, !0); $c6bd03dca0294ca2$var$Qt.currentNode = e; let h = $c6bd03dca0294ca2$var$Qt.nextNode(), o = 0, r = 0, n = i[0]; for (; void 0 !== n;) { if (o === n.index) { let s; 2 === n.type ? s = new $c6bd03dca0294ca2$var$es(h, h.nextSibling, this, t) : 1 === n.type ? s = new n.ctor(h, n.name, n.strings, this, t) : 6 === n.type && (s = new $c6bd03dca0294ca2$var$cs(h, this, t)), this._$AV.push(s), n = i[++r] } o !== n?.index && (h = $c6bd03dca0294ca2$var$Qt.nextNode(), o++) } return $c6bd03dca0294ca2$var$Qt.currentNode = $c6bd03dca0294ca2$var$Et, e } R (t) { let s = 0; for (const i of this._$AV) void 0 !== i && (void 0 !== i.strings ? (i._$AI(t, i, s), s += i.strings.length - 2) : i._$AI(t[s])), s++ } } class $c6bd03dca0294ca2$var$es { get _$AU () { return this._$AM?._$AU ?? this.V } constructor(t, s, i, e) { this.type = 2, this._$AH = $c6bd03dca0294ca2$export$45b790e32b2810ee, this._$AN = void 0, this._$AA = t, this._$AB = s, this._$AM = i, this.options = e, this.V = e?.isConnected ?? !0 } get parentNode () { let t = this._$AA.parentNode; const s = this._$AM; return void 0 !== s && 11 === t?.nodeType && (t = s.parentNode), t } get startNode () { return this._$AA } get endNode () { return this._$AB } _$AI (t, s = this) { t = $c6bd03dca0294ca2$var$ss(this, t, s), $c6bd03dca0294ca2$var$Nt(t) ? t === $c6bd03dca0294ca2$export$45b790e32b2810ee || null == t || "" === t ? (this._$AH !== $c6bd03dca0294ca2$export$45b790e32b2810ee && this._$AR(), this._$AH = $c6bd03dca0294ca2$export$45b790e32b2810ee) : t !== this._$AH && t !== $c6bd03dca0294ca2$export$9c068ae9cc5db4e8 && this.L(t) : void 0 !== t._$litType$ ? this.I(t) : void 0 !== t.nodeType ? this.j(t) : $c6bd03dca0294ca2$var$Rt(t) ? this.D(t) : this.L(t) } H (t) { return this._$AA.parentNode.insertBefore(t, this._$AB) } j (t) { this._$AH !== t && (this._$AR(), this._$AH = this.H(t)) } L (t) { this._$AH !== $c6bd03dca0294ca2$export$45b790e32b2810ee && $c6bd03dca0294ca2$var$Nt(this._$AH) ? this._$AA.nextSibling.data = t : this.j($c6bd03dca0294ca2$var$Et.createTextNode(t)), this._$AH = t } I (t) { const { values: s, _$litType$: i } = t, e = "number" == typeof i ? this._$AC(t) : (void 0 === i.el && (i.el = $c6bd03dca0294ca2$var$ts.createElement($c6bd03dca0294ca2$var$Xt(i.h, i.h[0]), this.options)), i); if (this._$AH?._$AD === e) this._$AH.R(s); else { const t = new $c6bd03dca0294ca2$var$is(e, this), i = t.O(this.options); t.R(s), this.j(i), this._$AH = t } } _$AC (t) { let s = $c6bd03dca0294ca2$var$Kt.get(t.strings); return void 0 === s && $c6bd03dca0294ca2$var$Kt.set(t.strings, s = new $c6bd03dca0294ca2$var$ts(t)), s } D (t) { $c6bd03dca0294ca2$var$Ot(this._$AH) || (this._$AH = [], this._$AR()); const s = this._$AH; let i, e = 0; for (const h of t) e === s.length ? s.push(i = new $c6bd03dca0294ca2$var$es(this.H($c6bd03dca0294ca2$var$Ut()), this.H($c6bd03dca0294ca2$var$Ut()), this, this.options)) : i = s[e], i._$AI(h), e++; e < s.length && (this._$AR(i && i._$AB.nextSibling, e), s.length = e) } _$AR (t = this._$AA.nextSibling, s) { for (this._$AP?.(!1, !0, s); t && t !== this._$AB;) { const s = t.nextSibling; t.remove(), t = s } } setConnected (t) { void 0 === this._$AM && (this.V = t, this._$AP?.(t)) } } class $c6bd03dca0294ca2$var$hs { get tagName () { return this.element.tagName } get _$AU () { return this._$AM._$AU } constructor(t, s, i, e, h) { this.type = 1, this._$AH = $c6bd03dca0294ca2$export$45b790e32b28
vendor: 5,699 bytes, lines 12-23
1210ee, this._$AN = void 0, this.element = t, this.name = s, this._$AM = e, this.options = h, i.length > 2 || "" !== i[0] || "" !== i[1] ? (this._$AH = Array(i.length - 1).fill(new String), this.strings = i) : this._$AH = $c6bd03dca0294ca2$export$45b790e32b2810ee } _$AI (t, s = this, i, e) { const h = this.strings; let o = !1; if (void 0 === h) t = $c6bd03dca0294ca2$var$ss(this, t, s, 0), o = !$c6bd03dca0294ca2$var$Nt(t) || t !== this._$AH && t !== $c6bd03dca0294ca2$export$9c068ae9cc5db4e8, o && (this._$AH = t); else { const e = t; let r, n; for (t = h[0], r = 0; r < h.length - 1; r++)n = $c6bd03dca0294ca2$var$ss(this, e[i + r], s, r), n === $c6bd03dca0294ca2$export$9c068ae9cc5db4e8 && (n = this._$AH[r]), o ||= !$c6bd03dca0294ca2$var$Nt(n) || n !== this._$AH[r], n === $c6bd03dca0294ca2$export$45b790e32b2810ee ? t = $c6bd03dca0294ca2$export$45b790e32b2810ee : t !== $c6bd03dca0294ca2$export$45b790e32b2810ee && (t += (n ?? "") + h[r + 1]), this._$AH[r] = n } o && !e && this.B(t) } B (t) { t === $c6bd03dca0294ca2$export$45b790e32b2810ee ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "") } } class $c6bd03dca0294ca2$var$os extends $c6bd03dca0294ca2$var$hs { constructor() { super(...arguments), this.type = 3 } B (t) { this.element[this.name] = t === $c6bd03dca0294ca2$export$45b790e32b2810ee ? void 0 : t } } class $c6bd03dca0294ca2$var$rs extends $c6bd03dca0294ca2$var$hs { constructor() { super(...arguments), this.type = 4 } B (t) { this.element.toggleAttribute(this.name, !!t && t !== $c6bd03dca0294ca2$export$45b790e32b2810ee) } } class $c6bd03dca0294ca2$var$ns extends $c6bd03dca0294ca2$var$hs { constructor(t, s, i, e, h) { super(t, s, i, e, h), this.type = 5 } _$AI (t, s = this) { if ((t = $c6bd03dca0294ca2$var$ss(this, t, s, 0) ?? $c6bd03dca0294ca2$export$45b790e32b2810ee) === $c6bd03dca0294ca2$export$9c068ae9cc5db4e8) return; const i = this._$AH, e = t === $c6bd03dca0294ca2$export$45b790e32b2810ee && i !== $c6bd03dca0294ca2$export$45b790e32b2810ee || t.capture !== i.capture || t.once !== i.once || t.passive !== i.passive, h = t !== $c6bd03dca0294ca2$export$45b790e32b2810ee && (i === $c6bd03dca0294ca2$export$45b790e32b2810ee || e); e && this.element.removeEventListener(this.name, this, i), h && this.element.addEventListener(this.name, this, t), this._$AH = t } handleEvent (t) { "function" == typeof this._$AH ? this._$AH.call(this.options?.host ?? this.element, t) : this._$AH.handleEvent(t) } } class $c6bd03dca0294ca2$var$cs { constructor(t, s, i) { this.element = t, this.type = 6, this._$AN = void 0, this._$AM = s, this.options = i } get _$AU () { return this._$AM._$AU } _$AI (t) { $c6bd03dca0294ca2$var$ss(this, t) } } const $c6bd03dca0294ca2$export$8613d1ca9052b22e = { W: $c6bd03dca0294ca2$var$xt, q: $c6bd03dca0294ca2$var$Mt, J: $c6bd03dca0294ca2$var$kt, Z: 1, F: $c6bd03dca0294ca2$var$Yt, G: $c6bd03dca0294ca2$var$is, K: $c6bd03dca0294ca2$var$Rt, X: $c6bd03dca0294ca2$var$ss, Y: $c6bd03dca0294ca2$var$es, tt: $c6bd03dca0294ca2$var$hs, st: $c6bd03dca0294ca2$var$rs, it: $c6bd03dca0294ca2$var$ns, et: $c6bd03dca0294ca2$var$os, ht: $c6bd03dca0294ca2$var$cs }, $c6bd03dca0294ca2$var$ls = $c6bd03dca0294ca2$var$Pt.litHtmlPolyfillSupport; $c6bd03dca0294ca2$var$ls?.($c6bd03dca0294ca2$var$ts, $c6bd03dca0294ca2$var$es), ($c6bd03dca0294ca2$var$Pt.litHtmlVersions ??= []).push("3.2.0"); const $c6bd03dca0294ca2$export$b3890eb0ae9dca99 = (t, s, i) => { const e = i?.renderBefore ?? s; let h = e._$litPart$; if (void 0 === h) { const t = i?.renderBefore ?? null; e._$litPart$ = h = new $c6bd03dca0294ca2$var$es(s.insertBefore($c6bd03dca0294ca2$var$Ut(), t), t, void 0, i ?? {}) } return h._$AI(t), h };
13/**
14 * @license
15 * Copyright 2017 Google LLC
16 * SPDX-License-Identifier: BSD-3-Clause
17 */class $c6bd03dca0294ca2$export$3f2f9f5909897157 extends $c6bd03dca0294ca2$export$c7c07a37856565d { constructor() { super(...arguments), this.renderOptions = { host: this }, this.ot = void 0 } createRenderRoot () { const t = super.createRenderRoot(); return this.renderOptions.renderBefore ??= t.firstChild, t } update (t) { const s = this.render(); this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this.ot = $c6bd03dca0294ca2$export$b3890eb0ae9dca99(s, this.renderRoot, this.renderOptions) } connectedCallback () { super.connectedCallback(), this.ot?.setConnected(!0) } disconnectedCallback () { super.disconnectedCallback(), this.ot?.setConnected(!1) } render () { return $c6bd03dca0294ca2$export$9c068ae9cc5db4e8 } } $c6bd03dca0294ca2$export$3f2f9f5909897157._$litElement$ = !0, $c6bd03dca0294ca2$export$3f2f9f5909897157.finalized = !0, globalThis.litElementHydrateSupport?.({ LitElement: $c6bd03dca0294ca2$export$3f2f9f5909897157 }); const $c6bd03dca0294ca2$var$fs = globalThis.litElementPolyfillSupport; $c6bd03dca0294ca2$var$fs?.({ LitElement: $c6bd03dca0294ca2$export$3f2f9f5909897157 }); const $c6bd03dca0294ca2$export$f5c524615a7708d6 = { _$AK: (t, s, i) => { t._$AK(s, i) }, _$AL: t => t._$AL }; (globalThis.litElementVersions ??= []).push("4.1.0");
18/**
19 * @license
20 * Copyright 2022 Google LLC
21 * SPDX-License-Identifier: BSD-3-Clause
22 */
23const $c6bd03dca0294ca2$export$6acf61af03e62db = !1; document.addEventListener("DOMContentLoaded", () => { const addWidget = () => { const wrapBody = "true" === document.querySelector('script[src*="accessibility-widget"]').getAttribute("data-wrapper"), lang = document.querySelector('script[src*="accessibility-widget"]').getAttribute("data-lang"); if (wrapBody) { const wrapper = document.createElement("div"); wrapper.id = "awidget-maincontent", wrapper.classList.add("content-wrapper"); const bodyChildren = Array.from(document.body.children);
23 bodyChildren.forEach(child => { const childStyle = window.getComputedStyle(child); "fixed" === childStyle.position ? child.classList.add("fixed-content") : wrapper.appendChild(child) }), document.body.appendChild(wrapper) } const widget = document.createElement("accessibility-widget"); widget.setAttribute("lang", lang), widget.setAttribute("wrapperdiv", wrapBody), document.body.appendChild(widget) }; addWidget() }); class $0b76d225d32304e5$var$AccessibilityWidget extends HTMLElement {
24    constructor() { super(), this.root = this.attachShadow({ mode: "open" }) } setIsDragging = value => { let me = this; me.isDragging = value }; setFullContrast = value => { let me = this; me.fullContrast = value }; setDragOffset = ({ x: x, y: y }) => { let me = this; me.dragOffset = { x: x, y: y } }; setVoice = voice => { let me = this; me.voice = voice }; setSynth = synth => { let me = this; me.synth = synth }; setReadableFont = value => { let me = this; me.readableFont = value }; setBiggerCursor = value => { let me = this; me.biggerCursor = value }; setHideImages = value => { let me = this; me.hideImages = value, me.saveSettings() }; setPosition = ({ x: x, y: y }) => { let me = this; me.position = { x: x, y: y }, me.modalContent.style.left = `${x}%`, me.modalContent.style.top = `${y}%`, me.modalContent.style.transition = me.isDragging ? "none" : "all 0.3s ease" }; handleMouseDown = e => { let me = this; if (e.target.classList.contains("drag-handle")) { me.setIsDragging(!0); const clientX = "touches" in e ? e.touches[0].clientX : e.clientX, clientY = "touches" in e ? e.touches[0].clientY : e.clientY, offsetX = clientX - window.innerWidth * me.position.x / 100, offsetY = clientY - window.innerHeight * me.position.y / 100; me.setDragOffset({ x: offsetX, y: offsetY }), e.preventDefault() } }; handleMouseMove = (clientX, clientY) => { let me = this; if (me.isDragging) { const newX = (clientX - me.dragOffset.x) / window.innerWidth * 100, newY = (clientY - me.dragOffset.y) / window.innerHeight * 100; me.setPosition({ x: Math.max(0, Math.min(newX, 100)), y: Math.max(0, Math.min(newY, 100)) }) } }; handleMouseUp = () => { let me = this; me.setIsDragging(!1) }; handleGlobalMouseMove = e => { let me = this; me.handleMouseMove(e.clientX, e.clientY) }; handleGlobalTouchMove = e => { let me = this; const touch = e.touches[0]; me.handleMouseMove(touch.clientX, touch.clientY) }; getBaseFontSize () { const doc = globalThis.document; let baseFont; try { baseFont = parseFloat(doc.defaultView.getComputedStyle(doc.documentElement, null).fontSize) } catch (e) { } if (!baseFont) { const style = globalThis.document.defaultView.getComputedStyle(globalThis.document.body, null); baseFont = parseFloat(style.fontSize) } return isNaN(baseFont) && (baseFont = 16), baseFont } saveSettings () { const settings = { bluefilter: this.bluefilter, sepia: this.sepia, grayscale: this.grayscale, brightness: this.brightness, contrast: this.contrast, invert: this.invert, opacity: this.opacity, saturate: this.saturate, hideImages: this.hideImages, readableFont: this.readableFont, biggerCursor: this.biggerCursor, fullContrast: this.fullContrast, fontSizeMultiplicator: this.fontSizeMultiplicator }; localStorage.setItem("accessibilitySettings", JSON.stringify(settings)) } loadSettings () { const savedSettings = localStorage.getItem("accessibilitySettings"); return savedSettings ? JSON.parse(savedSettings) : null } initFilters = reset => { let me = this; const savedSettings = me.loadSettings(); !reset && savedSettings ? (me.readableFont = savedSettings.readableFont || !1, me.biggerCursor = savedSettings.biggerCursor || !1, me.fontSizeMultiplicator = savedSettings.fontSizeMultiplicator || 1, me.bluefilter = savedSettings.bluefilter || 0, me.sepia = savedSettings.sepia || 0, me.grayscale = savedSettings.grayscale || 0, me.brightness = savedSettings.brightness || 1, me.contrast = savedSettings.contrast || 1, me.invert = savedSettings.invert || 0, me.opacity = savedSettings.opacity || 1, me.saturate = savedSettings.saturate || 1, me.hideImages = savedSettings.hideImages || !1, me.fullContrast = savedSettings.fullContrast || !1) : (me.fontSizeMultiplicator = 1, me.readableFont = !1, me.biggerCurs
24or = !1, me.bluefilter = 0, me.sepia = 0, me.grayscale = 0, me.brightness = 1, me.contrast = 1, me.invert = 0, me.opacity = 1, me.saturate = 1, me.hideImages = !1, me.fullContrast = !1), me.updateUI(), me.applyFilters(), me.newFontSize(), me.fullContrast ? me.applyHighContrast() : me.removeHighContrast(), me.applyHideImages(me.hideImages), me.applyReadableFont(me.readableFont), me.applyBiggerCursor(me.biggerCursor) }; setUpWidget (lang) { let me = this; me.openModalButton = me.shadowRoot.getElementById("open-modal"), me.modalOverlay = me.shadowRoot.querySelector(".modal-overlay"), me.modalContent = me.shadowRoot.getElementById("modal-dialog"), me.closeModalButton = me.shadowRoot.querySelector(".close-button"), me.dragHandle = me.shadowRoot.querySelector(".drag-handle"), me.position = { x: 90, y: 50 }, me.isDragging = !1, me.dragOffset = { x: 0, y: 0 }, me.synth = null, me.voice = null, me.styledElements = new Set, me.initFilters(!1), me.openModalButton.addEventListener("click", () => { me.modalContent.style.display = "block", me.modalContent.style.transform = "translate(-50%, -50%) scale(1)", me.modalOverlay.style.visibility = "visible", me.modalOverlay.style.opacity = "1" }), me.closeModalButton.addEventListener("click", () => { me.modalContent.style.display = "none", me.modalContent.style.transform = "translate(-50%, -50%) scale(0)", me.modalOverlay.style.visibility = "hidden", me.modalOverlay.style.opacity = "0" }), me.shadowRoot.addEventListener("keydown", e => { "Escape" === e.key && "none" !== me.modalContent.style.display && me.closeModalButton.click() }), me.dragHandle.addEventListener("mousedown", e => { me.handleMouseDown(e) }), me.shadowRoot.addEventListener("mousemove", me.handleGlobalMouseMove), me.shadowRoot.addEventListener("mouseup", me.handleMouseUp), me.shadowRoot.addEventListener("touchmove", me.handleGlobalTouchMove), me.shadowRoot.addEventListener("touchend", me.handleMouseUp), me.setupSynthetizer(lang) } setupSynthetizer () { let me = this; try { me.setSynth(window.speechSynthesis), me.initVoice(), me.synth && void 0 !== me.synth.onvoiceschanged && (me.synth.onvoiceschanged = me.initVoice) } catch (error) { } } getMainContent (skipWidget) { let me = this; if ("undefined" != typeof window) { let mainContent = document.getElementById("awidget-maincontent"); if (!skipWidget && mainContent) return mainContent; const hostingElementRoot = me.root.getRootNode().host.getRootNode(); return mainContent = hostingElementRoot.body, mainContent || (mainContent = document.documentElement), mainContent } } setCSSVariable (variable, value) { let me = this; if ("undefined" != typeof window) { const mainContent = me.getMainContent(!1); mainContent && mainContent.style.setProperty(variable, value, "important") } } newFontSize () { const me = this, el = me.root.getRootNode().host.getRootNode(); let numFontStyle = 0; if (1 === me.fontSizeMultiplicator && me.fontSizeApplied) return; me.fontSizeApplied = !0, me.originalFontSizes || (me.originalFontSizes = new Map); try { for (const style of el.styleSheets) try { for (const rule of style.cssRules) if (rule.style && rule.style.fontSize) { if (rule.style.fontSize.includes("calc") && rule.style.fontSize.includes("*")) continue; me.originalFontSizes.has(rule) || me.originalFontSizes.set(rule, rule.style.fontSize), rule.style.fontSize = `calc(${me.originalFontSizes.get(rule)} * ${me.fontSizeMultiplicator})`, numFontStyle++ } } catch (cssRulesError) { continue } } catch (e) { } if (numFontStyle > 0) return; const baseFontSize = me.getBaseFontSize(); document.documentElement.style.fontSize = baseFontSize * me.fontSizeMultiplicator + "px" } increaseFontSize () { let me = this; me.fontSizeMultiplicator = Math.min((me.fontSizeMultiplicator || 1) + .1, 2), me.saveSettings(), me.applyFontSizeChanges() } decreaseFontSize () { let me = this; const currentMultiplicator = me.fontSizeMultiplicator || 1; currentMultiplicator > .5 && (me.fontSizeMultiplicator = Math.max(currentMultiplicator - .1, .5), me.saveSettings(), me.applyFontSizeChanges()) } applyFontSizeChanges () { const me = this; me.resetFontSizeChanges(), me.newFontSize() } resetFontSizeChanges () { const me = this, el = me.root.getRootNode().host.getRootNode(); if (me.originalFontSizes) try { for (const style of el.styleSheets) try { for (const rule of style.cssRules) rule.style && rule.style.fontSize && me.originalFontSizes.has(rule) && (rule.style.fontSize = me.originalFontSizes.get(rule)) } catch (cssRulesError) { continue } } catch (e) { } document.documentElement.style.fontSize = "", me.originalFontSizes = new Map } toggleHideImages = () => { let me = this; const newHideImages = !me.hideImages; me.setHideImages(newHideImages), me.applyHideImages(newHideImages) }; applyHideImages = hideImages => { let me = this; const mainContent = me.getMainContent(!1), images = mainContent.querySelectorAll("img");
24 images.forEach(img => { img.style.display = hideImages ? "none" : "initial" }) }; toggleReadableFont = () => { let me = this; const newReadableFont = !me.readableFont; me.setReadableFont(newReadableFont), me.applyReadableFont(newReadableFont), me.saveSettings() }; toggleBiggerCursor = () => { let me = this; const newBiggerCursor = !me.biggerCursor; me.setBiggerCursor(newBiggerCursor), me.applyBiggerCursor(newBiggerCursor), me.saveSettings() }; applyReadableFont = readableFont => { let me = this; const mainContent = me.getMainContent(!1); mainContent.style.fontFamily = readableFont ? "Arial, sans-serif" : "" }; applyBiggerCursor = biggerCursor => { if (biggerCursor) { const svgCursor = '<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" viewBox="0 0 32 32">\n            <path\n            d="M3.29227 0.048984C3.47033 -0.032338 3.67946 -0.00228214 3.8274 0.125891L12.8587 7.95026C13.0134 8.08432 13.0708 8.29916 13.0035 8.49251C12.9362 8.68586 12.7578 8.81866 12.5533 8.82768L9.21887 8.97474L11.1504 13.2187C11.2648 13.47 11.1538 13.7664 10.9026 13.8808L8.75024 14.8613C8.499 14.9758 8.20255 14.8649 8.08802 14.6137L6.15339 10.3703L3.86279 12.7855C3.72196 12.934 3.50487 12.9817 3.31479 12.9059C3.1247 12.8301 3 12.6461 3 12.4414V0.503792C3 0.308048 3.11422 0.130306 3.29227 0.048984ZM4 1.59852V11.1877L5.93799 9.14425C6.05238 9.02363 6.21924 8.96776 6.38319 8.99516C6.54715 9.02256 6.68677 9.12965 6.75573 9.2809L8.79056 13.7441L10.0332 13.178L8.00195 8.71497C7.93313 8.56376 7.94391 8.38824 8.03072 8.24659C8.11753 8.10494 8.26903 8.01566 8.435 8.00834L11.2549 7.88397L4 1.59852Z"\n            fill="#000000"/></svg>'; document.body.style.cursor = `url('data:image/svg+xml;utf8,${encodeURIComponent(svgCursor)}') 2 2, auto` } else document.body.style.cursor = "default" }; applyHighContrast = () => { let me = this; const mainContent = me.getMainContent(!0); if (mainContent) { me.saveElementStyles(mainContent); const elements = mainContent.querySelectorAll("*"); for (let i = 0; i < elements.length; i++)"SCRIPT" !== elements[i].tagName && me.saveElementStyles(elements[i]); for (let i = 0; i < elements.length; i++)"SCRIPT" !== elements[i].tagName && me.applyHighContrastToElement(elements[i]); me.applyHighContrastToElement(mainContent) } }; saveElementStyles = element => { let me = this; const computedStyle = window.getComputedStyle(element); let backgroundColor = computedStyle.getPropertyValue("background-color"), color = computedStyle.getPropertyValue("color"); element.hasAttribute("data-original-background-color") || element.setAttribute("data-original-background-color", backgroundColor), element.hasAttribute("data-original-color") || element.setAttribute("data-original-color", color), me.styledElements.add(element) }; applyHighContrastToElement = element => { element.style.setProperty("background-color", "black", "important"), element.style.setProperty("color", "white", "important") }; removeHighContrast = () => { let me = this; const mainContent = me.getMainContent(!1); mainContent && (me.styledElements.forEach(element => { me.removeHighContrastFromElement(element) }), me.styledElements.clear()) }; removeHighContrastFromElement = element => { const originalBackgroundColor = element.getAttribute("data-original-background-color"), originalColor = element.getAttribute("data-original-color"); if (originalBackgroundColor ? "rgba(0, 0, 0, 0)" === originalBackgroundColor || "transparent" === originalBackgroundColor ? element.style.removeProperty("background-color") : element.style.setProperty("background-color", originalBackgroundColor, "important") : element.style.removeProperty("background-color"), originalColor) if ("rgba(0, 0, 0, 0)" === originalColor || "transparent" === originalColor) { const parentBackgroundColor = this.getParentBackgroundColor(element), textColor = this.getContrastingColor(parentBackgroundColor); element.style.setProperty("color", textColor, "important") } else element.style.setProperty("color", originalColor, "important"); else element.style.removeProperty("color"); element.removeAttribute("data-original-background-color"), element.removeAttribute("data-original-color") };
24 getParentBackgroundColor = element => { let parent = element.parentElement, backgroundColor = "white"; for (; parent;) { const parentBgColor = window.getComputedStyle(parent).backgroundColor; if ("rgba(0, 0, 0, 0)" !== parentBgColor && "transparent" !== parentBgColor) { backgroundColor = parentBgColor; break } parent = parent.parentElement } return backgroundColor }; getContrastingColor = bgColor => { const rgb = bgColor.match(/\d+/g); if (rgb) { const brightness = (299 * parseInt(rgb[0]) + 587 * parseInt(rgb[1]) + 114 * parseInt(rgb[2])) / 1e3; return brightness > 128 ? "black" : "white" } return "black" }; backupAndApplyStyle = (element, property, value) => { let property2 = property.replace(/([A-Z])/g, "-$1").toLowerCase(), originalValue = element.style.getPropertyValue(property2); element.dataset[`original${property}`] = originalValue, element.style.setProperty(property2, value) }; restoreStyle = (element, property) => { const originalValue = element.dataset[`original${property}`]; void 0 !== originalValue ? (delete element.dataset[`original${property}`], property = property.replace(/([A-Z])/g, "-$1").toLowerCase(), element.style.setProperty(property, originalValue)) : delete element.dataset[property] }; toggleContrast = () => { let me = this; const newContrast = !me.fullContrast; me.setFullContrast(newContrast), newContrast ? me.applyHighContrast() : me.removeHighContrast() }; changeBlueFilter = value => { let me = this; me.bluefilter = value, me.applyFilters() }; changeSepia = value => { let me = this; me.sepia = value, me.applyFilters() }; changeGrayscale = value => { let me = this; me.grayscale = value, me.applyFilters() }; changeBrightness = value => { let me = this; me.brightness = value, me.applyFilters() }; changeContrast = value => { let me = this; me.contrast = value, me.applyFilters() }; changeInvert = value => { let me = this; me.invert = value, me.applyFilters() }; changeOpacity = value => { let me = this; me.opacity = value, me.applyFilters() }; changeSaturate = value => { let me = this; me.saturate = value, me.applyFilters() }; hasPositionFixed = node => { const style = window.getComputedStyle(node); return "fixed" === style.getPropertyValue("position") }; applyFilters = () => { let me = this, currentFilter = me.grayscaleF() + me.blueF() + me.sepiaF() + me.brightnessF() + me.contrastF() + me.invertF() + me.opacityF() + me.saturateF(); if (me.wrapperDiv) { const mainContent = me.getMainContent(!1); mainContent.style.filter = currentFilter } const bodyChildren = document.body.children; for (let i = 0; i < bodyChildren.length; i++) { const child = bodyChildren[i]; "accessibility-widget" !== child.tagName.toLowerCase() && "awidget-maincontent" !== child.id && (me.wrapperDiv ? me.applyFilterRecursively(child, currentFilter) : child.style.filter = currentFilter) } me.saveSettings() }; applyFilterRecursively = (child, currentFilter) => { const children = child.children; 0 === children.length && (child.style.filter = currentFilter); for (let i = 0; i < children.length; i++)this.hasChildNodesWithPositionFixed(children[i]) ? this.applyFilterRecursively(children[i], currentFilter) : children[i].style.filter = currentFilter }; hasChildNodesWithPositionFixed = node => { if (this.hasPositionFixed(node)) return !0; const children = node.children; for (let i = 0; i < children.length; i++) { if (this.hasPositionFixed(children[i])) return !0; if (this.hasChildNodesWithPositionFixed(children[i])) return !0 } return !1 }; resetFilters = () => { let me = this; me.initFilters(!0), document.location.reload() }; grayscaleF = () => 0 == this.grayscale ? "" : `grayscale(${this.grayscale}) `; blueF = () => 0 == this.bluefilter ? "" : `sepia(${this.bluefilter}) hue-rotate(180deg) brightness(95%) `; sepiaF = () => 0 == this.sepia ? "" : `sepia(${this.sepia}) `; brightnessF = () => 1 == this.brightness ? "" : `brightness(${this.brightness}) `; contrastF = () => 1 == this.contrast ? "" : `contrast(${this.contrast}) `; invertF = () => 0 == this.invert ? "" : `invert(${this.invert}) `; opacityF = () => 1 == this.opacity ? "" : `opacity(${this.opacity}) `; saturateF = () => 1 == this.saturate ? "" : `saturate(${this.saturate}) `; updateUI () { let me = this; me.shadowRoot.querySelector('input[name="bluefilter"]').value = me.bluefilter, me.shadowRoot.querySelector('input[name="sepia"]').value = me.sepia, me.shadowRoot.querySelector('input[name="grayscale"]').value = me.grayscale, me.shadowRoot.querySelector('input[name="brightness"]').value = me.brightness, me.shadowRoot.querySelector('input[name="contrast"]').value = me.contrast, me.shadowRoot.querySelector('input[name="invert"]').value = me.invert, me.shadowRoot.querySelector('input[name="opacity"]').value = me.opacity, me.shadowRoot.querySelector('input[name="saturate"]').value = me.saturate, me.shadowRoot.querySelector('input[name="toggleHideImages"]').checked = me.hideImages, me.shadowRoot.querySelector('input[name="toggleReadableFont"]').checked = me.readableFont, me.shadowRoot.querySelector('input[name="toggleBiggerCurs
24or"]').checked = me.biggerCursor, me.shadowRoot.querySelector('input[name="toggleFullContrast"]').checked = me.fullContrast } initVoice = () => { let me = this; if (!me.voice) if (window.speechSynthesis) { const voices = me.synth?.getVoices(), speaker = "de-DE" === me.lang ? "Martin" : "Aaron", myvoice = voices?.find(v => v.lang === me.lang && v.name === speaker) || null; myvoice && me.setVoice(myvoice) } else alert("Your browser does not support speech synthesis.") }; readWebsite = () => { let me = this; if ("undefined" != typeof window && me.voice) { if (me.synth?.speaking) return void me.synth?.cancel(); const mainContent = me.getMainContent(!1), mainContentText = mainContent.innerText, utterance = new SpeechSynthesisUtterance(mainContentText); utterance.voice = me.voice, utterance.pitch = 1, utterance.rate = 1, me.synth?.speak(utterance) } }; analyzeInWave = () => { const url = window.location.href, waveUrl = `https://wave.webaim.org/report#/${url}`; window.open(waveUrl, "_blank") }; connectedCallback () {
25        let me = this; me.wrapperDiv = !1, "" !== me.getAttribute("lang") ? me.lang = me.getAttribute("lang") : me.lang = "de-DE", "" !== me.getAttribute("wrapperdiv") && (me.wrapperDiv = "true" === me.getAttribute("wrapperdiv")); const template = $c6bd03dca0294ca2$export$c0bb0b647f701bb5`
26                <style>
27                    /* Global widget styles */
28                    :host {
29                        font-size: 16px !important;
30                        /* Set a fixed font size for the widget */
31
32                        font-family: Arial, sans-serif;
33                        line-height: 1.4;
34                        color: #333;
35                        overflow-x: hidden;
36
37                        position: fixed;
38                        top: 50%;
39                        right: 25px;
40                        z-index: 2000;
41                        margin: 0;
42                    }
43
44                    #modal-dialog {
45                        position: fixed;
46                        top: 50%;
47                        left: 88%;
48                        transform: translate(-50%, -50%);
49                        z-index: 1000;
50                        margin: 0;
51                    }
52
53                    .modal-content {
54                        position: fixed;
55                        top: 50%;
56                        left: 90%;
57                        /*transform: translate(-50%, -50%);*/
58                        max-width: 320px;
59                        max-height: 560px;
60                        width: 320px;
61                        height: 560px;
62                        background-color: #FDFFFB;
63                        border: 1px solid #ddd;
64                        border-radius: 10px;
65                        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.33);
66                        overflow-y: auto;
67                        z-index: 9999 !important;
68                        transition: transform 0.3s ease;
69                    }
70
71                    .modal-content::before {
72                        content: "";
73                        position: absolute;
74                        top: 50%;
75                        left: 50%;
76                        transform: translate(-50%, -50%) scale(0);
77                        width: 100%;
78                        height: 100%;
79                        background-color: inherit;
80                        border-radius: inherit;
81                        z-index: -1;
82                        transition: transform 0.3s ease;
83                    }
84
85                    .modal-content::after {
86                        content: "";
87                        position: absolute;
88                        top: 50%;
89                        left: 50%;
90                        transform: translate(-50%, -50%) scale(0);
91                        width: 100%;
92                        height: 100%;
93                        background-color: inherit;
94                        border-radius: inherit;
95                        z-index: -1;
96                        transition: transform 0.3s ease;
97                    }
98
99                    .modal-content.open {
100                        transform: translate(-50%, -50%) scale(1);
101                    }
102
103                    .modal-content::before {
104                        transform: translate(-50%, -50%) scale(1);
105                    }
106
107                    .modal-content::after {
108                        transform: translate(-50%, -50%) scale(1);
109                    }
110
111                    /* Button styles */
112                    .openbutton {
113                        background-color: #fff;
114                        border: 1px solid #000;
115                        color: white;
116                        padding: 3px 3px 0px 3px;
117                        margin: 5px 0 5px 0;
118                        text-align: center;
119                        text-decoration: none;
120                        font-size: 16px;
121                        cursor: pointer;
122                        border-radius: 30px;
123                        transition: background-color 0.3s;
124                    }
125                    .openbutton:hover {
126                        border: 1px solid #FFC341;
127                    }
128
129                    .button {
130                        background-color: #fff;
131                        border: 1px solid #FFC341;
132                        color: white;
133                        padding: 5px 5px;
134                        margin: 5px 0 5px 0;
135                        text-align: center;
136                        text-decoration: none;
137                        display: inline-block;
138                        font-size: 16px;
139                        cursor: pointer;
140                        border-radius: 40px;
141                        transition: background-color 0.3s;
142                    }
143                    .action-button {
144                        background-color: #DF9F42;
145                        color: white;
146                    }
147                    .accessibility-icon {
148                        /*background-image: url('./assets/img/Accessibility-icon.png');
149                        background-size: 64px 64px;
150                        background-repeat: no-repeat;
151                        background-position: center;
152                        display: inline-block;
153                        */
154                        width: 64px;
155                        height: 64px;
156                        vertical-align: middle;
157                        margin-right: 0px;
158                    }
159
160                    .button:hover {
161                        background-color: #D18121;
162                        /* Darker shade of light blue */
163                    }
164                    .button.small {
165                        font-size: 14px;
166                        padding: 8px 10px;
167                    }
168
169                    /* Modal overlay */
170                    .modal-overlay {
171                        position: fixed;
172                        top: 0;
173                        left: 0;
174                        width: 100%;
175                        height: 100%;
176                        background-color: rgba(0, 0, 0, 0);
177                        visibility: hidden;
178                        opacity: 0;
179                        transition: visibility 0.3s, opacity 0.3s;
180                        z-index: 998 !important;
181                            /* Lower z-index than the modal content */
182                    }
183
184
185                    /* Modal header */
186                    .modal-header {
187                        display: flex;
188                        justify-content: space-between;
189                        align-items: center;
190                        padding: 5px;
191                        border-bottom: 1px solid #ccc;
192                    }
193
194                    .modal-header h2 {
195                        margin: 0;
196                    }
197
198                    .modal-dialog > h3 {
199                        margin: 0;
200                        font-size: 12px;
201                    }
202
203                    .close-button {
204                        font-size: 18px;
205                        cursor: pointer;
206                        font-weight: bold;
207                    }
208
209                    /* Modal body */
210                    .modal-body {
211                        padding: 5px 10px 5px 10px;
212                        overflow-y: auto;
213                    }
214
215                    /* Close button */
216                    .close-button:hover {
217                        color: #888;
218                    }
219
220                    /* Make the modal draggable */
221                    .drag-handle {
222                        cursor: move;
223                        user-select: none;
224                        -webkit-app-region: drag;
225                        -webkit-user-drag: element;
226                    }
227                </style>
228                <button class="openbutton" id="open-modal" aria-label="Einstellungen für Barrierefreiheit öffnen" title="Einstellungen für Barrierefreiheit öffnen">
229                    <span class="accessibility-icon-X">
230                        <?xml version="1.0" encoding="utf-8"?>
231                        <svg width="48px" height="48px" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
232                        <g id="Layer_2" data-name="Layer 2">
233                            <g id="invisible_box" data-name="invisible box">
234                            <rect width="48" height="48" fill="none"/>
235                            </g>
236                            <g id="icons_Q2" data-name="icons Q2">
237                            <path d="M24,2A22,22,0,1,0,46,24,21.9,21.9,0,0,0,24,2Zm0,8a3,3,0,1,1-3,3A2.9,2.9,0,0,1,24,10ZM35,21H28v4.8l2,9.8A2.1,2.1,0,0,1,28.4,38H28a2.1,2.1,0,0,1-2-1.6L24.2,27h-.4L22,36.4A2.1,2.1,0,0,1,20,38h-.4A2.1,2.1,0,0,1,18,35.6l2-9.8V21H13a2,2,0,0,1,0-4H35a2,2,0,0,1,0,4Z"/>
238                            </g>
239                        </g>
240                        </svg>
241                    </span>
242                </button>
243                <div class="modal-overlay"></div>
244                <dialog id="modal-dialog" class="modal-content mywidget">
245                    <div class="modal-header">
246                        <div class="drag-handle" title="Barrierefreiheit Popup bewegen" aria-label="Barrierefreiheit Popup bewegen">&#9776;</div>
247                        <h2>Barrierefreiheit</h2>
248                        <span class="close-button" title="Barrierefreiheit Popup schliessen" aria-label="Barrierefreiheit Popup schliessen">&times;</span>
249                    </div>
250                    <div class="modal-body">
251                    <div>
252                        <h3>Allgemein</h3>
253
254                        <div>
255                            <label>Schriftgröße: </label>
256                            <button @click=${() => this.decreaseFontSize()}>-</button>
257                            <button @click=${() => this.increaseFontSize()}>+</button>
258                        </div>
259                        <div>
260                            <label>
261                                <input
262                                    type="checkbox"
263                                    name="toggleFullContrast"
264                                    @change=${e => { this.toggleContrast(), this.saveSettings() }}
265                                />
266                                Maximaler Kontrast
267                            </label>
268                        </div>
269                        <div>
270                            <label>
271                                <input
272                                    type="checkbox"
273                                    name="toggleHideImages"
274                                    @change=${e => this.toggleHideImages()}
275                                />
276                                Alle Bilder ausblenden
277                            </label>
278                        </div>
279                        <div>
280                            <label>
281                                <input
282                                    type="checkbox"
283                                    name="toggleBiggerCursor"
284                                    @change=${e => this.toggleBiggerCursor()}
285                                />
286                                Großer Cursor
287                            </label>
288                        </div>
289                        <div>
290                            <label>
291                                <input
292                                    type="checkbox"
293                                    name="toggleReadableFont"
294                                    @change=${e => this.toggleReadableFont()}
295                                />
296                                Lesbare Schriftart
297                            </label>
298                        </div>
299                    </div>
300                    <div>
301                        <h3>Farbkorrektur</h3>
302                        <div>
303                            <label>Blaufilter: </label>
304                            <input
305                                type="range"
306                                name="bluefilter"
307                                min="0"
308                                max="1"
309                                value="0"
310                                step="0.1"
311                                @input=${e => this.changeBlueFilter(e.target.value)}
312                            />
313                        </div>
314                        <div>
315                            <label>Sepia Filter: </label>
316                            <input
317                                type="range"
318                                name="sepia"
319                                min="0"
320                                max="1"
321                                value="0"
322                                step="0.1"
323                                @input=${e => this.changeSepia(e.target.value)}
324                            />
325                        </div>
326                        <div>
327                            <label>Helligkeit: </label>
328                            <input
329                                type="range"
330                                name="brightness"
331                                value="1"
332                                min="0"
333                                max="2"
334                                step="0.1"
335                                @input=${e => this.changeBrightness(e.target.value)}
336                            />
337                        </div>
338                        <div>
339                            <label>Kontrast: </label>
340                            <input
341                                type="range"
342                                name="contrast"
343                                value="1"
344                                min="0"
345                                max="2"
346                                step="0.1"
347                                @input=${e => this.changeContrast(e.target.value)}
348                            />
349                        </div>
350                        <div>
351                            <label>Farben invertieren: </label>
352                            <input
353                                type="range"
354                                name="invert"
355                                value="0"
356                                min="0"
357                                max="1"
358                                step="0.1"
359                                @input=${e => this.changeInvert(e.target.value)}
360                            />
361                        </div>
362                        <div>
363                            <label>Deckkraft: </label>
364                            <input
365                                type="range"
366                                name="opacity"
367                                value="1"
368                                min="0"
369                                max="1"
370                                step="0.1"
371                                @input=${e => this.changeOpacity(e.target.value)}
372                            />
373                        </div>
374                        <div>
375                            <label>Farbtiefe: </label>
376                            <input
377                                type="range"
378                                name="saturate"
379                                value="1"
380                                min="0"
381                                max="2"
382                                step="0.1"
383                                @input=${e => this.changeSaturate(e.target.value)}
384                            />
385                        </div>
386                    </div>
387                    <div>
388                        <label>Grautöne: </label>
389                        <input
390                            name="grayscale"
391                            type="range"
392                            min="0"
393                            max="1"
394                            value="0"
395                            step="0.1"
396                            @input=${e => this.changeGrayscale(e.target.value)}
397                        />
398                    </div>
399                    <div style="margin-top:10px">
400                        <button title="Website vorlesen" aria-label="Website vorlesen" class="button small action-button" @click=${e => this.readWebsite()}>Vorlesen</button>   
401                        <button title="Website mit WAVE analysieren" aria-label="Website mit WAVE analysieren" class="button small action-button" @click=${e => this.analyzeInWave()}>Analyse</button>
402                        <button title="Alle Filter zurücksetzen" aria-label="Alle Filter zurücksetzen" class="button small action-button" @click=${e => this.resetFilters()}>Filter zurücksetzen</button>
403                    </div>
404
405                    </div>
406                </dialog>
407        `; $c6bd03dca0294ca2$export$b3890eb0ae9dca99(template, me.root), me.setUpWidget(me.lang)
408    }
409} customElements.get("accessibility-widget") || customElements.define("accessibility-widget", $0b76d225d32304e5$var$AccessibilityWidget);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.