{{-- Alert Component - TailServer Theme (shadcn-inspired) Usage: Default alert Operation completed Warning message --}} @props([ 'variant' => 'default', 'title' => null, 'icon' => null, 'dismissible' => false, 'collapsible' => false, 'collapsed' => false, ]) @php $variantConfig = [ 'default' => [ 'class' => 'bg-card text-card-foreground', 'icon' => $icon ?? 'ri-information-line', ], 'info' => [ 'class' => 'border-info/20 bg-info/5 text-info [&>svg]:text-info', 'icon' => $icon ?? 'ri-information-line', ], 'success' => [ 'class' => 'border-success/20 bg-success/5 text-success [&>svg]:text-success', 'icon' => $icon ?? 'ri-checkbox-circle-line', ], 'warning' => [ 'class' => 'border-warning/20 bg-warning/5 text-warning [&>svg]:text-warning', 'icon' => $icon ?? 'ri-error-warning-line', ], 'danger' => [ 'class' => 'border-danger/20 bg-danger/5 text-danger [&>svg]:text-danger', 'icon' => $icon ?? 'ri-error-warning-fill', ], ]; $config = $variantConfig[$variant] ?? $variantConfig['default']; @endphp
class([ 'relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5', $config['class'], ]) }} @if($dismissible || $collapsible) x-data="{ show: true, @if($collapsible) collapsed: {{ $collapsed ? 'true' : 'false' }} @endif }" x-show="show" x-transition:enter="transition ease-out duration-150" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-100" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" @endif >
@if($title)
{{ $title }}
@endif
{{ $slot }}
@if($dismissible || $collapsible)
@if($collapsible) @endif @if($dismissible) @endif
@endif