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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NlcnZpY2VzL3BvcG92ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsTUFBTSxFQUNOLFVBQVUsRUFDVixRQUFRLEdBSVgsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxxQkFBcUIsRUFBMkIsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RixPQUFPLEVBQXVCLFVBQVUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFckUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGNBQWMsQ0FBQzs7QUFjMUMsTUFDc0IsaUJBQWlCO0lBS25DLFlBQ0ksS0FBd0UsRUFDeEUsU0FBb0IsRUFDRCxVQUFhLEVBQU87UUFBcEIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQU54QixPQUFFLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBUXpDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLElBQUksQ0FDUCxPQUEyRSxFQUMzRSxVQUFzQixFQUFFO1FBRXhCLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMvQixNQUFNLElBQUksR0FBRztnQkFDVCxHQUFHLElBQUksQ0FBQyxPQUFPO2dCQUNmLEdBQUcsT0FBTztnQkFDVixPQUFPO2dCQUNQLFNBQVMsRUFBRSxRQUFRO2dCQUNuQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNyQixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3RCLFlBQVksRUFBRSxDQUFDLE1BQThCLEVBQVEsRUFBRTtvQkFDbkQsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDdEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN4QixDQUFDO2FBQ0osQ0FBQztZQUVGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBRS9DLE9BQU8sR0FBRyxFQUFFO2dCQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDMUUsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXZDaUIsaUJBQWlCO21IQUFqQixpQkFBaUI7O1NBQWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUR0QyxVQUFVOztBQTJDWCxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQXFDO0lBQzlELE9BQU8sVUFBVSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGluamVjdCxcbiAgICBJbmplY3RhYmxlLFxuICAgIElOSkVDVE9SLFxuICAgIHR5cGUgUHJvdmlkZXIsXG4gICAgdHlwZSBQcm92aWRlclRva2VuLFxuICAgIHR5cGUgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R5cGUgVHVpQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aVByb3ZpZGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb21wb25lbnQsIHR5cGUgUG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge3R5cGUgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCB0eXBlIE9ic2VydmVyfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlJZFNlcnZpY2V9IGZyb20gJy4vaWQuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpUG9wb3ZlckNvbnRleHQ8Tz4gZXh0ZW5kcyBUdWlDb250ZXh0PE9ic2VydmVyPE8+PiB7XG4gICAgcmVhZG9ubHkgY29tcG9uZW50OiBQb2x5bW9ycGhldXNDb21wb25lbnQ8YW55PjtcbiAgICByZWFkb25seSBjcmVhdGVkQXQ6IG51bWJlcjtcbiAgICByZWFkb25seSBpZDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGNvbXBsZXRlV2l0aDogKHZhbHVlOiBPKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBUdWlQb3BvdmVyPFQsIE8+ID0gVCAmXG4gICAgVHVpUG9wb3ZlckNvbnRleHQ8Tz4gJiB7XG4gICAgICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VCAmIFR1aVBvcG92ZXJDb250ZXh0PE8+PjtcbiAgICB9O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHVpUG9wb3ZlclNlcnZpY2U8VCwgSyA9IHZvaWQ+IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tcG9uZW50OiBQb2x5bW9ycGhldXNDb21wb25lbnQ8YW55PjtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWQgPSBpbmplY3QoVHVpSWRTZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbXMkOiBCZWhhdmlvclN1YmplY3Q8UmVhZG9ubHlBcnJheTxUdWlQb3BvdmVyPFQsIGFueT4+PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpdGVtczogUHJvdmlkZXJUb2tlbjxCZWhhdmlvclN1YmplY3Q8UmVhZG9ubHlBcnJheTxUdWlQb3BvdmVyPFQsIGFueT4+Pj4sXG4gICAgICAgIGNvbXBvbmVudDogVHlwZTxhbnk+LFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9uczogVCA9IHt9IGFzIFQsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50ID0gbmV3IFBvbHltb3JwaGV1c0NvbXBvbmVudChjb21wb25lbnQsIGluamVjdChJTkpFQ1RPUikpO1xuICAgICAgICB0aGlzLml0ZW1zJCA9IGluamVjdChpdGVtcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW48RyA9IHZvaWQ+KFxuICAgICAgICBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFQgJiBUdWlQb3BvdmVyQ29udGV4dDxLIGV4dGVuZHMgdm9pZCA/IEcgOiBLPj4sXG4gICAgICAgIG9wdGlvbnM6IFBhcnRpYWw8VD4gPSB7fSxcbiAgICApOiBPYnNlcnZhYmxlPEsgZXh0ZW5kcyB2b2lkID8gRyA6IEs+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgICAgICRpbXBsaWNpdDogb2JzZXJ2ZXIsXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLmNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBjcmVhdGVkQXQ6IERhdGUubm93KCksXG4gICAgICAgICAgICAgICAgaWQ6IHRoaXMuaWQuZ2VuZXJhdGUoKSxcbiAgICAgICAgICAgICAgICBjb21wbGV0ZVdpdGg6IChyZXN1bHQ6IEsgZXh0ZW5kcyB2b2lkID8gRyA6IEspOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLml0ZW1zJC5uZXh0KFsuLi50aGlzLml0ZW1zJC52YWx1ZSwgaXRlbV0pO1xuXG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMkLm5leHQodGhpcy5pdGVtcyQudmFsdWUuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT09IGl0ZW0pKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUFzUG9wb3Zlcihwb3BvdmVyOiBUeXBlPFR1aVBvcG92ZXJTZXJ2aWNlPGFueT4+KTogUHJvdmlkZXIge1xuICAgIHJldHVybiB0dWlQcm92aWRlKFR1aVBvcG92ZXJTZXJ2aWNlLCBwb3BvdmVyKTtcbn1cbiJdfQ==