Skip to content

Button

Show design guidelines

Buttons are used to trigger an action or an event. Button labels let the user know what to expect by clearly communicating what selecting the button will do or where it will take them.

HTML
React
Angular
BrandSecondaryDangerSuccessInverse
<certara-button color="brand">Brand</certara-button>
<certara-button color="secondary">Secondary</certara-button>
<certara-button color="danger">Danger</certara-button>
<certara-button color="success">Success</certara-button>
<certara-button color="inverse">Inverse</certara-button>
import { CertaraButton } from '@certara/certara-ui-react';
<CertaraButton color="brand">Brand</CertaraButton>
<CertaraButton color="secondary">Secondary</CertaraButton>
<CertaraButton color="danger">Danger</CertaraButton>
<CertaraButton color="success">Success</CertaraButton>
<CertaraButton color="inverse">Inverse</CertaraButton>
// In your module (e.g., app.module.ts)
import { CertaraUiAngularModule } from '@certara/certara-ui-angular';
@NgModule({
imports: [CertaraUiAngularModule]
})
// In your template:
<certara-button color="brand">Brand</certara-button>
<certara-button color="secondary">Secondary</certara-button>
<certara-button color="danger">Danger</certara-button>
<certara-button color="success">Success</certara-button>
<certara-button color="inverse">Inverse</certara-button>

(Note: Works on solid, outline, and link buttons)

HTML
React
Angular
Small button
<certara-button color="brand" size="sm">Small button</certara-button>
import { CertaraButton } from '@certara/certara-ui-react';
<CertaraButton color="brand" size="sm">Small button</CertaraButton>
// In your module (e.g., app.module.ts)
import { CertaraUiAngularModule } from '@certara/certara-ui-angular';
@NgModule({
imports: [CertaraUiAngularModule]
})
// In your template:
<certara-button color="brand" size="sm">Small button</certara-button>

(Note: Works on solid, outline, and link buttons)

HTML
React
Angular
Icon on left
<certara-button left-icon="plus">Icon on left</certara-button>
import { CertaraButton } from '@certara/certara-ui-react';
<CertaraButton leftIcon="plus">Icon on left</CertaraButton>
// In your module (e.g., app.module.ts)
import { CertaraUiAngularModule } from '@certara/certara-ui-angular';
@NgModule({
imports: [CertaraUiAngularModule]
})
// In your template:
<certara-button left-icon="plus">Icon on left</certara-button>

<certara-button> can also render as a hyperlink by giving it an href and make use of all the pre-built advantages like copying URLs, opening in new tabs, etc. Or, just maintain the appearance of a hyperlink. As always, use the right semantics for the situation when choosing between buttons and links.

