@hi-ui/input 4.0.0-alpha.24 → 4.0.0-alpha.25
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 +9 -6
- package/lib/cjs/Input.js.map +1 -1
- package/lib/cjs/use-input.js +39 -11
- package/lib/cjs/use-input.js.map +1 -1
- package/lib/cjs/utils/index.js +192 -0
- package/lib/cjs/utils/index.js.map +1 -0
- package/lib/esm/Input.js +9 -6
- package/lib/esm/Input.js.map +1 -1
- package/lib/esm/use-input.js +38 -11
- package/lib/esm/use-input.js.map +1 -1
- package/lib/esm/utils/index.js +176 -0
- package/lib/esm/utils/index.js.map +1 -0
- package/lib/types/Input.d.ts +3 -3
- package/lib/types/MockInput.d.ts +1 -1
- package/lib/types/use-input.d.ts +10 -2
- package/lib/types/utils/index.d.ts +9 -1
- package/package.json +3 -3
package/lib/cjs/Input.js
CHANGED
@@ -50,8 +50,6 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
50
50
|
role = _a$role === void 0 ? 'input' : _a$role,
|
51
51
|
className = _a.className,
|
52
52
|
style = _a.style,
|
53
|
-
_a$type = _a.type,
|
54
|
-
type = _a$type === void 0 ? 'text' : _a$type,
|
55
53
|
_a$size = _a.size,
|
56
54
|
size = _a$size === void 0 ? 'md' : _a$size,
|
57
55
|
_a$appearance = _a.appearance,
|
@@ -78,7 +76,8 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
78
76
|
onFocus = _a.onFocus,
|
79
77
|
onBlur = _a.onBlur,
|
80
78
|
trimValueOnBlur = _a.trimValueOnBlur,
|
81
|
-
|
79
|
+
type = _a.type,
|
80
|
+
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
|
82
81
|
|
83
82
|
|
84
83
|
var _useMemo = React.useMemo(function () {
|
@@ -105,8 +104,10 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
105
104
|
if (!onChange) return;
|
106
105
|
onChangeMock(onChange, evt, inputElementRef.current, value);
|
107
106
|
}, [onChange]);
|
107
|
+
var clearElementRef = React.useRef(null);
|
108
108
|
|
109
109
|
var _useInput = useInput.useInput({
|
110
|
+
clearElementRef: clearElementRef,
|
110
111
|
name: name,
|
111
112
|
autoFocus: autoFocus,
|
112
113
|
disabled: disabled,
|
@@ -118,7 +119,8 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
118
119
|
onChange: proxyOnChange,
|
119
120
|
onFocus: onFocus,
|
120
121
|
onBlur: onBlur,
|
121
|
-
trimValueOnBlur: trimValueOnBlur
|
122
|
+
trimValueOnBlur: trimValueOnBlur,
|
123
|
+
type: type
|
122
124
|
}),
|
123
125
|
tryChangeValue = _useInput.tryChangeValue,
|
124
126
|
focused = _useInput.focused,
|
@@ -167,6 +169,7 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
167
169
|
}, getInputProps(), rest)), suffix || showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
|
168
170
|
className: prefixCls + "__suffix"
|
169
171
|
}, showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
|
172
|
+
ref: clearElementRef,
|
170
173
|
className: classname.cx(prefixCls + "__clear", (clearableTrigger === 'always' || hover) && 'active'),
|
171
174
|
role: "button",
|
172
175
|
tabIndex: -1,
|
@@ -200,13 +203,13 @@ function onChangeMock(onChange, evt, target, targetValue) {
|
|
200
203
|
event.target = target;
|
201
204
|
event.currentTarget = target;
|
202
205
|
target.value = targetValue;
|
203
|
-
onChange(event); // 重置为之前值
|
206
|
+
onChange(event, targetValue); // 重置为之前值
|
204
207
|
|
205
208
|
target.value = originalTargetValue;
|
206
209
|
return;
|
207
210
|
}
|
208
211
|
|
209
|
-
onChange(event);
|
212
|
+
onChange(event, targetValue);
|
210
213
|
}
|
211
214
|
|
212
215
|
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":["_prefix","getPrefixCls","Input","forwardRef","_a","ref","prefixCls","role","className","style","
|
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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"}
|
package/lib/cjs/use-input.js
CHANGED
@@ -21,6 +21,8 @@ var useLatest = require('@hi-ui/use-latest');
|
|
21
21
|
|
22
22
|
var domUtils = require('@hi-ui/dom-utils');
|
23
23
|
|
24
|
+
var index = require('./utils/index.js');
|
25
|
+
|
24
26
|
var useInput = function useInput(_ref) {
|
25
27
|
var name = _ref.name,
|
26
28
|
_ref$autoFocus = _ref.autoFocus,
|
@@ -38,16 +40,34 @@ var useInput = function useInput(_ref) {
|
|
38
40
|
onFocus = _ref.onFocus,
|
39
41
|
onBlur = _ref.onBlur,
|
40
42
|
_ref$trimValueOnBlur = _ref.trimValueOnBlur,
|
41
|
-
trimValueOnBlur = _ref$trimValueOnBlur === void 0 ? false : _ref$trimValueOnBlur
|
43
|
+
trimValueOnBlur = _ref$trimValueOnBlur === void 0 ? false : _ref$trimValueOnBlur,
|
44
|
+
_ref$type = _ref.type,
|
45
|
+
type = _ref$type === void 0 ? 'text' : _ref$type,
|
46
|
+
clearElementRef = _ref.clearElementRef; // Object.is 避免 trimValueOnBlur 和 点击 clearIcon 触发 2 次相同的 onCHange
|
42
47
|
|
43
|
-
var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultValue, valueProp, onChange),
|
48
|
+
var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultValue, valueProp, onChange, Object.is),
|
44
49
|
value = _useUncontrolledState[0],
|
45
50
|
tryChangeValue = _useUncontrolledState[1];
|
46
51
|
|
47
|
-
var handleChange = React.useCallback(function (evt) {
|
52
|
+
var handleChange = React.useCallback(function (evt, trim) {
|
53
|
+
if (trim === void 0) {
|
54
|
+
trim = false;
|
55
|
+
}
|
56
|
+
|
57
|
+
evt.persist();
|
48
58
|
var nextValue = evt.target.value;
|
49
|
-
|
50
|
-
|
59
|
+
var valueTrue = index.pure(nextValue, type); // 防溢出,保证 onChange 拿到的是值是最新的 formatted value
|
60
|
+
|
61
|
+
var value = index.format(nextValue, type);
|
62
|
+
|
63
|
+
if (trim) {
|
64
|
+
valueTrue = valueTrue.trim();
|
65
|
+
value = value.trim();
|
66
|
+
}
|
67
|
+
|
68
|
+
evt.target.value = value;
|
69
|
+
tryChangeValue(valueTrue, evt);
|
70
|
+
}, [tryChangeValue, type]);
|
51
71
|
|
52
72
|
var _useState = React.useState(autoFocus),
|
53
73
|
focused = _useState[0],
|
@@ -58,11 +78,19 @@ var useInput = function useInput(_ref) {
|
|
58
78
|
onFocus === null || onFocus === void 0 ? void 0 : onFocus(evt);
|
59
79
|
});
|
60
80
|
var handleBlur = useLatest.useLatestCallback(function (event) {
|
61
|
-
|
81
|
+
var relatedTarget = event.relatedTarget; // 拦截 clear 情况 触发 input 失焦
|
82
|
+
|
83
|
+
if (clearElementRef.current && clearElementRef.current === relatedTarget) {
|
84
|
+
return;
|
85
|
+
}
|
86
|
+
|
87
|
+
setFocused(false); // amount 自动添加小数
|
62
88
|
|
63
|
-
if (
|
64
|
-
|
65
|
-
|
89
|
+
if (type === 'amount') {
|
90
|
+
event.target.value = index.formatAmount(value, true);
|
91
|
+
handleChange(event, trimValueOnBlur);
|
92
|
+
} else if (trimValueOnBlur) {
|
93
|
+
handleChange(event, true);
|
66
94
|
}
|
67
95
|
|
68
96
|
onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
|
@@ -80,12 +108,12 @@ var useInput = function useInput(_ref) {
|
|
80
108
|
}, [disabled, readOnly, autoFocus, placeholder, maxLength, name, focused]);
|
81
109
|
var getInputProps = React.useCallback(function () {
|
82
110
|
return Object.assign(Object.assign({}, nativeInputProps), {
|
83
|
-
value: value,
|
111
|
+
value: index.format(value, type),
|
84
112
|
onChange: handleChange,
|
85
113
|
onFocus: handleFocus,
|
86
114
|
onBlur: handleBlur
|
87
115
|
});
|
88
|
-
}, [value, handleChange, handleFocus, handleBlur, nativeInputProps]);
|
116
|
+
}, [value, type, handleChange, handleFocus, handleBlur, nativeInputProps]);
|
89
117
|
return {
|
90
118
|
focused: focused,
|
91
119
|
value: value,
|
package/lib/cjs/use-input.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-input.js","sources":["../../src/use-input.ts"],"sourcesContent":[null],"names":["useInput","name","autoFocus","disabled","readOnly","maxLength","placeholder","defaultValue","valueProp","value","onChange","onFocus","onBlur","trimValueOnBlur","useUncontrolledState","tryChangeValue","handleChange","useCallback","evt","nextValue","target","useState","focused","setFocused","handleFocus","useLatestCallback","handleBlur","event","
|
1
|
+
{"version":3,"file":"use-input.js","sources":["../../src/use-input.ts"],"sourcesContent":[null],"names":["useInput","name","autoFocus","disabled","readOnly","maxLength","placeholder","defaultValue","valueProp","value","onChange","onFocus","onBlur","trimValueOnBlur","type","clearElementRef","useUncontrolledState","Object","is","tryChangeValue","handleChange","useCallback","evt","trim","persist","nextValue","target","valueTrue","pure","format","useState","focused","setFocused","handleFocus","useLatestCallback","handleBlur","event","relatedTarget","current","formatAmount","nativeInputProps","useMemo","setAttrStatus","getInputProps"],"mappings":"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"}
|
@@ -0,0 +1,192 @@
|
|
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
|
+
Object.defineProperty(exports, '__esModule', {
|
13
|
+
value: true
|
14
|
+
});
|
15
|
+
/**
|
16
|
+
* 格式化身份证
|
17
|
+
*/
|
18
|
+
|
19
|
+
var formatId = function formatId(val) {
|
20
|
+
val = val.replace(/[^a-zA-Z0-9]/g, '');
|
21
|
+
var len = val.length;
|
22
|
+
|
23
|
+
if (val === '' || len < 7) {
|
24
|
+
return val;
|
25
|
+
}
|
26
|
+
|
27
|
+
if (len < 11) {
|
28
|
+
return val.slice(0, 6) + ' ' + val.slice(6, 10);
|
29
|
+
} else if (len < 15) {
|
30
|
+
return val.slice(0, 6) + ' ' + val.slice(6, 10) + ' ' + val.slice(10, 14);
|
31
|
+
} else {
|
32
|
+
return val.slice(0, 6) + ' ' + val.slice(6, 10) + ' ' + val.slice(10, 14) + ' ' + val.slice(14, 18);
|
33
|
+
}
|
34
|
+
};
|
35
|
+
|
36
|
+
var pureId = function pureId(val) {
|
37
|
+
var tmp = val.replace(/[^\d|.]/g, '');
|
38
|
+
return tmp.slice(0, 18);
|
39
|
+
};
|
40
|
+
/**
|
41
|
+
* 格式化手机号
|
42
|
+
*/
|
43
|
+
|
44
|
+
|
45
|
+
var formatTel = function formatTel(val) {
|
46
|
+
val = val.replace(/\D/g, '');
|
47
|
+
var len = val.length;
|
48
|
+
|
49
|
+
if (val === '' || len < 4) {
|
50
|
+
return val;
|
51
|
+
}
|
52
|
+
|
53
|
+
if (len < 8) {
|
54
|
+
return val.slice(0, 3) + ' ' + val.slice(3, 7);
|
55
|
+
} else {
|
56
|
+
return val.slice(0, 3) + ' ' + val.slice(3, 7) + ' ' + val.slice(7, 11);
|
57
|
+
}
|
58
|
+
};
|
59
|
+
|
60
|
+
var pureTel = function pureTel(val) {
|
61
|
+
var tmp = val.replace(/[^\d|.]/g, '');
|
62
|
+
return tmp.slice(0, 11);
|
63
|
+
};
|
64
|
+
/**
|
65
|
+
* 格式化银行卡号
|
66
|
+
*/
|
67
|
+
|
68
|
+
|
69
|
+
var formatCard = function formatCard(val) {
|
70
|
+
val = val.replace(/\D/g, '');
|
71
|
+
var len = val.length;
|
72
|
+
|
73
|
+
if (val === '' || val.length < 5) {
|
74
|
+
return val;
|
75
|
+
}
|
76
|
+
|
77
|
+
if (len < 9) {
|
78
|
+
return val.slice(0, 4) + ' ' + val.slice(4, 8);
|
79
|
+
} else if (len < 13) {
|
80
|
+
return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12);
|
81
|
+
} else if (len < 17) {
|
82
|
+
return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12) + ' ' + val.slice(12, 16);
|
83
|
+
} else {
|
84
|
+
return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12) + ' ' + val.slice(12, 16) + ' ' + val.slice(16, 19);
|
85
|
+
}
|
86
|
+
};
|
87
|
+
|
88
|
+
var pureCard = function pureCard(val) {
|
89
|
+
var tmp = val.replace(/[^\d|.]/g, '');
|
90
|
+
return tmp.slice(0, 19);
|
91
|
+
};
|
92
|
+
/**
|
93
|
+
* 金额自动生成小数
|
94
|
+
* @param {string} val 需要处理的值
|
95
|
+
*/
|
96
|
+
|
97
|
+
|
98
|
+
var formatAmount = function formatAmount(val, fill) {
|
99
|
+
if (fill === void 0) {
|
100
|
+
fill = false;
|
101
|
+
}
|
102
|
+
|
103
|
+
val = val.replace(/[^\d|.|,]/g, '').replace(/(\.\d*?)(\.|,).*/, function (_, $1) {
|
104
|
+
return $1;
|
105
|
+
});
|
106
|
+
|
107
|
+
if (fill) {
|
108
|
+
if (!val) return val;
|
109
|
+
return val.indexOf('.') > -1 ? val : val + '.00';
|
110
|
+
}
|
111
|
+
|
112
|
+
return val;
|
113
|
+
};
|
114
|
+
|
115
|
+
var pureAmount = function pureAmount(val) {
|
116
|
+
var tmp = val.replace(/[^\d|.]/g, '');
|
117
|
+
return tmp;
|
118
|
+
};
|
119
|
+
|
120
|
+
var formatEmail = function formatEmail(val) {
|
121
|
+
return val.replace(/\W/g, '');
|
122
|
+
};
|
123
|
+
|
124
|
+
var pureEmail = function pureEmail(val) {
|
125
|
+
return val;
|
126
|
+
};
|
127
|
+
/**
|
128
|
+
* 输入规则
|
129
|
+
*/
|
130
|
+
|
131
|
+
|
132
|
+
var format = function format(val, type) {
|
133
|
+
switch (type) {
|
134
|
+
case 'id':
|
135
|
+
return formatId(val);
|
136
|
+
|
137
|
+
case 'tel':
|
138
|
+
return formatTel(val);
|
139
|
+
|
140
|
+
case 'card':
|
141
|
+
return formatCard(val);
|
142
|
+
|
143
|
+
case 'email':
|
144
|
+
return formatEmail(val);
|
145
|
+
|
146
|
+
case 'amount':
|
147
|
+
return formatAmount(val);
|
148
|
+
|
149
|
+
default:
|
150
|
+
return val;
|
151
|
+
}
|
152
|
+
};
|
153
|
+
/**
|
154
|
+
* 净化规则
|
155
|
+
*/
|
156
|
+
|
157
|
+
|
158
|
+
var pure = function pure(val, type) {
|
159
|
+
switch (type) {
|
160
|
+
case 'id':
|
161
|
+
return pureId(val);
|
162
|
+
|
163
|
+
case 'tel':
|
164
|
+
return pureTel(val);
|
165
|
+
|
166
|
+
case 'card':
|
167
|
+
return pureCard(val);
|
168
|
+
|
169
|
+
case 'email':
|
170
|
+
return pureEmail(val);
|
171
|
+
|
172
|
+
case 'amount':
|
173
|
+
return pureAmount(val);
|
174
|
+
|
175
|
+
default:
|
176
|
+
return val;
|
177
|
+
}
|
178
|
+
};
|
179
|
+
|
180
|
+
exports.format = format;
|
181
|
+
exports.formatAmount = formatAmount;
|
182
|
+
exports.formatCard = formatCard;
|
183
|
+
exports.formatEmail = formatEmail;
|
184
|
+
exports.formatId = formatId;
|
185
|
+
exports.formatTel = formatTel;
|
186
|
+
exports.pure = pure;
|
187
|
+
exports.pureAmount = pureAmount;
|
188
|
+
exports.pureCard = pureCard;
|
189
|
+
exports.pureEmail = pureEmail;
|
190
|
+
exports.pureId = pureId;
|
191
|
+
exports.pureTel = pureTel;
|
192
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":[null],"names":["formatId","val","replace","len","length","slice","pureId","tmp","formatTel","pureTel","formatCard","pureCard","formatAmount","fill","_","$1","indexOf","pureAmount","formatEmail","pureEmail","format","type","pure"],"mappings":"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"}
|
package/lib/esm/Input.js
CHANGED
@@ -28,8 +28,6 @@ var Input = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
28
28
|
role = _a$role === void 0 ? 'input' : _a$role,
|
29
29
|
className = _a.className,
|
30
30
|
style = _a.style,
|
31
|
-
_a$type = _a.type,
|
32
|
-
type = _a$type === void 0 ? 'text' : _a$type,
|
33
31
|
_a$size = _a.size,
|
34
32
|
size = _a$size === void 0 ? 'md' : _a$size,
|
35
33
|
_a$appearance = _a.appearance,
|
@@ -56,7 +54,8 @@ var Input = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
56
54
|
onFocus = _a.onFocus,
|
57
55
|
onBlur = _a.onBlur,
|
58
56
|
trimValueOnBlur = _a.trimValueOnBlur,
|
59
|
-
|
57
|
+
type = _a.type,
|
58
|
+
rest = __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
|
60
59
|
|
61
60
|
|
62
61
|
var _useMemo = useMemo(function () {
|
@@ -83,8 +82,10 @@ var Input = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
83
82
|
if (!onChange) return;
|
84
83
|
onChangeMock(onChange, evt, inputElementRef.current, value);
|
85
84
|
}, [onChange]);
|
85
|
+
var clearElementRef = useRef(null);
|
86
86
|
|
87
87
|
var _useInput = useInput({
|
88
|
+
clearElementRef: clearElementRef,
|
88
89
|
name: name,
|
89
90
|
autoFocus: autoFocus,
|
90
91
|
disabled: disabled,
|
@@ -96,7 +97,8 @@ var Input = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
96
97
|
onChange: proxyOnChange,
|
97
98
|
onFocus: onFocus,
|
98
99
|
onBlur: onBlur,
|
99
|
-
trimValueOnBlur: trimValueOnBlur
|
100
|
+
trimValueOnBlur: trimValueOnBlur,
|
101
|
+
type: type
|
100
102
|
}),
|
101
103
|
tryChangeValue = _useInput.tryChangeValue,
|
102
104
|
focused = _useInput.focused,
|
@@ -145,6 +147,7 @@ var Input = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
145
147
|
}, getInputProps(), rest)), suffix || showClearableIcon ? /*#__PURE__*/React.createElement("span", {
|
146
148
|
className: prefixCls + "__suffix"
|
147
149
|
}, showClearableIcon ? /*#__PURE__*/React.createElement("span", {
|
150
|
+
ref: clearElementRef,
|
148
151
|
className: cx(prefixCls + "__clear", (clearableTrigger === 'always' || hover) && 'active'),
|
149
152
|
role: "button",
|
150
153
|
tabIndex: -1,
|
@@ -178,13 +181,13 @@ function onChangeMock(onChange, evt, target, targetValue) {
|
|
178
181
|
event.target = target;
|
179
182
|
event.currentTarget = target;
|
180
183
|
target.value = targetValue;
|
181
|
-
onChange(event); // 重置为之前值
|
184
|
+
onChange(event, targetValue); // 重置为之前值
|
182
185
|
|
183
186
|
target.value = originalTargetValue;
|
184
187
|
return;
|
185
188
|
}
|
186
189
|
|
187
|
-
onChange(event);
|
190
|
+
onChange(event, targetValue);
|
188
191
|
}
|
189
192
|
|
190
193
|
export { Input, onChangeMock };
|
package/lib/esm/Input.js.map
CHANGED
@@ -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","
|
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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"}
|
package/lib/esm/use-input.js
CHANGED
@@ -11,6 +11,7 @@ import { useCallback, useState, useMemo } from 'react';
|
|
11
11
|
import { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';
|
12
12
|
import { useLatestCallback } from '@hi-ui/use-latest';
|
13
13
|
import { setAttrStatus } from '@hi-ui/dom-utils';
|
14
|
+
import { pure, format, formatAmount } from './utils/index.js';
|
14
15
|
|
15
16
|
var useInput = function useInput(_ref) {
|
16
17
|
var name = _ref.name,
|
@@ -29,16 +30,34 @@ var useInput = function useInput(_ref) {
|
|
29
30
|
onFocus = _ref.onFocus,
|
30
31
|
onBlur = _ref.onBlur,
|
31
32
|
_ref$trimValueOnBlur = _ref.trimValueOnBlur,
|
32
|
-
trimValueOnBlur = _ref$trimValueOnBlur === void 0 ? false : _ref$trimValueOnBlur
|
33
|
+
trimValueOnBlur = _ref$trimValueOnBlur === void 0 ? false : _ref$trimValueOnBlur,
|
34
|
+
_ref$type = _ref.type,
|
35
|
+
type = _ref$type === void 0 ? 'text' : _ref$type,
|
36
|
+
clearElementRef = _ref.clearElementRef; // Object.is 避免 trimValueOnBlur 和 点击 clearIcon 触发 2 次相同的 onCHange
|
33
37
|
|
34
|
-
var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChange),
|
38
|
+
var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChange, Object.is),
|
35
39
|
value = _useUncontrolledState[0],
|
36
40
|
tryChangeValue = _useUncontrolledState[1];
|
37
41
|
|
38
|
-
var handleChange = useCallback(function (evt) {
|
42
|
+
var handleChange = useCallback(function (evt, trim) {
|
43
|
+
if (trim === void 0) {
|
44
|
+
trim = false;
|
45
|
+
}
|
46
|
+
|
47
|
+
evt.persist();
|
39
48
|
var nextValue = evt.target.value;
|
40
|
-
|
41
|
-
|
49
|
+
var valueTrue = pure(nextValue, type); // 防溢出,保证 onChange 拿到的是值是最新的 formatted value
|
50
|
+
|
51
|
+
var value = format(nextValue, type);
|
52
|
+
|
53
|
+
if (trim) {
|
54
|
+
valueTrue = valueTrue.trim();
|
55
|
+
value = value.trim();
|
56
|
+
}
|
57
|
+
|
58
|
+
evt.target.value = value;
|
59
|
+
tryChangeValue(valueTrue, evt);
|
60
|
+
}, [tryChangeValue, type]);
|
42
61
|
|
43
62
|
var _useState = useState(autoFocus),
|
44
63
|
focused = _useState[0],
|
@@ -49,11 +68,19 @@ var useInput = function useInput(_ref) {
|
|
49
68
|
onFocus === null || onFocus === void 0 ? void 0 : onFocus(evt);
|
50
69
|
});
|
51
70
|
var handleBlur = useLatestCallback(function (event) {
|
52
|
-
|
71
|
+
var relatedTarget = event.relatedTarget; // 拦截 clear 情况 触发 input 失焦
|
72
|
+
|
73
|
+
if (clearElementRef.current && clearElementRef.current === relatedTarget) {
|
74
|
+
return;
|
75
|
+
}
|
76
|
+
|
77
|
+
setFocused(false); // amount 自动添加小数
|
53
78
|
|
54
|
-
if (
|
55
|
-
|
56
|
-
|
79
|
+
if (type === 'amount') {
|
80
|
+
event.target.value = formatAmount(value, true);
|
81
|
+
handleChange(event, trimValueOnBlur);
|
82
|
+
} else if (trimValueOnBlur) {
|
83
|
+
handleChange(event, true);
|
57
84
|
}
|
58
85
|
|
59
86
|
onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
|
@@ -71,12 +98,12 @@ var useInput = function useInput(_ref) {
|
|
71
98
|
}, [disabled, readOnly, autoFocus, placeholder, maxLength, name, focused]);
|
72
99
|
var getInputProps = useCallback(function () {
|
73
100
|
return Object.assign(Object.assign({}, nativeInputProps), {
|
74
|
-
value: value,
|
101
|
+
value: format(value, type),
|
75
102
|
onChange: handleChange,
|
76
103
|
onFocus: handleFocus,
|
77
104
|
onBlur: handleBlur
|
78
105
|
});
|
79
|
-
}, [value, handleChange, handleFocus, handleBlur, nativeInputProps]);
|
106
|
+
}, [value, type, handleChange, handleFocus, handleBlur, nativeInputProps]);
|
80
107
|
return {
|
81
108
|
focused: focused,
|
82
109
|
value: value,
|
package/lib/esm/use-input.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-input.js","sources":["../../src/use-input.ts"],"sourcesContent":[null],"names":["useInput","name","autoFocus","disabled","readOnly","maxLength","placeholder","defaultValue","valueProp","value","onChange","onFocus","onBlur","trimValueOnBlur","useUncontrolledState","tryChangeValue","handleChange","useCallback","evt","nextValue","target","useState","focused","setFocused","handleFocus","useLatestCallback","handleBlur","event","
|
1
|
+
{"version":3,"file":"use-input.js","sources":["../../src/use-input.ts"],"sourcesContent":[null],"names":["useInput","name","autoFocus","disabled","readOnly","maxLength","placeholder","defaultValue","valueProp","value","onChange","onFocus","onBlur","trimValueOnBlur","type","clearElementRef","useUncontrolledState","Object","is","tryChangeValue","handleChange","useCallback","evt","trim","persist","nextValue","target","valueTrue","pure","format","useState","focused","setFocused","handleFocus","useLatestCallback","handleBlur","event","relatedTarget","current","formatAmount","nativeInputProps","useMemo","setAttrStatus","getInputProps"],"mappings":"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"}
|
@@ -0,0 +1,176 @@
|
|
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
|
+
|
11
|
+
/**
|
12
|
+
* 格式化身份证
|
13
|
+
*/
|
14
|
+
var formatId = function formatId(val) {
|
15
|
+
val = val.replace(/[^a-zA-Z0-9]/g, '');
|
16
|
+
var len = val.length;
|
17
|
+
|
18
|
+
if (val === '' || len < 7) {
|
19
|
+
return val;
|
20
|
+
}
|
21
|
+
|
22
|
+
if (len < 11) {
|
23
|
+
return val.slice(0, 6) + ' ' + val.slice(6, 10);
|
24
|
+
} else if (len < 15) {
|
25
|
+
return val.slice(0, 6) + ' ' + val.slice(6, 10) + ' ' + val.slice(10, 14);
|
26
|
+
} else {
|
27
|
+
return val.slice(0, 6) + ' ' + val.slice(6, 10) + ' ' + val.slice(10, 14) + ' ' + val.slice(14, 18);
|
28
|
+
}
|
29
|
+
};
|
30
|
+
|
31
|
+
var pureId = function pureId(val) {
|
32
|
+
var tmp = val.replace(/[^\d|.]/g, '');
|
33
|
+
return tmp.slice(0, 18);
|
34
|
+
};
|
35
|
+
/**
|
36
|
+
* 格式化手机号
|
37
|
+
*/
|
38
|
+
|
39
|
+
|
40
|
+
var formatTel = function formatTel(val) {
|
41
|
+
val = val.replace(/\D/g, '');
|
42
|
+
var len = val.length;
|
43
|
+
|
44
|
+
if (val === '' || len < 4) {
|
45
|
+
return val;
|
46
|
+
}
|
47
|
+
|
48
|
+
if (len < 8) {
|
49
|
+
return val.slice(0, 3) + ' ' + val.slice(3, 7);
|
50
|
+
} else {
|
51
|
+
return val.slice(0, 3) + ' ' + val.slice(3, 7) + ' ' + val.slice(7, 11);
|
52
|
+
}
|
53
|
+
};
|
54
|
+
|
55
|
+
var pureTel = function pureTel(val) {
|
56
|
+
var tmp = val.replace(/[^\d|.]/g, '');
|
57
|
+
return tmp.slice(0, 11);
|
58
|
+
};
|
59
|
+
/**
|
60
|
+
* 格式化银行卡号
|
61
|
+
*/
|
62
|
+
|
63
|
+
|
64
|
+
var formatCard = function formatCard(val) {
|
65
|
+
val = val.replace(/\D/g, '');
|
66
|
+
var len = val.length;
|
67
|
+
|
68
|
+
if (val === '' || val.length < 5) {
|
69
|
+
return val;
|
70
|
+
}
|
71
|
+
|
72
|
+
if (len < 9) {
|
73
|
+
return val.slice(0, 4) + ' ' + val.slice(4, 8);
|
74
|
+
} else if (len < 13) {
|
75
|
+
return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12);
|
76
|
+
} else if (len < 17) {
|
77
|
+
return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12) + ' ' + val.slice(12, 16);
|
78
|
+
} else {
|
79
|
+
return val.slice(0, 4) + ' ' + val.slice(4, 8) + ' ' + val.slice(8, 12) + ' ' + val.slice(12, 16) + ' ' + val.slice(16, 19);
|
80
|
+
}
|
81
|
+
};
|
82
|
+
|
83
|
+
var pureCard = function pureCard(val) {
|
84
|
+
var tmp = val.replace(/[^\d|.]/g, '');
|
85
|
+
return tmp.slice(0, 19);
|
86
|
+
};
|
87
|
+
/**
|
88
|
+
* 金额自动生成小数
|
89
|
+
* @param {string} val 需要处理的值
|
90
|
+
*/
|
91
|
+
|
92
|
+
|
93
|
+
var formatAmount = function formatAmount(val, fill) {
|
94
|
+
if (fill === void 0) {
|
95
|
+
fill = false;
|
96
|
+
}
|
97
|
+
|
98
|
+
val = val.replace(/[^\d|.|,]/g, '').replace(/(\.\d*?)(\.|,).*/, function (_, $1) {
|
99
|
+
return $1;
|
100
|
+
});
|
101
|
+
|
102
|
+
if (fill) {
|
103
|
+
if (!val) return val;
|
104
|
+
return val.indexOf('.') > -1 ? val : val + '.00';
|
105
|
+
}
|
106
|
+
|
107
|
+
return val;
|
108
|
+
};
|
109
|
+
|
110
|
+
var pureAmount = function pureAmount(val) {
|
111
|
+
var tmp = val.replace(/[^\d|.]/g, '');
|
112
|
+
return tmp;
|
113
|
+
};
|
114
|
+
|
115
|
+
var formatEmail = function formatEmail(val) {
|
116
|
+
return val.replace(/\W/g, '');
|
117
|
+
};
|
118
|
+
|
119
|
+
var pureEmail = function pureEmail(val) {
|
120
|
+
return val;
|
121
|
+
};
|
122
|
+
/**
|
123
|
+
* 输入规则
|
124
|
+
*/
|
125
|
+
|
126
|
+
|
127
|
+
var format = function format(val, type) {
|
128
|
+
switch (type) {
|
129
|
+
case 'id':
|
130
|
+
return formatId(val);
|
131
|
+
|
132
|
+
case 'tel':
|
133
|
+
return formatTel(val);
|
134
|
+
|
135
|
+
case 'card':
|
136
|
+
return formatCard(val);
|
137
|
+
|
138
|
+
case 'email':
|
139
|
+
return formatEmail(val);
|
140
|
+
|
141
|
+
case 'amount':
|
142
|
+
return formatAmount(val);
|
143
|
+
|
144
|
+
default:
|
145
|
+
return val;
|
146
|
+
}
|
147
|
+
};
|
148
|
+
/**
|
149
|
+
* 净化规则
|
150
|
+
*/
|
151
|
+
|
152
|
+
|
153
|
+
var pure = function pure(val, type) {
|
154
|
+
switch (type) {
|
155
|
+
case 'id':
|
156
|
+
return pureId(val);
|
157
|
+
|
158
|
+
case 'tel':
|
159
|
+
return pureTel(val);
|
160
|
+
|
161
|
+
case 'card':
|
162
|
+
return pureCard(val);
|
163
|
+
|
164
|
+
case 'email':
|
165
|
+
return pureEmail(val);
|
166
|
+
|
167
|
+
case 'amount':
|
168
|
+
return pureAmount(val);
|
169
|
+
|
170
|
+
default:
|
171
|
+
return val;
|
172
|
+
}
|
173
|
+
};
|
174
|
+
|
175
|
+
export { format, formatAmount, formatCard, formatEmail, formatId, formatTel, pure, pureAmount, pureCard, pureEmail, pureId, pureTel };
|
176
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":[null],"names":["formatId","val","replace","len","length","slice","pureId","tmp","formatTel","pureTel","formatCard","pureCard","formatAmount","fill","_","$1","indexOf","pureAmount","formatEmail","pureEmail","format","type","pure"],"mappings":"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"}
|
package/lib/types/Input.d.ts
CHANGED
@@ -32,7 +32,7 @@ export interface InputProps extends HiBaseHTMLFieldProps<'input'> {
|
|
32
32
|
/**
|
33
33
|
* 设置输入框类型,支持原生 input 的 type 属性所有值
|
34
34
|
*/
|
35
|
-
type?: 'text' | '
|
35
|
+
type?: 'text' | 'id' | 'tel' | 'card' | 'amount' | 'email' | string;
|
36
36
|
/**
|
37
37
|
* 输入最大长度
|
38
38
|
*/
|
@@ -85,7 +85,7 @@ export interface InputProps extends HiBaseHTMLFieldProps<'input'> {
|
|
85
85
|
/**
|
86
86
|
* 值改变时的回调
|
87
87
|
*/
|
88
|
-
onChange?: (evt: React.ChangeEvent<HTMLInputElement
|
88
|
+
onChange?: (evt: React.ChangeEvent<HTMLInputElement>, value: string) => void;
|
89
89
|
}
|
90
90
|
/**
|
91
91
|
* 模拟伪装目标事件 target
|
@@ -96,4 +96,4 @@ export interface InputProps extends HiBaseHTMLFieldProps<'input'> {
|
|
96
96
|
* @param targetValue
|
97
97
|
* @returns
|
98
98
|
*/
|
99
|
-
export declare function onChangeMock(onChange: (event: React.ChangeEvent<HTMLInputElement
|
99
|
+
export declare function onChangeMock(onChange: (event: React.ChangeEvent<HTMLInputElement>, value: string) => void, evt: React.ChangeEvent<HTMLInputElement> | React.MouseEvent<HTMLElement>, target: HTMLInputElement | null, targetValue: string): void;
|
package/lib/types/MockInput.d.ts
CHANGED
@@ -3,7 +3,7 @@ import type { HiBaseDataItem, HiBaseHTMLFieldProps } from '@hi-ui/core';
|
|
3
3
|
/**
|
4
4
|
* 支持自定义渲染输入框内容,暂时仅供内部 Picker 类组件使用,不对外提供
|
5
5
|
*/
|
6
|
-
export declare const MockInput: React.ForwardRefExoticComponent<Omit<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>>, "disabled" | "readOnly" | "placeholder" | "defaultValue" | "value" | "onChange" | "
|
6
|
+
export declare const MockInput: React.ForwardRefExoticComponent<Omit<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>>, "disabled" | "readOnly" | "placeholder" | "defaultValue" | "value" | "onChange" | "type" | "focused" | "onSelect" | "title" | "size" | "prefix" | "data" | "onClick" | "appearance" | "suffix" | "clearableTrigger" | "clearable" | "displayRender"> & {
|
7
7
|
prefixCls?: string | undefined;
|
8
8
|
role?: string | undefined;
|
9
9
|
} & {
|
package/lib/types/use-input.d.ts
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
export declare const useInput: ({ name, autoFocus, disabled, readOnly, maxLength, placeholder, defaultValue, value: valueProp, onChange, onFocus, onBlur, trimValueOnBlur, }: UseInputProps) => {
|
2
|
+
export declare const useInput: ({ name, autoFocus, disabled, readOnly, maxLength, placeholder, defaultValue, value: valueProp, onChange, onFocus, onBlur, trimValueOnBlur, type, clearElementRef, }: UseInputProps) => {
|
3
3
|
focused: boolean;
|
4
4
|
value: string;
|
5
5
|
tryChangeValue: (stateOrFunction: React.SetStateAction<string>, ...args: any[]) => void;
|
6
6
|
getInputProps: () => {
|
7
7
|
value: string;
|
8
|
-
onChange: (evt: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement
|
8
|
+
onChange: (evt: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>, trim?: any) => void;
|
9
9
|
onFocus: (evt: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
|
10
10
|
onBlur: (event: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
|
11
11
|
name: string | undefined;
|
@@ -66,5 +66,13 @@ export interface UseInputProps {
|
|
66
66
|
* 输入框失焦时的回调
|
67
67
|
*/
|
68
68
|
onBlur?: (evt: React.FocusEvent<any>) => void;
|
69
|
+
/**
|
70
|
+
* 设置输入框类型,支持原生 input 的 type 属性所有值
|
71
|
+
*/
|
72
|
+
type?: 'text' | 'id' | 'tel' | 'card' | 'amount' | 'email' | string;
|
73
|
+
/**
|
74
|
+
* @private
|
75
|
+
*/
|
76
|
+
clearElementRef?: any;
|
69
77
|
}
|
70
78
|
export declare type useInputReturn = ReturnType<typeof useInput>;
|
@@ -17,7 +17,15 @@ export declare const pureCard: (val: string) => string;
|
|
17
17
|
* 金额自动生成小数
|
18
18
|
* @param {string} val 需要处理的值
|
19
19
|
*/
|
20
|
-
export declare const formatAmount: (val: string) => string;
|
20
|
+
export declare const formatAmount: (val: string, fill?: boolean) => string;
|
21
21
|
export declare const pureAmount: (val: string) => string;
|
22
22
|
export declare const formatEmail: (val: string) => string;
|
23
23
|
export declare const pureEmail: (val: string) => string;
|
24
|
+
/**
|
25
|
+
* 输入规则
|
26
|
+
*/
|
27
|
+
export declare const format: (val: string, type: string) => string;
|
28
|
+
/**
|
29
|
+
* 净化规则
|
30
|
+
*/
|
31
|
+
export declare const pure: (val: string, type: string) => string;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@hi-ui/input",
|
3
|
-
"version": "4.0.0-alpha.
|
3
|
+
"version": "4.0.0-alpha.25",
|
4
4
|
"description": "A sub-package for @hi-ui/hiui.",
|
5
5
|
"keywords": [],
|
6
6
|
"author": "HIUI <mi-hiui@xiaomi.com>",
|
@@ -48,7 +48,7 @@
|
|
48
48
|
"@hi-ui/core-css": "^4.0.0-alpha.10",
|
49
49
|
"@hi-ui/dom-utils": "^4.0.0-alpha.6",
|
50
50
|
"@hi-ui/env": "^4.0.0-alpha.5",
|
51
|
-
"@hi-ui/icons": "^4.0.0-alpha.
|
51
|
+
"@hi-ui/icons": "^4.0.0-alpha.21",
|
52
52
|
"@hi-ui/use-latest": "^4.0.0-alpha.4",
|
53
53
|
"@hi-ui/use-merge-refs": "^4.0.0-alpha.4",
|
54
54
|
"@hi-ui/use-uncontrolled-state": "^4.0.0-alpha.12"
|
@@ -62,5 +62,5 @@
|
|
62
62
|
"react": "^17.0.1",
|
63
63
|
"react-dom": "^17.0.1"
|
64
64
|
},
|
65
|
-
"gitHead": "
|
65
|
+
"gitHead": "209a1d91256b476c9d42e50d66da57709579e215"
|
66
66
|
}
|