UNPKG

@ng-doc/ui-kit

Version:

<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>

1 lines 15.6 kB
{"version":3,"file":"ng-doc-ui-kit-services-overlay.mjs","sources":["../tmp-esm2022/services/overlay/overlay.service.js","../tmp-esm2022/services/overlay/ng-doc-ui-kit-services-overlay.js"],"sourcesContent":["import { Overlay, } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { inject, Injectable, Injector, NgZone } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { NgDocOverlayRef } from '@ng-doc/ui-kit/classes';\nimport { NgDocOverlayUtils } from '@ng-doc/ui-kit/utils';\nimport { PolymorpheusComponent } from '@tinkoff/ng-polymorpheus';\nimport { take } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nexport class NgDocOverlayService {\n constructor() {\n this.overlay = inject(Overlay);\n this.ngZone = inject(NgZone);\n this.injector = inject(Injector);\n this.router = inject(Router);\n }\n open(content, config, providers = []) {\n const overlayRef = this.createOverlay(config);\n return this.attachTooltipContainer(content, overlayRef, config, providers);\n }\n attachTooltipContainer(content, overlay, config, providers) {\n const containerPortal = new ComponentPortal(config.overlayContainer, config.viewContainerRef, config.viewContainerRef?.injector);\n const containerRef = overlay.attach(containerPortal);\n const overlayRef = new NgDocOverlayRef(overlay, config, containerRef.instance, this.ngZone, this.router);\n if (content instanceof PolymorpheusComponent) {\n content = new PolymorpheusComponent(content.component, this.createInjector(overlayRef, providers, config.viewContainerRef?.injector));\n }\n containerRef.setInput('config', config);\n containerRef.setInput('content', content);\n containerRef.instance.markForCheck();\n return overlayRef;\n }\n createOverlay(config) {\n const overlayRef = this.overlay.create(config);\n overlayRef\n .detachments()\n .pipe(take(1))\n .subscribe(() => {\n overlayRef.hasAttached() && overlayRef.detach();\n });\n return overlayRef;\n }\n connectedPositionStrategy(origin, positions) {\n return this.overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions(NgDocOverlayUtils.toConnectedPositions(asArray(positions)))\n .withPush(true);\n }\n globalPositionStrategy() {\n return this.overlay.position().global();\n }\n scrollStrategy() {\n return this.overlay.scrollStrategies;\n }\n createInjector(overlayRef, providers, injector) {\n return Injector.create({\n providers: [\n ...providers,\n {\n provide: NgDocOverlayRef,\n useValue: overlayRef,\n },\n ],\n parent: injector || this.injector,\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocOverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocOverlayService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocOverlayService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1raXQvc2VydmljZXMvb3ZlcmxheS9vdmVybGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLE9BQU8sR0FHUixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQWdCLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUd0QyxNQUFNLE9BQU8sbUJBQW1CO0lBTTlCO1FBTFEsWUFBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVqQixDQUFDO0lBRWhCLElBQUksQ0FDRixPQUFxQixFQUNyQixNQUEwQixFQUMxQixZQUE4QixFQUFFO1FBRWhDLE1BQU0sVUFBVSxHQUFlLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUQsT0FB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WyJpbXBvcnQge1xuICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXG4gIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3ksXG4gIE92ZXJsYXksXG4gIE92ZXJsYXlSZWYsXG4gIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWYsIGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE5nWm9uZSwgU3RhdGljUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBhc0FycmF5IH0gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvYXMtYXJyYXknO1xuaW1wb3J0IHsgTmdEb2NPdmVybGF5UmVmIH0gZnJvbSAnQG5nLWRvYy91aS1raXQvY2xhc3Nlcyc7XG5pbXBvcnQgeyBOZ0RvY092ZXJsYXlDb25maWcsIE5nRG9jT3ZlcmxheUNvbnRhaW5lciB9IGZyb20gJ0BuZy1kb2MvdWkta2l0L2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTmdEb2NDb250ZW50LCBOZ0RvY092ZXJsYXlPcmlnaW4sIE5nRG9jT3ZlcmxheVBvc2l0aW9uIH0gZnJvbSAnQG5nLWRvYy91aS1raXQvdHlwZXMnO1xuaW1wb3J0IHsgTmdEb2NPdmVybGF5VXRpbHMgfSBmcm9tICdAbmctZG9jL3VpLWtpdC91dGlscyc7XG5pbXBvcnQgeyBQb2x5bW9ycGhldXNDb21wb25lbnQgfSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBOZ0RvY092ZXJsYXlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBvdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xuICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICBwcml2YXRlIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgb3BlbjxSPihcbiAgICBjb250ZW50OiBOZ0RvY0NvbnRlbnQsXG4gICAgY29uZmlnOiBOZ0RvY092ZXJsYXlDb25maWcsXG4gICAgcHJvdmlkZXJzOiBTdGF0aWNQcm92aWRlcltdID0gW10sXG4gICk6IE5nRG9jT3ZlcmxheVJlZjxSPiB7XG4gICAgY29uc3Qgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheShjb25maWcpO1xuICAgIHJldHVybiB0aGlzLmF0dGFjaFRvb2x0aXBDb250YWluZXIoY29udGVudCwgb3ZlcmxheVJlZiwgY29uZmlnLCBwcm92aWRlcnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2hUb29sdGlwQ29udGFpbmVyPFI+KFxuICAgIGNvbnRlbnQ6IE5nRG9jQ29udGVudCxcbiAgICBvdmVybGF5OiBPdmVybGF5UmVmLFxuICAgIGNvbmZpZzogTmdEb2NPdmVybGF5Q29uZmlnLFxuICAgIHByb3ZpZGVyczogU3RhdGljUHJvdmlkZXJbXSxcbiAgKTogTmdEb2NPdmVybGF5UmVmPFI+IHtcbiAgICBjb25zdCBjb250YWluZXJQb3J0YWw6IENvbXBvbmVudFBvcnRhbDxOZ0RvY092ZXJsYXlDb250YWluZXI+ID0gbmV3IENvbXBvbmVudFBvcnRhbChcbiAgICAgIGNvbmZpZy5vdmVybGF5Q29udGFpbmVyLFxuICAgICAgY29uZmlnLnZpZXdDb250YWluZXJSZWYsXG4gICAgICBjb25maWcudmlld0NvbnRhaW5lclJlZj8uaW5qZWN0b3IsXG4gICAgKTtcbiAgICBjb25zdCBjb250YWluZXJSZWY6IENvbXBvbmVudFJlZjxOZ0RvY092ZXJsYXlDb250YWluZXI+ID0gb3ZlcmxheS5hdHRhY2goY29udGFpbmVyUG9ydGFsKTtcbiAgICBjb25zdCBvdmVybGF5UmVmOiBOZ0RvY092ZXJsYXlSZWY8Uj4gPSBuZXcgTmdEb2NPdmVybGF5UmVmPFI+KFxuICAgICAgb3ZlcmxheSxcbiAgICAgIGNvbmZpZyxcbiAgICAgIGNvbnRhaW5lclJlZi5pbnN0YW5jZSxcbiAgICAgIHRoaXMubmdab25lLFxuICAgICAgdGhpcy5yb3V0ZXIsXG4gICAgKTtcblxuICAgIGlmIChjb250ZW50IGluc3RhbmNlb2YgUG9seW1vcnBoZXVzQ29tcG9uZW50KSB7XG4gICAgICBjb250ZW50ID0gbmV3IFBvbHltb3JwaGV1c0NvbXBvbmVudChcbiAgICAgICAgY29udGVudC5jb21wb25lbnQsXG4gICAgICAgIHRoaXMuY3JlYXRlSW5qZWN0b3Iob3ZlcmxheVJlZiwgcHJvdmlkZXJzLCBjb25maWcudmlld0NvbnRhaW5lclJlZj8uaW5qZWN0b3IpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb250YWluZXJSZWYuc2V0SW5wdXQoJ2NvbmZpZycsIGNvbmZpZyk7XG4gICAgY29udGFpbmVyUmVmLnNldElucHV0KCdjb250ZW50JywgY29udGVudCk7XG4gICAgY29udGFpbmVyUmVmLmluc3RhbmNlLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgcmV0dXJuIG92ZXJsYXlSZWY7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoY29uZmlnOiBOZ0RvY092ZXJsYXlDb25maWcpOiBPdmVybGF5UmVmIHtcbiAgICBjb25zdCBvdmVybGF5UmVmOiBPdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShjb25maWcpO1xuICAgIG92ZXJsYXlSZWZcbiAgICAgIC5kZXRhY2htZW50cygpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIG92ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSAmJiBvdmVybGF5UmVmLmRldGFjaCgpO1xuICAgICAgfSk7XG4gICAgcmV0dXJuIG92ZXJsYXlSZWY7XG4gIH1cblxuICBjb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KFxuICAgIG9yaWdpbjogTmdEb2NPdmVybGF5T3JpZ2luLFxuICAgIHBvc2l0aW9uczogTmdEb2NPdmVybGF5UG9zaXRpb24gfCBOZ0RvY092ZXJsYXlQb3NpdGlvbltdLFxuICApOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhvcmlnaW4pXG4gICAgICAud2l0aFBvc2l0aW9ucyhOZ0RvY092ZXJsYXlVdGlscy50b0Nvbm5lY3RlZFBvc2l0aW9ucyhhc0FycmF5KHBvc2l0aW9ucykpKVxuICAgICAgLndpdGhQdXNoKHRydWUpO1xuICB9XG5cbiAgZ2xvYmFsUG9zaXRpb25TdHJhdGVneSgpOiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCk7XG4gIH1cblxuICBzY3JvbGxTdHJhdGVneSgpOiBTY3JvbGxTdHJhdGVneU9wdGlvbnMge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcztcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSW5qZWN0b3I8Uj4oXG4gICAgb3ZlcmxheVJlZjogTmdEb2NPdmVybGF5UmVmPFI+LFxuICAgIHByb3ZpZGVyczogU3RhdGljUHJvdmlkZXJbXSxcbiAgICBpbmplY3Rvcj86IEluamVjdG9yLFxuICApOiBJbmplY3RvciB7XG4gICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgLi4ucHJvdmlkZXJzLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTmdEb2NPdmVybGF5UmVmLFxuICAgICAgICAgIHVzZVZhbHVlOiBvdmVybGF5UmVmLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBhcmVudDogaW5qZWN0b3IgfHwgdGhpcy5pbmplY3RvcixcbiAgICB9KTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZG9jLXVpLWtpdC1zZXJ2aWNlcy1vdmVybGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1raXQvc2VydmljZXMvb3ZlcmxheS9uZy1kb2MtdWkta2l0LXNlcnZpY2VzLW92ZXJsYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}