tuya-panel-kit
Version:
a functional component library for developing tuya device panels!
53 lines (45 loc) • 1.3 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var toArray = function toArray(children) {
var arr = [];
_react2.default.Children.forEach(children, function (child) {
if (child) {
arr.push(child);
}
});
return arr;
};
var getActiveIndex = function getActiveIndex(children, activeKey) {
var arr = toArray(children);
for (var i = 0; i < arr.length; i++) {
if (arr[i].key === activeKey) {
return i;
}
}
return -1;
};
var activeKeyIsValid = function activeKeyIsValid(children, key) {
var keys = _react2.default.Children.map(children, function (child) {
return child && child.key;
});
return keys.indexOf(key) >= 0;
};
var getDefaultActiveKey = function getDefaultActiveKey(children) {
var activeKey = void 0;
_react2.default.Children.forEach(children, function (child) {
if (child && !activeKey && !child.props.disabled) {
activeKey = child.key;
}
});
return activeKey;
};
exports.default = {
toArray: toArray,
getActiveIndex: getActiveIndex,
activeKeyIsValid: activeKeyIsValid,
getDefaultActiveKey: getDefaultActiveKey
};