UNPKG

2.31 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.toArrayChildren = toArrayChildren;
7exports.dataToArray = dataToArray;
8exports.setAnimCompToTagComp = setAnimCompToTagComp;
9exports.currentScrollTop = currentScrollTop;
10exports.currentScrollLeft = currentScrollLeft;
11exports.windowHeight = windowHeight;
12exports.switchChildren = switchChildren;
13
14var _react = require('react');
15
16var _react2 = _interopRequireDefault(_react);
17
18var _propTypes = require('prop-types');
19
20var _propTypes2 = _interopRequireDefault(_propTypes);
21
22function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
23
24function toArrayChildren(children) {
25 var ret = [];
26 _react2['default'].Children.forEach(children, function (c) {
27 ret.push(c);
28 });
29 return ret;
30}
31
32function dataToArray(vars) {
33 if (!vars && vars !== 0) {
34 return [];
35 }
36 if (Array.isArray(vars)) {
37 return vars;
38 }
39 return [vars];
40}
41
42function setAnimCompToTagComp(item, i) {
43 if (!item) {
44 return null;
45 }
46 var itemProps = item.props;
47 var props = {};
48 props.key = item.key || i;
49 // dom global attributes
50 var domAttrArray = ['accesskey', 'classname', 'contenteditable', 'contextmenu', 'dir', 'draggable', 'dropzone', 'hidden', 'id', 'lang', 'spellcheck', 'style', 'tabindex', 'title'];
51 Object.keys(itemProps).forEach(function (key) {
52 if (domAttrArray.indexOf(key.toLocaleLowerCase()) >= 0 || key.match('data-')) {
53 props[key] = itemProps[key];
54 }
55 });
56 return _react2['default'].createElement(itemProps.component, props, itemProps.children);
57}
58setAnimCompToTagComp.propTypes = {
59 key: _propTypes2['default'].string
60};
61
62function currentScrollTop() {
63 return window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;
64}
65
66function currentScrollLeft() {
67 return window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft;
68}
69
70function windowHeight() {
71 return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
72}
73
74function switchChildren(hideProps, item) {
75 if (!hideProps) {
76 return item;
77 }
78 if (item.type.isTweenOne) {
79 return _react2['default'].cloneElement(item, { reverse: true });
80 }
81 return _react2['default'].cloneElement(item, item.props, null);
82}
\No newline at end of file