@props(['slices', 'label' => 'Répartition', 'stacked' => false])
@php
// $slices : liste de ['name', 'value'] triée ; au-delà de 6 parts, le reste est regroupé en « Autres ».
$palette = ['#12388a', '#f97316', '#0ea5e9', '#16a34a', '#a855f7', '#eab308', '#94a3b8'];
$slices = collect($slices)->values();
if ($slices->count() > 7) {
$slices = $slices->take(6)->push(['name' => 'Autres', 'value' => $slices->slice(6)->sum('value')]);
}
$total = (int) $slices->sum('value');
$r = 70; $c = 2 * M_PI * $r; $offset = 0;
@endphp
! $stacked])>
@forelse ($slices as $i => $slice)
-
{{ $slice['name'] }}
{{ \App\Support\Money::compact($slice['value']) }} {{ $total > 0 ? round($slice['value'] * 100 / $total) : 0 }} %
@empty
- Aucune vente sur la période.
@endforelse