cometchat-react-ui-kit2
Version:
CometChat UI Kit for React App
39 lines (38 loc) • 1.27 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Hooks = void 0;
var _react = _interopRequireDefault(require("react"));
var Hooks = function Hooks(props, setItemsHandler, parentElement, timer, items) {
_react["default"].useEffect(function () {
requestAnimation();
setItemsHandler();
return function () {
timer.current = null;
};
}, [parentElement]);
var requestAnimation = function requestAnimation() {
timer.current = setTimeout(animate, 1000 / 60);
};
var animate = function animate() {
if (!parentElement) {
return false;
}
var height = parentElement === null || parentElement === void 0 ? void 0 : parentElement.offsetHeight;
var time = +new Date();
for (var i = 0; i < items.length; i++) {
var item = items[i];
var transformString = "translate3d(" + item.x(time) + "px, " + item.y + "px, 0px)";
item.element.style.transform = transformString;
item.element.style.visibility = "visible";
if (item.y <= height) {
item.element.classList.add("fade");
}
item.y += item.ySpeed;
}
requestAnimation();
};
};
exports.Hooks = Hooks;