e-dimensionz UI Component Library

Button UI Components

Square Buttons
Show HTML
<!-- Primary -->
<button class="button button-primary">
  <span class="button-text">Button</span>
</button>

<!-- Secondary -->
<button class="button button-secondary">
  <span class="button-text">Button</span>
</button>

<!-- Ghost -->
<button class="button button-ghost">
  <span class="button-text">Button</span>
</button>

<!-- Loading State -->
<button class="button button-primary click-loading"
        data-action="loading"
        aria-busy="false">
  <span class="button-text">Button</span>
  <span class="loading-text"
        role="status"
        aria-live="polite"
        aria-atomic="true"
        hidden>Loading…</span>
  <span class="click-loading-spinner"></span>
</button>

<!-- Disabled -->
<button class="button" disabled>
  <span class="button-text">Button</span>
</button>
                
Pill Buttons
Show HTML
<!-- Pill Button -->
<button class="button button-primary button-pill">
  <span class="button-text">Button</span>
</button>
              
Icon Buttons
Show HTML
<!-- Icon Only -->
<button class="button button-primary button-icon-only"
        aria-label="Select">
  <i class="fa-solid fa-arrow-pointer" aria-hidden="true"></i>
</button>
                
Icon With Text Buttons
Show HTML
<!-- Icon + Text -->
<button class="button button-primary">
  <i class="fa-solid fa-arrow-pointer" aria-hidden="true"></i>
  <span class="button-text">Button</span>
</button>
                

Input UI Components

Password

Enter your password.

Enter at least 8 characters.

Re-enter your password.

Show HTML
<!-- Default Password -->
<div class="input-toggle">
  <label for="password-default" class="visually-hidden">Password</label>
  <input
    type="password"
    id="password-default"
    class="input input-primary"
    placeholder="Enter password"
    autocomplete="current-password"
    aria-describedby="password-default-help"
    required
  />
  <p id="password-default-help" class="visually-hidden">Enter your password.</p>
  <button type="button" aria-label="Show password" aria-controls="password-default" data-action="toggle-password">
    <i class="fa-solid fa-eye" aria-hidden="true"></i>
    <i class="fa-solid fa-eye-slash" aria-hidden="true"></i>
  </button>
</div>

<!-- Pill Password -->
<div class="input-toggle">
  <label for="password-pill" class="visually-hidden">Password</label>
  <input
    type="password"
    id="password-pill"
    class="input input-primary input-pill"
    placeholder="Enter password"
    autocomplete="new-password"
    aria-describedby="password-pill-help"
    minlength="8"
    required
  />
  <p id="password-pill-help" class="visually-hidden">Enter at least 8 characters.</p>
  <button type="button" aria-label="Show password" aria-controls="password-pill" data-action="toggle-password">
    <i class="fa-solid fa-eye" aria-hidden="true"></i>
    <i class="fa-solid fa-eye-slash" aria-hidden="true"></i>
  </button>
</div>

<!-- Underline Password -->
<div class="input-toggle input-lines">
  <label for="password-underline" class="visually-hidden">Password</label>
  <input
    type="password"
    id="password-underline"
    class="input input-primary input-underline"
    placeholder="Enter password"
    aria-describedby="password-underline-help"
    required
  />
  <p id="password-underline-help" class="visually-hidden">Re-enter your password.</p>
  <button type="button" aria-label="Show password" aria-controls="password-underline" data-action="toggle-password">
    <i class="fa-solid fa-eye" aria-hidden="true"></i>
    <i class="fa-solid fa-eye-slash" aria-hidden="true"></i>
  </button>
</div>
                

Textarea

Show HTML
<!-- Default Textarea -->
<textarea id="textarea-default" class="input input-primary input-textarea" placeholder="Lorem ipsum"></textarea>

<!-- Pill Textarea -->
<textarea id="textarea-pill" class="input input-primary input-textarea input-pill" placeholder="Lorem ipsum"></textarea>
                

Text Input

Show HTML
<!-- Default Text Input -->
<input id="text-default" type="text" class="input input-primary" placeholder="Lorem ipsum" />

