UNPKG

@sad-systems/frigate-core

Version:

Frontend core library by MrDigger

66 lines (59 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.effectSimpleZoom = effectSimpleZoom; exports.effectSimpleSlide = effectSimpleSlide; exports.getEffect = getEffect; /** * Functions provide basic animation effects. * * @namespace core.scroll * @class BaseEffects */ /** * Simple zoom effect * * @method effectSimpleZoom * * @param {Object} element HTML element * @param {number} value Value in range [0 - 1] * @param {number} direction Value of the moving direction */ function effectSimpleZoom(element, value, direction) { if (direction > 0) { var scale = value < 0.9 ? value : 1; element.style.transform = "scale(".concat(scale, ")"); } } /** * Simple slide effect * * @method effectSimpleSlide * * @param {Object} element HTML element * @param {number} value Value in range [0 - 1] * @param {number} direction Value of the moving direction */ function effectSimpleSlide(element, value, direction) { if (direction > 0) { var y = element.offsetHeight / 2 * (1 - value) * -direction; element.style.transform = "translateY(".concat(y, "px)"); } } /** * Effect function factory * * @method getEffect * * @param name Base animation effect name * * @return {effectFunction|effectSimpleZoom} The effect function */ function getEffect(name) { var effects = { zoom: effectSimpleZoom, slide: effectSimpleSlide }; return effects[name] || effectSimpleZoom; }