UNPKG

@taiga-ui/cdk

Version:

Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance

45 lines 7.49 kB
import { inject, Injectable, INJECTOR, } from '@angular/core'; import { tuiProvide } from '@taiga-ui/cdk/utils'; import { PolymorpheusComponent } from '@taiga-ui/polymorpheus'; import { Observable } from 'rxjs'; import { TuiIdService } from './id.service'; import * as i0 from "@angular/core"; class TuiPopoverService { constructor(items, component, options = {}) { this.options = options; this.id = inject(TuiIdService); this.component = new PolymorpheusComponent(component, inject(INJECTOR)); this.items$ = inject(items); } open(content, options = {}) { return new Observable((observer) => { const item = { ...this.options, ...options, content, $implicit: observer, component: this.component, createdAt: Date.now(), id: this.id.generate(), completeWith: (result) => { observer.next(result); observer.complete(); }, }; this.items$.next([...this.items$.value, item]); return () => { this.items$.next(this.items$.value.filter((value) => value !== item)); }; }); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPopoverService, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPopoverService }); } } export { TuiPopoverService }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPopoverService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: undefined }, { type: undefined }, { type: undefined }]; } }); export function tuiAsPopover(popover) { return tuiProvide(TuiPopoverService, popover); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NlcnZpY2VzL3BvcG92ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsTUFBTSxFQUNOLFVBQVUsRUFDVixRQUFRLEdBSVgsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxxQkFBcUIsRUFBMkIsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RixPQUFPLEVBQXVCLFVBQVUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFckUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGNBQWMsQ0FBQzs7QUFjMUMsTUFDc0IsaUJBQWlCO0lBTW5DLFlBQ0ksS0FBd0UsRUFDeEUsU0FBb0IsRUFDRCxVQUFhLEVBQU87UUFBcEIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQVAxQixPQUFFLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBU3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLElBQUksQ0FDUCxPQUEyRSxFQUMzRSxVQUFzQixFQUFFO1FBRXhCLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMvQixNQUFNLElBQUksR0FBRztnQkFDVCxHQUFHLElBQUksQ0FBQyxPQUFPO2dCQUNmLEdBQUcsT0FBTztnQkFDVixPQUFPO2dCQUNQLFNBQVMsRUFBRSxRQUFRO2dCQUNuQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNyQixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3RCLFlBQVksRUFBRSxDQUFDLE1BQThCLEVBQVEsRUFBRTtvQkFDbkQsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDdEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN4QixDQUFDO2FBQ0osQ0FBQztZQUVGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBRS9DLE9BQU8sR0FBRyxFQUFFO2dCQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDMUUsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXhDaUIsaUJBQWlCO21IQUFqQixpQkFBaUI7O1NBQWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUR0QyxVQUFVOztBQTRDWCxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQXFDO0lBQzlELE9BQU8sVUFBVSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGluamVjdCxcbiAgICBJbmplY3RhYmxlLFxuICAgIElOSkVDVE9SLFxuICAgIHR5cGUgUHJvdmlkZXIsXG4gICAgdHlwZSBQcm92aWRlclRva2VuLFxuICAgIHR5cGUgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R5cGUgVHVpQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aVByb3ZpZGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb21wb25lbnQsIHR5cGUgUG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge3R5cGUgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCB0eXBlIE9ic2VydmVyfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlJZFNlcnZpY2V9IGZyb20gJy4vaWQuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpUG9wb3ZlckNvbnRleHQ8Tz4gZXh0ZW5kcyBUdWlDb250ZXh0PE9ic2VydmVyPE8+PiB7XG4gICAgcmVhZG9ubHkgY29tcG9uZW50OiBQb2x5bW9ycGhldXNDb21wb25lbnQ8YW55PjtcbiAgICByZWFkb25seSBjcmVhdGVkQXQ6IG51bWJlcjtcbiAgICByZWFkb25seSBpZDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGNvbXBsZXRlV2l0aDogKHZhbHVlOiBPKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBUdWlQb3BvdmVyPFQsIE8+ID0gVCAmXG4gICAgVHVpUG9wb3ZlckNvbnRleHQ8Tz4gJiB7XG4gICAgICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VCAmIFR1aVBvcG92ZXJDb250ZXh0PE8+PjtcbiAgICB9O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHVpUG9wb3ZlclNlcnZpY2U8VCwgSyA9IHZvaWQ+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbXBvbmVudDogUG9seW1vcnBoZXVzQ29tcG9uZW50PGFueT47XG4gICAgcHJpdmF0ZSByZWFkb25seSBpZCA9IGluamVjdChUdWlJZFNlcnZpY2UpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGl0ZW1zJDogQmVoYXZpb3JTdWJqZWN0PFJlYWRvbmx5QXJyYXk8VHVpUG9wb3ZlcjxULCBhbnk+Pj47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaXRlbXM6IFByb3ZpZGVyVG9rZW48QmVoYXZpb3JTdWJqZWN0PFJlYWRvbmx5QXJyYXk8VHVpUG9wb3ZlcjxULCBhbnk+Pj4+LFxuICAgICAgICBjb21wb25lbnQ6IFR5cGU8YW55PixcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnM6IFQgPSB7fSBhcyBULFxuICAgICkge1xuICAgICAgICB0aGlzLmNvbXBvbmVudCA9IG5ldyBQb2x5bW9ycGhldXNDb21wb25lbnQoY29tcG9uZW50LCBpbmplY3QoSU5KRUNUT1IpKTtcbiAgICAgICAgdGhpcy5pdGVtcyQgPSBpbmplY3QoaXRlbXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuPEcgPSB2b2lkPihcbiAgICAgICAgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUICYgVHVpUG9wb3ZlckNvbnRleHQ8SyBleHRlbmRzIHZvaWQgPyBHIDogSz4+LFxuICAgICAgICBvcHRpb25zOiBQYXJ0aWFsPFQ+ID0ge30sXG4gICAgKTogT2JzZXJ2YWJsZTxLIGV4dGVuZHMgdm9pZCA/IEcgOiBLPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgY29udGVudCxcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IG9ic2VydmVyLFxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogdGhpcy5jb21wb25lbnQsXG4gICAgICAgICAgICAgICAgY3JlYXRlZEF0OiBEYXRlLm5vdygpLFxuICAgICAgICAgICAgICAgIGlkOiB0aGlzLmlkLmdlbmVyYXRlKCksXG4gICAgICAgICAgICAgICAgY29tcGxldGVXaXRoOiAocmVzdWx0OiBLIGV4dGVuZHMgdm9pZCA/IEcgOiBLKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdGhpcy5pdGVtcyQubmV4dChbLi4udGhpcy5pdGVtcyQudmFsdWUsIGl0ZW1dKTtcblxuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1zJC5uZXh0KHRoaXMuaXRlbXMkLnZhbHVlLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSBpdGVtKSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlBc1BvcG92ZXIocG9wb3ZlcjogVHlwZTxUdWlQb3BvdmVyU2VydmljZTxhbnk+Pik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gdHVpUHJvdmlkZShUdWlQb3BvdmVyU2VydmljZSwgcG9wb3Zlcik7XG59XG4iXX0=