(function (){
'use strict';
if(window.__ecsDmsReady){ return; }
window.__ecsDmsReady=true;
var COOKIE_NAME='ecs_color_scheme';
var ALT_VALUE='alt';
function getCurrentScheme(){
return document.documentElement.getAttribute('data-ecs-scheme');
}
function applyScheme(scheme){
if(scheme===ALT_VALUE){
document.documentElement.setAttribute('data-ecs-scheme', ALT_VALUE);
}else{
document.documentElement.removeAttribute('data-ecs-scheme');
}}
function 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';
}}
function hasCookie(){
return /(?:^|;\s*)ecs_color_scheme=/.test(document.cookie);
}
function 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';
}}
});
}
function handleClick(event){
var btn=event.target.closest('.ecs-dms-btn');
if(!btn){ return; }
var wrap=btn.closest('.ecs-dms-wrap');
if(!wrap){ return; }
var newScheme;
if(wrap.dataset.display==='dual'){
newScheme=btn.dataset.scheme;
}else{
newScheme=getCurrentScheme()===ALT_VALUE ? 'default':ALT_VALUE;
}
applyScheme(newScheme);
persistScheme(newScheme);
syncAllWidgets();
}
function handleDropdownChange(event){
var select=event.target;
if(!select.classList.contains('ecs-dms-select')){ return; }
applyScheme(select.value);
persistScheme(select.value);
syncAllWidgets();
}
function init(){
syncAllWidgets();
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();
}});
}}
document.addEventListener('click', handleClick);
document.addEventListener('change', handleDropdownChange);
}
if(document.readyState==='loading'){
document.addEventListener('DOMContentLoaded', init);
}else{
init();
}})();