<!-- Pill Text Input -->
<input id="text-pill" type="text" class="input input-primary input-pill" placeholder="Lorem ipsum" />

<!-- Underline Text Input -->
<input id="text-underline" type="text" class="input input-primary input-underline" placeholder="Lorem ipsum" />
                

Number-Only Input

Show HTML
<!-- Default Number Input -->
<input id="num-default" type="number" class="input input-primary" placeholder="1234" />

<!-- Pill Number Input -->
<input id="num-pill" type="number" class="input input-primary input-pill" placeholder="1234" />

<!-- Underline Number Input -->
<input id="num-underline" type="number" class="input input-primary input-underline" placeholder="1234" />
                

Dropdown / Select

Show HTML
<!-- Default Select -->
<div class="input-form-controls">
  <label for="select-default" class="visually-hidden">Select</label>
  <div class="input-form-body">
    <select id="select-default" class="input input-primary input-select" required>
      <option value="" selected disabled hidden>Please select</option>
      <option value="a">Lorem ipsum</option>
    </select>
  </div>
</div>

<!-- Pill Select -->
<div class="input-form-controls">
  <label for="select-pill" class="visually-hidden">Select pill</label>
  <div class="input-form-body">
    <select id="select-pill" class="input input-primary input-select input-pill" required>
      <option value="" selected disabled hidden>Please select</option>
      <option value="b">Lorem ipsum</option>
    </select>
  </div>
</div>

<!-- Underline Select -->
<div class="input-form-controls input-lines">
  <label for="select-underline" class="visually-hidden">Select underline</label>
  <div class="input-form-body">
    <select id="select-underline" class="input input-primary input-select input-underline" required>
      <option value="" selected disabled hidden>Please select</option>
      <option value="c">Lorem ipsum</option>
    </select>
  </div>
</div>
                

Error Input

Show HTML
<!-- Default Error -->
<input id="error-default" type="text" class="input input-primary input-error" placeholder="Error" aria-invalid="true" />

<!-- Pill Error -->
<input id="error-pill" type="text" class="input input-primary input-error input-pill" placeholder="Error" aria-invalid="true" />

<!-- Underline Error -->
<input id="error-underline" type="text" class="input input-primary input-error input-underline" placeholder="Error" aria-invalid="true" />
                

Checkboxes

Checkboxes
Rounded Checkboxes
Disabled Checkboxes
Show HTML
<!-- Square Checkbox -->
<label class="checkbox checkbox-square">
  <input type="checkbox" />
  <span class="visually-hidden">Square checkbox</span>
  <span class="checkmark" aria-hidden="true"></span>
</label>

<!-- Round Checkbox -->
<label class="checkbox checkbox-round">
  <input type="checkbox" />
  <span class="visually-hidden">Round checkbox</span>
  <span class="checkmark" aria-hidden="true"></span>
</label>

<!-- Disabled Checkbox -->
<label class="checkbox checkbox-square checkbox-disabled">
  <input type="checkbox" disabled />
  <span class="visually-hidden">Disabled checkbox</span>
  <span class="checkmark" aria-hidden="true"></span>
</label>
                

Radio Buttons

Radios buttons
Show HTML
<!-- Round Radio -->
<label class="radio radio-round">
  <input type="radio" name="radio-group" />
  <span class="visually-hidden">Round radio</span>
  <span class="checkmark" aria-hidden="true"></span>
</label>

<!-- Disabled Round Radio -->
<label class="radio radio-round radio-disabled">
  <input type="radio" name="radio-group" disabled />
  <span class="visually-hidden">Disabled round radio</span>
  <span class="checkmark" aria-hidden="true"></span>
</label>
              

Modal UI Components

Standard text modal

Show HTML
<!-- Standard Center Modal -->
<div class="standard-modals center-modals" data-modal="center" role="dialog" aria-modal="true" aria-labelledby="modalDefaultTitle" aria-describedby="modalDefaultDesc" aria-hidden="true">
  <button type="button" class="button-primary button rounded">
    <span>Open Center Modal</span>
  </button>
