enes

Dialog

Un diálogo es una ventana superpuesta sobre la ventana principal o sobre otra ventana de diálogo.

Dialog Title

Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptates.

Dialog está compuesto por varios componentes que trabajan juntos a través de un contexto compartido:

  • Dialog: El componente raíz que crea el estado y proporciona contexto a sus hijos.
  • DialogTrigger: Un botón que abre el diálogo al hacer clic.
  • DialogSurface: El elemento <dialog> que aloja el contenido del diálogo.
  • DialogTitle: El encabezado del diálogo. Se renderiza como un h3 de forma predeterminada.
  • DialogContent: El cuerpo desplazable del diálogo.
  • DialogActions: El pie que contiene los botones de acción.

Uso

<script>
	import {
		Dialog,
		DialogTrigger,
		DialogSurface,
		DialogTitle,
		DialogContent,
		DialogActions,
		Button
	} from 'fluentui-svelte';

	let dialog = $state();
</script>

<Dialog bind:this={dialog}>
	<DialogTrigger>Open Dialog</DialogTrigger>
	<DialogSurface>
		<DialogTitle>Dialog Title</DialogTitle>
		<DialogContent>
			<p>Lorem ipsum dolor sit amet consectetur adipisicing elit.</p>
		</DialogContent>
		<DialogActions fluid>
			<Button>Save</Button>
			<Button appearance="standard" onclick={() => dialog.closeDialog()}>Close</Button>
		</DialogActions>
	</DialogSurface>
</Dialog>

Posición

Combina top, middle o bottom con start, center o end para posicionar el diálogo en la ventana. La posición predeterminada es middle-center. Start y end siguen la dirección del texto; todas las posiciones mantienen una separación de 1rem respecto a los bordes de la ventana.

top-start

Dialog body content.

top-center

Dialog body content.

top-end

Dialog body content.

middle-start

Dialog body content.

middle-center

Dialog body content.

middle-end

Dialog body content.

bottom-start

Dialog body content.

bottom-center

Dialog body content.

bottom-end

Dialog body content.

Animación de entrada y salida

Elige fade, zoom, slide o un bounce sutil para la entrada y la salida. Duration acepta un nombre del tema como normal, una variable CSS como --fs-fast-duration o milisegundos como número. Usa 0 para desactivar la animación. Se respetan las preferencias de movimiento reducido.

fade

Presiona Escape o haz clic fuera del diálogo para ver su transición de salida.

zoom

Presiona Escape o haz clic fuera del diálogo para ver su transición de salida.

slide

Presiona Escape o haz clic fuera del diálogo para ver su transición de salida.

bounce

Presiona Escape o haz clic fuera del diálogo para ver su transición de salida.

Con acciones

Añade una región DialogActions para mostrar botones de acción en el pie del diálogo. Usa bind:this en el Dialog para llamar a closeDialog() de forma programática.

Dialog Title

Dialog body content.

No modal

Un diálogo no modal mantiene interactiva la página que queda detrás y muestra un botón de cierre en su esquina.

Dialog Title

The page behind this dialog stays interactive.

Alerta

Una alerta es un modal que no se puede descartar con Escape ni haciendo clic fuera de él, así que el usuario debe elegir una de sus acciones.

Discard changes?

Your changes will be lost.

Controlado

Enlaza open para leer y controlar un diálogo no modal desde tu propio estado.

open: false

Controlled Dialog

This dialog follows the bound open state.

Al cambiar el estado

Pasa onOpenChange para saber cuándo se abre o se cierra el diálogo: desde el trigger, un botón que llame a closeDialog(), Escape o un clic fuera.

Dialog Title

Close it with Escape, by clicking outside or with the button.

No changes yet

Propiedades de Dialog

NameTypeDefaultDescription
type'modal' | 'non-modal' | 'alert''modal'Cómo se comporta el dialog una vez abierto.
positionDialogPosition'middle-center'Dónde se sitúa el diálogo en la ventana. Start y end siguen la dirección del texto.
animation'fade' | 'zoom' | 'slide' | 'bounce''zoom'La animación de entrada y salida. Bounce usa un pequeño sobreimpulso.
durationDialogDuration'normal'Duración en milisegundos, un nombre de duración del tema o una variable CSS. Usa 0 para desactivar el movimiento.
open bindableboolean | nullControla el estado de apertura del dialog.
onOpenChange(open: boolean) => voidSe llama cada vez que el dialog se abre o se cierra.
childrenSnippetLas partes del dialog: un trigger y una surface.

Propiedades de DialogTrigger

NameTypeDefaultDescription
ref bindableHTMLButtonElement | nullLa referencia del DOM del elemento trigger.
ButtonProps<'button'>

Propiedades de DialogSurface

NameTypeDefaultDescription
ref bindableHTMLDialogElement | nullLa referencia DOM del elemento del diálogo.
Element Attributes (dialog)

Propiedades de DialogTitle

NameTypeDefaultDescription
ref bindableHTMLDivElement | HTMLHeadingElementLa referencia DOM del elemento del título.
asDialogTitleTag'h3'El elemento HTML con el que se renderiza el título.
HTML Attributes

Propiedades de DialogContent

NameTypeDefaultDescription
ref bindableHTMLDivElement | nullLa referencia DOM del elemento de contenido.
Element Attributes (div)

Propiedades de DialogActions

NameTypeDefaultDescription
ref bindableHTMLDivElement | nullLa referencia DOM del elemento de acciones.
fluidbooleanEstira todas las acciones para que se repartan el ancho disponible por igual.
position'start' | 'center' | 'end''end'Dónde se sitúan las acciones a lo largo del eje principal.
Element Attributes (div)
Editar este documento Ver como Markdown