@php use Illuminate\Support\Str; @endphp @props([ 'transparent' => false, 'percentage' => 0, 'color' => 'primary', 'show_percentage_label' => config('bladewind.progress_bar.show_percentage_label', false), 'showPercentageLabel' => config('bladewind.progress_bar.show_percentage_label', false), 'show_percentage_label_inline' => config('bladewind.progress_bar.show_percentage_label_inline', true), 'showPercentageLabelInline' => config('bladewind.progress_bar.show_percentage_label_inline', true), 'percentage_label_position' => 'top-left', 'percentageLabelPosition' => 'top-left', 'shade' => config('bladewind.progress_bar.shade', 'faint'), 'text_color_weight' => [ 'faint' => 600, 'dark' => 50, ], 'percentage_prefix' => '', 'percentagePrefix' => '', 'percentage_suffix' => '', 'percentageSuffix' => '', 'class' => '', 'css_override' => '', 'bar_class' => '', 'barClass' => '', 'cssOverride' => '', 'percentage_label_opacity' => config('bladewind.progress_bar.percentage_label_opacity', 100), 'percentageLabelOpacity' => config('bladewind.progress_bar.percentage_label_opacity', 100), ]) @php // reset variables for Laravel 8 support $show_percentage_label = filter_var($show_percentage_label, FILTER_VALIDATE_BOOLEAN); $showPercentageLabel = filter_var($showPercentageLabel, FILTER_VALIDATE_BOOLEAN); $show_percentage_label_inline = filter_var($show_percentage_label_inline, FILTER_VALIDATE_BOOLEAN); $showPercentageLabelInline = filter_var($showPercentageLabelInline, FILTER_VALIDATE_BOOLEAN); $transparent = filter_var($transparent, FILTER_VALIDATE_BOOLEAN); if ($showPercentageLabel) $show_percentage_label = $showPercentageLabel; if (!$showPercentageLabelInline) $show_percentage_label_inline = $showPercentageLabelInline; if ($percentageLabelPosition !== $percentage_label_position) $percentage_label_position = $percentageLabelPosition; if ($percentageLabelOpacity !== $percentage_label_opacity) $percentage_label_opacity = $percentageLabelOpacity; if ($percentagePrefix !== $percentage_prefix) $percentage_prefix = $percentagePrefix; if ($percentageSuffix !== $percentage_suffix) $percentage_suffix = $percentageSuffix; if ($cssOverride !== $css_override) $css_override = $cssOverride; if ($barClass !== $bar_class) $bar_class = $barClass; $bar_color = ($shade == 'dark') ? "bg-$color-500" : "bg-$color-300"; //----------------------------------------------------------------------- if(! is_numeric($percentage_label_opacity*1)) $percentage_label_opacity = '100'; $color = (!in_array($color, ['primary', 'red', 'yellow', 'green', 'blue', 'pink', 'cyan', 'gray', 'purple', 'orange', 'violet', 'fuchsia', 'indigo'])) ? 'primary' : $color; $percentage_label_position = str_replace(' ', '_', $percentage_label_position); @endphp
@if($show_percentage_label && !$show_percentage_label_inline && Str::contains($percentage_label_position, 'top'))
{{$percentage_prefix}} {{ $percentage}}% {{$percentage_suffix}}
@endif
@if($show_percentage_label && $show_percentage_label_inline) {{$percentage_prefix}} {{ $percentage}}% {{$percentage_suffix}} @endif
@if($show_percentage_label && !$show_percentage_label_inline && Str::contains($percentage_label_position, 'bottom'))
{{$percentage_prefix}} {{ $percentage}}% {{$percentage_suffix}}
@endif