Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ngx-page-scroll

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ngx-page-scroll - npm Package Compare versions

Comparing version 6.0.2 to 7.0.0

289

bundles/ngx-page-scroll.umd.js
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/router'), require('@angular/common'), require('ngx-page-scroll-core')) :
typeof define === 'function' && define.amd ? define('ngx-page-scroll', ['exports', '@angular/core', '@angular/router', '@angular/common', 'ngx-page-scroll-core'], factory) :
(factory((global['ngx-page-scroll'] = {}),global.ng.core,global.ng.router,global.ng.common,global.ngxPageScrollCore));
}(this, (function (exports,core,router,common,ngxPageScrollCore) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('ngx-page-scroll-core'), require('@angular/router'), require('@angular/common')) :
typeof define === 'function' && define.amd ? define('ngx-page-scroll', ['exports', '@angular/core', 'ngx-page-scroll-core', '@angular/router', '@angular/common'], factory) :
(global = global || self, factory(global['ngx-page-scroll'] = {}, global.ng.core, global.ngxPageScrollCore, global.ng.router, global.ng.common));
}(this, function (exports, core, ngxPageScrollCore, router, common) { 'use strict';

@@ -12,8 +12,8 @@ /**

var NgxPageScrollDirective = /** @class */ (function () {
function NgxPageScrollDirective(pageScrollService, router$$1, document) {
function NgxPageScrollDirective(pageScrollService, router, document) {
this.pageScrollService = pageScrollService;
this.router = router$$1;
this.router = router;
this.pageScrollAdjustHash = false;
this.pageScrollFinish = new core.EventEmitter();
this.document = ( /** @type {?} */(document));
this.document = (/** @type {?} */ (document));
}

@@ -28,6 +28,6 @@ /**

*/
function (changes) {
// Some inputs changed, reset the pageScrollInstance
this.pageScrollInstance = undefined;
};
function (changes) {
// Some inputs changed, reset the pageScrollInstance
this.pageScrollInstance = undefined;
};
/**

@@ -39,7 +39,7 @@ * @return {?}

*/
function () {
if (this.pageScrollInstance) {
this.pageScrollService.stop(this.pageScrollInstance);
}
};
function () {
if (this.pageScrollInstance) {
this.pageScrollService.stop(this.pageScrollInstance);
}
};
/**

@@ -53,37 +53,40 @@ * @private

*/
function () {
if (this.pageScrollInstance === undefined || this.pageScrollInstance === null) {
/** @type {?} */
var options = {
document: this.document,
scrollTarget: this.pageScrollTarget || this.href,
};
if (this.pageScroll) {
options.namespace = this.pageScroll;
}
if (this.pageScrollHorizontal !== undefined && this.pageScrollHorizontal !== null) {
options.verticalScrolling = !this.pageScrollHorizontal;
}
if (this.pageScrollOffset !== undefined && this.pageScrollOffset !== null) {
options.scrollOffset = this.pageScrollOffset;
}
if (this.pageScrollInterruptible !== undefined && this.pageScrollInterruptible !== null) {
options.interruptible = this.pageScrollInterruptible;
}
if (this.pageScrollEasing) {
options.easingLogic = this.pageScrollEasing;
}
if (this.pageScrollDuration !== undefined && this.pageScrollDuration !== null) {
options.duration = this.pageScrollDuration;
}
if (this.pageScrollSpeed !== undefined && this.pageScrollSpeed !== null) {
options.speed = this.pageScrollSpeed;
}
if (this.pageScrollFinish) {
options.scrollFinishListener = this.pageScrollFinish;
}
this.pageScrollInstance = this.pageScrollService.create(options);
function () {
if (this.pageScrollInstance === undefined || this.pageScrollInstance === null) {
/** @type {?} */
var options = {
document: this.document,
scrollTarget: this.pageScrollTarget || this.href,
};
if (this.pageScroll) {
options.namespace = this.pageScroll;
}
return this.pageScrollInstance;
};
if (this.pageScrollHorizontal !== undefined && this.pageScrollHorizontal !== null) {
options.verticalScrolling = !this.pageScrollHorizontal;
}
if (this.pageScrollOffset !== undefined && this.pageScrollOffset !== null) {
options.scrollOffset = this.pageScrollOffset;
}
if (this.pageScrollInterruptible !== undefined && this.pageScrollInterruptible !== null) {
options.interruptible = this.pageScrollInterruptible;
}
if (this.pageScrollInView !== undefined && this.pageScrollInView !== null) {
options.scrollInView = this.pageScrollInView;
}
if (this.pageScrollEasing) {
options.easingLogic = this.pageScrollEasing;
}
if (this.pageScrollDuration !== undefined && this.pageScrollDuration !== null) {
options.duration = this.pageScrollDuration;
}
if (this.pageScrollSpeed !== undefined && this.pageScrollSpeed !== null) {
options.speed = this.pageScrollSpeed;
}
if (this.pageScrollFinish) {
options.scrollFinishListener = this.pageScrollFinish;
}
this.pageScrollInstance = this.pageScrollService.create(options);
}
return this.pageScrollInstance;
};
/**

@@ -97,12 +100,12 @@ * @private

*/
function () {
if (this.pageScrollAdjustHash && typeof this.pageScrollInstance.pageScrollOptions.scrollTarget === 'string'
&& (( /** @type {?} */(this.pageScrollInstance.pageScrollOptions.scrollTarget))).substr(0, 1) === '#') {
// "Navigate" to the current route again and this time set the fragment/hash
this.router.navigate([], {
fragment: (( /** @type {?} */(this.pageScrollInstance.pageScrollOptions.scrollTarget))).substr(1),
preserveQueryParams: true,
});
}
};
function () {
if (this.pageScrollAdjustHash && typeof this.pageScrollInstance.pageScrollOptions.scrollTarget === 'string'
&& ((/** @type {?} */ (this.pageScrollInstance.pageScrollOptions.scrollTarget))).substr(0, 1) === '#') {
// "Navigate" to the current route again and this time set the fragment/hash
this.router.navigate([], {
fragment: ((/** @type {?} */ (this.pageScrollInstance.pageScrollOptions.scrollTarget))).substr(1),
preserveQueryParams: true,
});
}
};
/**

@@ -116,8 +119,8 @@ * @private

*/
function () {
/** @type {?} */
var pageScrollInstance = this.generatePageScrollInstance();
this.pushRouterState();
this.pageScrollService.start(pageScrollInstance);
};
function () {
/** @type {?} */
var pageScrollInstance = this.generatePageScrollInstance();
this.pushRouterState();
this.pageScrollService.start(pageScrollInstance);
};
/**

@@ -131,41 +134,43 @@ * @param {?} clickEvent

*/
function (clickEvent) {
var _this = this;
if (this.routerLink && this.router !== null && this.router !== undefined) {
function (clickEvent) {
var _this = this;
if (this.routerLink && this.router !== null && this.router !== undefined) {
/** @type {?} */
var urlTree = void 0;
if (typeof this.routerLink === 'string') {
urlTree = this.router.parseUrl(this.routerLink);
}
else {
urlTree = this.router.createUrlTree(this.routerLink);
}
if (!this.router.isActive(urlTree, true)) {
// We need to navigate their first.
// Navigation is handled by the routerLink directive
// so we only need to listen for route change
/** @type {?} */
var urlTree = void 0;
if (typeof this.routerLink === 'string') {
urlTree = this.router.parseUrl(this.routerLink);
}
else {
urlTree = this.router.createUrlTree(this.routerLink);
}
if (!this.router.isActive(urlTree, true)) {
// We need to navigate their first.
// Navigation is handled by the routerLink directive
// so we only need to listen for route change
/** @type {?} */
var subscription_1 = ( /** @type {?} */(this.router.events.subscribe(( /**
* @param {?} routerEvent
* @return {?}
*/function (routerEvent) {
if (routerEvent instanceof router.NavigationEnd) {
subscription_1.unsubscribe();
// use a timeout to start scrolling as soon as the stack is cleared
setTimeout(( /**
* @return {?}
*/function () {
_this.scroll();
}), 0);
}
else if (routerEvent instanceof router.NavigationError || routerEvent instanceof router.NavigationCancel) {
subscription_1.unsubscribe();
}
}))));
return false; // to preventDefault()
}
var subscription_1 = (/** @type {?} */ (this.router.events.subscribe((/**
* @param {?} routerEvent
* @return {?}
*/
function (routerEvent) {
if (routerEvent instanceof router.NavigationEnd) {
subscription_1.unsubscribe();
// use a timeout to start scrolling as soon as the stack is cleared
setTimeout((/**
* @return {?}
*/
function () {
_this.scroll();
}), 0);
}
else if (routerEvent instanceof router.NavigationError || routerEvent instanceof router.NavigationCancel) {
subscription_1.unsubscribe();
}
}))));
return false; // to preventDefault()
}
this.scroll();
return false; // to preventDefault()
};
}
this.scroll();
return false; // to preventDefault()
};
NgxPageScrollDirective.decorators = [

@@ -180,9 +185,7 @@ { type: core.Directive, args: [{

/** @nocollapse */
NgxPageScrollDirective.ctorParameters = function () {
return [
{ type: ngxPageScrollCore.PageScrollService },
{ type: router.Router, decorators: [{ type: core.Optional }] },
{ type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] }
];
};
NgxPageScrollDirective.ctorParameters = function () { return [
{ type: ngxPageScrollCore.PageScrollService },
{ type: router.Router, decorators: [{ type: core.Optional }] },
{ type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] }
]; };
NgxPageScrollDirective.propDecorators = {

@@ -198,2 +201,3 @@ routerLink: [{ type: core.Input }],

pageScrollInterruptible: [{ type: core.Input }],
pageScrollInView: [{ type: core.Input }],
pageScrollAdjustHash: [{ type: core.Input }],

@@ -205,2 +209,50 @@ pageScroll: [{ type: core.Input }],

}());
if (false) {
/** @type {?} */
NgxPageScrollDirective.prototype.routerLink;
/** @type {?} */
NgxPageScrollDirective.prototype.href;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollTarget;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollHorizontal;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollOffset;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollDuration;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollSpeed;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollEasing;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollInterruptible;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollInView;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollAdjustHash;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScroll;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollFinish;
/**
* @type {?}
* @private
*/
NgxPageScrollDirective.prototype.pageScrollInstance;
/**
* @type {?}
* @private
*/
NgxPageScrollDirective.prototype.document;
/**
* @type {?}
* @private
*/
NgxPageScrollDirective.prototype.pageScrollService;
/**
* @type {?}
* @private
*/
NgxPageScrollDirective.prototype.router;
}

@@ -230,19 +282,8 @@ /**

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
exports.NgxPageScrollDirective = NgxPageScrollDirective;
exports.NgxPageScrollModule = NgxPageScrollModule;
exports.NgxPageScrollDirective = NgxPageScrollDirective;
Object.defineProperty(exports, '__esModule', { value: true });
})));
//# sourceMappingURL=ngx-page-scroll.umd.js.map
}));
//# sourceMappingURL=ngx-page-scroll.umd.js.map

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/router"),require("@angular/common"),require("ngx-page-scroll-core")):"function"==typeof define&&define.amd?define("ngx-page-scroll",["exports","@angular/core","@angular/router","@angular/common","ngx-page-scroll-core"],t):t(e["ngx-page-scroll"]={},e.ng.core,e.ng.router,e.ng.common,e.ngxPageScrollCore)}(this,function(e,o,l,t,r){"use strict";var n=function(){function e(e,t,r){this.pageScrollService=e,this.router=t,this.pageScrollAdjustHash=!1,this.pageScrollFinish=new o.EventEmitter,this.document=r}return e.prototype.ngOnChanges=function(e){this.pageScrollInstance=undefined},e.prototype.ngOnDestroy=function(){this.pageScrollInstance&&this.pageScrollService.stop(this.pageScrollInstance)},e.prototype.generatePageScrollInstance=function(){if(this.pageScrollInstance===undefined||null===this.pageScrollInstance){var e={document:this.document,scrollTarget:this.pageScrollTarget||this.href};this.pageScroll&&(e.namespace=this.pageScroll),this.pageScrollHorizontal!==undefined&&null!==this.pageScrollHorizontal&&(e.verticalScrolling=!this.pageScrollHorizontal),this.pageScrollOffset!==undefined&&null!==this.pageScrollOffset&&(e.scrollOffset=this.pageScrollOffset),this.pageScrollInterruptible!==undefined&&null!==this.pageScrollInterruptible&&(e.interruptible=this.pageScrollInterruptible),this.pageScrollEasing&&(e.easingLogic=this.pageScrollEasing),this.pageScrollDuration!==undefined&&null!==this.pageScrollDuration&&(e.duration=this.pageScrollDuration),this.pageScrollSpeed!==undefined&&null!==this.pageScrollSpeed&&(e.speed=this.pageScrollSpeed),this.pageScrollFinish&&(e.scrollFinishListener=this.pageScrollFinish),this.pageScrollInstance=this.pageScrollService.create(e)}return this.pageScrollInstance},e.prototype.pushRouterState=function(){this.pageScrollAdjustHash&&"string"==typeof this.pageScrollInstance.pageScrollOptions.scrollTarget&&"#"===this.pageScrollInstance.pageScrollOptions.scrollTarget.substr(0,1)&&this.router.navigate([],{fragment:this.pageScrollInstance.pageScrollOptions.scrollTarget.substr(1),preserveQueryParams:!0})},e.prototype.scroll=function(){var e=this.generatePageScrollInstance();this.pushRouterState(),this.pageScrollService.start(e)},e.prototype.handleClick=function(e){var t=this;if(this.routerLink&&null!==this.router&&this.router!==undefined){var r=void 0;if(r="string"==typeof this.routerLink?this.router.parseUrl(this.routerLink):this.router.createUrlTree(this.routerLink),!this.router.isActive(r,!0)){var o=this.router.events.subscribe(function(e){e instanceof l.NavigationEnd?(o.unsubscribe(),setTimeout(function(){t.scroll()},0)):(e instanceof l.NavigationError||e instanceof l.NavigationCancel)&&o.unsubscribe()});return!1}}return this.scroll(),!1},e.decorators=[{type:o.Directive,args:[{selector:"[pageScroll]",host:{"(click)":"handleClick($event)"}}]}],e.ctorParameters=function(){return[{type:r.PageScrollService},{type:l.Router,decorators:[{type:o.Optional}]},{type:undefined,decorators:[{type:o.Inject,args:[t.DOCUMENT]}]}]},e.propDecorators={routerLink:[{type:o.Input}],href:[{type:o.Input}],pageScrollTarget:[{type:o.Input}],pageScrollHorizontal:[{type:o.Input}],pageScrollOffset:[{type:o.Input}],pageScrollDuration:[{type:o.Input}],pageScrollSpeed:[{type:o.Input}],pageScrollEasing:[{type:o.Input}],pageScrollInterruptible:[{type:o.Input}],pageScrollAdjustHash:[{type:o.Input}],pageScroll:[{type:o.Input}],pageScrollFinish:[{type:o.Output}]},e}(),i=function(){function e(){}return e.decorators=[{type:o.NgModule,args:[{declarations:[n],imports:[r.NgxPageScrollCoreModule],exports:[n]}]}],e}();e.NgxPageScrollModule=i,e.NgxPageScrollDirective=n,Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("ngx-page-scroll-core"),require("@angular/router"),require("@angular/common")):"function"==typeof define&&define.amd?define("ngx-page-scroll",["exports","@angular/core","ngx-page-scroll-core","@angular/router","@angular/common"],t):t((e=e||self)["ngx-page-scroll"]={},e.ng.core,e.ngxPageScrollCore,e.ng.router,e.ng.common)}(this,function(e,t,r,o,l){"use strict";var i=function(){function e(e,r,o){this.pageScrollService=e,this.router=r,this.pageScrollAdjustHash=!1,this.pageScrollFinish=new t.EventEmitter,this.document=o}return e.prototype.ngOnChanges=function(e){this.pageScrollInstance=void 0},e.prototype.ngOnDestroy=function(){this.pageScrollInstance&&this.pageScrollService.stop(this.pageScrollInstance)},e.prototype.generatePageScrollInstance=function(){if(void 0===this.pageScrollInstance||null===this.pageScrollInstance){var e={document:this.document,scrollTarget:this.pageScrollTarget||this.href};this.pageScroll&&(e.namespace=this.pageScroll),void 0!==this.pageScrollHorizontal&&null!==this.pageScrollHorizontal&&(e.verticalScrolling=!this.pageScrollHorizontal),void 0!==this.pageScrollOffset&&null!==this.pageScrollOffset&&(e.scrollOffset=this.pageScrollOffset),void 0!==this.pageScrollInterruptible&&null!==this.pageScrollInterruptible&&(e.interruptible=this.pageScrollInterruptible),void 0!==this.pageScrollInView&&null!==this.pageScrollInView&&(e.scrollInView=this.pageScrollInView),this.pageScrollEasing&&(e.easingLogic=this.pageScrollEasing),void 0!==this.pageScrollDuration&&null!==this.pageScrollDuration&&(e.duration=this.pageScrollDuration),void 0!==this.pageScrollSpeed&&null!==this.pageScrollSpeed&&(e.speed=this.pageScrollSpeed),this.pageScrollFinish&&(e.scrollFinishListener=this.pageScrollFinish),this.pageScrollInstance=this.pageScrollService.create(e)}return this.pageScrollInstance},e.prototype.pushRouterState=function(){this.pageScrollAdjustHash&&"string"==typeof this.pageScrollInstance.pageScrollOptions.scrollTarget&&"#"===this.pageScrollInstance.pageScrollOptions.scrollTarget.substr(0,1)&&this.router.navigate([],{fragment:this.pageScrollInstance.pageScrollOptions.scrollTarget.substr(1),preserveQueryParams:!0})},e.prototype.scroll=function(){var e=this.generatePageScrollInstance();this.pushRouterState(),this.pageScrollService.start(e)},e.prototype.handleClick=function(e){var t=this;if(this.routerLink&&null!==this.router&&void 0!==this.router){var r=void 0;if(r="string"==typeof this.routerLink?this.router.parseUrl(this.routerLink):this.router.createUrlTree(this.routerLink),!this.router.isActive(r,!0)){var l=this.router.events.subscribe(function(e){e instanceof o.NavigationEnd?(l.unsubscribe(),setTimeout(function(){t.scroll()},0)):(e instanceof o.NavigationError||e instanceof o.NavigationCancel)&&l.unsubscribe()});return!1}}return this.scroll(),!1},e.decorators=[{type:t.Directive,args:[{selector:"[pageScroll]",host:{"(click)":"handleClick($event)"}}]}],e.ctorParameters=function(){return[{type:r.PageScrollService},{type:o.Router,decorators:[{type:t.Optional}]},{type:void 0,decorators:[{type:t.Inject,args:[l.DOCUMENT]}]}]},e.propDecorators={routerLink:[{type:t.Input}],href:[{type:t.Input}],pageScrollTarget:[{type:t.Input}],pageScrollHorizontal:[{type:t.Input}],pageScrollOffset:[{type:t.Input}],pageScrollDuration:[{type:t.Input}],pageScrollSpeed:[{type:t.Input}],pageScrollEasing:[{type:t.Input}],pageScrollInterruptible:[{type:t.Input}],pageScrollInView:[{type:t.Input}],pageScrollAdjustHash:[{type:t.Input}],pageScroll:[{type:t.Input}],pageScrollFinish:[{type:t.Output}]},e}();var n=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[i],imports:[r.NgxPageScrollCoreModule],exports:[i]}]}],e}();e.NgxPageScrollDirective=i,e.NgxPageScrollModule=n,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=ngx-page-scroll.umd.min.js.map

@@ -5,3 +5,3 @@ /**

*/
/* tslint:disable:use-host-property-decorator directive-selector */
/* tslint:disable:no-host-metadata-property directive-selector */
import { Directive, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';

@@ -63,2 +63,5 @@ import { NavigationCancel, NavigationEnd, NavigationError, Router } from '@angular/router';

}
if (this.pageScrollInView !== undefined && this.pageScrollInView !== null) {
options.scrollInView = this.pageScrollInView;
}
if (this.pageScrollEasing) {

@@ -173,2 +176,3 @@ options.easingLogic = this.pageScrollEasing;

pageScrollInterruptible: [{ type: Input }],
pageScrollInView: [{ type: Input }],
pageScrollAdjustHash: [{ type: Input }],

@@ -198,2 +202,4 @@ pageScroll: [{ type: Input }],

/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollInView;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollAdjustHash;

@@ -225,2 +231,2 @@ /** @type {?} */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhZ2Utc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wYWdlLXNjcm9sbC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtcGFnZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczQyxPQUFPLEVBQXNELGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFRN0csTUFBTSxPQUFPLHNCQUFzQjs7Ozs7O0lBeUNqQyxZQUFvQixpQkFBb0MsRUFBc0IsTUFBYyxFQUFvQixRQUFhO1FBQXpHLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFBc0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVhyRix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFNcEMscUJBQWdCLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFNcEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxtQkFBVyxRQUFRLEVBQUEsQ0FBQztJQUN0QyxDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztJQUN0QyxDQUFDOzs7O0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDdEQ7SUFDSCxDQUFDOzs7OztJQUVPLDBCQUEwQjtR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QUM7OztZQWxKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLElBQUksRUFBRTtvQkFDSixTQUFTLEVBQUUscUJBQXFCO2lCQUNqQzthQUNGOzs7O1lBUDRELGlCQUFpQjtZQUpuQixNQUFNLHVCQXFESixRQUFROzRDQUE0QixNQUFNLFNBQUMsUUFBUTs7O3lCQXZDN0csS0FBSzttQkFHTCxLQUFLOytCQUdMLEtBQUs7bUNBR0wsS0FBSzsrQkFHTCxLQUFLO2lDQUdMLEtBQUs7OEJBR0wsS0FBSzsrQkFHTCxLQUFLO3NDQUdMLEtBQUs7bUNBR0wsS0FBSzt5QkFHTCxLQUFLOytCQUdMLE1BQU07Ozs7SUFqQ1AsNENBQ3VCOztJQUV2QixzQ0FDb0I7O0lBRXBCLGtEQUNnQzs7SUFFaEMsc0RBQ3FDOztJQUVyQyxrREFDZ0M7O0lBRWhDLG9EQUNrQzs7SUFFbEMsaURBQytCOztJQUUvQixrREFDcUM7O0lBRXJDLHlEQUN3Qzs7SUFFeEMsc0RBQ29DOztJQUVwQyw0Q0FDMEI7O0lBRTFCLGtEQUNzRTs7Ozs7SUFFdEUsb0RBQStDOzs7OztJQUMvQywwQ0FBMkI7Ozs7O0lBRWYsbURBQTRDOzs7OztJQUFFLHdDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlOnVzZS1ob3N0LXByb3BlcnR5LWRlY29yYXRvciBkaXJlY3RpdmUtc2VsZWN0b3IgKi9cblxuaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkVycm9yLCBSb3V0ZXIsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVhc2luZ0xvZ2ljLCBQYWdlU2Nyb2xsSW5zdGFuY2UsIFBhZ2VTY3JvbGxPcHRpb25zLCBQYWdlU2Nyb2xsU2VydmljZSB9IGZyb20gJ25neC1wYWdlLXNjcm9sbC1jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3BhZ2VTY3JvbGxdJyxcbiAgaG9zdDoge1xuICAgICcoY2xpY2spJzogJ2hhbmRsZUNsaWNrKCRldmVudCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hQYWdlU2Nyb2xsRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3V0ZXJMaW5rOiBhbnk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhyZWY6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbFRhcmdldDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsSG9yaXpvbnRhbDogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbE9mZnNldDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsRHVyYXRpb246IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbFNwZWVkOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxFYXNpbmc6IEVhc2luZ0xvZ2ljO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsSW50ZXJydXB0aWJsZTogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbEFkanVzdEhhc2ggPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbDogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKVxuICBwYWdlU2Nyb2xsRmluaXNoOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBwYWdlU2Nyb2xsSW5zdGFuY2U6IFBhZ2VTY3JvbGxJbnN0YW5jZTtcbiAgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYWdlU2Nyb2xsU2VydmljZTogUGFnZVNjcm9sbFNlcnZpY2UsIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnkpIHtcbiAgICB0aGlzLmRvY3VtZW50ID0gPERvY3VtZW50PiBkb2N1bWVudDtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLyBTb21lIGlucHV0cyBjaGFuZ2VkLCByZXNldCB0aGUgcGFnZVNjcm9sbEluc3RhbmNlXG4gICAgdGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UpIHtcbiAgICAgIHRoaXMucGFnZVNjcm9sbFNlcnZpY2Uuc3RvcCh0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVBhZ2VTY3JvbGxJbnN0YW5jZSgpOiBQYWdlU2Nyb2xsSW5zdGFuY2Uge1xuICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucGFnZVNjcm9sbEluc3RhbmNlID09PSBudWxsKSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBQYWdlU2Nyb2xsT3B0aW9ucyA9IHtcbiAgICAgICAgZG9jdW1lbnQ6IHRoaXMuZG9jdW1lbnQsXG4gICAgICAgIHNjcm9sbFRhcmdldDogdGhpcy5wYWdlU2Nyb2xsVGFyZ2V0IHx8IHRoaXMuaHJlZixcbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGwpIHtcbiAgICAgICAgb3B0aW9ucy5uYW1lc3BhY2UgPSB0aGlzLnBhZ2VTY3JvbGw7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsSG9yaXpvbnRhbCAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbEhvcml6b250YWwgIT09IG51bGwpIHtcbiAgICAgICAgb3B0aW9ucy52ZXJ0aWNhbFNjcm9sbGluZyA9ICF0aGlzLnBhZ2VTY3JvbGxIb3Jpem9udGFsO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnZVNjcm9sbE9mZnNldCAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbE9mZnNldCAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLnNjcm9sbE9mZnNldCA9IHRoaXMucGFnZVNjcm9sbE9mZnNldDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxJbnRlcnJ1cHRpYmxlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5wYWdlU2Nyb2xsSW50ZXJydXB0aWJsZSAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLmludGVycnVwdGlibGUgPSB0aGlzLnBhZ2VTY3JvbGxJbnRlcnJ1cHRpYmxlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnZVNjcm9sbEVhc2luZykge1xuICAgICAgICBvcHRpb25zLmVhc2luZ0xvZ2ljID0gdGhpcy5wYWdlU2Nyb2xsRWFzaW5nO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnZVNjcm9sbER1cmF0aW9uICE9PSB1bmRlZmluZWQgJiYgdGhpcy5wYWdlU2Nyb2xsRHVyYXRpb24gIT09IG51bGwpIHtcbiAgICAgICAgb3B0aW9ucy5kdXJhdGlvbiA9IHRoaXMucGFnZVNjcm9sbER1cmF0aW9uO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnZVNjcm9sbFNwZWVkICE9PSB1bmRlZmluZWQgJiYgdGhpcy5wYWdlU2Nyb2xsU3BlZWQgIT09IG51bGwpIHtcbiAgICAgICAgb3B0aW9ucy5zcGVlZCA9IHRoaXMucGFnZVNjcm9sbFNwZWVkO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnZVNjcm9sbEZpbmlzaCkge1xuICAgICAgICBvcHRpb25zLnNjcm9sbEZpbmlzaExpc3RlbmVyID0gdGhpcy5wYWdlU2Nyb2xsRmluaXNoO1xuICAgICAgfVxuICAgICAgdGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UgPSB0aGlzLnBhZ2VTY3JvbGxTZXJ2aWNlLmNyZWF0ZShvcHRpb25zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2U7XG4gIH1cblxuICBwcml2YXRlIHB1c2hSb3V0ZXJTdGF0ZSgpIHtcbiAgICBpZiAodGhpcy5wYWdlU2Nyb2xsQWRqdXN0SGFzaCAmJiB0eXBlb2YgdGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UucGFnZVNjcm9sbE9wdGlvbnMuc2Nyb2xsVGFyZ2V0ID09PSAnc3RyaW5nJ1xuICAgICAgJiYgKDxzdHJpbmc+dGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UucGFnZVNjcm9sbE9wdGlvbnMuc2Nyb2xsVGFyZ2V0KS5zdWJzdHIoMCwgMSkgPT09ICcjJykge1xuICAgICAgLy8gXCJOYXZpZ2F0ZVwiIHRvIHRoZSBjdXJyZW50IHJvdXRlIGFnYWluIGFuZCB0aGlzIHRpbWUgc2V0IHRoZSBmcmFnbWVudC9oYXNoXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgICBmcmFnbWVudDogKDxzdHJpbmc+dGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UucGFnZVNjcm9sbE9wdGlvbnMuc2Nyb2xsVGFyZ2V0KS5zdWJzdHIoMSksXG4gICAgICAgIHByZXNlcnZlUXVlcnlQYXJhbXM6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbCgpOiB2b2lkIHtcbiAgICBjb25zdCBwYWdlU2Nyb2xsSW5zdGFuY2UgPSB0aGlzLmdlbmVyYXRlUGFnZVNjcm9sbEluc3RhbmNlKCk7XG4gICAgdGhpcy5wdXNoUm91dGVyU3RhdGUoKTtcbiAgICB0aGlzLnBhZ2VTY3JvbGxTZXJ2aWNlLnN0YXJ0KHBhZ2VTY3JvbGxJbnN0YW5jZSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQ2xpY2soY2xpY2tFdmVudDogRXZlbnQpOiBib29sZWFuIHsgLy8gdHNsaW50OmRpc2FibGUtbGluZTpuby11bnVzZWQtdmFyaWFibGVcbiAgICBpZiAodGhpcy5yb3V0ZXJMaW5rICYmIHRoaXMucm91dGVyICE9PSBudWxsICYmIHRoaXMucm91dGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCB1cmxUcmVlOiBVcmxUcmVlO1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLnJvdXRlckxpbmsgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHVybFRyZWUgPSB0aGlzLnJvdXRlci5wYXJzZVVybCh0aGlzLnJvdXRlckxpbmspO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdXJsVHJlZSA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUodGhpcy5yb3V0ZXJMaW5rKTtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5yb3V0ZXIuaXNBY3RpdmUodXJsVHJlZSwgdHJ1ZSkpIHtcbiAgICAgICAgLy8gV2UgbmVlZCB0byBuYXZpZ2F0ZSB0aGVpciBmaXJzdC5cbiAgICAgICAgLy8gTmF2aWdhdGlvbiBpcyBoYW5kbGVkIGJ5IHRoZSByb3V0ZXJMaW5rIGRpcmVjdGl2ZVxuICAgICAgICAvLyBzbyB3ZSBvbmx5IG5lZWQgdG8gbGlzdGVuIGZvciByb3V0ZSBjaGFuZ2VcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSA8U3Vic2NyaXB0aW9uPnRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKHJvdXRlckV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKHJvdXRlckV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAvLyB1c2UgYSB0aW1lb3V0IHRvIHN0YXJ0IHNjcm9sbGluZyBhcyBzb29uIGFzIHRoZSBzdGFjayBpcyBjbGVhcmVkXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zY3JvbGwoKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgIH0gZWxzZSBpZiAocm91dGVyRXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRXJyb3IgfHwgcm91dGVyRXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2FuY2VsKSB7XG4gICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBmYWxzZTsgLy8gdG8gcHJldmVudERlZmF1bHQoKVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNjcm9sbCgpO1xuXG4gICAgcmV0dXJuIGZhbHNlOyAvLyB0byBwcmV2ZW50RGVmYXVsdCgpXG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhZ2Utc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wYWdlLXNjcm9sbC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtcGFnZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczQyxPQUFPLEVBQXNELGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFRN0csTUFBTSxPQUFPLHNCQUFzQjs7Ozs7O0lBNENqQyxZQUFvQixpQkFBb0MsRUFBc0IsTUFBYyxFQUFvQixRQUFhO1FBQXpHLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFBc0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVhyRix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFNcEMscUJBQWdCLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFNcEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxtQkFBVSxRQUFRLEVBQUEsQ0FBQztJQUNyQyxDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztJQUN0QyxDQUFDOzs7O0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDdEQ7SUFDSCxDQUFDOzs7OztJQUVPLDBCQUEwQjtR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Q0FBQyxFQUFDLEVBQUE7Z0JBRUYsT0FBTyxLQUFLLENBQUMsQ0FBQyxzQkFBc0I7YUFDckM7U0FDRjtRQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVkLE9BQU8sS0FBSyxDQUFDLENBQUMsc0JBQXNCO0lBQ3RDLENBQUM7OztZQXhKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLElBQUksRUFBRTtvQkFDSixTQUFTLEVBQUUscUJBQXFCO2lCQUNqQzthQUNGOzs7O1lBUDRELGlCQUFpQjtZQUpuQixNQUFNLHVCQXdESixRQUFROzRDQUE0QixNQUFNLFNBQUMsUUFBUTs7O3lCQTFDN0csS0FBSzttQkFHTCxLQUFLOytCQUdMLEtBQUs7bUNBR0wsS0FBSzsrQkFHTCxLQUFLO2lDQUdMLEtBQUs7OEJBR0wsS0FBSzsrQkFHTCxLQUFLO3NDQUdMLEtBQUs7K0JBR0wsS0FBSzttQ0FHTCxLQUFLO3lCQUdMLEtBQUs7K0JBR0wsTUFBTTs7OztJQXBDUCw0Q0FDdUI7O0lBRXZCLHNDQUNvQjs7SUFFcEIsa0RBQ2dDOztJQUVoQyxzREFDcUM7O0lBRXJDLGtEQUNnQzs7SUFFaEMsb0RBQ2tDOztJQUVsQyxpREFDK0I7O0lBRS9CLGtEQUNxQzs7SUFFckMseURBQ3dDOztJQUV4QyxrREFDaUM7O0lBRWpDLHNEQUNvQzs7SUFFcEMsNENBQzBCOztJQUUxQixrREFDc0U7Ozs7O0lBRXRFLG9EQUErQzs7Ozs7SUFDL0MsMENBQTJCOzs7OztJQUVmLG1EQUE0Qzs7Ozs7SUFBRSx3Q0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZTpuby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5IGRpcmVjdGl2ZS1zZWxlY3RvciAqL1xuXG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uRXJyb3IsIFJvdXRlciwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRWFzaW5nTG9naWMsIFBhZ2VTY3JvbGxJbnN0YW5jZSwgUGFnZVNjcm9sbE9wdGlvbnMsIFBhZ2VTY3JvbGxTZXJ2aWNlIH0gZnJvbSAnbmd4LXBhZ2Utc2Nyb2xsLWNvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcGFnZVNjcm9sbF0nLFxuICBob3N0OiB7XG4gICAgJyhjbGljayknOiAnaGFuZGxlQ2xpY2soJGV2ZW50KScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5neFBhZ2VTY3JvbGxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvdXRlckxpbms6IGFueTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaHJlZjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsVGFyZ2V0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxIb3Jpem9udGFsOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsT2Zmc2V0OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxEdXJhdGlvbjogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsU3BlZWQ6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbEVhc2luZzogRWFzaW5nTG9naWM7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxJbnRlcnJ1cHRpYmxlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsSW5WaWV3OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsQWRqdXN0SGFzaCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIHBhZ2VTY3JvbGxGaW5pc2g6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIHBhZ2VTY3JvbGxJbnN0YW5jZTogUGFnZVNjcm9sbEluc3RhbmNlO1xuICBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhZ2VTY3JvbGxTZXJ2aWNlOiBQYWdlU2Nyb2xsU2VydmljZSwgQE9wdGlvbmFsKCkgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSkge1xuICAgIHRoaXMuZG9jdW1lbnQgPSA8RG9jdW1lbnQ+ZG9jdW1lbnQ7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLy8gU29tZSBpbnB1dHMgY2hhbmdlZCwgcmVzZXQgdGhlIHBhZ2VTY3JvbGxJbnN0YW5jZVxuICAgIHRoaXMucGFnZVNjcm9sbEluc3RhbmNlID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFnZVNjcm9sbEluc3RhbmNlKSB7XG4gICAgICB0aGlzLnBhZ2VTY3JvbGxTZXJ2aWNlLnN0b3AodGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVQYWdlU2Nyb2xsSW5zdGFuY2UoKTogUGFnZVNjcm9sbEluc3RhbmNlIHtcbiAgICBpZiAodGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSA9PT0gbnVsbCkge1xuICAgICAgY29uc3Qgb3B0aW9uczogUGFnZVNjcm9sbE9wdGlvbnMgPSB7XG4gICAgICAgIGRvY3VtZW50OiB0aGlzLmRvY3VtZW50LFxuICAgICAgICBzY3JvbGxUYXJnZXQ6IHRoaXMucGFnZVNjcm9sbFRhcmdldCB8fCB0aGlzLmhyZWYsXG4gICAgICB9O1xuXG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsKSB7XG4gICAgICAgIG9wdGlvbnMubmFtZXNwYWNlID0gdGhpcy5wYWdlU2Nyb2xsO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnZVNjcm9sbEhvcml6b250YWwgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxIb3Jpem9udGFsICE9PSBudWxsKSB7XG4gICAgICAgIG9wdGlvbnMudmVydGljYWxTY3JvbGxpbmcgPSAhdGhpcy5wYWdlU2Nyb2xsSG9yaXpvbnRhbDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxPZmZzZXQgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxPZmZzZXQgIT09IG51bGwpIHtcbiAgICAgICAgb3B0aW9ucy5zY3JvbGxPZmZzZXQgPSB0aGlzLnBhZ2VTY3JvbGxPZmZzZXQ7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsSW50ZXJydXB0aWJsZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbEludGVycnVwdGlibGUgIT09IG51bGwpIHtcbiAgICAgICAgb3B0aW9ucy5pbnRlcnJ1cHRpYmxlID0gdGhpcy5wYWdlU2Nyb2xsSW50ZXJydXB0aWJsZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxJblZpZXcgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxJblZpZXcgIT09IG51bGwpIHtcbiAgICAgICAgb3B0aW9ucy5zY3JvbGxJblZpZXcgPSB0aGlzLnBhZ2VTY3JvbGxJblZpZXc7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsRWFzaW5nKSB7XG4gICAgICAgIG9wdGlvbnMuZWFzaW5nTG9naWMgPSB0aGlzLnBhZ2VTY3JvbGxFYXNpbmc7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsRHVyYXRpb24gIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxEdXJhdGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLmR1cmF0aW9uID0gdGhpcy5wYWdlU2Nyb2xsRHVyYXRpb247XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsU3BlZWQgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxTcGVlZCAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLnNwZWVkID0gdGhpcy5wYWdlU2Nyb2xsU3BlZWQ7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsRmluaXNoKSB7XG4gICAgICAgIG9wdGlvbnMuc2Nyb2xsRmluaXNoTGlzdGVuZXIgPSB0aGlzLnBhZ2VTY3JvbGxGaW5pc2g7XG4gICAgICB9XG4gICAgICB0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSA9IHRoaXMucGFnZVNjcm9sbFNlcnZpY2UuY3JlYXRlKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgcHVzaFJvdXRlclN0YXRlKCkge1xuICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxBZGp1c3RIYXNoICYmIHR5cGVvZiB0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZS5wYWdlU2Nyb2xsT3B0aW9ucy5zY3JvbGxUYXJnZXQgPT09ICdzdHJpbmcnXG4gICAgICAmJiAoPHN0cmluZz50aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZS5wYWdlU2Nyb2xsT3B0aW9ucy5zY3JvbGxUYXJnZXQpLnN1YnN0cigwLCAxKSA9PT0gJyMnKSB7XG4gICAgICAvLyBcIk5hdmlnYXRlXCIgdG8gdGhlIGN1cnJlbnQgcm91dGUgYWdhaW4gYW5kIHRoaXMgdGltZSBzZXQgdGhlIGZyYWdtZW50L2hhc2hcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICAgIGZyYWdtZW50OiAoPHN0cmluZz50aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZS5wYWdlU2Nyb2xsT3B0aW9ucy5zY3JvbGxUYXJnZXQpLnN1YnN0cigxKSxcbiAgICAgICAgcHJlc2VydmVRdWVyeVBhcmFtczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsKCk6IHZvaWQge1xuICAgIGNvbnN0IHBhZ2VTY3JvbGxJbnN0YW5jZSA9IHRoaXMuZ2VuZXJhdGVQYWdlU2Nyb2xsSW5zdGFuY2UoKTtcbiAgICB0aGlzLnB1c2hSb3V0ZXJTdGF0ZSgpO1xuICAgIHRoaXMucGFnZVNjcm9sbFNlcnZpY2Uuc3RhcnQocGFnZVNjcm9sbEluc3RhbmNlKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVDbGljayhjbGlja0V2ZW50OiBFdmVudCk6IGJvb2xlYW4geyAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lOm5vLXVudXNlZC12YXJpYWJsZVxuICAgIGlmICh0aGlzLnJvdXRlckxpbmsgJiYgdGhpcy5yb3V0ZXIgIT09IG51bGwgJiYgdGhpcy5yb3V0ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IHVybFRyZWU6IFVybFRyZWU7XG4gICAgICBpZiAodHlwZW9mIHRoaXMucm91dGVyTGluayA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdXJsVHJlZSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKHRoaXMucm91dGVyTGluayk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cmxUcmVlID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZSh0aGlzLnJvdXRlckxpbmspO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLnJvdXRlci5pc0FjdGl2ZSh1cmxUcmVlLCB0cnVlKSkge1xuICAgICAgICAvLyBXZSBuZWVkIHRvIG5hdmlnYXRlIHRoZWlyIGZpcnN0LlxuICAgICAgICAvLyBOYXZpZ2F0aW9uIGlzIGhhbmRsZWQgYnkgdGhlIHJvdXRlckxpbmsgZGlyZWN0aXZlXG4gICAgICAgIC8vIHNvIHdlIG9ubHkgbmVlZCB0byBsaXN0ZW4gZm9yIHJvdXRlIGNoYW5nZVxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IDxTdWJzY3JpcHRpb24+dGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgocm91dGVyRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAocm91dGVyRXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIC8vIHVzZSBhIHRpbWVvdXQgdG8gc3RhcnQgc2Nyb2xsaW5nIGFzIHNvb24gYXMgdGhlIHN0YWNrIGlzIGNsZWFyZWRcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnNjcm9sbCgpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChyb3V0ZXJFdmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FcnJvciB8fCByb3V0ZXJFdmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwpIHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyB0byBwcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsKCk7XG5cbiAgICByZXR1cm4gZmFsc2U7IC8vIHRvIHByZXZlbnREZWZhdWx0KClcbiAgfVxufVxuIl19

@@ -5,3 +5,3 @@ /**

*/
/* tslint:disable:use-host-property-decorator directive-selector */
/* tslint:disable:no-host-metadata-property directive-selector */
import { Directive, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';

@@ -69,2 +69,5 @@ import { NavigationCancel, NavigationEnd, NavigationError, Router } from '@angular/router';

}
if (this.pageScrollInView !== undefined && this.pageScrollInView !== null) {
options.scrollInView = this.pageScrollInView;
}
if (this.pageScrollEasing) {

@@ -191,2 +194,3 @@ options.easingLogic = this.pageScrollEasing;

pageScrollInterruptible: [{ type: Input }],
pageScrollInView: [{ type: Input }],
pageScrollAdjustHash: [{ type: Input }],

@@ -219,2 +223,4 @@ pageScroll: [{ type: Input }],

/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollInView;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollAdjustHash;

@@ -246,2 +252,2 @@ /** @type {?} */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhZ2Utc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wYWdlLXNjcm9sbC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtcGFnZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczQyxPQUFPLEVBQXNELGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFN0c7SUErQ0UsZ0NBQW9CLGlCQUFvQyxFQUFzQixNQUFjLEVBQW9CLFFBQWE7UUFBekcsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFzQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWHJGLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQU1wQyxxQkFBZ0IsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQU1wRSxJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFXLFFBQVEsRUFBQSxDQUFDO0lBQ3RDLENBQUM7Ozs7O0lBRUQsNENBQVc7Ozs7SUFBWCxVQUFZLE9BQXNCO1FBQ2hDLG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO0lBQ3RDLENBQUM7Ozs7SUFFRCw0Q0FBVzs7O0lBQVg7UUFDRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3REO0lBQ0gsQ0FBQzs7Ozs7SUFFTywyREFBMEI7Ozs7SUFB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QUFLLENBQUMsQ0FBQyxzQkFBc0I7SUFDdEMsQ0FBQzs7Z0JBbEpGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsSUFBSSxFQUFFO3dCQUNKLFNBQVMsRUFBRSxxQkFBcUI7cUJBQ2pDO2lCQUNGOzs7O2dCQVA0RCxpQkFBaUI7Z0JBSm5CLE1BQU0sdUJBcURKLFFBQVE7Z0RBQTRCLE1BQU0sU0FBQyxRQUFROzs7NkJBdkM3RyxLQUFLO3VCQUdMLEtBQUs7bUNBR0wsS0FBSzt1Q0FHTCxLQUFLO21DQUdMLEtBQUs7cUNBR0wsS0FBSztrQ0FHTCxLQUFLO21DQUdMLEtBQUs7MENBR0wsS0FBSzt1Q0FHTCxLQUFLOzZCQUdMLEtBQUs7bUNBR0wsTUFBTTs7SUEwR1QsNkJBQUM7Q0FBQSxBQW5KRCxJQW1KQztTQTdJWSxzQkFBc0I7OztJQUVqQyw0Q0FDdUI7O0lBRXZCLHNDQUNvQjs7SUFFcEIsa0RBQ2dDOztJQUVoQyxzREFDcUM7O0lBRXJDLGtEQUNnQzs7SUFFaEMsb0RBQ2tDOztJQUVsQyxpREFDK0I7O0lBRS9CLGtEQUNxQzs7SUFFckMseURBQ3dDOztJQUV4QyxzREFDb0M7O0lBRXBDLDRDQUMwQjs7SUFFMUIsa0RBQ3NFOzs7OztJQUV0RSxvREFBK0M7Ozs7O0lBQy9DLDBDQUEyQjs7Ozs7SUFFZixtREFBNEM7Ozs7O0lBQUUsd0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGU6dXNlLWhvc3QtcHJvcGVydHktZGVjb3JhdG9yIGRpcmVjdGl2ZS1zZWxlY3RvciAqL1xuXG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uRXJyb3IsIFJvdXRlciwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRWFzaW5nTG9naWMsIFBhZ2VTY3JvbGxJbnN0YW5jZSwgUGFnZVNjcm9sbE9wdGlvbnMsIFBhZ2VTY3JvbGxTZXJ2aWNlIH0gZnJvbSAnbmd4LXBhZ2Utc2Nyb2xsLWNvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcGFnZVNjcm9sbF0nLFxuICBob3N0OiB7XG4gICAgJyhjbGljayknOiAnaGFuZGxlQ2xpY2soJGV2ZW50KScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5neFBhZ2VTY3JvbGxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvdXRlckxpbms6IGFueTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaHJlZjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsVGFyZ2V0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxIb3Jpem9udGFsOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsT2Zmc2V0OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxEdXJhdGlvbjogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsU3BlZWQ6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbEVhc2luZzogRWFzaW5nTG9naWM7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxJbnRlcnJ1cHRpYmxlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsQWRqdXN0SGFzaCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIHBhZ2VTY3JvbGxGaW5pc2g6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIHBhZ2VTY3JvbGxJbnN0YW5jZTogUGFnZVNjcm9sbEluc3RhbmNlO1xuICBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhZ2VTY3JvbGxTZXJ2aWNlOiBQYWdlU2Nyb2xsU2VydmljZSwgQE9wdGlvbmFsKCkgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSkge1xuICAgIHRoaXMuZG9jdW1lbnQgPSA8RG9jdW1lbnQ+IGRvY3VtZW50O1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vIFNvbWUgaW5wdXRzIGNoYW5nZWQsIHJlc2V0IHRoZSBwYWdlU2Nyb2xsSW5zdGFuY2VcbiAgICB0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSkge1xuICAgICAgdGhpcy5wYWdlU2Nyb2xsU2VydmljZS5zdG9wKHRoaXMucGFnZVNjcm9sbEluc3RhbmNlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlUGFnZVNjcm9sbEluc3RhbmNlKCk6IFBhZ2VTY3JvbGxJbnN0YW5jZSB7XG4gICAgaWYgKHRoaXMucGFnZVNjcm9sbEluc3RhbmNlID09PSB1bmRlZmluZWQgfHwgdGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IFBhZ2VTY3JvbGxPcHRpb25zID0ge1xuICAgICAgICBkb2N1bWVudDogdGhpcy5kb2N1bWVudCxcbiAgICAgICAgc2Nyb2xsVGFyZ2V0OiB0aGlzLnBhZ2VTY3JvbGxUYXJnZXQgfHwgdGhpcy5ocmVmLFxuICAgICAgfTtcblxuICAgICAgaWYgKHRoaXMucGFnZVNjcm9sbCkge1xuICAgICAgICBvcHRpb25zLm5hbWVzcGFjZSA9IHRoaXMucGFnZVNjcm9sbDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxIb3Jpem9udGFsICE9PSB1bmRlZmluZWQgJiYgdGhpcy5wYWdlU2Nyb2xsSG9yaXpvbnRhbCAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLnZlcnRpY2FsU2Nyb2xsaW5nID0gIXRoaXMucGFnZVNjcm9sbEhvcml6b250YWw7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsT2Zmc2V0ICE9PSB1bmRlZmluZWQgJiYgdGhpcy5wYWdlU2Nyb2xsT2Zmc2V0ICE9PSBudWxsKSB7XG4gICAgICAgIG9wdGlvbnMuc2Nyb2xsT2Zmc2V0ID0gdGhpcy5wYWdlU2Nyb2xsT2Zmc2V0O1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnZVNjcm9sbEludGVycnVwdGlibGUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxJbnRlcnJ1cHRpYmxlICE9PSBudWxsKSB7XG4gICAgICAgIG9wdGlvbnMuaW50ZXJydXB0aWJsZSA9IHRoaXMucGFnZVNjcm9sbEludGVycnVwdGlibGU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsRWFzaW5nKSB7XG4gICAgICAgIG9wdGlvbnMuZWFzaW5nTG9naWMgPSB0aGlzLnBhZ2VTY3JvbGxFYXNpbmc7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsRHVyYXRpb24gIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxEdXJhdGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLmR1cmF0aW9uID0gdGhpcy5wYWdlU2Nyb2xsRHVyYXRpb247XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsU3BlZWQgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxTcGVlZCAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLnNwZWVkID0gdGhpcy5wYWdlU2Nyb2xsU3BlZWQ7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsRmluaXNoKSB7XG4gICAgICAgIG9wdGlvbnMuc2Nyb2xsRmluaXNoTGlzdGVuZXIgPSB0aGlzLnBhZ2VTY3JvbGxGaW5pc2g7XG4gICAgICB9XG4gICAgICB0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSA9IHRoaXMucGFnZVNjcm9sbFNlcnZpY2UuY3JlYXRlKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgcHVzaFJvdXRlclN0YXRlKCkge1xuICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxBZGp1c3RIYXNoICYmIHR5cGVvZiB0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZS5wYWdlU2Nyb2xsT3B0aW9ucy5zY3JvbGxUYXJnZXQgPT09ICdzdHJpbmcnXG4gICAgICAmJiAoPHN0cmluZz50aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZS5wYWdlU2Nyb2xsT3B0aW9ucy5zY3JvbGxUYXJnZXQpLnN1YnN0cigwLCAxKSA9PT0gJyMnKSB7XG4gICAgICAvLyBcIk5hdmlnYXRlXCIgdG8gdGhlIGN1cnJlbnQgcm91dGUgYWdhaW4gYW5kIHRoaXMgdGltZSBzZXQgdGhlIGZyYWdtZW50L2hhc2hcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICAgIGZyYWdtZW50OiAoPHN0cmluZz50aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZS5wYWdlU2Nyb2xsT3B0aW9ucy5zY3JvbGxUYXJnZXQpLnN1YnN0cigxKSxcbiAgICAgICAgcHJlc2VydmVRdWVyeVBhcmFtczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsKCk6IHZvaWQge1xuICAgIGNvbnN0IHBhZ2VTY3JvbGxJbnN0YW5jZSA9IHRoaXMuZ2VuZXJhdGVQYWdlU2Nyb2xsSW5zdGFuY2UoKTtcbiAgICB0aGlzLnB1c2hSb3V0ZXJTdGF0ZSgpO1xuICAgIHRoaXMucGFnZVNjcm9sbFNlcnZpY2Uuc3RhcnQocGFnZVNjcm9sbEluc3RhbmNlKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVDbGljayhjbGlja0V2ZW50OiBFdmVudCk6IGJvb2xlYW4geyAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lOm5vLXVudXNlZC12YXJpYWJsZVxuICAgIGlmICh0aGlzLnJvdXRlckxpbmsgJiYgdGhpcy5yb3V0ZXIgIT09IG51bGwgJiYgdGhpcy5yb3V0ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IHVybFRyZWU6IFVybFRyZWU7XG4gICAgICBpZiAodHlwZW9mIHRoaXMucm91dGVyTGluayA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdXJsVHJlZSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKHRoaXMucm91dGVyTGluayk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cmxUcmVlID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZSh0aGlzLnJvdXRlckxpbmspO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLnJvdXRlci5pc0FjdGl2ZSh1cmxUcmVlLCB0cnVlKSkge1xuICAgICAgICAvLyBXZSBuZWVkIHRvIG5hdmlnYXRlIHRoZWlyIGZpcnN0LlxuICAgICAgICAvLyBOYXZpZ2F0aW9uIGlzIGhhbmRsZWQgYnkgdGhlIHJvdXRlckxpbmsgZGlyZWN0aXZlXG4gICAgICAgIC8vIHNvIHdlIG9ubHkgbmVlZCB0byBsaXN0ZW4gZm9yIHJvdXRlIGNoYW5nZVxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IDxTdWJzY3JpcHRpb24+dGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgocm91dGVyRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAocm91dGVyRXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIC8vIHVzZSBhIHRpbWVvdXQgdG8gc3RhcnQgc2Nyb2xsaW5nIGFzIHNvb24gYXMgdGhlIHN0YWNrIGlzIGNsZWFyZWRcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnNjcm9sbCgpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChyb3V0ZXJFdmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FcnJvciB8fCByb3V0ZXJFdmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwpIHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyB0byBwcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsKCk7XG5cbiAgICByZXR1cm4gZmFsc2U7IC8vIHRvIHByZXZlbnREZWZhdWx0KClcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhZ2Utc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wYWdlLXNjcm9sbC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtcGFnZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczQyxPQUFPLEVBQXNELGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFN0c7SUFrREUsZ0NBQW9CLGlCQUFvQyxFQUFzQixNQUFjLEVBQW9CLFFBQWE7UUFBekcsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFzQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWHJGLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQU1wQyxxQkFBZ0IsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQU1wRSxJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFVLFFBQVEsRUFBQSxDQUFDO0lBQ3JDLENBQUM7Ozs7O0lBRUQsNENBQVc7Ozs7SUFBWCxVQUFZLE9BQXNCO1FBQ2hDLG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO0lBQ3RDLENBQUM7Ozs7SUFFRCw0Q0FBVzs7O0lBQVg7UUFDRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3REO0lBQ0gsQ0FBQzs7Ozs7SUFFTywyREFBMEI7Ozs7SUFB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LFdBQVcsRUFBRSxDQUFDO3FCQUM1QjtnQkFDSCxDQUFDLEVBQUMsRUFBQTtnQkFFRixPQUFPLEtBQUssQ0FBQyxDQUFDLHNCQUFzQjthQUNyQztTQUNGO1FBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWQsT0FBTyxLQUFLLENBQUMsQ0FBQyxzQkFBc0I7SUFDdEMsQ0FBQzs7Z0JBeEpGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsSUFBSSxFQUFFO3dCQUNKLFNBQVMsRUFBRSxxQkFBcUI7cUJBQ2pDO2lCQUNGOzs7O2dCQVA0RCxpQkFBaUI7Z0JBSm5CLE1BQU0sdUJBd0RKLFFBQVE7Z0RBQTRCLE1BQU0sU0FBQyxRQUFROzs7NkJBMUM3RyxLQUFLO3VCQUdMLEtBQUs7bUNBR0wsS0FBSzt1Q0FHTCxLQUFLO21DQUdMLEtBQUs7cUNBR0wsS0FBSztrQ0FHTCxLQUFLO21DQUdMLEtBQUs7MENBR0wsS0FBSzttQ0FHTCxLQUFLO3VDQUdMLEtBQUs7NkJBR0wsS0FBSzttQ0FHTCxNQUFNOztJQTZHVCw2QkFBQztDQUFBLEFBekpELElBeUpDO1NBbkpZLHNCQUFzQjs7O0lBRWpDLDRDQUN1Qjs7SUFFdkIsc0NBQ29COztJQUVwQixrREFDZ0M7O0lBRWhDLHNEQUNxQzs7SUFFckMsa0RBQ2dDOztJQUVoQyxvREFDa0M7O0lBRWxDLGlEQUMrQjs7SUFFL0Isa0RBQ3FDOztJQUVyQyx5REFDd0M7O0lBRXhDLGtEQUNpQzs7SUFFakMsc0RBQ29DOztJQUVwQyw0Q0FDMEI7O0lBRTFCLGtEQUNzRTs7Ozs7SUFFdEUsb0RBQStDOzs7OztJQUMvQywwQ0FBMkI7Ozs7O0lBRWYsbURBQTRDOzs7OztJQUFFLHdDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlOm5vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHkgZGlyZWN0aXZlLXNlbGVjdG9yICovXG5cbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25DYW5jZWwsIE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25FcnJvciwgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFYXNpbmdMb2dpYywgUGFnZVNjcm9sbEluc3RhbmNlLCBQYWdlU2Nyb2xsT3B0aW9ucywgUGFnZVNjcm9sbFNlcnZpY2UgfSBmcm9tICduZ3gtcGFnZS1zY3JvbGwtY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1twYWdlU2Nyb2xsXScsXG4gIGhvc3Q6IHtcbiAgICAnKGNsaWNrKSc6ICdoYW5kbGVDbGljaygkZXZlbnQpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTmd4UGFnZVNjcm9sbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm91dGVyTGluazogYW55O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBocmVmOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxUYXJnZXQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbEhvcml6b250YWw6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxPZmZzZXQ6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbER1cmF0aW9uOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxTcGVlZDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsRWFzaW5nOiBFYXNpbmdMb2dpYztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbEludGVycnVwdGlibGU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxJblZpZXc6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxBZGp1c3RIYXNoID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGw6IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgcGFnZVNjcm9sbEZpbmlzaDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgcGFnZVNjcm9sbEluc3RhbmNlOiBQYWdlU2Nyb2xsSW5zdGFuY2U7XG4gIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFnZVNjcm9sbFNlcnZpY2U6IFBhZ2VTY3JvbGxTZXJ2aWNlLCBAT3B0aW9uYWwoKSBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55KSB7XG4gICAgdGhpcy5kb2N1bWVudCA9IDxEb2N1bWVudD5kb2N1bWVudDtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLyBTb21lIGlucHV0cyBjaGFuZ2VkLCByZXNldCB0aGUgcGFnZVNjcm9sbEluc3RhbmNlXG4gICAgdGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UpIHtcbiAgICAgIHRoaXMucGFnZVNjcm9sbFNlcnZpY2Uuc3RvcCh0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVBhZ2VTY3JvbGxJbnN0YW5jZSgpOiBQYWdlU2Nyb2xsSW5zdGFuY2Uge1xuICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucGFnZVNjcm9sbEluc3RhbmNlID09PSBudWxsKSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBQYWdlU2Nyb2xsT3B0aW9ucyA9IHtcbiAgICAgICAgZG9jdW1lbnQ6IHRoaXMuZG9jdW1lbnQsXG4gICAgICAgIHNjcm9sbFRhcmdldDogdGhpcy5wYWdlU2Nyb2xsVGFyZ2V0IHx8IHRoaXMuaHJlZixcbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGwpIHtcbiAgICAgICAgb3B0aW9ucy5uYW1lc3BhY2UgPSB0aGlzLnBhZ2VTY3JvbGw7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsSG9yaXpvbnRhbCAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbEhvcml6b250YWwgIT09IG51bGwpIHtcbiAgICAgICAgb3B0aW9ucy52ZXJ0aWNhbFNjcm9sbGluZyA9ICF0aGlzLnBhZ2VTY3JvbGxIb3Jpem9udGFsO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnZVNjcm9sbE9mZnNldCAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbE9mZnNldCAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLnNjcm9sbE9mZnNldCA9IHRoaXMucGFnZVNjcm9sbE9mZnNldDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxJbnRlcnJ1cHRpYmxlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5wYWdlU2Nyb2xsSW50ZXJydXB0aWJsZSAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLmludGVycnVwdGlibGUgPSB0aGlzLnBhZ2VTY3JvbGxJbnRlcnJ1cHRpYmxlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnZVNjcm9sbEluVmlldyAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbEluVmlldyAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLnNjcm9sbEluVmlldyA9IHRoaXMucGFnZVNjcm9sbEluVmlldztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxFYXNpbmcpIHtcbiAgICAgICAgb3B0aW9ucy5lYXNpbmdMb2dpYyA9IHRoaXMucGFnZVNjcm9sbEVhc2luZztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxEdXJhdGlvbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbER1cmF0aW9uICE9PSBudWxsKSB7XG4gICAgICAgIG9wdGlvbnMuZHVyYXRpb24gPSB0aGlzLnBhZ2VTY3JvbGxEdXJhdGlvbjtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxTcGVlZCAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbFNwZWVkICE9PSBudWxsKSB7XG4gICAgICAgIG9wdGlvbnMuc3BlZWQgPSB0aGlzLnBhZ2VTY3JvbGxTcGVlZDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxGaW5pc2gpIHtcbiAgICAgICAgb3B0aW9ucy5zY3JvbGxGaW5pc2hMaXN0ZW5lciA9IHRoaXMucGFnZVNjcm9sbEZpbmlzaDtcbiAgICAgIH1cbiAgICAgIHRoaXMucGFnZVNjcm9sbEluc3RhbmNlID0gdGhpcy5wYWdlU2Nyb2xsU2VydmljZS5jcmVhdGUob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucGFnZVNjcm9sbEluc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBwdXNoUm91dGVyU3RhdGUoKSB7XG4gICAgaWYgKHRoaXMucGFnZVNjcm9sbEFkanVzdEhhc2ggJiYgdHlwZW9mIHRoaXMucGFnZVNjcm9sbEluc3RhbmNlLnBhZ2VTY3JvbGxPcHRpb25zLnNjcm9sbFRhcmdldCA9PT0gJ3N0cmluZydcbiAgICAgICYmICg8c3RyaW5nPnRoaXMucGFnZVNjcm9sbEluc3RhbmNlLnBhZ2VTY3JvbGxPcHRpb25zLnNjcm9sbFRhcmdldCkuc3Vic3RyKDAsIDEpID09PSAnIycpIHtcbiAgICAgIC8vIFwiTmF2aWdhdGVcIiB0byB0aGUgY3VycmVudCByb3V0ZSBhZ2FpbiBhbmQgdGhpcyB0aW1lIHNldCB0aGUgZnJhZ21lbnQvaGFzaFxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgICAgZnJhZ21lbnQ6ICg8c3RyaW5nPnRoaXMucGFnZVNjcm9sbEluc3RhbmNlLnBhZ2VTY3JvbGxPcHRpb25zLnNjcm9sbFRhcmdldCkuc3Vic3RyKDEpLFxuICAgICAgICBwcmVzZXJ2ZVF1ZXJ5UGFyYW1zOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGwoKTogdm9pZCB7XG4gICAgY29uc3QgcGFnZVNjcm9sbEluc3RhbmNlID0gdGhpcy5nZW5lcmF0ZVBhZ2VTY3JvbGxJbnN0YW5jZSgpO1xuICAgIHRoaXMucHVzaFJvdXRlclN0YXRlKCk7XG4gICAgdGhpcy5wYWdlU2Nyb2xsU2VydmljZS5zdGFydChwYWdlU2Nyb2xsSW5zdGFuY2UpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUNsaWNrKGNsaWNrRXZlbnQ6IEV2ZW50KTogYm9vbGVhbiB7IC8vIHRzbGludDpkaXNhYmxlLWxpbmU6bm8tdW51c2VkLXZhcmlhYmxlXG4gICAgaWYgKHRoaXMucm91dGVyTGluayAmJiB0aGlzLnJvdXRlciAhPT0gbnVsbCAmJiB0aGlzLnJvdXRlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgdXJsVHJlZTogVXJsVHJlZTtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5yb3V0ZXJMaW5rID09PSAnc3RyaW5nJykge1xuICAgICAgICB1cmxUcmVlID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwodGhpcy5yb3V0ZXJMaW5rKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVybFRyZWUgPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKHRoaXMucm91dGVyTGluayk7XG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMucm91dGVyLmlzQWN0aXZlKHVybFRyZWUsIHRydWUpKSB7XG4gICAgICAgIC8vIFdlIG5lZWQgdG8gbmF2aWdhdGUgdGhlaXIgZmlyc3QuXG4gICAgICAgIC8vIE5hdmlnYXRpb24gaXMgaGFuZGxlZCBieSB0aGUgcm91dGVyTGluayBkaXJlY3RpdmVcbiAgICAgICAgLy8gc28gd2Ugb25seSBuZWVkIHRvIGxpc3RlbiBmb3Igcm91dGUgY2hhbmdlXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gPFN1YnNjcmlwdGlvbj50aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChyb3V0ZXJFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChyb3V0ZXJFdmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgLy8gdXNlIGEgdGltZW91dCB0byBzdGFydCBzY3JvbGxpbmcgYXMgc29vbiBhcyB0aGUgc3RhY2sgaXMgY2xlYXJlZFxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc2Nyb2xsKCk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHJvdXRlckV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVycm9yIHx8IHJvdXRlckV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbCkge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZmFsc2U7IC8vIHRvIHByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zY3JvbGwoKTtcblxuICAgIHJldHVybiBmYWxzZTsgLy8gdG8gcHJldmVudERlZmF1bHQoKVxuICB9XG59XG4iXX0=

@@ -1,5 +0,5 @@

import { Directive, EventEmitter, Inject, Input, Optional, Output, NgModule } from '@angular/core';
import { NavigationCancel, NavigationEnd, NavigationError, Router } from '@angular/router';
import { EventEmitter, Directive, Optional, Inject, Input, Output, NgModule } from '@angular/core';
import { PageScrollService, NgxPageScrollCoreModule } from 'ngx-page-scroll-core';
import { NavigationEnd, NavigationError, NavigationCancel, Router } from '@angular/router';
import { DOCUMENT } from '@angular/common';
import { PageScrollService, NgxPageScrollCoreModule } from 'ngx-page-scroll-core';

@@ -62,2 +62,5 @@ /**

}
if (this.pageScrollInView !== undefined && this.pageScrollInView !== null) {
options.scrollInView = this.pageScrollInView;
}
if (this.pageScrollEasing) {

@@ -172,2 +175,3 @@ options.easingLogic = this.pageScrollEasing;

pageScrollInterruptible: [{ type: Input }],
pageScrollInView: [{ type: Input }],
pageScrollAdjustHash: [{ type: Input }],

@@ -177,2 +181,50 @@ pageScroll: [{ type: Input }],

};
if (false) {
/** @type {?} */
NgxPageScrollDirective.prototype.routerLink;
/** @type {?} */
NgxPageScrollDirective.prototype.href;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollTarget;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollHorizontal;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollOffset;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollDuration;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollSpeed;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollEasing;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollInterruptible;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollInView;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollAdjustHash;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScroll;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollFinish;
/**
* @type {?}
* @private
*/
NgxPageScrollDirective.prototype.pageScrollInstance;
/**
* @type {?}
* @private
*/
NgxPageScrollDirective.prototype.document;
/**
* @type {?}
* @private
*/
NgxPageScrollDirective.prototype.pageScrollService;
/**
* @type {?}
* @private
*/
NgxPageScrollDirective.prototype.router;
}

@@ -209,4 +261,3 @@ /**

export { NgxPageScrollModule, NgxPageScrollDirective };
//# sourceMappingURL=ngx-page-scroll.js.map
export { NgxPageScrollDirective, NgxPageScrollModule };
//# sourceMappingURL=ngx-page-scroll.js.map

@@ -1,5 +0,5 @@

import { Directive, EventEmitter, Inject, Input, Optional, Output, NgModule } from '@angular/core';
import { NavigationCancel, NavigationEnd, NavigationError, Router } from '@angular/router';
import { EventEmitter, Directive, Optional, Inject, Input, Output, NgModule } from '@angular/core';
import { PageScrollService, NgxPageScrollCoreModule } from 'ngx-page-scroll-core';
import { NavigationEnd, NavigationError, NavigationCancel, Router } from '@angular/router';
import { DOCUMENT } from '@angular/common';
import { PageScrollService, NgxPageScrollCoreModule } from 'ngx-page-scroll-core';

@@ -68,2 +68,5 @@ /**

}
if (this.pageScrollInView !== undefined && this.pageScrollInView !== null) {
options.scrollInView = this.pageScrollInView;
}
if (this.pageScrollEasing) {

@@ -190,2 +193,3 @@ options.easingLogic = this.pageScrollEasing;

pageScrollInterruptible: [{ type: Input }],
pageScrollInView: [{ type: Input }],
pageScrollAdjustHash: [{ type: Input }],

@@ -197,2 +201,50 @@ pageScroll: [{ type: Input }],

}());
if (false) {
/** @type {?} */
NgxPageScrollDirective.prototype.routerLink;
/** @type {?} */
NgxPageScrollDirective.prototype.href;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollTarget;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollHorizontal;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollOffset;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollDuration;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollSpeed;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollEasing;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollInterruptible;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollInView;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollAdjustHash;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScroll;
/** @type {?} */
NgxPageScrollDirective.prototype.pageScrollFinish;
/**
* @type {?}
* @private
*/
NgxPageScrollDirective.prototype.pageScrollInstance;
/**
* @type {?}
* @private
*/
NgxPageScrollDirective.prototype.document;
/**
* @type {?}
* @private
*/
NgxPageScrollDirective.prototype.pageScrollService;
/**
* @type {?}
* @private
*/
NgxPageScrollDirective.prototype.router;
}

@@ -232,4 +284,3 @@ /**

export { NgxPageScrollModule, NgxPageScrollDirective };
//# sourceMappingURL=ngx-page-scroll.js.map
export { NgxPageScrollDirective, NgxPageScrollModule };
//# sourceMappingURL=ngx-page-scroll.js.map

@@ -16,2 +16,3 @@ import { EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';

pageScrollInterruptible: boolean;
pageScrollInView: boolean;
pageScrollAdjustHash: boolean;

@@ -18,0 +19,0 @@ pageScroll: string;

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"NgxPageScrollModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"NgxPageScrollDirective"}],"imports":[{"__symbolic":"reference","module":"ngx-page-scroll-core","name":"NgxPageScrollCoreModule","line":11,"character":4}],"exports":[{"__symbolic":"reference","name":"NgxPageScrollDirective"}]}]}],"members":{}},"NgxPageScrollDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":19,"character":1},"arguments":[{"selector":"[pageScroll]","host":{"(click)":"handleClick($event)","$quoted$":["(click)"]}}]}],"members":{"routerLink":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"href":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"pageScrollTarget":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"pageScrollHorizontal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"pageScrollOffset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"pageScrollDuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"pageScrollSpeed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3}}]}],"pageScrollEasing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"pageScrollInterruptible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3}}]}],"pageScrollAdjustHash":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"pageScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3}}]}],"pageScrollFinish":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":60,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":66,"character":61}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":66,"character":97},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":66,"character":104}]}]],"parameters":[{"__symbolic":"reference","module":"ngx-page-scroll-core","name":"PageScrollService","line":66,"character":41},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":66,"character":88},{"__symbolic":"reference","name":"any"}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"generatePageScrollInstance":[{"__symbolic":"method"}],"pushRouterState":[{"__symbolic":"method"}],"scroll":[{"__symbolic":"method"}],"handleClick":[{"__symbolic":"method"}]}}},"origins":{"NgxPageScrollModule":"./lib/ngx-page-scroll.module","NgxPageScrollDirective":"./lib/ngx-page-scroll.directive"},"importAs":"ngx-page-scroll"}
{"__symbolic":"module","version":4,"metadata":{"NgxPageScrollModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"NgxPageScrollDirective"}],"imports":[{"__symbolic":"reference","module":"ngx-page-scroll-core","name":"NgxPageScrollCoreModule","line":11,"character":4}],"exports":[{"__symbolic":"reference","name":"NgxPageScrollDirective"}]}]}],"members":{}},"NgxPageScrollDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":19,"character":1},"arguments":[{"selector":"[pageScroll]","host":{"(click)":"handleClick($event)","$quoted$":["(click)"]}}]}],"members":{"routerLink":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"href":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"pageScrollTarget":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"pageScrollHorizontal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"pageScrollOffset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"pageScrollDuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"pageScrollSpeed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3}}]}],"pageScrollEasing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"pageScrollInterruptible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3}}]}],"pageScrollInView":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"pageScrollAdjustHash":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3}}]}],"pageScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3}}]}],"pageScrollFinish":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":63,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":69,"character":61}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":69,"character":97},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":69,"character":104}]}]],"parameters":[{"__symbolic":"reference","module":"ngx-page-scroll-core","name":"PageScrollService","line":69,"character":41},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":69,"character":88},{"__symbolic":"reference","name":"any"}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"generatePageScrollInstance":[{"__symbolic":"method"}],"pushRouterState":[{"__symbolic":"method"}],"scroll":[{"__symbolic":"method"}],"handleClick":[{"__symbolic":"method"}]}}},"origins":{"NgxPageScrollModule":"./lib/ngx-page-scroll.module","NgxPageScrollDirective":"./lib/ngx-page-scroll.directive"},"importAs":"ngx-page-scroll"}
{
"name": "ngx-page-scroll",
"version": "6.0.2",
"version": "7.0.0",
"description": "Convenience directive for animated scrolling functionality for angular written in pure typescript",

@@ -27,5 +27,5 @@ "keywords": [

"peerDependencies": {
"ngx-page-scroll-core": "6.0.2",
"@angular/common": "^7.1.0 || ^8.0.0",
"@angular/core": "^7.1.0 || ^8.0.0"
"ngx-page-scroll-core": "7.0.0",
"@angular/common": "^8.0.0 || ^9.0.0",
"@angular/core": "^8.0.0 || ^9.0.0"
},

@@ -32,0 +32,0 @@ "main": "bundles/ngx-page-scroll.umd.js",

@@ -36,2 +36,14 @@ # ngx-page-scroll [![npm version](https://img.shields.io/npm/v/ngx-page-scroll.svg?style=flat)](https://www.npmjs.com/package/ngx-page-scroll) [![MIT license](http://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)

### Version compatibility
Install later versions in case your app is not running the very latest angular version.
| ngx-page-scroll/ngx-page-scroll-core version | compatible angular version | Documentation |
| -------------------------------------------- | -------------------------- | -------------------------------------------------------------------------- |
| v7.x | v9, v8 | [README](README.md) |
| v6.x | v8, v7 | [README](https://github.com/Nolanus/ngx-page-scroll/blob/v6.0.2/README.md) |
| v5.x | v6 | [README](https://github.com/Nolanus/ngx-page-scroll/blob/v5.0.1/README.md) |
| v4.x | v5, v4 | [README](https://github.com/Nolanus/ngx-page-scroll/blob/v4.0.2/README.md) |
## Service

@@ -66,3 +78,4 @@

```typescript
import { DOCUMENT, Inject } from '@angular/common';
import { Inject } from '@angular/core';
import { DOCUMENT } from '@angular/common';
import { PageScrollService } from 'ngx-page-scroll-core';

@@ -69,0 +82,0 @@

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc