UNPKG

ngx-animating-datepicker

Version:

An Animating Datepicker for Angular 2+, for some smooth date picking :).

56 lines 4.97 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; export class UtilitiesService { /** * @private * @return {?} */ static getScrollOffset() { /** @type {?} */ const x = window.pageXOffset || document.documentElement.scrollLeft; /** @type {?} */ const y = window.pageYOffset || document.documentElement.scrollTop; return { x: x, y: y }; } /** * @param {?} el * @return {?} */ static getPageOffset(el) { /** @type {?} */ const scrollOffset = UtilitiesService.getScrollOffset(); /** @type {?} */ const width = el.offsetWidth; /** @type {?} */ const height = el.offsetHeight; if (el.getBoundingClientRect) { /** @type {?} */ const props = el.getBoundingClientRect(); /** @type {?} */ const 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 {?} */ createArray(start, end) { return new Array(end - start + 1).fill(1).map((_, idx) => start + idx); } } UtilitiesService.decorators = [ { type: Injectable }, ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYW5pbWF0aW5nLWRhdGVwaWNrZXIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdXRpbGl0aWVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsTUFBTTs7Ozs7SUFDRyxNQUFNLENBQUMsZUFBZTs7Y0FDdkIsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLGVBQWUsQ0FBQyxVQUFVOztjQUM3RCxDQUFDLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVM7UUFDbEUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7Ozs7O0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFlOztjQUM3QixZQUFZLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxFQUFFOztjQUNqRCxLQUFLLEdBQUcsRUFBRSxDQUFDLFdBQVc7O2NBQ3RCLE1BQU0sR0FBRyxFQUFFLENBQUMsWUFBWTtRQUU5QixJQUFJLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRTs7a0JBQ3ZCLEtBQUssR0FBRyxFQUFFLENBQUMscUJBQXFCLEVBQUU7O2tCQUNsQyxRQUFRLEdBQUc7Z0JBQ2hCLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQyxDQUFDO2dCQUMvQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQztnQkFDakMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUMsR0FBRyxLQUFLO2dCQUMxQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUMsQ0FBQyxHQUFHLE1BQU07Z0JBQzNDLFFBQVEsRUFBRSxNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJO2dCQUN4QyxTQUFTLEVBQUUsTUFBTSxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQzthQUM1RDtZQUVELE9BQU8sUUFBUSxDQUFDO1NBQ2hCO0lBQ0YsQ0FBQzs7Ozs7O0lBRUQsV0FBVyxDQUFDLEtBQWEsRUFBRSxHQUFXO1FBQ3JDLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7OztZQTlCRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVXRpbGl0aWVzU2VydmljZSB7XG5cdHByaXZhdGUgc3RhdGljIGdldFNjcm9sbE9mZnNldCgpIHtcblx0XHRjb25zdCB4ID0gd2luZG93LnBhZ2VYT2Zmc2V0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0O1xuXHRcdGNvbnN0IHkgPSB3aW5kb3cucGFnZVlPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtcblx0XHRyZXR1cm4geyB4OiB4LCB5OiB5IH07XG5cdH1cblxuXHRzdGF0aWMgZ2V0UGFnZU9mZnNldChlbDogSFRNTEVsZW1lbnQpIHtcblx0XHRjb25zdCBzY3JvbGxPZmZzZXQgPSBVdGlsaXRpZXNTZXJ2aWNlLmdldFNjcm9sbE9mZnNldCgpO1xuXHRcdGNvbnN0IHdpZHRoID0gZWwub2Zmc2V0V2lkdGg7XG5cdFx0Y29uc3QgaGVpZ2h0ID0gZWwub2Zmc2V0SGVpZ2h0O1xuXG5cdFx0aWYgKGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCkge1xuXHRcdFx0Y29uc3QgcHJvcHMgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblx0XHRcdGNvbnN0IHBvc2l0aW9uID0ge1xuXHRcdFx0XHR0b3A6IHByb3BzLnRvcCArIHNjcm9sbE9mZnNldC55LFxuXHRcdFx0XHRsZWZ0OiBwcm9wcy5sZWZ0ICsgc2Nyb2xsT2Zmc2V0LngsXG5cdFx0XHRcdHJpZ2h0OiBwcm9wcy5sZWZ0ICsgc2Nyb2xsT2Zmc2V0LnggKyB3aWR0aCxcblx0XHRcdFx0Ym90dG9tOiBwcm9wcy50b3AgKyBzY3JvbGxPZmZzZXQueSArIGhlaWdodCxcblx0XHRcdFx0Zm9yUmlnaHQ6IHdpbmRvdy5pbm5lcldpZHRoIC0gcHJvcHMubGVmdCxcblx0XHRcdFx0Zm9yQm90dG9tOiB3aW5kb3cuaW5uZXJIZWlnaHQgLSAocHJvcHMudG9wICsgc2Nyb2xsT2Zmc2V0LnkpXG5cdFx0XHR9O1xuXG5cdFx0XHRyZXR1cm4gcG9zaXRpb247XG5cdFx0fVxuXHR9XG5cblx0Y3JlYXRlQXJyYXkoc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpOiBudW1iZXJbXSB7XG5cdFx0cmV0dXJuIG5ldyBBcnJheShlbmQgLSBzdGFydCArIDEpLmZpbGwoMSkubWFwKChfLCBpZHgpID0+IHN0YXJ0ICsgaWR4KTtcblx0fVxufVxuIl19