1
0
Fork 0
mirror of https://github.com/Findus23/RPGnotes.git synced 2024-09-19 15:43:45 +02:00
RPGnotes/static/colortheme/colortheme.js.map

7 lines
3.7 KiB
Text

{
"version": 3,
"sources": ["colortheme.ts"],
"sourcesContent": ["/*!\n * Color mode toggler based on Bootstrap's docs (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under the Creative Commons Attribution 3.0 Unported License.\n */\n\nconst darkQuery='(prefers-color-scheme: dark)'\n\nconst getStoredTheme = () => localStorage.getItem('theme')\nconst setStoredTheme = (theme: string) => localStorage.setItem('theme', theme)\n\nconst getPreferredTheme = () => {\n const storedTheme = getStoredTheme()\n if (storedTheme) {\n return storedTheme\n }\n\n return window.matchMedia(darkQuery).matches ? 'dark' : 'light'\n}\n\nconst setTheme = (theme: string) => {\n if (theme === 'auto' && window.matchMedia(darkQuery).matches) {\n document.documentElement.setAttribute('data-bs-theme', 'dark')\n } else {\n document.documentElement.setAttribute('data-bs-theme', theme)\n }\n}\n\nsetTheme(getPreferredTheme())\n\nconst showActiveTheme = (theme: string, focus: boolean = false) => {\n const themeSwitcher = document.getElementById(\"navbar-main-dropdown\")\n if (!themeSwitcher) {\n return\n }\n\n const btnToActive = document.querySelector(`[data-bs-theme-value=\"${theme}\"]`)\n if (!btnToActive) {\n return\n }\n console.log(btnToActive)\n\n document.querySelectorAll('[data-bs-theme-value]').forEach(element => {\n element.classList.remove('active')\n element.setAttribute('aria-pressed', 'false')\n })\n\n btnToActive.classList.add('active')\n btnToActive.setAttribute('aria-pressed', 'true')\n\n if (focus) {\n themeSwitcher.focus()\n }\n}\n\nwindow.matchMedia(darkQuery).addEventListener('change', () => {\n const storedTheme = getStoredTheme()\n if (storedTheme !== 'light' && storedTheme !== 'dark') {\n setTheme(getPreferredTheme())\n }\n})\n\nwindow.addEventListener('DOMContentLoaded', () => {\n let showTheme = getStoredTheme()\n if (!showTheme) {\n showTheme = \"auto\"\n }\n showActiveTheme(showTheme)\n\n document.querySelectorAll('[data-bs-theme-value]')\n .forEach(toggle => {\n toggle.addEventListener('click', () => {\n const theme = toggle.getAttribute('data-bs-theme-value')!\n setStoredTheme(theme)\n setTheme(theme)\n showActiveTheme(theme, true)\n })\n })\n})\n"],
"mappings": "mBAMA,IAAMA,EAAU,+BAEVC,EAAiB,IAAM,aAAa,QAAQ,OAAO,EACnDC,EAAkBC,GAAkB,aAAa,QAAQ,QAASA,CAAK,EAEvEC,EAAoB,IAAM,CAC5B,IAAMC,EAAcJ,EAAe,EACnC,OAAII,IAIG,OAAO,WAAWL,CAAS,EAAE,QAAU,OAAS,QAC3D,EAEMM,EAAYH,GAAkB,CAC5BA,IAAU,QAAU,OAAO,WAAWH,CAAS,EAAE,QACjD,SAAS,gBAAgB,aAAa,gBAAiB,MAAM,EAE7D,SAAS,gBAAgB,aAAa,gBAAiBG,CAAK,CAEpE,EAEAG,EAASF,EAAkB,CAAC,EAE5B,IAAMG,EAAkB,CAACJ,EAAeK,EAAiB,KAAU,CAC/D,IAAMC,EAAgB,SAAS,eAAe,sBAAsB,EACpE,GAAI,CAACA,EACD,OAGJ,IAAMC,EAAc,SAAS,cAAc,yBAAyBP,CAAK,IAAI,EACxEO,IAGL,QAAQ,IAAIA,CAAW,EAEvB,SAAS,iBAAiB,uBAAuB,EAAE,QAAQC,GAAW,CAClEA,EAAQ,UAAU,OAAO,QAAQ,EACjCA,EAAQ,aAAa,eAAgB,OAAO,CAChD,CAAC,EAEDD,EAAY,UAAU,IAAI,QAAQ,EAClCA,EAAY,aAAa,eAAgB,MAAM,EAE3CF,GACAC,EAAc,MAAM,EAE5B,EAEA,OAAO,WAAWT,CAAS,EAAE,iBAAiB,SAAU,IAAM,CAC1D,IAAMK,EAAcJ,EAAe,EAC/BI,IAAgB,SAAWA,IAAgB,QAC3CC,EAASF,EAAkB,CAAC,CAEpC,CAAC,EAED,OAAO,iBAAiB,mBAAoB,IAAM,CAC9C,IAAIQ,EAAYX,EAAe,EAC1BW,IACDA,EAAY,QAEhBL,EAAgBK,CAAS,EAEzB,SAAS,iBAAiB,uBAAuB,EAC5C,QAAQC,GAAU,CACfA,EAAO,iBAAiB,QAAS,IAAM,CACnC,IAAMV,EAAQU,EAAO,aAAa,qBAAqB,EACvDX,EAAeC,CAAK,EACpBG,EAASH,CAAK,EACdI,EAAgBJ,EAAO,EAAI,CAC/B,CAAC,CACL,CAAC,CACT,CAAC",
"names": ["darkQuery", "getStoredTheme", "setStoredTheme", "theme", "getPreferredTheme", "storedTheme", "setTheme", "showActiveTheme", "focus", "themeSwitcher", "btnToActive", "element", "showTheme", "toggle"]
}