Tabs

Usage

Tabs are used to organize and navigate between related views at the same hierarchy level. Tabs can include icons to reinforce labels and counters to inform about the tab's content.

Do

Use short and scannable labels, with as few words as possible.

Don't

Don't use long names as a label.

Do

Be consistent with the use of icons, and use them to reinforce the label.

Don't
  • Don't use icons for decorative purposes only, or if they don't have a clear connection to the label.
  • Don't use icons only for some selected tabs.
Do

Use counters in tabs to provide meaningful feedback, for instance, notifications about specific sections.

Don't

Use counters sparingly as you can overwhelm users and reduce the effectiveness of the feedback. Instead, balance the need for each section and display the strictly necessary.

Don't

Don't add interactive elements, such as buttons and links, inside the tab item.

Examples

Live Preview

Props

Tabs

NameDescription Type Default Values
items
Array of objects that represents the list of TabItems for the tab component. The properties accepted are `label`, 'value', 'isActive' and 'iconName'.array[][ { label: String, value: String, isActive: Boolean, iconName: String, data-*: String } ]
aria-label
Defines a string value that labels the tab component.stringtabs

TabsItem

NameDescription Type Default Values
value Required
Value required for accessibility compatibility to connect a tab item with a tab panel. Remember that the value provided to the tab item should be unique and the same as the value provided for the TabPanel component. Under the hood, we are adding support connecting the aria control property with the id of the tabpanel.string
active
Set the tab as activebooleanfalse
counter
Controls the display of a badge with a numeric counter.number
counter-type
Allows you to choose the badge type.stringneutralaccent, accent-inverted, neutral, info, success, warning, danger, neutral-inverted, info-inverted, success-inverted, warning-inverted, danger-inverted
icon-name
Set the tab icon name to display on the left.stringnull

TabPanel

NameDescription Type Default Values
value Required
Value required for accessibility compatibility to connect a tab panel with its tab . Remember that the value provided to the tab panel should be unique and the same as the value provided for the TabItem component. Under the hood, we are adding support connecting the id of the tabpanel with the aria control property of the tab.string
active
Set the tabpanel as active. By default, the tabpanel is enabled so this is the property to be used depending on the current active tab.booleanfalse

Slots

Tabs

NameDescription
default
Default content slot

TabsItem

NameDescription
default
Default content slot

TabPanel

NameDescription
default
Default content slot

Events

Tabs

NameDescription Type
change
This event is emitted when active tab change.{ "names": [ "String" ] }

TabsItem

NameDescription Type
item-click
This event is emitted when the current tab is clicked.{ "names": [ "String" ] }