diff options
| author | XhmikosR <[email protected]> | 2022-12-18 23:32:17 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-12-18 14:32:17 -0700 |
| commit | e1315d11f2fb9a43b96dd48bf8f9aaf5305372b2 (patch) | |
| tree | a1f09437ae0d47979c6e157e8dffcd1867a0ca82 /site/assets/js | |
| parent | 6807008159012b9cf370db87dcd804c4cae3a1b5 (diff) | |
| download | bootstrap-e1315d11f2fb9a43b96dd48bf8f9aaf5305372b2.tar.xz bootstrap-e1315d11f2fb9a43b96dd48bf8f9aaf5305372b2.zip | |
docs: move color-mode script (#37658)
* docs: move color-mode script
* Move color-modes.js in static folder
* Async load color-modes.js
* Switch to DOMContentLoaded
* Revert async loading
Diffstat (limited to 'site/assets/js')
| -rw-r--r-- | site/assets/js/color-modes/index.js | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/site/assets/js/color-modes/index.js b/site/assets/js/color-modes/index.js deleted file mode 100644 index 51bfd40a7..000000000 --- a/site/assets/js/color-modes/index.js +++ /dev/null @@ -1,62 +0,0 @@ -/*! - * Color mode toggler for Bootstrap's docs (https://getbootstrap.com/) - * Copyright 2011-2022 The Bootstrap Authors - * Licensed under the Creative Commons Attribution 3.0 Unported License. - */ - -(() => { - 'use strict' - - const storedTheme = localStorage.getItem('theme') - - const getPreferredTheme = () => { - if (storedTheme) { - return storedTheme - } - - return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' - } - - const setTheme = function (theme) { - if (theme === 'auto' && window.matchMedia('(prefers-color-scheme: dark)').matches) { - document.documentElement.setAttribute('data-bs-theme', 'dark') - } else { - document.documentElement.setAttribute('data-bs-theme', theme) - } - } - - setTheme(getPreferredTheme()) - - const showActiveTheme = theme => { - const activeThemeIcon = document.querySelector('.theme-icon-active use') - const btnToActive = document.querySelector(`[data-bs-theme-value="${theme}"]`) - const svgOfActiveBtn = btnToActive.querySelector('svg use').getAttribute('href') - - document.querySelectorAll('[data-bs-theme-value]').forEach(element => { - element.classList.remove('active') - }) - - btnToActive.classList.add('active') - activeThemeIcon.setAttribute('href', svgOfActiveBtn) - } - - window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { - if (storedTheme !== 'light' || storedTheme !== 'dark') { - setTheme(getPreferredTheme()) - } - }) - - window.addEventListener('load', () => { - showActiveTheme(getPreferredTheme()) - - document.querySelectorAll('[data-bs-theme-value]') - .forEach(toggle => { - toggle.addEventListener('click', () => { - const theme = toggle.getAttribute('data-bs-theme-value') - localStorage.setItem('theme', theme) - setTheme(theme) - showActiveTheme(theme) - }) - }) - }) -})() |
