1document.addEventListener("DOMContentLoaded",function(){let appState={states:{}};const saveState=function(){(function(appState2,saveState2,restoredState2){const iconListData2=new Date;iconListData2.setTime(iconListData2.getTime()+365*24*60*60*1e3);let btnHTML2="expires="+iconListData2.toUTCString();document.cookie="asw="+saveState2+";"+btnHTML2+";path=/"})(0,JSON.stringify(appState))};let restoredState=(function(appState2){let saveState2="asw=",restoredState2=decodeURIComponent(document.cookie).split(";");for(let appState3=0;appState3<restoredState2.length;appState3++){let iconListData2=restoredState2[appState3];for(;iconListData2.charAt(0)==" ";)iconListData2=iconListData2.substring(1);if(iconListData2.indexOf(saveState2)==0)return iconListData2.substring(saveState2.length,iconListData2.length)}return""})();try{restoredState=restoredState?JSON.parse(restoredState):{}}catch(e){console.warn("State konnte nicht geladen werden",e),restoredState={}}appState={states:{},...restoredState};let iconListData=["format_size","add","remove","restart_alt","close"];const btnHTML=function(saveState2,restoredState2){let btnHTML2="";for(let contentAdjustmentsHTML2=0;contentAdjustmentsHTML2<saveState2.length;contentAdjustmentsHTML2++){let colorAdjustmentsHTML2=saveState2[contentAdjustmentsHTML2],toolAdjustmentsHTML2=appState.states[colorAdjustmentsHTML2.key];restoredState2=="wcag-filter"&&appState.states.contrast==colorAdjustmentsHTML2.key&&(toolAdjustmentsHTML2=!0),btnHTML2+=` 2<div class="wcag-btn ${restoredState2||""} ${toolAdjustmentsHTML2?"wcag-selected":""}" role="button" aria-pressed="false" data-key="${colorAdjustmentsHTML2.key}" aria-label="${colorAdjustmentsHTML2.label}" title="${colorAdjustmentsHTML2.label}"><span class="material-icons wcag-icon">${colorAdjustmentsHTML2.icon}</span>${colorAdjustmentsHTML2.label} 3</div>`,iconListData.push(colorAdjustmentsHTML2.icon)}return btnHTML2};let contentAdjustmentsHTML=btnHTML([{label:"Links hervorheben",key:"highlight-links",icon:"link"},{label:"Titel hervorheben",key:"highlight-title",icon:"title"},{label:"Lesbare Schrift",key:"readable-font",icon:"local_parking"}]),colorAdjustmentsHTML=btnHTML([{label:"Helle Kontraste",key:"light-contrast",icon:"brightness_5"},{label:"Dunkle Kontraste",key:"dark-contrast",icon:"nightlight"},{label:"Hoher Kontrast",key:"high-contrast",icon:"tonality"},{label:"Niedrige S\xE4ttigung",key:"low-saturation",icon:"gradient"},{label:"Hohe S\xE4ttigung",key:"high-saturation",icon:"filter_vintage"},{label:"Monochrom",key:"monochrome",icon:"filter_b_and_w"}],"wcag-filter"),toolAdjustmentsHTML=btnHTML([{label:"Gro\xDFer Cursor",key:"big-cursor",icon:"mouse"},{label:"Lesehilfe",key:"readable-guide",icon:"local_library"},{label:"Bilder ausblenden",key:"hide-images",icon:"image"},{label:"Animationen anhalten",key:"stop-animations",icon:"motion_photos_off"}],"wcag-tools");var widgetContainer=document.getElementById("wcag-widget-container");widgetContainer.innerHTML+=`<div class="wcag-widget"> <div class="wcag-menu"> <span class="wcag-menu-header h5">Barrierefreiheitsmen\xFC<div> <div role="button" class="wcag-menu-reset" title="Reset Settings"> <span class="material-icons wcag-icon"> restart_alt </span> </div><div role="button" class="wcag-menu-close" title="Schlie\xDFe Barrierefreiheitsmen\xFC"> <span class="material-icons wcag-icon"> close </span> </div></div></span><div class="wcag-menu-content"> <div class="wcag-card" style="margin-top:15px;"> <span class="wcag-h5 h5"> Inhaltliche Anpassungen </span><div class="wcag-adjust-font"> <div class="label"> <span class="material-icons wcag-icon" style="margin-right:8px;"> format_size </span> Schriftgr\xF6\xDFe anpassen </div><div> <div class="wcag-minus" data-key="font-size" role="button" aria-pressed="false"> <span class="material-icons wcag-icon"> remove </span> </div><div class="wcag-amount"> ${appState.states.fontSize&&appState.states.fontSize!=1?`${parseInt(100*appState.states.fontSize)}%`:"Standard"}</div><div class="wcag-plus" data-key="font-size" role="button" aria-pressed="false"> <span class="material-icons wcag-icon"> add </span> </div></div></div><div class="wcag-items"> ${contentAdjustmentsHTML}</div></div><div class="wcag-card" style="margin-top:15px;"> <span class="wcag-h5 h5"> Farbanpassungen </span><div class="wcag-items"> ${colorAdjustmentsHTML}</div></div><div class="wcag-card" style="margin-top:15px;"> <span class="wcag-h5 h5"> Werkzeuge </span><div class="wcag-items"> ${toolAdjustmentsHTML}</div></div><div class="wcag-resize-handle" title="Gr\xF6\xDFe \xE4ndern"></div></div></div></>`;const injectStyle=function(appState2,saveState2){let restoredState2=document.getElementById(saveState2||"")||document.createElement("style");restoredState2.innerHTML=appState2,restoredState2.id||(restoredState2.id=saveState2,document.head.appendChild(restoredState2))},getVendorPrefixedStyle=function(appState2,saveState2){let restoredState2="",iconListData2=["-colorAdjustmentsHTML-","-ms-","-moz-","-webkit",""];for(let btnHTML2=0;btnHTML2<iconListData2.length;btnHTML2++)restoredState2+=iconListData2[btnHTML2]+(saveState2||"filter")+":"+appState2+";";return restoredState2},applyFilter=function(appState2){let saveState2="";if(appState2){let iconListData2="";appState2=="dark-contrast"?iconListData2="color:#fff !important;fill:#FFF !important;background-color:#000 !important;":appState2=="light-contrast"?iconListData2=" color:#000 !important;fill:#000 !important;background-color:#FFF !important;":appState2=="high-contrast"?iconListData2+=getVendorPrefixedStyle("contrast(125%)"):appState2=="high-saturation"?iconListData2+=getVendorPrefixedStyle("saturate(200%)"):appState2=="low-saturation"?iconListData2+=getVendorPrefixedStyle("saturate(50%)"):appState2=="monochrome"&&(iconListData2+=getVendorPrefixedStyle("grayscale(100%)"));let btnHTML2=[""];appState2!="dark-contrast"&&appState2!="light-contrast"||(btnHTML2=["","h1:not(.header__logo)","h2","h3","h4","h5","h6","p","span","i","svg","a:not(.logo-list__item)","button","label","li","ol","variant-sku","sale-price","compare-at-price","on-sale-badge","legend"]);for(let restoredState2=0;restoredState2<btnHTML2.length;restoredState2++)saveState2+='[data-wcag-filter="'+appState2+'"] '+btnHTML2[restoredState2]+"{"+iconListData2+"}"}injectStyle(saveState2,"wcag-filter-style"),appState2?document.documentElement.setAttribute("data-wcag-filter",appState2):document.documentElement.removeAttribute("data-wcag-filter",appState2)},updateWidgetUI=function(){let saveState2=[{id:"highlight-title",childrenSelector:["h1","h2","h3","h4","h5","h6"],css:"outline:2px solid #D30000 !important;outline-offset:2px !important;"},{id:"highlight-links",childrenSelector:["a[href]"],css:"outline:2px solid #D30000 !important;outline-offset:2px !important;"},{id:"readable-font",childrenSelector:["","h1","h2","h3","h4","h5","h6","p","span:not(.wcag-icon)","i","svg","a","button","label","li","ol","variant-sku","sale-price","compare-at-price","legend"],css:"font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;"}],restoredState2="";for(let iconListData2=0;iconListData2<saveState2.length;iconListData2++){let contentAdjustmentsHTML3=saveState2[iconListData2];if(document.documentElement.classList.toggle(contentAdjustmentsHTML3.id,!!appState.states[contentAdjustmentsHTML3.id]),appState.states[contentAdjustmentsHTML3.id])for(var btnHTML2=contentAdjustmentsHTML3.childrenSelector.length;btnHTML2--;)restoredState2+="."+contentAdjustmentsHTML3.id+" "+contentAdjustmentsHTML3.childrenSelector[btnHTML2]+"{"+contentAdjustmentsHTML3.css+"}"}appState.states["hide-images"]?document.querySelectorAll("img").forEach(el=>{const span=document.createElement("span");let altText="";altText=el.alt?.trim()||"",altText?(span.textContent=altText,span.style.color="black"):(span.textContent="Kein Alt-Text",span.style.color="red"),span.style.fontSize="16px",span.setAttribute("data-original",el.outerHTML),el.replaceWith(span)}):document.querySelectorAll("span[data-original]").forEach(span=>{const temp=document.createElement("div");temp.innerHTML=span.getAttribute("data-original");const originalElement=temp.firstChild;span.replaceWith(originalElement)});var contentAdjustmentsHTML2=document.querySelector(".wcag-rg-container");if(appState.states["readable-guide"]){if(!contentAdjustmentsHTML2){var colorAdjustmentsHTML2=document.createElement("div");colorAdjustmentsHTML2.setAttribute("class","wcag-rg-container"),colorAdjustmentsHTML2.innerHTML=`<style> .wcag-rg {position:fixed;top:0;left:0;right:0;width:100%;height:0;pointer-events:none;background-color:rgba(0,0,0,.5);z-index:1000000; }</style><div class="wcag-rg wcag-rg-top"></div><div class="wcag-rg wcag-rg-bottom" style="top:auto;bottom:0;"></div> 4`;let appState2=colorAdjustmentsHTML2.querySelector(".wcag-rg-top"),saveState3=colorAdjustmentsHTML2.querySelector(".wcag-rg-bottom"),restoredState3=20;window.onScrollReadableGuide=function(iconListData2){appState2.style.height=iconListData2.clientY-restoredState3+"px",saveState3.style.height=window.innerHeight-iconListData2.clientY-restoredState3-restoredState3+"px"},document.addEventListener("mousemove",window.onScrollReadableGuide,!1),document.body.appendChild(colorAdjustmentsHTML2)}}else contentAdjustmentsHTML2&&(contentAdjustmentsHTML2.remove(),document.removeEventListener("mousemove",window.onScrollReadableGuide));appState.states["stop-animations"]&&(restoredState2+=` 5body * {${getVendorPrefixedStyle("none !important","transition")}${getVendorPrefixedStyle("forwards !important","animation-fill-mode")}${getVendorPrefixedStyle("1 !important"," animation-iteration-count")}${getVendorPrefixedStyle(".01s !important","animation-duration")} 6}`),appState.states["big-cursor"]&&(restoredState2+=` 7body * {cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 512 512'%3E%3Cpath d='M429.742 319.31L82.49 0l-.231 471.744 105.375-100.826 61.89 141.083 96.559-42.358-61.89-141.083 145.549-9.25zM306.563 454.222l-41.62 18.259-67.066-152.879-85.589 81.894.164-333.193 245.264 225.529-118.219 7.512 67.066 152.878z' fill='black' stroke='white' stroke-width='10'/%3E%3C/svg%3E") ,default !important; 8}`),appState.states["readable-font"]&&(restoredState2+=` 9body { font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }`),injectStyle(restoredState2,"wcag-content-style")};var handleToggleButton=function(restoredState2){restoredState2.preventDefault();let iconListData2=restoredState2.currentTarget,btnHTML2=iconListData2.dataset.key;iconListData2.classList.contains("wcag-filter")?(document.querySelectorAll(".wcag-filter").forEach(function(appState2){appState2.classList.remove("wcag-selected"),appState2.setAttribute("aria-pressed","fal
9se")}),appState.states.contrast=appState.states.contrast!==btnHTML2&&btnHTML2,appState.states.contrast&&(iconListData2.classList.add("wcag-selected"),iconListData2.setAttribute("aria-pressed","true")),applyFilter(appState.states.contrast)):(appState.states[btnHTML2]=!appState.states[btnHTML2],iconListData2.classList.toggle("wcag-selected",appState.states[btnHTML2]),iconListData2.setAttribute("aria-pressed",appState.states[btnHTML2]?"true":"false"),updateWidgetUI()),saveState()};const updateFontSize=function(saveState2,restoredState2){let iconListData2=!1;!restoredState2&&saveState2&&(iconListData2=saveState2.currentTarget,restoredState2=parseFloat(appState.states.fontSize)||1,iconListData2.classList.contains("wcag-minus")?restoredState2-=.1:restoredState2+=.1,restoredState2=Math.max(restoredState2,.1),restoredState2=Math.min(restoredState2,2),restoredState2=parseFloat(restoredState2.toFixed(2))),document.querySelectorAll("h1,h2,h3,h4,h5,h6,p,a,dl,dt,li,ol,th,td,span:not(.wcag-menu-header, .wcag-h5),variant-sku,sale-price,compare-at-price,legend").forEach(function(appState2){if(!appState2.classList.contains("material-icons")){let saveState3=appState2.getAttribute("data-wcag-orgFontSize");saveState3||(saveState3=parseInt(window.getComputedStyle(appState2,null).getPropertyValue("font-size")),appState2.setAttribute("data-wcag-orgFontSize",saveState3));let iconListData3=saveState3*restoredState2,b=iconListData3+4;appState2.style.setProperty("font-size",iconListData3+"px","important"),appState2.style.setProperty("line-height",b+"px","important")}});let btnHTML2="Standard";restoredState2!==1&&(restoredState2>1?btnHTML2="+":restoredState2<1&&(btnHTML2="-"),btnHTML2+=parseInt(100*restoredState2)+"%"),iconListData2&&(iconListData2.parentElement.querySelector(".wcag-amount").innerHTML=btnHTML2),appState.states.fontSize=restoredState2};let menuElement=widgetContainer.querySelector(".wcag-menu");document.querySelectorAll(".icon-wcag").forEach(function(el){el.addEventListener("click",function(){menuElement.style.display=menuElement.style.display==="block"?"none":"block"})}),menuElement.querySelector(".wcag-menu-close").addEventListener("click",function(){menuElement.style.display="none"},!1),menuElement.querySelector(".wcag-menu-reset").addEventListener("click",function(){appState.states={},applyFilter(),updateWidgetUI(),updateFontSize(void 0,1),document.querySelectorAll(".wcag-btn").forEach(function(appState2){appState2.classList.remove("wcag-selected"),appState2.setAttribute("aria-pressed","false")}),document.querySelectorAll(".wcag-amount").forEach(function(appState2){appState2.innerHTML="Standard"}),menuElement.removeAttribute("style"),menuElement.style.top="20px",menuElement.style.left=window.innerWidth-520+"px",menuElement.style.margin="0px",menuElement.style.transition="none",menuElement.style.display="block",localStorage.removeItem("wcagWidgetState"),saveState()},!1),menuElement.querySelectorAll(".wcag-btn").forEach(function(appState2){appState2.addEventListener("click",handleToggleButton,!1)}),menuElement.querySelectorAll(".wcag-adjust-font div[role='button']").forEach(function(appState2){appState2.addEventListener("click",appState3=>{updateFontSize(appState3),saveState()},!1)}),restoredState&&(updateWidgetUI(),appState.states.fontSize!==1&&updateFontSize(null,appState.states.fontSize),appState.states.contrast&&applyFilter(appState.states.contrast))});const observer=new MutationObserver(()=>{const widget=document.querySelector(".wcag-menu");if(widget){const header=widget.querySelector(".wcag-menu-header");if(!header)return;const STORAGE_KEY="wcagWidgetState",saveWidgetState=()=>{const state={left:widget.style.left,top:widget.style.top,width:widget.style.width,height:widget.style.height};try{localStorage.setItem(STORAGE_KEY,JSON.stringify(state))}catch(e){console.warn("Widget-Position konnte nicht gespeichert werden.",e)}},loadWidgetState=()=>{try{return JSON.parse(localStorage.getItem(STORAGE_KEY))}catch{return null}};let isDragging=!1,startX,startY;const saved=loadWidgetState();if(saved&&saved.left&&saved.top)widget.style.left=saved.left,widget.style.top=saved.top;else{const currentX2=window.innerWidth-500-20,currentY2=20;widget.style.left=`${currentX2}px`,widget.style.top=`${currentY2}px`}saved&&saved.width&&saved.height&&(widget.style.width=saved.width,widget.style.height=saved.height),widget.style.position="fixed",widget.style.margin="0",widget.style.transition="none",header.style.cursor="move";let currentX=parseInt(widget.style.left,10),currentY=parseInt(widget.style.top,10);const onMouseMove=e=>{if(!isDragging)return;const deltaX=e.clientX-startX,deltaY=e.clientY-startY;let newX=currentX+deltaX,newY=currentY+deltaY;const headerRect=header.getBoundingClientRect(),minX=0,maxX=window.innerWidth-headerRect.width,minY=0,maxY=window.innerHeight-headerRect.height;newX=Math.min(Math.max(newX,minX),maxX),newY=Math.min(Math.max(newY,minY),maxY),widget.style.left=`${newX}px`,widget.style.top=`${newY}px`};header.addEventListener("mousedown",e=>{e.preventDefault(),isDragging=!0,startX=e.clientX,startY=e.clientY,currentX=parseInt(widget.style.left,10),currentY=parseInt(widget.style.top,10),document.body.style.userSelect="none"}),document.addEventListener("mousemove",onMouseMove),document.addEventListener("mouseup",()=>{isDragging&&saveWidgetState(),isDragging=!1,document.body.style.userSelect="auto"});const resizeHandle=widget.querySelector(".wcag-resize-handle");if(resizeHandle){let isResizing=!1,startWidth,startHeight,startX2,startY2;resizeHandle.addEventListener("mousedown",e=>{e.preventDefault(),isResizing=!0,startX2=e.clientX,startY2=e.clientY,startWidth=parseInt(window.getComputedStyle(widget).width,10),startHeight=parseInt(window.getComputedStyle(widget).height,10),document.body.style.userSelect="none"});const onMouseMoveResize=e=>{if(!isResizing)return;const newWidth=Math.max(350,startWidth+e.clientX-startX2),newHeight=Math.max(350,startHeight+e.clientY-startY2);widget.style.width=newWidth+"px",widget.style.height=newHeight+"px"},stopResizing=()=>{isResizing&&saveWidgetState(),isResizing=!1,document.body.style.userSelect="auto"};document.addEventListener("mousemove",onMouseMoveResize),document.addEventListener("mouseup",stopResizing)}observer.disconnect()}});observer.observe(document.body,{childList:!0,subtree:!0}); 10//# sourceMappingURL=/cdn/shop/t/94/assets/ll-barrierefreiheit-widget.js.map?v=11393433962128235381785494532
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.