Skip to content

Dropdown Menu

Show design guidelines

Dropdown menus are typically used when you have 5-15 items to choose from. They’re used for navigation or command menus, where an action is initiated based on the selection.

HTML
React
Angular
Dropdown Item Dropdown Item Dropdown Item Dropdown Item
<certara-dropdown button-label="Drop Down">
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
</certara-dropdown>
import { CertaraDropdown, CertaraDropdownItem } from '@certara/certara-ui-react';
<CertaraDropdown buttonLabel="Drop Down">
<CertaraDropdownItem>Dropdown Item</CertaraDropdownItem>
<CertaraDropdownItem>Dropdown Item</CertaraDropdownItem>
<CertaraDropdownItem>Dropdown Item</CertaraDropdownItem>
<CertaraDropdownItem>Dropdown Item</CertaraDropdownItem>
</CertaraDropdown>
// In your module (e.g., app.module.ts)
import { CertaraUiAngularModule } from '@certara/certara-ui-angular';
@NgModule({
imports: [CertaraUiAngularModule]
})
// In your template:
<certara-dropdown button-label="Drop Down">
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
</certara-dropdown>
HTML
React
Angular
Dropdown Item Dropdown Item Dropdown Item Dropdown Item
<certara-dropdown button-label="Color" button-color="brand">
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
</certara-dropdown>
import { CertaraDropdown, CertaraDropdownItem } from '@certara/certara-ui-react';
<CertaraDropdown buttonLabel="Color" buttonColor="brand">
<CertaraDropdownItem>Dropdown Item</CertaraDropdownItem>
<CertaraDropdownItem>Dropdown Item</CertaraDropdownItem>
<CertaraDropdownItem>Dropdown Item</CertaraDropdownItem>
<CertaraDropdownItem>Dropdown Item</CertaraDropdownItem>
</CertaraDropdown>
// In your module (e.g., app.module.ts)
import { CertaraUiAngularModule } from '@certara/certara-ui-angular';
@NgModule({
imports: [CertaraUiAngularModule]
})
// In your template:
<certara-dropdown button-label="Color" button-color="brand">
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
</certara-dropdown>
HTML
React
Angular
Dropdown Item Dropdown Item Dropdown Item Dropdown Item
<certara-dropdown placement="bottom-start" button-label="Actions">
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
</certara-dropdown>
import { CertaraDropdown, CertaraDropdownItem } from '@certara/certara-ui-react';
<CertaraDropdown placement="bottom-start" buttonLabel="Actions">
<CertaraDropdownItem>Dropdown Item</CertaraDropdownItem>
<CertaraDropdownItem>Dropdown Item</CertaraDropdownItem>
<CertaraDropdownItem>Dropdown Item</CertaraDropdownItem>
<CertaraDropdownItem>Dropdown Item</CertaraDropdownItem>
</CertaraDropdown>
// In your module (e.g., app.module.ts)
import { CertaraUiAngularModule } from '@certara/certara-ui-angular';
@NgModule({
imports: [CertaraUiAngularModule]
})
// In your template:
<certara-dropdown placement="bottom-start" button-label="Actions">
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
</certara-dropdown>

<certara-dropdown> can be nested within itself using the nested attribute.

HTML
React
Angular
Dropdown Item Dropdown Item Dropdown Item Dropdown Item Nested Item Nested Item
<certara-dropdown button-label="With nested options">
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown button-label="Nested options" nested>
<certara-dropdown-item>Nested Item</certara-dropdown-item>
<certara-dropdown-item>Nested Item</certara-dropdown-item>
</certara-dropdown>
</certara-dropdown>
import { CertaraDropdown, CertaraDropdownItem } from '@certara/certara-ui-react';
<CertaraDropdown buttonLabel="With nested options">
<CertaraDropdownItem>Dropdown Item</CertaraDropdownItem>
<CertaraDropdownItem>Dropdown Item</CertaraDropdownItem>
<CertaraDropdownItem>Dropdown Item</CertaraDropdownItem>
<CertaraDropdownItem>Dropdown Item</CertaraDropdownItem>
<CertaraDropdown buttonLabel="Nested options" nested>
<CertaraDropdownItem>Nested Item</CertaraDropdownItem>
<CertaraDropdownItem>Nested Item</CertaraDropdownItem>
</CertaraDropdown>
</CertaraDropdown>
// In your module (e.g., app.module.ts)
import { CertaraUiAngularModule } from '@certara/certara-ui-angular';
@NgModule({
imports: [CertaraUiAngularModule]
})
// In your template:
<certara-dropdown button-label="With nested options">
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown-item>Dropdown Item</certara-dropdown-item>
<certara-dropdown button-label="Nested options" nested>
<certara-dropdown-item>Nested Item</certara-dropdown-item>
<certara-dropdown-item>Nested Item</certara-dropdown-item>
</certara-dropdown>
</certara-dropdown>

