Skip to content

Button

Show design guidelines

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>
HTML React Angular
Button Button Button Button
<div class="btn-group" role="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>
</div>
import { CertaraButton } from '@certara/certara-ui-react';
<div className="btn-group" role="group">
<CertaraButton color="secondary">Button</CertaraButton>
<CertaraButton color="secondary">Button</CertaraButton>
<CertaraButton color="secondary">Button</CertaraButton>
<CertaraButton color="secondary">Button</CertaraButton>
</div>
// In your module (e.g., app.module.ts)
import { CertaraUiAngularModule } from '@certara/certara-ui-angular';
@NgModule({
imports: [CertaraUiAngularModule]
})
// In your template:
<div class="btn-group" role="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>
</div>

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