UNPKG

3.49 kBJavaScriptView Raw
1import _extends from 'babel-runtime/helpers/extends';
2import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';
3import _classCallCheck from 'babel-runtime/helpers/classCallCheck';
4import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';
5import _inherits from 'babel-runtime/helpers/inherits';
6
7var _class, _temp;
8
9import React from 'react';
10import PropTypes from 'prop-types';
11import classNames from 'classnames';
12import ConfigProvider from '../config-provider';
13
14/**
15 * Input.Group
16 */
17var Group = (_temp = _class = function (_React$Component) {
18 _inherits(Group, _React$Component);
19
20 function Group() {
21 _classCallCheck(this, Group);
22
23 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
24 }
25
26 Group.prototype.render = function render() {
27 var _classNames, _classNames2, _classNames3;
28
29 var _props = this.props,
30 className = _props.className,
31 style = _props.style,
32 children = _props.children,
33 prefix = _props.prefix,
34 addonBefore = _props.addonBefore,
35 addonAfter = _props.addonAfter,
36 addonBeforeClassName = _props.addonBeforeClassName,
37 addonAfterClassName = _props.addonAfterClassName,
38 rtl = _props.rtl,
39 disabled = _props.disabled,
40 others = _objectWithoutProperties(_props, ['className', 'style', 'children', 'prefix', 'addonBefore', 'addonAfter', 'addonBeforeClassName', 'addonAfterClassName', 'rtl', 'disabled']);
41
42 var cls = classNames((_classNames = {}, _classNames[prefix + 'input-group'] = true, _classNames[prefix + 'disabled'] = disabled, _classNames[className] = !!className, _classNames));
43
44 var addonCls = prefix + 'input-group-addon';
45 var beforeCls = classNames(addonCls, (_classNames2 = {}, _classNames2[prefix + 'before'] = true, _classNames2[addonBeforeClassName] = addonBeforeClassName, _classNames2));
46 var afterCls = classNames(addonCls, (_classNames3 = {}, _classNames3[prefix + 'after'] = true, _classNames3[addonAfterClassName] = addonAfterClassName, _classNames3));
47
48 var before = addonBefore ? React.createElement(
49 'span',
50 { className: beforeCls },
51 addonBefore
52 ) : null;
53
54 var after = addonAfter ? React.createElement(
55 'span',
56 { className: afterCls },
57 addonAfter
58 ) : null;
59
60 return React.createElement(
61 'span',
62 _extends({}, others, { disabled: disabled, dir: rtl ? 'rtl' : undefined, className: cls, style: style }),
63 before,
64 children,
65 after
66 );
67 };
68
69 return Group;
70}(React.Component), _class.propTypes = {
71 /**
72 * 样式前缀
73 */
74 prefix: PropTypes.string,
75 className: PropTypes.string,
76 style: PropTypes.object,
77 children: PropTypes.node,
78 /**
79 * 输入框前附加内容
80 */
81 addonBefore: PropTypes.node,
82 /**
83 * 输入框前附加内容css
84 */
85 addonBeforeClassName: PropTypes.string,
86 /**
87 * 输入框后附加内容
88 */
89 addonAfter: PropTypes.node,
90 /**
91 * 输入框后额外css
92 */
93 addonAfterClassName: PropTypes.string,
94 /**
95 * rtl
96 */
97 rtl: PropTypes.bool
98}, _class.defaultProps = {
99 prefix: 'next-'
100}, _temp);
101Group.displayName = 'Group';
102
103
104export default ConfigProvider.config(Group);
\No newline at end of file