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, testId: String } ]
aria-label
Defines a string value that labels the tab component.stringtabs

TabsItem

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, testId: String } ]
aria-label
Defines a string value that labels the tab component.stringtabs

TabPanel

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, testId: String } ]
aria-label
Defines a string value that labels the tab component.stringtabs

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
change
This event is emitted when active tab change.{ "names": [ "String" ] }