BI.Fragment = function () { }; BI.h = function (type, props, children) { if (children != null) { if (!BI.isArray(children)) { children = [children]; } } else { children = []; } if (arguments.length > 3) { for (var i = 3; i < arguments.length; i++) { if (BI.isArray(arguments[i])) { children = children.concat(arguments[i]); } else { children.push(arguments[i]); } } } if (type === BI.Fragment) { return children; } if (BI.isFunction(type)) { type = type.xtype || type; } if (type === "el") { return BI.extend({ el: children[0] }, props); } if (type === "left") { return BI.extend({ left: children }, props); } if (type === "right") { return BI.extend({ right: children }, props); } if (children.length === 1) { if (BI.isKey(children[0])) { return BI.extend({ type: type }, { text: children[0] }, props); } if (BI.isFunction(children[0])) { return BI.extend({ type: type }, { items: children[0] }, props); } } return BI.extend({ type: type }, children.length > 0 ? { items: children } : {}, props); };