</div>

<div id="modalOverlayDefault" class="modal-overlay" aria-hidden="true">
  <div class="modal-box" id="modalBox" role="dialog" aria-modal="true" aria-labelledby="modalDefaultTitle" aria-describedby="modalDefaultDesc">
    <button type="button" class="close-btn" aria-label="Close" data-modal-close>&times;</button>
    <div class="modal-content">
      <h3 id="modalDefaultTitle">Standard text modal</h3>
      <p id="modalDefaultDesc" class="visually-hidden">A modal containing informational text.</p>
    </div>
  </div>
</div>

<!-- Standard Side Drawer Modal -->
<div class="standard-modals side-drawer-modals" data-modal="side">
  <button type="button" class="button-primary button rounded">
    <span>Open Side Modal</span>
  </button>
</div>

<!-- Standard Scrollable Modal -->
<div class="standard-modals with-scroll-modals" data-modal="scroll" role="dialog" aria-modal="true" aria-labelledby="scrollTitle" aria-describedby="scrollDesc" aria-hidden="true">
  <button type="button" class="button-primary button rounded">
    <span>Open Scroll Modal</span>
  </button>
</div>
                

Feature modal

Show HTML
<!-- Feature Modal (Center) -->
<div class="feature-modals center-modals" data-modal-open="feature" role="dialog" aria-modal="true" aria-describedby="featureModalDesc" aria-hidden="true">
  <button type="button" class="button-primary button rounded">
    <span>Open Center Modal</span>
  </button>
</div>

<!-- Feature Modal (Side Drawer) -->
<div class="feature-modals side-drawer-modals" data-modal-open="feature" data-modal-layout="side" role="dialog" aria-modal="true" aria-describedby="featureModalDesc" aria-hidden="true">
  <button type="button" class="button-primary button rounded">
    <span>Open Side Modal</span>
  </button>
</div>

<!-- Feature Scrollable Modal -->
<div class="feature-modals with-scroll-modals" data-modal-open="feature-scroll" role="dialog" aria-modal="true" aria-labelledby="featureScrollTitle" aria-describedby="featureScrollDesc" aria-hidden="true">
  <button type="button" class="button-primary button rounded">
    <span>Open Scroll Modal</span>
  </button>
</div>
                

Confirmation modal

Show HTML
<!-- Confirmation Modal (Center) -->
<div class="confirmation-modals center-modals" data-modal-open="confirmation" role="dialog" aria-modal="true" aria-labelledby="confirmTitle" aria-describedby="confirmDesc" aria-hidden="true">
  <button type="button" class="button-primary button rounded">
    <span>Open Center Modal</span>
  </button>
</div>

<!-- Confirmation Modal (Side Drawer) -->
<div class="confirmation-modals side-drawer-modals" data-modal-open="confirmation" data-modal-layout="side">
  <button type="button" class="button-primary button rounded">
    <span>Open Side Modal</span>
  </button>
</div>

<!-- Confirmation Scrollable Modal -->
<div class="confirmation-modals with-scroll-modals" data-modal-open="confirmation-scroll" role="dialog" aria-modal="true" aria-labelledby="confirmScrollTitle" aria-describedby="confirmScrollDesc" aria-hidden="true">
  <button type="button" class="button-primary button rounded">
    <span>Open Scroll Modal</span>
  </button>
</div>
                

Full-screen modal

Show HTML
<!-- Full Screen Modal -->
<div class="full-screen-modals" data-modal-open="fullscreen">
  <button type="button" class="button-primary button rounded">
    <span>Open Full Screen Modal</span>
  </button>
</div>

<!-- Full Screen Scrollable Modal -->
<div class="full-screen-modals" data-modal-open="fullscreen-scroll" role="dialog" aria-modal="true" aria-labelledby="fsScrollTitle" aria-describedby="fsScrollDesc" aria-hidden="true">
  <button type="button" class="button-primary button rounded">
    <span>Open Full Screen Scroll Modal</span>
  </button>
