@hi-ui/input 4.0.0-alpha.21 → 4.0.0-alpha.26

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/README.md CHANGED
@@ -1,11 +1,83 @@
1
- # `@hi-ui/input`
1
+ # Input 输入框
2
2
 
3
- > TODO: description
3
+ 用来接收文本型内容的组件
4
4
 
5
- ## Usage
5
+ ## 何时使用
6
6
 
7
- ```
8
- const Input = require('@hi-ui/input');
7
+ 用户需要通过键盘输入内容时
9
8
 
10
- // TODO: DEMONSTRATE API
11
- ```
9
+ 常见于表单,作为表单的组件类型之一
10
+
11
+ ## 使用示例
12
+
13
+ <!-- Inject Stories -->
14
+
15
+ ## Input Props
16
+
17
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
18
+ | ---------------- | ------------------------------------------------- | -------------------------------- | ---------------------------------------------------------------------- | ------- |
19
+ | value | 设置输入框的值 | string | - | - |
20
+ | defaultValue | 设置输入框的默认值 | string | - | - |
21
+ | type | 设置输入框类型 | string | 'text' \| 'textarea' \| 'id' \| 'tel' \| 'card' \| 'amount' \| 'email' | 'text' |
22
+ | prepend | 输入框前置外部内容 | ReactNode | - | - |
23
+ | append | 输入框后置外部内容 | ReactNode | - | - |
24
+ | disabled | 是否禁用 | boolean | true \| false | false |
25
+ | clearable | 是否可清空 | boolean | true \| false | false |
26
+ | placeholder | 输入框占位符 | string | - | - |
27
+ | readOnly | 开启输入框只读 | boolean | true \| false | false |
28
+ | autoFocus | 开启输入框自动聚焦 | boolean | true \| false | false |
29
+ | maxLength | 输入最大长度 | number | - | - |
30
+ | prefix | 输入框内置内容 | ReactNode | - | - |
31
+ | suffix | 输入框后置内容 | ReactNode | - | - |
32
+ | trimValueOnBlur | 开启失焦时触发对值的 trim,将触发 onChange 给用户 | boolean | true \| false | false |
33
+ | clearableTrigger | 清除按钮展示的触发形态 | string | 'always' | 'hover' | 'hover' |
34
+ | appearance | 设置展现形式 | 'outline' \| 'unset' \| 'filled' | 'outline' |
35
+ | size | 设置尺寸 | string | 'sm' \| 'md' \| 'lg' | 'md' |
36
+
37
+ ## Input Events
38
+
39
+ | 名称 | 说明 | 类型 | 参数 |
40
+ | -------- | -------------- | ------------------------------------------------------- | --------------------- |
41
+ | onChange | 值改变时的回调 | (event: React.ChangeEvent<HTMLTextAreaElement>) => void | event: input 事件对象 |
42
+
43
+ ## TextArea Props
44
+
45
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
46
+ | --------------- | ------------------------------------------------- | -------------------------------- | -------------------- | ------ |
47
+ | value | 设置输入框的值 | string | - | - |
48
+ | defaultValue | 设置输入框的默认值 | string | - | - |
49
+ | appearance | 设置展现形式 | 'outline' \| 'unset' \| 'filled' | 'outline' |
50
+ | size | 设置尺寸 | string | 'sm' \| 'md' \| 'lg' | 'md' |
51
+ | disabled | 是否禁用 | boolean | true \| false | false |
52
+ | placeholder | 输入框占位符 | string | - | - |
53
+ | readOnly | 开启输入框只读 | boolean | true \| false | false |
54
+ | autoFocus | 开启输入框自动聚焦 | boolean | true \| false | false |
55
+ | maxLength | 输入最大长度 | number | - | - |
56
+ | trimValueOnBlur | 开启失焦时触发对值的 trim,将触发 onChange 给用户 | boolean | true \| false | false |
57
+ | rows | 设置文本域行数,超出触发滚动 | number | - | - |
58
+
59
+ ## TextArea Events
60
+
61
+ | 名称 | 说明 | 类型 | 参数 |
62
+ | -------- | -------------- | ------------------------------------------------------- | ------------------------ |
63
+ | onChange | 值改变时的回调 | (event: React.ChangeEvent<HTMLTextAreaElement>) => void | event: textarea 事件对象 |
64
+
65
+ ## CHANGELOG
66
+
67
+ | 参数 | 变更类型 | 变更内容 | 解决的问题 |
68
+ | ---------------- | ------------------------------- | --------------------------------- | ---------------------------------------------------------------------- |
69
+ | propName | feature \| deprecated \| update | 变更了什么 | 之前是什么样子,解决什么问题 |
70
+ | ---- | ---- | ---- | ---- |
71
+ | bordered | deprecated | 字段 `bordered` => `appearance` | 对于 Picker 类型的组件,统一使用 appearance 设置外形(线\面\无边框)值 |
72
+ | appearance | feature | - | 统一支持适配 UI:线性\面性\无边框 |
73
+ | prepend | update | 字段:prepend -> prepend + prefix | 强化支持 Input 内置外置元素组合 |
74
+ | append | update | 字段 -> append + suffix | 强化支持 Input 内置外置元素组合 |
75
+ | prefix | feature | 字段:prepend -> prepend + prefix | 强化支持 Input 内置元素 |
76
+ | suffix | feature | 字段 -> append + suffix | 强化支持 Input 内置元素 |
77
+ | readOnly | feature | - | 强化支持 Input 功能 |
78
+ | autoFocus | feature | - | 强化支持 Input 功能 |
79
+ | maxLength | feature | - | 强化支持 Input 功能 |
80
+ | trimValueOnBlur | feature | - | 强化支持 Input 功能 |
81
+ | clearableTrigger | feature | - | 强化支持 Input 清空内容功能 |
82
+ | size | feature | - | UI 适配不同 Size |
83
+ | TextArea | feature | 组件拆分 | 1. 拆解 api 功能及类型,职责分明 2. 减少用户使用困惑; |
package/lib/cjs/Input.js CHANGED
@@ -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
@@ -39,7 +39,14 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
39
39
 
