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 10.3 kB
{"version":3,"file":"ng-doc-ui-kit-services-overlay-strategy.mjs","sources":["../tmp-esm2022/services/overlay-strategy/overlay-strategy.js","../tmp-esm2022/services/overlay-strategy/ng-doc-ui-kit-services-overlay-strategy.js"],"sourcesContent":["import { DOCUMENT, inject, Injectable, NgZone } from '@angular/core';\nimport { toElement } from '@ng-doc/ui-kit/helpers';\nimport { ngDocZoneDetach } from '@ng-doc/ui-kit/observables';\nimport { fromEvent, Subject } from 'rxjs';\nimport { filter, map, takeUntil, throttleTime } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nexport class NgDocOverlayStrategy {\n constructor() {\n this.documentRef = inject(DOCUMENT);\n this.ngZone = inject(NgZone);\n this.overlayRef = null;\n this.destroy$ = new Subject();\n }\n attach(overlayRef) {\n this.overlayRef = overlayRef;\n }\n enable() {\n fromEvent(this.documentRef, 'scroll', { capture: true })\n .pipe(ngDocZoneDetach(this.ngZone), throttleTime(10), map((scrollEvent) => scrollEvent.target instanceof Document\n ? scrollEvent.target.scrollingElement\n : scrollEvent.target), filter((target) => target instanceof Node ? target.contains(this.origin) || !this.origin : false), takeUntil(this.destroy$))\n .subscribe(() => this.detach());\n }\n get origin() {\n const config = this.overlayRef?.getConfig();\n return config?.viewContainerRef\n ? toElement(config.viewContainerRef.element)\n : null;\n }\n disable() {\n this.destroy$.next();\n }\n detach() {\n this.disable();\n if (this.overlayRef?.hasAttached()) {\n this.ngZone.run(() => {\n this.overlayRef?.detach();\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocOverlayStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocOverlayStrategy, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocOverlayStrategy, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkta2l0L3NlcnZpY2VzL292ZXJsYXktc3RyYXRlZ3kvb3ZlcmxheS1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUd0RSxNQUFNLE9BQU8sb0JBQW9CO0lBVS9CO1FBVFEsZ0JBQVcsR0FBRyxNQUFNLENBQVcsUUFBUSxDQUFDLENBQUM7UUFDekMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV4QixlQUFVLEdBQXNCLElBQUksQ0FBQztRQUNyQyxhQUFRLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7SUFLdkMsQ0FBQztJQUVoQixNQUFNLENBQUMsVUFBc0I7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELE1BQU07UUFDSixTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDckQsSUFBSSxDQUNILGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQzVCLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFDaEIsR0FBRyxDQUFDLENBQUMsV0FBa0IsRUFBRSxFQUFFLENBQ3pCLFdBQVcsQ0FBQyxNQUFNLFlBQVksUUFBUTtZQUNwQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDckMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQ3ZCLEVBQ0QsTUFBTSxDQUFDLENBQUMsTUFBMEIsRUFBRSxFQUFFLENBQ3BDLE1BQU0sWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUM5RSxFQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3pCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFZLE1BQU07UUFDaEIsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQXdCLENBQUM7UUFDckQsT0FBTyxNQUFNLEVBQUUsZ0JBQWdCO1lBQzdCLENBQUMsQ0FBRSxTQUFTLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBaUI7WUFDN0QsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNYLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNmLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOzhHQXJEVSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQURQLE1BQU07OzJGQUNuQixvQkFBb0I7a0JBRGhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheVJlZiwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBET0NVTUVOVCwgaW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvRWxlbWVudCB9IGZyb20gJ0BuZy1kb2MvdWkta2l0L2hlbHBlcnMnO1xuaW1wb3J0IHsgTmdEb2NPdmVybGF5Q29uZmlnIH0gZnJvbSAnQG5nLWRvYy91aS1raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBuZ0RvY1pvbmVEZXRhY2ggfSBmcm9tICdAbmctZG9jL3VpLWtpdC9vYnNlcnZhYmxlcyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YWtlVW50aWwsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBOZ0RvY092ZXJsYXlTdHJhdGVneSBpbXBsZW1lbnRzIFNjcm9sbFN0cmF0ZWd5IHtcbiAgcHJpdmF0ZSBkb2N1bWVudFJlZiA9IGluamVjdDxEb2N1bWVudD4oRE9DVU1FTlQpO1xuICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKiogSW5zZXJ0ZWQgYnkgQW5ndWxhciBpbmplY3QoKSBtaWdyYXRpb24gZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5ICovXG4gIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IHVua25vd25bXSk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIGF0dGFjaChvdmVybGF5UmVmOiBPdmVybGF5UmVmKTogdm9pZCB7XG4gICAgdGhpcy5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcbiAgfVxuXG4gIGVuYWJsZSgpOiB2b2lkIHtcbiAgICBmcm9tRXZlbnQodGhpcy5kb2N1bWVudFJlZiwgJ3Njcm9sbCcsIHsgY2FwdHVyZTogdHJ1ZSB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG5nRG9jWm9uZURldGFjaCh0aGlzLm5nWm9uZSksXG4gICAgICAgIHRocm90dGxlVGltZSgxMCksXG4gICAgICAgIG1hcCgoc2Nyb2xsRXZlbnQ6IEV2ZW50KSA9PlxuICAgICAgICAgIHNjcm9sbEV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIERvY3VtZW50XG4gICAgICAgICAgICA/IHNjcm9sbEV2ZW50LnRhcmdldC5zY3JvbGxpbmdFbGVtZW50XG4gICAgICAgICAgICA6IHNjcm9sbEV2ZW50LnRhcmdldCxcbiAgICAgICAgKSxcbiAgICAgICAgZmlsdGVyKCh0YXJnZXQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCkgPT5cbiAgICAgICAgICB0YXJnZXQgaW5zdGFuY2VvZiBOb2RlID8gdGFyZ2V0LmNvbnRhaW5zKHRoaXMub3JpZ2luKSB8fCAhdGhpcy5vcmlnaW4gOiBmYWxzZSxcbiAgICAgICAgKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRldGFjaCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IG9yaWdpbigpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIGNvbnN0IGNvbmZpZzogTmdEb2NPdmVybGF5Q29uZmlnIHwgdW5kZWZpbmVkID1cbiAgICAgIHRoaXMub3ZlcmxheVJlZj8uZ2V0Q29uZmlnKCkgYXMgTmdEb2NPdmVybGF5Q29uZmlnO1xuICAgIHJldHVybiBjb25maWc/LnZpZXdDb250YWluZXJSZWZcbiAgICAgID8gKHRvRWxlbWVudChjb25maWcudmlld0NvbnRhaW5lclJlZi5lbGVtZW50KSBhcyBIVE1MRWxlbWVudClcbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIGRpc2FibGUoKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gIH1cblxuICBkZXRhY2goKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlKCk7XG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKSkge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZG9jLXVpLWtpdC1zZXJ2aWNlcy1vdmVybGF5LXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1raXQvc2VydmljZXMvb3ZlcmxheS1zdHJhdGVneS9uZy1kb2MtdWkta2l0LXNlcnZpY2VzLW92ZXJsYXktc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":";;;;;;;AAMO,MAAM,oBAAoB,CAAC;AAClC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3C,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACpC,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI;AAC9B,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,EAAE;AACrC;AACA,IAAI,MAAM,CAAC,UAAU,EAAE;AACvB,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU;AACpC;AACA,IAAI,MAAM,GAAG;AACb,QAAQ,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC/D,aAAa,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,MAAM,YAAY;AACrH,cAAc,WAAW,CAAC,MAAM,CAAC;AACjC,cAAc,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,YAAY,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC9J,aAAa,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;AAC3C;AACA,IAAI,IAAI,MAAM,GAAG;AACjB,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE;AACnD,QAAQ,OAAO,MAAM,EAAE;AACvB,cAAc,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO;AACvD,cAAc,IAAI;AAClB;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC5B;AACA,IAAI,MAAM,GAAG;AACb,QAAQ,IAAI,CAAC,OAAO,EAAE;AACtB,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE;AAC5C,YAAY,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM;AAClC,gBAAgB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE;AACzC,aAAa,CAAC;AACd;AACA;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACvL,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC9J;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC;AAC9H,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;AC9CvC;AACA;AACA;;;;"}