@hi-ui/input 4.0.0-alpha.5 → 4.0.0-beta.0
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 +79 -7
- package/lib/cjs/Input.js +97 -83
- package/lib/cjs/Input.js.map +1 -1
- package/lib/cjs/MockInput.js +154 -0
- package/lib/cjs/MockInput.js.map +1 -0
- package/lib/cjs/index.js +7 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/styles/index.scss.js +2 -2
- package/lib/cjs/use-input.js +129 -0
- package/lib/cjs/use-input.js.map +1 -0
- package/lib/cjs/utils/index.js +192 -0
- package/lib/cjs/utils/index.js.map +1 -0
- package/lib/esm/Input.js +97 -82
- package/lib/esm/Input.js.map +1 -1
- package/lib/esm/MockInput.js +132 -0
- package/lib/esm/MockInput.js.map +1 -0
- package/lib/esm/index.js +3 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/styles/index.scss.js +2 -2
- package/lib/esm/use-input.js +119 -0
- package/lib/esm/use-input.js.map +1 -0
- package/lib/esm/utils/index.js +176 -0
- package/lib/esm/utils/index.js.map +1 -0
- package/lib/types/Input.d.ts +23 -42
- package/lib/types/MockInput.d.ts +134 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/types/use-input.d.ts +78 -0
- package/lib/types/utils/index.d.ts +9 -1
- package/package.json +14 -11
package/README.md
CHANGED
@@ -1,11 +1,83 @@
|
|
1
|
-
#
|
1
|
+
# Input 输入框
|
2
2
|
|
3
|
-
|
3
|
+
用来接收文本型内容的组件
|
4
4
|
|
5
|
-
##
|
5
|
+
## 何时使用
|
6
6
|
|
7
|
-
|
8
|
-
const Input = require('@hi-ui/input');
|
7
|
+
用户需要通过键盘输入内容时
|
9
8
|
|
10
|
-
|
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 | 设置展现形式 | 'line' \| 'unset' \| 'filled' | 'line' |
|
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 | 设置展现形式 | 'line' \| 'unset' \| 'filled' | 'line' |
|
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
@@ -1,5 +1,5 @@
|
|
1
1
|
/** @LICENSE
|
2
|
-
* @hi-ui/input
|
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,11 +37,16 @@ function _interopDefaultLegacy(e) {
|
|
37
37
|
|
38
38
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
39
39
|
|
40
|
-
var
|
41
|
-
|
42
|
-
var _prefix = classname.getPrefixCls(_role);
|
40
|
+
var _prefix = classname.getPrefixCls('input');
|
43
41
|
/**
|
44
|
-
*
|
42
|
+
* 输入框
|
43
|
+
*
|
44
|
+
* @TODO:
|
45
|
+
* 1. size api 确认
|
46
|
+
* 2. 修改类名结构
|
47
|
+
* 3. 支持带数字展示
|
48
|
+
* 4. InputGroup 模式支持
|
49
|
+
* 5. 手动聚焦支持额外配置
|
45
50
|
*/
|
46
51
|
|
47
52
|
|
@@ -49,102 +54,115 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
49
54
|
var _a$prefixCls = _a.prefixCls,
|
50
55
|
prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
|
51
56
|
_a$role = _a.role,
|
52
|
-
role = _a$role === void 0 ?
|
57
|
+
role = _a$role === void 0 ? 'input' : _a$role,
|
53
58
|
className = _a.className,
|
54
59
|
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
|
-
_a$type = _a.type,
|
64
|
-
type = _a$type === void 0 ? 'text' : _a$type,
|
65
60
|
_a$size = _a.size,
|
66
|
-
size = _a$size === void 0 ? '
|
61
|
+
size = _a$size === void 0 ? 'md' : _a$size,
|
67
62
|
_a$appearance = _a.appearance,
|
68
|
-
appearance = _a$appearance === void 0 ? '
|
69
|
-
placeholder = _a.placeholder,
|
63
|
+
appearance = _a$appearance === void 0 ? 'line' : _a$appearance,
|
70
64
|
prepend = _a.prepend,
|
71
65
|
append = _a.append,
|
72
66
|
prefix = _a.prefix,
|
73
67
|
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
68
|
_a$clearableTrigger = _a.clearableTrigger,
|
81
69
|
clearableTrigger = _a$clearableTrigger === void 0 ? 'hover' : _a$clearableTrigger,
|
82
70
|
_a$clearable = _a.clearable,
|
83
71
|
clearable = _a$clearable === void 0 ? false : _a$clearable,
|
84
|
-
|
72
|
+
_a$invalid = _a.invalid,
|
73
|
+
invalid = _a$invalid === void 0 ? false : _a$invalid,
|
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
|
88
|
+
|
89
|
+
|
90
|
+
var _useMemo = React.useMemo(function () {
|
91
|
+
var shouldUnset = [false, false]; // @ts-ignore
|
92
|
+
// @ts-ignore
|
85
93
|
|
86
|
-
|
94
|
+
if ( /*#__PURE__*/React.isValidElement(prepend) && ['Select', 'Button'].includes(prepend.type.HiName)) {
|
95
|
+
shouldUnset[0] = true;
|
96
|
+
} // @ts-ignore
|
97
|
+
// @ts-ignore
|
98
|
+
|
99
|
+
|
100
|
+
if ( /*#__PURE__*/React.isValidElement(append) && ['Select', 'Button'].includes(append.type.HiName)) {
|
101
|
+
shouldUnset[1] = true;
|
102
|
+
}
|
103
|
+
|
104
|
+
return shouldUnset;
|
105
|
+
}, [prepend, append]),
|
106
|
+
unsetPrepend = _useMemo[0],
|
107
|
+
unsetAppend = _useMemo[1];
|
108
|
+
|
109
|
+
var inputElementRef = React.useRef(null);
|
87
110
|
var proxyOnChange = React.useCallback(function (value, evt) {
|
88
111
|
if (!onChange) return;
|
89
|
-
onChangeMock(onChange, evt,
|
112
|
+
onChangeMock(onChange, evt, inputElementRef.current, value);
|
90
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;
|
91
136
|
|
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]);
|
113
137
|
var focus = React.useCallback(function () {
|
114
138
|
var _a;
|
115
139
|
|
116
|
-
(_a =
|
140
|
+
(_a = inputElementRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
117
141
|
}, []);
|
118
142
|
var handleReset = React.useCallback(function (evt) {
|
119
143
|
tryChangeValue('', evt);
|
120
144
|
focus();
|
121
145
|
}, [tryChangeValue, focus]);
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
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 下展示 清除内容按钮,可点击进行内容清楚
|
146
|
+
|
147
|
+
var _useState = React.useState(false),
|
148
|
+
hover = _useState[0],
|
149
|
+
setHover = _useState[1]; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚
|
136
150
|
|
137
151
|
|
138
152
|
var showClearableIcon = clearable && !!value && !disabled;
|
139
|
-
var
|
153
|
+
var mergedRef = useMergeRefs.useMergeRefs(ref, inputElementRef);
|
154
|
+
var cls = classname.cx(prefixCls, className, prefixCls + "--size-" + size, prefixCls + "--appearance-" + appearance);
|
155
|
+
var outerCls = classname.cx(prefixCls + "__outer", prepend && prefixCls + "__outer--prepend", prepend && unsetPrepend && prefixCls + "__outer--prepend-unset", append && prefixCls + "__outer--append", append && unsetAppend && prefixCls + "__outer--append-unset");
|
140
156
|
return /*#__PURE__*/React__default['default'].createElement("div", {
|
141
157
|
role: role,
|
142
158
|
className: cls,
|
143
159
|
style: style
|
160
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
161
|
+
className: outerCls
|
144
162
|
}, prepend ? /*#__PURE__*/React__default['default'].createElement("div", {
|
145
163
|
className: prefixCls + "__prepend"
|
146
164
|
}, 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 &&
|
165
|
+
className: classname.cx(prefixCls + "__inner", prefix && prefixCls + "__inner--prefix", suffix && prefixCls + "__inner--suffix", focused && prefixCls + "__inner--focused", disabled && prefixCls + "-__inner-disabled", readOnly && prefixCls + "-__inner-readonly", invalid && prefixCls + "__inner--invalid"),
|
148
166
|
onMouseOver: function onMouseOver(e) {
|
149
167
|
setHover(true);
|
150
168
|
},
|
@@ -154,30 +172,26 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
154
172
|
}, prefix ? /*#__PURE__*/React__default['default'].createElement("span", {
|
155
173
|
className: prefixCls + "__prefix"
|
156
174
|
}, prefix) : null, /*#__PURE__*/React__default['default'].createElement("input", Object.assign({
|
157
|
-
ref:
|
158
|
-
className:
|
159
|
-
|
160
|
-
value: value,
|
161
|
-
onChange: handleChange,
|
162
|
-
onFocus: handleFocus,
|
163
|
-
onBlur: handleBlur
|
164
|
-
}, rest, nativeInputProps)), suffix || showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
|
175
|
+
ref: mergedRef,
|
176
|
+
className: prefixCls + "__text"
|
177
|
+
}, getInputProps(), rest)), suffix || showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
|
165
178
|
className: prefixCls + "__suffix"
|
166
179
|
}, showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
|
167
|
-
|
180
|
+
ref: clearElementRef,
|
181
|
+
className: classname.cx(prefixCls + "__clear", (clearableTrigger === 'always' || hover) && prefixCls + "__clear--active"),
|
168
182
|
role: "button",
|
169
183
|
tabIndex: -1,
|
170
184
|
onClick: handleReset
|
171
185
|
}, /*#__PURE__*/React__default['default'].createElement(icons.CloseCircleFilled, null)) : null, suffix) : null), append ? /*#__PURE__*/React__default['default'].createElement("div", {
|
172
186
|
className: prefixCls + "__append"
|
173
|
-
}, append) : null);
|
187
|
+
}, append) : null));
|
174
188
|
});
|
175
189
|
|
176
190
|
if (env.__DEV__) {
|
177
191
|
Input.displayName = 'Input';
|
178
192
|
}
|
179
193
|
/**
|
180
|
-
*
|
194
|
+
* 模拟伪装目标事件 target
|
181
195
|
*
|
182
196
|
* @param target
|
183
197
|
* @param evt
|
@@ -188,22 +202,22 @@ if (env.__DEV__) {
|
|
188
202
|
|
189
203
|
|
190
204
|
function onChangeMock(onChange, evt, target, targetValue) {
|
191
|
-
var event = evt; // 点击 clearIcon
|
205
|
+
var event = evt; // 点击 clearIcon 或者 失焦 trim 时,都会代理 onChange 的事件对象 target 指向 input.target
|
192
206
|
|
193
|
-
if (evt.type
|
207
|
+
if (evt.type !== 'change') {
|
194
208
|
if (!target) return;
|
195
209
|
var originalTargetValue = target.value;
|
196
210
|
event = Object.create(evt);
|
197
211
|
event.target = target;
|
198
212
|
event.currentTarget = target;
|
199
213
|
target.value = targetValue;
|
200
|
-
onChange(event); // 重置为之前值
|
214
|
+
onChange(event, targetValue); // 重置为之前值
|
201
215
|
|
202
216
|
target.value = originalTargetValue;
|
203
217
|
return;
|
204
218
|
}
|
205
219
|
|
206
|
-
onChange(event);
|
220
|
+
onChange(event, targetValue);
|
207
221
|
}
|
208
222
|
|
209
223
|
exports.Input = Input;
|
package/lib/cjs/Input.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Input.js","sources":["../../src/Input.tsx"],"sourcesContent":[null],"names":["
|
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","outerCls","React","onMouseOver","e","onMouseLeave","tabIndex","onClick","CloseCircleFilled","__DEV__","displayName","target","targetValue","event","originalTargetValue","Object","create","currentTarget"],"mappings":"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"}
|
@@ -0,0 +1,154 @@
|
|
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 ? 'line' : _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 displayItem = React.useMemo(function () {
|
88
|
+
if (value === '') return null;
|
89
|
+
var displayItem = data.find(function (item) {
|
90
|
+
return item.id === value;
|
91
|
+
});
|
92
|
+
return displayItem || null;
|
93
|
+
}, [value, data]);
|
94
|
+
var displayValue = React.useMemo(function () {
|
95
|
+
if (!displayItem) return '';
|
96
|
+
|
97
|
+
if (displayRender) {
|
98
|
+
return displayRender(displayItem);
|
99
|
+
}
|
100
|
+
|
101
|
+
return displayItem.title;
|
102
|
+
}, [displayItem, displayRender]);
|
103
|
+
var handleClear = React.useCallback(function (evt) {
|
104
|
+
if (disabled) return;
|
105
|
+
evt.stopPropagation();
|
106
|
+
tryChangeValue(NOOP_VALUE, displayItem);
|
107
|
+
}, [tryChangeValue, disabled, displayItem]);
|
108
|
+
|
109
|
+
var _useState = React.useState(false),
|
110
|
+
hover = _useState[0],
|
111
|
+
setHover = _useState[1];
|
112
|
+
|
113
|
+
var trySetHover = React.useCallback(function (hovered) {
|
114
|
+
if (disabled) return;
|
115
|
+
setHover(hovered);
|
116
|
+
}, [disabled]);
|
117
|
+
var hasValue = !!displayValue; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清除
|
118
|
+
|
119
|
+
var showClearableIcon = React.useMemo(function () {
|
120
|
+
return clearable && hasValue && !disabled && (clearableTrigger === 'always' || hover);
|
121
|
+
}, [clearable, hasValue, disabled, clearableTrigger, hover]);
|
122
|
+
var cls = classname.cx(prefixCls, className, prefixCls + "--appearance-" + appearance, prefixCls + "--size-" + size, focused && "focused", disabled && 'disabled', readOnly && 'readonly', invalid && 'invalid');
|
123
|
+
return /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
|
124
|
+
ref: ref,
|
125
|
+
role: role,
|
126
|
+
className: cls,
|
127
|
+
onMouseOver: function onMouseOver(evt) {
|
128
|
+
trySetHover(true);
|
129
|
+
_onMouseOver === null || _onMouseOver === void 0 ? void 0 : _onMouseOver(evt);
|
130
|
+
},
|
131
|
+
onMouseLeave: function onMouseLeave(evt) {
|
132
|
+
trySetHover(false);
|
133
|
+
_onMouseLeave === null || _onMouseLeave === void 0 ? void 0 : _onMouseLeave(evt);
|
134
|
+
}
|
135
|
+
}, rest), hasValue ? /*#__PURE__*/React__default['default'].createElement("span", {
|
136
|
+
className: prefixCls + "__value"
|
137
|
+
}, displayValue) : /*#__PURE__*/React__default['default'].createElement("span", {
|
138
|
+
className: prefixCls + "__placeholder"
|
139
|
+
}, placeholder), suffix || showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
|
140
|
+
className: prefixCls + "__suffix"
|
141
|
+
}, showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
|
142
|
+
role: "button",
|
143
|
+
tabIndex: -1,
|
144
|
+
className: classname.cx(prefixCls + "__clear", 'active'),
|
145
|
+
onClick: handleClear
|
146
|
+
}, /*#__PURE__*/React__default['default'].createElement(icons.CloseCircleFilled, null)) : suffix) : null);
|
147
|
+
});
|
148
|
+
|
149
|
+
if (env.__DEV__) {
|
150
|
+
MockInput.displayName = 'MockInput';
|
151
|
+
}
|
152
|
+
|
153
|
+
exports.MockInput = MockInput;
|
154
|
+
//# 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","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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"}
|
package/lib/cjs/index.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/** @LICENSE
|
2
|
-
* @hi-ui/input
|
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 useInput = require('./use-input.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.useInput = useInput.useInput;
|
28
|
+
exports.MockInput = MockInput.MockInput;
|
23
29
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|