</div>
              

Alert UI Components

Dismissable Alerts

Show HTML
<div class="dismissable-alert-banner success" role="alert">
  <div class="alert-banner-content-two">
    <p><span>Success!</span> This alert indicates a positive action.</p>
    <button type="button" class="alert-dismiss" aria-label="Dismiss alert">
      <i class="fa-solid fa-xmark" aria-hidden="true"></i>
    </button>
  </div>
</div>
                

Collapsible Alerts

This alert indicates a successful or positive action. Your changes have been saved.

This alert indicates a dangerous or potentially negative action.

This alert indicates something that may require attention.

This alert provides neutral, informational content.

Show HTML
<div class="alert-banner success">
  <div class="alert-banner-content-two">
    <button type="button" class="button-text alert-toggle" aria-expanded="false">
      Success
    </button>
    <i class="fa-solid fa-minus"></i>
    <i class="fa-solid fa-plus"></i>
  </div>

  <div class="alert-banner-content">
    <p>This alert indicates a successful or positive action.</p>
  </div>
</div>
                

Alert with icon

Show HTML
<div class="alert-banner success with-icon" role="alert">
  <div class="alert-icon">
    <i class="fa-solid fa-circle-check" aria-hidden="true"></i>
  </div>

  <div class="alert-banner-content-two">
    <p>This alert indicates a successful or positive action.</p>
  </div>
</div>
                

Alert without icon

Show HTML
<div class="alert-banner success without-icon" role="alert">
  <div class="alert-banner-content-two">
    <p>This alert indicates a successful or positive action.</p>
  </div>
</div>
              

Table UI Components

Standard Table

Title Column Column 1 Column 2 Column 3 Column 4
Title Row 1 Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum
Title Row 2 Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum
Title Row 3 Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum
Title Row 4 Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum
Show HTML
<table class="table">
  <thead>
    <tr>
      <th scope="col">Title Column</th>
      <th scope="col">Column 1</th>
      <th scope="col">Column 2</th>
      <th scope="col">Column 3</th>
      <th scope="col">Column 4</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row" data-label="Title Column">Title Row</th>
      <td data-label="Column 1">Lorem ipsum</td>
      <td data-label="Column 2">Lorem ipsum</td>
      <td data-label="Column 3">Lorem ipsum</td>
      <td data-label="Column 4">Lorem ipsum</td>
    </tr>
  </tbody>
</table>
              

Scrollable Table with Sticky Header

Title Column Column 1 Column 2 Column 3 Column 4 Column 5
Title Row Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum
Title Row Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum
Title Row Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum
Show HTML
<div class="scrollable-table">
  <table class="table">
    <thead>
      <tr>
        <th scope="col">Title Column</th>
        <th scope="col">Column 1</th>
        <th scope="col">Column 2</th>
        <th scope="col">Column 3</th>
        <th scope="col">Column 4</th>
        <th scope="col">Column 5</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <th scope="row" data-label="Title Column">Title Row</th>
        <td data-label="Column 1">Lorem ipsum</td>
        <td data-label="Column 2">Lorem ipsum</td>
        <td data-label="Column 3">Lorem ipsum</td>
        <td data-label="Column 4">Lorem ipsum</td>
        <td data-label="Column 5">Lorem ipsum</td>
      </tr>
    </tbody>
  </table>
</div>
              

Searchable Table

