/*!
 * KoliBri - The accessible HTML-Standard
 */
const getWindow=()=>"undefined"==typeof window?null:window,getDocument=()=>void 0===getWindow().document?null:getWindow().document;let DEV_MODE=!1,EXPERIMENTAL_MODE=!1,COLOR_CONTRAST_ANALYSIS=!1;const getDevMode=()=>!0===DEV_MODE,setDevMode=e=>{DEV_MODE=!0===e},getExperimentalMode=()=>!0===EXPERIMENTAL_MODE,setExperimentalMode=e=>{EXPERIMENTAL_MODE=!0===e},getColorContrastAnalysis=()=>!0===COLOR_CONTRAST_ANALYSIS,setColorContrastAnalysis=e=>{COLOR_CONTRAST_ANALYSIS=!0===e},LOG_STYLE="color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000",mapToArray=e=>Array.isArray(e)?e:[e],getLogLabel=e=>`%c${e}`,handleClassifier=(e,o)=>"string"==typeof o&&o.length>0?`${getLogLabel(e)} | ${o}`:getLogLabel(e),getShield=(e,o)=>[handleClassifier(e,null==o?void 0:o.classifier),`${LOG_STYLE};${(null==o?void 0:o.overwriteStyle)||""}`],isDevModeOrForceLog=(e,o)=>e()||!0===o;class Logger{constructor(e,o){this.label=e,this.devMode=o}debug(e,o){isDevModeOrForceLog(this.devMode,null==o?void 0:o.forceLog)&&console.debug(...getShield(this.label,o),...mapToArray(e))}info(e,o){isDevModeOrForceLog(this.devMode,null==o?void 0:o.forceLog)&&console.info(...getShield(this.label,o),...mapToArray(e))}trace(e,o){isDevModeOrForceLog(this.devMode,null==o?void 0:o.forceLog)&&console.trace(...getShield(this.label,o),...mapToArray(e))}warn(e,o){isDevModeOrForceLog(this.devMode,null==o?void 0:o.forceLog)&&console.warn(...getShield(this.label,o),...mapToArray(e))}error(e,o){console.error(...getShield(this.label,o),...mapToArray(e))}throw(e,o){if(isDevModeOrForceLog(this.devMode,null==o?void 0:o.forceLog))throw new Error(...getShield(this.label,o),...mapToArray(e))}}const Log=new Logger("KoliBri",getDevMode);export{Log as L,getExperimentalMode as a,setExperimentalMode as b,setColorContrastAnalysis as c,getWindow as d,getDevMode as e,getColorContrastAnalysis as f,getDocument as g,setDevMode as s};