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.6 kB
{"version":3,"file":"ng-doc-ui-kit-directives-focus-catcher.mjs","sources":["../tmp-esm2022/directives/focus-catcher/focus-catcher.directive.js","../tmp-esm2022/directives/focus-catcher/ng-doc-ui-kit-directives-focus-catcher.js"],"sourcesContent":["import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostBinding, inject, NgZone, Output, } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BLUR_EVENT, FOCUS_EVENT } from '@ng-doc/ui-kit/constants';\nimport { toElement } from '@ng-doc/ui-kit/helpers';\nimport { ngDocZoneOptimize } from '@ng-doc/ui-kit/observables';\nimport { fromEvent, merge } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nexport class NgDocFocusCatcherDirective {\n constructor() {\n this.elementRef = inject(ElementRef);\n this.ngZone = inject(NgZone);\n this.changeDetectorRef = inject(ChangeDetectorRef);\n this.focusEvent = new EventEmitter();\n this.blurEvent = new EventEmitter();\n this.focused = false;\n NgDocFocusCatcherDirective.observeFocus(toElement(this.elementRef))\n .pipe(ngDocZoneOptimize(this.ngZone), takeUntilDestroyed())\n .subscribe((event) => {\n this.focused = event.type === FOCUS_EVENT;\n this.focused ? this.focusEvent.emit(event) : this.blurEvent.emit(event);\n this.changeDetectorRef.markForCheck();\n });\n }\n static observeFocus(element) {\n return merge(fromEvent(element, FOCUS_EVENT), fromEvent(element, BLUR_EVENT)).pipe(debounceTime(0), distinctUntilChanged((a, b) => a.type === b.type));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocFocusCatcherDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.3\", type: NgDocFocusCatcherDirective, isStandalone: true, selector: \"[ngDocFocusCatcher]\", outputs: { focusEvent: \"focusEvent\", blurEvent: \"blurEvent\" }, host: { properties: { \"attr.data-ng-doc-focused\": \"this.focused\" } }, exportAs: [\"ngDocFocusCatcher\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocFocusCatcherDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngDocFocusCatcher]',\n exportAs: 'ngDocFocusCatcher',\n standalone: true,\n }]\n }], ctorParameters: () => [], propDecorators: { focusEvent: [{\n type: Output\n }], blurEvent: [{\n type: Output\n }], focused: [{\n type: HostBinding,\n args: ['attr.data-ng-doc-focused']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtY2F0Y2hlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWtpdC9kaXJlY3RpdmVzL2ZvY3VzLWNhdGNoZXIvZm9jdXMtY2F0Y2hlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU9wRSxNQUFNLE9BQU8sMEJBQTBCO0lBY3JDO1FBYlEsZUFBVSxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFDekQsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixzQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUd0RCxlQUFVLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7UUFHNUQsY0FBUyxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBRzNELFlBQU8sR0FBWSxLQUFLLENBQUM7UUFHdkIsMEJBQTBCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO2FBQzFELFNBQVMsQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDO1lBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFvQjtRQUN0QyxPQUFPLEtBQUssQ0FDVixTQUFTLENBQWEsT0FBTyxFQUFFLFdBQVcsQ0FBQyxFQUMzQyxTQUFTLENBQWEsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUMzQyxDQUFDLElBQUksQ0FDSixZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQ2Ysb0JBQW9CLENBQUMsQ0FBQyxDQUFhLEVBQUUsQ0FBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDMUUsQ0FBQztJQUNKLENBQUM7OEdBaENVLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUx0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjt3REFPQyxVQUFVO3NCQURULE1BQU07Z0JBSVAsU0FBUztzQkFEUixNQUFNO2dCQUlQLE9BQU87c0JBRE4sV0FBVzt1QkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIE5nWm9uZSxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEJMVVJfRVZFTlQsIEZPQ1VTX0VWRU5UIH0gZnJvbSAnQG5nLWRvYy91aS1raXQvY29uc3RhbnRzJztcbmltcG9ydCB7IHRvRWxlbWVudCB9IGZyb20gJ0BuZy1kb2MvdWkta2l0L2hlbHBlcnMnO1xuaW1wb3J0IHsgbmdEb2Nab25lT3B0aW1pemUgfSBmcm9tICdAbmctZG9jL3VpLWtpdC9vYnNlcnZhYmxlcyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmdEb2NGb2N1c0NhdGNoZXJdJyxcbiAgZXhwb3J0QXM6ICduZ0RvY0ZvY3VzQ2F0Y2hlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jRm9jdXNDYXRjaGVyRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgQE91dHB1dCgpXG4gIGZvY3VzRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBibHVyRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLW5nLWRvYy1mb2N1c2VkJylcbiAgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIE5nRG9jRm9jdXNDYXRjaGVyRGlyZWN0aXZlLm9ic2VydmVGb2N1cyh0b0VsZW1lbnQodGhpcy5lbGVtZW50UmVmKSlcbiAgICAgIC5waXBlKG5nRG9jWm9uZU9wdGltaXplKHRoaXMubmdab25lKSwgdGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLmZvY3VzZWQgPSBldmVudC50eXBlID09PSBGT0NVU19FVkVOVDtcbiAgICAgICAgdGhpcy5mb2N1c2VkID8gdGhpcy5mb2N1c0V2ZW50LmVtaXQoZXZlbnQpIDogdGhpcy5ibHVyRXZlbnQuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBvYnNlcnZlRm9jdXMoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBPYnNlcnZhYmxlPEZvY3VzRXZlbnQ+IHtcbiAgICByZXR1cm4gbWVyZ2UoXG4gICAgICBmcm9tRXZlbnQ8Rm9jdXNFdmVudD4oZWxlbWVudCwgRk9DVVNfRVZFTlQpLFxuICAgICAgZnJvbUV2ZW50PEZvY3VzRXZlbnQ+KGVsZW1lbnQsIEJMVVJfRVZFTlQpLFxuICAgICkucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgwKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhOiBGb2N1c0V2ZW50LCBiOiBGb2N1c0V2ZW50KSA9PiBhLnR5cGUgPT09IGIudHlwZSksXG4gICAgKTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZG9jLXVpLWtpdC1kaXJlY3RpdmVzLWZvY3VzLWNhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWtpdC9kaXJlY3RpdmVzL2ZvY3VzLWNhdGNoZXIvbmctZG9jLXVpLWtpdC1kaXJlY3RpdmVzLWZvY3VzLWNhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}