Button modifiers
Basic button utility modifiers for the foundation button styles. Disabled by default, requires $enable-buttons: true;
and $enable-forms-buttons: true;
in the configuration.scss
document.
Sizes (anchor)
Example HTML
<button class="btn-xs">.btn-xs</button>
<button class="btn-sm">.btn-sm</button>
<button>Regular</button>
<button class="btn-lg">.btn-lg</button>
<button class="btn-xl">.btn-xl</button>
Outline (anchor)
Example HTML
<button class="btn-outline">.btn-outline</button>
Button groups (anchor)
Example HTML
<div class="btn-group" role="group" aria-label="Button group">
<button>One</button>
<button>Two</button>
<button>Three</button>
<button>Four</button>
</div>
<div class="btn-group" role="group" aria-label="Button group outline">
<button class="btn-outline">One</button>
<button class="btn-outline">Two</button>
<button class="btn-outline">Three</button>
<button class="btn-outline">Four</button>
</div>
Colors (anchor)
With $enable-theme-colors: true;
Example HTML
<button class="btn-light">.btn-light</button>
<button class="btn-dark">.btn-dark</button>
<div class="btn-group" role="group" aria-label="Button group light">
<button class="btn-light">One</button>
<button class="btn-light">Two</button>
<button class="btn-light">Three</button>
<button class="btn-light">Four</button>
</div>
<div class="btn-group" role="group" aria-label="Button group dark">
<button class="btn-dark">One</button>
<button class="btn-dark">Two</button>
<button class="btn-dark">Three</button>
<button class="btn-dark">Four</button>
</div>
With $enable-primary-colors: true;
Example HTML
<button class="btn-blue">.btn-blue</button>
<button class="btn-red">.btn-red</button>
<button class="btn-green">.btn-green</button>
<button class="btn-orange">.btn-orange</button>
<button class="btn-cyan">.btn-cyan</button>
Example HTML
<div class="btn-group" role="group" aria-label="Button group blue">
<button class="btn-blue">One</button>
<button class="btn-blue">Two</button>
<button class="btn-blue">Three</button>
<button class="btn-blue">Four</button>
</div>
<div class="btn-group" role="group" aria-label="Button group red">
<button class="btn-red">One</button>
<button class="btn-red">Two</button>
<button class="btn-red">Three</button>
<button class="btn-red">Four</button>
</div>
<div class="btn-group" role="group" aria-label="Button group green">
<button class="btn-green">One</button>
<button class="btn-green">Two</button>
<button class="btn-green">Three</button>
<button class="btn-green">Four</button>
</div>
<div class="btn-group" role="group" aria-label="Button group orange">
<button class="btn-orange">One</button>
<button class="btn-orange">Two</button>
<button class="btn-orange">Three</button>
<button class="btn-orange">Four</button>
</div>
<div class="btn-group" role="group" aria-label="Button group cyan">
<button class="btn-cyan">One</button>
<button class="btn-cyan">Two</button>
<button class="btn-cyan">Three</button>
<button class="btn-cyan">Four</button>
</div>
Customize (anchor)
The buttons styles can be customized in the _buttons.scss
document in the [styles/utilities]
directory, they're written as standard CSS with limited Sass functionality included for compiling purposes.
Styles
// ------------------------------------------------------------
// Button utilities
// ------------------------------------------------------------
@use "../../configuration" as *;
@if $enable-forms-buttons and $enable-buttons {
.btn-outline {
--btn-bg: var(--body-bg);
--btn-hover: var(--surf-3);
--btn-bd-color: var(--surf-3);
}
.btn-xs {
--fs: var(--fs-xs);
--btn-py: .2rem;
--btn-px: .65rem;
}
.btn-sm {
--fs: var(--fs-sm);
--btn-py: .25rem;
--btn-px: .65rem;
}
.btn-lg {
--fs: var(--h6);
--btn-py: .35rem;
--btn-px: .85rem;
}
.btn-xl {
--fs: var(--h5);
--btn-py: .5rem;
--btn-px: 1.25rem;
}
.btn-group {
display: flex;
}
:where(.btn-group *) {
border-radius: 0;
}
.btn-group *:not(:first-child) {
margin-inline-start: calc(var(--btn-bd-width) * -1);
}
.btn-group *:first-child {
border-start-start-radius: var(--btn-radius);
border-end-start-radius: var(--btn-radius);
}
.btn-group *:last-child {
border-start-end-radius: var(--btn-radius);
border-end-end-radius: var(--btn-radius);
}
.btn-group *:is(:focus) {
box-shadow: none;
}
.btn-dark {
--color: #fff;
--btn-bg: var(--surf-1-dark);
--btn-hover: var(--surf-2-dark);
--btn-bd-color: var(--surf-2-dark);
--input-focus-color: var(--surf-4-dark);
}
.btn-light {
--color: #000;
--btn-bg: var(--surf-1-light);
--btn-hover: var(--surf-2-light);
--btn-bd-color: var(--surf-2-light);
--input-focus-color: var(--surf-4-light);
}
@if $enable-primary-colors {
.btn-blue {
--color: #fff;
--btn-bg: var(--blue);
--btn-hover: var(--blue-light);
--btn-bd-color: var(--btn-bg);
--input-focus-color: var(--blue-dark);
}
.btn-red {
--color: #fff;
--btn-bg: var(--red);
--btn-hover: var(--red-light);
--btn-bd-color: var(--btn-bg);
--input-focus-color: var(--red-dark);
}
.btn-green {
--color: #fff;
--btn-bg: var(--green);
--btn-hover: var(--green-light);
--btn-bd-color: var(--btn-bg);
--input-focus-color: var(--green-dark);
}
.btn-orange {
--color: #000;
--btn-bg: var(--orange);
--btn-hover: var(--orange-lighter);
--btn-bd-color: var(--btn-bg);
--input-focus-color: var(--orange-dark);
}
.btn-cyan {
--color: #000;
--btn-bg: var(--cyan);
--btn-hover: var(--cyan-dark);
--btn-bd-color: var(--btn-bg);
--input-focus-color: var(--cyan-lighter);
}
} // END [if/primary-colors]
} // END [if/buttons]