{% set AVATAR_DEFAULTS = {
  className: '',
  useImage: true,
  image: {
    image: {
      src: '64x64',
      width: 64,
      height: 64
    },
    sources: []
  },
  useIcon: false,
  icon: '',
  text: '',
  status: ''
} %}

{% macro Avatar(settings = {}) %}
  {% set settings = merge(AVATAR_DEFAULTS, settings) %}
  {% set statusClass = [
    'avatar__status--online' if settings.status === 'online'
  ] %}

  <div class="avatar {{ settings.className }}" {{ Helpers.setAttr('href', settings.href) if settings.href }}>
    {{ Image(settings.image) if settings.useImage }}
    {{ Helpers.svg(settings.icon) if settings.useIcon }}
    {% if not settings.useImage and not settings.useIcon %}
      <span class="avatar__text">{{ settings.text }}</span>
    {% endif %}
    {% if settings.status %}
      <span class="avatar__status {{ setClass(statusClass) }}"></span>
    {% endif %}
  </div>
{% endmacro %}

