5.1.7 • Published 2 months ago

@highlight-ui/accordion v5.1.7

Weekly downloads
-
License
MIT
Repository
-
Last release
2 months ago

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.

5.1.7

2 months ago

5.1.6

3 months ago

5.1.5

5 months ago

5.1.4

5 months ago

5.1.3

5 months ago

5.0.30

7 months ago

5.0.31

7 months ago

5.0.32

7 months ago

5.1.0-r18.0

8 months ago

5.0.20

9 months ago

5.0.21

9 months ago

5.0.22

9 months ago

5.0.23

9 months ago

5.0.24

8 months ago

5.0.25

8 months ago

5.0.26

8 months ago

5.0.27

8 months ago

5.0.28

8 months ago

5.0.29

7 months ago

4.0.7

10 months ago

5.0.9

10 months ago

5.0.8

10 months ago

5.0.7

10 months ago

5.0.6

10 months ago

5.0.5

10 months ago

5.0.4

10 months ago

5.0.3

10 months ago

5.0.2

10 months ago

5.0.1

10 months ago

5.0.10

10 months ago

5.0.0

10 months ago

5.0.11

10 months ago

5.0.12

10 months ago

5.0.13

10 months ago

5.0.14

10 months ago

5.0.15

9 months ago

5.0.16

9 months ago

5.0.17

9 months ago

5.0.18

9 months ago

5.0.19

9 months ago

5.1.2

7 months ago

5.1.1

7 months ago

5.1.0

7 months ago

4.0.5

11 months ago

4.0.4

11 months ago

4.0.6

11 months ago

4.0.1

11 months ago

4.0.0

11 months ago

4.0.3

11 months ago

4.0.2

11 months ago

3.4.36

11 months ago

3.4.31

12 months ago

3.4.32

12 months ago

3.4.33

12 months ago

3.4.34

12 months ago

3.4.35

12 months ago

3.4.25

1 year ago

3.4.26

1 year ago

3.4.27

1 year ago

3.4.28

1 year ago

3.4.29

1 year ago

3.4.20

1 year ago

3.4.21

1 year ago

3.4.22

1 year ago

3.4.23

1 year ago

3.4.24

1 year ago

3.4.30

1 year ago

3.4.19

1 year ago

3.4.14

1 year ago

3.4.15

1 year ago

3.4.16

1 year ago

3.4.17

1 year ago

3.4.18

1 year ago

3.4.11

1 year ago

3.4.12

1 year ago

3.4.13

1 year ago

3.3.9

1 year ago

3.3.8

1 year ago

3.3.7

1 year ago

3.3.6

1 year ago

3.2.2

1 year ago

3.2.1

1 year ago

3.2.0

1 year ago

3.2.3

1 year ago

3.4.0

1 year ago

3.1.25

2 years ago

3.4.4

1 year ago

3.1.27

1 year ago

3.4.3

1 year ago

3.4.2

1 year ago

3.4.1

1 year ago

3.4.10

1 year ago

3.3.13

1 year ago

3.3.14

1 year ago

3.3.15

1 year ago

3.3.16

1 year ago

3.3.17

1 year ago

3.3.18

1 year ago

3.3.19

1 year ago

3.3.10

1 year ago

3.3.11

1 year ago

3.3.12

1 year ago

3.4.8

1 year ago

3.4.7

1 year ago

3.4.6

1 year ago

3.4.5

1 year ago

3.4.9

1 year ago

3.3.1

1 year ago

3.3.0

1 year ago

3.3.5

1 year ago

3.3.4

1 year ago

3.3.3

1 year ago

3.3.2

1 year ago

3.1.16

2 years ago

3.1.18

2 years ago

3.1.17

2 years ago

3.1.22

2 years ago

3.1.24

2 years ago

3.1.20

2 years ago

3.1.19

2 years ago

3.1.12

2 years ago

3.1.14

2 years ago

3.1.13

2 years ago

3.1.15

2 years ago

3.0.2-alpha.4

2 years ago

3.1.11

2 years ago

3.1.10

2 years ago

3.0.0-alpha.1

2 years ago

3.1.9

2 years ago

3.1.8

2 years ago

3.0.4

2 years ago

3.0.3

2 years ago

3.0.2

2 years ago

3.0.1

2 years ago

3.0.7

2 years ago

3.0.6

2 years ago

3.0.5

2 years ago

3.0.0

2 years ago

3.1.3

2 years ago

3.1.2

2 years ago

3.1.1

2 years ago

3.1.0

2 years ago

3.1.7

2 years ago

3.1.6

2 years ago

3.1.4

2 years ago

3.0.0-alpha.0

2 years ago

2.1.14

2 years ago

2.1.12

2 years ago

2.1.13

2 years ago

2.1.9

2 years ago

2.1.10

2 years ago

2.1.11

2 years ago

2.1.4

2 years ago

2.1.6

2 years ago

2.1.5

2 years ago

2.1.8

2 years ago

2.1.7

2 years ago

2.1.2

3 years ago

2.1.1

3 years ago

2.1.3

3 years ago

2.1.0

3 years ago

2.0.25

3 years ago

2.0.24

3 years ago

2.0.22

3 years ago

2.0.23

3 years ago

2.0.21

3 years ago

2.0.19

3 years ago

2.0.20

3 years ago

2.0.18

3 years ago

2.0.17

3 years ago

2.0.16

3 years ago

2.0.15

3 years ago

2.0.14

3 years ago

2.0.13

3 years ago

2.0.12

3 years ago

2.0.11

3 years ago

2.0.7

3 years ago

2.0.9

3 years ago

2.0.10

3 years ago

2.0.8

3 years ago

2.0.5

3 years ago

2.0.6

3 years ago

2.0.4

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago