{# Parameters:
  - progress (int) (default: 0)
  - min (int) (default: 0)
  - max (int) (default: 100)
  - striped (boolean) (default: false)
  - animated (boolean) (default: false)
  - hidden_label (boolean) (default: false)
  - label (string) (default: '')
  - bar_label (string) (default: '')
  - variant (string) (default: '')
  - message (string) (default: '')
  - attributes (drupal attrs)
#}

{%- set _progress = progress|default(0) %}
{% set _min = min|default(0) %}
{% set _max = max|default(100) %}
{% set _striped = striped ?? false %}
{% set _animated = animated ?? false %}
{% set _hidden_label = hidden_label ?? false %}
{% set _label = label|default('') %}
{% set _bar_label = bar_label|default('') %}
{% set _variant = variant|default('') %}
{% set _message = message|default('') %}

{%- set _classes = 'progress-bar' %}
{% if _striped is not empty %}
  {%- set _classes = _classes ~ ' progress-bar-striped' %}
{% endif %}
{% if _animated is not empty %}
  {%- set _classes = _classes ~ ' progress-bar-animated' %}
{% endif %}
{% if _variant is not empty %}
  {%- set _classes = _classes ~ ' text-bg-' ~ _variant %}
{% endif %}

{%- if attributes is empty %}
  {%- set attributes = create_attribute() %}
{% endif %}

{%- set attributes = attributes.addClass(['progress']) %}

{%- if _bar_label is empty %}
  {%- set _bar_label = _progress ~ '%' %}
{% endif %}

{%- if _label is not empty -%}
  <label class="progress-bar-label">{{ _label }}</label>
{%- endif -%}
<div
  {{ attributes }}
>{# -#}
  <div
    class="{{ _classes }}"
    role="progressbar"
    style="width: {{ _progress }}%"
    aria-valuenow="{{ _progress }}"
    aria-label="{{ _progress }}"
    aria-valuemin="{{ _min }}"
    aria-valuemax="{{ _max }}"
  >
  {%- if not _hidden_label -%}
    {{- _bar_label -}}
  {%- endif -%}
  </div>{# -#}
</div>
{%- if _message is not empty -%}
  <small class="form-text text-muted progress-bar-message">{{ _message }}</small>
{%- endif -%}
