{"version":3,"file":"koobiq-components-popover.mjs","sources":["../../../packages/components/popover/popover-animations.ts","../../../packages/components/popover/popover.component.ts","../../../packages/components/popover/popover.component.html","../../../packages/components/popover/popover-confirm.component.ts","../../../packages/components/popover/popover-confirm.component.html","../../../packages/components/popover/popover.module.ts","../../../packages/components/popover/koobiq-components-popover.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n\nexport const kbqPopoverAnimations: {\n    readonly popoverState: AnimationTriggerMetadata;\n} = {\n    /** Animation that transitions a tooltip in and out. */\n    popoverState: trigger('state', [\n        state(\n            'initial',\n            style({\n                opacity: 0,\n                transform: 'scale(1, 0.8)'\n            })\n        ),\n        transition(\n            '* => visible',\n            animate(\n                '120ms cubic-bezier(0, 0, 0.2, 1)',\n                style({\n                    opacity: 1,\n                    transform: 'scale(1, 1)'\n                })\n            )\n        ),\n        transition('* => hidden', animate('100ms linear', style({ opacity: 0 })))\n    ])\n};\n","import { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport {\n    CdkScrollable,\n    FlexibleConnectedPositionStrategy,\n    Overlay,\n    OverlayConfig,\n    OverlayContainer,\n    ScrollStrategy\n} from '@angular/cdk/overlay';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n    AfterContentInit,\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    Component,\n    DestroyRef,\n    Directive,\n    ElementRef,\n    EventEmitter,\n    InjectionToken,\n    Input,\n    OnInit,\n    Output,\n    Renderer2,\n    TemplateRef,\n    Type,\n    ViewChild,\n    ViewEncapsulation,\n    booleanAttribute,\n    inject,\n    input,\n    numberAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport {\n    KbqComponentColors,\n    KbqPopUp,\n    KbqPopUpPlacementValues,\n    KbqPopUpSizeValues,\n    KbqPopUpTrigger,\n    KbqStickToWindowPlacementValues,\n    POSITION_TO_CSS_MAP,\n    PopUpSizes,\n    PopUpTriggers,\n    applyPopupMargins\n} from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { NEVER, fromEvent, merge } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { kbqPopoverAnimations } from './popover-animations';\n\nexport const defaultOffsetYWithArrow = 8;\n\n@Component({\n    selector: 'kbq-popover-component',\n    imports: [\n        NgTemplateOutlet,\n        CdkObserveContent,\n        KbqButtonModule,\n        KbqIconModule,\n        CdkTrapFocus,\n        NgClass\n    ],\n    templateUrl: './popover.component.html',\n    styleUrls: ['./popover.scss', './popover-tokens.scss'],\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    preserveWhitespaces: false,\n    host: {\n        '(keydown.esc)': 'onEscape()'\n    },\n    animations: [kbqPopoverAnimations.popoverState]\n})\nexport class KbqPopoverComponent extends KbqPopUp implements AfterViewInit {\n    prefix = 'kbq-popover';\n\n    header: string | TemplateRef<any>;\n    footer: string | TemplateRef<any>;\n\n    trigger: KbqPopoverTrigger;\n\n    isTrapFocus: boolean = false;\n    hasCloseButton: boolean = false;\n\n    @ViewChild('popoverContent') popoverContent: ElementRef<HTMLDivElement>;\n    @ViewChild('popover') elementRef: ElementRef;\n    @ViewChild(CdkTrapFocus) cdkTrapFocus: CdkTrapFocus;\n\n    private debounceTime = 15;\n    isContentTopOverflow: boolean = false;\n    isContentBottomOverflow: boolean = false;\n\n    ngAfterViewInit() {\n        if (!this.popoverContent) return;\n\n        this.checkContentOverflow(this.popoverContent.nativeElement);\n\n        fromEvent(this.popoverContent.nativeElement, 'scroll')\n            .pipe(debounceTime(this.debounceTime), takeUntilDestroyed(this.destroyRef))\n            .subscribe((event) => {\n                this.checkContentOverflow(event.target as HTMLElement);\n            });\n\n        this.cdkTrapFocus.focusTrap.focusFirstTabbableElement();\n        this.visibleChange.subscribe((state) => {\n            if (this.offset !== null && state) {\n                applyPopupMargins(\n                    this.renderer,\n                    this.elementRef.nativeElement,\n                    this.prefix,\n                    `${this.offset!.toString()}px`\n                );\n\n                this.setStickPosition();\n            }\n        });\n    }\n\n    onContentChange() {\n        this.checkContentOverflow(this.popoverContent.nativeElement);\n    }\n\n    checkContentOverflow(contentElement: HTMLElement) {\n        const { scrollTop, offsetHeight, scrollHeight } = contentElement;\n\n        this.isContentTopOverflow = scrollTop > 0;\n\n        this.isContentBottomOverflow = Math.round(scrollTop + offsetHeight) < scrollHeight;\n\n        super.detectChanges();\n    }\n\n    updateClassMap(placement: string, customClass: string, size: KbqPopUpSizeValues) {\n        super.updateClassMap(placement, customClass, { [`${this.prefix}_${size}`]: !!size });\n    }\n\n    updateTrapFocus(isTrapFocus: boolean): void {\n        this.isTrapFocus = isTrapFocus;\n    }\n\n    onEscape() {\n        this.hide(0);\n\n        this.trigger.focus();\n    }\n\n    protected readonly componentColors = KbqComponentColors;\n}\n\nexport const KBQ_POPOVER_SCROLL_STRATEGY = new InjectionToken<() => ScrollStrategy>('kbq-popover-scroll-strategy');\n\n/** @docs-private */\nexport function kbqPopoverScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n    return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n    provide: KBQ_POPOVER_SCROLL_STRATEGY,\n    deps: [Overlay],\n    useFactory: kbqPopoverScrollStrategyFactory\n};\n\n/** Creates an error to be thrown if the user supplied an invalid popover position. */\nexport function getKbqPopoverInvalidPositionError(position: string) {\n    return Error(`KbqPopover position \"${position}\" is invalid.`);\n}\n\n@Directive({\n    selector: '[kbqPopover]',\n    exportAs: 'kbqPopover',\n    host: {\n        '[class.kbq-popover_open]': 'isOpen',\n        '[class.kbq-active]': 'hasClickTrigger && isOpen',\n        '(keydown)': 'keydownHandler($event)',\n        '(touchend)': 'touchendHandler()'\n    }\n})\nexport class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverComponent> implements AfterContentInit, OnInit {\n    private overlayContainer = inject(OverlayContainer);\n    private renderer = inject(Renderer2);\n\n    protected scrollStrategy: () => ScrollStrategy = inject(KBQ_POPOVER_SCROLL_STRATEGY);\n\n    /** Controls whether the component should be hidden when it is not visible in the viewport. */\n    readonly hideIfNotInViewPort = input(true, { transform: booleanAttribute });\n\n    /** prevents closure by any event */\n    @Input({ alias: 'kbqPopoverPreventClose', transform: booleanAttribute }) override preventClose: boolean = false;\n\n    /** disables default padding for all popover elements (header, content and footer) */\n    @Input({ transform: booleanAttribute }) defaultPaddings = true;\n\n    @Input('kbqPopoverVisible')\n    get popoverVisible(): boolean {\n        return this.visible;\n    }\n\n    set popoverVisible(value: boolean) {\n        super.updateVisible(value);\n    }\n\n    @Input('kbqPopoverPlacement')\n    get popoverPlacement(): KbqPopUpPlacementValues {\n        return this.placement;\n    }\n\n    set popoverPlacement(value: KbqPopUpPlacementValues) {\n        super.updatePlacement(value);\n    }\n\n    @Input('kbqPopoverPlacementPriority')\n    get popoverPlacementPriority() {\n        return this.placementPriority;\n    }\n\n    set popoverPlacementPriority(value) {\n        super.updatePlacementPriority(value);\n    }\n\n    /**\n     * Additionally positions the element relative to the window side (Top, Right, Bottom and Left).\n     * If container is specified, the positioning will be relative to it.\n     * */\n    @Input('kbqPopoverStickToWindow') stickToWindow: KbqStickToWindowPlacementValues;\n\n    /** Container for additional positioning, used with kbqPopoverStickToWindow */\n    @Input() container: HTMLElement;\n\n    @Input()\n    get hasBackdrop(): boolean {\n        return this._hasBackdrop;\n    }\n\n    set hasBackdrop(value: boolean) {\n        this._hasBackdrop = coerceBooleanProperty(value);\n    }\n\n    private _hasBackdrop: boolean = false;\n\n    @Input('kbqPopoverHeader')\n    get header(): string | TemplateRef<any> {\n        return this._header;\n    }\n\n    set header(value: string | TemplateRef<any>) {\n        this._header = value;\n\n        this.updateData();\n    }\n\n    private _header: string | TemplateRef<any>;\n\n    @Input('kbqPopoverContent')\n    get content(): string | TemplateRef<any> {\n        return this._content;\n    }\n\n    set content(value: string | TemplateRef<any>) {\n        this._content = value;\n\n        this.updateData();\n    }\n\n    @Input('kbqPopoverFooter')\n    get footer(): string | TemplateRef<any> {\n        return this._footer;\n    }\n\n    set footer(value: string | TemplateRef<any>) {\n        this._footer = value;\n\n        this.updateData();\n    }\n\n    private _footer: string | TemplateRef<any>;\n\n    @Input('kbqPopoverDisabled')\n    get disabled(): boolean {\n        return this._disabled;\n    }\n\n    set disabled(value) {\n        this._disabled = coerceBooleanProperty(value);\n\n        if (this._disabled) {\n            this.hide();\n        }\n    }\n\n    @Input('kbqTrigger')\n    get trigger(): string {\n        return this._trigger;\n    }\n\n    set trigger(value: string) {\n        if (value) {\n            this._trigger = value;\n\n            if (this.trigger.includes(PopUpTriggers.Hover)) {\n                this.hideWithTimeout = true;\n                this.leaveDelay = this.leaveDelay ?? 500;\n            }\n        } else {\n            this._trigger = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;\n        }\n\n        this.initListeners();\n    }\n\n    private _trigger: string = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;\n\n    @Input('kbqPopoverSize')\n    get size(): KbqPopUpSizeValues {\n        return this._size;\n    }\n\n    set size(value: KbqPopUpSizeValues) {\n        if ([PopUpSizes.Small, PopUpSizes.Medium, PopUpSizes.Large, PopUpSizes.Custom].includes(value as PopUpSizes)) {\n            this._size = value;\n\n            this.updateClassMap();\n        } else {\n            this._size = PopUpSizes.Medium;\n        }\n    }\n\n    private _size: KbqPopUpSizeValues = PopUpSizes.Medium;\n\n    @Input('kbqPopoverClass')\n    get customClass() {\n        return this._customClass;\n    }\n\n    set customClass(value: string) {\n        this._customClass = value;\n\n        this.updateClassMap();\n    }\n\n    /** Context for popover templates (kbqPopoverHeader, kbqPopoverContent and kbqPopoverFooter). */\n    @Input('kbqPopoverContext')\n    get context() {\n        return this._context;\n    }\n\n    set context(ctx) {\n        this._context = ctx;\n        this.updateData();\n    }\n\n    private _context: unknown = null;\n\n    @Input()\n    get hasCloseButton() {\n        return this._hasCloseButton;\n    }\n    set hasCloseButton(value) {\n        this._hasCloseButton = value;\n        this.updateData();\n    }\n    private _hasCloseButton = false;\n\n    /**\n     * Controls the behavior of closing the component on scroll.\n     * The default value is `false`.\n     * Use CloseScrollStrategy as alternative\n     */\n    @Input()\n    get closeOnScroll(): boolean | null {\n        return this._closeOnScroll;\n    }\n\n    set closeOnScroll(value: boolean) {\n        this._closeOnScroll = coerceBooleanProperty(value);\n    }\n\n    private _closeOnScroll: boolean | null = null;\n\n    get hasClickTrigger(): boolean {\n        return this.trigger.includes(PopUpTriggers.Click);\n    }\n\n    /** @docs-private */\n    get instanceDestroyRef(): DestroyRef {\n        return this.instance.destroyRef;\n    }\n\n    @Input() backdropClass: string = 'cdk-overlay-transparent-backdrop';\n\n    // @TODO add realization for arrow (#DS-2514)\n    @Input({ alias: 'kbqPopoverArrow', transform: booleanAttribute }) arrow: boolean = true;\n\n    @Input({ alias: 'kbqPopoverOffset', transform: numberAttribute }) offset: number | null = defaultOffsetYWithArrow;\n\n    /** Delay before closing in milliseconds. The default value for kbqTrigger=PopUpTriggers.Hover is 500 ms. */\n    @Input({ alias: 'kbqLeaveDelay', transform: numberAttribute }) leaveDelay: number;\n\n    @Output('kbqPopoverPlacementChange') readonly placementChange = new EventEmitter();\n\n    @Output('kbqPopoverVisibleChange') readonly visibleChange = new EventEmitter<boolean>();\n\n    protected originSelector = '.kbq-popover';\n\n    protected get overlayConfig(): OverlayConfig {\n        return {\n            panelClass: 'kbq-popover__panel',\n            hasBackdrop: this.hasBackdrop,\n            backdropClass: this.backdropClass\n        };\n    }\n\n    private classAddedToOverlayContainer: boolean = false;\n\n    ngOnInit(): void {\n        super.ngOnInit();\n\n        this.scrollable\n            ?.elementScrolled()\n            .pipe(takeUntilDestroyed(this.destroyRef))\n            .subscribe(this.hideIfScrolledOutOfView);\n    }\n\n    ngAfterContentInit(): void {\n        if (this.closeOnScroll === null) {\n            this.scrollDispatcher.scrolled().subscribe((scrollable: CdkScrollable | void) => {\n                if (!scrollable?.getElementRef().nativeElement.classList.contains('kbq-hide-nested-popup')) return;\n\n                const parentRects = scrollable.getElementRef().nativeElement.getBoundingClientRect();\n                const childRects = this.elementRef.nativeElement.getBoundingClientRect();\n\n                if (childRects.bottom < parentRects.top || childRects.top > parentRects.bottom) {\n                    this.hide();\n                }\n            });\n        }\n    }\n\n    /**\n     * Overrides the base `show` method to display the overlay component with the\n     * specified entry delay and apply default positioning offsets.\n     */\n    override show(delay: number = this.enterDelay) {\n        super.show(delay);\n\n        this.addClassToOverlayContainer();\n    }\n\n    override hide(delay: number = this.leaveDelay) {\n        super.hide(delay);\n\n        this.removeClassFromOverlayContainer();\n    }\n\n    updateData() {\n        if (!this.instance) return;\n\n        this.instance.header = this.header;\n        this.instance.content = this.content;\n        this.instance.context = this.context && { $implicit: this.context };\n        this.instance.arrow = this.arrow;\n        this.instance.offset = this.offset;\n        this.instance.footer = this.footer;\n        this.instance.hasCloseButton = this.hasCloseButton;\n        this.instance.defaultPaddings = this.defaultPaddings;\n\n        this.instance.updateTrapFocus(this.trigger !== PopUpTriggers.Focus);\n\n        if (this.isOpen) {\n            this.updatePosition(true);\n        }\n    }\n\n    /** Updates the position of the current popover. */\n    updatePosition(reapplyPosition: boolean = false) {\n        this.overlayRef = this.createOverlay();\n\n        const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n            .withPositions(this.getAdjustedPositions())\n            .withPush(true);\n\n        if (reapplyPosition) {\n            setTimeout(() => position.reapplyLastPosition());\n        }\n    }\n\n    getOverlayHandleComponentType(): Type<KbqPopoverComponent> {\n        return KbqPopoverComponent;\n    }\n\n    updateClassMap(newPlacement: string = this.placement) {\n        if (!this.instance) {\n            return;\n        }\n\n        this.instance.updateClassMap(POSITION_TO_CSS_MAP[newPlacement], this.customClass, this.size);\n        this.instance.markForCheck();\n    }\n\n    closingActionsForClick() {\n        if (this.hasClickTrigger) {\n            return this.defaultClosingActions();\n        }\n\n        return [];\n    }\n\n    defaultClosingActions() {\n        return [\n            this.overlayRef!.backdropClick(),\n            this.hasBackdrop ? NEVER : this.overlayRef!.outsidePointerEvents()\n        ];\n    }\n\n    closingActions() {\n        return merge(...this.closingActionsForClick(), this.closeOnScroll ? this.scrollDispatcher.scrolled() : NEVER);\n    }\n\n    private hideIfScrolledOutOfView = () => {\n        if (!this.scrollable || !this.hideIfNotInViewPort()) return;\n\n        const rect = this.elementRef.nativeElement.getBoundingClientRect();\n        const containerRect = this.scrollable.getElementRef().nativeElement.getBoundingClientRect();\n\n        if (\n            !(\n                rect.bottom >= containerRect.top &&\n                rect.right >= containerRect.left &&\n                rect.top <= containerRect.bottom &&\n                rect.left <= containerRect.right\n            )\n        ) {\n            this.hide();\n        }\n    };\n\n    private addClassToOverlayContainer() {\n        const overlayContainer = this.overlayContainer?.getContainerElement();\n\n        if (overlayContainer.childNodes.length === 1) {\n            this.classAddedToOverlayContainer = true;\n\n            this.renderer.addClass(overlayContainer, 'cdk-overlay-container_dropdown');\n        }\n    }\n\n    private removeClassFromOverlayContainer() {\n        if (this.classAddedToOverlayContainer) {\n            this.renderer.removeClass(this.overlayContainer.getContainerElement(), 'cdk-overlay-container_dropdown');\n        }\n    }\n}\n","<div\n    #popover\n    class=\"kbq-popover\"\n    [class.kbq-popover_arrowless]=\"!arrow\"\n    [cdkTrapFocus]=\"isTrapFocus\"\n    [ngClass]=\"classMap\"\n    [@state]=\"visibility\"\n    (@state.done)=\"animationDone($event)\"\n    (@state.start)=\"animationStart()\"\n>\n    <div\n        class=\"kbq-popover__container\"\n        [class.kbq-popover__container_with-footer]=\"footer\"\n        [class.kbq-popover__container_with-header]=\"header\"\n    >\n        @if (header) {\n            <div\n                class=\"kbq-popover__header\"\n                [class.kbq-popover__header_default-paddings]=\"defaultPaddings\"\n                [class.kbq-popover__header_top-overflow]=\"isContentTopOverflow\"\n                [class.kbq-popover__header_with-close-button]=\"hasCloseButton\"\n            >\n                @if (isTemplateRef(header)) {\n                    <ng-container [ngTemplateOutlet]=\"$any(header)\" [ngTemplateOutletContext]=\"context\" />\n                }\n                @if (!isTemplateRef(header)) {\n                    <div class=\"kbq-popover__header-text\">{{ header }}</div>\n                }\n            </div>\n        }\n\n        @if (content) {\n            <div\n                #popoverContent\n                class=\"kbq-popover__content kbq-scrollbar\"\n                [class.kbq-popover__content_default-paddings]=\"defaultPaddings\"\n                (cdkObserveContent)=\"onContentChange()\"\n            >\n                @if (hasCloseButton && !header) {\n                    <div class=\"kbq-popover__close-container\">\n                        <ng-container [ngTemplateOutlet]=\"closeButton\" />\n                    </div>\n                }\n                @if (isTemplateRef(content)) {\n                    <ng-container [ngTemplateOutlet]=\"$any(content)\" [ngTemplateOutletContext]=\"context\" />\n                }\n                @if (!isTemplateRef(content)) {\n                    <div>{{ content }}</div>\n                }\n            </div>\n        }\n\n        @if (footer) {\n            <div\n                class=\"kbq-popover__footer\"\n                [class.kbq-popover__footer_default-paddings]=\"defaultPaddings\"\n                [class.kbq-popover__footer_bottom-overflow]=\"isContentBottomOverflow\"\n            >\n                @if (isTemplateRef(footer)) {\n                    <ng-container [ngTemplateOutlet]=\"$any(footer)\" [ngTemplateOutletContext]=\"context\" />\n                }\n                @if (!isTemplateRef(footer)) {\n                    <div>{{ footer }}</div>\n                }\n            </div>\n        }\n    </div>\n\n    @if (hasCloseButton && header) {\n        <div class=\"kbq-popover__close-container\">\n            <ng-container [ngTemplateOutlet]=\"closeButton\" />\n        </div>\n    }\n\n    <ng-template #closeButton>\n        <div class=\"kbq-popover__close\" [class.kbq-popover__close_background-overlay-inverse]=\"!header\">\n            <button kbq-button class=\"kbq-button_transparent\" [color]=\"componentColors.Contrast\" (click)=\"hide(0)\">\n                <i kbq-icon=\"kbq-xmark_16\" [color]=\"componentColors.Contrast\"></i>\n            </button>\n        </div>\n    </ng-template>\n\n    @if (arrow) {\n        <div class=\"kbq-popover__arrow\"></div>\n    }\n</div>\n","import { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { NgClass } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    Directive,\n    EventEmitter,\n    Inject,\n    InjectionToken,\n    Input,\n    Optional,\n    Output,\n    ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { Subject } from 'rxjs';\nimport { kbqPopoverAnimations } from './popover-animations';\nimport { KbqPopoverComponent, KbqPopoverTrigger } from './popover.component';\n\nexport const KBQ_POPOVER_CONFIRM_TEXT = new InjectionToken<string>('');\nexport const KBQ_POPOVER_CONFIRM_BUTTON_TEXT = new InjectionToken<string>('');\n\n@Component({\n    selector: 'kbq-popover-confirm-component',\n    imports: [\n        NgClass,\n        CdkTrapFocus,\n        KbqButtonModule\n    ],\n    templateUrl: './popover-confirm.component.html',\n    styleUrls: ['./popover.scss', './popover-tokens.scss'],\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    preserveWhitespaces: false,\n    animations: [kbqPopoverAnimations.popoverState]\n})\nexport class KbqPopoverConfirmComponent extends KbqPopoverComponent {\n    onConfirm = new Subject<void>();\n    confirmButtonText: string;\n\n    confirmText: string;\n}\n\n@Directive({\n    selector: '[kbqPopoverConfirm]',\n    exportAs: 'kbqPopoverConfirm',\n    host: {\n        '[class.kbq-popover_open]': 'isOpen',\n        '(keydown)': 'keydownHandler($event)',\n        '(touchend)': 'touchendHandler()'\n    }\n})\nexport class KbqPopoverConfirmTrigger extends KbqPopoverTrigger {\n    @Output() readonly confirm: EventEmitter<void> = new EventEmitter<void>();\n\n    @Input('kbqPopoverConfirmText')\n    get confirmText(): string {\n        return this._confirmText;\n    }\n\n    set confirmText(value: string) {\n        this._confirmText = value;\n\n        this.updateData();\n    }\n\n    private _confirmText: string;\n\n    @Input('kbqPopoverConfirmButtonText')\n    get confirmButtonText(): string {\n        return this._confirmButtonText;\n    }\n\n    set confirmButtonText(value: string) {\n        this._confirmButtonText = value;\n\n        this.updateData();\n    }\n\n    private _confirmButtonText: string = 'Да';\n\n    constructor(\n        @Optional() @Inject(KBQ_POPOVER_CONFIRM_TEXT) confirmText: string,\n        @Optional() @Inject(KBQ_POPOVER_CONFIRM_BUTTON_TEXT) confirmButtonText: string\n    ) {\n        super();\n\n        this.confirmText = confirmText || 'Вы уверены, что хотите продолжить?';\n        this.confirmButtonText = confirmButtonText || 'Да';\n    }\n\n    updateData() {\n        if (!this.instance) {\n            return;\n        }\n\n        super.updateData();\n        this.setupButtonEvents();\n        this.instance.confirmButtonText = this.confirmButtonText;\n        this.instance.confirmText = this.confirmText;\n    }\n\n    setupButtonEvents() {\n        this.instance.onConfirm.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n            this.confirm.emit();\n            this.hide();\n        });\n    }\n\n    getOverlayHandleComponentType() {\n        return KbqPopoverConfirmComponent;\n    }\n}\n","<div\n    cdkTrapFocus=\"true\"\n    cdkTrapFocusAutoCapture=\"true\"\n    class=\"kbq-popover-confirm kbq-popover\"\n    [ngClass]=\"classMap\"\n    [@state]=\"visibility\"\n    (@state.done)=\"animationDone($event)\"\n    (@state.start)=\"animationStart()\"\n>\n    <div class=\"kbq-popover__container\">\n        <div class=\"kbq-popover__content\">\n            <div>{{ confirmText }}</div>\n            <button kbq-button [color]=\"'contrast'\" (click)=\"onConfirm.next()\">\n                {{ confirmButtonText }}\n            </button>\n        </div>\n    </div>\n\n    <div class=\"kbq-popover__arrow\"></div>\n</div>\n","import {\n    A11yModule,\n    ConfigurableFocusTrapFactory,\n    FOCUS_TRAP_INERT_STRATEGY,\n    FocusTrapFactory\n} from '@angular/cdk/a11y';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { EmptyFocusTrapStrategy } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqPopoverConfirmComponent, KbqPopoverConfirmTrigger } from './popover-confirm.component';\nimport {\n    KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n    KbqPopoverComponent,\n    KbqPopoverTrigger\n} from './popover.component';\n\n@NgModule({\n    imports: [\n        OverlayModule,\n        KbqButtonModule,\n        A11yModule,\n        KbqIconModule,\n        CdkObserveContent,\n        NgClass,\n        NgTemplateOutlet,\n        KbqPopoverComponent,\n        KbqPopoverTrigger,\n        KbqPopoverConfirmComponent,\n        KbqPopoverConfirmTrigger\n    ],\n    exports: [\n        KbqPopoverComponent,\n        KbqPopoverTrigger,\n        KbqPopoverConfirmComponent,\n        KbqPopoverConfirmTrigger\n    ],\n    providers: [\n        KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n        { provide: FocusTrapFactory, useClass: ConfigurableFocusTrapFactory },\n        { provide: FOCUS_TRAP_INERT_STRATEGY, useClass: EmptyFocusTrapStrategy }\n    ]\n})\nexport class KbqPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}