progress-tracker

Information

Folder
src/components/elements/progress-tracker

Files

Schema
Mocks
Template
// src/components/elements/progress-tracker/progress-tracker.html.twig

{% set show_grid = display == "grid" or display == "content" %}

<div class="ProgressTracker{{ display == "content" ? " ProgressTracker--contentSize" : "" }}" style="--ProgressTracker-items: {{ progress|length }}">
  <p class="ProgressTracker-headline u-typo-copy-bold">{{ current_index + 1 }}. {{ progress[current_index].title }}</p>
  {% if show_grid %}<div class="u-grid">{% endif %}
    <ul class="ProgressTracker-list u-typo-copy-small webform-progress-tracker" data-webform-progress-steps>
      {% for index, page in progress %}
        {% set is_completed = index < current_index %}
        {% set is_active = index == current_index %}
        {% set classes = 'ProgressTracker-step' ~ (is_completed ? ' ProgressTracker-step--complete' : '') ~ (is_active ? ' ProgressTracker-step--active' : '') %}
        <li class="{{ classes }}" data-webform-{{ page.type }}="{{ page.name }}" title="{{ page.title }}"
            {% if is_active %}aria-current="step"{% endif %}>
          <div class="ProgressTracker-marker progress-marker" data-webform-progress-step data-webform-progress-link data-text="{{ index + 1 }}"></div>
          <div class="ProgressTracker-text">
            <div class="ProgressTracker-title progress-title" data-webform-progress-link>
              <span class="u-hiddenVisually" data-webform-progress-state>{% if is_active or is_completed %}{{ is_active ? "Aktuell" : "Fertiggestellt" }}{% endif %}</span>
              {{ page.title }}
            </div>
          </div>
        </li>
      {% endfor %}
    </ul>
  {% if show_grid %}</div>{% endif %}
</div>

Variants

default
Open

default mock data

Raw
Resolved
on donation teaser
Open

on donation teaser mock data

Raw
Resolved
on review data page
Open

on review data page mock data

Raw
Resolved