Для создания модальных окон используется компонент moonshine::modal
.
<x-moonshine::modal title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
Параметр wide
позволяет модальным окнам заполнять всю ширину.
<x-moonshine::modal wide title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open wide modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal wide title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open wide modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal wide title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open wide modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal wide title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open wide modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal wide title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open wide modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
Параметр auto
позволяет модальным окнам занимать ширину на основе содержимого.
<x-moonshine::modal auto title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open auto modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal auto title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open auto modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal auto title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open auto modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal auto title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open auto modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal auto title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open auto modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
По умолчанию модальные окна закрываются при клике вне области окна. Вы можете переопределить это поведение с помощью параметра closeOutside
.
<x-moonshine::modal :closeOutside="false" title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal :closeOutside="false" title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal :closeOutside="false" title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal :closeOutside="false" title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal :closeOutside="false" title="Title">
<div>
Content...
</div>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
Компонент moonshine::modal
позволяет загружать контент асинхронно.
<x-moonshine::modal
async
:asyncUrl="route('async')"
title="Title"
>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open async modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal
async
:asyncUrl="route('async')"
title="Title"
>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open async modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal
async
:asyncUrl="route('async')"
title="Title"
>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open async modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal
async
:asyncUrl="route('async')"
title="Title"
>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open async modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>
<x-moonshine::modal
async
:asyncUrl="route('async')"
title="Title"
>
<x-slot name="outerHtml">
<x-moonshine::link-button @click.prevent="toggleModal">
Open async modal
</x-moonshine::link-button>
</x-slot>
</x-moonshine::modal>