{"version":3,"file":"taiga-ui-core-portals-popup.mjs","sources":["../../../projects/core/portals/popup/popup.service.ts","../../../projects/core/portals/popup/popups.component.ts","../../../projects/core/portals/popup/popup.directive.ts","../../../projects/core/portals/popup/taiga-ui-core-portals-popup.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {TuiPortalService} from '@taiga-ui/cdk/portals';\n\n@Injectable({providedIn: 'root'})\nexport class TuiPopupService extends TuiPortalService {}\n","import {\n    type AfterViewChecked,\n    ChangeDetectionStrategy,\n    Component,\n    type EmbeddedViewRef,\n    type ViewRef,\n} from '@angular/core';\nimport {TuiVCR} from '@taiga-ui/cdk/directives/vcr';\nimport {TuiPortals, TuiPortalService} from '@taiga-ui/cdk/portals';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nimport {TuiPopupService} from './popup.service';\n\nexport const TUI_CDR = '_tuiCdr' as const;\n\n@Component({\n    selector: 'tui-popups',\n    imports: [TuiVCR],\n    template: '<ng-content/><ng-container tuiVCR />',\n    styleUrl: './popups.style.less',\n    // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n    changeDetection: ChangeDetectionStrategy.Default,\n    providers: [tuiProvide(TuiPortalService, TuiPopupService)],\n})\nexport class TuiPopups extends TuiPortals implements AfterViewChecked {\n    public ngAfterViewChecked(): void {\n        for (let i = 0; i < this.anchor().vcr.length; i++) {\n            const ref = this.anchor().vcr.get(i);\n\n            if (isEmbeddedViewRef(ref)) {\n                ref.context?.[TUI_CDR]?.markForCheck();\n            }\n        }\n    }\n}\n\nfunction isEmbeddedViewRef(ref?: ViewRef | null): ref is EmbeddedViewRef<any> {\n    return !!ref && 'context' in ref;\n}\n","import {\n    ChangeDetectorRef,\n    Directive,\n    type EmbeddedViewRef,\n    inject,\n    input,\n    type OnChanges,\n    type OnDestroy,\n    TemplateRef,\n} from '@angular/core';\n\nimport {TuiPopupService} from './popup.service';\nimport {TUI_CDR} from './popups.component';\n\n@Directive({selector: 'ng-template[tuiPopup]'})\nexport class TuiPopup implements OnChanges, OnDestroy {\n    private readonly cdr = inject(ChangeDetectorRef);\n    private readonly template = inject(TemplateRef);\n    private readonly service = inject(TuiPopupService);\n    private ref?: EmbeddedViewRef<unknown>;\n\n    public readonly show = input(false, {alias: 'tuiPopup'});\n\n    public ngOnChanges(): void {\n        this.ref?.destroy();\n\n        if (this.show()) {\n            this.ref = this.service.add(this.template, {[TUI_CDR]: this.cdr});\n        }\n    }\n\n    public ngOnDestroy(): void {\n        this.ref?.destroy();\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}