@props([ 'series' => [], // [['label' => 'Product A', 'value' => 1200, 'meta' => '12 sold'], …] 'formatter' => null, 'slot' => 1, 'label' => 'Value', ]) @php /* * Horizontal bars for ranked magnitude ("top products", "top customers"). * * Category names read straight along the axis instead of being rotated, * which is the whole reason to lay a ranking on its side. */ $rows = collect($series)->values(); $max = max(1, (float) $rows->max('value')); $format = $formatter ?? fn ($value) => number_format((float) $value); @endphp
@if ($rows->isEmpty())
No data for this period.
@else
@foreach ($rows as $row) @php $percent = max(1.5, ((float) $row['value'] / $max) * 100); @endphp
{{ $row['label'] }} {{ $format($row['value']) }} @if (! empty($row['meta'])) {{ $row['meta'] }} @endif
@endforeach
@endif