New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

angular2-infinite-scroll

Package Overview
Dependencies
Maintainers
1
Versions
56
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

angular2-infinite-scroll - npm Package Compare versions

Comparing version 0.2.4 to 0.2.5-1

src/axis-resolver.spec.d.ts

4

angular2-infinite-scroll.d.ts
import { InfiniteScroll } from './src/infinite-scroll';
import { Scroller } from './src/scroller';
import { PositionResolver } from './src/position-resolver';
import { AxisResolver } from './src/axis-resolver';
export * from './src/infinite-scroll';
export * from './src/scroller';
export * from './src/position-resolver';
export * from './src/axis-resolver';
export * from './src/index';
declare var _default: {
directives: (typeof AxisResolver | typeof Scroller | typeof InfiniteScroll)[];
directives: (typeof AxisResolver | typeof PositionResolver | typeof Scroller | typeof InfiniteScroll)[];
};
export default _default;

@@ -7,5 +7,7 @@ "use strict";

var scroller_1 = require('./src/scroller');
var position_resolver_1 = require('./src/position-resolver');
var axis_resolver_1 = require('./src/axis-resolver');
__export(require('./src/infinite-scroll'));
__export(require('./src/scroller'));
__export(require('./src/position-resolver'));
__export(require('./src/axis-resolver'));

@@ -15,4 +17,4 @@ __export(require('./src/index'));