Title Column Column 1 Column 2 Column 3 Column 4
Title Column 1 Column 1 row 1 Column 2 row 1 Column 3 row 1 Column 4 row 1
Title Column 2 Column 1 row 2 Column 2 row 2 Column 3 row 2 Column 4 row 2
Title Column 3 Column 1 row 3 Column 2 row 3 Column 3 row 3 Column 4 row 3
Title Column 4 Column 1 row 3 Column 2 row 3 Column 3 row 3 Column 4 row 3
Show HTML
<div class="searchable-table">
  <div class="search-wrapper">
    <i class="fa-solid fa-magnifying-glass" aria-hidden="true"></i>
    <label for="search-names" class="visually-hidden">Search table</label>
    <input
      type="text"
      id="search-names"
      oninput="searchTable()"
      placeholder="Search..."
    />
  </div>

  <table class="table" id="myTable">
    <thead>
      <tr>
        <th scope="col">Title Column</th>
        <th scope="col">Column 1</th>
        <th scope="col">Column 2</th>
        <th scope="col">Column 3</th>
        <th scope="col">Column 4</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <th scope="row" data-label="Title Column">Title Column</th>
        <td data-label="Column 1">Column 1 row</td>
        <td data-label="Column 2">Column 2 row</td>
        <td data-label="Column 3">Column 3 row</td>
        <td data-label="Column 4">Column 4 row</td>
      </tr>
    </tbody>
  </table>
</div>
              

Timeline UI Components

Basic Timeline

Date

Event 1

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Date

Event 2

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Date

Event 3

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Date

Event 4

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Date

Event 5

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Date

Event 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Date

Event 7

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Date

Event 8

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Date

Event 9

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show HTML
<div class="timeline-container autopay-container">
  <div class="timeline-navigation">

    <button type="button" class="timeline-prev" aria-label="Scroll timeline left">
      <i class="fa-solid fa-chevron-left" aria-hidden="true"></i>
    </button>

    <div class="timeline-wrapper">
      <div class="autopay-timeline">
        <div class="individual-timeline" data-panel-target="timeline-panel-1">
          <div class="event" role="button" tabindex="0">Date</div>
          <div class="event-text">
            <h3 class="subheading">Event Title</h3>
            <p class="sub-paragraph">Short summary</p>
          </div>
        </div>
      </div>
    </div>

    <button type="button" class="timeline-next" aria-label="Scroll timeline right">
      <i class="fa-solid fa-chevron-right" aria-hidden="true"></i>
    </button>

  </div>
</div>

<!-- Associated text output panel -->
<div id="timeline-panel-1" class="timeline-paragraph"></div>
                  

Bullet Navigation

Date

Event 1

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Date

Event 2

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Date

Event 3

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Date

Event 4

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Date

Event 5

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Date

Event 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Date

Event 7

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Date

Event 8

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Date

Event 9

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show HTML
<div class="timeline-container autopay-container">
  <div class="timeline-navigation">

    <button type="button" class="timeline-prev" aria-label="Scroll timeline left">
      <i class="fa-solid fa-chevron-left" aria-hidden="true"></i>
    </button>

    <div class="timeline-wrapper">
      <div class="autopay-timeline">

        <div class="individual-timeline">
          <div class="event" role="button" tabindex="0" aria-current="step">Date</div>
          <div class="event-text">
            <h3 class="subheading">Event Title</h3>
            <p class="sub-paragraph">Supporting description goes here.</p>
          </div>
        </div>

      </div>
    </div>

    <button type="button" class="timeline-next" aria-label="Scroll timeline right">
      <i class="fa-solid fa-chevron-right" aria-hidden="true"></i>
    </button>

  </div>
</div>

<div class="timeline-container bullet-nav-container">
  <div class="timeline-navigation">

    <div class="timeline-wrapper">
      <div class="bullet-nav-timeline">

        <div class="individual-timeline">
          <div class="event" role="button" tabindex="0" aria-current="step">Date</div>
          <div class="event-text">
            <h4 class="subheading">Event Title</h4>
            <p class="sub-paragraph">Supporting description goes here.</p>
          </div>
        </div>

      </div>
    </div>

  </div>

  <nav class="bullet-controls" aria-label="Timeline navigation">
    <ul class="dots">
      <li>
        <span class="dot" role="img" aria-label="Event 1: Title"></span>
      </li>
    </ul>
  </nav>
</div>
              

Slideshow UI Components

Carousel

Basic Carousel

Show HTML
<div class="carousel-container">
  <div class="carousel-controls">
    <button id="carousel-prevBtn" class="carousel-arrow" aria-label="Previous slide">
      <i class="fa-solid fa-chevron-left" aria-hidden="true"></i>
    </button>

    <button id="carousel-nextBtn" class="carousel-arrow" aria-label="Next slide">
      <i class="fa-solid fa-chevron-right" aria-hidden="true"></i>
    </button>
  </div>

  <div class="carousel-wrapper">
    <div class="autopay-carousel" aria-roledescription="carousel">
      <div class="carousel-card"><p class="subheading">Slide 1</p></div>
      <div class="carousel-card"><p class="subheading">Slide 2</p></div>
      <div class="carousel-card"><p class="subheading">Slide 3</p></div>
    </div>
  </div>
</div>
                  

Bullet Navigation

Go to slide 1 Go to slide 2 Go to slide 3 Go to slide 4 Go to slide 5 Go to slide 6 Go to slide 7 Go to slide 8 Go to slide 9 Go to slide 10
Show HTML
<div class="carousel-container">
  <div class="bullet-carousel" aria-roledescription="carousel">
    <div class="carousel-card"><p class="subheading">Slide 1</p></div>
    <div class="carousel-card"><p class="subheading">Slide 2</p></div>
    <div class="carousel-card"><p class="subheading">Slide 3</p></div>
  </div>
</div>

<nav class="carousel-bullet-controls" aria-label="Carousel slide navigation">
  <ul class="dots">
    <li><button type="button" class="dot active" aria-label="Go to slide 1" aria-current="true"></button></li>
    <li><button type="button" class="dot" aria-label="Go to slide 2"></button></li>
    <li><button type="button" class="dot" aria-label="Go to slide 3"></button></li>
  </ul>
</nav>
              

Slideshow

Basic Slideshow

Dog slideshow
Show HTML
<div class="slideshow-wrapper">
<div class="slideshow">
  <img
    id="slideshow-image"
    src="images/example.jpg"
    alt="Slideshow image"
  />
</div>

<button
  type="button"
  class="ss-arrow ss-prev"
  aria-label="Previous slide"
>
  <i class="fa-solid fa-chevron-left" aria-hidden="true"></i>
</button>

<button
  type="button"
  class="ss-arrow ss-next"
  aria-label="Next slide"
>
  <i class="fa-solid fa-chevron-right" aria-hidden="true"></i>
</button>
</div>
                

Bullet Navigation

Dog slideshow
Go to slide 1 Go to slide 2 Go to slide 3 Go to slide 4 Go to slide 5
Show HTML
<div class="slideshow-wrapper">
  <div class="bullet-slideshow">
    <img src="images/example.jpg" alt="Slideshow image" />
  </div>
</div>

<nav class="slideshow-bullet-controls" aria-label="Slide navigation">
  <ul class="dots">
    <li><button class="dot active" aria-current="true" aria-label="Go to slide 1"></button></li>
    <li><button class="dot" aria-label="Go to slide 2"></button></li>
    <li><button class="dot" aria-label="Go to slide 3"></button></li>
  </ul>
</nav>
                  

Carousel Slideshow

Show HTML
<div class="carousel-slideshow-wrapper" id="carousel-1">
  <div
    class="slideshow carousel-viewport"
    aria-roledescription="carousel"
  >
    <ul class="carousel-track" id="carousel-track">
      <!-- Slides inserted by JS -->
    </ul>
  </div>
</div>

<!-- Carousel arrows -->
<button class="carousel-arrow" aria-label="Previous slide">
  <i class="fa-solid fa-chevron-left" aria-hidden="true"></i>
</button>

<button class="carousel-arrow" aria-label="Next slide">
  <i class="fa-solid fa-chevron-right" aria-hidden="true"></i>
</button>

<!-- Slideshow arrows -->
<button class="ss-arrow ss-prev" aria-label="Previous slide">
  <i class="fa-solid fa-chevron-left" aria-hidden="true"></i>
</button>

<button class="ss-arrow ss-next" aria-label="Next slide">
  <i class="fa-solid fa-chevron-right" aria-hidden="true"></i>
</button>
                  

Accordion / Table UI Components

Basic

