MinervaNeue/components/ToggleList/ToggleList.mustache

27 lines
977 B
Plaintext

{{!
A list with visibility toggled by a checkbox.
string|null class Optional CSS class for the root element.
string checkboxID CSS identifier unique to the page needed to connect label and input.
string|null toggleID Optional toggle button CSS identifier to connect label and toggle aria.
string|null toggleClass Optional toggle button CSS class.
string|null listClass Optional list CSS class.
string|null text Optional text and aria label for the toggle button.
array|null items Optional array of drop down list items for the unordered list.
}}
<div class="toggle-list {{class}}">
<input
type="checkbox"
id="{{checkboxID}}"
class="toggle-list__checkbox"
role="button"
aria-labelledby="{{toggleID}}"
aria-expanded="false">
<label id="{{toggleID}}" class="toggle-list__toggle {{toggleClass}}" for="{{checkboxID}}">
{{text}}
</label>
<ul class="toggle-list__list {{listClass}}">
{{#items}}
{{> ToggleList/ToggleListItem}}
{{/items}}
</ul>
</div>