40
40
  var _prefix = classname.getPrefixCls('input');
41
41
  /**
42
- * TODO: What is Input
42
+ * 输入框
43
+ *
44
+ * @TODO:
45
+ * 1. size api 确认
46
+ * 2. 修改类名结构
47
+ * 3. 支持带数字展示
48
+ * 4. InputGroup 模式支持
49
+ * 5. 手动聚焦支持额外配置
43
50
  */
44
51
 
45
52
 
@@ -50,40 +57,34 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
50
57
  role = _a$role === void 0 ? 'input' : _a$role,
51
58
  className = _a.className,
52
59
  style = _a.style,
53
- _a$autoFocus = _a.autoFocus,
54
- autoFocus = _a$autoFocus === void 0 ? false : _a$autoFocus,
55
- _a$disabled = _a.disabled,
56
- disabled = _a$disabled === void 0 ? false : _a$disabled,
57
- _a$readOnly = _a.readOnly,
58
- readOnly = _a$readOnly === void 0 ? false : _a$readOnly,
59
- name = _a.name,
60
- maxLength = _a.maxLength,
61
- _a$type = _a.type,
62
- type = _a$type === void 0 ? 'text' : _a$type,
63
60
  _a$size = _a.size,
64
61
  size = _a$size === void 0 ? 'md' : _a$size,
65
62
  _a$appearance = _a.appearance,
66
63
  appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,
67
- placeholder = _a.placeholder,
68
64
  prepend = _a.prepend,
69
65
  append = _a.append,
70
66
  prefix = _a.prefix,
71
67
  suffix = _a.suffix,
72
- _a$defaultValue = _a.defaultValue,
73
- defaultValue = _a$defaultValue === void 0 ? '' : _a$defaultValue,
74
- valueProp = _a.value,
75
- onChange = _a.onChange,
76
- onFocus = _a.onFocus,
77
- onBlur = _a.onBlur,
78
68
  _a$clearableTrigger = _a.clearableTrigger,
79
69
  clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,
80
70
  _a$clearable = _a.clearable,
81
71
  clearable = _a$clearable === void 0 ? false : _a$clearable,
82
- _a$trimValueOnBlur = _a.trimValueOnBlur,
83
- trimValueOnBlur = _a$trimValueOnBlur === void 0 ? false : _a$trimValueOnBlur,
84
72
  _a$invalid = _a.invalid,
85
73
  invalid = _a$invalid === void 0 ? false : _a$invalid,
