.w-accordion(:class="accordionClasses")
//- When externally using the WAccordionItem component.
slot(v-if="accordionItemsProvided")
//- Else, when providing the items array or number through the items prop.
template(v-else-if="(items || []).length")
w-accordion-item(
v-for="(item, i) in (items.length ? items : accordionItems)"
:key="i"
:class="itemClasses"
:title="item.title"
:content="item.content"
:expanded="item.expanded || item._expanded"
:disabled="item.disabled || item._disabled"
@focus="$emit('focus', $event)")
//- Title.
template(#title="{ item, expanded, index }")
slot(
v-if="$slots[`item-title.${item.id || index}`]"
:name="`item-title.${item.id || index}`"
:item="item"
:expanded="expanded"
:index="index")
slot(
v-else
name="item-title"
:item="item"
:expanded="expanded"
:index="index")
//- Content.
template(#content="{ item, expanded, index }")
slot(
v-if="$slots[`item-content.${item.id || index}`]"
:name="`item-content.${item.id || index}`"
:item="item"
:expanded="expanded"
:index="index")
slot(
v-else
name="item-content"
:item="item"
:expanded="expanded"
:index="index")