{% set DEFAULT_LIST_SETTINGS = {
  className: '',
  itemClassName: 'grid-column--md-6 grid-column--lg-4',
  range: 9
} %}

{% macro List(settings = {}) %}
  {% set settings = merge(DEFAULT_LIST_SETTINGS, settings) %}
  {% set itemClassNames = [
    'list__item',
    'grid-column',
    settings.itemClassName
  ] %}

  <ul class="list grid {{ settings.className }}">
    {% if settings.range %}
      {% for item in range(settings.range) %}
        <li class="{{ setClass(itemClassNames) }}">
          {{ caller() }}
        </li>
      {% endfor %}
    {% else %}
      {{ caller() }}
    {% endif %}
  </ul>
{% endmacro %}