Show HTML
<div class="accordion">
  <div class="accordion-title">
    <a
      class="button-text accordion-trigger"
      role="button"
      aria-expanded="false"
      aria-controls="accordion-panel-1"
      id="accordion-trigger-1"
      tabindex="0"
    >
      Accordion Title
      <i class="fa-solid fa-minus" aria-hidden="true"></i>
      <i class="fa-solid fa-plus" aria-hidden="true"></i>
    </a>
  </div>

  <div
    id="accordion-panel-1"
    class="accordion-content"
    hidden
    aria-labelledby="accordion-trigger-1"
  >
    <p>Accordion panel content goes here.</p>
  </div>
</div>
                

Expand Multiple Items

Show HTML
<div class="accordion mul-open-allow">
  <div class="accordion-title">
    <a
      class="button-text accordion-trigger"
      role="button"
      aria-expanded="false"
      aria-controls="accordion-panel-2"
      id="accordion-trigger-2"
      tabindex="0"
    >
      Multi-open Accordion
      <i class="fa-solid fa-minus" aria-hidden="true"></i>
      <i class="fa-solid fa-plus" aria-hidden="true"></i>
    </a>
  </div>

  <div
    id="accordion-panel-2"
    class="accordion-content"
    hidden
    aria-labelledby="accordion-trigger-2"
  >
    <p>Panels can stay open together.</p>
  </div>
</div>
                

Borderless Variant

Show HTML
<div class="accordion border-bottom">
  <div class="accordion-title">
    <a
      class="button-text accordion-trigger"
      role="button"
      aria-expanded="false"
      aria-controls="accordion-panel-3"
      id="accordion-trigger-3"
      tabindex="0"
    >
      Borderless Accordion
    </a>
  </div>

  <div
    id="accordion-panel-3"
    class="accordion-content"
    hidden
    aria-labelledby="accordion-trigger-3"
  >
    <p>Borderless variant content.</p>
  </div>
</div>
                

Split Variant

Show HTML
<div class="accordion split-layout">
  <div class="accordion-title">
    <a
      class="button-text accordion-trigger"
      role="button"
      aria-expanded="false"
      aria-controls="accordion-panel-4"
      id="accordion-trigger-4"
      tabindex="0"
    >
      Split Accordion
    </a>
  </div>

  <div
    id="accordion-panel-4"
    class="accordion-content"
    hidden
    aria-labelledby="accordion-trigger-4"
  >
    <p>Split layout accordion content.</p>
  </div>
</div>
                

Tab Navigation

Tab 1

This is the content for Tab 1. You should see this text only when Tab 1 is active.

Tab 1

This is the content for Tab 1. You should see this text only when Tab 1 is active.

Tab 1

This is the content for Tab 1. You should see this text only when Tab 1 is active.

Show HTML
<div class="tab-nav" role="tablist" aria-label="Tabs navigation" data-tab-group="group1">
  <button
    id="g1-tab-1"
    role="tab"
    aria-selected="true"
    aria-controls="g1-panel-1"
    data-tab-target="tab-one"
    data-tab-group="group1"
  >Tab 1</button>

  <button
    id="g1-tab-2"
    role="tab"
    aria-selected="false"
    aria-controls="g1-panel-2"
    data-tab-target="tab-two"
    data-tab-group="group1"
  >Tab 2</button>

  <button
    id="g1-tab-3"
    role="tab"
    aria-selected="false"
    aria-controls="g1-panel-3"
    data-tab-target="tab-three"
    data-tab-group="group1"
  >Tab 3</button>
</div>

<div class="tab-content" data-tab-group="group1">
  <div
    id="g1-panel-1"
    class="tab-one tab-panel"
    role="tabpanel"
    tabindex="0"
    aria-labelledby="g1-tab-1"
  >
    <h4>Tab 1</h4>
    <p>Content for Tab 1.</p>
  </div>

  <div
    id="g1-panel-2"
    class="tab-two tab-panel"
    role="tabpanel"
    tabindex="0"
    aria-labelledby="g1-tab-2"
    hidden
  >
    <h4>Tab 2</h4>
    <p>Content for Tab 2.</p>
  </div>

  <div
    id="g1-panel-3"
    class="tab-three tab-panel"
    role="tabpanel"
    tabindex="0"
    aria-labelledby="g1-tab-3"
    hidden
  >
    <h4>Tab 3</h4>
    <p>Content for Tab 3.</p>
  </div>
