{# API #}
{%- set props = props | default([]) -%}
{%- set _id = props.id | default(null) -%}
{%- set _elementType = props.elementType | default('section') -%}

{# Class names #}
{%- set _rootClassName = _spiritClassPrefix ~ 'Accordion' -%}

{# Attributes #}
{%- set _idAttr = _id ? 'id="' ~ _id | escape('html_attr') ~ '"' : null -%}

{# Miscellaneous #}
{%- set _styleProps = useStyleProps(props) -%}
{%- set _classNames = [ _rootClassName, _styleProps.className ] -%}
{%- set _mainPropsWithoutId = props | filter((value, prop) => prop is not same as('id')) -%}

<{{ _elementType }}
    {{ mainProps(_mainPropsWithoutId) }}
    {{ styleProp(_styleProps) }}
    {{ _idAttr | raw }}
    {{ classProp(_classNames) }}
>
    {% block content %}{% endblock %}
</{{ _elementType }}>
