{# ========================================================================== #}
{# :: Private macros #}
{# ========================================================================== #}
{% macro _content(data) %}

	{% if data.iconBefore %}
		<span class="c-button__icon {{data.iconBefore}}"></span>
	{% endif %}

	<span class="c-button__text">{{data.text}}</span>

	{% if data.iconAfter %}
		<span class="c-button__icon {{data.iconAfter}}"></span>
	{% endif %}

{% endmacro %}

{# ========================================================================== #}
{# :: Default #}
{# ========================================================================== #}
{% macro default(classes, data) %}

	<button class="c-button {{classes}} {{'is-disabled' if data.isDisabled}}">
		{{_content(data)}}
	</button>

{% endmacro %}

{# ========================================================================== #}
{# :: Secondary #}
{# ========================================================================== #}
{% macro secondary(classes, data) %}

	<button class="c-button c-button--secondary {{classes}} {{'is-disabled' if data.isDisabled}}">
		{{_content(data)}}
	</button>

{% endmacro %}

{# ========================================================================== #}
{# :: Link #}
{# ========================================================================== #}
{% macro link(classes, data) %}

	<a class="c-button {{classes}} {{'is-disabled' if data.isDisabled}}" href="{{data.url}}">
		{{_content(data)}}
	</a>

{% endmacro %}

{# ========================================================================== #}
{# :: Submit #}
{# ========================================================================== #}
{% macro submit(classes, data) %}

	<input type="submit" class="c-button {{classes}}" value="{{data.text}}" {% if data.isDisabled %}disabled{% endif %} />

{% endmacro %}

{# ========================================================================== #}
{# :: Button as submit #}
{# ========================================================================== #}
{% macro asSubmit(classes, data) %}

	<button type="submit" class="c-button {{classes}} {{'is-disabled' if data.isDisabled}}">
		{{_content(data)}}
	</button>

{% endmacro %}
