Usa mode="single" para un valor o null; mode="multiple" utiliza un array de solo lectura. deselectable permite desmarcar una opción activa. options admite entradas desactivadas e iconos de aplicación. El Template sustituye el contenido visual mientras Core conserva el estado pulsado y el botón nativo.
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.
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.
Usa mode="single" para un valor o null; mode="multiple" utiliza un array de solo lectura. deselectable permite desmarcar una opción activa. options admite entradas desactivadas e iconos de aplicación. El Template sustituye el contenido visual mientras Core conserva el estado pulsado y el botón nativo.
Inputs, modelos y Outputs se extraen del paquete Core instalado. Los tipos públicos enlazan a sus definiciones. Los Templates incluyen ejemplos ejecutables.
Inputs
Configura el componente con [propiedad]="valor". Tu aplicación proporciona estos valores; el componente no debe reemplazar el estado que le pasas.
Opción activada, su valor y el evento que la ha activado.
touch
void
(touch)="onTouch($event)"
Notifica al formulario que el control ha sido visitado; no es un cambio de valor.
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.
import type { NeuOptionAccessor } from '@neural-ui/core/option-api';
import type { NeuOptionDisabledAccessor } from '@neural-ui/core/option-api';
// Declaración pública (solo referencia)
export type NeuOptionDisabledAccessor<T> = NeuOptionAccessor<T, boolean>;
NeuOptionLabelAccessor.d.ts
import type { NeuOptionAccessor } from '@neural-ui/core/option-api';
import type { NeuOptionLabelAccessor } from '@neural-ui/core/option-api';
// Declaración pública (solo referencia)
export type NeuOptionLabelAccessor<T> = NeuOptionAccessor<T, string>;
NeuOptionPath.d.ts
import type { NeuOptionPath } from '@neural-ui/core/option-api';
// Declaración pública (solo referencia)
export type NeuOptionPath<T> = Extract<keyof T, string> | `${Extract<keyof T, string>}.${string}`;
NeuSelectionMode.d.ts
import type { NeuSelectionMode } from '@neural-ui/core/option-api';
// Declaración pública (solo referencia)
export type NeuSelectionMode = 'single' | 'multiple';
NeuSelectionValue.d.ts
import type { NeuSelectionMode } from '@neural-ui/core/option-api';
import type { NeuSelectionValue } from '@neural-ui/core/option-api';
// Declaración pública (solo referencia)
export type NeuSelectionValue<V, M extends NeuSelectionMode> = M extends 'multiple' ? readonly V[] : V | null;
NeuToggleOption.d.ts
import type { NeuIconKey } from '@neural-ui/core/foundation';
import type { NeuToggleOption } from '@neural-ui/core/toggle-button-group';
// Declaración pública (solo referencia)
export interface NeuToggleOption<T = unknown> {
disabled?: boolean;
icon?: NeuIconKey;
label: string;
value: T;
}
Usa los tokens públicos de la referencia. El diseño del contenedor pertenece a tu aplicación; comprueba el resultado en modo claro y oscuro y en espacios estrechos.
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-border
Bordes normales de controles y celdas
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
rgba(15, 23, 42, 0.08)
--neu-primary
Color de marca en controles activos y énfasis
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
#007aff
--neu-primary-dark
Tono oscuro de marca; texto de Button outline y ghost en el tema claro
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
#005fcc
--neu-primary-fg
Contenido dibujado sobre el fondo primario
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
#ffffff
--neu-primary-solid
Fondo de las acciones de marca sólidas
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
#006ee6
--neu-primary-solid-fg
Contenido de las acciones de marca sólidas
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
#ffffff
--neu-primary-solid-hover
Fondo de las acciones sólidas al pasar el puntero
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
#005fcc
--neu-radius
Radio de las esquinas del control
Compartido con otros consumidores de Core; limita el cambio a un ámbito.