@hi-ui/input 4.0.0-alpha.2 → 4.0.0-alpha.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/Input.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /** @LICENSE
2
- * @hi-ui/input v4.0.0-alpha.1
2
+ * @hi-ui/input
3
3
  * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme
4
4
  *
5
5
  * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
@@ -23,12 +23,12 @@ var classname = require('@hi-ui/classname');
23
23
 
24
24
  var env = require('@hi-ui/env');
25
25
 
26
- var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
27
-
28
26
  var useMergeRefs = require('@hi-ui/use-merge-refs');
29
27
 
30
28
  var icons = require('@hi-ui/icons');
31
29
 
30
+ var useInput = require('./use-input.js');
31
+
32
32
  function _interopDefaultLegacy(e) {
33
33
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
34
34
  'default': e
@@ -37,9 +37,7 @@ function _interopDefaultLegacy(e) {
37
37
 
38
38
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
39
39
 
40
- var _role = 'input';
41
-
42
- var _prefix = classname.getPrefixCls(_role);
40
+ var _prefix = classname.getPrefixCls('input');
43
41
  /**
44
42
  * TODO: What is Input
45
43
  */
@@ -49,94 +47,102 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
49
47
  var _a$prefixCls = _a.prefixCls,
50
48
  prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
51
49
  _a$role = _a.role,
52
- role = _a$role === void 0 ? _role : _a$role,
50
+ role = _a$role === void 0 ? 'input' : _a$role,
53
51
  className = _a.className,
54
52
  style = _a.style,
55
- _a$autoFocus = _a.autoFocus,
56
- autoFocus = _a$autoFocus === void 0 ? false : _a$autoFocus,
57
- _a$disabled = _a.disabled,
58
- disabled = _a$disabled === void 0 ? false : _a$disabled,
59
- _a$readOnly = _a.readOnly,
60
- readOnly = _a$readOnly === void 0 ? false : _a$readOnly,
61
- name = _a.name,
62
- maxLength = _a.maxLength,
63
53
  _a$type = _a.type,
64
54
  type = _a$type === void 0 ? 'text' : _a$type,
65
55
  _a$size = _a.size,
66
- size = _a$size === void 0 ? 'sm' : _a$size,
56
+ size = _a$size === void 0 ? 'md' : _a$size,
67
57
  _a$appearance = _a.appearance,
68
58
  appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,
69
- placeholder = _a.placeholder,
70
59
  prepend = _a.prepend,
71
60
  append = _a.append,
72
61
  prefix = _a.prefix,
73
62
  suffix = _a.suffix,
74
- _a$defaultValue = _a.defaultValue,
75
- defaultValue = _a$defaultValue === void 0 ? '' : _a$defaultValue,
76
- valueProp = _a.value,
77
- onChange = _a.onChange,
78
- onFocus = _a.onFocus,
79
- onBlur = _a.onBlur,
80
63
  _a$clearableTrigger = _a.clearableTrigger,
81
64
  clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,
82
65
  _a$clearable = _a.clearable,
83
66
  clearable = _a$clearable === void 0 ? false : _a$clearable,
