@ng-web-apis/platform
Version:
A basic library for web apis
13 lines • 2.21 kB
JavaScript
import { inject, InjectionToken } from '@angular/core';
import { toSignal } from '@angular/core/rxjs-interop';
import { WA_WINDOW } from '@ng-web-apis/common';
import { fromEvent, map } from 'rxjs';
export const WA_IS_TOUCH = new InjectionToken('', {
factory: () => {
const media = inject(WA_WINDOW).matchMedia('(pointer: coarse)');
return toSignal(fromEvent(media, 'change').pipe(map(() => media.matches)), {
initialValue: media.matches,
});
},
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtdG91Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9pcy10b3VjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsRUFBRSxFQUFFO0lBQy9ELE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDVixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFaEUsT0FBTyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFO1lBQ3ZFLFlBQVksRUFBRSxLQUFLLENBQUMsT0FBTztTQUM5QixDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtXQV9XSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtmcm9tRXZlbnQsIG1hcH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBXQV9JU19UT1VDSCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTaWduYWw8Ym9vbGVhbj4+KCcnLCB7XG4gICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICBjb25zdCBtZWRpYSA9IGluamVjdChXQV9XSU5ET1cpLm1hdGNoTWVkaWEoJyhwb2ludGVyOiBjb2Fyc2UpJyk7XG5cbiAgICAgICAgcmV0dXJuIHRvU2lnbmFsKGZyb21FdmVudChtZWRpYSwgJ2NoYW5nZScpLnBpcGUobWFwKCgpID0+IG1lZGlhLm1hdGNoZXMpKSwge1xuICAgICAgICAgICAgaW5pdGlhbFZhbHVlOiBtZWRpYS5tYXRjaGVzLFxuICAgICAgICB9KTtcbiAgICB9LFxufSk7XG4iXX0=