La aplicación gestiona open. Conéctalo y acepta closeRequested aplicando false cuando proceda cerrar. opened y closed informan de transiciones, no sustituyen open. Proyecta el contenido y los espacios de cabecera o pie disponibles. Mantén un activador con nombre para recuperar el foco. Bloquear el cierre automático no debe eliminar una acción explícita para terminar.
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.html
<button neu-button (neuClick)="open.set(true)">
{{ t("Open example", "Abrir ejemplo") }}</button
><neu-bottom-sheet
[open]="open()"
[size]="'md'"
[disableClose]="false"
(closeRequested)="open.set(false); record('closeRequested', $event)"
(opened)="record('opened')"
(closed)="record('closed')"
[closeLabel]="'Cerrar'"
[title]="'Revisar cambios'"
><p>
{{
t(
"Review the content, then close to return to the trigger.",
"Revisa el contenido y cierra para regresar al activador."
)
}}
</p>
<button neu-button variant="outline" (neuClick)="open.set(false)">
{{ t("Done", "Terminar") }}
</button></neu-bottom-sheet
>
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 open = signal(false);
La aplicación gestiona open. Conéctalo y acepta closeRequested aplicando false cuando proceda cerrar. opened y closed informan de transiciones, no sustituyen open. Proyecta el contenido y los espacios de cabecera o pie disponibles. Mantén un activador con nombre para recuperar el foco. Bloquear el cierre automático no debe eliminar una acción explícita para terminar.
Tab permanece en la superficie modal. Escape solicita cerrar cuando está habilitado. El cierre devuelve el foco al activador; Sidebar persistente es navegación de la página, no una tarea modal.
Tecla
Acción
Tab
En modo modal, recorre los controles de la superficie. Una Sidebar persistente sigue el orden normal de la página.
Shift + Tab
Recorre el foco en sentido inverso; en modo modal permanece dentro de la superficie.
Escape
Solicita cerrar cuando está habilitado; al cerrar, el foco vuelve al activador.
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.
Nombre
Tipo
Por defecto
Uso en el template
Descripción
ariaLabel
string
''
[ariaLabel]
Nombre accesible del control o región.
backdrop
boolean
true
[backdrop]
Muestra el fondo de la hoja detrás de la superficie modal.
closeLabel
string
'Close'
[closeLabel]
Etiqueta de cerrar vista previa. Tradúcela para tu aplicación.
disableClose
boolean
false
[disableClose]
Impide cerrar automáticamente con Escape o el fondo; conserva una acción explícita para terminar.
initialFocus
string
'first'
[initialFocus]
Elige la estrategia o selector de foco inicial al abrir la hoja.
open
boolean
false
[open]
Visibilidad gestionada por la aplicación. Aplica false al aceptar una solicitud de cierre.
Solicita cerrar con el motivo y evento original. La aplicación acepta aplicando open=false.
opened
void
(opened)="onOpened($event)"
Informa de la apertura de este componente. El tipo indica los datos emitidos.
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.
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-surface
Superficie principal del campo, cabecera o control
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
#ffffff
--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-overlay-bg
Valor del tema heredado que utiliza este componente
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
rgba(15, 23, 42, 0.45)
--neu-shadow-lg
Elevación de la superficie o capa
Compartido con otros consumidores de Core; limita el cambio a un ámbito.