Skip to main content

Button Groups

Button groups are a group of related actions that may be used to paginate results, tab sections of pages, or simply select an option.

Usage​

HTML​

<div class="hs-button-group">
<input id="dev" type="radio" name="choice" value="dev" checked/>
<label for="dev" class="hs-button">
<span class="hs-button__label">DEV</span>
</label>
<input id="pro" type="radio" name="choice" value="pro"/>
<label for="pro" class="hs-button">
<span class="hs-button__label">PRO</span>
</label>
<input id="toc" type="radio" name="choice" value="toc"/>
<label for="toc" class="hs-button">
<span class="hs-button__label">TOC</span>
</label>
<input id="ols" type="radio" name="choice" value="ols"/>
<label for="ols" class="hs-button">
<span class="hs-button__label">OLS</span>
</label>
</div>

SCSS/CSS​

@use 'node_modules/@devprotocol/hashi';
@use 'node_modules/@devprotocol/hashi/hs-button-group';

@include hashi.init {
@include hs-button-group.render();
}

API​

CSS Classes​

These are used to extend and modify the styles of a component on the markup.

Anatomical Classes​

These classes make up the elements inside a component.

ClassEffect
.hs-button-groupA wrapper class around buttons for grouping them.

Configuring styles​

Here are all the themeable properties for this component. The directions to use these properties are located in the render API.

$fill: 'accent-400' !default;
$fill-hover: 'accent-400' !default;
$fill-focus: 'accent-400' !default;
$fill-active: 'accent-200' !default;

$ink: 'accent-ink' !default;

$border: $fill !default;
$border-hover: $fill-hover !default;
$border-focus: $fill-focus !default;
$border-active: $fill-active !default;

$radius: 'small' !default;
$gap: 'xs' !default;