Skip to main content
🏠ComponentsTabsVersion: 1.4.0

Tabs

Tabs organize content into multiple sections and allow users to navigate between them.

Basic tabs​

A basic example with three tabs.

<qtm-tabs>
<qtm-tab active label="Item 1"></qtm-tab>
<qtm-tab label="Item 2"></qtm-tab>
<qtm-tab label="Item 3"></qtm-tab>
</qtm-tabs>

Sizes​

Set size attribute to small or medium to style tabs size. By default, tabs have size medium.

<qtm-tabs size="small">
<qtm-tab active label="Item 1"></qtm-tab>
<qtm-tab label="Item 2"></qtm-tab>
<qtm-tab label="Item 3"></qtm-tab>
</qtm-tabs>
<qtm-tabs size="medium">
<qtm-tab active label="Item 1"></qtm-tab>
<qtm-tab label="Item 2"></qtm-tab>
<qtm-tab label="Item 3"></qtm-tab>
</qtm-tabs>

States​

Active State​

Add active attribute to a tab to style it as active.

<qtm-tabs>
<qtm-tab active label="Item 1"></qtm-tab>
<qtm-tab label="Item 2"></qtm-tab>
<qtm-tab label="Item 3"></qtm-tab>
</qtm-tabs>

Disabled State​

Add disabled attribute to tab to style it as disabled.

<qtm-tabs>
<qtm-tab disabled label="Item 1"></qtm-tab>
<qtm-tab label="Item 2"></qtm-tab>
<qtm-tab label="Item 3"></qtm-tab>
</qtm-tabs>

Divider​

By default, tabs has a divider. Alternatively, tabs can be used without a divider by setting divider to false.

<qtm-tabs divider="false">
<qtm-tab label="Item 1"></qtm-tab>
<qtm-tab label="Item 2"></qtm-tab>
<qtm-tab label="Item 3"></qtm-tab>
</qtm-tabs>

Layout​

  • full-width attribute if you want the tabs container to take up the whole width.
  • full-height attribute if you want the tabs container to take up the whole height.

Fluid Tabs​

Add full-width and fluid to qtm-tabs if you want set equal tabs widths when the tabs wrapper takes up the whole width available.

<qtm-tabs full-width fluid>
<qtm-tab active label="Item 1"></qtm-tab>
<qtm-tab label="Item 2"></qtm-tab>
<qtm-tab label="Item 3"></qtm-tab>
</qtm-tabs>

Alignment​

Tabs alignment can be set by setting alignment attribute to left, center, right.

Left alignment​

<qtm-tabs full-width alignment="left">
<qtm-tab active label="Item 1"></qtm-tab>
<qtm-tab label="Item 2"></qtm-tab>
<qtm-tab label="Item 3"></qtm-tab>
</qtm-tabs>

Center alignment​

<qtm-tabs full-width alignment="center">
<qtm-tab active label="Item 1"></qtm-tab>
<qtm-tab label="Item 2"></qtm-tab>
<qtm-tab label="Item 3"></qtm-tab>
</qtm-tabs>

Right alignment​

<qtm-tabs full-width alignment="right">
<qtm-tab active label="Item 1"></qtm-tab>
<qtm-tab label="Item 2"></qtm-tab>
<qtm-tab label="Item 3"></qtm-tab>
</qtm-tabs>

Scrollable tabs​

Use scroll-horizontally to allow horizontal scrolling if needed.

<qtm-tabs scroll-horizontally full-width>
<qtm-tab active label="Item 1"></qtm-tab>
<qtm-tab label="Item 2"></qtm-tab>
<qtm-tab label="Item 3"></qtm-tab>
<qtm-tab label="Item 4"></qtm-tab>
<qtm-tab label="Item 5"></qtm-tab>
<qtm-tab label="Item 6"></qtm-tab>
<qtm-tab label="Item 7"></qtm-tab>
</qtm-tabs>

Icons​

Tab labels may be either all icons or all text.

<qtm-tabs>
<qtm-tab active icon="settings"></qtm-tab>
<qtm-tab icon="account_circle"></qtm-tab>
<qtm-tab icon="face"></qtm-tab>
</qtm-tabs>
<qtm-tabs>
<qtm-tab active icon="settings" label="Item 1"></qtm-tab>
<qtm-tab icon="account_circle" label="Item 2"></qtm-tab>
<qtm-tab icon="face" label="Item 3"></qtm-tab>
</qtm-tabs>

Icon position​

By default, the icon is positioned at the start of a tab. Other supported position is end.

<qtm-tabs>
<qtm-tab
active
icon="settings"
label="Item 1"
icon-position="start"
></qtm-tab>
<qtm-tab icon="account_circle" label="Item 2" icon-position="end"></qtm-tab>
<qtm-tab icon="face" label="Item 3"></qtm-tab>
</qtm-tabs>

Vertical Tab​

Set tab-item-direction attribute to horizontal or vertical to allow horizontal/vertical tab layout.

<qtm-tabs tab-item-direction="vertical">
<qtm-tab active icon="settings" label="Item 1"></qtm-tab>
<qtm-tab icon="account_circle" label="Item 2"></qtm-tab>
<qtm-tab icon="face" label="Item 3"></qtm-tab>
</qtm-tabs>

Customization​

A Tab can also take any content in their slot.

Item 1Item 2Item 3
<qtm-tabs>
<qtm-tab active>
<qtm-icon icon="settings"></qtm-icon>
<qtm-typography classes="text-green-500">Item 1</qtm-typography>
</qtm-tab>
<qtm-tab>
<qtm-icon icon="account_circle"></qtm-icon>
<qtm-typography classes="text-red-500">Item 2</qtm-typography>
</qtm-tab>
<qtm-tab>
<qtm-icon icon="face"></qtm-icon>
<qtm-typography classes="text-primary-500">Item 3</qtm-typography>
</qtm-tab>
</qtm-tabs>

API​

qtm-tabs

PropertyTypeDefaultDescription
alignment"center" | "left" | "right"'left'set the tabs alignement when the tabs component takes up the whole width available( fullWidth=true)
classesstringlist of classes to override or extend the styles applied to the component. You can use available utility classes by importing
dividerbooleantrueIf true, the divider is displayed.
fluidbooleanfalseset equal tabs widths when the tabs component takes up the whole width available( fullWidth=true)
fullHeightbooleanfalseIf true, the tabs component takes up the whole height available
fullWidthbooleanfalseIf true, the tabs component takes up the whole width available
scrollHorizontallybooleanfalseIf true, the tabs component scroll horizontally
size"medium" | "small"'medium'tab size
tabItemDirection"horizontal" | "vertical"'horizontal'set tabs component's direction

qtm-tab

PropertyTypeDefaultDescription
activebooleanfalseIf true, the tab is active
classesstringlist of classes to override or extend the styles applied to the component. You can use available utility classes by importing
disabledbooleanfalseIf true, the component is disabled.
iconstring | { icon: string; classes?: string; lib?: IconLibType; size?: IconSizeType; variant?: IconVariantType; }icon to display
iconPosition"end" | "start"'start'icon position 'start' | 'end'
labelstringtext to display
EventTypeDescription
clickedTabEventCustomEvent<string>Callback fired when the tab is clicked.

Spotted a bug, have a question, or want to suggest a new feature?

Submit an issue on GitLab