84
- rest = tslib.__rest(_a, ["prefixCls", "role", "className", "style", "autoFocus", "disabled", "readOnly", "name", "maxLength", "type", "size", "appearance", "floatLabel", "placeholder", "prepend", "append", "prefix", "suffix", "defaultValue", "value", "onChange", "onFocus", "onBlur", "clearableTrigger", "clearable"]);
67
+ _a$invalid = _a.invalid,
68
+ invalid = _a$invalid === void 0 ? false : _a$invalid,
69
+ name = _a.name,
70
+ autoFocus = _a.autoFocus,
71
+ disabled = _a.disabled,
72
+ readOnly = _a.readOnly,
73
+ maxLength = _a.maxLength,
74
+ placeholder = _a.placeholder,
75
+ defaultValue = _a.defaultValue,
76
+ valueProp = _a.value,
77
+ onChange = _a.onChange,
78
+ onFocus = _a.onFocus,
79
+ onBlur = _a.onBlur,
80
+ trimValueOnBlur = _a.trimValueOnBlur,
81
+ rest = tslib.__rest(_a, ["prefixCls", "role", "className", "style", "type", "size", "appearance", "prepend", "append", "prefix", "suffix", "clearableTrigger", "clearable", "invalid", "name", "autoFocus", "disabled", "readOnly", "maxLength", "placeholder", "defaultValue", "value", "onChange", "onFocus", "onBlur", "trimValueOnBlur"]); // @TODO: 临时方案,后面迁移至 InputGroup
82
+
83
+
84
+ var _useMemo = React.useMemo(function () {
85
+ var shouldUnset = [false, false]; // @ts-ignore
86
+ // @ts-ignore
87
+
88
+ if ( /*#__PURE__*/React.isValidElement(prepend) && ['Select', 'Button'].includes(prepend.type.HiName)) {
89
+ shouldUnset[0] = true;
90
+ } // @ts-ignore
91
+ // @ts-ignore
85
92
 
86
- var inputRef = React.useRef(null);
93
+
94
+ if ( /*#__PURE__*/React.isValidElement(append) && ['Select', 'Button'].includes(append.type.HiName)) {
95
+ shouldUnset[1] = true;
96
+ }
97
+
98
+ return shouldUnset;
99
+ }, [prepend, append]),
100
+ unsetPrepend = _useMemo[0],
101
+ unsetAppend = _useMemo[1];
102
+
103
+ var inputElementRef = React.useRef(null);
87
104
  var proxyOnChange = React.useCallback(function (value, evt) {
88
105
  if (!onChange) return;
89
- onChangeMock(onChange, evt, inputRef.current, value);
106
+ onChangeMock(onChange, evt, inputElementRef.current, value);
90
107
  }, [onChange]);
91
108
 
92
- var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultValue, valueProp, proxyOnChange),
93
- value = _useUncontrolledState[0],
94
- tryChangeValue = _useUncontrolledState[1];
95
-
96
- var handleChange = React.useCallback(function (evt) {
97
- var nextValue = evt.target.value;
98
- tryChangeValue(nextValue, evt);
99
- }, [tryChangeValue]);
100
-
101
- var _useState = React.useState(autoFocus),
102
- focused = _useState[0],
103
- setFocused = _useState[1];
104
-
105
- var handleFocus = React.useCallback(function (evt) {
106
- setFocused(true);
107
- onFocus === null || onFocus === void 0 ? void 0 : onFocus(evt);
108
- }, [onFocus]);
109
- var handleBlur = React.useCallback(function (event) {
110
- setFocused(false);
111
- onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
112
- }, [onBlur]);
109
+ var _useInput = useInput.useInput({
110
+ name: name,
111
+ autoFocus: autoFocus,
112
+ disabled: disabled,
113
+ readOnly: readOnly,
114
+ maxLength: maxLength,
115
+ placeholder: placeholder,
116
+ defaultValue: defaultValue,
117
+ value: valueProp,
118
+ onChange: proxyOnChange,
119
+ onFocus: onFocus,
120
+ onBlur: onBlur,
121
+ trimValueOnBlur: trimValueOnBlur
122
+ }),
123
+ tryChangeValue = _useInput.tryChangeValue,
124
+ focused = _useInput.focused,
125
+ value = _useInput.value,
126
+ getInputProps = _useInput.getInputProps;
127
+
113
128
  var focus = React.useCallback(function () {
114
129
  var _a;
115
130
 
116
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
131
+ (_a = inputElementRef.current) === null || _a === void 0 ? void 0 : _a.focus();
117
132
  }, []);
118
133
  var handleReset = React.useCallback(function (evt) {
119
134
  tryChangeValue('', evt);
120
135
  focus();
121
136
  }, [tryChangeValue, focus]);
122
- var nativeInputProps = React.useMemo(function () {
123
- return {
124
- name: name,
125
- disabled: disabled,
126
- readOnly: readOnly,
127
- autoFocus: autoFocus,
128
- placeholder: placeholder,
129
- maxLength: maxLength
130
- };
131
- }, [disabled, readOnly, autoFocus, placeholder, maxLength, name]);
132
-
133
- var _useState2 = React.useState(false),
134
- hover = _useState2[0],
135
- setHover = _useState2[1]; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚
137
+
138
+ var _useState = React.useState(false),
139
+ hover = _useState[0],
140
+ setHover = _useState[1]; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚
136
141
 
137
142
 
