{{-- @foreach($top10Hot as $m) {{ $m->prospect_name }} ... @endforeach Tabla densa multi-dimensional al estilo command.blade.php:128-228. Diseño de slots: - Component provee: card + header + thead con columnas + tbody empty - Parent provee: las `...` dentro del slot default Eso permite que el parent acceda a su scope (con `$item` o nombre custom) sin tener que pasar callbacks ni reformatear. Props: - items: Collection|array — para calcular itemCount + empty state - columns: array — definición de headers - title: ?string — título del card - icon: string — icono del título - icon-color: string — color del icono - badge-count: ?int — número en badge derecha del título - badge-text: ?string — texto del badge (default null) - badge-color: string — color del badge - empty-icon: string — icono empty state - empty-text: string — texto empty state - empty-cta-url: ?string — URL botón empty state - empty-cta-label: ?string — texto botón empty state Pattern: command.blade.php líneas 128-228 --}} @props([ 'items' => [], 'columns' => [], 'title' => null, 'icon' => 'bi-table', 'iconColor' => 'primary', 'badgeCount' => null, 'badgeText' => null, 'badgeColor' => 'primary', 'emptyIcon' => 'bi-inbox', 'emptyText' => 'Sin datos', 'emptyCtaUrl' => null, 'emptyCtaLabel' => null, ]) @php $itemCount = is_countable($items) ? count($items) : (method_exists($items, 'count') ? $items->count() : 0); $showBadge = !is_null($badgeCount); @endphp
@if($title)

{{ $title }}

@if($showBadge) {{ $badgeCount }}{{ $badgeText ? ' '.$badgeText : '' }} @endif
@endif
@if($itemCount === 0)
{{ $emptyText }}
@if($emptyCtaUrl && $emptyCtaLabel) {{ $emptyCtaLabel }} @endif
@else
@foreach($columns as $col) @endforeach {{ $slot }}
{{ $col['label'] }}
@endif