Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@bolttech/atoms-segmented-control

Package Overview
Dependencies
Maintainers
8
Versions
42
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bolttech/atoms-segmented-control

The **SegmentedControl** component is a React component designed to provide a segmented control input for selecting options. This component allows users to choose from a set of options using a visually distinct set of buttons.

  • 0.16.1
  • npm
  • Socket score

Version published
Weekly downloads
213
increased by80.51%
Maintainers
8
Weekly downloads
 
Created
Source

SegmentedControl Component

The SegmentedControl component is a React component designed to provide a segmented control input for selecting options. This component allows users to choose from a set of options using a visually distinct set of buttons.

Table of Contents

  • Installation
  • Usage
  • Props
  • Example
  • Contributing

Installation

To use the SegmentedControl component in your React application, follow these steps:

Installation

npm install @bolttech/frontend-foundations @bolttech/atoms-segmented-control

or

yarn add @bolttech/frontend-foundations @bolttech/atoms-segmented-control

Once you have the required dependencies installed, you can start using the SegmentedControl component in your React application.

Usage

The SegmentedControl component provides a set of visually distinct buttons that allow users to select from a predefined set of options. It supports customization through various props.

To use the component, import it and include it in your JSX:

import React from 'react';
import { SegmentedControl } from '@bolttech/atoms-segmented-control';
import { bolttechTheme, BolttechThemeProvider } from '@bolttech/frontend-foundations';

function App() {
  return (
    <BolttechThemeProvider theme={bolttechTheme}>
      <SegmentedControl
        value="option1"
        options={[
          { label: 'Option 1', value: 'option1' },
          { label: 'Option 2', value: 'option2' },
        ]}
        fullWidth={false}
        errorMessage="An error occurred"
        dataTestId="segmented-control-component"
        onChange={(selectedValue) => console.log(`Selected: ${selectedValue}`)}
      />
    </BolttechThemeProvider>
  );
}

export default App;

Props

The SegmentedControl component accepts the following props:

PropTypeDescription
idstringThe HTML id attribute for the segmented control.
dataTestIdstringThe data-testid attribute for testing purposes.
valuestringThe currently selected option value.
optionsOption[]An array of option objects to be displayed.
fullWidthbooleanBoolean representing if should take the containers full width on desktop devices.
errorMessagestringAn optional error message to display.
onChangefunctionA callback function triggered on option change.
onBlurfunctionA callback function triggered on blur event.
onFocusfunctionA callback function triggered on focus event.

Example

Here's an example of using the SegmentedControl component:

<SegmentedControl
  value="option1"
  options={[
    { label: 'Option 1', value: 'option1' },
    { label: 'Option 2', value: 'option2' },
  ]}
  fullWidth={false}
  errorMessage="An error occurred"
  dataTestId="segmented-control-component"
  onChange={(selectedValue) => console.log(`Selected: ${selectedValue}`)}
/>

This will render a SegmentedControl component with two options, the first option selected, and an error message displayed.

Contributing

Contributions to the SegmentedControl 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.

FAQs

Package last updated on 11 Jan 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc