Accordions
Uses
Accordions are used to group components under a header and give the user the ability to expand and collapse the grouped components. This is especially useful for keeping long forms digestable and easy to navigate.
Standard Content Accordion - Only one open at a time
<div class="accordion-group">
<div class="accordion-header collapsed needs-contrast">
<div class="accordion-header-title"><a href="javascript:void(0);">Section Header</a></div>
</div>
<div class="accordion-content">
<span>Any content here.</span>
</div>
</div>
"Multi" Content Accordion - More than one open at a time
<div class="accordion-group multi">
<div class="accordion-header collapsed needs-contrast">
<div class="accordion-header-title"><a href="javascript:void(0);">Section Header</a></div>
</div>
<div class="accordion-content">
<span>Any content here.</span>
</div>
</div>
Borderless Content Accordion
Borderless accordions should be used when actions a user takes inside a drawer are consequential to elements in view outside of the accordion itself. That is, when users need to interact with an accordion and content directly related to the accordion simultaneously. Only one drawer is open at a time.
<div class="accordion-group">
<div class="accordion-header collapsed needs-contrast">
<div class="accordion-header-title"><a href="javascript:void(0);">Section Header</a></div>
</div>
<div class="accordion-content no-border">
<span>Any content here.</span>
</div>
</div>
Form Content Accordion - Edit
<div class="accordion-header edit collapsed needs-contrast">
<div class="accordion-header-title">Form Section</div>
</div>
<div class="accordion-content">
<span>Any content here.</span>
</div>
Form Content Accordion - Sortable
-
Sortable & Edit 1
-
Sortable & Edit 2
<ul class="accordion ui-sortable">
<li class="accordion-move-wrapper">
<div class="accordion-header checkbox move edit collapsed needs-contrast">
<div class="accordion-header-title">Sortable & Edit 1</div>
</div>
<div class="accordion-content">
<span>Any content here.</span>
</div>
</li>
<li class="accordion-move-wrapper">
<div class="accordion-header checkbox move edit collapsed needs-contrast">
<div class="accordion-header-title">Sortable & Edit 2</div>
</div>
<div class="accordion-content">
<span>Any content here.</span>
</div>
</li>
</ul>
$(document).ready(function() {
$("ul.accordion.ui-sortable").sortable({
handle: ".move-span",
update: function(e, ui) {
//Your Update Logic Here
}
});
});
Standard Content Accordion With Status Icons
<div class="row accordions-with-status accordion-group">
<div class="accordion-header collapsed needs-contrast">
<div class="accordion-header-title"><a href="javascript:void(0);">Section Header</a></div>
</div>
<div class="accordion-content">
<span>Any content here.</span>
</div>
<div class="accordion-header collapsed needs-contrast complete">
<div class="accordion-header-title"><a href="javascript:void(0);">Section Header</a></div>
</div>
<div class="accordion-content">
<span>Any content here.</span>
</div>
<div class="accordion-header collapsed needs-contrast not-actionable">
<div class="accordion-header-title"><a href="javascript:void(0);">Section Header</a></div>
</div>
<div class="accordion-content">
<span>Any content here.</span>
</div>
</div>
Adding Accordions at Runtime
Accordions that are added before runtime will be initialized automatically. If you need to dynamically add accordions at runtime, you must initialize them using function
initAccordions();
Once an accordion is initialized (either on page load, or via the initAccordions() function) an additional "initialized" class will appear on the accordion-header. This used to avoid re-initializing accordions when calling initAccordions() at runtime.