@props([ "type" => "success", "dismissible" => false, "title" => null, "message" => null, ]) @php $alertClasses = [ "success" => "bg-green-50 border-green-200 text-green-800 dark:bg-green-900/20 dark:border-green-800 dark:text-green-400", "error" => "bg-red-50 border-red-200 text-red-800 dark:bg-red-900/20 dark:border-red-800 dark:text-red-400", "warning" => "bg-yellow-50 border-yellow-200 text-yellow-800 dark:bg-yellow-900/20 dark:border-yellow-800 dark:text-yellow-400", "info" => "bg-blue-50 border-blue-200 text-blue-800 dark:bg-blue-900/20 dark:border-blue-800 dark:text-blue-400", ]; $iconClasses = [ "success" => "text-green-400", "error" => "text-red-400", "warning" => "text-yellow-400", "info" => "text-blue-400", ]; $icons = [ "success" => '', "error" => '', "warning" => '', "info" => '', ]; @endphp
merge(["class" => "rounded-xl border p-4 " . $alertClasses[$type]]) }} x-data="{ show: true }" x-show="show" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0 transform scale-95" x-transition:enter-end="opacity-100 transform scale-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100 transform scale-100" x-transition:leave-end="opacity-0 transform scale-95">
{!! $icons[$type] !!}
@if ($title)

{{ __($title) }}

@endif
@if ($message)

{{ __($message) }}

@else {{ $slot }} @endif
@if ($dismissible)
@endif