Description
sp-action-group
delivers a set of action buttons in horizontal or vertical orientation while ensuring the appropriate spacing between those buttons. The compact
attribute merges these buttons so that they are visually joined to clarify their relationship to each other and their distance from other buttons/groups.
Usage
yarn add @spectrum-web-components/action-group
Import the side effectful registration of <sp-action-group>
via:
import '@spectrum-web-components/action-group/sp-action-group.js';
When looking to leverage the ActionGroup
base class as a type and/or for extension purposes, do so via:
import { ActionGroup } from '@spectrum-web-components/action-group';
Horizontal
<sp-action-group>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Button 1
</sp-action-button>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Longer Button 2
</sp-action-button>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Short 3
</sp-action-button>
</sp-action-group>
<br />
<sp-action-group compact>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Button 1
</sp-action-button>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Longer Button 2
</sp-action-button>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Short 3
</sp-action-button>
</sp-action-group>
<br />
<sp-action-group>
<sp-action-button quiet label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
<sp-action-button quiet label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
<sp-action-button quiet label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
</sp-action-group>
<br />
<sp-action-group compact>
<sp-action-button label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
<sp-action-button label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
<sp-action-button label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
</sp-action-group>
Vertical
<div style="display: flex; justify-content: space-around;">
<sp-action-group vertical>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Button 1
</sp-action-button>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Longer Button 2
</sp-action-button>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Short 3
</sp-action-button>
</sp-action-group>
<sp-action-group vertical compact>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Button 1
</sp-action-button>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Longer Button 2
</sp-action-button>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Short 3
</sp-action-button>
</sp-action-group>
<sp-action-group vertical>
<sp-action-button quiet label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
<sp-action-button quiet label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
<sp-action-button quiet label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
</sp-action-group>
<sp-action-group compact vertical>
<sp-action-button label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
<sp-action-button label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
<sp-action-button label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
</sp-action-group>
</div>
Justified
<sp-action-group justified>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Button 1
</sp-action-button>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Longer Button 2
</sp-action-button>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Short 3
</sp-action-button>
</sp-action-group>
<br />
<sp-action-group justified compact>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Button 1
</sp-action-button>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Longer Button 2
</sp-action-button>
<sp-action-button>
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
Short 3
</sp-action-button>
</sp-action-group>
<br />
<sp-action-group justified>
<sp-action-button quiet label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
<sp-action-button quiet label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
<sp-action-button quiet label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
</sp-action-group>
<br />
<sp-action-group compact justified>
<sp-action-button label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
<sp-action-button label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
<sp-action-button label="Zoom in">
<sp-icon slot="icon" size="xs" name="ui:Magnifier"></sp-icon>
</sp-action-button>
</sp-action-group>