86
- 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", "trimValueOnBlur", "invalid"]); // @TODO: 临时方案,后面迁移至 InputGroup
74
+ name = _a.name,
75
+ autoFocus = _a.autoFocus,
76
+ disabled = _a.disabled,
77
+ readOnly = _a.readOnly,
78
+ maxLength = _a.maxLength,
79
+ placeholder = _a.placeholder,
80
+ defaultValue = _a.defaultValue,
81
+ valueProp = _a.value,
82
+ onChange = _a.onChange,
83
+ onFocus = _a.onFocus,
84
+ onBlur = _a.onBlur,
85
+ trimValueOnBlur = _a.trimValueOnBlur,
86
+ type = _a.type,
87
+ rest = tslib.__rest(_a, ["prefixCls", "role", "className", "style", "size", "appearance", "prepend", "append", "prefix", "suffix", "clearableTrigger", "clearable", "invalid", "name", "autoFocus", "disabled", "readOnly", "maxLength", "placeholder", "defaultValue", "value", "onChange", "onFocus", "onBlur", "trimValueOnBlur", "type"]); // @TODO: 临时方案,后面迁移至 InputGroup
87
88
 
88
89
 
89
90
  var _useMemo = React.useMemo(function () {
@@ -105,65 +106,51 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
105
106
  unsetPrepend = _useMemo[0],
106
107
  unsetAppend = _useMemo[1];
107
108
 
108
- var inputRef = React.useRef(null);
109
+ var inputElementRef = React.useRef(null);
109
110
  var proxyOnChange = React.useCallback(function (value, evt) {
110
111
  if (!onChange) return;
111
- onChangeMock(onChange, evt, inputRef.current, value);
112
+ onChangeMock(onChange, evt, inputElementRef.current, value);
112
113
  }, [onChange]);
114
+ var clearElementRef = React.useRef(null);
115
+
116
+ var _useInput = useInput.useInput({
117
+ clearElementRef: clearElementRef,
118
+ name: name,
119
+ autoFocus: autoFocus,
120
+ disabled: disabled,
121
+ readOnly: readOnly,
122
+ maxLength: maxLength,
123
+ placeholder: placeholder,
124
+ defaultValue: defaultValue,
125
+ value: valueProp,
126
+ onChange: proxyOnChange,
127
+ onFocus: onFocus,
128
+ onBlur: onBlur,
129
+ trimValueOnBlur: trimValueOnBlur,
130
+ type: type
131
+ }),
132
+ tryChangeValue = _useInput.tryChangeValue,
133
+ focused = _useInput.focused,
134
+ value = _useInput.value,
135
+ getInputProps = _useInput.getInputProps;
113
136
 
114
- var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultValue, valueProp, proxyOnChange),
115
- value = _useUncontrolledState[0],
116
- tryChangeValue = _useUncontrolledState[1];
117
-
118
- var handleChange = React.useCallback(function (evt) {
119
- var nextValue = evt.target.value;
120
- tryChangeValue(nextValue, evt);
121
- }, [tryChangeValue]);
122
-
123
- var _useState = React.useState(autoFocus),
124
- focused = _useState[0],
125
- setFocused = _useState[1];
126
-
127
- var handleFocus = React.useCallback(function (evt) {
128
- setFocused(true);
129
- onFocus === null || onFocus === void 0 ? void 0 : onFocus(evt);
130
- }, [onFocus]);
131
- var handleBlur = React.useCallback(function (event) {
132
- setFocused(false);
133
-
134
- if (trimValueOnBlur) {
135
- var nextValue = event.target.value;
136
- tryChangeValue(nextValue.trim(), event);
137
- }
138
-
139
- onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
140
- }, [onBlur, tryChangeValue, trimValueOnBlur]);
141
137
  var focus = React.useCallback(function () {
142
138
  var _a;
143
139
 
144
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
140
+ (_a = inputElementRef.current) === null || _a === void 0 ? void 0 : _a.focus();
145
141
  }, []);
146
142
  var handleReset = React.useCallback(function (evt) {
147
143
  tryChangeValue('', evt);
148
144
  focus();
149
145
  }, [tryChangeValue, focus]);
150
- var nativeInputProps = React.useMemo(function () {
151
- return {
152
- name: name,
153
- disabled: disabled,
154
- readOnly: readOnly,
155
- autoFocus: autoFocus,
156
- placeholder: placeholder,
157
- maxLength: maxLength
158
- };
159
- }, [disabled, readOnly, autoFocus, placeholder, maxLength, name]);
160
-
161
- var _useState2 = React.useState(false),
162
- hover = _useState2[0],
163
- setHover = _useState2[1]; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚
146
+
147
+ var _useState = React.useState(false),
148
+ hover = _useState[0],
149
+ setHover = _useState[1]; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚
164
150
 
165
151
 
166
152
  var showClearableIcon = clearable && !!value && !disabled;
153
+ var mergedRef = useMergeRefs.useMergeRefs(ref, inputElementRef);
167
154
  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);