exports.default = {
directives: [infinite_scroll_1.InfiniteScroll, scroller_1.Scroller, axis_resolver_1.AxisResolver]
directives: [infinite_scroll_1.InfiniteScroll, scroller_1.Scroller, axis_resolver_1.AxisResolver, position_resolver_1.PositionResolver]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItaW5maW5pdGUtc2Nyb2xsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYW5ndWxhcjItaW5maW5pdGUtc2Nyb2xsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxnQ0FBK0IsdUJBQXVCLENBQUMsQ0FBQTtBQUN2RCx5QkFBeUIsZ0JBQWdCLENBQUMsQ0FBQTtBQUMxQyw4QkFBNkIscUJBQXFCLENBQUMsQ0FBQTtBQUVuRCxpQkFBYyx1QkFBdUIsQ0FBQyxFQUFBO0FBQ3RDLGlCQUFjLGdCQUFnQixDQUFDLEVBQUE7QUFDL0IsaUJBQWMscUJBQXFCLENBQUMsRUFBQTtBQUNwQyxpQkFBYyxhQUFhLENBQUMsRUFBQTtBQUU1QjtrQkFBZTtJQUNkLFVBQVUsRUFBRSxDQUFFLGdDQUFjLEVBQUUsbUJBQVEsRUFBRSw0QkFBWSxDQUFFO0NBQ3RELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmZpbml0ZVNjcm9sbCB9IGZyb20gJy4vc3JjL2luZmluaXRlLXNjcm9sbCc7XG5pbXBvcnQgeyBTY3JvbGxlciB9IGZyb20gJy4vc3JjL3Njcm9sbGVyJztcbmltcG9ydCB7IEF4aXNSZXNvbHZlciB9IGZyb20gJy4vc3JjL2F4aXMtcmVzb2x2ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3NyYy9pbmZpbml0ZS1zY3JvbGwnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvc2Nyb2xsZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXhpcy1yZXNvbHZlcic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9pbmRleCc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGlyZWN0aXZlczogWyBJbmZpbml0ZVNjcm9sbCwgU2Nyb2xsZXIsIEF4aXNSZXNvbHZlciBdXG59XG5pbnRlcmZhY2UgRGVjb3JhdG9ySW52b2NhdGlvbiB7XG4gIHR5cGU6IEZ1bmN0aW9uO1xuICBhcmdzPzogYW55W107XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItaW5maW5pdGUtc2Nyb2xsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYW5ndWxhcjItaW5maW5pdGUtc2Nyb2xsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxnQ0FBK0IsdUJBQXVCLENBQUMsQ0FBQTtBQUN2RCx5QkFBeUIsZ0JBQWdCLENBQUMsQ0FBQTtBQUMxQyxrQ0FBaUMseUJBQXlCLENBQUMsQ0FBQTtBQUMzRCw4QkFBNkIscUJBQXFCLENBQUMsQ0FBQTtBQUVuRCxpQkFBYyx1QkFBdUIsQ0FBQyxFQUFBO0FBQ3RDLGlCQUFjLGdCQUFnQixDQUFDLEVBQUE7QUFDL0IsaUJBQWMseUJBQXlCLENBQUMsRUFBQTtBQUN4QyxpQkFBYyxxQkFBcUIsQ0FBQyxFQUFBO0FBQ3BDLGlCQUFjLGFBQWEsQ0FBQyxFQUFBO0FBRTVCO2tCQUFlO0lBQ2QsVUFBVSxFQUFFLENBQUUsZ0NBQWMsRUFBRSxtQkFBUSxFQUFFLDRCQUFZLEVBQUUsb0NBQWdCLENBQUU7Q0FDeEUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluZmluaXRlU2Nyb2xsIH0gZnJvbSAnLi9zcmMvaW5maW5pdGUtc2Nyb2xsJztcbmltcG9ydCB7IFNjcm9sbGVyIH0gZnJvbSAnLi9zcmMvc2Nyb2xsZXInO1xuaW1wb3J0IHsgUG9zaXRpb25SZXNvbHZlciB9IGZyb20gJy4vc3JjL3Bvc2l0aW9uLXJlc29sdmVyJztcbmltcG9ydCB7IEF4aXNSZXNvbHZlciB9IGZyb20gJy4vc3JjL2F4aXMtcmVzb2x2ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3NyYy9pbmZpbml0ZS1zY3JvbGwnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvc2Nyb2xsZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvcG9zaXRpb24tcmVzb2x2ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXhpcy1yZXNvbHZlcic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9pbmRleCc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGlyZWN0aXZlczogWyBJbmZpbml0ZVNjcm9sbCwgU2Nyb2xsZXIsIEF4aXNSZXNvbHZlciwgUG9zaXRpb25SZXNvbHZlciBdXG59XG5pbnRlcmZhY2UgRGVjb3JhdG9ySW52b2NhdGlvbiB7XG4gIHR5cGU6IEZ1bmN0aW9uO1xuICBhcmdzPzogYW55W107XG59XG4iXX0=

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

{"__symbolic":"module","version":1,"metadata":{},"exports":[{"from":"./src/infinite-scroll"},{"from":"./src/scroller"},{"from":"./src/axis-resolver"},{"from":"./src/index"}]}
{"__symbolic":"module","version":1,"metadata":{},"exports":[{"from":"./src/infinite-scroll"},{"from":"./src/scroller"},{"from":"./src/position-resolver"},{"from":"./src/axis-resolver"},{"from":"./src/index"}]}

@@ -14,3 +14,3 @@ System.registerDynamic('src/scroller', ['rxjs/Observable', 'rxjs/add/observable/fromEvent', 'rxjs/add/observable/timer', 'rxjs/add/operator/throttle', 'rxjs/add/operator/filter'], true, function ($__require, exports, module) {

// private axis: AxisResolver;
function Scroller(windowElement, $interval, $elementRef, infiniteScrollDownCallback, infiniteScrollUpCallback, infiniteScrollDownDistance, infiniteScrollUpDistance, infiniteScrollParent, infiniteScrollThrottle, isImmediate, horizontal, alwaysCallback, scrollDisabled, axis) {
function Scroller(windowElement, $interval, $elementRef, infiniteScrollDownCallback, infiniteScrollUpCallback, infiniteScrollDownDistance, infiniteScrollUpDistance, infiniteScrollParent, infiniteScrollThrottle, isImmediate, horizontal, alwaysCallback, scrollDisabled, positionResolver) {
if (horizontal === void 0) {

@@ -35,3 +35,3 @@ horizontal = false;

this.scrollDisabled = scrollDisabled;
this.axis = axis;
this.positionResolver = positionResolver;
this.lastScrollPosition = 0;

@@ -46,4 +46,9 @@ this.isContainerWindow = Object.prototype.toString.call(this.windowElement).includes('Window');

this.defineContainer();
this.positionResolver.config({
container: this.container,
documentElement: this.documentElement,
isContainerWindow: this.isContainerWindow,
horizontal: horizontal
});
this.createInterval();
this.axis.setVertical(!this.horizontal);
}

@@ -66,35 +71,4 @@ Scroller.prototype.defineContainer = function () {

};
Scroller.prototype.height = function (elem) {
var offsetHeight = this.axis.offsetHeightKey();
var clientHeight = this.axis.clientHeightKey();
// elem = elem.nativeElement;
if (isNaN(elem[offsetHeight])) {
return this.documentElement[clientHeight];
} else {
return elem[offsetHeight];
}
};
Scroller.prototype.offsetTop = function (elem) {
var top = this.axis.topKey();
// elem = elem.nativeElement;
if (!elem.getBoundingClientRect) {
return;
}
return elem.getBoundingClientRect()[top] + this.pageYOffset(elem);
};
Scroller.prototype.pageYOffset = function (elem) {
var pageYOffset = this.axis.pageYOffsetKey();
var scrollTop = this.axis.scrollTopKey();
var offsetTop = this.axis.offsetTopKey();
// elem = elem.nativeElement;
if (isNaN(window[pageYOffset])) {
return this.documentElement[scrollTop];
} else if (elem.ownerDocument) {
return elem.ownerDocument.defaultView[pageYOffset];
} else {
return elem[offsetTop];
}
};
Scroller.prototype.handler = function () {
var container = this.calculatePoints();
var container = this.positionResolver.calculatePoints(this.$elementRef);
var scrollingDown = this.lastScrollPosition < container.scrolledUntilNow;

@@ -129,29 +103,2 @@ this.lastScrollPosition = container.scrolledUntilNow;

};
Scroller.prototype.calculatePoints = function () {
return this.isContainerWindow ? this.calculatePointsForWindow() : this.calculatePointsForElement();
};
Scroller.prototype.calculatePointsForWindow = function () {
// container's height
var height = this.height(this.container);
// scrolled until now / current y point
var scrolledUntilNow = height + this.pageYOffset(this.documentElement);
// total height / most bottom y point
var totalToScroll = this.offsetTop(this.$elementRef.nativeElement) + this.height(this.$elementRef.nativeElement);
return { height: height, scrolledUntilNow: scrolledUntilNow, totalToScroll: totalToScroll };
};
Scroller.prototype.calculatePointsForElement = function () {
var scrollTop = this.axis.scrollTopKey();
var scrollHeight = this.axis.scrollHeightKey();
var height = this.height(this.container);
// perhaps use this.container.offsetTop instead of 'scrollTop'
var scrolledUntilNow = this.container[scrollTop];
var containerTopOffset = 0;
var offsetTop = this.offsetTop(this.container);
if (offsetTop !== void 0) {
containerTopOffset = offsetTop;
}
var totalToScroll = this.container[scrollHeight];
// const totalToScroll = this.offsetTop(this.$elementRef.nativeElement) - containerTopOffset + this.height(this.$elementRef.nativeElement);
return { height: height, scrolledUntilNow: scrolledUntilNow, totalToScroll: totalToScroll };
};
Scroller.prototype.handleInfiniteScrollDistance = function (scrollDownDistance, scrollUpDistance) {

@@ -188,3 +135,3 @@ this.scrollDownDistance = parseFloat(scrollDownDistance) || 0;

});
System.registerDynamic('src/infinite-scroll', ['@angular/core', './scroller', './axis-resolver'], true, function ($__require, exports, module) {
System.registerDynamic('src/infinite-scroll', ['@angular/core', './scroller', './axis-resolver', './position-resolver'], true, function ($__require, exports, module) {
"use strict";

@@ -198,7 +145,9 @@

var axis_resolver_1 = $__require('./axis-resolver');
var position_resolver_1 = $__require('./position-resolver');
var InfiniteScroll = function () {
function InfiniteScroll(element, zone, axis) {
function InfiniteScroll(element, zone, axis, positionResolver) {
this.element = element;
this.zone = zone;
this.axis = axis;
this.positionResolver = positionResolver;
this._distanceDown = 2;

@@ -218,3 +167,3 @@ this._distanceUp = 1.5;

var containerElement = this.scrollWindow ? window : this.element;
this.scroller = new scroller_1.Scroller(containerElement, setInterval, this.element, this.onScrollDown.bind(this), this.onScrollUp.bind(this), this._distanceDown, this._distanceUp, {}, this._throttle, this._immediate, this._horizontal, this._alwaysCallback, this._disabled, this.axis);
this.scroller = new scroller_1.Scroller(containerElement, setInterval, this.element, this.onScrollDown.bind(this), this.onScrollUp.bind(this), this._distanceDown, this._distanceUp, {}, this._throttle, this._immediate, this._horizontal, this._alwaysCallback, this._disabled, this.positionResolver);
}

@@ -254,3 +203,3 @@ };

/** @nocollapse */
InfiniteScroll.ctorParameters = [{ type: core_1.ElementRef }, { type: core_1.NgZone }, { type: axis_resolver_1.AxisResolver }];
InfiniteScroll.ctorParameters = [{ type: core_1.ElementRef }, { type: core_1.NgZone }, { type: axis_resolver_1.AxisResolver }, { type: position_resolver_1.PositionResolver }];
InfiniteScroll.propDecorators = {

@@ -319,3 +268,3 @@ '_distanceDown': [{ type: core_1.Input, args: ['infiniteScrollDistance'] }],

});
System.registerDynamic('src/index', ['@angular/core', './infinite-scroll', './axis-resolver'], true, function ($__require, exports, module) {
System.registerDynamic('src/position-resolver', ['@angular/core', './axis-resolver'], true, function ($__require, exports, module) {
"use strict";

@@ -327,4 +276,90 @@

var core_1 = $__require('@angular/core');
var axis_resolver_1 = $__require('./axis-resolver');
var PositionResolver = function () {
function PositionResolver(axis) {
this.axis = axis;
}
PositionResolver.prototype.setDirection = function (horizontal) {
this.axis.setVertical(!horizontal);
};
PositionResolver.prototype.config = function (options) {
this.options = options;
this.setDirection(options.horizontal);
};
PositionResolver.prototype.calculatePoints = function (element) {
return this.options.isContainerWindow ? this.calculatePointsForWindow(element) : this.calculatePointsForElement(element);
};
PositionResolver.prototype.calculatePointsForWindow = function (element) {
// container's height
var height = this.height(this.options.container);
// scrolled until now / current y point
var scrolledUntilNow = height + this.pageYOffset(this.options.documentElement);
// total height / most bottom y point
var totalToScroll = this.offsetTop(element.nativeElement) + this.height(element.nativeElement);
return { height: height, scrolledUntilNow: scrolledUntilNow, totalToScroll: totalToScroll };
};
PositionResolver.prototype.calculatePointsForElement = function (element) {
var scrollTop = this.axis.scrollTopKey();
var scrollHeight = this.axis.scrollHeightKey();
var height = this.height(this.options.container);
// perhaps use this.container.offsetTop instead of 'scrollTop'
var scrolledUntilNow = this.options.container[scrollTop];
var containerTopOffset = 0;
var offsetTop = this.offsetTop(this.options.container);
if (offsetTop !== void 0) {
containerTopOffset = offsetTop;
}
var totalToScroll = this.options.container[scrollHeight];
// const totalToScroll = this.offsetTop(this.$elementRef.nativeElement) - containerTopOffset + this.height(this.$elementRef.nativeElement);
return { height: height, scrolledUntilNow: scrolledUntilNow, totalToScroll: totalToScroll };
};
PositionResolver.prototype.height = function (elem) {
var offsetHeight = this.axis.offsetHeightKey();
var clientHeight = this.axis.clientHeightKey();
// elem = elem.nativeElement;
if (isNaN(elem[offsetHeight])) {
return this.options.documentElement[clientHeight];
} else {
return elem[offsetHeight];
}
};
PositionResolver.prototype.offsetTop = function (elem) {
var top = this.axis.topKey();
// elem = elem.nativeElement;
if (!elem.getBoundingClientRect) {
return;
}
return elem.getBoundingClientRect()[top] + this.pageYOffset(elem);
};
PositionResolver.prototype.pageYOffset = function (elem) {
var pageYOffset = this.axis.pageYOffsetKey();
var scrollTop = this.axis.scrollTopKey();
var offsetTop = this.axis.offsetTopKey();
// elem = elem.nativeElement;
if (isNaN(window[pageYOffset])) {
return this.options.documentElement[scrollTop];
} else if (elem.ownerDocument) {
return elem.ownerDocument.defaultView[pageYOffset];
} else {
return elem[offsetTop];
}
};
PositionResolver.decorators = [{ type: core_1.Injectable }];
/** @nocollapse */
PositionResolver.ctorParameters = [{ type: axis_resolver_1.AxisResolver }];
return PositionResolver;
}();
exports.PositionResolver = PositionResolver;
return module.exports;
});
System.registerDynamic('src/index', ['@angular/core', './infinite-scroll', './axis-resolver', './position-resolver'], true, function ($__require, exports, module) {
"use strict";
var define,
global = this || self,
GLOBAL = global;
var core_1 = $__require('@angular/core');
var infinite_scroll_1 = $__require('./infinite-scroll');
var axis_resolver_1 = $__require('./axis-resolver');
var position_resolver_1 = $__require('./position-resolver');
var InfiniteScrollModule = function () {

@@ -336,3 +371,3 @@ function InfiniteScrollModule() {}

exports: [infinite_scroll_1.InfiniteScroll],
providers: [axis_resolver_1.AxisResolver]
providers: [axis_resolver_1.AxisResolver, position_resolver_1.PositionResolver]
}] }];

@@ -346,3 +381,3 @@ /** @nocollapse */

});
System.registerDynamic('angular2-infinite-scroll', ['./src/infinite-scroll', './src/scroller', './src/axis-resolver', './src/index'], true, function ($__require, exports, module) {
System.registerDynamic('angular2-infinite-scroll', ['./src/infinite-scroll', './src/scroller', './src/position-resolver', './src/axis-resolver', './src/index'], true, function ($__require, exports, module) {
"use strict";

@@ -358,5 +393,7 @@

var scroller_1 = $__require('./src/scroller');
var position_resolver_1 = $__require('./src/position-resolver');
var axis_resolver_1 = $__require('./src/axis-resolver');
__export($__require('./src/infinite-scroll'));
__export($__require('./src/scroller'));
__export($__require('./src/position-resolver'));
__export($__require('./src/axis-resolver'));

@@ -366,5 +403,5 @@ __export($__require('./src/index'));

exports.default = {
directives: [infinite_scroll_1.InfiniteScroll, scroller_1.Scroller, axis_resolver_1.AxisResolver]
directives: [infinite_scroll_1.InfiniteScroll, scroller_1.Scroller, axis_resolver_1.AxisResolver, position_resolver_1.PositionResolver]
};
return module.exports;
});

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

const singleRun = process.env.NODE_ENV !== 'bdd';
module.exports = function(config) {

@@ -50,3 +52,3 @@ var testWebpackConfig = require('./webpack.test.js');

autoWatch: false,
autoWatch: true,

@@ -64,3 +66,3 @@ browsers: [

singleRun: true
singleRun: singleRun
};

@@ -67,0 +69,0 @@

{
"name": "angular2-infinite-scroll",
"version": "0.2.4",
"version": "0.2.5-1",
"description": "An infinite scroll directive for angular2",

@@ -10,9 +10,12 @@ "main": "angular2-infinite-scroll.js",

"build:test": "tsc --project ./src",
"clean": "rimraf src/*.js && rimraf src/*.d.ts && rimraf ./*scroll.js && rimraf ./*scroll.d.ts",
"clean": "npm run clean:jsfiles && npm run clean:typefiles && npm run clean:metadata",
"clean:jsfiles": "rimraf src/*.js && rimraf ./*scroll.js",
"clean:typefiles": "rimraf src/*.d.ts && rimraf ./*scroll.d.ts",
"clean:node": "rimraf node_modules",
"dev": "npm run watch & karma start karma.conf.js --bdd",
"clean:metadata": "rimraf ./*metadata.json && rimraf src/ngfactory && rimraf ./src/*.metadata.json",
"bdd": "NODE_ENV='bdd' karma start karma.conf.js",
"lite": "lite-server",
"postversion": "git push origin master",
"prepublish": "node ./node_modules/@angular/compiler-cli/src/main.js && node make.js",
"pretest": "npm run clean && npm run build:test",
"pretest": "npm run clean",
"preversion": "npm run clean && npm run prepublish && npm test",

@@ -22,3 +25,2 @@ "setup": "npm run typings -- install",

"test": "karma start karma.conf.js",
"typings": "typings",
"version": "git add ./",

@@ -71,3 +73,2 @@ "watch": "tsc --project ./src --watch"

"typescript": "2.0.3",
"typings": "1.2.0",
"webpack": "2.1.0-beta.21",

@@ -74,0 +75,0 @@ "zone.js": "^0.6.17"

@@ -32,2 +32,2 @@ "use strict";

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy1yZXNvbHZlci5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXhpcy1yZXNvbHZlci5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFNQSw4QkFBNkIsaUJBQWlCLENBQUMsQ0FBQTtBQUMvQyxxQkFBMkIsZUFBZSxDQUFDLENBQUE7QUFFM0MsUUFBUSxDQUFDLG9CQUFvQixFQUFFO0lBQzdCLElBQU0sZUFBZSxHQUNuQixjQUFvQixNQUFNLENBQUMsSUFBSSxpQkFBVSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUU3RSxJQUFNLFVBQVUsR0FBRyxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFFcEUsRUFBRSxDQUFDLDJDQUEyQyxFQUFFO1FBQzlDLElBQU0sWUFBWSxHQUFHLElBQUksNEJBQVksRUFBRSxDQUFDO1FBRXhDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBWSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRTtRQUMzQyxJQUFNLGVBQWUsR0FBSSxJQUFJLDRCQUFZLEVBQUUsQ0FBQztRQUM1QyxJQUFNLGdCQUFnQixHQUFHLElBQUksNEJBQVksRUFBRSxDQUFDO1FBQzVDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVsQyxJQUFNLE9BQU8sR0FBWSxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFbEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDBEQUEwRCxFQUFFO1FBQzdELElBQU0sa0JBQWtCLEdBQUcsSUFBSSw0QkFBWSxFQUFFLENBQUM7UUFDOUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx1REFBdUQsRUFBRTtRQUMxRCxJQUFNLGtCQUFrQixHQUFHLElBQUksNEJBQVksRUFBRSxDQUFDO1FBQzlDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFFLFVBQUMsSUFBSSxJQUFLLE9BQUEsSUFBSSxHQUFHLEtBQUssRUFBWixDQUFZLENBQUUsQ0FBQztRQUM3RCxJQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFFLFVBQUMsS0FBSyxJQUFLLE9BQUEsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBM0IsQ0FBMkIsQ0FBRSxDQUFDO1FBQzFFLElBQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUUsVUFBQyxNQUFNLElBQUssT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFyQixDQUFxQixDQUFFLENBQUM7UUFFcEUsTUFBTSxDQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUUsVUFBQyxHQUFHLElBQUssT0FBQSxHQUFHLEVBQUgsQ0FBRyxDQUFFLENBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQyxDQUFDLENBQUM7QUFFTCxDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFzeW5jLFxuICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGwgfSBmcm9tICcuL2luZmluaXRlLXNjcm9sbCc7XG5pbXBvcnQgeyBBeGlzUmVzb2x2ZXIgfSBmcm9tICcuL2F4aXMtcmVzb2x2ZXInO1xuaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5kZXNjcmliZSgnQXhpc1Jlc29sdmVyIENsYXNzJywgKCkgPT4ge1xuICBjb25zdCBtYWtlTW9ja0VsZW1lbnQgPVxuICAgICgpOiBFbGVtZW50UmVmID0+IHsgcmV0dXJuIG5ldyBFbGVtZW50UmVmKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTt9O1xuXG4gIGNvbnN0IGJhc2VfbmFtZXMgPSBbJ2NsaWVudEhlaWdodCcsICdvZmZzZXRIZWlnaHQnLCAnc2Nyb2xsSGVpZ2h0J107XG5cbiAgaXQoJ3Nob3VsZCBjcmVhdGUgYW4gaW5zdGFuY2Ugb2YgQXhpc1Jlc29sdmVyJywgKCkgPT4ge1xuICAgIGNvbnN0IHRlc3RSZXNvbHZlciA9IG5ldyBBeGlzUmVzb2x2ZXIoKTtcblxuICAgIGV4cGVjdCh0ZXN0UmVzb2x2ZXIpLnRvRXF1YWwoamFzbWluZS5hbnkoQXhpc1Jlc29sdmVyKSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZGVmYXVsdCBjb25zdHJ1Y3RvciBhcmcgdG8gdHJ1ZScsICgpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0UmVzb2x2ZXIgID0gbmV3IEF4aXNSZXNvbHZlcigpO1xuICAgIGNvbnN0IHZlcnRpY2FsUmVzb2x2ZXIgPSBuZXcgQXhpc1Jlc29sdmVyKCk7XG4gICAgdmVydGljYWxSZXNvbHZlci5zZXRWZXJ0aWNhbCh0cnVlKVxuXG4gICAgY29uc3QgcmVzdWx0cyAgICAgICAgICA9IGRlZmF1bHRSZXNvbHZlci50b3BLZXkoKTtcblxuICAgIGV4cGVjdChyZXN1bHRzKS50b0JlKHZlcnRpY2FsUmVzb2x2ZXIudG9wS2V5KCkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGNoYW5nZSB0b3BLZXkoKSB0byBcImxlZnRcIiBpZiBjcmVhdGVkIFwiaG9yaXpvbnRhbFwiJywgKCkgPT4ge1xuICAgIGNvbnN0IGhvcml6b250YWxSZXNvbHZlciA9IG5ldyBBeGlzUmVzb2x2ZXIoKTtcbiAgICBob3Jpem9udGFsUmVzb2x2ZXIuc2V0VmVydGljYWwoZmFsc2UpO1xuICAgIGV4cGVjdChob3Jpem9udGFsUmVzb2x2ZXIudG9wS2V5KCkpLnRvQmUoJ2xlZnQnKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBtYWtlIEhlaWdodCBpbnRvIFdpZHRoIGlmIGNyZWF0ZWQgXCJob3Jpem9udGFsXCInLCAoKSA9PiB7XG4gICAgY29uc3QgaG9yaXpvbnRhbFJlc29sdmVyID0gbmV3IEF4aXNSZXNvbHZlcigpO1xuICAgIGhvcml6b250YWxSZXNvbHZlci5zZXRWZXJ0aWNhbChmYWxzZSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZXMgPSBiYXNlX25hbWVzLm1hcCggKG5hbWUpID0+IG5hbWUgKyAnS2V5JyApO1xuICAgIGNvbnN0IHJlc3VsdHMgPSBtZXRob2ROYW1lcy5tYXAoIChtTmFtZSkgPT4gaG9yaXpvbnRhbFJlc29sdmVyW21OYW1lXSgpICk7XG4gICAgY29uc3QgYXJlX3dpZHRocyA9IHJlc3VsdHMubWFwKCAocmVzdWx0KSA9PiByZXN1bHQubWF0Y2goL1dpZHRoLykgKTtcblxuICAgIGV4cGVjdCggYXJlX3dpZHRocy5ldmVyeSggKGVsdCkgPT4gZWx0ICkgKS50b0JlKHRydWUpO1xuICB9KTtcblxufSlcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy1yZXNvbHZlci5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXhpcy1yZXNvbHZlci5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFNQSw4QkFBNkIsaUJBQWlCLENBQUMsQ0FBQTtBQUMvQyxxQkFBMkIsZUFBZSxDQUFDLENBQUE7QUFFM0MsUUFBUSxDQUFDLG9CQUFvQixFQUFFO0lBQzdCLElBQU0sZUFBZSxHQUNuQixjQUFvQixNQUFNLENBQUMsSUFBSSxpQkFBVSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUU3RSxJQUFNLFVBQVUsR0FBRyxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFFcEUsRUFBRSxDQUFDLDJDQUEyQyxFQUFFO1FBQzlDLElBQU0sWUFBWSxHQUFHLElBQUksNEJBQVksRUFBRSxDQUFDO1FBRXhDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBWSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRTtRQUMzQyxJQUFNLGVBQWUsR0FBSSxJQUFJLDRCQUFZLEVBQUUsQ0FBQztRQUM1QyxJQUFNLGdCQUFnQixHQUFHLElBQUksNEJBQVksRUFBRSxDQUFDO1FBQzVDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVsQyxJQUFNLE9BQU8sR0FBWSxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFbEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDBEQUEwRCxFQUFFO1FBQzdELElBQU0sa0JBQWtCLEdBQUcsSUFBSSw0QkFBWSxFQUFFLENBQUM7UUFDOUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx1REFBdUQsRUFBRTtRQUMxRCxJQUFNLGtCQUFrQixHQUFHLElBQUksNEJBQVksRUFBRSxDQUFDO1FBQzlDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFFLFVBQUMsSUFBSSxJQUFLLE9BQUEsSUFBSSxHQUFHLEtBQUssRUFBWixDQUFZLENBQUUsQ0FBQztRQUM3RCxJQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFFLFVBQUMsS0FBSyxJQUFLLE9BQUEsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBM0IsQ0FBMkIsQ0FBRSxDQUFDO1FBQzFFLElBQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUUsVUFBQyxNQUFNLElBQUssT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFyQixDQUFxQixDQUFFLENBQUM7UUFFcEUsTUFBTSxDQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUUsVUFBQyxHQUFHLElBQUssT0FBQSxHQUFHLEVBQUgsQ0FBRyxDQUFFLENBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQyxDQUFDLENBQUM7QUFFTCxDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFzeW5jLFxuICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGwgfSBmcm9tICcuL2luZmluaXRlLXNjcm9sbCc7XG5pbXBvcnQgeyBBeGlzUmVzb2x2ZXIgfSBmcm9tICcuL2F4aXMtcmVzb2x2ZXInO1xuaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5kZXNjcmliZSgnQXhpc1Jlc29sdmVyIENsYXNzJywgKCkgPT4ge1xuICBjb25zdCBtYWtlTW9ja0VsZW1lbnQgPVxuICAgICgpOiBFbGVtZW50UmVmID0+IHsgcmV0dXJuIG5ldyBFbGVtZW50UmVmKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTt9O1xuXG4gIGNvbnN0IGJhc2VfbmFtZXMgPSBbJ2NsaWVudEhlaWdodCcsICdvZmZzZXRIZWlnaHQnLCAnc2Nyb2xsSGVpZ2h0J107XG5cbiAgaXQoJ3Nob3VsZCBjcmVhdGUgYW4gaW5zdGFuY2Ugb2YgQXhpc1Jlc29sdmVyJywgKCkgPT4ge1xuICAgIGNvbnN0IHRlc3RSZXNvbHZlciA9IG5ldyBBeGlzUmVzb2x2ZXIoKTtcblxuICAgIGV4cGVjdCh0ZXN0UmVzb2x2ZXIpLnRvRXF1YWwoamFzbWluZS5hbnkoQXhpc1Jlc29sdmVyKSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZGVmYXVsdCBjb25zdHJ1Y3RvciBhcmcgdG8gdHJ1ZScsICgpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0UmVzb2x2ZXIgID0gbmV3IEF4aXNSZXNvbHZlcigpO1xuICAgIGNvbnN0IHZlcnRpY2FsUmVzb2x2ZXIgPSBuZXcgQXhpc1Jlc29sdmVyKCk7XG4gICAgdmVydGljYWxSZXNvbHZlci5zZXRWZXJ0aWNhbCh0cnVlKVxuXG4gICAgY29uc3QgcmVzdWx0cyAgICAgICAgICA9IGRlZmF1bHRSZXNvbHZlci50b3BLZXkoKTtcblxuICAgIGV4cGVjdChyZXN1bHRzKS50b0JlKHZlcnRpY2FsUmVzb2x2ZXIudG9wS2V5KCkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGNoYW5nZSB0b3BLZXkoKSB0byBcImxlZnRcIiBpZiBjcmVhdGVkIFwiaG9yaXpvbnRhbFwiJywgKCkgPT4ge1xuICAgIGNvbnN0IGhvcml6b250YWxSZXNvbHZlciA9IG5ldyBBeGlzUmVzb2x2ZXIoKTtcbiAgICBob3Jpem9udGFsUmVzb2x2ZXIuc2V0VmVydGljYWwoZmFsc2UpO1xuICAgIGV4cGVjdChob3Jpem9udGFsUmVzb2x2ZXIudG9wS2V5KCkpLnRvQmUoJ2xlZnQnKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBtYWtlIEhlaWdodCBpbnRvIFdpZHRoIGlmIGNyZWF0ZWQgXCJob3Jpem9udGFsXCInLCAoKSA9PiB7XG4gICAgY29uc3QgaG9yaXpvbnRhbFJlc29sdmVyID0gbmV3IEF4aXNSZXNvbHZlcigpO1xuICAgIGhvcml6b250YWxSZXNvbHZlci5zZXRWZXJ0aWNhbChmYWxzZSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZXMgPSBiYXNlX25hbWVzLm1hcCggKG5hbWUpID0+IG5hbWUgKyAnS2V5JyApO1xuICAgIGNvbnN0IHJlc3VsdHMgPSBtZXRob2ROYW1lcy5tYXAoIChtTmFtZSkgPT4gaG9yaXpvbnRhbFJlc29sdmVyW21OYW1lXSgpICk7XG4gICAgY29uc3QgYXJlX3dpZHRocyA9IHJlc3VsdHMubWFwKCAocmVzdWx0KSA9PiByZXN1bHQubWF0Y2goL1dpZHRoLykgKTtcblxuICAgIGV4cGVjdCggYXJlX3dpZHRocy5ldmVyeSggKGVsdCkgPT4gZWx0ICkgKS50b0JlKHRydWUpO1xuICB9KTtcblxufSlcblxuaW50ZXJmYWNlIERlY29yYXRvckludm9jYXRpb24ge1xuICB0eXBlOiBGdW5jdGlvbjtcbiAgYXJncz86IGFueVtdO1xufVxuIl19

@@ -5,2 +5,3 @@ "use strict";

var axis_resolver_1 = require('./axis-resolver');
var position_resolver_1 = require('./position-resolver');
var InfiniteScrollModule = (function () {

@@ -14,3 +15,3 @@ function InfiniteScrollModule() {

exports: [infinite_scroll_1.InfiniteScroll],
providers: [axis_resolver_1.AxisResolver]
providers: [axis_resolver_1.AxisResolver, position_resolver_1.PositionResolver]
},] },

@@ -23,2 +24,2 @@ ];

exports.InfiniteScrollModule = InfiniteScrollModule;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUJBQThCLGVBQWUsQ0FBQyxDQUFBO0FBRTlDLGdDQUFnQyxtQkFBbUIsQ0FBQyxDQUFBO0FBQ3BELDhCQUE2QixpQkFBaUIsQ0FBQyxDQUFBO0FBRy9DO0lBQUE7SUFXQSxDQUFDO0lBWDBDLCtCQUFVLEdBQTBCO1FBQy9FLEVBQUUsSUFBSSxFQUFFLGVBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDdkIsT0FBTyxFQUFPLEVBQUk7b0JBQ2xCLFlBQVksRUFBRSxDQUFFLGdDQUFjLENBQUU7b0JBQ2hDLE9BQU8sRUFBTyxDQUFFLGdDQUFjLENBQUU7b0JBQ2hDLFNBQVMsRUFBSyxDQUFFLDRCQUFZLENBQUU7aUJBQy9CLEVBQUcsRUFBRTtLQUNMLENBQUM7SUFDRixrQkFBa0I7SUFDWCxtQ0FBYyxHQUE2RCxFQUNqRixDQUFDO0lBQ0YsMkJBQUM7QUFBRCxDQUFDLEFBWEQsSUFXQztBQVhZLDRCQUFvQix1QkFXaEMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gICAgICBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGwgfSAgZnJvbSAnLi9pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgQXhpc1Jlc29sdmVyIH0gZnJvbSAnLi9heGlzLXJlc29sdmVyJztcblxuXG5leHBvcnQgY2xhc3MgSW5maW5pdGVTY3JvbGxNb2R1bGUgeyBzdGF0aWMgZGVjb3JhdG9yczogRGVjb3JhdG9ySW52b2NhdGlvbltdID0gW1xueyB0eXBlOiBOZ01vZHVsZSwgYXJnczogW3tcbiAgaW1wb3J0czogICAgICBbICBdLFxuICBkZWNsYXJhdGlvbnM6IFsgSW5maW5pdGVTY3JvbGwgXSxcbiAgZXhwb3J0czogICAgICBbIEluZmluaXRlU2Nyb2xsIF0sXG4gIHByb3ZpZGVyczogICAgWyBBeGlzUmVzb2x2ZXIgXVxufSwgXSB9LFxuXTtcbi8qKiBAbm9jb2xsYXBzZSAqL1xuc3RhdGljIGN0b3JQYXJhbWV0ZXJzOiAoe3R5cGU6IGFueSwgZGVjb3JhdG9ycz86IERlY29yYXRvckludm9jYXRpb25bXX18bnVsbClbXSA9IFtcbl07XG59XG5cbmludGVyZmFjZSBEZWNvcmF0b3JJbnZvY2F0aW9uIHtcbiAgdHlwZTogRnVuY3Rpb247XG4gIGFyZ3M/OiBhbnlbXTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUJBQThCLGVBQWUsQ0FBQyxDQUFBO0FBRTlDLGdDQUFnQyxtQkFBbUIsQ0FBQyxDQUFBO0FBQ3BELDhCQUE2QixpQkFBaUIsQ0FBQyxDQUFBO0FBQy9DLGtDQUFpQyxxQkFBcUIsQ0FBQyxDQUFBO0FBR3ZEO0lBQUE7SUFXQSxDQUFDO0lBWDBDLCtCQUFVLEdBQTBCO1FBQy9FLEVBQUUsSUFBSSxFQUFFLGVBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDdkIsT0FBTyxFQUFPLEVBQUk7b0JBQ2xCLFlBQVksRUFBRSxDQUFFLGdDQUFjLENBQUU7b0JBQ2hDLE9BQU8sRUFBTyxDQUFFLGdDQUFjLENBQUU7b0JBQ2hDLFNBQVMsRUFBSyxDQUFFLDRCQUFZLEVBQUUsb0NBQWdCLENBQUU7aUJBQ2pELEVBQUcsRUFBRTtLQUNMLENBQUM7SUFDRixrQkFBa0I7SUFDWCxtQ0FBYyxHQUE2RCxFQUNqRixDQUFDO0lBQ0YsMkJBQUM7QUFBRCxDQUFDLEFBWEQsSUFXQztBQVhZLDRCQUFvQix1QkFXaEMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gICAgICBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGwgfSAgZnJvbSAnLi9pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgQXhpc1Jlc29sdmVyIH0gZnJvbSAnLi9heGlzLXJlc29sdmVyJztcbmltcG9ydCB7IFBvc2l0aW9uUmVzb2x2ZXIgfSBmcm9tICcuL3Bvc2l0aW9uLXJlc29sdmVyJztcblxuXG5leHBvcnQgY2xhc3MgSW5maW5pdGVTY3JvbGxNb2R1bGUgeyBzdGF0aWMgZGVjb3JhdG9yczogRGVjb3JhdG9ySW52b2NhdGlvbltdID0gW1xueyB0eXBlOiBOZ01vZHVsZSwgYXJnczogW3tcbiAgaW1wb3J0czogICAgICBbICBdLFxuICBkZWNsYXJhdGlvbnM6IFsgSW5maW5pdGVTY3JvbGwgXSxcbiAgZXhwb3J0czogICAgICBbIEluZmluaXRlU2Nyb2xsIF0sXG4gIHByb3ZpZGVyczogICAgWyBBeGlzUmVzb2x2ZXIsIFBvc2l0aW9uUmVzb2x2ZXIgXVxufSwgXSB9LFxuXTtcbi8qKiBAbm9jb2xsYXBzZSAqL1xuc3RhdGljIGN0b3JQYXJhbWV0ZXJzOiAoe3R5cGU6IGFueSwgZGVjb3JhdG9ycz86IERlY29yYXRvckludm9jYXRpb25bXX18bnVsbClbXSA9IFtcbl07XG59XG5cbmludGVyZmFjZSBEZWNvcmF0b3JJbnZvY2F0aW9uIHtcbiAgdHlwZTogRnVuY3Rpb247XG4gIGFyZ3M/OiBhbnlbXTtcbn1cbiJdfQ==

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

{"__symbolic":"module","version":1,"metadata":{"InfiniteScrollModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"imports":[],"declarations":[{"__symbolic":"reference","module":"./infinite-scroll","name":"InfiniteScroll"}],"exports":[{"__symbolic":"reference","module":"./infinite-scroll","name":"InfiniteScroll"}],"providers":[{"__symbolic":"reference","module":"./axis-resolver","name":"AxisResolver"}]}]}]}}}
{"__symbolic":"module","version":1,"metadata":{"InfiniteScrollModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"imports":[],"declarations":[{"__symbolic":"reference","module":"./infinite-scroll","name":"InfiniteScroll"}],"exports":[{"__symbolic":"reference","module":"./infinite-scroll","name":"InfiniteScroll"}],"providers":[{"__symbolic":"reference","module":"./axis-resolver","name":"AxisResolver"},{"__symbolic":"reference","module":"./position-resolver","name":"PositionResolver"}]}]}]}}}
import { ElementRef, EventEmitter, OnDestroy, OnInit, OnChanges, SimpleChanges, NgZone } from '@angular/core';
import { Scroller } from './scroller';
import { AxisResolver } from './axis-resolver';
import { PositionResolver } from './position-resolver';
export declare class InfiniteScroll implements OnDestroy, OnInit, OnChanges {

@@ -8,2 +9,3 @@ private element;

private axis;
private positionResolver;
scroller: Scroller;

@@ -20,3 +22,3 @@ _distanceDown: number;

scrolledUp: EventEmitter<{}>;
constructor(element: ElementRef, zone: NgZone, axis: AxisResolver);
constructor(element: ElementRef, zone: NgZone, axis: AxisResolver, positionResolver: PositionResolver);
ngOnInit(): void;

@@ -23,0 +25,0 @@ ngOnDestroy(): void;

@@ -5,7 +5,9 @@ "use strict";

var axis_resolver_1 = require('./axis-resolver');
var position_resolver_1 = require('./position-resolver');
var InfiniteScroll = (function () {
function InfiniteScroll(element, zone, axis) {
function InfiniteScroll(element, zone, axis, positionResolver) {
this.element = element;
this.zone = zone;
this.axis = axis;
this.positionResolver = positionResolver;
this._distanceDown = 2;

@@ -25,3 +27,3 @@ this._distanceUp = 1.5;

var containerElement = this.scrollWindow ? window : this.element;
this.scroller = new scroller_1.Scroller(containerElement, setInterval, this.element, this.onScrollDown.bind(this), this.onScrollUp.bind(this), this._distanceDown, this._distanceUp, {}, this._throttle, this._immediate, this._horizontal, this._alwaysCallback, this._disabled, this.axis);
this.scroller = new scroller_1.Scroller(containerElement, setInterval, this.element, this.onScrollDown.bind(this), this.onScrollUp.bind(this), this._distanceDown, this._distanceUp, {}, this._throttle, this._immediate, this._horizontal, this._alwaysCallback, this._disabled, this.positionResolver);
}

@@ -59,2 +61,3 @@ };

{ type: axis_resolver_1.AxisResolver, },
{ type: position_resolver_1.PositionResolver, },
];

@@ -76,2 +79,2 @@ InfiniteScroll.propDecorators = {

exports.InfiniteScroll = InfiniteScroll;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdGUtc2Nyb2xsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW5maW5pdGUtc2Nyb2xsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxxQkFBd0gsZUFBZSxDQUFDLENBQUE7QUFDeEkseUJBQXlCLFlBQVksQ0FBQyxDQUFBO0FBQ3RDLDhCQUE2QixpQkFBaUIsQ0FBQyxDQUFBO0FBRy9DO0lBZUUsd0JBQ1UsT0FBbUIsRUFDbkIsSUFBWSxFQUNaLElBQWtCO1FBRmxCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFNBQUksR0FBSixJQUFJLENBQWM7UUFmM0Isa0JBQWEsR0FBVyxDQUFDLENBQUM7UUFDMUIsZ0JBQVcsR0FBVyxHQUFHLENBQUM7UUFDMUIsY0FBUyxHQUFXLEdBQUcsQ0FBQztRQUN4QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBQzdCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0Isb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFakMsYUFBUSxHQUFHLElBQUksbUJBQVksRUFBRSxDQUFDO1FBQzlCLGVBQVUsR0FBRyxJQUFJLG1CQUFZLEVBQUUsQ0FBQztJQU05QixDQUFDO0lBRUosaUNBQVEsR0FBUjtRQUNFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDbEMsSUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ25FLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxtQkFBUSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUNwRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENB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RUFBRSxZQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLEVBQUcsRUFBRSxFQUFFO1FBQ2pFLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQU0sRUFBRSxFQUFFO1FBQy9CLFlBQVksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQU0sRUFBRSxFQUFFO0tBQ2hDLENBQUM7SUFDRixxQkFBQztBQUFELENBQUMsQUExRUQsSUEwRUM7QUExRVksc0JBQWMsaUJBMEUxQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2Nyb2xsZXIgfSBmcm9tICcuL3Njcm9sbGVyJztcbmltcG9ydCB7IEF4aXNSZXNvbHZlciB9IGZyb20gJy4vYXhpcy1yZXNvbHZlcic7XG5cblxuZXhwb3J0IGNsYXNzIEluZmluaXRlU2Nyb2xsIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHB1YmxpYyBzY3JvbGxlcjogU2Nyb2xsZXI7XG5cbiAgIF9kaXN0YW5jZURvd246IG51bWJlciA9IDI7XG4gICBfZGlzdGFuY2VVcDogbnVtYmVyID0gMS41O1xuICAgX3Rocm90dGxlOiBudW1iZXIgPSAzMDA7XG4gICBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgIHNjcm9sbFdpbmRvdzogYm9vbGVhbiA9IHRydWU7XG4gICBfaW1tZWRpYXRlOiBib29sZWFuID0gZmFsc2U7XG4gICBfaG9yaXpvbnRhbDogYm9vbGVhbiA9IGZhbHNlO1xuICAgX2Fsd2F5c0NhbGxiYWNrOiBib29sZWFuID0gZmFsc2U7XG5cbiAgIHNjcm9sbGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgc2Nyb2xsZWRVcCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBheGlzOiBBeGlzUmVzb2x2ZXJcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc3QgY29udGFpbmVyRWxlbWVudCA9IHRoaXMuc2Nyb2xsV2luZG93ID8gd2luZG93IDogdGhpcy5lbGVtZW50O1xuICAgICAgdGhpcy5zY3JvbGxlciA9IG5ldyBTY3JvbGxlcihjb250YWluZXJFbGVtZW50LCBzZXRJbnRlcnZhbCwgdGhpcy5lbGVtZW50LFxuICAgICAgICAgIHRoaXMub25TY3JvbGxEb3duLmJpbmQodGhpcyksIHRoaXMub25TY3JvbGxVcC5iaW5kKHRoaXMpLFxuICAgICAgICAgIHRoaXMuX2Rpc3RhbmNlRG93biwgdGhpcy5fZGlzdGFuY2VVcCwge30sIHRoaXMuX3Rocm90dGxlLFxuICAgICAgICAgIHRoaXMuX2ltbWVkaWF0ZSwgdGhpcy5faG9yaXpvbnRhbCwgdGhpcy5fYWx3YXlzQ2FsbGJhY2ssXG4gICAgICAgICAgdGhpcy5fZGlzYWJsZWQsIHRoaXMuYXhpcyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3kgKCkge1xuICAgIGlmICh0aGlzLnNjcm9sbGVyKSB7XG4gICAgICB0aGlzLnNjcm9sbGVyLmNsZWFuKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmKGNoYW5nZXNbJ19kaXNhYmxlZCddICYmIHRoaXMuc2Nyb2xsZXIpe1xuICAgICAgdGhpcy5zY3JvbGxlci5oYW5kbGVJbmZpbml0ZVNjcm9sbERpc2FibGVkKGNoYW5nZXNbJ19kaXNhYmxlZCddLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgb25TY3JvbGxEb3duKGRhdGEgPSB7fSkge1xuICAgIHRoaXMuem9uZS5ydW4oKCkgPT4gdGhpcy5zY3JvbGxlZC5uZXh0KGRhdGEpKTtcbiAgfVxuXG4gIG9uU2Nyb2xsVXAoZGF0YSA9IHt9KSB7XG4gICAgdGhpcy56b25lLnJ1bigoKSA9PiB0aGlzLnNjcm9sbGVkVXAubmV4dChkYXRhKSk7XG4gIH1cbnN0YXRpYyBkZWNvcmF0b3JzOiBEZWNvcmF0b3JJbnZvY2F0aW9uW10gPSBbXG57IHR5cGU6IERpcmVjdGl2ZSwgYXJnczogW3tcbiAgc2VsZWN0b3I6ICdbaW5maW5pdGUtc2Nyb2xsXSdcbn0sIF0gfSxcbl07XG4vKiogQG5vY29sbGFwc2UgKi9cbnN0YXRpYyBjdG9yUGFyYW1ldGVyczogKHt0eXBlOiBhbnksIGRlY29yYXRvcnM/OiBEZWNvcmF0b3JJbnZvY2F0aW9uW119fG51bGwpW10gPSBbXG57dHlwZTogRWxlbWVudFJlZiwgfSxcbnt0eXBlOiBOZ1pvbmUsIH0sXG57dHlwZTogQXhpc1Jlc29sdmVyLCB9LFxuXTtcbnN0YXRpYyBwcm9wRGVjb3JhdG9yczoge1trZXk6IHN0cmluZ106IERlY29yYXRvckludm9jYXRpb25bXX0gPSB7XG4nX2Rpc3RhbmNlRG93bic6IFt7IHR5cGU6IElucHV0LCBhcmdzOiBbJ2luZmluaXRlU2Nyb2xsRGlzdGFuY2UnLCBdIH0sXSxcbidfZGlzdGFuY2VVcCc6IFt7IHR5cGU6IElucHV0LCBhcmdzOiBbJ2luZmluaXRlU2Nyb2xsVXBEaXN0YW5jZScsIF0gfSxdLFxuJ190aHJvdHRsZSc6IFt7IHR5cGU6IElucHV0LCBhcmdzOiBbJ2luZmluaXRlU2Nyb2xsVGhyb3R0bGUnLCBdIH0sXSxcbidfZGlzYWJsZWQnOiBbeyB0eXBlOiBJbnB1dCwgYXJnczogWydpbmZpbml0ZVNjcm9sbERpc2FibGVkJywgXSB9LF0sXG4nc2Nyb2xsV2luZG93JzogW3sgdHlwZTogSW5wdXQsIGFyZ3M6IFsnc2Nyb2xsV2luZG93JywgXSB9LF0sXG4nX2ltbWVkaWF0ZSc6IFt7IHR5cGU6IElucHV0LCBhcmdzOiBbJ2ltbWVkaWF0ZUNoZWNrJywgXSB9LF0sXG4nX2hvcml6b250YWwnOiBbeyB0eXBlOiBJbnB1dCwgYXJnczogWydob3Jpem9udGFsJywgXSB9LF0sXG4nX2Fsd2F5c0NhbGxiYWNrJzogW3sgdHlwZTogSW5wdXQsIGFyZ3M6IFsnYWx3YXlzQ2FsbGJhY2snLCBdIH0sXSxcbidzY3JvbGxlZCc6IFt7IHR5cGU6IE91dHB1dCB9LF0sXG4nc2Nyb2xsZWRVcCc6IFt7IHR5cGU6IE91dHB1dCB9LF0sXG59O1xufVxuXG5pbnRlcmZhY2UgRGVjb3JhdG9ySW52b2NhdGlvbiB7XG4gIHR5cGU6IEZ1bmN0aW9uO1xuICBhcmdzPzogYW55W107XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdGUtc2Nyb2xsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW5maW5pdGUtc2Nyb2xsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxxQkFBd0gsZUFBZSxDQUFDLENBQUE7QUFDeEkseUJBQXlCLFlBQVksQ0FBQyxDQUFBO0FBQ3RDLDhCQUE2QixpQkFBaUIsQ0FBQyxDQUFBO0FBQy9DLGtDQUFpQyxxQkFBcUIsQ0FBQyxDQUFBO0FBR3ZEO0lBZUUsd0JBQ1UsT0FBbUIsRUFDbkIsSUFBWSxFQUNaLElBQWtCLEVBQ2xCLGdCQUFrQztRQUhsQyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixTQUFJLEdBQUosSUFBSSxDQUFjO1FBQ2xCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFoQjNDLGtCQUFhLEdBQVcsQ0FBQyxDQUFDO1FBQzFCLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBQzFCLGNBQVMsR0FBVyxHQUFHLENBQUM7UUFDeEIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixpQkFBWSxHQUFZLElBQUksQ0FBQztRQUM3QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBRWpDLGFBQVEsR0FBRyxJQUFJLG1CQUFZLEVBQUUsQ0FBQztRQUM5QixlQUFVLEdBQUcsSUFBSSxtQkFBWSxFQUFFLENBQUM7SUFPOUIsQ0FBQztJQUVKLGlDQUFRLEdBQVI7UUFDRSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLElBQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNuRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksbUJBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVB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NUQsYUFBYSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBSyxFQUFFLElBQUksRUFBRSxDQUFDLFlBQVksRUFBRyxFQUFFLEVBQUU7UUFDekQsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxZQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLEVBQUcsRUFBRSxFQUFFO1FBQ2pFLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQU0sRUFBRSxFQUFFO1FBQy9CLFlBQVksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQU0sRUFBRSxFQUFFO0tBQ2hDLENBQUM7SUFDRixxQkFBQztBQUFELENBQUMsQUE1RUQsSUE0RUM7QUE1RVksc0JBQWMsaUJBNEUxQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2Nyb2xsZXIgfSBmcm9tICcuL3Njcm9sbGVyJztcbmltcG9ydCB7IEF4aXNSZXNvbHZlciB9IGZyb20gJy4vYXhpcy1yZXNvbHZlcic7XG5pbXBvcnQgeyBQb3NpdGlvblJlc29sdmVyIH0gZnJvbSAnLi9wb3NpdGlvbi1yZXNvbHZlcic7XG5cblxuZXhwb3J0IGNsYXNzIEluZmluaXRlU2Nyb2xsIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHB1YmxpYyBzY3JvbGxlcjogU2Nyb2xsZXI7XG5cbiAgIF9kaXN0YW5jZURvd246IG51bWJlciA9IDI7XG4gICBfZGlzdGFuY2VVcDogbnVtYmVyID0gMS41O1xuICAgX3Rocm90dGxlOiBudW1iZXIgPSAzMDA7XG4gICBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgIHNjcm9sbFdpbmRvdzogYm9vbGVhbiA9IHRydWU7XG4gICBfaW1tZWRpYXRlOiBib29sZWFuID0gZmFsc2U7XG4gICBfaG9yaXpvbnRhbDogYm9vbGVhbiA9IGZhbHNlO1xuICAgX2Fsd2F5c0NhbGxiYWNrOiBib29sZWFuID0gZmFsc2U7XG5cbiAgIHNjcm9sbGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgc2Nyb2xsZWRVcCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBheGlzOiBBeGlzUmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSBwb3NpdGlvblJlc29sdmVyOiBQb3NpdGlvblJlc29sdmVyXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lckVsZW1lbnQgPSB0aGlzLnNjcm9sbFdpbmRvdyA/IHdpbmRvdyA6IHRoaXMuZWxlbWVudDtcbiAgICAgIHRoaXMuc2Nyb2xsZXIgPSBuZXcgU2Nyb2xsZXIoY29udGFpbmVyRWxlbWVudCwgc2V0SW50ZXJ2YWwsIHRoaXMuZWxlbWVudCxcbiAgICAgICAgICB0aGlzLm9uU2Nyb2xsRG93bi5iaW5kKHRoaXMpLCB0aGlzLm9uU2Nyb2xsVXAuYmluZCh0aGlzKSxcbiAgICAgICAgICB0aGlzLl9kaXN0YW5jZURvd24sIHRoaXMuX2Rpc3RhbmNlVXAsIHt9LCB0aGlzLl90aHJvdHRsZSxcbiAgICAgICAgICB0aGlzLl9pbW1lZGlhdGUsIHRoaXMuX2hvcml6b250YWwsIHRoaXMuX2Fsd2F5c0NhbGxiYWNrLFxuICAgICAgICAgIHRoaXMuX2Rpc2FibGVkLCB0aGlzLnBvc2l0aW9uUmVzb2x2ZXIpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95ICgpIHtcbiAgICBpZiAodGhpcy5zY3JvbGxlcikge1xuICAgICAgdGhpcy5zY3JvbGxlci5jbGVhbigpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZihjaGFuZ2VzWydfZGlzYWJsZWQnXSAmJiB0aGlzLnNjcm9sbGVyKXtcbiAgICAgIHRoaXMuc2Nyb2xsZXIuaGFuZGxlSW5maW5pdGVTY3JvbGxEaXNhYmxlZChjaGFuZ2VzWydfZGlzYWJsZWQnXS5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2Nyb2xsRG93bihkYXRhID0ge30pIHtcbiAgICB0aGlzLnpvbmUucnVuKCgpID0+IHRoaXMuc2Nyb2xsZWQubmV4dChkYXRhKSk7XG4gIH1cblxuICBvblNjcm9sbFVwKGRhdGEgPSB7fSkge1xuICAgIHRoaXMuem9uZS5ydW4oKCkgPT4gdGhpcy5zY3JvbGxlZFVwLm5leHQoZGF0YSkpO1xuICB9XG5zdGF0aWMgZGVjb3JhdG9yczogRGVjb3JhdG9ySW52b2NhdGlvbltdID0gW1xueyB0eXBlOiBEaXJlY3RpdmUsIGFyZ3M6IFt7XG4gIHNlbGVjdG9yOiAnW2luZmluaXRlLXNjcm9sbF0nXG59LCBdIH0sXG5dO1xuLyoqIEBub2NvbGxhcHNlICovXG5zdGF0aWMgY3RvclBhcmFtZXRlcnM6ICh7dHlwZTogYW55LCBkZWNvcmF0b3JzPzogRGVjb3JhdG9ySW52b2NhdGlvbltdfXxudWxsKVtdID0gW1xue3R5cGU6IEVsZW1lbnRSZWYsIH0sXG57dHlwZTogTmdab25lLCB9LFxue3R5cGU6IEF4aXNSZXNvbHZlciwgfSxcbnt0eXBlOiBQb3NpdGlvblJlc29sdmVyLCB9LFxuXTtcbnN0YXRpYyBwcm9wRGVjb3JhdG9yczoge1trZXk6IHN0cmluZ106IERlY29yYXRvckludm9jYXRpb25bXX0gPSB7XG4nX2Rpc3RhbmNlRG93bic6IFt7IHR5cGU6IElucHV0LCBhcmdzOiBbJ2luZmluaXRlU2Nyb2xsRGlzdGFuY2UnLCBdIH0sXSxcbidfZGlzdGFuY2VVcCc6IFt7IHR5cGU6IElucHV0LCBhcmdzOiBbJ2luZmluaXRlU2Nyb2xsVXBEaXN0YW5jZScsIF0gfSxdLFxuJ190aHJvdHRsZSc6IFt7IHR5cGU6IElucHV0LCBhcmdzOiBbJ2luZmluaXRlU2Nyb2xsVGhyb3R0bGUnLCBdIH0sXSxcbidfZGlzYWJsZWQnOiBbeyB0eXBlOiBJbnB1dCwgYXJnczogWydpbmZpbml0ZVNjcm9sbERpc2FibGVkJywgXSB9LF0sXG4nc2Nyb2xsV2luZG93JzogW3sgdHlwZTogSW5wdXQsIGFyZ3M6IFsnc2Nyb2xsV2luZG93JywgXSB9LF0sXG4nX2ltbWVkaWF0ZSc6IFt7IHR5cGU6IElucHV0LCBhcmdzOiBbJ2ltbWVkaWF0ZUNoZWNrJywgXSB9LF0sXG4nX2hvcml6b250YWwnOiBbeyB0eXBlOiBJbnB1dCwgYXJnczogWydob3Jpem9udGFsJywgXSB9LF0sXG4nX2Fsd2F5c0NhbGxiYWNrJzogW3sgdHlwZTogSW5wdXQsIGFyZ3M6IFsnYWx3YXlzQ2FsbGJhY2snLCBdIH0sXSxcbidzY3JvbGxlZCc6IFt7IHR5cGU6IE91dHB1dCB9LF0sXG4nc2Nyb2xsZWRVcCc6IFt7IHR5cGU6IE91dHB1dCB9LF0sXG59O1xufVxuXG5pbnRlcmZhY2UgRGVjb3JhdG9ySW52b2NhdGlvbiB7XG4gIHR5cGU6IEZ1bmN0aW9uO1xuICBhcmdzPzogYW55W107XG59XG4iXX0=

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

{"__symbolic":"module","version":1,"metadata":{"InfiniteScroll":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[infinite-scroll]"}]}],"members":{"_distanceDown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["infiniteScrollDistance"]}]}],"_distanceUp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["infiniteScrollUpDistance"]}]}],"_throttle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["infiniteScrollThrottle"]}]}],"_disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["infiniteScrollDisabled"]}]}],"scrollWindow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["scrollWindow"]}]}],"_immediate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["immediateCheck"]}]}],"_horizontal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["horizontal"]}]}],"_alwaysCallback":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["alwaysCallback"]}]}],"scrolled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"scrolledUp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},{"__symbolic":"reference","module":"./axis-resolver","name":"AxisResolver"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"onScrollDown":[{"__symbolic":"method"}],"onScrollUp":[{"__symbolic":"method"}]}}}}
{"__symbolic":"module","version":1,"metadata":{"InfiniteScroll":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[infinite-scroll]"}]}],"members":{"_distanceDown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["infiniteScrollDistance"]}]}],"_distanceUp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["infiniteScrollUpDistance"]}]}],"_throttle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["infiniteScrollThrottle"]}]}],"_disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["infiniteScrollDisabled"]}]}],"scrollWindow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["scrollWindow"]}]}],"_immediate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["immediateCheck"]}]}],"_horizontal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["horizontal"]}]}],"_alwaysCallback":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["alwaysCallback"]}]}],"scrolled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"scrolledUp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},{"__symbolic":"reference","module":"./axis-resolver","name":"AxisResolver"},{"__symbolic":"reference","module":"./position-resolver","name":"PositionResolver"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"onScrollDown":[{"__symbolic":"method"}],"onScrollUp":[{"__symbolic":"method"}]}}}}
"use strict";
var infinite_scroll_1 = require('./infinite-scroll');
var axis_resolver_1 = require('./axis-resolver');
var position_resolver_1 = require('./position-resolver');
var core_1 = require('@angular/core');

