{# SAM Progress Bar Component - Linear progress indicator Parameters: - value: number (required) - Progress percentage (0-100) - size: string - Size: 'sm', 'md', 'lg' - default: md - showLabel: bool - Show percentage label - entity: string - Entity type for color: 'users', 'cohorts', 'courses', 'success', 'warning', 'danger' - animated: bool - Enable animation Usage: {% include 'sam/_components/progress_bar.html.twig' with {value: 75, entity: 'courses'} %} {% include 'sam/_components/progress_bar.html.twig' with {value: 45, showLabel: true, entity: 'warning'} %} #} {% set progressValue = value|default(0)|round %} {% set progressSize = size|default('md') %} {% set entityType = entity|default('courses') %} {# Auto-detect status color based on value if not using entity colors #} {% if entity is not defined %} {% if progressValue >= 70 %} {% set entityType = 'success' %} {% elseif progressValue >= 40 %} {% set entityType = 'warning' %} {% else %} {% set entityType = 'danger' %} {% endif %} {% endif %} {% set barClasses = ['sam-progress-bar', 'sam-progress-bar--' ~ progressSize, 'sam-progress-bar--' ~ entityType] %} {% if animated|default(false) %} {% set barClasses = barClasses|merge(['sam-progress-bar--animated']) %} {% endif %}