Tabs
TkTabs component description.
- React
- Vue
- Angular
import { TkTabs, TkTabsItem } from '@takeoff-ui/react'
import { TkTabs, TkTabsItem } from '@takeoff-ui/vue'
import { TkTabs, TkTabsItem } from '@takeoff-ui/angular'
Type​
Establishes various tab styles basic
, divided
, compact
, expanded
available via the type
property.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 1
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 2
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 3
- React
- Vue
- Angular
Variants​
Provides 3 different variant primary
, info
, neutral
via variant
property.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 1
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 2
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 3
- React
- Vue
- Angular
Spread Headers​
Determines whether the tab headers will spread evenly across the horizontal space.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 1
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 2
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 3
- React
- Vue
- Angular
Align Headers​
Tabs headers can aligned as start
, center
or end
via align-headers
property.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 1
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 2
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 3
- React
- Vue
- Angular
Sizes​
Provides 3 different sizes small
, base
, large
available via size
property.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 1
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 2
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 3
- React
- Vue
- Angular
Orientation​
Provides both horizontal
and vertical
orientations via orientation
property.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 1
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 2
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 3
- React
- Vue
- Angular
Programmatic Control​
Tabs can be controlled programmatically using the activeIndex
prop.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 1
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 2
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 3
- React
- Vue
- Angular
<TkButton label="First Tab" onClick={() => setActiveTabIndex(0)} />
<TkButton label="Second Tab" onClick={() => setActiveTabIndex(1)} />
<TkButton label="Third Tab" onClick={() => setActiveTabIndex(2)} />
...
<TkTabs activeIndex={activeTabIndex} onTkTabChange={(e) => setActiveTabIndex(e.detail)}>
<TkTabsItem label="First Tab" icon="flight">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas!</p>
</TkTabsItem>
<TkTabsItem label="Second Tab" icon="flight">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas!</p>
</TkTabsItem>
<TkTabsItem label="Third Tab" icon="flight">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas!</p>
</TkTabsItem>
</TkTabs>
<TkButton label="First Tab" @click="activeTabIndex = 0" />
<TkButton label="Second Tab" @click="activeTabIndex = 1" />
<TkButton label="Third Tab" @click="activeTabIndex = 2" />
...
<TkTabs :activeIndex="activeTabIndex" @tk-tab-change="(e) => activeTabIndex = e.detail">
<TkTabsItem label="First Tab" icon="flight">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas!</p>
</TkTabsItem>
<TkTabsItem label="Second Tab" icon="flight">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas!</p>
</TkTabsItem>
<TkTabsItem label="Third Tab" icon="flight">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas!</p>
</TkTabsItem>
</TkTabs>
Controlled​
Tabs can be controlled via the controlled
property.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 1
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 2
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 3
- React
- Vue
- Angular
const [activeTab, setActiveTab] = useState(0);
<TkTabs
activeIndex={activeTab}
controlled
onTkTabClick={(e) => setActiveTab(e.detail)}
>
<TkTabsItem label="Tab label" icon="flight">
<p className="m-0">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore
sed consequuntur error repudiandae numquam deserunt quisquam
repellat libero asperiores earum nam nobis, culpa ratione quam
perferendis esse, cupiditate nequequas! 1
</p>
</TkTabsItem>
<TkTabsItem label="Tab label" icon="flight">
<p className="m-0">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore
sed consequuntur error repudiandae numquam deserunt quisquam
repellat libero asperiores earum nam nobis, culpa ratione quam
perferendis esse, cupiditate nequequas! 2
</p>
</TkTabsItem>
<TkTabsItem label="Tab label" icon="flight">
<p className="m-0">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore
sed consequuntur error repudiandae numquam deserunt quisquam
repellat libero asperiores earum nam nobis, culpa ratione quam
perferendis esse, cupiditate nequequas! 3
</p>
</TkTabsItem>
</TkTabs>
const activeTab = ref(0);
<TkTabs
activeIndex={activeTab}
controlled
onTkTabClick={(e) => activeTab = e.detail}
>
<TkTabsItem label="Tab label" icon="flight">
<p className="m-0">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore
sed consequuntur error repudiandae numquam deserunt quisquam
repellat libero asperiores earum nam nobis, culpa ratione quam
perferendis esse, cupiditate nequequas! 1
</p>
</TkTabsItem>
<TkTabsItem label="Tab label" icon="flight">
<p className="m-0">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore
sed consequuntur error repudiandae numquam deserunt quisquam
repellat libero asperiores earum nam nobis, culpa ratione quam
perferendis esse, cupiditate nequequas! 2
</p>
</TkTabsItem>
<TkTabsItem label="Tab label" icon="flight">
<p className="m-0">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore
sed consequuntur error repudiandae numquam deserunt quisquam
repellat libero asperiores earum nam nobis, culpa ratione quam
perferendis esse, cupiditate nequequas! 3
</p>
</TkTabsItem>
</TkTabs>
Closable​
Tabs can be closed separately via is-closable
property.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 1
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 2
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas! 3
- React
- Vue
- Angular
<TkTabs isClosable>
<TkTabsItem label="Tab label" icon="flight">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas!</p>
</TkTabsItem>
<TkTabsItem label="Tab label" icon="flight">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas!</p>
</TkTabsItem>
<TkTabsItem label="Tab label" icon="flight">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas!</p>
</TkTabsItem>
</TkTabs>
<TkTabs :isClosable.prop="true">
<TkTabsItem label="Tab label" icon="flight">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas!</p>
</TkTabsItem>
<TkTabsItem label="Tab label" icon="flight">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas!</p>
</TkTabsItem>
<TkTabsItem label="Tab label" icon="flight">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate nequequas!</p>
</TkTabsItem>
</TkTabs>
Tabs API​
Props​
Name | Type | Default | Description |
---|---|---|---|
number | 0 | Controls the currently active tab index. Can be controlled programmatically from outside. | |
"center", "end", "start" | 'start' | Sets the alignment of the header. | |
any | null | The style attribute of container element | |
any | null | The style attribute of tabs item element | |
boolean | false | Controls if the tabs component is controlled. | |
number | 0 | Default Active Index for tabs component. | |
any | null | The style attribute of headers container element | |
boolean | false | Controls if tabs are closable. | |
boolean | false | Controls if new tabs can be added or not. | |
"horizontal", "vertical" | 'horizontal' | Controls the orientation of the tabs component. | |
"base", "large", "small", "xsmall", "xxsmall" | 'base' | Controls the size of the tabs component. | |
boolean | false | Determines whether the tab headers will spread evenly across the horizontal space. | |
"basic", "compact", "divided", "expanded" | 'basic' | Controls the tab style of the tabs component. | |
"info", "neutral", "primary" | 'primary' | Controls the color variant of the tabs component. |
Events​
Name | Description |
---|---|
tk-tab-change | Triggered when the currently open tab changes. Returns the active index. |
tk-tab-click | Triggered when a tab is clicked. Returns the clicked tab index. |
Tabs Item API​
Props​
Name | Type | Default | Description |
---|---|---|---|
number, string | null | Sets badge component's count. | |
string | null | Sets badge component's label. | |
boolean | false | Checks if tab item has badge component or not. | |
boolean | null | Whether the tab item is disabled. | |
IIconOptions, string | null | Icon for tabs item component. | |
string | null | Label for the tab item. | |
ITooltipOptions | null | Sets tooltip options for the tab item. |