Portal y Renderizado Overlay para Angular | ng-hub-ui-portal

Librería portal para Angular que permite renderizar componentes, plantillas y overlays fuera del árbol DOM actual con control de posicionamiento.

Referencia API

Aquí tienes el contrato completo de portal: todo lo que puedes enlazar, escuchar, proyectar y personalizar, reunido en un solo sitio. Enlaza lo que necesites y dale el estilo que quieras — es standalone y reactivo con signals.

Inputs

Ajusta portal a tu gusto con 15 inputs. Se enlazan como cualquier @Input de Angular.

NombreTipoPor defectoDescripción
animationbooleanSi es true, la apertura y el cierre del portal se animarán. Por defecto: true
ariaLabelledBystringValor del atributo `aria-labelledby` a establecer en la ventana del portal
ariaDescribedBystringValor del atributo `aria-describedby` a establecer en la ventana del portal
beforeDismiss() => boolean | Promise<boolean>Callback justo antes de que el portal sea descartado. Devuelve false para evitar el descarte.
containerstring | HTMLElementUn selector que especifica el elemento al que se deben añadir todas las nuevas ventanas del portal. Si no se especifica, será `body`.
injectorInjectorEl `Injector` a usar para el contenido del portal con el fin de habilitar la inyección de dependencias.
keyboardbooleanSi es true, el portal se cerrará al pulsar la tecla Escape. Por defecto: true
scrollablebooleanContenido del portal con desplazamiento (false por defecto).
windowClassstringUna clase personalizada para añadir a la ventana del portal para estilos y posicionamiento personalizados.
portalDialogClassstringUna clase personalizada para añadir al contenedor del diálogo del portal.
portalContentClassstringUna clase personalizada para añadir al contenedor envolvente del contenido del portal.
headerSelectorstringSelector personalizado para el elemento de cabecera de la ventana del portal. Útil para apuntar a secciones específicas del portal.
footerSelectorstringSelector personalizado para el elemento de pie de la ventana del portal. Útil para apuntar a secciones específicas del portal.
dismissSelectorstringSelector personalizado para los elementos que pueden activar el descarte de la ventana del portal. Por defecto: `[data-dismiss="portal"]`
closeSelectorstringSelector personalizado para los elementos que pueden activar el cierre de la ventana del portal. Por defecto: `[data-close="portal"]`

Outputs

Todavía no hay outputs documentados.

Templates

Hazlo tuyo — 1 plantillas para proyectar tu propio marcado.

NombreDescripciónEjemplo
Portal TemplateReferencia de plantilla que se puede pasar al servicio HubPortal para el renderizado dinámico<ng-template #portalTemplate> <div class="portal-content"> <div class="portal-header"> <h4>Portal Title</h4> <button data-dismiss="portal">×</button> </div> <div class="portal-body"> Portal content goes here </div> <div class="portal-footer"> <button data-dismiss="portal">Cancel</button> <button data-close="portal">OK</button> </div> </div> </ng-template> <!-- Open the portal --> <button (click)="portal.open(portalTemplate)">Open Portal</button>