UNPKG

@taiga-ui/cdk

Version:

Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance

22 lines 3.01 kB
import { Observable } from 'rxjs'; export function tuiCloseWatcher() { return new Observable((subscriber) => { let watcher = getWatcher(); const setup = () => { watcher = getWatcher(); watcher.onclose = () => setup(); watcher.oncancel = (event) => { event.preventDefault(); subscriber.next(); }; }; setup(); return () => watcher.destroy(); }); } function getWatcher() { // @ts-ignore // eslint-disable-next-line unicorn/no-typeof-undefined return typeof CloseWatcher === 'undefined' ? { destroy: () => { } } : new CloseWatcher(); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvc2Utd2F0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9vYnNlcnZhYmxlcy9jbG9zZS13YXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFRaEMsTUFBTSxVQUFVLGVBQWU7SUFDM0IsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQ2pDLElBQUksT0FBTyxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBRTNCLE1BQU0sS0FBSyxHQUFHLEdBQVMsRUFBRTtZQUNyQixPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUM7WUFDdkIsT0FBTyxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUVoQyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3pCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RCLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQztRQUVGLEtBQUssRUFBRSxDQUFDO1FBRVIsT0FBTyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsU0FBUyxVQUFVO0lBQ2YsYUFBYTtJQUNiLHVEQUF1RDtJQUN2RCxPQUFPLE9BQU8sWUFBWSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxFQUFFLENBQUM7QUFDMUYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmludGVyZmFjZSBDbG9zZVdhdGNoZXIge1xuICAgIGRlc3Ryb3k6ICgpID0+IHZvaWQ7XG4gICAgb25jbG9zZT86IChldmVudDogRXZlbnQpID0+IHZvaWQ7XG4gICAgb25jYW5jZWw/OiAoZXZlbnQ6IEV2ZW50KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpQ2xvc2VXYXRjaGVyKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICBsZXQgd2F0Y2hlciA9IGdldFdhdGNoZXIoKTtcblxuICAgICAgICBjb25zdCBzZXR1cCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHdhdGNoZXIgPSBnZXRXYXRjaGVyKCk7XG4gICAgICAgICAgICB3YXRjaGVyLm9uY2xvc2UgPSAoKSA9PiBzZXR1cCgpO1xuXG4gICAgICAgICAgICB3YXRjaGVyLm9uY2FuY2VsID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG5cbiAgICAgICAgc2V0dXAoKTtcblxuICAgICAgICByZXR1cm4gKCkgPT4gd2F0Y2hlci5kZXN0cm95KCk7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldFdhdGNoZXIoKTogQ2xvc2VXYXRjaGVyIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbm8tdHlwZW9mLXVuZGVmaW5lZFxuICAgIHJldHVybiB0eXBlb2YgQ2xvc2VXYXRjaGVyID09PSAndW5kZWZpbmVkJyA/IHtkZXN0cm95OiAoKSA9PiB7fX0gOiBuZXcgQ2xvc2VXYXRjaGVyKCk7XG59XG4iXX0=