Skip to content

Modals

Modal::make($id)->title('…')->schema([...]) declares a dialog. It renders nothing until it is opened, and it is driven from the server: an action returns an openModal / closeModal effect targeting the modal’s $id.

Modal::make('invite-member')
->title('Invite a member')
->description('They will receive an email invitation.')
->schema([
// form fields, text, buttons…
]);

The dialog’s $id is how effects find it:

Action::make('invite')
->effects(Effect::openModal('invite-member'));
  • ->title('…') and ->description('…') set the dialog header.
  • ->closeLabel('…') relabels the close button (defaults to Close).
  • ->open() renders the modal already open — for a dialog that should show on load, rather than in response to an effect.