NeuCheckbox envuelve una casilla nativa con modelo checked. Es el control booleano mínimo; indeterminate es un input de presentación separado, no un tercer valor del modelo ni una regla de selección de RadioGroup.
Configura la etiqueta, los estados marcado e indeterminado y las opciones de interacción y validación. checked es el valor de la aplicación; indeterminate representa un estado visual mixto.
Configurador
Vista previa
value.json
false
Los datos estructurados, callbacks y templates se muestran en los ejemplos y en la API.
El código añade las opciones avanzadas cuando difieren del valor predeterminado. Los datos y valores de esta configuración aparecen en el estado del template.
Template generado. La pestaña Código incluye los imports y el estado.
Estos valores corresponden a la vista previa actual. Los handlers, imports de Core y templates completos están en Código.
configured-state.ts
import { signal } from '@angular/core';
export const checked = signal(false);
Estos inputs requieren un modelo o función, no un checkbox. Modifica el campo del mismo nombre en el componente de Código y enlázalo al template; los datos que ya usa esta vista previa se muestran en el estado anterior.
Disabled elimina la casilla nativa del foco e impide cambios. Readonly conserva el foco; Core restaura el modelo checked aplicado si se intenta cambiarlo. indeterminate representa el estado mixto mediante propiedades nativas y ARIA, pero checked sigue siendo booleano.
Conecta checked a un FormField booleano. El esquema del formulario define la validación de campo obligatorio y el restablecimiento. Prueba a marcar la opción y restablecer el formulario.
El esquema del formulario, no NeuCheckbox, decide si el consentimiento es válido. Core refleja invalid/errors recibidos mediante aria-invalid en el input nativo, pero este componente no expone errorMessage ni aria-describedby. Sitúa el texto explicativo junto al control y prueba el anuncio del formulario compuesto.
checked es el valor booleano editable. Usa [(checked)] o la pareja [checked] y (checkedChange). touch informa de la pérdida de foco. indeterminate solo cambia la presentación de estado mixto, no el valor de checked.
Core proporciona la semántica nativa de casilla, la activación con Espacio, el estado mixto y el comportamiento deshabilitado/de solo lectura.
Tu aplicación proporciona una etiqueta visible o ariaLabel. Coloca el mensaje de validación cerca del campo; Checkbox no tiene un input errorMessage. Explica qué implica marcar la opción.
checked admite enlace bidireccional. indeterminate es un input de presentación, no un tercer valor. touch informa de la pérdida de foco; usa checkedChange para los cambios del valor booleano.
Inputs
Configura el componente con [propiedad]="valor". Tu aplicación proporciona estos valores; el componente no debe reemplazar el estado que le pasas.
Nombre
Tipo
Por defecto
Uso en el template
Descripción
ariaLabel
string
''
[ariaLabel]
Nombre accesible alternativo de la casilla nativa.
dirty
boolean
false
[dirty]
Estado dirty aplicado, normalmente aportado por FormField.
disabled
boolean
false
[disabled]
Deshabilita la casilla nativa y la retira del foco.
errors
readonly ValidationError.WithOptionalFieldTree[]
[]
[errors]
Errores de validación aplicados, normalmente desde el esquema.
hidden
boolean
false
[hidden]
Oculta el host del componente.
indeterminate
boolean
false
[indeterminate]
Estado visual/ARIA mixto; checked continúa siendo un modelo booleano.
invalid
boolean
false
[invalid]
Marca invalid aplicada reflejada mediante aria-invalid.
label
string
''
[label]
Texto visible que da nombre a la casilla nativa.
name
string
''
[name]
Nombre nativo del control de formulario.
pending
boolean
false
[pending]
Estado pending aplicado anunciado mediante aria-busy.
readonly
boolean
false
[readonly]
Conserva el foco, pero Core restaura checked tras un intento de cambio.
required
boolean
false
[required]
Marca la casilla nativa como obligatoria; el esquema decide la validez.
tabIndex
number
0
[tabIndex]
Orden de tabulación del checkbox nativo. El valor por defecto es 0; usa -1 cuando un widget compuesto accesible gestiona el foco.
touched
boolean
false
[touched]
Estado touched aplicado, normalmente aportado por FormField.
Models
Un modelo admite [(propiedad)]="signal" o la pareja [propiedad] y (propiedadChange). Elige una de las dos formas, no ambas.
Nombre
Tipo
Por defecto
Uso en el template
Descripción
checked
boolean
false
[(checked)]
Modelo booleano bidireccional propiedad de la aplicación o FormField.
Outputs
Escucha un evento con (evento)="handler($event)". La tabla indica qué datos recibe tu función y cómo utilizarlos.
Nombre
Valor emitido
Uso en el template
Descripción
touch
void
(touch)="onTouch($event)"
Aviso de ciclo de vida emitido cuando la casilla pierde foco.
Templates
ng-content proyecta contenido dentro del componente. Los inputs TemplateRef reciben un template; las directivas ng-template identifican templates con un contexto tipado. Una directiva compartida en el entrypoint no es necesariamente un slot de este componente.
Este componente no expone proyección de contenido ni templates públicos de personalización.
Checkbox no tiene tokens públicos --neu-checkbox-* propios. Personaliza sus colores compartidos con la paleta global de Core, como explica la guía Temas.
Tokens específicos
Este componente utiliza tokens compartidos del tema en lugar de tokens específicos.
Tokens compartidos utilizados
Sobrescríbelos en un contenedor local para afectar a este ejemplo. Una modificación en :root afecta a los demás componentes que utilizan el mismo token.
Token
Efecto aquí
Otros efectos
Valor / alternativa
--neu-primary
Color de marca en controles activos y énfasis
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
#007aff
--neu-text
Color del texto principal y de los iconos que lo heredan
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
#0f172a
--neu-font-sans
Tipografía del texto
Compartido con otros consumidores de Core; limita el cambio a un ámbito.