env; $__livewire = $__env->shared('__livewire'); $__slots['slot'] ??= new \Illuminate\View\ComponentSlot(''); if (($__data['attributes'] ?? null) instanceof \Illuminate\View\ComponentAttributeBag) { $__data = $__data + $__data['attributes']->all(); unset($__data['attributes']); } extract($__slots, EXTR_SKIP); unset($__slots); extract($__data, EXTR_SKIP); $attributes = \Livewire\Blaze\Runtime\BlazeAttributeBag::make($__data, $__bound, $__keys); unset($__data, $__bound, $__keys); ob_start(); ?> null, 'position' => null, 'closable' => null, 'trigger' => null, 'variant' => null, 'scroll' => null, 'flyout' => null, 'name' => null, ]; $dismissible ??= $attributes['dismissible'] ?? $__defaults['dismissible']; unset($attributes['dismissible']); $position ??= $attributes['position'] ?? $__defaults['position']; unset($attributes['position']); $closable ??= $attributes['closable'] ?? $__defaults['closable']; unset($attributes['closable']); $trigger ??= $attributes['trigger'] ?? $__defaults['trigger']; unset($attributes['trigger']); $variant ??= $attributes['variant'] ?? $__defaults['variant']; unset($attributes['variant']); $scroll ??= $attributes['scroll'] ?? $__defaults['scroll']; unset($attributes['scroll']); $flyout ??= $attributes['flyout'] ?? $__defaults['flyout']; unset($attributes['flyout']); $name ??= $attributes['name'] ?? $__defaults['name']; unset($attributes['name']); unset($__defaults); ?> shared('__livewire'); if ($variant === 'flyout') { $flyout = true; $variant = null; } $closable ??= $variant === 'bare' ? false : true; $overflow = $scroll === 'body' && ! $flyout; if ($flyout) { $classes = Flux::classes() ->add(match ($variant) { default => match($position) { // For bottom flyout we intentionally use 100% instead of 100vw because Firefox includes scrollbar gutter in vw... 'bottom' => 'fixed m-0 p-8 min-w-[100%] overflow-y-auto mt-auto [--flux-flyout-translate:translateY(50px)] border-t', 'left' => 'fixed m-0 p-8 max-h-dvh min-h-dvh md:[:where(&)]:min-w-[25rem] overflow-y-auto mr-auto [--flux-flyout-translate:translateX(-50px)] border-e rtl:mr-0 rtl:ml-auto rtl:[--flux-flyout-translate:translateX(50px)]', default => 'fixed m-0 p-8 max-h-dvh min-h-dvh md:[:where(&)]:min-w-[25rem] overflow-y-auto ml-auto [--flux-flyout-translate:translateX(50px)] border-s rtl:ml-0 rtl:mr-auto rtl:[--flux-flyout-translate:translateX(-50px)]', }, 'floating' => match($position) { // For bottom flyout we intentionally use 100% instead of 100vw because Firefox includes scrollbar gutter in vw... 'bottom' => 'fixed m-2 p-8 min-w-[calc(100%-1rem)] overflow-y-auto mt-auto [--flux-flyout-translate:translateY(50px)]', 'left' => 'fixed m-2 p-8 max-h-[calc(100dvh-1rem)] min-h-[calc(100dvh-1rem)] md:[:where(&)]:min-w-[25rem] overflow-y-auto mr-auto [--flux-flyout-translate:translateX(-50px)] rtl:mr-0 rtl:ml-auto rtl:[--flux-flyout-translate:translateX(50px)]', default => 'fixed m-2 p-8 max-h-[calc(100dvh-1rem)] min-h-[calc(100dvh-1rem)] md:[:where(&)]:min-w-[25rem] overflow-y-auto ml-auto [--flux-flyout-translate:translateX(50px)] rtl:ml-0 rtl:mr-auto rtl:[--flux-flyout-translate:translateX(-50px)]', }, 'bare' => '', }) ->add(match ($variant) { default => 'bg-white dark:bg-zinc-800 border-transparent dark:border-zinc-700', 'floating' => 'bg-white dark:bg-zinc-800 ring ring-black/5 dark:ring-zinc-700 shadow-lg rounded-xl', 'bare' => 'bg-transparent', }); } elseif ($overflow) { $classes = Flux::classes(); $contentClasses = Flux::classes() ->add('relative') ->add(match ($variant) { default => 'p-6 [:where(&)]:max-w-xl [:where(&)]:min-w-xs shadow-lg rounded-xl', 'bare' => '', }) ->add(match ($variant) { default => 'bg-white dark:bg-zinc-800 ring ring-black/5 dark:ring-zinc-700 shadow-lg rounded-xl', 'bare' => 'bg-transparent', }); } else { $classes = Flux::classes() ->add(match ($variant) { default => 'p-6 [:where(&)]:max-w-xl [:where(&)]:min-w-xs shadow-lg rounded-xl', 'bare' => '', }) ->add(match ($variant) { default => 'bg-white dark:bg-zinc-800 ring ring-black/5 dark:ring-zinc-700 shadow-lg rounded-xl', 'bare' => 'bg-transparent', }); } // Support adding the .self modifier to the wire:model directive... if (($wireModel = $attributes->wire('model')) && $wireModel->directive && ! $wireModel->hasModifier('self')) { unset($attributes[$wireModel->directive]); $wireModel->directive .= '.self'; $attributes = $attributes->merge([$wireModel->directive => $wireModel->value]); } if ($attributes['@close'] ?? null) { $attributes['wire:close'] = $attributes['@close']; unset($attributes['@close']); } if ($attributes['@cancel'] ?? null) { $attributes['wire:cancel'] = $attributes['@cancel']; unset($attributes['@cancel']); } if ($dismissible === false) { $attributes = $attributes->merge(['disable-click-outside' => '']); } [ $contentAttributes, $attributes ] = Flux::splitAttributes($attributes, ['autofocus', 'class', 'style']); [ $dialogAttributes, $attributes ] = Flux::splitAttributes($attributes, ['wire:close', 'x-on:close', 'wire:cancel', 'x-on:cancel']); if (! $overflow) { $dialogAttributes = $dialogAttributes->merge($contentAttributes->getAttributes()); } ?> data-flux-modal> class($classes)); ?> data-modal="" data-flux-flyout data-flux-modal-overflow $scope; ?> $name]); ?> x-data="fluxModal(toHtml() ?>, getId() : null)->toHtml() ?>)" x-on:modal-show.document="handleShow($event)" x-on:modal-close.document="handleClose($event)" >
class($contentClasses)); ?> data-flux-modal-content>