Components
Button variants
Sizes, full-width, icon-only, loading, button groups, and split buttons — all extending the base button.
Sizes
<button class="ds-button ds-button--sm">Small</button>
<button class="ds-button">Default</button>
<button class="ds-button ds-button--lg">Large</button>
Icon-only · block · loading
<button class="ds-button ds-button--icon" aria-label="Add"><svg…></svg></button>
<button class="ds-button ds-button--primary ds-button--loading">Saving</button>
<button class="ds-button ds-button--block">Block button</button>
Button group
<div class="ds-button-group">
<button class="ds-button">Day</button>
<button class="ds-button">Week</button>
<button class="ds-button">Month</button>
</div>
React
import { ButtonGroup, IconButton, SplitButton } from "@diametral/design-system/react";
<ButtonGroup><button className="ds-button">Day</button>…</ButtonGroup>
<IconButton label="Add" variant="primary"><PlusIcon /></IconButton>
<SplitButton variant="primary" onMain={save} menu={<div className="ds-menu">…</div>}>Save</SplitButton>
// the base Button also takes size / loading / block:
<Button size="lg" loading>Saving</Button>