168
155
  return /*#__PURE__*/React__default['default'].createElement("div", {
169
156
  role: role,
@@ -183,16 +170,13 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
183
170
  }, prefix ? /*#__PURE__*/React__default['default'].createElement("span", {
184
171
  className: prefixCls + "__prefix"
185
172
  }, prefix) : null, /*#__PURE__*/React__default['default'].createElement("input", Object.assign({
186
- ref: useMergeRefs.useMergeRefs(ref, inputRef),
173
+ ref: mergedRef,
187
174
  className: classname.cx(prefixCls, focused && "focused", disabled && 'disabled', readOnly && 'readonly'),
188
- type: type,
189
- value: value,
190
- onChange: handleChange,
191
- onFocus: handleFocus,
192
- onBlur: handleBlur
193
- }, rest, nativeInputProps)), suffix || showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
175
+ type: type
176
+ }, getInputProps(), rest)), suffix || showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
194
177
  className: prefixCls + "__suffix"
195
178
  }, showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
179
+ ref: clearElementRef,
196
180
  className: classname.cx(prefixCls + "__clear", (clearableTrigger === 'always' || hover) && 'active'),
197
181
  role: "button",
198
182
  tabIndex: -1,
@@ -226,13 +210,13 @@ function onChangeMock(onChange, evt, target, targetValue) {
226
210
  event.target = target;
227
211
  event.currentTarget = target;
228
212
  target.value = targetValue;
229
- onChange(event); // 重置为之前值
213
+ onChange(event, targetValue); // 重置为之前值
230
214
 
231
215
  target.value = originalTargetValue;
232
216
  return;
233
217
  }
234
218
 
235
- onChange(event);
219
+ onChange(event, targetValue);
236
220
  }
237
221
 
238
222
  exports.Input = Input;
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../../src/Input.tsx"],"sourcesContent":[null],"names":["_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","trimValueOnBlur","invalid","rest","useMemo","shouldUnset","isValidElement","includes","HiName","unsetPrepend","unsetAppend","inputRef","useRef","proxyOnChange","useCallback","evt","onChangeMock","current","useUncontrolledState","tryChangeValue","handleChange","nextValue","target","useState","focused","setFocused","handleFocus","handleBlur","event","trim","focus","handleReset","nativeInputProps","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","size","appearance","prepend","append","prefix","suffix","clearableTrigger","clearable","invalid","name","autoFocus","disabled","readOnly","maxLength","placeholder","defaultValue","valueProp","value","onChange","onFocus","onBlur","trimValueOnBlur","type","rest","useMemo","shouldUnset","isValidElement","includes","HiName","unsetPrepend","unsetAppend","inputElementRef","useRef","proxyOnChange","useCallback","evt","onChangeMock","current","clearElementRef","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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"}
@@ -84,24 +84,27 @@ var MockInput = /*#__PURE__*/React.forwardRef(function (_a, ref) {
84
84
  value = _useUncontrolledState[0],
85
85
  tryChangeValue = _useUncontrolledState[1];
86
86
 
87
- var displayValue = React.useMemo(function () {
87
+ var displayItem = React.useMemo(function () {
88
88
  if (value === '') return null;
89
89
  var displayItem = data.find(function (item) {
90
90
  return item.id === value;
91
91
  });
92
- if (!displayItem) return null;
92
+ return displayItem || null;
93
+ }, [value, data]);
94
+ var displayValue = React.useMemo(function () {
95
+ if (!displayItem) return '';
93
96
 
94
97
  if (displayRender) {
95
98
  return displayRender(displayItem);
96
99
  }
97
100
 
98
101
  return displayItem.title;
99
- }, [data, value, displayRender]);
102
+ }, [displayItem, displayRender]);
100
103
  var handleClear = React.useCallback(function (evt) {
101
104
  if (disabled) return;
102
105
  evt.stopPropagation();
103
- tryChangeValue(NOOP_VALUE);
104
- }, [tryChangeValue, disabled]);
106
+ tryChangeValue(NOOP_VALUE, displayItem);
107
+ }, [tryChangeValue, disabled, displayItem]);
105
108
 
