{% set CHIP_DEFAULTS = {
  className: '',
  tag: 'div',
  href: '',
  hasImage: false,
  image: {
    image: {
      src: '24x24',
      width: 24,
      height: 24
    },
    sources: []
  },
  text: 'Chip',
  icon: '',
  attrs: {}
} %}

{% macro Chip(settings = {}) %}
  {% set settings = merge(CHIP_DEFAULTS, settings) %}
  {% set classNames = [settings.className] %}
  {% set tag = 'a' if settings.href else settings.tag %}
  {% set type = '' %}

  {% if tag === 'button' %}
    {% set type = 'button' %}
  {% endif %}

  <{{ tag }}
    class="chip {{ setClass(classNames) }}"
    {{ Helpers.setAttr('type', type) }}
    {{ Helpers.setAttributes(settings.attrs) }}
  >
    {% if settings.hasImage or settings.icon %}
      <span class="chip__thumb">
        {{ Image(settings.image) if settings.hasImage }}
        {{ Helpers.svg(settings.icon) if settings.icon }}
      </span>
    {% endif %}
    {% if settings.text %}
      <span class="chip__text">
        {{ settings.text }}
      </span>
    {% endif %}
    {% if settings.canClose %}
      <span class="chip__close">
        {{ Helpers.svg('icons/icon-close' if not settings.isDisabled else 'icons/icon-close-disabled') }}
      </span>
    {% endif %}
  </{{ tag }}>
{% endmacro %}
