{% set MEDIA_ELEMENT_DEFAULTS = {
  className: '',
  useAudio: false,
  useImage: false,
  caption: false
} %}

{% macro MediaElement(settings = {}) %}
  {% set settings = merge(MEDIA_ELEMENT_DEFAULTS, settings) %}

  <div class="media-element {{ settings.className }}">
    {% if settings.caption %}
      <p class="media-element__caption">
        {{ settings.caption }}
      </p>
    {% endif %}
    {% if settings.useAudio %}
      <div class="media-element__audio-container">
        {{ caller() }}
      </div>
    {% elif settings.useImage %}
      <div class="media-element__image-container">
        {{ caller() }}
      </div>
    {% else %}
      <div class="media-element__video-container">
        {{ caller() }}
      </div>
    {% endif %}
  </div>

{% endmacro %}
