Components

Dialog

A native dialog with modal behavior, bindable visibility, and transitions.

Props

Native attributes and event handlers are forwarded to the underlying dialog element unless handled by the component.

Use isVisible instead of the native open attribute. The default is true; initialize a bound state to false for an initially closed dialog.

PropTypeDefaultDescription
children Snippet undefined Content snippet rendered by the component.
class string '' Tailwind classes merged with the theme and variants.
element HTMLDialogElement | null null Bindable reference to the underlying DOM element.
inTransition TransitionProps undefined Overrides the opening transition.
isModal boolean true Uses showModal when true and show when false.
isVisible boolean true Bindable visibility state.
outTransition TransitionProps undefined Overrides the closing transition.
theme Theme global theme Optional local theme override.
transition TransitionProps [noopTransition, {}] A Svelte transition function and its options.
variants string[] [] Local variant names or theme references such as button.base.

Default usage

Import Dialog from sveltewind/components. This example shows its default styling in a usable context.

+page.svelte
Loading...

Examples

Theme variants

Every variant available for Dialog in the built-in themes is shown below.

compact — Apply the compact variant.

+page.svelte
Loading...

elevated — Apply the elevated variant.

+page.svelte
Loading...

flat — Apply the flat variant.

+page.svelte
Loading...

outline — Apply the outline variant.

+page.svelte
Loading...

soft — Apply the soft variant.

+page.svelte
Loading...

spacious — Apply the spacious variant.

+page.svelte
Loading...

Class overrides

Apply rounded-xl border border-primary-500/40 p-4 locally.

+page.svelte
Loading...

Props and behavior

Change isModal while retaining the default component styling.

+page.svelte
Loading...

Content and values

Provide different text, child content, or definitions inside the required parent context.

+page.svelte
Loading...

Add a transition

Bind isVisible to open and close the dialog; Escape also updates the binding.

+page.svelte
Loading...