138
143
  var showClearableIcon = clearable && !!value && !disabled;
139
- var cls = classname.cx(className, prefixCls + "__outer", prepend && prefixCls + "__outer--prepend", append && prefixCls + "__outer--append", prefixCls + "--appearance-" + appearance, prefixCls + "--size-" + size);
144
+ var mergedRef = useMergeRefs.useMergeRefs(ref, inputElementRef);
145
+ var cls = classname.cx(className, prefixCls + "__outer", prepend && prefixCls + "__outer--prepend", prepend && unsetPrepend && prefixCls + "__outer--prepend-unset", append && prefixCls + "__outer--append", append && unsetAppend && prefixCls + "__outer--append-unset", prefixCls + "--appearance-" + appearance, prefixCls + "--size-" + size);
140
146
  return /*#__PURE__*/React__default['default'].createElement("div", {
141
147
  role: role,
142
148
  className: cls,
@@ -144,7 +150,8 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
144
150
  }, prepend ? /*#__PURE__*/React__default['default'].createElement("div", {
145
151
  className: prefixCls + "__prepend"
146
152
  }, prepend) : null, /*#__PURE__*/React__default['default'].createElement("div", {
147
- className: classname.cx(prefixCls + "__inner", prefix && prefixCls + "__inner--prefix", suffix && prefixCls + "__inner--suffix", focused && "focused", disabled && 'disabled', readOnly && 'readonly'),
153
+ className: classname.cx(prefixCls + "__inner", prefix && prefixCls + "__inner--prefix", suffix && prefixCls + "__inner--suffix", // TODO: bem规范统一
154
+ focused && "focused", disabled && 'disabled', readOnly && 'readonly', invalid && 'invalid'),
148
155
  onMouseOver: function onMouseOver(e) {
149
156
  setHover(true);
150
157
  },
@@ -154,14 +161,10 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
154
161
  }, prefix ? /*#__PURE__*/React__default['default'].createElement("span", {
155
162
  className: prefixCls + "__prefix"
156
163
  }, prefix) : null, /*#__PURE__*/React__default['default'].createElement("input", Object.assign({
157
- ref: useMergeRefs.useMergeRefs(ref, inputRef),
164
+ ref: mergedRef,
158
165
  className: classname.cx(prefixCls, focused && "focused", disabled && 'disabled', readOnly && 'readonly'),
159
- type: type,
160
- value: value,
161
- onChange: handleChange,
162
- onFocus: handleFocus,
163
- onBlur: handleBlur
164
- }, rest, nativeInputProps)), suffix || showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
166
+ type: type
167
+ }, getInputProps(), rest)), suffix || showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
165
168
  className: prefixCls + "__suffix"
166
169
  }, showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
167
170
  className: classname.cx(prefixCls + "__clear", (clearableTrigger === 'always' || hover) && 'active'),
@@ -177,7 +180,7 @@ if (env.__DEV__) {
177
180
  Input.displayName = 'Input';
178
181
  }
