<c-ui.dialog>
<c-slot name="trigger">
<c-ui.button>Open Simple Dialog</c-ui.button>
</c-slot>
<h3 class="text-lg font-semibold mb-2">Simple Content</h3>
<p class="text-zinc-600 dark:text-zinc-400">
This is a basic dialog with just content in the default slot.
No header or footer sections defined.
</p>
</c-ui.dialog>
{% cotton ui.dialog %}
{% cotton:slot trigger %}
{% cotton ui.button %}Open Simple Dialog{% endcotton %}
{% endcotton:slot %}
<h3 class="text-lg font-semibold mb-2">Simple Content</h3>
<p class="text-zinc-600 dark:text-zinc-400">
This is a basic dialog with just content in the default slot.
No header or footer sections defined.
</p>
{% endcotton %}
Use named slots for header and footer to structure complex dialogs.
<c-ui.dialog>
<c-slot name="trigger">
<c-ui.button variant="primary">Edit Profile</c-ui.button>
</c-slot>
<c-slot name="header">
<c-ui.dialog.title>Edit Profile</c-ui.dialog.title>
<c-ui.dialog.description>Make changes to your profile here. Click save when you're done.</c-ui.dialog.description>
</c-slot>
<div class="space-y-4">
<c-ui.input label="Name" value="Pedro Duarte" />
<c-ui.input label="Username" value="@peduarte" />
</div>
<c-slot name="footer">
<c-ui.button variant="ghost" @click="close()">Cancel</c-ui.button>
<c-ui.button variant="primary" @click="close()">Save changes</c-ui.button>
</c-slot>
</c-ui.dialog>
{% cotton ui.dialog %}
{% cotton:slot trigger %}
{% cotton ui.button variant="primary" %}Edit Profile{% endcotton %}
{% endcotton:slot %}
{% cotton:slot header %}
{% cotton ui.dialog.title %}Edit Profile{% endcotton %}
{% cotton ui.dialog.description %}Make changes to your profile here. Click save when you're done.{% endcotton %}
{% endcotton:slot %}
<div class="space-y-4">
{% cotton ui.input label="Name" value="Pedro Duarte" /%}
{% cotton ui.input label="Username" value="@peduarte" /%}
</div>
{% cotton:slot footer %}
{% cotton ui.button variant="ghost" @click="close()" %}Cancel{% endcotton %}
{% cotton ui.button variant="primary" @click="close()" %}Save changes{% endcotton %}
{% endcotton:slot %}
{% endcotton %}
Control the width of the dialog using the size prop on the dialog component.
<c-ui.dialog size="sm">...</c-ui.dialog>
<c-ui.dialog size="lg">...</c-ui.dialog>
{% cotton ui.dialog size="sm" %}...{% endcotton %}
{% cotton ui.dialog size="lg" %}...{% endcotton %}
| Name | Description | Type | Options | Default |
|---|---|---|---|---|
:open |
Controlled open state. | bool | — | False |
:dismissable |
Whether the dialog can be closed by clicking outside or pressing escape. | bool | — | True |
size |
Max width of the dialog. | str |
smmdlgxl
|
md |
| Name | Description | Type | Options | Default |
|---|---|---|---|---|
trigger |
The element that opens the dialog. | slot | — | |
header |
Header content, typically title and description. | slot | — | |
default |
Main content body. | slot | — | |
footer |
Footer actions. | slot | — |