UNPKG

react-uikit-form

Version:
107 lines (78 loc) 3.79 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactUikitBase = require('react-uikit-base'); var _reactUikitBase2 = _interopRequireDefault(_reactUikitBase); var _formInputIcon = require('./form-input-icon.js'); var _formInputIcon2 = _interopRequireDefault(_formInputIcon); var _formInputBase = require('./form-input-base'); var _formInputBase2 = _interopRequireDefault(_formInputBase); var _formInputSelect = require('./form-input-select'); var _formInputSelect2 = _interopRequireDefault(_formInputSelect); var _formInputMain = require('./form-input-main'); var _formInputMain2 = _interopRequireDefault(_formInputMain); var _formInputFile = require('./form-input-file'); var _formInputFile2 = _interopRequireDefault(_formInputFile); var _formInputPassword = require('./form-input-password'); var _formInputPassword2 = _interopRequireDefault(_formInputPassword); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var FormInput = function FormInput(props) { var cssClassNames = _reactUikitBase2.default.helpers.cleanClasses([props.context ? 'uk-form-' + props.context : null, props.size ? 'uk-form-' + props.size : null, props.width ? 'uk-form-width-' + props.width : null, props.blank ? 'uk-form-blank' : null, props.classes, props.className]); var display = props.display === 'inlineBlock' ? 'inline-block' : props.display; // Elements var type = { icon: _react2.default.createElement( _formInputIcon2.default, _extends({}, props, { className: cssClassNames }), _react2.default.createElement(_formInputMain2.default, props) ), input: _react2.default.createElement(_formInputMain2.default, _extends({}, props, { kitid: props.kitid })), file: _react2.default.createElement(_formInputFile2.default, props.button), passwordToggle: _react2.default.createElement(_formInputPassword2.default, _extends({ className: cssClassNames, input: props.input }, props.toggle, { kitid: props.kitid })), select: _react2.default.createElement(_formInputSelect2.default, _extends({ className: cssClassNames }, props.button, { icon: props.icon, options: props.options, kitid: props.kitid })) }; return _react2.default.createElement(_formInputBase2.default, _extends({}, props, { display: display, input: type[props.type] || (props.icon ? type.icon : type.input) })); }; FormInput.propTypes = { blank: _react2.default.PropTypes.bool, button: _react2.default.PropTypes.object, className: _react2.default.PropTypes.string, classes: _react2.default.PropTypes.array, context: _react2.default.PropTypes.oneOf(['danger', 'success']), disabled: _react2.default.PropTypes.bool, display: _react2.default.PropTypes.string, icon: _react2.default.PropTypes.string, input: _react2.default.PropTypes.object, kitid: _react2.default.PropTypes.string, onChange: _react2.default.PropTypes.func, options: _react2.default.PropTypes.array, placeholder: _react2.default.PropTypes.string, required: _react2.default.PropTypes.bool, size: _react2.default.PropTypes.oneOf(['large', 'small']), toggle: _react2.default.PropTypes.object, type: _react2.default.PropTypes.string, width: _react2.default.PropTypes.oneOf(['large', 'medium', 'small', 'mini']) }; exports.default = _reactUikitBase2.default.base(FormInput);