ngx-page-scroll
Advanced tools
Comparing version 7.0.0 to 7.0.1
(function (global, factory) { | ||
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'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('ngx-page-scroll-core'), require('@angular/router'), require('@angular/common'), require('rxjs/operators')) : | ||
typeof define === 'function' && define.amd ? define('ngx-page-scroll', ['exports', '@angular/core', 'ngx-page-scroll-core', '@angular/router', '@angular/common', 'rxjs/operators'], factory) : | ||
(global = global || self, factory(global['ngx-page-scroll'] = {}, global.ng.core, global.ngxPageScrollCore, global.ng.router, global.ng.common, global.rxjs.operators)); | ||
}(this, (function (exports, core, ngxPageScrollCore, router, common, operators) { 'use strict'; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/*! ***************************************************************************** | ||
Copyright (c) Microsoft Corporation. All rights reserved. | ||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use | ||
this file except in compliance with the License. You may obtain a copy of the | ||
License at http://www.apache.org/licenses/LICENSE-2.0 | ||
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED | ||
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, | ||
MERCHANTABLITY OR NON-INFRINGEMENT. | ||
See the Apache Version 2.0 License for specific language governing permissions | ||
and limitations under the License. | ||
***************************************************************************** */ | ||
/* global Reflect, Promise */ | ||
var extendStatics = function(d, b) { | ||
extendStatics = Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; | ||
return extendStatics(d, b); | ||
}; | ||
function __extends(d, b) { | ||
extendStatics(d, b); | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
} | ||
var __assign = function() { | ||
__assign = Object.assign || function __assign(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; | ||
} | ||
return t; | ||
}; | ||
return __assign.apply(this, arguments); | ||
}; | ||
function __rest(s, e) { | ||
var t = {}; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) | ||
t[p] = s[p]; | ||
if (s != null && typeof Object.getOwnPropertySymbols === "function") | ||
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { | ||
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) | ||
t[p[i]] = s[p[i]]; | ||
} | ||
return t; | ||
} | ||
function __decorate(decorators, target, key, desc) { | ||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; | ||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); | ||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; | ||
return c > 3 && r && Object.defineProperty(target, key, r), r; | ||
} | ||
function __param(paramIndex, decorator) { | ||
return function (target, key) { decorator(target, key, paramIndex); } | ||
} | ||
function __metadata(metadataKey, metadataValue) { | ||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); | ||
} | ||
function __awaiter(thisArg, _arguments, P, generator) { | ||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
} | ||
function __generator(thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
function step(op) { | ||
if (f) throw new TypeError("Generator is already executing."); | ||
while (_) try { | ||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
case 0: case 1: t = op; break; | ||
case 4: _.label++; return { value: op[1], done: false }; | ||
case 5: _.label++; y = op[1]; op = [0]; continue; | ||
case 7: op = _.ops.pop(); _.trys.pop(); continue; | ||
default: | ||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } | ||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } | ||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } | ||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } | ||
if (t[2]) _.ops.pop(); | ||
_.trys.pop(); continue; | ||
} | ||
op = body.call(thisArg, _); | ||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } | ||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; | ||
} | ||
} | ||
function __exportStar(m, exports) { | ||
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; | ||
} | ||
function __values(o) { | ||
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; | ||
if (m) return m.call(o); | ||
if (o && typeof o.length === "number") return { | ||
next: function () { | ||
if (o && i >= o.length) o = void 0; | ||
return { value: o && o[i++], done: !o }; | ||
} | ||
}; | ||
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); | ||
} | ||
function __read(o, n) { | ||
var m = typeof Symbol === "function" && o[Symbol.iterator]; | ||
if (!m) return o; | ||
var i = m.call(o), r, ar = [], e; | ||
try { | ||
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); | ||
} | ||
catch (error) { e = { error: error }; } | ||
finally { | ||
try { | ||
if (r && !r.done && (m = i["return"])) m.call(i); | ||
} | ||
finally { if (e) throw e.error; } | ||
} | ||
return ar; | ||
} | ||
function __spread() { | ||
for (var ar = [], i = 0; i < arguments.length; i++) | ||
ar = ar.concat(__read(arguments[i])); | ||
return ar; | ||
} | ||
function __spreadArrays() { | ||
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; | ||
for (var r = Array(s), k = 0, i = 0; i < il; i++) | ||
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) | ||
r[k] = a[j]; | ||
return r; | ||
}; | ||
function __await(v) { | ||
return this instanceof __await ? (this.v = v, this) : new __await(v); | ||
} | ||
function __asyncGenerator(thisArg, _arguments, generator) { | ||
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); | ||
var g = generator.apply(thisArg, _arguments || []), i, q = []; | ||
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; | ||
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } | ||
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } | ||
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } | ||
function fulfill(value) { resume("next", value); } | ||
function reject(value) { resume("throw", value); } | ||
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } | ||
} | ||
function __asyncDelegator(o) { | ||
var i, p; | ||
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; | ||
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } | ||
} | ||
function __asyncValues(o) { | ||
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); | ||
var m = o[Symbol.asyncIterator], i; | ||
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); | ||
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } | ||
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } | ||
} | ||
function __makeTemplateObject(cooked, raw) { | ||
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } | ||
return cooked; | ||
}; | ||
function __importStar(mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; | ||
result.default = mod; | ||
return result; | ||
} | ||
function __importDefault(mod) { | ||
return (mod && mod.__esModule) ? mod : { default: mod }; | ||
} | ||
function __classPrivateFieldGet(receiver, privateMap) { | ||
if (!privateMap.has(receiver)) { | ||
throw new TypeError("attempted to get private field on non-instance"); | ||
} | ||
return privateMap.get(receiver); | ||
} | ||
function __classPrivateFieldSet(receiver, privateMap, value) { | ||
if (!privateMap.has(receiver)) { | ||
throw new TypeError("attempted to set private field on non-instance"); | ||
} | ||
privateMap.set(receiver, value); | ||
return value; | ||
} | ||
/* tslint:disable:no-host-metadata-property directive-selector */ | ||
var NgxPageScrollDirective = /** @class */ (function () { | ||
@@ -17,23 +228,9 @@ function NgxPageScrollDirective(pageScrollService, router, document) { | ||
this.pageScrollFinish = new core.EventEmitter(); | ||
this.document = (/** @type {?} */ (document)); | ||
this.document = document; | ||
} | ||
/** | ||
* @param {?} changes | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.ngOnChanges = /** | ||
* @param {?} changes | ||
* @return {?} | ||
*/ | ||
function (changes) { | ||
NgxPageScrollDirective.prototype.ngOnChanges = function (changes) { | ||
// Some inputs changed, reset the pageScrollInstance | ||
this.pageScrollInstance = undefined; | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.ngOnDestroy = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
NgxPageScrollDirective.prototype.ngOnDestroy = function () { | ||
if (this.pageScrollInstance) { | ||
@@ -43,16 +240,10 @@ this.pageScrollService.stop(this.pageScrollInstance); | ||
}; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.generatePageScrollInstance = /** | ||
* @private | ||
* @return {?} | ||
*/ | ||
function () { | ||
NgxPageScrollDirective.prototype.getPageScrollTarget = function () { | ||
return this.pageScrollTarget || this.href || (this.fragment ? '#' + this.fragment : ''); | ||
}; | ||
NgxPageScrollDirective.prototype.generatePageScrollInstance = function () { | ||
if (this.pageScrollInstance === undefined || this.pageScrollInstance === null) { | ||
/** @type {?} */ | ||
var options = { | ||
document: this.document, | ||
scrollTarget: this.pageScrollTarget || this.href, | ||
scrollTarget: this.getPageScrollTarget(), | ||
}; | ||
@@ -90,30 +281,13 @@ if (this.pageScroll) { | ||
}; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.pushRouterState = /** | ||
* @private | ||
* @return {?} | ||
*/ | ||
function () { | ||
NgxPageScrollDirective.prototype.pushRouterState = function () { | ||
if (this.pageScrollAdjustHash && typeof this.pageScrollInstance.pageScrollOptions.scrollTarget === 'string' | ||
&& ((/** @type {?} */ (this.pageScrollInstance.pageScrollOptions.scrollTarget))).substr(0, 1) === '#') { | ||
&& 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, | ||
fragment: this.pageScrollInstance.pageScrollOptions.scrollTarget.substr(1), | ||
queryParamsHandling: 'preserve', | ||
}); | ||
} | ||
}; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.scroll = /** | ||
* @private | ||
* @return {?} | ||
*/ | ||
function () { | ||
/** @type {?} */ | ||
NgxPageScrollDirective.prototype.scroll = function () { | ||
var pageScrollInstance = this.generatePageScrollInstance(); | ||
@@ -123,14 +297,5 @@ this.pushRouterState(); | ||
}; | ||
/** | ||
* @param {?} clickEvent | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.handleClick = /** | ||
* @param {?} clickEvent | ||
* @return {?} | ||
*/ | ||
function (clickEvent) { | ||
NgxPageScrollDirective.prototype.handleClick = function (clickEvent) { | ||
var _this = this; | ||
if (this.routerLink && this.router !== null && this.router !== undefined) { | ||
/** @type {?} */ | ||
var urlTree = void 0; | ||
@@ -145,24 +310,17 @@ if (typeof this.routerLink === 'string') { | ||
// 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) { | ||
// Navigation is handled by the routerLink directive so we only need to listen for route change | ||
this.router.events.pipe(operators.filter(function (routerEvent) { | ||
// We're only interested in successful navigations or when the navigation fails | ||
return routerEvent instanceof router.NavigationEnd || routerEvent instanceof router.NavigationError | ||
|| routerEvent instanceof router.NavigationCancel; | ||
}), | ||
// Consume only one event, automatically "unsubscribing" from the event stream afterwards | ||
operators.take(1)).subscribe(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 () { | ||
setTimeout(function () { | ||
_this.scroll(); | ||
}), 0); | ||
}, 0); | ||
} | ||
else if (routerEvent instanceof router.NavigationError || routerEvent instanceof router.NavigationCancel) { | ||
subscription_1.unsubscribe(); | ||
} | ||
})))); | ||
}); | ||
return false; // to preventDefault() | ||
@@ -174,11 +332,2 @@ } | ||
}; | ||
NgxPageScrollDirective.decorators = [ | ||
{ type: core.Directive, args: [{ | ||
selector: '[pageScroll]', | ||
host: { | ||
'(click)': 'handleClick($event)', | ||
}, | ||
},] } | ||
]; | ||
/** @nocollapse */ | ||
NgxPageScrollDirective.ctorParameters = function () { return [ | ||
@@ -189,88 +338,87 @@ { type: ngxPageScrollCore.PageScrollService }, | ||
]; }; | ||
NgxPageScrollDirective.propDecorators = { | ||
routerLink: [{ type: core.Input }], | ||
href: [{ type: core.Input }], | ||
pageScrollTarget: [{ type: core.Input }], | ||
pageScrollHorizontal: [{ type: core.Input }], | ||
pageScrollOffset: [{ type: core.Input }], | ||
pageScrollDuration: [{ type: core.Input }], | ||
pageScrollSpeed: [{ type: core.Input }], | ||
pageScrollEasing: [{ type: core.Input }], | ||
pageScrollInterruptible: [{ type: core.Input }], | ||
pageScrollInView: [{ type: core.Input }], | ||
pageScrollAdjustHash: [{ type: core.Input }], | ||
pageScroll: [{ type: core.Input }], | ||
pageScrollFinish: [{ type: core.Output }] | ||
}; | ||
__decorate([ | ||
core.Input(), | ||
__metadata("design:type", Object) | ||
], NgxPageScrollDirective.prototype, "routerLink", void 0); | ||
__decorate([ | ||
core.Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "href", void 0); | ||
__decorate([ | ||
core.Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "fragment", void 0); | ||
__decorate([ | ||
core.Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "pageScrollTarget", void 0); | ||
__decorate([ | ||
core.Input(), | ||
__metadata("design:type", Boolean) | ||
], NgxPageScrollDirective.prototype, "pageScrollHorizontal", void 0); | ||
__decorate([ | ||
core.Input(), | ||
__metadata("design:type", Number) | ||
], NgxPageScrollDirective.prototype, "pageScrollOffset", void 0); | ||
__decorate([ | ||
core.Input(), | ||
__metadata("design:type", Number) | ||
], NgxPageScrollDirective.prototype, "pageScrollDuration", void 0); | ||
__decorate([ | ||
core.Input(), | ||
__metadata("design:type", Number) | ||
], NgxPageScrollDirective.prototype, "pageScrollSpeed", void 0); | ||
__decorate([ | ||
core.Input(), | ||
__metadata("design:type", Function) | ||
], NgxPageScrollDirective.prototype, "pageScrollEasing", void 0); | ||
__decorate([ | ||
core.Input(), | ||
__metadata("design:type", Boolean) | ||
], NgxPageScrollDirective.prototype, "pageScrollInterruptible", void 0); | ||
__decorate([ | ||
core.Input(), | ||
__metadata("design:type", Boolean) | ||
], NgxPageScrollDirective.prototype, "pageScrollInView", void 0); | ||
__decorate([ | ||
core.Input(), | ||
__metadata("design:type", Object) | ||
], NgxPageScrollDirective.prototype, "pageScrollAdjustHash", void 0); | ||
__decorate([ | ||
core.Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "pageScroll", void 0); | ||
__decorate([ | ||
core.Output(), | ||
__metadata("design:type", core.EventEmitter) | ||
], NgxPageScrollDirective.prototype, "pageScrollFinish", void 0); | ||
NgxPageScrollDirective = __decorate([ | ||
core.Directive({ | ||
selector: '[pageScroll]', | ||
host: { | ||
'(click)': 'handleClick($event)', | ||
}, | ||
}), | ||
__param(1, core.Optional()), __param(2, core.Inject(common.DOCUMENT)), | ||
__metadata("design:paramtypes", [ngxPageScrollCore.PageScrollService, router.Router, Object]) | ||
], NgxPageScrollDirective); | ||
return NgxPageScrollDirective; | ||
}()); | ||
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; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
var NgxPageScrollModule = /** @class */ (function () { | ||
function NgxPageScrollModule() { | ||
} | ||
NgxPageScrollModule.decorators = [ | ||
{ type: core.NgModule, args: [{ | ||
declarations: [ | ||
NgxPageScrollDirective, | ||
], | ||
imports: [ | ||
ngxPageScrollCore.NgxPageScrollCoreModule, | ||
], | ||
exports: [ | ||
NgxPageScrollDirective, | ||
], | ||
},] } | ||
]; | ||
NgxPageScrollModule = __decorate([ | ||
core.NgModule({ | ||
declarations: [ | ||
NgxPageScrollDirective, | ||
], | ||
imports: [ | ||
ngxPageScrollCore.NgxPageScrollCoreModule, | ||
], | ||
exports: [ | ||
NgxPageScrollDirective, | ||
], | ||
}) | ||
], NgxPageScrollModule); | ||
return NgxPageScrollModule; | ||
@@ -284,3 +432,3 @@ }()); | ||
})); | ||
}))); | ||
//# sourceMappingURL=ngx-page-scroll.umd.js.map |
@@ -1,2 +0,16 @@ | ||
!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})}); | ||
!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"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("ngx-page-scroll",["exports","@angular/core","ngx-page-scroll-core","@angular/router","@angular/common","rxjs/operators"],t):t((e=e||self)["ngx-page-scroll"]={},e.ng.core,e.ngxPageScrollCore,e.ng.router,e.ng.common,e.rxjs.operators)}(this,(function(e,t,r,o,n,i){"use strict"; | ||
/*! ***************************************************************************** | ||
Copyright (c) Microsoft Corporation. All rights reserved. | ||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use | ||
this file except in compliance with the License. You may obtain a copy of the | ||
License at http://www.apache.org/licenses/LICENSE-2.0 | ||
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED | ||
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, | ||
MERCHANTABLITY OR NON-INFRINGEMENT. | ||
See the Apache Version 2.0 License for specific language governing permissions | ||
and limitations under the License. | ||
***************************************************************************** */function l(e,t,r,o){var n,i=arguments.length,l=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,r,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(l=(i<3?n(l):i>3?n(t,r,l):n(t,r))||l);return i>3&&l&&Object.defineProperty(t,r,l),l}function a(e,t){return function(r,o){t(r,o,e)}}function p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}var s=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.getPageScrollTarget=function(){return this.pageScrollTarget||this.href||(this.fragment?"#"+this.fragment:"")},e.prototype.generatePageScrollInstance=function(){if(void 0===this.pageScrollInstance||null===this.pageScrollInstance){var e={document:this.document,scrollTarget:this.getPageScrollTarget()};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),queryParamsHandling:"preserve"})},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))return this.router.events.pipe(i.filter((function(e){return e instanceof o.NavigationEnd||e instanceof o.NavigationError||e instanceof o.NavigationCancel})),i.take(1)).subscribe((function(e){e instanceof o.NavigationEnd&&setTimeout((function(){t.scroll()}),0)})),!1}return this.scroll(),!1},e.ctorParameters=function(){return[{type:r.PageScrollService},{type:o.Router,decorators:[{type:t.Optional}]},{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]},l([t.Input(),p("design:type",Object)],e.prototype,"routerLink",void 0),l([t.Input(),p("design:type",String)],e.prototype,"href",void 0),l([t.Input(),p("design:type",String)],e.prototype,"fragment",void 0),l([t.Input(),p("design:type",String)],e.prototype,"pageScrollTarget",void 0),l([t.Input(),p("design:type",Boolean)],e.prototype,"pageScrollHorizontal",void 0),l([t.Input(),p("design:type",Number)],e.prototype,"pageScrollOffset",void 0),l([t.Input(),p("design:type",Number)],e.prototype,"pageScrollDuration",void 0),l([t.Input(),p("design:type",Number)],e.prototype,"pageScrollSpeed",void 0),l([t.Input(),p("design:type",Function)],e.prototype,"pageScrollEasing",void 0),l([t.Input(),p("design:type",Boolean)],e.prototype,"pageScrollInterruptible",void 0),l([t.Input(),p("design:type",Boolean)],e.prototype,"pageScrollInView",void 0),l([t.Input(),p("design:type",Object)],e.prototype,"pageScrollAdjustHash",void 0),l([t.Input(),p("design:type",String)],e.prototype,"pageScroll",void 0),l([t.Output(),p("design:type",t.EventEmitter)],e.prototype,"pageScrollFinish",void 0),e=l([t.Directive({selector:"[pageScroll]",host:{"(click)":"handleClick($event)"}}),a(1,t.Optional()),a(2,t.Inject(n.DOCUMENT)),p("design:paramtypes",[r.PageScrollService,o.Router,Object])],e)}(),c=function(){function e(){}return e=l([t.NgModule({declarations:[s],imports:[r.NgxPageScrollCoreModule],exports:[s]})],e)}();e.NgxPageScrollDirective=s,e.NgxPageScrollModule=c,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=ngx-page-scroll.umd.min.js.map |
@@ -1,16 +0,9 @@ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/* tslint:disable:no-host-metadata-property directive-selector */ | ||
import { __decorate, __metadata, __param } from "tslib"; | ||
import { Directive, EventEmitter, Inject, Input, Optional, Output } from '@angular/core'; | ||
import { NavigationCancel, NavigationEnd, NavigationError, Router } from '@angular/router'; | ||
import { NavigationCancel, NavigationEnd, NavigationError, Router, UrlTree } from '@angular/router'; | ||
import { DOCUMENT } from '@angular/common'; | ||
import { PageScrollService } from 'ngx-page-scroll-core'; | ||
export class NgxPageScrollDirective { | ||
/** | ||
* @param {?} pageScrollService | ||
* @param {?} router | ||
* @param {?} document | ||
*/ | ||
import { EasingLogic, PageScrollInstance, PageScrollOptions, PageScrollService } from 'ngx-page-scroll-core'; | ||
import { filter, take } from 'rxjs/operators'; | ||
let NgxPageScrollDirective = class NgxPageScrollDirective { | ||
constructor(pageScrollService, router, document) { | ||
@@ -21,8 +14,4 @@ this.pageScrollService = pageScrollService; | ||
this.pageScrollFinish = new EventEmitter(); | ||
this.document = (/** @type {?} */ (document)); | ||
this.document = document; | ||
} | ||
/** | ||
* @param {?} changes | ||
* @return {?} | ||
*/ | ||
ngOnChanges(changes) { | ||
@@ -32,5 +21,2 @@ // Some inputs changed, reset the pageScrollInstance | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
ngOnDestroy() { | ||
@@ -41,12 +27,10 @@ if (this.pageScrollInstance) { | ||
} | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
getPageScrollTarget() { | ||
return this.pageScrollTarget || this.href || (this.fragment ? '#' + this.fragment : ''); | ||
} | ||
generatePageScrollInstance() { | ||
if (this.pageScrollInstance === undefined || this.pageScrollInstance === null) { | ||
/** @type {?} */ | ||
const options = { | ||
document: this.document, | ||
scrollTarget: this.pageScrollTarget || this.href, | ||
scrollTarget: this.getPageScrollTarget(), | ||
}; | ||
@@ -84,22 +68,13 @@ if (this.pageScroll) { | ||
} | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
pushRouterState() { | ||
if (this.pageScrollAdjustHash && typeof this.pageScrollInstance.pageScrollOptions.scrollTarget === 'string' | ||
&& ((/** @type {?} */ (this.pageScrollInstance.pageScrollOptions.scrollTarget))).substr(0, 1) === '#') { | ||
&& 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, | ||
fragment: this.pageScrollInstance.pageScrollOptions.scrollTarget.substr(1), | ||
queryParamsHandling: 'preserve', | ||
}); | ||
} | ||
} | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
scroll() { | ||
/** @type {?} */ | ||
const pageScrollInstance = this.generatePageScrollInstance(); | ||
@@ -109,9 +84,4 @@ this.pushRouterState(); | ||
} | ||
/** | ||
* @param {?} clickEvent | ||
* @return {?} | ||
*/ | ||
handleClick(clickEvent) { | ||
if (this.routerLink && this.router !== null && this.router !== undefined) { | ||
/** @type {?} */ | ||
let urlTree; | ||
@@ -126,24 +96,17 @@ if (typeof this.routerLink === 'string') { | ||
// We need to navigate their first. | ||
// Navigation is handled by the routerLink directive | ||
// so we only need to listen for route change | ||
/** @type {?} */ | ||
const subscription = (/** @type {?} */ (this.router.events.subscribe((/** | ||
* @param {?} routerEvent | ||
* @return {?} | ||
*/ | ||
(routerEvent) => { | ||
// Navigation is handled by the routerLink directive so we only need to listen for route change | ||
this.router.events.pipe(filter(routerEvent => { | ||
// We're only interested in successful navigations or when the navigation fails | ||
return routerEvent instanceof NavigationEnd || routerEvent instanceof NavigationError | ||
|| routerEvent instanceof NavigationCancel; | ||
}), | ||
// Consume only one event, automatically "unsubscribing" from the event stream afterwards | ||
take(1)).subscribe((routerEvent) => { | ||
if (routerEvent instanceof NavigationEnd) { | ||
subscription.unsubscribe(); | ||
// use a timeout to start scrolling as soon as the stack is cleared | ||
setTimeout((/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
setTimeout(() => { | ||
this.scroll(); | ||
}), 0); | ||
}, 0); | ||
} | ||
else if (routerEvent instanceof NavigationError || routerEvent instanceof NavigationCancel) { | ||
subscription.unsubscribe(); | ||
} | ||
})))); | ||
}); | ||
return false; // to preventDefault() | ||
@@ -155,12 +118,3 @@ } | ||
} | ||
} | ||
NgxPageScrollDirective.decorators = [ | ||
{ type: Directive, args: [{ | ||
selector: '[pageScroll]', | ||
host: { | ||
'(click)': 'handleClick($event)', | ||
}, | ||
},] } | ||
]; | ||
/** @nocollapse */ | ||
}; | ||
NgxPageScrollDirective.ctorParameters = () => [ | ||
@@ -171,65 +125,69 @@ { type: PageScrollService }, | ||
]; | ||
NgxPageScrollDirective.propDecorators = { | ||
routerLink: [{ type: Input }], | ||
href: [{ type: Input }], | ||
pageScrollTarget: [{ type: Input }], | ||
pageScrollHorizontal: [{ type: Input }], | ||
pageScrollOffset: [{ type: Input }], | ||
pageScrollDuration: [{ type: Input }], | ||
pageScrollSpeed: [{ type: Input }], | ||
pageScrollEasing: [{ type: Input }], | ||
pageScrollInterruptible: [{ type: Input }], | ||
pageScrollInView: [{ type: Input }], | ||
pageScrollAdjustHash: [{ type: Input }], | ||
pageScroll: [{ type: Input }], | ||
pageScrollFinish: [{ type: Output }] | ||
}; | ||
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; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhZ2Utc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wYWdlLXNjcm9sbC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtcGFnZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczQyxPQUFPLEVBQXNELGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFRN0csTUFBTSxPQUFPLHNCQUFzQjs7Ozs7O0lBNENqQyxZQUFvQixpQkFBb0MsRUFBc0IsTUFBYyxFQUFvQixRQUFhO1FBQXpHLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFBc0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVhyRix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFNcEMscUJBQWdCLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFNcEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxtQkFBVSxRQUFRLEVBQUEsQ0FBQztJQUNyQyxDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztJQUN0QyxDQUFDOzs7O0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDdEQ7SUFDSCxDQUFDOzs7OztJQUVPLDBCQUEwQjtR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Q0FBQyxFQUFDLEVBQUE7Z0JBRUYsT0FBTyxLQUFLLENBQUMsQ0FBQyxzQkFBc0I7YUFDckM7U0FDRjtRQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVkLE9BQU8sS0FBSyxDQUFDLENBQUMsc0JBQXNCO0lBQ3RDLENBQUM7OztZQXhKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLElBQUksRUFBRTtvQkFDSixTQUFTLEVBQUUscUJBQXFCO2lCQUNqQzthQUNGOzs7O1lBUDRELGlCQUFpQjtZQUpuQixNQUFNLHVCQXdESixRQUFROzRDQUE0QixNQUFNLFNBQUMsUUFBUTs7O3lCQTFDN0csS0FBSzttQkFHTCxLQUFLOytCQUdMLEtBQUs7bUNBR0wsS0FBSzsrQkFHTCxLQUFLO2lDQUdMLEtBQUs7OEJBR0wsS0FBSzsrQkFHTCxLQUFLO3NDQUdMLEtBQUs7K0JBR0wsS0FBSzttQ0FHTCxLQUFLO3lCQUdMLEtBQUs7K0JBR0wsTUFBTTs7OztJQXBDUCw0Q0FDdUI7O0lBRXZCLHNDQUNvQjs7SUFFcEIsa0RBQ2dDOztJQUVoQyxzREFDcUM7O0lBRXJDLGtEQUNnQzs7SUFFaEMsb0RBQ2tDOztJQUVsQyxpREFDK0I7O0lBRS9CLGtEQUNxQzs7SUFFckMseURBQ3dDOztJQUV4QyxrREFDaUM7O0lBRWpDLHNEQUNvQzs7SUFFcEMsNENBQzBCOztJQUUxQixrREFDc0U7Ozs7O0lBRXRFLG9EQUErQzs7Ozs7SUFDL0MsMENBQTJCOzs7OztJQUVmLG1EQUE0Qzs7Ozs7SUFBRSx3Q0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZTpuby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5IGRpcmVjdGl2ZS1zZWxlY3RvciAqL1xuXG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uRXJyb3IsIFJvdXRlciwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRWFzaW5nTG9naWMsIFBhZ2VTY3JvbGxJbnN0YW5jZSwgUGFnZVNjcm9sbE9wdGlvbnMsIFBhZ2VTY3JvbGxTZXJ2aWNlIH0gZnJvbSAnbmd4LXBhZ2Utc2Nyb2xsLWNvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcGFnZVNjcm9sbF0nLFxuICBob3N0OiB7XG4gICAgJyhjbGljayknOiAnaGFuZGxlQ2xpY2soJGV2ZW50KScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5neFBhZ2VTY3JvbGxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvdXRlckxpbms6IGFueTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaHJlZjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsVGFyZ2V0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxIb3Jpem9udGFsOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsT2Zmc2V0OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxEdXJhdGlvbjogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsU3BlZWQ6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbEVhc2luZzogRWFzaW5nTG9naWM7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxJbnRlcnJ1cHRpYmxlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsSW5WaWV3OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsQWRqdXN0SGFzaCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIHBhZ2VTY3JvbGxGaW5pc2g6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIHBhZ2VTY3JvbGxJbnN0YW5jZTogUGFnZVNjcm9sbEluc3RhbmNlO1xuICBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhZ2VTY3JvbGxTZXJ2aWNlOiBQYWdlU2Nyb2xsU2VydmljZSwgQE9wdGlvbmFsKCkgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSkge1xuICAgIHRoaXMuZG9jdW1lbnQgPSA8RG9jdW1lbnQ+ZG9jdW1lbnQ7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLy8gU29tZSBpbnB1dHMgY2hhbmdlZCwgcmVzZXQgdGhlIHBhZ2VTY3JvbGxJbnN0YW5jZVxuICAgIHRoaXMucGFnZVNjcm9sbEluc3RhbmNlID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFnZVNjcm9sbEluc3RhbmNlKSB7XG4gICAgICB0aGlzLnBhZ2VTY3JvbGxTZXJ2aWNlLnN0b3AodGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVQYWdlU2Nyb2xsSW5zdGFuY2UoKTogUGFnZVNjcm9sbEluc3RhbmNlIHtcbiAgICBpZiAodGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSA9PT0gbnVsbCkge1xuICAgICAgY29uc3Qgb3B0aW9uczogUGFnZVNjcm9sbE9wdGlvbnMgPSB7XG4gICAgICAgIGRvY3VtZW50OiB0aGlzLmRvY3VtZW50LFxuICAgICAgICBzY3JvbGxUYXJnZXQ6IHRoaXMucGFnZVNjcm9sbFRhcmdldCB8fCB0aGlzLmhyZWYsXG4gICAgICB9O1xuXG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsKSB7XG4gICAgICAgIG9wdGlvbnMubmFtZXNwYWNlID0gdGhpcy5wYWdlU2Nyb2xsO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnZVNjcm9sbEhvcml6b250YWwgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxIb3Jpem9udGFsICE9PSBudWxsKSB7XG4gICAgICAgIG9wdGlvbnMudmVydGljYWxTY3JvbGxpbmcgPSAhdGhpcy5wYWdlU2Nyb2xsSG9yaXpvbnRhbDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxPZmZzZXQgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxPZmZzZXQgIT09IG51bGwpIHtcbiAgICAgICAgb3B0aW9ucy5zY3JvbGxPZmZzZXQgPSB0aGlzLnBhZ2VTY3JvbGxPZmZzZXQ7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsSW50ZXJydXB0aWJsZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbEludGVycnVwdGlibGUgIT09IG51bGwpIHtcbiAgICAgICAgb3B0aW9ucy5pbnRlcnJ1cHRpYmxlID0gdGhpcy5wYWdlU2Nyb2xsSW50ZXJydXB0aWJsZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxJblZpZXcgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxJblZpZXcgIT09IG51bGwpIHtcbiAgICAgICAgb3B0aW9ucy5zY3JvbGxJblZpZXcgPSB0aGlzLnBhZ2VTY3JvbGxJblZpZXc7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsRWFzaW5nKSB7XG4gICAgICAgIG9wdGlvbnMuZWFzaW5nTG9naWMgPSB0aGlzLnBhZ2VTY3JvbGxFYXNpbmc7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsRHVyYXRpb24gIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxEdXJhdGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLmR1cmF0aW9uID0gdGhpcy5wYWdlU2Nyb2xsRHVyYXRpb247XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsU3BlZWQgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxTcGVlZCAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLnNwZWVkID0gdGhpcy5wYWdlU2Nyb2xsU3BlZWQ7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsRmluaXNoKSB7XG4gICAgICAgIG9wdGlvbnMuc2Nyb2xsRmluaXNoTGlzdGVuZXIgPSB0aGlzLnBhZ2VTY3JvbGxGaW5pc2g7XG4gICAgICB9XG4gICAgICB0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSA9IHRoaXMucGFnZVNjcm9sbFNlcnZpY2UuY3JlYXRlKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgcHVzaFJvdXRlclN0YXRlKCkge1xuICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxBZGp1c3RIYXNoICYmIHR5cGVvZiB0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZS5wYWdlU2Nyb2xsT3B0aW9ucy5zY3JvbGxUYXJnZXQgPT09ICdzdHJpbmcnXG4gICAgICAmJiAoPHN0cmluZz50aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZS5wYWdlU2Nyb2xsT3B0aW9ucy5zY3JvbGxUYXJnZXQpLnN1YnN0cigwLCAxKSA9PT0gJyMnKSB7XG4gICAgICAvLyBcIk5hdmlnYXRlXCIgdG8gdGhlIGN1cnJlbnQgcm91dGUgYWdhaW4gYW5kIHRoaXMgdGltZSBzZXQgdGhlIGZyYWdtZW50L2hhc2hcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICAgIGZyYWdtZW50OiAoPHN0cmluZz50aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZS5wYWdlU2Nyb2xsT3B0aW9ucy5zY3JvbGxUYXJnZXQpLnN1YnN0cigxKSxcbiAgICAgICAgcHJlc2VydmVRdWVyeVBhcmFtczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsKCk6IHZvaWQge1xuICAgIGNvbnN0IHBhZ2VTY3JvbGxJbnN0YW5jZSA9IHRoaXMuZ2VuZXJhdGVQYWdlU2Nyb2xsSW5zdGFuY2UoKTtcbiAgICB0aGlzLnB1c2hSb3V0ZXJTdGF0ZSgpO1xuICAgIHRoaXMucGFnZVNjcm9sbFNlcnZpY2Uuc3RhcnQocGFnZVNjcm9sbEluc3RhbmNlKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVDbGljayhjbGlja0V2ZW50OiBFdmVudCk6IGJvb2xlYW4geyAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lOm5vLXVudXNlZC12YXJpYWJsZVxuICAgIGlmICh0aGlzLnJvdXRlckxpbmsgJiYgdGhpcy5yb3V0ZXIgIT09IG51bGwgJiYgdGhpcy5yb3V0ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IHVybFRyZWU6IFVybFRyZWU7XG4gICAgICBpZiAodHlwZW9mIHRoaXMucm91dGVyTGluayA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdXJsVHJlZSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKHRoaXMucm91dGVyTGluayk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cmxUcmVlID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZSh0aGlzLnJvdXRlckxpbmspO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLnJvdXRlci5pc0FjdGl2ZSh1cmxUcmVlLCB0cnVlKSkge1xuICAgICAgICAvLyBXZSBuZWVkIHRvIG5hdmlnYXRlIHRoZWlyIGZpcnN0LlxuICAgICAgICAvLyBOYXZpZ2F0aW9uIGlzIGhhbmRsZWQgYnkgdGhlIHJvdXRlckxpbmsgZGlyZWN0aXZlXG4gICAgICAgIC8vIHNvIHdlIG9ubHkgbmVlZCB0byBsaXN0ZW4gZm9yIHJvdXRlIGNoYW5nZVxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IDxTdWJzY3JpcHRpb24+dGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgocm91dGVyRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAocm91dGVyRXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIC8vIHVzZSBhIHRpbWVvdXQgdG8gc3RhcnQgc2Nyb2xsaW5nIGFzIHNvb24gYXMgdGhlIHN0YWNrIGlzIGNsZWFyZWRcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnNjcm9sbCgpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChyb3V0ZXJFdmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FcnJvciB8fCByb3V0ZXJFdmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwpIHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyB0byBwcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsKCk7XG5cbiAgICByZXR1cm4gZmFsc2U7IC8vIHRvIHByZXZlbnREZWZhdWx0KClcbiAgfVxufVxuIl19 | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Object) | ||
], NgxPageScrollDirective.prototype, "routerLink", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "href", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "fragment", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "pageScrollTarget", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Boolean) | ||
], NgxPageScrollDirective.prototype, "pageScrollHorizontal", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Number) | ||
], NgxPageScrollDirective.prototype, "pageScrollOffset", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Number) | ||
], NgxPageScrollDirective.prototype, "pageScrollDuration", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Number) | ||
], NgxPageScrollDirective.prototype, "pageScrollSpeed", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Function) | ||
], NgxPageScrollDirective.prototype, "pageScrollEasing", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Boolean) | ||
], NgxPageScrollDirective.prototype, "pageScrollInterruptible", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Boolean) | ||
], NgxPageScrollDirective.prototype, "pageScrollInView", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Object) | ||
], NgxPageScrollDirective.prototype, "pageScrollAdjustHash", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "pageScroll", void 0); | ||
__decorate([ | ||
Output(), | ||
__metadata("design:type", EventEmitter) | ||
], NgxPageScrollDirective.prototype, "pageScrollFinish", void 0); | ||
NgxPageScrollDirective = __decorate([ | ||
Directive({ | ||
selector: '[pageScroll]', | ||
host: { | ||
'(click)': 'handleClick($event)', | ||
}, | ||
}), | ||
__param(1, Optional()), __param(2, Inject(DOCUMENT)), | ||
__metadata("design:paramtypes", [PageScrollService, Router, Object]) | ||
], NgxPageScrollDirective); | ||
export { NgxPageScrollDirective }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhZ2Utc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wYWdlLXNjcm9sbC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtcGFnZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlFQUFpRTs7QUFFakUsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFROUMsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUErQ2pDLFlBQW9CLGlCQUFvQyxFQUFzQixNQUFjLEVBQW9CLFFBQWE7UUFBekcsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFzQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWHJGLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQU1wQyxxQkFBZ0IsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQU1wRSxJQUFJLENBQUMsUUFBUSxHQUFhLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFD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QTFDM0Qsc0JBQXNCO0lBTmxDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxjQUFjO1FBQ3hCLElBQUksRUFBRTtZQUNKLFNBQVMsRUFBRSxxQkFBcUI7U0FDakM7S0FDRixDQUFDO0lBZ0QyRCxXQUFBLFFBQVEsRUFBRSxDQUFBLEVBQTBCLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO3FDQUF4RSxpQkFBaUIsRUFBOEIsTUFBTTtHQS9DakYsc0JBQXNCLENBNkpsQztTQTdKWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZTpuby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5IGRpcmVjdGl2ZS1zZWxlY3RvciAqL1xuXG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uRXJyb3IsIFJvdXRlciwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEVhc2luZ0xvZ2ljLCBQYWdlU2Nyb2xsSW5zdGFuY2UsIFBhZ2VTY3JvbGxPcHRpb25zLCBQYWdlU2Nyb2xsU2VydmljZSB9IGZyb20gJ25neC1wYWdlLXNjcm9sbC1jb3JlJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3BhZ2VTY3JvbGxdJyxcbiAgaG9zdDoge1xuICAgICcoY2xpY2spJzogJ2hhbmRsZUNsaWNrKCRldmVudCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hQYWdlU2Nyb2xsRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3V0ZXJMaW5rOiBhbnk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhyZWY6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZnJhZ21lbnQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbFRhcmdldDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsSG9yaXpvbnRhbDogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbE9mZnNldDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsRHVyYXRpb246IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbFNwZWVkOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxFYXNpbmc6IEVhc2luZ0xvZ2ljO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsSW50ZXJydXB0aWJsZTogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbEluVmlldzogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbEFkanVzdEhhc2ggPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbDogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKVxuICBwYWdlU2Nyb2xsRmluaXNoOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBwYWdlU2Nyb2xsSW5zdGFuY2U6IFBhZ2VTY3JvbGxJbnN0YW5jZTtcbiAgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYWdlU2Nyb2xsU2VydmljZTogUGFnZVNjcm9sbFNlcnZpY2UsIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnkpIHtcbiAgICB0aGlzLmRvY3VtZW50ID0gPERvY3VtZW50PmRvY3VtZW50O1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vIFNvbWUgaW5wdXRzIGNoYW5nZWQsIHJlc2V0IHRoZSBwYWdlU2Nyb2xsSW5zdGFuY2VcbiAgICB0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSkge1xuICAgICAgdGhpcy5wYWdlU2Nyb2xsU2VydmljZS5zdG9wKHRoaXMucGFnZVNjcm9sbEluc3RhbmNlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFBhZ2VTY3JvbGxUYXJnZXQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlU2Nyb2xsVGFyZ2V0IHx8IHRoaXMuaHJlZiB8fCAodGhpcy5mcmFnbWVudCA/ICcjJyArIHRoaXMuZnJhZ21lbnQgOiAnJyk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlUGFnZVNjcm9sbEluc3RhbmNlKCk6IFBhZ2VTY3JvbGxJbnN0YW5jZSB7XG4gICAgaWYgKHRoaXMucGFnZVNjcm9sbEluc3RhbmNlID09PSB1bmRlZmluZWQgfHwgdGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IFBhZ2VTY3JvbGxPcHRpb25zID0ge1xuICAgICAgICBkb2N1bWVudDogdGhpcy5kb2N1bWVudCxcbiAgICAgICAgc2Nyb2xsVGFyZ2V0OiB0aGlzLmdldFBhZ2VTY3JvbGxUYXJnZXQoKSxcbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGwpIHtcbiAgICAgICAgb3B0aW9ucy5uYW1lc3BhY2UgPSB0aGlzLnBhZ2VTY3JvbGw7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsSG9yaXpvbnRhbCAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbEhvcml6b250YWwgIT09IG51bGwpIHtcbiAgICAgICAgb3B0aW9ucy52ZXJ0aWNhbFNjcm9sbGluZyA9ICF0aGlzLnBhZ2VTY3JvbGxIb3Jpem9udGFsO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnZVNjcm9sbE9mZnNldCAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbE9mZnNldCAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLnNjcm9sbE9mZnNldCA9IHRoaXMucGFnZVNjcm9sbE9mZnNldDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxJbnRlcnJ1cHRpYmxlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5wYWdlU2Nyb2xsSW50ZXJydXB0aWJsZSAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLmludGVycnVwdGlibGUgPSB0aGlzLnBhZ2VTY3JvbGxJbnRlcnJ1cHRpYmxlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnZVNjcm9sbEluVmlldyAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbEluVmlldyAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLnNjcm9sbEluVmlldyA9IHRoaXMucGFnZVNjcm9sbEluVmlldztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxFYXNpbmcpIHtcbiAgICAgICAgb3B0aW9ucy5lYXNpbmdMb2dpYyA9IHRoaXMucGFnZVNjcm9sbEVhc2luZztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxEdXJhdGlvbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbER1cmF0aW9uICE9PSBudWxsKSB7XG4gICAgICAgIG9wdGlvbnMuZHVyYXRpb24gPSB0aGlzLnBhZ2VTY3JvbGxEdXJhdGlvbjtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxTcGVlZCAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbFNwZWVkICE9PSBudWxsKSB7XG4gICAgICAgIG9wdGlvbnMuc3BlZWQgPSB0aGlzLnBhZ2VTY3JvbGxTcGVlZDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxGaW5pc2gpIHtcbiAgICAgICAgb3B0aW9ucy5zY3JvbGxGaW5pc2hMaXN0ZW5lciA9IHRoaXMucGFnZVNjcm9sbEZpbmlzaDtcbiAgICAgIH1cbiAgICAgIHRoaXMucGFnZVNjcm9sbEluc3RhbmNlID0gdGhpcy5wYWdlU2Nyb2xsU2VydmljZS5jcmVhdGUob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucGFnZVNjcm9sbEluc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBwdXNoUm91dGVyU3RhdGUoKSB7XG4gICAgaWYgKHRoaXMucGFnZVNjcm9sbEFkanVzdEhhc2ggJiYgdHlwZW9mIHRoaXMucGFnZVNjcm9sbEluc3RhbmNlLnBhZ2VTY3JvbGxPcHRpb25zLnNjcm9sbFRhcmdldCA9PT0gJ3N0cmluZydcbiAgICAgICYmICg8c3RyaW5nPnRoaXMucGFnZVNjcm9sbEluc3RhbmNlLnBhZ2VTY3JvbGxPcHRpb25zLnNjcm9sbFRhcmdldCkuc3Vic3RyKDAsIDEpID09PSAnIycpIHtcbiAgICAgIC8vIFwiTmF2aWdhdGVcIiB0byB0aGUgY3VycmVudCByb3V0ZSBhZ2FpbiBhbmQgdGhpcyB0aW1lIHNldCB0aGUgZnJhZ21lbnQvaGFzaFxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgICAgZnJhZ21lbnQ6ICg8c3RyaW5nPnRoaXMucGFnZVNjcm9sbEluc3RhbmNlLnBhZ2VTY3JvbGxPcHRpb25zLnNjcm9sbFRhcmdldCkuc3Vic3RyKDEpLFxuICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAncHJlc2VydmUnLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGwoKTogdm9pZCB7XG4gICAgY29uc3QgcGFnZVNjcm9sbEluc3RhbmNlID0gdGhpcy5nZW5lcmF0ZVBhZ2VTY3JvbGxJbnN0YW5jZSgpO1xuICAgIHRoaXMucHVzaFJvdXRlclN0YXRlKCk7XG4gICAgdGhpcy5wYWdlU2Nyb2xsU2VydmljZS5zdGFydChwYWdlU2Nyb2xsSW5zdGFuY2UpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUNsaWNrKGNsaWNrRXZlbnQ6IEV2ZW50KTogYm9vbGVhbiB7IC8vIHRzbGludDpkaXNhYmxlLWxpbmU6bm8tdW51c2VkLXZhcmlhYmxlXG4gICAgaWYgKHRoaXMucm91dGVyTGluayAmJiB0aGlzLnJvdXRlciAhPT0gbnVsbCAmJiB0aGlzLnJvdXRlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgdXJsVHJlZTogVXJsVHJlZTtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5yb3V0ZXJMaW5rID09PSAnc3RyaW5nJykge1xuICAgICAgICB1cmxUcmVlID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwodGhpcy5yb3V0ZXJMaW5rKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVybFRyZWUgPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKHRoaXMucm91dGVyTGluayk7XG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMucm91dGVyLmlzQWN0aXZlKHVybFRyZWUsIHRydWUpKSB7XG4gICAgICAgIC8vIFdlIG5lZWQgdG8gbmF2aWdhdGUgdGhlaXIgZmlyc3QuXG4gICAgICAgIC8vIE5hdmlnYXRpb24gaXMgaGFuZGxlZCBieSB0aGUgcm91dGVyTGluayBkaXJlY3RpdmUgc28gd2Ugb25seSBuZWVkIHRvIGxpc3RlbiBmb3Igcm91dGUgY2hhbmdlXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihyb3V0ZXJFdmVudCA9PiB7XG4gICAgICAgICAgICAvLyBXZSdyZSBvbmx5IGludGVyZXN0ZWQgaW4gc3VjY2Vzc2Z1bCBuYXZpZ2F0aW9ucyBvciB3aGVuIHRoZSBuYXZpZ2F0aW9uIGZhaWxzXG4gICAgICAgICAgICByZXR1cm4gcm91dGVyRXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kIHx8IHJvdXRlckV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVycm9yXG4gICAgICAgICAgICAgIHx8IHJvdXRlckV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbDtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICAvLyBDb25zdW1lIG9ubHkgb25lIGV2ZW50LCBhdXRvbWF0aWNhbGx5IFwidW5zdWJzY3JpYmluZ1wiIGZyb20gdGhlIGV2ZW50IHN0cmVhbSBhZnRlcndhcmRzXG4gICAgICAgICAgdGFrZSgxKVxuICAgICAgICApLnN1YnNjcmliZSgocm91dGVyRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAocm91dGVyRXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICAvLyB1c2UgYSB0aW1lb3V0IHRvIHN0YXJ0IHNjcm9sbGluZyBhcyBzb29uIGFzIHRoZSBzdGFjayBpcyBjbGVhcmVkXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zY3JvbGwoKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyB0byBwcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsKCk7XG5cbiAgICByZXR1cm4gZmFsc2U7IC8vIHRvIHByZXZlbnREZWZhdWx0KClcbiAgfVxufVxuIl19 |
@@ -1,23 +0,21 @@ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
import { __decorate } from "tslib"; | ||
import { NgModule } from '@angular/core'; | ||
import { NgxPageScrollCoreModule } from 'ngx-page-scroll-core'; | ||
import { NgxPageScrollDirective } from './ngx-page-scroll.directive'; | ||
export class NgxPageScrollModule { | ||
} | ||
NgxPageScrollModule.decorators = [ | ||
{ type: NgModule, args: [{ | ||
declarations: [ | ||
NgxPageScrollDirective, | ||
], | ||
imports: [ | ||
NgxPageScrollCoreModule, | ||
], | ||
exports: [ | ||
NgxPageScrollDirective, | ||
], | ||
},] } | ||
]; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhZ2Utc2Nyb2xsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wYWdlLXNjcm9sbC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtcGFnZS1zY3JvbGwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBYXJFLE1BQU0sT0FBTyxtQkFBbUI7OztZQVgvQixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLHNCQUFzQjtpQkFDdkI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHVCQUF1QjtpQkFDeEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHNCQUFzQjtpQkFDdkI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5neFBhZ2VTY3JvbGxDb3JlTW9kdWxlIH0gZnJvbSAnbmd4LXBhZ2Utc2Nyb2xsLWNvcmUnO1xuXG5pbXBvcnQgeyBOZ3hQYWdlU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9uZ3gtcGFnZS1zY3JvbGwuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTmd4UGFnZVNjcm9sbERpcmVjdGl2ZSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIE5neFBhZ2VTY3JvbGxDb3JlTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTmd4UGFnZVNjcm9sbERpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd4UGFnZVNjcm9sbE1vZHVsZSB7XG59XG4iXX0= | ||
let NgxPageScrollModule = class NgxPageScrollModule { | ||
}; | ||
NgxPageScrollModule = __decorate([ | ||
NgModule({ | ||
declarations: [ | ||
NgxPageScrollDirective, | ||
], | ||
imports: [ | ||
NgxPageScrollCoreModule, | ||
], | ||
exports: [ | ||
NgxPageScrollDirective, | ||
], | ||
}) | ||
], NgxPageScrollModule); | ||
export { NgxPageScrollModule }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhZ2Utc2Nyb2xsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wYWdlLXNjcm9sbC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtcGFnZS1zY3JvbGwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBYXJFLElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW1CO0NBQy9CLENBQUE7QUFEWSxtQkFBbUI7SUFYL0IsUUFBUSxDQUFDO1FBQ1IsWUFBWSxFQUFFO1lBQ1osc0JBQXNCO1NBQ3ZCO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsdUJBQXVCO1NBQ3hCO1FBQ0QsT0FBTyxFQUFFO1lBQ1Asc0JBQXNCO1NBQ3ZCO0tBQ0YsQ0FBQztHQUNXLG1CQUFtQixDQUMvQjtTQURZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5neFBhZ2VTY3JvbGxDb3JlTW9kdWxlIH0gZnJvbSAnbmd4LXBhZ2Utc2Nyb2xsLWNvcmUnO1xuXG5pbXBvcnQgeyBOZ3hQYWdlU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9uZ3gtcGFnZS1zY3JvbGwuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTmd4UGFnZVNjcm9sbERpcmVjdGl2ZSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIE5neFBhZ2VTY3JvbGxDb3JlTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTmd4UGFnZVNjcm9sbERpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd4UGFnZVNjcm9sbE1vZHVsZSB7XG59XG4iXX0= |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** | ||
* Generated bundle index. Do not edit. | ||
*/ | ||
export { NgxPageScrollModule, NgxPageScrollDirective } from './public_api'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhZ2Utc2Nyb2xsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXBhZ2Utc2Nyb2xsLyIsInNvdXJjZXMiOlsibmd4LXBhZ2Utc2Nyb2xsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSw0REFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0= | ||
export * from './public_api'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhZ2Utc2Nyb2xsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXBhZ2Utc2Nyb2xsLyIsInNvdXJjZXMiOlsibmd4LXBhZ2Utc2Nyb2xsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0= |
@@ -1,10 +0,6 @@ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/* | ||
* Public API Surface of ngx-page-scroll | ||
*/ | ||
export { NgxPageScrollModule } from './lib/ngx-page-scroll.module'; | ||
export { NgxPageScrollDirective } from './lib/ngx-page-scroll.directive'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wYWdlLXNjcm9sbC8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLG9DQUFjLDhCQUE4QixDQUFDO0FBRTdDLHVDQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtcGFnZS1zY3JvbGxcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtcGFnZS1zY3JvbGwubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXBhZ2Utc2Nyb2xsLmRpcmVjdGl2ZSc7XG4iXX0= | ||
export * from './lib/ngx-page-scroll.module'; | ||
export * from './lib/ngx-page-scroll.directive'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wYWdlLXNjcm9sbC8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1wYWdlLXNjcm9sbFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1wYWdlLXNjcm9sbC5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtcGFnZS1zY3JvbGwuZGlyZWN0aXZlJztcbiJdfQ== |
@@ -1,10 +0,8 @@ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/* tslint:disable:no-host-metadata-property directive-selector */ | ||
import { __decorate, __metadata, __param } from "tslib"; | ||
import { Directive, EventEmitter, Inject, Input, Optional, Output } from '@angular/core'; | ||
import { NavigationCancel, NavigationEnd, NavigationError, Router } from '@angular/router'; | ||
import { NavigationCancel, NavigationEnd, NavigationError, Router, UrlTree } from '@angular/router'; | ||
import { DOCUMENT } from '@angular/common'; | ||
import { PageScrollService } from 'ngx-page-scroll-core'; | ||
import { EasingLogic, PageScrollInstance, PageScrollOptions, PageScrollService } from 'ngx-page-scroll-core'; | ||
import { filter, take } from 'rxjs/operators'; | ||
var NgxPageScrollDirective = /** @class */ (function () { | ||
@@ -16,23 +14,9 @@ function NgxPageScrollDirective(pageScrollService, router, document) { | ||
this.pageScrollFinish = new EventEmitter(); | ||
this.document = (/** @type {?} */ (document)); | ||
this.document = document; | ||
} | ||
/** | ||
* @param {?} changes | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.ngOnChanges = /** | ||
* @param {?} changes | ||
* @return {?} | ||
*/ | ||
function (changes) { | ||
NgxPageScrollDirective.prototype.ngOnChanges = function (changes) { | ||
// Some inputs changed, reset the pageScrollInstance | ||
this.pageScrollInstance = undefined; | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.ngOnDestroy = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
NgxPageScrollDirective.prototype.ngOnDestroy = function () { | ||
if (this.pageScrollInstance) { | ||
@@ -42,16 +26,10 @@ this.pageScrollService.stop(this.pageScrollInstance); | ||
}; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.generatePageScrollInstance = /** | ||
* @private | ||
* @return {?} | ||
*/ | ||
function () { | ||
NgxPageScrollDirective.prototype.getPageScrollTarget = function () { | ||
return this.pageScrollTarget || this.href || (this.fragment ? '#' + this.fragment : ''); | ||
}; | ||
NgxPageScrollDirective.prototype.generatePageScrollInstance = function () { | ||
if (this.pageScrollInstance === undefined || this.pageScrollInstance === null) { | ||
/** @type {?} */ | ||
var options = { | ||
document: this.document, | ||
scrollTarget: this.pageScrollTarget || this.href, | ||
scrollTarget: this.getPageScrollTarget(), | ||
}; | ||
@@ -89,30 +67,13 @@ if (this.pageScroll) { | ||
}; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.pushRouterState = /** | ||
* @private | ||
* @return {?} | ||
*/ | ||
function () { | ||
NgxPageScrollDirective.prototype.pushRouterState = function () { | ||
if (this.pageScrollAdjustHash && typeof this.pageScrollInstance.pageScrollOptions.scrollTarget === 'string' | ||
&& ((/** @type {?} */ (this.pageScrollInstance.pageScrollOptions.scrollTarget))).substr(0, 1) === '#') { | ||
&& 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, | ||
fragment: this.pageScrollInstance.pageScrollOptions.scrollTarget.substr(1), | ||
queryParamsHandling: 'preserve', | ||
}); | ||
} | ||
}; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.scroll = /** | ||
* @private | ||
* @return {?} | ||
*/ | ||
function () { | ||
/** @type {?} */ | ||
NgxPageScrollDirective.prototype.scroll = function () { | ||
var pageScrollInstance = this.generatePageScrollInstance(); | ||
@@ -122,14 +83,5 @@ this.pushRouterState(); | ||
}; | ||
/** | ||
* @param {?} clickEvent | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.handleClick = /** | ||
* @param {?} clickEvent | ||
* @return {?} | ||
*/ | ||
function (clickEvent) { | ||
NgxPageScrollDirective.prototype.handleClick = function (clickEvent) { | ||
var _this = this; | ||
if (this.routerLink && this.router !== null && this.router !== undefined) { | ||
/** @type {?} */ | ||
var urlTree = void 0; | ||
@@ -144,24 +96,17 @@ if (typeof this.routerLink === 'string') { | ||
// 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) { | ||
// Navigation is handled by the routerLink directive so we only need to listen for route change | ||
this.router.events.pipe(filter(function (routerEvent) { | ||
// We're only interested in successful navigations or when the navigation fails | ||
return routerEvent instanceof NavigationEnd || routerEvent instanceof NavigationError | ||
|| routerEvent instanceof NavigationCancel; | ||
}), | ||
// Consume only one event, automatically "unsubscribing" from the event stream afterwards | ||
take(1)).subscribe(function (routerEvent) { | ||
if (routerEvent instanceof NavigationEnd) { | ||
subscription_1.unsubscribe(); | ||
// use a timeout to start scrolling as soon as the stack is cleared | ||
setTimeout((/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
setTimeout(function () { | ||
_this.scroll(); | ||
}), 0); | ||
}, 0); | ||
} | ||
else if (routerEvent instanceof NavigationError || routerEvent instanceof NavigationCancel) { | ||
subscription_1.unsubscribe(); | ||
} | ||
})))); | ||
}); | ||
return false; // to preventDefault() | ||
@@ -173,11 +118,2 @@ } | ||
}; | ||
NgxPageScrollDirective.decorators = [ | ||
{ type: Directive, args: [{ | ||
selector: '[pageScroll]', | ||
host: { | ||
'(click)': 'handleClick($event)', | ||
}, | ||
},] } | ||
]; | ||
/** @nocollapse */ | ||
NgxPageScrollDirective.ctorParameters = function () { return [ | ||
@@ -188,68 +124,71 @@ { type: PageScrollService }, | ||
]; }; | ||
NgxPageScrollDirective.propDecorators = { | ||
routerLink: [{ type: Input }], | ||
href: [{ type: Input }], | ||
pageScrollTarget: [{ type: Input }], | ||
pageScrollHorizontal: [{ type: Input }], | ||
pageScrollOffset: [{ type: Input }], | ||
pageScrollDuration: [{ type: Input }], | ||
pageScrollSpeed: [{ type: Input }], | ||
pageScrollEasing: [{ type: Input }], | ||
pageScrollInterruptible: [{ type: Input }], | ||
pageScrollInView: [{ type: Input }], | ||
pageScrollAdjustHash: [{ type: Input }], | ||
pageScroll: [{ type: Input }], | ||
pageScrollFinish: [{ type: Output }] | ||
}; | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Object) | ||
], NgxPageScrollDirective.prototype, "routerLink", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "href", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "fragment", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "pageScrollTarget", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Boolean) | ||
], NgxPageScrollDirective.prototype, "pageScrollHorizontal", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Number) | ||
], NgxPageScrollDirective.prototype, "pageScrollOffset", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Number) | ||
], NgxPageScrollDirective.prototype, "pageScrollDuration", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Number) | ||
], NgxPageScrollDirective.prototype, "pageScrollSpeed", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Function) | ||
], NgxPageScrollDirective.prototype, "pageScrollEasing", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Boolean) | ||
], NgxPageScrollDirective.prototype, "pageScrollInterruptible", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Boolean) | ||
], NgxPageScrollDirective.prototype, "pageScrollInView", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Object) | ||
], NgxPageScrollDirective.prototype, "pageScrollAdjustHash", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "pageScroll", void 0); | ||
__decorate([ | ||
Output(), | ||
__metadata("design:type", EventEmitter) | ||
], NgxPageScrollDirective.prototype, "pageScrollFinish", void 0); | ||
NgxPageScrollDirective = __decorate([ | ||
Directive({ | ||
selector: '[pageScroll]', | ||
host: { | ||
'(click)': 'handleClick($event)', | ||
}, | ||
}), | ||
__param(1, Optional()), __param(2, Inject(DOCUMENT)), | ||
__metadata("design:paramtypes", [PageScrollService, Router, Object]) | ||
], NgxPageScrollDirective); | ||
return NgxPageScrollDirective; | ||
}()); | ||
export { NgxPageScrollDirective }; | ||
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; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhZ2Utc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wYWdlLXNjcm9sbC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtcGFnZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczQyxPQUFPLEVBQXNELGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFN0c7SUFrREUsZ0NBQW9CLGlCQUFvQyxFQUFzQixNQUFjLEVBQW9CLFFBQWE7UUFBekcsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFzQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWHJGLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQU1wQyxxQkFBZ0IsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQU1wRSxJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFVLFFBQVEsRUFBQSxDQUFDO0lBQ3JDLENBQUM7Ozs7O0lBRUQsNENBQVc7Ozs7SUFBWCxVQUFZLE9BQXNCO1FBQ2hDLG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO0lBQ3RDLENBQUM7Ozs7SUFFRCw0Q0FBVzs7O0lBQVg7UUFDRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3REO0lBQ0gsQ0FBQzs7Ozs7SUFFTywyREFBMEI7Ozs7SUFB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LFdBQVcsRUFBRSxDQUFDO3FCQUM1QjtnQkFDSCxDQUFDLEVBQUMsRUFBQTtnQkFFRixPQUFPLEtBQUssQ0FBQyxDQUFDLHNCQUFzQjthQUNyQztTQUNGO1FBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWQsT0FBTyxLQUFLLENBQUMsQ0FBQyxzQkFBc0I7SUFDdEMsQ0FBQzs7Z0JBeEpGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsSUFBSSxFQUFFO3dCQUNKLFNBQVMsRUFBRSxxQkFBcUI7cUJBQ2pDO2lCQUNGOzs7O2dCQVA0RCxpQkFBaUI7Z0JBSm5CLE1BQU0sdUJBd0RKLFFBQVE7Z0RBQTRCLE1BQU0sU0FBQyxRQUFROzs7NkJBMUM3RyxLQUFLO3VCQUdMLEtBQUs7bUNBR0wsS0FBSzt1Q0FHTCxLQUFLO21DQUdMLEtBQUs7cUNBR0wsS0FBSztrQ0FHTCxLQUFLO21DQUdMLEtBQUs7MENBR0wsS0FBSzttQ0FHTCxLQUFLO3VDQUdMLEtBQUs7NkJBR0wsS0FBSzttQ0FHTCxNQUFNOztJQTZHVCw2QkFBQztDQUFBLEFBekpELElBeUpDO1NBbkpZLHNCQUFzQjs7O0lBRWpDLDRDQUN1Qjs7SUFFdkIsc0NBQ29COztJQUVwQixrREFDZ0M7O0lBRWhDLHNEQUNxQzs7SUFFckMsa0RBQ2dDOztJQUVoQyxvREFDa0M7O0lBRWxDLGlEQUMrQjs7SUFFL0Isa0RBQ3FDOztJQUVyQyx5REFDd0M7O0lBRXhDLGtEQUNpQzs7SUFFakMsc0RBQ29DOztJQUVwQyw0Q0FDMEI7O0lBRTFCLGtEQUNzRTs7Ozs7SUFFdEUsb0RBQStDOzs7OztJQUMvQywwQ0FBMkI7Ozs7O0lBRWYsbURBQTRDOzs7OztJQUFFLHdDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlOm5vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHkgZGlyZWN0aXZlLXNlbGVjdG9yICovXG5cbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25DYW5jZWwsIE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25FcnJvciwgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFYXNpbmdMb2dpYywgUGFnZVNjcm9sbEluc3RhbmNlLCBQYWdlU2Nyb2xsT3B0aW9ucywgUGFnZVNjcm9sbFNlcnZpY2UgfSBmcm9tICduZ3gtcGFnZS1zY3JvbGwtY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1twYWdlU2Nyb2xsXScsXG4gIGhvc3Q6IHtcbiAgICAnKGNsaWNrKSc6ICdoYW5kbGVDbGljaygkZXZlbnQpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTmd4UGFnZVNjcm9sbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm91dGVyTGluazogYW55O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBocmVmOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxUYXJnZXQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbEhvcml6b250YWw6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxPZmZzZXQ6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbER1cmF0aW9uOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxTcGVlZDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsRWFzaW5nOiBFYXNpbmdMb2dpYztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbEludGVycnVwdGlibGU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxJblZpZXc6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxBZGp1c3RIYXNoID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGw6IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgcGFnZVNjcm9sbEZpbmlzaDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgcGFnZVNjcm9sbEluc3RhbmNlOiBQYWdlU2Nyb2xsSW5zdGFuY2U7XG4gIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFnZVNjcm9sbFNlcnZpY2U6IFBhZ2VTY3JvbGxTZXJ2aWNlLCBAT3B0aW9uYWwoKSBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55KSB7XG4gICAgdGhpcy5kb2N1bWVudCA9IDxEb2N1bWVudD5kb2N1bWVudDtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLyBTb21lIGlucHV0cyBjaGFuZ2VkLCByZXNldCB0aGUgcGFnZVNjcm9sbEluc3RhbmNlXG4gICAgdGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UpIHtcbiAgICAgIHRoaXMucGFnZVNjcm9sbFNlcnZpY2Uuc3RvcCh0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVBhZ2VTY3JvbGxJbnN0YW5jZSgpOiBQYWdlU2Nyb2xsSW5zdGFuY2Uge1xuICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucGFnZVNjcm9sbEluc3RhbmNlID09PSBudWxsKSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBQYWdlU2Nyb2xsT3B0aW9ucyA9IHtcbiAgICAgICAgZG9jdW1lbnQ6IHRoaXMuZG9jdW1lbnQsXG4gICAgICAgIHNjcm9sbFRhcmdldDogdGhpcy5wYWdlU2Nyb2xsVGFyZ2V0IHx8IHRoaXMuaHJlZixcbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGwpIHtcbiAgICAgICAgb3B0aW9ucy5uYW1lc3BhY2UgPSB0aGlzLnBhZ2VTY3JvbGw7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsSG9yaXpvbnRhbCAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbEhvcml6b250YWwgIT09IG51bGwpIHtcbiAgICAgICAgb3B0aW9ucy52ZXJ0aWNhbFNjcm9sbGluZyA9ICF0aGlzLnBhZ2VTY3JvbGxIb3Jpem9udGFsO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnZVNjcm9sbE9mZnNldCAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbE9mZnNldCAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLnNjcm9sbE9mZnNldCA9IHRoaXMucGFnZVNjcm9sbE9mZnNldDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxJbnRlcnJ1cHRpYmxlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5wYWdlU2Nyb2xsSW50ZXJydXB0aWJsZSAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLmludGVycnVwdGlibGUgPSB0aGlzLnBhZ2VTY3JvbGxJbnRlcnJ1cHRpYmxlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnZVNjcm9sbEluVmlldyAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbEluVmlldyAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLnNjcm9sbEluVmlldyA9IHRoaXMucGFnZVNjcm9sbEluVmlldztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxFYXNpbmcpIHtcbiAgICAgICAgb3B0aW9ucy5lYXNpbmdMb2dpYyA9IHRoaXMucGFnZVNjcm9sbEVhc2luZztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxEdXJhdGlvbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbER1cmF0aW9uICE9PSBudWxsKSB7XG4gICAgICAgIG9wdGlvbnMuZHVyYXRpb24gPSB0aGlzLnBhZ2VTY3JvbGxEdXJhdGlvbjtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxTcGVlZCAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbFNwZWVkICE9PSBudWxsKSB7XG4gICAgICAgIG9wdGlvbnMuc3BlZWQgPSB0aGlzLnBhZ2VTY3JvbGxTcGVlZDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxGaW5pc2gpIHtcbiAgICAgICAgb3B0aW9ucy5zY3JvbGxGaW5pc2hMaXN0ZW5lciA9IHRoaXMucGFnZVNjcm9sbEZpbmlzaDtcbiAgICAgIH1cbiAgICAgIHRoaXMucGFnZVNjcm9sbEluc3RhbmNlID0gdGhpcy5wYWdlU2Nyb2xsU2VydmljZS5jcmVhdGUob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucGFnZVNjcm9sbEluc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBwdXNoUm91dGVyU3RhdGUoKSB7XG4gICAgaWYgKHRoaXMucGFnZVNjcm9sbEFkanVzdEhhc2ggJiYgdHlwZW9mIHRoaXMucGFnZVNjcm9sbEluc3RhbmNlLnBhZ2VTY3JvbGxPcHRpb25zLnNjcm9sbFRhcmdldCA9PT0gJ3N0cmluZydcbiAgICAgICYmICg8c3RyaW5nPnRoaXMucGFnZVNjcm9sbEluc3RhbmNlLnBhZ2VTY3JvbGxPcHRpb25zLnNjcm9sbFRhcmdldCkuc3Vic3RyKDAsIDEpID09PSAnIycpIHtcbiAgICAgIC8vIFwiTmF2aWdhdGVcIiB0byB0aGUgY3VycmVudCByb3V0ZSBhZ2FpbiBhbmQgdGhpcyB0aW1lIHNldCB0aGUgZnJhZ21lbnQvaGFzaFxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgICAgZnJhZ21lbnQ6ICg8c3RyaW5nPnRoaXMucGFnZVNjcm9sbEluc3RhbmNlLnBhZ2VTY3JvbGxPcHRpb25zLnNjcm9sbFRhcmdldCkuc3Vic3RyKDEpLFxuICAgICAgICBwcmVzZXJ2ZVF1ZXJ5UGFyYW1zOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGwoKTogdm9pZCB7XG4gICAgY29uc3QgcGFnZVNjcm9sbEluc3RhbmNlID0gdGhpcy5nZW5lcmF0ZVBhZ2VTY3JvbGxJbnN0YW5jZSgpO1xuICAgIHRoaXMucHVzaFJvdXRlclN0YXRlKCk7XG4gICAgdGhpcy5wYWdlU2Nyb2xsU2VydmljZS5zdGFydChwYWdlU2Nyb2xsSW5zdGFuY2UpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUNsaWNrKGNsaWNrRXZlbnQ6IEV2ZW50KTogYm9vbGVhbiB7IC8vIHRzbGludDpkaXNhYmxlLWxpbmU6bm8tdW51c2VkLXZhcmlhYmxlXG4gICAgaWYgKHRoaXMucm91dGVyTGluayAmJiB0aGlzLnJvdXRlciAhPT0gbnVsbCAmJiB0aGlzLnJvdXRlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgdXJsVHJlZTogVXJsVHJlZTtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5yb3V0ZXJMaW5rID09PSAnc3RyaW5nJykge1xuICAgICAgICB1cmxUcmVlID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwodGhpcy5yb3V0ZXJMaW5rKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVybFRyZWUgPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKHRoaXMucm91dGVyTGluayk7XG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMucm91dGVyLmlzQWN0aXZlKHVybFRyZWUsIHRydWUpKSB7XG4gICAgICAgIC8vIFdlIG5lZWQgdG8gbmF2aWdhdGUgdGhlaXIgZmlyc3QuXG4gICAgICAgIC8vIE5hdmlnYXRpb24gaXMgaGFuZGxlZCBieSB0aGUgcm91dGVyTGluayBkaXJlY3RpdmVcbiAgICAgICAgLy8gc28gd2Ugb25seSBuZWVkIHRvIGxpc3RlbiBmb3Igcm91dGUgY2hhbmdlXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gPFN1YnNjcmlwdGlvbj50aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChyb3V0ZXJFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChyb3V0ZXJFdmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgLy8gdXNlIGEgdGltZW91dCB0byBzdGFydCBzY3JvbGxpbmcgYXMgc29vbiBhcyB0aGUgc3RhY2sgaXMgY2xlYXJlZFxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc2Nyb2xsKCk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHJvdXRlckV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVycm9yIHx8IHJvdXRlckV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbCkge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZmFsc2U7IC8vIHRvIHByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zY3JvbGwoKTtcblxuICAgIHJldHVybiBmYWxzZTsgLy8gdG8gcHJldmVudERlZmF1bHQoKVxuICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhZ2Utc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wYWdlLXNjcm9sbC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtcGFnZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlFQUFpRTs7QUFFakUsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFROUM7SUErQ0UsZ0NBQW9CLGlCQUFvQyxFQUFzQixNQUFjLEVBQW9CLFFBQWE7UUFBekcsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFzQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWHJGLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQU1wQyxxQkFBZ0IsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQU1wRSxJQUFJLENBQUMsUUFBUSxHQUFhLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsNENBQVcsR0FBWCxVQUFZLE9BQXNCO1FBQ2hDLG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFFRCw0Q0FBVyxHQUFYO1FBQ0UsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGlCQUFp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RCxzQkFBc0I7UUFObEMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLGNBQWM7WUFDeEIsSUFBSSxFQUFFO2dCQUNKLFNBQVMsRUFBRSxxQkFBcUI7YUFDakM7U0FDRixDQUFDO1FBZ0QyRCxXQUFBLFFBQVEsRUFBRSxDQUFBLEVBQTBCLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO3lDQUF4RSxpQkFBaUIsRUFBOEIsTUFBTTtPQS9DakYsc0JBQXNCLENBNkpsQztJQUFELDZCQUFDO0NBQUEsQUE3SkQsSUE2SkM7U0E3Slksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGU6bm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eSBkaXJlY3RpdmUtc2VsZWN0b3IgKi9cblxuaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkVycm9yLCBSb3V0ZXIsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBFYXNpbmdMb2dpYywgUGFnZVNjcm9sbEluc3RhbmNlLCBQYWdlU2Nyb2xsT3B0aW9ucywgUGFnZVNjcm9sbFNlcnZpY2UgfSBmcm9tICduZ3gtcGFnZS1zY3JvbGwtY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1twYWdlU2Nyb2xsXScsXG4gIGhvc3Q6IHtcbiAgICAnKGNsaWNrKSc6ICdoYW5kbGVDbGljaygkZXZlbnQpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTmd4UGFnZVNjcm9sbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcm91dGVyTGluazogYW55O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBocmVmOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZyYWdtZW50OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxUYXJnZXQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbEhvcml6b250YWw6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxPZmZzZXQ6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbER1cmF0aW9uOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxTcGVlZDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2Nyb2xsRWFzaW5nOiBFYXNpbmdMb2dpYztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNjcm9sbEludGVycnVwdGlibGU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxJblZpZXc6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGxBZGp1c3RIYXNoID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTY3JvbGw6IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgcGFnZVNjcm9sbEZpbmlzaDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgcGFnZVNjcm9sbEluc3RhbmNlOiBQYWdlU2Nyb2xsSW5zdGFuY2U7XG4gIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFnZVNjcm9sbFNlcnZpY2U6IFBhZ2VTY3JvbGxTZXJ2aWNlLCBAT3B0aW9uYWwoKSBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55KSB7XG4gICAgdGhpcy5kb2N1bWVudCA9IDxEb2N1bWVudD5kb2N1bWVudDtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLyBTb21lIGlucHV0cyBjaGFuZ2VkLCByZXNldCB0aGUgcGFnZVNjcm9sbEluc3RhbmNlXG4gICAgdGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYWdlU2Nyb2xsSW5zdGFuY2UpIHtcbiAgICAgIHRoaXMucGFnZVNjcm9sbFNlcnZpY2Uuc3RvcCh0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYWdlU2Nyb2xsVGFyZ2V0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucGFnZVNjcm9sbFRhcmdldCB8fCB0aGlzLmhyZWYgfHwgKHRoaXMuZnJhZ21lbnQgPyAnIycgKyB0aGlzLmZyYWdtZW50IDogJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVBhZ2VTY3JvbGxJbnN0YW5jZSgpOiBQYWdlU2Nyb2xsSW5zdGFuY2Uge1xuICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucGFnZVNjcm9sbEluc3RhbmNlID09PSBudWxsKSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBQYWdlU2Nyb2xsT3B0aW9ucyA9IHtcbiAgICAgICAgZG9jdW1lbnQ6IHRoaXMuZG9jdW1lbnQsXG4gICAgICAgIHNjcm9sbFRhcmdldDogdGhpcy5nZXRQYWdlU2Nyb2xsVGFyZ2V0KCksXG4gICAgICB9O1xuXG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsKSB7XG4gICAgICAgIG9wdGlvbnMubmFtZXNwYWNlID0gdGhpcy5wYWdlU2Nyb2xsO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnZVNjcm9sbEhvcml6b250YWwgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxIb3Jpem9udGFsICE9PSBudWxsKSB7XG4gICAgICAgIG9wdGlvbnMudmVydGljYWxTY3JvbGxpbmcgPSAhdGhpcy5wYWdlU2Nyb2xsSG9yaXpvbnRhbDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxPZmZzZXQgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxPZmZzZXQgIT09IG51bGwpIHtcbiAgICAgICAgb3B0aW9ucy5zY3JvbGxPZmZzZXQgPSB0aGlzLnBhZ2VTY3JvbGxPZmZzZXQ7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsSW50ZXJydXB0aWJsZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMucGFnZVNjcm9sbEludGVycnVwdGlibGUgIT09IG51bGwpIHtcbiAgICAgICAgb3B0aW9ucy5pbnRlcnJ1cHRpYmxlID0gdGhpcy5wYWdlU2Nyb2xsSW50ZXJydXB0aWJsZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxJblZpZXcgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxJblZpZXcgIT09IG51bGwpIHtcbiAgICAgICAgb3B0aW9ucy5zY3JvbGxJblZpZXcgPSB0aGlzLnBhZ2VTY3JvbGxJblZpZXc7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsRWFzaW5nKSB7XG4gICAgICAgIG9wdGlvbnMuZWFzaW5nTG9naWMgPSB0aGlzLnBhZ2VTY3JvbGxFYXNpbmc7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsRHVyYXRpb24gIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxEdXJhdGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLmR1cmF0aW9uID0gdGhpcy5wYWdlU2Nyb2xsRHVyYXRpb247XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsU3BlZWQgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhZ2VTY3JvbGxTcGVlZCAhPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zLnNwZWVkID0gdGhpcy5wYWdlU2Nyb2xsU3BlZWQ7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdlU2Nyb2xsRmluaXNoKSB7XG4gICAgICAgIG9wdGlvbnMuc2Nyb2xsRmluaXNoTGlzdGVuZXIgPSB0aGlzLnBhZ2VTY3JvbGxGaW5pc2g7XG4gICAgICB9XG4gICAgICB0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZSA9IHRoaXMucGFnZVNjcm9sbFNlcnZpY2UuY3JlYXRlKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgcHVzaFJvdXRlclN0YXRlKCkge1xuICAgIGlmICh0aGlzLnBhZ2VTY3JvbGxBZGp1c3RIYXNoICYmIHR5cGVvZiB0aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZS5wYWdlU2Nyb2xsT3B0aW9ucy5zY3JvbGxUYXJnZXQgPT09ICdzdHJpbmcnXG4gICAgICAmJiAoPHN0cmluZz50aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZS5wYWdlU2Nyb2xsT3B0aW9ucy5zY3JvbGxUYXJnZXQpLnN1YnN0cigwLCAxKSA9PT0gJyMnKSB7XG4gICAgICAvLyBcIk5hdmlnYXRlXCIgdG8gdGhlIGN1cnJlbnQgcm91dGUgYWdhaW4gYW5kIHRoaXMgdGltZSBzZXQgdGhlIGZyYWdtZW50L2hhc2hcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICAgIGZyYWdtZW50OiAoPHN0cmluZz50aGlzLnBhZ2VTY3JvbGxJbnN0YW5jZS5wYWdlU2Nyb2xsT3B0aW9ucy5zY3JvbGxUYXJnZXQpLnN1YnN0cigxKSxcbiAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ3ByZXNlcnZlJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsKCk6IHZvaWQge1xuICAgIGNvbnN0IHBhZ2VTY3JvbGxJbnN0YW5jZSA9IHRoaXMuZ2VuZXJhdGVQYWdlU2Nyb2xsSW5zdGFuY2UoKTtcbiAgICB0aGlzLnB1c2hSb3V0ZXJTdGF0ZSgpO1xuICAgIHRoaXMucGFnZVNjcm9sbFNlcnZpY2Uuc3RhcnQocGFnZVNjcm9sbEluc3RhbmNlKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVDbGljayhjbGlja0V2ZW50OiBFdmVudCk6IGJvb2xlYW4geyAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lOm5vLXVudXNlZC12YXJpYWJsZVxuICAgIGlmICh0aGlzLnJvdXRlckxpbmsgJiYgdGhpcy5yb3V0ZXIgIT09IG51bGwgJiYgdGhpcy5yb3V0ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IHVybFRyZWU6IFVybFRyZWU7XG4gICAgICBpZiAodHlwZW9mIHRoaXMucm91dGVyTGluayA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdXJsVHJlZSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKHRoaXMucm91dGVyTGluayk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cmxUcmVlID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZSh0aGlzLnJvdXRlckxpbmspO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLnJvdXRlci5pc0FjdGl2ZSh1cmxUcmVlLCB0cnVlKSkge1xuICAgICAgICAvLyBXZSBuZWVkIHRvIG5hdmlnYXRlIHRoZWlyIGZpcnN0LlxuICAgICAgICAvLyBOYXZpZ2F0aW9uIGlzIGhhbmRsZWQgYnkgdGhlIHJvdXRlckxpbmsgZGlyZWN0aXZlIHNvIHdlIG9ubHkgbmVlZCB0byBsaXN0ZW4gZm9yIHJvdXRlIGNoYW5nZVxuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIocm91dGVyRXZlbnQgPT4ge1xuICAgICAgICAgICAgLy8gV2UncmUgb25seSBpbnRlcmVzdGVkIGluIHN1Y2Nlc3NmdWwgbmF2aWdhdGlvbnMgb3Igd2hlbiB0aGUgbmF2aWdhdGlvbiBmYWlsc1xuICAgICAgICAgICAgcmV0dXJuIHJvdXRlckV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fCByb3V0ZXJFdmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FcnJvclxuICAgICAgICAgICAgICB8fCByb3V0ZXJFdmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWw7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgLy8gQ29uc3VtZSBvbmx5IG9uZSBldmVudCwgYXV0b21hdGljYWxseSBcInVuc3Vic2NyaWJpbmdcIiBmcm9tIHRoZSBldmVudCBzdHJlYW0gYWZ0ZXJ3YXJkc1xuICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKS5zdWJzY3JpYmUoKHJvdXRlckV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKHJvdXRlckV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgLy8gdXNlIGEgdGltZW91dCB0byBzdGFydCBzY3JvbGxpbmcgYXMgc29vbiBhcyB0aGUgc3RhY2sgaXMgY2xlYXJlZFxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc2Nyb2xsKCk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBmYWxzZTsgLy8gdG8gcHJldmVudERlZmF1bHQoKVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNjcm9sbCgpO1xuXG4gICAgcmV0dXJuIGZhbHNlOyAvLyB0byBwcmV2ZW50RGVmYXVsdCgpXG4gIH1cbn1cbiJdfQ== |
@@ -1,5 +0,2 @@ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
import { __decorate } from "tslib"; | ||
import { NgModule } from '@angular/core'; | ||
@@ -11,18 +8,18 @@ import { NgxPageScrollCoreModule } from 'ngx-page-scroll-core'; | ||
} | ||
NgxPageScrollModule.decorators = [ | ||
{ type: NgModule, args: [{ | ||
declarations: [ | ||
NgxPageScrollDirective, | ||
], | ||
imports: [ | ||
NgxPageScrollCoreModule, | ||
], | ||
exports: [ | ||
NgxPageScrollDirective, | ||
], | ||
},] } | ||
]; | ||
NgxPageScrollModule = __decorate([ | ||
NgModule({ | ||
declarations: [ | ||
NgxPageScrollDirective, | ||
], | ||
imports: [ | ||
NgxPageScrollCoreModule, | ||
], | ||
exports: [ | ||
NgxPageScrollDirective, | ||
], | ||
}) | ||
], NgxPageScrollModule); | ||
return NgxPageScrollModule; | ||
}()); | ||
export { NgxPageScrollModule }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhZ2Utc2Nyb2xsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wYWdlLXNjcm9sbC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtcGFnZS1zY3JvbGwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXJFO0lBQUE7SUFZQSxDQUFDOztnQkFaQSxRQUFRLFNBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHVCQUF1QjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjtxQkFDdkI7aUJBQ0Y7O0lBRUQsMEJBQUM7Q0FBQSxBQVpELElBWUM7U0FEWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3hQYWdlU2Nyb2xsQ29yZU1vZHVsZSB9IGZyb20gJ25neC1wYWdlLXNjcm9sbC1jb3JlJztcblxuaW1wb3J0IHsgTmd4UGFnZVNjcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4vbmd4LXBhZ2Utc2Nyb2xsLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE5neFBhZ2VTY3JvbGxEaXJlY3RpdmUsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBOZ3hQYWdlU2Nyb2xsQ29yZU1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE5neFBhZ2VTY3JvbGxEaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5neFBhZ2VTY3JvbGxNb2R1bGUge1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhZ2Utc2Nyb2xsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wYWdlLXNjcm9sbC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtcGFnZS1zY3JvbGwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBYXJFO0lBQUE7SUFDQSxDQUFDO0lBRFksbUJBQW1CO1FBWC9CLFFBQVEsQ0FBQztZQUNSLFlBQVksRUFBRTtnQkFDWixzQkFBc0I7YUFDdkI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsdUJBQXVCO2FBQ3hCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLHNCQUFzQjthQUN2QjtTQUNGLENBQUM7T0FDVyxtQkFBbUIsQ0FDL0I7SUFBRCwwQkFBQztDQUFBLEFBREQsSUFDQztTQURZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5neFBhZ2VTY3JvbGxDb3JlTW9kdWxlIH0gZnJvbSAnbmd4LXBhZ2Utc2Nyb2xsLWNvcmUnO1xuXG5pbXBvcnQgeyBOZ3hQYWdlU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9uZ3gtcGFnZS1zY3JvbGwuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTmd4UGFnZVNjcm9sbERpcmVjdGl2ZSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIE5neFBhZ2VTY3JvbGxDb3JlTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTmd4UGFnZVNjcm9sbERpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd4UGFnZVNjcm9sbE1vZHVsZSB7XG59XG4iXX0= |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** | ||
* Generated bundle index. Do not edit. | ||
*/ | ||
export { NgxPageScrollModule, NgxPageScrollDirective } from './public_api'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhZ2Utc2Nyb2xsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXBhZ2Utc2Nyb2xsLyIsInNvdXJjZXMiOlsibmd4LXBhZ2Utc2Nyb2xsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSw0REFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0= | ||
export * from './public_api'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhZ2Utc2Nyb2xsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXBhZ2Utc2Nyb2xsLyIsInNvdXJjZXMiOlsibmd4LXBhZ2Utc2Nyb2xsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0= |
@@ -1,10 +0,6 @@ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/* | ||
* Public API Surface of ngx-page-scroll | ||
*/ | ||
export { NgxPageScrollModule } from './lib/ngx-page-scroll.module'; | ||
export { NgxPageScrollDirective } from './lib/ngx-page-scroll.directive'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wYWdlLXNjcm9sbC8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLG9DQUFjLDhCQUE4QixDQUFDO0FBRTdDLHVDQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtcGFnZS1zY3JvbGxcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtcGFnZS1zY3JvbGwubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXBhZ2Utc2Nyb2xsLmRpcmVjdGl2ZSc7XG4iXX0= | ||
export * from './lib/ngx-page-scroll.module'; | ||
export * from './lib/ngx-page-scroll.directive'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wYWdlLXNjcm9sbC8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1wYWdlLXNjcm9sbFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1wYWdlLXNjcm9sbC5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtcGFnZS1zY3JvbGwuZGlyZWN0aXZlJztcbiJdfQ== |
@@ -1,16 +0,10 @@ | ||
import { EventEmitter, Directive, Optional, Inject, Input, Output, NgModule } from '@angular/core'; | ||
import { __decorate, __metadata, __param } from 'tslib'; | ||
import { EventEmitter, Optional, Inject, Input, Output, Directive, 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 { filter, take } from 'rxjs/operators'; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
class NgxPageScrollDirective { | ||
/** | ||
* @param {?} pageScrollService | ||
* @param {?} router | ||
* @param {?} document | ||
*/ | ||
/* tslint:disable:no-host-metadata-property directive-selector */ | ||
let NgxPageScrollDirective = class NgxPageScrollDirective { | ||
constructor(pageScrollService, router, document) { | ||
@@ -21,8 +15,4 @@ this.pageScrollService = pageScrollService; | ||
this.pageScrollFinish = new EventEmitter(); | ||
this.document = (/** @type {?} */ (document)); | ||
this.document = document; | ||
} | ||
/** | ||
* @param {?} changes | ||
* @return {?} | ||
*/ | ||
ngOnChanges(changes) { | ||
@@ -32,5 +22,2 @@ // Some inputs changed, reset the pageScrollInstance | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
ngOnDestroy() { | ||
@@ -41,12 +28,10 @@ if (this.pageScrollInstance) { | ||
} | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
getPageScrollTarget() { | ||
return this.pageScrollTarget || this.href || (this.fragment ? '#' + this.fragment : ''); | ||
} | ||
generatePageScrollInstance() { | ||
if (this.pageScrollInstance === undefined || this.pageScrollInstance === null) { | ||
/** @type {?} */ | ||
const options = { | ||
document: this.document, | ||
scrollTarget: this.pageScrollTarget || this.href, | ||
scrollTarget: this.getPageScrollTarget(), | ||
}; | ||
@@ -84,22 +69,13 @@ if (this.pageScroll) { | ||
} | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
pushRouterState() { | ||
if (this.pageScrollAdjustHash && typeof this.pageScrollInstance.pageScrollOptions.scrollTarget === 'string' | ||
&& ((/** @type {?} */ (this.pageScrollInstance.pageScrollOptions.scrollTarget))).substr(0, 1) === '#') { | ||
&& 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, | ||
fragment: this.pageScrollInstance.pageScrollOptions.scrollTarget.substr(1), | ||
queryParamsHandling: 'preserve', | ||
}); | ||
} | ||
} | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
scroll() { | ||
/** @type {?} */ | ||
const pageScrollInstance = this.generatePageScrollInstance(); | ||
@@ -109,9 +85,4 @@ this.pushRouterState(); | ||
} | ||
/** | ||
* @param {?} clickEvent | ||
* @return {?} | ||
*/ | ||
handleClick(clickEvent) { | ||
if (this.routerLink && this.router !== null && this.router !== undefined) { | ||
/** @type {?} */ | ||
let urlTree; | ||
@@ -126,24 +97,17 @@ if (typeof this.routerLink === 'string') { | ||
// We need to navigate their first. | ||
// Navigation is handled by the routerLink directive | ||
// so we only need to listen for route change | ||
/** @type {?} */ | ||
const subscription = (/** @type {?} */ (this.router.events.subscribe((/** | ||
* @param {?} routerEvent | ||
* @return {?} | ||
*/ | ||
(routerEvent) => { | ||
// Navigation is handled by the routerLink directive so we only need to listen for route change | ||
this.router.events.pipe(filter(routerEvent => { | ||
// We're only interested in successful navigations or when the navigation fails | ||
return routerEvent instanceof NavigationEnd || routerEvent instanceof NavigationError | ||
|| routerEvent instanceof NavigationCancel; | ||
}), | ||
// Consume only one event, automatically "unsubscribing" from the event stream afterwards | ||
take(1)).subscribe((routerEvent) => { | ||
if (routerEvent instanceof NavigationEnd) { | ||
subscription.unsubscribe(); | ||
// use a timeout to start scrolling as soon as the stack is cleared | ||
setTimeout((/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
setTimeout(() => { | ||
this.scroll(); | ||
}), 0); | ||
}, 0); | ||
} | ||
else if (routerEvent instanceof NavigationError || routerEvent instanceof NavigationCancel) { | ||
subscription.unsubscribe(); | ||
} | ||
})))); | ||
}); | ||
return false; // to preventDefault() | ||
@@ -155,12 +119,3 @@ } | ||
} | ||
} | ||
NgxPageScrollDirective.decorators = [ | ||
{ type: Directive, args: [{ | ||
selector: '[pageScroll]', | ||
host: { | ||
'(click)': 'handleClick($event)', | ||
}, | ||
},] } | ||
]; | ||
/** @nocollapse */ | ||
}; | ||
NgxPageScrollDirective.ctorParameters = () => [ | ||
@@ -171,97 +126,94 @@ { type: PageScrollService }, | ||
]; | ||
NgxPageScrollDirective.propDecorators = { | ||
routerLink: [{ type: Input }], | ||
href: [{ type: Input }], | ||
pageScrollTarget: [{ type: Input }], | ||
pageScrollHorizontal: [{ type: Input }], | ||
pageScrollOffset: [{ type: Input }], | ||
pageScrollDuration: [{ type: Input }], | ||
pageScrollSpeed: [{ type: Input }], | ||
pageScrollEasing: [{ type: Input }], | ||
pageScrollInterruptible: [{ type: Input }], | ||
pageScrollInView: [{ type: Input }], | ||
pageScrollAdjustHash: [{ type: Input }], | ||
pageScroll: [{ type: Input }], | ||
pageScrollFinish: [{ type: Output }] | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Object) | ||
], NgxPageScrollDirective.prototype, "routerLink", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "href", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "fragment", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "pageScrollTarget", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Boolean) | ||
], NgxPageScrollDirective.prototype, "pageScrollHorizontal", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Number) | ||
], NgxPageScrollDirective.prototype, "pageScrollOffset", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Number) | ||
], NgxPageScrollDirective.prototype, "pageScrollDuration", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Number) | ||
], NgxPageScrollDirective.prototype, "pageScrollSpeed", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Function) | ||
], NgxPageScrollDirective.prototype, "pageScrollEasing", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Boolean) | ||
], NgxPageScrollDirective.prototype, "pageScrollInterruptible", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Boolean) | ||
], NgxPageScrollDirective.prototype, "pageScrollInView", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Object) | ||
], NgxPageScrollDirective.prototype, "pageScrollAdjustHash", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "pageScroll", void 0); | ||
__decorate([ | ||
Output(), | ||
__metadata("design:type", EventEmitter) | ||
], NgxPageScrollDirective.prototype, "pageScrollFinish", void 0); | ||
NgxPageScrollDirective = __decorate([ | ||
Directive({ | ||
selector: '[pageScroll]', | ||
host: { | ||
'(click)': 'handleClick($event)', | ||
}, | ||
}), | ||
__param(1, Optional()), __param(2, Inject(DOCUMENT)), | ||
__metadata("design:paramtypes", [PageScrollService, Router, Object]) | ||
], NgxPageScrollDirective); | ||
let NgxPageScrollModule = class NgxPageScrollModule { | ||
}; | ||
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; | ||
} | ||
NgxPageScrollModule = __decorate([ | ||
NgModule({ | ||
declarations: [ | ||
NgxPageScrollDirective, | ||
], | ||
imports: [ | ||
NgxPageScrollCoreModule, | ||
], | ||
exports: [ | ||
NgxPageScrollDirective, | ||
], | ||
}) | ||
], NgxPageScrollModule); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
/* | ||
* Public API Surface of ngx-page-scroll | ||
*/ | ||
class NgxPageScrollModule { | ||
} | ||
NgxPageScrollModule.decorators = [ | ||
{ type: NgModule, args: [{ | ||
declarations: [ | ||
NgxPageScrollDirective, | ||
], | ||
imports: [ | ||
NgxPageScrollCoreModule, | ||
], | ||
exports: [ | ||
NgxPageScrollDirective, | ||
], | ||
},] } | ||
]; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* Generated bundle index. Do not edit. | ||
*/ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
export { NgxPageScrollDirective, NgxPageScrollModule }; | ||
//# sourceMappingURL=ngx-page-scroll.js.map |
@@ -1,10 +0,9 @@ | ||
import { EventEmitter, Directive, Optional, Inject, Input, Output, NgModule } from '@angular/core'; | ||
import { __decorate, __metadata, __param } from 'tslib'; | ||
import { EventEmitter, Optional, Inject, Input, Output, Directive, 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 { filter, take } from 'rxjs/operators'; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/* tslint:disable:no-host-metadata-property directive-selector */ | ||
var NgxPageScrollDirective = /** @class */ (function () { | ||
@@ -16,23 +15,9 @@ function NgxPageScrollDirective(pageScrollService, router, document) { | ||
this.pageScrollFinish = new EventEmitter(); | ||
this.document = (/** @type {?} */ (document)); | ||
this.document = document; | ||
} | ||
/** | ||
* @param {?} changes | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.ngOnChanges = /** | ||
* @param {?} changes | ||
* @return {?} | ||
*/ | ||
function (changes) { | ||
NgxPageScrollDirective.prototype.ngOnChanges = function (changes) { | ||
// Some inputs changed, reset the pageScrollInstance | ||
this.pageScrollInstance = undefined; | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.ngOnDestroy = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
NgxPageScrollDirective.prototype.ngOnDestroy = function () { | ||
if (this.pageScrollInstance) { | ||
@@ -42,16 +27,10 @@ this.pageScrollService.stop(this.pageScrollInstance); | ||
}; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.generatePageScrollInstance = /** | ||
* @private | ||
* @return {?} | ||
*/ | ||
function () { | ||
NgxPageScrollDirective.prototype.getPageScrollTarget = function () { | ||
return this.pageScrollTarget || this.href || (this.fragment ? '#' + this.fragment : ''); | ||
}; | ||
NgxPageScrollDirective.prototype.generatePageScrollInstance = function () { | ||
if (this.pageScrollInstance === undefined || this.pageScrollInstance === null) { | ||
/** @type {?} */ | ||
var options = { | ||
document: this.document, | ||
scrollTarget: this.pageScrollTarget || this.href, | ||
scrollTarget: this.getPageScrollTarget(), | ||
}; | ||
@@ -89,30 +68,13 @@ if (this.pageScroll) { | ||
}; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.pushRouterState = /** | ||
* @private | ||
* @return {?} | ||
*/ | ||
function () { | ||
NgxPageScrollDirective.prototype.pushRouterState = function () { | ||
if (this.pageScrollAdjustHash && typeof this.pageScrollInstance.pageScrollOptions.scrollTarget === 'string' | ||
&& ((/** @type {?} */ (this.pageScrollInstance.pageScrollOptions.scrollTarget))).substr(0, 1) === '#') { | ||
&& 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, | ||
fragment: this.pageScrollInstance.pageScrollOptions.scrollTarget.substr(1), | ||
queryParamsHandling: 'preserve', | ||
}); | ||
} | ||
}; | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.scroll = /** | ||
* @private | ||
* @return {?} | ||
*/ | ||
function () { | ||
/** @type {?} */ | ||
NgxPageScrollDirective.prototype.scroll = function () { | ||
var pageScrollInstance = this.generatePageScrollInstance(); | ||
@@ -122,14 +84,5 @@ this.pushRouterState(); | ||
}; | ||
/** | ||
* @param {?} clickEvent | ||
* @return {?} | ||
*/ | ||
NgxPageScrollDirective.prototype.handleClick = /** | ||
* @param {?} clickEvent | ||
* @return {?} | ||
*/ | ||
function (clickEvent) { | ||
NgxPageScrollDirective.prototype.handleClick = function (clickEvent) { | ||
var _this = this; | ||
if (this.routerLink && this.router !== null && this.router !== undefined) { | ||
/** @type {?} */ | ||
var urlTree = void 0; | ||
@@ -144,24 +97,17 @@ if (typeof this.routerLink === 'string') { | ||
// 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) { | ||
// Navigation is handled by the routerLink directive so we only need to listen for route change | ||
this.router.events.pipe(filter(function (routerEvent) { | ||
// We're only interested in successful navigations or when the navigation fails | ||
return routerEvent instanceof NavigationEnd || routerEvent instanceof NavigationError | ||
|| routerEvent instanceof NavigationCancel; | ||
}), | ||
// Consume only one event, automatically "unsubscribing" from the event stream afterwards | ||
take(1)).subscribe(function (routerEvent) { | ||
if (routerEvent instanceof NavigationEnd) { | ||
subscription_1.unsubscribe(); | ||
// use a timeout to start scrolling as soon as the stack is cleared | ||
setTimeout((/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
setTimeout(function () { | ||
_this.scroll(); | ||
}), 0); | ||
}, 0); | ||
} | ||
else if (routerEvent instanceof NavigationError || routerEvent instanceof NavigationCancel) { | ||
subscription_1.unsubscribe(); | ||
} | ||
})))); | ||
}); | ||
return false; // to preventDefault() | ||
@@ -173,11 +119,2 @@ } | ||
}; | ||
NgxPageScrollDirective.decorators = [ | ||
{ type: Directive, args: [{ | ||
selector: '[pageScroll]', | ||
host: { | ||
'(click)': 'handleClick($event)', | ||
}, | ||
},] } | ||
]; | ||
/** @nocollapse */ | ||
NgxPageScrollDirective.ctorParameters = function () { return [ | ||
@@ -188,99 +125,96 @@ { type: PageScrollService }, | ||
]; }; | ||
NgxPageScrollDirective.propDecorators = { | ||
routerLink: [{ type: Input }], | ||
href: [{ type: Input }], | ||
pageScrollTarget: [{ type: Input }], | ||
pageScrollHorizontal: [{ type: Input }], | ||
pageScrollOffset: [{ type: Input }], | ||
pageScrollDuration: [{ type: Input }], | ||
pageScrollSpeed: [{ type: Input }], | ||
pageScrollEasing: [{ type: Input }], | ||
pageScrollInterruptible: [{ type: Input }], | ||
pageScrollInView: [{ type: Input }], | ||
pageScrollAdjustHash: [{ type: Input }], | ||
pageScroll: [{ type: Input }], | ||
pageScrollFinish: [{ type: Output }] | ||
}; | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Object) | ||
], NgxPageScrollDirective.prototype, "routerLink", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "href", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "fragment", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "pageScrollTarget", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Boolean) | ||
], NgxPageScrollDirective.prototype, "pageScrollHorizontal", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Number) | ||
], NgxPageScrollDirective.prototype, "pageScrollOffset", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Number) | ||
], NgxPageScrollDirective.prototype, "pageScrollDuration", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Number) | ||
], NgxPageScrollDirective.prototype, "pageScrollSpeed", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Function) | ||
], NgxPageScrollDirective.prototype, "pageScrollEasing", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Boolean) | ||
], NgxPageScrollDirective.prototype, "pageScrollInterruptible", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Boolean) | ||
], NgxPageScrollDirective.prototype, "pageScrollInView", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", Object) | ||
], NgxPageScrollDirective.prototype, "pageScrollAdjustHash", void 0); | ||
__decorate([ | ||
Input(), | ||
__metadata("design:type", String) | ||
], NgxPageScrollDirective.prototype, "pageScroll", void 0); | ||
__decorate([ | ||
Output(), | ||
__metadata("design:type", EventEmitter) | ||
], NgxPageScrollDirective.prototype, "pageScrollFinish", void 0); | ||
NgxPageScrollDirective = __decorate([ | ||
Directive({ | ||
selector: '[pageScroll]', | ||
host: { | ||
'(click)': 'handleClick($event)', | ||
}, | ||
}), | ||
__param(1, Optional()), __param(2, Inject(DOCUMENT)), | ||
__metadata("design:paramtypes", [PageScrollService, Router, Object]) | ||
], NgxPageScrollDirective); | ||
return NgxPageScrollDirective; | ||
}()); | ||
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; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
var NgxPageScrollModule = /** @class */ (function () { | ||
function NgxPageScrollModule() { | ||
} | ||
NgxPageScrollModule.decorators = [ | ||
{ type: NgModule, args: [{ | ||
declarations: [ | ||
NgxPageScrollDirective, | ||
], | ||
imports: [ | ||
NgxPageScrollCoreModule, | ||
], | ||
exports: [ | ||
NgxPageScrollDirective, | ||
], | ||
},] } | ||
]; | ||
NgxPageScrollModule = __decorate([ | ||
NgModule({ | ||
declarations: [ | ||
NgxPageScrollDirective, | ||
], | ||
imports: [ | ||
NgxPageScrollCoreModule, | ||
], | ||
exports: [ | ||
NgxPageScrollDirective, | ||
], | ||
}) | ||
], NgxPageScrollModule); | ||
return NgxPageScrollModule; | ||
}()); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
/* | ||
* Public API Surface of ngx-page-scroll | ||
*/ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* Generated bundle index. Do not edit. | ||
*/ | ||
@@ -287,0 +221,0 @@ |
@@ -9,2 +9,3 @@ import { EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core'; | ||
href: string; | ||
fragment: string; | ||
pageScrollTarget: string; | ||
@@ -26,2 +27,3 @@ pageScrollHorizontal: boolean; | ||
ngOnDestroy(): void; | ||
private getPageScrollTarget; | ||
private generatePageScrollInstance; | ||
@@ -28,0 +30,0 @@ private pushRouterState; |
@@ -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}}]}],"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"} | ||
{"__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}}]}],"fragment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"pageScrollTarget":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"pageScrollHorizontal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"pageScrollOffset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"pageScrollDuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3}}]}],"pageScrollSpeed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"pageScrollEasing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3}}]}],"pageScrollInterruptible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"pageScrollInView":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3}}]}],"pageScrollAdjustHash":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3}}]}],"pageScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":3}}]}],"pageScrollFinish":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":66,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":72,"character":61}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":72,"character":97},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":72,"character":104}]}]],"parameters":[{"__symbolic":"reference","module":"ngx-page-scroll-core","name":"PageScrollService","line":72,"character":41},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":72,"character":88},{"__symbolic":"reference","name":"any"}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getPageScrollTarget":[{"__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": "7.0.0", | ||
"version": "7.0.1", | ||
"description": "Convenience directive for animated scrolling functionality for angular written in pure typescript", | ||
@@ -27,5 +27,6 @@ "keywords": [ | ||
"peerDependencies": { | ||
"ngx-page-scroll-core": "7.0.0", | ||
"ngx-page-scroll-core": "7.0.1", | ||
"@angular/common": "^8.0.0 || ^9.0.0", | ||
"@angular/core": "^8.0.0 || ^9.0.0" | ||
"@angular/core": "^8.0.0 || ^9.0.0", | ||
"tslib": "^1.10.0" | ||
}, | ||
@@ -41,6 +42,3 @@ "main": "bundles/ngx-page-scroll.umd.js", | ||
"metadata": "ngx-page-scroll.metadata.json", | ||
"sideEffects": false, | ||
"dependencies": { | ||
"tslib": "^1.9.0" | ||
} | ||
"sideEffects": false | ||
} |
@@ -181,2 +181,3 @@ # 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) | ||
| `pageScrollSpeed` | number | - | Speed in Pixel/Second the animation should take. Only applied if no duration is set. | ||
| `pageScrollInView` | boolean | true | Whether the scroll animation should happen even when the scroll target is already inside the view port (`true`). Set to `false` to skip scroll animation if target is already in view. | ||
| `pageScrollInterruptible` | boolean | true | Whether the scroll animation should stop if the user interferes with it (`true`) or not (`false`). | ||
@@ -183,0 +184,0 @@ | `pageScrollAdjustHash` | boolean | false | Whether the [routes hash/fragment](https://angular.io/docs/ts/latest/guide/router.html#!#query-parameters) should be updated to reflect to section that has been scrolled to |
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
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
194668
239
1
1315
1
+ Addedngx-page-scroll-core@7.0.1(transitive)
- Removedtslib@^1.9.0
- Removedngx-page-scroll-core@7.0.0(transitive)