coreui
Version:
Platform Core UI
103 lines (67 loc) • 3.26 kB
JavaScript
;
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 _Shared = require('../../Shared');
var _Shared2 = _interopRequireDefault(_Shared);
var _TextInput = require('../../theme/components/TextInput');
var _TextInput2 = _interopRequireDefault(_TextInput);
var _dedupe = require('classnames/dedupe');
var _dedupe2 = _interopRequireDefault(_dedupe);
var _componentFromProp = require('recompose/componentFromProp');
var _componentFromProp2 = _interopRequireDefault(_componentFromProp);
var _compose = require('recompose/compose');
var _compose2 = _interopRequireDefault(_compose);
var _mapProps = require('recompose/mapProps');
var _mapProps2 = _interopRequireDefault(_mapProps);
var _withHandlers = require('recompose/withHandlers');
var _withHandlers2 = _interopRequireDefault(_withHandlers);
var _ramda = require('ramda');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
var systemStyles = {};
var TextInputContainer = (0, _compose2.default)((0, _withHandlers2.default)({
onChange: function onChange(props) {
return function (_ref) {
var target = _ref.target;
return props.onChange && props.onChange(target.value);
};
}
}), (0, _mapProps2.default)(function (_ref2) {
var className = _ref2.className,
sheet = _ref2.sheet,
style = _ref2.style,
tagName = _ref2.tagName,
theme = _ref2.theme,
rest = _objectWithoutProperties(_ref2, ['className', 'sheet', 'style', 'tagName', 'theme']);
return _extends({
className: (0, _dedupe2.default)(sheet.classes.textInput, theme.classes.textInput, className),
component: tagName,
style: (0, _ramda.merge)(theme.styles.textInput, style)
}, (0, _ramda.omit)(['errors', 'invalid'], rest));
}))((0, _componentFromProp2.default)('component'));
var StyledTextInput = _Shared2.default.injectSheet(systemStyles)(TextInputContainer);
var TextInput = function TextInput(props) {
return _react2.default.createElement(
StyledTextInput,
props,
props.children
);
};
var classes = _TextInput2.default.classes;
var options = _TextInput2.default.options;
var styles = _TextInput2.default.styles;
TextInput.defaultProps = { tagName: 'input', theme: { classes: classes, options: options, styles: styles } };
TextInput.displayName = 'TextInput';
TextInput.propTypes = {
children: _react.PropTypes.node,
className: _react.PropTypes.string,
tagName: _react.PropTypes.string,
theme: _react.PropTypes.oneOfType([_react.PropTypes.bool, _react.PropTypes.object]),
type: _react.PropTypes.string
};
_Shared2.default.registerComponent('TextInput', TextInput);
exports.default = TextInput;