UNPKG

chowa

Version:

UI component library based on React

47 lines (46 loc) 1.75 kB
/** * @license chowa v1.1.3 * * Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn). * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = require("react"); const PropTypes = require("prop-types"); const classnames_1 = require("classnames"); const utils_1 = require("../utils"); const FormItem = (props) => { const { children, className, style, label, labelPosition, required, span } = props; const componentClass = classnames_1.default({ [utils_1.preClass('form-item')]: true, [utils_1.preClass(`form-item-label-${labelPosition}`)]: true, [className]: utils_1.isExist(className) }); const labelClass = classnames_1.default({ [utils_1.preClass('form-item-label')]: true, [utils_1.preClass(`grid-col-span-${span}`)]: labelPosition !== 'top' }); return (React.createElement("div", { style: style, className: componentClass }, label && React.createElement("label", { className: labelClass }, required && React.createElement("i", { className: utils_1.preClass('form-item-required') }, "*"), label), React.createElement("div", { className: utils_1.preClass('form-item-content') }, children))); }; FormItem.propTypes = { className: PropTypes.string, style: PropTypes.object, label: PropTypes.node, labelPosition: PropTypes.oneOf(['top', 'left', 'right']), required: PropTypes.bool, span: PropTypes.number }; FormItem.defaultProps = { required: false, span: 4, labelPosition: 'right' }; exports.default = FormItem;