PF-Accordion
ready

Introduction

CSS-only and accessible implementation of UIF Accordion components

Leverages the HTML5 details and summary elements to drive behaviour.

NOTE: This is a dependency free version of the .accordion component that requires JavaScript, but does mean the 'only one pane visible' implementation is lost.

Examples

Basic accordion

Details #1
  1. Item 1.1
  2. Item 1.2

Paragraph

Details #2
  1. Item 2.1
  2. Item 2.2
  3. Item 2.3
  4. Item 2.4
Details #3
  1. Item 3.1
  2. Item 3.2
  3. Item 3.3
  4. Item 3.4
  <details open class="pf-accordion">
    <summary>Details #1</summary>
    <ol><li>Item 1.1</li><li>Item 1.2</li></ol><p>Paragraph</p>
    </details>
  <details class="pf-accordion">
    <summary>Details #2</summary>
    <ol><li>Item 2.1</li><li>Item 2.2</li><li>Item 2.3</li><li>Item 2.4</li></ol>
    </details>
  <details class="pf-accordion">
    <summary>Details #3</summary>
    <ol><li>Item 3.1</li><li>Item 3.2</li><li>Item 3.3</li><li>Item 3.4</li></ol>
    </details>

Boxed accordion

Details #1
  1. Item 1.1
  2. Item 1.2

Paragraph

Details #2
  1. Item 2.1
  2. Item 2.2
  3. Item 2.3
  4. Item 2.4
Details #3
  1. Item 3.1
  2. Item 3.2
  3. Item 3.3
  4. Item 3.4
  <details class="pf-accordion pf-accordion--boxed">
    <summary>Details #1</summary>
    <ol><li>Item 1.1</li><li>Item 1.2</li></ol><p>Paragraph</p>
    </details>
  <details class="pf-accordion pf-accordion--boxed">
    <summary>Details #2</summary>
    <ol><li>Item 2.1</li><li>Item 2.2</li><li>Item 2.3</li><li>Item 2.4</li></ol>
    </details>
  <details class="pf-accordion pf-accordion--boxed">
    <summary>Details #3</summary>
    <ol><li>Item 3.1</li><li>Item 3.2</li><li>Item 3.3</li><li>Item 3.4</li></ol>
    </details>

Dependencies

  • src/styles/components/blocks/_pf-accordion.scss

Usage

Class/JavaScript Hook Description Required?
<details /> Wrapper element Required
<summary /> Element wrapped around the 'toggle' copy Required
.pf-accordion Placed on the details element. Required
[open] Attribute added to the summary element that determines if the component renders as 'open' Optional
.pf-accordion--boxed Theming class that adds borders around each accordion item Optional