HTML
React
Angular
Has dimensions of a link (inline, no padding)
Link Brand Danger Success
Inverse
<certara-button variant="reset" inner-class-name="link">Link</certara-button>
<certara-button variant="reset" inner-class-name="link text-brand">Brand</certara-button>
<certara-button variant="reset" inner-class-name="link text-danger">Danger</certara-button>
<certara-button variant="reset" inner-class-name="link text-success">Success</certara-button>
<div class="bg-inverse p-4">
<certara-button variant="reset" inner-class-name="link text-inverse">Inverse</certara-button>
</div>
import { CertaraButton } from '@certara/certara-ui-react';
<CertaraButton variant="reset" innerClassName="link">Link</CertaraButton>
<CertaraButton variant="reset" innerClassName="link text-brand">Brand</CertaraButton>
<CertaraButton variant="reset" innerClassName="link text-danger">Danger</CertaraButton>
<CertaraButton variant="reset" innerClassName="link text-success">Success</CertaraButton>
<div className="bg-inverse p-4">
<CertaraButton variant="reset" innerClassName="link text-inverse">Inverse</CertaraButton>
</div>
// In your module (e.g., app.module.ts)
import { CertaraUiAngularModule } from '@certara/certara-ui-angular';
@NgModule({
imports: [CertaraUiAngularModule]
})
// In your template:
<certara-button variant="reset" inner-class-name="link">Link</certara-button>
<certara-button variant="reset" inner-class-name="link text-brand">Brand</certara-button>
<certara-button variant="reset" inner-class-name="link text-danger">Danger</certara-button>
<certara-button variant="reset" inner-class-name="link text-success">Success</certara-button>
<div class="bg-inverse p-4">
<certara-button variant="reset" inner-class-name="link text-inverse">Inverse</certara-button>
</div>
HTML
React
Angular
<certara-button variant="icon" color="brand" aria-label="Move right">
<certara-icon name="arrow-right" />
</certara-button>
<certara-button variant="icon" color="neutral" aria-label="Move right">
<certara-icon name="arrow-right" />
</certara-button>
<div class="bg-inverse p-4">
<certara-button variant="icon" color="inverse" aria-label="Move right">
<certara-icon name="arrow-right" />
</certara-button>
</div>
<certara-button variant="icon" color="danger" aria-label="Delete">
<certara-icon name="trash" />
</certara-button>
<certara-button variant="icon" color="success" aria-label="Checked">
<certara-icon name="circle-check" />
</certara-button>
import { CertaraButton, CertaraIcon } from '@certara/certara-ui-react';
<CertaraButton variant="icon" color="brand" aria-label="Move right">
<CertaraIcon name="arrow-right" />
</CertaraButton>
<CertaraButton variant="icon" color="neutral" aria-label="Move right">
<CertaraIcon name="arrow-right" />
</CertaraButton>
<div className="bg-inverse p-4">
<CertaraButton variant="icon" color="inverse" aria-label="Move right">
<CertaraIcon name="arrow-right" />
</CertaraButton>
</div>
<CertaraButton variant="icon" color="danger" aria-label="Delete">
<CertaraIcon name="trash" />
</CertaraButton>
<CertaraButton variant="icon" color="success" aria-label="Checked">
<CertaraIcon name="circle-check" />
</CertaraButton>
// In your module (e.g., app.module.ts)
import { CertaraUiAngularModule } from '@certara/certara-ui-angular';
@NgModule({
imports: [CertaraUiAngularModule]
})
// In your template:
<certara-button variant="icon" color="brand" aria-label="Move right">
<certara-icon name="arrow-right"></certara-icon>
</certara-button>
<certara-button variant="icon" color="neutral" aria-label="Move right">
<certara-icon name="arrow-right"></certara-icon>
</certara-button>
<div class="bg-inverse p-4">
<certara-button variant="icon" color="inverse" aria-label="Move right">
<certara-icon name="arrow-right"></certara-icon>
</certara-button>
</div>
<certara-button variant="icon" color="danger" aria-label="Delete">
<certara-icon name="trash"></certara-icon>
</certara-button>
<certara-button variant="icon" color="success" aria-label="Checked">
<certara-icon name="circle-check"></certara-icon>
</certara-button>
HTML
React
Angular
Only icon buttons support a selected state
<certara-button selected variant="icon" color="brand" aria-label="Move right">
<certara-icon name="arrow-right" />
</certara-button>
<certara-button selected variant="icon" color="success" aria-label="Checked">
<certara-icon name="circle-check" variant="solid" />
</certara-button>
<certara-button selected variant="icon-rounded" color="brand" aria-label="Bold">
<certara-icon name="bold" variant="solid" />
</certara-button>
import { CertaraButton, CertaraIcon } from '@certara/certara-ui-react';
<CertaraButton selected variant="icon" color="brand" aria-label="Move right">
<CertaraIcon name="arrow-right" />
</CertaraButton>
<CertaraButton selected variant="icon" color="success" aria-label="Checked">
<CertaraIcon name="circle-check" variant="solid" />
</CertaraButton>
<CertaraButton selected variant="icon-rounded" color="brand" aria-label="Bold">
<CertaraIcon name="bold" variant="solid" />
</CertaraButton>
// In your module (e.g., app.module.ts)
import { CertaraUiAngularModule } from '@certara/certara-ui-angular';
@NgModule({
imports: [CertaraUiAngularModule]
})
// In your template:
<certara-button selected variant="icon" color="brand" aria-label="Move right">
<certara-icon name="arrow-right"></certara-icon>
</certara-button>
<certara-button selected variant="icon" color="success" aria-label="Checked">
<certara-icon name="circle-check" variant="solid"></certara-icon>
</certara-button>
<certara-button selected variant="icon-rounded" color="brand" aria-label="Bold">
<certara-icon name="bold" variant="solid"></certara-icon>
</certara-button>

