0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-12-02 14:24:19 +01:00
Bootstrap/site/assets/scss/_component-examples.scss
Mark Otto fc3f4b67d6
Add dark mode support (#35857)
* Add dark mode to docs

* Minor fix: missing space indentation

* Minor fix: revert utilities/z-index added-in modification

* Remove prev: and next: from doc because extracted to another PR

* Use .bg-body-tertiary in all Utilities > Overflow examples

* fix example

* Fix up spacing examples

* Update box-shadow Sass variables and utilities to auto-adjust to color modes

* Remove unused docs class

* Refactor form styles to use CSS variable for background images on .form-check and .form-switch

* Fix docs selector

* Rename shortcut for clarity

* Heading consistency

* Reintroduce missing 4th grid item in Utilities > Spacing example

* Fix bundlewatch

* .bd-callout* rendering is OK so removing comments in the code

* Update scss/_utilities.scss

Co-authored-by: Julien Déramond <julien.deramond@orange.com>

* Fix gutters example styling

* Fix text colors on background utils docs

* redesign and fix up position marker example, which doesn't show nicely in darkmode but at least isn't broken

* fix some color utils examples

* Deprecate mixin notice

* Deprecate notice for list-group-item-variant() mixin

* Revamp new link CSS vars

* Use map-keys in some each Sass files

* Remove list-group-item-variant mixin ref in sass loop desc

* Display CSS vars scoped to our built-in dark mode

* Revert previous commit

* Fix list group variant link

* Fix typo

* Remove imports of alert/list-group mixins in scss/_mixins.scss

* Small formatting + comments removal in scss/_content.scss

* Fix alert links colors

* fix dropdown border-radius mixin

* fix link color and underline again, this time using CSS var override for color var and fallback value for the underline

* fix colors on docs navbar for dark mode

* remove two changes

* missing ref

* another link underline fix, just use sass vars for link decoration for now

* missing color bg docs, plus move dropdown override to scss

* more changes from review

* fix some examples, drop unused docs navbar styles, update docs navbar color mode to use mixin

* Few fixes around type

- Restored CSS variable for color on headings, this time with a fallback value
- In conjunction, restored and wrapped the default CSS var with a null value check
- Split headings and paragraphs docs in Reboot, elaborated on them

* Restyle custom details > summary element in docs

* Rewrite some migration docs

* fix form checks

* Fix up some navbar styling, tweak docs callout

* Fix select images, mostly for validation styling

* Clean up some migration notes, document some new form control CSS vars, mention new variables-dark in sass docs

* Update site/content/docs/5.2/components/scrollspy.md

Co-authored-by: Julien Déramond <julien.deramond@orange.com>

* Apply suggestions from code review

Co-authored-by: Julien Déramond <julien.deramond@orange.com>

* mention form control css vars in migration guide

* Tweak grid and flex docs background examples

* clarify some docs

* fix some more things

Co-authored-by: Julien Déramond <juderamond@gmail.com>
Co-authored-by: Julien Déramond <julien.deramond@orange.com>
2022-11-28 22:30:26 -08:00

400 lines
6.8 KiB
SCSS

//
// Docs examples
//
.bd-example-snippet {
border: solid var(--bs-border-color);
border-width: 1px 0;
@include media-breakpoint-up(md) {
border-width: 1px;
}
}
.bd-example {
--bd-example-padding: 1rem;
position: relative;
padding: var(--bd-example-padding);
margin: 0 ($bd-gutter-x * -.5);
border: solid var(--bs-border-color);
border-width: 1px 0;
@include clearfix();
@include media-breakpoint-up(md) {
--bd-example-padding: 1.5rem;
margin-right: 0;
margin-left: 0;
border-width: 1px;
@include border-top-radius(var(--bs-border-radius));
}
+ .bd-code-snippet {
@include border-top-radius(0);
border: solid var(--bs-border-color);
border-width: 0 1px 1px;
}
+ p {
margin-top: 2rem;
}
> .form-control {
+ .form-control {
margin-top: .5rem;
}
}
> .nav + .nav,
> .alert + .alert,
> .navbar + .navbar,
> .progress + .progress {
margin-top: $spacer;
}
> .dropdown-menu {
position: static;
display: block;
}
> :last-child,
> nav:last-child .breadcrumb {
margin-bottom: 0;
}
> hr:last-child {
margin-bottom: $spacer;
}
// Images
> svg + svg,
> img + img {
margin-left: .5rem;
}
// Buttons
> .btn,
> .btn-group {
margin: .25rem .125rem;
}
> .btn-toolbar + .btn-toolbar {
margin-top: .5rem;
}
// List groups
> .list-group {
max-width: 400px;
}
> [class*="list-group-horizontal"] {
max-width: 100%;
}
// Navbars
.fixed-top,
.sticky-top {
position: static;
margin: calc(var(--bd-example-padding) * -1) calc(var(--bd-example-padding) * -1) var(--bd-example-padding); // stylelint-disable-line function-disallowed-list
}
.fixed-bottom,
.sticky-bottom {
position: static;
margin: var(--bd-example-padding) calc(var(--bd-example-padding) * -1) calc(var(--bd-example-padding) * -1); // stylelint-disable-line function-disallowed-list
}
// Pagination
.pagination {
margin-bottom: 0;
}
}
//
// Grid examples
//
.bd-example-row [class^="col"],
.bd-example-cols [class^="col"] > *,
.bd-example-cssgrid [class*="grid"] > * {
padding-top: .75rem;
padding-bottom: .75rem;
background-color: rgba(var(--bd-violet-rgb), .15);
border: 1px solid rgba(var(--bd-violet-rgb), .3);
}
.bd-example-row .row + .row,
.bd-example-cssgrid .grid + .grid {
margin-top: 1rem;
}
.bd-example-row-flex-cols .row {
min-height: 10rem;
background-color: rgba(var(--bd-violet-rgb), .15);
}
.bd-example-flex div {
background-color: rgba(var(--bd-violet-rgb), .15);
border: 1px solid rgba(var(--bd-violet-rgb), .3);
}
// Grid mixins
.example-container {
width: 800px;
@include make-container();
}
.example-row {
@include make-row();
}
.example-content-main {
@include make-col-ready();
@include media-breakpoint-up(sm) {
@include make-col(6);
}
@include media-breakpoint-up(lg) {
@include make-col(8);
}
}
.example-content-secondary {
@include make-col-ready();
@include media-breakpoint-up(sm) {
@include make-col(6);
}
@include media-breakpoint-up(lg) {
@include make-col(4);
}
}
// Ratio helpers
.bd-example-ratios {
.ratio {
display: inline-block;
width: 10rem;
color: var(--bs-secondary-color);
background-color: var(--bs-tertiary-bg);
border: var(--#{$prefix}border-width) solid var(--#{$prefix}border-color);
> div {
display: flex;
align-items: center;
justify-content: center;
}
}
}
.bd-example-ratios-breakpoint {
.ratio-4x3 {
width: 16rem;
@include media-breakpoint-up(md) {
--bs-aspect-ratio: 50%; // 2x1
}
}
}
.bd-example-offcanvas {
.offcanvas {
position: static;
display: block;
height: 200px;
visibility: visible;
transform: translate(0);
}
}
// Tooltips
.tooltip-demo {
a {
white-space: nowrap;
}
.btn {
margin: .25rem .125rem;
}
}
// scss-docs-start custom-tooltip
.custom-tooltip {
--bs-tooltip-bg: var(--bs-primary);
}
// scss-docs-end custom-tooltip
// scss-docs-start custom-popovers
.custom-popover {
--bs-popover-max-width: 200px;
--bs-popover-border-color: var(--bs-primary);
--bs-popover-header-bg: var(--bs-primary);
--bs-popover-header-color: var(--bs-white);
--bs-popover-body-padding-x: 1rem;
--bs-popover-body-padding-y: .5rem;
}
// scss-docs-end custom-popovers
// Scrollspy demo on fixed height div
.scrollspy-example {
height: 200px;
margin-top: .5rem;
overflow: auto;
}
.scrollspy-example-2 {
height: 350px;
overflow: auto;
}
.simple-list-example-scrollspy {
.active {
background-color: rgba(var(--bd-violet-rgb), .15);
}
}
.bd-example-border-utils {
[class^="border"] {
display: inline-block;
width: 5rem;
height: 5rem;
margin: .25rem;
background-color: var(--bs-tertiary-bg);
}
}
.bd-example-rounded-utils {
[class*="rounded"] {
margin: .25rem;
}
}
.bd-example-position-utils {
position: relative;
padding: 2rem;
.position-relative {
height: 200px;
background-color: var(--bs-tertiary-bg);
}
.position-absolute {
width: 2rem;
height: 2rem;
background-color: var(--bs-body-color);
@include border-radius();
}
}
.bd-example-position-examples {
&::after {
content: none;
}
}
// Placeholders
.bd-example-placeholder-cards {
&::after {
display: none;
}
.card {
width: 18rem;
}
}
// Toasts
.bd-example-toasts {
min-height: 240px;
}
.bd-example-zindex-levels {
min-height: 15rem;
> div {
background-color: tint-color($bd-violet, 75%);
border: 1px solid tint-color($bd-violet, 50%);
}
> :nth-child(2) {
top: 3rem;
left: 3rem;
}
> :nth-child(3) {
top: 4.5rem;
left: 4.5rem;
}
> :nth-child(4) {
top: 6rem;
left: 6rem;
}
> :nth-child(5) {
top: 7.5rem;
left: 7.5rem;
}
}
//
// Code snippets
//
.highlight {
position: relative;
padding: .75rem ($bd-gutter-x * .5);
margin-bottom: 1rem;
background-color: var(--bs-tertiary-bg);
@include media-breakpoint-up(md) {
padding: .75rem 1.25rem;
@include border-radius(var(--bs-border-radius));
}
pre {
padding: 0;
margin-top: .625rem;
margin-right: 1.875rem;
margin-bottom: .625rem;
white-space: pre;
background-color: transparent;
border: 0;
}
pre code {
@include font-size(inherit);
color: var(--bs-body-color); // Effectively the base text color
word-wrap: normal;
}
}
.bd-code-snippet {
margin: 0 ($bd-gutter-x * -.5) $spacer;
.highlight {
margin-bottom: 0;
}
.bd-example {
margin: 0;
border: 0;
}
@include media-breakpoint-up(md) {
margin-right: 0;
margin-left: 0;
@include border-radius($border-radius);
}
}
.highlight-toolbar {
background-color: var(--bs-tertiary-bg);
border: solid var(--bs-border-color);
border-width: 1px 0;
.btn-clipboard {
margin-top: 0;
margin-right: 0;
}
}