@@ -12,6 +13,8 @@ describe('Infinite Scroll Directive', function () {

};
var positionResolver;
var createInfiniteScroll = function () {
var mockedElement = createMockElement();
var axis = new axis_resolver_1.AxisResolver();
return new infinite_scroll_1.InfiniteScroll(mockedElement, zone, axis);
positionResolver = new position_resolver_1.PositionResolver(axis);
return new infinite_scroll_1.InfiniteScroll(mockedElement, zone, axis, positionResolver);
};

@@ -45,7 +48,6 @@ beforeEach(function () {

directive.ngOnInit();
spyOn(directive.scroller, 'calculatePoints').and.callFake(function () {
spyOn(positionResolver, 'calculatePoints').and.callFake(function () {
return { height: 150, scrolledUntilNow: 75, totalToScroll: 150 };
});
directive.scroller.handler();
expect(directive.scroller.calculatePoints).toHaveBeenCalled();
expect(directive.onScrollDown).toHaveBeenCalled();

@@ -57,3 +59,3 @@ });

directive.ngOnInit();
spyOn(directive.scroller, 'calculatePoints').and.callFake(function () {
spyOn(positionResolver, 'calculatePoints').and.callFake(function () {
return { height: 150, scrolledUntilNow: 30, totalToScroll: 150 };

@@ -63,3 +65,2 @@ });

directive.scroller.handler();
expect(directive.scroller.calculatePoints).toHaveBeenCalled();
expect(directive.onScrollUp).toHaveBeenCalled();

@@ -80,2 +81,2 @@ });

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdGUtc2Nyb2xsLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmZpbml0ZS1zY3JvbGwuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBSUEsZ0NBQStCLG1CQUFtQixDQUFDLENBQUE7QUFDbkQsOEJBQTZCLGlCQUFpQixDQUFDLENBQUE7QUFFL0MscUJBQWdFLGVBQWUsQ0FBQyxDQUFBO0FBRWhGLFFBQVEsQ0FBQywyQkFBMkIsRUFBRTtJQUNwQyw0REFBNEQ7SUFDNUQsSUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25ELElBQU0saUJBQWlCLEdBQUc7UUFDeEIsSUFBTSxhQUFhLEdBQWUsSUFBSSxpQkFBVSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNoRixNQUFNLENBQUMsYUFBYSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztJQUVGLElBQU0sb0JBQW9CLEdBQUc7UUFDM0IsSUFBTSxhQUFhLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztRQUMxQyxJQUFNLElBQUksR0FBaUIsSUFBSSw0QkFBWSxFQUFFLENBQUM7UUFDOUMsTUFBTSxDQUFDLElBQUksZ0NBQWMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQztJQUVGLFVBQVUsQ0FBQztRQUNULEtBQUssQ0FBQyw0QkFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsY0FBTyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw0Q0FBNEMsRUFBRTtRQUMvQyxJQUFNLE1BQU0sR0FBRyxvQkFBb0IsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMvQixDQUFDLENBQUMs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QUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFzeW5jLFxuICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsIH0gZnJvbSAnLi9pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgQXhpc1Jlc29sdmVyIH0gZnJvbSAnLi9heGlzLXJlc29sdmVyJztcblxuaW1wb3J0IHsgRWxlbWVudFJlZiwgTmdab25lLCBTaW1wbGVDaGFuZ2VzLCBTaW1wbGVDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZGVzY3JpYmUoJ0luZmluaXRlIFNjcm9sbCBEaXJlY3RpdmUnLCAoKSA9PiB7XG4gIC8vIGNvbnN0IHpvbmUgPSBuZXcgTmdab25lKHsgZW5hYmxlTG9uZ1N0YWNrVHJhY2U6IGZhbHNlIH0pO1xuICBjb25zdCB6b25lID0gamFzbWluZS5jcmVhdGVTcHlPYmooJ3pvbmUnLCBbJ3J1biddKTtcbiAgY29uc3QgY3JlYXRlTW9ja0VsZW1lbnQgPSAoKSA9PiB7XG4gICAgY29uc3QgbW9ja2VkRWxlbWVudDogRWxlbWVudFJlZiA9IG5ldyBFbGVtZW50UmVmKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcbiAgICByZXR1cm4gbW9ja2VkRWxlbWVudDtcbiAgfTtcblxuICBjb25zdCBjcmVhdGVJbmZpbml0ZVNjcm9sbCA9ICgpID0+IHtcbiAgICBjb25zdCBtb2NrZWRFbGVtZW50ID0gY3JlYXRlTW9ja0VsZW1lbnQoKTtcbiAgICBjb25zdCBheGlzOiBBeGlzUmVzb2x2ZXIgPSBuZXcgQXhpc1Jlc29sdmVyKCk7XG4gICAgcmV0dXJuIG5ldyBJbmZpbml0ZVNjcm9sbChtb2NrZWRFbGVtZW50LCB6b25lLCBheGlzKTtcbiAgfTtcblxuICBiZWZvcmVFYWNoKCgpID0+e1xuICAgIHNweU9uKEF4aXNSZXNvbHZlciwgJ2NvbnN0cnVjdG9yJykuYW5kLmNhbGxGYWtlKCgpID0+IHt9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjcmVhdGUgYW4gaW5zdGFuY2Ugb2YgdGhlIGRpcmVjdGl2ZScsICgpID0+IHtcbiAgICBjb25zdCBhY3R1YWwgPSBjcmVhdGVJbmZpbml0ZVNjcm9sbCgpO1xuICAgIGV4cGVjdChhY3R1YWwpLnRvQmVEZWZpbmVkKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgaGF2ZSBkZWZhdWx0IEBJbnB1dCBwcm9wZXJ0aWVzIHZhbHVlcycsICgpID0+IHtcbiAgICBjb25zdCBkaXJlY3RpdmUgPSBjcmVhdGVJbmZpbml0ZVNjcm9sbCgpO1xuICAgIGNvbnN0IGV4cGVjdGVkSW5wdXRzID0ge1xuICAgICAgX2Rpc3RhbmNlRG93bjogMixcbiAgICAgIF9kaXN0YW5jZVVwOiAxLjUsXG4gICAgICBfdGhyb3R0bGU6IDMwMCxcbiAgICAgIHNjcm9sbFdpbmRvdzogdHJ1ZSxcbiAgICAgIF9pbW1lZGlhdGU6IGZhbHNlLFxuICAgICAgX2hvcml6b250YWw6IGZhbHNlLFxuICAgICAgX2Fsd2F5c0NhbGxiYWNrOiBmYWxzZSxcbiAgICAgIF9kaXNhYmxlZDogZmFsc2VcbiAgICB9O1xuXG4gICAgT2JqZWN0LmtleXMoZXhwZWN0ZWRJbnB1dHMpLmZvckVhY2goaW5wdXQgPT5cbiAgICAgIGV4cGVjdChkaXJlY3RpdmVbaW5wdXRdKS50b0VxdWFsKGV4cGVjdGVkSW5wdXRzW2lucHV0XSkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRyaWdnZXIgdGhlIG9uU2Nyb2xsRG93biBldmVudCB3aGVuIHNjcm9sbCBoYXMgcGFzc2VkIF9kaXN0YW5kRG93bicsICgpID0+IHtcbiAgICBjb25zdCBkaXJlY3RpdmUgPSBjcmVhdGVJbmZpbml0ZVNjcm9sbCgpO1xuICAgIHNweU9uKGRpcmVjdGl2ZSwgJ29uU2Nyb2xsRG93bicpO1xuICAgIGRpcmVjdGl2ZS5uZ09uSW5pdCgpO1xuICAgIHNweU9uKGRpcmVjdGl2ZS5zY3JvbGxlciwgJ2NhbGN1bGF0ZVBvaW50cycpLmFuZC5jYWxsRmFrZSgoKSA9PiB7XG4gICAgICByZXR1cm4geyBoZWlnaHQ6IDE1MCwgc2Nyb2xsZWRVbnRpbE5vdzogNzUsIHRvdGFsVG9TY3JvbGw6IDE1MCB9O1xuICAgIH0pO1xuICAgIGRpcmVjdGl2ZS5zY3JvbGxlci5oYW5kbGVyKCk7XG4gICAgZXhwZWN0KGRpcmVjdGl2ZS5zY3JvbGxlci5jYWxjdWxhdGVQb2ludHMpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICBleHBlY3QoZGlyZWN0aXZlLm9uU2Nyb2xsRG93bikudG9IYXZlQmVlbkNhbGxlZCgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRyaWdnZXIgdGhlIG9uU2Nyb2xsVXAgZXZlbnQgd2hlbiBzY3JvbGwgaGFzIHBhc3NlZCBfZGlzdGFuY2VVcCcsICgpID0+IHtcbiAgICBjb25zdCBkaXJlY3RpdmUgPSBjcmVhdGVJbmZpbml0ZVNjcm9sbCgpO1xuICAgIHNweU9uKGRpcmVjdGl2ZSwgJ29uU2Nyb2xsVXAnKTtcbiAgICBkaXJlY3RpdmUubmdPbkluaXQoKTtcbiAgICBzcHlPbihkaXJlY3RpdmUuc2Nyb2xsZXIsICdjYWxjdWxhdGVQb2ludHMnKS5hbmQuY2FsbEZha2UoKCkgPT4ge1xuICAgICAgcmV0dXJuIHsgaGVpZ2h0OiAxNTAsIHNjcm9sbGVkVW50aWxOb3c6IDMwLCB0b3RhbFRvU2Nyb2xsOiAxNTAgfTtcbiAgICB9KTtcbiAgICBkaXJlY3RpdmUuc2Nyb2xsZXIubGFzdFNjcm9sbFBvc2l0aW9uID0gNTA7XG4gICAgZGlyZWN0aXZlLnNjcm9sbGVyLmhhbmRsZXIoKTtcbiAgICBleHBlY3QoZGlyZWN0aXZlLnNjcm9sbGVyLmNhbGN1bGF0ZVBvaW50cykudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgIGV4cGVjdChkaXJlY3RpdmUub25TY3JvbGxVcCkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGRpc2FibGUgdGhlIHNjcm9sbGVyJywgKCkgPT4ge1xuICAgIGNvbnN0IGRpcmVjdGl2ZSA9IGNyZWF0ZUluZmluaXRlU2Nyb2xsKCk7XG4gICAgY29uc3QgY2hhbmdlczogU2ltcGxlQ2hhbmdlcyA9IHtcbiAgICAgICdfZGlzYWJsZWQnOiBuZXcgU2ltcGxlQ2hhbmdlKGZhbHNlLCB0cnVlKVxuICAgIH07XG4gICAgLy8gc3B5T24oZGlyZWN0aXZlLCAnb25TY3JvbGxVcCcpO1xuICAgIGRpcmVjdGl2ZS5uZ09uSW5pdCgpO1xuICAgIGRpcmVjdGl2ZS5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICBjb25zdCBleHBlY3RlZCA9IGZhbHNlO1xuICAgIGNvbnN0IGFjdHVhbCA9IGRpcmVjdGl2ZS5zY3JvbGxlci5zY3JvbGxFbmFibGVkO1xuICAgIGV4cGVjdChhY3R1YWwpLnRvQmUoZXhwZWN0ZWQpO1xuICB9KVxufSlcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdGUtc2Nyb2xsLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmZpbml0ZS1zY3JvbGwuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBSUEsZ0NBQStCLG1CQUFtQixDQUFDLENBQUE7QUFDbkQsOEJBQTZCLGlCQUFpQixDQUFDLENBQUE7QUFDL0Msa0NBQWlDLHFCQUFxQixDQUFDLENBQUE7QUFFdkQscUJBQWdFLGVBQWUsQ0FBQyxDQUFBO0FBRWhGLFFBQVEsQ0FBQywyQkFBMkIsRUFBRTtJQUNwQyw0REFBNEQ7SUFDNUQsSUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25ELElBQU0saUJBQWlCLEdBQUc7UUFDeEIsSUFBTSxhQUFhLEdBQWUsSUFBSSxpQkFBVSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNoRixNQUFNLENBQUMsYUFBYSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztJQUNGLElBQUksZ0JBQWtDLENBQUM7SUFDdkMsSUFBTSxvQkFBb0IsR0FBRztRQUMzQixJQUFNLGFBQWEsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO1FBQzFDLElBQU0sSUFBSSxHQUFpQixJQUFJLDRCQUFZLEVBQUUsQ0FBQztRQUM5QyxnQkFBZ0IsR0FBRyxJQUFJLG9DQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxJQUFJLGdDQUFjLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUN6RSxDQUFDLENBQUM7SUFFRixVQUFVLENBQUM7UUFDVCxLQUFLLENBQUMsNEJBQVksRUFBRSxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGNBQU8sQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENB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aEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXN5bmMsXG4gIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGwgfSBmcm9tICcuL2luZmluaXRlLXNjcm9sbCc7XG5pbXBvcnQgeyBBeGlzUmVzb2x2ZXIgfSBmcm9tICcuL2F4aXMtcmVzb2x2ZXInO1xuaW1wb3J0IHsgUG9zaXRpb25SZXNvbHZlciB9IGZyb20gJy4vcG9zaXRpb24tcmVzb2x2ZXInO1xuXG5pbXBvcnQgeyBFbGVtZW50UmVmLCBOZ1pvbmUsIFNpbXBsZUNoYW5nZXMsIFNpbXBsZUNoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5kZXNjcmliZSgnSW5maW5pdGUgU2Nyb2xsIERpcmVjdGl2ZScsICgpID0+IHtcbiAgLy8gY29uc3Qgem9uZSA9IG5ldyBOZ1pvbmUoeyBlbmFibGVMb25nU3RhY2tUcmFjZTogZmFsc2UgfSk7XG4gIGNvbnN0IHpvbmUgPSBqYXNtaW5lLmNyZWF0ZVNweU9iaignem9uZScsIFsncnVuJ10pO1xuICBjb25zdCBjcmVhdGVNb2NrRWxlbWVudCA9ICgpID0+IHtcbiAgICBjb25zdCBtb2NrZWRFbGVtZW50OiBFbGVtZW50UmVmID0gbmV3IEVsZW1lbnRSZWYoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpO1xuICAgIHJldHVybiBtb2NrZWRFbGVtZW50O1xuICB9O1xuICBsZXQgcG9zaXRpb25SZXNvbHZlcjogUG9zaXRpb25SZXNvbHZlcjtcbiAgY29uc3QgY3JlYXRlSW5maW5pdGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgY29uc3QgbW9ja2VkRWxlbWVudCA9IGNyZWF0ZU1vY2tFbGVtZW50KCk7XG4gICAgY29uc3QgYXhpczogQXhpc1Jlc29sdmVyID0gbmV3IEF4aXNSZXNvbHZlcigpO1xuICAgIHBvc2l0aW9uUmVzb2x2ZXIgPSBuZXcgUG9zaXRpb25SZXNvbHZlcihheGlzKTtcbiAgICByZXR1cm4gbmV3IEluZmluaXRlU2Nyb2xsKG1vY2tlZEVsZW1lbnQsIHpvbmUsIGF4aXMsIHBvc2l0aW9uUmVzb2x2ZXIpO1xuICB9O1xuXG4gIGJlZm9yZUVhY2goKCkgPT57XG4gICAgc3B5T24oQXhpc1Jlc29sdmVyLCAnY29uc3RydWN0b3InKS5hbmQuY2FsbEZha2UoKCkgPT4ge30pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGNyZWF0ZSBhbiBpbnN0YW5jZSBvZiB0aGUgZGlyZWN0aXZlJywgKCkgPT4ge1xuICAgIGNvbnN0IGFjdHVhbCA9IGNyZWF0ZUluZmluaXRlU2Nyb2xsKCk7XG4gICAgZXhwZWN0KGFjdHVhbCkudG9CZURlZmluZWQoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBoYXZlIGRlZmF1bHQgQElucHV0IHByb3BlcnRpZXMgdmFsdWVzJywgKCkgPT4ge1xuICAgIGNvbnN0IGRpcmVjdGl2ZSA9IGNyZWF0ZUluZmluaXRlU2Nyb2xsKCk7XG4gICAgY29uc3QgZXhwZWN0ZWRJbnB1dHMgPSB7XG4gICAgICBfZGlzdGFuY2VEb3duOiAyLFxuICAgICAgX2Rpc3RhbmNlVXA6IDEuNSxcbiAgICAgIF90aHJvdHRsZTogMzAwLFxuICAgICAgc2Nyb2xsV2luZG93OiB0cnVlLFxuICAgICAgX2ltbWVkaWF0ZTogZmFsc2UsXG4gICAgICBfaG9yaXpvbnRhbDogZmFsc2UsXG4gICAgICBfYWx3YXlzQ2FsbGJhY2s6IGZhbHNlLFxuICAgICAgX2Rpc2FibGVkOiBmYWxzZVxuICAgIH07XG5cbiAgICBPYmplY3Qua2V5cyhleHBlY3RlZElucHV0cykuZm9yRWFjaChpbnB1dCA9PlxuICAgICAgZXhwZWN0KGRpcmVjdGl2ZVtpbnB1dF0pLnRvRXF1YWwoZXhwZWN0ZWRJbnB1dHNbaW5wdXRdKSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdHJpZ2dlciB0aGUgb25TY3JvbGxEb3duIGV2ZW50IHdoZW4gc2Nyb2xsIGhhcyBwYXNzZWQgX2Rpc3RhbmREb3duJywgKCkgPT4ge1xuICAgIGNvbnN0IGRpcmVjdGl2ZSA9IGNyZWF0ZUluZmluaXRlU2Nyb2xsKCk7XG4gICAgc3B5T24oZGlyZWN0aXZlLCAnb25TY3JvbGxEb3duJyk7XG4gICAgZGlyZWN0aXZlLm5nT25Jbml0KCk7XG4gICAgc3B5T24ocG9zaXRpb25SZXNvbHZlciwgJ2NhbGN1bGF0ZVBvaW50cycpLmFuZC5jYWxsRmFrZSgoKSA9PiB7XG4gICAgICByZXR1cm4geyBoZWlnaHQ6IDE1MCwgc2Nyb2xsZWRVbnRpbE5vdzogNzUsIHRvdGFsVG9TY3JvbGw6IDE1MCB9O1xuICAgIH0pO1xuICAgIGRpcmVjdGl2ZS5zY3JvbGxlci5oYW5kbGVyKCk7XG4gICAgZXhwZWN0KGRpcmVjdGl2ZS5vblNjcm9sbERvd24pLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0cmlnZ2VyIHRoZSBvblNjcm9sbFVwIGV2ZW50IHdoZW4gc2Nyb2xsIGhhcyBwYXNzZWQgX2Rpc3RhbmNlVXAnLCAoKSA9PiB7XG4gICAgY29uc3QgZGlyZWN0aXZlID0gY3JlYXRlSW5maW5pdGVTY3JvbGwoKTtcbiAgICBzcHlPbihkaXJlY3RpdmUsICdvblNjcm9sbFVwJyk7XG4gICAgZGlyZWN0aXZlLm5nT25Jbml0KCk7XG4gICAgc3B5T24ocG9zaXRpb25SZXNvbHZlciwgJ2NhbGN1bGF0ZVBvaW50cycpLmFuZC5jYWxsRmFrZSgoKSA9PiB7XG4gICAgICByZXR1cm4geyBoZWlnaHQ6IDE1MCwgc2Nyb2xsZWRVbnRpbE5vdzogMzAsIHRvdGFsVG9TY3JvbGw6IDE1MCB9O1xuICAgIH0pO1xuICAgIGRpcmVjdGl2ZS5zY3JvbGxlci5sYXN0U2Nyb2xsUG9zaXRpb24gPSA1MDtcbiAgICBkaXJlY3RpdmUuc2Nyb2xsZXIuaGFuZGxlcigpO1xuICAgIGV4cGVjdChkaXJlY3RpdmUub25TY3JvbGxVcCkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGRpc2FibGUgdGhlIHNjcm9sbGVyJywgKCkgPT4ge1xuICAgIGNvbnN0IGRpcmVjdGl2ZSA9IGNyZWF0ZUluZmluaXRlU2Nyb2xsKCk7XG4gICAgY29uc3QgY2hhbmdlczogU2ltcGxlQ2hhbmdlcyA9IHtcbiAgICAgICdfZGlzYWJsZWQnOiBuZXcgU2ltcGxlQ2hhbmdlKGZhbHNlLCB0cnVlKVxuICAgIH07XG4gICAgLy8gc3B5T24oZGlyZWN0aXZlLCAnb25TY3JvbGxVcCcpO1xuICAgIGRpcmVjdGl2ZS5uZ09uSW5pdCgpO1xuICAgIGRpcmVjdGl2ZS5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICBjb25zdCBleHBlY3RlZCA9IGZhbHNlO1xuICAgIGNvbnN0IGFjdHVhbCA9IGRpcmVjdGl2ZS5zY3JvbGxlci5zY3JvbGxFbmFibGVkO1xuICAgIGV4cGVjdChhY3R1YWwpLnRvQmUoZXhwZWN0ZWQpO1xuICB9KVxufSlcblxuaW50ZXJmYWNlIERlY29yYXRvckludm9jYXRpb24ge1xuICB0eXBlOiBGdW5jdGlvbjtcbiAgYXJncz86IGFueVtdO1xufVxuIl19
import { ElementRef } from '@angular/core';
import { AxisResolver } from './axis-resolver';
import { PositionResolver } from './position-resolver';
import 'rxjs/add/observable/fromEvent';

@@ -18,3 +18,3 @@ import 'rxjs/add/observable/timer';

private scrollDisabled;
private axis;
private positionResolver;
scrollDownDistance: number;

@@ -32,24 +32,6 @@ scrollUpDistance: number;

lastScrollPosition: number;
constructor(windowElement: Window | ElementRef | any, $interval: Function, $elementRef: ElementRef, infiniteScrollDownCallback: Function, infiniteScrollUpCallback: Function, infiniteScrollDownDistance: number, infiniteScrollUpDistance: number, infiniteScrollParent: Window | ElementRef | any, infiniteScrollThrottle: number, isImmediate: boolean, horizontal: boolean, alwaysCallback: boolean, scrollDisabled: boolean, axis: AxisResolver);
constructor(windowElement: Window | ElementRef | any, $interval: Function, $elementRef: ElementRef, infiniteScrollDownCallback: Function, infiniteScrollUpCallback: Function, infiniteScrollDownDistance: number, infiniteScrollUpDistance: number, infiniteScrollParent: Window | ElementRef | any, infiniteScrollThrottle: number, isImmediate: boolean, horizontal: boolean, alwaysCallback: boolean, scrollDisabled: boolean, positionResolver: PositionResolver);
defineContainer(): void;
createInterval(): void;
height(elem: any): any;
offsetTop(elem: any): any;
pageYOffset(elem: any): any;
handler(): void;
calculatePoints(): {
height: any;
scrolledUntilNow: any;
totalToScroll: any;
};
calculatePointsForWindow(): {
height: any;
scrolledUntilNow: any;
totalToScroll: any;
};
calculatePointsForElement(): {
height: any;
scrolledUntilNow: any;
totalToScroll: any;
};
handleInfiniteScrollDistance(scrollDownDistance: number | any, scrollUpDistance: number | any): void;

@@ -56,0 +38,0 @@ attachEvent(newContainer: Window | ElementRef | any): void;

@@ -9,3 +9,3 @@ "use strict";

// private axis: AxisResolver;
function Scroller(windowElement, $interval, $elementRef, infiniteScrollDownCallback, infiniteScrollUpCallback, infiniteScrollDownDistance, infiniteScrollUpDistance, infiniteScrollParent, infiniteScrollThrottle, isImmediate, horizontal, alwaysCallback, scrollDisabled, axis) {
function Scroller(windowElement, $interval, $elementRef, infiniteScrollDownCallback, infiniteScrollUpCallback, infiniteScrollDownDistance, infiniteScrollUpDistance, infiniteScrollParent, infiniteScrollThrottle, isImmediate, horizontal, alwaysCallback, scrollDisabled, positionResolver) {
if (horizontal === void 0) { horizontal = false; }

@@ -24,3 +24,3 @@ if (alwaysCallback === void 0) { alwaysCallback = false; }

this.scrollDisabled = scrollDisabled;
this.axis = axis;
this.positionResolver = positionResolver;
this.lastScrollPosition = 0;

@@ -35,4 +35,9 @@ this.isContainerWindow = Object.prototype.toString.call(this.windowElement).includes('Window');

this.defineContainer();
this.positionResolver.config({
container: this.container,
documentElement: this.documentElement,
isContainerWindow: this.isContainerWindow,
horizontal: horizontal
});
this.createInterval();
this.axis.setVertical(!this.horizontal);
}

@@ -56,38 +61,4 @@ Scroller.prototype.defineContainer = function () {

};
Scroller.prototype.height = function (elem) {
var offsetHeight = this.axis.offsetHeightKey();
var clientHeight = this.axis.clientHeightKey();
// elem = elem.nativeElement;
if (isNaN(elem[offsetHeight])) {
return this.documentElement[clientHeight];
}
else {
return elem[offsetHeight];
}
};
Scroller.prototype.offsetTop = function (elem) {
var top = this.axis.topKey();
// elem = elem.nativeElement;
if (!elem.getBoundingClientRect) {
return;
}
return elem.getBoundingClientRect()[top] + this.pageYOffset(elem);
};
Scroller.prototype.pageYOffset = function (elem) {
var pageYOffset = this.axis.pageYOffsetKey();
var scrollTop = this.axis.scrollTopKey();
var offsetTop = this.axis.offsetTopKey();
// elem = elem.nativeElement;
if (isNaN(window[pageYOffset])) {
return this.documentElement[scrollTop];
}
else if (elem.ownerDocument) {
return elem.ownerDocument.defaultView[pageYOffset];
}
else {
return elem[offsetTop];
}
};
Scroller.prototype.handler = function () {
var container = this.calculatePoints();
var container = this.positionResolver.calculatePoints(this.$elementRef);
var scrollingDown = this.lastScrollPosition < container.scrolledUntilNow;

@@ -124,31 +95,2 @@ this.lastScrollPosition = container.scrolledUntilNow;

};
Scroller.prototype.calculatePoints = function () {
return this.isContainerWindow
? this.calculatePointsForWindow()
: this.calculatePointsForElement();
};
Scroller.prototype.calculatePointsForWindow = function () {
// container's height
var height = this.height(this.container);
// scrolled until now / current y point
var scrolledUntilNow = height + this.pageYOffset(this.documentElement);
// total height / most bottom y point
var totalToScroll = this.offsetTop(this.$elementRef.nativeElement) + this.height(this.$elementRef.nativeElement);
return { height: height, scrolledUntilNow: scrolledUntilNow, totalToScroll: totalToScroll };
};
Scroller.prototype.calculatePointsForElement = function () {
var scrollTop = this.axis.scrollTopKey();
var scrollHeight = this.axis.scrollHeightKey();
var height = this.height(this.container);
// perhaps use this.container.offsetTop instead of 'scrollTop'
var scrolledUntilNow = this.container[scrollTop];
var containerTopOffset = 0;
var offsetTop = this.offsetTop(this.container);
if (offsetTop !== void 0) {
containerTopOffset = offsetTop;
}
var totalToScroll = this.container[scrollHeight];
// const totalToScroll = this.offsetTop(this.$elementRef.nativeElement) - containerTopOffset + this.height(this.$elementRef.nativeElement);
return { height: height, scrolledUntilNow: scrolledUntilNow, totalToScroll: totalToScroll };
};
Scroller.prototype.handleInfiniteScrollDistance = function (scrollDownDistance, scrollUpDistance) {

@@ -180,2 +122,2 @@ this.scrollDownDistance = parseFloat(scrollDownDistance) || 0;

exports.Scroller = Scroller;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzY3JvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsMkJBQTJCLGlCQUFpQixDQUFDLENBQUE7QUFHN0MsUUFBTywrQkFBK0IsQ0FBQyxDQUFBO0FBQ3ZDLFFBQU8sMkJBQTJCLENBQUMsQ0FBQTtBQUNuQyxRQUFPLDRCQUE0QixDQUFDLENBQUE7QUFDcEMsUUFBTywwQkFBMEIsQ0FBQyxDQUFBO0FBRWxDO0lBYUMsOEJBQThCO0lBRTlCLGtCQUNTLGFBQXdDLEVBQ3hDLFNBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLDBCQUFvQyxFQUNwQyx3QkFBa0MsRUFDMUMsMEJBQWtDLEVBQ2xDLHdCQUFnQyxFQUNoQyxvQkFBK0MsRUFDdkMsc0JBQThCLEVBQzlCLFdBQW9CLEVBQ3BCLFVBQTJCLEVBQzNCLGNBQStCLEVBQy9CLGNBQStCLEVBQy9CLElBQWtCO1FBSDFCLDBCQUFtQyxHQUFuQyxrQkFBbUM7UUFDbkMsOEJBQXVDLEdBQXZDLHNCQUF1QztRQUN2Qyw4QkFBdUMsR0FBdkMsc0JBQXVDO1FBWi9CLGtCQUFhLEdBQWIsYUFBYSxDQUEyQjtRQUN4QyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBVTtRQUNwQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQVU7UUFJbEMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUFRO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFTO1FBQ3BCLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQzNCLG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtRQUMvQixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDL0IsU0FBSSxHQUFKLElBQUksQ0FBYztRQWpCcEIsdUJBQWtCLEdBQVcsQ0FBQyxDQUFDO1FBbUJyQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLFNBQVMs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eyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9PYnNlcnZhYmxlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMvU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IEF4aXNSZXNvbHZlciB9IGZyb20gJy4vYXhpcy1yZXNvbHZlcic7XG5pbXBvcnQgJ3J4anMvYWRkL29ic2VydmFibGUvZnJvbUV2ZW50JztcbmltcG9ydCAncnhqcy9hZGQvb2JzZXJ2YWJsZS90aW1lcic7XG5pbXBvcnQgJ3J4anMvYWRkL29wZXJhdG9yL3Rocm90dGxlJztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvZmlsdGVyJztcblxuZXhwb3J0IGNsYXNzIFNjcm9sbGVyIHtcblx0cHVibGljIHNjcm9sbERvd25EaXN0YW5jZTogbnVtYmVyO1xuXHRwdWJsaWMgc2Nyb2xsVXBEaXN0YW5jZTogbnVtYmVyO1xuXHRwdWJsaWMgc2Nyb2xsRW5hYmxlZDogYm9vbGVhbjtcblx0cHVibGljIGNoZWNrV2hlbkVuYWJsZWQ6IGJvb2xlYW47XG5cdHB1YmxpYyBjb250YWluZXI6IFdpbmRvdyB8IEVsZW1lbnRSZWYgfCBhbnk7XG5cdHB1YmxpYyBpbW1lZGlhdGVDaGVjazogYm9vbGVhbjtcblx0cHVibGljIHVzZURvY3VtZW50Qm90dG9tOiBib29sZWFuO1xuXHRwdWJsaWMgY2hlY2tJbnRlcnZhbDogbnVtYmVyO1xuXHRwcml2YXRlIGRvY3VtZW50RWxlbWVudDogV2luZG93IHwgRWxlbWVudFJlZiB8IGFueTtcblx0cHJpdmF0ZSBpc0NvbnRhaW5lcldpbmRvdzogYm9vbGVhbjtcblx0cHJpdmF0ZSBkaXNwb3NlU2Nyb2xsOiBTdWJzY3JpcHRpb247XG5cdHB1YmxpYyBsYXN0U2Nyb2xsUG9zaXRpb246IG51bWJlciA9IDA7XG5cdC8vIHByaXZhdGUgYXhpczogQXhpc1Jlc29sdmVyO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgd2luZG93RWxlbWVudDogV2luZG93IHwgRWxlbWVudFJlZiB8IGFueSxcblx0XHRwcml2YXRlICRpbnRlcnZhbDogRnVuY3Rpb24sXG5cdFx0cHJpdmF0ZSAkZWxlbWVudFJlZjogRWxlbWVudFJlZixcblx0XHRwcml2YXRlIGluZmluaXRlU2Nyb2xsRG93bkNhbGxiYWNrOiBGdW5jdGlvbixcblx0XHRwcml2YXRlIGluZmluaXRlU2Nyb2xsVXBDYWxsYmFjazogRnVuY3Rpb24sXG5cdFx0aW5maW5pdGVTY3JvbGxEb3duRGlzdGFuY2U6IG51bWJlcixcblx0XHRpbmZpbml0ZVNjcm9sbFVwRGlzdGFuY2U6IG51bWJlcixcblx0XHRpbmZpbml0ZVNjcm9sbFBhcmVudDogV2luZG93IHwgRWxlbWVudFJlZiB8IGFueSxcblx0XHRwcml2YXRlIGluZmluaXRlU2Nyb2xsVGhyb3R0bGU6IG51bWJlcixcblx0XHRwcml2YXRlIGlzSW1tZWRpYXRlOiBib29sZWFuLFxuXHRcdHByaXZhdGUgaG9yaXpvbnRhbDogYm9vbGVhbiA9IGZhbHNlLFxuXHRcdHByaXZhdGUgYWx3YXlzQ2FsbGJhY2s6IGJvb2xlYW4gPSBmYWxzZSxcblx0XHRwcml2YXRlIHNjcm9sbERpc2FibGVkOiBib29sZWFuID0gZmFsc2UsXG5cdFx0cHJpdmF0ZSBheGlzOiBBeGlzUmVzb2x2ZXJcblx0KSB7XG5cdFx0dGhpcy5pc0NvbnRhaW5lcldpbmRvdyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0aGlzLndpbmRvd0VsZW1lbnQpLmluY2x1ZGVzKCdXaW5kb3cnKTtcblx0XHR0aGlzLmRvY3VtZW50RWxlbWVudCA9IHRoaXMuaXNDb250YWluZXJXaW5kb3cgPyB0aGlzLndpbmRvd0VsZW1lbnQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50IDogbnVsbDtcblx0XHR0aGlzLmhhbmRsZUluZmluaXRlU2Nyb2xsRGlzdGFuY2UoaW5maW5pdGVTY3JvbGxEb3duRGlzdGFuY2UsIGluZmluaXRlU2Nyb2xsVXBEaXN0YW5jZSk7XG5cblx0XHQvLyBpZiAoYXR0cnMuaW5maW5pdGVTY3JvbGxQYXJlbnQgIT0gbnVsbCkge1xuXHRcdC8vIFx0YXR0YWNoRXZlbnQoYW5ndWxhci5lbGVtZW50KGVsZW0ucGFyZW50KCkpKTtcblx0XHQvLyB9XG5cdFx0dGhpcy5oYW5kbGVJbmZpbml0ZVNjcm9sbERpc2FibGVkKHNjcm9sbERpc2FibGVkKTtcblx0XHR0aGlzLmRlZmluZUNvbnRhaW5lcigpO1xuXHRcdHRoaXMuY3JlYXRlSW50ZXJ2YWwoKTtcblx0XHR0aGlzLmF4aXMuc2V0VmVydGljYWwoIXRoaXMuaG9yaXpvbnRhbCk7XG5cdH1cblxuXHRkZWZpbmVDb250YWluZXIgKCkge1xuXHRcdGlmICh0aGlzLmlzQ29udGFpbmVyV2luZG93KSB7XG5cdFx0XHR0aGlzLmNvbnRhaW5lciA9IHRoaXMud2luZG93RWxlbWVudDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5jb250YWluZXIgPSB0aGlzLndpbmRvd0VsZW1lbnQubmF0aXZlRWxlbWVudDtcblx0XHR9XG5cdFx0dGhpcy5hdHRhY2hFdmVudCh0aGlzLmNvbnRhaW5lcik7XG5cdH1cblxuXHRjcmVhdGVJbnRlcnZhbCAoKSB7XG5cdFx0aWYgKHRoaXMuaXNJbW1lZGlhdGUpIHtcblx0XHRcdHRoaXMuY2hlY2tJbnRlcnZhbCA9IHRoaXMuJGludGVydmFsKCgpID0+IHtcblx0XHRcdFx0cmV0dXJuIHRoaXMuaGFuZGxlcigpO1xuXHRcdFx0fSwgMCk7XG5cdFx0fVxuXHR9XG5cblx0aGVpZ2h0IChlbGVtOiBhbnkpIHtcblx0XHRsZXQgb2Zmc2V0SGVpZ2h0ID0gdGhpcy5heGlzLm9mZnNldEhlaWdodEtleSgpO1xuXHRcdGxldCBjbGllbnRIZWlnaHQgPSB0aGlzLmF4aXMuY2xpZW50SGVpZ2h0S2V5KCk7XG5cblx0XHQvLyBlbGVtID0gZWxlbS5uYXRpdmVFbGVtZW50O1xuXHRcdGlmIChpc05hTihlbGVtW29mZnNldEhlaWdodF0pKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5kb2N1bWVudEVsZW1lbnRbY2xpZW50SGVpZ2h0XTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIGVsZW1bb2Zmc2V0SGVpZ2h0XTtcblx0XHR9XG5cdH1cblxuXHRvZmZzZXRUb3AgKGVsZW06IGFueSkge1xuXHRcdGxldCB0b3AgPSB0aGlzLmF4aXMudG9wS2V5KCk7XG5cblx0XHQvLyBlbGVtID0gZWxlbS5uYXRpdmVFbGVtZW50O1xuXHRcdGlmICghZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QpIHsgLy8gfHwgZWxlbS5jc3MoJ25vbmUnKSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRyZXR1cm4gZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVt0b3BdICsgdGhpcy5wYWdlWU9mZnNldChlbGVtKTtcblx0fVxuXG5cdHBhZ2VZT2Zmc2V0IChlbGVtOiBhbnkpIHtcblx0XHRsZXQgcGFnZVlPZmZzZXQgPSB0aGlzLmF4aXMucGFnZVlPZmZzZXRLZXkoKTtcblx0XHRsZXQgc2Nyb2xsVG9wICAgPSB0aGlzLmF4aXMuc2Nyb2xsVG9wS2V5KCk7XG5cdFx0bGV0IG9mZnNldFRvcCAgID0gdGhpcy5heGlzLm9mZnNldFRvcEtleSgpO1xuXG5cdFx0Ly8gZWxlbSA9IGVsZW0ubmF0aXZlRWxlbWVudDtcblx0XHRpZiAoaXNOYU4od2luZG93W3BhZ2VZT2Zmc2V0XSkpIHtcblx0XHRcdHJldHVybiB0aGlzLmRvY3VtZW50RWxlbWVudFtzY3JvbGxUb3BdO1xuXHRcdH0gZWxzZSBpZiAoZWxlbS5vd25lckRvY3VtZW50KSB7XG5cdFx0XHRyZXR1cm4gZWxlbS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3W3BhZ2VZT2Zmc2V0XTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIGVsZW1bb2Zmc2V0VG9wXTtcblx0XHR9XG5cdH1cblxuXHRoYW5kbGVyICgpIHtcblx0XHRjb25zdCBjb250YWluZXIgPSB0aGlzLmNhbGN1bGF0ZVBvaW50cygpO1xuXHRcdGNvbnN0IHNjcm9sbGluZ0Rvd246IGJvb2xlYW4gPSB0aGlzLmxhc3RTY3JvbGxQb3NpdGlvbiA8IGNvbnRhaW5lci5zY3JvbGxlZFVudGlsTm93O1xuXHRcdHRoaXMubGFzdFNjcm9sbFBvc2l0aW9uID0gY29udGFpbmVyLnNjcm9sbGVkVW50aWxOb3c7XG5cblx0XHRsZXQgcmVtYWluaW5nOiBudW1iZXI7XG5cdFx0bGV0IGNvbnRhaW5lckJyZWFrcG9pbnQ6IG51bWJlcjtcblx0XHRpZiAoc2Nyb2xsaW5nRG93bikge1xuXHRcdFx0cmVtYWluaW5nID0gY29udGFpbmVyLnRvdGFsVG9TY3JvbGwgLSBjb250YWluZXIuc2Nyb2xsZWRVbnRpbE5vdztcblx0XHRcdGNvbnRhaW5lckJyZWFrcG9pbnQgPSBjb250YWluZXIuaGVpZ2h0ICogdGhpcy5zY3JvbGxEb3duRGlzdGFuY2UgKyAxO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZW1haW5pbmcgPSBjb250YWluZXIuc2Nyb2xsZWRVbnRpbE5vdztcblx0XHRcdGNvbnRhaW5lckJyZWFrcG9pbnQgPSBjb250YWluZXIuaGVpZ2h0ICogdGhpcy5zY3JvbGxVcERpc3RhbmNlICsgMTtcblx0XHR9XG5cdFx0Y29uc3Qgc2hvdWxkU2Nyb2xsOiBib29sZWFuID0gcmVtYWluaW5nIDw9IGNvbnRhaW5lckJyZWFrcG9pbnQ7XG5cdFx0Y29uc3QgdHJpZ2dlckNhbGxiYWNrOiBib29sZWFuID0gKHRoaXMuYWx3YXlzQ2FsbGJhY2sgfHwgc2hvdWxkU2Nyb2xsKSAmJiB0aGlzLnNjcm9sbEVuYWJsZWQ7XG5cdFx0Y29uc3Qgc2hvdWxkQ2xlYXJJbnRlcnZhbCA9ICFzaG91bGRTY3JvbGwgJiYgdGhpcy5jaGVja0ludGVydmFsO1xuXHRcdC8vIGlmICh0aGlzLnVzZURvY3VtZW50Qm90dG9tKSB7XG5cdFx0Ly8gXHRjb250YWluZXIudG90YWxUb1Njcm9sbCA9IHRoaXMuaGVpZ2h0KHRoaXMuJGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50KTtcblx0XHQvLyB9XG5cdFx0dGhpcy5jaGVja1doZW5FbmFibGVkID0gc2hvdWxkU2Nyb2xsO1xuXG5cdFx0aWYgKHRyaWdnZXJDYWxsYmFjaykge1xuXHRcdFx0aWYgKHNjcm9sbGluZ0Rvd24pIHtcblx0XHRcdFx0dGhpcy5pbmZpbml0ZVNjcm9sbERvd25DYWxsYmFjayh7Y3VycmVudFNjcm9sbFBvc2l0aW9uOiBjb250YWluZXIuc2Nyb2xsZWRVbnRpbE5vd30pO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5pbmZpbml0ZVNjcm9sbFVwQ2FsbGJhY2soe2N1cnJlbnRTY3JvbGxQb3NpdGlvbjogY29udGFpbmVyLnNjcm9sbGVkVW50aWxOb3d9KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0aWYgKHNob3VsZENsZWFySW50ZXJ2YWwpIHtcblx0XHRcdGNsZWFySW50ZXJ2YWwodGhpcy5jaGVja0ludGVydmFsKTtcblx0XHR9XG5cdH1cblxuXHRjYWxjdWxhdGVQb2ludHMoKSB7XG5cdFx0cmV0dXJuIHRoaXMuaXNDb250YWluZXJXaW5kb3dcblx0XHRcdD8gdGhpcy5jYWxjdWxhdGVQb2ludHNGb3JXaW5kb3coKVxuXHRcdFx0OiB0aGlzLmNhbGN1bGF0ZVBvaW50c0ZvckVsZW1lbnQoKTtcblx0fVxuXG5cdGNhbGN1bGF0ZVBvaW50c0ZvcldpbmRvdyAoKSB7XG5cdFx0Ly8gY29udGFpbmVyJ3MgaGVpZ2h0XG5cdFx0Y29uc3QgaGVpZ2h0ID0gdGhpcy5oZWlnaHQodGhpcy5jb250YWluZXIpO1xuXHRcdC8vIHNjcm9sbGVkIHVudGlsIG5vdyAvIGN1cnJlbnQgeSBwb2ludFxuXHRcdGNvbnN0IHNjcm9sbGVkVW50aWxOb3cgPSBoZWlnaHQgKyB0aGlzLnBhZ2VZT2Zmc2V0KHRoaXMuZG9jdW1lbnRFbGVtZW50KTtcblx0XHQvLyB0b3RhbCBoZWlnaHQgLyBtb3N0IGJvdHRvbSB5IHBvaW50XG5cdFx0Y29uc3QgdG90YWxUb1Njcm9sbCA9IHRoaXMub2Zmc2V0VG9wKHRoaXMuJGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkgKyB0aGlzLmhlaWdodCh0aGlzLiRlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuXHRcdHJldHVybiB7IGhlaWdodCwgc2Nyb2xsZWRVbnRpbE5vdywgdG90YWxUb1Njcm9sbCB9O1xuXHR9XG5cblx0Y2FsY3VsYXRlUG9pbnRzRm9yRWxlbWVudCAoKSB7XG5cdFx0bGV0IHNjcm9sbFRvcCAgICA9IHRoaXMuYXhpcy5zY3JvbGxUb3BLZXkoKTtcblx0XHRsZXQgc2Nyb2xsSGVpZ2h0ID0gdGhpcy5heGlzLnNjcm9sbEhlaWdodEtleSgpO1xuXG5cdFx0Y29uc3QgaGVpZ2h0ID0gdGhpcy5oZWlnaHQodGhpcy5jb250YWluZXIpO1xuXHRcdC8vIHBlcmhhcHMgdXNlIHRoaXMuY29udGFpbmVyLm9mZnNldFRvcCBpbnN0ZWFkIG9mICdzY3JvbGxUb3AnXG5cdFx0Y29uc3Qgc2Nyb2xsZWRVbnRpbE5vdyA9IHRoaXMuY29udGFpbmVyW3Njcm9sbFRvcF07XG5cdFx0bGV0IGNvbnRhaW5lclRvcE9mZnNldCA9IDA7XG5cdFx0Y29uc3Qgb2Zmc2V0VG9wID0gdGhpcy5vZmZzZXRUb3AodGhpcy5jb250YWluZXIpO1xuXHRcdGlmIChvZmZzZXRUb3AgIT09IHZvaWQgMCkge1xuXHRcdFx0Y29udGFpbmVyVG9wT2Zmc2V0ID0gb2Zmc2V0VG9wO1xuXHRcdH1cblx0XHRjb25zdCB0b3RhbFRvU2Nyb2xsID0gdGhpcy5jb250YWluZXJbc2Nyb2xsSGVpZ2h0XTtcblx0XHQvLyBjb25zdCB0b3RhbFRvU2Nyb2xsID0gdGhpcy5vZmZzZXRUb3AodGhpcy4kZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSAtIGNvbnRhaW5lclRvcE9mZnNldCArIHRoaXMuaGVpZ2h0KHRoaXMuJGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG5cdFx0cmV0dXJuIHsgaGVpZ2h0LCBzY3JvbGxlZFVudGlsTm93LCB0b3RhbFRvU2Nyb2xsIH07XG5cdH1cblxuXHRoYW5kbGVJbmZpbml0ZVNjcm9sbERpc3RhbmNlIChzY3JvbGxEb3duRGlzdGFuY2U6IG51bWJlciB8IGFueSwgc2Nyb2xsVXBEaXN0YW5jZTogbnVtYmVyIHwgYW55KSB7XG5cdFx0dGhpcy5zY3JvbGxEb3duRGlzdGFuY2UgPSBwYXJzZUZsb2F0KHNjcm9sbERvd25EaXN0YW5jZSkgfHwgMDtcblx0XHR0aGlzLnNjcm9sbFVwRGlzdGFuY2UgPSBwYXJzZUZsb2F0KHNjcm9sbFVwRGlzdGFuY2UpIHx8IDA7XG5cdH1cblxuXHRhdHRhY2hFdmVudCAobmV3Q29udGFpbmVyOiBXaW5kb3cgfCBFbGVtZW50UmVmIHwgYW55KSB7XG5cdFx0dGhpcy5jbGVhbigpO1xuXHRcdGlmIChuZXdDb250YWluZXIpIHtcblx0XHRcdGNvbnN0IHRocm90dGxlOiBudW1iZXIgPSB0aGlzLmluZmluaXRlU2Nyb2xsVGhyb3R0bGU7XG5cdFx0XHR0aGlzLmRpc3Bvc2VTY3JvbGwgPSBPYnNlcnZhYmxlLmZyb21FdmVudCh0aGlzLmNvbnRhaW5lciwgJ3Njcm9sbCcpXG5cdFx0XHRcdC50aHJvdHRsZShldiA9PiBPYnNlcnZhYmxlLnRpbWVyKHRocm90dGxlKSlcblx0XHRcdFx0LmZpbHRlcihldiA9PiB0aGlzLnNjcm9sbEVuYWJsZWQpXG5cdFx0XHRcdC5zdWJzY3JpYmUoZXYgPT4gdGhpcy5oYW5kbGVyKCkpXG5cdFx0fVxuXHR9XG5cblx0Y2xlYW4gKCkge1xuXHRcdGlmICh0aGlzLmRpc3Bvc2VTY3JvbGwpIHtcblx0XHRcdHRoaXMuZGlzcG9zZVNjcm9sbC51bnN1YnNjcmliZSgpO1xuXHRcdH1cblx0fVxuXG5cdGhhbmRsZUluZmluaXRlU2Nyb2xsRGlzYWJsZWQgKHNjcm9sbERpc2FibGVkOiBib29sZWFuKSB7XG5cdFx0dGhpcy5zY3JvbGxFbmFibGVkID0gIXNjcm9sbERpc2FibGVkO1xuXHR9XG59XG5cbmludGVyZmFjZSBEZWNvcmF0b3JJbnZvY2F0aW9uIHtcbiAgdHlwZTogRnVuY3Rpb247XG4gIGFyZ3M/OiBhbnlbXTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzY3JvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsMkJBQTJCLGlCQUFpQixDQUFDLENBQUE7QUFJN0MsUUFBTywrQkFBK0IsQ0FBQyxDQUFBO0FBQ3ZDLFFBQU8sMkJBQTJCLENBQUMsQ0FBQTtBQUNuQyxRQUFPLDRCQUE0QixDQUFDLENBQUE7QUFDcEMsUUFBTywwQkFBMEIsQ0FBQyxDQUFBO0FBRWxDO0lBYUUsOEJBQThCO0lBRTlCLGtCQUNVLGFBQXdDLEVBQ3hDLFNBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLDBCQUFvQyxFQUNwQyx3QkFBa0MsRUFDMUMsMEJBQWtDLEVBQ2xDLHdCQUFnQyxFQUNoQyxvQkFBK0MsRUFDdkMsc0JBQThCLEVBQzlCLFdBQW9CLEVBQ3BCLFVBQTJCLEVBQzNCLGNBQStCLEVBQy9CLGNBQStCLEVBQy9CLGdCQUFrQztRQUgxQywwQkFBbUMsR0FBbkMsa0JBQW1DO1FBQ25DLDhCQUF1QyxHQUF2QyxzQkFBdUM7UUFDdkMsOEJBQXVDLEdBQXZDLHNCQUF1QztRQVovQixrQkFBYSxHQUFiLGFBQWEsQ0FBMkI7UUFDeEMsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQVU7UUFDcEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUFVO1FBSWxDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBUTtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBUztRQUNwQixlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUMzQixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDL0IsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBQy9CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFqQnJDLHVCQUFrQixHQUFXLENBQUMsQ0FBQztRQW1CcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FB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QSxFQUFFLElBQUksT0FBQSx1QkFBVSxDQUFDLEtBQUssQ0FBQyxVQUFRLENBQUMsRUFBMUIsQ0FBMEIsQ0FBQztpQkFDMUMsTUFBTSxDQUFDLFVBQUEsRUFBRSxJQUFJLE9BQUEsS0FBSSxDQUFDLGFBQWEsRUFBbEIsQ0FBa0IsQ0FBQztpQkFDaEMsU0FBUyxDQUFDLFVBQUEsRUFBRSxJQUFJLE9BQUEsS0FBSSxDQUFDLE9BQU8sRUFBRSxFQUFkLENBQWMsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDO0lBRUQsd0JBQUssR0FBTDtRQUNFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCwrQ0FBNEIsR0FBNUIsVUFBOEIsY0FBdUI7UUFDbkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBQ0gsZUFBQztBQUFELENBQUMsQUE3SEQsSUE2SEM7QUE3SFksZ0JBQVEsV0E2SHBCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9PYnNlcnZhYmxlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMvU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IEF4aXNSZXNvbHZlciB9IGZyb20gJy4vYXhpcy1yZXNvbHZlcic7XG5pbXBvcnQgeyBQb3NpdGlvblJlc29sdmVyIH0gZnJvbSAnLi9wb3NpdGlvbi1yZXNvbHZlcic7XG5pbXBvcnQgJ3J4anMvYWRkL29ic2VydmFibGUvZnJvbUV2ZW50JztcbmltcG9ydCAncnhqcy9hZGQvb2JzZXJ2YWJsZS90aW1lcic7XG5pbXBvcnQgJ3J4anMvYWRkL29wZXJhdG9yL3Rocm90dGxlJztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvZmlsdGVyJztcblxuZXhwb3J0IGNsYXNzIFNjcm9sbGVyIHtcbiAgcHVibGljIHNjcm9sbERvd25EaXN0YW5jZTogbnVtYmVyO1xuICBwdWJsaWMgc2Nyb2xsVXBEaXN0YW5jZTogbnVtYmVyO1xuICBwdWJsaWMgc2Nyb2xsRW5hYmxlZDogYm9vbGVhbjtcbiAgcHVibGljIGNoZWNrV2hlbkVuYWJsZWQ6IGJvb2xlYW47XG4gIHB1YmxpYyBjb250YWluZXI6IFdpbmRvdyB8IEVsZW1lbnRSZWYgfCBhbnk7XG4gIHB1YmxpYyBpbW1lZGlhdGVDaGVjazogYm9vbGVhbjtcbiAgcHVibGljIHVzZURvY3VtZW50Qm90dG9tOiBib29sZWFuO1xuICBwdWJsaWMgY2hlY2tJbnRlcnZhbDogbnVtYmVyO1xuICBwcml2YXRlIGRvY3VtZW50RWxlbWVudDogV2luZG93IHwgRWxlbWVudFJlZiB8IGFueTtcbiAgcHJpdmF0ZSBpc0NvbnRhaW5lcldpbmRvdzogYm9vbGVhbjtcbiAgcHJpdmF0ZSBkaXNwb3NlU2Nyb2xsOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBsYXN0U2Nyb2xsUG9zaXRpb246IG51bWJlciA9IDA7XG4gIC8vIHByaXZhdGUgYXhpczogQXhpc1Jlc29sdmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgd2luZG93RWxlbWVudDogV2luZG93IHwgRWxlbWVudFJlZiB8IGFueSxcbiAgICBwcml2YXRlICRpbnRlcnZhbDogRnVuY3Rpb24sXG4gICAgcHJpdmF0ZSAkZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGluZmluaXRlU2Nyb2xsRG93bkNhbGxiYWNrOiBGdW5jdGlvbixcbiAgICBwcml2YXRlIGluZmluaXRlU2Nyb2xsVXBDYWxsYmFjazogRnVuY3Rpb24sXG4gICAgaW5maW5pdGVTY3JvbGxEb3duRGlzdGFuY2U6IG51bWJlcixcbiAgICBpbmZpbml0ZVNjcm9sbFVwRGlzdGFuY2U6IG51bWJlcixcbiAgICBpbmZpbml0ZVNjcm9sbFBhcmVudDogV2luZG93IHwgRWxlbWVudFJlZiB8IGFueSxcbiAgICBwcml2YXRlIGluZmluaXRlU2Nyb2xsVGhyb3R0bGU6IG51bWJlcixcbiAgICBwcml2YXRlIGlzSW1tZWRpYXRlOiBib29sZWFuLFxuICAgIHByaXZhdGUgaG9yaXpvbnRhbDogYm9vbGVhbiA9IGZhbHNlLFxuICAgIHByaXZhdGUgYWx3YXlzQ2FsbGJhY2s6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBwcml2YXRlIHNjcm9sbERpc2FibGVkOiBib29sZWFuID0gZmFsc2UsXG4gICAgcHJpdmF0ZSBwb3NpdGlvblJlc29sdmVyOiBQb3NpdGlvblJlc29sdmVyXG4gICkge1xuICAgIHRoaXMuaXNDb250YWluZXJXaW5kb3cgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGhpcy53aW5kb3dFbGVtZW50KS5pbmNsdWRlcygnV2luZG93Jyk7XG4gICAgdGhpcy5kb2N1bWVudEVsZW1lbnQgPSB0aGlzLmlzQ29udGFpbmVyV2luZG93ID8gdGhpcy53aW5kb3dFbGVtZW50LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCA6IG51bGw7XG4gICAgdGhpcy5oYW5kbGVJbmZpbml0ZVNjcm9sbERpc3RhbmNlKGluZmluaXRlU2Nyb2xsRG93bkRpc3RhbmNlLCBpbmZpbml0ZVNjcm9sbFVwRGlzdGFuY2UpO1xuXG4gICAgLy8gaWYgKGF0dHJzLmluZmluaXRlU2Nyb2xsUGFyZW50ICE9IG51bGwpIHtcbiAgICAvLyBcdGF0dGFjaEV2ZW50KGFuZ3VsYXIuZWxlbWVudChlbGVtLnBhcmVudCgpKSk7XG4gICAgLy8gfVxuICAgIHRoaXMuaGFuZGxlSW5maW5pdGVTY3JvbGxEaXNhYmxlZChzY3JvbGxEaXNhYmxlZCk7XG4gICAgdGhpcy5kZWZpbmVDb250YWluZXIoKTtcbiAgICB0aGlzLnBvc2l0aW9uUmVzb2x2ZXIuY29uZmlnKHtcbiAgICAgIGNvbnRhaW5lcjogdGhpcy5jb250YWluZXIsXG4gICAgICBkb2N1bWVudEVsZW1lbnQ6IHRoaXMuZG9jdW1lbnRFbGVtZW50LFxuICAgICAgaXNDb250YWluZXJXaW5kb3c6IHRoaXMuaXNDb250YWluZXJXaW5kb3csXG4gICAgICBob3Jpem9udGFsOiBob3Jpem9udGFsXG4gICAgfSk7XG4gICAgdGhpcy5jcmVhdGVJbnRlcnZhbCgpO1xuICB9XG5cbiAgZGVmaW5lQ29udGFpbmVyICgpIHtcbiAgICBpZiAodGhpcy5pc0NvbnRhaW5lcldpbmRvdykge1xuICAgICAgdGhpcy5jb250YWluZXIgPSB0aGlzLndpbmRvd0VsZW1lbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29udGFpbmVyID0gdGhpcy53aW5kb3dFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuICAgIHRoaXMuYXR0YWNoRXZlbnQodGhpcy5jb250YWluZXIpO1xuICB9XG5cbiAgY3JlYXRlSW50ZXJ2YWwgKCkge1xuICAgIGlmICh0aGlzLmlzSW1tZWRpYXRlKSB7XG4gICAgICB0aGlzLmNoZWNrSW50ZXJ2YWwgPSB0aGlzLiRpbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIoKTtcbiAgICAgIH0sIDApO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZXIgKCkge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMucG9zaXRpb25SZXNvbHZlci5jYWxjdWxhdGVQb2ludHModGhpcy4kZWxlbWVudFJlZik7XG4gICAgY29uc3Qgc2Nyb2xsaW5nRG93bjogYm9vbGVhbiA9IHRoaXMubGFzdFNjcm9sbFBvc2l0aW9uIDwgY29udGFpbmVyLnNjcm9sbGVkVW50aWxOb3c7XG4gICAgdGhpcy5sYXN0U2Nyb2xsUG9zaXRpb24gPSBjb250YWluZXIuc2Nyb2xsZWRVbnRpbE5vdztcblxuICAgIGxldCByZW1haW5pbmc6IG51bWJlcjtcbiAgICBsZXQgY29udGFpbmVyQnJlYWtwb2ludDogbnVtYmVyO1xuICAgIGlmIChzY3JvbGxpbmdEb3duKSB7XG4gICAgICByZW1haW5pbmcgPSBjb250YWluZXIudG90YWxUb1Njcm9sbCAtIGNvbnRhaW5lci5zY3JvbGxlZFVudGlsTm93O1xuICAgICAgY29udGFpbmVyQnJlYWtwb2ludCA9IGNvbnRhaW5lci5oZWlnaHQgKiB0aGlzLnNjcm9sbERvd25EaXN0YW5jZSArIDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlbWFpbmluZyA9IGNvbnRhaW5lci5zY3JvbGxlZFVudGlsTm93O1xuICAgICAgY29udGFpbmVyQnJlYWtwb2ludCA9IGNvbnRhaW5lci5oZWlnaHQgKiB0aGlzLnNjcm9sbFVwRGlzdGFuY2UgKyAxO1xuICAgIH1cbiAgICBjb25zdCBzaG91bGRTY3JvbGw6IGJvb2xlYW4gPSByZW1haW5pbmcgPD0gY29udGFpbmVyQnJlYWtwb2ludDtcbiAgICBjb25zdCB0cmlnZ2VyQ2FsbGJhY2s6IGJvb2xlYW4gPSAodGhpcy5hbHdheXNDYWxsYmFjayB8fCBzaG91bGRTY3JvbGwpICYmIHRoaXMuc2Nyb2xsRW5hYmxlZDtcbiAgICBjb25zdCBzaG91bGRDbGVhckludGVydmFsID0gIXNob3VsZFNjcm9sbCAmJiB0aGlzLmNoZWNrSW50ZXJ2YWw7XG4gICAgLy8gaWYgKHRoaXMudXNlRG9jdW1lbnRCb3R0b20pIHtcbiAgICAvLyBcdGNvbnRhaW5lci50b3RhbFRvU2Nyb2xsID0gdGhpcy5oZWlnaHQodGhpcy4kZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm93bmVyRG9jdW1lbnQpO1xuICAgIC8vIH1cbiAgICB0aGlzLmNoZWNrV2hlbkVuYWJsZWQgPSBzaG91bGRTY3JvbGw7XG5cbiAgICBpZiAodHJpZ2dlckNhbGxiYWNrKSB7XG4gICAgICBpZiAoc2Nyb2xsaW5nRG93bikge1xuICAgICAgICB0aGlzLmluZmluaXRlU2Nyb2xsRG93bkNhbGxiYWNrKHtjdXJyZW50U2Nyb2xsUG9zaXRpb246IGNvbnRhaW5lci5zY3JvbGxlZFVudGlsTm93fSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmluZmluaXRlU2Nyb2xsVXBDYWxsYmFjayh7Y3VycmVudFNjcm9sbFBvc2l0aW9uOiBjb250YWluZXIuc2Nyb2xsZWRVbnRpbE5vd30pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoc2hvdWxkQ2xlYXJJbnRlcnZhbCkge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmNoZWNrSW50ZXJ2YWwpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUluZmluaXRlU2Nyb2xsRGlzdGFuY2UgKHNjcm9sbERvd25EaXN0YW5jZTogbnVtYmVyIHwgYW55LCBzY3JvbGxVcERpc3RhbmNlOiBudW1iZXIgfCBhbnkpIHtcbiAgICB0aGlzLnNjcm9sbERvd25EaXN0YW5jZSA9IHBhcnNlRmxvYXQoc2Nyb2xsRG93bkRpc3RhbmNlKSB8fCAwO1xuICAgIHRoaXMuc2Nyb2xsVXBEaXN0YW5jZSA9IHBhcnNlRmxvYXQoc2Nyb2xsVXBEaXN0YW5jZSkgfHwgMDtcbiAgfVxuXG4gIGF0dGFjaEV2ZW50IChuZXdDb250YWluZXI6IFdpbmRvdyB8IEVsZW1lbnRSZWYgfCBhbnkpIHtcbiAgICB0aGlzLmNsZWFuKCk7XG4gICAgaWYgKG5ld0NvbnRhaW5lcikge1xuICAgICAgY29uc3QgdGhyb3R0bGU6IG51bWJlciA9IHRoaXMuaW5maW5pdGVTY3JvbGxUaHJvdHRsZTtcbiAgICAgIHRoaXMuZGlzcG9zZVNjcm9sbCA9IE9ic2VydmFibGUuZnJvbUV2ZW50KHRoaXMuY29udGFpbmVyLCAnc2Nyb2xsJylcbiAgICAgICAgLnRocm90dGxlKGV2ID0+IE9ic2VydmFibGUudGltZXIodGhyb3R0bGUpKVxuICAgICAgICAuZmlsdGVyKGV2ID0+IHRoaXMuc2Nyb2xsRW5hYmxlZClcbiAgICAgICAgLnN1YnNjcmliZShldiA9PiB0aGlzLmhhbmRsZXIoKSk7XG4gICAgfVxuICB9XG5cbiAgY2xlYW4gKCkge1xuICAgIGlmICh0aGlzLmRpc3Bvc2VTY3JvbGwpIHtcbiAgICAgIHRoaXMuZGlzcG9zZVNjcm9sbC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUluZmluaXRlU2Nyb2xsRGlzYWJsZWQgKHNjcm9sbERpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5zY3JvbGxFbmFibGVkID0gIXNjcm9sbERpc2FibGVkO1xuICB9XG59XG5cbmludGVyZmFjZSBEZWNvcmF0b3JJbnZvY2F0aW9uIHtcbiAgdHlwZTogRnVuY3Rpb247XG4gIGFyZ3M/OiBhbnlbXTtcbn1cbiJdfQ==

@@ -27,12 +27,3 @@ {

"useWebpackText": true
},
"files": [
// "../typings/index.d.ts",
"./infinite-scroll.ts",
"./infinite-scroll.spec.ts",
"./scroller.ts",
"./axis-resolver.ts",
"./axis-resolver.spec.ts",
"./index.ts"
]
}
}

@@ -31,7 +31,10 @@ {

"files": [
// "./typings/index.d.ts",
"./angular2-infinite-scroll.ts",
"./src/infinite-scroll.ts",
"./src/infinite-scroll.spec.ts",
"./src/scroller.ts",
"./src/axis-resolver.ts",
"./src/axis-resolver.spec.ts",
"./src/position-resolver.ts",
"./src/position-resolver.spec.ts",
"./src/index.ts"

@@ -38,0 +41,0 @@ ],

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc