@php use Filament\Support\Enums\Alignment; @endphp @props([ 'alignment' => Alignment::Start, 'ariaLabelledby' => null, 'closeButton' => \Filament\Support\View\Components\Modal::$hasCloseButton, 'closeByClickingAway' => \Filament\Support\View\Components\Modal::$isClosedByClickingAway, 'closeEventName' => 'close-modal', 'description' => null, 'displayClasses' => 'inline-block', 'footer' => null, 'footerActions' => [], 'footerActionsAlignment' => Alignment::Start, 'header' => null, 'heading' => null, 'icon' => null, 'iconAlias' => null, 'iconColor' => 'primary', 'id' => null, 'openEventName' => 'open-modal', 'slideOver' => false, 'stickyFooter' => false, 'stickyHeader' => false, 'trigger' => null, 'visible' => true, 'width' => 'sm', ])
@if ($trigger)
attributes->class(['fi-modal-trigger flex cursor-pointer']) }} > {{ $trigger }}
@endif
! $slideOver, ]) >
class([ 'pointer-events-none relative w-full transition', 'my-auto p-4' => ! ($slideOver || ($width === 'screen')), ]) }} >
$slideOver, 'h-screen' => $slideOver || ($width === 'screen'), 'mx-auto rounded-xl' => ! ($slideOver || ($width === 'screen')), 'hidden' => ! $visible, 'max-w-xs' => $width === 'xs', 'max-w-sm' => $width === 'sm', 'max-w-md' => $width === 'md', 'max-w-lg' => $width === 'lg', 'max-w-xl' => $width === 'xl', 'max-w-2xl' => $width === '2xl', 'max-w-3xl' => $width === '3xl', 'max-w-4xl' => $width === '4xl', 'max-w-5xl' => $width === '5xl', 'max-w-6xl' => $width === '6xl', 'max-w-7xl' => $width === '7xl', 'fixed inset-0' => $width === 'screen', ]) > @if ($heading || $header)
$stickyHeader, 'rounded-t-xl' => $stickyHeader && ! ($slideOver || ($width === 'screen')), match ($alignment) { Alignment::Left, Alignment::Start, 'left', 'start' => 'gap-x-5', Alignment::Center, 'center' => 'flex-col', }, ]) > @if ($closeButton)
! $slideOver, 'end-6 top-6' => $slideOver, ]) >
@endif @if ($header) {{ $header }} @else @if ($icon)
in_array($alignment, [Alignment::Center, 'center']), ]) >
'p-2', Alignment::Center, 'center' => 'p-3', }, ]) style="{{ \Filament\Support\get_color_css_variables($iconColor, shades: [100, 500]) }}" > 'text-gray-500 dark:text-gray-400', default => 'text-custom-600 dark:text-custom-400', }, ]) @style([ \Filament\Support\get_color_css_variables($iconColor, shades: [400, 600]) => $iconColor !== 'gray', ]) />
@endif
in_array($alignment, [Alignment::Center, 'center']), ]) > {{ $heading }} @if (filled($description)) {{ $description }} @endif
@endif
@endif @if (! \Filament\Support\is_slot_empty($slot))
($width === 'screen') || $slideOver, 'pe-6 ps-[5.25rem]' => $icon && in_array($alignment, [Alignment::Start, 'start']), 'px-6' => ! ($icon && in_array($alignment, [Alignment::Start, 'start'])), ]) > {{ $slot }}
@endif @if (count($footerActions) || (! \Filament\Support\is_slot_empty($footer)))
$icon && in_array($alignment, [Alignment::Start, 'start']) && (! in_array($footerActionsAlignment, [Alignment::Center, 'center'])) && (! $stickyFooter), 'px-6' => ! ($icon && in_array($alignment, [Alignment::Start, 'start']) && (! in_array($footerActionsAlignment, [Alignment::Center, 'center'])) && (! $stickyFooter)), 'sticky bottom-0 border-t border-gray-200 bg-white py-5 dark:border-white/10 dark:bg-gray-900' => $stickyFooter, 'rounded-b-xl' => $stickyFooter && ! ($slideOver || ($width === 'screen')), 'pb-6' => ! $stickyFooter, 'mt-6' => (! $stickyFooter) && \Filament\Support\is_slot_empty($slot), 'mt-auto' => $slideOver, ]) > @if (! \Filament\Support\is_slot_empty($footer)) {{ $footer }} @elseif (count($footerActions))
'flex flex-col-reverse sm:grid sm:grid-cols-[repeat(auto-fit,minmax(0,1fr))]', Alignment::End, Alignment::Right, 'end', 'right' => 'flex flex-row-reverse flex-wrap items-center', Alignment::Left, Alignment::Start, 'left', 'start' => 'flex flex-wrap items-center', }, ]) > @foreach ($footerActions as $action) {{ $action }} @endforeach
@endif
@endif