mirror of
https://github.com/tenrok/bootstrap.git
synced 2026-06-02 16:04:07 +03:00
015d729445
Heavily WIP still, but this begins the process of implementing dark mode for our docs and across the project itself. - Color modes are toggled in the docs navbar with a custom toggler, which stores the select color mode in local storage. - Color modes can also be set via data attribute thanks to `data-theme` (with light or dark options available currently). - Docs are heavily WIP for demonstrating the dark mode. - In order to best implement color modes, I've spiked out a number of new Sass and CSS variables (e.g., `--bs-secondary-bg` and `--bs-tertiary-bg`). In addition, I've added new global CSS variables like `--bs-border-color` and more. So, in addition to general color modes and theming support, we get greater real-time customization, too. Todos and open questions: - [ ] Do we refer to these as themes or color modes? - [ ] Do we provide a color mode toggler JS plugin? - [ ] Update all components to better utilize global CSS variables so they can be more easily themed (e.g., see `$dropdown-*` Sass variable changes in the diff).
50 lines
1.6 KiB
SCSS
50 lines
1.6 KiB
SCSS
// Buttons
|
|
//
|
|
// Custom buttons for the docs.
|
|
|
|
// scss-docs-start btn-css-vars-example
|
|
.btn-bd-primary {
|
|
--bs-btn-font-weight: 600;
|
|
--bs-btn-color: var(--bs-white);
|
|
--bs-btn-bg: var(--bd-violet);
|
|
--bs-btn-border-color: var(--bd-violet);
|
|
--bs-btn-border-radius: .5rem;
|
|
--bs-btn-hover-color: var(--bs-white);
|
|
--bs-btn-hover-bg: #{shade-color($bd-violet, 10%)};
|
|
--bs-btn-hover-border-color: #{shade-color($bd-violet, 10%)};
|
|
--bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
|
|
--bs-btn-active-color: var(--bs-btn-hover-color);
|
|
--bs-btn-active-bg: #{shade-color($bd-violet, 20%)};
|
|
--bs-btn-active-border-color: #{shade-color($bd-violet, 20%)};
|
|
}
|
|
// scss-docs-end btn-css-vars-example
|
|
|
|
.btn-bd-accent {
|
|
--bs-btn-font-weight: 600;
|
|
--bs-btn-color: var(--bd-accent);
|
|
--bs-btn-border-color: var(--bd-accent);
|
|
--bs-btn-hover-color: var(--bd-dark);
|
|
--bs-btn-hover-bg: var(--bd-accent);
|
|
--bs-btn-hover-border-color: var(--bd-accent);
|
|
--bs-btn-focus-shadow-rgb: var(--bd-accent-rgb);
|
|
--bs-btn-active-color: var(--bs-btn-hover-color);
|
|
--bs-btn-active-bg: var(--bs-btn-hover-bg);
|
|
--bs-btn-active-border-color: var(--bs-btn-hover-border-color);
|
|
}
|
|
|
|
.btn-bd-light {
|
|
--bs-btn-color: var(--bs-gray-600);
|
|
--bs-btn-border-color: var(--bs-gray-400);
|
|
--bs-btn-hover-color: var(--bd-violet);
|
|
--bs-btn-hover-border-color: var(--bd-violet);
|
|
--bs-btn-active-color: var(--bd-violet);
|
|
--bs-btn-active-bg: var(--bs-white);
|
|
--bs-btn-active-border-color: var(--bd-violet);
|
|
--bs-btn-focus-border-color: var(--bd-violet);
|
|
--bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
|
|
}
|
|
|
|
.btn-bd-lg {
|
|
padding: .8rem 2rem;
|
|
}
|