sp-accordion

open true false
allowMultiple true false
density Compact Spacious Default
size Small Medium Large Extra large
Examples API Changelog

Attributes and Properties #

Property Attribute Type Default Description allowMultiple allow-multiple boolean false Allows multiple accordion items to be opened at the same time density density 'compact' | 'spacious' | undefined Sets the spacing between the content to borders of an accordion item

Slots #

Name Description default slot The sp-accordion-item children to display.

1.0.1 (2024-11-11) #

Note: Version bump only for package @spectrum-web-components/accordion

1.0.0 (2024-10-31) #

Note: Version bump only for package @spectrum-web-components/accordion

0.49.0 (2024-10-15) #

Note: Version bump only for package @spectrum-web-components/accordion

0.48.1 (2024-10-01) #

Note: Version bump only for package @spectrum-web-components/accordion

0.48.0 (2024-09-17) #

Note: Version bump only for package @spectrum-web-components/accordion

0.47.2 (2024-09-03) #

Note: Version bump only for package @spectrum-web-components/accordion

0.47.1 (2024-08-27) #

Note: Version bump only for package @spectrum-web-components/accordion

0.47.0 (2024-08-20) #

Note: Version bump only for package @spectrum-web-components/accordion

0.46.0 (2024-08-08) #

Note: Version bump only for package @spectrum-web-components/accordion

0.45.0 (2024-07-30) #

Note: Version bump only for package @spectrum-web-components/accordion

0.44.0 (2024-07-15) #

Note: Version bump only for package @spectrum-web-components/accordion

0.43.0 (2024-06-11) #

Note: Version bump only for package @spectrum-web-components/accordion

0.42.5 (2024-05-24) #

Note: Version bump only for package @spectrum-web-components/accordion

0.42.4 (2024-05-14) #

Note: Version bump only for package @spectrum-web-components/accordion

0.42.3 (2024-05-01) #

Note: Version bump only for package @spectrum-web-components/accordion

0.42.2 (2024-04-03) #

Note: Version bump only for package @spectrum-web-components/accordion

0.42.1 (2024-04-02) #

Note: Version bump only for package @spectrum-web-components/accordion

0.42.0 (2024-03-19) #

Features #

  • asset: use core tokens (99e76f4)

0.41.2 (2024-03-05) #

Note: Version bump only for package @spectrum-web-components/accordion

0.41.1 (2024-02-22) #

Note: Version bump only for package @spectrum-web-components/accordion

0.41.0 (2024-02-13) #

Note: Version bump only for package @spectrum-web-components/accordion

0.40.5 (2024-02-05) #

Note: Version bump only for package @spectrum-web-components/accordion

0.40.4 (2024-01-29) #

Note: Version bump only for package @spectrum-web-components/accordion

0.40.3 (2024-01-11) #

Note: Version bump only for package @spectrum-web-components/accordion

0.40.2 (2023-12-18) #

Note: Version bump only for package @spectrum-web-components/accordion

0.40.1 (2023-12-05) #

Note: Version bump only for package @spectrum-web-components/accordion

0.40.0 (2023-11-16) #

Note: Version bump only for package @spectrum-web-components/accordion

0.39.4 (2023-11-02) #

Note: Version bump only for package @spectrum-web-components/accordion

0.39.3 (2023-10-18) #

Note: Version bump only for package @spectrum-web-components/accordion

0.39.2 (2023-10-13) #

Note: Version bump only for package @spectrum-web-components/accordion

0.39.1 (2023-10-06) #

Note: Version bump only for package @spectrum-web-components/accordion

0.39.0 (2023-09-25) #

Note: Version bump only for package @spectrum-web-components/accordion

0.38.0 (2023-09-05) #

Note: Version bump only for package @spectrum-web-components/accordion

0.37.0 (2023-08-18) #

Note: Version bump only for package @spectrum-web-components/accordion

0.36.0 (2023-08-18) #

Note: Version bump only for package @spectrum-web-components/accordion

0.35.0 (2023-07-31) #

