{{-- ShiftBridge Modal Component Usage: Are you sure you want to proceed? Cancel Delete Open Modal Large modal content Small modal content Modal without close button Clicking backdrop won't close Props: - id: string (required) - unique modal ID - title: string (modal title) - size: string (sm, md, lg, xl, full) - showClose: boolean (show close button, default true) - static: boolean (prevent closing on backdrop click) - centered: boolean (center vertically) --}} @props([ 'id' => null, 'title' => null, 'size' => 'md', 'showClose' => true, 'static' => false, 'centered' => true, ]) @php // Size classes for modal dialog $sizeClasses = match($size) { 'sm' => 'max-w-md', 'md' => 'max-w-lg', 'lg' => 'max-w-2xl', 'xl' => 'max-w-4xl', 'full' => 'max-w-full mx-4', default => 'max-w-lg', }; // Centered classes $centeredClasses = $centered ? 'items-center' : 'items-start pt-20'; @endphp {{-- Header --}} @if($title || $showClose) @if($title) {{ $title }} @else @endif @if($showClose) @endif @endif {{-- Body --}} {{ $slot }} {{-- Footer --}} @if(isset($footer)) {{ $footer }} @endif
Are you sure you want to proceed?
Large modal content
Small modal content
Modal without close button
Clicking backdrop won't close