New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@highlight-ui/accordion

Package Overview
Dependencies
Maintainers
10
Versions
197
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@highlight-ui/accordion

Accordion and Expandable components for Highlight UI

  • 5.1.15
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
838
decreased by-22.34%
Maintainers
10
Weekly downloads
 
Created
Source

npm personio.design storybook.personio.design

@highlight-ui/accordion

Installation

Using npm:

npm install @highlight-ui/accordion

Using yarn:

yarn add @highlight-ui/accordion

Using pnpm:

pnpm install @highlight-ui/accordion

In your (S)CSS file:

@import url('@highlight-ui/accordion');

Once the package is installed, you can import the library:

import {
  Accordion,
  AccordionProps,
  AccordionSection,
  Expandable,
  ExpandableProps,
} from '@highlight-ui/accordion';

Performance Tips

Once the package is installed, you can import the library. The Accordion component depends on React DND, which is a relatively heavy dependency. This component's package is tree shakeable, if you do not need the drag-and-drop functionalities you can import the StaticAccordion component instead of the Accordion component.

import { StaticAccordion } from '@highlight-ui/accordion';

If you only need the drag-and-drop functionalities of the component, you can import the DraggableAccordion component:

import { DraggableAccordion } from '@highlight-ui/accordion';

Usage

Standard Accordion

import React, { useState } from 'react';
import { Accordion } from '@highlight-ui/accordion';

export default function AccordionExample() {
  return (
    <Accordion
      sections={
        ({
          key: '1',
          title: 'Title 1',
          content: 'Lorem ipsum dolor sit amet consectetur adipisicing elit.',
        },
        {
          key: '2',
          title: 'Title 2',
          disabled: true,
          content: 'Lorem ipsum dolor sit amet consectetur adipisicing elit.',
        },
        {
          key: '3',
          title: 'Title 3',
          content: 'Lorem ipsum dolor sit, amet consectetur adipisicing elit.',
        })
      }
    />
  );
}

Accordion with actions

import React, { useState } from 'react';
import { Accordion } from '@highlight-ui/accordion';
import { Button } from '@highlight-ui/button';
import { Input } from '@highlight-ui/input';

export default function AccordionExample() {
  return (
    <Accordion
      sections={[
        {
          key: '1',
          title: 'Title 1',
          actions: (
            <Button variant="emphasized" onClick={() => alert('Hello')}>
              Click me
            </Button>
          ),
          content: (
            <div>
              <Button>A focusable button</Button>
              <Input placeholder="A focusable input" />
              <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.</p>
            </div>
          ),
        },
        {
          key: '2',
          title: 'Title 2',
          actions: (
            <Button variant="emphasized" onClick={() => alert('Hello')}>
              Click me
            </Button>
          ),
          content: 'Lorem ipsum dolor sit amet consectetur adipisicing elit.',
        },
      ]}
    />
  );
}

Props 📜

Accordion

PropTypeRequiredDefaultDescription
sectionsAccordionSectionYesAn array of AccordionSection data structure
selectablebooleanNofalseShould segments be selectable using a checkbox
selectableSectionsAccordionSectionNoIndicates the selected checkboxes in sections
mutltiplebooleanNofalseShould multiple sections remain open
initiallyOpenAccordionSectionNoThe sections which are open by default. In case multiple is set to false, only the first array element will be opened.
onExpansionChange(section: AccordionSection, isExpanded: boolean, index: number ) => voidNoCallback fired whenever the section opens or closes.
onSelectedSectionsChange(sections: AccordionSection[]) => voidNoWill be called with each selection change when the selectable prop is true.
dragPropsDragProps<AccordionSection, D>NoConfiguration for drag-and-drop capabilities.

Custom types 🔠

TypeValuesDescription
AccordionSection{key: string, title: React.ReactNode, content: React.ReactNode, actions?: React.ReactNode, disabled? boolean}Used for a number of section props
DragPropsProvided by the drag-and-drop utility package

Contributing 🖌️

Please visit personio.design for usage guidelines and visual examples.

If you're interested in contributing, please visit our contribution page.

FAQs

Package last updated on 23 Jan 2025

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