Declaritive, accessible tabs in React that collapse into accordions on mobile.
This component uses the Context API, therefore there is a minimum requirement of React 16.3.
npm i @cellosignal/react-tabs
const AwesomeTabs = () => {
return (
<Tabs>
<Tab title="Tab One">
<h1>Ain't this tidy?</h1>
<p>I'm more text</p>
</Tab>
<Tab title="Tab Two">
<SomeOtherComponent />
</Tab>
<Tabs>
);
}
There are a number of options available for targeting styles and providing data to the components.
Prop | Component | Description |
---|---|---|
className |
<Tabs> |
Add your classNames for styling, this adds it at the top level |
contentClassName |
<Tabs> |
className for wrapping your content |
className |
<Tab> |
className to add to each tab |
activeClassName |
<Tab> |
className added to the active tab |
title |
<Tab> |
String, the title of the Tab |
toggleClassName |
<Tabs> |
className added to the button, only on mobile |
mobileBreakpoint |
<Tabs> |
Mobile breakpoint in px |
tabListClassName |
<Tabs> |
className added to the tab list |
We use storybook for component development, to get up and running follow these steps:
- 1. Clone the repository,
cd
into the root and runnpm install
- 2. Open two terminal windows, in the first window:
- 3. cd into the root of the project run
npm run dev
, this will start webpack - 4. In the second window,
cd
into the project and runnpm run storybook
- 5. If you have a project that you are developing locally you should
npm link
this package, to do this you need to:- 5.1. In your terminal,
cd
into this project and runnpm link
- 5.2. In your terminal,
cd
into your application and runnpm link @cellosignal/react-tabs
- 5.1. In your terminal,
Please see the contributing guidlines.