block

Attributeblock
Typeboolean
Defaultfalse
Requiredfalse
DescriptionWhen true, button spans full width

color

Attributecolor
Type"brand" | "danger" | "inverse" | "neutral" | "secondary" | "success"
Default'brand'
Requiredfalse
DescriptionColor options for buttons

configAria

Attributeconfig-aria
Typeany
Default{}
Requiredfalse
DescriptionARIA overrides merged onto the inner element; reflected and mutable

disabled

Attributedisabled
Typeboolean
Defaultfalse
Requiredfalse
DescriptionDisables the control

href

Attributehref
Typestring
Defaultundefined
Requiredfalse
DescriptionWhen set, renders as anchor with this href instead of button

innerClassName

Attributeinner-class-name
Typestring
Defaultundefined
Requiredfalse
DescriptionCSS classes applied to the inner button or anchor

leftIcon

Attributeleft-icon
Typestring
Defaultundefined
Requiredfalse
DescriptionIcon name to appear on the left

popoverTarget

Attributepopover-target
Typestring
Defaultundefined
Requiredfalse
DescriptionID of popover element to control (Popover API)

popoverTargetAction

Attributepopover-target-action
Type"hide" | "show" | "toggle"
Defaultundefined
Requiredfalse
DescriptionPopover action

rightIcon

Attributeright-icon
Typestring
Defaultundefined
Requiredfalse
DescriptionIcon name to appear on the right

selected

Attributeselected
Typeboolean
Defaultfalse
Requiredfalse
DescriptionWhen true, button is selected

showLoader

Attributeshow-loader
Typeboolean
Defaultfalse
Requiredfalse
DescriptionWhen true, shows spinner and disables interaction

size

Attributesize
Type"lg" | "md" | "sm"
Default'md'
Requiredfalse
DescriptionVisual size of button

target

Attributetarget
Type"_blank" | "_parent" | "_self" | "_top" | "_unfencedTop"
Defaultundefined
Requiredfalse
DescriptionLink target when href is set

type

Attributetype
Type"button" | "reset" | "submit"
Default'button'
Requiredfalse
DescriptionNative button type

variant

Attributevariant
Type"default" | "icon" | "icon-rounded" | "link" | "outline" | "reset"
Default'default'
Requiredfalse
DescriptionVisual style options for buttons
NameDescriptionBubbles
certaraBlurEmitted when the inner element loses focustrue
certaraClickEmitted on click when not disabled and not loading; detail includes element (host)true
certaraFocusEmitted when the inner element receives focustrue

There are no public methods available for this component

There are no slots available for this component

A wrapper for a group of buttons or button-like elements like a dropdown. It handles spacing and rounding of corners

HTML
React
Angular
Button Button Button Button
<certara-button-group>
<certara-button color="secondary">Button</certara-button>
<certara-button color="secondary">Button</certara-button>
<certara-button color="secondary">Button</certara-button>
<certara-button color="secondary">Button</certara-button>
</certara-button-group>
import { CertaraButton, CertaraButtonGroup } from '@certara/certara-ui-react';
<CertaraButtonGroup>
<CertaraButton color="secondary">Button</CertaraButton>
<CertaraButton color="secondary">Button</CertaraButton>
<CertaraButton color="secondary">Button</CertaraButton>
<CertaraButton color="secondary">Button</CertaraButton>
</CertaraButtonGroup>
// In your module (e.g., app.module.ts)
import { CertaraUiAngularModule } from '@certara/certara-ui-angular';
@NgModule({
imports: [CertaraUiAngularModule]
})
// In your template:
<certara-button-group>
<certara-button color="secondary">Button</certara-button>
<certara-button color="secondary">Button</certara-button>
<certara-button color="secondary">Button</certara-button>
<certara-button color="secondary">Button</certara-button>
</certara-button-group>

There are no public properties available for this component

There are no events available for this component

There are no public methods available for this component

NameDescription
Slot for any certara-buttons or certara-dropdowns