{% macro onsTimeline(params) %}
    {% from "components/list/_macro.njk" import onsList %}

    <div class="ons-timeline{{ ' ' + params.classes if params.classes else '' }}">
        {% set titleTag = params.headingLevel | default(2) %}
        {% set openingTag = "<h" ~ titleTag %}
        {% set closingTag = "</h" ~ titleTag ~ ">" %}
        {% for item in params.timelineItems %}
            <div class="ons-timeline__item">
                {{ openingTag | safe }} class="ons-timeline__heading">{{ item.heading }}{{ closingTag | safe }}
                {% if item.itemsList %}
                    <div class="ons-timeline__content">
                        {{
                            onsList({
                                "variants": 'bare',
                                "itemsList": item.itemsList
                            })
                        }}
                    </div>
                {% elif item.content %}
                    <div class="ons-timeline__content">{{ item.content | safe }}</div>
                {% endif %}
            </div>
        {% endfor %}
    </div>
{% endmacro %}
