UNPKG

rc-banner-anim

Version:
80 lines (67 loc) 2.27 kB
'use strict'; exports.__esModule = true; exports.toArrayChildren = toArrayChildren; exports.dataToArray = dataToArray; exports.setAnimCompToTagComp = setAnimCompToTagComp; exports.currentScrollTop = currentScrollTop; exports.currentScrollLeft = currentScrollLeft; exports.windowHeight = windowHeight; exports.switchChildren = switchChildren; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } function toArrayChildren(children) { var ret = []; _react2['default'].Children.forEach(children, function (c) { ret.push(c); }); return ret; } function dataToArray(vars) { if (!vars && vars !== 0) { return []; } if (Array.isArray(vars)) { return vars; } return [vars]; } function setAnimCompToTagComp(item, i) { if (!item) { return null; } var itemProps = item.props; var props = {}; props.key = item.key || i; // dom global attributes var domAttrArray = ['accesskey', 'classname', 'contenteditable', 'contextmenu', 'dir', 'draggable', 'dropzone', 'hidden', 'id', 'lang', 'spellcheck', 'style', 'tabindex', 'title']; Object.keys(itemProps).forEach(function (key) { if (domAttrArray.indexOf(key.toLocaleLowerCase()) >= 0 || key.match('data-')) { props[key] = itemProps[key]; } }); return _react2['default'].createElement(itemProps.component, props, itemProps.children); } setAnimCompToTagComp.propTypes = { key: _propTypes2['default'].string }; function currentScrollTop() { return window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop; } function currentScrollLeft() { return window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft; } function windowHeight() { return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; } function switchChildren(hideProps, item) { if (!hideProps) { return item; } if (item.type.isTweenOne) { return _react2['default'].cloneElement(item, { reverse: true }); } return _react2['default'].cloneElement(item, item.props, null); }