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-widthattribute if you want the tabs container to take up the whole width.full-heightattribute 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.
<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
| Property | Type | Default | Description | 
|---|---|---|---|
| alignment | "center" | "left" | "right" | 'left' | set the tabs alignement when the tabs component takes up the whole width available( fullWidth=true) | 
| classes | string | list of classes to override or extend the styles applied to the component. You can use available utility classes by importing | |
| divider | boolean | true | If true, the divider is displayed. | 
| fluid | boolean | false | set equal tabs widths when the tabs component takes up the whole width available( fullWidth=true) | 
| fullHeight | boolean | false | If true, the tabs component takes up the whole height available | 
| fullWidth | boolean | false | If true, the tabs component takes up the whole width available | 
| scrollHorizontally | boolean | false | If true, the tabs component scroll horizontally | 
| size | "medium" | "small" | 'medium' | tab size | 
| tabItemDirection | "horizontal" | "vertical" | 'horizontal' | set tabs component's direction | 
qtm-tab
| Property | Type | Default | Description | 
|---|---|---|---|
| active | boolean | false | If true, the tab is active | 
| classes | string | list of classes to override or extend the styles applied to the component. You can use available utility classes by importing | |
| disabled | boolean | false | If true, the component is disabled. | 
| icon | string | { icon: string; classes?: string; lib?: IconLibType; size?: IconSizeType; variant?: IconVariantType; } | icon to display | |
| iconPosition | "end" | "start" | 'start' | icon position 'start' | 'end' | 
| label | string | text to display | 
| Event | Type | Description | 
|---|---|---|
| clickedTabEvent | CustomEvent<string> | Callback fired when the tab is clicked. |