54 lines
2.0 KiB
PHP
54 lines
2.0 KiB
PHP
<div>
|
|
@isset($jsPath)
|
|
<script>{!! file_get_contents($jsPath) !!}</script>
|
|
@endisset
|
|
@isset($cssPath)
|
|
<style>{!! file_get_contents($cssPath) !!}</style>
|
|
@endisset
|
|
|
|
<div
|
|
x-data="LivewireUIModal()"
|
|
x-on:close.stop="setShowPropertyTo(false)"
|
|
x-on:keydown.escape.window="show && closeModalOnEscape()"
|
|
x-show="show"
|
|
class="fixed inset-0 z-50 flex items-center justify-center p-4"
|
|
style="display: none;"
|
|
>
|
|
<!-- Backdrop -->
|
|
<div
|
|
x-show="show"
|
|
x-on:click="closeModalOnClickAway()"
|
|
x-transition:enter="transition ease-out duration-200"
|
|
x-transition:enter-start="opacity-0"
|
|
x-transition:enter-end="opacity-100"
|
|
x-transition:leave="transition ease-in duration-150"
|
|
x-transition:leave-start="opacity-100"
|
|
x-transition:leave-end="opacity-0"
|
|
class="absolute inset-0 bg-black/70"
|
|
></div>
|
|
|
|
<!-- Panel -->
|
|
<div
|
|
x-show="show && showActiveComponent"
|
|
x-transition:enter="transition ease-out duration-200"
|
|
x-transition:enter-start="opacity-0 scale-95"
|
|
x-transition:enter-end="opacity-100 scale-100"
|
|
x-transition:leave="transition ease-in duration-150"
|
|
x-transition:leave-start="opacity-100 scale-100"
|
|
x-transition:leave-end="opacity-0 scale-95"
|
|
x-bind:class="modalWidth"
|
|
class="relative w-full bg-s1 border border-white/[.06] rounded-2xl shadow-2xl z-10 overflow-hidden"
|
|
id="modal-container"
|
|
x-trap.noscroll.inert="show && showActiveComponent"
|
|
aria-modal="true"
|
|
>
|
|
@forelse($components as $id => $component)
|
|
<div x-show.immediate="activeComponent == '{{ $id }}'" x-ref="{{ $id }}" wire:key="{{ $id }}">
|
|
@livewire($component['name'], $component['arguments'], key($id))
|
|
</div>
|
|
@empty
|
|
@endforelse
|
|
</div>
|
|
</div>
|
|
</div>
|