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.54 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NlcnZpY2VzL3BvcG92ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTdELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFaEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGNBQWMsQ0FBQzs7QUFjMUMsTUFDc0IsaUJBQWlCO0lBTW5DLFlBQ0ksS0FBd0UsRUFDeEUsU0FBb0IsRUFDRCxVQUFhLEVBQU87UUFBcEIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQVAxQixPQUFFLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBU3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLElBQUksQ0FDUCxPQUEyRSxFQUMzRSxVQUFzQixFQUFFO1FBRXhCLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMvQixNQUFNLElBQUksR0FBRztnQkFDVCxHQUFHLElBQUksQ0FBQyxPQUFPO2dCQUNmLEdBQUcsT0FBTztnQkFDVixPQUFPO2dCQUNQLFNBQVMsRUFBRSxRQUFRO2dCQUNuQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNyQixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3RCLFlBQVksRUFBRSxDQUFDLE1BQThCLEVBQVEsRUFBRTtvQkFDbkQsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDdEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN4QixDQUFDO2FBQ0osQ0FBQztZQUVGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBRS9DLE9BQU8sR0FBRyxFQUFFO2dCQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDMUUsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXhDaUIsaUJBQWlCO21IQUFqQixpQkFBaUI7O1NBQWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUR0QyxVQUFVOztBQTRDWCxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQXFDO0lBQzlELE9BQU8sVUFBVSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UHJvdmlkZXIsIFByb3ZpZGVyVG9rZW4sIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtpbmplY3QsIEluamVjdGFibGUsIElOSkVDVE9SfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQgdHlwZSB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZlcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aUlkU2VydmljZX0gZnJvbSAnLi9pZC5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlQb3BvdmVyQ29udGV4dDxPPiBleHRlbmRzIFR1aUNvbnRleHQ8T2JzZXJ2ZXI8Tz4+IHtcbiAgICByZWFkb25seSBjb21wb25lbnQ6IFBvbHltb3JwaGV1c0NvbXBvbmVudDxhbnk+O1xuICAgIHJlYWRvbmx5IGNyZWF0ZWRBdDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY29tcGxldGVXaXRoOiAodmFsdWU6IE8pID0+IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIFR1aVBvcG92ZXI8VCwgTz4gPSBUICZcbiAgICBUdWlQb3BvdmVyQ29udGV4dDxPPiAmIHtcbiAgICAgICAgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUICYgVHVpUG9wb3ZlckNvbnRleHQ8Tz4+O1xuICAgIH07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUdWlQb3BvdmVyU2VydmljZTxULCBLID0gdm9pZD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tcG9uZW50OiBQb2x5bW9ycGhldXNDb21wb25lbnQ8YW55PjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlkID0gaW5qZWN0KFR1aUlkU2VydmljZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbXMkOiBCZWhhdmlvclN1YmplY3Q8UmVhZG9ubHlBcnJheTxUdWlQb3BvdmVyPFQsIGFueT4+PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpdGVtczogUHJvdmlkZXJUb2tlbjxCZWhhdmlvclN1YmplY3Q8UmVhZG9ubHlBcnJheTxUdWlQb3BvdmVyPFQsIGFueT4+Pj4sXG4gICAgICAgIGNvbXBvbmVudDogVHlwZTxhbnk+LFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9uczogVCA9IHt9IGFzIFQsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50ID0gbmV3IFBvbHltb3JwaGV1c0NvbXBvbmVudChjb21wb25lbnQsIGluamVjdChJTkpFQ1RPUikpO1xuICAgICAgICB0aGlzLml0ZW1zJCA9IGluamVjdChpdGVtcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW48RyA9IHZvaWQ+KFxuICAgICAgICBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFQgJiBUdWlQb3BvdmVyQ29udGV4dDxLIGV4dGVuZHMgdm9pZCA/IEcgOiBLPj4sXG4gICAgICAgIG9wdGlvbnM6IFBhcnRpYWw8VD4gPSB7fSxcbiAgICApOiBPYnNlcnZhYmxlPEsgZXh0ZW5kcyB2b2lkID8gRyA6IEs+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgICAgICRpbXBsaWNpdDogb2JzZXJ2ZXIsXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLmNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBjcmVhdGVkQXQ6IERhdGUubm93KCksXG4gICAgICAgICAgICAgICAgaWQ6IHRoaXMuaWQuZ2VuZXJhdGUoKSxcbiAgICAgICAgICAgICAgICBjb21wbGV0ZVdpdGg6IChyZXN1bHQ6IEsgZXh0ZW5kcyB2b2lkID8gRyA6IEspOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLml0ZW1zJC5uZXh0KFsuLi50aGlzLml0ZW1zJC52YWx1ZSwgaXRlbV0pO1xuXG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMkLm5leHQodGhpcy5pdGVtcyQudmFsdWUuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT09IGl0ZW0pKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUFzUG9wb3Zlcihwb3BvdmVyOiBUeXBlPFR1aVBvcG92ZXJTZXJ2aWNlPGFueT4+KTogUHJvdmlkZXIge1xuICAgIHJldHVybiB0dWlQcm92aWRlKFR1aVBvcG92ZXJTZXJ2aWNlLCBwb3BvdmVyKTtcbn1cbiJdfQ==