@props([
'title' => null,
'image' => null,
'padding' => true,
])
@php
use Illuminate\Support\Str;
$class = $attributes->get('class', '');
$hasBg = Str::contains($class, 'bg-');
$hasBorder = Str::contains($class, 'border-');
@endphp
merge([
'class' => collect([
'relative overflow-hidden rounded-3xl',
'transition-all duration-300',
$hasBg ? null : 'bg-white dark:bg-gray-900',
$hasBorder ? null : 'border border-gray-100 dark:border-gray-800',
])->filter()->join(' ')
]) }}>
{{-- Image --}}
@if($image)
@endif
{{-- Header --}}
@if(isset($header) || $title)
@if(isset($header))
{{ $header }}
@else
{{ $title }}
@endif
@endif
{{-- Body --}}
$padding,
'p-0' => !$padding,
])>
{{ $slot }}
{{-- Footer --}}
@if(isset($footer))
{{ $footer }}
@endif