{% from '@bonniernews/dn-design-system-web/njk-helpers/attributes.njk' import getAttributes %}

{% macro Spinner(params) %}
  {%- set componentClassName = "ds-spinner" %}
  {%- set classNamePrefix = componentClassName + "--" %}
  {%- set size = params.size | default("large") %}
  {%- set attributes = getAttributes(params.attributes) %}

  {%- set classes = [
    componentClassName,
    "ds-force-px" if params.forcePx,
    classNamePrefix + size,
    classNamePrefix + (params.variant or "primary"),
    params.classNames if params.classNames
  ] | join(" ") %}

  <span class="{{ classes }}" {{- attributes | safe }}>
    <span class="{{ componentClassName + '__inner'}}"></span>
  </span>
{% endmacro %}
