enes

PillButton

PillButton es un checkbox con forma de píldora para filtros independientes y selecciones múltiples.

No leídos No leídos No leídos

Uso

<script>
	import { PillButton } from 'fluentui-svelte';
	let unread = $state(false);
</script>

<PillButton name="filter" value="unread" bind:checked={unread}>Unread</PillButton>

Apariencia

Elige la apariencia filled, outline o brand. Cada apariencia admite estados seleccionados y sin seleccionar.

filled filled · Seleccionado outline outline · Seleccionado brand brand · Seleccionado

Tamaño

size cambia el alto y la tipografía a la vez: small usa 24px/12px, medium 32px/14px, large 40px/16px y extra-large 48px/18px. Cada par indica el alto del control y la fuente en píxeles.

small small · Seleccionado medium medium · Seleccionado large large · Seleccionado extra-large extra-large · Seleccionado

Forma

Usa shape para elegir las esquinas circular, rounded o square. El valor predeterminado es circular.

circular circular · Seleccionado rounded rounded · Seleccionado square square · Seleccionado

Selección y enlace

Usa bind:checked para sincronizar la selección con tu estado. Un clic o la tecla Espacio alterna el checkbox nativo; los cambios de estado externos también lo actualizan.

No leídos Sin seleccionar

Deshabilitado

Usa disabled en píldoras individuales o en un fieldset que las contenga. Las opciones deshabilitadas no pueden recibir foco, alternarse ni enviar valores, aunque estén seleccionadas.

Deshabilitado Seleccionado Outline Brand
Filtros deshabilitados No leídos

Iconos

Usa icon para mostrar un icono Fluent antes del texto. Los iconos son decorativos; proporciona un nombre accesible mediante aria-label o aria-labelledby si no hay texto visible.

Calendario Seleccionado Calendario Calendario Calendario

Avatar

Usa media para un Avatar decorativo. El snippet recibe el shape actual; pásalo al avatar para mantener sus formas sincronizadas. Un componente recibe shape como prop. El contenido escala con size, conserva un margen uniforme de 4px y tiene prioridad sobre icon.

Alex Alex Alex Alex Alex Alex Alex Alex

Varios filtros

Usa fieldset y legend para etiquetar opciones independientes. Enlaza cada píldora mediante bind:checked. Reutiliza name para enviar varios valores en un campo del formulario.

Filtros de mensajes
No leídos Destacados Adjuntos
{"unread":true,"flagged":false,"attachments":false}

Formularios

Configura name y value para enviar una píldora seleccionada. Admite los atributos nativos form, required, defaultChecked y disabled. Restablecer recupera defaultChecked y actualiza bind:checked. Un estado checked explícito tiene prioridad al inicio. required se aplica a cada píldora por separado.

No leídos Destacados

Formulario externo

Usa form para asociar una píldora con el id de un formulario que no la contiene. El envío, la validación y el restablecimiento siguen usando el checkbox nativo.

No leídos

Campo obligatorio y validación

required se aplica a este checkbox concreto. Acompaña aria-invalid con un mensaje enlazado mediante aria-describedby. El texto inválido, el borde y el mensaje de error usan --fs-system-critical.

Aceptar notificaciones

Uso con Label

Coloca PillButton dentro de Label para dar nombre al checkbox nativo. Configura label y labelPosition en el contenedor. También da nombre a las píldoras que solo muestran un icono. Para píldoras independientes, usa texto visible, aria-label o aria-labelledby.

No leídos

Props de PillButton

NameTypeDefaultDescription
ref bindableHTMLInputElement | nullLa referencia DOM del checkbox nativo.
wrapperRef bindableHTMLElement | nullLa referencia DOM de la superficie de la píldora.
wrapperAttributesHTMLAttributes<HTMLSpanElement>Atributos de la superficie de la píldora. Los atributos del input corresponden al propio componente.
checked bindableboolean | nullIndica si la píldora está seleccionada. Si se omite, defaultChecked determina el estado inicial.
appearance'filled' | 'outline' | 'brand''filled'La apariencia de la píldora.
size'small' | 'medium' | 'large' | 'extra-large''medium'El alto y el tamaño del texto de la píldora: small usa 24px/12px, medium 32px/14px, large 40px/16px y extra-large 48px/18px.
shape'circular' | 'rounded' | 'square''circular'La forma de la píldora: circular, rounded o square.
iconSnippet<[SVGAttributes<SVGElement>]> | Component<SVGAttributes<SVGElement>>Un icono decorativo opcional de Fluent antes del contenido.
mediaSnippet<[PillButtonMediaProps]> | Component<PillButtonMediaProps>Contenido visual decorativo antes del texto, normalmente un Avatar. Recibe el shape actual de la píldora; pásalo al componente visual. Se ajusta al alto del control con un margen uniforme de 4px. Tiene prioridad sobre icon.
childrenSnippetLa etiqueta visible. Proporciona aria-label o aria-labelledby cuando no haya texto visible.
HTMLInputAttributes without type, children, checked, size, on:
Editar este documento Ver como Markdown