UNPKG

@xui/components

Version:

xUI Components for Angular

43 lines 5.79 kB
import { Inject, Injectable, NgModule } from '@angular/core'; import { DOCUMENT } from '@angular/common'; import * as i0 from "@angular/core"; export class XuiFocusService { constructor(doc) { doc.documentElement.addEventListener('mousedown', function () { doc.documentElement.classList.add('mouse-mode'); doc.documentElement.classList.remove('keyboard-mode'); }); doc.documentElement.addEventListener('keydown', function (event) { if (event.code == 'Tab') { doc.documentElement.classList.add('keyboard-mode'); doc.documentElement.classList.remove('mouse-mode'); } }); doc.defaultView?.addEventListener('focus', function () { doc.documentElement.classList.add('app-focused'); }); doc.defaultView?.addEventListener('blur', function () { doc.documentElement.classList.remove('app-focused'); }); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XuiFocusService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XuiFocusService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XuiFocusService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: Document, decorators: [{ type: Inject, args: [DOCUMENT] }] }] }); export class XuiFocusModule { constructor(_) { } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XuiFocusModule, deps: [{ token: XuiFocusService }], target: i0.ɵɵFactoryTarget.NgModule }); } static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: XuiFocusModule }); } static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XuiFocusModule, providers: [XuiFocusService] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XuiFocusModule, decorators: [{ type: NgModule, args: [{ providers: [XuiFocusService] }] }], ctorParameters: () => [{ type: XuiFocusService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMveHVpL3NyYy91dGlscy9mb2N1cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQThCLEdBQWE7UUFDekMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUU7WUFDaEQsR0FBRyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2hELEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUVILEdBQUcsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFVBQVUsS0FBb0I7WUFDNUUsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUN4QixHQUFHLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ25ELEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNyRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxHQUFHLENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtZQUN6QyxHQUFHLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFFSCxHQUFHLENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLE1BQU0sRUFBRTtZQUN4QyxHQUFHLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXJCVSxlQUFlLGtCQUNOLFFBQVE7a0hBRGpCLGVBQWUsY0FERixNQUFNOzsyRkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUVuQixNQUFNOzJCQUFDLFFBQVE7O0FBd0I5QixNQUFNLE9BQU8sY0FBYztJQUN6QixZQUFZLENBQWtCLElBQUcsQ0FBQzs4R0FEdkIsY0FBYzsrR0FBZCxjQUFjOytHQUFkLGNBQWMsYUFESixDQUFDLGVBQWUsQ0FBQzs7MkZBQzNCLGNBQWM7a0JBRDFCLFFBQVE7bUJBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBYdWlGb2N1c1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBkb2M6IERvY3VtZW50KSB7XG4gICAgZG9jLmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBmdW5jdGlvbiAoKSB7XG4gICAgICBkb2MuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ21vdXNlLW1vZGUnKTtcbiAgICAgIGRvYy5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgna2V5Ym9hcmQtbW9kZScpO1xuICAgIH0pO1xuXG4gICAgZG9jLmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICBpZiAoZXZlbnQuY29kZSA9PSAnVGFiJykge1xuICAgICAgICBkb2MuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2tleWJvYXJkLW1vZGUnKTtcbiAgICAgICAgZG9jLmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdtb3VzZS1tb2RlJyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBkb2MuZGVmYXVsdFZpZXc/LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgZnVuY3Rpb24gKCkge1xuICAgICAgZG9jLmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdhcHAtZm9jdXNlZCcpO1xuICAgIH0pO1xuXG4gICAgZG9jLmRlZmF1bHRWaWV3Py5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgZnVuY3Rpb24gKCkge1xuICAgICAgZG9jLmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdhcHAtZm9jdXNlZCcpO1xuICAgIH0pO1xuICB9XG59XG5cbkBOZ01vZHVsZSh7IHByb3ZpZGVyczogW1h1aUZvY3VzU2VydmljZV0gfSlcbmV4cG9ydCBjbGFzcyBYdWlGb2N1c01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKF86IFh1aUZvY3VzU2VydmljZSkge31cbn1cbiJdfQ==