Dropdown menus are typically used when you have 5-15 items to choose from. They’re used for navigation or command menus, where an action is initiated based on the selection.

buttonColor

Attributebutton-color
Type"brand" | "danger" | "inverse" | "neutral" | "secondary" | "success"
Default'secondary'
Requiredfalse
DescriptionSupports any color available in <certara-button>

buttonLabel

Attributebutton-label
Typestring
Defaultundefined
Requiredfalse
Description

buttonSize

Attributebutton-size
Type"lg" | "md" | "sm"
Default'md'
Requiredfalse
DescriptionSupports any size available in <certara-button>

buttonTabindex

Attributebutton-tabindex
Typenumber
Defaultundefined
Requiredfalse
DescriptionSet custom tabindex for the dropdown opener button

buttonVariant

Attributebutton-variant
Type"default" | "icon" | "icon-rounded" | "link" | "outline" | "reset"
Default'default'
Requiredfalse
DescriptionSupports any variant available in <certara-button>

disabled

Attributedisabled
Typeboolean
Defaultfalse
Requiredfalse
DescriptionWill disable the dropdown opener button
Attributemenu-offset
Typenumber
Default4
Requiredfalse
DescriptionSeparation from the opener to the menu (depends on orientation)

nested

Attributenested
Typeboolean
Defaultfalse
Requiredfalse
DescriptionSpecify that a nested dropdown can act as a submenu item of a containing dropdown

placement

Attributeplacement
Type"bottom-end" | "bottom-start" | "left-start" | "right-end" | "right-start" | "top-end" | "top-start"
Default'bottom-start'
Requiredfalse
DescriptionThese options will suggest a starting point for the menu position, but <certara-dropdown> will automatically position itself within the viewport to avoid appearing offscreen

position

Attributeposition
Type"absolute" | "fixed"
Default'absolute'
Requiredfalse
DescriptionThis can be set to fixed if the dropdown menu is clipped by a bounding parent element

showOpenerCaret

Attributeshow-opener-caret
Typeboolean
Defaulttrue
Requiredfalse
DescriptionIf set to false, the dropdown opener will not show a caret icon
NameDescriptionBubbles
certaraDropdownClosetrue
certaraDropdownOpentrue

There are no public methods available for this component

NameDescription
Main slot is reserved for <certara-dropdown-*> elements, but it does accept all children
button-labelCan be used for custom label content, including icons

Dropdown items can contain interactive button actions, hyperlinks, and checkboxes

Dropdown item
<certara-dropdown button-label="Dropdown">
<certara-dropdown-item>Dropdown item</certara-dropdown-item>
</certara-dropdown>
import { CertaraDropdown, CertaraDropdownItem } from '@certara/certara-ui-react';
<CertaraDropdown buttonLabel="Dropdown">
<CertaraDropdownItem>Dropdown item</CertaraDropdownItem>
</CertaraDropdown>
// In your module (e.g., app.module.ts)
import { CertaraUiAngularModule } from '@certara/certara-ui-angular';
@NgModule({
imports: [CertaraUiAngularModule]
})
// In your template:
<certara-dropdown button-label="Dropdown">
<certara-dropdown-item>Dropdown item</certara-dropdown-item>
</certara-dropdown>

active

Attributeactive
Typeboolean
Defaultfalse
Requiredfalse
DescriptionWhether the dropdown item is in an active state

description

Attributedescription
Typestring
Defaultundefined
Requiredfalse
DescriptionAdditional descriptive text that shows below the label

disabled

Attributedisabled
Typeboolean
Defaultundefined
Requiredfalse
DescriptionSet disabled state of control

hideMenuOnClick

Attributehide-menu-on-click
Typeboolean
Defaulttrue
Requiredfalse
DescriptionThe default behavior of the dropdown menu will close when this item is clicked

href

Attributehref
Typestring
Defaultundefined
Requiredfalse
Descriptioncertara-dropdown-item renders as a <button> element by default, unless given an href

target

