@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 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
- 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
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;
@@ -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","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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"}
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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"}
@@ -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
- tryChangeValue(nextValue, evt);
50
- }, [tryChangeValue]);
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
- setFocused(false);
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 (trimValueOnBlur) {
64
- var nextValue = event.target.value;
65
- tryChangeValue(nextValue.trim(), event);
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,
@@ -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","trim","nativeInputProps","useMemo","setAttrStatus","getInputProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;IAKaA,QAAQ,GAAG,SAAXA,QAAW,KAAA;MACtBC,YAAAA;4BACAC;MAAAA,wCAAY;2BACZC;MAAAA,sCAAW;2BACXC;MAAAA,sCAAW;MACXC,iBAAAA;MACAC,mBAAAA;+BACAC;MAAAA,8CAAe;MACRC,iBAAPC;MACAC,gBAAAA;MACAC,eAAAA;MACAC,cAAAA;kCACAC;MAAAA,oDAAkB;;8BAEcC,yCAAAA,CAAqBP,YAArBO,EAAmCN,SAAnCM,EAA8CJ,QAA9CI;MAAzBL,KAAP;MAAcM,cAAd;;MAEMC,YAAY,GAAGC,iBAAAA,CACnB,UAACC,GAAD;QACQC,SAAS,GAAGD,GAAG,CAACE,MAAJF,CAAWT;AAC7BM,IAAAA,cAAc,CAACI,SAAD,EAAYD,GAAZ,CAAdH;AAH4B,GAAXE,EAKnB,CAACF,cAAD,CALmBE;;kBAQSI,cAAAA,CAASnB,SAATmB;MAAvBC,OAAP;MAAgBC,UAAhB;;MAEMC,WAAW,GAAGC,2BAAAA,CAClB,UAACP,GAAD;AACEK,IAAAA,UAAU,CAAC,IAAD,CAAVA;AACAZ,IAAAA,OAAO,SAAPA,IAAAA,OAAO,WAAPA,SAAAA,GAAAA,OAAO,CAAGO,GAAH,CAAPP;AAHiC,GAAjBc;MAOdC,UAAU,GAAGD,2BAAAA,CACjB,UAACE,KAAD;AACEJ,IAAAA,UAAU,CAAC,KAAD,CAAVA;;QAEIV,iBAAiB;UACbM,SAAS,GAAGQ,KAAK,CAACP,MAANO,CAAalB;AAC/BM,MAAAA,cAAc,CAACI,SAAS,CAACS,IAAVT,EAAD,EAAmBQ,KAAnB,CAAdZ;;;AAGFH,IAAAA,MAAM,SAANA,IAAAA,MAAM,WAANA,SAAAA,GAAAA,MAAM,CAAGe,KAAH,CAANf;AATgC,GAAjBa;MAabI,gBAAgB,GAAGC,aAAAA,CACvB;WAAO;AACL7B,MAAAA,IAAI,EAAJA,IADK;AAELE,MAAAA,QAAQ,EAARA,QAFK;AAGLC,MAAAA,QAAQ,EAARA,QAHK;AAILF,MAAAA,SAAS,EAATA,SAJK;AAKLI,MAAAA,WAAW,EAAXA,WALK;AAMLD,MAAAA,SAAS,EAATA,SANK;sBAOW0B,sBAAAA,CAAcT,OAAdS;AAPX;AADuB,GAAPD,EAUvB,CAAC3B,QAAD,EAAWC,QAAX,EAAqBF,SAArB,EAAgCI,WAAhC,EAA6CD,SAA7C,EAAwDJ,IAAxD,EAA8DqB,OAA9D,CAVuBQ;MAanBE,aAAa,GAAGf,iBAAAA,CAAY;2CAE3BY;AACHpB,MAAAA,KAAK,EAALA;AACAC,MAAAA,QAAQ,EAAEM;AACVL,MAAAA,OAAO,EAAEa;AACTZ,MAAAA,MAAM,EAAEc;;AANqB,GAAXT,EAQnB,CAACR,KAAD,EAAQO,YAAR,EAAsBQ,WAAtB,EAAmCE,UAAnC,EAA+CG,gBAA/C,CARmBZ;SAUf;AACLK,IAAAA,OAAO,EAAPA,OADK;AAELb,IAAAA,KAAK,EAALA,KAFK;AAGLM,IAAAA,cAAc,EAAdA,cAHK;AAILiB,IAAAA,aAAa,EAAbA;AAJK;;;"}
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
- rest = __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
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 };
@@ -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","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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"}
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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"}
@@ -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
- tryChangeValue(nextValue, evt);
41
- }, [tryChangeValue]);
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
- setFocused(false);
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 (trimValueOnBlur) {
55
- var nextValue = event.target.value;
56
- tryChangeValue(nextValue.trim(), event);
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,
@@ -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","trim","nativeInputProps","useMemo","setAttrStatus","getInputProps"],"mappings":";;;;;;;;;;;;;;IAKaA,QAAQ,GAAG,SAAXA,QAAW,KAAA;MACtBC,YAAAA;4BACAC;MAAAA,wCAAY;2BACZC;MAAAA,sCAAW;2BACXC;MAAAA,sCAAW;MACXC,iBAAAA;MACAC,mBAAAA;+BACAC;MAAAA,8CAAe;MACRC,iBAAPC;MACAC,gBAAAA;MACAC,eAAAA;MACAC,cAAAA;kCACAC;MAAAA,oDAAkB;;8BAEcC,oBAAoB,CAACP,YAAD,EAAeC,SAAf,EAA0BE,QAA1B;MAA7CD,KAAP;MAAcM,cAAd;;MAEMC,YAAY,GAAGC,WAAW,CAC9B,UAACC,GAAD;QACQC,SAAS,GAAGD,GAAG,CAACE,MAAJF,CAAWT;AAC7BM,IAAAA,cAAc,CAACI,SAAD,EAAYD,GAAZ,CAAdH;AAH4B,GAAA,EAK9B,CAACA,cAAD,CAL8B;;kBAQFM,QAAQ,CAACnB,SAAD;MAA/BoB,OAAP;MAAgBC,UAAhB;;MAEMC,WAAW,GAAGC,iBAAiB,CACnC,UAACP,GAAD;AACEK,IAAAA,UAAU,CAAC,IAAD,CAAVA;AACAZ,IAAAA,OAAO,SAAPA,IAAAA,OAAO,WAAPA,SAAAA,GAAAA,OAAO,CAAGO,GAAH,CAAPP;AAHiC,GAAA;MAO/Be,UAAU,GAAGD,iBAAiB,CAClC,UAACE,KAAD;AACEJ,IAAAA,UAAU,CAAC,KAAD,CAAVA;;QAEIV,iBAAiB;UACbM,SAAS,GAAGQ,KAAK,CAACP,MAANO,CAAalB;AAC/BM,MAAAA,cAAc,CAACI,SAAS,CAACS,IAAVT,EAAD,EAAmBQ,KAAnB,CAAdZ;;;AAGFH,IAAAA,MAAM,SAANA,IAAAA,MAAM,WAANA,SAAAA,GAAAA,MAAM,CAAGe,KAAH,CAANf;AATgC,GAAA;MAa9BiB,gBAAgB,GAAGC,OAAO,CAC9B;WAAO;AACL7B,MAAAA,IAAI,EAAJA,IADK;AAELE,MAAAA,QAAQ,EAARA,QAFK;AAGLC,MAAAA,QAAQ,EAARA,QAHK;AAILF,MAAAA,SAAS,EAATA,SAJK;AAKLI,MAAAA,WAAW,EAAXA,WALK;AAMLD,MAAAA,SAAS,EAATA,SANK;sBAOW0B,aAAa,CAACT,OAAD;AAPxB;AADuB,GAAA,EAU9B,CAACnB,QAAD,EAAWC,QAAX,EAAqBF,SAArB,EAAgCI,WAAhC,EAA6CD,SAA7C,EAAwDJ,IAAxD,EAA8DqB,OAA9D,CAV8B;MAa1BU,aAAa,GAAGf,WAAW,CAAC;2CAE3BY;AACHpB,MAAAA,KAAK,EAALA;AACAC,MAAAA,QAAQ,EAAEM;AACVL,MAAAA,OAAO,EAAEa;AACTZ,MAAAA,MAAM,EAAEc;;AANqB,GAAA,EAQ9B,CAACjB,KAAD,EAAQO,YAAR,EAAsBQ,WAAtB,EAAmCE,UAAnC,EAA+CG,gBAA/C,CAR8B;SAU1B;AACLP,IAAAA,OAAO,EAAPA,OADK;AAELb,IAAAA,KAAK,EAALA,KAFK;AAGLM,IAAAA,cAAc,EAAdA,cAHK;AAILiB,IAAAA,aAAa,EAAbA;AAJK;;;"}
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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"}
@@ -32,7 +32,7 @@ export interface InputProps extends HiBaseHTMLFieldProps<'input'> {
32
32
  /**
33
33
  * 设置输入框类型,支持原生 input 的 type 属性所有值
34
34
  */
35
- type?: 'text' | 'number' | string;
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>) => void;
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>) => void, evt: React.ChangeEvent<HTMLInputElement> | React.MouseEvent<HTMLElement>, target: HTMLInputElement | null, targetValue: string): void;
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;
@@ -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" | "focused" | "type" | "onSelect" | "title" | "size" | "prefix" | "data" | "onClick" | "appearance" | "suffix" | "clearableTrigger" | "clearable" | "displayRender"> & {
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
  } & {
@@ -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>) => void;
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.24",
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.20",
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": "dbe7ec19bc067527f0cfcf8c71100619fc98cc72"
65
+ "gitHead": "209a1d91256b476c9d42e50d66da57709579e215"
66
66
  }