179
182
  /**
180
- * 伪造目标事件 target
183
+ * 模拟伪装目标事件 target
181
184
  *
182
185
  * @param target
183
186
  * @param evt
@@ -188,9 +191,9 @@ if (env.__DEV__) {
188
191
 
189
192
 
190
193
  function onChangeMock(onChange, evt, target, targetValue) {
191
- var event = evt; // 点击 clearIcon 时,代理 onChange 的事件对象 target 指向 input.target
194
+ var event = evt; // 点击 clearIcon 或者 失焦 trim 时,都会代理 onChange 的事件对象 target 指向 input.target
192
195
 
193
- if (evt.type === 'click') {
196
+ if (evt.type !== 'change') {
194
197
  if (!target) return;
195
198
  var originalTargetValue = target.value;
196
199
  event = Object.create(evt);
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../../src/Input.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","Input","forwardRef","_a","ref","prefixCls","role","className","style","autoFocus","disabled","readOnly","name","maxLength","type","size","appearance","placeholder","prepend","append","prefix","suffix","defaultValue","valueProp","value","onChange","onFocus","onBlur","clearableTrigger","clearable","rest","inputRef","useRef","proxyOnChange","useCallback","evt","onChangeMock","current","useUncontrolledState","tryChangeValue","handleChange","nextValue","target","useState","focused","setFocused","handleFocus","handleBlur","event","focus","handleReset","nativeInputProps","useMemo","hover","setHover","showClearableIcon","cls","cx","React","onMouseOver","e","onMouseLeave","useMergeRefs","tabIndex","onClick","CloseCircleFilled","__DEV__","displayName","targetValue","originalTargetValue","Object","create","currentTarget"],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","sources":["../../src/Input.tsx"],"sourcesContent":[null],"names":["_prefix","getPrefixCls","Input","forwardRef","_a","ref","prefixCls","role","className","style","type","size","appearance","prepend","append","prefix","suffix","clearableTrigger","clearable","invalid","name","autoFocus","disabled","readOnly","maxLength","placeholder","defaultValue","valueProp","value","onChange","onFocus","onBlur","trimValueOnBlur","rest","useMemo","shouldUnset","isValidElement","includes","HiName","unsetPrepend","unsetAppend","inputElementRef","useRef","proxyOnChange","useCallback","evt","onChangeMock","current","useInput","tryChangeValue","focused","getInputProps","focus","handleReset","useState","hover","setHover","showClearableIcon","mergedRef","useMergeRefs","cls","cx","React","onMouseOver","e","onMouseLeave","tabIndex","onClick","CloseCircleFilled","__DEV__","displayName","target","targetValue","event","originalTargetValue","Object","create","currentTarget"],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ /** @LICENSE
2
+ * @hi-ui/input
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme
4
+ *
5
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+
14
+ Object.defineProperty(exports, '__esModule', {
15
+ value: true
16
+ });
17
+
18
+ var tslib = require('tslib');
19
+
20
+ var React = require('react');
21
+
22
+ var classname = require('@hi-ui/classname');
23
+
24
+ var env = require('@hi-ui/env');
25
+
26
+ var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
27
+
28
+ var icons = require('@hi-ui/icons');
29
+
30
+ function _interopDefaultLegacy(e) {
31
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
32
+ 'default': e
33
+ };
34
+ }
35
+
36
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
37
+
38
+ var _role = 'mock-input';
39
+
40
+ var _prefix = classname.getPrefixCls(_role);
41
+
42
+ var NOOP_VALUE = '';
43
+ var NOOP_ARRAY = [];
44
+ /**
45
+ * 支持自定义渲染输入框内容,暂时仅供内部 Picker 类组件使用,不对外提供
46
+ */
47
+
48
+ var MockInput = /*#__PURE__*/React.forwardRef(function (_a, ref) {
49
+ var _a$prefixCls = _a.prefixCls,
50
+ prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
51
+ _a$role = _a.role,
52
+ role = _a$role === void 0 ? _role : _a$role,
53
+ className = _a.className,
54
+ _a$data = _a.data,
55
+ data = _a$data === void 0 ? NOOP_ARRAY : _a$data,
56
+ _a$defaultValue = _a.defaultValue,
57
+ defaultValue = _a$defaultValue === void 0 ? NOOP_VALUE : _a$defaultValue,
58
+ valueProp = _a.value,
59
+ onChange = _a.onChange,
60
+ placeholder = _a.placeholder,
61
+ _a$disabled = _a.disabled,
62
+ disabled = _a$disabled === void 0 ? false : _a$disabled,
63
+ _a$clearable = _a.clearable,
64
+ clearable = _a$clearable === void 0 ? false : _a$clearable,
65
+ _a$focused = _a.focused,
66
+ focused = _a$focused === void 0 ? false : _a$focused,
67
+ _a$invalid = _a.invalid,
68
+ invalid = _a$invalid === void 0 ? false : _a$invalid,
69
+ _a$readOnly = _a.readOnly,
70
+ readOnly = _a$readOnly === void 0 ? false : _a$readOnly,
71
+ _a$size = _a.size,
72
+ size = _a$size === void 0 ? 'md' : _a$size,
73
+ _a$appearance = _a.appearance,
74
+ appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,
75
+ _a$clearableTrigger = _a.clearableTrigger,
76
+ clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,
77
+ displayRender = _a.displayRender,
78
+ suffix = _a.suffix,
79
+ _onMouseOver = _a.onMouseOver,
80
+ _onMouseLeave = _a.onMouseLeave,
81
+ rest = tslib.__rest(_a, ["prefixCls", "role", "className", "data", "defaultValue", "value", "onChange", "placeholder", "disabled", "clearable", "focused", "invalid", "readOnly", "size", "appearance", "clearableTrigger", "displayRender", "suffix", "onMouseOver", "onMouseLeave"]);
82
+
83
+ var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultValue, valueProp, onChange),
84
+ value = _useUncontrolledState[0],
85
+ tryChangeValue = _useUncontrolledState[1];
86
+
87
+ var displayValue = React.useMemo(function () {
88
+ if (value === '') return null;
89
+ var displayItem = data.find(function (item) {
90
+ return item.id === value;
91
+ });
92
+ if (!displayItem) return null;
93
+
94
+ if (displayRender) {
95
+ return displayRender(displayItem);
96
+ }
97
+
98
+ return displayItem.title;
99
+ }, [data, value, displayRender]);
100
+ var handleClear = React.useCallback(function (evt) {
101
+ if (disabled) return;
102
+ evt.stopPropagation();
103
+ tryChangeValue(NOOP_VALUE);
104
+ }, [tryChangeValue, disabled]);
105
+
106
+ var _useState = React.useState(false),
107
+ hover = _useState[0],
108
+ setHover = _useState[1];
109
+
110
+ var trySetHover = React.useCallback(function (hovered) {
111
+ if (disabled) return;
112
+ setHover(hovered);
113
+ }, [disabled]);
114
+ var hasValue = !!displayValue; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清除
115
+
116
+ var showClearableIcon = React.useMemo(function () {
117
+ return clearable && hasValue && !disabled && (clearableTrigger === 'always' || hover);
118
+ }, [clearable, hasValue, disabled, clearableTrigger, hover]);
119
+ var cls = classname.cx(prefixCls, className, prefixCls + "--appearance-" + appearance, prefixCls + "--size-" + size, focused && "focused", disabled && 'disabled', readOnly && 'readonly', invalid && 'invalid');
120
+ return /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
121
+ ref: ref,
122
+ role: role,
123
+ className: cls,
124
+ onMouseOver: function onMouseOver(evt) {
125
+ trySetHover(true);
126
+ _onMouseOver === null || _onMouseOver === void 0 ? void 0 : _onMouseOver(evt);
127
+ },
128
+ onMouseLeave: function onMouseLeave(evt) {
129
+ trySetHover(false);
130
+ _onMouseLeave === null || _onMouseLeave === void 0 ? void 0 : _onMouseLeave(evt);
131
+ }
132
+ }, rest), hasValue ? /*#__PURE__*/React__default['default'].createElement("span", {
133
+ className: prefixCls + "__value"
134
+ }, displayValue) : /*#__PURE__*/React__default['default'].createElement("span", {
135
+ className: prefixCls + "__placeholder"
136
+ }, placeholder), suffix || showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
137
+ className: prefixCls + "__suffix"
138
+ }, showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
139
+ role: "button",
140
+ tabIndex: -1,
141
+ className: classname.cx(prefixCls + "__clear", 'active'),
142
+ onClick: handleClear
143
+ }, /*#__PURE__*/React__default['default'].createElement(icons.CloseCircleFilled, null)) : suffix) : null);
144
+ });
145
+
146
+ if (env.__DEV__) {
147
+ MockInput.displayName = 'MockInput';
148
+ }
149
+
150
+ exports.MockInput = MockInput;
151
+ //# sourceMappingURL=MockInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockInput.js","sources":["../../src/MockInput.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","NOOP_VALUE","NOOP_ARRAY","MockInput","forwardRef","_a","ref","prefixCls","role","className","data","defaultValue","valueProp","value","onChange","placeholder","disabled","clearable","focused","invalid","readOnly","size","appearance","clearableTrigger","displayRender","suffix","onMouseOver","onMouseLeave","rest","useUncontrolledState","tryChangeValue","displayValue","useMemo","displayItem","find","item","id","title","handleClear","useCallback","evt","stopPropagation","useState","hover","setHover","trySetHover","hovered","hasValue","showClearableIcon","cls","cx","React","tabIndex","onClick","CloseCircleFilled","__DEV__","displayName"],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ /** @LICENSE
2
+ * @hi-ui/input
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme
4
+ *
5
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+
14
+ Object.defineProperty(exports, '__esModule', {
15
+ value: true
16
+ });
17
+
18
+ var tslib = require('tslib');
19
+
20
+ var React = require('react');
21
+
22
+ var classname = require('@hi-ui/classname');
23
+
24
+ var env = require('@hi-ui/env');
25
+
26
+ var useInput = require('./use-input.js');
27
+
28
+ var useLatest = require('@hi-ui/use-latest');
29
+
30
+ function _interopDefaultLegacy(e) {
31
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
32
+ 'default': e
33
+ };
34
+ }
35
+
36
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
37
+
38
+ var _prefix = classname.getPrefixCls('input');
39
+ /**
40
+ * TODO: What is TextArea
41
+ */
42
+
43
+
44
+ var TextArea = /*#__PURE__*/React.forwardRef(function (_a, ref) {
45
+ var _a$prefixCls = _a.prefixCls,
46
+ prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
47
+ className = _a.className,
48
+ _a$size = _a.size,
49
+ size = _a$size === void 0 ? 'md' : _a$size,
50
+ _a$appearance = _a.appearance,
51
+ appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,
52
+ _a$invalid = _a.invalid,
53
+ invalid = _a$invalid === void 0 ? false : _a$invalid,
54
+ name = _a.name,
55
+ autoFocus = _a.autoFocus,
56
+ disabled = _a.disabled,
57
+ readOnly = _a.readOnly,
58
+ maxLength = _a.maxLength,
59
+ placeholder = _a.placeholder,
60
+ defaultValue = _a.defaultValue,
61
+ valueProp = _a.value,
62
+ onChange = _a.onChange,
63
+ onFocus = _a.onFocus,
64
+ onBlur = _a.onBlur,
65
+ trimValueOnBlur = _a.trimValueOnBlur,
66
+ nativeProps = tslib.__rest(_a, ["prefixCls", "className", "style", "size", "appearance", "invalid", "name", "autoFocus", "disabled", "readOnly", "maxLength", "placeholder", "defaultValue", "value", "onChange", "onFocus", "onBlur", "trimValueOnBlur"]);
67
+
68
+ var proxyOnChange = useLatest.useLatestCallback(function (_, evt) {
69
+ onChange === null || onChange === void 0 ? void 0 : onChange(evt);
70
+ });
71
+
72
+ var _useInput = useInput.useInput({
73
+ name: name,
74
+ autoFocus: autoFocus,
75
+ disabled: disabled,
76
+ readOnly: readOnly,
77
+ maxLength: maxLength,
78
+ placeholder: placeholder,
79
+ defaultValue: defaultValue,
80
+ value: valueProp,
81
+ onChange: proxyOnChange,
82
+ onFocus: onFocus,
83
+ onBlur: onBlur,
84
+ trimValueOnBlur: trimValueOnBlur
85
+ }),
86
+ focused = _useInput.focused,
87
+ getInputProps = _useInput.getInputProps;
88
+
89
+ var cls = classname.cx(prefixCls, className, disabled && 'disabled', readOnly && 'readonly', focused && "focused", invalid && 'invalid', prefixCls + "--appearance-" + appearance, prefixCls + "--size-" + size);
90
+ return /*#__PURE__*/React__default['default'].createElement("textarea", Object.assign({
91
+ ref: ref,
92
+ className: cls,
93
+ autoComplete: "off"
94
+ }, getInputProps(), nativeProps));
95
+ });
96
+
97
+ if (env.__DEV__) {
98
+ TextArea.displayName = 'TextArea';
99
+ }
100
+
101
+ exports.TextArea = TextArea;
102
+ //# sourceMappingURL=TextArea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextArea.js","sources":["../../src/TextArea.tsx"],"sourcesContent":[null],"names":["_prefix","getPrefixCls","TextArea","forwardRef","_a","ref","prefixCls","className","size","appearance","invalid","name","autoFocus","disabled","readOnly","maxLength","placeholder","defaultValue","valueProp","value","onChange","onFocus","onBlur","trimValueOnBlur","nativeProps","proxyOnChange","useLatestCallback","_","evt","useInput","focused","getInputProps","cls","cx","React","autoComplete","__DEV__","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,OAAO,GAAGC,sBAAAA,CAAa,OAAbA,CAAhB;AAEA;;;;;IAGaC,QAAQ,gBAAGC,gBAAAA,CACtB,UACEC,EADF,EAuBEC,GAvBF;wBAEIC;MAAAA,sCAAYN;MACZO,eAAAA;mBAEAC;MAAAA,4BAAO;yBACPC;MAAAA,wCAAa;sBACbC;MAAAA,kCAAU;MAEVC,UAAAA;MACAC,eAAAA;MACAC,cAAAA;MACAC,cAAAA;MACAC,eAAAA;MACAC,iBAAAA;MACAC,kBAAAA;MACOC,eAAPC;MACAC,cAAAA;MACAC,aAAAA;MACAC,YAAAA;MACAC,qBAAAA;MACGC,+BApBL,YAAA,aAAA,SAAA,QAAA,cAAA,WAAA,QAAA,aAAA,YAAA,YAAA,aAAA,eAAA,gBAAA,SAAA,YAAA,WAAA,UAAA,mBAAA;;MAwBMC,aAAa,GAAGC,2BAAAA,CAAkB,UAACC,CAAD,EAAIC,GAAJ;AACtCR,IAAAA,QAAQ,SAARA,IAAAA,QAAQ,WAARA,SAAAA,GAAAA,QAAQ,CAAGQ,GAAH,CAARR;AADqC,GAAjBM;;kBAIaG,iBAAAA,CAAS;AAC1ClB,IAAAA,IAAI,EAAJA,IAD0C;AAE1CC,IAAAA,SAAS,EAATA,SAF0C;AAG1CC,IAAAA,QAAQ,EAARA,QAH0C;AAI1CC,IAAAA,QAAQ,EAARA,QAJ0C;AAK1CC,IAAAA,SAAS,EAATA,SAL0C;AAM1CC,IAAAA,WAAW,EAAXA,WAN0C;AAO1CC,IAAAA,YAAY,EAAZA,YAP0C;AAQ1CE,IAAAA,KAAK,EAAED,SARmC;AAS1CE,IAAAA,QAAQ,EAAEK,aATgC;AAU1CJ,IAAAA,OAAO,EAAPA,OAV0C;AAW1CC,IAAAA,MAAM,EAANA,MAX0C;AAY1CC,IAAAA,eAAe,EAAfA;AAZ0C,GAATM;MAA3BC,OAAR,aAAQA;MAASC,aAAjB,aAAiBA;;MAeXC,GAAG,GAAGC,YAAAA,CACV3B,SADU2B,EAEV1B,SAFU0B,EAGVpB,QAAQ,IAAI,UAHFoB,EAIVnB,QAAQ,IAAI,UAJFmB,EAKVH,OAAO,aALGG,EAMVvB,OAAO,IAAI,SANDuB,EAOP3B,SAPS,kBAOTA,GAAyBG,UAPlBwB,EAQP3B,SARS,YAQTA,GAAmBE,IARZyB;sBAYVC,yBAAAA,cAAAA,WAAAA;AACE7B,IAAAA,GAAG,EAAEA;AACLE,IAAAA,SAAS,EAAEyB;AACXG,IAAAA,YAAY,EAAC;KACTJ,aAAa,IACbP,YALNU;AAzD4B,CAAV/B;;AAsFxB,IAAIiC,WAAJ,EAAa;AACXlC,EAAAA,QAAQ,CAACmC,WAATnC,GAAuB,UAAvBA;;;"}
package/lib/cjs/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /** @LICENSE
2
- * @hi-ui/input v4.0.0-alpha.1
2
+ * @hi-ui/input
3
3
  * https://github.com/XiaoMi/hiui/tree/master/packages/ui/input#readme
4
4
  *
5
5
  * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
@@ -17,7 +17,13 @@ require('./styles/index.scss.js');
17
17
 
18
18
  var Input = require('./Input.js');
19
19
 
20
+ var TextArea = require('./TextArea.js');
21
+
22
+ var MockInput = require('./MockInput.js');
23
+
20
24
  exports.Input = Input.Input;
21
25
  exports["default"] = Input.Input;
22
26
  exports.onChangeMock = Input.onChangeMock;
27
+ exports.TextArea = TextArea.TextArea;
28
+ exports.MockInput = MockInput.MockInput;
23
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}