Collection of theme-ui and external components.
created:3/15/2021
updated:3/15/2021
source lines:35
comments %:37

Tabs

Tabs component with react-tabs and theme-ui styling.

Component

import { Tabs } from '@component-controls/components';

Overview

panel 1

() => {
return (
<Tabs>
<TabList>
{Object.keys(tabs).map(key => (
<Tab key={`tab_${key}`}>{key}</Tab>
))}
</TabList>
{Object.keys(tabs).map(key => (
<TabPanel key={`panel_${key}`}>{tabs[key]}</TabPanel>
))}
</Tabs>
);
}

Properties

Name
Description
Default
fontSize
ReactText
1

External dependencies

package
imports
peer
react
^17.0.1
FCComponentClass
*
resetIdCounterTabsPropsTabsTabPropsTabPanelPropsTabPanelTabListPropsTabListTab
theme-ui
^0.6.0-alpha.7
jsxBox

Component JSX

Stories

On Select

panel 1

() => {
return (
<Tabs onSelect={index => console.log(index)}>
<TabList>
{Object.keys(tabs).map(key => (
<Tab key={`tab_${key}`}>{key}</Tab>
))}
</TabList>
{Object.keys(tabs).map(key => (
<TabPanel key={`panel_${key}`}>{tabs[key]}</TabPanel>
))}
</Tabs>
);
}

Direction

panel 1

() => {
return (
<Tabs onSelect={index => console.log(index)} dir="rtl">
<TabList>
{Object.keys(tabs).map(key => (
<Tab key={`tab_${key}`}>{key}</Tab>
))}
</TabList>
{Object.keys(tabs).map(key => (
<TabPanel key={`panel_${key}`}>{tabs[key]}</TabPanel>
))}
</Tabs>
);
}

Font Size

panel 1

() => {
return (
<Tabs fontSize={4}>
<TabList>
{Object.keys(tabs).map(key => (
<Tab key={`tab_${key}`}>{key}</Tab>
))}
</TabList>
{Object.keys(tabs).map(key => (
<TabPanel key={`panel_${key}`}>{tabs[key]}</TabPanel>
))}
</Tabs>
);
}