@bolttech/atoms-tabs
TypeScript icon, indicating that this package has built-in type declarations

0.17.0 • Public • Published

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.

Readme

Keywords

none

Package Sidebar

Install

npm i @bolttech/atoms-tabs

Weekly Downloads

88

Version

0.17.0

License

none

Unpacked Size

70.3 kB

Total Files

7

Last publish

Collaborators

  • plinio.altoe
  • bruno.gomes
  • lukaspiccinibt
  • diogo_aleixo_bolttech
  • pauloazevedo-ed
  • danielkhalebbatista
  • andsfranbolt
  • achraf.ely