Saltar al contenido principal
Neural Nativev0.1.0-beta.1Documentación

Importación

component.ts
import { NeuConfirmDialogComponent } from '@neural-ui/native/confirm-dialog';

Ejemplos

Importa ExampleComponent en su padre y coloca <app-example /> dentro del neu-theme raíz de tu aplicación. El preview aporta el marco y las zonas seguras; utiliza la estructura raíz de Instalación en tu app.

Básico

Solicita el borrado del proyecto y decide si continuar o conservarlo. El ejemplo registra la decisión; la eliminación real corresponde a tu aplicación.

Ver y copiar el ejemplo completo
basic.component.ts
import { Component, signal } from '@angular/core';
import { NeuButtonComponent } from '@neural-ui/native/button';
import { NeuConfirmDialogComponent } from '@neural-ui/native/confirm-dialog';
import { View, Text } from '@ng-native/components';

@Component({
  selector: 'app-example',
  imports: [NeuButtonComponent, NeuConfirmDialogComponent, View, Text],
  template: `
    <view class="confirmation-example">
      <neu-button label="Eliminar proyecto" size="sm" variant="outline" tone="danger" (pressed)="open.set(true)" />
      <text accessibilityLiveRegion="polite">{{ deleted() ? 'Proyecto del ejemplo eliminado' : 'El proyecto sigue disponible' }}</text>
    </view>
    <neu-confirm-dialog closeLabel="Cerrar confirmación" title="¿Eliminar Lanzamiento móvil?" message="El proyecto se eliminará de tu espacio. Esta acción no se puede deshacer." confirmLabel="Eliminar" cancelLabel="Cancelar" intent="danger" [showCloseButton]="true" [(open)]="open" (confirmed)="deleteProject()" />
  `,
  styles: `
.actions { gap: 12px; align-items: flex-start; } text { color: var(--neu-text, #172033); font-size: 16px; }
.confirmation-example { gap: 12px; }
  `,
})
export class ExampleComponent {
  readonly open = signal(false);
  readonly deleted = signal(false);
  deleteProject(): void {
    this.deleted.set(true);
  }
}
Playground interactivo

Ajusta la configuración y prueba el resultado.

Capturas del dispositivo en inglés.

Confirm Dialog · android · native capture
AndroidCaptura nativa
Confirm Dialog · ios · native capture
iOSCaptura nativa

Referencia API

Inputs

NombreTipoPredeterminadoEnlaceDescripción
titlestringObligatorioInputEncabezado de la superficie, sección o presentación.
messagestringObligatorioInputMensaje que explica un estado, notificación o decisión.
confirmLabelstring'Confirm'InputTexto o nombre accesible utilizado para confirmar. No ejecuta la acción por sí solo.
cancelLabelstring'Cancel'InputTexto o nombre accesible utilizado para cancelar. No ejecuta la acción por sí solo.
intent"danger" | "default"'default'InputUtiliza danger para una confirmación destructiva. Cambia el color de la acción principal, no ejecuta la operación de la aplicación.
busybooleanfalseInputMantiene una confirmación en curso y desactiva sus acciones mientras la aplicación termina la tarea.
showCloseButtonbooleantrueInputMuestra una X arriba a la derecha. Al pulsarla emite cancelled y actualiza open. La X se oculta mientras busy impide el cierre. Activado por defecto.
closeLabelstring'Close'InputNombre accesible de la X de cabecera, independiente de cancelLabel. Close por defecto; personalízalo para el idioma de la app.
closeOnConfirmbooleantrueInputCierra el diálogo y actualiza open antes de emitir confirmed. Activado por defecto. Usa false para una operación asíncrona: enlaza busy mientras se ejecuta y cierra open solo cuando termine correctamente.

Models

NombreTipoPredeterminadoEnlaceDescripción
openbooleanfalseModel · bidireccionalIndica si se solicita mantener abierta la presentación o mensaje. Enlaza una signal escribible mediante [(open)].

Outputs

NombrePayloadCuándo se emite
openChangebooleanEmite el valor actualizado de open. [(open)] enlaza este output junto con su input model.
confirmedvoidSolicita la confirmación. Ejecuta la operación real en el handler de la aplicación.
cancelledvoidComunica la cancelación de la edición o confirmación actual.
openedvoidComunica que la presentación nativa se ha abierto.
dismissedvoidComunica la finalización del cierre nativo.

Estado de los models

Enlaza la signal con [(nombreModel)] sin llamarla. Utiliza nombreModel() para leer su valor.

model-fields.ts
import { signal } from '@angular/core';

// Fields inside your component class
readonly open = signal<boolean>(false);