import { ElementRef, EventEmitter, OnInit, Renderer2 } from '@angular/core'; import { DialogButtons } from '../modal.types'; import * as i0 from "@angular/core"; /** Modal slide-out component based on vanilla pattern library design. * The modal title can be set using the @Input heading, and will automatically be translated if * the string matches a cms key. * Content can be injected into the body of the slide-out by either setting the @Input content to any type of * markdown, or using content projection (adding content between the `nggv-slideout-modal`-start and end tag). * If the content needs to stretch outside the normal padded area, add the attribute `slot="outside-content"` to the * projected content main element. * Test hooks: * The modal hook defaults to 'slideout' but is customizeable. * The closing button can be selected using 'slideout-close'. * The backdrop is selectable using 'slideout-backdrop'. */ export declare class NggvSlideOutComponent implements OnInit { private host; private renderer; /** @internal */ slideOutRef: ElementRef | undefined; /** Sets from which side the modal should open. */ side: 'left' | 'right'; /** Defines the default visibility state of the slide-out. */ private _shown; set shown(value: boolean); get shown(): boolean; /** Defines the default visibility state of the modal. */ initiallyShown: boolean; /** Sets modal heading. Will be translated (using transloco) if the string matches a cms key. */ heading: string; /** * Sets modal title. Will be translated (using transloco) if the string matches a cms key. * @deprecated - use @Input() heading instead. */ title: string; /** Sets content body of the modal and can contain html code. The content body can also be set by nesting children to the modal tag. */ content?: string; /** Sets whether it is possible to close the modal from the top right corner. */ closable: boolean; /** Sets whether it is possible to close the modal by clicking outside the modal area (on the backdrop). */ closableOutside: boolean; /** Allows the modal content to decide the width of the modal. */ autoWidth: boolean; /** Special property used for selecting DOM elements during automated UI testing. */ thook: string; /** Aria label for the Close button with "X" icon, in the header */ closeButtonAriaLabel?: string; /** @internal */ get fromLeft(): boolean; _buttons: DialogButtons | undefined; /** Buttons are defined as a key-value pair where key is one of "positive|neutral|negative" and value is the button label. */ set buttons(buttons: DialogButtons); /** Will emit true on closing event. */ nggvCloseEvent: EventEmitter; nggvPositiveEvent: EventEmitter; nggvNeutralEvent: EventEmitter; nggvNegativeEvent: EventEmitter; private previous; private firstFocusable; private lastFocusable; constructor(host: ElementRef, renderer: Renderer2); ngOnInit(): void; onAction(event: Event, action: string): void; /** * Called on a modal element. Opens the modal and sets focus to the last focusable element in the modal. * * @param opener - reference to last focused element before opening modal * @returns - true */ open(opener?: HTMLElement): boolean; /** * Called on a modal element. Closes the modal and emits a `nggvCloseEvent`. Sets focus to the lats focused element if an element was sent in to open function. * * @param event * @param initiator */ close(event?: Event, initiator?: string): void; /** @internal */ focusTrap(event: KeyboardEvent): void; private limitFocusable; private hideOverflow; private resetOverflow; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }