ngx-animating-datepicker
Version:
An Animating Datepicker for Angular 2+, for some smooth date picking :).
73 lines • 5.48 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
var UtilitiesService = /** @class */ (function () {
function UtilitiesService() {
}
/**
* @private
* @return {?}
*/
UtilitiesService.getScrollOffset = /**
* @private
* @return {?}
*/
function () {
/** @type {?} */
var x = window.pageXOffset || document.documentElement.scrollLeft;
/** @type {?} */
var y = window.pageYOffset || document.documentElement.scrollTop;
return { x: x, y: y };
};
/**
* @param {?} el
* @return {?}
*/
UtilitiesService.getPageOffset = /**
* @param {?} el
* @return {?}
*/
function (el) {
/** @type {?} */
var scrollOffset = UtilitiesService.getScrollOffset();
/** @type {?} */
var width = el.offsetWidth;
/** @type {?} */
var height = el.offsetHeight;
if (el.getBoundingClientRect) {
/** @type {?} */
var props = el.getBoundingClientRect();
/** @type {?} */
var position = {
top: props.top + scrollOffset.y,
left: props.left + scrollOffset.x,
right: props.left + scrollOffset.x + width,
bottom: props.top + scrollOffset.y + height,
forRight: window.innerWidth - props.left,
forBottom: window.innerHeight - (props.top + scrollOffset.y)
};
return position;
}
};
/**
* @param {?} start
* @param {?} end
* @return {?}
*/
UtilitiesService.prototype.createArray = /**
* @param {?} start
* @param {?} end
* @return {?}
*/
function (start, end) {
return new Array(end - start + 1).fill(1).map(function (_, idx) { return start + idx; });
};
UtilitiesService.decorators = [
{ type: Injectable },
];
return UtilitiesService;
}());
export { UtilitiesService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYW5pbWF0aW5nLWRhdGVwaWNrZXIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdXRpbGl0aWVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0M7SUFBQTtJQStCQSxDQUFDOzs7OztJQTdCZSxnQ0FBZTs7OztJQUE5Qjs7WUFDTyxDQUFDLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFVBQVU7O1lBQzdELENBQUMsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUztRQUNsRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7Ozs7SUFFTSw4QkFBYTs7OztJQUFwQixVQUFxQixFQUFlOztZQUM3QixZQUFZLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxFQUFFOztZQUNqRCxLQUFLLEdBQUcsRUFBRSxDQUFDLFdBQVc7O1lBQ3RCLE1BQU0sR0FBRyxFQUFFLENBQUMsWUFBWTtRQUU5QixJQUFJLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRTs7Z0JBQ3ZCLEtBQUssR0FBRyxFQUFFLENBQUMscUJBQXFCLEVBQUU7O2dCQUNsQyxRQUFRLEdBQUc7Z0JBQ2hCLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQyxDQUFDO2dCQUMvQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQztnQkFDakMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUMsR0FBRyxLQUFLO2dCQUMxQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUMsQ0FBQyxHQUFHLE1BQU07Z0JBQzNDLFFBQVEsRUFBRSxNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJO2dCQUN4QyxTQUFTLEVBQUUsTUFBTSxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQzthQUM1RDtZQUVELE9BQU8sUUFBUSxDQUFDO1NBQ2hCO0lBQ0YsQ0FBQzs7Ozs7O0lBRUQsc0NBQVc7Ozs7O0lBQVgsVUFBWSxLQUFhLEVBQUUsR0FBVztRQUNyQyxPQUFPLElBQUksS0FBSyxDQUFDLEdBQUcsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFDLENBQUMsRUFBRSxHQUFHLElBQUssT0FBQSxLQUFLLEdBQUcsR0FBRyxFQUFYLENBQVcsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7O2dCQTlCRCxVQUFVOztJQStCWCx1QkFBQztDQUFBLEFBL0JELElBK0JDO1NBOUJZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFV0aWxpdGllc1NlcnZpY2Uge1xuXHRwcml2YXRlIHN0YXRpYyBnZXRTY3JvbGxPZmZzZXQoKSB7XG5cdFx0Y29uc3QgeCA9IHdpbmRvdy5wYWdlWE9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdDtcblx0XHRjb25zdCB5ID0gd2luZG93LnBhZ2VZT2Zmc2V0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7XG5cdFx0cmV0dXJuIHsgeDogeCwgeTogeSB9O1xuXHR9XG5cblx0c3RhdGljIGdldFBhZ2VPZmZzZXQoZWw6IEhUTUxFbGVtZW50KSB7XG5cdFx0Y29uc3Qgc2Nyb2xsT2Zmc2V0ID0gVXRpbGl0aWVzU2VydmljZS5nZXRTY3JvbGxPZmZzZXQoKTtcblx0XHRjb25zdCB3aWR0aCA9IGVsLm9mZnNldFdpZHRoO1xuXHRcdGNvbnN0IGhlaWdodCA9IGVsLm9mZnNldEhlaWdodDtcblxuXHRcdGlmIChlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QpIHtcblx0XHRcdGNvbnN0IHByb3BzID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cdFx0XHRjb25zdCBwb3NpdGlvbiA9IHtcblx0XHRcdFx0dG9wOiBwcm9wcy50b3AgKyBzY3JvbGxPZmZzZXQueSxcblx0XHRcdFx0bGVmdDogcHJvcHMubGVmdCArIHNjcm9sbE9mZnNldC54LFxuXHRcdFx0XHRyaWdodDogcHJvcHMubGVmdCArIHNjcm9sbE9mZnNldC54ICsgd2lkdGgsXG5cdFx0XHRcdGJvdHRvbTogcHJvcHMudG9wICsgc2Nyb2xsT2Zmc2V0LnkgKyBoZWlnaHQsXG5cdFx0XHRcdGZvclJpZ2h0OiB3aW5kb3cuaW5uZXJXaWR0aCAtIHByb3BzLmxlZnQsXG5cdFx0XHRcdGZvckJvdHRvbTogd2luZG93LmlubmVySGVpZ2h0IC0gKHByb3BzLnRvcCArIHNjcm9sbE9mZnNldC55KVxuXHRcdFx0fTtcblxuXHRcdFx0cmV0dXJuIHBvc2l0aW9uO1xuXHRcdH1cblx0fVxuXG5cdGNyZWF0ZUFycmF5KHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKTogbnVtYmVyW10ge1xuXHRcdHJldHVybiBuZXcgQXJyYXkoZW5kIC0gc3RhcnQgKyAxKS5maWxsKDEpLm1hcCgoXywgaWR4KSA9PiBzdGFydCArIGlkeCk7XG5cdH1cbn1cbiJdfQ==