@bolttech/atoms-tabs
v0.18.0
Published
The **Tabs** component is a versatile React component designed to create a tabbed interface. It allows you to organize content into tabs and switch between them seamlessly.
Downloads
696
Maintainers
Keywords
Readme
Tabs Component
The Tabs component is a versatile React component designed to create a tabbed interface. It allows you to organize content into tabs and switch between them seamlessly.
Table of Contents
Installation
To use the Tabs component in your React application, follow these steps:
Installation
npm install @bolttech/frontend-foundations @bolttech/atoms-tab @bolttech/atoms-tabs
or
yarn add @bolttech/frontend-foundations @bolttech/atoms-tab @bolttech/atoms-tabs
Once you have the required dependencies installed, you can start using the Tabs
component in your React application.
Usage
The Tabs component provides a tabbed interface for organizing and displaying content. It can be easily customized to fit your design requirements.
To use the component, import it and include it in your JSX:
import React, {useState} from 'react';
import {Tab} from '@bolttech/atoms-tab'; // You can import your Tab component here
import {Tabs} from '@bolttech/atoms-tabs';
import {bolttechTheme, BolttechThemeProvider} from "@bolttech/frontend-foundations";
function App() {
const [selectedTab, setSelectedTab] = useState('tab-1');
const handleTabChange = (event, value) => {
setSelectedTab(value);
};
return (
<BolttechThemeProvider theme={bolttechTheme}>
<Tabs
selected={selectedTab}
id="my-tabs"
dataTestId="my-tabs-test"
variant="basic"
align="left"
onChange={handleTabChange}
>
<Tab value="tab-1">Tab 1</Tab>
<Tab value="tab-2">Tab 2</Tab>
{/* Add more Tab components as needed */}
</Tabs>
<div>
{/* Content associated with Tab 1 */}
<TabPanel value="tab-1" selectedValue={selectedTab}>
Content for Tab 1
</TabPanel>
{/* Content associated with Tab 2 */}
<TabPanel value="tab-2" selectedValue={selectedTab}>
Content for Tab 2
</TabPanel>
</div>
</BolttechThemeProvider>
);
}
export default App;
Props
The Tabs component accepts the following props:
| Prop | Type | Description |
|----------------|---------------|-------------------------------------------------------|
| selected
| string | The value of the currently selected tab. |
| id
| string | The ID attribute of the tabs container element. |
| dataTestId
| string | The data-testid attribute for testing purposes. |
| variant
| string | The variant style of the tabs (e.g., 'basic'). |
| children
| ReactNode | The Tab components to be rendered as tabs. |
| align
| string | The alignment of the tabs (e.g., 'left', 'center'). |
| onChange
| function | A function to handle tab change events. |
Example
Here's an example of using the Tabs component:
<Tabs
selected={selectedTab}
id="my-tabs"
dataTestId="my-tabs-test"
variant="basic"
align="left"
onChange={handleTabChange}
>
<Tab value="tab-1">Tab 1</Tab>
<Tab value="tab-2">Tab 2</Tab>
</Tabs>
This will render a tabbed interface with two tabs: "Tab 1" and "Tab 2".
Contributing
Contributions to the Tabs component are welcome. If you find any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request on the project's Bitbucket repository.