@ciri/ngx-carousel
Version:
A simple angular carousel component.
61 lines • 3.73 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: utils.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Observable } from 'rxjs';
import ResizeObserver from 'resize-observer-polyfill';
import { InjectionToken } from '@angular/core';
/**
* 监听元素大小变动
* \@param target 被监听元素
* @type {?}
*/
export var resize = (/**
* @param {?} target
* @return {?}
*/
function (target) {
return new Observable((/**
* @param {?} observer
* @return {?}
*/
function (observer) {
/** @type {?} */
var ro = new ResizeObserver((/**
* @param {?} entries
* @return {?}
*/
function (entries) {
observer.next(entries);
}));
ro.observe(target);
return (/**
* @return {?}
*/
function () {
ro.disconnect();
});
}));
});
/**
* @param {?} value
* @param {?} min
* @param {?} max
* @return {?}
*/
export function clamp(value, min, max) {
return Math.min(Math.max(value, min), max);
}
/**
* @param {?} number
* @param {?} start
* @param {?} end
* @return {?}
*/
export function inRange(number, start, end) {
return number >= start && number <= end;
}
/** @type {?} */
export var CAROUSEL = new InjectionToken('CarouselToken');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY2lyaS9uZ3gtY2Fyb3VzZWwvIiwic291cmNlcyI6WyJ1dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDakMsT0FBTyxjQUFjLE1BQU0sMEJBQTBCLENBQUE7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7Ozs7O0FBTTlDLE1BQU0sS0FBTyxNQUFNOzs7O0FBQUcsVUFBQyxNQUFlO0lBQ3BDLE9BQU8sSUFBSSxVQUFVOzs7O0lBQUMsVUFBQSxRQUFROztZQUN0QixFQUFFLEdBQUcsSUFBSSxjQUFjOzs7O1FBQUMsVUFBQSxPQUFPO1lBQ25DLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDeEIsQ0FBQyxFQUFDO1FBRUYsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUVsQjs7O1FBQU87WUFDTCxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDakIsQ0FBQyxFQUFBO0lBQ0gsQ0FBQyxFQUFDLENBQUE7QUFDSixDQUFDLENBQUE7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsS0FBSyxDQUFDLEtBQWEsRUFBRSxHQUFXLEVBQUUsR0FBVztJQUMzRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUE7QUFDNUMsQ0FBQzs7Ozs7OztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUMsTUFBYyxFQUFFLEtBQWEsRUFBRSxHQUFXO0lBQ2hFLE9BQU8sTUFBTSxJQUFJLEtBQUssSUFBSSxNQUFNLElBQUksR0FBRyxDQUFBO0FBQ3pDLENBQUM7O0FBRUQsTUFBTSxLQUFPLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBUyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCBSZXNpemVPYnNlcnZlciBmcm9tICdyZXNpemUtb2JzZXJ2ZXItcG9seWZpbGwnXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbi8qKlxuICog55uR5ZCs5YWD57Sg5aSn5bCP5Y+Y5YqoXG4gKiBAcGFyYW0gdGFyZ2V0IOiiq+ebkeWQrOWFg+e0oFxuICovXG5leHBvcnQgY29uc3QgcmVzaXplID0gKHRhcmdldDogRWxlbWVudCk6IE9ic2VydmFibGU8YW55PiA9PiB7XG4gIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgY29uc3Qgcm8gPSBuZXcgUmVzaXplT2JzZXJ2ZXIoZW50cmllcyA9PiB7XG4gICAgICBvYnNlcnZlci5uZXh0KGVudHJpZXMpXG4gICAgfSlcblxuICAgIHJvLm9ic2VydmUodGFyZ2V0KVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHJvLmRpc2Nvbm5lY3QoKVxuICAgIH1cbiAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsYW1wKHZhbHVlOiBudW1iZXIsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcikge1xuICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgodmFsdWUsIG1pbiksIG1heClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluUmFuZ2UobnVtYmVyOiBudW1iZXIsIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKSB7XG4gIHJldHVybiBudW1iZXIgPj0gc3RhcnQgJiYgbnVtYmVyIDw9IGVuZFxufVxuXG5leHBvcnQgY29uc3QgQ0FST1VTRUwgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignQ2Fyb3VzZWxUb2tlbicpXG4iXX0=