PageSourceSearch

https://www.catholicherald.com/wp-content/cache/min/1/wp-content/p…/js/ecs-color-switcher.js?ver=1788886318

js catholicherald.com collected 2026-10-01 11:31:33 UTC 3,007 bytes, 19 lines download raw bytes

1(function(){'use strict';if(window.__ecsDmsReady){return}
2window.__ecsDmsReady=!0;var COOKIE_NAME='ecs_color_scheme';var ALT_VALUE='alt';function getCurrentScheme(){return document.documentElement.getAttribute('data-ecs-scheme')}
3function applyScheme(scheme){if(scheme===ALT_VALUE){document.documentElement.setAttribute('data-ecs-scheme',ALT_VALUE)}else{document.documentElement.removeAttribute('data-ecs-scheme')}
4swapLogos(scheme===ALT_VALUE)}
5function swapLogos(isAlt){var cfg=window.ecsSchemeConfig||{};var darkUrl=cfg.darkLogoUrl;if(!darkUrl){return}
6document.querySelectorAll('.elementor-widget-theme-site-logo img, .elementor-widget-site-logo img, a.custom-logo-link img').forEach(function(img){if(isAlt){if(!img.dataset.ecsLogoDefault){img.dataset.ecsLogoDefault=img.src}
7if(img.src!==darkUrl){img.src=darkUrl;img.srcset=''}}else{if(img.dataset.ecsLogoDefault){img.src=img.dataset.ecsLogoDefault;img.dataset.ecsLogoDefault=''}}})}
8function persistScheme(scheme){if(scheme===ALT_VALUE){document.cookie=COOKIE_NAME+'=alt; path=/; max-age=31536000; SameSite=Lax'}else{document.cookie=COOKIE_NAME+'=; path=/; max-age=0; SameSite=Lax'}}
9function hasCookie(){return/(?:^|;\s*)ecs_color_scheme=/.test(document.cookie)}
10function syncAllWidgets(){var isAlt=getCurrentScheme()===ALT_VALUE;document.querySelectorAll('.ecs-dms-wrap').forEach(function(wrap){wrap.classList.toggle('is-alt',isAlt);var display=wrap.dataset.display;if(display==='toggle'){var btn=wrap.querySelector('.ecs-dms-btn');if(btn){btn.classList.toggle('is-active',isAlt)}}else if(display==='dual'){wrap.querySelectorAll('.ecs-dms-btn').forEach(function(btn){var isActive=btn.dataset.scheme===ALT_VALUE?isAlt:!isAlt;btn.classList.toggle('is-active',isActive);btn.setAttribute('aria-pressed',isActive?'true':'false')})}else if(display==='dropdown'){var select=wrap.querySelector('.ecs-dms-select');if(select){select.value=isAlt?ALT_VALUE:'default'}}})}
11function handleClick(event){var btn=event.target.closest('.ecs-dms-btn');if(!btn){return}
12var wrap=btn.closest('.ecs-dms-wrap');if(!wrap){return}
13var newScheme;if(wrap.dataset.display==='dual'){newScheme=btn.dataset.scheme}else{newScheme=getCurrentScheme()===ALT_VALUE?'default':ALT_VALUE}
14applyScheme(newScheme);persistScheme(newScheme);syncAllWidgets()}
15function handleDropdownChange(event){var select=event.target;if(!select.classList.contains('ecs-dms-select')){return}
16applyScheme(select.value);persistScheme(select.value);syncAllWidgets()}
17function init(){syncAllWidgets();swapLogos(getCurrentScheme()===ALT_VALUE);var cfg=window.ecsSchemeConfig||{};if(cfg.systemAuto){var mq=window.matchMedia&&window.matchMedia('(prefers-color-scheme: dark)');if(mq){mq.addEventListener('change',function(e){if(!hasCookie()){applyScheme(e.matches?ALT_VALUE:'default');syncAllWidgets()}})}}
18document.addEventListener('click',handleClick);document.addEventListener('change',handleDropdownChange)}
19if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',init)}else{init()}})()

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.