@paprika/tabs v2.3.12
@paprika/tabs
Description
Tabs component displays tabs with panels associated with each tab
Installation
yarn add @paprika/tabsor with npm:
npm install @paprika/tabsProps
Tabs
| Prop | Type | required | default | Description |
|---|---|---|---|---|
| a11yText | string | false | null | Description of the purpose of the tabs for assistive technology. |
| children | node | true | - | Expects Tabs.List (mandatory) and Tabs.Panels (optional). |
| defaultIndex | number | false | undefined | Sets what tabindex is active by default (uncontrolled component). Use null for no active tab. |
| hasInsetFocusStyle | bool | false | false | If the visual focus ring for the tabs should be displayed with an inset style. |
| hasTruncation | bool | false | false | Tab labels will be truncated when they run out of space instead of breaking to multiple lines (ignored when isVertical is false). |
| index | number | false | undefined | Sets what tabindex is active (controlled component). Use null for no active tab. |
| isDisabled | bool | false | false | If the tabs are all disabled. |
| isVertical | bool | false | false | If the tabs are stacked vertically. |
| kind | Tabs.types.kind.PRIMARY, Tabs.types.kind.SECONDARY | false | Tabs.types.kind.PRIMARY | The visual theme of the tabs list. |
| onClickTab | func | false | null | Use this prop when you want to use Tabs as a controlled component (also you must use 'index' prop). When the user clicks on a tab, this gets fired (the tab index is passed to it). |
| size | Tabs.types.size.MEDIUM, Tabs.types.size.LARGE | false | Tabs.types.size.MEDIUM | Size of the tab label text. |
| tabHeight | number,string | false | 48 | Height of the tabs (ignored when isVertical is true). A number value will be interpreted as height in pixels. |
Tabs.List
| Prop | Type | required | default | Description |
|---|---|---|---|---|
| children | node | true | - | List of Tabs.Tab elements. |
Tabs.Panel
| Prop | Type | required | default | Description |
|---|---|---|---|---|
| children | node | false | null | |
| isSelected | bool | false | false | Controls if the option is selected or not |
| shouldUnmount | bool | false | true | Should unmount or not when isSelected is false |
Tabs.Panels
| Prop | Type | required | default | Description |
|---|---|---|---|---|
| children | node | true | - | List of Tabs.Panel elements. |
Tabs.Tab
| Prop | Type | required | default | Description |
|---|---|---|---|---|
| a11yText | string | false | null | Descriptive text for assistive technologies. By default text of the children will be used. |
| children | node | false | null | Label for the tab |
| hasFocus | bool | false | false | Internal only: if tab has focus |
| href | string | false | null | Sets a url the tab goes to |
| isDisabled | bool | false | false | If the tab is disabled |
| isSelected | bool | false | false | Internal only: if tab is selected |
| onClick | func | false | () => {} | Internal only: callback onClick |
| onKeyDownArrows | func | false | () => {} | Internal only: callback onKeyDownArrow |
Usage
import Tabs from "@paprika/tabs";
<Tabs>
<Tabs.List>
<Tabs.Tab>Hello</Tabs.Tab>
<Tabs.Tab isDisabled>World</Tabs.Tab>
<Tabs.Tab>ABC</Tabs.Tab>
<Tabs.Tab isDisabled>Disabled Tab</Tabs.Tab>
</Tabs.List>
<Tabs.Panels>
<Tabs.Panel>Hello Tab</Tabs.Panel>
<Tabs.Panel>Disabled tab 2</Tabs.Panel>
<Tabs.Panel>ABC Tab</Tabs.Panel>
<Tabs.Panel>Disabled tab 4</Tabs.Panel>
</Tabs.Panels>
</Tabs>;Links
9 months ago
9 months ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago