mediawiki-skins-MinervaNeue/includes/Skins/components/ToggleList/ToggleList.mustache
jdlrobson aba173efc6 Remove non-standard components folder
For skins, all templates should be in the same folder. This
is for security reasons, to limit access of templates to files
that are not templates. This also adds consistency with other skins
where templates are all in the same subdirectory. It also allows
us to reduce the creation of TemplateParser instances.

Note: All styles and scripts should be in the resources folder but this
is not rectified by this patchset. Will be done in follow ups following
more discussion.

This begins this work in the least disruptive way possible and drops
the README note to avoid this pattern growing.

Bug: T292558
Change-Id: I4c2e115451c0a76c742734730712814c1f1d838d
2021-10-06 20:13:48 +00:00

33 lines
1.1 KiB
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 analyticsEventName Optional analytics event, sent element is clicked
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}}"
data-event-name="{{analyticsEventName}}">
{{text}}
</label>
<ul class="toggle-list__list new {{listClass}}" id="{{listID}}">
{{#items}}
{{> ToggleList/ToggleListItem}}
{{/items}}
</ul>
</div>