@props([
'type' => 'text', // text | avatar | card | table-row
'rows' => 5, // table-row: number of inline bars
'width' => null, // text: optional width override, e.g. 'w-1/2'
])
{{--
Skeleton loader (component.md). Shimmer surface defined in app.css (.skeleton).
Usage:
--}}
@switch($type)
@case('avatar')
merge(['class' => 'skeleton h-10 w-10 rounded-full']) }}>
@break
@case('card')
merge(['class' => 'card space-y-4']) }}>
@break
@case('table-row')
merge(['class' => 'flex items-center gap-4 px-4 py-3']) }}>
@for ($i = 0; $i < (int) $rows; $i++)
@endfor
@break
@default
merge(['class' => 'skeleton h-3 ' . ($width ?? 'w-full')]) }}>
@endswitch