106
109
  var _useState = React.useState(false),
107
110
  hover = _useState[0],
@@ -1 +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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"}
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","displayItem","useMemo","find","item","id","displayValue","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,109 @@
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
+ * 动态文本域输入框
41
+ *
42
+ * @TODO:
43
+ * 1. 支持带数字展示
44
+ * 2. 支持自适应行高大小
45
+ * 3. 支持清空按钮
46
+ * 4. 支持最大最小行支持
47
+ * 5. 手动聚焦支持额外配置
48
+ */
49
+
50
+
51
+ var TextArea = /*#__PURE__*/React.forwardRef(function (_a, ref) {
52
+ var _a$prefixCls = _a.prefixCls,
53
+ prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
54
+ className = _a.className,
55
+ _a$size = _a.size,
56
+ size = _a$size === void 0 ? 'md' : _a$size,
57
+ _a$appearance = _a.appearance,
58
+ appearance = _a$appearance === void 0 ? 'outline' : _a$appearance,
59
+ _a$invalid = _a.invalid,
60
+ invalid = _a$invalid === void 0 ? false : _a$invalid,
61
+ name = _a.name,
62
+ autoFocus = _a.autoFocus,
63
+ disabled = _a.disabled,
64
+ readOnly = _a.readOnly,
65
+ maxLength = _a.maxLength,
66
+ placeholder = _a.placeholder,
67
+ defaultValue = _a.defaultValue,
68
+ valueProp = _a.value,
69
+ onChange = _a.onChange,
70
+ onFocus = _a.onFocus,
71
+ onBlur = _a.onBlur,
72
+ trimValueOnBlur = _a.trimValueOnBlur,
73
+ nativeProps = tslib.__rest(_a, ["prefixCls", "className", "style", "size", "appearance", "invalid", "name", "autoFocus", "disabled", "readOnly", "maxLength", "placeholder", "defaultValue", "value", "onChange", "onFocus", "onBlur", "trimValueOnBlur"]);
74
+
75
+ var proxyOnChange = useLatest.useLatestCallback(function (_, evt) {
76
+ onChange === null || onChange === void 0 ? void 0 : onChange(evt);
77
+ });
78
+
79
+ var _useInput = useInput.useInput({
80
+ name: name,
81
+ autoFocus: autoFocus,
82
+ disabled: disabled,
83
+ readOnly: readOnly,
84
+ maxLength: maxLength,
85
+ placeholder: placeholder,
86
+ defaultValue: defaultValue,
87
+ value: valueProp,
88
+ onChange: proxyOnChange,
89
+ onFocus: onFocus,
90
+ onBlur: onBlur,
91
+ trimValueOnBlur: trimValueOnBlur
92
+ }),
93
+ focused = _useInput.focused,
94
+ getInputProps = _useInput.getInputProps;
95
+
96
+ var cls = classname.cx(prefixCls, className, disabled && 'disabled', readOnly && 'readonly', focused && "focused", invalid && 'invalid', prefixCls + "--appearance-" + appearance, prefixCls + "--size-" + size);
97
+ return /*#__PURE__*/React__default['default'].createElement("textarea", Object.assign({
98
+ ref: ref,
99
+ className: cls,
100
+ autoComplete: "off"
101
+ }, getInputProps(), nativeProps));
102
+ });
103
+
104
+ if (env.__DEV__) {
105
+ TextArea.displayName = 'TextArea';
106
+ }
107
+
108
+ exports.TextArea = TextArea;
109
+ //# 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;;;;;;;;;;;;IAUaC,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
@@ -17,10 +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
+
20
22
  var MockInput = require('./MockInput.js');
21
23
 
22
24
  exports.Input = Input.Input;
23
25
  exports["default"] = Input.Input;
24
26
  exports.onChangeMock = Input.onChangeMock;
27
+ exports.TextArea = TextArea.TextArea;
25
28
  exports.MockInput = MockInput.MockInput;
26
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}