UNPKG

coreui

Version:

Platform Core UI

103 lines (67 loc) 3.26 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 _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;