Angular Portal- und Overlay-Rendering | ng-hub-ui-portal

Angular Portal-Bibliothek zum dynamischen Rendern von Komponenten, Templates und Overlays außerhalb des aktuellen DOM-Baums mit Positionierungssteuerung.

API-Referenz

Hier ist der vollständige Vertrag für portal: alles, was du binden, abhören, projizieren und gestalten kannst, an einem Ort gesammelt. Verdrahte, was du brauchst, und gestalte, was du willst — es ist standalone und Signals-freundlich.

Inputs

Stelle portal mit 15 Inputs ein. Binde sie wie jeden Angular-@Input.

NameTypStandardBeschreibung
animationbooleanWenn true, werden das Öffnen und Schließen des Portals animiert. Standard: true
ariaLabelledBystring`aria-labelledby`-Attributwert, der am Portal-Fenster gesetzt wird
ariaDescribedBystring`aria-describedby`-Attributwert, der am Portal-Fenster gesetzt wird
beforeDismiss() => boolean | Promise<boolean>Callback unmittelbar bevor das Portal verworfen wird. Gib false zurück, um das Verwerfen zu verhindern.
containerstring | HTMLElementEin Selektor, der das Element angibt, an das alle neuen Portal-Fenster angehängt werden sollen. Wenn nicht angegeben, ist es `body`.
injectorInjectorDer `Injector`, der für den Portal-Inhalt verwendet wird, um Dependency Injection zu ermöglichen.
keyboardbooleanWenn true, wird das Portal geschlossen, wenn die Escape-Taste gedrückt wird. Standard: true
scrollablebooleanScrollbarer Portal-Inhalt (standardmäßig false).
windowClassstringEine benutzerdefinierte Klasse, die an das Portal-Fenster für individuelles Styling und Positionierung angehängt wird.
portalDialogClassstringEine benutzerdefinierte Klasse, die an den Portal-Dialog-Container angehängt wird.
portalContentClassstringEine benutzerdefinierte Klasse, die an den Portal-Inhalts-Wrapper angehängt wird.
headerSelectorstringBenutzerdefinierter Selektor für das Header-Element des Portal-Fensters. Nützlich, um bestimmte Portal-Abschnitte anzusprechen.
footerSelectorstringBenutzerdefinierter Selektor für das Footer-Element des Portal-Fensters. Nützlich, um bestimmte Portal-Abschnitte anzusprechen.
dismissSelectorstringBenutzerdefinierter Selektor für Elemente, die das Verwerfen des Portal-Fensters auslösen können. Standard: `[data-dismiss="portal"]`
closeSelectorstringBenutzerdefinierter Selektor für Elemente, die das Schließen des Portal-Fensters auslösen können. Standard: `[data-close="portal"]`

Outputs

Noch keine Outputs dokumentiert.

Templates

Mach es zu deinem — 1 Template-Slots lassen dich eigenes Markup projizieren.

NameBeschreibungBeispiel
Portal TemplateTemplate-Referenz, die an den HubPortal-Service für dynamisches Rendern übergeben werden kann<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>

CSS-Variablen

Gestalte jedes Pixel mit 15 CSS-Variablen. Überschreibe sie auf :root oder begrenze sie auf einen Wrapper.

Portal-Basisvariablen

Kern-Styling-Variablen für die Portal-Struktur und -Positionierung

VariableStandardTypBeschreibung
--portal-zindex1050number Z-Index des Portal-Overlays
--portal-padding1remlength Standard-Padding für den Portal-Inhalt
--portal-margin0.5remlength Margin um den Portal-Dialog

Portal-Erscheinungsbild

Variablen, die Portal-Farben, -Rahmen und visuelle Effekte steuern

VariableStandardTypBeschreibung
--portal-bg#ffffffcolor Hintergrundfarbe des Portal-Inhalts
--portal-color#212529color Textfarbe des Portal-Inhalts
--portal-border-color#dee2e6color Rahmenfarbe des Portals
--portal-border-width1pxborder Rahmenbreite des Portals
--portal-border-radius0.375remborder Eckenradius der Portal-Ecken
--portal-box-shadow0 0.5rem 1rem rgba(0, 0, 0, 0.15)shadow Schlagschatten für die Portal-Erhebung

Portal-Kopf- & Fußzeile

Styling-Variablen für die Header- und Footer-Abschnitte des Portals

VariableStandardTypBeschreibung
--portal-header-padding1remlength Padding des Portal-Headers
--portal-header-border-color#dee2e6color Rahmenfarbe des Portal-Headers
--portal-footer-padding1remlength Padding des Portal-Footers
--portal-footer-border-color#dee2e6color Rahmenfarbe des Portal-Footers

Hintergrund & Overlay

Variablen, die das Erscheinungsbild und Verhalten des Backdrops steuern

VariableStandardTypBeschreibung
--portal-backdrop-bgrgba(0, 0, 0, 0.5)color Hintergrundfarbe für das Portal-Backdrop
--portal-backdrop-zindex1040number Z-Index des Backdrops (muss niedriger als der Z-Index des Portals sein)

Styling und Theming

Es sind noch keine Styling-Beispiele dokumentiert. Dieser Abschnitt wird Anpassungsrezepte und Theming-Beispiele enthalten.