@props([ 'type' => 'info', 'title' => null, 'message' => null, 'icon' => null, 'dismissible' => true, ]) @php $type = in_array($type, ['info', 'success', 'warning', 'error'], true) ? $type : 'info'; $defaults = [ 'info' => ['title' => __('kview-ui-core::ui.alert.info'), 'icon' => 'info'], 'success' => ['title' => __('kview-ui-core::ui.alert.success'), 'icon' => 'check'], 'warning' => ['title' => __('kview-ui-core::ui.alert.warning'), 'icon' => 'alert'], 'error' => ['title' => __('kview-ui-core::ui.alert.error'), 'icon' => 'x'], ]; $icon = $icon ?: $defaults[$type]['icon']; $role = $type === 'error' ? 'alert' : 'status'; @endphp
class(['ui-alert', 'ui-alert--'.$type])->merge(['role' => $role, 'data-ui-alert' => true]) }}> {{ $title ?: $defaults[$type]['title'] }} @if ($message) {{ $message }} @endif {{ $slot }} @if ($dismissible) @endif