Note: Version bump only for package @spectrum-web-components/accordion

0.34.0 (2023-07-11) #

Features #

  • accordion: core token migration (#3300) (9650b71)

0.33.2 (2023-06-14) #

Note: Version bump only for package @spectrum-web-components/accordion

0.33.0 (2023-06-08) #

Bug Fixes #

  • removed usage of id in accordion (c26c81f)

0.32.0 (2023-06-01) #

Note: Version bump only for package @spectrum-web-components/accordion

0.31.0 (2023-05-17) #

Note: Version bump only for package @spectrum-web-components/accordion

0.30.0 (2023-05-03) #

Bug Fixes #

  • accordion: ensure item toggle events can be prevented from the outside (30dbfc8)
  • accordion: update a11y tree to not double label (cc91a6b)
  • add missing dependency (9f74e7d)
  • contain activation to header content (10183ce)
  • correct @element jsDoc listing across library (c97a632)
  • correctly apply tab order to Accordion Items (fd7a7f9)
  • ensure item exists when attempting to acquire next item to focus (fb52cea)
  • include default export in the "exports" fields (f32407d)
  • include the "types" entry in package.json files (b432f59)
  • prevent infinite loops when all children are [disabled] (2deac3d)
  • stop merging selectors in a way that alters the cascade (369388f)
  • update consumption of Spectrum CSS for latest version (ed2305b)
  • update latest Spectrum CSS beta releases (d8d3acc)
  • update to latest spectrum-css packages (a5ca19f)
  • use icons without "size" values (3fc7c91)
  • use latest @spectrum-css/* versions (c35eb86)
  • use the "browsers" listing in postcss-preset-env (4eaf6a2)

Features #

  • accordion: add accordion pattern (97529d8)
  • accordion: allow accordion items to close (3c715ab)
  • accordion: update spectrum css input (d94e059)
  • action-button: add action button pattern (03ac00a)
  • adopt DNA@7 base Spectrum CSS (e08cafd)
  • include all Dev Mode files in side effects (f70817c)
  • shared pkg versions, devmode define warning, registry-conflicts docs (6e49565)
  • use latest exports specification (a7ecf4b)

0.7.13 (2023-04-24) #

Note: Version bump only for package @spectrum-web-components/accordion

0.7.12 (2023-04-05) #

Note: Version bump only for package @spectrum-web-components/accordion

0.7.11 (2023-03-22) #

Note: Version bump only for package @spectrum-web-components/accordion

0.7.10 (2023-03-08) #

Note: Version bump only for package @spectrum-web-components/accordion

0.7.9 (2023-02-08) #

Note: Version bump only for package @spectrum-web-components/accordion

0.7.8 (2023-01-23) #

Note: Version bump only for package @spectrum-web-components/accordion

0.7.7 (2023-01-09) #

Note: Version bump only for package @spectrum-web-components/accordion

0.7.6 (2022-12-08) #

Note: Version bump only for package @spectrum-web-components/accordion

0.7.5 (2022-11-21) #

Note: Version bump only for package @spectrum-web-components/accordion

0.7.4 (2022-11-14) #

Note: Version bump only for package @spectrum-web-components/accordion

0.7.3 (2022-10-28) #

Note: Version bump only for package @spectrum-web-components/accordion

0.7.2 (2022-10-17) #

Note: Version bump only for package @spectrum-web-components/accordion

0.7.1 (2022-10-10) #

Note: Version bump only for package @spectrum-web-components/accordion

0.7.0 (2022-08-09) #

Features #

  • include all Dev Mode files in side effects (f70817c)

0.6.15 (2022-08-04) #

Note: Version bump only for package @spectrum-web-components/accordion

0.6.14 (2022-07-18) #

Bug Fixes #

  • add missing dependency (9f74e7d)

0.6.13 (2022-06-29) #

Note: Version bump only for package @spectrum-web-components/accordion

0.6.12 (2022-06-07) #

Note: Version bump only for package @spectrum-web-components/accordion

0.6.11 (2022-05-27) #

Bug Fixes #

  • update consumption of Spectrum CSS for latest version (ed2305b)

0.6.10 (2022-05-12) #

Bug Fixes #

  • contain activation to header content (10183ce)
  • correctly apply tab order to Accordion Items (fd7a7f9)

0.6.9 (2022-04-21) #

Note: Version bump only for package @spectrum-web-components/accordion

0.6.8 (2022-03-30) #

Note: Version bump only for package @spectrum-web-components/accordion

0.6.7 (2022-03-08) #

Note: Version bump only for package @spectrum-web-components/accordion

0.6.6 (2022-03-04) #

Note: Version bump only for package @spectrum-web-components/accordion

0.6.5 (2022-02-22) #

Note: Version bump only for package @spectrum-web-components/accordion

0.6.4 (2022-02-02) #

Note: Version bump only for package @spectrum-web-components/accordion

0.6.3 (2022-01-26) #

Note: Version bump only for package @spectrum-web-components/accordion

0.6.2 (2022-01-07) #

Note: Version bump only for package @spectrum-web-components/accordion

0.6.1 (2021-12-13) #

Note: Version bump only for package @spectrum-web-components/accordion

0.6.0 (2021-11-08) #

Note: Version bump only for package @spectrum-web-components/accordion

0.5.1 (2021-11-08) #

Note: Version bump only for package @spectrum-web-components/accordion

0.5.0 (2021-11-02) #

Features #

  • adopt DNA@7 base Spectrum CSS (e08cafd)

0.4.18 (2021-10-12) #

Note: Version bump only for package @spectrum-web-components/accordion

0.4.17 (2021-10-05) #

Bug Fixes #

  • accordion: ensure item toggle events can be prevented from the outside (30dbfc8)

0.4.16 (2021-09-20) #

Note: Version bump only for package @spectrum-web-components/accordion

0.4.15 (2021-09-13) #

Note: Version bump only for package @spectrum-web-components/accordion

0.4.14 (2021-08-24) #

Bug Fixes #

  • correct @element jsDoc listing across library (c97a632)

0.4.13 (2021-08-03) #

Note: Version bump only for package @spectrum-web-components/accordion

0.4.12 (2021-07-22) #

Note: Version bump only for package @spectrum-web-components/accordion

0.4.11 (2021-07-01) #

Note: Version bump only for package @spectrum-web-components/accordion

0.4.10 (2021-06-16) #

Note: Version bump only for package @spectrum-web-components/accordion

0.4.9 (2021-06-07) #

Note: Version bump only for package @spectrum-web-components/accordion

0.4.8 (2021-05-24) #

Note: Version bump only for package @spectrum-web-components/accordion

0.4.7 (2021-05-12) #

Bug Fixes #

  • ensure item exists when attempting to acquire next item to focus (fb52cea)

0.4.6 (2021-04-15) #

Note: Version bump only for package @spectrum-web-components/accordion

0.4.5 (2021-04-09) #

Note: Version bump only for package @spectrum-web-components/accordion

0.4.4 (2021-03-29) #

Bug Fixes #

  • accordion: update a11y tree to not double label (cc91a6b)

0.4.3 (2021-03-22) #

Note: Version bump only for package @spectrum-web-components/accordion

0.4.2 (2021-03-22) #

Note: Version bump only for package @spectrum-web-components/accordion

0.4.1 (2021-03-05) #

Note: Version bump only for package @spectrum-web-components/accordion

0.4.0 (2021-03-04) #

Features #

  • use latest exports specification (a7ecf4b)

0.3.3 (2021-02-11) #

Bug Fixes #

  • update to latest spectrum-css packages (a5ca19f)

0.3.2 (2021-02-02) #

Note: Version bump only for package @spectrum-web-components/accordion

0.3.1 (2021-01-28) #

Note: Version bump only for package @spectrum-web-components/accordion

0.3.0 (2021-01-21) #

Bug Fixes #

  • include the "types" entry in package.json files (b432f59)
  • prevent infinite loops when all children are [disabled] (2deac3d)
  • stop merging selectors in a way that alters the cascade (369388f)
  • update latest Spectrum CSS beta releases (d8d3acc)
  • use icons without "size" values (3fc7c91)
  • use latest @spectrum-css/* versions (c35eb86)
  • use the "browsers" listing in postcss-preset-env (4eaf6a2)

Features #

  • accordion: allow accordion items to close (3c715ab)
  • accordion: update spectrum css input (d94e059)
  • action-button: add action button pattern (03ac00a)

0.2.0 (2021-01-13) #

Bug Fixes #

  • include the "types" entry in package.json files (b432f59)
  • prevent infinite loops when all children are disabled
  • stop merging selectors in a way that alters the cascade (369388f)
  • update latest Spectrum CSS beta releases (d8d3acc)
  • use icons without "size" values (3fc7c91)
  • use latest @spectrum-css/* versions (c35eb86)

Features #

  • accordion: allow accordion items to close (3c715ab)
  • accordion: update spectrum css input (d94e059)
  • action-button: add action button pattern (03ac00a)

0.1.4 (2020-10-12) #

Note: Version bump only for package @spectrum-web-components/accordion

0.1.3 (2020-10-12) #

Bug Fixes #

  • include default export in the "exports" fields (f32407d)

0.1.2 (2020-09-25) #

Note: Version bump only for package @spectrum-web-components/accordion

0.1.1 (2020-09-14) #

Note: Version bump only for package @spectrum-web-components/accordion

0.1.0 (2020-08-31) #

Features #

  • accordion: add accordion pattern (97529d8)

Description #

The <sp-accordion> element contains a list of items that can be expanded or collapsed to reveal additional content or information associated with each item. There can be zero expanded items, exactly one expanded item, or more than one item expanded at a time, depending on the configuration. This list of items is defined by child <sp-accordion-item> elements that are targetted to the default slot of their <sp-accordion> parent.

Usage #

See it on NPM! How big is this package in your project? Try it on webcomponents.dev

yarn add @spectrum-web-components/accordion

Import the side effectful registration of <sp-accordion> and <sp-accordion-item> via:

import '@spectrum-web-components/accordion/sp-accordion.js';
import '@spectrum-web-components/accordion/sp-accordion-item.js';

When looking to leverage the Accordion and AccordionItem base class as a type and/or for extension purposes, do so via:

import { Accordion, AccordionItem } from '@spectrum-web-components/accordion';

Example #

<sp-accordion>
    <sp-accordion-item label="Heading 1">
        <div>Item 1</div>
    </sp-accordion-item>
    <sp-accordion-item disabled label="Heading 2">
        <div>Item 2</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 3">
        <div>Item 3</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 4">
        <div>Item 4</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 5">
        <div>Item 5</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 6">
        <div>Item 6</div>
    </sp-accordion-item>
</sp-accordion>

Allow Multiple #

<sp-accordion allow-multiple>
    <sp-accordion-item label="Heading 1">
        <div>Item 1</div>
    </sp-accordion-item>
    <sp-accordion-item disabled label="Heading 2">
        <div>Item 2</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 3">
        <div>Item 3</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 4">
        <div>Item 4</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 5">
        <div>Item 5</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 6">
        <div>Item 6</div>
    </sp-accordion-item>
</sp-accordion>

Sizes #

Small
<sp-accordion size="s">
    <sp-accordion-item label="Heading 1">
        <div>Item 1</div>
    </sp-accordion-item>
    <sp-accordion-item disabled label="Heading 2">
        <div>Item 2</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 3">
        <div>Item 3</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 4">
        <div>Item 4</div>
    </sp-accordion-item>
</sp-accordion>
Medium
<sp-accordion size="m">
    <sp-accordion-item label="Heading 1">
        <div>Item 1</div>
    </sp-accordion-item>
    <sp-accordion-item disabled label="Heading 2">
        <div>Item 2</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 3">
        <div>Item 3</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 4">
        <div>Item 4</div>
    </sp-accordion-item>
</sp-accordion>
Large
<sp-accordion size="l">
    <sp-accordion-item label="Heading 1">
        <div>Item 1</div>
    </sp-accordion-item>
    <sp-accordion-item disabled label="Heading 2">
        <div>Item 2</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 3">
        <div>Item 3</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 4">
        <div>Item 4</div>
    </sp-accordion-item>
</sp-accordion>
Extra Large
<sp-accordion size="xl">
    <sp-accordion-item label="Heading 1">
        <div>Item 1</div>
    </sp-accordion-item>
    <sp-accordion-item disabled label="Heading 2">
        <div>Item 2</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 3">
        <div>Item 3</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 4">
        <div>Item 4</div>
    </sp-accordion-item>
</sp-accordion>

Density #

The density property, when applied, accepts the values of compact or spacious.

Compact #

Small
<sp-accordion density="compact" size="s">
    <sp-accordion-item label="Heading 1">
        <div>Item 1</div>
    </sp-accordion-item>
    <sp-accordion-item disabled label="Heading 2">
        <div>Item 2</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 3">
        <div>Item 3</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 4">
        <div>Item 4</div>
    </sp-accordion-item>
</sp-accordion>
Medium
<sp-accordion density="compact" size="m">
    <sp-accordion-item label="Heading 1">
        <div>Item 1</div>
    </sp-accordion-item>
    <sp-accordion-item disabled label="Heading 2">
        <div>Item 2</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 3">
        <div>Item 3</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 4">
        <div>Item 4</div>
    </sp-accordion-item>
</sp-accordion>
Large
<sp-accordion density="compact" size="l">
    <sp-accordion-item label="Heading 1">
        <div>Item 1</div>
    </sp-accordion-item>
    <sp-accordion-item disabled label="Heading 2">
        <div>Item 2</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 3">
        <div>Item 3</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 4">
        <div>Item 4</div>
    </sp-accordion-item>
</sp-accordion>
Extra Large
<sp-accordion density="compact" size="xl">
    <sp-accordion-item label="Heading 1">
        <div>Item 1</div>
    </sp-accordion-item>
    <sp-accordion-item disabled label="Heading 2">
        <div>Item 2</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 3">
        <div>Item 3</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 4">
        <div>Item 4</div>
    </sp-accordion-item>
</sp-accordion>

Spacious #

Small
<sp-accordion density="spacious" size="s">
    <sp-accordion-item label="Heading 1">
        <div>Item 1</div>
    </sp-accordion-item>
    <sp-accordion-item disabled label="Heading 2">
        <div>Item 2</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 3">
        <div>Item 3</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 4">
        <div>Item 4</div>
    </sp-accordion-item>
</sp-accordion>
Medium
<sp-accordion density="spacious" size="m">
    <sp-accordion-item label="Heading 1">
        <div>Item 1</div>
    </sp-accordion-item>
    <sp-accordion-item disabled label="Heading 2">
        <div>Item 2</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 3">
        <div>Item 3</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 4">
        <div>Item 4</div>
    </sp-accordion-item>
</sp-accordion>
Large
<sp-accordion density="spacious" size="l">
    <sp-accordion-item label="Heading 1">
        <div>Item 1</div>
    </sp-accordion-item>
    <sp-accordion-item disabled label="Heading 2">
        <div>Item 2</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 3">
        <div>Item 3</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 4">
        <div>Item 4</div>
    </sp-accordion-item>
</sp-accordion>
Extra Large
<sp-accordion density="spacious" size="xl">
    <sp-accordion-item label="Heading 1">
        <div>Item 1</div>
    </sp-accordion-item>
    <sp-accordion-item disabled label="Heading 2">
        <div>Item 2</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 3">
        <div>Item 3</div>
    </sp-accordion-item>
    <sp-accordion-item label="Heading 4">
        <div>Item 4</div>
    </sp-accordion-item>
</sp-accordion>