@props([ 'title' => null, 'subtitle' => null, // visual options 'variant' => 'default', // default | compact | card | hero 'tone' => 'default', // default | soft | dark 'align' => 'start', // start | center // optional 'icon' => null, // svg/html string or slot usage ]) @php $variantClass = match ($variant) { 'compact' => 'page-header-compact', 'card' => 'page-header-card', 'hero' => 'page-header-hero', default => '', }; $toneClass = match ($tone) { 'soft' => 'page-header-soft', 'dark' => 'page-header-dark', default => '', }; $alignClass = $align === 'center' ? 'page-header-center' : ''; $rootClass = trim("page-header {$variantClass} {$toneClass} {$alignClass}"); @endphp
merge(['class' => $rootClass]) }}>
{{-- Breadcrumbs slot (optional) --}} @isset($breadcrumbs) @endisset
@isset($icon)
{!! $icon !!}
@endisset
@if($title)

{{ $title }}

@endif @if($subtitle)

{{ $subtitle }}

@endif
{{-- Meta slot (optional) --}} @isset($meta)
{{ $meta }}
@endisset
{{-- Actions slot (optional) --}} @isset($actions)
{{ $actions }}
@endisset
{{-- Tabs slot (optional) --}} @isset($tabs)
{{ $tabs }}
@endisset {{-- Extra content slot (optional) --}} {{ $slot }}