</div>

<div class="tab-nav-active" role="tablist" aria-label="Active style tabs" data-tab-group="group2">
  <button
    id="g2-tab-1"
    role="tab"
    aria-selected="true"
    aria-controls="g2-panel-1"
    data-tab-target="tab-one-active"
    data-tab-group="group2"
  >Tab 1</button>

  <button
    id="g2-tab-2"
    role="tab"
    aria-selected="false"
    aria-controls="g2-panel-2"
    data-tab-target="tab-two-active"
    data-tab-group="group2"
  >Tab 2</button>

  <button
    id="g2-tab-3"
    role="tab"
    aria-selected="false"
    aria-controls="g2-panel-3"
    data-tab-target="tab-three-active"
    data-tab-group="group2"
  >Tab 3</button>
</div>

<div class="tab-content" data-tab-group="group2">
  <div
    id="g2-panel-1"
    class="tab-one-active tab-panel"
    role="tabpanel"
    tabindex="0"
    aria-labelledby="g2-tab-1"
  >
    <h4>Tab 1</h4>
    <p>Content for Tab 1.</p>
  </div>

  <div
    id="g2-panel-2"
    class="tab-two-active tab-panel"
    role="tabpanel"
    tabindex="0"
    aria-labelledby="g2-tab-2"
    hidden
  >
    <h4>Tab 2</h4>
    <p>Content for Tab 2.</p>
  </div>

  <div
    id="g2-panel-3"
    class="tab-three-active tab-panel"
    role="tabpanel"
    tabindex="0"
    aria-labelledby="g2-tab-3"
    hidden
  >
    <h4>Tab 3</h4>
    <p>Content for Tab 3.</p>
  </div>
</div>

<div class="tab-nav" role="tablist" aria-label="Tabs with dropdown" data-tab-group="group3">
  <button
    id="g3-tab-1"
    role="tab"
    aria-selected="true"
    aria-controls="g3-panel-1"
    data-tab-target="tab-one-dropdown"
    data-tab-group="group3"
  >
    Tab 1 <i class="fa fa-caret-down"></i>
  </button>

  <button
    id="g3-tab-2"
    role="tab"
    aria-selected="false"
    aria-controls="g3-panel-2"
    data-tab-target="tab-two-dropdown"
    data-tab-group="group3"
  >
    Tab 2 <i class="fa fa-caret-down"></i>
  </button>

  <div class="dropdown" data-dropdown>
    <button
      id="g3-tab-3"
      role="tab"
      aria-selected="false"
      aria-controls="g3-panel-3"
      data-tab-target="tab-three-dropdown"
      data-tab-group="group3"
    >
      Tab 3 <i class="fa fa-caret-down"></i>
    </button>
  </div>

</div>

<div class="tab-content" data-tab-group="group3">
  <div
    id="g3-panel-1"
    class="tab-one-dropdown tab-panel"
    role="tabpanel"
    tabindex="0"
    aria-labelledby="g3-tab-1"
  >
    <h4>Tab 1</h4>
    <p>Content for Tab 1.</p>
  </div>

  <div
    id="g3-panel-2"
    class="tab-two-dropdown tab-panel"
    role="tabpanel"
    tabindex="0"
    aria-labelledby="g3-tab-2"
    hidden
  >
    <h4>Tab 2</h4>
    <p>Content for Tab 2.</p>
  </div>

  <div
    id="g3-panel-3"
    class="tab-three-dropdown tab-panel"
    role="tabpanel"
    tabindex="0"
    aria-labelledby="g3-tab-3"
    hidden
  >
    <h4>Tab 3</h4>
    <p>Content for Tab 3.</p>
  </div>
</div>