Attributetarget
Type"_blank" | "_parent" | "_self" | "_top" | "_unfencedTop"
Defaultundefined
Requiredfalse
DescriptionTarget to be used in tandem with href if necessary
NameDescriptionBubbles
certaraClickStandard event emitted when the dropdown item is clickedtrue
certaraDropdownItemClickInternal event emitted when the dropdown item is clicked, used by certara-dropdowntrue

There are no public methods available for this component

NameDescription
Default dropdown-item content
descriptionSlot for descriptive text
right-contentRight-aligned content area for buttons and additional actions

The <certara-dropdown-checkbox> uses all props from <certara-checkbox> with the exception of layout

Dropdown item
<certara-dropdown button-label="Dropdown">
<certara-dropdown-checkbox>Dropdown item</certara-dropdown-checkbox>
</certara-dropdown>
import { CertaraDropdown, CertaraDropdownCheckbox } from '@certara/certara-ui-react';
<CertaraDropdown buttonLabel="Dropdown">
<CertaraDropdownCheckbox>Dropdown item</CertaraDropdownCheckbox>
</CertaraDropdown>
// In your module (e.g., app.module.ts)
import { CertaraUiAngularModule } from '@certara/certara-ui-angular';
@NgModule({
imports: [CertaraUiAngularModule]
})
// In your template:
<certara-dropdown button-label="Dropdown">
<certara-dropdown-checkbox>Dropdown item</certara-dropdown-checkbox>
</certara-dropdown>

checked

Attributechecked
Typeboolean
Defaultfalse
Requiredfalse
DescriptionThe checked state of the checkbox

description

Attributedescription
Typestring
Defaultundefined
Requiredfalse
DescriptionAdditional descriptive text that shows below the label

disabled

Attributedisabled
Typeboolean
Defaultfalse
Requiredfalse
DescriptionThe disabled state of the checkbox

hideMenuOnClick

Attributehide-menu-on-click
Typeboolean
Defaultfalse
Requiredfalse
DescriptionThe default behavior of the dropdown menu will close when this item is clicked

indeterminate

Attributeindeterminate
Typeboolean
Defaultfalse
Requiredfalse
DescriptionThe indeterminate state of the checkbox. Can only be set via JavaScript

name

Attributename
Typestring
Defaultthis.inputId
Requiredfalse
DescriptionThe name of the checkbox

value

Attributevalue
Typeany
Default'on'
Requiredfalse
DescriptionThe value of the checkbox
NameDescriptionBubbles
certaraBlurStandard event emitted when checkbox is blurredtrue
certaraChangeStandard event emitted when checkbox is toggledfalse
certaraDropdownItemClickInternal event emitted when the dropdown item is clicked, used by certara-dropdowntrue
certaraFocusStandard event emitted when checkbox is focusedtrue

There are no public methods available for this component

NameDescription
Default dropdown-item-checkbox content
descriptionSlot for descriptive text

Section divider within a dropdown

<certara-dropdown button-label="Dropdown">
<certara-dropdown-divider></certara-dropdown-divider>
</certara-dropdown>
import { CertaraDropdown, CertaraDropdownDivider } from '@certara/certara-ui-react';
<CertaraDropdown buttonLabel="Dropdown">
<CertaraDropdownDivider />
</CertaraDropdown>
// In your module (e.g., app.module.ts)
import { CertaraUiAngularModule } from '@certara/certara-ui-angular';
@NgModule({
imports: [CertaraUiAngularModule]
})
// In your template:
<certara-dropdown button-label="Dropdown">
<certara-dropdown-divider></certara-dropdown-divider>
</certara-dropdown>

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

There are no slots available for this component

Grouping container within a dropdown. This provides the appropriate semantics for a group of items with a corresponding label

<certara-dropdown button-label="Dropdown">
<certara-dropdown-group headline="Dropdown Header"></certara-dropdown-group>
</certara-dropdown>
import { CertaraDropdown, CertaraDropdownGroup } from '@certara/certara-ui-react';
<CertaraDropdown buttonLabel="Dropdown">
<CertaraDropdownGroup headline="Dropdown Header" />
</CertaraDropdown>
// In your module (e.g., app.module.ts)
import { CertaraUiAngularModule } from '@certara/certara-ui-angular';
@NgModule({
imports: [CertaraUiAngularModule]
})
// In your template:
<certara-dropdown button-label="Dropdown">
<certara-dropdown-group headline="Dropdown Header"></certara-dropdown-group>
</certara-dropdown>

headline

Attributeheadline
Typestring
Defaultundefined
Requiredfalse
Description

There are no events available for this component

There are no public methods available for this component

There are no slots available for this component