@ng-web-apis/common
Advanced tools
Comparing version 1.9.0 to 1.11.0
@@ -27,4 +27,21 @@ (function (global, factory) { | ||
/** @type {?} */ | ||
var PERFORMANCE = new core.InjectionToken('An abstraction over window.performance object', { | ||
factory: function () { return core.inject(WINDOW).performance; }, | ||
var ANIMATION_FRAME = new core.InjectionToken('Shared Observable based on `window.requestAnimationFrame`', { | ||
factory: function () { | ||
var _a = core.inject(WINDOW), requestAnimationFrame = _a.requestAnimationFrame, cancelAnimationFrame = _a.cancelAnimationFrame; | ||
/** @type {?} */ | ||
var animationFrame$ = new rxjs.Observable(function (subscriber) { | ||
/** @type {?} */ | ||
var id = NaN; | ||
/** @type {?} */ | ||
var callback = function (timestamp) { | ||
subscriber.next(timestamp); | ||
id = requestAnimationFrame(callback); | ||
}; | ||
id = requestAnimationFrame(callback); | ||
return function () { | ||
cancelAnimationFrame(id); | ||
}; | ||
}); | ||
return animationFrame$.pipe(operators.share()); | ||
}, | ||
}); | ||
@@ -36,10 +53,5 @@ | ||
*/ | ||
// interval has bug: https://github.com/ReactiveX/rxjs/issues/4972, scheduled only present in rxjs 6.5+ | ||
/** @type {?} */ | ||
var ANIMATION_FRAME = new core.InjectionToken('Shared Observable based on `window.requestAnimationFrame`', { | ||
factory: function () { | ||
/** @type {?} */ | ||
var performanceRef = core.inject(PERFORMANCE); | ||
return rxjs.of(0, rxjs.animationFrameScheduler).pipe(operators.repeat(), operators.map(function () { return performanceRef.now(); }), operators.share()); | ||
}, | ||
var CACHES = new core.InjectionToken('An abstraction over window.caches object', { | ||
factory: function () { return core.inject(WINDOW).caches; }, | ||
}); | ||
@@ -66,2 +78,11 @@ | ||
/** @type {?} */ | ||
var HISTORY = new core.InjectionToken('An abstraction over window.history object', { | ||
factory: function () { return core.inject(WINDOW).history; }, | ||
}); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** @type {?} */ | ||
var LOCAL_STORAGE = new core.InjectionToken('An abstraction over window.localStorage object', { | ||
@@ -107,3 +128,3 @@ factory: function () { return core.inject(WINDOW).localStorage; }, | ||
var documentRef = core.inject(common.DOCUMENT); | ||
return rxjs.fromEvent(documentRef, 'visibilitychange').pipe(operators.startWith(0), operators.map(function () { return !documentRef.hidden; }), operators.distinctUntilChanged(), operators.share()); | ||
return rxjs.fromEvent(documentRef, 'visibilitychange').pipe(operators.startWith(0), operators.map(function () { return documentRef.visibilityState !== 'hidden'; }), operators.distinctUntilChanged(), operators.share()); | ||
}, | ||
@@ -117,2 +138,11 @@ }); | ||
/** @type {?} */ | ||
var PERFORMANCE = new core.InjectionToken('An abstraction over window.performance object', { | ||
factory: function () { return core.inject(WINDOW).performance; }, | ||
}); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** @type {?} */ | ||
var SESSION_STORAGE = new core.InjectionToken('An abstraction over window.sessionStorage object', { | ||
@@ -164,3 +194,5 @@ factory: function () { return core.inject(WINDOW).sessionStorage; }, | ||
exports.ANIMATION_FRAME = ANIMATION_FRAME; | ||
exports.CACHES = CACHES; | ||
exports.CSS = CSS; | ||
exports.HISTORY = HISTORY; | ||
exports.LOCAL_STORAGE = LOCAL_STORAGE; | ||
@@ -167,0 +199,0 @@ exports.LOCATION = LOCATION; |
@@ -1,2 +0,2 @@ | ||
!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common"),require("rxjs"),require("rxjs/operators"),require("@angular/core")):"function"==typeof define&&define.amd?define("@ng-web-apis/common",["exports","@angular/common","rxjs","rxjs/operators","@angular/core"],e):e((n["ng-web-apis"]=n["ng-web-apis"]||{},n["ng-web-apis"].common={}),n.ng.common,n.rxjs,n.rxjs.operators,n.ng.core)}(this,function(n,e,o,t,r){"use strict";var i=new r.InjectionToken("An abstraction over global window object",{factory:function(){var n=r.inject(e.DOCUMENT).defaultView;if(!n)throw new Error("Window is not available");return n}}),c=new r.InjectionToken("An abstraction over window.performance object",{factory:function(){return r.inject(i).performance}}),a=new r.InjectionToken("Shared Observable based on `window.requestAnimationFrame`",{factory:function(){var n=r.inject(c);return o.of(0,o.animationFrameScheduler).pipe(t.repeat(),t.map(function(){return n.now()}),t.share())}}),s=new r.InjectionToken("An abstraction over window.CSS object",{factory:function(){return r.inject(i).CSS||{escape:function(n){return n},supports:function(){return!1}}}}),u=new r.InjectionToken("An abstraction over window.localStorage object",{factory:function(){return r.inject(i).localStorage}}),f=new r.InjectionToken("An abstraction over window.location object",{factory:function(){return r.inject(i).location}}),w=new r.InjectionToken("An abstraction over window.navigator object",{factory:function(){return r.inject(i).navigator}}),j=new r.InjectionToken("An abstraction over window.navigator.connection object",{factory:function(){return r.inject(w).connection||null}}),b=new r.InjectionToken("Shared Observable based on `document visibility changed`",{factory:function(){var n=r.inject(e.DOCUMENT);return o.fromEvent(n,"visibilitychange").pipe(t.startWith(0),t.map(function(){return!n.hidden}),t.distinctUntilChanged(),t.share())}}),d=new r.InjectionToken("An abstraction over window.sessionStorage object",{factory:function(){return r.inject(i).sessionStorage}}),p=new r.InjectionToken("An abstraction over SpeechRecognition class",{factory:function(){var n=r.inject(i);return n.speechRecogniton||n.webkitSpeechRecognition||null}}),l=new r.InjectionToken("An abstraction over window.speechSynthesis object",{factory:function(){return r.inject(i).speechSynthesis}}),S=new r.InjectionToken("An abstraction over window.navigator.userAgent object",{factory:function(){return r.inject(w).userAgent}});n.ANIMATION_FRAME=a,n.CSS=s,n.LOCAL_STORAGE=u,n.LOCATION=f,n.NAVIGATOR=w,n.NETWORK_INFORMATION=j,n.PAGE_VISIBILITY=b,n.PERFORMANCE=c,n.SESSION_STORAGE=d,n.SPEECH_RECOGNITION=p,n.SPEECH_SYNTHESIS=l,n.USER_AGENT=S,n.WINDOW=i,Object.defineProperty(n,"__esModule",{value:!0})}); | ||
!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common"),require("rxjs"),require("rxjs/operators"),require("@angular/core")):"function"==typeof define&&define.amd?define("@ng-web-apis/common",["exports","@angular/common","rxjs","rxjs/operators","@angular/core"],e):e((n["ng-web-apis"]=n["ng-web-apis"]||{},n["ng-web-apis"].common={}),n.ng.common,n.rxjs,n.rxjs.operators,n.ng.core)}(this,function(n,e,o,t,c){"use strict";var a=new c.InjectionToken("An abstraction over global window object",{factory:function(){var n=c.inject(e.DOCUMENT).defaultView;if(!n)throw new Error("Window is not available");return n}}),r=new c.InjectionToken("Shared Observable based on `window.requestAnimationFrame`",{factory:function(){var n=c.inject(a),r=n.requestAnimationFrame,i=n.cancelAnimationFrame;return new o.Observable(function(e){var o=NaN,t=function(n){e.next(n),o=r(t)};return o=r(t),function(){i(o)}}).pipe(t.share())}}),i=new c.InjectionToken("An abstraction over window.caches object",{factory:function(){return c.inject(a).caches}}),s=new c.InjectionToken("An abstraction over window.CSS object",{factory:function(){return c.inject(a).CSS||{escape:function(n){return n},supports:function(){return!1}}}}),u=new c.InjectionToken("An abstraction over window.history object",{factory:function(){return c.inject(a).history}}),f=new c.InjectionToken("An abstraction over window.localStorage object",{factory:function(){return c.inject(a).localStorage}}),w=new c.InjectionToken("An abstraction over window.location object",{factory:function(){return c.inject(a).location}}),j=new c.InjectionToken("An abstraction over window.navigator object",{factory:function(){return c.inject(a).navigator}}),b=new c.InjectionToken("An abstraction over window.navigator.connection object",{factory:function(){return c.inject(j).connection||null}}),d=new c.InjectionToken("Shared Observable based on `document visibility changed`",{factory:function(){var n=c.inject(e.DOCUMENT);return o.fromEvent(n,"visibilitychange").pipe(t.startWith(0),t.map(function(){return"hidden"!==n.visibilityState}),t.distinctUntilChanged(),t.share())}}),v=new c.InjectionToken("An abstraction over window.performance object",{factory:function(){return c.inject(a).performance}}),A=new c.InjectionToken("An abstraction over window.sessionStorage object",{factory:function(){return c.inject(a).sessionStorage}}),l=new c.InjectionToken("An abstraction over SpeechRecognition class",{factory:function(){var n=c.inject(a);return n.speechRecogniton||n.webkitSpeechRecognition||null}}),I=new c.InjectionToken("An abstraction over window.speechSynthesis object",{factory:function(){return c.inject(a).speechSynthesis}}),S=new c.InjectionToken("An abstraction over window.navigator.userAgent object",{factory:function(){return c.inject(j).userAgent}});n.ANIMATION_FRAME=r,n.CACHES=i,n.CSS=s,n.HISTORY=u,n.LOCAL_STORAGE=f,n.LOCATION=w,n.NAVIGATOR=j,n.NETWORK_INFORMATION=b,n.PAGE_VISIBILITY=d,n.PERFORMANCE=v,n.SESSION_STORAGE=A,n.SPEECH_RECOGNITION=l,n.SPEECH_SYNTHESIS=I,n.USER_AGENT=S,n.WINDOW=a,Object.defineProperty(n,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=ng-web-apis-common.umd.min.js.map |
@@ -8,3 +8,3 @@ /** | ||
*/ | ||
export { ANIMATION_FRAME, CSS, LOCAL_STORAGE, LOCATION, NAVIGATOR, NETWORK_INFORMATION, PAGE_VISIBILITY, PERFORMANCE, SESSION_STORAGE, SPEECH_RECOGNITION, SPEECH_SYNTHESIS, USER_AGENT, WINDOW } from './public-api'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctd2ViLWFwaXMtY29tbW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nLXdlYi1hcGlzL2NvbW1vbi8iLCJzb3VyY2VzIjpbIm5nLXdlYi1hcGlzLWNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsdU1BQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19 | ||
export { ANIMATION_FRAME, CACHES, CSS, HISTORY, LOCAL_STORAGE, LOCATION, NAVIGATOR, NETWORK_INFORMATION, PAGE_VISIBILITY, PERFORMANCE, SESSION_STORAGE, SPEECH_RECOGNITION, SPEECH_SYNTHESIS, USER_AGENT, WINDOW } from './public-api'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctd2ViLWFwaXMtY29tbW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nLXdlYi1hcGlzL2NvbW1vbi8iLCJzb3VyY2VzIjpbIm5nLXdlYi1hcGlzLWNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsd05BQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19 |
@@ -9,3 +9,5 @@ /** | ||
export { ANIMATION_FRAME } from './tokens/animation-frame'; | ||
export { CACHES } from './tokens/caches'; | ||
export { CSS } from './tokens/css'; | ||
export { HISTORY } from './tokens/history'; | ||
export { LOCAL_STORAGE } from './tokens/local-storage'; | ||
@@ -22,2 +24,2 @@ export { LOCATION } from './tokens/location'; | ||
export { WINDOW } from './tokens/window'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZy13ZWItYXBpcy9jb21tb24vIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSxnQ0FBYywwQkFBMEIsQ0FBQztBQUN6QyxvQkFBYyxjQUFjLENBQUM7QUFDN0IsOEJBQWMsd0JBQXdCLENBQUM7QUFDdkMseUJBQWMsbUJBQW1CLENBQUM7QUFDbEMsMEJBQWMsb0JBQW9CLENBQUM7QUFDbkMsb0NBQWMsOEJBQThCLENBQUM7QUFDN0MsZ0NBQWMsMEJBQTBCLENBQUM7QUFDekMsNEJBQWMsc0JBQXNCLENBQUM7QUFDckMsZ0NBQWMsMEJBQTBCLENBQUM7QUFDekMsbUNBQWMsNkJBQTZCLENBQUM7QUFDNUMsaUNBQWMsMkJBQTJCLENBQUM7QUFDMUMsMkJBQWMscUJBQXFCLENBQUM7QUFDcEMsdUJBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIEBuZy13ZWItYXBpcy9jb21tb25cclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2FuaW1hdGlvbi1mcmFtZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2Nzcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2xvY2FsLXN0b3JhZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9sb2NhdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL25hdmlnYXRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL25ldHdvcmstaW5mb3JtYXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9wYWdlLXZpc2liaWxpdHknO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9wZXJmb3JtYW5jZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3Nlc3Npb24tc3RvcmFnZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3NwZWVjaC1yZWNvZ25pdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3NwZWVjaC1zeW50aGVzaXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy91c2VyLWFnZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvd2luZG93JztcclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZy13ZWItYXBpcy9jb21tb24vIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSxnQ0FBYywwQkFBMEIsQ0FBQztBQUN6Qyx1QkFBYyxpQkFBaUIsQ0FBQztBQUNoQyxvQkFBYyxjQUFjLENBQUM7QUFDN0Isd0JBQWMsa0JBQWtCLENBQUM7QUFDakMsOEJBQWMsd0JBQXdCLENBQUM7QUFDdkMseUJBQWMsbUJBQW1CLENBQUM7QUFDbEMsMEJBQWMsb0JBQW9CLENBQUM7QUFDbkMsb0NBQWMsOEJBQThCLENBQUM7QUFDN0MsZ0NBQWMsMEJBQTBCLENBQUM7QUFDekMsNEJBQWMsc0JBQXNCLENBQUM7QUFDckMsZ0NBQWMsMEJBQTBCLENBQUM7QUFDekMsbUNBQWMsNkJBQTZCLENBQUM7QUFDNUMsaUNBQWMsMkJBQTJCLENBQUM7QUFDMUMsMkJBQWMscUJBQXFCLENBQUM7QUFDcEMsdUJBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIEBuZy13ZWItYXBpcy9jb21tb25cclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2FuaW1hdGlvbi1mcmFtZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2NhY2hlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2Nzcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2hpc3RvcnknO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9sb2NhbC1zdG9yYWdlJztcclxuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvbG9jYXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9uYXZpZ2F0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9uZXR3b3JrLWluZm9ybWF0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvcGFnZS12aXNpYmlsaXR5JztcclxuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvcGVyZm9ybWFuY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9zZXNzaW9uLXN0b3JhZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9zcGVlY2gtcmVjb2duaXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9zcGVlY2gtc3ludGhlc2lzJztcclxuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvdXNlci1hZ2VudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3dpbmRvdyc7XHJcbiJdfQ== |
@@ -6,14 +6,26 @@ /** | ||
import { inject, InjectionToken } from '@angular/core'; | ||
import { animationFrameScheduler, of } from 'rxjs'; | ||
import { map, repeat, share } from 'rxjs/operators'; | ||
import { PERFORMANCE } from './performance'; | ||
// interval has bug: https://github.com/ReactiveX/rxjs/issues/4972, scheduled only present in rxjs 6.5+ | ||
import { Observable } from 'rxjs'; | ||
import { share } from 'rxjs/operators'; | ||
import { WINDOW } from './window'; | ||
/** @type {?} */ | ||
export const ANIMATION_FRAME = new InjectionToken('Shared Observable based on `window.requestAnimationFrame`', { | ||
factory: () => { | ||
const { requestAnimationFrame, cancelAnimationFrame } = inject(WINDOW); | ||
/** @type {?} */ | ||
const performanceRef = inject(PERFORMANCE); | ||
return of(0, animationFrameScheduler).pipe(repeat(), map(() => performanceRef.now()), share()); | ||
const animationFrame$ = new Observable(subscriber => { | ||
/** @type {?} */ | ||
let id = NaN; | ||
/** @type {?} */ | ||
const callback = (timestamp) => { | ||
subscriber.next(timestamp); | ||
id = requestAnimationFrame(callback); | ||
}; | ||
id = requestAnimationFrame(callback); | ||
return () => { | ||
cancelAnimationFrame(id); | ||
}; | ||
}); | ||
return animationFrame$.pipe(share()); | ||
}, | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWZyYW1lLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nLXdlYi1hcGlzL2NvbW1vbi8iLCJzb3VyY2VzIjpbInRva2Vucy9hbmltYXRpb24tZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBQyx1QkFBdUIsRUFBYyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBRzFDLE1BQU0sT0FBTyxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQzdDLDJEQUEyRCxFQUMzRDtJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUU7O2NBQ0osY0FBYyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFFMUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLHVCQUF1QixDQUFDLENBQUMsSUFBSSxDQUN0QyxNQUFNLEVBQUUsRUFDUixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQy9CLEtBQUssRUFBRSxDQUNWLENBQUM7SUFDTixDQUFDO0NBQ0osQ0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7YW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHttYXAsIHJlcGVhdCwgc2hhcmV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtQRVJGT1JNQU5DRX0gZnJvbSAnLi9wZXJmb3JtYW5jZSc7XHJcblxyXG4vLyBpbnRlcnZhbCBoYXMgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vUmVhY3RpdmVYL3J4anMvaXNzdWVzLzQ5NzIsIHNjaGVkdWxlZCBvbmx5IHByZXNlbnQgaW4gcnhqcyA2LjUrXHJcbmV4cG9ydCBjb25zdCBBTklNQVRJT05fRlJBTUUgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxET01IaWdoUmVzVGltZVN0YW1wPj4oXHJcbiAgICAnU2hhcmVkIE9ic2VydmFibGUgYmFzZWQgb24gYHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVgJyxcclxuICAgIHtcclxuICAgICAgICBmYWN0b3J5OiAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBlcmZvcm1hbmNlUmVmID0gaW5qZWN0KFBFUkZPUk1BTkNFKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBvZigwLCBhbmltYXRpb25GcmFtZVNjaGVkdWxlcikucGlwZShcclxuICAgICAgICAgICAgICAgIHJlcGVhdCgpLFxyXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHBlcmZvcm1hbmNlUmVmLm5vdygpKSxcclxuICAgICAgICAgICAgICAgIHNoYXJlKCksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgIH0sXHJcbik7XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWZyYW1lLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nLXdlYi1hcGlzL2NvbW1vbi8iLCJzb3VyY2VzIjpbInRva2Vucy9hbmltYXRpb24tZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7O0FBRWhDLE1BQU0sT0FBTyxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQzdDLDJEQUEyRCxFQUMzRDtJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUU7Y0FDSixFQUFDLHFCQUFxQixFQUFFLG9CQUFvQixFQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQzs7Y0FDOUQsZUFBZSxHQUFHLElBQUksVUFBVSxDQUFzQixVQUFVLENBQUMsRUFBRTs7Z0JBQ2pFLEVBQUUsR0FBRyxHQUFHOztrQkFDTixRQUFRLEdBQUcsQ0FBQyxTQUE4QixFQUFFLEVBQUU7Z0JBQ2hELFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzNCLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBRUQsRUFBRSxHQUFHLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXJDLE9BQU8sR0FBRyxFQUFFO2dCQUNSLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdCLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQztRQUVGLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDSixDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtzaGFyZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1dJTkRPV30gZnJvbSAnLi93aW5kb3cnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFOSU1BVElPTl9GUkFNRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPERPTUhpZ2hSZXNUaW1lU3RhbXA+PihcclxuICAgICdTaGFyZWQgT2JzZXJ2YWJsZSBiYXNlZCBvbiBgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZWAnLFxyXG4gICAge1xyXG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3Qge3JlcXVlc3RBbmltYXRpb25GcmFtZSwgY2FuY2VsQW5pbWF0aW9uRnJhbWV9ID0gaW5qZWN0KFdJTkRPVyk7XHJcbiAgICAgICAgICAgIGNvbnN0IGFuaW1hdGlvbkZyYW1lJCA9IG5ldyBPYnNlcnZhYmxlPERPTUhpZ2hSZXNUaW1lU3RhbXA+KHN1YnNjcmliZXIgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IGlkID0gTmFOO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY2FsbGJhY2sgPSAodGltZXN0YW1wOiBET01IaWdoUmVzVGltZVN0YW1wKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHRpbWVzdGFtcCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoY2FsbGJhY2spO1xyXG4gICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShjYWxsYmFjayk7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShpZCk7XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBhbmltYXRpb25GcmFtZSQucGlwZShzaGFyZSgpKTtcclxuICAgICAgICB9LFxyXG4gICAgfSxcclxuKTtcclxuIl19 |
@@ -14,5 +14,5 @@ /** | ||
const documentRef = inject(DOCUMENT); | ||
return fromEvent(documentRef, 'visibilitychange').pipe(startWith(0), map(() => !documentRef.hidden), distinctUntilChanged(), share()); | ||
return fromEvent(documentRef, 'visibilitychange').pipe(startWith(0), map(() => documentRef.visibilityState !== 'hidden'), distinctUntilChanged(), share()); | ||
}, | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS12aXNpYmlsaXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nLXdlYi1hcGlzL2NvbW1vbi8iLCJzb3VyY2VzIjpbInRva2Vucy9wYWdlLXZpc2liaWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsU0FBUyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUUzRSxNQUFNLE9BQU8sZUFBZSxHQUFHLElBQUksY0FBYyxDQUM3QywwREFBMEQsRUFDMUQ7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFOztjQUNKLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBRXBDLE9BQU8sU0FBUyxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FDbEQsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUNaLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFDOUIsb0JBQW9CLEVBQUUsRUFDdEIsS0FBSyxFQUFFLENBQ1YsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtmcm9tRXZlbnQsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlLCBzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmV4cG9ydCBjb25zdCBQQUdFX1ZJU0lCSUxJVFkgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxib29sZWFuPj4oXHJcbiAgICAnU2hhcmVkIE9ic2VydmFibGUgYmFzZWQgb24gYGRvY3VtZW50IHZpc2liaWxpdHkgY2hhbmdlZGAnLFxyXG4gICAge1xyXG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZG9jdW1lbnRSZWYgPSBpbmplY3QoRE9DVU1FTlQpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGZyb21FdmVudChkb2N1bWVudFJlZiwgJ3Zpc2liaWxpdHljaGFuZ2UnKS5waXBlKFxyXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKDApLFxyXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+ICFkb2N1bWVudFJlZi5oaWRkZW4pLFxyXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgICAgIHNoYXJlKCksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgIH0sXHJcbik7XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS12aXNpYmlsaXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nLXdlYi1hcGlzL2NvbW1vbi8iLCJzb3VyY2VzIjpbInRva2Vucy9wYWdlLXZpc2liaWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsU0FBUyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUUzRSxNQUFNLE9BQU8sZUFBZSxHQUFHLElBQUksY0FBYyxDQUM3QywwREFBMEQsRUFDMUQ7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFOztjQUNKLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBRXBDLE9BQU8sU0FBUyxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FDbEQsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUNaLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsZUFBZSxLQUFLLFFBQVEsQ0FBQyxFQUNuRCxvQkFBb0IsRUFBRSxFQUN0QixLQUFLLEVBQUUsQ0FDVixDQUFDO0lBQ04sQ0FBQztDQUNKLENBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2Zyb21FdmVudCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmUsIHN0YXJ0V2l0aH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBBR0VfVklTSUJJTElUWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPGJvb2xlYW4+PihcclxuICAgICdTaGFyZWQgT2JzZXJ2YWJsZSBiYXNlZCBvbiBgZG9jdW1lbnQgdmlzaWJpbGl0eSBjaGFuZ2VkYCcsXHJcbiAgICB7XHJcbiAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBkb2N1bWVudFJlZiA9IGluamVjdChET0NVTUVOVCk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gZnJvbUV2ZW50KGRvY3VtZW50UmVmLCAndmlzaWJpbGl0eWNoYW5nZScpLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgoMCksXHJcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gZG9jdW1lbnRSZWYudmlzaWJpbGl0eVN0YXRlICE9PSAnaGlkZGVuJyksXHJcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICAgICAgICAgc2hhcmUoKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgfSxcclxuKTtcclxuIl19 |
@@ -8,3 +8,3 @@ /** | ||
*/ | ||
export { ANIMATION_FRAME, CSS, LOCAL_STORAGE, LOCATION, NAVIGATOR, NETWORK_INFORMATION, PAGE_VISIBILITY, PERFORMANCE, SESSION_STORAGE, SPEECH_RECOGNITION, SPEECH_SYNTHESIS, USER_AGENT, WINDOW } from './public-api'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctd2ViLWFwaXMtY29tbW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nLXdlYi1hcGlzL2NvbW1vbi8iLCJzb3VyY2VzIjpbIm5nLXdlYi1hcGlzLWNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsdU1BQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19 | ||
export { ANIMATION_FRAME, CACHES, CSS, HISTORY, LOCAL_STORAGE, LOCATION, NAVIGATOR, NETWORK_INFORMATION, PAGE_VISIBILITY, PERFORMANCE, SESSION_STORAGE, SPEECH_RECOGNITION, SPEECH_SYNTHESIS, USER_AGENT, WINDOW } from './public-api'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctd2ViLWFwaXMtY29tbW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nLXdlYi1hcGlzL2NvbW1vbi8iLCJzb3VyY2VzIjpbIm5nLXdlYi1hcGlzLWNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsd05BQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19 |
@@ -9,3 +9,5 @@ /** | ||
export { ANIMATION_FRAME } from './tokens/animation-frame'; | ||
export { CACHES } from './tokens/caches'; | ||
export { CSS } from './tokens/css'; | ||
export { HISTORY } from './tokens/history'; | ||
export { LOCAL_STORAGE } from './tokens/local-storage'; | ||
@@ -22,2 +24,2 @@ export { LOCATION } from './tokens/location'; | ||
export { WINDOW } from './tokens/window'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZy13ZWItYXBpcy9jb21tb24vIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSxnQ0FBYywwQkFBMEIsQ0FBQztBQUN6QyxvQkFBYyxjQUFjLENBQUM7QUFDN0IsOEJBQWMsd0JBQXdCLENBQUM7QUFDdkMseUJBQWMsbUJBQW1CLENBQUM7QUFDbEMsMEJBQWMsb0JBQW9CLENBQUM7QUFDbkMsb0NBQWMsOEJBQThCLENBQUM7QUFDN0MsZ0NBQWMsMEJBQTBCLENBQUM7QUFDekMsNEJBQWMsc0JBQXNCLENBQUM7QUFDckMsZ0NBQWMsMEJBQTBCLENBQUM7QUFDekMsbUNBQWMsNkJBQTZCLENBQUM7QUFDNUMsaUNBQWMsMkJBQTJCLENBQUM7QUFDMUMsMkJBQWMscUJBQXFCLENBQUM7QUFDcEMsdUJBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIEBuZy13ZWItYXBpcy9jb21tb25cclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2FuaW1hdGlvbi1mcmFtZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2Nzcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2xvY2FsLXN0b3JhZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9sb2NhdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL25hdmlnYXRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL25ldHdvcmstaW5mb3JtYXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9wYWdlLXZpc2liaWxpdHknO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9wZXJmb3JtYW5jZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3Nlc3Npb24tc3RvcmFnZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3NwZWVjaC1yZWNvZ25pdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3NwZWVjaC1zeW50aGVzaXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy91c2VyLWFnZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvd2luZG93JztcclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZy13ZWItYXBpcy9jb21tb24vIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSxnQ0FBYywwQkFBMEIsQ0FBQztBQUN6Qyx1QkFBYyxpQkFBaUIsQ0FBQztBQUNoQyxvQkFBYyxjQUFjLENBQUM7QUFDN0Isd0JBQWMsa0JBQWtCLENBQUM7QUFDakMsOEJBQWMsd0JBQXdCLENBQUM7QUFDdkMseUJBQWMsbUJBQW1CLENBQUM7QUFDbEMsMEJBQWMsb0JBQW9CLENBQUM7QUFDbkMsb0NBQWMsOEJBQThCLENBQUM7QUFDN0MsZ0NBQWMsMEJBQTBCLENBQUM7QUFDekMsNEJBQWMsc0JBQXNCLENBQUM7QUFDckMsZ0NBQWMsMEJBQTBCLENBQUM7QUFDekMsbUNBQWMsNkJBQTZCLENBQUM7QUFDNUMsaUNBQWMsMkJBQTJCLENBQUM7QUFDMUMsMkJBQWMscUJBQXFCLENBQUM7QUFDcEMsdUJBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIEBuZy13ZWItYXBpcy9jb21tb25cclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2FuaW1hdGlvbi1mcmFtZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2NhY2hlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2Nzcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2hpc3RvcnknO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9sb2NhbC1zdG9yYWdlJztcclxuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvbG9jYXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9uYXZpZ2F0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9uZXR3b3JrLWluZm9ybWF0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvcGFnZS12aXNpYmlsaXR5JztcclxuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvcGVyZm9ybWFuY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9zZXNzaW9uLXN0b3JhZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9zcGVlY2gtcmVjb2duaXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9zcGVlY2gtc3ludGhlc2lzJztcclxuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvdXNlci1hZ2VudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3dpbmRvdyc7XHJcbiJdfQ== |
@@ -6,14 +6,26 @@ /** | ||
import { inject, InjectionToken } from '@angular/core'; | ||
import { animationFrameScheduler, of } from 'rxjs'; | ||
import { map, repeat, share } from 'rxjs/operators'; | ||
import { PERFORMANCE } from './performance'; | ||
// interval has bug: https://github.com/ReactiveX/rxjs/issues/4972, scheduled only present in rxjs 6.5+ | ||
import { Observable } from 'rxjs'; | ||
import { share } from 'rxjs/operators'; | ||
import { WINDOW } from './window'; | ||
/** @type {?} */ | ||
export var ANIMATION_FRAME = new InjectionToken('Shared Observable based on `window.requestAnimationFrame`', { | ||
factory: function () { | ||
var _a = inject(WINDOW), requestAnimationFrame = _a.requestAnimationFrame, cancelAnimationFrame = _a.cancelAnimationFrame; | ||
/** @type {?} */ | ||
var performanceRef = inject(PERFORMANCE); | ||
return of(0, animationFrameScheduler).pipe(repeat(), map(function () { return performanceRef.now(); }), share()); | ||
var animationFrame$ = new Observable(function (subscriber) { | ||
/** @type {?} */ | ||
var id = NaN; | ||
/** @type {?} */ | ||
var callback = function (timestamp) { | ||
subscriber.next(timestamp); | ||
id = requestAnimationFrame(callback); | ||
}; | ||
id = requestAnimationFrame(callback); | ||
return function () { | ||
cancelAnimationFrame(id); | ||
}; | ||
}); | ||
return animationFrame$.pipe(share()); | ||
}, | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWZyYW1lLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nLXdlYi1hcGlzL2NvbW1vbi8iLCJzb3VyY2VzIjpbInRva2Vucy9hbmltYXRpb24tZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBQyx1QkFBdUIsRUFBYyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBRzFDLE1BQU0sS0FBTyxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQzdDLDJEQUEyRCxFQUMzRDtJQUNJLE9BQU8sRUFBRTs7WUFDQyxjQUFjLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUUxQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsdUJBQXVCLENBQUMsQ0FBQyxJQUFJLENBQ3RDLE1BQU0sRUFBRSxFQUNSLEdBQUcsQ0FBQyxjQUFNLE9BQUEsY0FBYyxDQUFDLEdBQUcsRUFBRSxFQUFwQixDQUFvQixDQUFDLEVBQy9CLEtBQUssRUFBRSxDQUNWLENBQUM7SUFDTixDQUFDO0NBQ0osQ0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7YW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHttYXAsIHJlcGVhdCwgc2hhcmV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtQRVJGT1JNQU5DRX0gZnJvbSAnLi9wZXJmb3JtYW5jZSc7XHJcblxyXG4vLyBpbnRlcnZhbCBoYXMgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vUmVhY3RpdmVYL3J4anMvaXNzdWVzLzQ5NzIsIHNjaGVkdWxlZCBvbmx5IHByZXNlbnQgaW4gcnhqcyA2LjUrXHJcbmV4cG9ydCBjb25zdCBBTklNQVRJT05fRlJBTUUgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxET01IaWdoUmVzVGltZVN0YW1wPj4oXHJcbiAgICAnU2hhcmVkIE9ic2VydmFibGUgYmFzZWQgb24gYHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVgJyxcclxuICAgIHtcclxuICAgICAgICBmYWN0b3J5OiAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBlcmZvcm1hbmNlUmVmID0gaW5qZWN0KFBFUkZPUk1BTkNFKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBvZigwLCBhbmltYXRpb25GcmFtZVNjaGVkdWxlcikucGlwZShcclxuICAgICAgICAgICAgICAgIHJlcGVhdCgpLFxyXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHBlcmZvcm1hbmNlUmVmLm5vdygpKSxcclxuICAgICAgICAgICAgICAgIHNoYXJlKCksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgIH0sXHJcbik7XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLWZyYW1lLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nLXdlYi1hcGlzL2NvbW1vbi8iLCJzb3VyY2VzIjpbInRva2Vucy9hbmltYXRpb24tZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7O0FBRWhDLE1BQU0sS0FBTyxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQzdDLDJEQUEyRCxFQUMzRDtJQUNJLE9BQU8sRUFBRTtRQUNDLElBQUEsbUJBQThELEVBQTdELGdEQUFxQixFQUFFLDhDQUFzQzs7WUFDOUQsZUFBZSxHQUFHLElBQUksVUFBVSxDQUFzQixVQUFBLFVBQVU7O2dCQUM5RCxFQUFFLEdBQUcsR0FBRzs7Z0JBQ04sUUFBUSxHQUFHLFVBQUMsU0FBOEI7Z0JBQzVDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzNCLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBRUQsRUFBRSxHQUFHLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXJDLE9BQU87Z0JBQ0gsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDO1FBRUYsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztDQUNKLENBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge3NoYXJlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7V0lORE9XfSBmcm9tICcuL3dpbmRvdyc7XHJcblxyXG5leHBvcnQgY29uc3QgQU5JTUFUSU9OX0ZSQU1FID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8RE9NSGlnaFJlc1RpbWVTdGFtcD4+KFxyXG4gICAgJ1NoYXJlZCBPYnNlcnZhYmxlIGJhc2VkIG9uIGB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lYCcsXHJcbiAgICB7XHJcbiAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB7cmVxdWVzdEFuaW1hdGlvbkZyYW1lLCBjYW5jZWxBbmltYXRpb25GcmFtZX0gPSBpbmplY3QoV0lORE9XKTtcclxuICAgICAgICAgICAgY29uc3QgYW5pbWF0aW9uRnJhbWUkID0gbmV3IE9ic2VydmFibGU8RE9NSGlnaFJlc1RpbWVTdGFtcD4oc3Vic2NyaWJlciA9PiB7XHJcbiAgICAgICAgICAgICAgICBsZXQgaWQgPSBOYU47XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjYWxsYmFjayA9ICh0aW1lc3RhbXA6IERPTUhpZ2hSZXNUaW1lU3RhbXApID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodGltZXN0YW1wKTtcclxuICAgICAgICAgICAgICAgICAgICBpZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShjYWxsYmFjayk7XHJcbiAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgIGlkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNhbGxiYWNrKTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGlkKTtcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGFuaW1hdGlvbkZyYW1lJC5waXBlKHNoYXJlKCkpO1xyXG4gICAgICAgIH0sXHJcbiAgICB9LFxyXG4pO1xyXG4iXX0= |
@@ -14,5 +14,5 @@ /** | ||
var documentRef = inject(DOCUMENT); | ||
return fromEvent(documentRef, 'visibilitychange').pipe(startWith(0), map(function () { return !documentRef.hidden; }), distinctUntilChanged(), share()); | ||
return fromEvent(documentRef, 'visibilitychange').pipe(startWith(0), map(function () { return documentRef.visibilityState !== 'hidden'; }), distinctUntilChanged(), share()); | ||
}, | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS12aXNpYmlsaXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nLXdlYi1hcGlzL2NvbW1vbi8iLCJzb3VyY2VzIjpbInRva2Vucy9wYWdlLXZpc2liaWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsU0FBUyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUUzRSxNQUFNLEtBQU8sZUFBZSxHQUFHLElBQUksY0FBYyxDQUM3QywwREFBMEQsRUFDMUQ7SUFDSSxPQUFPLEVBQUU7O1lBQ0MsV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFFcEMsT0FBTyxTQUFTLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUNsRCxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQ1osR0FBRyxDQUFDLGNBQU0sT0FBQSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQW5CLENBQW1CLENBQUMsRUFDOUIsb0JBQW9CLEVBQUUsRUFDdEIsS0FBSyxFQUFFLENBQ1YsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtmcm9tRXZlbnQsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlLCBzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmV4cG9ydCBjb25zdCBQQUdFX1ZJU0lCSUxJVFkgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxib29sZWFuPj4oXHJcbiAgICAnU2hhcmVkIE9ic2VydmFibGUgYmFzZWQgb24gYGRvY3VtZW50IHZpc2liaWxpdHkgY2hhbmdlZGAnLFxyXG4gICAge1xyXG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZG9jdW1lbnRSZWYgPSBpbmplY3QoRE9DVU1FTlQpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGZyb21FdmVudChkb2N1bWVudFJlZiwgJ3Zpc2liaWxpdHljaGFuZ2UnKS5waXBlKFxyXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKDApLFxyXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+ICFkb2N1bWVudFJlZi5oaWRkZW4pLFxyXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgICAgIHNoYXJlKCksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgIH0sXHJcbik7XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS12aXNpYmlsaXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nLXdlYi1hcGlzL2NvbW1vbi8iLCJzb3VyY2VzIjpbInRva2Vucy9wYWdlLXZpc2liaWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsU0FBUyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUUzRSxNQUFNLEtBQU8sZUFBZSxHQUFHLElBQUksY0FBYyxDQUM3QywwREFBMEQsRUFDMUQ7SUFDSSxPQUFPLEVBQUU7O1lBQ0MsV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFFcEMsT0FBTyxTQUFTLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUNsRCxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQ1osR0FBRyxDQUFDLGNBQU0sT0FBQSxXQUFXLENBQUMsZUFBZSxLQUFLLFFBQVEsRUFBeEMsQ0FBd0MsQ0FBQyxFQUNuRCxvQkFBb0IsRUFBRSxFQUN0QixLQUFLLEVBQUUsQ0FDVixDQUFDO0lBQ04sQ0FBQztDQUNKLENBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2Zyb21FdmVudCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmUsIHN0YXJ0V2l0aH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBBR0VfVklTSUJJTElUWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPGJvb2xlYW4+PihcclxuICAgICdTaGFyZWQgT2JzZXJ2YWJsZSBiYXNlZCBvbiBgZG9jdW1lbnQgdmlzaWJpbGl0eSBjaGFuZ2VkYCcsXHJcbiAgICB7XHJcbiAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBkb2N1bWVudFJlZiA9IGluamVjdChET0NVTUVOVCk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gZnJvbUV2ZW50KGRvY3VtZW50UmVmLCAndmlzaWJpbGl0eWNoYW5nZScpLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgoMCksXHJcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gZG9jdW1lbnRSZWYudmlzaWJpbGl0eVN0YXRlICE9PSAnaGlkZGVuJyksXHJcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICAgICAgICAgc2hhcmUoKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgfSxcclxuKTtcclxuIl19 |
import { DOCUMENT } from '@angular/common'; | ||
import { animationFrameScheduler, of, fromEvent } from 'rxjs'; | ||
import { map, repeat, share, distinctUntilChanged, startWith } from 'rxjs/operators'; | ||
import { Observable, fromEvent } from 'rxjs'; | ||
import { share, distinctUntilChanged, map, startWith } from 'rxjs/operators'; | ||
import { inject, InjectionToken } from '@angular/core'; | ||
@@ -26,4 +26,21 @@ | ||
/** @type {?} */ | ||
const PERFORMANCE = new InjectionToken('An abstraction over window.performance object', { | ||
factory: () => inject(WINDOW).performance, | ||
const ANIMATION_FRAME = new InjectionToken('Shared Observable based on `window.requestAnimationFrame`', { | ||
factory: () => { | ||
const { requestAnimationFrame, cancelAnimationFrame } = inject(WINDOW); | ||
/** @type {?} */ | ||
const animationFrame$ = new Observable(subscriber => { | ||
/** @type {?} */ | ||
let id = NaN; | ||
/** @type {?} */ | ||
const callback = (timestamp) => { | ||
subscriber.next(timestamp); | ||
id = requestAnimationFrame(callback); | ||
}; | ||
id = requestAnimationFrame(callback); | ||
return () => { | ||
cancelAnimationFrame(id); | ||
}; | ||
}); | ||
return animationFrame$.pipe(share()); | ||
}, | ||
}); | ||
@@ -35,10 +52,5 @@ | ||
*/ | ||
// interval has bug: https://github.com/ReactiveX/rxjs/issues/4972, scheduled only present in rxjs 6.5+ | ||
/** @type {?} */ | ||
const ANIMATION_FRAME = new InjectionToken('Shared Observable based on `window.requestAnimationFrame`', { | ||
factory: () => { | ||
/** @type {?} */ | ||
const performanceRef = inject(PERFORMANCE); | ||
return of(0, animationFrameScheduler).pipe(repeat(), map(() => performanceRef.now()), share()); | ||
}, | ||
const CACHES = new InjectionToken('An abstraction over window.caches object', { | ||
factory: () => inject(WINDOW).caches, | ||
}); | ||
@@ -63,2 +75,11 @@ | ||
/** @type {?} */ | ||
const HISTORY = new InjectionToken('An abstraction over window.history object', { | ||
factory: () => inject(WINDOW).history, | ||
}); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** @type {?} */ | ||
const LOCAL_STORAGE = new InjectionToken('An abstraction over window.localStorage object', { | ||
@@ -104,3 +125,3 @@ factory: () => inject(WINDOW).localStorage, | ||
const documentRef = inject(DOCUMENT); | ||
return fromEvent(documentRef, 'visibilitychange').pipe(startWith(0), map(() => !documentRef.hidden), distinctUntilChanged(), share()); | ||
return fromEvent(documentRef, 'visibilitychange').pipe(startWith(0), map(() => documentRef.visibilityState !== 'hidden'), distinctUntilChanged(), share()); | ||
}, | ||
@@ -114,2 +135,11 @@ }); | ||
/** @type {?} */ | ||
const PERFORMANCE = new InjectionToken('An abstraction over window.performance object', { | ||
factory: () => inject(WINDOW).performance, | ||
}); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** @type {?} */ | ||
const SESSION_STORAGE = new InjectionToken('An abstraction over window.sessionStorage object', { | ||
@@ -160,4 +190,4 @@ factory: () => inject(WINDOW).sessionStorage, | ||
export { ANIMATION_FRAME, CSS, LOCAL_STORAGE, LOCATION, NAVIGATOR, NETWORK_INFORMATION, PAGE_VISIBILITY, PERFORMANCE, SESSION_STORAGE, SPEECH_RECOGNITION, SPEECH_SYNTHESIS, USER_AGENT, WINDOW }; | ||
export { ANIMATION_FRAME, CACHES, CSS, HISTORY, LOCAL_STORAGE, LOCATION, NAVIGATOR, NETWORK_INFORMATION, PAGE_VISIBILITY, PERFORMANCE, SESSION_STORAGE, SPEECH_RECOGNITION, SPEECH_SYNTHESIS, USER_AGENT, WINDOW }; | ||
//# sourceMappingURL=ng-web-apis-common.js.map |
import { DOCUMENT } from '@angular/common'; | ||
import { animationFrameScheduler, of, fromEvent } from 'rxjs'; | ||
import { map, repeat, share, distinctUntilChanged, startWith } from 'rxjs/operators'; | ||
import { Observable, fromEvent } from 'rxjs'; | ||
import { share, distinctUntilChanged, map, startWith } from 'rxjs/operators'; | ||
import { inject, InjectionToken } from '@angular/core'; | ||
@@ -26,4 +26,21 @@ | ||
/** @type {?} */ | ||
var PERFORMANCE = new InjectionToken('An abstraction over window.performance object', { | ||
factory: function () { return inject(WINDOW).performance; }, | ||
var ANIMATION_FRAME = new InjectionToken('Shared Observable based on `window.requestAnimationFrame`', { | ||
factory: function () { | ||
var _a = inject(WINDOW), requestAnimationFrame = _a.requestAnimationFrame, cancelAnimationFrame = _a.cancelAnimationFrame; | ||
/** @type {?} */ | ||
var animationFrame$ = new Observable(function (subscriber) { | ||
/** @type {?} */ | ||
var id = NaN; | ||
/** @type {?} */ | ||
var callback = function (timestamp) { | ||
subscriber.next(timestamp); | ||
id = requestAnimationFrame(callback); | ||
}; | ||
id = requestAnimationFrame(callback); | ||
return function () { | ||
cancelAnimationFrame(id); | ||
}; | ||
}); | ||
return animationFrame$.pipe(share()); | ||
}, | ||
}); | ||
@@ -35,10 +52,5 @@ | ||
*/ | ||
// interval has bug: https://github.com/ReactiveX/rxjs/issues/4972, scheduled only present in rxjs 6.5+ | ||
/** @type {?} */ | ||
var ANIMATION_FRAME = new InjectionToken('Shared Observable based on `window.requestAnimationFrame`', { | ||
factory: function () { | ||
/** @type {?} */ | ||
var performanceRef = inject(PERFORMANCE); | ||
return of(0, animationFrameScheduler).pipe(repeat(), map(function () { return performanceRef.now(); }), share()); | ||
}, | ||
var CACHES = new InjectionToken('An abstraction over window.caches object', { | ||
factory: function () { return inject(WINDOW).caches; }, | ||
}); | ||
@@ -65,2 +77,11 @@ | ||
/** @type {?} */ | ||
var HISTORY = new InjectionToken('An abstraction over window.history object', { | ||
factory: function () { return inject(WINDOW).history; }, | ||
}); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** @type {?} */ | ||
var LOCAL_STORAGE = new InjectionToken('An abstraction over window.localStorage object', { | ||
@@ -106,3 +127,3 @@ factory: function () { return inject(WINDOW).localStorage; }, | ||
var documentRef = inject(DOCUMENT); | ||
return fromEvent(documentRef, 'visibilitychange').pipe(startWith(0), map(function () { return !documentRef.hidden; }), distinctUntilChanged(), share()); | ||
return fromEvent(documentRef, 'visibilitychange').pipe(startWith(0), map(function () { return documentRef.visibilityState !== 'hidden'; }), distinctUntilChanged(), share()); | ||
}, | ||
@@ -116,2 +137,11 @@ }); | ||
/** @type {?} */ | ||
var PERFORMANCE = new InjectionToken('An abstraction over window.performance object', { | ||
factory: function () { return inject(WINDOW).performance; }, | ||
}); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** @type {?} */ | ||
var SESSION_STORAGE = new InjectionToken('An abstraction over window.sessionStorage object', { | ||
@@ -162,4 +192,4 @@ factory: function () { return inject(WINDOW).sessionStorage; }, | ||
export { ANIMATION_FRAME, CSS, LOCAL_STORAGE, LOCATION, NAVIGATOR, NETWORK_INFORMATION, PAGE_VISIBILITY, PERFORMANCE, SESSION_STORAGE, SPEECH_RECOGNITION, SPEECH_SYNTHESIS, USER_AGENT, WINDOW }; | ||
export { ANIMATION_FRAME, CACHES, CSS, HISTORY, LOCAL_STORAGE, LOCATION, NAVIGATOR, NETWORK_INFORMATION, PAGE_VISIBILITY, PERFORMANCE, SESSION_STORAGE, SPEECH_RECOGNITION, SPEECH_SYNTHESIS, USER_AGENT, WINDOW }; | ||
//# sourceMappingURL=ng-web-apis-common.js.map |
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":4,"metadata":{"ANIMATION_FRAME":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":35},"arguments":["Shared Observable based on `window.requestAnimationFrame`",{"__symbolic":"error","message":"Lambda not supported","line":9,"character":17,"module":"./tokens/animation-frame"}]},"CSS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":12,"character":23},"arguments":["An abstraction over window.CSS object",{"__symbolic":"error","message":"Lambda not supported","line":13,"character":13,"module":"./tokens/css"}]},"LOCAL_STORAGE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":33},"arguments":["An abstraction over window.localStorage object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/local-storage"}]},"LOCATION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":28},"arguments":["An abstraction over window.location object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/location"}]},"NAVIGATOR":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":29},"arguments":["An abstraction over window.navigator object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/navigator"}]},"NETWORK_INFORMATION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":5,"character":39},"arguments":["An abstraction over window.navigator.connection object",{"__symbolic":"error","message":"Lambda not supported","line":8,"character":17,"module":"./tokens/network-information"}]},"PAGE_VISIBILITY":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":5,"character":35},"arguments":["Shared Observable based on `document visibility changed`",{"__symbolic":"error","message":"Lambda not supported","line":8,"character":17,"module":"./tokens/page-visibility"}]},"PERFORMANCE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":31},"arguments":["An abstraction over window.performance object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/performance"}]},"SESSION_STORAGE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":35},"arguments":["An abstraction over window.sessionStorage object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/session-storage"}]},"SPEECH_RECOGNITION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":38},"arguments":["An abstraction over SpeechRecognition class",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/speech-recognition"}]},"SPEECH_SYNTHESIS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":36},"arguments":["An abstraction over window.speechSynthesis object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/speech-synthesis"}]},"USER_AGENT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":30},"arguments":["An abstraction over window.navigator.userAgent object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/user-agent"}]},"WINDOW":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":26},"arguments":["An abstraction over global window object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/window"}]}},"origins":{"ANIMATION_FRAME":"./tokens/animation-frame","CSS":"./tokens/css","LOCAL_STORAGE":"./tokens/local-storage","LOCATION":"./tokens/location","NAVIGATOR":"./tokens/navigator","NETWORK_INFORMATION":"./tokens/network-information","PAGE_VISIBILITY":"./tokens/page-visibility","PERFORMANCE":"./tokens/performance","SESSION_STORAGE":"./tokens/session-storage","SPEECH_RECOGNITION":"./tokens/speech-recognition","SPEECH_SYNTHESIS":"./tokens/speech-synthesis","USER_AGENT":"./tokens/user-agent","WINDOW":"./tokens/window"},"importAs":"@ng-web-apis/common"} | ||
{"__symbolic":"module","version":4,"metadata":{"ANIMATION_FRAME":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":5,"character":35},"arguments":["Shared Observable based on `window.requestAnimationFrame`",{"__symbolic":"error","message":"Lambda not supported","line":8,"character":17,"module":"./tokens/animation-frame"}]},"CACHES":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":26},"arguments":["An abstraction over window.caches object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/caches"}]},"CSS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":12,"character":23},"arguments":["An abstraction over window.CSS object",{"__symbolic":"error","message":"Lambda not supported","line":13,"character":13,"module":"./tokens/css"}]},"HISTORY":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":27},"arguments":["An abstraction over window.history object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/history"}]},"LOCAL_STORAGE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":33},"arguments":["An abstraction over window.localStorage object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/local-storage"}]},"LOCATION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":28},"arguments":["An abstraction over window.location object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/location"}]},"NAVIGATOR":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":29},"arguments":["An abstraction over window.navigator object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/navigator"}]},"NETWORK_INFORMATION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":5,"character":39},"arguments":["An abstraction over window.navigator.connection object",{"__symbolic":"error","message":"Lambda not supported","line":8,"character":17,"module":"./tokens/network-information"}]},"PAGE_VISIBILITY":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":5,"character":35},"arguments":["Shared Observable based on `document visibility changed`",{"__symbolic":"error","message":"Lambda not supported","line":8,"character":17,"module":"./tokens/page-visibility"}]},"PERFORMANCE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":31},"arguments":["An abstraction over window.performance object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/performance"}]},"SESSION_STORAGE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":35},"arguments":["An abstraction over window.sessionStorage object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/session-storage"}]},"SPEECH_RECOGNITION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":38},"arguments":["An abstraction over SpeechRecognition class",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/speech-recognition"}]},"SPEECH_SYNTHESIS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":36},"arguments":["An abstraction over window.speechSynthesis object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/speech-synthesis"}]},"USER_AGENT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":30},"arguments":["An abstraction over window.navigator.userAgent object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/user-agent"}]},"WINDOW":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":26},"arguments":["An abstraction over global window object",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/window"}]}},"origins":{"ANIMATION_FRAME":"./tokens/animation-frame","CACHES":"./tokens/caches","CSS":"./tokens/css","HISTORY":"./tokens/history","LOCAL_STORAGE":"./tokens/local-storage","LOCATION":"./tokens/location","NAVIGATOR":"./tokens/navigator","NETWORK_INFORMATION":"./tokens/network-information","PAGE_VISIBILITY":"./tokens/page-visibility","PERFORMANCE":"./tokens/performance","SESSION_STORAGE":"./tokens/session-storage","SPEECH_RECOGNITION":"./tokens/speech-recognition","SPEECH_SYNTHESIS":"./tokens/speech-synthesis","USER_AGENT":"./tokens/user-agent","WINDOW":"./tokens/window"},"importAs":"@ng-web-apis/common"} |
{ | ||
"name": "@ng-web-apis/common", | ||
"version": "1.9.0", | ||
"version": "1.11.0", | ||
"peerDependencies": { | ||
@@ -5,0 +5,0 @@ "@angular/common": ">=6.0.0", |
@@ -5,3 +5,5 @@ /** | ||
export * from './tokens/animation-frame'; | ||
export * from './tokens/caches'; | ||
export * from './tokens/css'; | ||
export * from './tokens/history'; | ||
export * from './tokens/local-storage'; | ||
@@ -8,0 +10,0 @@ export * from './tokens/location'; |
@@ -7,3 +7,3 @@ Common utils for Web APIs | ||
[![npm bundle size](https://img.shields.io/bundlephobia/minzip/@ng-web-apis/common)](https://bundlephobia.com/result?p=@ng-web-apis/common) | ||
[![Travis (.org)](https://img.shields.io/travis/ng-web-apis/common)](https://travis-ci.org/ng-web-apis/common) | ||
[![.github/workflows/ci.yml](https://github.com/ng-web-apis/common/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/ng-web-apis/common/actions/workflows/ci.yml) | ||
[![Coveralls github](https://img.shields.io/coveralls/github/ng-web-apis/common)](https://coveralls.io/github/ng-web-apis/common?branch=master) | ||
@@ -20,3 +20,4 @@ | ||
- `PERFORMANCE` — provides access to `window.performance` object | ||
- `ANIMATION_FRAME` — shared Observable based on `window.requestAnimationFrame` | ||
- `ANIMATION_FRAME` — shared `Observable` based on `window.requestAnimationFrame` | ||
- `CACHES` — provides access to `window.caches` object | ||
- `CSS` — provides access to `window.CSS` object or mock object if it's not available (i.e. in IE) | ||
@@ -29,1 +30,91 @@ - `LOCATION` — provides access to `window.location` object | ||
- `PAGE_VISIBILITY` — wrapper for `document.addEventListener('visibilityChange')` api | ||
- `HISTORY` — provides access to `window.history` object | ||
## How to use | ||
Just inject a token you need. You can also take a look at [Stackblitz sample](https://stackblitz.com/edit/ng-web-apis) | ||
## What advantages do we get from abstract entities in our app? | ||
👨🎓 **It is easy to understand:** you see all dependencies of your entity in its constructor | ||
🧞 **It is easy to test:** you can just mock any of your dependencies to test | ||
🧩 **It is easy to reuse:** your components and directives can be used in any context if it has dependencies that they need to be created | ||
♻️ **It is environment agnostic:** you can start your app in SSR or other environments (see also [@ng-web-apis/universal](https://github.com/ng-web-apis/universal)) | ||
## See also | ||
Other [Web APIs for Angular](https://ng-web-apis.github.io/) by [@ng-web-apis](https://github.com/ng-web-apis) | ||
## Core team | ||
<table> | ||
<tr> | ||
<td align="center"> | ||
<a href="https://twitter.com/waterplea" | ||
><img | ||
src="https://github.com/waterplea.png?size=100" | ||
width="100" | ||
style="margin-bottom: -4px; border-radius: 8px;" | ||
alt="Alex Inkin" | ||
/><br /><b>Alex Inkin</b></a | ||
> | ||
<div style="margin-top: 4px"> | ||
<a | ||
href="https://twitter.com/waterplea" | ||
title="Twitter" | ||
><img | ||
width="16" | ||
src="https://raw.githubusercontent.com/MarsiBarsi/readme-icons/main/twitter.svg" | ||
/></a> | ||
<a href="https://github.com/waterplea" title="Github" | ||
><img | ||
width="16" | ||
src="https://raw.githubusercontent.com/MarsiBarsi/readme-icons/main/github.svg" | ||
/></a> | ||
<a | ||
href="https://t.me/waterplea" | ||
title="Telegram" | ||
><img | ||
width="16" | ||
src="https://raw.githubusercontent.com/MarsiBarsi/readme-icons/main/send.svg" | ||
/></a> | ||
</div> | ||
</td> | ||
<td align="center"> | ||
<a href="http://marsibarsi.me" | ||
><img | ||
src="https://github.com/marsibarsi.png?size=100" | ||
width="100" | ||
style="margin-bottom: -4px; border-radius: 8px;" | ||
alt="Roman Sedov" | ||
/><br /><b>Roman Sedov</b></a | ||
> | ||
<div style="margin-top: 4px"> | ||
<a | ||
href="https://twitter.com/marsibarsi" | ||
title="Twitter" | ||
><img | ||
width="16" | ||
src="https://raw.githubusercontent.com/MarsiBarsi/readme-icons/main/twitter.svg" | ||
/></a> | ||
<a | ||
href="https://github.com/marsibarsi" | ||
title="GitHub" | ||
><img | ||
width="16" | ||
src="https://raw.githubusercontent.com/MarsiBarsi/readme-icons/main/github.svg" | ||
/></a> | ||
<a | ||
href="https://t.me/marsibarsi" | ||
title="Telegram" | ||
><img | ||
width="16" | ||
src="https://raw.githubusercontent.com/MarsiBarsi/readme-icons/main/send.svg" | ||
/></a> | ||
</div> | ||
</td> | ||
</tr> | ||
</table> |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
145982
64
1086
118