@zohodesk/components
Version:
In this Package, we Provide Some Basic Components to Build Web App
59 lines (47 loc) • 1.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ViewportSizeType = exports.ColumnSizeType = void 0;
exports.createProps = createProps;
exports.getClass = getClass;
exports.isInteger = isInteger;
exports.setProps = setProps;
var _propTypes = _interopRequireDefault(require("prop-types"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var ColumnSizeType = _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].bool]);
exports.ColumnSizeType = ColumnSizeType;
var ViewportSizeType = _propTypes["default"].oneOf(['xs', 'sm', 'md', 'lg']);
exports.ViewportSizeType = ViewportSizeType;
function getClass(styles, className) {
return styles && styles[className] ? styles[className] : className;
}
function createProps(propTypes, props, classNames) {
var newProps = {};
Object.keys(props).filter(function (key) {
return key === 'children' || !propTypes[key];
}).forEach(function (key) {
return newProps[key] = props[key];
});
var className = classNames.filter(function (cn) {
return cn;
}).join(' ').trim();
return Object.assign({}, newProps, {
className: className
});
}
function isInteger(value) {
return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
}
function setProps(childProps, props) {
var values = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
Object.keys(values).forEach(function (value) {
if (props[value]) {
if (value === 'dataId') {
childProps['data-test-id'] = props[value];
}
childProps[values[value]] = props[value];
}
});
return childProps;
}